/* website.v3 layer — loaded after site.css on every page (tools/v3_shell.py).
   Look approved by the owner October 16, 2026: website.v3/_design/preview-home.html.
   Wide caps Archivo headlines, pink overlines, floating glass pill header, big rounded
   picture tiles, soft purple glows on near-black, round gradient calls to action. */
:root{
  --v3-bg:#0d0c14;--v3-ink:#f7eef6;--v3-ink2:#b9b1c4;--v3-ink3:#8a8296;
  --v3-pink:#ff5fae;--v3-line:rgba(255,255,255,.12);--v3-card:#1b1924;
  --v3-grad:linear-gradient(100deg,#e94cc0,#ff6f9c 55%,#ff9a7a);
  --v3-glow:0 8px 30px rgba(255,95,174,.35);
  --v3-r:22px;--v3-ease:cubic-bezier(.2,.7,.2,1);
  --v3-display:'Archivo',system-ui,sans-serif;
  --v3-head:'Big Shoulders','Archivo Narrow',system-ui,sans-serif;   /* condensed caps headlines (owner's video, Oct 16) */
}
body{background-color:var(--v3-bg);}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;
  background:radial-gradient(40vw 40vw at 15% 25%,rgba(160,40,140,.20),transparent 70%),
             radial-gradient(35vw 35vw at 85% 75%,rgba(255,110,90,.09),transparent 70%);}

/* ---- headlines: wide caps, tight ---- */
h1,h2,.sec-title,.phero h1,.phero__title{font-family:var(--v3-head)!important;
  font-weight:700!important;letter-spacing:0!important;line-height:.92!important;text-transform:uppercase;font-style:normal!important;}
.v3-over{color:var(--v3-pink);font:400 15px/1.3 var(--v3-display);letter-spacing:0;text-transform:none;margin:0 0 10px;}
.v3-pill{display:inline-flex;align-items:center;gap:10px;padding:12px 22px;border-radius:999px;
  background:var(--v3-grad);color:#fff!important;font-weight:600;box-shadow:var(--v3-glow);text-decoration:none!important;}

/* ---- floating glass pill header ---- */
.site-head.v3h,.site-head.v3h.is-stuck,body.has-hero .site-head.v3h:not(.is-stuck){
  height:auto;padding:14px 16px 0;background:none;border:0;backdrop-filter:none;-webkit-backdrop-filter:none;}
/* The glass sits on a pseudo-element: backdrop-filter on an ANCESTOR of the fixed .nav
   would make it the menu's containing block and trap the overlay inside the pill. */
.v3h .site-head__in{width:min(1240px,100%);gap:8px;padding:8px 8px 8px 16px;border-radius:999px;}
.v3h .site-head__in::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;
  background:rgba(20,16,30,.62);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);
  border:1px solid var(--v3-line);}
