:root{--ink:#000;--paper:#fff;--muted:#606060;--page:clamp(24px,6vw,104px);--max:1440px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:50px}body{margin:0;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}a{color:inherit}button{border:0;background:none;padding:0}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid #000;outline-offset:7px}::selection{background:#000;color:#fff}.skip{position:fixed;top:-100px;left:20px;background:#fff;padding:14px;z-index:10}.skip:focus{top:12px}.masthead,main,footer{max-width:var(--max);margin-inline:auto}.masthead{display:flex;align-items:center;justify-content:space-between;padding:clamp(27px,3.4vw,52px) var(--page)}.wordmark{font-size:clamp(17px,1.5vw,21px);letter-spacing:-.055em;text-decoration:none}.wordmark-dot{margin-left:1px}.text-link{font-size:clamp(14px,1.1vw,17px);text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px;line-height:1.6}.masthead .text-link{text-decoration:none}.masthead .text-link:hover{text-decoration:underline}.opening{position:relative;min-height:calc(100svh - 105px);padding:clamp(40px,5.7vw,96px) var(--page) 90px;display:flex;flex-direction:column;justify-content:center}.staircase{margin:0 auto clamp(44px,5vw,76px);width:83%;max-width:990px}.staircase svg{width:100%;display:block;overflow:visible}.staircase path{stroke:#000;stroke-width:1.75;fill:none;vector-effect:non-scaling-stroke}.steps .ascending{stroke-dasharray:560;stroke-dashoffset:560;animation:draw 1.7s cubic-bezier(.2,.5,.3,1) .15s forwards}@keyframes draw{to{stroke-dashoffset:0}}h1,h2,p{margin:0}h1{font-size:clamp(44px,5.2vw,76px);font-weight:400;line-height:1.035;letter-spacing:-.06em}.opening-copy>p{font-size:clamp(17px,1.55vw,23px);line-height:1.5;letter-spacing:-.023em;margin-top:24px}.continue{position:absolute;right:var(--page);bottom:48px;display:flex;gap:14px;align-items:center;text-decoration:none;font-size:12px;color:var(--muted)}.continue svg{width:12px;height:20px;fill:none;stroke:currentColor;stroke-width:1}.continue:hover{color:#000}.possibilities{padding:clamp(110px,15vw,220px) var(--page);display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(36px,7vw,105px);align-items:center}.diagram-stage svg{display:block;width:100%;overflow:visible}.diagram-stage path,.diagram-stage line,.diagram-stage circle,.diagram-stage rect{stroke:#000;stroke-width:1.6;fill:none;vector-effect:non-scaling-stroke}.diagram-stage .solid{fill:#000}.offer-tabs{display:flex;align-items:flex-start;flex-direction:column;gap:24px}.offer-tab{text-align:left;font-size:clamp(19px,1.8vw,27px);line-height:1.3;letter-spacing:-.045em;text-decoration-thickness:1px;text-underline-offset:7px}.offer-tab[aria-selected=true]{text-decoration-line:underline}.offer-tab[aria-selected=false]{color:var(--muted)}.offer-tab:hover{color:#000}.offer-panel{margin-top:36px;min-height:136px;max-width:345px;font-size:16px;line-height:1.6;letter-spacing:-.012em}.offer-detail{color:var(--muted);font-size:13px;margin-top:16px}.diagram-stage.is-changing{animation:diagram-in .35s ease-out}@keyframes diagram-in{from{opacity:.15;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.proof{padding:30px var(--page) clamp(100px,13vw,195px);display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center}.proof h2{font-size:clamp(26px,2.7vw,40px);font-weight:400;line-height:1.15;letter-spacing:-.055em}.proof-copy>p{font-size:clamp(15px,1.25vw,18px);line-height:1.55;margin-top:24px}.proof-copy>.text-link{margin-top:25px}.proof-diagram{width:100%;max-width:410px;justify-self:end;fill:none;stroke:#000;stroke-width:1.4}.proof-diagram .endpoints{fill:#000;stroke:none}.invitation{padding:clamp(50px,8vw,125px) var(--page) clamp(120px,16vw,230px)}.invitation h2{font-size:clamp(40px,5.4vw,78px);font-weight:400;line-height:1.06;letter-spacing:-.06em}.invitation>.text-link{margin-top:36px}footer{padding:25px var(--page) 35px;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted)}dialog{width:min(660px,calc(100% - 32px));max-height:calc(100svh - 48px);padding:0;border:1px solid #000;border-radius:0;color:#000;background:#fff}dialog::backdrop{background:rgb(255 255 255 / 86%);backdrop-filter:blur(5px)}.dialog-inner{padding:clamp(28px,5vw,65px);position:relative}.close{display:block;margin:0 0 44px auto;font-size:13px;line-height:1.5}.close span{font-size:21px;vertical-align:-1px;margin-left:12px}.dialog-inner h2{font-weight:400;font-size:clamp(32px,4vw,46px);line-height:1.08;letter-spacing:-.05em;margin-bottom:25px}.dialog-inner>p{font-size:15px;line-height:1.7}.dialog-inner .small-label{font-size:11px;color:var(--muted);margin-bottom:18px}.case-process{margin:35px 0;display:grid;gap:22px;font-size:15px;line-height:1.6}.case-process strong{font-weight:500}.dialog-inner .case-note{font-size:12px;color:var(--muted);margin-bottom:28px}form{margin-top:30px}label{display:block;font-size:13px;margin:24px 0 10px}input,textarea{display:block;width:100%;border:0;border-bottom:1px solid #9b9b9b;border-radius:0;background:#fff;color:#000;padding:10px 0;line-height:1.6}textarea{resize:vertical}.contact-note{font-size:12px;line-height:1.6;color:var(--muted);margin:22px 0}.submit{background:#000;color:#fff;padding:13px 22px;font-size:14px}.submit:hover{background:#333}#contact-status{font-size:13px;line-height:1.6;margin-top:16px}body:has(dialog[open]){overflow:hidden}
@media(min-width:1600px){.opening{min-height:820px}}
@media(max-width:700px){.masthead{padding-top:27px}.masthead .text-link{font-size:12px}.opening{min-height:740px;min-height:calc(92svh - 80px);padding-top:65px;padding-bottom:90px}.staircase{width:100%;margin-bottom:58px}.staircase path{stroke-width:1.4}.opening-copy>p{font-size:17px}.continue{bottom:26px}.possibilities{grid-template-columns:1fr;gap:42px;padding-top:110px;padding-bottom:105px}.diagram-stage{max-width:440px;width:100%;margin-inline:auto}.offer-tabs{gap:21px}.offer-tab{font-size:23px}.offer-panel{min-height:120px;margin-top:30px}.proof{grid-template-columns:1fr;gap:48px;padding-top:10px;padding-bottom:65px}.proof-diagram{grid-row:1;width:85%;justify-self:center}.proof h2{font-size:32px}.invitation{padding-top:85px;padding-bottom:120px}.invitation h2{font-size:46px}footer{font-size:10px;align-items:flex-start}footer span:last-child{max-width:130px;text-align:right}.desktop-break{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.steps .ascending{stroke-dashoffset:0}}

/* Method-led page. Technical detail stays local to each stage. */
.hero-method { display:inline-block; margin-top:28px; }
.opening-copy > p { max-width:620px; }
.continue span { max-width:220px; }
.possibilities { padding-bottom:clamp(100px,11vw,170px); }
.offer-panel { min-height:160px; }
.method, .examples { padding:clamp(65px,8vw,120px) var(--page); }
.section-intro { max-width:680px; }
.eyebrow { color:var(--muted); font-size:12px; margin-bottom:25px; }
.section-intro h2 { font-size:clamp(36px,4vw,58px); font-weight:400; line-height:1.08; letter-spacing:-.055em; }
.section-intro > p:last-child:not(.eyebrow) { margin-top:25px; font-size:17px; line-height:1.6; }
.method-line { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); margin-top:75px; align-items:start; }
.method-step { position:relative; padding-right:22px; min-width:0; }
.method-step:last-child { padding-right:0; }
.step-node { position:relative; height:46px; }
.step-node::before { content:''; position:absolute; top:4px; left:0; right:-22px; border-top:1px solid #000; }
.method-step:last-child .step-node::before { display:none; }
.step-node::after { content:''; position:absolute; width:8px; height:8px; top:0; left:0; background:#000; }
.step-node span { position:absolute; top:-28px; font-size:10px; color:var(--muted); }
.stage-name { font-size:21px; letter-spacing:-.04em; }
.method-icon { display:block; width:100%; height:116px; max-width:170px; margin:24px 0; stroke:#000; stroke-width:1.5; fill:none; }
.method-step h3 { font-weight:400; font-size:16px; line-height:1.35; letter-spacing:-.025em; min-height:45px; margin:0 0 13px; }
.method-step > p:not(.stage-name) { font-size:13px; line-height:1.65; color:var(--muted); min-height:108px; }
.technical { margin-top:24px; }
.technical summary { cursor:pointer; display:flex; align-items:center; gap:12px; font-size:11px; line-height:1.5; width:fit-content; list-style:none; padding:8px 0; }
.technical summary::-webkit-details-marker { display:none; }
.technical summary:focus-visible { outline:2px solid #000; outline-offset:5px; }
.toggle-mark::before { content:'+'; font-size:16px; }
.technical[open] .toggle-mark::before { content:'−'; }
.technical-content { margin-top:15px; }
.technical-content p { font-size:12px; line-height:1.7; color:var(--muted); margin-bottom:20px; }
.technical-content strong { display:block; color:#000; font-weight:500; margin-bottom:5px; }
.scope-note { display:grid; grid-template-columns:1fr 1fr; gap:70px; margin-top:100px; }
.scope-note > p { font-size:clamp(25px,2.6vw,36px); line-height:1.2; letter-spacing:-.045em; }
.scope-note > div { max-width:440px; font-size:15px; line-height:1.7; }
.muted { color:var(--muted); }
.scope-note .muted { margin-top:18px; font-size:12px; }
.examples { padding-top:120px; }
.example-tabs { display:flex; gap:32px; flex-wrap:wrap; margin-top:50px; }
.example-tabs button { text-align:left; color:var(--muted); font-size:14px; line-height:1.7; padding:8px 0; }
.example-tabs button[aria-selected=true] { color:#000; text-decoration:underline; text-underline-offset:7px; text-decoration-thickness:1px; }
.example-panel { display:grid; grid-template-columns:1.15fr 1fr; gap:clamp(40px,8vw,120px); padding-top:54px; min-height:395px; }
.example-kind { color:var(--muted); font-size:11px; margin-bottom:23px; }
.example-panel h3 { margin:0 0 24px; font-size:clamp(27px,2.7vw,40px); line-height:1.14; letter-spacing:-.045em; font-weight:400; white-space:pre-line; }
#example-description { max-width:420px; font-size:16px; line-height:1.65; }
.example-links { display:flex; flex-wrap:wrap; gap:15px 24px; margin-top:30px; }
.example-links a { font-size:13px; }
.example-journey { padding-left:23px; border-left:1px solid #bdbdbd; align-self:start; display:grid; gap:26px; }
.example-journey span { font-size:11px; color:var(--muted); }
.example-journey p { font-size:14px; line-height:1.65; margin-top:7px; max-width:380px; }
.about { padding:100px var(--page) 70px; display:grid; grid-template-columns:1fr 1fr; gap:70px; }
.about > p { font-size:clamp(23px,2.5vw,34px); line-height:1.25; letter-spacing:-.04em; }
.about strong { font-weight:400; }
.about > div { max-width:440px; font-size:15px; line-height:1.7; }
.about a { display:inline-block; margin-top:21px; font-size:13px; }
.invitation > p { font-size:clamp(16px,1.5vw,21px); line-height:1.6; margin-top:28px; }
.invitation-actions { display:flex; gap:30px; flex-wrap:wrap; margin-top:34px; }
.invitation .secondary { color:var(--muted); }
.invitation .call-note { color:var(--muted); font-size:12px; line-height:1.7; margin-top:22px; }
@media (max-width:1000px) and (min-width:701px) {
 .method-line { grid-template-columns:1fr; gap:40px; margin-top:60px; }
 .method-step { padding:0 0 0 32px; border-left:1px solid #aaa; display:grid; grid-template-columns:150px 1fr; column-gap:28px; }
 .step-node { position:absolute; left:-4px; top:0; }
 .step-node::before { display:none; }
 .step-node span { left:-10px; top:-22px; }
 .method-step .stage-name { grid-column:1; }
 .method-icon { grid-column:1; grid-row:2 / 5; margin:14px 0; }
 .method-step h3 { grid-column:2; grid-row:1; min-height:0; }
 .method-step > p:not(.stage-name) { grid-column:2; min-height:0; }
 .technical { grid-column:2; margin-top:12px; }
}
@media (max-width:700px) {
 .opening { min-height:820px; min-height:100svh; padding-bottom:100px; }
 .opening h1 { font-size:clamp(42px,10.6vw,68px); }
 .continue { bottom:32px; }
 .method, .examples { padding-top:55px; padding-bottom:65px; }
 .section-intro h2 { font-size:39px; }
 .method-line { display:block; margin-top:64px; }
 .method-step { padding:0 0 48px 30px; border-left:1px solid #aaa; }
 .method-step:last-child { padding:0 0 0 30px; border:0; }
 .step-node { position:absolute; left:-4px; top:0; width:8px; }
 .step-node::before { display:none; }
 .step-node span { left:30px; top:-22px; }
 .stage-name { font-size:27px; }
 .method-icon { width:135px; height:96px; margin:17px 0; }
 .method-step h3 { min-height:0; font-size:19px; margin-bottom:12px; }
 .method-step > p:not(.stage-name) { min-height:0; font-size:15px; max-width:380px; }
 .technical { margin-top:15px; }
 .technical summary { font-size:12px; padding:10px 0; }
 .technical-content { max-width:400px; }
 .technical-content p { font-size:13px; }
 .scope-note { grid-template-columns:1fr; gap:24px; margin-top:70px; }
 .example-tabs { gap:8px 22px; margin-top:30px; }
 .example-panel { grid-template-columns:1fr; gap:40px; min-height:0; padding-top:35px; }
 .example-panel h3 { font-size:33px; }
 .about { padding-top:65px; padding-bottom:45px; grid-template-columns:1fr; gap:25px; }
 .invitation h2 { font-size:clamp(39px,10vw,55px); }
 .invitation-actions { gap:24px; }
}
