@font-face{font-family:Instrument;src:url('/assets/instrument-sans.woff2') format('woff2');font-display:swap;font-weight:400 700}
@font-face{font-family:Work;src:url('/assets/work-sans.woff2') format('woff2');font-display:swap;font-weight:400}
:root{--asc-green:#283B32;--asc-orange:#CD4E17;--asc-orange-text:#B5410E;--asc-canvas:#FBFBF9;--asc-success:#315E41;--asc-ink:#252B2A;--asc-muted:#56615C;--line:#dfe4df;--wash:#edf1ec;--page:1520px;--gutter:clamp(24px,3vw,48px)}
*{box-sizing:border-box}html{scroll-padding-top:40px}body{margin:0;background:var(--asc-canvas);color:var(--asc-ink);font:400 1.0625rem/1.65 Work,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--asc-orange);outline-offset:6px}a:hover{text-decoration-thickness:1px}p{margin:0 0 22px}h1,h2,h3{font-family:Instrument,Arial,sans-serif;font-weight:450;margin:0;line-height:1.09;letter-spacing:-.045em}h1{--fs:5.125rem}h2{--fs:3.375rem}h3{--fs:1.625rem;letter-spacing:-.025em}em{font-style:normal;color:var(--asc-orange)}.header{max-width:var(--page);height:110px;margin:auto;padding:24px 32px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{position:relative;font:500 1.3125rem/1.02 Instrument,sans-serif;letter-spacing:-.045em}.brand span{color:var(--asc-orange)}.header nav{display:flex;align-items:center;gap:38px;font-size:0.9375rem}.header nav a{padding:10px 0}.header nav a[aria-current]{text-decoration:underline;text-underline-offset:7px}.header nav .nav-contact{padding:10px 20px;border:1px solid #b8c1ba;border-radius:30px}.nav-contact span{margin-left:16px}.nav-contact:hover{background:var(--wash)}.eyebrow{font-size:0.875rem;color:var(--asc-muted);font-weight:450;letter-spacing:.01em;margin-bottom:24px}.button{display:inline-flex;align-items:center;justify-content:center;gap:26px;width:fit-content;min-height:50px;padding:13px 23px;border:0;border-radius:28px;background:var(--asc-green);color:#fff;font-size:0.9375rem;font-weight:400;cursor:pointer;transition:background .2s}.button:hover{background:#3b5648}.button span{font-size:1.3125rem}.text-link{display:block;width:fit-content;font-size:0.9375rem;border-bottom:1px solid #aeb9af;padding-bottom:4px;margin-top:28px}.text-link:hover{color:var(--asc-orange-text);border-color:currentColor}.text-link span{margin-left:10px}.skip{position:fixed;top:-100px;left:12px;padding:12px;background:white;z-index:30}.skip:focus{top:12px}
/* One persistent strand; each document has a clear place around it. */
.journey{max-width:var(--page);padding:0 32px;margin:auto;display:grid;grid-template-columns:.92fr 1.08fr;column-gap:52px;position:relative}.story{grid-column:1;grid-row:1;min-width:0}.chapter{min-height:92svh;display:flex;flex-direction:column;justify-content:center;padding:80px 0;scroll-margin-top:0}.hero{min-height:calc(100svh - 110px);padding:36px 0 65px}.hero h1{margin-bottom:26px}.intro{font-size:1.1875rem;line-height:1.65;max-width:450px;color:var(--asc-muted);margin-bottom:30px}.hero .text-link{margin-top:24px}.founder-line{max-width:390px;font-size:0.875rem;line-height:1.65;color:var(--asc-muted);margin:34px 0 0}.founder-line a{white-space:nowrap;border-bottom:1px solid #b9c3ba}.chapter h2{margin-bottom:25px}.chapter-body{font-size:1.125rem;line-height:1.8;color:var(--asc-muted);max-width:455px}.example{margin-top:17px;border-left:2px solid #df926c;padding:2px 0 2px 20px;max-width:430px}.example-label{display:block;font-size:0.875rem;color:var(--asc-orange-text);margin-bottom:8px}.example p{font-size:0.9375rem;line-height:1.75;margin:0;color:var(--asc-muted)}.visual-column{grid-column:2;grid-row:1;min-width:0}.visual-sticky{position:sticky;top:32px;height:calc(100svh - 64px);max-height:950px;min-height:460px;display:flex;flex-direction:column;justify-content:center}.visual{position:relative;width:100%;aspect-ratio:1}.cord-frame{position:absolute;inset:11% 9%;transition:inset .6s ease}.poster,#cord{width:100%;height:100%;position:absolute;inset:0;object-fit:contain}.poster{padding:4.55%}#cord{opacity:0}.visual.loaded #cord{opacity:1}.visual.loaded .poster{opacity:0}.visual.failed #cord{opacity:0}.visual.failed .poster{opacity:1}.workflow-card{position:absolute;width:205px;padding:17px 18px 14px;border:1px solid #d8ded7;border-radius:12px;background:#fffefcf5;box-shadow:0 8px 30px #23372b08;line-height:1.45;transition:opacity .25s,transform .4s}.card-a{top:1%;left:0;transform:rotate(-4deg)}.card-b{bottom:0;right:0;transform:rotate(3deg)}.card-kicker{display:block;font-size:0.75rem;color:#627066;margin-bottom:10px;line-height:1.4}.card-title{display:block;font-family:Instrument,sans-serif;font-size:1.0625rem;font-weight:500;letter-spacing:-.02em;margin-bottom:7px}.card-detail{display:block;font-size:0.8125rem;color:var(--asc-muted);line-height:1.55}.card-foot{display:block;border-top:1px solid var(--line);margin-top:12px;padding-top:9px;font-size:0.75rem;color:var(--asc-muted)}.data-row{display:flex;justify-content:space-between;gap:12px;font-size:0.75rem;color:var(--asc-muted);padding:4px 0;line-height:1.45}.data-row.total{margin-top:7px;padding-top:9px;border-top:1px solid var(--line);color:var(--asc-ink);font-weight:500}.data-row span:last-child{font-variant-numeric:tabular-nums}.record-heading{display:flex;gap:7px;align-items:center;color:var(--asc-success)}.record-heading::before{content:'✓';display:inline-grid;place-items:center;border:1px solid #c8d8c9;border-radius:50%;width:23px;height:23px;font-size:0.8125rem}.check-row{font-size:0.8125rem;color:var(--asc-muted);display:flex;gap:9px;padding:5px 0}.check-row .check-icon{color:var(--asc-muted)}.check-row.checked{color:var(--asc-success)}.check-row.checked .check-icon{color:var(--asc-success)}.status-tag{display:inline-block;padding:4px 7px;border-radius:4px;background:var(--wash);font-size:0.75rem;color:var(--asc-success);margin-top:12px}.status-tag.review{background:#f7eee5;color:#915322}.visual[data-stage="1"] .card-a,.visual[data-stage="2"] .card-a,.visual[data-stage="3"] .card-a,.visual[data-stage="4"] .card-a{transform:rotate(0)}.visual[data-stage="1"] .card-b,.visual[data-stage="2"] .card-b,.visual[data-stage="3"] .card-b,.visual[data-stage="4"] .card-b{transform:rotate(0)}.visual[data-logo="true"] .workflow-cards{visibility:hidden}.visual[data-logo="true"] .cord-frame{inset:3%}.completion{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:max-content;max-width:100%;color:var(--asc-success);font-size:0.875rem;padding:8px 12px;background:var(--asc-canvas);opacity:0}.completion.shown{opacity:1}.completion span{margin-right:7px}.visual-footer{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:36px 0 0;color:var(--asc-muted);font-size:0.8125rem}#motion{border:0;border-bottom:1px solid #a8b6aa;background:transparent;color:inherit;padding:6px 0;cursor:pointer;font-size:0.8125rem;white-space:nowrap;min-height:36px}.illustration-note{color:var(--asc-muted);font-size:0.75rem;margin:5px 0 0}.final-fallback{display:block;width:100%;height:auto;max-width:360px;margin:25px auto 0}.journey-enhanced .final-fallback{display:none}html:not(.journey-enhanced) .visual-sticky{position:relative;top:0}html:not(.journey-enhanced) .visual-column{position:relative}
/* Editorial pages share the same quiet hierarchy. */
.overview,.about-story,.steps-section,.faq,.principles,.service-list,.contact-layout{max-width:var(--page);margin:auto;padding:110px 32px}.overview{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:80px}.overview h2{color:var(--asc-green)}.overview-body{font-size:1.1875rem;color:var(--asc-muted);padding-top:42px}.founder-preview{max-width:var(--page);margin:auto;padding:105px 32px;border-top:1px solid var(--line)}.founder-preview p:not(.eyebrow){max-width:680px;font-size:1.1875rem;color:var(--asc-muted);margin-top:30px}.closing{padding:100px 32px 110px;text-align:center;background:var(--asc-green);color:var(--asc-canvas)}.closing .eyebrow{color:#d1ddd1}.closing h2{--fs:3.875rem;margin-bottom:32px}.closing .button{background:var(--asc-canvas);color:var(--asc-green)}.closing .button:hover{background:#e4ede3}.page-hero{max-width:var(--page);margin:auto;padding:83px 32px 100px}.page-hero h1{--fs:5.75rem;max-width:1000px}.lead{font-size:1.3125rem;line-height:1.7;color:var(--asc-muted);max-width:670px;margin:32px 0 0}.service-list{padding-top:0;padding-bottom:100px}.service-row{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:39px 0}.service-row h2{--fs:2.0625rem;letter-spacing:-.03em}.service-row p{font-size:1.125rem;color:var(--asc-muted);margin-bottom:14px}.service-row .service-examples{font-size:0.875rem;color:var(--asc-muted);margin:0;line-height:1.8}.managed{background:var(--wash);max-width:none;padding-left:max(32px,calc((100vw - 1216px)/2));padding-right:max(32px,calc((100vw - 1216px)/2));border:0;column-gap:100px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;list-style:none;padding:0;margin:55px 0 0}.steps>li>span{display:block;font-size:0.875rem;color:var(--asc-orange-text);margin-bottom:22px}.steps h3{margin-bottom:18px}.steps p{font-size:1rem;color:var(--asc-muted);margin:0}.faq{padding-top:30px;max-width:900px}.faq h2{margin-bottom:45px}.faq details{border-top:1px solid var(--line);padding:23px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font-size:1.1875rem;list-style:none;display:flex;justify-content:space-between;gap:24px}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:'+';color:var(--asc-muted)}.faq details[open] summary::after{content:'−'}.faq details p{color:var(--asc-muted);margin:19px 25px 0 0;font-size:1.0625rem}.about-hero .lead{max-width:600px}.about-story{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px;border-top:1px solid var(--line)}.about-story>div>p:not(.eyebrow){font-size:1.1875rem;line-height:1.85;color:var(--asc-muted)}.about-story>div>p.fine{font-size:0.875rem;margin-top:32px}.principles{padding-top:60px;border-top:1px solid var(--line)}.principle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:60px;margin-top:42px}.principle-grid h3{margin-bottom:18px}.principle-grid p{color:var(--asc-muted);font-size:1rem}.contact-hero{padding-bottom:75px}.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px;padding-top:30px}.contact-info h2{--fs:2.25rem;margin-bottom:25px}.contact-info p{color:var(--asc-muted)}.email-link{font-size:1rem;border-bottom:1px solid #aeb9af;overflow-wrap:anywhere}.contact-info .fine{margin-top:22px}.prototype-note{font-size:0.875rem;color:var(--asc-muted);padding-bottom:20px;border-bottom:1px solid var(--line)}fieldset{border:0;margin:0;padding:0;min-width:0}fieldset:disabled{opacity:.6}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:0.9375rem;margin-bottom:23px}input,textarea{display:block;width:100%;font-size:1rem;padding:12px 14px;margin-top:8px;background:#fff;border:1px solid #7F8C83;border-radius:5px;color:var(--asc-ink)}textarea{resize:vertical;min-height:145px}.fine{font-size:0.875rem;color:var(--asc-muted)}.fine a{text-decoration:underline;text-underline-offset:3px}form>.fine{margin-top:26px}.legal-page{max-width:820px;margin:auto;padding:85px 32px 110px}.legal-page h1{--fs:4rem;margin-bottom:30px}.legal-page h2{--fs:1.75rem;margin:38px 0 18px;letter-spacing:-.025em}.legal-page p{font-size:1.0625rem;color:var(--asc-muted)}.legal-page a{text-decoration:underline;overflow-wrap:anywhere}.legal-page .legal-status{padding:18px 22px;background:var(--wash);font-size:0.875rem;border-radius:8px}.footer{max-width:var(--page);padding:65px 32px 28px;margin:auto}.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px}.footer-top .brand{width:fit-content;height:fit-content;font-size:1.5rem}.footer-top p{color:var(--asc-muted);font-size:1.0625rem;line-height:1.55}.footer-top nav{display:flex;flex-wrap:wrap;gap:14px 30px;justify-content:flex-end;align-content:start;font-size:0.875rem}.footer-top nav a:hover{text-decoration:underline}.footer-bottom{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding-top:23px;margin-top:46px;font-size:0.75rem;color:var(--asc-muted)}
@media(min-width:761px) and (max-height:700px){.hero{min-height:700px}.visual-sticky{top:15px;min-height:390px;height:calc(100svh - 30px)}.visual{max-height:calc(100svh - 130px);aspect-ratio:auto;height:510px}.workflow-card{width:180px;padding:13px}.card-title{font-size:0.9375rem}.visual-footer{margin-top:20px}.chapter{min-height:650px}}
@media(max-width:1000px) and (min-width:761px){.journey{gap:25px}.workflow-card{width:174px;padding:13px}.card-a{top:0}.card-title{font-size:0.9375rem}.data-row{font-size:0.6875rem}.overview,.about-story,.contact-layout{gap:45px}.header{padding-inline:32px}.header nav{gap:24px}.managed{gap:50px}}
@media(max-width:760px){body{font-size:1rem}.header{height:90px;padding:20px 24px;gap:18px}.brand{font-size:1.125rem}.header nav{gap:22px;font-size:0.875rem}.header nav .nav-contact{padding:8px 13px}.nav-contact span{display:none}.journey{display:flex;flex-direction:column;padding:0 26px}.visual-column{order:-1;position:sticky;top:0;z-index:5;margin:0 -26px;padding:0 26px;background:var(--asc-canvas);border-bottom:1px solid #e7ebe5}.visual-sticky{position:relative;top:0;height:235px;min-height:235px;max-height:235px;display:block;padding:5px 0 40px}.visual{height:190px;aspect-ratio:auto}.cord-frame{inset:0 10%}.workflow-card{width:142px;padding:10px 11px;border-radius:8px;box-shadow:0 3px 14px #23372b06}.card-a{top:7px;left:0;transform:rotate(-3deg)}.card-b{bottom:0;right:0;transform:rotate(2deg)}.card-kicker{font-size:0.75rem;margin-bottom:5px}.card-title{font-size:0.875rem;margin-bottom:4px}.card-detail{font-size:0.75rem}.card-foot{font-size:0.75rem;margin-top:6px;padding-top:5px}.data-row{font-size:0.75rem;padding:2px 0;gap:5px}.data-row.total{padding-top:5px;margin-top:5px}.card-b .data-row:not(.total){display:none}.card-b .card-detail{display:none}.status-tag{font-size:0.75rem;margin-top:7px}.check-row{font-size:0.75rem;padding:3px 0;gap:5px}.card-b .check-row{display:none}.card-b .check-row:last-child{display:flex}.visual[data-logo="true"] .cord-frame{inset:0}.visual-footer{position:absolute;bottom:4px;left:0;right:0;margin:0;gap:10px;font-size:0.75rem}.visual-footer #stage-name{max-width:210px;line-height:1.3}#motion{font-size:0.75rem}.illustration-note{display:none}.completion{font-size:0.75rem;bottom:-2px;padding:5px}.story{order:1}.chapter{min-height:calc(100svh - 170px);padding:60px 0}.hero{min-height:0;padding:30px 0 70px}.hero h1{--fs:2.6875rem;letter-spacing:-.04em;line-height:1.04;margin-bottom:22px}.eyebrow{font-size:0.8125rem;margin-bottom:19px}.intro{font-size:1.0625rem;margin-bottom:25px;max-width:480px}.hero .text-link{font-size:0.875rem}.founder-line{font-size:0.875rem;margin-top:27px}.chapter h2{--fs:2.4375rem;letter-spacing:-.04em}.chapter-body{font-size:1.0625rem;line-height:1.75}.example{margin-top:10px}.example p{font-size:0.9375rem}.overview,.about-story,.contact-layout{grid-template-columns:1fr;gap:30px;padding:70px 26px}.overview-body{padding-top:0;font-size:1.125rem}.founder-preview{padding:75px 26px}.founder-preview p:not(.eyebrow){font-size:1.125rem}.closing{padding:75px 26px}.closing h2{--fs:2.5625rem}.page-hero{padding:55px 26px 65px}.page-hero h1{--fs:2.8125rem}.lead{font-size:1.125rem;margin-top:28px}.service-list{padding:0 26px 60px}.service-row{grid-template-columns:1fr;gap:20px;padding:30px 0}.service-row h2{--fs:1.875rem}.service-row p{font-size:1.0625rem}.steps-section,.faq,.principles{padding:65px 26px}.steps,.principle-grid{grid-template-columns:1fr;gap:32px;margin-top:35px}.steps li{border-top:1px solid var(--line);padding-top:23px}.steps>li>span{margin-bottom:14px}.steps h3{margin-bottom:12px}.faq summary{font-size:1.125rem}.faq details p{font-size:1rem}.about-story>div>p:not(.eyebrow){font-size:1.125rem}.contact-layout{padding-top:0;gap:45px}.form-row{grid-template-columns:1fr;gap:0}.legal-page{padding:55px 26px 70px}.legal-page h1{--fs:3rem}.footer{padding:50px 26px 24px}.footer-top{grid-template-columns:1fr 1fr;gap:30px}.footer-top nav{grid-column:1/-1;justify-content:flex-start;gap:20px 28px}.footer-top p{font-size:0.9375rem}.footer-bottom{display:block;margin-top:35px}.footer-bottom span{display:block;margin-top:8px}}
@media(max-width:380px){.header{padding-inline:20px;gap:10px}.header nav{gap:15px;font-size:0.8125rem}.header nav .nav-contact{padding:7px 10px}.brand{font-size:1rem}.journey{padding:0 22px}.visual-column{margin-inline:-22px;padding-inline:22px}.workflow-card{width:128px;padding:9px}.card-a .card-detail{display:none}.hero .button{font-size:0.875rem;padding:12px 20px;gap:15px}.hero .text-link{font-size:0.8125rem}.chapter h2{--fs:2.1875rem}}
@media(max-height:520px) and (max-width:760px){.visual-column{position:relative}.visual-sticky{height:220px;min-height:220px}.chapter{min-height:0;padding:45px 0}.journey-enhanced .final-fallback{display:block}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}.workflow-card{transform:none}}
.motion-off .workflow-card,.motion-off .cord-frame{transition:none}.motion-off .workflow-card{transform:none}

/* On phones, the document and the animated strand have separate columns. */
.workflow-card[hidden]{display:none}
@media(max-width:760px){
 .cord-frame{inset:0 52% 0 0}
 .workflow-card{width:47%;max-width:180px;left:auto;right:0;top:50%;bottom:auto;transform:translateY(-50%)}
 .card-b{display:none}
 .visual[data-panel="second"] .card-a{display:none}
 .visual[data-panel="second"] .card-b{display:block}
 .visual[data-panel="second"] .card-b[hidden]{display:none}
 .visual[data-stage] .workflow-card{transform:translateY(-50%)}
 .visual[data-logo="true"] .cord-frame{inset:0}
 .card-b .card-detail{display:block}
 .card-b .data-row:not(.total){display:flex}
 .card-b .check-row{display:flex}
}

.header nav a{white-space:nowrap}
@media(max-width:760px){.header{height:auto;min-height:90px;flex-wrap:wrap;gap:16px}.header nav{gap:18px;margin-left:auto;flex-wrap:wrap;max-width:100%}}
@media(max-width:380px){.header{gap:8px}.header nav{gap:10px;font-size:.8125rem}.header nav .nav-contact{padding:7px 8px}}
@media(max-width:760px){.chapter{scroll-margin-top:220px}}
@media(max-height:520px) and (max-width:760px){.chapter{scroll-margin-top:0}}
/* Header navigation v8 (September 26, 2026): Services dropdown, Insights, phone Menu panel */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
body .header{position:relative;z-index:20}
.nav-drop{position:relative;display:flex;align-items:center;gap:2px;margin-right:-12px}
.nav-drop-toggle{display:inline-grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:14px;background:transparent;color:inherit;cursor:pointer}
.nav-drop-toggle svg{transition:transform .2s}
.nav-drop.open .nav-drop-toggle svg{transform:rotate(180deg)}
.nav-drop-toggle:hover{background:var(--wash)}
.nav-drop-menu{position:absolute;top:calc(100% + 10px);left:-22px;width:370px;max-width:calc(100vw - 32px);margin:0;padding:10px;list-style:none;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 40px #23372b14;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .15s,transform .15s,visibility 0s .15s}
.nav-drop-menu::before{content:'';position:absolute;left:0;right:0;top:-12px;height:12px}
/* One disclosure state: once nav.js runs (.nav-ready), only .open (mirrored by aria-expanded) shows the menu.
   Hover and focus-within open it only as the no-JavaScript fallback. */
.nav-drop.open .nav-drop-menu,.header:not(.nav-ready) .nav-drop:hover .nav-drop-menu,.header:not(.nav-ready) .nav-drop:focus-within .nav-drop-menu{opacity:1;visibility:visible;transform:none;transition:opacity .15s,transform .15s}
.header nav .nav-drop-menu a{display:block;padding:11px 14px;border-radius:9px;white-space:normal}
.nav-drop-menu a:hover,.nav-drop-menu a:focus-visible{background:var(--wash);text-decoration:none}
.nav-drop-menu strong{display:block;font-weight:500;color:var(--asc-ink)}
.nav-drop-menu span{display:block;font-size:.8125rem;line-height:1.4;color:var(--asc-muted);margin-top:2px;text-wrap:pretty}
.nav-drop-menu .nav-drop-all{border-top:1px solid var(--line);margin-top:6px;padding-top:6px}
.header nav .nav-drop-all a{color:var(--asc-orange-text);font-size:.875rem}
.nav-drop-all span{display:inline;color:inherit;margin-left:6px}
.menu-toggle,.header-cta{display:none}
/* The phone Menu button keeps its name; while the panel is open it shows as pressed (outlined, light). */
.menu-toggle[aria-expanded="true"]{background:var(--asc-canvas);color:var(--asc-green);box-shadow:inset 0 0 0 1.5px var(--asc-green)}
@media(max-width:760px){
 .header{flex-wrap:wrap;justify-content:flex-end;height:auto;min-height:78px;padding-block:17px;row-gap:10px}
 .brand{margin-right:auto}
 .header-cta{display:inline-flex;align-items:center;margin-left:auto;padding:8px 14px;border:1px solid #b8c1ba;border-radius:30px;font-size:.875rem;white-space:nowrap}
 .menu-toggle{display:inline-flex;align-items:center;min-height:40px;padding:8px 14px;border:0;border-radius:30px;background:var(--asc-green);color:#fff;font-size:.875rem;cursor:pointer}
 .header nav{display:none}
 .nav-ready.menu-open nav,.header:not(.nav-ready):focus-within nav{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;margin:0;max-width:none;padding:8px 24px 24px;background:var(--asc-canvas);border-bottom:1px solid var(--line);box-shadow:0 18px 30px #23372b12;font-size:1.0625rem}
 .header nav>a,.nav-drop-link{display:block;padding:14px 0;border-top:1px solid var(--line)}
 .nav-drop{display:block}
 .nav-drop-toggle{display:none}
 .nav-drop-menu{position:static;width:auto;opacity:1;visibility:visible;transform:none;border:0;box-shadow:none;background:transparent;padding:0 0 10px 10px}
 .header nav .nav-drop-menu a{padding:9px 12px}
 .nav-drop-menu span{display:none}
 .nav-drop-menu .nav-drop-all{display:none}
 .header nav .nav-contact{display:none}
}
@media(max-width:380px){.header-cta{padding:7px 10px}.menu-toggle{padding:7px 11px}}

/* Shared shell reflow and states (audit F2/F3/F4/F12, September 26, 2026). At default text size these
   rules resolve to the previous layout; with enlarged text the header controls wrap onto a second row,
   the footer stacks, and long headings break instead of forcing sideways scrolling. */
.brand-mark{display:block;width:auto;height:44px}
@media(min-width:761px){.header{height:auto;min-height:110px;flex-wrap:wrap;row-gap:12px}.header nav{flex-wrap:wrap;justify-content:flex-end;row-gap:4px;margin-left:auto}}
h1,h2,h3{overflow-wrap:anywhere}
main{container-type:inline-size;container-name:page}
/* Rem-based headings honor the visitor's text size. Natural wrapping and hyphenation keep
   long words inside narrow columns without reducing the requested font size. These section
   containers also let the Services/About grids stack when enlarged text needs more room. */
h1,h2,h3{font-size:var(--fs);hyphens:auto;overflow-wrap:anywhere}
main :has(>h1,>h2,>h3){container-type:inline-size}
@media(min-width:761px) and (max-width:1199px){
 h1{--fs:4rem}h2{--fs:2.25rem}
 .page-hero h1{--fs:4.125rem}.closing h2{--fs:2.75rem}
}
@media(max-width:760px){h1{--fs:2.8125rem}h2{--fs:2.25rem}}
/* Line breaking (round 1 review CONF-3/V4): headings balance their lines and paragraphs avoid a lone last word.
   The scene illustrations keep ordinary wrapping (their layouts are tuned to it). */
h1,h2,h3{text-wrap:balance}
main p{text-wrap:pretty}
main .sc-world p{text-wrap:wrap}
/* Current page on the “Let’s talk” pills (/contact/): the pill fills and its border darkens, instead of the text
   underline other nav links use (which split around the arrow inside the border). */
.header a.nav-contact[aria-current]{text-decoration:none;background:var(--wash);border-color:var(--asc-green)}
/* Focus on the dark closing band: the orange ring measures 2.67:1 on --asc-green; the canvas colour is about 11:1. */
.closing a:focus-visible,.closing button:focus-visible{outline-color:var(--asc-canvas)}
.footer{container-type:inline-size}
@container (max-width:16rem){.footer-top{grid-template-columns:minmax(0,1fr)}.footer-top nav{grid-column:auto}}


/* Rem tiers approximate the former fluid heading scale without limiting text enlargement. */
@media(min-width:500px) and (max-width:599px){.page-hero h1{--fs:3.3125rem}}
@media(min-width:600px) and (max-width:699px){.page-hero h1{--fs:3.9375rem}}
@media(min-width:700px) and (max-width:760px){.page-hero h1{--fs:4.375rem}}
@media(min-width:761px) and (max-width:899px){.page-hero h1{--fs:3.5rem}.closing h2{--fs:2.375rem}}
@media(min-width:900px) and (max-width:999px){.page-hero h1{--fs:4rem}.closing h2{--fs:2.625rem}}
@media(min-width:1000px) and (max-width:1099px){h2{--fs:2.375rem}}
@media(min-width:1100px) and (max-width:1199px){h2{--fs:2.625rem}.page-hero h1{--fs:4.75rem}.closing h2{--fs:3.125rem}}
@media(min-width:1200px) and (max-width:1399px){h2{--fs:3rem}.page-hero h1{--fs:5.375rem}.closing h2{--fs:3.625rem}}

/* October refinement: generous real hit areas; no inert controls without JavaScript. */
.nav-drop-toggle{width:44px;height:44px;border-radius:22px}
.footer-top nav a{display:inline-flex;align-items:center;min-width:44px;min-height:44px}
.footer-top nav{row-gap:4px}
.faq summary{min-height:44px;align-items:center}
.text-link:hover,.footer-top nav a:hover{text-decoration:underline;text-underline-offset:5px}
.header:not(.nav-ready) .nav-drop-toggle,.header:not(.nav-ready) .menu-toggle{display:none}
@media(max-width:760px){
 .menu-toggle,.header-cta{min-height:44px}
 .header:not(.nav-ready) #site-nav{display:flex;position:static;flex-basis:100%;flex-direction:column;align-items:stretch;gap:0;padding:10px 0 0;box-shadow:none;border-bottom:0;max-width:100%;margin:0}
 .header:not(.nav-ready) .nav-drop-menu{display:block}
}
