/* One palette, deliberate two-line typography, and clear space for the film. */
#journey{height:3800vh}#status{position:absolute;left:6vw;bottom:24px;z-index:20;font-size:14px;color:#bed0c4;max-width:330px;line-height:1.5}.ready #status{display:none}
.opening{background:linear-gradient(90deg,#08100b22,#08100b11)}.opening-eyebrow{font-size:13px;letter-spacing:.13em;line-height:1.5;color:#e2e9e3;margin:0 0 27px}.opening h1{font-size:clamp(76px,11vw,176px)}.opening-position{margin-top:14px}
.headline-line{display:block;width:max-content;white-space:nowrap;margin-inline:auto}.headline-line em{font-size:1em!important}
.story-type,.story-type.left,.story-type.tlc,.story-type.onyx-title{align-items:center;justify-content:flex-start;text-align:center;padding:10svh 7vw 5svh;background:linear-gradient(#07100bd9,transparent 48%)}
.story-type h2,.story-type.left h2,.story-type.tlc h2,.story-type.onyx-title h2{font-size:clamp(42px,5.4vw,88px);width:100%;max-width:1100px;line-height:1.09;text-transform:none}
.story-type.center{justify-content:center;background:none}.story-type.center h2,.story-type.statement h2{font-size:clamp(50px,7.3vw,118px);width:100%;max-width:1250px;line-height:1.06}
#story-kicker{font-size:14px;letter-spacing:.13em;margin-bottom:16px}#story-support,.story-type.tlc #story-support,.story-type.onyx-title #story-support{font-size:18px;max-width:620px;margin-top:19px;line-height:1.5}
.inquiry,#followup{left:auto;right:7vw;top:auto;bottom:14%;width:min(390px,35vw);border-radius:12px}#lead-inquiry{left:auto;right:7vw;top:auto;bottom:10%;width:32vw}.onyx-conversation{top:23%;right:7vw;width:42vw;max-width:600px;border-radius:14px}
.interlude{position:absolute;inset:0;z-index:11;opacity:0;pointer-events:none;background:transparent;overflow:hidden}.interlude h2{font-weight:400;letter-spacing:-.045em;line-height:1.12;margin:0;width:100%}.interlude em{font-style:normal;font-weight:700;color:#00ff85}.interlude p{font-size:18px;line-height:1.5;color:#bbcabe;margin-top:24px}
.interlude-copy{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:8vh 7vw;text-align:center}.interlude-copy h2{font-size:clamp(34px,5.3vw,84px);max-width:1250px}
.proof-copy{position:absolute;left:7vw;right:7vw;top:9%;text-align:center}.proof-copy h2{font-size:clamp(34px,4.6vw,74px);max-width:1100px;margin-inline:auto}.proof-copy p{font-size:16px;margin-top:15px}.proof-assets{position:absolute;left:12vw;right:12vw;top:41%;height:51%;display:flex;align-items:center;justify-content:center;gap:4vw}.proof-assets img{height:100%;max-width:48%;object-fit:contain;filter:drop-shadow(0 14px 25px #0008)}.proof-assets .app-screen{height:92%;max-width:35%}
.finale{background:transparent;padding:5svh 7vw}.finale h2{font-size:clamp(35px,5.1vw,80px);width:100%;max-width:1250px;line-height:1.1}.cta{border-radius:14px}.brand-close{margin-top:24px}
@media(max-width:700px){#journey{height:4300vh}.opening-eyebrow{font-size:12px;letter-spacing:.065em;max-width:320px;margin-bottom:24px}.opening h1{font-size:17vw}.film-byline{margin-top:24px}.opening-position{font-size:14px}.opening-scroll{margin-top:24px}
.story-type,.story-type.left,.story-type.tlc,.story-type.onyx-title{padding:10svh 7vw 5svh}.story-type h2,.story-type.left h2,.story-type.tlc h2,.story-type.onyx-title h2{font-size:10.2vw}.story-type.center h2,.story-type.statement h2{font-size:11.3vw}#story-kicker{font-size:12px;margin-bottom:13px}#story-support,.story-type.tlc #story-support,.story-type.onyx-title #story-support{font-size:16px;max-width:340px;margin-top:15px}
.inquiry,#followup,#lead-inquiry{left:7vw;right:7vw;top:auto;bottom:9%;width:auto;padding:20px}.inquiry-question{font-size:24px}.onyx-conversation{top:24%;left:7vw;right:7vw;width:auto;padding:22px}.interlude-copy h2{font-size:7.2vw}.proof-copy{top:10%}.proof-copy h2{font-size:7.9vw}.proof-copy p{font-size:15px;line-height:1.5}.proof-assets{left:7vw;right:7vw;top:35%;height:54%;gap:5vw}.proof-assets img{max-width:56%}.proof-assets .app-screen{max-width:34%;height:85%}.finale h2{font-size:8.2vw}.finale .identity{font-size:15px}.finale .offer{font-size:15px}.cta{font-size:15px;gap:18px}.brand-close{font-size:13px}.mobile-break{display:none}}
@media(max-height:650px){.opening h1{font-size:min(14vw,22vh)}.opening-eyebrow{margin-bottom:16px}.film-byline{margin-top:16px}.opening-position{margin-top:10px}.opening-scroll{margin-top:17px}.story-type,.story-type.left,.story-type.tlc,.story-type.onyx-title{padding-top:7svh}.story-type h2,.story-type.left h2,.story-type.tlc h2,.story-type.onyx-title h2{font-size:min(5.4vw,9vh)}.story-type.center h2{font-size:min(7.3vw,14vh)}#story-support{margin-top:12px;font-size:15px}.proof-copy{top:7%}.proof-copy h2{font-size:min(4.6vw,7.5vh)}.proof-copy p{margin-top:10px;font-size:14px}.proof-assets{top:42%;height:51%}.finale h2{font-size:min(5.1vw,8vh)}.finale .identity{margin-top:13px;font-size:14px}.finale .offer{font-size:14px;margin:12px 0 16px}.brand-close{margin-top:16px}.onyx-conversation{top:14%;padding:17px 20px}.inquiry,#followup,#lead-inquiry{bottom:7%}}

/* Chapter cards pause the narrative; the ending opens back into the world. */
#journey{height:4300vh}.story-type.framework h2{font-size:clamp(90px,16vw,240px)}.story-type.framework #story-support{font-size:clamp(18px,2.4vw,34px);letter-spacing:.015em}.story-type.chapter h2{font-size:clamp(58px,9vw,145px)}.finale{background:linear-gradient(90deg,#06110ba8,#06110b55,#06110ba8)}
@media(max-width:700px){#journey{height:4850vh}.story-type.framework h2{font-size:23vw}.story-type.chapter h2{font-size:15vw}.story-type.framework #story-support{font-size:5vw}.finale{background:#06110b88}}

/* Readable explanation on every framework card. */
.story-type.framework #story-support,.story-type.chapter #story-support,.story-type.statement #story-support{max-width:760px;font-size:clamp(17px,1.65vw,24px);line-height:1.55;letter-spacing:0;margin-top:28px;text-wrap:pretty}.story-type.framework h2{font-size:clamp(80px,13vw,190px)}
#journey{height:4570vh}
@media(max-width:700px){#journey{height:5150vh}.story-type.framework h2{font-size:23vw}.story-type.framework #story-support,.story-type.chapter #story-support,.story-type.statement #story-support{font-size:17px;line-height:1.5;margin-top:24px;max-width:360px}}
@media(max-height:650px){.story-type.framework h2,.story-type.chapter h2{font-size:min(11vw,20vh)}.story-type.framework #story-support,.story-type.chapter #story-support,.story-type.statement #story-support{font-size:16px;margin-top:16px;max-width:720px}}
/* Narrative 5 — supplied copy, shared inquiry callback and responsive system diagram. */
#journey{height:7800vh}
.story-type.scene-caption{padding-top:8svh;background:linear-gradient(#07100bef, #07100b88 28%,transparent 57%)}
.story-type.scene-caption h2{font-size:clamp(38px,5.1vw,82px)}
.story-type.statement h2{font-size:clamp(42px,6.2vw,100px)}
.story-type.statement #story-support{max-width:850px;font-size:clamp(18px,1.8vw,26px);line-height:1.55}
.story-type.flow-title{justify-content:flex-start;align-items:center;padding:6svh 7vw;text-align:center;background:none}
.story-type.flow-title h2{font-size:clamp(38px,4.6vw,74px);width:100%;max-width:1150px}
.story-type.flow-title #story-support{max-width:920px;font-size:clamp(17px,1.45vw,22px);line-height:1.5;margin-top:20px}
#system-flow{position:absolute;z-index:10;left:5vw;right:5vw;top:53%;opacity:0;pointer-events:none;text-align:center}
.system-center{font-size:14px;letter-spacing:.18em;color:#d2dfd7;margin:0 0 30px}.module-chain{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:20px;max-width:1250px;margin:auto}
.system-module{position:relative;min-height:95px;border:1px solid #52655b;background:#101a15;border-radius:10px;padding:18px 8px;display:flex;flex-direction:column;justify-content:center;gap:10px;color:#b0bfb6}
.system-module:not(:last-child):after{content:'';position:absolute;top:50%;left:100%;width:21px;height:1px;background:#52655b}.system-module span{font-size:16px;font-weight:500}.system-module small{font-size:12px;line-height:1.4;color:#a6baae}.system-module.is-active{border-color:#00ff85;color:white}.system-module.is-active:after{background:#00ff85}.system-module.is-current{background:#103425;box-shadow:0 0 25px #00ff8522}.system-module.is-resting{border-color:#52655b;background:#101a15}.system-module.is-resting:after{background:#52655b}.system-module[data-module="2"].is-active{border-color:#00ff85}.system-caption{font-size:12px;color:#9ab1a3;margin-top:24px}
.credibility-inner{height:100%;padding:9vh 8vw;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.credibility-inner>p{font-size:14px;letter-spacing:.08em;margin:9px 0;max-width:800px}.credibility-inner h2{font-size:clamp(38px,5.5vw,88px);margin:38px 0 15px;max-width:1100px}.credibility-inner p.credibility-close{font-size:20px;letter-spacing:0;line-height:1.5}
.interlude-copy{flex-direction:column}.interlude-copy p{max-width:850px;text-align:center;font-size:clamp(17px,1.65vw,24px);line-height:1.55}.interlude-copy h2{font-size:clamp(36px,5.5vw,88px)}.proof-copy p{max-width:760px;margin:20px auto 0;line-height:1.5}.proof-assets{top:45%;height:47%}
#care-note{position:absolute;left:7vw;right:7vw;bottom:4svh;z-index:12;text-align:center;font-size:13px;line-height:1.5;color:#b9c9bf;opacity:0;pointer-events:none}
.finale .cta{margin-top:32px}.finale .demo-context{max-width:420px;line-height:1.5;font-size:13px}
.onyx-conversation{top:22%;max-height:70svh}.onyx-conversation .question{font-size:clamp(22px,2vw,30px)}
@media(max-width:700px){#journey{height:9100vh}.story-type.scene-caption h2{font-size:9.5vw}.story-type.statement h2{font-size:11vw}.story-type.statement #story-support{font-size:18px;line-height:1.5}.story-type.flow-title{padding:6svh 7vw}.story-type.flow-title h2{font-size:9vw}.story-type.flow-title #story-support{font-size:16px;margin-top:16px}#system-flow{left:7vw;right:7vw;top:49%}.system-center{font-size:12px;margin-bottom:14px}.module-chain{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.system-module{padding:10px 4px;min-height:84px;border-radius:7px}.system-module span{font-size:13px}.system-module small{font-size:11px}.system-module:not(:last-child):after{width:11px}.system-module:nth-child(4):after{display:none}.system-caption{margin-top:14px;font-size:12px}.credibility-inner{padding:7vh 7vw}.credibility-inner h2{font-size:10vw;margin-top:30px}.credibility-inner>p{font-size:12px}.credibility-inner p.credibility-close{font-size:18px}.interlude-copy h2{font-size:10vw}.interlude-copy p{font-size:17px;margin-top:23px}.proof-copy h2{font-size:9vw}.proof-copy p{font-size:16px}.proof-assets{top:43%;height:47%}#care-note{font-size:12px;bottom:3svh}.onyx-conversation{top:22%}}
@media(max-height:650px){.story-type.flow-title{padding-top:4svh}.story-type.flow-title h2{font-size:min(6vw,9vh)}.story-type.flow-title #story-support{font-size:14px;line-height:1.35;margin-top:12px}#system-flow{top:52%}.system-center{margin-bottom:12px}.system-module{min-height:65px;padding:8px 5px}.system-module small{font-size:11px}.system-caption{margin-top:10px}.story-type.statement #story-support{font-size:16px}.interlude-copy p{font-size:16px;margin-top:18px}.credibility-inner h2{margin:20px 0 12px}.proof-assets{top:48%;height:44%}.onyx-conversation{top:12%}}
.step-number{font-size:10px;display:block;color:#9bb9a7;font-weight:400;letter-spacing:.08em;margin-bottom:5px}
@media(max-width:700px) and (max-height:650px){#system-flow{top:52%}.system-module{min-height:70px;padding:7px 3px}.system-module small{font-size:10px}.system-center,.system-caption{font-size:11px}.story-type.flow-title #story-support{font-size:14px}.story-type.flow-title h2{font-size:8vw}.step-number{margin-bottom:3px}}

/* Refinement 6: longer visual passages; unchanged reading distance on cards. */
#journey{height:9845.313vh}
.credibility-inner .credibility-eyebrow{white-space:nowrap;max-width:none;font-size:clamp(12px,1.2vw,17px);letter-spacing:.015em}
.credibility-compact{display:none}
@media(max-width:900px){.credibility-full{display:none}.credibility-compact{display:inline}.credibility-inner .credibility-eyebrow{font-size:clamp(11px,2.9vw,15px);letter-spacing:0}}
@media(max-width:700px){#journey{height:11490.625vh}}

/* Refinement 7: identity, framework explanations, and centered book proof. */
.opening .opening-position{width:100%;max-width:1100px;white-space:nowrap;font-size:clamp(14px,1.4vw,20px);letter-spacing:0;text-transform:none}
.credibility-inner h2{margin-top:12px}
.credibility-inner .credibility-eyebrow{margin-bottom:0}
#story-subtitle{font-size:clamp(20px,2.5vw,34px);font-weight:600;line-height:1.3;max-width:900px;margin:24px 0 0;color:#fff;text-wrap:balance}
#story-subtitle:empty{display:none}
.proof-assets{gap:0;justify-content:center}
.proof-assets .book-cover{max-width:100%;width:auto;object-fit:contain}
@media(max-width:700px){#story-subtitle{font-size:22px;margin-top:20px}.credibility-inner h2{margin-top:12px}}
@media(max-height:650px){#story-subtitle{font-size:20px;margin-top:16px}}

/* Keep the right-hand Next Step destination clear; message resolves before arrival. */
.onyx-conversation{left:5vw;right:auto;top:12%;width:34vw;max-width:460px}
@media(max-width:700px){.onyx-conversation{left:7vw;right:7vw;top:auto;bottom:5svh;width:auto;padding:18px}.onyx-conversation .question{font-size:21px;margin-bottom:16px}.onyx-conversation .conversation-label{margin-bottom:12px}.onyx-conversation .answer{padding-top:12px}.onyx-conversation .answer p{font-size:16px}.onyx-conversation .conversation-state{margin-top:12px}.onyx-conversation .example-label{margin-top:10px}}

/* Opening film credit anchored to the bottom of the viewport. */
.opening .film-byline{position:absolute;left:5vw;right:5vw;bottom:max(24px,env(safe-area-inset-bottom));margin:0;text-align:center}

/* An inviting idle gesture; the film's journey remains controlled by scrolling. */
.opening-scroll span{font-size:48px;line-height:1;animation:enter-bounce 1.8s ease-in-out infinite;filter:drop-shadow(0 0 10px #00ff8544)}
@keyframes enter-bounce{0%,100%{transform:translateY(-5px)}50%{transform:translateY(9px)}}
@media(prefers-reduced-motion:reduce){.opening-scroll span{animation:none}}

/* Gap resolution sits beneath the action, centered over a dark lower gradient. */
.story-type.scene-caption[data-scene="problem-gap"]{justify-content:flex-end;align-items:center;text-align:center;padding:5svh 7vw max(6svh,env(safe-area-inset-bottom));background:linear-gradient(0deg,#07100bf5, #07100bb8 28%,transparent 65%)}

/* Proof links and the inhabited closing threshold. */
.proof-assets{top:42%;height:53%;flex-direction:column;gap:18px}
.proof-assets .book-cover{height:calc(100% - 76px);max-width:100%;min-height:0}
.proof-assets .book-link{flex-shrink:0;margin:0;font-size:15px;padding:14px 24px;pointer-events:none}
.finale{justify-content:flex-start}
.finale{background:linear-gradient(#06110be6, #06110b22 35%,#06110b22 60%,#06110bdd)}
.finale>.eyebrow{margin:0 0 12px}.finale h2{font-size:clamp(32px,4.5vw,70px)}
.finale .cta{position:absolute;bottom:17svh;margin:0}
.finale .demo-context{position:absolute;bottom:9svh;margin:0;padding:0 7vw}
.finale .brand-close{position:absolute;bottom:4svh;margin:0;padding:0 7vw}
@media(max-width:700px){.proof-assets{top:41%;height:55%;gap:15px}.finale h2{font-size:8.2vw}.finale .demo-context{font-size:12px}.finale .brand-close{font-size:11px}}

.startup-fallback{display:none}
body.film-fallback{overflow:auto}
.film-fallback .startup-fallback{display:block;padding:32px 7vw;background:#101a15}
.film-fallback #journey{height:auto;min-height:0}
.film-fallback #stage{display:none}
.film-fallback .accessible-story{position:relative;width:auto;height:auto;clip-path:none;white-space:normal;overflow:visible;margin:0;padding:36px 7vw;max-width:900px;line-height:1.6}

/* A single centered closing invitation, with the office still visible behind it. */
.finale{justify-content:center;align-items:center;background:linear-gradient(90deg,#06110b99,#06110ba8,#06110b99)}
.finale>.eyebrow{margin:0 0 18px}
.finale .cta{position:static;margin:28px 0 0}
.finale .demo-context{position:static;margin:14px 0 0;padding:0;max-width:420px}
.finale .brand-close{position:static;margin:24px 0 0;padding:0}
@media(max-height:650px){.finale>.eyebrow{margin-bottom:12px}.finale .cta{margin-top:20px}.finale .brand-close{margin-top:16px}}

/* Scene-specific composition. Black title cards retain their centered treatment. */
.story-type.scene-caption[data-placement]:not([data-placement=""]){padding:8svh 7vw;align-items:flex-start;text-align:left}
.story-type.scene-caption[data-placement]:not([data-placement=""]) h2{width:70%;max-width:1000px;font-size:clamp(38px,4.6vw,74px)}
.story-type.scene-caption[data-placement]:not([data-placement=""]) #story-support{width:48%;max-width:620px}
.story-type.scene-caption[data-placement]:not([data-placement=""]) .headline-line{margin-inline:0}
.story-type.scene-caption[data-placement^="lower"]{justify-content:flex-end;background:linear-gradient(0deg,#07100bf2,#07100b88 26%,transparent 65%)}
.story-type.scene-caption[data-placement="lower-left"]{background:radial-gradient(ellipse at 10% 100%,#07100bf5, #07100ba8 30%,transparent 72%)}
.story-type.scene-caption[data-placement][data-placement="lower-right"]{align-items:flex-end;text-align:right;background:radial-gradient(ellipse at 90% 100%,#07100bf5,#07100ba8 30%,transparent 72%)}
.story-type.scene-caption[data-placement="upper-left"]{background:radial-gradient(ellipse at 10% 0%,#07100bef,#07100b66 30%,transparent 72%)}
.story-type.scene-caption[data-placement][data-placement="upper-right"]{align-items:flex-end;text-align:right;background:radial-gradient(ellipse at 90% 0%,#07100bef,#07100b66 30%,transparent 72%)}
.story-type.scene-caption[data-placement][data-placement$="right"] .headline-line{margin-left:auto;margin-right:0}
.story-type.scene-caption[data-placement][data-scene="customers"]{padding-bottom:12svh}
@media(max-width:700px){
 .story-type.scene-caption[data-placement]:not([data-placement=""]){padding:8svh 7vw}
 .story-type.scene-caption[data-placement]:not([data-placement=""]) h2{width:100%;font-size:9.5vw}
 .story-type.scene-caption[data-placement]:not([data-placement=""]) #story-support{width:100%;max-width:380px;font-size:16px}
 .story-type.scene-caption[data-placement][data-scene="customers"]{padding-bottom:14svh}
}
@media(max-height:650px){.story-type.scene-caption[data-placement]:not([data-placement=""]) h2{font-size:min(4.6vw,9vh)}.story-type.scene-caption[data-placement]:not([data-placement=""]) #story-support{font-size:15px;margin-top:12px}}

/* T.L.C. subheaders sit closer to their chapter titles, in muted gray. */
.story-type[data-scene="traffic-title"] #story-subtitle,
.story-type[data-scene="leads-title"] #story-subtitle,
.story-type[data-scene="customers-title"] #story-subtitle{margin-top:10px;color:#aab2ae}
