/* EPIC v3 — composited scenes (coaching site only; the Shop never loads this file). */
.scene{position:relative;background:#050608;color:#fff;overflow:hidden;isolation:isolate}
.scene+.scene{margin-top:0}
.scene__fig{margin:0;position:relative}
.scene__media{position:relative;aspect-ratio:16/9;overflow:hidden;max-width:2200px;margin-inline:auto;background:#050608;contain:paint}
.scene__media::after{content:"";position:absolute;inset:auto 0 0 0;height:34%;background:linear-gradient(to top,#050608 6%,rgba(5,6,8,.0));z-index:3;pointer-events:none}
.scene__layer{position:absolute;inset:0;transform:translate3d(0,var(--py,0%),0) scale(1.06);will-change:transform;transform-origin:50% 50%}
.scene__layer picture{display:block;width:100%;height:100%}
.scene__layer img{display:block;width:100%;height:100%;object-fit:cover}
.scene__cap{position:absolute;z-index:5;top:clamp(.7rem,1.6vw,1.4rem);right:var(--gutter);max-width:19rem;text-align:right;font:600 .64rem/1.45 var(--font-head);letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.72)}
/* eyes: ignite when scrolled into view */
.scene__eye{position:absolute;left:var(--x);top:var(--y);width:var(--s,5.4%);aspect-ratio:1;translate:-50% -50%;border-radius:50%;pointer-events:none;opacity:0;mix-blend-mode:screen;z-index:2;
  background:radial-gradient(circle,rgba(190,225,255,.95) 0,rgba(90,160,255,.55) 20%,rgba(0,102,255,.2) 46%,rgba(0,102,255,0) 70%)}
.scene.is-in .scene__eye{animation:eyeIgnite 1.7s var(--ease) calc(.25s + var(--dl,0s)) forwards,eyePulse 6s ease-in-out calc(2.2s + var(--dl,0s)) infinite}
.scene:not(.is-on) .scene__eye{animation-play-state:paused,paused}
@keyframes eyeIgnite{0%{opacity:0;scale:.35}35%{opacity:.15}68%{opacity:1;scale:1.3}100%{opacity:.8;scale:1}}
@keyframes eyePulse{0%,100%{opacity:.8}50%{opacity:.46}}
/* smoke drifting at floor level, two depths */
.scene__smoke{position:absolute;left:0;right:0;bottom:0;height:62%;overflow:hidden;pointer-events:none;z-index:2;-webkit-mask-image:linear-gradient(to top,#000 10%,rgba(0,0,0,0) 100%);mask-image:linear-gradient(to top,#000 10%,rgba(0,0,0,0) 100%);transform:translate3d(0,var(--sy,0px),0)}
.scene__smoke i{position:absolute;left:0;top:0;width:200%;height:100%;background:repeat-x 0 100%/50% 100%;mix-blend-mode:screen;animation:smokeDrift 140s linear infinite paused}
.scene__smoke i:nth-child(1){opacity:.2}
.scene__smoke i:nth-child(2){opacity:.12;animation-duration:90s;animation-direction:reverse;transform:scaleX(-1)}
.scene.is-on .scene__smoke i{background-image:url(../img/scenes/smoke-tile-v4.webp);animation-play-state:running}
@keyframes smokeDrift{to{translate:-50% 0}}
/* snort steam (PUMPED) */
.scene__puff{position:absolute;left:var(--x);top:var(--y);width:var(--s,3.6%);aspect-ratio:1;translate:-50% -50%;border-radius:50%;pointer-events:none;opacity:0;z-index:2;filter:blur(4px);mix-blend-mode:screen;
  background:radial-gradient(circle,rgba(225,238,255,.7) 0,rgba(150,195,255,.26) 42%,rgba(150,195,255,0) 70%);animation:puff 4.6s ease-out var(--dl,0s) infinite paused}
.scene.is-on .scene__puff{animation-play-state:running}
@keyframes puff{0%{opacity:0;transform:translate(0,0) scale(.3)}5%{opacity:.8}30%,100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(2.6)}}
/* copy */
.scene__copy{position:relative;z-index:6;margin-top:calc(-1 * clamp(3rem,11vw,10rem));padding-bottom:clamp(3rem,6vw,5.5rem)}
.scene__copy .section-head{margin-bottom:0}
.scene__copy h2{font-size:clamp(2.1rem,5.4vw,4.4rem);line-height:1.02;letter-spacing:-.035em;font-weight:800;text-wrap:balance}
.scene__copy .eyebrow{color:var(--blue-400)}
.scene__copy .lead{color:rgba(255,255,255,.78);max-width:40rem}
.scene__copy--wide{max-width:60rem}
.scene--cta .scene__copy{text-align:left}
.scene--cta h2{max-width:20ch}
.scene__marks{display:flex;align-items:center;gap:.8rem;margin-top:.5rem;font:600 .7rem/1.3 var(--font-head);letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.scene__sub{position:relative;z-index:6;padding-bottom:var(--section)}
/* dark pillars + programs on the scenes */
.scene .pillars{margin-top:clamp(1rem,3vw,2.2rem)}
.scene .pillar{background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.12);color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.scene .pillar p,.scene .pillar__num{color:rgba(255,255,255,.76)}
.scene .pillar__letter{color:var(--blue-400)}
.scene .pillar:hover{box-shadow:0 24px 60px -18px rgba(0,102,255,.55)}
.scene .pillar:hover p,.scene .pillar:hover .pillar__num{color:rgba(255,255,255,.92)}
.scene .card{background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.12);color:#fff}
.scene .card p{color:rgba(255,255,255,.76)}
.scene .card::after{background:linear-gradient(135deg,rgba(61,139,255,.35),transparent 70%)}
.scene .card:hover{box-shadow:0 24px 60px -18px rgba(0,102,255,.5);border-color:rgba(61,139,255,.6)}
.scene .link-arrow{color:var(--blue-400)}
.scene .card__icon{color:var(--blue-400)}
/* founder block inside AURA */
.scene .founder__role{color:var(--blue-400)}
.scene .founder__bio{max-width:40rem;display:grid;gap:1rem;color:rgba(255,255,255,.8)}
.scene .inline-ph{background:rgba(61,139,255,.18);color:var(--blue-200);border-color:var(--blue-400)}
/* client stories placeholders */
.stories{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:clamp(2rem,4vw,3rem)}
.story{border:1px dashed var(--blue);border-radius:var(--radius);padding:1.75rem;background:#fff;display:grid;gap:.8rem;align-content:start}
.story__tag{font:700 .68rem/1 var(--font-head);letter-spacing:.16em;text-transform:uppercase;color:var(--blue-600)}
.story h3{font-size:1.15rem;letter-spacing:-.01em}
.story p{color:var(--ink-2);font-size:.95rem}
.stories-note{margin-top:1rem;font-size:.82rem;color:var(--ink-2)}
@media (max-width:900px){.stories{grid-template-columns:1fr}}
/* mobile: per-scene art crop and eye positions */
@media (max-width:760px){
  .scene__media{aspect-ratio:var(--mar,4/5)}
  .scene__eye{left:var(--mx,var(--x));top:var(--my,var(--y));width:var(--ms,var(--s,5.4%))}
  .scene__puff{left:var(--mx,var(--x));top:var(--my,var(--y))}
  .scene__cap{max-width:12rem;font-size:.58rem}
  .scene__copy{margin-top:-4.5rem}
}
@media (prefers-reduced-motion:reduce){
  .scene__layer{transform:scale(1.02)!important}
  .scene__eye{opacity:.75!important;animation:none!important;scale:1!important}
  .scene__smoke i,.scene__puff{animation:none!important}
  .scene__puff{display:none}
  .scene__smoke i:nth-child(2){display:none}
}
.is-reduced .scene__layer{transform:scale(1.02)!important}
.is-reduced .scene__eye{opacity:.75!important;animation:none!important;scale:1!important}
.is-reduced .scene__smoke i,.is-reduced .scene__puff{animation:none!important}
.is-reduced .scene__puff{display:none}
/* per-scene copy overlap: never over a face */
.scene--eyes .scene__copy{margin-top:0;padding-top:clamp(.5rem,2vw,1.5rem)}
.scene--eyes .scene__media::after{height:9%}
.scene--taking .scene__copy{margin-top:calc(-1 * clamp(2rem,7vw,6.5rem))}
.scene--pumped .scene__copy{margin-top:calc(-1 * clamp(2rem,8vw,7rem))}
.scene--cta .scene__copy{margin-top:calc(-1 * clamp(1.5rem,4vw,4rem))}
.scene--aura .scene__copy{margin-top:calc(-1 * clamp(1.5rem,5vw,4.5rem))}
@media (max-width:760px){.scene .scene__copy{margin-top:-2rem}.scene--eyes .scene__copy{margin-top:0}}

/* ---- brand association: recurring founder-and-bull lockup ---- */
.lockup{display:inline-flex;align-items:center;gap:.85rem;margin:0 0 1.1rem}
.lockup__badge{flex:none;width:56px;aspect-ratio:4/5;border-radius:12px;overflow:hidden;border:1px solid rgba(80,160,255,.55);box-shadow:0 0 0 3px rgba(80,160,255,.10),0 0 22px rgba(60,140,255,.28);background:#05070b}
.lockup__badge img{display:block;width:100%;height:100%;object-fit:cover}
.lockup__txt{display:flex;flex-direction:column;gap:.18rem}
.lockup__txt b{font:700 .72rem/1.2 var(--font-head);letter-spacing:.2em;text-transform:uppercase;color:#fff}
.lockup__txt span{font:500 .78rem/1.2 var(--font-body,inherit);letter-spacing:.06em;color:rgba(190,215,255,.85)}
.lockup--footer{margin:1.1rem 0 0}
.lockup--footer .lockup__badge{width:72px}
@media (max-width:760px){.lockup__badge{width:48px}}
