/* Home-only scroll chapters. The original content remains the static fallback. */
.home-track { position:relative; }
.home-founder-type,.home-service-world,.home-service-nav,.home-service-word,.home-faq-type { display:none; }
.home-message-line { display:block; }
.home-motion-playing .home-track { min-height:calc(var(--scene-length) * 100svh); }
.home-motion-playing .home-stage { position:sticky; top:0; min-height:100svh; }
.home-motion-playing .home-flow-track { min-height:0; }
.home-motion-playing .home-flow-track>.home-stage { position:relative; top:auto; min-height:0; }
.approach .approach-dialogue { height:760px; min-height:600px; clip-path:none; background:#e9edef; color:#17191c; isolation:isolate; }
.home-motion-playing .approach .home-opening-stage { height:100svh; min-height:600px; clip-path:none; }
.approach-dialogue .approach-intro { left:6%; right:6%; top:38px; z-index:2; transform:none; opacity:1; }
.approach-dialogue .approach-intro h2 { margin:18px 0 0; font-size:48px; line-height:1.25; }
.approach-dialogue .approach-intro h2 span { display:inline-block; }
.approach-world { position:absolute; inset:150px 0 215px; }
.approach-world canvas { display:block; width:100%; height:100%; }
.approach-world-fallback { position:absolute; inset:15% 8%; display:flex; justify-content:center; align-items:center; gap:25px; }
.approach-world-fallback>span { display:grid; justify-items:center; gap:20px; font-size:22px; font-weight:700; }
.approach-world-fallback>span>.lucide { width:72px; height:72px; stroke-width:1.3; }
.approach-world-fallback>span:nth-of-type(2) { color:#214de3; }
.approach-world-fallback>span:nth-of-type(3) { color:#976000; }
.approach-world.world-ready .approach-world-fallback { display:none; }
.approach-dialogue-caption { position:absolute; bottom:28px; left:6%; right:max(6%,84px); display:grid; grid-template-columns:1fr auto; align-items:end; gap:8px 35px; z-index:2; }
.approach-phase-number { grid-column:1; margin:0; font:500 12px/1.3 var(--display); color:#515c6a; }
.approach-phase-copy { margin:0; grid-column:1; font-size:24px; line-height:1.6; font-weight:700; }
.approach-dialogue-nav { display:none; }
.home-motion-playing .approach-dialogue-nav { display:flex; grid-column:2; grid-row:1 / 3; align-self:end; gap:0; }
.approach-dialogue-nav button { position:relative; padding:16px 22px; border-bottom:2px solid #17191c30; font-size:13px; font-weight:700; }
.approach-dialogue-nav button[aria-current=step] { border-color:#214de3; color:#214de3; background:#ffffff75; }
.approach-dialogue-nav button:hover { background:#ffffffa0; }
.approach-dialogue-nav button:focus-visible { outline:2px solid #214de3; outline-offset:3px; }
.home-motion-playing .approach-dialogue::after { content:''; position:absolute; bottom:0; left:0; right:0; height:3px; background:#214de3; transform:scaleX(var(--dialogue-progress,0)); transform-origin:left; }
.motion-paused .approach-phase-number { display:none; }
.home-motion-playing .home-message-stage { align-content:center; padding:80px 0; perspective:1100px; }
.home-motion-playing .home-message-stage>p { font-size:39px; line-height:1.85; color:white; }
.home-motion-playing .home-message-line { transform-origin:center bottom; transform:rotateX(var(--line-turn,-60deg)); opacity:calc(.15 + var(--line-open,0) * .85); }
.home-motion-playing .home-message-stage>div { align-self:center; opacity:calc(.2 + var(--message-copy,0) * .8); transform:translateY(calc((1 - var(--message-copy,0)) * 55px)); }
.home-motion-playing .home-founder-stage { align-content:center; margin:0; padding:125px 0 75px; border:0; perspective:1200px; isolation:isolate; }
.home-motion-playing .home-founder-type { display:block; position:absolute; top:8%; left:0; color:#f5a000; opacity:.13; z-index:-1; font:700 140px/1 var(--display); transform:translateY(var(--founder-drift,110px)); pointer-events:none; }
.home-motion-playing .home-founder-stage>div:not(.home-founder-type) { transform:rotateY(var(--founder-turn,24deg)) translateY(calc((1 - var(--founder-open,0)) * 45px)); transform-origin:left center; opacity:calc(.25 + var(--founder-open,0) * .75); }
.home-motion-playing .home-founder-stage>div:last-child { transform:rotateY(calc(var(--founder-turn,24deg) * -1)); transform-origin:right center; }
.home-motion-playing .home-founder-stage h3 { font-size:46px; }
.home-motion-playing .home-founder-stage::after { top:0; }
.home-motion-playing .home-service-stage { height:100svh; padding:35px 6% 85px; overflow:hidden; isolation:isolate; background:#e5ebf6; transition:background .65s; }
.home-motion-playing .home-service-stage[data-active=line] { background:#d2efdf; }
.home-motion-playing .home-service-stage[data-active=dx] { background:#ffe1a3; }
.home-motion-playing .home-service-stage .section-top { position:relative; z-index:3; clip-path:none; margin:0; }
.home-motion-playing .home-service-stage .section-top h2 { font-size:23px; }
.home-motion-playing .home-service-world { display:block; position:absolute; inset:75px 0 75px 37%; pointer-events:none; }
.home-service-world canvas { display:block; width:100%; height:100%; }
.home-service-fallback { position:absolute; inset:20%; display:grid; place-items:center; }
.home-service-fallback img { width:100%; height:auto; }
.home-service-fallback>[data-fallback] { display:none; }
[data-active=web] .home-service-fallback>[data-fallback=web] { display:block; }
[data-active=line] .home-service-fallback>[data-fallback=line],[data-active=dx] .home-service-fallback>[data-fallback=dx] { display:flex; align-items:center; gap:25px; }
.home-service-symbols>.lucide { width:90px; height:90px; stroke-width:1.2; }
[data-active=line] .home-service-symbols { color:#04773c; }
[data-active=dx] .home-service-symbols>.lucide:nth-child(2) { color:var(--blue); }
.home-service-world.world-ready .home-service-fallback { display:none; }
.home-motion-playing .home-service-deck { position:absolute; inset:22% 5% 21%; perspective:1200px; pointer-events:none; }
.home-motion-playing .home-service-deck .service-row { position:absolute; inset:0; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:18px; border:0; padding:0; opacity:var(--service-alpha,0); transform:translateY(var(--service-rise,0px)) rotateX(var(--service-rotate,0deg)); transform-origin:left center; pointer-events:none; }
.home-motion-playing .home-service-deck .service-row:not([inert]) { pointer-events:auto; width:46%; }
.home-motion-playing .home-service-deck .service-row::before { display:none; }
.home-motion-playing .home-service-deck .service-index { position:static; font-size:15px; }
.home-motion-playing .home-service-deck .service-row h3 { font:700 48px/1.1 var(--display); }
.home-motion-playing .home-service-deck .service-row p { font-size:15px; margin-top:18px; }
.home-motion-playing .home-service-deck .service-description { display:block; font-size:13px; }
.home-motion-playing .home-service-deck .service-row>.lucide { width:44px; height:44px; padding:10px; border:1px solid #17191c55; border-radius:50%; }
.home-motion-playing .home-service-deck .service-row:hover>.lucide { color:white; background:var(--ink); transform:rotate(45deg); }
.home-motion-playing .home-service-stage .pricing-link { position:absolute; bottom:35px; left:6%; margin:0; z-index:3; width:auto; border:0; padding:0; justify-content:flex-start; }
.home-motion-playing .home-service-nav { position:absolute; right:86px; bottom:32px; display:flex; gap:4px; z-index:3; }
.home-service-nav button { padding:12px 18px; font:600 12px var(--display); border-bottom:2px solid #17191c30; }
.home-service-nav button[aria-current=step] { border-color:var(--ink); background:#fff7; }
.home-motion-playing .home-service-word { display:block; position:absolute; bottom:15%; left:4%; z-index:-1; color:#17191c; opacity:.05; font:700 180px/1 var(--display); transform:translateX(var(--service-word-x,0px)); }
.home-motion-playing .home-faq-track { background:#edf1f4; min-height:max(240svh,calc(var(--stage-min,900px) + 90svh)); }
.home-motion-playing .home-faq-stage { display:grid; grid-template-columns:.8fr 1.2fr; column-gap:8%; align-content:center; padding:85px 6%; perspective:1400px; isolation:isolate; overflow:hidden; }
.home-motion-playing .home-faq-stage { top:min(0px,calc(100svh - var(--faq-height,800px) - 20px)); }
.home-motion-playing .home-faq-type { display:block; position:absolute; left:6%; top:8%; font:700 140px/1 var(--display); color:#214de3; opacity:.08; transform:translateY(calc((1 - var(--faq-open,0)) * 90px)); pointer-events:none; z-index:-1; }
.home-motion-playing .home-faq-stage .section-heading { display:block; align-self:center; margin:0; clip-path:none; }
.home-motion-playing .home-faq-stage .section-heading>p { margin-top:26px; }
.home-motion-playing .home-faq-stage .faq-list { min-width:0; }
.home-motion-playing .home-faq-stage details { background:#fff; border-top:0; border-bottom:1px solid #17191c30; padding:0 24px; transform:perspective(1200px) rotateX(var(--question-turn,-24deg)) translateY(calc((1 - var(--question-open,0)) * (55px + var(--question-index) * 16px))); transform-origin:center top; opacity:calc(.28 + var(--question-open,0) * .72); box-shadow:0 calc((1 - var(--question-open,0)) * 15px) 22px #1111; }
.home-motion-playing .home-faq-stage details:focus-within { transform:none; opacity:1; }
.home-motion-playing .home-faq-stage .section-end-link { grid-column:2; margin-top:30px; }
.home-motion-playing .home-closing-track { margin:-78px -6.82% 35px; }
.home-motion-playing .contact { overflow:visible; }
.home-motion-playing .home-closing-stage { margin:0; height:100svh; }
.home-motion-playing .home-closing-stage .closing-label { font-size:13px; }
.home-motion-playing .home-closing-stage::after { transform:scaleX(var(--closing-open,0)); transform-origin:center; }
.home-motion-playing .contact>h2 { transform:perspective(1000px) rotateX(calc((1 - var(--contact-unfold,0)) * -45deg)) translateY(calc((1 - var(--contact-unfold,0)) * 45px)); transform-origin:left bottom; font-size:100px; }
.home-motion-playing .contact .contact-links a { transform:translateY(calc((1 - var(--contact-unfold,0)) * 70px)); transition:transform .15s ease-out,background .25s; }
.home-motion-playing .footer>a>img { transform:perspective(800px) rotateX(calc((1 - var(--footer-open,0)) * -35deg)); transform-origin:left bottom; }
@media(min-width:1700px) { .home-motion-playing .home-service-deck .service-row h3 { font-size:62px; } .approach-dialogue .approach-intro h2 { font-size:58px; } .approach-world { top:175px; } }
@media(max-width:1250px) {
  .home-motion-playing .home-closing-track { margin-left:-5.5555%; margin-right:-5.5555%; }
  .home-motion-playing .home-message-stage>p { font-size:31px; }
  .home-motion-playing .home-service-deck .service-row h3 { font-size:38px; }
  .home-motion-playing .home-founder-type { font-size:110px; }
  .home-motion-playing .home-faq-stage { column-gap:5%; }
}
@media(max-width:760px) {
  .home-motion-playing .home-stage { top:0; min-height:100svh; }
  .home-motion-playing .home-track { min-height:calc(var(--scene-length) * 85svh); }
  .approach .approach-dialogue { height:760px; min-height:650px; }
  .home-motion-playing .approach .home-opening-stage { height:100svh; min-height:650px; }
  .approach-dialogue .approach-intro { top:30px; left:22px; right:22px; }
  .approach-dialogue .approach-intro h2 { font-size:34px; line-height:1.4; margin-top:18px; }
  .approach-dialogue .approach-intro h2 span { display:block; }
  .approach-world { inset:175px 0 175px; }
  .approach-dialogue-caption { bottom:25px; left:22px; right:22px; grid-template-columns:1fr; gap:7px; }
  .approach-phase-copy { font-size:17px; min-height:54px; text-wrap:balance; }
  .home-motion-playing .approach-dialogue-nav { grid-column:1; grid-row:3; justify-self:start; }
  .approach-dialogue-nav button { padding:12px 23px; font-size:12px; }
  .approach-world-fallback { flex-direction:column; gap:16px; inset:0; }
  .approach-world-fallback>span { display:flex; gap:16px; font-size:18px; }
  .approach-world-fallback>span>.lucide { width:42px; height:42px; }
  .approach-world-fallback>.lucide { transform:rotate(90deg); width:20px; height:20px; }
  .home-motion-playing .home-message-stage { padding:60px 0; gap:35px; }
  .home-motion-playing .home-message-stage>p { font-size:25px; }
  .home-motion-playing .home-founder-stage { padding:90px 0 45px; gap:26px; }
  .home-motion-playing .home-founder-type { font-size:64px; top:5%; }
  .home-motion-playing .home-founder-stage h3 { font-size:32px; }
  .home-motion-playing .home-service-track { min-height:390svh; }
  .home-motion-playing .home-service-stage { height:100svh; padding:24px 22px 80px; }
  .home-motion-playing .home-service-stage .section-top { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; }
  .home-motion-playing .home-service-stage .section-top h2 { font-size:17px; margin:0; }
  .home-motion-playing .home-service-stage .overline { font-size:8px; padding-top:4px; }
  .home-motion-playing .home-service-world { inset:60px 0 40%; }
  .home-service-symbols>.lucide { width:60px; height:60px; }
  .home-motion-playing .home-service-deck { inset:53% 22px 93px; }
  .home-motion-playing .home-service-deck .service-row,.home-motion-playing .home-service-deck .service-row:not([inert]) { width:100%; gap:8px; justify-content:center; }
  .home-motion-playing .home-service-deck .service-row h3 { font-size:33px; }
  .home-motion-playing .home-service-deck .service-row p { font-size:12px; margin-top:10px; }
  .home-motion-playing .home-service-deck .service-index { font-size:10px; }
  .home-motion-playing .home-service-deck .service-description { font-size:11px; max-width:85%; }
  .home-motion-playing .home-service-deck .service-row>.lucide { position:absolute; right:0; top:45%; width:35px; height:35px; padding:8px; }
  .home-motion-playing .home-service-nav { bottom:21px; right:70px; }
  .home-service-nav button { padding:12px 10px; font-size:10px; }
  .home-motion-playing .home-service-stage .pricing-link { bottom:77px; left:22px; font-size:11px; }
  .home-motion-playing .home-service-word { font-size:98px; bottom:17%; }
  .home-motion-playing .home-faq-track { min-height:max(235svh,calc(var(--stage-min,900px) + 70svh)); }
  .home-motion-playing .home-faq-stage { grid-template-columns:1fr; padding:65px 22px 50px; gap:28px; overflow:clip; top:min(0px,calc(100svh - var(--faq-height,800px) - 20px)); }
  .home-motion-playing .home-faq-type { font-size:94px; top:20px; }
  .home-motion-playing .home-faq-stage .section-heading>p { margin-top:18px; }
  .home-motion-playing .home-faq-stage details { padding:0 15px; }
  .home-motion-playing .home-faq-stage summary { font-size:13px; padding:21px 0; }
  .home-motion-playing .home-faq-stage .section-end-link { grid-column:1; margin:0; }
  .home-motion-playing .home-closing-track { margin:-50px -22px 25px; }
  .home-motion-playing .home-closing-stage { height:100svh; }
  .home-motion-playing .home-closing-stage .closing-label { font-size:10px; }
  .home-motion-playing .contact>h2 { font-size:53px; }
}
@media(max-width:380px) {
  .approach-dialogue .approach-intro h2 { font-size:30px; }
  .approach-dialogue .approach-intro,.approach-dialogue-caption { left:18px; right:18px; }
  .approach-phase-copy { font-size:16px; }
  .home-motion-playing .home-message-stage>p { font-size:22px; }
  .home-motion-playing .home-founder-type { font-size:54px; }
  .home-motion-playing .home-service-deck .service-row h3 { font-size:29px; }
  .home-motion-playing .home-closing-track { margin-left:-18px; margin-right:-18px; }
  .home-motion-playing .contact>h2 { font-size:45px; }
}
@media(max-height:600px) and (min-width:761px) {
  .approach .approach-dialogue,.home-motion-playing .approach .home-opening-stage { min-height:360px; height:100svh; }
  .approach-dialogue .approach-intro { top:18px; }
  .approach-dialogue .approach-intro h2 { font-size:29px; margin-top:12px; }
  .approach-world { inset:90px 0 88px; }
  .approach-dialogue-caption { bottom:15px; gap:5px 20px; }
  .approach-phase-copy { font-size:17px; }
  .approach-dialogue-nav button { padding:12px 14px; }
  .home-motion-playing .home-message-stage { padding:35px 0; }
  .home-motion-playing .home-message-stage>p { font-size:23px; }
  .home-motion-playing .home-founder-stage { padding:50px 0; }
  .home-motion-playing .home-founder-stage h3 { font-size:29px; }
  .home-motion-playing .home-founder-stage h4 { font-size:17px; }
  .home-motion-playing .home-founder-type { font-size:74px; }
  .home-motion-playing .home-service-stage { padding-top:18px; }
  .home-motion-playing .home-service-stage .section-top h2 { font-size:18px; }
  .home-motion-playing .home-service-world { inset:40px 0 55px 43%; }
  .home-motion-playing .home-service-deck { inset:23% 5% 22%; }
  .home-motion-playing .home-service-deck .service-row { gap:6px; }
  .home-motion-playing .home-service-deck .service-row h3 { font-size:28px; }
  .home-motion-playing .home-service-deck .service-row p { font-size:11px; margin-top:8px; }
  .home-motion-playing .home-service-deck .service-description { font-size:10px; }
  .home-motion-playing .home-service-deck .service-row>.lucide { width:28px; height:28px; padding:6px; position:absolute; left:38%; bottom:0; }
  .home-motion-playing .home-service-stage .pricing-link { bottom:20px; font-size:11px; }
  .home-motion-playing .home-service-nav { bottom:10px; }
  .home-motion-playing .home-faq-stage { position:relative; top:0; }
  .home-motion-playing .home-faq-track { min-height:0; }
}

/* A continuous production story, followed by shorter, flowing editorial beats. */
.home-motion-playing .approach-story .approach-dialogue { background:#17191c; color:#fff; }
.approach-story .approach-world canvas { background:transparent; }
.home-motion-playing .approach-story .approach-intro { border-bottom:1px solid #ffffff30; padding-bottom:20px; }
.home-motion-playing .approach-story .approach-intro h2 { font-size:38px; }
.home-motion-playing .approach-story .approach-intro h2 span:last-child { color:#ffb519; }
.home-motion-playing .approach-story .approach-intro h2 span:last-child { transform:translateX(calc((1 - var(--story-type-join,0)) * 16px)); }
.home-motion-playing .approach-story .approach-steps { display:block; grid-column:1; grid-row:1 / 4; margin:0; min-width:0; min-height:125px; }
.home-motion-playing .approach-story .approach-steps li { padding:0; border:0; }
.home-motion-playing .approach-story .approach-steps li[hidden] { display:none; }
.home-motion-playing .approach-story .approach-steps li>span { display:none; }
.home-motion-playing .approach-story .approach-steps h3 { margin:0 0 13px; font-size:32px; }
.home-motion-playing .approach-story .approach-steps p { color:#e4e9ef; max-width:520px; font-size:14px; line-height:1.9; }
.home-motion-playing .approach-story .approach-phase-copy,.home-motion-playing .approach-story .approach-phase-number { display:none; }
.home-motion-playing .approach-story .approach-dialogue-nav { grid-row:1 / 4; }
.home-motion-playing .approach-story .approach-dialogue-nav button { border-color:#ffffff40; color:#ced5e1; padding:15px; }
.home-motion-playing .approach-story .approach-dialogue-nav button[aria-current=step] { color:#17191c; border-color:#ffb519; background:#ffb519; }
.home-motion-playing .approach-story .approach-dialogue::after { background:#ffb519; }
.home-motion-playing .home-message-line { opacity:1; transform:translateX(calc((1 - var(--line-open,0)) * 12px)); }
.home-motion-playing .home-message-stage>div,.home-motion-playing .home-founder-stage>div:not(.home-founder-type) { opacity:1; }
.home-motion-playing .home-message-stage { padding:45px 0 55px; }
.home-motion-playing .home-founder-stage { border-top:1px solid #ffffff35; padding:70px 0 25px; }
.home-motion-playing .home-founder-stage>div:not(.home-founder-type) { transform:translateY(calc((1 - var(--founder-open,0)) * 18px)); }
.home-motion-playing .home-founder-type { font-size:90px; top:28px; opacity:.08; }
.home-motion-playing .home-faq-track { min-height:0; }
.home-motion-playing .home-faq-track>.home-faq-stage { min-height:0; position:relative; top:auto; overflow:visible; }
.home-motion-playing .home-faq-stage .faq-list { perspective:none; }
.home-motion-playing .home-faq-stage details { transform:none; opacity:1; box-shadow:none; background:#fff; position:relative; }
.home-motion-playing .home-faq-stage details::before { content:''; position:absolute; inset:0 auto 0 0; width:3px; background:#214de3; transform:scaleY(var(--question-open,0)); transform-origin:top; }
.home-motion-playing .home-faq-stage details[open] { background:#f6f8ff; }
.home-motion-playing .home-faq-stage .section-end-link { position:relative; z-index:1; }
.home-motion-playing .home-faq-type { top:30px; font-size:100px; }
.home-motion-playing .meaningful-type { position:relative; }
.home-motion-playing .meaningful-type::after { content:''; position:absolute; left:0; right:0; bottom:-8px; height:3px; background:var(--amber,#f5a000); transform:scaleX(var(--type-progress,0)); transform-origin:left; pointer-events:none; }
.home-motion-playing .home-message-line::after { height:1px; opacity:.35; bottom:3px; }
.home-motion-playing .lab-heading h2 span:last-child { color:#214de3; transform:translateX(calc((1 - var(--type-progress,0)) * 40px)); }
.home-motion-playing .contact>h2 { transform:translateX(calc((1 - var(--contact-unfold,0)) * -30px)); }
@media(max-width:760px) {
  .home-motion-playing .home-flow-track { min-height:0; }
  .home-motion-playing .home-flow-track>.home-stage { min-height:0; }
  .home-motion-playing .home-opening-track { min-height:350svh; }
  .home-motion-playing .approach-story .approach-intro { padding-bottom:18px; }
  .home-motion-playing .approach-story .approach-intro h2 { font-size:30px; }
  .home-motion-playing .approach-story .approach-intro h2 span { display:inline-block; }
  .approach-story .approach-world { inset:150px 0 238px; }
  .home-motion-playing .approach-story .approach-dialogue-caption { right:22px; bottom:26px; gap:16px; }
  .home-motion-playing .approach-story .approach-steps { grid-row:1; min-height:105px; }
  .home-motion-playing .approach-story .approach-steps h3 { font-size:23px; margin-bottom:12px; }
  .home-motion-playing .approach-story .approach-steps p { font-size:12px; }
  .home-motion-playing .approach-story .approach-dialogue-nav { grid-row:2; }
  .home-motion-playing .approach-story .approach-dialogue-nav button { padding:13px 11px; font-size:11px; }
  .home-motion-playing .home-founder-type { font-size:56px; top:35px; }
  .home-motion-playing .home-message-stage { padding:15px 0 45px; }
  .home-motion-playing .home-service-track { min-height:310svh; }
  .home-motion-playing .home-service-world { inset:75px 0 37%; }
  .home-motion-playing .home-service-deck { inset:59% 22px 125px; }
  .home-motion-playing .home-service-deck .service-row h3 { font-size:30px; }
  .home-motion-playing .home-faq-stage .section-end-link { margin-top:4px; }
}
@media(max-height:600px) and (min-width:761px) {
  .home-motion-playing .approach-story .approach-intro { left:4%; right:4%; top:16px; padding-bottom:9px; }
  .home-motion-playing .approach-story .approach-intro h2 { font-size:25px; }
  .approach-story .approach-world { inset:90px 0 114px; }
  .home-motion-playing .approach-story .approach-dialogue-caption { bottom:16px; left:4%; }
  .home-motion-playing .approach-story .approach-steps { min-height:80px; }
  .home-motion-playing .approach-story .approach-steps h3 { font-size:21px; margin-bottom:8px; }
  .home-motion-playing .approach-story .approach-steps p { font-size:11px; max-width:390px; }
  .home-motion-playing .approach-story .approach-dialogue-nav button { font-size:10px; padding:11px 9px; }
}
