/* Loaded only above the existing mobile breakpoint. */
.desktop-only[hidden]{display:grid!important}
body:has(.desktop-hero) header{opacity:1;visibility:visible;pointer-events:auto}
.desktop-hero{position:relative;background:#f9f8eb;color:#111;grid-template-columns:minmax(0,39fr) minmax(0,61fr);align-items:center;gap:1.5vw;padding:150px max(4vw,30px) 90px;min-height:min(960px,100svh);overflow:hidden}
.desktop-hero-copy{position:relative;z-index:2;max-width:610px}
.desktop-hero h1{font-size:clamp(42px,4.5vw,84px);font-weight:600;line-height:1.04;letter-spacing:-.065em}
.desktop-hero .eyebrow{color:#335e4e;margin-bottom:24px}
.desktop-intro{font-size:clamp(14px,1.1vw,19px);line-height:1.7;margin-top:28px;max-width:490px}
.desktop-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.desktop-actions .button{gap:16px;background:#161b1b;color:#fff;min-height:52px;font-size:12px}
.desktop-actions .ghost{background:transparent;color:#171c1a;border:1px solid #57645c}
.growth-ecosystem{position:relative;min-width:0;margin:0 -4vw 0 -1vw;aspect-ratio:16/11;align-self:center}
.growth-ecosystem picture,.growth-ecosystem video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.growth-ecosystem img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.growth-ecosystem video{opacity:0;mix-blend-mode:multiply;pointer-events:none}
.growth-ecosystem video.ready{opacity:1}
.ecosystem-labels{position:absolute;bottom:2%;left:7%;right:8%;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 22px;font-size:12px;color:#2d4c40}
.ecosystem-labels span+span:before{content:'→';margin-right:22px;color:#6a887a}
.loop-toggle{position:absolute;bottom:-30px;right:8%;border:0;background:transparent;color:#335e4e;font-size:11px;text-decoration:underline;text-underline-offset:4px;padding:10px}
.desktop-hero-next{position:absolute;bottom:22px;left:4vw;right:4vw;border-top:1px solid #18291e25;padding-top:16px;display:flex;justify-content:space-between;font-size:11px;letter-spacing:.08em;color:#375548}
#visual-intro{border-top:1px solid #97c5b42b}
#film-stage{display:grid;grid-template-columns:40% 60%;align-items:center}
.desktop-process{position:relative;z-index:3;padding:70px 0 50px 5vw;max-width:560px;align-content:center}
.desktop-process h2{font-size:clamp(36px,3.8vw,64px)}
.desktop-process>p:not(.eyebrow){margin:24px 0;color:var(--muted);font-size:16px;max-width:380px}
.desktop-process ol{padding:0;list-style:none;counter-reset:process;margin:0}
.desktop-process li{counter-increment:process;position:relative;padding:18px 0 18px 34px;border-top:1px solid #97c5b425}
.desktop-process li:before{content:'0' counter(process);position:absolute;left:0;top:19px;color:var(--mint);font-size:10px}
.desktop-process strong{display:block;font-size:14px;font-weight:500}
.desktop-process li span{display:block;font-size:12px;color:var(--muted);line-height:1.7;margin-top:4px;max-width:350px}
#film-stage .film-poster,#film-canvas{left:42%;top:14%;width:58%;height:72%;transform:none;object-fit:contain}
#film-stage .film-poster img{object-fit:contain;transform:none}
#film-stage .scroll-cue{left:72%;bottom:5%}
.home-title,.home-title+.hero-actions{display:none}
@media(max-width:1050px){.desktop-hero{grid-template-columns:42% 58%;padding-top:130px}.desktop-hero h1{font-size:44px}.desktop-intro{font-size:14px}.desktop-actions .button{padding:12px 15px;min-height:46px}.desktop-process{padding-left:4vw}.desktop-process>p:not(.eyebrow){font-size:14px}.desktop-process li{padding-block:12px}.desktop-process li:before{top:14px}}
@media(prefers-reduced-motion:reduce){#film-stage{min-height:720px;height:auto}.growth-ecosystem video{display:none}}
/* Blend the scene into the hero instead of presenting a rectangular player. */
.desktop-hero-copy,.desktop-process{font-family:Arial,sans-serif;font-style:normal}
.growth-ecosystem{aspect-ratio:16/9}
.growth-ecosystem picture,.growth-ecosystem video{mask-image:linear-gradient(to right,transparent,#000 7%,#000 94%,transparent),linear-gradient(to bottom,transparent,#000 9%,#000 91%,transparent);mask-composite:intersect}
.ecosystem-labels{bottom:-40px}

/* Balanced, borderless desktop Growth Machine section. */
#film-stage{grid-template-columns:1fr 1fr}
.desktop-process{width:100%;max-width:none;padding:100px 4vw 80px 6vw}
.desktop-process h2{font-size:clamp(36px,3.6vw,60px)}
.desktop-process>p:not(.eyebrow){max-width:440px}
.desktop-process li span{max-width:420px}
#film-stage .film-poster,#film-canvas{left:50%;top:50%;width:48%;height:auto;aspect-ratio:1600/894;transform:translateY(-50%);object-fit:contain;mask-image:radial-gradient(ellipse at center,#000 42%,transparent 72%);-webkit-mask-image:radial-gradient(ellipse at center,#000 42%,transparent 72%)}
#film-stage .film-poster img{display:block;width:100%;height:100%;object-fit:contain}
#film-stage .scroll-cue{display:none}
@media(max-width:1050px){.desktop-process{padding:100px 3vw 60px 4vw}.desktop-process li{padding-block:12px}}

/* Desktop process is now a compact text section; retain the mobile story. */
#visual-intro{height:auto!important}
#film-stage{position:relative;height:auto;min-height:0;display:block}
#film-stage .film-poster,#film-stage #film-canvas{display:none}
.desktop-process{max-width:1240px;margin-inline:auto;padding:90px 6vw;grid-template-columns:1fr 1fr;column-gap:6vw}
.desktop-process .eyebrow,.desktop-process h2,.desktop-process>p{grid-column:1}
.desktop-process ol{grid-column:2;grid-row:1/4;align-self:center}
.desktop-process>p:not(.eyebrow){margin-bottom:0}

/* A continuous, readable process section across screen sizes. */
#film-stage{background:#f9f8eb;color:#17241f}
.desktop-process{display:grid!important;grid-template-columns:1fr;gap:0;padding:80px 6vw 90px;max-width:1360px}
.desktop-process .eyebrow,.desktop-process h2,.desktop-process>p{grid-column:auto}
.desktop-process .eyebrow{color:#335e4e;margin-bottom:18px}
.desktop-process h2{font-size:clamp(36px,4vw,60px);line-height:1.08}
.desktop-process h2 br{display:none}
.desktop-process h2 em{margin-left:.18em;color:#335e4e}
.desktop-process>p:not(.eyebrow){max-width:620px;color:#52645a;margin:22px 0 38px;line-height:1.7}
.desktop-process ol{grid-column:auto;grid-row:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.desktop-process li{padding:26px 0 0;border-top:1px solid #aab8ab}
.desktop-process li:before{position:static;display:block;color:#335e4e;font-size:12px;margin-bottom:20px}
.desktop-process strong{font-size:18px;line-height:1.4}
.desktop-process li span{font-size:14px;color:#52645a;max-width:none;margin-top:12px}
#film-stage .mobile-story-copy{display:none!important}
@media(max-width:760px){
 .desktop-hero{grid-template-columns:1fr;gap:22px;padding:110px 24px 75px;min-height:0}
 .desktop-hero-copy{max-width:560px}
 .desktop-hero h1{font-size:clamp(40px,10vw,64px);line-height:1.06}
 .desktop-hero .eyebrow{font-size:10px;margin-bottom:20px}
 .desktop-intro{font-size:15px;margin-top:22px;max-width:100%}
 .desktop-actions{gap:10px;margin-top:24px}
 .desktop-actions .button{font-size:11px;padding:13px 16px;min-height:48px}
 .growth-ecosystem{width:calc(100% + 32px);margin:8px -16px 34px;aspect-ratio:16/9}
 .ecosystem-labels{bottom:-26px;left:0;right:0;gap:8px;font-size:10px}
 .ecosystem-labels span+span:before{margin-right:8px}
 .desktop-hero-next{left:24px;right:24px;font-size:10px}
 #film-stage{height:auto;min-height:0}
 .desktop-process{padding:56px 24px}
 .desktop-process h2{font-size:36px}
 .desktop-process ol{grid-template-columns:1fr;gap:24px}
 .desktop-process li{padding:22px 0 0}
 .desktop-process li:before{margin-bottom:12px}
 .desktop-process>p:not(.eyebrow){font-size:15px;margin-bottom:30px}
}

/* Never blend moving cards with a second, static copy of the scene. */
.growth-ecosystem{isolation:isolate}
.growth-ecosystem:has(video.ready) picture{visibility:hidden}

/* Cinematic hero: wide scene with headline and conversion copy along its base. */
.desktop-hero{display:grid!important;grid-template-columns:1fr;align-items:end;min-height:850px;height:110svh;max-height:1080px;padding:130px 5vw 110px;background:#f9f8eb;color:#f9f8eb;isolation:isolate}
.desktop-hero:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,transparent 30%,rgba(16,36,29,.08) 44%,rgba(16,36,29,.9) 70%,#10241d 95%)}
.desktop-hero .growth-ecosystem{position:absolute;inset:65px 0 0;width:100%;height:82%;margin:0;aspect-ratio:auto;z-index:0}
.desktop-hero .growth-ecosystem picture,.desktop-hero .growth-ecosystem video{width:100%;height:100%;object-fit:contain;object-position:center top;mask-image:none;-webkit-mask-image:none;mix-blend-mode:normal}
.desktop-hero .growth-ecosystem img{object-fit:contain;object-position:center top;mix-blend-mode:normal}
.desktop-hero-copy{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:end;gap:7vw;width:100%;max-width:1440px;margin:0 auto;z-index:2}
.desktop-hero h1{font-size:clamp(50px,5.4vw,88px);line-height:1.04;letter-spacing:-.055em;max-width:790px;color:#f9f8eb;text-wrap:balance}
.desktop-hero .eyebrow{color:#b8dccc;margin-bottom:22px}
.hero-details{max-width:460px;padding-bottom:4px}
.desktop-intro{font-size:clamp(15px,1.2vw,18px);line-height:1.65;max-width:none;margin:0;color:#e0e8df}
.desktop-actions{margin-top:26px;gap:12px}
.desktop-actions .button{background:#c7ead5;color:#10241d;border:1px solid #c7ead5;font-size:12px;padding:16px 20px}
.desktop-actions .ghost{background:transparent;color:#f9f8eb;border-color:#d8e6db70}
.desktop-hero .ecosystem-labels{display:none}
.desktop-hero-next{z-index:2;left:5vw;right:5vw;bottom:28px;color:#c7ddcf;border-color:#c7ddcf40}
@media(min-width:761px) and (max-width:1050px){.desktop-hero{min-height:800px}.desktop-hero-copy{gap:4vw;grid-template-columns:1.2fr 1fr}.desktop-hero h1{font-size:54px}.desktop-actions .button{font-size:11px;padding:13px 15px}}
@media(max-width:760px){
 .desktop-hero{height:auto;min-height:880px;max-height:none;padding:390px 24px 92px}
 .desktop-hero .growth-ecosystem{inset:85px 0 auto;height:360px;width:100%;margin:0}
 .desktop-hero:after{background:linear-gradient(180deg,transparent 190px,rgba(16,36,29,.2) 300px,#10241d 430px)}
 .desktop-hero-copy{grid-template-columns:1fr;gap:25px}
 .desktop-hero h1{font-size:clamp(40px,9.6vw,64px);max-width:570px}
 .desktop-hero .eyebrow{margin-bottom:16px}
 .hero-details{max-width:570px;padding:0}
 .desktop-intro{font-size:15px}
 .desktop-actions{margin-top:22px}
 .desktop-actions .button{font-size:11px;padding:14px 16px;min-height:48px}
 .desktop-hero-next{left:24px;right:24px;bottom:25px}
}

/* Continuous transition from the hero into software and proof. */
.desktop-hero-next{border-top:0}
.growth-marquee{padding:8px 0 80px;background:linear-gradient(#10241d 0%,#10241d 60%,#f9f8eb 100%);overflow:hidden;color:#eff6ec}
.marquee-heading{display:flex;justify-content:space-between;align-items:center;padding:0 5vw 24px;gap:20px;font:12px/1.5 Arial,sans-serif;letter-spacing:.04em}
.marquee-heading p{margin:0;color:#c7ddcf}.marquee-heading>span{font-size:11px;color:#a6c3b1}
.marquee-window{width:100%;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.marquee-track{display:flex;width:max-content;animation:marquee-left 100s linear infinite;will-change:transform}
.marquee-group{display:flex;flex-shrink:0;gap:16px;padding-right:16px}
.software-window{margin-bottom:24px}.software-track{animation-duration:70s}
.software-chip{display:flex;align-items:center;justify-content:center;min-width:150px;padding:17px 24px;border:1px solid #b7d6c333;background:#ffffff06;border-radius:100px;font:500 17px/1.2 Arial,sans-serif;white-space:nowrap}
.proof-tile{width:320px;min-height:210px;display:flex;flex-direction:column;gap:18px;padding:25px;border:1px solid #c2d4c4;border-radius:18px;background:#f9f8eb;color:#15291e;box-shadow:0 12px 24px #04170c15;font-family:Arial,sans-serif}
.proof-type{display:flex;justify-content:space-between;color:#4c715c;font-size:9px;letter-spacing:.12em}.proof-type>span{font-size:18px;line-height:1}
.proof-tile strong{font-size:25px;line-height:1.18;letter-spacing:-.035em;font-weight:600}
.proof-description{font-size:13px;line-height:1.6;color:#53665b;margin-top:auto}
.proof-tile:hover{background:#dcefdc;border-color:#87b798}.proof-tile:focus-visible{outline:3px solid #599970;outline-offset:-5px}
.growth-marquee:hover .marquee-track{animation-play-state:paused}
.growth-marquee:focus-within .marquee-track{animation:none;transform:none;will-change:auto}
.growth-marquee:focus-within .marquee-window{overflow-x:auto;mask-image:none}
.growth-marquee:focus-within .marquee-group[aria-hidden]{display:none}
@keyframes marquee-left{to{transform:translateX(-50%)}}
@media(max-width:760px){.growth-marquee{padding-bottom:48px}.marquee-heading{padding:0 24px 20px}.marquee-heading>span{display:none}.software-chip{min-width:130px;font-size:15px;padding:14px 20px}.proof-tile{width:280px;min-height:215px;padding:22px}.proof-tile strong{font-size:23px}.marquee-window{overflow-x:auto;mask-image:none}.marquee-track{animation-duration:120s}.software-track{animation-duration:85s}}
@media(prefers-reduced-motion:reduce){.marquee-track{animation:none;will-change:auto}.marquee-window{overflow-x:auto;mask-image:none}.marquee-group[aria-hidden]{display:none}}

/* An alternating rhythm of prominent results and compact service cards. */
.proof-track .marquee-group{align-items:center;gap:18px;padding-right:18px}
.proof-tile{flex-shrink:0;min-height:0;box-sizing:border-box;gap:15px}
.result-tile{width:380px;height:320px;padding:27px;background:#f4f6e9}
.result-tile strong{font-size:32px;line-height:1.1;max-width:320px}
.service-tile{width:250px;height:272px;padding:22px;background:#d5e7d7;border-color:#aac9af}
.service-tile strong{font-size:23px;line-height:1.15}
.proof-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#cce3cf;color:#255e40;flex-shrink:0}
.proof-icon svg{width:23px;height:23px}
.service-tile .proof-icon{background:#f8faef}
.proof-tile .proof-description{font-size:13px;line-height:1.5}
.software-chip{gap:12px;padding:10px 22px 10px 10px;min-height:60px}
.software-logo{width:40px;height:40px;border-radius:12px;background:#fff;display:grid;place-items:center;flex-shrink:0;overflow:hidden}
.software-logo img{width:28px;height:28px;object-fit:contain}
@media(max-width:760px){.result-tile{width:320px;height:320px;padding:24px}.result-tile strong{font-size:29px}.service-tile{width:230px;height:272px;padding:20px}.service-tile strong{font-size:22px}.software-chip{font-size:15px}}

/* Compact two-row tiles inspired by the supplied layout reference. */
.proof-window+.proof-window{margin-top:12px}
.proof-track .marquee-group{gap:12px;padding-right:12px;align-items:stretch}
.proof-tile{position:relative;box-shadow:none;border:0;border-radius:12px;background:#f2f3ef;height:140px;min-height:140px;gap:7px}
.result-tile{width:360px;padding:17px 20px}
.result-tile .proof-type{font-size:10px;letter-spacing:.03em;color:#647369;padding-right:28px}
.result-tile strong{font-size:24px;line-height:1.15;max-width:300px;letter-spacing:-.03em}
.result-tile .proof-description{font-size:11px;line-height:1.35;margin-top:auto;max-width:310px}
.result-tile .proof-icon{position:absolute;right:18px;top:15px;width:22px;height:22px;background:transparent;border-radius:0}
.result-tile .proof-icon svg{width:19px;height:19px}
.result-tile .proof-type>span{display:none}
.service-tile{width:180px;padding:20px 14px;align-items:center;justify-content:center;gap:11px;background:#e8eee6;text-align:center}
.service-tile strong{font-size:14px;line-height:1.3;letter-spacing:0;max-width:155px}
.service-tile .proof-icon{width:28px;height:28px;background:transparent;border-radius:0}
.service-tile .proof-icon svg{width:26px;height:26px}
.service-tile .proof-type{display:none}
.service-tile .proof-description{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.proof-track{animation-duration:85s}.second-proof-track{animation-duration:92s}
.growth-marquee{padding-bottom:55px}
@media(max-width:760px){.proof-tile{height:140px;min-height:140px}.result-tile{width:300px;padding:16px 18px}.result-tile strong{font-size:22px}.result-tile .proof-description{font-size:10px}.service-tile{width:150px;padding:16px 12px}.service-tile strong{font-size:13px}.growth-marquee{padding-bottom:36px}}

/* Fade the actual scene edges, including letterboxed video boundaries. */
.desktop-hero .growth-ecosystem picture,.desktop-hero .growth-ecosystem video{mask-image:linear-gradient(90deg,transparent 0%,#000 8%,#000 92%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 8%,#000 92%,transparent 100%)}
.desktop-hero .growth-ecosystem{width:min(100%,calc(clamp(850px,110svh,1080px) * 1.4577778));max-width:none;left:50%;right:auto;transform:translateX(-50%)}
@media(max-width:760px){.desktop-hero .growth-ecosystem{width:100%;max-width:none;left:0;transform:none}}

/* Phone layout: content-sized hero and deliberate, swipeable proof cards. */
@media(max-width:760px){
 .desktop-hero{height:auto;min-height:0;max-height:none;align-items:start;gap:26px;padding:calc(var(--mobile-header,64px) + 20px) 20px 28px;background:#10241d}
 .desktop-hero:after{display:none}
 .desktop-hero .growth-ecosystem{position:relative;inset:auto;order:-1;width:100%;height:auto;aspect-ratio:16/9;margin:0;transform:none;overflow:hidden;border-radius:14px;background:#f9f8eb}
 .desktop-hero-copy{gap:20px;min-width:0}
 .desktop-hero h1{font-size:clamp(34px,9.4vw,52px);line-height:1.09;letter-spacing:-.045em;text-wrap:initial}
 .desktop-hero .eyebrow{margin-bottom:14px;line-height:1.5}
 .desktop-intro{font-size:16px;line-height:1.65}
 .desktop-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:22px}
 .desktop-actions .button{justify-content:center;width:100%;min-height:50px;font-size:14px;padding:14px 18px}
 .desktop-hero-next{position:static;min-height:44px;align-items:center;padding-top:10px;font-size:12px}
 .growth-marquee{padding-top:12px}
 .marquee-heading{padding-inline:20px}
 .marquee-window{overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-inline:20px;padding:0 20px 12px;mask-image:none;-webkit-mask-image:none}
 .marquee-track{animation:none!important;transform:none!important;will-change:auto}
 .marquee-group[aria-hidden="true"]{display:none}
 .proof-tile{scroll-snap-align:start;height:auto;min-height:164px;flex-shrink:0}
 .result-tile{width:min(300px,80vw);padding:20px}
 .service-tile{width:min(230px,70vw);padding:20px}
 .result-tile strong{font-size:24px}.service-tile strong{font-size:20px}
 .result-tile .proof-description,.service-tile .proof-description{font-size:13px;line-height:1.5}
 .software-chip{scroll-snap-align:start}
 .desktop-process{padding:44px 20px}
 .desktop-process h2 em{margin-left:0}
}
