/* Scroll-driven depth, layered over the existing brand design. */
body{overflow-x:clip}.scroll-progress{position:fixed;inset:0 auto auto 0;height:3px;width:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#e3509a,#fec48a,#468fc3);z-index:20;pointer-events:none}
.hero{perspective:1200px}.hero-background{transform:scale(1.08);will-change:transform}.hero-top{will-change:transform;transform-origin:center 65%}.hero h1{font-size:clamp(60px,7.6vw,110px);letter-spacing:-.065em}.hero-shade{background:linear-gradient(180deg,#08162280,#08162238 35%,#0816228c 75%,#081622e8)}
.depth-orbit{position:absolute;pointer-events:none;border:1px solid #fec48a60;border-radius:50%;width:520px;height:520px;left:-350px;top:24%;transform:rotateX(62deg) rotateZ(-25deg);box-shadow:0 0 0 28px #ffffff04,0 0 0 29px #ffffff26,0 0 0 65px #ffffff03,0 0 0 66px #ffffff1c}.depth-orbit.second{left:auto;right:-360px;top:16%;border-color:#e3509a66;transform:rotateX(58deg) rotateY(-22deg)}
.approach{padding-top:125px;padding-bottom:140px;perspective:1300px}.section-top h2{font-size:clamp(35px,4.1vw,59px)}.features{gap:28px;perspective:1300px;padding-top:20px}.features article{border-radius:20px;transform-style:preserve-3d;box-shadow:0 25px 55px -35px #12283866;transition:box-shadow .3s,transform .15s ease-out;will-change:transform;min-height:340px}.features article:nth-child(2){margin-top:38px;margin-bottom:-38px}.features article:nth-child(3){margin-top:76px;margin-bottom:-76px}.features article:hover{box-shadow:0 35px 70px -30px #7a01413b}.feature-symbol{display:block;transform:translateZ(35px)}.features h3{transform:translateZ(22px)}.features p{transform:translateZ(14px)}
.journey{max-width:none;background:#102634;color:#fcedf5;border:0;padding:0;margin-bottom:0;position:relative}.journey-scene{position:sticky;top:0;min-height:100svh;max-width:1280px;margin:auto;padding:65px 42px;display:flex;flex-direction:column;justify-content:center;perspective:1400px;isolation:isolate;overflow:hidden}.journey-scene:before{content:'';position:absolute;inset:0;z-index:-1;opacity:.22;background-image:linear-gradient(#468fc355 1px,transparent 1px),linear-gradient(90deg,#468fc355 1px,transparent 1px);background-size:75px 75px;transform:perspective(500px) rotateX(60deg) scale(1.8);transform-origin:center bottom;mask-image:linear-gradient(transparent,#000)}.journey .section-top{position:relative}.journey .eyebrow{color:var(--peach)}.journey .section-top h2 span{color:#aac1d0}.journey-layout{gap:90px;perspective:1500px}.journey .steps button{color:#9eafbc;border-color:#ffffff20;transition:color .3s,transform .3s}.journey .steps button[aria-selected=true]{color:white;transform:translateX(10px)}.journey .steps button[aria-selected=true]>span,.journey .steps button[aria-selected=true] b{color:var(--peach)}.journey-panel{background:linear-gradient(145deg,#29495d,#142b3b);border:1px solid #ffffff30;box-shadow:20px 30px 0 -10px #122838,20px 30px 0 -9px #468fc35c,38px 55px 70px #0006;transform:rotateY(-12deg) rotateX(6deg);transform-style:preserve-3d;will-change:transform}.panel-body{transform:translateZ(30px)}.path-card{background:#ffffff12}.journey:after{display:none}.journey+.line-divider{margin-top:0}.chapter-meter{height:2px;background:#ffffff15;margin-top:38px;overflow:hidden}.chapter-meter span{display:block;width:100%;height:100%;background:linear-gradient(90deg,var(--pink),var(--peach));transform:scaleX(var(--chapter-progress,0));transform-origin:left}
.companion{padding-top:80px;padding-bottom:135px;perspective:1300px;gap:100px}.mascot-frame{box-shadow:0 40px 80px -35px #7a01414d;border:1px solid #fff;transform:rotateY(10deg) rotateZ(-3deg);will-change:transform;transition:box-shadow .3s}.companion h2{font-size:clamp(48px,5vw,72px)}.companion-copy{position:relative;z-index:1}.closing{padding:110px 20px;perspective:900px}.closing h2{font-size:clamp(38px,5vw,70px)}.closing-lines:before,.closing-lines:after{width:370px;height:370px}.closing-lines:before{left:-230px}.closing-lines:after{right:-230px}.closing>img{width:65px;height:65px;filter:drop-shadow(0 12px 10px #7a014126)}
.motion-ready .reveal{opacity:.2;transform:translateY(45px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.motion-ready .reveal.is-visible{opacity:1;transform:translateY(0)}
@media(min-width:901px) and (prefers-reduced-motion:no-preference){.motion-ready .journey{min-height:230svh}.motion-ready .journey-scene{height:100svh}}
@media(max-width:900px){.features{gap:16px}.features article:nth-child(n){margin:0}.journey-scene{padding:65px 28px;min-height:auto}.journey-layout{gap:35px}.journey-panel{transform:rotateY(-5deg);box-shadow:10px 15px 0 -5px #122838,10px 15px 0 -4px #468fc35c,0 25px 50px #0003}.companion{gap:40px}.depth-orbit{opacity:.45}.closing-lines{opacity:.45}}
@media(max-width:680px){.hero h1{font-size:60px}.approach{padding-top:75px;padding-bottom:65px}.features{padding-top:0;gap:23px}.features article{min-height:auto}.journey-scene{padding:55px 22px 65px}.journey-layout{gap:30px}.journey .steps button[aria-selected=true]{transform:none}.journey-panel{transform:none}.companion{padding-top:20px;padding-bottom:75px}.mascot-frame{transform:none}.closing{padding:70px 20px}.depth-orbit{display:none}.chapter-meter{margin-top:28px}}
@media(prefers-reduced-motion:reduce){.hero-background,.hero-top,.journey-panel,.mascot-frame,.features article,.motion-ready .reveal{transform:none!important;opacity:1!important;will-change:auto}.journey{min-height:0!important}.journey-scene{position:relative;height:auto!important;min-height:0}.scroll-progress,.depth-orbit{display:none}}
@media(min-width:901px) and (max-height:759px){.motion-ready .journey{min-height:0}.motion-ready .journey-scene{position:relative;height:auto;min-height:0}.journey-scene{padding-block:60px}}
/* Persistent navigation above all scrolling layers. */
.header{position:fixed;inset:0 0 auto;z-index:30;max-width:none;height:82px;padding-inline:max(30px,calc((100vw - 1276px)/2));background:rgba(18,40,56,.86);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid #ffffff24;box-shadow:0 4px 24px #08162218}
.scroll-progress{z-index:31}.skip{z-index:40}html{scroll-padding-top:106px}
.journey-scene{padding-top:110px}
@media(max-width:680px){.header{height:72px;padding-inline:20px}html{scroll-padding-top:92px}.journey-scene{padding-top:45px}}
.header{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;transition:background .25s ease,box-shadow .25s ease}
.header.is-scrolled{background:rgba(18,40,56,.86);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 4px 24px #08162218}
.header .brand-lockup{display:flex;align-items:center;gap:11px;width:225px;height:48px;overflow:visible}
.header .brand-lockup .brand-icon{width:36px;height:42px;flex:0 0 36px;filter:none;object-fit:contain}
.header .brand-lockup .brand-wordmark{width:178px;height:42px;object-fit:contain}
@media(max-width:680px){.header .brand-lockup{width:191px;gap:9px}.header .brand-lockup .brand-icon{width:30px;height:36px;flex-basis:30px}.header .brand-lockup .brand-wordmark{width:152px;height:36px}}
.header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}
.header .header-actions .button{display:inline-flex;white-space:nowrap;gap:12px}
.header .child-entry{background:var(--peach);color:var(--navy);border:1px solid #ffe2c0;box-shadow:0 4px 20px #fec48a20}
.header .child-entry:hover{background:#ffd6ad;box-shadow:0 6px 26px #fec48a40}
@media(min-width:1101px) and (max-width:1250px){.header{gap:16px;padding-inline:24px}.header nav{gap:16px;font-size:12px}.header .header-actions .button{font-size:12px;padding-inline:12px}.header .brand-lockup{width:190px}.header .brand-lockup .brand-wordmark{width:143px}}
@media(max-width:1100px){.header{height:122px;flex-wrap:wrap;justify-content:space-between;align-content:center;gap:8px 20px}.header-actions{flex-basis:100%;justify-content:flex-end}.header nav{display:flex}.header nav a{font-size:12px}.header .header-actions .button{padding:9px 14px;font-size:12px}.hero{padding-top:160px}html{scroll-padding-top:142px}.journey-scene{padding-top:145px}}
@media(max-width:680px){.header{height:122px;padding-inline:16px}.header-actions{justify-content:space-between;gap:8px}.header .header-actions .button{flex:1;padding:9px 8px;font-size:11px;gap:7px}.header .header-actions .button span{font-size:16px}.journey-scene{padding-top:45px}.header .brand-lockup{height:38px}}
/* Audience labels above the two platform entry points. */
.header-actions{align-items:flex-end}
.header-entry{display:flex;flex-direction:column;gap:5px;min-width:0}
.header-entry-label{color:#fcedf5;font-size:11px;line-height:1.3;font-weight:500;letter-spacing:.5px;padding-left:2px}
.header .header-entry .button{min-height:40px;padding-block:10px}
@media(max-width:1100px){.header{height:144px}.hero{padding-top:182px}html{scroll-padding-top:164px}.journey-scene{padding-top:165px}}
@media(max-width:680px){.header-entry{flex:1}.header-entry-label{font-size:10px;letter-spacing:.2px}.header .header-entry .button{width:100%;min-height:38px;padding:9px 6px}.journey-scene{padding-top:45px}}
/* More breathing room for navigation and audience labels. */
.header{height:96px;padding-top:10px}
.header-entry-label{font-size:13px;line-height:1.4;letter-spacing:.2px}
.header-entry{gap:6px}
html{scroll-padding-top:120px}
@media(max-width:1100px){.header{height:158px;padding-top:10px}.hero{padding-top:196px}html{scroll-padding-top:178px}.journey-scene{padding-top:179px}}
@media(max-width:680px){.header-entry-label{font-size:12px;letter-spacing:0}.journey-scene{padding-top:45px}}
/* Social channels form a quiet second line beneath the brand. */
.header-brand-group{display:flex;flex-direction:column;gap:5px;flex-shrink:0;align-items:flex-start}
.header .header-brand-group .brand-lockup{height:37px}
.header-social{display:flex;align-items:center;gap:9px;padding-left:45px;perspective:600px}
.header-social-icon{width:27px;height:27px;padding:6px;display:grid;place-items:center;position:relative;background:linear-gradient(145deg,#fff,#fcedf5);border:1px solid #ffffffc9;border-radius:7px;box-shadow:0 3px 0 #bc9bae,0 5px 10px #0002;transform:rotateX(6deg);transition:transform .2s,box-shadow .2s;color:#122838;text-decoration:none}
.header-social-icon:nth-child(even){background:linear-gradient(145deg,#fff,#dfeefa);box-shadow:0 3px 0 #91aec4,0 5px 10px #0002}
.header-social-icon img{width:15px;height:15px;object-fit:contain;opacity:.85}
.header-social-icon:hover,.header-social-icon:focus-visible{transform:translateY(-3px) rotateY(-14deg) rotateZ(-5deg);box-shadow:0 5px 0 #bc9bae,0 10px 16px #0003}
.header-social-icon[aria-disabled=true]{cursor:default}
.header-social-tip{position:absolute;top:calc(100% + 12px);left:0;white-space:nowrap;padding:5px 9px;border:1px solid #ffffff25;background:#122838;color:#fff;border-radius:6px;font-size:11px;line-height:1.4;opacity:0;visibility:hidden;pointer-events:none;transform:rotateZ(0);z-index:5}
.header-social-icon:hover .header-social-tip,.header-social-icon:focus-visible .header-social-tip{opacity:1;visibility:visible}
@media(max-width:1100px){.header{height:178px}.hero{padding-top:216px}html{scroll-padding-top:198px}.journey-scene{padding-top:199px}.header-brand-group{gap:4px}}
@media(max-width:680px){.header-social{padding-left:36px;gap:8px}.header-social-icon{width:25px;height:25px;padding:5px}.header .header-brand-group .brand-lockup{height:32px}.journey-scene{padding-top:45px}}
@media(pointer:coarse){.header-social{gap:0;padding-left:28px}.header-social-icon{margin:5px 8px}.header-social-icon:before{content:'';position:absolute;inset:-8px}}
@media(prefers-reduced-motion:reduce){.header-social-icon,.header-social-icon:hover,.header-social-icon:focus-visible{transform:none;transition:none}}
/* A single social control with a continuous, hoverable semicircular fan. */
.header .header-brand-group{position:relative;gap:0}
.header .header-brand-group .brand-lockup{height:48px}
.header .header-social.social-fan{position:absolute;top:calc(100% + 80px);left:62px;width:46px;height:46px;padding:0;display:block;perspective:none;z-index:50}
.social-fan-toggle{width:46px;height:46px;position:relative;z-index:3;display:grid;place-items:center;border:1px solid #ffffffbb;border-radius:15px;background:linear-gradient(145deg,#fff,#fcedf5);color:#7a0141;box-shadow:0 4px 0 #bc9bae,0 8px 20px #12283822;cursor:pointer;transition:transform .25s,background .25s}
.social-fan-toggle svg{width:22px;height:22px}
.social-fan.is-open .social-fan-toggle{background:#fec48a;transform:rotate(-8deg)}
.social-fan-panel{position:absolute;left:-105px;bottom:-12px;width:256px;height:160px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s,visibility .2s}
.social-fan.is-open .social-fan-panel{opacity:1;visibility:visible;pointer-events:auto}
.social-fan-bridge{position:absolute;inset:0;border-radius:145px 145px 25px 25px;background:linear-gradient(160deg,#122838f5,#294356f5);border:1px solid #ffffff35;box-shadow:0 14px 35px #1228382b;backdrop-filter:blur(15px)}
.header .social-fan .header-social-icon{position:absolute;width:42px;height:42px;padding:10px;margin:0;left:107px;top:96px;border-radius:12px;opacity:0;transform:translate(0,0) scale(.5);transition:transform .3s cubic-bezier(.2,.8,.2,1),opacity .2s;z-index:2}
.header .social-fan .header-social-icon img{width:21px;height:21px}
.header .social-fan .header-social-icon[data-network="facebook"]{--fan-x:-95px;--fan-y:0px}
.header .social-fan .header-social-icon[data-network="instagram"]{--fan-x:-68px;--fan-y:-58px}
.header .social-fan .header-social-icon[data-network="tiktok"]{--fan-x:0px;--fan-y:-84px}
.header .social-fan .header-social-icon[data-network="youtube"]{--fan-x:68px;--fan-y:-58px}
.header .social-fan .header-social-icon[data-network="linkedin"]{--fan-x:95px;--fan-y:0px}
.header .social-fan.is-open .header-social-icon{opacity:1;transform:translate(var(--fan-x),var(--fan-y)) scale(1)}
.header .social-fan.is-open .header-social-icon:hover,.header .social-fan.is-open .header-social-icon:focus-visible{transform:translate(var(--fan-x),calc(var(--fan-y) - 5px)) rotate(-7deg) scale(1.08)}
.header .social-fan .header-social-tip{left:50%;top:calc(100% + 8px);transform:translateX(-50%);font-size:10px;z-index:10}
@media(max-width:1100px){.header .header-social.social-fan{top:calc(100% + 135px);left:62px}}
@media(max-width:680px){.header .header-brand-group .brand-lockup{height:38px}.header .header-social.social-fan{top:calc(100% + 134px);left:89px}.hero-top{padding-top:135px}}
@media(prefers-reduced-motion:reduce){.social-fan-toggle,.social-fan-panel,.header .social-fan .header-social-icon{transition:none}}
/* Transparent fan keeps its invisible pointer bridge between the buttons. */
.social-fan-bridge{background:transparent;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.social-fan-connectors{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:1;color:#e3509a}
.social-fan-connectors path{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-dasharray:3 5;vector-effect:non-scaling-stroke}
/* Compact fan, centered underneath the pair of entry buttons. */
.header-actions{position:relative}
.header .header-actions .header-social.social-fan{position:absolute;left:50%;top:calc(100% + 70px);transform:translateX(-50%);padding:0;width:46px;height:46px}
.header .social-fan .header-social-icon{width:36px;height:36px;left:110px;top:99px;padding:8px}
.header .social-fan .header-social-icon img{width:19px;height:19px}
.header .social-fan .header-social-icon[data-network="facebook"]{--fan-x:-66px;--fan-y:0px}
.header .social-fan .header-social-icon[data-network="instagram"]{--fan-x:-47px;--fan-y:-42px}
.header .social-fan .header-social-icon[data-network="tiktok"]{--fan-x:0px;--fan-y:-64px}
.header .social-fan .header-social-icon[data-network="youtube"]{--fan-x:47px;--fan-y:-42px}
.header .social-fan .header-social-icon[data-network="linkedin"]{--fan-x:66px;--fan-y:0px}
@media(max-width:680px){.header .header-actions .header-social.social-fan{left:50%;top:calc(100% + 70px)}}
/* Right-edge social trigger with a left-opening semicircle. */
.header .header-actions .header-social.social-fan{position:fixed;left:auto;right:22px;top:calc(96px + 92px);transform:none}
.header .social-fan-panel{left:-105px;bottom:-80px;height:228px}
.header .social-fan-bridge{inset:10px 74px 10px 21px;border-radius:110px 24px 24px 110px}
.header .social-fan-connectors{height:160px;top:0}
.header .social-fan .header-social-icon[data-network="facebook"]{--fan-x:-30px;--fan-y:-61px}
.header .social-fan .header-social-icon[data-network="instagram"]{--fan-x:-57px;--fan-y:-34px}
.header .social-fan .header-social-icon[data-network="tiktok"]{--fan-x:-70px;--fan-y:0px}
.header .social-fan .header-social-icon[data-network="youtube"]{--fan-x:-57px;--fan-y:34px}
.header .social-fan .header-social-icon[data-network="linkedin"]{--fan-x:-30px;--fan-y:61px}
.header .social-fan .header-social-tip{left:auto;right:calc(100% + 10px);top:50%;transform:translateY(-50%)}
@media(max-width:1100px){.header .header-actions .header-social.social-fan{left:auto;right:22px;top:calc(178px + 92px);transform:none}}
@media(max-width:680px){.header .header-actions .header-social.social-fan{left:auto;right:14px;top:calc(178px + 82px);transform:none}}
/* Enlarge the header brand symbol without changing the wordmark or layout. */
.header .brand-lockup .brand-icon{transform:scale(1.15);transform-origin:center}
