/* ==========================================================
   LTA Home Page, post-season (WordPress build, generated by build-wp.py)
   2026 is done, 2027 is not announced yet. One job: subscribe.
   Shared components lifted from 2027/Homepage-v3.
   Tokens follow 2026/LTA BI.html.
========================================================== */
:root{
  --navy-950:#00162F; --navy-900:#002248; --blue-700:#004594; --orange:#FB750B;
  --cobalt:#2B6FF2; --teal:#2FD6D0; --violet:#7B61FF; --pink:#EE4B6A; --yellow:#FFC425; --teal-deep:#0FA8A3;
  --ink:#0B1220; --muted:#475569; --border:#D6DEEA; --surface:#F4F7FC; --white:#FFFFFF; --tint:#E8EEF6;
  --on-dark:rgba(255,255,255,.78);
  --spectrum:linear-gradient(90deg,var(--orange),var(--pink),var(--violet),var(--cobalt),var(--teal));
  --font-h:"Rubik",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --font-ui:"Sora",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --ease:cubic-bezier(.2,.8,.2,1); --speed:180ms;
  --wrap:1240px; --gutter:clamp(16px,4vw,32px);
  interpolate-size:allow-keywords;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px;overflow-x:clip}
body{margin:0;background:var(--navy-950);color:var(--ink);font-family:var(--font-h);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--font-h);margin:0;line-height:1.02;letter-spacing:-.025em}
p{margin:0}
.wrap{width:min(var(--wrap),100% - 2*var(--gutter));margin-inline:auto}
.section{padding:clamp(72px,10vw,140px) 0;position:relative}
.dark{background:var(--navy-950);color:#fff}
.dark h2,.dark h3{color:#fff}
.light{background:var(--surface);color:var(--ink)}
.white{background:#fff;color:var(--ink)}
.light h2,.white h2,.light h3,.white h3{color:var(--navy-950)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:16px;top:-60px;z-index:200;background:var(--orange);color:var(--navy-950);padding:10px 16px;border-radius:999px;font-family:var(--font-ui);font-weight:600;text-decoration:none}
.skip:focus{top:12px}

.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-ui);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--blue-700)}
.eyebrow::before{content:"";width:14px;height:12px;border-radius:5px 5px 5px 1px;background:var(--ec,var(--orange))}
.dark .eyebrow,.rec-sec .eyebrow{color:var(--teal)}
.h2{font-size:clamp(38px,5.6vw,76px);font-weight:800}
.lead{font-size:clamp(16px,1.4vw,19px);color:var(--muted);max-width:60ch}
.dark .lead,.rec-sec .lead{color:var(--on-dark)}
.sec-head{display:grid;gap:18px;margin-bottom:clamp(36px,5vw,64px)}
.sec-head.center{justify-items:center;text-align:center}
.sec-head.center .lead{margin-inline:auto}
.spectrum-text{background:linear-gradient(90deg,var(--orange),var(--pink),var(--violet),var(--cobalt),var(--teal),var(--orange));background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:spectrum 8s linear infinite}
@keyframes spectrum{to{background-position:-200% 0}}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--font-ui);font-weight:600;font-size:15px;line-height:1;padding:17px 26px;border-radius:999px;text-decoration:none;border:1.5px solid transparent;cursor:pointer;position:relative;transition:transform var(--speed) var(--ease),box-shadow var(--speed) var(--ease),background var(--speed) var(--ease),color var(--speed)}
.btn:hover{transform:translateY(-2px)}
.btn svg{width:18px;height:18px;transition:transform var(--speed) var(--ease)}
.btn:hover svg{transform:translateX(3px)}
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
.light a:focus-visible,.white a:focus-visible,.light button:focus-visible,.white button:focus-visible,.light summary:focus-visible,.white summary:focus-visible{outline-color:var(--cobalt)}
.btn-orange{background:var(--orange);color:var(--navy-950)}
.btn-orange:hover{box-shadow:0 12px 32px rgba(251,117,11,.45)}
.btn-orange.glow{box-shadow:0 0 0 0 rgba(251,117,11,.55);animation:ring 2.6s infinite}
@keyframes ring{70%{box-shadow:0 0 0 14px rgba(251,117,11,0)}100%{box-shadow:0 0 0 0 rgba(251,117,11,0)}}
.btn-ghost{border-color:rgba(255,255,255,.4);color:#fff}
.btn-ghost:hover{background:rgba(255,255,255,.1);border-color:#fff}
.btn-navy{background:var(--navy-900);color:#fff}
.btn-outline{border-color:var(--navy-900);color:var(--navy-950);background:transparent}
.btn-outline:hover{background:var(--navy-900);color:#fff}

/* Placeholder marker for unconfirmed facts */
.tbc{background:rgba(255,196,37,.32);border-bottom:2px dashed var(--orange);border-radius:3px;padding:0 4px;white-space:nowrap}
.dark .tbc,.on-dark .tbc{background:rgba(255,196,37,.14);border-bottom:0;outline:2px dashed var(--yellow);outline-offset:1px;color:inherit}

/* Review notes (remove before going live) */
.review-note{font-family:var(--font-ui);font-size:13px;line-height:1.5;background:#FFF7D6;color:#5B4300;border:1px solid #F2D16B;border-left:4px solid var(--orange);border-radius:10px;padding:10px 14px;margin:14px 0;max-width:72ch;text-align:left}
.review-note b{color:#3D2C00}
.review-note code{font-size:12px}
body.hide-notes .review-note{display:none}
.notes-toggle{position:fixed;left:16px;bottom:16px;z-index:90;font-family:var(--font-ui);font-size:12px;font-weight:600;background:#fff;color:var(--navy-950);border:0;border-radius:999px;padding:10px 16px;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.25)}

/* ---------- Scroll progress ---------- */
.progress{position:fixed;inset:0 0 auto;height:3px;z-index:100;background:var(--spectrum);transform-origin:0 50%;transform:scaleX(0);pointer-events:none}

/* ---------- Announcement bar ---------- */
.announce{background:#000E1F;color:var(--on-dark);font-family:var(--font-ui);font-size:13px;position:relative;z-index:61}
.announce .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:42px}
.announce-main{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.announce-main b{color:#fff;font-weight:600}
.announce .ann-short{display:none}
.announce a{text-decoration:none}
.announce .go{color:var(--orange);font-weight:600;display:inline-flex;align-items:center;gap:6px}
.announce .go svg{width:14px;height:14px}
.announce .go:hover{text-decoration:underline}
.announce-side{display:flex;gap:18px;align-items:center}
.announce-side a{display:inline-flex;align-items:center;gap:8px}
.announce-side a:hover{color:#fff}
.announce-side svg{width:15px;height:15px}
.live-dot{width:8px;height:8px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 0 rgba(251,117,11,.7);animation:pulse 2s infinite;flex:none}
@keyframes pulse{70%{box-shadow:0 0 0 9px rgba(251,117,11,0)}100%{box-shadow:0 0 0 0 rgba(251,117,11,0)}}

/* ---------- Nav ---------- */
.nav-shell{position:sticky;top:0;z-index:60;height:0}
.nav{position:absolute;left:50%;top:14px;translate:-50% 0;width:min(1180px,100% - 2*var(--gutter));display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 10px 10px 24px;border-radius:999px;border:1px solid transparent;transition:background .35s var(--ease),border-color .35s,box-shadow .35s}
.nav.solid{background:rgba(0,22,47,.8);-webkit-backdrop-filter:blur(16px) saturate(150%);backdrop-filter:blur(16px) saturate(150%);border-color:rgba(255,255,255,.1);box-shadow:0 16px 40px rgba(0,0,0,.28)}
.nav .logo img{height:30px;width:auto}
.nav ul{list-style:none;display:flex;gap:clamp(16px,2.2vw,30px);white-space:nowrap;margin:0;padding:0;font-family:var(--font-ui);font-size:14px;font-weight:500}
.nav ul a{text-decoration:none;color:#fff;padding:6px 0;position:relative}
.nav ul a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--spectrum);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.nav ul a:hover::after{transform:scaleX(1)}
.nav .btn{padding:13px 20px;font-size:14px;white-space:nowrap}
.burger{display:none;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:999px;width:48px;height:48px;cursor:pointer;place-items:center}
.burger span{display:block;width:20px;height:2px;background:#fff;margin:4px auto;border-radius:2px}
.menu{position:fixed;inset:0;z-index:80;background:radial-gradient(80% 60% at 100% 0%,rgba(123,97,255,.4),transparent 60%),radial-gradient(70% 60% at 0% 100%,rgba(47,214,208,.25),transparent 60%),var(--navy-950);color:#fff;display:none;flex-direction:column;padding:24px var(--gutter) 32px;overflow:auto}
.menu.open{display:flex}
.menu-top{display:flex;justify-content:space-between;align-items:center}
.menu-top img{height:28px;width:auto}
.menu-close{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;width:48px;height:48px;border-radius:50%;font-size:26px;line-height:1;cursor:pointer}
.menu ul{list-style:none;margin:40px 0;padding:0;display:grid;gap:6px}
.menu ul a{display:block;text-decoration:none;font-size:clamp(34px,10vw,48px);font-weight:800;letter-spacing:-.02em;padding:4px 0}
.menu ul a:hover{color:var(--orange)}
.menu .btn{margin-top:auto}
.menu .menu-globe{position:absolute;right:-90px;bottom:120px;width:280px;opacity:.18;pointer-events:none}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:clip;background:var(--navy-950);color:#fff;padding:clamp(96px,min(10vw,14vh),132px) 0 clamp(28px,4vw,48px);isolation:isolate}
.mesh{position:absolute;inset:-12%;z-index:-2;pointer-events:none}
.mesh i{position:absolute;border-radius:50%;mix-blend-mode:screen;animation:drift 24s ease-in-out infinite alternate}
.m1{width:70vw;height:70vw;left:-18%;top:-34%;background:radial-gradient(circle,rgba(43,111,242,.7),transparent 62%)}
.m2{width:60vw;height:60vw;right:-14%;top:-10%;background:radial-gradient(circle,rgba(123,97,255,.55),transparent 62%);animation-duration:28s!important;animation-direction:alternate-reverse!important}
.m3{width:55vw;height:55vw;left:18%;bottom:-48%;background:radial-gradient(circle,rgba(47,214,208,.32),transparent 62%);animation-duration:32s!important}
.m4{width:38vw;height:38vw;right:4%;bottom:-24%;background:radial-gradient(circle,rgba(251,117,11,.3),transparent 62%);animation-duration:20s!important;animation-direction:alternate-reverse!important}
@keyframes drift{50%{transform:translate3d(5vw,-3vw,0) scale(1.12)}100%{transform:translate3d(-4vw,4vw,0) scale(.95)}}
.dots{position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.16) 1px,transparent 1.6px);background-size:28px 28px;-webkit-mask-image:radial-gradient(ellipse 70% 70% at 72% 42%,#000 10%,transparent 70%);mask-image:radial-gradient(ellipse 70% 70% at 72% 42%,#000 10%,transparent 70%)}
.hero-inner{display:grid;grid-template-columns:1.05fr .95fr;grid-template-areas:"copy stage" "stats stats";gap:clamp(24px,3vw,40px) clamp(24px,4vw,56px);align-items:center}
.hero-copy{grid-area:copy;display:flex;flex-direction:column;gap:22px}
.chip{display:inline-flex;align-items:center;gap:10px;width:fit-content;max-width:100%;line-height:1.35;font-family:var(--font-ui);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;border-radius:999px;padding:9px 14px}
.chip-live{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.hero h1{font-size:clamp(52px,min(8vw,11vh),118px);font-weight:800;letter-spacing:-.045em;line-height:.9}
.hero h1 .ln{display:block;overflow:clip;padding-bottom:.06em}
.hero h1 .ln>span{display:inline-block}
.motion .hero h1 .ln>span{transform:translateY(105%);transition:transform 1s var(--ease)}
.motion.ready .hero h1 .ln>span{transform:none}
.motion.ready .hero h1 .ln:nth-child(2)>span{transition-delay:.12s}
.hero-sub{font-size:clamp(17px,1.5vw,20px);color:var(--on-dark);max-width:50ch}
.hero-sub b{color:#fff;font-weight:600}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px}
.hero-aside{grid-area:stage;position:relative;min-width:0;--px:0;--py:0;--p:0}
.aside-globe{position:absolute;right:-7%;top:-12%;width:34%;max-width:240px;z-index:0;pointer-events:none;filter:drop-shadow(0 30px 70px rgba(43,111,242,.45));transform:translate3d(calc(var(--px)*-16px),calc(var(--py)*-16px + var(--p)*-70px),0) scale(calc(1 - var(--p)*.1))}
.fl{position:absolute;left:var(--x);top:var(--y);width:var(--w);z-index:2;pointer-events:none;transform:translate3d(calc(var(--px)*var(--d)*1px + var(--ex)*var(--p)*1px),calc(var(--py)*var(--d)*1px + var(--ey)*var(--p)*1px),0) rotate(calc(var(--rot,0deg) + var(--p)*var(--er,0)*1deg));opacity:calc(1 - var(--p)*.6)}
.bob{animation:bob 6s ease-in-out infinite;animation-delay:var(--dl,0s)}
@keyframes bob{50%{transform:translateY(-12px)}}
@keyframes spin{to{transform:rotate(360deg)}}
.fl svg{width:100%;height:auto;display:block;fill:var(--c);filter:drop-shadow(0 10px 18px rgba(0,0,0,.25))}
.greet{position:absolute;left:var(--x);top:var(--y);z-index:3;pointer-events:none;transform:translate3d(calc(var(--px)*30px + var(--p)*-200px),calc(var(--py)*30px + var(--p)*-120px),0);opacity:calc(1 - var(--p))}
.greet .bob{background:#fff;color:var(--navy-950);font-weight:800;font-size:clamp(15px,1.5vw,20px);padding:10px 18px;border-radius:20px 20px 20px 4px;box-shadow:0 18px 40px rgba(0,0,0,.3);white-space:nowrap;position:relative;min-width:8ch;text-align:center}
.greet [data-greet]{display:inline-block;transition:opacity .3s,transform .3s var(--ease)}
.greet [data-greet].out{opacity:0;transform:translateY(8px)}

/* Hero stats + recordings mini card */
.hero-stats{grid-area:stats;display:grid;grid-template-columns:1fr 1fr 1fr 1.35fr;align-items:stretch;border-top:1px solid rgba(255,255,255,.14);margin-top:clamp(28px,3.5vw,48px);padding-top:clamp(26px,2.6vw,36px);position:relative}
.hs{padding-right:18px}
.hs+.hs{padding-left:20px;border-left:1px solid rgba(255,255,255,.14)}
.hs b{display:block;font-size:clamp(34px,3.8vw,54px);font-weight:800;line-height:1;letter-spacing:-.03em}
.hs b small{font-size:.45em;font-weight:600;opacity:.75;letter-spacing:0}
.hs>span{display:block;margin-top:10px;font-family:var(--font-ui);font-size:13px;line-height:1.45;color:rgba(255,255,255,.7)}
.mini{margin-left:20px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 18px;text-decoration:none;border-radius:22px;padding:18px 18px 18px 22px;background:linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;overflow:hidden;transition:transform var(--speed) var(--ease),border-color var(--speed)}
.mini::before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(var(--orange),var(--pink),var(--violet),var(--cobalt),var(--teal))}
.mini:hover{transform:translateY(-3px);border-color:rgba(255,255,255,.4)}
.mini .k{font-family:var(--font-ui);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);display:flex;align-items:center;gap:8px}
.mini .k i{width:8px;height:8px;border-radius:50%;background:var(--pink);animation:blink 1.2s steps(2,start) infinite}
.mini .price{font-size:clamp(24px,2.4vw,32px);font-weight:800;line-height:1.1}
.mini .meta{font-family:var(--font-ui);font-size:12px;color:rgba(255,255,255,.7)}
.mini .arrow{grid-row:1/4;grid-column:2;width:52px;height:52px;border-radius:50%;background:var(--orange);color:var(--navy-950);display:grid;place-items:center;transition:transform var(--speed) var(--ease)}
.mini:hover .arrow{transform:rotate(45deg)}
.mini .arrow svg{width:22px;height:22px;transform:rotate(90deg)}
@keyframes blink{to{visibility:hidden}}

/* ---------- Subscribe form (shared) ---------- */
.sub-card{position:relative;z-index:1;border-radius:28px;padding:clamp(24px,2.6vw,34px);background:linear-gradient(160deg,rgba(0,40,86,.86),rgba(0,22,47,.94));border:1px solid rgba(255,255,255,.14);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 40px 80px rgba(0,0,0,.4);overflow:hidden;color:#fff}
.sub-card::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--spectrum)}
.sub-card .k{font-family:var(--font-ui);font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--teal);display:block;margin-bottom:8px}
.sub-card h2{font-size:clamp(26px,2.4vw,34px);font-weight:800;letter-spacing:-.025em;color:#fff}
.sub-card .intro{font-family:var(--font-ui);font-size:14px;color:rgba(255,255,255,.72);margin:10px 0 20px}
.sub-card.on-light{background:#fff;color:var(--ink);border-color:var(--border);box-shadow:0 40px 80px rgba(0,22,47,.14);-webkit-backdrop-filter:none;backdrop-filter:none}
.sub-card.on-light h2{color:var(--navy-950)}
.sub-card.on-light .k{color:var(--blue-700)}
.sub-card.on-light .intro{color:var(--muted)}
.sf{display:grid;gap:12px;--f-bg:rgba(255,255,255,.07);--f-bd:rgba(255,255,255,.2);--f-tx:#fff;--f-lb:rgba(255,255,255,.62);--f-focus:var(--teal)}
.on-light .sf{--f-bg:var(--surface);--f-bd:var(--border);--f-tx:var(--ink);--f-lb:var(--muted);--f-focus:var(--cobalt)}
.sf .row{display:grid;grid-template-columns:1fr 1.35fr;gap:10px}
.fld{position:relative;display:block}
.fld input,.fld select{width:100%;height:56px;border-radius:16px;padding:22px 16px 6px;font:500 15px/1.2 var(--font-ui);background:var(--f-bg);border:1.5px solid var(--f-bd);color:var(--f-tx);transition:border-color var(--speed),background var(--speed),box-shadow var(--speed);-webkit-appearance:none;appearance:none}
.fld input[list]::-webkit-calendar-picker-indicator{display:none!important}
.fld select{padding-right:42px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%237B8BA5' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}
.fld select option{color:var(--ink)}
.fld input:focus,.fld select:focus{outline:0;border-color:var(--f-focus);box-shadow:0 0 0 4px color-mix(in srgb,var(--f-focus) 22%,transparent)}
.fld span{position:absolute;left:17px;top:18px;font-family:var(--font-ui);font-size:15px;color:var(--f-lb);pointer-events:none;transition:all .2s var(--ease);transform-origin:0 0}
.fld input:focus+span,.fld input:not(:placeholder-shown)+span,.fld select+span{top:8px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.fld input:focus+span{color:var(--f-focus)}
.fld.bad input,.fld.bad select{border-color:var(--pink)}
.consent{display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start;font-family:var(--font-ui);font-size:12px;line-height:1.5;color:var(--f-lb);cursor:pointer;margin-top:2px}
.consent input{width:20px;height:20px;margin:0;accent-color:var(--orange);cursor:pointer}
.consent a{color:var(--f-tx)}
.consent.bad{color:var(--pink)}
.sf .btn{width:100%;margin-top:4px}
.sf .btn[disabled]{opacity:.7;cursor:wait}
.sf-msg{font-family:var(--font-ui);font-size:13px;color:var(--pink);min-height:0}
.sf-msg:empty{display:none}
.sf-note{font-family:var(--font-ui);font-size:12px;line-height:1.5;color:var(--f-lb);text-align:center;margin-top:-2px}
.sf-hp{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.sf-ts:empty{display:none}
.sf-ts{display:flex;justify-content:center;min-height:0}
.sf-inline{display:grid;grid-template-columns:1fr auto;gap:10px}
.sf-inline .btn{width:auto;margin:0;padding-inline:22px}
.sf-done{display:none;text-align:left;gap:12px}
.sf-done svg{width:64px;height:64px}
.sf-done circle{fill:none;stroke:var(--teal);stroke-width:3;stroke-dasharray:160;stroke-dashoffset:160}
.sf-done path{fill:none;stroke:var(--teal);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40}
.done .sf-done{display:grid}
.done .sf-done circle{animation:draw .7s var(--ease) forwards}
.done .sf-done path{animation:draw .45s var(--ease) .55s forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.sf-done h3{font-size:clamp(24px,2.2vw,30px);font-weight:800}
.sf-done p{font-family:var(--font-ui);font-size:14px;opacity:.8}
.done .sf,.done .hide-on-done{display:none}
.burst{position:fixed;z-index:120;width:18px;pointer-events:none;left:0;top:0}
.burst svg{width:100%;height:auto;display:block}

/* ---------- Marquee bands ---------- */
.band{overflow:clip;padding:16px 0}
.band-greet{background:var(--navy-900);border-block:1px solid rgba(255,255,255,.08);position:relative;z-index:1}
.seam{position:relative;z-index:5;height:0;overflow-x:clip;overflow-y:visible}
.band-theme{position:absolute;left:-5%;top:0;width:110%;background:#fff;color:var(--navy-950);transform:translateY(-50%) rotate(-1.6deg);box-shadow:0 18px 40px rgba(0,0,0,.35)}
.track{display:flex;align-items:center;gap:34px;width:max-content;will-change:transform;font-size:clamp(22px,2.8vw,40px);font-weight:800;letter-spacing:-.02em;white-space:nowrap;text-transform:uppercase}
.track svg{width:.9em;height:.8em;flex:none}
.band-theme .track svg:nth-of-type(5n+1){fill:var(--orange)}.band-theme .track svg:nth-of-type(5n+2){fill:var(--pink)}.band-theme .track svg:nth-of-type(5n+3){fill:var(--violet)}.band-theme .track svg:nth-of-type(5n+4){fill:var(--cobalt)}.band-theme .track svg:nth-of-type(5n+5){fill:var(--teal)}
.band-greet .track span{color:transparent;-webkit-text-stroke:1.2px rgba(255,255,255,.55)}
.band-greet .track span:nth-of-type(4n+1){-webkit-text-stroke-color:var(--teal)}
.band-greet .track span:nth-of-type(4n+3){-webkit-text-stroke-color:var(--yellow)}
.band-greet .track i{width:10px;height:10px;border-radius:50%;background:var(--orange);flex:none}

/* ---------- Recordings: the edit suite ---------- */
.rec-sec{background:radial-gradient(60% 40% at 50% 0%,rgba(123,97,255,.38),transparent 70%),radial-gradient(40% 30% at 85% 60%,rgba(43,111,242,.2),transparent 70%),linear-gradient(180deg,#000B18,#00101F 60%,var(--navy-950));color:#fff;overflow:clip;padding-bottom:clamp(110px,13vw,170px)}
.rec-sec h2,.rec-sec h3{color:#fff}
.ghost{position:absolute;left:0;top:clamp(170px,22vw,300px);white-space:nowrap;font-size:clamp(140px,22vw,340px);font-weight:800;letter-spacing:-.05em;line-height:1;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.07);pointer-events:none;user-select:none;will-change:transform;z-index:0}
.rec-head{position:relative;z-index:1;display:grid;justify-items:center;text-align:center;gap:20px;margin-bottom:clamp(36px,5vw,64px)}
.rec-head h2{font-size:clamp(46px,7.4vw,112px);font-weight:800;letter-spacing:-.045em;line-height:.92}
.rec-head h2 .l2{display:block}
/* All phrases share one grid cell: the hidden ones size it, the live one has no height, so glyphs never move the layout */
.scr{display:grid;overflow-wrap:anywhere;font-variant-ligatures:none}
.scr>span{grid-area:1/1}
.scr>span:not(.scr-live){visibility:hidden}
.scr-live{height:0;min-height:0;align-self:start}
.scr .g{color:var(--teal);opacity:.75}
.rec-head .lead{margin-inline:auto}
.screen-scene{perspective:1600px;position:relative;z-index:1;--m:1}
/* Perf: the scroll tilt is written straight to .screen's transform by JS (no custom property, so no style recalc of the
   whole screen subtree), and the shadow is static so the 120px/140px blurs are painted once, not on every scroll frame. */
.screen{position:relative;aspect-ratio:16/9;border-radius:clamp(18px,2.4vw,32px);overflow:hidden;background:#000;transform-origin:50% 100%;transform:rotateX(calc((1 - var(--m))*24deg)) scale(calc(.84 + var(--m)*.16));will-change:transform;box-shadow:0 0 0 1px rgba(255,255,255,.12),0 60px 120px rgba(0,0,0,.6),0 0 140px rgba(123,97,255,.4);--sx:50%;--sy:45%}
.screen>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(1.15) brightness(.78);animation:kb 22s ease-in-out infinite alternate}
@keyframes kb{to{transform:scale(1.08) translate3d(-1.5%,-1%,0)}}
.screen .shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,8,20,.55),transparent 28%,transparent 55%,rgba(0,8,20,.85)),radial-gradient(circle at var(--sx) var(--sy),rgba(255,255,255,.16),transparent 38%);pointer-events:none}
/* Perf: plain alpha instead of mix-blend-mode, which forced the moving photo underneath to be re-blended every frame */
.screen .scan{position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 3px);pointer-events:none;animation:flick 4s steps(1) infinite}
@keyframes flick{0%,100%{opacity:.9}48%{opacity:.6}50%{opacity:1}}
.vf{position:absolute;inset:clamp(14px,2.4vw,30px);pointer-events:none}
.vf i{position:absolute;width:clamp(18px,2.4vw,34px);height:clamp(18px,2.4vw,34px);border:2px solid rgba(255,255,255,.7)}
.vf i:nth-child(1){left:0;top:0;border-right:0;border-bottom:0;border-radius:8px 0 0 0}
.vf i:nth-child(2){right:0;top:0;border-left:0;border-bottom:0;border-radius:0 8px 0 0}
.vf i:nth-child(3){left:0;bottom:0;border-right:0;border-top:0;border-radius:0 0 0 8px}
.vf i:nth-child(4){right:0;bottom:0;border-left:0;border-top:0;border-radius:0 0 8px 0}
.hud{position:absolute;left:clamp(28px,4.2vw,58px);right:clamp(28px,4.2vw,58px);top:clamp(26px,3.8vw,52px);display:flex;justify-content:space-between;align-items:center;gap:12px;font-family:var(--font-ui);font-size:clamp(10px,1vw,13px);font-weight:600;letter-spacing:.14em;text-transform:uppercase;pointer-events:none}
/* Perf: the HUD pills sit over the moving Ken Burns photo, so a backdrop blur there was recomputed every frame. A slightly
   denser fill gives the same read without it. */
.rec{display:inline-flex;align-items:center;gap:8px;background:rgba(0,8,20,.68);padding:7px 12px;border-radius:999px}
.rec i{width:9px;height:9px;border-radius:50%;background:var(--pink);box-shadow:0 0 12px var(--pink);animation:blink 1s steps(2,start) infinite}
.tc{font-variant-numeric:tabular-nums;background:rgba(0,8,20,.68);padding:7px 12px;border-radius:999px;letter-spacing:.08em;contain:layout paint}
.lock{position:absolute;left:50%;top:50%;translate:-50% -55%;display:grid;justify-items:center;gap:14px;background:none;border:0;padding:0;color:#fff;cursor:pointer;font-family:var(--font-ui)}
.lock .disc{position:relative;width:clamp(74px,9vw,118px);aspect-ratio:1;border-radius:50%;background:var(--orange);display:grid;place-items:center;transition:transform var(--speed) var(--ease);box-shadow:0 20px 50px rgba(251,117,11,.45)}
.lock .disc::before,.lock .disc::after{content:"";position:absolute;inset:-14px;border-radius:50%;border:2px solid rgba(251,117,11,.55);animation:pinpulse 2.6s ease-out infinite}
.lock .disc::after{animation-delay:1.3s}
@keyframes pinpulse{0%{opacity:.8;transform:scale(.6)}100%{opacity:0;transform:scale(1.6)}}
.lock:hover .disc{transform:scale(1.07)}
.lock .disc>svg{width:34%;height:34%;color:var(--navy-950);margin-left:7%}
.lock .pad{position:absolute;right:-4px;bottom:-4px;width:36%;aspect-ratio:1;border-radius:50%;background:#fff;color:var(--navy-950);display:grid;place-items:center;box-shadow:0 6px 16px rgba(0,0,0,.35)}
.lock .pad svg{width:55%;height:55%}
.lock .cap{font-size:clamp(11px,1.1vw,13px);font-weight:600;letter-spacing:.16em;text-transform:uppercase;background:rgba(0,8,20,.72);padding:8px 14px;border-radius:999px}
.lock.nudge .disc{animation:nudge .5s var(--ease)}
@keyframes nudge{20%{transform:translateX(-9px) rotate(-6deg)}40%{transform:translateX(8px) rotate(5deg)}60%{transform:translateX(-5px)}80%{transform:translateX(3px)}}
.toast{position:absolute;left:50%;top:calc(50% + clamp(70px,8vw,100px));translate:-50% 0;background:#fff;color:var(--navy-950);font-family:var(--font-ui);font-size:14px;font-weight:600;padding:12px 18px;border-radius:18px 18px 18px 4px;box-shadow:0 16px 40px rgba(0,0,0,.35);white-space:nowrap;opacity:0;transform:translateY(10px);transition:opacity .3s,transform .3s var(--ease);pointer-events:none}
.toast.show{opacity:1;transform:none}
.render{position:absolute;left:clamp(28px,4.2vw,58px);right:clamp(28px,4.2vw,58px);bottom:clamp(26px,3.8vw,52px);display:grid;gap:10px;pointer-events:none}
.render .t{display:flex;justify-content:space-between;gap:12px;font-family:var(--font-ui);font-size:clamp(10px,1vw,13px);font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.render .t b{font-family:var(--font-h);font-size:clamp(18px,2.4vw,34px);letter-spacing:-.02em;text-transform:none;display:block;margin-top:4px}
.bar{height:6px;border-radius:6px;background:rgba(255,255,255,.18);overflow:hidden;position:relative}
.bar i{position:absolute;inset:0;width:45%;border-radius:6px;background:var(--spectrum);animation:sweep 2.4s var(--ease) infinite}
@keyframes sweep{from{transform:translateX(-100%)}to{transform:translateX(230%)}}

.rec-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,4vw,56px);margin-top:clamp(36px,5vw,64px);position:relative;z-index:1;align-items:start}
.pl-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px}
.pl-head h3{font-size:clamp(22px,2vw,28px);font-weight:800}
.pl-head span{font-family:var(--font-ui);font-size:12px;color:rgba(255,255,255,.6)}
.plist{list-style:none;margin:0;padding:0;display:grid;gap:8px;counter-reset:ep}
.ep{counter-increment:ep;display:grid;grid-template-columns:44px 1fr auto;gap:14px;align-items:center;padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);transition:background var(--speed),border-color var(--speed),transform var(--speed) var(--ease)}
.ep:hover{background:rgba(255,255,255,.08);border-color:var(--c,var(--violet));transform:translateX(4px)}
.ep::before{content:counter(ep,decimal-leading-zero);width:44px;height:38px;border-radius:13px 13px 13px 4px;background:var(--c,var(--violet));color:var(--navy-950);display:grid;place-items:center;font-weight:800;font-size:14px}
.ep h4{font-size:17px;font-weight:600;line-height:1.25;letter-spacing:-.01em;color:#fff}
.ep .st{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-ui);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.7);white-space:nowrap}
.eq{display:inline-flex;gap:2px;align-items:flex-end;height:14px}
/* Perf: the 24 equaliser bars scale on the GPU instead of animating height (which re-ran layout every frame) */
.eq b{width:3px;height:14px;border-radius:2px;background:var(--teal);transform-origin:50% 100%;animation:eq 1s ease-in-out infinite}
.eq b:nth-child(2){animation-delay:-.4s;background:var(--orange)}.eq b:nth-child(3){animation-delay:-.7s;background:var(--violet)}
@keyframes eq{0%,100%{transform:scaleY(.2857)}50%{transform:scaleY(1)}}
.notify{position:sticky;top:110px;display:grid;gap:22px}
/* Perf: this card is sticky, so its 18px backdrop blur was redone on every scroll frame. The card is 86-94% opaque over a
   plain gradient here, so the blur was not visible anyway. */
.rec-sec .sub-card{-webkit-backdrop-filter:none;backdrop-filter:none}
/* Perf: JS marks every section (and the announcement bar) .idle while it is off screen, so nothing animates out of view.
   Paused animations resume from the same point, so there is no visible jump when you scroll back. */
.idle *,.idle *::before,.idle *::after{animation-play-state:paused!important}
.notify .sub-card h3{font-size:clamp(26px,2.4vw,34px);font-weight:800;letter-spacing:-.025em}
.faces{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.faces .k{font-family:var(--font-ui);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.6);width:100%}
.stack{display:flex;padding-left:12px}
.stack figure{margin:0 0 0 -12px;position:relative}
.stack img{width:54px;height:54px;border-radius:50%;border:3px solid #001022;background:#fff;transition:transform var(--speed) var(--ease)}
.stack figure:hover img,.stack figure:focus-within img{transform:translateY(-6px) scale(1.08)}
.stack figcaption{position:absolute;left:50%;bottom:calc(100% + 8px);translate:-50% 0;background:#fff;color:var(--navy-950);font-family:var(--font-ui);font-size:12px;font-weight:600;padding:7px 10px;border-radius:12px 12px 12px 3px;white-space:nowrap;opacity:0;transform:translateY(6px);transition:opacity .2s,transform .2s var(--ease);pointer-events:none;z-index:2}
.stack figure:hover figcaption{opacity:1;transform:none}
.faces .more{font-family:var(--font-ui);font-size:13px;color:rgba(255,255,255,.75)}

/* ---------- 2027: you said, we're building ---------- */
.next-sec{background:radial-gradient(50% 35% at 0% 20%,rgba(43,111,242,.25),transparent 70%),radial-gradient(40% 30% at 100% 70%,rgba(47,214,208,.14),transparent 70%),var(--navy-950);color:#fff;padding-top:clamp(110px,13vw,170px)}
.next-top{display:grid;grid-template-columns:1.1fr .9fr;gap:32px;align-items:end;margin-bottom:clamp(36px,5vw,60px)}
.next-top .sec-head{margin-bottom:0}
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.fb{grid-column:span 2;position:relative;border-radius:28px;padding:clamp(22px,2.6vw,34px);display:flex;flex-direction:column;gap:10px;overflow:hidden;isolation:isolate;min-height:300px}
.fb.w4{grid-column:span 4}
.fb::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(380px circle at var(--x,80%) var(--y,0%),rgba(255,255,255,.2),transparent 50%)}
.fb .k{font-family:var(--font-ui);font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;opacity:.85}
.fb .num{font-size:clamp(64px,7vw,104px);font-weight:800;line-height:.9;letter-spacing:-.05em}
.fb h3{font-size:clamp(30px,3.2vw,46px);font-weight:800;color:inherit;letter-spacing:-.035em;margin-top:4px}
.fb p{font-size:15px;line-height:1.55;opacity:.9;max-width:52ch}
.fb blockquote{margin:auto 0 0;padding:14px 16px;border-radius:18px 18px 18px 4px;background:rgba(0,10,25,.28);font-size:15px;font-weight:500;line-height:1.45}
.fb blockquote footer{font-family:var(--font-ui);font-size:12px;opacity:.75;margin-top:6px}
.fb svg.gb{position:absolute;right:-30px;top:-34px;width:170px;transform:rotate(14deg);fill:rgba(255,255,255,.12);z-index:-1}
.fb.c1{background:linear-gradient(140deg,var(--cobalt),#1A4FC0)}
.fb.c2{background:linear-gradient(140deg,var(--violet),#5A44D6)}
.fb.c3{background:linear-gradient(140deg,var(--teal-deep),#0B7F7B)}
.fb.c4{background:#fff;color:var(--ink)}
.fb.c4 h3,.fb.c4 .num{color:var(--navy-950)}.fb.c4 .k{color:var(--blue-700)}.fb.c4 p{color:var(--muted);opacity:1}
.fb.c4 blockquote{background:var(--surface)}.fb.c4 svg.gb{fill:var(--tint)}
.fb.c4::before{background:radial-gradient(380px circle at var(--x,80%) var(--y,0%),rgba(43,111,242,.1),transparent 50%)}
.fb.c5{background:linear-gradient(140deg,var(--blue-700),var(--navy-900));border:1px solid rgba(255,255,255,.12)}
.fb.c5 .num{color:var(--orange)}
.motion .fb.rv{transform:translateY(40px) scale(.97)}
.motion .fb.rv.in{transform:none}
.fb-note{font-family:var(--font-ui);font-size:12px;color:rgba(255,255,255,.55);margin-top:14px}

.road-wrap{margin-top:clamp(56px,7vw,96px);border-radius:30px;padding:clamp(26px,3.4vw,44px);background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1)}
.road-wrap h3{font-size:clamp(24px,2.4vw,34px);font-weight:800;margin-bottom:clamp(24px,3vw,40px)}
.road{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;position:relative;--tl:0}
.road::before,.road::after{content:"";position:absolute;top:26px;left:12.5%;height:3px;border-radius:3px}
.road::before{right:12.5%;background:repeating-linear-gradient(90deg,rgba(255,255,255,.25) 0 6px,transparent 6px 12px)}
.road::after{width:calc(75% / 3 * var(--tl));background:linear-gradient(90deg,var(--teal),var(--orange));box-shadow:0 0 12px rgba(251,117,11,.6)}
.road li{display:grid;justify-items:center;text-align:center;gap:8px;position:relative;z-index:1}
.road .mk{width:54px;height:54px;border-radius:18px 18px 18px 5px;display:grid;place-items:center;font-weight:800;font-size:16px;background:#0B2A50;border:2px solid rgba(255,255,255,.2);color:#fff}
.road .mk svg{width:22px;height:22px}
.road .done .mk{background:var(--teal);border-color:var(--teal);color:var(--navy-950)}
.road .now .mk{background:var(--orange);border-color:var(--orange);color:var(--navy-950);animation:ring 2.2s infinite}
.road .tag{font-family:var(--font-ui);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.08);color:rgba(255,255,255,.8)}
.road .done .tag{background:rgba(47,214,208,.16);color:var(--teal)}
.road .now .tag{background:rgba(251,117,11,.18);color:var(--orange)}
.road h4{font-size:19px;font-weight:700;color:#fff;line-height:1.2}
.road p{font-family:var(--font-ui);font-size:13px;color:rgba(255,255,255,.65);max-width:26ch}
.next-cta{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center;margin-top:clamp(28px,3vw,40px)}
.next-cta .alt{font-family:var(--font-ui);font-size:14px;color:rgba(255,255,255,.75)}
.next-cta .alt a{color:var(--teal);font-weight:600;text-decoration:none}
.next-cta .alt a:hover{text-decoration:underline}

/* ---------- Recap (from v3) ---------- */
.recap{overflow:clip}
.recap-head{display:grid;grid-template-columns:1.1fr .9fr;gap:32px;align-items:end}
.strip{display:grid;gap:14px;margin:clamp(40px,6vw,72px) 0}
.strip-row{display:flex;gap:14px;width:max-content;will-change:transform}
.strip figure{margin:0;position:relative;height:clamp(190px,24vw,340px);aspect-ratio:4/3;border-radius:22px;overflow:hidden;flex:none;background:var(--tint)}
.strip figure.sq{aspect-ratio:1}
.strip figure.wide{aspect-ratio:16/10}
.strip img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.strip figure:hover img{transform:scale(1.05)}
.strip figcaption{position:absolute;left:12px;bottom:12px;font-family:var(--font-ui);font-size:12px;font-weight:600;color:#fff;background:rgba(0,22,47,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:6px 12px;border-radius:12px 12px 12px 3px}
.rings{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.rc{border-radius:26px;padding:26px;display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center;background:#fff;border:1px solid var(--border);position:relative;overflow:hidden}
.rc .ring{position:relative;width:118px;height:118px;flex:none}
.rc svg{width:100%;height:100%;transform:rotate(-90deg)}
.rc circle{fill:none;stroke-width:10}
.rc .trk{stroke:var(--tint)}
.rc .val{stroke:var(--c);stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;transition:stroke-dashoffset 1.8s var(--ease) .2s}
.rc.in .val,.no-motion .rc .val{stroke-dashoffset:calc(100 - var(--v)*100)}
.rc .ring b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:800;color:var(--navy-950);letter-spacing:-.03em}
.rc p{font-family:var(--font-ui);font-size:14px;line-height:1.5;color:var(--muted)}
.rc p strong{display:block;font-family:var(--font-h);font-size:19px;color:var(--navy-950);margin-bottom:4px}
.rc.navy{background:linear-gradient(140deg,var(--navy-900),var(--blue-700));border:0;color:#fff}
.rc.navy p{color:rgba(255,255,255,.8)}.rc.navy p strong{color:#fff}
.rc.navy .bignum{font-size:64px;font-weight:800;line-height:1;letter-spacing:-.04em;width:118px;text-align:center}
.rc.navy img{position:absolute;right:-50px;bottom:-60px;width:170px;opacity:.22;pointer-events:none}
.film{position:relative;margin-top:16px;border-radius:30px;overflow:hidden;aspect-ratio:21/9;background:var(--navy-950);clip-path:inset(var(--clip,0%) round 30px)}
.video{position:absolute;inset:0;display:block;width:100%;height:100%;padding:0;border:0;cursor:pointer;background:var(--navy-950);color:#fff;text-align:left}
.video img{width:100%;height:100%;object-fit:cover;opacity:.62;transition:transform 1.2s var(--ease),opacity .4s}
.video:hover img{transform:scale(1.04);opacity:.72}
.video::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,22,47,.85),transparent 60%)}
.video .play{position:absolute;left:50%;top:50%;translate:-50% -50%;z-index:1;width:clamp(76px,9vw,112px);aspect-ratio:1;border-radius:50%;background:var(--orange);display:grid;place-items:center;transition:transform var(--speed) var(--ease)}
.video .play::before{content:"";position:absolute;inset:-14px;border-radius:50%;border:2px solid rgba(251,117,11,.5);animation:pinpulse 2.6s ease-out infinite}
.video:hover .play{transform:scale(1.08)}
.video .play svg{width:34%;height:34%;color:var(--navy-950);margin-left:6%}
.video .vt{position:absolute;left:clamp(20px,4vw,48px);bottom:clamp(18px,4vw,44px);z-index:1;font-family:var(--font-ui);font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.video .vt b{display:block;font-family:var(--font-h);font-size:clamp(28px,4vw,56px);font-weight:800;letter-spacing:-.03em;text-transform:none;line-height:1}
.film video{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:contain;background:#000}
/* Once playing, the frame takes the video's own 16:9 shape so nothing is letterboxed */
.film.playing{aspect-ratio:16/9!important}
/* While the video buffers, the thumbnail stays on top (never a black box) and the play ring turns into a spinner */
.video.loading{z-index:1;pointer-events:none}
.video.loading .play::before{border-color:rgba(251,117,11,.25);border-top-color:var(--orange);animation:spin .9s linear infinite}
.video.gone{opacity:0;transition:opacity .4s}
.footnote{font-family:var(--font-ui);font-size:12px;color:var(--muted);margin-top:14px}

/* ---------- Testimonials (from v3) ---------- */
.quotes-sec{padding-top:0;overflow:clip}
.q-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.q-ctrl{display:flex;align-items:center;gap:10px}
.q-count{font-family:var(--font-ui);font-size:13px;color:var(--muted);margin-right:6px}
.q-count b{font-family:var(--font-h);font-size:22px;color:var(--navy-950)}
.qbtn{width:42px;height:42px;border-radius:50%;border:1px solid var(--border);color:var(--navy-950);background:#fff;cursor:pointer;display:grid;place-items:center;transition:background var(--speed),border-color var(--speed)}
.qbtn svg{width:18px;height:18px}
.qbtn.prev svg{transform:scaleX(-1)}
.qbtn:hover{border-color:var(--navy-900);background:var(--navy-900);color:#fff}
.qbtn:disabled{opacity:.35;cursor:default;background:#fff;color:var(--navy-950);border-color:var(--border)}
.q-rail{display:flex;align-items:flex-start;gap:26px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;padding:34px max(var(--gutter),calc((100% - var(--wrap))/2)) 56px;scroll-padding-inline:max(var(--gutter),calc((100% - var(--wrap))/2));cursor:grab}
.q-rail::-webkit-scrollbar{display:none}
.q-rail.drag{cursor:grabbing;scroll-snap-type:none}
.q-rail.drag *{user-select:none;pointer-events:none}
.q-rail:focus-visible{outline:3px solid var(--cobalt);outline-offset:-3px}
.say{position:relative;flex:0 0 auto;width:clamp(270px,28vw,360px);margin:0;scroll-snap-align:start;border-radius:34px;padding:clamp(24px,2.6vw,34px);color:#fff;display:flex;flex-direction:column;gap:18px;--tail:var(--navy-900)}
.say::after{content:"";position:absolute;bottom:-26px;left:56px;width:46px;height:30px;background:var(--tail);clip-path:polygon(0 0,100% 0,8% 100%)}
.say .mark{font-size:90px;line-height:.55;font-weight:800;opacity:.3;height:32px}
.say p{font-size:18px;font-weight:500;line-height:1.5}
.say.short p{font-size:clamp(22px,2vw,26px);font-weight:700;line-height:1.3;letter-spacing:-.01em}
.say footer{margin-top:auto;font-family:var(--font-ui);font-size:13px;opacity:.85}
.say footer b{display:block;font-family:var(--font-h);font-size:16px}
.say.feature{width:clamp(290px,40vw,520px);background:linear-gradient(165deg,#3E7BE6 0%,var(--blue-700) 52%,var(--navy-900) 100%)}
.say.feature p{font-size:clamp(19px,1.9vw,23px);line-height:1.42}
.say.alt{background:#fff;color:var(--ink);border:1px solid var(--border);--tail:#fff}
.say.alt::after{left:auto;right:56px;clip-path:polygon(0 0,100% 0,92% 100%)}
.say.alt footer{color:var(--muted)}.say.alt footer b{color:var(--navy-950)}
.say.alt .mark{color:var(--cobalt)}
.say.alt2{background:linear-gradient(160deg,var(--violet),#4B3BC9);--tail:#4B3BC9}
.say.teal{background:linear-gradient(160deg,var(--teal-deep),#0B7F7B);--tail:#0B7F7B}
.say.navy{background:linear-gradient(160deg,var(--navy-900),var(--navy-950));--tail:var(--navy-950)}
.say.navy .mark{color:var(--orange);opacity:.8}
.motion .say.float{animation:bob 7s ease-in-out infinite;animation-delay:var(--dl,0s)}
.q-progress{height:4px;border-radius:4px;background:var(--tint);overflow:hidden;margin-top:-18px}
.q-progress i{display:block;height:100%;width:20%;border-radius:4px;background:var(--spectrum);transition:width .2s var(--ease)}

/* ---------- Sponsors ---------- */
.sponsor-wall{display:grid;grid-template-columns:repeat(7,1fr);gap:14px}
.sponsor-wall a,.sponsor-wall span{display:grid;place-items:center;height:116px;padding:18px;border-radius:20px;background:#fff;border:1px solid var(--border);transition:transform var(--speed) var(--ease),box-shadow var(--speed)}
.sponsor-wall a:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(0,22,47,.12)}
.sponsor-wall img{max-height:60px;width:auto;max-width:100%;object-fit:contain}

/* ---------- FAQ ---------- */
.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(28px,5vw,80px);align-items:start}
.faq .sec-head{position:sticky;top:120px}
.faq-list{display:grid;gap:12px}
details{background:#fff;border:1px solid transparent;border-radius:20px;transition:background var(--speed),box-shadow var(--speed),border-color var(--speed)}
details[open]{background:#fff;border-color:var(--border);box-shadow:0 16px 36px rgba(0,22,47,.08)}
details::details-content{block-size:0;overflow:clip;transition:block-size .35s var(--ease),content-visibility .35s allow-discrete}
details[open]::details-content{block-size:auto}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:22px 24px;font-size:18px;font-weight:600;color:var(--navy-950);border-radius:20px}
summary::-webkit-details-marker{display:none}
summary i{flex:none;width:34px;height:34px;border-radius:12px 12px 12px 3px;background:var(--tint);display:grid;place-items:center;transition:transform .3s var(--ease),background var(--speed)}
summary i::before{content:"+";font-style:normal;font-weight:700;font-size:18px;color:var(--navy-900)}
details[open] summary i{transform:rotate(45deg);background:var(--orange)}
details p{padding:0 24px 22px;color:var(--muted)}
details p a{color:var(--blue-700)}

/* ---------- Partner (Mari) ---------- */
.partner{background:linear-gradient(125deg,var(--blue-700) 0%,var(--navy-900) 45%,var(--navy-950) 100%);color:#fff;overflow:clip}
.partner .globe-bg{position:absolute;right:-12%;top:50%;width:min(720px,70vw);margin-top:calc(min(720px,70vw) / -2);opacity:.16;pointer-events:none}
.partner-in{display:grid;grid-template-columns:auto 1fr;gap:clamp(28px,5vw,72px);align-items:center;position:relative}
.mari{margin:0;text-align:center;position:relative}
.mari .ring{position:relative;width:clamp(200px,22vw,280px);aspect-ratio:1;border-radius:50%;padding:7px;background:conic-gradient(from 0deg,var(--orange),var(--pink),var(--violet),var(--cobalt),var(--teal),var(--orange));animation:spin 14s linear infinite}
.mari .ring img{width:100%;height:100%;object-fit:cover;object-position:top;border-radius:50%;background:var(--blue-700);border:5px solid var(--navy-900);animation:spin 14s linear infinite reverse}
.mari figcaption{position:absolute;right:-18px;bottom:16px;background:#fff;color:var(--navy-950);font-family:var(--font-ui);font-size:13px;font-weight:600;padding:10px 14px;border-radius:16px 16px 3px 16px;box-shadow:0 14px 30px rgba(0,0,0,.3);white-space:nowrap}
.partner .copy{display:grid;gap:18px}
.partner .copy p{color:var(--on-dark);max-width:62ch;font-size:17px}

/* ---------- Closing subscribe ---------- */
.close-sec{overflow:clip}
.close{display:grid;grid-template-columns:1fr .95fr;gap:clamp(32px,5vw,72px);align-items:center;position:relative}
.close .copy{display:grid;gap:20px;position:relative;z-index:1}
.close .h2{font-size:clamp(46px,7vw,100px);letter-spacing:-.045em;line-height:.92}
.close .contact{display:grid;gap:6px;font-family:var(--font-ui);font-size:14px;color:var(--muted);margin-top:8px}
.close .contact a{color:var(--blue-700);font-weight:600;text-decoration:none;border-bottom:2px solid var(--orange);width:fit-content}
.close .world{position:absolute;left:-14%;bottom:-40%;width:min(560px,48vw);opacity:.08;pointer-events:none;z-index:0}

/* ---------- Footer ---------- */
footer.site{background:var(--ink);color:rgba(255,255,255,.75);font-family:var(--font-ui);font-size:14px;padding-top:clamp(48px,6vw,72px)}
.certra{background:linear-gradient(135deg,var(--navy-950),#04224A);border-radius:26px;padding:28px 32px;display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;border:1px solid rgba(255,255,255,.1);position:relative;overflow:hidden}
.certra::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--spectrum)}
.certra .k{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--teal)}
.certra h3{color:#fff;font-size:24px;margin:6px 0}
.certra img{height:42px;width:auto}
.certra p{max-width:60ch}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;padding:56px 0 40px}
.foot-grid h4{color:#fff;font-family:var(--font-ui);font-size:13px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px}
.foot-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.foot-grid a{text-decoration:none}.foot-grid a:hover{color:#fff}
.foot-brand img{height:34px;width:auto;margin-bottom:16px}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:26px 0 36px;border-top:1px solid rgba(255,255,255,.1)}
.foot-bottom a{text-decoration:none}.foot-bottom a:hover{color:#fff}

/* ---------- Mobile sticky CTA ---------- */
.mcta{position:fixed;left:12px;right:12px;bottom:12px;z-index:55;display:none;align-items:center;justify-content:space-between;gap:12px;padding:10px 10px 10px 18px;border-radius:999px;background:rgba(0,22,47,.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.14);color:#fff;font-family:var(--font-ui);font-size:13px;box-shadow:0 16px 40px rgba(0,0,0,.35);transform:translateY(160%);transition:transform .4s var(--ease)}
.mcta.show{transform:none}
.mcta b{display:block;font-size:14px}
.mcta .btn{padding:13px 18px;font-size:14px;flex:none}

/* ---------- Reveal ---------- */
.motion .rv{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.motion .rv.in{opacity:1;transform:none}
.motion .rv.d1{transition-delay:.1s}.motion .rv.d2{transition-delay:.2s}.motion .rv.d3{transition-delay:.3s}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
  .strip{width:min(var(--wrap),100% - 2*var(--gutter));margin-inline:auto;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
  .strip-row{display:contents}
  .strip figure,.strip figure.sq,.strip figure.wide{height:auto;aspect-ratio:4/3}
  .road{--tl:1!important}
}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .sponsor-wall{grid-template-columns:repeat(5,1fr)}
  .rings{grid-template-columns:1fr 1fr}
  .rc.navy{grid-column:1/-1}
  .hero-stats{grid-template-columns:1fr 1fr 1fr;row-gap:22px}
  .mini{grid-column:1/-1;margin-left:0}
  .bento{grid-template-columns:repeat(2,1fr)}
  .fb,.fb.w4{grid-column:span 1}
  .fb.w4{grid-column:1/-1}
}
@media (max-width:960px){
  .nav ul,.nav>.btn,.announce-side{display:none}
  .burger{display:grid}
  .nav{padding:8px 8px 8px 20px}
  .hero-inner{grid-template-columns:1fr;grid-template-areas:"copy" "stage" "stats"}
  .hero-aside{margin-top:22px}
  /* Stacked hero: the thank-you bubble landed on the second CTA, and the band below the hero already says thank you */
  .greet{display:none}
  .aside-globe{width:26%;right:-4%;top:-9%}
  .recap-head,.faq,.partner-in,.close,.rec-grid,.next-top{grid-template-columns:1fr}
  .faq .sec-head,.notify{position:static}
  .partner-in{justify-items:start}
  .foot-grid{grid-template-columns:1fr 1fr}
  .certra{grid-template-columns:1fr}
  .mcta{display:flex}
  .notes-toggle{bottom:84px}
  .road{grid-template-columns:1fr;gap:22px;padding-left:4px}
  .road::before,.road::after{top:26px;left:30px;width:3px;right:auto}
  .road::before{bottom:26px;height:auto;background:repeating-linear-gradient(180deg,rgba(255,255,255,.25) 0 6px,transparent 6px 12px)}
  .road::after{height:calc((100% - 52px) / 3 * var(--tl));width:3px}
  .road li{grid-template-columns:54px 1fr;justify-items:start;text-align:left;column-gap:16px;row-gap:4px}
  .road .mk{grid-row:1/4}
  .road p{max-width:none}
}
@media (max-width:720px){
  .announce .wrap{justify-content:center;min-height:38px}
  .announce-main{flex-wrap:nowrap;justify-content:center;gap:8px;white-space:nowrap}
  .announce-main b,.announce .ann-long{display:none}
  .announce .ann-short{display:inline;color:#fff;font-weight:600}
  .hero .chip-live{display:none}
  .sponsor-wall{grid-template-columns:repeat(2,1fr)}
  .rings{grid-template-columns:1fr}
  .hero-stats{grid-template-columns:1fr 1fr}
  .hs:nth-child(3){grid-column:1/-1;padding-left:0;border-left:0}
  .hs+.hs:nth-child(2){padding-left:16px}
  .film{aspect-ratio:4/3}
  .screen{aspect-ratio:4/5}
  .hud{flex-direction:column;align-items:flex-start;gap:8px}
  .toast{white-space:normal;width:max-content;max-width:80%;text-align:center}
  .say{width:min(80vw,330px)}
  .say.feature{width:min(86vw,360px)}
  .say.feature p{font-size:18px}
  .bento{grid-template-columns:1fr}
  .fb.w4{grid-column:auto}
  .fb{min-height:0}
  .sf .row,.sf-inline{grid-template-columns:1fr}
  .sf-inline .btn{width:100%}
  .mari figcaption{right:auto;left:50%;translate:-50% 0;bottom:-12px}
  .partner-in{justify-items:center;text-align:left}
  .ep{grid-template-columns:40px 1fr;row-gap:6px}
  .ep::before{width:40px}
  .ep .st{grid-column:2}
}
@media (max-width:420px){
  .announce .wrap{font-size:12px}
}

/* ==========================================================
   WordPress additions (build-wp.py)
========================================================== */
/* Safety net: Elementor Pro page-transition preloader is unhooked in the template; never show it here */
e-page-transition{display:none!important}

/* Admin bar is only shown to logged-in users; keep the sticky bits clear of it */
.admin-bar .nav-shell{top:32px}
.admin-bar .progress{top:32px}
@media (max-width:782px){.admin-bar .nav-shell,.admin-bar .progress{top:46px}}
@media (max-width:600px){.admin-bar .nav-shell,.admin-bar .progress{top:0}}

/* Partner enquiry dialog (Contact Form 7 #8366) */
.pdlg{width:min(640px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:0;border:0;border-radius:22px;background:var(--white);color:var(--ink);box-shadow:0 30px 80px rgba(0,22,47,.45);overflow:auto;overscroll-behavior:contain}
.pdlg::backdrop{background:rgba(0,22,47,.72);backdrop-filter:blur(4px)}
.pdlg[open]{animation:pdlg-in .28s var(--ease)}
@keyframes pdlg-in{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}
.pdlg-in{position:relative;padding:clamp(22px,4vw,36px)}
.pdlg-in::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--spectrum)}
.pdlg h2{font-size:clamp(24px,3.2vw,32px);margin:0 44px 20px 0;color:var(--navy-950)}
.pdlg-x{position:absolute;top:16px;right:16px;width:40px;height:40px;border:0;border-radius:50%;background:var(--surface);color:var(--navy-950);cursor:pointer;display:grid;place-items:center;transition:background var(--speed) var(--ease)}
.pdlg-x:hover{background:var(--tint)}
.pdlg-x svg{width:18px;height:18px}
.pdlg .wpcf7 p{margin:0 0 14px}
.pdlg .wpcf7 label br{display:none}
.pdlg .cf7-row{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.pdlg .cf7-row>.cf7-col-full,.pdlg .cf7-row>:only-child{grid-column:1/-1}
@media (max-width:560px){.pdlg .cf7-row{grid-template-columns:1fr}}
.pdlg .wpcf7 label{display:block;font-family:var(--font-ui);font-size:13px;font-weight:600;color:var(--navy-950)}
.pdlg .wpcf7 .wpcf7-form-control-wrap{display:block;margin-top:6px}
.pdlg .wpcf7 input:not([type=submit]):not([type=checkbox]):not([type=radio]),.pdlg .wpcf7 select,.pdlg .wpcf7 textarea{width:100%;font:400 15px/1.4 var(--font-ui);color:var(--ink);background:var(--surface);border:1.5px solid var(--border);border-radius:12px;padding:12px 14px;transition:border-color var(--speed) var(--ease),background var(--speed) var(--ease)}
.pdlg .wpcf7 textarea{min-height:120px;resize:vertical}
.pdlg .wpcf7 input:focus,.pdlg .wpcf7 select:focus,.pdlg .wpcf7 textarea:focus{outline:0;border-color:var(--cobalt);background:var(--white)}
.pdlg .wpcf7 .wpcf7-not-valid{border-color:var(--pink)!important}
.pdlg .wpcf7 .wpcf7-not-valid-tip{font-family:var(--font-ui);font-size:12px;color:#C42A4A;margin-top:4px}
.pdlg .wpcf7 input[type=submit]{font:600 15px var(--font-ui);color:#fff;background:var(--orange);border:0;border-radius:999px;padding:14px 28px;cursor:pointer;transition:transform var(--speed) var(--ease),box-shadow var(--speed) var(--ease)}
.pdlg .wpcf7 input[type=submit]:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(251,117,11,.35)}
.pdlg .wpcf7 .wpcf7-response-output{font-family:var(--font-ui);font-size:14px;border-radius:12px;margin:14px 0 0;padding:12px 14px}
