:root{color-scheme:dark;--bg:#0b0b0d;--panel:#151517;--ink:#f5f5f7;--muted:#aaaab0;--line:#333337;--warm:#d5bc8a;--max:1120px;--font:-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:116px}body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.6 var(--font);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}p,h1,h2,h3{margin:0}button,input,select,textarea{font:inherit}button,a,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--warm);outline-offset:5px}
h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}h1{font-size:clamp(2.75rem,5.9vw,5.6rem);font-weight:600;line-height:1.05;letter-spacing:-.055em}h2{font-size:clamp(2rem,3.7vw,3rem);font-weight:600;line-height:1.12;letter-spacing:-.04em}h3{font-size:1.65rem;font-weight:600;line-height:1.2;letter-spacing:-.025em}h1 span,h2 span{color:inherit;font:inherit}
.shell{width:min(calc(100% - 80px),var(--max));margin-inline:auto}.skip{position:fixed;left:20px;top:-100px;z-index:100;background:var(--warm);color:var(--bg);padding:14px 20px;border-radius:8px}.skip:focus{top:16px}
.header{position:sticky;top:0;z-index:40;width:100%;min-height:104px;padding:10px max(40px,calc((100% - var(--max))/2));display:flex;align-items:center;justify-content:space-between;gap:28px;background:var(--bg);border-bottom:1px solid transparent;transition:border-color .2s ease}.has-scrolled .header{border-color:var(--line)}
.brand-file{display:flex;align-items:center;width:96px;flex:none;overflow:visible;padding:6px;line-height:0}.brand-file img{position:static;display:block;width:100%;height:auto;max-width:100%;filter:invert(1)}.header>nav{display:flex;align-items:center;gap:28px;margin-left:auto}.header nav a{display:flex;align-items:center;min-height:44px;font-size:.875rem;color:var(--muted);transition:color .16s ease}.header nav a:hover{color:var(--ink)}.header .nav-book{min-height:44px;padding:10px 18px;font-size:.8125rem}.mobile-nav{display:none}
.eyebrow{font-size:.8125rem;font-weight:500;line-height:1.5;color:var(--muted);margin-bottom:22px;letter-spacing:0;text-transform:none}.dot{display:none}.small{font-size:.8125rem;line-height:1.6;color:var(--muted)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:50px;padding:13px 23px;border:1px solid transparent;border-radius:999px;background:var(--warm);color:#111114;font-size:.9375rem;font-weight:600;line-height:1.4;transition:background-color .18s ease,transform .18s ease}.button:hover{background:#e3cca4}.button:active{transform:scale(.97)}.button span{font-size:20px;font-weight:400}.text-link{display:inline-flex;align-items:center;gap:12px;min-height:48px;font-size:.9375rem;font-weight:500}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.text-link span{font-size:19px}.actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:30px}
.hero{padding-block:82px 120px;text-align:center}.hero .eyebrow{margin-bottom:28px}.hero-grid{display:block}.hero h1{max-width:950px;margin-inline:auto}.hero-copy{margin-top:30px}.hero-description{max-width:670px;margin-inline:auto;font-size:1.25rem;line-height:1.55;color:var(--muted)}.hero .actions{justify-content:center}.hero-note{margin-top:18px;font-size:.8125rem;color:var(--muted)}
.section{padding-block:100px}.section-intro{display:grid;grid-template-columns:1.25fr 1fr;align-items:end;gap:80px;margin-bottom:46px}.section-intro>p{max-width:460px;color:var(--muted)}.legacy-anchor{display:block;height:0;overflow:hidden}
.service-list{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:1fr 1.3fr;gap:80px;padding:38px 0;border-bottom:1px solid var(--line)}.service-row p{color:var(--muted)}.service-row .service-deliverables{font-size:.8125rem;margin-top:20px;color:var(--ink)}.service-row .text-link{margin-top:18px;font-size:.875rem}
.approach-band{background:var(--panel);padding-block:94px}.approach-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px}.approach-layout>div>p:last-child{max-width:410px;color:var(--muted);margin-top:26px}.steps{list-style:none;margin:0;padding:0}.steps li{display:grid;grid-template-columns:32px 1fr;gap:18px;padding:25px 0;border-top:1px solid var(--line)}.steps li:first-child{padding-top:0;border:0}.steps li>span{font-size:.8125rem;color:var(--muted);padding-top:4px}.steps h3{font-size:1.375rem}.steps p{font-size:1rem;color:var(--muted);margin-top:10px}
.faq-section{display:grid;grid-template-columns:1fr 1.25fr;gap:90px}.faq details{border-bottom:1px solid var(--line)}.faq details:first-child{border-top:1px solid var(--line)}summary{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:66px;padding:18px 0;cursor:pointer;list-style:none;font-size:1rem;font-weight:500}summary::-webkit-details-marker{display:none}summary:after{content:'+';font-size:24px;font-weight:400;color:var(--muted)}details[open]>summary:after{content:'−'}.faq p{margin:0 20px 24px 0;font-size:.9375rem;color:var(--muted)}
.closing{padding-block:100px 110px;text-align:center;border-top:1px solid var(--line)}.closing h2{font-size:clamp(2.5rem,4.8vw,4rem);line-height:1.08}.closing>div:last-child{margin-top:28px}.closing p:not(.eyebrow){max-width:520px;margin-inline:auto;color:var(--muted)}.closing .actions{justify-content:center}
.footer{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-block:28px;border-top:1px solid var(--line)}.footer>div{display:flex;gap:24px}.footer a{display:inline-flex;align-items:center;min-height:44px;font-size:.8125rem;color:var(--muted)}.footer .footer-brand{font-size:1rem;font-weight:600;letter-spacing:-.025em;color:var(--ink)}.footer p{font-size:.75rem;text-align:right;color:var(--muted)}
.page-hero{padding-block:80px 90px}.content-hero{text-align:center}.content-hero h1{max-width:900px;margin-inline:auto}.page-hero .hero-description{max-width:670px;margin:28px auto 0}.content-hero .actions{justify-content:center}.content-intro{padding-block:48px;border-block:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:80px}.content-intro h2{font-size:1.875rem;margin-bottom:18px}.content-intro p{color:var(--muted)}.content-intro .text-link{margin-top:14px;font-size:.875rem}.scope-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:42px}.scope-grid article{border-top:1px solid var(--line);padding-top:25px}.scope-grid h3{margin:20px 0 14px;font-size:1.5rem}.scope-grid p{color:var(--muted);font-size:1rem}.connection{margin-bottom:0}.connection>div>p:not(.eyebrow){color:var(--muted)}.connection .text-link{margin-top:20px}
.booking-main{padding-block:56px 80px}.booking-intro{display:grid;grid-template-columns:1.15fr 1fr;align-items:end;gap:70px;margin-bottom:42px}.booking-intro h1{font-size:clamp(2.75rem,4.8vw,4.375rem)}.booking-intro p:not(.eyebrow){color:var(--muted);max-width:470px;font-size:1.0625rem}.booking-context{margin-top:20px}.calendar-panel{border:1px solid var(--line);border-radius:18px;background:#101010;padding:20px;min-width:0}.calendar-label{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:0 10px 20px}.calendar-label h2{font-size:1.375rem}.calendar-label p{font-size:.8125rem;color:var(--muted)}#cal-inline{min-height:560px;width:100%;overflow:auto}.calendar-fallback{border-top:1px solid var(--line);padding:12px 10px 0;font-size:.8125rem;color:var(--muted)}.calendar-fallback a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px}.booking-after{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-top:40px}.booking-after h2{font-size:1.5rem;margin-bottom:16px}.booking-after p,.booking-after li{color:var(--muted);font-size:.9375rem}.booking-after ul{padding-left:20px}.booking-after li{margin-bottom:8px}.booking-after details{border-block:1px solid var(--line)}.booking-after details p{margin-bottom:18px}.booking-confirmation{padding:18px;background:var(--panel);border-radius:12px;margin-top:24px}.booking-confirmation:empty{display:none}[hidden]{display:none!important}
.scroll-progress{position:fixed;z-index:80;top:0;left:0;width:100%;height:2px;background:var(--warm);transform:scaleX(0);transform-origin:left;pointer-events:none}
/* Homepage groups settle with scroll position; controls remain fully opaque. */
@media(prefers-reduced-motion:no-preference){
  [data-motion="enabled"] [data-flow]{transform:translate3d(0,var(--flow-y,0px),0) scale(var(--flow-scale,1));opacity:var(--flow-opacity,1);transform-origin:50% 0}
  [data-motion="enabled"] [data-flow]:focus-within{transform:none;opacity:1}
}
/* The opening message recedes with native scrolling; its children reveal independently. */
.hero-grid,.content-hero>div{transform:translate3d(0,calc(var(--hero-progress,0)*-44px),0) scale(calc(1 - var(--hero-progress,0)*.055));opacity:calc(1 - var(--hero-progress,0)*.28);transform-origin:50% 22%}
.hero-grid:focus-within,.content-hero>div:focus-within{transform:none;opacity:1}
@media(max-width:760px){.hero-grid,.content-hero>div{transform:translate3d(0,calc(var(--hero-progress,0)*-26px),0) scale(calc(1 - var(--hero-progress,0)*.03));opacity:calc(1 - var(--hero-progress,0)*.22)}.hero-grid:focus-within,.content-hero>div:focus-within{transform:none;opacity:1}}
@media(prefers-reduced-motion:reduce){.hero-grid,.content-hero>div{transform:none;opacity:1}}
@media(max-width:1050px){.shell{width:calc(100% - 56px)}.header{padding-inline:28px}.header>nav{gap:20px}.hero{padding-block:70px 95px}.section-intro,.service-row{gap:50px}.approach-layout,.faq-section{gap:55px}}
@media(max-width:850px){.header>nav,.header .nav-book{display:none}.mobile-nav{display:block;position:relative;margin-left:auto}.mobile-nav summary{min-height:44px;padding:8px 15px;border-radius:22px;border:1px solid var(--line);font-size:.875rem;gap:18px}.mobile-nav summary:after{font-size:20px}.mobile-nav nav{position:absolute;right:0;top:54px;width:min(320px,calc(100vw - 40px));padding:10px 20px;background:var(--panel);border:1px solid var(--line);border-radius:16px;z-index:50}.header .mobile-nav a{min-height:52px;color:var(--ink);font-size:1rem;border-bottom:1px solid var(--line)}.header .mobile-nav a:last-child{border:0;color:var(--warm)}}
@media(max-width:760px){html{scroll-padding-top:104px}.shell{width:calc(100% - 40px)}.header{min-height:88px;padding:6px 20px}.brand-file{width:84px;padding:4px}.hero{padding-block:50px 74px}.hero .eyebrow{font-size:.75rem;margin-bottom:22px}.hero h1{font-size:clamp(2.65rem,10.4vw,4rem)}.hero-copy{margin-top:25px}.hero-description{font-size:1.125rem;line-height:1.55}.actions{gap:14px 22px;margin-top:26px}.button{min-height:48px;padding:12px 20px;font-size:.875rem;gap:14px}.text-link{font-size:.875rem}.hero-note{font-size:.75rem;max-width:290px;margin:18px auto 0}.section{padding-block:66px}.section-intro{grid-template-columns:1fr;gap:22px;margin-bottom:34px}.eyebrow{font-size:.75rem;margin-bottom:18px}.service-row{grid-template-columns:1fr;gap:18px;padding-block:30px}.service-row h3{font-size:1.65rem}.service-row .text-link{margin-top:12px}.service-row p{font-size:1rem}.service-row .service-deliverables{margin-top:16px}.approach-band{padding-block:66px}.approach-layout{grid-template-columns:1fr;gap:36px}.steps p{font-size:1rem}.faq-section{grid-template-columns:1fr;gap:30px}summary{font-size:.9375rem}.closing{padding-block:68px 76px}.closing h2{font-size:2.5rem}.closing>div:last-child{margin-top:22px}.footer{flex-wrap:wrap;gap:14px;padding-block:24px}.footer>div{width:100%;flex-wrap:wrap;gap:8px 24px}.footer p{text-align:left}.page-hero{padding-block:48px 64px}.content-hero h1{font-size:clamp(2.65rem,10.4vw,4rem)}.page-hero .hero-description{margin-top:24px}.content-intro{grid-template-columns:1fr;gap:34px;padding-block:40px}.content-intro h2{font-size:1.75rem}.scope-grid{grid-template-columns:1fr;gap:30px}.scope-grid h3{margin-top:12px}.connection{margin-bottom:0}.booking-main{padding-block:36px 60px}.booking-intro{grid-template-columns:1fr;gap:22px;margin-bottom:28px}.booking-intro h1{font-size:2.75rem}.booking-intro p:not(.eyebrow){font-size:1rem}.booking-context{margin-top:16px}.calendar-panel{border-radius:14px;padding:16px 0}.calendar-label{display:block;margin-inline:16px}.calendar-label p{margin-top:8px}#cal-inline{min-height:600px}.calendar-fallback{margin-inline:16px;padding:12px 0 0;line-height:1.8}.booking-after{grid-template-columns:1fr;gap:28px;margin-top:32px}}
@media(max-width:380px){.shell{width:calc(100% - 32px)}.header{padding-inline:16px}.hero h1,.content-hero h1{font-size:2.5rem}.hero-description{font-size:1.0625rem}.hero .actions{gap:8px 18px}.hero .button{font-size:.8125rem;padding-inline:16px}.hero .text-link{font-size:.8125rem}.booking-intro h1{font-size:2.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.scroll-progress{display:none}}
@media(prefers-contrast:more){:root{--muted:#dedee3;--line:#77777d}}
@media(forced-colors:active){.button,.calendar-panel,.mobile-nav summary{border:1px solid ButtonText}.brand-file img{filter:none}.scroll-progress{display:none}}
/* Retained partnership content uses the shared system. */
.wrap{width:min(calc(100% - 80px),var(--max));margin-inline:auto}.booking-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;padding-block:70px 90px}.booking-layout h1{font-size:clamp(2.75rem,4.5vw,4.25rem);margin-bottom:28px}.booking-layout>section>p:not(.eyebrow){color:var(--muted)}.form-card{background:var(--panel);padding:32px;border:1px solid var(--line);border-radius:18px}.partner-panel h2{font-size:1.75rem;margin-bottom:22px}.partner-panel h3{font-size:1.25rem;margin:26px 0 14px}.partner-panel p,.partner-steps{font-size:1rem;color:var(--muted)}.partner-steps{padding-left:20px}.partner-steps li{padding:7px 0}.partner-note{padding:22px;border:1px solid var(--line);border-radius:12px;margin-block:25px}.partner-note p{margin:0}.muted{color:var(--muted)}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.booking-layout{grid-template-columns:1fr;gap:34px;padding-block:42px 60px}.booking-layout h1{font-size:2.75rem}.form-card{padding:24px}.footer.wrap{width:calc(100% - 40px)}}
@media(max-width:380px){.wrap{width:calc(100% - 32px)}.booking-layout h1{font-size:2.5rem}}
/* Header spans the viewport even where the shared content shell narrows. */
.header.shell{width:100%;margin-inline:0}
/* One semantic services heading takes over inside a brief, native sticky scene. */
.hero-story{position:relative}.hero-story .title-line{display:block}.hero-services{padding-top:100px}#services{padding-top:0}#services,#work{scroll-margin-top:var(--story-anchor-offset,360px)}
@media(max-width:760px){.hero-services{padding-top:66px}}
@media(prefers-reduced-motion:no-preference){
  .hero-story[data-pin="true"]{height:calc(var(--story-height) + var(--story-distance))}
  .hero-story[data-pin="true"] .hero-stage{position:sticky;top:var(--story-top);height:var(--story-height);display:grid;grid-template-columns:minmax(0,1fr);z-index:2;pointer-events:none}
  .hero-story[data-pin="true"] .hero-stage>.hero,.hero-story[data-pin="true"] .hero-services{grid-area:1/1}
  .hero-story[data-pin="true"] .hero{height:100%;padding-block:24px;display:flex;flex-direction:column;justify-content:center;min-width:0}
  .hero-story[data-pin="true"] .hero-grid{transform:none;opacity:1}
  .hero-story[data-pin="true"] .hero-grid,.hero-story[data-pin="true"] .hero>.eyebrow{flex:none}
  .hero-story[data-pin="true"] h1{width:fit-content;max-width:100%;text-align:left;opacity:calc(1 - var(--story-heading-out,0));transform:translate3d(var(--story-x,0px),var(--story-y,0px),0) scale(var(--story-scale,1));transform-origin:0 0}
  .hero-story[data-pin="true"] .title-line{--line-progress:var(--story-swap,0)}
  .hero-story[data-pin="true"] .title-line+.title-line{--line-progress:var(--story-swap-second,var(--story-swap,0))}
  .hero-story[data-pin="true"] .title-line>span{display:block}
  .hero-story[data-pin="true"] h1 .title-line>span{transform:translate3d(0,calc(var(--story-heading-out,0)*-12px),0)}
  .hero-story[data-pin="true"] h2 .title-line>span{opacity:var(--line-progress,0);transform:translate3d(0,calc((1 - var(--line-progress,0))*18px),0)}
  .hero-story[data-pin="true"] .hero-copy{opacity:calc(1 - var(--story-copy-out,0));transform:translate3d(0,calc(var(--story-copy-out,0)*-18px),0)}
  .hero-story[data-pin="true"] .hero>.eyebrow{opacity:calc(1 - var(--story-copy-out,0));transform:translate3d(0,calc(var(--story-copy-out,0)*-14px),0)}
  .hero-story[data-pin="true"][data-scene="opening"] .hero .actions{pointer-events:auto}
  .hero-story[data-pin="true"] .hero-services{align-self:start;padding-top:var(--story-intro-top);padding-bottom:0}
  .hero-story[data-pin="true"] .hero-services .section-intro{margin-bottom:0}
  .hero-story[data-pin="true"] .hero-services .eyebrow{opacity:var(--story-label,0)}
  .hero-story[data-pin="true"] .hero-services .section-intro>p{opacity:var(--story-detail,0);transform:translate3d(0,calc((1 - var(--story-detail,0))*18px),0)}
  .hero-story[data-pin="true"]+#services{position:relative;z-index:1;margin-top:calc(-1*var(--story-overlap))}
  .hero-story[data-pin="true"][data-hero-focus="true"]+#services{opacity:0;pointer-events:none}
  .hero-story[data-pin="true"] .hero-stage:focus-within .hero h1,.hero-story[data-pin="true"] .hero-stage:focus-within .hero-copy,.hero-story[data-pin="true"] .hero-stage:focus-within .hero>.eyebrow{transform:none;opacity:1;clip-path:none}
  .hero-story[data-pin="true"] .hero-stage:focus-within .hero h1 .title-line>span{transform:none}
  .hero-story[data-pin="true"] .hero-stage:focus-within .hero-services{opacity:0}
  .hero-story[data-pin="true"] .hero-stage:focus-within .hero .actions{pointer-events:auto}
}
