/* V8 keeps the original constellation. Only its central selected mark changes. */
.v8-client-core{padding:9px;gap:0;overflow:visible;background:var(--lime);border:1px solid var(--lime);box-shadow:0 0 42px color-mix(in srgb,var(--lime) 22%,transparent);animation:v8-core-breathe 3.6s ease-in-out infinite alternate}
.v8-client-core:before,.v8-client-core:after{content:"";position:absolute;border:1px solid color-mix(in srgb,var(--lime) 55%,transparent);border-radius:50%;pointer-events:none;inset:-8px}
.v8-client-core:after{inset:-16px;border-color:color-mix(in srgb,var(--lime) 20%,transparent)}
.v8-client-mark{position:relative;width:100%;height:100%;aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:var(--black);box-shadow:0 8px 22px color-mix(in srgb,var(--black) 26%,transparent)}
.v8-client-core img{width:100%;height:100%;aspect-ratio:1;border-radius:50%;object-fit:contain;box-shadow:none}
.v8-client-core img.settle{animation:v8-logo-pop .62s cubic-bezier(.2,.85,.25,1) both}
.v8-client-mark.settle{animation:v8-mark-ring .72s ease-out both}
@keyframes v8-logo-pop{0%{opacity:.15;transform:scale(.76) rotate(-7deg)}65%{opacity:1;transform:scale(1.065) rotate(2deg)}100%{opacity:1;transform:scale(1) rotate(0)}}
@keyframes v8-mark-ring{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--lime) 60%,transparent)}100%{box-shadow:0 0 0 19px transparent}}
@keyframes v8-core-breathe{from{translate:0 4px}to{translate:0 -4px}}

/* Card projection needs real headroom, especially inside the mobile clipping box. */
.reel-stage{min-height:calc(var(--reel-width) * 1.7778 + 84px)}
.reel-stage .video-card{top:20px}
.reel-label{display:grid;gap:3px;min-height:34px;padding:1px 3px 3px;margin-bottom:9px;line-height:1.25;font-size:12px;letter-spacing:.075em;white-space:normal;overflow-wrap:normal}
.reel-label>span{font:400 9px/1.3 var(--body);letter-spacing:.035em;color:var(--paper);opacity:.82}
.reel-details{width:100%;max-width:610px;min-width:0;margin:12px auto 0;padding:0 8px;white-space:normal;overflow-wrap:anywhere}
.reel-details>div{width:100%;min-width:0;max-width:100%}
.reel-details h3{line-height:1.15;text-wrap:balance}
.reel-details p{max-width:51ch;margin-inline:auto;line-height:1.45;text-wrap:pretty}

