:root{--paper:#efe5dc;--ink:#171717;--muted:#646464;--line:#d4c8bd;--orange:#ee4428;--gutter:clamp(24px,4.5vw,80px);--header-height:88px;--font:"Helvetica Neue",Helvetica,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:var(--header-height)}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:16px;-webkit-font-smoothing:antialiased}button,a,summary{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit;text-decoration:none}a,button,summary{outline-offset:7px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--orange)}img{display:block;max-width:100%}figure,p,h1,h2,h3{margin:0}h1,h2,h3{font-weight:700;letter-spacing:-.065em;text-wrap:balance;overflow-wrap:break-word}h2{font-size:clamp(3.25rem,5.8vw,6.75rem);line-height:1.04}p{font-size:1.125rem;line-height:1.65}::selection{background:#ffd9d1;color:var(--ink)}
.wrap{width:calc(100% - var(--gutter)*2);max-width:1600px;margin-inline:auto}.viewport{min-height:var(--viewport-height)}.accent{color:var(--orange)}.eyebrow,.step-label{font-size:.875rem;font-weight:700;letter-spacing:.075em;line-height:1.5;text-transform:uppercase}.eyebrow{margin-bottom:36px}.icon{display:block;width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5;flex:none;stroke-linecap:round;stroke-linejoin:round}.skip{position:fixed;left:20px;top:-90px;background:var(--ink);color:#fff;padding:16px 24px;z-index:100}.skip:focus{top:12px}
.header{position:fixed;inset:0 0 auto;z-index:50;background:rgba(239,229,220,.96);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.header-inner{height:var(--header-height);display:flex;align-items:center;justify-content:space-between;gap:24px}.wordmark{display:inline-flex;align-items:center;gap:9px;font-size:1.6rem;letter-spacing:-.06em;font-weight:700;line-height:1;white-space:nowrap}.wordmark img{width:32px;height:32px;flex:none}.header nav{display:flex;align-items:center;gap:32px}.header nav a{font-size:.875rem;padding-block:14px;transition:color .2s}.header nav a:hover{color:var(--orange)}.header-cta{display:flex;align-items:center;gap:24px;padding:13px 0 13px 20px;font-size:.875rem}.header-cta .icon{width:18px;height:18px}.nav-toggle,.header nav .mobile-contact{display:none}.reading-progress{height:2px;background:var(--orange);transform:scaleX(var(--reading-progress,0));transform-origin:left;position:absolute;left:0;right:0;bottom:0}
.text-link{display:inline-flex;align-items:center;gap:26px;min-height:44px;padding-block:11px;border-bottom:1px solid currentColor;font-size:1rem;line-height:1.4}.text-link .icon,.button .icon,.header-cta .icon{transition:transform .3s}.text-link:hover .icon,.button:hover .icon,.header-cta:hover .icon{transform:translate(3px,-3px)}.text-link:hover{color:var(--orange)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;padding:22px 30px;font-size:1rem;line-height:1.4;border-radius:2px;min-height:58px;transition:background .25s}.button-dark{background:var(--ink);color:#fff}.button-dark:hover{background:#3a3a3a}
.hero{position:relative;display:flex;padding-top:var(--header-height)}.hero-inner{position:relative;display:grid;grid-template-columns:1.15fr 1fr;gap:6vw;align-items:center;padding-block:48px 96px}.hero-story{position:relative;z-index:2}.hero .eyebrow{margin-bottom:32px}h1{font-size:clamp(4.8rem,8.65vw,10rem);line-height:.97}.hero-lead{max-width:365px;margin:30px 0 16px;font-size:1.125rem;line-height:1.6}.hero-portrait{align-self:stretch;display:flex;flex-direction:column;min-width:0;max-height:800px}.portrait-crop{position:relative;flex:1;min-height:390px;overflow:hidden;background:#e1d4c8}.hero-portrait img{height:100%;width:100%;position:absolute;inset:0;object-fit:cover;object-position:50% 25%}.hero-portrait figcaption{display:flex;justify-content:space-between;gap:12px;padding-top:15px;font-size:.8125rem;line-height:1.5}.hero-portrait figcaption span{color:var(--muted);text-align:right}.scroll-cue{position:absolute;bottom:30px;left:0;right:0;display:flex;align-items:center;justify-content:space-between;font-size:.875rem;color:var(--muted);min-height:44px}.scroll-cue .icon{color:var(--ink)}
.statement{display:grid;place-items:center;text-align:center;padding-block:120px}.statement .eyebrow{margin-bottom:40px}.statement h2{font-size:clamp(6rem,14.5vw,15rem);line-height:.92;letter-spacing:-.075em}.statement-lead{max-width:680px;margin:42px auto 0;color:var(--muted)}.work-stories{scroll-margin-top:0}
.scene{position:relative;display:flex;align-items:center;overflow:hidden;isolation:isolate;background:#e7dbd0}.scene-media{position:absolute;inset:0;z-index:-3;overflow:hidden}.scene-media img{width:100%;height:100%;object-fit:cover;object-position:65% 50%}.scene-wash{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,var(--paper) 0%,rgba(239,229,220,.98) 22%,rgba(239,229,220,.9) 37%,rgba(239,229,220,.48) 52%,rgba(239,229,220,0) 73%)}.scene-content{padding-block:120px}.scene-copy{max-width:660px;width:49%}.scene .eyebrow{margin-bottom:32px}.project-status{display:block;color:var(--muted);font-size:.8125rem;letter-spacing:0;text-transform:none;margin-top:9px}.scene h2{font-size:clamp(3.5rem,5.75vw,6.5rem);line-height:1.03}.scene-copy>p:not(.eyebrow){max-width:345px;margin:28px 0 16px}.scene-caption{position:absolute;inset:auto 0 26px;display:flex;align-items:end;justify-content:space-between;gap:20px;font-size:.8125rem;line-height:1.5;color:var(--muted)}.image-note{background:rgba(239,229,220,.92);padding:5px 9px;font-size:.75rem;line-height:1.4;color:#555}
.approach{padding-block:100px}.approach-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:10vw;align-items:start}.approach-heading{position:sticky;top:calc(var(--header-height) + 70px);padding-block:40px}.approach h2{font-size:clamp(3rem,5.25vw,6rem)}.approach-heading>p:last-child{margin-top:30px;color:var(--muted)}.approach-steps{list-style:none;margin:0;padding:0}.approach-steps li{min-height:50vh;min-height:50svh;display:flex;align-items:center;padding:72px 0;border-top:1px solid var(--line)}.approach-steps li:last-child{border-bottom:1px solid var(--line)}.step-label{display:block;color:var(--muted);margin-bottom:27px}.approach-steps h3{font-size:clamp(2.7rem,4.2vw,4.75rem);line-height:1.06;letter-spacing:-.055em}.approach-steps p{max-width:345px;margin-top:24px;color:var(--muted)}
.personal{position:relative;display:flex;align-items:center;overflow:hidden}.personal-media{position:absolute;inset:0 auto 0 0;width:46%;overflow:hidden;background:#e1d4c8}.personal-media img{width:100%;height:100%;object-fit:cover;object-position:center 35%}.personal-layout{display:grid;grid-template-columns:1fr 1fr;gap:10vw;padding-block:110px}.personal-copy{grid-column:2;min-width:0}.personal h2{font-size:clamp(3.1rem,5.6vw,6.75rem)}.personal-lead{margin:30px 0 20px}.personal-copy>p:not(.eyebrow){max-width:420px}.personal-copy>p:not(.eyebrow):not(.personal-lead){color:var(--muted);margin-bottom:22px}
.faq{display:grid;grid-template-columns:1fr 1fr;gap:10vw;padding-block:160px}.faq h2{font-size:clamp(3.3rem,5.5vw,6rem)}.faq-items{align-self:center}details{border-bottom:1px solid var(--line)}summary{position:relative;list-style:none;font-size:1.125rem;line-height:1.5;padding:25px 36px 25px 0;cursor:pointer}summary::-webkit-details-marker{display:none}summary::before,summary::after{content:"";position:absolute;width:14px;height:1px;right:4px;top:39px;background:currentColor;transition:transform .25s}summary::after{transform:rotate(90deg)}details[open] summary::after{transform:rotate(0)}details p{color:var(--muted);font-size:1rem;padding:0 30px 25px 0;line-height:1.65}
.contact{display:flex;align-items:center;border-top:1px solid var(--line);position:relative}.contact-inner{align-self:stretch;display:flex;flex-direction:column;justify-content:center;position:relative;padding-block:100px 140px}.contact h2{font-size:clamp(4rem,8.7vw,10rem);line-height:1.03}.contact .story-copy>p:not(.eyebrow){margin-top:35px;color:var(--muted)}.contact-actions{display:flex;align-items:center;gap:38px;margin-top:35px}.contact-bottom{position:absolute;bottom:30px;left:0;right:0;display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:.875rem;color:var(--muted);line-height:1.5}.contact-bottom a{padding-block:10px;color:var(--ink)}.footer{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:120px;border-top:1px solid var(--line);font-size:.875rem;color:var(--muted);line-height:1.5}.footer .wordmark{font-size:1.4rem;color:var(--ink)}.footer .wordmark img{width:26px;height:26px}.back-top{min-width:44px;min-height:44px;display:grid;place-items:center;color:var(--ink)}
.motion-ready [data-reveal]{opacity:var(--reveal-alpha,1);transform:translate3d(0,var(--reveal-y,0px),0)}.motion-ready [data-reveal].is-revealing{will-change:opacity,transform}.motion-ready .parallax-image{opacity:var(--image-alpha,1);transform:translate3d(0,var(--image-y,0px),0) scale(1.09)}[data-reveal]:focus-within{opacity:1!important;transform:none!important}
.detail-hero{padding-top:calc(var(--header-height) + 65px);padding-bottom:70px;min-height:88vh;min-height:88svh;display:flex;flex-direction:column;justify-content:center}.detail-hero>.text-link{align-self:flex-start;margin-bottom:65px;font-size:.875rem}.detail-hero .eyebrow{margin-bottom:28px}.detail-hero h1{font-size:clamp(4rem,7.5vw,8.75rem);line-height:1.02;max-width:1280px}.detail-lead{max-width:650px;margin-top:34px;color:var(--muted);font-size:1.2rem}.detail-meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-top:55px;padding-top:22px;border-top:1px solid var(--line);font-size:.875rem;line-height:1.5;color:var(--muted)}.detail-image{position:relative;height:75vh;height:75svh;min-height:360px;overflow:hidden;background:#e7dbd0}.detail-image img{width:100%;height:100%;object-fit:cover;object-position:65% 50%}.detail-image figcaption{position:absolute;right:var(--gutter);bottom:22px}.detail-main{display:grid;grid-template-columns:1fr 1fr;gap:10vw;padding-block:100px}.detail-heading{position:sticky;top:calc(var(--header-height) + 70px);align-self:start;padding-top:36px}.detail-heading h2{font-size:clamp(3rem,5vw,5.5rem)}.detail-content>section{padding-block:55px;border-top:1px solid var(--line);min-height:34vh;min-height:34svh;display:flex;align-items:center}.detail-content h3{font-size:clamp(2.25rem,3.3vw,3.75rem);line-height:1.08;letter-spacing:-.045em}.detail-content p{margin-top:24px;color:var(--muted);max-width:460px}.detail-content>.text-link{margin-top:30px}.detail-next{padding-block:80px 120px;border-top:1px solid var(--line)}.detail-next>p{font-size:.875rem;color:var(--muted);margin-bottom:22px}.detail-next a{display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:clamp(2rem,4.5vw,5rem);line-height:1.1;letter-spacing:-.05em}.detail-next .icon{width:36px;height:36px}
@media(min-width:1800px){.scene-copy{width:54%}.hero-inner{gap:100px}.personal-layout{gap:160px}}
@media(max-width:1100px){:root{--header-height:80px}.header nav{gap:22px}.hero-inner{gap:35px}.hero-portrait figcaption{flex-direction:column;gap:1px}.hero-portrait figcaption span{text-align:left}.scene-copy{width:56%}.scene h2{font-size:clamp(3.5rem,6.2vw,5.5rem)}.scene-wash{background:linear-gradient(90deg,var(--paper) 0%,rgba(239,229,220,.95) 27%,rgba(239,229,220,.8) 45%,rgba(239,229,220,0) 85%)}.approach-layout,.personal-layout,.faq,.detail-main{gap:6vw}.personal-media{width:45%}.personal h2{font-size:5.7vw}.contact h2{font-size:9.2vw}}
@media(max-width:960px){
:root{--gutter:24px;--header-height:72px}.header-inner{gap:16px}.wordmark{font-size:1.4rem}.wordmark img{width:32px;height:32px}.header-cta{display:none}.header nav{gap:16px}.header nav a{font-size:.875rem}.header nav .mobile-contact{display:block}.header-inner{flex-wrap:wrap;height:auto;min-height:var(--header-height);padding-block:18px}.header nav{width:100%;flex-wrap:wrap;justify-content:space-between}.js .header-inner{height:var(--header-height);padding-block:0;flex-wrap:nowrap}.js .nav-toggle{display:block;background:none;border:0;color:var(--ink);padding:12px 0 12px 16px;font-size:.875rem;cursor:pointer}.js .header nav{display:none;position:absolute;top:var(--header-height);left:0;right:0;width:100%;padding:20px var(--gutter) 30px;background:var(--paper);border-bottom:1px solid var(--line)}.js .header.menu-open nav{display:flex;flex-direction:column;align-items:stretch;gap:0}.js .header nav a{font-size:1.4rem;padding-block:16px}
h2{font-size:clamp(3rem,10vw,5rem)}.eyebrow{font-size:.8125rem;letter-spacing:.055em;margin-bottom:28px}p{font-size:1.0625rem}.hero-inner{grid-template-columns:1fr;gap:30px;padding-top:28px;padding-bottom:72px;align-content:start}.hero .eyebrow{margin-bottom:22px}h1{font-size:clamp(3.3rem,11.5vw,5.7rem);line-height:.98;letter-spacing:-.065em}.hero-lead{font-size:1rem;line-height:1.55;margin:22px 0 8px;max-width:340px}.hero .text-link{font-size:.9375rem;gap:32px}.hero-portrait{height:clamp(200px,32svh,360px);max-height:none;position:relative}.portrait-crop{min-height:0;height:100%}.hero-portrait img{object-position:50% 25%}.hero-portrait figcaption{position:absolute;bottom:12px;left:14px;color:#fff;font-size:.8125rem;z-index:1;display:block;text-shadow:0 1px 6px #222}.hero-portrait figcaption span{display:none}.portrait-crop::after{content:"";position:absolute;inset:60% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.28));pointer-events:none}.scroll-cue{bottom:15px;font-size:.8125rem}.scroll-cue .icon{width:19px;height:19px}
.statement{padding-block:100px;min-height:90svh}.statement .eyebrow{margin-bottom:40px}.statement h2{font-size:clamp(4.5rem,18vw,8.5rem);line-height:.98}.statement-lead{font-size:1.0625rem;max-width:350px;margin-top:32px}.desktop-break{display:none}.scene{align-items:flex-start;min-height:100svh}.scene-content{padding-top:88px;padding-bottom:42svh;position:relative}.scene-copy{width:100%;max-width:480px}.scene h2{font-size:clamp(2.9rem,10.8vw,5.3rem);line-height:1.02;letter-spacing:-.065em}.scene .eyebrow{margin-bottom:27px}.scene-copy>p:not(.eyebrow){font-size:1rem;line-height:1.6;max-width:340px;margin:24px 0 10px}.project-status{font-size:.8125rem;margin-top:6px}.scene-media{inset:30% 0 0}.scene-media img{object-position:68% 50%}.scene-wash{background:linear-gradient(180deg,var(--paper) 0%,var(--paper) 36%,rgba(239,229,220,.97) 44%,rgba(239,229,220,.8) 55%,rgba(239,229,220,.12) 75%,rgba(239,229,220,0) 90%)}.scene-caption{bottom:17px;align-items:center}.scene-caption>span:first-child{display:none}.scene-caption .image-note{margin-left:auto;font-size:.75rem}
.approach{padding-block:90px 70px}.approach-layout{display:block}.approach-heading{position:static;padding:0 0 62px}.approach h2{font-size:clamp(3rem,10.4vw,5rem)}.approach-heading>p:last-child{font-size:1rem;margin-top:25px}.approach-steps li{min-height:46svh;padding-block:52px}.step-label{font-size:.8125rem;margin-bottom:25px}.approach-steps h3{font-size:clamp(2.75rem,10vw,4.4rem)}.approach-steps p{font-size:1rem;max-width:325px;margin-top:21px}
.personal{display:flex;flex-direction:column;min-height:100svh;padding-top:68px}.personal-media{position:relative;inset:auto;width:calc(100% - var(--gutter)*2);height:55svh;min-height:330px;max-height:520px;order:2;margin:0 auto}.personal-media img{object-position:50% 33%}.personal-layout{display:block;order:1;padding:0 0 42px}.personal h2{font-size:clamp(3.1rem,12vw,5.6rem)}.personal-lead{font-size:1.0625rem;margin:25px 0 18px}.personal-copy>p:not(.eyebrow):not(.personal-lead){font-size:1rem;max-width:340px}
.faq{display:block;padding-block:110px 95px}.faq-heading{margin-bottom:42px}.faq h2{font-size:clamp(3.3rem,12vw,5.5rem)}summary{font-size:1rem;padding:23px 30px 23px 0}summary::before,summary::after{top:35px}details p{font-size:1rem;padding-right:8px}.contact-inner{padding-block:88px 125px}.contact h2{font-size:clamp(2.85rem,10.7vw,5.3rem);line-height:1.06}.contact .eyebrow{max-width:260px}.contact .story-copy>p:not(.eyebrow){font-size:1.0625rem;max-width:280px;margin-top:27px}.contact-actions{flex-direction:column;align-items:flex-start;gap:20px;margin-top:28px}.button{padding:20px 23px;font-size:.9375rem;max-width:100%;gap:27px}.contact-bottom{align-items:flex-start;flex-direction:column;gap:6px;bottom:24px;font-size:.8125rem}.contact-bottom a{padding-block:4px;font-size:.875rem}.footer{min-height:160px;display:grid;grid-template-columns:1fr auto;gap:18px;padding-block:30px;font-size:.8125rem}.footer>.wordmark{grid-column:1;grid-row:1}.footer>span:nth-child(2){grid-column:1;grid-row:2}.footer>span:nth-child(3){grid-column:1;grid-row:3}.footer>.back-top{grid-column:2;grid-row:1 / 4}
.detail-hero{padding-top:calc(var(--header-height) + 28px);padding-bottom:45px;min-height:auto}.detail-hero>.text-link{margin-bottom:45px}.detail-hero .eyebrow{font-size:.8125rem}.detail-hero h1{font-size:clamp(3rem,11.5vw,5.6rem)}.detail-lead{font-size:1.0625rem;margin-top:25px}.detail-meta{display:flex;flex-direction:column;gap:10px;margin-top:34px;font-size:.8125rem}.detail-image{height:55svh;min-height:320px}.detail-image img{object-position:70% 50%}.detail-main{display:block;padding-block:65px}.detail-heading{position:static;padding:0 0 45px}.detail-heading h2{font-size:clamp(3rem,11vw,5rem)}.detail-content>section{min-height:36svh;padding-block:42px}.detail-content h3{font-size:2.6rem}.detail-content p{font-size:1.0625rem;margin-top:20px}.detail-next{padding-block:55px 75px}.detail-next a{font-size:clamp(2rem,7.7vw,3.5rem)}.detail-next .icon{width:28px;height:28px}
}
@media(max-width:360px){:root{--gutter:20px}.hero-inner{padding-top:24px}.eyebrow{font-size:.75rem}.scene h2{font-size:2.8rem}.scene-content{padding-top:78px}.contact h2{font-size:2.75rem}.hero-portrait{height:200px}.button{gap:16px;padding-inline:19px}}
@media(min-width:961px) and (max-height:700px){.hero-inner{padding-top:30px;padding-bottom:85px}.hero-portrait{max-height:630px}.portrait-crop{min-height:340px}.approach-heading,.detail-heading{position:static}.scene-content{padding-block:110px}.personal-layout{padding-block:100px}.contact-inner{padding-block:115px 135px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.motion-ready [data-reveal]{opacity:1!important;transform:none!important}.motion-ready .parallax-image{opacity:1!important;transform:none!important}.reading-progress{display:none}}
@media print{.header,.skip,.scroll-cue,.reading-progress,.nav-toggle{display:none}.viewport,.detail-hero{min-height:0!important}.hero{padding-top:0}[data-reveal]{opacity:1!important;transform:none!important}.parallax-image{opacity:1!important;transform:none!important}.approach-heading,.detail-heading{position:static}.hero-inner,.scene-content,.personal-layout,.contact-inner{padding-block:40px}.scene{break-inside:avoid}.approach-steps li{min-height:0;padding-block:30px}details p{display:block}a{color:inherit}.footer{min-height:0}}

/* Viewport-scale chapters; Lenis owns smoothing and gentle proximity alignment. */
:root{--safe-top:env(safe-area-inset-top,0px);--nav-offset:calc(var(--header-height) + var(--safe-top));--viewport-height:100vh;--overlay-height:100vh;--viewport-unit:1vh;--chapter-height:min(72rem,max(0px,calc(var(--viewport-height) - var(--nav-offset))))}
@supports(height:100svh){:root{--viewport-height:100svh;--viewport-unit:1svh}}
@supports(height:100dvh){:root{--overlay-height:100dvh}}
html.smooth-story{scroll-padding-top:var(--nav-offset)}
.header{padding-top:var(--safe-top)}
.smooth-story .hero{padding-top:var(--nav-offset)}
.smooth-story .viewport:not(.hero){min-height:var(--chapter-height)}
.smooth-story .statement{padding-block:clamp(48px,8svh,100px)}
.smooth-story .faq{min-height:var(--chapter-height);align-content:center;padding-block:clamp(48px,7svh,100px)}
/* Keep layout wrappers still so each child can animate independently. */
.smooth-story .approach,.smooth-story .detail-main{padding-block:0}
.smooth-story .approach-heading,.smooth-story .detail-heading{top:var(--nav-offset);min-height:var(--chapter-height);padding-block:clamp(48px,8svh,96px);display:flex;flex-direction:column;justify-content:center}
.smooth-story .approach-steps li,.smooth-story .detail-content>section{min-height:var(--chapter-height);padding-block:clamp(48px,8svh,96px)}
.smooth-story .detail-content .text-link{margin-top:24px}
.smooth-story .detail-hero{min-height:var(--viewport-height);padding-top:calc(var(--nav-offset) + 45px)}
.smooth-story .detail-image{height:var(--chapter-height);min-height:360px}
.smooth-story .detail-next{min-height:var(--chapter-height);display:flex;flex-direction:column;justify-content:center;padding-block:clamp(48px,8svh,96px)}
@media(max-width:960px){
  .js .header nav{top:var(--nav-offset)}
  .smooth-story .hero-inner{padding-top:20px;padding-bottom:60px;gap:20px}
  .smooth-story .hero-portrait{height:clamp(170px,25svh,270px)}
  .smooth-story .scene-content{padding-top:clamp(32px,5svh,56px);padding-bottom:32svh}
  .smooth-story .approach-heading,.smooth-story .detail-heading{position:static;margin-bottom:0}
  .smooth-story .approach-steps li,.smooth-story .detail-content>section{min-height:var(--chapter-height);padding-block:clamp(48px,8svh,80px)}
  .smooth-story .personal{padding-top:32px}
  .smooth-story .personal-layout{padding-bottom:24px}
  .smooth-story .personal-media{height:27svh;min-height:200px;max-height:310px}
  .smooth-story .detail-hero{padding-top:calc(var(--nav-offset) + 28px);padding-bottom:40px}
  .smooth-story .footer{padding-bottom:max(30px,env(safe-area-inset-bottom,0px))}
}
/* The first screen states the offer and lets visitors speak with Kenny immediately. */
.service-links{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 28px;margin:30px auto 0;max-width:900px;text-align:left}
.service-links>a{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:48px;border-bottom:1px solid var(--line);font-size:1rem;line-height:1.5;padding-block:12px}
.service-links>a:hover{color:var(--orange);border-color:currentColor}
.header nav a[aria-current="page"]{color:var(--orange)}
.service-hero h1{max-width:1100px;font-size:clamp(3rem,6.4vw,7.25rem);line-height:1.04}
.detail-hero>.button{align-self:flex-start;margin-top:28px}
.story-copy>ul{padding-left:22px;margin:24px 0 0;color:var(--muted);font-size:1.0625rem;line-height:1.65;max-width:460px}
.story-copy>ul>li+li{margin-top:12px}
.detail-content .source-link{display:inline-block;margin-top:22px;font-size:.875rem;text-decoration:underline;text-underline-offset:4px}
.footer{flex-wrap:wrap;padding-block:28px}
.footer-links{display:flex;flex-wrap:wrap;gap:0 28px;flex-basis:100%;border-top:1px solid var(--line);padding-top:16px}
.footer-links>a{display:inline-flex;align-items:center;min-height:44px;font-size:.875rem}
.footer-links>a:hover{color:var(--orange)}
@media(min-width:961px) and (max-width:1100px){.header nav{gap:16px}.header-inner{gap:16px}.header-cta{padding-left:0;gap:12px}}
@media(max-width:960px){
  .service-links{flex-direction:column;max-width:440px;gap:0;margin-top:24px}
  .service-hero h1{font-size:clamp(2.5rem,10vw,4.8rem)}
  .story-copy>ul{font-size:1rem}
  .footer-links{grid-column:1 / -1;grid-row:4;flex-direction:column;gap:0}
}
@media print{.footer-links{display:none}}
.partner-hero .hero-story{min-width:0}
.partner-hero h1{font-size:clamp(2.9rem,5.4vw,6.2rem);line-height:1.04;letter-spacing:-.055em}
.partner-hero .hero-lead{max-width:450px;margin:28px 0}
.partner-hero .button{gap:24px;padding:20px 26px}
.starting-point h2{font-size:clamp(3.4rem,7.9vw,8.5rem);line-height:1.04;letter-spacing:-.065em}
.starting-point .statement-lead{max-width:570px;margin-top:32px}
.statement-next{max-width:510px;margin:20px auto 0;font-size:1.0625rem}
.approach-steps .step-label{font-size:.875rem}
.approach-steps .step-agreement{border-top:1px solid var(--line);padding-top:20px;margin-top:28px;font-size:.875rem;line-height:1.6;color:var(--ink)}
@media(min-width:961px) and (max-width:1100px){
  .partner-hero h1{font-size:clamp(2.4rem,4.8vw,3.5rem)}
}
@media(max-width:960px){
  .partner-hero h1{font-size:clamp(2.1rem,10vw,4.5rem);line-height:1.04}
  .partner-hero .eyebrow{font-size:.875rem;margin-bottom:18px}
  .partner-hero .hero-lead{max-width:430px;margin:20px 0}
  .partner-hero .button{font-size:1rem;padding:18px;gap:12px}
  .starting-point h2{font-size:clamp(2.4rem,10.6vw,5rem)}
  .statement-next{font-size:1rem;max-width:350px}
}
@media print{
  html.smooth-story{scroll-padding-top:0}
  .smooth-story [data-chapter]{min-height:0!important}
  .smooth-story .approach-heading,.smooth-story .detail-heading,.smooth-story .approach-steps li,.smooth-story .detail-content>section{padding-block:30px}
}

/* Comfortable mobile reading with clear, independent chapter transitions. */
@media(max-width:960px){
  body{font-size:18px}
  .hero-lead,.statement-lead,.statement-next,.scene-copy>p:not(.eyebrow),
  .approach-heading>p:last-child,.approach-steps p,.personal-lead,
  .personal-copy>p:not(.eyebrow):not(.personal-lead),.detail-lead,
  .detail-content p,.story-copy>ul,details p,.contact .story-copy>p:not(.eyebrow){font-size:1.1875rem;line-height:1.65;max-width:100%}
  summary{font-size:1.125rem;line-height:1.5}
  .eyebrow,.step-label,.detail-hero .eyebrow,.partner-hero .eyebrow,.approach-steps .step-label{font-size:.875rem}
  .approach-steps .step-agreement{font-size:1rem;line-height:1.6}
  .service-links>a,.text-link,.button,.partner-hero .button{font-size:1.0625rem}
  .smooth-story .hero-inner{gap:28px;padding-top:30px;padding-bottom:74px}
  .smooth-story .scene-content{padding-top:44px;padding-bottom:40svh}
  .scene-copy>p:not(.eyebrow){max-width:32ch}
  .smooth-story .hero-portrait{height:clamp(210px,30svh,340px)}
  .smooth-story .detail-heading,.smooth-story .approach-heading{min-height:calc(var(--chapter-height) * .7)}
  .smooth-story .contact-inner{padding-bottom:170px}
}
.offer-choice{border-top:1px solid var(--line)}
.offer-choice .wrap{padding-block:clamp(64px,9svh,120px)}
.offer-choice h2{max-width:1050px}
.offer-choice p:not(.eyebrow){max-width:620px;margin-top:28px}
.offer-choice .text-link{margin-top:26px}
.course-facts{display:flex;flex-wrap:wrap;gap:12px 30px;margin-top:24px;font-size:1rem;line-height:1.6}
.course-facts>span{border-bottom:1px solid var(--line);padding-block:10px}
@media(max-width:960px){.offer-choice p:not(.eyebrow){font-size:1.1875rem;line-height:1.65}.course-facts{flex-direction:column;gap:0}.offer-choice h2{font-size:clamp(2.7rem,10vw,4.8rem)}}
@media(min-width:961px) and (max-width:1100px){.header-cta{display:none}.header nav{gap:18px}}
@media(max-width:960px){.js .header nav{max-height:calc(100dvh - var(--nav-offset));overflow-y:auto;overscroll-behavior:contain}}

/* Outcome-led chapters: readable white copy beside documentary photo sketches. */
.story-photo{min-width:0;position:relative;margin:0;overflow:hidden;background:#e7dbd0}
.story-photo-crop{position:relative;height:100%;min-height:360px;overflow:hidden}
.story-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.story-photo figcaption{position:absolute;right:18px;bottom:18px;z-index:2;background:rgba(239,229,220,.94);color:#555;padding:6px 10px;font-size:.8125rem;line-height:1.4}
.visual-offer{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}
.visual-offer>.wrap{width:auto;margin:0;padding:clamp(56px,8svh,104px) var(--gutter);align-self:center}
.visual-offer h2{font-size:clamp(2.8rem,4.6vw,5.5rem);line-height:1.06;letter-spacing:-.055em}
.visual-offer .course-facts{display:block}
.visual-offer .course-facts>span{display:block;padding-block:9px;font-size:1rem}
.visual-offer .story-photo-crop{position:absolute;inset:0}
.problem-story.statement{grid-template-columns:1fr 1fr;padding:0;text-align:left;align-items:stretch}
.problem-story>.wrap{width:auto;margin:0;align-self:center;padding:clamp(56px,8svh,104px) var(--gutter)}
.problem-story h2{font-size:clamp(2.8rem,4.8vw,5.7rem)}
.problem-story .statement-lead,.problem-story .statement-next{margin-left:0;margin-right:0}
.problem-story .story-photo-crop{position:absolute;inset:0}
.offer-navigation{padding-block:36px 48px}
.offer-navigation>p{font-weight:700;font-size:1.125rem;text-align:center}
.offer-navigation .service-links{max-width:none;margin-top:16px;gap:12px 36px}
.route-photo{height:70svh;min-height:360px;max-height:900px}
.route-photo .story-photo-crop{height:100%}
.hero-story>.booking-note{font-size:.875rem;line-height:1.5;color:var(--muted);margin-top:16px}
.delivery-details{margin-top:22px;width:100%;max-width:520px}
.delivery-details summary{font-size:1rem;font-weight:700}
.delivery-details ul{padding:0 0 24px 22px;margin:0;color:var(--muted);font-size:1rem;line-height:1.65}
.delivery-details li+li{margin-top:14px}
.detail-hero.service-hero{min-height:var(--chapter-height)}
@media(max-width:960px){
 .visual-offer,.problem-story.statement{display:flex;flex-direction:column}
 .visual-offer>.wrap,.problem-story>.wrap{width:100%;padding:48px var(--gutter) 36px}
 .visual-offer h2,.problem-story h2{font-size:clamp(2.5rem,10.2vw,4.8rem);line-height:1.06}
 .visual-offer>.story-photo,.problem-story>.story-photo{width:100%;height:40svh;min-height:260px;max-height:440px}
 .story-photo-crop{min-height:0}
 .story-photo figcaption{right:12px;bottom:12px;font-size:.8125rem;max-width:calc(100% - 24px)}
 .route-photo{height:55svh;min-height:300px}
 .offer-navigation>p{text-align:left}
 .offer-navigation .service-links{gap:0;margin-top:12px}
 .visual-offer .text-link{margin-top:18px}
 .visual-offer .course-facts{margin-top:20px}
 .hero-story>.booking-note{font-size:.875rem;line-height:1.5}
 .delivery-details summary,.delivery-details ul{font-size:1.125rem}
 .partner-hero h1{font-size:clamp(2.4rem,10.5vw,4.5rem)}
 .smooth-story .detail-hero.service-hero{min-height:auto;padding-bottom:48px}
}
@media print{.story-photo{max-height:280px;min-height:0}.visual-offer,.problem-story.statement{display:block}.visual-offer .story-photo-crop,.problem-story .story-photo-crop{position:relative;height:250px}.delivery-details ul{display:block}}

/* Practical articles use a calm reading layout, without chapter snapping. */
.knowledge-main{padding-top:var(--nav-offset)}
.knowledge-article,.knowledge-index{max-width:1100px}
.article-header{padding-block:56px 32px}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:12px;font-size:.9375rem;margin-bottom:40px}
.breadcrumbs a,.article-body a,.article-author a{text-decoration:underline;text-underline-offset:4px}
.article-header h1{font-size:clamp(2.5rem,5.5vw,5.3rem);line-height:1.08;letter-spacing:-.045em;max-width:1000px}
.article-header .eyebrow{margin-bottom:24px}
.article-answer{font-size:1.25rem;line-height:1.7;max-width:960px;margin-top:30px}
.article-author{font-size:.9375rem;line-height:1.6;color:var(--muted);margin-top:24px}
.article-toc{border-block:1px solid var(--line);padding-block:26px;max-width:960px}
.article-toc>p{font-weight:700}
.article-toc ol{padding-left:24px;margin:12px 0 0;line-height:1.7}
.article-toc a{display:inline-block;font-size:1.0625rem;padding-block:7px;text-decoration:underline;text-underline-offset:4px}
.article-body{max-width:960px}
.article-body section{padding-top:64px;scroll-margin-top:calc(var(--nav-offset) + 24px)}
.article-body h2,.knowledge-list h2,.knowledge-contact h2{font-size:clamp(2rem,3.7vw,3rem);line-height:1.15;letter-spacing:-.035em}
.article-body p{margin-top:22px;font-size:1.1875rem;line-height:1.8}
.article-body ul{font-size:1.1875rem;line-height:1.8;margin-block:22px;padding-left:24px}
.article-body li+li{margin-top:12px}
.article-next{margin-block:64px;border-top:1px solid var(--line);padding-top:30px;display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.knowledge-list{display:grid;gap:0;margin-bottom:64px}
.knowledge-list article{padding-block:48px;border-top:1px solid var(--line);max-width:860px}
.knowledge-list .eyebrow{margin-bottom:20px}
.knowledge-list article>p:not(.eyebrow){margin-top:24px;max-width:960px}
.knowledge-list .text-link{margin-top:24px}
.knowledge-contact{padding-block:56px 80px;border-top:1px solid var(--line);max-width:1100px}
.knowledge-contact p{margin-top:22px;max-width:680px}
.knowledge-contact .button{margin-top:26px}
.knowledge-contact p:last-child{font-size:1rem;color:var(--muted)}
.related-reading{padding-block:40px;border-top:1px solid var(--line)}
.related-reading .text-link{margin-top:12px}
@media(max-width:960px){.article-header{padding-top:32px}.article-answer,.knowledge-list article>p:not(.eyebrow){font-size:1.1875rem;line-height:1.7}.article-body section{padding-top:44px}.article-body p,.article-body ul{line-height:1.75}.article-header h1{font-size:clamp(2.25rem,9vw,4rem)}}

/* CRO: early routing, evidence and a clear expectation before booking. */
.experience-note{max-width:820px;margin:28px auto 0;font-size:.9375rem;line-height:1.6;color:var(--muted);text-align:center}
.experience-note a,.hero-work-link{text-decoration:underline;text-underline-offset:4px}
.hero-work-link{display:inline-block;min-height:44px;padding-block:14px;font-size:1rem;line-height:1.5}
.meeting-agenda{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding:0;margin:32px 0 0;max-width:1080px}
.meeting-agenda li{font-size:1.125rem;line-height:1.65;border-top:1px solid var(--line);padding-top:18px}
.meeting-agenda strong{display:block;font-weight:700}
.contact .story-copy>.meeting-note{font-size:1rem;line-height:1.6;max-width:780px;margin-top:26px;color:var(--muted)}
.smooth-story .guidance-program .detail-content>section{min-height:0;padding-block:40px}
.smooth-story .guidance-program .detail-heading{min-height:0;padding-block:48px}
@media(max-width:960px){
 .experience-note{text-align:left;font-size:1rem}
 .offer-navigation{padding-block:32px}
 .meeting-agenda{grid-template-columns:1fr;gap:16px;margin-top:24px}
 .meeting-agenda li{font-size:1.1875rem;padding-top:14px}
 .contact .story-copy>.meeting-note{font-size:1rem;line-height:1.6;margin-top:24px;max-width:100%}
 .smooth-story .guidance-program .detail-content>section{padding-block:30px}
 .smooth-story .guidance-program .detail-heading{padding-block:40px 28px}
}

/* Team review: a few expansive moments, compact supporting decisions. */
.smooth-story .problem-story,.smooth-story .visual-offer,.smooth-story .faq,
.smooth-story .approach-heading,.smooth-story .approach-steps li,.smooth-story .secondary-case{min-height:0}
.smooth-story .approach-heading{position:static;padding-block:64px}
.smooth-story .approach-steps li{padding-block:40px}
.visual-offer>.wrap,.problem-story>.wrap{padding-block:64px}
.visual-offer h2,.problem-story h2{font-size:clamp(2.5rem,4.3vw,4.8rem)}
.secondary-case .scene-content{padding-block:72px}
.secondary-case h2{font-size:clamp(2.4rem,4.5vw,4.6rem)}
.case-outcomes{margin:24px 0;max-width:430px}
.case-outcomes>div{border-top:1px solid #d4d4d4;padding-block:12px}
.case-outcomes dt{font-size:.875rem;font-weight:700;line-height:1.5}
.case-outcomes dd{margin:5px 0 0;font-size:1.0625rem;line-height:1.6}
.lead-case .scene-copy{width:54%;max-width:740px}
.lead-case .scene-content{padding-block:70px}
.guidance-invitation{padding-block:56px;border-top:1px solid var(--line)}
.guidance-invitation .wrap{width:auto;margin:0;max-width:800px}
.guidance-invitation h2{font-size:clamp(2rem,3.8vw,3.8rem)}
.guidance-invitation p:not(.eyebrow){margin-top:24px;max-width:680px}
.guidance-invitation .text-link{margin-top:20px}
@media(max-width:960px){
 .visual-offer>.wrap,.problem-story>.wrap{padding-block:40px 30px}
 .visual-offer h2,.problem-story h2,.secondary-case h2{font-size:clamp(2rem,8.4vw,3.2rem)}
 .visual-offer>.story-photo,.problem-story>.story-photo{height:clamp(190px,28svh,280px);min-height:0}
 .smooth-story .approach-heading{padding-block:48px 30px}
 .smooth-story .approach-steps li{padding-block:30px}
 .lead-case .scene-copy{width:100%}
 .lead-case .scene-content{padding-block:44px 36svh}
 .case-outcomes dd{font-size:1.1875rem;line-height:1.65}
 .secondary-case .scene-content{padding-block:40px 28svh}
 .secondary-case .scene-media{inset:30% 0 0}
 .guidance-invitation{padding-block:40px}
 .guidance-invitation p:not(.eyebrow){font-size:1.1875rem;line-height:1.65}
}

/* Actual mobile screenshots: keep case copy on solid white, with the photo below. */
@media(max-width:960px){
 .scene,.smooth-story .scene{display:flex;flex-direction:column;min-height:0;background:var(--paper);overflow:hidden}
 .scene .scene-content,.lead-case .scene-content,.secondary-case .scene-content,.smooth-story .scene-content{order:1;position:relative;padding:40px 0 32px;background:var(--paper)}
 .scene .scene-copy,.lead-case .scene-copy{width:100%;max-width:none}
 .scene .scene-media,.secondary-case .scene-media{order:2;position:relative;inset:auto;z-index:0;width:100%;height:clamp(240px,38svh,380px);flex:none}
 .scene .scene-wash{display:none}
 .scene .scene-caption{order:3;position:relative;inset:auto;z-index:1;width:100%;margin:0;padding:10px var(--gutter) 18px;background:var(--paper);justify-content:flex-end}
 .scene .image-note{padding:0;background:none}
 .scene .scene-media img{object-position:center}
 .case-outcomes{max-width:none;margin:24px 0 12px}
 .case-outcomes>div{padding-block:12px}
 .case-outcomes dd{margin-top:4px}
 .js .header.menu-open{background:var(--paper);backdrop-filter:none;-webkit-backdrop-filter:none}
 .js .header.menu-open nav{position:fixed;top:var(--nav-offset);bottom:0;left:0;right:0;max-height:none;height:auto;overflow-y:auto;overscroll-behavior:contain;padding:14px var(--gutter) max(28px,env(safe-area-inset-bottom,0px));background:var(--paper);justify-content:flex-start;border-bottom:0}
 .js .header.menu-open nav a{font-size:1.25rem;padding-block:16px;border-bottom:1px solid var(--line);min-height:56px}
 html.js:has(.header.menu-open),html.js:has(.header.menu-open) body{overflow:hidden}
 .smooth-story .hero-inner{padding-top:24px;gap:20px}
 .partner-hero h1{font-size:clamp(2.25rem,9.4vw,4rem);line-height:1.06}
 .partner-hero .hero-lead{margin:18px 0;font-size:1.1875rem;line-height:1.6}
 .hero-story>.booking-note{margin-top:12px;font-size:.9375rem;line-height:1.5}
 .hero-work-link{font-size:1rem;padding-block:10px}
 .partner-hero .button{width:100%;justify-content:space-between}
.smooth-story .hero-portrait{height:clamp(200px,28svh,300px)}
}

/* DAILY reference: give each story room, with a clear reading column. */
:root{--chapter-space:clamp(40px,calc(var(--viewport-unit)*10),144px);--copy-gap:clamp(24px,calc(var(--viewport-unit)*4),36px);--copy-size:clamp(1.25rem,1.5vw,1.375rem)}
.offer-navigation{max-width:960px;padding-block:var(--chapter-space)}
.offer-navigation>p:first-child{font-size:1.5rem;line-height:1.35;text-align:left}
.offer-navigation .service-links{flex-direction:column;gap:0;margin-top:var(--copy-gap)}
.offer-navigation .service-links>a{font-size:1.375rem;line-height:1.45;padding-block:28px;gap:28px}
.offer-navigation>.experience-note{font-weight:400;font-size:1.1875rem;line-height:1.75;text-align:left;margin:clamp(32px,calc(var(--viewport-unit)*8),64px) 0 0;max-width:38ch}
.offer-navigation>.experience-note a{display:block;width:fit-content;margin-top:16px;padding-block:8px;color:var(--ink)}
.partner-hero .hero-lead,.problem-story .statement-lead,.problem-story .statement-next,
.visual-offer p:not(.eyebrow),.scene-copy>p:not(.eyebrow),.personal-copy>p:not(.eyebrow),
.approach-heading>p:last-child,.approach-steps p,.guidance-invitation p:not(.eyebrow),
.detail-lead,.detail-content p{font-size:var(--copy-size);line-height:1.7}
.partner-hero .hero-lead{max-width:34ch;margin-block:var(--copy-gap)}
.hero-story>.booking-note{margin-top:20px;line-height:1.6}
.hero-work-link{margin-top:16px;text-underline-offset:6px;text-decoration-thickness:1px}
.visual-offer>.wrap,.problem-story>.wrap{padding-block:var(--chapter-space)}
.visual-offer p:not(.eyebrow),.problem-story .statement-lead,.problem-story .statement-next{max-width:34ch;margin-top:var(--copy-gap)}
.visual-offer .course-facts{margin-top:44px;max-width:34ch}
.visual-offer .course-facts>span{font-size:1.125rem;line-height:1.65;padding-block:18px}
.visual-offer .text-link{margin-top:40px}
.case-outcomes{margin-block:48px 32px}
.case-outcomes>div{padding-block:24px}
.case-outcomes dt{font-size:1rem}
.case-outcomes dd{font-size:1.25rem;line-height:1.7;margin-top:12px}
.smooth-story .approach-heading,.smooth-story .approach-steps li{padding-block:var(--chapter-space)}
.approach-steps p{max-width:34ch;margin-top:32px}
.guidance-invitation{padding-block:var(--chapter-space)}
.guidance-invitation p:not(.eyebrow){margin-top:var(--copy-gap);max-width:34ch}
.guidance-invitation .text-link{margin-top:var(--copy-gap)}
@media(min-width:961px){
 .smooth-story .hero-inner{padding-block:var(--chapter-space) calc(var(--chapter-space) + 32px);gap:7vw}
 .partner-hero .hero-story{padding-block:24px}
 .hero .eyebrow,.scene .eyebrow{margin-bottom:40px}
 .scene .scene-content,.lead-case .scene-content,.secondary-case .scene-content{padding-block:var(--chapter-space)}
 .scene-copy>p:not(.eyebrow){max-width:34ch;margin-block:var(--copy-gap) 24px}
 .scene h2{max-width:14ch}
 .smooth-story .faq{padding-block:var(--chapter-space)}
 .personal-layout{padding-block:var(--chapter-space)}
 .personal-copy>p:not(.eyebrow){max-width:34ch}
 .personal-copy>p:not(.eyebrow):not(.personal-lead){margin-bottom:36px}
}
@media(max-width:960px){
 :root{--gutter:clamp(24px,6.5vw,40px);--chapter-space:clamp(32px,calc(var(--viewport-unit)*10.5),104px);--copy-size:1.25rem}
 body{font-size:20px}
 .js .nav-toggle{font-size:1rem;min-height:48px}
 .hero .eyebrow,.partner-hero .eyebrow,.scene .eyebrow,.statement .eyebrow,
 .story-copy>.eyebrow,.approach-heading>.eyebrow,.detail-hero .eyebrow{margin-bottom:32px}
 .partner-hero h1{font-size:clamp(2.25rem,min(10.6vw,calc(var(--viewport-unit)*8.4)),4.75rem);line-height:1.08;letter-spacing:-.05em}
 .visual-offer h2,.problem-story h2,.scene h2,.secondary-case h2,.approach h2,
 .personal h2,.guidance-invitation h2,.faq h2,.contact h2,.detail-heading h2{font-size:clamp(2.25rem,min(10.4vw,calc(var(--viewport-unit)*8.2)),4.5rem);line-height:1.1;letter-spacing:-.045em}
 .approach-steps h3,.detail-content h3{font-size:clamp(2.125rem,min(9.6vw,calc(var(--viewport-unit)*7.8)),4rem);line-height:1.12;letter-spacing:-.04em}
 .hero-lead,.statement-lead,.statement-next,.scene-copy>p:not(.eyebrow),
 .approach-heading>p:last-child,.approach-steps p,.personal-lead,.personal-copy>p:not(.eyebrow),
 .detail-lead,.detail-content p,.story-copy>ul,details p,.contact .story-copy>p:not(.eyebrow),
 .guidance-invitation p:not(.eyebrow),.article-answer,.article-body p,.article-body ul,
 .knowledge-list article>p:not(.eyebrow),.knowledge-contact p{font-size:var(--copy-size);line-height:1.7;max-width:100%}

 /* The introduction and portrait each get their own space in the scroll. */
 .smooth-story .hero-inner{padding-block:0;gap:0}
 .partner-hero .hero-story{min-height:var(--chapter-height);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding-block:clamp(24px,calc(var(--viewport-unit)*6),56px) var(--chapter-space)}
 .partner-hero .hero-lead{margin:var(--copy-gap) 0;max-width:34ch;font-size:var(--copy-size);line-height:1.7}
 .button,.partner-hero .button{font-size:1.125rem;line-height:1.5;min-height:68px;padding:22px 24px;gap:20px}
 .partner-hero .button{width:100%}
 .hero-story>.booking-note{margin-top:20px;font-size:1rem;line-height:1.6}
 .hero-work-link{margin-top:16px;font-size:1.125rem;line-height:1.55;padding-block:10px}
 .smooth-story .hero-portrait{height:auto;width:calc(100% + var(--gutter)*2);margin-inline:calc(var(--gutter)*-1);overflow:hidden}
 .hero-portrait .portrait-crop{flex:none;height:clamp(240px,calc(var(--viewport-unit)*64),660px)}
 .hero-portrait figcaption{position:static;padding:20px var(--gutter) 0;color:var(--muted);text-shadow:none;font-size:1rem;line-height:1.5}
 .hero-portrait .portrait-crop::after{display:none}
 .scroll-cue{position:static;grid-column:1/-1;margin-top:32px;padding-block:16px 32px;gap:24px;font-size:1rem;line-height:1.5}

 /* Spacious choices, with the experience line in a supporting role. */
 .offer-navigation{padding-block:var(--chapter-space)}
 .offer-navigation>p:first-child{font-size:1.5rem;line-height:1.35}
 .offer-navigation .service-links{margin-top:32px;max-width:none}
 .offer-navigation .service-links>a{font-size:1.375rem;padding-block:28px;gap:24px}
 .offer-navigation .service-links .icon{width:24px;height:24px}
 .offer-navigation>.experience-note{margin-top:clamp(32px,calc(var(--viewport-unit)*8),64px);font-size:1.1875rem;line-height:1.75;font-weight:400}

 /* Content grows naturally when a chapter needs more than one screen. */
 .visual-offer>.wrap,.problem-story>.wrap{min-height:var(--chapter-height);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:var(--chapter-space) var(--gutter)}
 .visual-offer p:not(.eyebrow),.problem-story .statement-lead,.problem-story .statement-next{font-size:var(--copy-size);line-height:1.7;margin-top:var(--copy-gap)}
 .visual-offer .course-facts{width:100%;margin-top:44px}
 .visual-offer .course-facts>span{padding-block:20px}
 .visual-offer .text-link{margin-top:40px}
 .visual-offer>.story-photo,.problem-story>.story-photo{height:clamp(220px,calc(var(--viewport-unit)*58),620px);min-height:0;max-height:none}
 .scene .scene-content,.lead-case .scene-content,.secondary-case .scene-content,.smooth-story .scene-content{min-height:var(--chapter-height);display:flex;align-items:center;padding-block:var(--chapter-space)}
 .scene-copy>p:not(.eyebrow){max-width:34ch;margin-block:var(--copy-gap) 32px}
 .scene .scene-media,.secondary-case .scene-media{height:clamp(220px,calc(var(--viewport-unit)*58),620px)}
 .scene .scene-caption{padding-block:18px 36px}
 .case-outcomes{margin:52px 0 36px}
 .case-outcomes>div{padding-block:24px}
 .case-outcomes dd{font-size:var(--copy-size);line-height:1.7;margin-top:12px}
 .text-link,.service-links>a{font-size:1.125rem;line-height:1.55;gap:24px}
 .smooth-story .approach-heading{min-height:calc(var(--chapter-height)*.85);padding-block:var(--chapter-space)}
 .smooth-story .approach-steps li{min-height:var(--chapter-height);padding-block:var(--chapter-space)}
 .approach-steps .story-copy{width:100%}
 .approach-steps .step-label{margin-bottom:32px}
 .approach-steps p{margin-top:32px;max-width:34ch}
 .approach-steps .step-agreement{font-size:1.125rem;line-height:1.65;margin-top:var(--copy-gap);padding-top:28px}
 .smooth-story .personal{min-height:0;padding-top:var(--chapter-space)}
 .smooth-story .personal-layout{padding-bottom:var(--chapter-space)}
 .personal-lead{margin:36px 0 28px}
 .personal-copy>p:not(.eyebrow):not(.personal-lead){max-width:34ch;margin-bottom:36px}
 .smooth-story .personal-media{width:100%;height:clamp(260px,calc(var(--viewport-unit)*65),680px);min-height:0;max-height:none}
 .guidance-invitation{min-height:var(--chapter-height);display:flex;align-items:center;padding-block:var(--chapter-space)}
 .guidance-invitation p:not(.eyebrow){margin-top:var(--copy-gap)}
 .guidance-invitation .text-link{margin-top:var(--copy-gap)}
 .smooth-story .faq{padding-block:var(--chapter-space)}
 .faq-heading{margin-bottom:56px}
 summary{font-size:1.25rem;line-height:1.5;padding:30px 36px 30px 0}
 summary::before,summary::after{top:45px}
 details p{padding-bottom:32px}
 .delivery-details{margin-top:var(--copy-gap)}
 .delivery-details summary,.delivery-details ul{font-size:1.1875rem;line-height:1.7}
 .delivery-details li+li{margin-top:20px}
 .smooth-story .contact-inner{padding-block:var(--chapter-space) 56px}
 .contact .story-copy>p:not(.eyebrow){margin-top:var(--copy-gap)}
 .meeting-agenda{margin-top:48px;gap:0}
 .meeting-agenda li{font-size:var(--copy-size);line-height:1.7;padding-block:28px}
 .meeting-agenda strong{margin-bottom:8px}
 .contact .story-copy>.meeting-note{margin-top:32px;font-size:1.125rem;line-height:1.65}
 .contact-actions{margin-top:40px;gap:28px;align-items:stretch}
 .contact-actions .text-link{align-self:flex-start}
 .contact-bottom{position:static;margin-top:72px;font-size:1rem;gap:20px}
 .contact-bottom a{font-size:1.125rem}

 /* Carry the same reading rhythm through services and guidance. */
 .smooth-story .detail-hero,.smooth-story .detail-hero.service-hero{min-height:var(--viewport-height);padding-top:calc(var(--nav-offset) + clamp(24px,calc(var(--viewport-unit)*6),56px));padding-bottom:var(--chapter-space)}
 .detail-hero>.text-link{font-size:1rem;margin-bottom:56px}
 .detail-hero h1,.service-hero h1{font-size:clamp(2.25rem,min(10.6vw,calc(var(--viewport-unit)*8.4)),4.75rem);line-height:1.1;letter-spacing:-.045em}
 .detail-lead{margin-top:var(--copy-gap)}
 .detail-hero>.button{margin-top:var(--copy-gap)}
 .detail-meta{margin-top:48px;padding-top:28px;gap:18px;font-size:1.0625rem;line-height:1.65}
 .smooth-story .detail-heading,.smooth-story .guidance-program .detail-heading{min-height:calc(var(--chapter-height)*.8);padding-block:var(--chapter-space)}
 .smooth-story .detail-content>section,.smooth-story .guidance-program .detail-content>section{min-height:var(--chapter-height);padding-block:var(--chapter-space)}
 .detail-content p,.story-copy>ul{margin-top:32px}
 .story-copy>ul>li+li{margin-top:20px}
 .article-header{padding-block:56px 48px}
 .article-body section{padding-top:72px}
 .article-body p,.article-body ul{line-height:1.8}
 .knowledge-list article{padding-block:64px}
 .knowledge-contact{padding-block:72px 88px}
 .footer{padding-top:48px;row-gap:24px}
 .footer-links{margin-top:24px;padding-top:24px;gap:8px}
 .footer-links>a{font-size:1rem;line-height:1.5}
}

/* Viewport policy: stable reading chapters, live overlay height, natural overflow. */
:root{--gutter:max(clamp(24px,4.5vw,80px),env(safe-area-inset-left,0px),env(safe-area-inset-right,0px));--menu-height:max(0px,calc(var(--overlay-height) - var(--nav-offset)))}
.wrap>* , .story-copy,.scene-copy,.personal-copy,.approach-steps,.detail-content,.faq-items{min-width:0}
:where(main p,main li,main dd,main a,.footer a){overflow-wrap:anywhere}
.button,.text-link{max-width:100%;white-space:normal}
.contact-actions{flex-wrap:wrap}
.js .header-inner{height:auto;min-height:var(--header-height);padding-block:12px;flex-wrap:wrap}
.smooth-story .detail-heading{position:static}
.smooth-story .guidance-program .detail-heading,.smooth-story .guidance-program .detail-content>section{padding-block:var(--chapter-space)}
.smooth-story .detail-next{padding-block:var(--chapter-space)}
.smooth-story .detail-image{height:clamp(220px,var(--chapter-height),960px);min-height:0}
.route-photo{height:clamp(220px,calc(var(--viewport-unit)*62),900px);min-height:0}
.story-photo-crop{min-height:0}
.contact-inner,.smooth-story .contact-inner{padding-block:var(--chapter-space) max(40px,env(safe-area-inset-bottom,0px))}
.contact-bottom{position:static;margin-top:clamp(40px,calc(var(--viewport-unit)*8),72px);flex-wrap:wrap}
.hero-portrait{max-height:none}
.portrait-crop{min-height:0}
html:not(.js) .header{position:static}
html:not(.js) .hero,html:not(.js) .knowledge-main{padding-top:0}
html:not(.js) .detail-hero{padding-top:var(--chapter-space)}
@media(min-width:961px){
 .hero-inner,.approach-layout{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
 .personal-layout,.faq,.detail-main,.visual-offer,.problem-story.statement{grid-template-columns:repeat(2,minmax(0,1fr))}
 .partner-hero h1{font-size:clamp(2.9rem,min(5.4vw,calc(var(--viewport-unit)*8.4)),6.2rem)}
 .scene h2,.visual-offer h2,.problem-story h2,.approach h2,.personal h2,.faq h2,.detail-heading h2{font-size:clamp(2.5rem,min(5.4vw,calc(var(--viewport-unit)*8)),6rem)}
 .contact h2{font-size:clamp(3rem,min(8.7vw,calc(var(--viewport-unit)*10)),10rem)}
 .detail-hero h1{font-size:clamp(3rem,min(7.5vw,calc(var(--viewport-unit)*9.5)),8.75rem)}
 .approach-steps h3,.detail-content h3{font-size:clamp(2.125rem,min(4.2vw,calc(var(--viewport-unit)*7)),4.75rem)}
 .hero-portrait{align-self:center;width:100%}
 .hero-portrait .portrait-crop{flex:none;height:clamp(260px,calc(var(--viewport-height) - var(--nav-offset) - var(--chapter-space)),760px)}
 .smooth-story .detail-hero{padding-top:calc(var(--nav-offset) + var(--chapter-space));padding-bottom:var(--chapter-space)}
 .smooth-story .detail-heading,.smooth-story .detail-content>section{padding-block:var(--chapter-space)}
}
/* Tablets and landscape phones need a menu before the content needs one column. */
@media(max-width:1200px){
 .header-cta{display:none}
 .header-inner{gap:16px}
 .header nav{width:100%;flex-wrap:wrap}
 .header nav .mobile-contact{display:block}
 .js .nav-toggle{display:block;background:none;border:0;color:var(--ink);font-size:1rem;min-height:48px;padding:12px 0 12px 16px;cursor:pointer;margin-left:auto}
 .js .header nav{display:none}
 .js .header.menu-open{background:var(--paper);backdrop-filter:none;-webkit-backdrop-filter:none}
 .js .header.menu-open nav{display:flex;position:fixed;top:var(--nav-offset);bottom:auto;left:0;right:0;width:100%;height:var(--menu-height);max-height:var(--menu-height);min-height:0;overflow-y:auto;overscroll-behavior:contain;flex-direction:column;flex-wrap:nowrap;align-items:stretch;justify-content:flex-start;gap:0;padding:12px var(--gutter) max(24px,env(safe-area-inset-bottom,0px));background:var(--paper);border:0}
 .js .header.menu-open nav a{flex:none;min-height:56px;font-size:1.25rem;line-height:1.5;padding-block:16px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
 html.navigation-open,html.navigation-open body{overflow:hidden}
}
@media(max-width:960px){
 :root{--gutter:max(clamp(24px,6.5vw,40px),env(safe-area-inset-left,0px),env(safe-area-inset-right,0px))}
 .story-photo figcaption{right:max(12px,env(safe-area-inset-right,0px));max-width:calc(100% - var(--gutter)*2)}
}
/* Low windows keep readable text; only spacing, headings and media get smaller. */
@media(max-height:600px){
 :root{--header-height:64px}
 .hero .eyebrow,.partner-hero .eyebrow,.scene .eyebrow,.statement .eyebrow,
 .story-copy>.eyebrow,.approach-heading>.eyebrow,.detail-hero .eyebrow,.approach-steps .step-label{margin-bottom:24px}
 .js .header-inner{padding-block:8px}
 .partner-hero .hero-story{padding-block:var(--chapter-space)}
 .partner-hero .hero-lead{margin-block:24px}
 .hero-story>.booking-note,.hero-work-link{margin-top:12px}
 .smooth-story .approach-heading,.smooth-story .detail-heading,
 .smooth-story .guidance-program .detail-heading{min-height:0}
 .case-outcomes{margin-block:32px 24px}
 .case-outcomes>div,.meeting-agenda li{padding-block:20px}
 .visual-offer .course-facts,.meeting-agenda{margin-top:32px}
 .faq-heading{margin-bottom:36px}
 .article-header,.knowledge-list article{padding-block:40px}
 .article-body section{padding-top:48px}
 .knowledge-contact{padding-block:48px}
}
@media print{
 .smooth-story .hero-story,.visual-offer>.wrap,.problem-story>.wrap,.scene .scene-content,
 .smooth-story .detail-heading,.smooth-story .detail-content>section,.guidance-invitation{min-height:0!important}
}

/* Strong actions, real experience and distinct story beats. */
:root{--cta:#cf361d;--cta-hover:#b32c17}
.button,.partner-hero .button{font-size:1.125rem;font-weight:700;line-height:1.5;min-height:68px;padding:20px 28px;gap:28px;border-radius:4px}
.button-dark{background:var(--cta);color:#fff;box-shadow:0 8px 22px rgba(156,43,23,.16)}
.button-dark:hover{background:var(--cta-hover)}
.button .icon{width:24px;height:24px;stroke-width:1.8}
.header-cta{background:var(--cta);color:#fff;border-radius:4px;font-size:1rem;font-weight:700;line-height:1.4;padding:14px 20px;gap:20px;min-height:48px}
.header-cta:hover{background:var(--cta-hover)}
.visual-offer .button,.guidance-invitation .button{margin-top:var(--copy-gap);align-self:flex-start}
.trust-band{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:center;gap:24px 64px;padding-block:clamp(32px,calc(var(--viewport-unit)*6),64px);border-block:1px solid var(--line)}
.trust-band>p{font-size:1.125rem;font-weight:700;line-height:1.6}
.trust-logos{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px;list-style:none;margin:0;padding:0}
.trust-logos li{display:flex;justify-content:center;min-width:128px;flex:1 1 128px}
.trust-logos img{height:56px;width:auto;max-width:100%;object-fit:contain}
.trust-band>.trust-context{grid-column:1/-1;font-size:1rem;font-weight:400;color:var(--muted)}
.trust-context a{display:inline-block;color:var(--ink);text-decoration:underline;text-underline-offset:5px;padding-block:10px}
.offer-navigation{max-width:1600px}
.route-heading{max-width:1000px}
.route-heading h2{font-size:clamp(2.5rem,min(5.5vw,calc(var(--viewport-unit)*8)),5.8rem);line-height:1.1;letter-spacing:-.05em}
.offer-navigation .service-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px;margin-top:56px}
.offer-navigation .service-links>.service-choice{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:0;border-bottom:0;border-top:2px solid var(--ink);padding:32px 0 0;color:var(--ink)}
.service-choice>.eyebrow{color:var(--muted);margin-bottom:24px}
.service-choice h3{font-size:clamp(1.875rem,3vw,2.7rem);line-height:1.15;letter-spacing:-.035em}
.service-choice p{font-size:var(--copy-size);line-height:1.7;max-width:34ch;margin-block:24px 32px;color:var(--muted)}
.choice-action{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;margin-top:auto;padding:20px 24px;min-height:68px;background:var(--cta);color:#fff;font-size:1.125rem;font-weight:700;line-height:1.5;border-radius:4px;transition:background .25s}
.service-choice:hover .choice-action{background:var(--cta-hover)}
.choice-action .icon{width:24px;height:24px;stroke-width:1.8}
@media(min-width:961px){
 .visual-offer--reverse>.wrap{grid-column:2;grid-row:1}
 .visual-offer--reverse>.story-photo{grid-column:1;grid-row:1}
 .lead-case .scene-copy{margin-left:auto}
 .lead-case .scene-wash{background:linear-gradient(270deg,var(--paper) 0%,rgba(239,229,220,.98) 22%,rgba(239,229,220,.9) 37%,rgba(239,229,220,.48) 52%,rgba(239,229,220,0) 73%)}
 .lead-case .scene-media img{object-position:30% 50%}
 .smooth-story .approach-heading,.smooth-story .detail-heading{min-height:0;align-self:start}
 .smooth-story .approach-heading.is-pinned-title,.smooth-story .detail-heading.is-pinned-title{position:sticky;top:var(--nav-offset)}
}
.smooth-story .work-index-hero{min-height:0}
.work-index{padding-bottom:var(--chapter-space)}
.work-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:clamp(32px,6vw,100px);padding-block:var(--chapter-space);border-top:1px solid var(--line)}
.work-preview figure,.work-preview-copy{min-width:0}
.work-preview figure>a{display:block;aspect-ratio:4/3;overflow:hidden;background:#e1d4c8}
.work-preview img{width:100%;height:100%;object-fit:cover}
.work-preview figcaption{font-size:.875rem;line-height:1.5;color:var(--muted);padding-top:12px}
.work-preview h2{font-size:clamp(2.25rem,min(4.8vw,calc(var(--viewport-unit)*8)),4.5rem);line-height:1.12;letter-spacing:-.045em}
.work-preview-copy>p:not(.eyebrow){font-size:var(--copy-size);line-height:1.7;max-width:34ch;margin-top:var(--copy-gap)}
.work-preview .button{margin-top:32px}
.work-preview--reverse figure{grid-column:2;grid-row:1}
.work-preview--reverse .work-preview-copy{grid-column:1;grid-row:1}
.contact-page{padding-top:var(--nav-offset)}
.contact-page h1{font-size:clamp(3rem,min(8.7vw,calc(var(--viewport-unit)*10)),8rem);line-height:1.08;letter-spacing:-.05em}
@media(max-width:960px){
 .trust-band{grid-template-columns:1fr;gap:20px}
 .trust-logos{justify-content:center;gap:24px}
 .offer-navigation .service-links{grid-template-columns:1fr;gap:56px;margin-top:40px}
 .route-heading h2,.contact-page h1{font-size:clamp(2.25rem,min(10.4vw,calc(var(--viewport-unit)*8.2)),4.5rem)}
 .service-choice h3{font-size:clamp(1.875rem,7.6vw,3rem)}
 .button,.partner-hero .button{padding-inline:24px;gap:20px}
 .work-preview{grid-template-columns:1fr;gap:32px}
 .work-preview--reverse figure,.work-preview--reverse .work-preview-copy{grid-column:auto;grid-row:auto}
 .work-preview .button{width:100%}
}

/* BOLD700 motion: tactile actions, independent text reveals, quiet image depth. */
:root{--motion-ease:cubic-bezier(.16,1,.3,1);--motion-fast:180ms;--motion-medium:420ms}
.press-surface{position:relative;overflow:hidden;isolation:isolate}
.tap-wave{position:absolute;border-radius:50%;pointer-events:none;background:currentColor;z-index:0}
.button,.header-cta,.choice-action{transition:background var(--motion-fast),box-shadow var(--motion-medium),scale var(--motion-fast) var(--motion-ease)}
.button:active,.header-cta:active,.service-choice:active .choice-action{scale:.96;box-shadow:0 2px 6px rgba(156,43,23,.15)}
.button:focus-visible,.header-cta:focus-visible,.service-choice:focus-visible .choice-action{box-shadow:0 0 0 6px rgba(207,54,29,.16)}
.choice-action .icon,.nav-toggle,.back-top .icon{transition:transform var(--motion-medium) var(--motion-ease),color var(--motion-fast)}
.service-choice:active .icon,.service-choice:focus-visible .icon{transform:translate(5px,-5px)}
.text-link{transition:color var(--motion-fast),border-color var(--motion-fast)}
.text-link:active .icon{transform:translate(5px,-5px)}
.header nav a{position:relative;transition:color var(--motion-fast),background var(--motion-fast)}
.header nav a:not(.header-cta)::after{content:'';position:absolute;inset:auto 0 -6px;height:2px;background:var(--cta);transform:scaleX(0);transform-origin:left;transition:transform var(--motion-medium) var(--motion-ease)}
.header nav a[aria-current=page]::after,.header nav a:focus-visible::after{transform:scaleX(1)}
.motion-ready .parallax-image{transform:translate3d(0,var(--image-y,0px),0) scale(var(--image-scale,1.09))}
.work-preview figure img{transition:scale 700ms var(--motion-ease)}
summary{transition:color var(--motion-fast)}
details[open]>summary{color:var(--cta)}
summary::before,summary::after{transition:transform var(--motion-medium) var(--motion-ease)}
@media(hover:hover) and (pointer:fine){
 .button:hover:not(:active),.header-cta:hover:not(:active){scale:1.025;box-shadow:0 12px 28px rgba(156,43,23,.25)}
 .service-choice:hover:not(:active) .choice-action{scale:1.015;box-shadow:0 10px 24px rgba(156,43,23,.2)}
 .service-choice:hover .icon{transform:translate(6px,-6px)}
 .header nav a:hover::after{transform:scaleX(1)}
 .work-preview figure>a:hover img{scale:1.045}
 .back-top:hover .icon{transform:translateY(-5px)}
 summary:hover{color:var(--cta)}
}
@media(max-width:1200px) and (prefers-reduced-motion:no-preference){
 .js .header.menu-open nav{animation:menu-surface 260ms var(--motion-ease) both}
 .js .header.menu-open nav>a{animation:menu-link 440ms var(--motion-ease) both;animation-delay:calc(var(--menu-order,0)*45ms)}
 .header nav a:not(.header-cta)::after{display:none}
 .header nav a[aria-current=page]{color:var(--cta)}
}
@keyframes menu-surface{from{opacity:0}to{opacity:1}}
@keyframes menu-link{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){
 .button,.header-cta,.choice-action,.work-preview figure img{scale:1!important}
 .motion-ready .parallax-image{transform:none!important;opacity:1!important}
}

/* Room for the design systems service in the shared navigation. */
@media(min-width:961px) and (max-width:1500px){.header-cta{display:none}.header nav{gap:16px}.header nav a{white-space:nowrap}}
