:root{--bg:#faf9f6;--surface:#fff;--ink:#22303a;--ink-soft:#4a5a64;--heading:#12343b;--accent:#0d7377;--accent-dark:#0a5c60;--accent-soft:#e3f1f0;--line:#e3e0d8;--radius:14px;--maxw:68rem}*{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:1.0625rem;line-height:1.65}h1,h2,h3,h4{color:var(--heading);letter-spacing:-.01em;line-height:1.2}h1{font-size:clamp(2.1rem,5vw,3.2rem)}h2{font-size:clamp(1.6rem,3.5vw,2.2rem)}h3{font-size:1.25rem}p{color:var(--ink-soft)}a{color:var(--accent-dark)}a:hover{color:var(--heading)}.skip-link{background:var(--accent-dark);color:#fff;z-index:100;border-radius:0 0 8px;padding:.75rem 1.25rem;position:absolute;top:0;left:-9999px}.skip-link:focus{color:#fff;left:0}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 1.5rem}.site-header{background:var(--surface);border-bottom:1px solid var(--line);z-index:50;position:sticky;top:0}.header-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.9rem 0;display:flex}.brand{color:var(--heading);letter-spacing:-.02em;align-items:center;gap:.5rem;font-size:1.35rem;font-weight:700;text-decoration:none;display:inline-flex}.brand-logo{width:auto;height:42px;display:block}@media (width<=640px){.brand-logo{height:36px}}.site-nav ul{flex-wrap:wrap;gap:.25rem 1.35rem;margin:0;padding:0;list-style:none;display:flex}.site-nav a{color:var(--ink-soft);font-size:.98rem;font-weight:500;text-decoration:none}.site-nav a[aria-current=page]{color:var(--accent-dark);font-weight:700}.site-nav a:hover{color:var(--heading)}.hero{background:linear-gradient(160deg, var(--accent-soft) 0%, var(--bg) 70%);padding:clamp(3.5rem,9vw,6.5rem) 0;position:relative;overflow:hidden}.hero-mark{opacity:.14;pointer-events:none;user-select:none;width:clamp(16rem,30vw,24rem);height:auto;position:absolute;top:50%;right:-4rem;transform:translateY(-50%)}.hero-inner{z-index:1;max-width:46rem;position:relative}@media (width<=640px){.hero-mark{opacity:.1;width:14rem;right:-5rem}}.hero .kicker{background:var(--surface);border:1px solid var(--line);color:var(--accent-dark);border-radius:999px;margin:0 0 1.25rem;padding:.35rem .9rem;font-size:.85rem;font-weight:600;display:inline-block}.hero h1{margin:0 0 1rem}.hero .lede{margin:0 0 2rem;font-size:1.2rem}.btn{background:var(--accent-dark);color:#fff;border:1px solid var(--accent-dark);border-radius:999px;padding:.8rem 1.6rem;font-size:1rem;font-weight:600;text-decoration:none;display:inline-block}.btn:hover,.btn:focus{background:var(--heading);border-color:var(--heading);color:#fff}.btn.ghost{color:var(--accent-dark);background:0 0}.btn.ghost:hover,.btn.ghost:focus{background:var(--accent-soft);color:var(--heading)}.btn-row{flex-wrap:wrap;gap:.85rem;display:flex}section{padding:clamp(3rem,7vw,5rem) 0}.section-alt{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-head{max-width:42rem;margin:0 0 2.5rem}.section-head h2{margin:0 0 .6rem}.section-head p{margin:0;font-size:1.1rem}.grid-3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.4rem;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.75rem}.card h3{margin:0 0 .6rem}.card p{margin:0;font-size:.98rem}.card .icon{background:var(--accent-soft);border-radius:10px;justify-content:center;align-items:center;width:3rem;height:3rem;margin-bottom:1rem;font-size:1.6rem;display:inline-flex}.steps{counter-reset:step;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.4rem;display:grid}.step{padding-top:3.2rem;position:relative}.step:before{counter-increment:step;content:counter(step);background:var(--accent-dark);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:2.4rem;height:2.4rem;font-weight:700;display:flex;position:absolute;top:0;left:0}.step h3{margin:0 0 .4rem;font-size:1.1rem}.step p{margin:0;font-size:.96rem}details{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:.85rem;padding:1.1rem 1.4rem}details[open]{border-color:var(--accent)}summary{cursor:pointer;color:var(--heading);font-weight:600}summary:hover{color:var(--accent-dark)}details p{margin:.85rem 0 0}.cta-band{background:var(--heading);color:#fff;border-radius:var(--radius);text-align:center;padding:clamp(2.2rem,5vw,3.5rem)}.cta-band h2{color:#fff;margin:0 0 .6rem}.cta-band p{color:#d4e2e2;margin:0 0 1.6rem}.cta-band .btn{color:var(--heading);background:#fff;border-color:#fff}.cta-band .btn:hover,.cta-band .btn:focus{background:var(--accent-soft);border-color:var(--accent-soft);color:var(--heading)}.site-footer{background:var(--surface);border-top:1px solid var(--line);margin-top:2rem;padding:2.5rem 0 2rem;font-size:.92rem}.footer-grid{flex-wrap:wrap;justify-content:space-between;gap:2rem;display:flex}.site-footer h3{text-transform:uppercase;letter-spacing:.06em;margin:0 0 .75rem;font-size:.85rem}.site-footer ul{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.site-footer a{text-decoration:none}.footer-note{border-top:1px solid var(--line);color:var(--ink-soft);margin-top:2rem;padding-top:1.25rem}.prose{max-width:44rem}.prose h1{margin-top:0}.prose h2{margin-top:2.2rem;font-size:1.45rem}.prose ul li{margin-bottom:.4rem}.page-hero{padding:clamp(2.5rem,6vw,4rem) 0 0}.page-hero h1{margin:0 0 .75rem}.page-hero .lede{max-width:42rem;font-size:1.15rem}.post-list{gap:1.2rem;max-width:44rem;display:grid}.post-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem 1.75rem}.post-card h2,.post-card h3{margin:0 0 .4rem;font-size:1.2rem}.post-card a{text-decoration:none}.post-meta{color:var(--ink-soft);margin:0 0 .6rem;font-size:.88rem}.post-card p{margin:0}@media (width<=640px){body{font-size:1rem}.btn-row .btn{text-align:center;width:100%}}