.v3h .brand__logo{height:42px;}
.v3h__links{flex:1;display:flex;justify-content:center;gap:30px;}
.v3h__links a{color:var(--v3-ink2);font:500 16px/1 var(--v3-display);text-decoration:none;padding:10px 0;}
.v3h__links a:hover,.v3h__links a[aria-current="page"]{color:#fff;}
.v3h__links a[aria-current="page"]{box-shadow:inset 0 -2px 0 var(--v3-pink);}
.v3h .head-right{margin-left:0;gap:6px;}
.v3h__dc{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;color:var(--v3-ink);}
.v3h__dc:hover{background:rgba(255,255,255,.07);}
.v3h .v3h__menu{flex-direction:row;align-items:center;gap:10px;width:auto;height:44px;padding:0 20px;
  border-radius:999px;background:var(--v3-grad);color:#fff;font:600 16px/1 var(--v3-display);box-shadow:var(--v3-glow);}
.v3h .v3h__menu::before,.v3h .v3h__menu::after{display:none;}
.v3h__burger{position:relative;width:18px;height:2px;background:#fff;border-radius:2px;transition:background .2s;}
.v3h__burger::before,.v3h__burger::after{content:"";position:absolute;left:0;height:2px;background:#fff;border-radius:2px;transition:transform .25s var(--v3-ease);}
.v3h__burger::before{top:-6px;width:18px;}
.v3h__burger::after{top:6px;width:12px;}
.v3h__menu[aria-expanded="true"] .v3h__burger{background:transparent;}
.v3h__menu[aria-expanded="true"] .v3h__burger::before{transform:translateY(6px) rotate(45deg);}
.v3h__menu[aria-expanded="true"] .v3h__burger::after{width:18px;transform:translateY(-6px) rotate(-45deg);}
@media(max-width:1060px){.v3h__links{gap:20px;}}
@media(max-width:899px){
  .v3h__links{display:none;}
  .v3h .head-right{margin-left:auto;}
  .v3h .brand__logo{height:36px;}
}

/* ---- the menu: full-screen glass overlay with the countdown ---- */
.v3h .nav{inset:0 0 auto 0;top:0;max-height:100dvh;height:100dvh;padding:calc(var(--nav-top,90px) + 20px) 0 110px;
  background:rgba(13,12,20,.94);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:0;z-index:-2;}
.v3m__top{width:min(1240px,92vw);margin:0 auto 26px;display:flex;flex-wrap:wrap;align-items:center;gap:18px 34px;
  padding:24px 28px;border-radius:var(--v3-r);border:1px solid var(--v3-line);background:rgba(255,255,255,.03);}
.v3m__top .v3-over{width:100%;margin:0;}
.v3m__cd{display:flex;gap:26px;flex:1;}
.v3m__cd span{display:flex;align-items:baseline;gap:6px;color:var(--v3-ink3);font-size:14px;}
.v3m__cd b{font:700 64px/1 var(--v3-head);color:#fff;letter-spacing:.02em;}
@media(max-width:600px){.v3m__cd{gap:16px;}.v3m__cd b{font-size:40px;}}
.v3h .nav .v3m__top a{width:auto;min-height:0;margin:0;border:0;padding:12px 22px;font:600 16px/1 var(--v3-display);
  letter-spacing:0;text-transform:none;color:#fff;border-radius:999px;}
.v3h .nav__col{width:min(1240px,92vw);}
.v3h .nav__h{color:var(--v3-pink);font:500 14px/1.2 var(--v3-display);letter-spacing:0;text-transform:none;border-color:var(--v3-line);}
.v3h .nav a{font:500 22px/1.2 var(--v3-display);letter-spacing:-.01em;text-transform:none;color:var(--v3-ink);
  border-color:var(--v3-line);}
.v3h .nav a:hover,.v3h .nav a[aria-current="page"]{color:var(--v3-pink);}

/* ---- closing call + footer ---- */
.v3close{padding:110px 0 80px;}
.v3close__in{display:flex;justify-content:space-between;align-items:center;gap:40px;}
.v3close__h{font-size:clamp(56px,9vw,130px)!important;line-height:.92!important;margin:0;}
.v3close__p{color:var(--v3-ink2);max-width:440px;margin-top:22px;font-size:17px;}
.v3close__go{flex:none;width:200px;height:200px;border-radius:50%;background:var(--v3-grad);display:grid;place-items:center;
  text-align:center;color:#fff!important;font:600 20px/1.3 var(--v3-display);box-shadow:0 20px 60px rgba(255,95,174,.4);
  text-decoration:none!important;transition:transform .5s var(--v3-ease);}
.v3close__go:hover{transform:scale(1.05) rotate(-3deg);}
@media(max-width:700px){.v3close__in{flex-direction:column;align-items:flex-start;}.v3close__go{width:150px;height:150px;font-size:17px;align-self:flex-end;}}
.site-foot.v3f{border-top:1px solid var(--v3-line);border-radius:28px 28px 0 0;background:rgba(255,255,255,.02);padding:60px 0 30px;}
.v3f__grid{display:grid;grid-template-columns:1.6fr repeat(6,1fr);gap:32px;}
.v3f__brand p{color:var(--v3-ink2);margin:16px 0;max-width:320px;}
.v3f h3{font:600 16px/1.2 var(--v3-display)!important;text-transform:none!important;letter-spacing:0!important;margin-bottom:16px;}
.v3f ul{list-style:none;padding:0;margin:0;display:grid;gap:10px;}
.v3f ul a{color:var(--v3-ink2);text-decoration:none;}
.v3f ul a:hover{color:#fff;}
@media(max-width:1100px){.v3f__grid{grid-template-columns:repeat(4,1fr);}}
@media(max-width:900px){.v3f__grid{grid-template-columns:repeat(2,1fr);}.v3f__brand{grid-column:1/-1;}}

@media(prefers-reduced-motion:reduce){.v3close__go,.v3h__burger::before,.v3h__burger::after{transition:none;}}

/* ---- motion (js/v3-motion.js). Hidden states apply ONLY under html.v3-motion, which the
   script sets after checking reduced motion — no JS, no hiding. ---- */
:root{--v3-expo:cubic-bezier(.16,1,.3,1);--v3-inout:cubic-bezier(.87,0,.13,1);}
.v3w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em;}
.v3w__in{display:inline-block;}
.v3-motion .v3-split .v3w__in{transform:translateY(118%) rotate(2deg);transform-origin:0 100%;
  transition:transform 1.25s var(--v3-expo);transition-delay:calc(var(--i,0) * .05s);}
.v3-motion .v3-split.is-in .v3w__in{transform:none;}
.v3-motion .v3-rise{opacity:0;transform:translateY(60px);
  transition:opacity 1.2s var(--v3-expo),transform 1.2s var(--v3-expo);transition-delay:var(--d,0s);}
.v3-motion .v3-rise.is-in{opacity:1;transform:none;}
.v3-motion .v3-pic-in{clip-path:inset(100% 0 0 0);transition:clip-path 1.4s var(--v3-inout);}
.v3-motion .v3-pic-in.is-in{clip-path:inset(0 0 0 0);}
/* menu: links rise in after the panel opens */
.v3-motion .v3h .nav a,.v3-motion .v3h .nav .nav__h,.v3-motion .v3m__top{opacity:0;transform:translateY(24px);
  transition:opacity .6s var(--v3-expo),transform .9s var(--v3-expo);}
.v3-motion .v3h .nav[data-open="true"] a,.v3-motion .v3h .nav[data-open="true"] .nav__h,.v3-motion .v3h .nav[data-open="true"] .v3m__top{
  opacity:1;transform:none;transition-delay:calc(.15s + var(--i,0) * .03s);}
.v3-motion .v3h .nav[data-open="true"] .v3m__top{transition-delay:.08s;}
@media print{.v3-motion .v3-split .v3w__in,.v3-motion .v3-rise,.v3-motion .v3-pic-in{transform:none!important;opacity:1!important;clip-path:none!important;}}

/* ---- shared section pieces (home first, then every page that adopts them) ---- */
.v3head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:34px;}
.v3head h2{font-size:clamp(40px,6vw,84px)!important;line-height:.95!important;margin:0;}
.v3all{flex:none;font:500 15px/1 var(--v3-display);color:var(--v3-ink)!important;padding-bottom:10px;
  border-bottom:1px solid var(--v3-line);text-decoration:none!important;white-space:nowrap;transition:color .3s,border-color .3s;}
.v3all::after{content:" ↗";color:var(--v3-pink);display:inline-block;transition:transform .2s var(--v3-ease);}
.v3all:hover{color:var(--v3-pink)!important;border-color:var(--v3-pink);}
.v3all:hover::after{transform:translate(2px,-2px);}
.v3grid{display:grid;gap:16px;}
.v3grid--4{grid-template-columns:repeat(4,1fr);}
.v3grid--3{grid-template-columns:repeat(3,1fr);}
@media(max-width:900px){.v3grid--4,.v3grid--3{grid-template-columns:repeat(2,1fr);gap:12px;}}
@media(max-width:899px){.v3head{flex-direction:column;align-items:flex-start;}}

/* picture tile with text on a dark fade */
.v3tile{position:relative;display:block;overflow:hidden;border-radius:var(--v3-r);aspect-ratio:16/10;background:var(--v3-card);
  border:0;padding:0;color:#fff!important;text-decoration:none!important;cursor:pointer;text-align:left;width:100%;}
.v3tile--tall{aspect-ratio:4/5;}
.v3tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s var(--v3-ease);}
.v3tile::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to top,rgba(8,6,14,.85),rgba(8,6,14,.08) 55%,transparent);}
.v3tile:hover img,.v3tile:focus-visible img{transform:scale(1.06);}
.v3tile__t{position:absolute;left:22px;right:22px;bottom:20px;z-index:2;display:block;}
.v3tile__t b{display:block;font:600 22px/1.2 var(--v3-display);letter-spacing:-.01em;}
.v3tile__t > span{font-size:14px;color:#d8d0dc;}
@media(max-width:600px){.v3tile__t{left:14px;right:14px;bottom:12px;}.v3tile__t b{font-size:17px;}}

/* news desk: the live feed (js/news.js) restyled picture-first */
#latest .news-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
#latest .news-card{background:none!important;border:0!important;box-shadow:none!important;padding:0!important;border-radius:0!important;
  display:flex!important;flex-direction:column!important;grid-template-columns:none!important;color:var(--v3-ink)!important;text-decoration:none!important;}
#latest .news-card--lead{grid-column:1/-1;display:grid!important;grid-template-columns:1.4fr 1fr!important;gap:34px;align-items:center;margin-bottom:18px;}
#latest .news-card__media{border-radius:var(--v3-r);overflow:hidden;aspect-ratio:16/10;background:var(--v3-card);}
#latest .news-card__shot{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--v3-ease);}
#latest .news-card:hover .news-card__shot{transform:scale(1.05);}
#latest .news-card__inner{padding:16px 0 0!important;}
#latest .news-card h3{color:var(--v3-ink)!important;font:600 19px/1.25 var(--v3-display)!important;text-transform:none!important;letter-spacing:-.01em!important;margin:8px 0 0;transition:color .15s;}
#latest .news-card--lead h3{font-size:clamp(26px,3vw,40px)!important;line-height:1.1!important;}
#latest .news-card:hover h3{color:var(--v3-pink);}
#latest .news-card__ex,#latest .news-card__more{display:none;}
#latest .news-card--lead .news-card__ex{display:block;color:var(--v3-ink2);margin-top:12px;}
#latest .news-card__foot{order:-1;margin-top:8px;color:var(--v3-ink3);font-size:14px;}
@media(max-width:900px){#latest .news-grid{grid-template-columns:repeat(2,1fr);}#latest .news-card--lead{display:flex!important;}}
@media(max-width:600px){#latest .news-grid{grid-template-columns:1fr;gap:28px;}}
#latest .news-card__media{width:100%!important;max-width:none!important;flex:none!important;}

/* trailers */
.v3tv{display:grid;grid-template-columns:2fr 1fr;gap:20px;}
.v3tv__big{aspect-ratio:16/9;}
.v3big{font:700 clamp(34px,4.6vw,64px)/.95 var(--v3-head)!important;text-transform:uppercase;}
.v3play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:3;width:84px;height:84px;border-radius:50%;
  background:var(--v3-grad);display:grid;place-items:center;box-shadow:0 10px 40px rgba(255,95,174,.5);transition:transform .3s var(--v3-ease);}
.v3tv__big:hover .v3play{transform:translate(-50%,-50%) scale(1.08);}
.v3tv__list{display:flex;flex-direction:column;gap:14px;}
.v3tv__list button,.v3tv__list a{display:grid;grid-template-columns:150px 1fr;gap:16px;align-items:center;padding:10px;border-radius:18px;
  border:1px solid var(--v3-line);background:rgba(255,255,255,.03);color:var(--v3-ink);text-align:left;cursor:pointer;transition:background .3s,border-color .3s;}
.v3tv__list a{color:var(--v3-ink)!important;text-decoration:none!important;}
.v3tv__list button:hover,.v3tv__list a:hover{background:rgba(255,255,255,.06);border-color:rgba(255,95,174,.4);}
.v3tv__ph{display:block;aspect-ratio:16/9;border-radius:12px;overflow:hidden;}
.v3tv__ph img{width:100%;height:100%;object-fit:cover;}
.v3tv__list b{display:block;font:600 18px/1.2 var(--v3-display);}
.v3tv__list span span{font-size:14px;color:var(--v3-ink3);}
@media(max-width:900px){.v3tv{grid-template-columns:1fr;}}

/* photo wall */
.v3wall{position:relative;height:860px;overflow:hidden;margin:80px 0 0;}
.v3wall__g{position:absolute;inset:-40px;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;transform:rotate(-4deg) scale(1.08);}
.v3wall__g img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:18px;filter:brightness(.5) saturate(1.1);}
.v3wall__mid{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:0 16px;background:radial-gradient(60% 50% at 50% 50%,rgba(13,12,20,.78),transparent);}
.v3wall__h{font-size:clamp(56px,10vw,150px)!important;line-height:.95!important;margin:0;}
.v3wall__h em{font-style:normal;background:var(--v3-grad);-webkit-background-clip:text;background-clip:text;color:transparent;}
.v3wall__h em .v3w__in{background:var(--v3-grad);-webkit-background-clip:text;background-clip:text;color:transparent;}
.v3wall__mid p:not(.v3-over){max-width:460px;margin:22px 0 30px;color:#e7deea;font-size:18px;}
.v3arrow{width:30px;height:30px;border-radius:50%;background:#fff;color:#1a0f1c;display:grid;place-items:center;margin-right:-10px;}
@media(max-width:700px){.v3wall{height:620px;}.v3wall__g{grid-template-columns:repeat(2,1fr);}}

/* timeline cards */
.v3card{display:block;padding:26px;border-radius:var(--v3-r);border:1px solid var(--v3-line);background:rgba(255,255,255,.03);
  min-height:200px;color:var(--v3-ink)!important;text-decoration:none!important;transition:transform .5s var(--v3-ease),background .5s,border-color .5s;}
.v3card:hover{transform:translateY(-4px);background:rgba(255,255,255,.05);border-color:rgba(255,95,174,.4);}
.v3card small{color:var(--v3-pink);font-size:14px;}
.v3card b{display:block;font:600 22px/1.2 var(--v3-display);margin:12px 0 10px;}
.v3card span{color:var(--v3-ink2);font-size:15px;}

/* questions */
.v3faq details{border-bottom:1px solid var(--v3-line);padding:28px 0;}
.v3faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;
  font:500 clamp(20px,2.4vw,28px)/1.25 var(--v3-display);cursor:pointer;transition:color .2s;}
.v3faq summary::-webkit-details-marker{display:none;}
.v3faq summary::after{content:"+";flex:none;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.4);
  display:grid;place-items:center;font-size:24px;font-weight:300;transition:transform .3s var(--v3-ease),border-color .3s;}
.v3faq details[open] summary{color:var(--v3-pink);}
.v3faq details[open] summary::after{content:"−";border-color:var(--v3-pink);}
.v3faq details p{margin-top:16px;color:var(--v3-ink2);max-width:760px;font-size:17px;}

/* the moving November 19 band */
.v3band{overflow:hidden;padding:70px 0;white-space:nowrap;}
.v3band__run{display:inline-flex;gap:50px;align-items:center;animation:v3run 32s linear infinite;
  font:700 clamp(90px,13vw,190px)/1 var(--v3-head);text-transform:uppercase;}
.v3band__f{background:var(--v3-grad);-webkit-background-clip:text;background-clip:text;color:transparent;}
.v3band__o{color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.55);}
.v3band i{font-style:normal;color:var(--v3-pink);font-size:.45em;}
@keyframes v3run{to{transform:translateX(-50%);}}
@media(prefers-reduced-motion:reduce){.v3band__run{animation:none;}.v3tile img,.v3card{transition:none;}}

/* scroll cue on the first screen (moved from the hero, owner October 16, 2026) */
/* lifted by how far the stage starts below the top of the page (promo + header), measured in js/v3-motion.js */
.assemble__stage .v3cue{position:absolute;left:50%;bottom:calc(28px + var(--stage-top,0px));transform:translateX(-50%);z-index:5;margin:0;transition:opacity .4s ease;}
html.v3-scrolled .v3cue{opacity:0;pointer-events:none;}
@media(max-width:899px){.assemble__stage .v3cue{bottom:calc(104px + var(--stage-top,0px));}}   /* above the phone tab bar */

/* =====================================================================
   Owner's video (October 16, 2026): floating pill, bottom dock, cursor, intro
   docs/plans/V3-VIDEO-STUDY-2026-10-16.md
   ===================================================================== */

/* ---- announcement: a small floating glass pill at the top centre ---- */
.promo{background:none!important;border:0!important;padding:10px 16px 0!important;display:flex;justify-content:center;}
.promo[hidden]{display:none!important;}
.promo::before,.promo::after{display:none!important;}
.promo__in{width:auto!important;max-width:100%;display:inline-flex!important;align-items:center;gap:10px!important;padding:7px 8px 7px 14px!important;
  border-radius:999px;background:rgba(20,16,30,.66);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);
  border:1px solid var(--v3-line);font:600 11px/1.2 var(--v3-display)!important;letter-spacing:.08em;text-transform:uppercase;}
.promo__in{max-width:min(860px,100%)!important;}
.promo__txt{flex:1 1 auto!important;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--v3-ink2);}
.promo__txt strong{color:#fff;}
.promo__cd{display:none!important;}
.promo__dot{width:6px!important;height:6px!important;background:var(--v3-pink)!important;}
.promo a{font-size:0!important;color:#fff!important;}
.promo a::after{content:"↗";font-size:13px;}
.promo__in{flex-wrap:nowrap!important;}
.promo__x{position:relative!important;padding:0!important;margin:0!important;flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:16px!important;color:var(--v3-ink2);}

/* ---- tablet + phone: the header becomes a compact floating dock at the bottom (below 1200 px, as in the video) ---- */
.v3h__dock{display:none;}
@media(max-width:1199px){
  .site-head.v3h,.site-head.v3h.is-stuck,body.has-hero .site-head.v3h:not(.is-stuck),html.head-hidden .site-head.v3h{
    position:fixed;top:auto;bottom:max(14px,env(safe-area-inset-bottom));left:0;right:0;margin:0 auto;width:max-content;
    padding:0;transform:none;z-index:1500;}
  .v3h .site-head__in{width:auto;padding:6px;gap:4px;}
  .v3h .brand,.v3h__links,.v3h__dc{display:none!important;}
  .v3h__dock{display:flex;gap:2px;}
  .v3h__dock a{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;color:var(--v3-ink2);transition:background .3s,color .3s;}
  .v3h__dock a:hover{color:#fff;}
  .v3h__dock a[aria-current="page"]{color:#fff;background:rgba(255,255,255,.12);}
  .v3h .head-right{margin-left:2px;}
  .v3h .v3h__menu{width:46px;height:46px;padding:0;justify-content:center;border-radius:50%;}
  .v3h .v3h__word{display:none;}
  .v3h .nav{padding:34px 0 120px!important;}
  body{padding-bottom:calc(84px + var(--consent-pad,0px));}
  .cookie{bottom:84px!important;}
}

/* ---- cursor: dot + trailing ring; a pink disc with a word over things you can open (mouse only) ---- */
.v3cur,.v3cur-dot{position:fixed;left:0;top:0;pointer-events:none;z-index:3000;border-radius:50%;}
.v3cur-dot{width:6px;height:6px;margin:-3px 0 0 -3px;background:var(--v3-pink);}
.v3cur{width:36px;height:36px;margin:-18px 0 0 -18px;border:1px solid rgba(255,255,255,.45);display:grid;place-items:center;
  font:600 12px/1 var(--v3-display);color:#fff;transition:width .45s var(--v3-ease),height .45s var(--v3-ease),margin .45s var(--v3-ease),
  background .35s,border-color .35s,opacity .3s;}
.v3cur span{opacity:0;transform:scale(.6);transition:opacity .25s,transform .35s var(--v3-ease);}
.v3cur.is-link{width:58px;height:58px;margin:-29px 0 0 -29px;border-color:rgba(255,95,174,.7);}
.v3cur.is-label{width:84px;height:84px;margin:-42px 0 0 -42px;background:var(--v3-grad);border-color:transparent;box-shadow:0 10px 30px rgba(255,95,174,.45);}
.v3cur.is-label span{opacity:1;transform:none;}
.v3cur.is-down{transform:scale(.82);}
.v3cur.is-gone,.v3cur-dot.is-gone{opacity:0;}

/* ---- intro: logo pops in, a pink line draws, the page comes up from a blur (once per tab) ---- */
/* The page renders underneath a cover instead of being hidden (release review, Oct 19): search and social
   visitors get content painted at once, and the cover lifts by itself at 3.6 s if the script never runs. */
html.v3-intro::before{content:"";position:fixed;inset:0;z-index:3999;background:#07060c;animation:v3coverOff 0s 3.6s forwards;}
@keyframes v3coverOff{to{visibility:hidden;}}
.v3intro{visibility:visible;pointer-events:none;position:fixed;inset:0;z-index:4000;background:#07060c;display:grid;place-items:center;}
.v3intro__in{display:flex;flex-direction:column;align-items:center;gap:26px;}
.v3intro img{width:150px;height:auto;opacity:0;transform:scale(.55) rotate(-10deg);filter:blur(12px);
  transition:opacity .9s var(--v3-ease),transform 1.1s cubic-bezier(.34,1.56,.64,1),filter .9s var(--v3-ease);}
/* (old first-intro line rule removed: it zeroed every <i> in the intro) */
.v3intro.is-on img{opacity:1;transform:none;filter:none;}

.v3intro.is-out{opacity:0;transition:opacity .6s ease;}
.v3intro.is-out img{transform:scale(1.35);filter:blur(8px);opacity:0;transition:transform .6s cubic-bezier(.7,0,.84,0),filter .6s,opacity .6s;}
html.v3-introdone main{animation:v3up 1.3s cubic-bezier(.16,1,.3,1) both;}
@keyframes v3up{from{filter:blur(10px) brightness(.6);transform:scale(1.03);}to{filter:none;transform:none;}}

/* ---- countdown panel (owner's video) ---- */
.v3cd{width:min(720px,100%);margin:8px auto 0;padding:22px 26px 20px;border-radius:30px;text-align:left;
  background:rgba(20,16,30,.55);backdrop-filter:blur(22px) saturate(1.4);-webkit-backdrop-filter:blur(22px) saturate(1.4);
  border:1px solid var(--v3-line);box-shadow:0 30px 80px -20px rgba(0,0,0,.7);}
.v3cd__top{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;font:500 14px/1.3 var(--v3-display);color:var(--v3-ink2);}
.v3cd__where select{appearance:none;-webkit-appearance:none;background:transparent;border:0;color:#fff;font:600 14px/1.3 var(--v3-display);
  padding:2px 18px 2px 2px;cursor:pointer;max-width:260px;text-overflow:ellipsis;
  background-image:linear-gradient(45deg,transparent 50%,#fff 50%),linear-gradient(135deg,#fff 50%,transparent 50%);
  background-position:calc(100% - 8px) 55%,calc(100% - 4px) 55%;background-size:4px 4px;background-repeat:no-repeat;}
.v3cd__where select option{background:#14101e;color:#fff;}
.v3cd__when{color:var(--v3-ink3);font-size:13px;}
.v3cd__digits{display:flex;gap:clamp(18px,4vw,40px);align-items:flex-start;margin:14px 0 16px;padding:0;border:0;background:none;color:#fff;cursor:pointer;text-align:left;}
.v3cd__digits span{display:flex;flex-direction:column;gap:4px;}
.v3cd__digits span[hidden]{display:none;}
.v3cd__digits b{display:block;overflow:hidden;font:700 clamp(54px,9vw,96px)/.9 var(--v3-head);letter-spacing:.02em;font-variant-numeric:tabular-nums;}
.v3cd__digits i{font-style:normal;font:500 12px/1 var(--v3-display);color:var(--v3-ink3);}
.v3-motion .v3cd__digits b.is-roll{animation:v3roll .72s cubic-bezier(.22,1.45,.36,1);}
@keyframes v3roll{from{transform:translateY(-105%) scaleY(1.25);filter:blur(6px);opacity:.2;}to{transform:none;filter:none;opacity:1;}}
.v3-motion .v3cd.is-switch .v3cd__digits span{animation:v3grp .9s cubic-bezier(.16,1,.3,1) both;}
.v3-motion .v3cd.is-switch .v3cd__digits span:nth-child(2){animation-delay:.06s;}
.v3-motion .v3cd.is-switch .v3cd__digits span:nth-child(3){animation-delay:.12s;}
.v3-motion .v3cd.is-switch .v3cd__digits span:nth-child(4){animation-delay:.18s;}
@keyframes v3grp{from{transform:translateY(60%);filter:blur(8px);opacity:0;}to{transform:none;filter:none;opacity:1;}}
.v3cd__units{display:flex;flex-wrap:wrap;gap:2px;padding:3px;border-radius:999px;background:rgba(255,255,255,.05);width:max-content;max-width:100%;}
.v3cd__units button{border:0;background:none;color:var(--v3-ink2);font:500 13px/1 var(--v3-display);padding:9px 14px;border-radius:999px;cursor:pointer;
  transition:background .55s cubic-bezier(.16,1,.3,1),color .3s;}
.v3cd__units button[aria-pressed="true"]{background:#f8f0f6;color:#140c18;box-shadow:0 6px 20px -6px rgba(255,255,255,.6);}
.v3cd__world{margin-top:14px;border:0;background:none;color:var(--v3-ink);font:500 14px/1 var(--v3-display);cursor:pointer;padding:6px 0;
  border-bottom:1px solid var(--v3-line);}
.v3cd__world span{color:var(--v3-pink);}
.v3cd__world:hover{color:var(--v3-pink);}

/* ---- world times dialog ---- */
.v3zones{width:min(760px,calc(100% - 24px));max-height:min(86vh,820px);padding:0;border:1px solid var(--v3-line);border-radius:30px;
  background:rgba(14,11,20,.94);backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);color:var(--v3-ink);overflow:hidden;}
.v3zones[open]{display:flex;flex-direction:column;animation:v3pop .7s cubic-bezier(.16,1,.3,1);}
@keyframes v3pop{from{transform:translateY(40px) scale(.97);opacity:0;}to{transform:none;opacity:1;}}
.v3zones::backdrop{background:rgba(5,4,10,.6);backdrop-filter:blur(6px);}
.v3zones__head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:28px 28px 0;}
.v3zones__head h2{font-size:clamp(34px,5vw,52px)!important;margin:0;}
.v3zones__x{flex:none;width:40px;height:40px;border-radius:50%;border:1px solid var(--v3-line);background:rgba(255,255,255,.04);color:#fff;font-size:22px;cursor:pointer;}
.v3zones__note{padding:12px 28px 0;margin:0;color:var(--v3-ink2);font-size:14px;max-width:62ch;}
.v3zones__note a{color:var(--v3-pink);}
.v3zones__tools{display:flex;gap:10px;padding:18px 28px 12px;}
.v3zones__tools input{flex:1;min-width:0;height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--v3-line);background:rgba(255,255,255,.04);color:#fff;font:400 15px var(--v3-display);}
.v3zones__tools input:focus{outline:none;border-color:var(--v3-pink);}
.v3zones__tools button{flex:none;height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--v3-line);background:rgba(255,255,255,.06);color:#fff;font:600 14px var(--v3-display);cursor:pointer;}
.v3zones__list{list-style:none;margin:0;padding:0 16px 20px;overflow-y:auto;overscroll-behavior:contain;}
.v3zones__list button{width:100%;display:grid;grid-template-columns:1.5fr 1fr auto;gap:14px;align-items:center;text-align:left;padding:14px 12px;border:0;border-radius:16px;
  background:none;color:var(--v3-ink);font:500 14px/1.3 var(--v3-display);cursor:pointer;transition:background .2s;}
.v3zones__list button:hover,.v3zones__list button[aria-current]{background:rgba(255,255,255,.06);}
.v3zones__list button[aria-current] .v3zones__r{color:var(--v3-pink);}
.v3zones__list small{display:block;color:var(--v3-ink3);font-size:12px;margin-top:2px;}
.v3zones__in{font-weight:600;white-space:nowrap;}
.v3zones__none{padding:20px 12px;color:var(--v3-ink3);}
@media(max-width:600px){.v3zones__list button{grid-template-columns:1fr auto;}.v3zones__t{display:none;}.v3cd{padding:18px;}}
/* fixes: the panel must never be wider than the screen; the label sits inline in the note */
#release.launch-band{grid-template-columns:minmax(0,1fr);}
.v3cd{box-sizing:border-box;max-width:100%;}
.v3cd__units{max-width:100%;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;}
.v3cd__units::-webkit-scrollbar{display:none;}
.v3cd__units button{flex:none;}
.v3zones__note .tag{display:inline-block;vertical-align:middle;margin:0 4px;position:static;}
.v3zones{text-align:left;}

/* ---- photo archive (media.html, owner's video) ---- */
.v3m__lede{color:var(--v3-ink2);max-width:60ch;margin:-14px 0 30px;font-size:16px;}
.v3m__sets{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
@media(max-width:900px){.v3m__sets{grid-template-columns:repeat(2,1fr);gap:14px;}}
.v3set{display:block;color:var(--v3-ink)!important;text-decoration:none!important;}
.v3set__fan{position:relative;display:block;aspect-ratio:16/10;}
.v3set__fan img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:18px;border:1px solid var(--v3-line);
  box-shadow:0 18px 40px -16px rgba(0,0,0,.7);transition:transform .6s cubic-bezier(.16,1,.3,1);}
.v3set__fan img:nth-child(1){z-index:3;}
.v3set__fan img:nth-child(2){z-index:2;transform:translate(10px,-8px) rotate(3deg) scale(.96);filter:brightness(.6);}
.v3set__fan img:nth-child(3){z-index:1;transform:translate(-10px,-12px) rotate(-4deg) scale(.92);filter:brightness(.45);}
.v3set:hover .v3set__fan img:nth-child(1){transform:translateY(-6px);}
.v3set:hover .v3set__fan img:nth-child(2){transform:translate(26px,-14px) rotate(7deg) scale(.96);}
.v3set:hover .v3set__fan img:nth-child(3){transform:translate(-26px,-18px) rotate(-8deg) scale(.92);}
.v3set__t{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-top:14px;}
.v3set__t b{font:600 18px/1.2 var(--v3-display);}
.v3set__t span{color:var(--v3-ink3);font-size:13px;white-space:nowrap;}

.v3m__bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px;}
.v3m__bar input{flex:1 1 260px;min-width:0;height:46px;padding:0 18px;border-radius:999px;border:1px solid var(--v3-line);background:rgba(255,255,255,.04);color:#fff;font:400 15px var(--v3-display);}
.v3m__bar input:focus{outline:none;border-color:var(--v3-pink);}
.v3m__bar select{height:46px;padding:0 16px;border-radius:999px;border:1px solid var(--v3-line);background:#14101e;color:#fff;font:500 14px var(--v3-display);}
.v3m__lay{display:flex;padding:3px;border-radius:999px;background:rgba(255,255,255,.05);}
.v3m__lay button{width:40px;height:40px;border:0;border-radius:50%;background:none;color:var(--v3-ink2);font-size:16px;cursor:pointer;}
.v3m__lay button[aria-pressed="true"]{background:#f8f0f6;color:#140c18;}
.v3m__chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;}
.v3m__chips button{height:34px;padding:0 14px;border-radius:999px;border:1px solid var(--v3-line);background:rgba(255,255,255,.03);color:var(--v3-ink2);
  font:500 13px var(--v3-display);cursor:pointer;transition:background .15s,color .15s;}
.v3m__chips button i{font-style:normal;opacity:.6;margin-left:4px;}
.v3m__chips button[aria-pressed="true"]{background:#f8f0f6;color:#0b0910;border-color:transparent;}
.v3m__chips button:disabled{opacity:.35;cursor:default;}
.v3m__count{color:var(--v3-ink3);font-size:14px;margin:0 0 16px;}
.v3m__grid{display:grid;gap:20px;grid-template-columns:repeat(2,1fr);}
.v3m__grid[data-lay="3"]{grid-template-columns:repeat(3,1fr);gap:16px;}
.v3m__grid[data-lay="4"]{grid-template-columns:repeat(4,1fr);gap:12px;}
.v3m__grid[data-lay="4"] .v3media__t span{display:none;}
@media(max-width:700px){.v3m__grid,.v3m__grid[data-lay="3"]{grid-template-columns:1fr;}.v3m__grid[data-lay="4"]{grid-template-columns:repeat(2,1fr);}}
.v3media{display:block;width:100%;padding:0;border:0;background:none;color:var(--v3-ink);text-align:left;cursor:pointer;}
.v3media__ph{position:relative;display:block;aspect-ratio:16/9;border-radius:16px;overflow:hidden;}
.v3media__ph img{width:100%;height:100%;object-fit:cover;display:block;opacity:0;transition:opacity .28s ease-out,transform 1.2s var(--v3-ease);}
.v3media__ph img.is-in{opacity:1;}
.v3media:hover .v3media__ph img{transform:scale(1.04);}
.v3media__badge{position:absolute;top:10px;left:10px;padding:3px 7px;border-radius:5px;background:rgba(10,8,16,.72);font:700 11px/1.2 var(--v3-display);color:#fff;}
.v3media__t{display:block;margin-top:10px;}
.v3media__t b{display:block;font:600 15px/1.3 var(--v3-display);}
.v3media__t span{font-size:13px;color:var(--v3-ink3);}
.v3media:hover .v3media__t b{color:var(--v3-pink);}
.v3m__more{height:1px;}

/* ---- picture viewer ---- */
.v3lb{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:rgba(6,5,10,.94);color:#fff;}
.v3lb[open]{display:grid;grid-template-rows:auto 1fr;animation:v3fade .2s ease-out;}
@keyframes v3fade{from{opacity:0;}to{opacity:1;}}
.v3lb::backdrop{background:transparent;}
.v3lb__top{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;}
.v3lb__pos{margin:0;color:var(--v3-ink2);font:500 14px var(--v3-display);}
.v3lb__x{width:44px;height:44px;border-radius:50%;border:1px solid var(--v3-line);background:rgba(255,255,255,.06);color:#fff;font-size:24px;cursor:pointer;}
.v3lb__fig{margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:0 70px 24px;min-height:0;}
.v3lb__fig img{max-width:100%;max-height:calc(100dvh - 170px);border-radius:12px;object-fit:contain;}
.v3lb__fig figcaption{text-align:center;max-width:820px;}
.v3lb__fig figcaption b{display:block;font:600 17px/1.3 var(--v3-display);}
.v3lb__fig figcaption span{font-size:13px;color:var(--v3-ink2);}
.v3lb__fig figcaption a{color:var(--v3-pink);}
.v3lb__nav{position:fixed;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;border:1px solid var(--v3-line);
  background:rgba(20,16,30,.7);color:#fff;font-size:30px;line-height:1;cursor:pointer;}
.v3lb__nav--prev{left:14px;}.v3lb__nav--next{right:14px;}
@media(max-width:700px){.v3lb__fig{padding:0 12px 90px;}.v3lb__nav{top:auto;bottom:24px;transform:none;}}
.v3m__sets{grid-template-columns:repeat(3,minmax(0,1fr));}
@media(max-width:900px){.v3m__sets{grid-template-columns:repeat(2,minmax(0,1fr));}.v3set__t{flex-direction:column;gap:2px;}.v3set__t span{white-space:normal;}}

/* ---- news page (owner's video): lead with text on the picture, then rows ---- */
#newsGrid.news-grid{display:flex!important;flex-direction:column;gap:6px;}
#newsGrid .news-card{display:grid!important;grid-template-columns:200px minmax(0,1fr);gap:22px;align-items:start;padding:14px!important;margin:0!important;
  background:none!important;border:0!important;border-radius:20px!important;box-shadow:none!important;color:var(--v3-ink)!important;text-decoration:none!important;
  transition:background .3s;}
#newsGrid .news-card:hover{background:rgba(255,255,255,.04)!important;}
#newsGrid .news-card__media{width:100%!important;max-width:none!important;aspect-ratio:16/10;border-radius:14px;overflow:hidden;margin:0!important;}
#newsGrid .news-card__shot{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--v3-ease);}
#newsGrid .news-card:hover .news-card__shot{transform:scale(1.05);}
#newsGrid .news-card__inner{padding:0!important;display:flex;flex-direction:column;gap:6px;}
#newsGrid .news-card__top{order:0;}
#newsGrid .news-card__foot{order:-1;color:var(--v3-ink3);font-size:13px;display:flex;gap:10px;align-items:center;}
#newsGrid .news-card h3{margin:0!important;font:600 19px/1.25 var(--v3-display)!important;text-transform:none!important;letter-spacing:-.01em!important;color:var(--v3-ink)!important;}
#newsGrid .news-card:hover h3{color:var(--v3-pink)!important;}
#newsGrid .news-card__ex{margin:0;color:var(--v3-ink2);font-size:14.5px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
#newsGrid .news-card__more{color:var(--v3-pink);font-size:13px;font-weight:600;}
/* the lead: one big picture, text on a dark fade */
#newsGrid .news-card--lead{position:relative;display:block!important;padding:0!important;border-radius:26px!important;overflow:hidden;margin-bottom:22px!important;}
#newsGrid .news-card--lead .news-card__media{aspect-ratio:16/8;border-radius:0;}
#newsGrid .news-card--lead::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(8,6,14,.92),rgba(8,6,14,.25) 55%,transparent);pointer-events:none;}
#newsGrid .news-card--lead .news-card__inner{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:34px 36px!important;}
#newsGrid .news-card--lead h3{font:700 clamp(30px,4.4vw,58px)/.95 var(--v3-head)!important;text-transform:uppercase!important;letter-spacing:0!important;color:#fff!important;max-width:22ch;}
#newsGrid .news-card--lead .news-card__ex{color:#e7deea;max-width:70ch;}
#newsGrid .news-card--lead .news-card__foot{color:#d8d0dc;}
@media(max-width:700px){
  #newsGrid .news-card{grid-template-columns:110px minmax(0,1fr);gap:14px;padding:10px!important;}
  #newsGrid .news-card h3{font-size:16px!important;}
  #newsGrid .news-card__ex{-webkit-line-clamp:2;font-size:13.5px;}
  #newsGrid .news-card--lead .news-card__media{aspect-ratio:4/5;}
  #newsGrid .news-card--lead .news-card__inner{padding:20px!important;}
}
#newsGrid .news-card__media{height:auto!important;align-self:start;}
@media(max-width:700px){#newsGrid .news-card.news-card--lead h3{font-size:34px!important;line-height:.95!important;}}

/* =====================================================================
   Home hero that plays (owner, October 16, 2026). Layers: back, panels, logo.
   JS sets --sp (scroll 0..1), --mx/--my (mouse -1..1) and .is-in (entrance).
   ===================================================================== */
.v3hero{position:relative;overflow:hidden;container-type:size;height:max(660px,100svh);background:#0b0912;isolation:isolate;}
.v3hero__scene{position:absolute;left:50%;top:50%;width:max(100cqw,177.78cqh);aspect-ratio:16/9;transform:translate(-50%,-50%);perspective:1400px;}
.v3hero__l{position:absolute;inset:0;will-change:transform;}
.v3hero__l img{display:block;width:100%;height:100%;}
/* parallax: scroll drift + mouse depth (wrappers); entrance lives on the images */
.v3hero__l--back{transform:translate3d(calc(var(--mx,0)*-18px),calc(var(--sp,0)*14% + var(--my,0)*-12px),0);}
.v3hero__l--mid{transform:translate3d(calc(var(--mx,0)*10px),calc(var(--sp,0)*6% + var(--my,0)*6px),0);}
.v3hero__l--logo{inset:auto;left:30%;top:14.6%;width:40%;height:auto;
  transform:translate3d(calc(var(--mx,0)*46px),calc(var(--sp,0)*-55% + var(--my,0)*16px),0) rotateY(calc(var(--mx,0)*7deg)) rotateX(calc(var(--my,0)*-4deg));
  opacity:calc(1 - var(--sp,0)*1.4);}
.v3hero__l--logo img{height:auto;filter:drop-shadow(0 20px 60px rgba(0,0,0,.6)) drop-shadow(0 0 40px rgba(255,95,174,.35));}
.v3hero__breathe{animation:v3breathe 3.2s ease-in-out infinite alternate;}
@keyframes v3breathe{from{translate:0 0;}to{translate:0 -6px;}}
.v3hero__haze{position:absolute;left:3%;right:3%;bottom:-8%;height:40%;pointer-events:none;
  background:radial-gradient(50% 60% at 50% 100%,rgba(255,95,174,.38),transparent 70%);animation:v3haze 7s ease-in-out infinite alternate;}
@keyframes v3haze{from{opacity:.55;transform:scaleX(.94);}to{opacity:1;transform:scaleX(1.06);}}
/* shade so the panel and text read */
.v3hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(to top,rgba(11,9,18,.95),rgba(11,9,18,.35) 38%,transparent 60%),linear-gradient(to bottom,rgba(11,9,18,.55),transparent 22%);}
.v3hero__ui{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;justify-content:space-between;align-items:flex-end;gap:30px;
  padding-bottom:max(34px,4vh);transform:translateY(calc(var(--sp,0)*-30%));opacity:calc(1 - var(--sp,0)*1.7);}
.v3hero__left{display:flex;flex-direction:column;align-items:flex-start;gap:14px;width:min(620px,100%);}
.v3hero__left .v3cd{margin:0;width:100%;}
.v3hero__chip{display:inline-flex;align-items:center;gap:10px;height:40px;padding:0 16px 0 6px;border-radius:999px;border:1px solid var(--v3-line);
  background:rgba(20,16,30,.55);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:#fff;font:600 14px var(--v3-display);cursor:pointer;}
.v3hero__chip span{width:28px;height:28px;border-radius:50%;background:#fff;color:#140c18;display:grid;place-items:center;font-size:11px;}
.v3hero__right{display:flex;flex-direction:column;align-items:flex-end;gap:12px;text-align:right;}
.v3hero__dc{margin:0;display:flex;flex-direction:column;font:600 12px/1.2 var(--v3-display);letter-spacing:.14em;text-transform:uppercase;color:#fff9cb;}
.v3hero__dc strong{font:700 34px/1 var(--v3-head);letter-spacing:.02em;color:#fff;}
.v3hero__plat{margin:0;display:flex;gap:14px;font:600 11px var(--v3-display);letter-spacing:.16em;text-transform:uppercase;color:var(--v3-ink2);}

/* entrance (only when the motion script is running) */
.v3-motion .v3hero__l img,.v3-motion .v3hero__left>*,.v3-motion .v3hero__right>*{transition:transform 2.2s var(--v3-expo),filter 2.2s var(--v3-expo),opacity 1.4s ease;}
.v3-motion .v3hero:not(.is-in) .v3hero__l--back img{transform:scale(1.28);filter:blur(10px) brightness(.6);}
.v3-motion .v3hero.is-in .v3hero__l--back img{transform:scale(1.06);}
.v3-motion .v3hero:not(.is-in) .v3hero__l--mid img{transform:translateY(22%) scale(1.06);filter:blur(12px);opacity:0;}
.v3-motion .v3hero:not(.is-in) .v3hero__l--logo img{transform:scale(.55) rotate(-6deg);filter:blur(24px);opacity:0;}
.v3-motion .v3hero.is-in .v3hero__l--mid img{transition-delay:.2s;transition-duration:1.7s;}
.v3-motion .v3hero.is-in .v3hero__l--logo img{transition-delay:.38s;transition-duration:1.8s;}
.v3-motion .v3hero:not(.is-in) .v3hero__left>*,.v3-motion .v3hero:not(.is-in) .v3hero__right>*{transform:translateY(60px);opacity:0;}
.v3-motion .v3hero.is-in .v3hero__left>*,.v3-motion .v3hero.is-in .v3hero__right>*{transition-duration:1.3s;}
.v3-motion .v3hero.is-in .v3hero__left>:nth-child(1){transition-delay:.75s;}
.v3-motion .v3hero.is-in .v3hero__left>:nth-child(2){transition-delay:.84s;}
.v3-motion .v3hero.is-in .v3hero__right>:nth-child(1){transition-delay:.93s;}
.v3-motion .v3hero.is-in .v3hero__right>:nth-child(2){transition-delay:1.02s;}
.v3-motion .v3hero.is-in .v3hero__right>:nth-child(3){transition-delay:1.11s;}
@media(prefers-reduced-motion:reduce){.v3hero__breathe,.v3hero__haze{animation:none;}}

/* phone and tablet: the picture on top, the countdown under it */
@media(max-width:899px){
  .v3hero{height:auto;container-type:normal;display:flex;flex-direction:column;padding-bottom:28px;}
  .v3hero__scene{position:relative;left:50%;top:auto;width:175vw;transform:translateX(-50%);flex:none;}
  .v3hero::after{background:linear-gradient(to top,#0b0912 0,#0b0912 calc(100% - 98.4vw),transparent calc(100% - 70vw));}
  .v3hero__ui{position:relative;flex-direction:column;align-items:stretch;gap:22px;margin-top:-60px;transform:none;opacity:1;}
  .v3hero__right{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;text-align:left;}
  .v3hero__plat{width:100%;}
}
/* desktop: lift the picture so the logo clears the countdown, and keep the panel compact */
@media(min-width:900px){
  .v3hero__scene{transform:translate(-50%,-57%);}
  .v3hero__left{width:min(470px,100%);}
  .v3hero .v3cd{padding:18px 20px 16px;border-radius:24px;}
  .v3hero .v3cd__digits{margin:10px 0 12px;gap:26px;}
  .v3hero .v3cd__digits b{font-size:64px;}
  .v3hero .v3cd__units button{padding:8px 11px;font-size:12.5px;}
}

/* ---- the hero is the first screen now (owner, October 16, 2026): whole picture, welcome title ---- */
.v3hero::before{content:"";position:absolute;inset:-40px;z-index:-1;background:url(../assets/img/hero3/back-960.webp) center/cover;
  filter:blur(34px) brightness(.45) saturate(1.2);}
.v3hero__mid{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;min-width:0;}
.v3hero__title{margin:0;font-size:clamp(34px,4vw,60px)!important;line-height:.95!important;color:#fff;text-shadow:0 4px 30px rgba(0,0,0,.6);}
.v3hero__sub{margin:0;color:#e6e0ea;font-size:15px;}
.v3hero__mid .v3cue{position:static;transform:none;margin-top:6px;}
@media(min-width:900px){
  .v3hero{height:max(640px,calc(100svh - 96px));}
  .v3hero__scene{width:min(100cqw,177.78cqh);transform:translate(-50%,-50%);}
  .v3hero__ui{display:grid;grid-template-columns:minmax(0,430px) minmax(0,1fr) auto;align-items:end;gap:24px;}
  .v3hero__left{width:auto;}
}
@media(max-width:1199px) and (min-width:900px){
  .v3hero__ui{grid-template-columns:minmax(0,400px) minmax(0,1fr);}
  .v3hero__right{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:flex-end;}
}
@media(max-width:899px){
  .v3hero__mid{order:-1;margin-top:-10px;}
  .v3hero__mid .v3cue{display:none;}
}
.v3-motion .v3hero:not(.is-in) .v3hero__mid>*{transform:translateY(60px);opacity:0;}
.v3-motion .v3hero__mid>*{transition:transform 1.3s var(--v3-expo),opacity 1.4s ease;}
.v3-motion .v3hero.is-in .v3hero__mid>:nth-child(1){transition-delay:.7s;}
.v3-motion .v3hero.is-in .v3hero__mid>:nth-child(2){transition-delay:.8s;}
.v3-motion .v3hero.is-in .v3hero__mid>:nth-child(3){transition-delay:.9s;}
@media(min-width:900px){
  .v3hero{margin-top:-92px;height:max(680px,calc(100svh - 56px));}   /* runs up under the floating header bar */
  .v3hero__title{font-size:clamp(30px,2.9vw,46px)!important;white-space:nowrap;}
  .v3hero__ui{grid-template-columns:minmax(0,420px) minmax(max-content,1fr) auto;}
}
@media(max-width:1199px) and (min-width:900px){.v3hero__title{white-space:normal;}}
@media(min-width:900px){.v3hero__scene{transform:translate(-50%,-60%);}}
/* owner, Oct 16: "the image is too big" — about 3/4 of the screen, the blurred copy fills around it */
@media(min-width:900px){
  .v3hero__scene{width:min(76cqw,128cqh);transform:translate(-50%,-58%);}
  .v3hero__scene .v3hero__l--back img,.v3hero__scene .v3hero__l--mid img{border-radius:22px;}
  .v3hero__l--back{box-shadow:0 40px 120px -30px rgba(0,0,0,.8);border-radius:22px;}
}

/* announcement pill under the nav bar (owner, October 16, 2026). Top bar only exists at 1200px+;
   below that the nav is the bottom dock and the pill simply stays at the top of the page. */
@media(min-width:1200px){
  .promo{position:absolute!important;left:0;right:0;top:86px;z-index:1400;pointer-events:none;}
  .promo__in{pointer-events:auto;}
}

/* intro logo the size of the hero logo (owner, October 16, 2026) */
.v3intro img{width:min(40vw,52vh,560px);}


/* owner, Oct 16: "the hero looks double". The blurred copy around the picture goes, and the panel
   layer no longer moves on its own (the back picture already contains the panels, so any offset
   showed them twice). The picture moves as one piece; only the logo floats on top. */
.v3hero::before{display:none;}
.v3hero{background:radial-gradient(60% 70% at 50% 40%,rgba(160,40,140,.28),transparent 70%),#0b0912;}
.v3hero__l--mid{display:none;}

/* countdown like the video: see-through glass, wide digits with hairline dividers, pink line at the bottom */
.v3hero .v3cd{position:relative;overflow:hidden;background:rgba(255,255,255,.06);backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);
  border:1px solid rgba(255,255,255,.14);box-shadow:none;}
.v3hero .v3cd::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--v3-grad);transform-origin:0 50%;
  animation:v3sweep 1s linear infinite;}
@keyframes v3sweep{from{transform:scaleX(0);opacity:1;}90%{opacity:1;}to{transform:scaleX(1);opacity:0;}}
.v3hero .v3cd__digits{gap:0;}
.v3hero .v3cd__digits span{flex:1;padding:0 14px;border-left:1px solid rgba(255,255,255,.14);}
.v3hero .v3cd__digits span:first-child{padding-left:0;border-left:0;}
.v3hero .v3cd__digits b{letter-spacing:.12em;}
.v3hero .v3cd__units{background:rgba(0,0,0,.25);}
@media(prefers-reduced-motion:reduce){.v3hero .v3cd::after{animation:none;}}
/* the divider that sat under the shortcut tiles stays after they went (owner, October 16, 2026) */
.v3hero + .sec::before{content:'';position:absolute;left:50%;top:0;transform:translateX(-50%);width:min(1180px,92vw);height:1px;
  pointer-events:none;z-index:3;background:var(--divider);}
.v3hero + .sec{margin-top:34px;}

/* home page: no section dividers (owner, October 16, 2026). body.has-hero is the home page only. */
body.has-hero main .sec::before,body.has-hero main .band::after,body.has-hero main .joinband::before,
body.has-hero main .sec::after,body.has-hero .v3hero + .sec::before{display:none!important;content:none!important;}

/* nav: the current page sits in a soft glass bubble, not a pink underline (owner, October 16, 2026) */
.v3h__links{gap:4px;}
.v3h__links a{padding:10px 18px;border-radius:999px;transition:background .3s,box-shadow .3s,color .3s;}
.v3h__links a:hover{background:rgba(255,255,255,.06);color:#fff;}
.v3h__links a[aria-current="page"]{color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),inset 0 1px 0 rgba(255,255,255,.12);background:rgba(255,255,255,.1);}
@media(max-width:1060px){.v3h__links a{padding:10px 13px;}}

/* ---- intro v2, timed from the owner's video ---- */
.v3intro{background:none!important;display:block!important;opacity:1!important;}
.v3intro__half{position:absolute;left:0;right:0;height:50.2%;background:#07060c;transition:transform 1s cubic-bezier(.87,0,.13,1);}
.v3intro__half--top{top:0;}.v3intro__half--bot{bottom:0;}
.v3intro.is-open .v3intro__half--top{transform:translateY(-100%);}
.v3intro.is-open .v3intro__half--bot{transform:translateY(100%);}
.v3intro__line{position:absolute;left:50%;top:calc(50% + min(16vw,22vh));height:2px;width:min(28vw,320px);margin-left:calc(min(28vw,320px)/-2);
  background:var(--v3-grad);border-radius:2px;transform:scaleX(0);transition:transform .7s cubic-bezier(.87,0,.13,1);}
.v3intro.is-line .v3intro__line{transform:scaleX(1);}
.v3intro.is-wide .v3intro__line{top:50%;width:100vw;margin-left:-50vw;transition:transform .3s cubic-bezier(.87,0,.13,1),top .3s cubic-bezier(.87,0,.13,1),width .3s cubic-bezier(.87,0,.13,1),margin .3s cubic-bezier(.87,0,.13,1);}
.v3intro.is-open .v3intro__line{opacity:0;transition:opacity .3s;}
.v3intro__logo{position:absolute;left:50%;top:50%;width:min(36vw,46vh,520px);height:auto;translate:-50% -56%;
  opacity:0;transform:scale(.55) rotate(-10deg);filter:blur(12px);
  transition:opacity .8s ease,transform 1.1s cubic-bezier(.34,1.56,.64,1),filter .8s ease;}
.v3intro.is-logo .v3intro__logo{opacity:1;transform:none;filter:none;}
.v3intro.is-wide .v3intro__logo{opacity:0;transform:scale(1.35);filter:blur(8px);transition:transform .6s cubic-bezier(.7,0,.84,0),filter .6s,opacity .6s;}
/* the hero entrance under the split: starts blurred and zoomed, settles sharp */
html.v3-introdone main{animation:none;}

/* hero edge to edge (owner: "make it wider", matches the video): the hero is exactly the picture's
   shape at full width, so all of it shows, nothing boxed, nothing cropped */
@media(min-width:900px){
  .v3hero{height:min(56.25vw,100svh);min-height:600px;}
  .v3hero__scene{width:max(100cqw,177.78cqh);transform:translate(-50%,-50%);}
  .v3hero__scene .v3hero__l--back img{border-radius:0;}
  .v3hero__l--back{box-shadow:none;border-radius:0;}
}
/* fix: the first intro's ".v3intro i{width:0}" outranked these; reset it */
.v3intro i.v3intro__half{width:auto;height:50.2%;transition:transform 1s cubic-bezier(.87,0,.13,1);}
.v3intro i.v3intro__line{height:2px;width:min(28vw,320px);transition:transform .7s cubic-bezier(.87,0,.13,1);}
.v3intro.is-wide i.v3intro__line{width:100vw;transition:transform .3s cubic-bezier(.87,0,.13,1),top .3s cubic-bezier(.87,0,.13,1),width .3s cubic-bezier(.87,0,.13,1),margin .3s cubic-bezier(.87,0,.13,1);}
/* the hero clears its blur fast, as in the video (~0.6 s), then keeps easing its zoom */
.v3-motion .v3hero__l img{transition:transform 1.8s var(--v3-expo),filter .7s ease-out,opacity .8s ease;}
.v3-motion .v3hero.is-in .v3hero__l--back img{transform:scale(1);}
.v3intro i.v3intro__half{background:#07060c;border-radius:0;}

/* ---- countdown, matched to the owner's close-up of theirs (October 16, 2026) ---- */
.v3hero__meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;}
.v3hero__when{font:400 15px/1.3 var(--v3-display);color:#ece4f0;text-shadow:0 1px 12px rgba(0,0,0,.5);}
.v3hero__chip{height:44px;padding:0 20px 0 7px;background:rgba(30,22,44,.45);backdrop-filter:blur(24px) saturate(1.4);-webkit-backdrop-filter:blur(24px) saturate(1.4);
  border:1px solid rgba(255,255,255,.12);font-size:15px;}
.v3hero__chip span{width:30px;height:30px;font-size:12px;}
.v3hero__left{width:min(560px,100%)!important;}
.v3hero .v3cd{padding:20px 22px 16px;border-radius:26px;background:rgba(36,26,52,.36);
  backdrop-filter:blur(28px) saturate(1.5);-webkit-backdrop-filter:blur(28px) saturate(1.5);border:1px solid rgba(255,255,255,.12);}
.v3cd__top{gap:8px;}
.v3cd__globe{color:var(--v3-pink);flex:none;}
.v3cd__lab{color:#d6cde0;font-size:15px;}
.v3cd__city{display:inline-flex;align-items:center;gap:6px;border:0;background:none;padding:0;color:#fff;font:700 15px var(--v3-display);cursor:pointer;}
.v3cd__city span{font-size:13px;line-height:1;transform:translateY(-3px);color:#d6cde0;}
.v3cd__city:hover b{color:var(--v3-pink);}
.v3cd__when{margin-left:10px;color:#a99fb4;font-size:13px;}
.v3hero .v3cd__digits{margin:14px 0 16px;}
.v3hero .v3cd__digits span{padding:2px 0 2px 22px;border-left:1px solid rgba(255,255,255,.16);}
.v3hero .v3cd__digits span:first-child{padding-left:4px;}
.v3hero .v3cd__digits b{font-size:76px!important;letter-spacing:.16em;line-height:.95;}
.v3hero .v3cd__digits i{font-size:14px;color:#b7adc2;margin-top:8px;}
.v3hero .v3cd__units{width:100%;justify-content:space-between;background:rgba(10,8,18,.32);padding:4px;}
.v3hero .v3cd__units button{padding:10px 14px!important;font-size:14px!important;font-weight:600;color:#c9c0d3;}
.v3hero .v3cd__units button[aria-pressed="true"]{background:#fff;color:#120c18;font-weight:700;}
@media(max-width:600px){.v3hero .v3cd__digits b{font-size:52px!important;letter-spacing:.1em;}.v3hero .v3cd__digits span{padding-left:12px;}.v3cd__when{margin-left:0;width:100%;}}
/* the column must be as wide as the panel, or Seconds and the chip get pushed out */
@media(min-width:900px){
  .v3hero__ui{grid-template-columns:minmax(0,600px) minmax(0,1fr) auto!important;}
  .v3hero__left{width:100%!important;max-width:600px;}
}
.v3hero__meta{flex-wrap:nowrap;}
.v3hero__when{white-space:nowrap;}
.v3hero .v3cd{backdrop-filter:blur(42px) saturate(1.5) brightness(.85);-webkit-backdrop-filter:blur(42px) saturate(1.5) brightness(.85);background:rgba(36,26,52,.4);}
.v3hero__chip{flex:none;}
@media(max-width:1199px) and (min-width:900px){.v3hero__ui{grid-template-columns:minmax(0,600px) minmax(0,1fr)!important;}}
@media(max-width:600px){.v3hero__meta{flex-wrap:wrap;}}
/* fade each piece, never the bar that holds them: any opacity below 1 on an ancestor turns the
   countdown's glass blur off (it becomes the blur's boundary) */
.v3hero__ui{opacity:1!important;}
.v3hero.is-in .v3hero__left>*,.v3hero.is-in .v3hero__mid>*,.v3hero.is-in .v3hero__right>*,
html:not(.v3-motion) .v3hero__left>*,html:not(.v3-motion) .v3hero__mid>*,html:not(.v3-motion) .v3hero__right>*{opacity:calc(1 - var(--sp,0)*1.7);}

/* ---- intro v3: "TV switching on", times from the owner's 20 fps measurement ---- */
.v3intro i.v3intro__line{top:64%;left:50%;width:12vw;margin-left:-6vw;height:2px;transform:scaleX(0);opacity:1;transition:transform .35s cubic-bezier(.16,1,.3,1),opacity .2s;}
.v3intro.is-line i.v3intro__line{transform:scaleX(1);}
.v3intro.is-wide i.v3intro__line{top:64%;width:12vw;margin-left:-6vw;opacity:.5;}
.v3intro.is-open i.v3intro__line{opacity:0;}
.v3intro__logo{top:48%;transition:opacity .15s ease-out,transform .25s cubic-bezier(.34,1.56,.64,1),filter .15s ease-out!important;transform:scale(.85)!important;filter:blur(6px)!important;}
.v3intro.is-logo .v3intro__logo{opacity:1;transform:none!important;filter:none!important;}
.v3intro.is-wide .v3intro__logo{opacity:1;transform:none!important;filter:none!important;}
.v3intro.is-open .v3intro__logo{opacity:0;transform:scale(1.04)!important;filter:blur(4px)!important;transition:opacity .2s,transform .3s,filter .2s!important;}
/* the scan line: shoots out from the centre, then is the seam the screen opens along */
.v3intro i.v3intro__scan{position:absolute;left:0;right:0;top:50%;height:2px;margin-top:-1px;z-index:2;
  background:linear-gradient(90deg,transparent,rgba(214,170,255,.9) 18%,#f3dcff 50%,rgba(214,170,255,.9) 82%,transparent);
  box-shadow:0 0 18px 2px rgba(200,140,255,.55);transform:scaleX(0);transition:transform .25s cubic-bezier(.16,1,.3,1);}
.v3intro.is-wide i.v3intro__scan{transform:scaleX(1);}
.v3intro.is-open i.v3intro__scan{opacity:0;transition:opacity .15s .1s;}
/* the halves part slowly then fast (ease-in), 0.3 s */
.v3intro i.v3intro__half{height:50.1%;transition:transform .32s cubic-bezier(.55,0,.75,.2)!important;}

/* ---- trailer list: date · length and a pink "Frame by frame" link (owner's video) ---- */
.v3tv__fbf{display:block;margin-top:4px;font:600 12.5px/1.2 var(--v3-display);font-style:normal;color:var(--v3-pink);cursor:pointer;}
.v3tv__fbf:hover{text-decoration:underline;}

/* ---- picture viewer panel ---- */
.v3vp{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:40px;align-items:center;padding:48px;border-radius:36px;
  border:1px solid var(--v3-line);background:radial-gradient(70% 90% at 20% 0%,rgba(255,95,174,.16),transparent 60%),rgba(255,255,255,.025);overflow:hidden;}
.v3vp h2{font-size:clamp(48px,6vw,96px)!important;line-height:.9!important;margin:0 0 18px;}
.v3vp h2 em{font-style:normal;display:block;background:var(--v3-grad);-webkit-background-clip:text;background-clip:text;color:transparent;}
.v3vp h2 em .v3w__in{background:var(--v3-grad);-webkit-background-clip:text;background-clip:text;color:transparent;}
.v3vp__p{color:var(--v3-ink2);max-width:46ch;font-size:16px;margin:0 0 18px;}
.v3vp__list{list-style:none;padding:0;margin:0 0 26px;display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;font:600 14px var(--v3-display);}
.v3vp__list li::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--v3-pink);margin-right:10px;vertical-align:middle;}
.v3vp__shot{display:block;border-radius:18px;overflow:hidden;background:#09070e;border:1px solid var(--v3-line);box-shadow:0 30px 80px -20px rgba(0,0,0,.8);
  text-decoration:none!important;transition:transform .6s var(--v3-ease);}
.v3vp__shot:hover{transform:translateY(-4px);}
.v3vp__bar{display:flex;align-items:center;gap:6px;padding:10px 14px;font:600 12px var(--v3-display);color:#fff;}
.v3vp__bar i{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.18);}
.v3vp__bar b{margin-left:10px;font-weight:600;}
.v3vp__bar em{margin-left:auto;font-style:normal;color:var(--v3-ink3);}
.v3vp__img{position:relative;display:block;aspect-ratio:16/9;}
.v3vp__img img{width:100%;height:100%;object-fit:cover;display:block;}
.v3vp__crop{position:absolute;left:34%;top:22%;width:32%;height:46%;border:1.5px solid #fff;box-shadow:0 0 0 999px rgba(6,4,10,.45);}
.v3vp__crop::before,.v3vp__crop::after{content:"";position:absolute;width:10px;height:10px;background:#fff;border-radius:2px;}
.v3vp__crop::before{left:-6px;top:-6px;}.v3vp__crop::after{right:-6px;bottom:-6px;}
.v3vp__scrub{display:block;height:34px;position:relative;}
.v3vp__scrub::before{content:"";position:absolute;left:14px;right:14px;top:16px;height:3px;border-radius:3px;background:rgba(255,255,255,.12);}
.v3vp__scrub i{position:absolute;left:14px;top:16px;height:3px;width:46%;border-radius:3px;background:var(--v3-grad);}
.v3vp__scrub i::after{content:"";position:absolute;right:-6px;top:-4px;width:11px;height:11px;border-radius:50%;background:#fff;}
.v3vp__jump{grid-column:1/-1;border-top:1px solid var(--v3-line);padding-top:22px;}
.v3vp__jump>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;}
.v3vp__jump a{display:flex;align-items:center;gap:12px;color:var(--v3-ink)!important;text-decoration:none!important;min-width:0;}
.v3vp__jump img{flex:none;width:72px;height:44px;object-fit:cover;border-radius:8px;}
.v3vp__jump span{min-width:0;}
.v3vp__jump b{display:block;font:600 13px var(--v3-display);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v3vp__jump i{font-style:normal;font-size:12px;color:var(--v3-ink3);}
@media(max-width:900px){.v3vp{grid-template-columns:1fr;padding:26px;gap:24px;}.v3vp__jump>div{grid-template-columns:1fr 1fr;}}

/* ---- the closing line and the footer read as one rounded panel (owner's video) ---- */
.v3close{margin:40px auto 0;width:min(1360px,calc(100% - 32px));padding:70px 0 30px!important;border-radius:36px 36px 0 0;
  border:1px solid var(--v3-line);border-bottom:0;background:radial-gradient(60% 80% at 15% 0%,rgba(255,95,174,.14),transparent 60%),rgba(255,255,255,.025);}
.v3close + .site-foot.v3f{width:min(1360px,calc(100% - 32px));margin:0 auto 16px;border:1px solid var(--v3-line);border-top:0;border-radius:0 0 36px 36px;
  background:radial-gradient(60% 70% at 70% 100%,rgba(255,95,174,.12),transparent 60%),rgba(255,255,255,.025);padding-top:20px;}
.v3close + .site-foot.v3f::before{display:none;}
/* news strip: date, label, title — no excerpt (owner's video); every card starts on the same line */
#latest .news-grid{align-items:start;}
#latest .news-card{align-self:start;}
#latest .news-card .news-card__ex,#latest .news-card .news-card__more{display:none!important;}
#latest .news-card__inner{display:flex;flex-direction:column;gap:6px;}
#latest .news-card__top{order:0;}
#latest .news-card__foot{border:0!important;padding:0!important;margin:0!important;}
/* big trailer card: the still fills it edge to edge */
.v3tv__big{padding:0!important;}
.v3tv__big>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.v3tv__big>img{top:-7%;height:114%;inset:auto 0;}   /* the launch-trailer still is letterboxed: crop its bars */

/* ---- radio tuner (owner, Oct 16, 2026: "fix this section"): one rounded panel, the
   now-playing side stays put while the full dial scrolls with the page (no inner scroll box) ---- */
.tuner{gap:0;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);border-radius:36px;border:1px solid var(--v3-line);overflow:clip;
  background:radial-gradient(70% 60% at 0% 0%,rgba(255,95,174,.16),transparent 60%),rgba(255,255,255,.025);}
.tuner__now{position:sticky;top:96px;gap:16px;padding:40px;border:0;border-radius:0;background:none;}
.tuner__label{font:600 12px var(--v3-display)!important;letter-spacing:.14em;color:var(--v3-pink);}
.tuner__dot{background:var(--v3-pink);}
.tuner__name{font:700 clamp(44px,5vw,76px)/.9 var(--v3-head)!important;text-transform:uppercase;margin:0;
  background:var(--v3-grad);-webkit-background-clip:text;background-clip:text;color:transparent;}
.tuner__controls .btn{border-radius:999px;padding:10px 18px;border:1px solid var(--v3-line);background:rgba(255,255,255,.04);color:var(--v3-ink);}
.tuner__controls .btn:hover{border-color:var(--v3-pink);}
.tuner__player{margin-top:8px;}
.tuner__start{flex-direction:row!important;justify-content:flex-start;gap:16px!important;padding:14px 22px 14px 14px!important;
  border:1px solid var(--v3-line)!important;border-radius:999px!important;background:rgba(255,255,255,.04)!important;
  color:#fff;font:600 18px var(--v3-display);text-align:left;cursor:pointer;flex-wrap:wrap;}
.tuner__start span[aria-hidden]{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;flex:none;
  background:var(--v3-grad);box-shadow:var(--v3-glow);color:#fff!important;font-size:20px!important;padding-left:3px;}
.tuner__start .muted{flex-basis:100%;margin:-6px 0 0 72px;color:var(--v3-ink3);font-weight:400;}
.tuner__start:hover{border-color:var(--v3-pink)!important;}
.tuner__dial{max-height:none;overflow:visible;padding:40px;gap:28px;border-left:1px solid var(--v3-line);}
.tuner__group+.tuner__group{padding-top:24px;border-top:1px solid var(--v3-line);}
.tuner__gh{font:700 22px/1 var(--v3-head)!important;letter-spacing:.02em;color:#fff;gap:6px;}
.tuner__gh span{font:400 13px var(--v3-display)!important;color:var(--v3-ink3);opacity:1;text-transform:none;}
.tuner__stations{gap:8px;}
.tuner__st{padding:9px 16px;border-color:var(--v3-line);background:rgba(255,255,255,.04);color:var(--v3-ink2);font:500 14px var(--v3-display);}
.tuner__st:hover{border-color:var(--v3-pink);color:#fff;}
.tuner__st[aria-current="true"]{background:var(--v3-grad);border-color:transparent;color:#fff;box-shadow:var(--v3-glow);}
@media (max-width:860px){.tuner__now{position:static;padding:24px;}.tuner__dial{padding:24px;border-left:0;border-top:1px solid var(--v3-line);}
  .tuner{border-radius:26px;}}

/* owner, Oct 16, 2026: "the blur is still there" + "the counter is big". The digit roll started each
   second blurred and 105% above its slot, so most of every second showed a smeared number floating
   over the panel. Now: no blur, a short slide that stays clipped inside its own column, and a smaller panel. */
@keyframes v3roll2{from{transform:translateY(-45%);opacity:0;}to{transform:none;opacity:1;}}
@media(min-width:900px){.v3hero__ui{grid-template-columns:minmax(0,480px) minmax(0,1fr) auto!important;}}
@media(max-width:1199px) and (min-width:900px){.v3hero__ui{grid-template-columns:minmax(0,480px) minmax(0,1fr)!important;}}
.v3hero .v3cd{padding:16px 18px 14px;border-radius:22px;}
.v3hero .v3cd__digits{margin:10px 0 12px;}
.v3hero .v3cd__digits b{font-size:54px!important;letter-spacing:.1em;}
.v3hero .v3cd__digits span{padding-left:16px;}
.v3hero .v3cd__digits i{font-size:12px;margin-top:6px;}
.v3hero .v3cd__units button{padding:8px 10px!important;font-size:13px!important;}
@media(max-width:600px){.v3hero .v3cd__digits b{font-size:44px!important;}}
/* measured from the owner's 4.59.02 PM recording, frame at 8 s (1376 wide): their countdown is CLEAR
   glass — no backdrop blur, the picture behind stays sharp; faint tint + edge; panel ~487 px wide;
   digits ~54 px, slightly see-through; 4 columns ~118 px apart with faint dividers. */
.v3hero .v3cd{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  background:linear-gradient(180deg,rgba(40,30,60,.18),rgba(20,14,30,.30))!important;
  border:1px solid rgba(255,255,255,.10);box-shadow:none!important;}
@media(min-width:900px){.v3hero__ui{grid-template-columns:minmax(0,488px) minmax(0,1fr) auto!important;}}
@media(max-width:1199px) and (min-width:900px){.v3hero__ui{grid-template-columns:minmax(0,488px) minmax(0,1fr)!important;}}
.v3hero .v3cd__digits b{color:rgba(255,255,255,.86);}
.v3hero .v3cd__digits span{border-left-color:rgba(255,255,255,.10);}
.v3hero .v3cd__digits i{font-size:14px;color:rgba(220,210,232,.55);}
.v3hero .v3cd__units{background:rgba(10,8,18,.18);}
.v3hero .v3cd__units button{font-size:14px!important;color:rgba(220,210,232,.6);}
/* owner: "it should be digit by digit" — each digit is its own box and only a changed digit rolls,
   clipped by the number's own box (b has overflow:hidden) */
.v3cd__digits .v3d,.v3hero .v3cd__digits .v3d{display:inline-block!important;flex:none!important;padding:0!important;border:0!important;margin:0!important;gap:0!important;}
.v3cd__digits b{white-space:nowrap;}

/* photo wall, rebuilt from the owner's recording (64–67 s): four straight columns of rounded
   16:10 tiles, no tilt, each column drifting at its own speed as you scroll (--wp, -1..1, set by
   v3-motion.js). Edges near full brightness, darker behind the headline. */
.v3wall{height:900px;}
.v3wall__g{inset:0 -2px;transform:none!important;display:grid;grid-template-columns:.82fr 1fr 1fr .82fr;gap:16px;align-items:start;}
.v3wall__c{display:flex;flex-direction:column;gap:16px;will-change:transform;transform:translate3d(0,calc(var(--wp,0)*var(--d,0px)),0);}
.v3wall__c:nth-child(1){--d:-140px;margin-top:-120px;}
.v3wall__c:nth-child(2){--d:180px;margin-top:-260px;}
.v3wall__c:nth-child(3){--d:-200px;margin-top:-60px;}
.v3wall__c:nth-child(4){--d:120px;margin-top:-200px;}
.v3wall__g img{aspect-ratio:16/10;border-radius:24px;filter:brightness(.82) saturate(1.05);}
.v3wall__c:nth-child(2) img,.v3wall__c:nth-child(3) img{filter:brightness(.42) saturate(1.05);}
.v3wall::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(42% 46% at 50% 50%,rgba(13,12,20,.55),transparent 75%),
             linear-gradient(180deg,var(--v3-bg),transparent 12%,transparent 80%,var(--v3-bg));}
@media(max-width:700px){.v3wall{height:680px;}.v3wall__g{grid-template-columns:1fr 1fr;}.v3wall__c:nth-child(n+3){display:none;}
  .v3wall__c img{filter:brightness(.45)!important;}}
@media(prefers-reduced-motion:reduce){.v3wall__c{transform:none;}}
/* launch-trailer card: the still had a band of empty card above it. Fill the card, crop the letterbox by zoom */
.v3tv__big>img{inset:0!important;top:0!important;height:100%!important;transform:scale(1.16);}
/* owner, Oct 16 (later): "it was better how it was with the animation of the counter" — the original
   whole-number roll (v3roll, .72s) is back; the size and clear glass stay. */
/* owner: "why the box is big and the counter number is half" — the digit row was only as wide as its
   digits, so the four columns sat in the left half. Spread them across the whole box like theirs
   (4 equal columns, ~118 px apart at 1376 wide), digits a touch bigger. */
.v3hero .v3cd__digits{width:100%;}
.v3hero .v3cd__digits span{flex:1 1 0;min-width:0;}
.v3hero .v3cd__digits b{font-size:62px!important;letter-spacing:.12em;}
/* welcome title, now its own band under the hero (owner, Oct 16) */
.v3welcome{padding:72px 0 8px;text-align:center;}
.v3welcome__h{font-size:clamp(44px,7vw,112px)!important;margin:0;}
/* owner, Oct 16: compared their phone view with ours. Theirs: the picture fills the screen and the
   counter sits ON it above the dock; only the changed digit rolls (same roll, inside its own box);
   one-line "Unlocks in" row; small digits; all six units on one line; no date line, no Discord block. */
.v3-motion .v3cd__digits b.is-roll{animation:none;}
.v3-motion .v3cd__digits .v3d.is-roll{animation:v3roll .72s cubic-bezier(.22,1.45,.36,1);}
/* "Scroll down" centred in the hero (owner) */
@media(min-width:900px){.v3hero .v3cue{position:absolute!important;left:50%;bottom:max(34px,4vh);transform:translateX(-50%)!important;margin:0;}}
@media(max-width:899px){
  .v3hero{height:100svh!important;min-height:600px;display:block!important;padding:0!important;}
  .v3hero__scene{position:absolute!important;left:50%;top:0;width:237vw!important;transform:translateX(-50%)!important;}
  .v3hero::before{display:none;}
  .v3hero::after{background:linear-gradient(to top,#0b0912 0,rgba(11,9,18,.75) 22%,transparent 50%),linear-gradient(to bottom,transparent calc(133vw - 120px),#0b0912 133vw)!important;}
  .v3hero__ui{position:absolute!important;left:0;right:0;bottom:calc(88px + env(safe-area-inset-bottom));margin:0!important;padding:0 14px!important;gap:12px!important;}
  .v3hero__mid,.v3hero__right,.v3hero__when{display:none!important;}
  .v3hero__left{gap:12px!important;}
  .v3hero__chip{height:40px;font-size:14px;}
  .v3hero .v3cd{padding:14px 14px 10px!important;border-radius:22px!important;background:rgba(40,28,56,.42)!important;
    backdrop-filter:blur(16px) saturate(1.3)!important;-webkit-backdrop-filter:blur(16px) saturate(1.3)!important;}
  .v3cd__top{flex-wrap:nowrap!important;white-space:nowrap;gap:6px!important;}
  .v3cd__lab,.v3cd__city{font-size:14px!important;}
  .v3cd__when{width:auto!important;margin-left:auto!important;font-size:12px!important;overflow:hidden;text-overflow:ellipsis;min-width:0;}
  .v3hero .v3cd__digits{margin:12px 0 10px!important;}
  .v3hero .v3cd__digits b{font-size:38px!important;letter-spacing:.1em!important;}
  .v3hero .v3cd__digits span{padding-left:12px!important;}
  .v3hero .v3cd__digits span:first-child{padding-left:2px!important;}
  .v3hero .v3cd__digits i{font-size:12px!important;margin-top:4px!important;}
  .v3hero .v3cd__units{flex-wrap:nowrap!important;padding:3px!important;}
  .v3hero .v3cd__units button{padding:7px 8px!important;font-size:12.5px!important;white-space:nowrap;}
}
@media(max-width:380px){.v3hero .v3cd__units button{padding:7px 5px!important;font-size:11.5px!important;}.v3cd__when{display:none;}}
/* intro welcome title (owner, Oct 16): under the logo, rises in at 1 s, fades at 2.2 s, then the TV opens */
.v3intro__word{position:absolute;left:0;right:0;top:calc(48% + min(18vw,24vh));z-index:3;text-align:center;padding:0 16px;
  font:700 clamp(28px,5vw,64px)/1 var(--v3-head);text-transform:uppercase;color:#fff;letter-spacing:.01em;
  opacity:0;transform:translateY(24px);filter:blur(6px);transition:opacity .5s ease,transform .7s cubic-bezier(.16,1,.3,1),filter .5s ease;}
.v3intro.is-word .v3intro__word{opacity:1;transform:none;filter:none;}
.v3intro.is-wordout .v3intro__word{opacity:0;transform:translateY(-10px);filter:blur(4px);transition:opacity .3s ease,transform .3s ease,filter .3s ease;}
.v3intro.is-word i.v3intro__line{opacity:0;}
/* phone hero: the hero starts under the announcement pill, so take that off its height (panel clears the dock) */
@media(max-width:899px){
  .v3hero{height:calc(100svh - 50px)!important;}
  .v3hero__scene{width:max(237vw,calc((100svh - 250px)*1.7778))!important;}
  .v3hero::after{background:linear-gradient(to top,#0b0912 0,rgba(11,9,18,.7) 24%,transparent 50%)!important;}
}
@media(max-width:440px){.v3hero .v3cd__units button{padding:6px 5px!important;font-size:11.5px!important;}
  .v3hero .v3cd__digits b{font-size:34px!important;}}
@media(max-width:440px){.v3hero .v3cd__units button{padding:6px 4px!important;font-size:11px!important;}}
/* database hub (owner, Oct 17: "those made up graphics, can we make something better"): official
   pictures in rounded photo tiles instead of our neon drawings */
.v3dbc{padding:12px 12px 20px!important;border-radius:26px!important;overflow:hidden;}
.v3dbc__ph{display:block;aspect-ratio:16/10;border-radius:18px;overflow:hidden;margin-bottom:16px;background:#141019;}
.v3dbc__ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s var(--v3-ease);}
.v3dbc:hover .v3dbc__ph img{transform:scale(1.06);}
.v3dbc h3,.v3dbc p{padding:0 8px;}
.v3dbc__ph img[src*="/lt-"]{transform:scale(1.16);}.v3dbc:hover .v3dbc__ph img[src*="/lt-"]{transform:scale(1.22);}   /* launch-trailer stills are letterboxed */
/* Browse-by-type cards with official pictures (owner, October 17, 2026; tools/v2_catalog_pages.py PHOTOS) */
.browse .v3bc__ph{display:block;aspect-ratio:16/10;border-radius:12px;overflow:hidden;margin-bottom:10px;background:#141019;}
.browse .v3bc__ph img{width:100%;height:100%;object-fit:cover;margin:0;border-radius:0;transition:transform .9s var(--v3-ease);}
.browse .v3bc:hover .v3bc__ph img{transform:scale(1.06);}
/* Item pages open like the list pages: a full-width band with the item's own picture
   (owner, October 17, 2026; tools/v2_detail_pages.py v3_item_head) */
.v3dh{min-height:clamp(300px,36vw,440px);background-position:center 40%;}
.v3dh .crumbs{width:auto;margin:0 0 20px;}
.v3dh .v3dh__head{display:block!important;margin:0!important;padding:0!important;border:0!important;background:none!important;}
.v3dh .detail__kicker{margin:0 0 6px;}
.v3dh h1{margin:0 0 .3em;font-size:clamp(2.6rem,6vw,4.6rem);line-height:.95;}
.v3dh .evid{max-width:640px;margin:14px 0 0;background:rgba(13,12,26,.55);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);}
.v3dh + .detail{margin-top:0;}
.v3dh ~ .detail,.v3dh ~ .detail__nav{width:min(1180px,92vw)!important;}
.v3dh ~ .detail .lede,.v3dh ~ .detail .detail__src{max-width:75ch;}

/* "Is the X in GTA 6?" answer under the item band (owner, October 19, 2026) */
.v3qa{margin:28px 0 8px;padding:22px 26px;border-radius:24px;background:rgba(255,255,255,.03);border:1px solid var(--v3-line);max-width:860px;}
.v3qa__q{font:700 clamp(22px,2.2vw,30px)/1.15 var(--v3-display)!important;text-transform:none!important;letter-spacing:-.01em!important;margin:0 0 10px;}
.v3qa__a{margin:0;color:var(--v3-ink2);font-size:17px;line-height:1.6;}
.v3qa__a .tag{margin-right:6px;vertical-align:2px;}

/* Launch Trailer dialog from the home hero chip (js/v3-motion.js, October 19, 2026) */
.v3yt{width:min(1100px,94vw);max-width:none;padding:0;border:0;border-radius:18px;background:#000;overflow:visible;}
.v3yt::backdrop{background:rgba(8,8,14,.9);}
.v3yt iframe{display:block;width:100%;aspect-ratio:16/9;border:0;border-radius:18px;}
.v3yt__x{position:absolute;top:-52px;right:0;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.4);
  background:rgba(13,12,20,.7);color:#fff;font-size:26px;line-height:1;cursor:pointer;}
.v3yt__x:hover{border-color:var(--v3-pink);color:var(--v3-pink);}

/* iOS zooms into fields under 16px and stays zoomed (mobile gate, October 19, 2026) */
@media(max-width:1023px){.v3m__bar input,.v3m__bar select{font-size:16px;}}
