
/* EOS Horizon - motion system V1 */
:root{--ease-spring:cubic-bezier(.2,.8,.2,1);--motion-speed:1}
.motion-toggle{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:9px 12px;font-size:.78rem;font-weight:800;white-space:nowrap}
.motion-toggle .motion-dot{width:10px;height:10px;border-radius:50%;background:linear-gradient(135deg,var(--orange),var(--coral));box-shadow:0 0 0 5px rgba(255,157,46,.12)}
.motion-toggle[aria-pressed="true"] .motion-dot{background:#9d96a8;box-shadow:none}
.hero-motion-stage{position:relative;min-height:520px;display:grid;place-items:center;isolation:isolate}
.hero-motion-stage::before,.hero-motion-stage::after{content:"";position:absolute;border-radius:50%;filter:blur(1px);z-index:-1;animation:ambientFloat calc(8s * var(--motion-speed)) ease-in-out infinite}
.hero-motion-stage::before{width:240px;height:240px;background:rgba(255,200,74,.18);top:15px;right:10px}
.hero-motion-stage::after{width:180px;height:180px;background:rgba(85,169,220,.15);left:20px;bottom:25px;animation-delay:-3s}
.hero-motion-stage img{width:min(100%,680px);filter:drop-shadow(0 28px 38px rgba(75,55,96,.14));animation:heroBreathe calc(7s * var(--motion-speed)) ease-in-out infinite;transform-origin:center}
.hero-motion-stage .hero-label{position:absolute;background:rgba(255,255,255,.96);border:1px solid rgba(134,104,181,.15);box-shadow:var(--shadow-soft);border-radius:18px;padding:11px 15px;font-weight:900;display:flex;gap:9px;align-items:center;animation:floatLabel calc(5s * var(--motion-speed)) ease-in-out infinite}
.hero-motion-stage .hero-label::before{content:"";width:11px;height:11px;border-radius:50%;background:var(--label-color,var(--orange))}
.hero-label.label-a{left:1%;top:17%;--label-color:var(--orange)}
.hero-label.label-b{right:0;top:38%;--label-color:var(--blue);animation-delay:-1.6s}
.hero-label.label-c{left:8%;bottom:13%;--label-color:var(--green);animation-delay:-3s}
.hero-label.label-d{right:10%;bottom:8%;--label-color:var(--coral);animation-delay:-2.2s}
@keyframes heroBreathe{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-8px) scale(1.012)}}
@keyframes ambientFloat{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(12px,-16px,0) scale(1.08)}}
@keyframes floatLabel{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(-1deg)}}
.hero-motion-stage .orbit{transform-origin:380px 302px;animation:spinOrbit calc(35s * var(--motion-speed)) linear infinite}
.hero-motion-stage .orbit-b{animation-direction:reverse;animation-duration:calc(44s * var(--motion-speed))}
.hero-motion-stage .float-person{animation:personFloat calc(6s * var(--motion-speed)) ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.hero-motion-stage .person-b{animation-delay:-1.5s}.hero-motion-stage .person-c{animation-delay:-3s}.hero-motion-stage .person-d{animation-delay:-4.5s}
.hero-motion-stage .pulse-dots circle{animation:dotPulse calc(2.5s * var(--motion-speed)) ease-in-out infinite;transform-box:fill-box;transform-origin:center}.hero-motion-stage .pulse-dots circle:nth-child(2){animation-delay:-.6s}.hero-motion-stage .pulse-dots circle:nth-child(3){animation-delay:-1.2s}.hero-motion-stage .pulse-dots circle:nth-child(4){animation-delay:-1.8s}
@keyframes spinOrbit{to{transform:rotate(360deg)}}@keyframes personFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}@keyframes dotPulse{0%,100%{transform:scale(1);opacity:.75}50%{transform:scale(1.35);opacity:1}}
.video-showcase{position:relative;overflow:hidden;background:linear-gradient(145deg,#332e48,#4d3d6e);color:#fff}
.video-showcase::before{content:"";position:absolute;inset:auto auto -180px -120px;width:420px;height:420px;border-radius:50%;background:rgba(255,157,46,.35)}
.video-showcase::after{content:"";position:absolute;inset:-180px -130px auto auto;width:390px;height:390px;border-radius:50%;background:rgba(85,169,220,.28)}
.video-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:54px;align-items:center;position:relative;z-index:2}
.video-copy h2,.video-copy p{color:#fff}.video-copy .eyebrow{color:#ffe0bd}.video-copy .lead{color:#f3edf9}
.video-frame{position:relative;border-radius:30px;padding:10px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.2);box-shadow:0 28px 80px rgba(0,0,0,.25);overflow:hidden;transform:perspective(1000px) rotateY(-2deg);transition:transform .5s var(--ease-spring)}
.video-frame:hover{transform:perspective(1000px) rotateY(0) translateY(-4px)}
.video-frame img{width:100%;border-radius:22px;aspect-ratio:16/9;object-fit:cover}
.play-button{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:84px;height:84px;border-radius:50%;border:0;background:linear-gradient(135deg,var(--orange),var(--coral));color:#fff;box-shadow:0 15px 45px rgba(255,109,97,.45);display:grid;place-items:center;font-size:1.7rem;transition:.3s var(--ease-spring)}
.play-button:hover{transform:translate(-50%,-50%) scale(1.08)}
.play-ring{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:108px;height:108px;border:2px solid rgba(255,255,255,.55);border-radius:50%;animation:playPulse calc(2.4s * var(--motion-speed)) ease-out infinite;pointer-events:none}
@keyframes playPulse{0%{transform:translate(-50%,-50%) scale(.72);opacity:.9}100%{transform:translate(-50%,-50%) scale(1.2);opacity:0}}
.video-caption{position:absolute;left:30px;bottom:27px;color:#fff;font-weight:800;text-shadow:0 2px 12px rgba(0,0,0,.45)}
.video-modal{position:fixed;inset:0;background:rgba(31,26,44,.86);backdrop-filter:blur(14px);z-index:3000;display:none;align-items:center;justify-content:center;padding:24px}.video-modal.open{display:flex;animation:modalIn .3s ease}.video-dialog{width:min(1080px,96vw);background:#17141f;border-radius:28px;padding:18px;box-shadow:0 30px 100px rgba(0,0,0,.5);position:relative}.video-dialog video{width:100%;display:block;border-radius:18px;background:#000}.video-close{position:absolute;right:24px;top:-54px;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.13);color:#fff;border-radius:999px;padding:10px 14px;font-weight:800}.video-transcript{color:#d9d0e5;font-size:.85rem;padding:12px 4px 0}.video-transcript a{color:#fff;text-decoration:underline}
@keyframes modalIn{from{opacity:0}to{opacity:1}}
.ecosystem-motion{background:linear-gradient(180deg,#fffdf9,#f8f1fb);overflow:hidden}
.ecosystem-card{background:#fff;border:1px solid var(--line);border-radius:34px;padding:28px;box-shadow:var(--shadow);position:relative}
.ecosystem-card img{width:100%;display:block}
.ecosystem-card.is-visible .flow-line{stroke-dasharray:880;stroke-dashoffset:880;animation:drawFlow calc(2.8s * var(--motion-speed)) ease forwards}
.ecosystem-card.is-visible .node{opacity:0;animation:nodeIn .55s var(--ease-spring) forwards}.ecosystem-card.is-visible .n1{animation-delay:.25s}.ecosystem-card.is-visible .n2{animation-delay:.7s}.ecosystem-card.is-visible .n3{animation-delay:1.15s}.ecosystem-card.is-visible .n4{animation-delay:1.6s}.ecosystem-card.is-visible .n5{animation-delay:2.05s}
@keyframes drawFlow{to{stroke-dashoffset:0}}@keyframes nodeIn{from{opacity:0;transform:translateY(14px) scale(.94)}to{opacity:1;transform:none}}
[data-count]{font-variant-numeric:tabular-nums}
.card-tilt{transform-style:preserve-3d;will-change:transform;transition:transform .25s var(--ease-spring),box-shadow .25s ease}.card-tilt .mini-icon,.card-tilt .icon,.card-tilt .n,.card-tilt h3{transform:translateZ(16px)}
.method,.impact-flow,.numbered-grid{position:relative}.impact-flow.motion-ready .flow-step,.method.motion-ready .method-step,.numbered-grid.motion-ready .numbered-card{transition:transform .45s var(--ease-spring),box-shadow .45s ease,opacity .45s ease}.impact-flow.motion-ready .flow-step.is-current,.method.motion-ready .method-step.is-current,.numbered-grid.motion-ready .numbered-card.is-current{transform:translateY(-8px) scale(1.025);box-shadow:0 18px 50px rgba(79,58,103,.16)}
.aidant-journey{position:relative;padding-left:28px}.aidant-journey::before{content:"";position:absolute;left:7px;top:18px;bottom:18px;width:4px;border-radius:999px;background:#e7dff0}.aidant-journey::after{content:"";position:absolute;left:7px;top:18px;width:4px;height:var(--journey-progress,0%);border-radius:999px;background:linear-gradient(var(--orange),var(--purple),var(--green));transition:height .4s ease}
.reveal{transition-delay:var(--delay,0ms)}
.motion-reduced *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.motion-reduced .reveal{opacity:1!important;transform:none!important}.motion-reduced .play-ring{display:none}
@media (prefers-reduced-motion:reduce){.hero-motion-stage img,.hero-motion-stage .hero-label,.hero-motion-stage .orbit,.hero-motion-stage .float-person,.hero-motion-stage .pulse-dots circle,.play-ring{animation:none!important}.video-frame{transform:none}.ecosystem-card .flow-line{stroke-dasharray:none!important;stroke-dashoffset:0!important}.ecosystem-card .node{opacity:1!important;animation:none!important}}
@media(max-width:1100px){.motion-toggle{padding:8px 10px}.motion-toggle span:last-child{display:none}}
@media(max-width:980px){.video-grid{grid-template-columns:1fr}.hero-motion-stage{min-height:470px}.motion-toggle{margin-left:auto}.nav .motion-toggle{order:2}.menu-toggle{order:3}}
@media(max-width:640px){.hero-motion-stage{min-height:385px}.hero-label{display:none!important}.video-dialog{padding:8px;border-radius:18px}.video-close{right:8px}.video-caption{left:20px;bottom:18px;font-size:.82rem}.play-button{width:68px;height:68px}.play-ring{width:90px;height:90px}.ecosystem-card{padding:10px;border-radius:22px}.motion-toggle{padding:8px}}

/* Final release — clearer, warmer, more editorial */
.home-hero{background:
  radial-gradient(circle at 12% 14%,rgba(255,200,74,.34),transparent 23%),
  radial-gradient(circle at 92% 8%,rgba(85,169,220,.22),transparent 25%),
  radial-gradient(circle at 86% 92%,rgba(101,199,157,.2),transparent 25%),
  linear-gradient(155deg,#fffdf8 0%,#fff5e7 46%,#f3edfb 100%)}
.home-hero .hero-grid{min-height:550px}
.home-hero .hero-copy>p:not(.lead){max-width:720px}
.hero-focus-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:30px}
.hero-focus-card{display:flex;align-items:flex-start;gap:12px;padding:15px 16px;border-radius:18px;background:rgba(255,255,255,.86);border:1px solid rgba(134,104,181,.12);box-shadow:0 10px 28px rgba(71,51,91,.07);backdrop-filter:blur(8px)}
.hero-focus-card strong{display:block;font-size:.9rem;line-height:1.25;color:var(--ink)}
.hero-focus-card small{display:block;margin-top:5px;color:var(--ink-soft);line-height:1.35;font-size:.76rem}
.focus-dot{width:12px;height:12px;border-radius:50%;margin-top:4px;flex:0 0 auto;box-shadow:0 0 0 6px rgba(134,104,181,.09)}
.focus-purple{background:var(--purple)}.focus-orange{background:var(--orange)}.focus-green{background:var(--green)}

.film-spotlight{position:relative;overflow:hidden;background:linear-gradient(145deg,#2f2944 0%,#4e3d70 58%,#3e487d 100%);color:#fff}
.film-spotlight::before,.film-spotlight::after{content:"";position:absolute;border-radius:50%;filter:blur(2px);opacity:.65}
.film-spotlight::before{width:420px;height:420px;left:-190px;bottom:-210px;background:rgba(255,157,46,.45)}
.film-spotlight::after{width:390px;height:390px;right:-170px;top:-180px;background:rgba(85,169,220,.35)}
.film-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:56px;align-items:center;position:relative;z-index:2}
.film-copy h2,.film-copy p{color:#fff}.film-copy .lead{color:#f3edf9}.film-copy .eyebrow{color:#ffe3c2}
.film-pill-list{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 22px}
.film-pill{display:inline-flex;align-items:center;border-radius:999px;padding:10px 15px;font-weight:900;font-size:.88rem;color:#fff;box-shadow:0 9px 22px rgba(0,0,0,.12)}
.film-pill.purple{background:var(--purple)}.film-pill.orange{background:var(--orange)}.film-pill.green{background:var(--green)}
.film-note{font-size:.88rem!important;color:#dcd3e9!important;border-left:3px solid var(--orange);padding-left:13px}
.film-player-card{padding:10px;border-radius:30px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.2);box-shadow:0 30px 85px rgba(0,0,0,.3);backdrop-filter:blur(10px)}
.film-player-card video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:22px;background:#17141f}
.film-player-meta{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:13px 10px 4px;color:#f7f2fb;font-size:.84rem}
.film-player-meta span:last-child{flex:0 0 auto;background:rgba(255,255,255,.13);border-radius:999px;padding:6px 10px;font-weight:900}

.film-callout{background:linear-gradient(180deg,#fffdf9,#f7f1fb)}
.film-callout-card{display:grid;grid-template-columns:1fr auto;gap:38px;align-items:center;padding:36px 40px;border-radius:30px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.film-callout-card h2{font-size:clamp(1.8rem,3vw,3rem);margin-bottom:12px}
.film-callout-card p{margin:0;max-width:820px}

/* Better spacing and visual rhythm */
.section:nth-of-type(even) .section-head h2{max-width:780px}
.pillar-card,.audience-card,.offer-card,.role-card,.numbered-card{border-top:4px solid transparent}
.pillar-card:nth-child(4n+1),.audience-card:nth-child(4n+1),.offer-card:nth-child(4n+1){border-top-color:var(--orange)}
.pillar-card:nth-child(4n+2),.audience-card:nth-child(4n+2),.offer-card:nth-child(4n+2){border-top-color:var(--purple)}
.pillar-card:nth-child(4n+3),.audience-card:nth-child(4n+3),.offer-card:nth-child(4n+3){border-top-color:var(--green)}
.pillar-card:nth-child(4n+4),.audience-card:nth-child(4n+4),.offer-card:nth-child(4n+4){border-top-color:var(--blue)}

@media(max-width:980px){
  .film-layout{grid-template-columns:1fr;gap:34px}
  .hero-focus-grid{grid-template-columns:1fr}
  .film-callout-card{grid-template-columns:1fr;align-items:start}
}
@media(max-width:640px){
  .film-spotlight{padding:72px 0}
  .film-player-card{padding:6px;border-radius:22px}
  .film-player-card video{border-radius:17px}
  .film-player-meta{align-items:flex-start;flex-direction:column;gap:7px;padding:11px 8px 5px}
  .film-callout-card{padding:27px 24px;border-radius:24px}
  .hero-focus-card{padding:14px}
}
