*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;color:#2a2c33;background:#fff}
img,svg{display:block;max-width:100%}
a{color:var(--acc-ink)}
h1,h2,h3{color:var(--ink);line-height:1.15;margin:0 0 .5em;letter-spacing:-.02em}
h1{font-size:clamp(2.1rem,7vw,3.6rem);font-weight:800}
h2{font-size:clamp(1.6rem,4.6vw,2.4rem);font-weight:800}
h3{font-size:1.1rem;font-weight:700}
p{margin:0 0 1em}
.wrap{width:min(1120px,100% - 40px);margin-inline:auto}
.narrow{width:min(760px,100% - 40px)}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:8px 12px;z-index:10}
.skip:focus{left:8px}
.top{position:sticky;top:0;z-index:5;background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid #eceef2}
.top-in{display:flex;align-items:center;justify-content:space-between;gap:16px;height:72px}
.brand img{height:46px;width:auto}
.nav{display:flex;gap:6px;list-style:none;margin:0;padding:0;align-items:center}
.nav a{display:block;padding:8px 10px;border-radius:999px;text-decoration:none;color:var(--ink);font-weight:600;font-size:.95rem}
.nav a:hover{background:var(--tint)}
.nav .nav-cta{background:var(--ink);color:#fff}
.nav .nav-cta:hover{background:var(--acc-ink)}
@media (max-width:640px){.nav li:not(:last-child){display:none}.brand img{height:40px}}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:700;color:var(--acc-ink);margin-bottom:.8em}
.eyebrow-light{color:var(--acc)}
.btn{display:inline-block;padding:14px 22px;border-radius:999px;font-weight:700;text-decoration:none;text-align:center;transition:transform .15s,background .15s}
.btn:hover{transform:translateY(-1px)}
.btn-acc{background:var(--acc-ink);color:#fff}
.btn-acc:hover{background:var(--ink)}
.sec-dark .btn-acc:hover{background:#fff;color:var(--ink)}
.btn-ghost{border:2px solid var(--ink);color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:#fff}
.hero{background:linear-gradient(180deg,#fff 0%,var(--tint) 100%);padding:48px 0 40px;overflow:hidden}
.hero-in{display:grid;gap:28px;align-items:center}
.hero h1 span{color:var(--acc-ink);display:block}
.lede{font-size:1.12rem;max-width:34em;color:#3d4049}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.actions .btn{flex:1 1 220px}
.art{width:100%;max-width:300px;margin-inline:auto}
@media (min-width:860px){.art{max-width:440px}}
.art .sun{fill:var(--acc)}
.art .rays path{stroke:var(--acc);stroke-width:6;stroke-linecap:round;fill:none}
.art .panels path{fill:var(--ink)}
.art .panels .p-acc{fill:var(--acc)}
.art .grid path{stroke:rgba(255,255,255,.35);stroke-width:2}
.art .wire{stroke:var(--ink);stroke-width:4;fill:none;stroke-dasharray:2 10;stroke-linecap:round}
.art .home path{fill:#fff;stroke:var(--ink);stroke-width:5;stroke-linejoin:round}
.art .door{fill:var(--acc)}
@media (min-width:860px){.hero{padding:80px 0 72px}.hero-in{grid-template-columns:1.15fr .85fr}.actions .btn{flex:0 0 auto}}
.strip{background:var(--ink);color:#fff}
.strip-in{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:22px 0;text-align:center}
.strip strong{display:block;font-size:clamp(1.15rem,4.4vw,1.8rem);font-weight:800;color:#fff}
.strip span{font-size:.85rem;opacity:.8}
.sec{padding:64px 0}
@media (min-width:860px){.sec{padding:92px 0}}
.sec-tint{background:var(--tint)}
.sec-dark{background:var(--ink);color:#e9eaee}
.sec-dark h2,.sec-dark h3{color:#fff}
.steps{list-style:none;padding:0;margin:28px 0 0;display:grid;gap:16px}
.steps li{background:#fff;border:1px solid #eceef2;border-radius:20px;padding:24px;box-shadow:0 1px 2px rgba(20,20,30,.04)}
.num{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--acc-ink);color:#fff;font-weight:800;margin-bottom:14px}
.steps p{margin:0;color:#4a4d56}
@media (min-width:760px){.steps{grid-template-columns:repeat(3,1fr)}}
.two{display:grid;gap:28px;align-items:center}
@media (min-width:860px){.two{grid-template-columns:1fr 1fr;gap:56px}}
.checks{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.checks li{background:#fff;border-radius:14px;padding:14px 16px 14px 50px;position:relative;font-weight:600;color:var(--ink)}
.checks li::before{content:"";position:absolute;left:16px;top:50%;width:20px;height:20px;margin-top:-10px;border-radius:50%;background:var(--acc-ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3 3 7-7' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/20px no-repeat}
.callout{margin-top:22px;background:#fff;border:2px solid var(--acc-ink);border-radius:18px;padding:20px 22px}
.callout-txt{font-weight:700;color:var(--ink);font-size:1.08rem;margin-bottom:14px}
.callout .btn{width:100%}
.callout-dark{background:rgba(255,255,255,.06);border-color:var(--acc)}
.callout-dark .callout-txt{color:#fff}
@media (min-width:860px){.callout .btn{width:auto}}
.cards{display:grid;gap:14px}
.card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:20px 22px}
.card h3{margin-bottom:.3em}
.card p{margin:0;opacity:.85}
details{border-bottom:1px solid #e6e8ec;padding:16px 0}
summary{cursor:pointer;font-weight:700;color:var(--ink);font-size:1.05rem;list-style:none;display:flex;justify-content:space-between;gap:16px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";color:var(--acc-ink);font-size:1.4rem;line-height:1}
details[open] summary::after{content:"\2013"}
details p{margin:10px 0 0;color:#4a4d56}
.contact{background:var(--tint);padding:56px 0}
.contact-in{display:grid;gap:18px;align-items:center}
.contact p{margin:0}
.mail{font-size:clamp(1.05rem,4.6vw,1.6rem);font-weight:800;color:var(--acc-ink);text-decoration:none;word-break:break-all}
.mail:hover{text-decoration:underline}
@media (min-width:860px){.contact-in{grid-template-columns:1fr auto}}
.foot{background:var(--ink);color:#c9cbd2;padding:36px 0;font-size:.9rem}
.foot-in{display:grid;gap:16px}
.foot img{height:48px;width:auto}
.foot-meta{display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between}
.foot a{color:#fff}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}