/* Two people, one shared plan: a partnership that reads without a hover. */
.v8-partnership-visual{aspect-ratio:auto;width:100%;max-width:340px;padding:24px 18px 23px;border:1px solid color-mix(in srgb,var(--black) 20%,transparent);border-radius:22px;transform:none;rotate:0;translate:none;animation:none;box-shadow:9px 10px 0 color-mix(in srgb,var(--black) 8%,transparent);background:var(--lime);isolation:isolate}
.v8-partnership-visual:hover{transform:none}
.v8-partner-labels{display:flex;justify-content:space-between;align-items:center;gap:14px;padding-inline:8px;font:800 clamp(11px,1.15vw,15px)/1.2 var(--display);letter-spacing:.02em}
.v8-partnership-visual .v8-team-illustration{display:block;position:static;width:100%;height:auto;aspect-ratio:340/270;overflow:visible;margin:13px 0 2px;transform:none;animation:none;color:var(--black)}
.v8-team-backdrop{fill:color-mix(in srgb,var(--paper) 42%,transparent)}
.v8-partner-person{fill:none;stroke:currentColor;stroke-width:4.5;stroke-linecap:round;stroke-linejoin:round;transform-box:fill-box;transform-origin:center bottom;animation:v8-partner-lean 3.4s ease-in-out infinite alternate}
.v8-partner-person>circle{fill:var(--paper)}
.v8-partner-right{animation-name:v8-partner-lean-back;animation-delay:-.35s}
.v8-person-detail{stroke-width:2.5}
.v8-team-table{fill:none;stroke:currentColor;stroke-width:4.5;stroke-linecap:round;stroke-linejoin:round}
.v8-shared-plan{animation:v8-plan-lift 3.4s ease-in-out infinite alternate;transform-origin:center}
.v8-shared-plan>rect{fill:var(--black);stroke:var(--black);stroke-width:3}
.v8-shared-plan>circle{fill:var(--lime)}
.v8-plan-line{fill:none;stroke:var(--paper);stroke-width:3;stroke-linecap:round}
.v8-plan-check{fill:none;stroke:var(--black);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:28;stroke-dashoffset:0;animation:v8-plan-check 3.4s ease-in-out infinite}
.v8-partner-dot{fill:var(--black);animation:v8-team-dot 3.4s ease-in-out infinite alternate}
.v8-partner-dot-two{animation-delay:-1.7s}
.v8-team-caption{display:block;text-align:center;font:800 clamp(16px,1.8vw,24px)/1.15 var(--display);letter-spacing:-.025em;margin-top:9px}
@keyframes v8-partner-lean{from{transform:translateX(-5px) rotate(-2deg)}to{transform:translateX(4px) rotate(1deg)}}
@keyframes v8-partner-lean-back{from{transform:translateX(5px) rotate(2deg)}to{transform:translateX(-4px) rotate(-1deg)}}
@keyframes v8-plan-lift{from{transform:translateY(0)}to{transform:translateY(-8px)}}
@keyframes v8-plan-check{0%,15%{stroke-dashoffset:28}55%,100%{stroke-dashoffset:0}}
@keyframes v8-team-dot{from{transform:translateY(3px);opacity:.35}to{transform:translateY(-6px);opacity:1}}
/* Every visible action label uses the real bold face. */
.v5-motion-control,.footer-inner>a:last-child{font-family:var(--display);font-weight:800;text-transform:uppercase}
@media(max-width:700px){
 .v8-client-core{padding:6px}.v8-client-core:before{inset:-6px}.v8-client-core:after{inset:-12px}
 .reel-stage{min-height:calc(var(--reel-width) * 1.7778 + 83px)}
 .reel-stage .video-card{top:20px}
 .reel-label{min-height:32px;font-size:10px;letter-spacing:.055em;margin-bottom:8px}
 .reel-label>span{font-size:7.5px;letter-spacing:.025em}
 .reel-details{max-width:100%;padding-inline:3px;margin-top:12px;min-height:105px}
 .reel-details h3{font-size:23px;line-height:1.18}
 .reel-details p{font-size:15px;line-height:1.45;max-width:35ch}
 .v8-partnership-visual{width:min(100%,295px);max-width:none;justify-self:start;margin:3px 0 4px;padding:23px 18px 22px;transform:none;rotate:0;translate:none;aspect-ratio:auto;border-radius:21px}
 .v8-partner-labels{font-size:13px}.v8-team-caption{font-size:22px}
 .v5-intro-layout{gap:43px}
}
@media(max-width:380px){.v8-partnership-visual{width:min(100%,275px)}.reel-label{font-size:9px}.reel-label>span{font-size:7px}}
.motion-paused .v8-client-core,.motion-paused .v8-client-core *,.motion-paused .v8-partnership-visual *{animation:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){.v8-client-core,.v8-client-core *,.v8-partnership-visual *{animation:none!important;transition:none!important}}
/* Preserve the approved mobile header order, with a little breathing room at 320px. */
@media(max-width:360px){.nav{gap:12px;padding-left:12px}.nav-actions{gap:4px}.menu-button{padding-inline:7px}}
