/* ════════════════════════════════════════════════════════════════
   FOOTBALL EXCHANGE — "MARKET OPEN"
   Il terminale cinematico · redesign radicale
   ════════════════════════════════════════════════════════════════ */

/* ── Font self-hosted (Google Fonts, sottoinsiemi latin + latin-ext) ── */
@font-face{ font-family:'Alumni Sans'; font-style:italic; font-weight:700; font-display:swap; src:url('../assets/fonts/alumni-sans-italic-700-latin-ext.woff2') format('woff2'); unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face{ font-family:'Alumni Sans'; font-style:italic; font-weight:700; font-display:swap; src:url('../assets/fonts/alumni-sans-italic-700-latin.woff2') format('woff2'); unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face{ font-family:'Alumni Sans'; font-style:normal; font-weight:500 800; font-display:swap; src:url('../assets/fonts/alumni-sans-normal-500-800-latin-ext.woff2') format('woff2'); unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face{ font-family:'Alumni Sans'; font-style:normal; font-weight:500 800; font-display:swap; src:url('../assets/fonts/alumni-sans-normal-500-800-latin.woff2') format('woff2'); unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face{ font-family:'Inter'; font-style:normal; font-weight:400 700; font-display:swap; src:url('../assets/fonts/inter-normal-400-700-latin-ext.woff2') format('woff2'); unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face{ font-family:'Inter'; font-style:normal; font-weight:400 700; font-display:swap; src:url('../assets/fonts/inter-normal-400-700-latin.woff2') format('woff2'); unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face{ font-family:'League Gothic'; font-style:normal; font-weight:400; font-display:swap; src:url('../assets/fonts/league-gothic-normal-400-latin-ext.woff2') format('woff2'); unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face{ font-family:'League Gothic'; font-style:normal; font-weight:400; font-display:swap; src:url('../assets/fonts/league-gothic-normal-400-latin.woff2') format('woff2'); unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

:root{
  --bg:        #09090B;
  --panel:     #131313;
  --card:      #1a1a1a;
  --green:     #95FC51;
  --green2:    #53FF5A;
  --w100:      #ffffff;
  --w70:       rgba(255,255,255,.70);
  --w40:       rgba(255,255,255,.52);
  --w25:       rgba(255,255,255,.36);
  --hair:      rgba(255,255,255,.07);
  --green-12:  rgba(149,252,81,.12);
  --green-25:  rgba(149,252,81,.25);
  --f-head:    'Alumni Sans', 'Arial Narrow', sans-serif;
  --f-num:     'League Gothic', 'Arial Narrow', sans-serif;
  --f-body:    'Inter', system-ui, sans-serif;
  --pad:       clamp(20px, 5vw, 84px);
  --nav-h:     72px;
  --tick-h:    30px;
  --ease-out:  cubic-bezier(.22, 1, .36, 1);
}

*, *::before, *::after{ box-sizing:border-box; }
html{ scroll-behavior:auto; -webkit-text-size-adjust:100%; overflow-x:clip; }
body{
  margin:0; background:var(--bg); color:var(--w100);
  font-family:var(--f-body); font-size:16px; line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; display:block; }
a{ color:inherit; }
button{ font:inherit; color:inherit; background:none; border:0; cursor:pointer; padding:0; }
::selection{ background:var(--green); color:#09090B; }
html{ scrollbar-color: #2c2c2c var(--bg); }
::-webkit-scrollbar{ width:10px; }
::-webkit-scrollbar-track{ background:var(--bg); }
::-webkit-scrollbar-thumb{ background:#2a2a2a; border-radius:6px; border:2px solid var(--bg); }
::-webkit-scrollbar-thumb:hover{ background:var(--green); }

:focus-visible{ outline:2px solid var(--green); outline-offset:3px; border-radius:4px; }
[hidden]{ display:none !important; }
.visually-hidden{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

/* ── utilities ─────────────────────────────────────────────── */
.mono{
  font-family:var(--f-body); font-weight:500;
  font-size:11px; letter-spacing:.22em; text-transform:uppercase;
  font-feature-settings:"tnum"; font-variant-numeric:tabular-nums;
}
.eyebrow{ color:var(--green); margin:0 0 14px; }
.h2{
  font-family:var(--f-head); font-weight:800; text-transform:uppercase;
  font-size:clamp(2.6rem, 5.2vw, 4.6rem); line-height:.92; letter-spacing:.005em;
  margin:0 0 26px;
}
.h2--center{ text-align:center; }
.body{ color:var(--w70); max-width:56ch; font-size:clamp(15px,1.15vw,17.5px); margin:0 0 18px; }
.body--center{ margin-left:auto; margin-right:auto; text-align:center; }
.txt-green{ color:var(--green); }
.txt-outline-green{
  color:transparent; -webkit-text-stroke:1.5px var(--green);
}
.up{ color:var(--green2); }

.dot{
  display:inline-block; width:7px; height:7px; border-radius:50%;
  background:var(--green2); vertical-align:middle; margin-right:6px;
}
.dot--pulse{ animation:dotpulse 2s ease-in-out infinite; }
.dot--closed{ background:var(--w40); animation:none; }
@keyframes dotpulse{
  0%,100%{ box-shadow:0 0 0 0 rgba(83,255,90,.5); opacity:1; }
  50%{ box-shadow:0 0 0 6px rgba(83,255,90,0); opacity:.6; }
}

/* buttons */
.btn{
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--f-head); font-weight:700; text-transform:uppercase;
  font-size:19px; letter-spacing:.04em; line-height:1;
  padding:15px 30px 16px; border-radius:999px; text-decoration:none;
  transition:background .25s, color .25s, border-color .25s, box-shadow .25s, transform .25s;
}
.btn--primary{
  background:var(--green); color:#09090B;
  box-shadow:0 0 0 0 rgba(149,252,81,0);
}
.btn--primary:hover{ background:var(--green2); box-shadow:0 8px 40px rgba(149,252,81,.35); }
.btn--xl{ font-size:24px; padding:19px 46px 20px; box-shadow:0 0 60px rgba(149,252,81,.28); }
.btn--ghost{
  border:1px solid rgba(255,255,255,.30); color:var(--w100); background:transparent;
}
.btn--ghost:hover{ border-color:var(--green); color:var(--green); }
.btn--outline{
  border:1.5px solid var(--green); color:var(--green); background:transparent;
}
.btn--outline:hover{ background:var(--green); color:#09090B; box-shadow:0 8px 34px rgba(149,252,81,.3); }
.btn--black{
  background:#09090B; color:var(--green); font-size:21px; padding:16px 34px 17px;
}
.btn--black:hover{ background:#000; color:#fff; box-shadow:0 12px 40px rgba(0,0,0,.35); }
.btn__arrow{ transition:transform .3s var(--ease-out); display:inline-block; }
.btn:hover .btn__arrow{ transform:translateX(6px); }
.btn__ext{ width:20px; height:20px; transition:transform .3s var(--ease-out); }
.btn--black:hover .btn__ext{ transform:translate(3px,-3px); }

/* chips */
.chip{
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 16px; border-radius:999px; letter-spacing:.14em;
  border:1px solid; background:transparent;
}
.chip b{ font-weight:700; letter-spacing:.02em; }
.chip--buy{ border-color:var(--green2); color:var(--green2); background:rgba(83,255,90,.10);
  box-shadow:0 0 24px rgba(83,255,90,.12); }
.chip--sell{ border-color:rgba(255,255,255,.35); color:var(--w70); }
.chip--big{ font-size:13px; padding:11px 22px; }
.chip--buy.chip--big:hover{ background:rgba(83,255,90,.22); }
.chip--sell.chip--big:hover{ border-color:var(--w70); color:var(--w100); }

/* ── tessitura globale ─────────────────────────────────────── */
.grain{
  position:fixed; inset:0; z-index:2000; pointer-events:none;
  opacity:.045; contain:strict;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.guides{
  position:fixed; inset:0; z-index:0; pointer-events:none;
  display:flex; justify-content:space-evenly;
}
.guides i{ width:1px; background:rgba(255,255,255,.035); }
.bellflash{
  position:fixed; inset:0; z-index:1900; pointer-events:none;
  background:var(--green); opacity:0;
}

/* section separators */
.sep{
  display:flex; flex-direction:column; gap:14px;
  padding:0 var(--pad); margin-bottom:clamp(44px, 7vh, 80px);
}
.sep__line{
  display:block; height:1px; background:rgba(255,255,255,.09);
  transform:scaleX(0); transform-origin:left;
}
html:not(.js) .sep__line{ transform:none; }
.sep__label{ color:var(--w40); }
.sep__time{ color:var(--green); opacity:.55; margin-left:1em; }

/* generic section shell */
.sec{
  position:relative; background:var(--bg);
  padding:clamp(60px, 9vh, 110px) 0 clamp(70px, 10vh, 120px);
}

/* reveal initial state (JS-gated) */
.js [data-rev]{ opacity:0; }

/* ════════════════ 01 · NAV + TICKER ════════════════ */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:100;
  transition:background .4s, backdrop-filter .4s, border-color .4s;
  border-bottom:1px solid transparent;
}
.nav.is-scrolled{
  background:rgba(9,9,11,.74);
  -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
  border-bottom-color:var(--green-12);
}
.nav__inner{
  height:var(--nav-h); padding:0 clamp(18px,3vw,44px);
  display:flex; align-items:center; justify-content:space-between; gap:20px;
}
.nav__logo img{ height:30px; width:auto; transition:transform .3s var(--ease-out); transform-origin:left center; }
.nav.is-scrolled .nav__logo img{ transform:scale(.86); }
.nav__links{ display:flex; align-items:center; gap:26px; }
.nav__link{
  position:relative; text-decoration:none; font-weight:500; font-size:14.5px; color:var(--w70);
  padding:6px 2px; transition:color .25s;
}
.nav__link:hover{ color:var(--w100); }
.nav__link::after{
  content:''; position:absolute; left:0; right:0; bottom:0; height:1.5px;
  background:var(--green); transform:scaleX(0); transform-origin:left;
  transition:transform .3s var(--ease-out);
}
.nav__link:hover::after{ transform:scaleX(1); }
.nav__links .btn{ font-size:16px; padding:11px 22px 12px; }
.nav__burger{ display:none; }

/* ticker */
.ticker{
  height:var(--tick-h); overflow:hidden; position:relative;
  border-top:1px solid var(--hair); border-bottom:1px solid var(--hair);
  background:rgba(9,9,11,.6); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
          mask-image:linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
}
.ticker__track{
  display:flex; align-items:center; height:100%; width:max-content;
  white-space:nowrap; will-change:transform;
}
.tick{
  display:inline-flex; align-items:center; gap:8px;
  padding:0 22px; font-size:11px; letter-spacing:.12em;
  font-feature-settings:"tnum"; font-variant-numeric:tabular-nums;
  color:var(--w70); font-weight:500; text-transform:uppercase;
}
.tick b{ color:var(--w100); font-weight:600; }
.tick .pos{ color:var(--green2); }
.tick .neg{ color:var(--w40); }
.tick::after{ content:'·'; margin-left:22px; color:var(--w25); }

/* mobile menu */
.mobmenu{
  position:fixed; inset:0; z-index:95;
  background:radial-gradient(ellipse 80% 50% at 50% 110%, rgba(149,252,81,.14), transparent 70%), #09090B;
  display:flex; flex-direction:column; justify-content:center; gap:8px;
  padding:0 var(--pad);
}
.mobmenu__link{
  font-family:var(--f-head); font-weight:800; text-transform:uppercase;
  font-size:clamp(2.6rem,11vw,4rem); line-height:1.1; text-decoration:none; color:var(--w100);
}
.mobmenu__link--green{ color:var(--green); }
.mobmenu__note{ margin-top:40px; color:var(--w40); }

/* ════════════════ 02 · HERO ════════════════ */
.hero{
  position:relative; min-height:100svh; overflow:hidden;
  display:flex; align-items:center; justify-content:center;
}
.hero__media{ position:absolute; inset:0; }
.hero__video, .hero__poster{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  transform:scale(1.12);
}
.hero__poster{ background:url('../assets/hero-poster.webp') center/cover no-repeat; display:none; }
.hero__scrim{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(9,9,11,.9) 0%, rgba(9,9,11,.46) 42%, rgba(9,9,11,.66) 78%, #09090B 100%);
}
.hero__vignette{
  position:absolute; inset:0;
  background:
    radial-gradient(ellipse 90% 70% at 50% 42%, transparent 40%, rgba(9,9,11,.78) 100%),
    linear-gradient(180deg, rgba(20,40,10,.18), rgba(9,9,11,.12));
}
.flood{
  position:absolute; top:-25%; width:70%; height:130%;
  mix-blend-mode:screen; opacity:0; pointer-events:none;
}
.flood--l{
  left:-18%;
  background:conic-gradient(from 152deg at 18% 0%, transparent 0deg, rgba(220,255,205,.32) 7deg, transparent 16deg, transparent 24deg, rgba(220,255,205,.2) 30deg, transparent 38deg);
  animation:sway 14s ease-in-out infinite alternate;
}
.flood--r{
  right:-18%;
  background:conic-gradient(from 172deg at 82% 0%, transparent 0deg, rgba(220,255,205,.2) 8deg, transparent 15deg, transparent 23deg, rgba(220,255,205,.3) 29deg, transparent 38deg);
  animation:sway 14s ease-in-out infinite alternate-reverse;
}
@keyframes sway{ from{ transform:rotate(-2deg); } to{ transform:rotate(2deg); } }

.hero__blackout{
  position:absolute; inset:0; background:#050506; z-index:5;
  display:flex; align-items:flex-end; padding:0 0 12vh 0; justify-content:center;
}
html:not(.js) .hero__blackout{ display:none; }
.hero__boot{ color:var(--green); display:flex; align-items:center; gap:10px; }

.hero__scorebug{
  position:absolute; top:calc(var(--nav-h) + var(--tick-h) + 22px); right:clamp(18px,3vw,44px);
  z-index:4; color:var(--w70); display:flex; align-items:center; gap:12px;
  padding:6px 8px 6px 14px; border:1px solid var(--hair); border-radius:999px;
  background:rgba(9,9,11,.4); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
}
.hero__vtoggle{
  width:28px; height:28px; border-radius:50%; border:1px solid rgba(255,255,255,.2);
  display:flex; align-items:center; justify-content:center; color:var(--w100);
  transition:border-color .25s, color .25s, background .25s;
}
.hero__vtoggle:hover{ border-color:var(--green); color:var(--green); }
.hero__vtoggle svg{ width:12px; height:12px; }
.hero__vtoggle .ico-play{ display:none; }
.hero__vtoggle[aria-pressed="true"] .ico-play{ display:block; margin-left:2px; }
.hero__vtoggle[aria-pressed="true"] .ico-pause{ display:none; }

.hero__content{
  position:relative; z-index:3; text-align:center;
  padding:calc(var(--nav-h) + var(--tick-h)) var(--pad) calc(5vh + 90px);
  max-width:1200px;
}
.hero__eyebrow{
  display:flex; align-items:center; justify-content:center; gap:12px; margin:0 0 22px;
  line-height:1.6; letter-spacing:normal; font-weight:500;
}
.hero__eyebar{
  width:34px; height:3px; background:var(--green); display:inline-block;
}
.hero__eyetext{ color:var(--w100); letter-spacing:.3em; font-size:12.5px; }
.hero__title{
  margin:0; font-family:var(--f-head); font-weight:800; text-transform:uppercase;
  font-size:clamp(3.4rem, 9.2vw, 8.6rem); line-height:.9; letter-spacing:.005em;
}
.hline{ display:block; overflow:hidden; padding:0 .06em; }
.hline__in{ display:block; position:relative; }
.hline--green .hline__in{ color:var(--green); }
.hline--outline .hline__ghost{
  color:transparent; -webkit-text-stroke:1.5px rgba(149,252,81,.9);
}
.hline--outline .hline__fill{
  position:absolute; inset:0; color:var(--w100);
  clip-path:inset(0 100% 0 0);
}
/* i layer animati ripetono il testo via CSS (data-text): nel DOM la riga esiste una sola volta */
.hline__fill::before, .hline__lit::before{ content:attr(data-text); }
html:not(.js) .hline--outline .hline__fill{ clip-path:none; }
html:not(.js) .hline--outline .hline__ghost{ color:var(--w100); -webkit-text-stroke:0; }
.hero__sub{
  margin:26px auto 34px; max-width:52ch; color:var(--w70);
  font-size:clamp(15px, 1.3vw, 18.5px);
}
.hero__cta{ display:flex; justify-content:center; }

.hero__strip{
  position:absolute; left:0; right:0; bottom:5vh; z-index:3; pointer-events:none;
  display:flex; align-items:center; justify-content:center; gap:18px; flex-wrap:wrap;
  padding:16px var(--pad); color:var(--w40);
  border-top:1px solid var(--hair);
  background:linear-gradient(180deg, transparent, rgba(9,9,11,.5));
}
.hero__strip i{ color:var(--green); font-style:normal; }
.hero__scrollcue{
  position:absolute; bottom:calc(5vh + 66px); left:var(--pad); pointer-events:none;
  z-index:3; display:flex; flex-direction:column; align-items:center; gap:10px;
  color:var(--w40); font-size:9px; letter-spacing:.34em;
}
.hero__scrollline{
  width:1.5px; height:40px; background:rgba(255,255,255,.14);
  position:relative; overflow:hidden; display:block;
}
.hero__scrollline::after{
  content:''; position:absolute; left:0; top:-100%; width:100%; height:100%;
  background:var(--green); animation:scrollcue 2.4s var(--ease-out) infinite;
}
@keyframes scrollcue{
  0%{ top:-100%; } 55%{ top:0; } 100%{ top:100%; }
}

/* ════════════════ 03 · IL TRADING ════════════════ */
.sec--trading{
  border-radius:26px 26px 0 0; margin-top:-5vh; z-index:5;
  background:
    repeating-linear-gradient(0deg, transparent 0 55px, rgba(255,255,255,.03) 55px 56px),
    repeating-linear-gradient(90deg, transparent 0 55px, rgba(255,255,255,.03) 55px 56px),
    var(--bg);
}
.trading{
  display:grid; grid-template-columns:minmax(0, 46fr) minmax(0, 54fr);
  gap:clamp(30px, 4vw, 70px); align-items:center; padding:0 var(--pad);
}
.trading__chips{ display:flex; gap:14px; margin:26px 0 30px; flex-wrap:wrap; }

.hl{ position:relative; display:inline-block; padding:0 .1em; }
.hl__bg{
  position:absolute; inset:.06em -.02em .02em; background:var(--green);
  transform:scaleX(0); transform-origin:left; z-index:0;
}
html:not(.js) .hl__bg{ transform:none; }
.hl__t{ position:relative; z-index:1; }
.hl.is-on .hl__t{ color:#09090B; transition:color .2s .12s; }

/* terminal panel */
.trading__viz{ position:relative; }
.term{
  background:linear-gradient(180deg, #161616, #101010);
  border:1px solid rgba(255,255,255,.09); border-radius:22px;
  padding:clamp(18px,2vw,28px);
  box-shadow:0 30px 80px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.05);
}
.term__head{
  display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap;
}
.term__id{ display:flex; align-items:center; gap:12px; }
.term__badge{
  background:var(--green-12); color:var(--green); border:1px solid var(--green-25);
  border-radius:6px; padding:5px 9px; letter-spacing:.12em;
}
.term__name{ font-family:var(--f-head); font-weight:700; font-size:22px; letter-spacing:.03em; text-transform:uppercase; }
.term__num{ color:var(--green); }
.term__tabs{ display:flex; gap:4px; background:#0c0c0d; border:1px solid var(--hair); border-radius:999px; padding:4px; }
.term__tab{
  padding:8px 16px; border-radius:999px; color:var(--w40);
  letter-spacing:.1em; transition:color .25s, background .25s;
  min-height:34px;
}
.term__tab:hover{ color:var(--w100); }
.term__tab.is-active{ background:var(--green); color:#09090B; font-weight:700; }
.term__price{
  display:flex; align-items:baseline; gap:14px; margin:18px 0 8px; flex-wrap:wrap;
}
.term__value{
  font-family:var(--f-num); font-size:clamp(2.6rem,3.4vw,3.6rem); letter-spacing:.02em; line-height:1;
}
.term__delta{ font-size:13px; letter-spacing:.1em; }
.term__delta.is-up{ color:var(--green2); }
.term__delta.is-down{ color:var(--w40); }
.term__unit{ color:var(--w40); margin-left:auto; display:inline-flex; align-items:center; gap:6px; }
.term__chart{ position:relative; margin:8px 0 16px; }
.term__chart svg{ width:100%; height:auto; display:block; }
.term__foot{
  display:flex; align-items:center; gap:12px; flex-wrap:wrap;
  border-top:1px solid var(--hair); padding-top:16px;
}
.term__spread{ margin-left:auto; color:var(--w25); }

/* player card olografica */
.pcard{
  position:absolute; right:calc(-1 * clamp(6px,1vw,20px)); bottom:-40px; width:198px; z-index:2;
  perspective:900px; pointer-events:auto;
}
.pcard__inner{
  position:relative; border-radius:16px; overflow:hidden;
  background:linear-gradient(160deg, #202020, #121212 60%, #0d150a);
  border:1px solid rgba(149,252,81,.35);
  box-shadow:0 24px 60px rgba(0,0,0,.6), 0 0 40px rgba(149,252,81,.08);
  padding:14px; transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));
  transform-style:preserve-3d; transition:transform .4s var(--ease-out);
}
.pcard__glare{
  position:absolute; inset:0; pointer-events:none; z-index:5;
  background:radial-gradient(circle at var(--gx,50%) var(--gy,30%), rgba(255,255,255,.14), transparent 55%);
  opacity:0; transition:opacity .3s;
}
.pcard:hover .pcard__glare{ opacity:1; }
.pcard__top{ display:flex; justify-content:space-between; align-items:center; }
.pcard__x{ width:30px; height:auto; }
.pcard__pos{ color:var(--w40); font-size:9px; }
.pcard__figure{
  margin:10px 0; height:92px; border-radius:10px; position:relative; overflow:hidden;
  background:
    radial-gradient(ellipse 70% 90% at 50% 100%, rgba(149,252,81,.24), transparent 70%),
    repeating-linear-gradient(90deg, transparent 0 9px, rgba(255,255,255,.03) 9px 10px),
    #0d0d0e;
}
.pcard__silh{
  position:absolute; left:50%; bottom:-6px; transform:translateX(-50%);
  width:74px; height:86px;
  background:
    radial-gradient(circle 20px at 50% 16px, #222 98%, transparent),
    radial-gradient(ellipse 34px 42px at 50% 78px, #1e1e1e 98%, transparent);
}
.pcard__nm{ display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:10px; }
.pcard__player{
  font-family:var(--f-head); font-weight:700; text-transform:uppercase;
  font-size:20px; line-height:.95; letter-spacing:.02em;
}
.pcard__shirt{
  font-family:var(--f-num); font-size:38px; line-height:.8; color:var(--green);
}
.pcard__row{
  display:flex; justify-content:space-between; padding:7px 0; font-size:9.5px;
  border-top:1px solid var(--hair); color:var(--w40);
}
.pcard__row b{ color:var(--w100); letter-spacing:.06em; }
.pcard__row b.up{ color:var(--green2); }

/* ════════════════ 04 · IL LISTINO — 1381 ════════════════ */
.sec--counter{ overflow:hidden; }
.counter{ position:relative; text-align:center; padding:0 var(--pad); }
.counter__h2{ margin-bottom:20px; }
.counter__body{ margin:0 auto 3vh; max-width:72ch; }

.bignum{
  position:relative; display:inline-block; margin:2vh auto 0;
  font-family:var(--f-num); font-weight:400;
  font-size:clamp(11rem, 27vw, 34rem);
  line-height:1; height:1em;
}
.bignum__roll, .bignum__fill{ display:block; white-space:nowrap; }
.bigdigit{
  display:inline-block; width:.46em; height:1em; overflow:hidden;
  text-align:center; vertical-align:top;
}
.bigdigit__col{
  display:block; line-height:1;
  color:transparent; -webkit-text-stroke:2px rgba(255,255,255,.85);
  will-change:transform;
}
html:not(.js) .bigdigit__col{ transform:translateY(-11em); }
.bignum__fill{
  position:absolute; inset:0; opacity:0;
  --bgx:0em; --bgy:50%;
}
html:not(.js) .bignum__fill{ opacity:1; }
.bignum__fill span{
  display:inline-block; width:.46em; height:1em; text-align:center; vertical-align:top;
  color:transparent;
  background-image:
    linear-gradient(180deg, rgba(149,252,81,.24), rgba(9,9,11,.25) 60%),
    url('../assets/players-grid.webp');
  background-size:cover, 1.9em auto;
  background-repeat:no-repeat;
  -webkit-background-clip:text; background-clip:text;
}
.bignum__fill span:nth-child(1){ background-position:0 0, calc(var(--bgx) + 0em)    var(--bgy); }
.bignum__fill span:nth-child(2){ background-position:0 0, calc(var(--bgx) - .46em)  var(--bgy); }
.bignum__fill span:nth-child(3){ background-position:0 0, calc(var(--bgx) - .92em)  var(--bgy); }
.bignum__fill span:nth-child(4){ background-position:0 0, calc(var(--bgx) - 1.38em) var(--bgy); }

.counter__label{
  color:var(--w70); letter-spacing:.34em; font-size:12.5px; margin:26px 0 0;
}
.counter__tagline{
  margin:4vh auto 0; font-family:var(--f-head); font-weight:700; text-transform:uppercase;
  font-size:clamp(1.3rem, 2.2vw, 2rem); letter-spacing:.02em; line-height:1.3;
  display:flex; gap:.6em; justify-content:center; flex-wrap:wrap;
}
.counter__tagline span{ color:var(--w25); transition:color .5s; }
.counter__tagline span.is-lit{ color:var(--w100); }
.counter__tagline span.is-lit:last-child{ color:var(--green); }
html:not(.js) .counter__tagline span{ color:var(--w100); }

.counter__side{
  position:absolute; top:50%; display:flex; flex-direction:column; gap:14px;
  color:var(--w25); text-align:left; font-size:10px;
}
.counter__side span::before{ content:attr(data-text); }
.counter__side span::after{ content:attr(data-mark); color:var(--green); }
.counter__side--l{ left:var(--pad); }
.counter__side--r{ right:var(--pad); text-align:right; }
.counter__cta{ margin-top:5vh; }

/* ════════════════ 05 · MARKET INSIGHT (NEGATIVO) ════════════════ */
.insight{
  position:relative; z-index:6; overflow:clip;
  background:var(--green);
  color:#09090B;
  --insight-pb:clamp(80px,10vw,130px);
  clip-path:polygon(0 clamp(20px,3.5vw,54px), 100% 0, 100% calc(100% - clamp(20px,3.5vw,54px)), 0 100%);
  padding:clamp(70px,9vw,120px) 0 var(--insight-pb);
  margin:clamp(30px,5vh,60px) 0;
}
.insight__marquee{
  position:absolute; top:clamp(64px,6.5vw,100px); left:0; right:0; overflow:hidden;
  border-bottom:1px solid rgba(9,9,11,.18); padding-bottom:10px;
}
.insight__mtrack{
  display:flex; width:max-content; white-space:nowrap;
  color:rgba(9,9,11,.55); letter-spacing:.26em; font-size:11px;
  animation:marq 40s linear infinite;
}
.insight__mtrack span::before{ content:attr(data-text) ' \2731\00a0'; }
@keyframes marq{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
.insight__grid{
  display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr);
  align-items:center; gap:clamp(20px,4vw,60px);
  padding:0 var(--pad); max-width:1500px; margin:0 auto;
}
.insight__label{
  color:#09090B; opacity:.6; margin:0 0 16px; letter-spacing:.3em;
}
.insight__h3{
  font-family:var(--f-head); font-weight:800; text-transform:uppercase;
  font-size:clamp(2rem, 3.6vw, 3.4rem); line-height:.98; margin:0 0 34px;
}
.insight__h3 em{
  font-style:normal; position:relative;
  color:transparent; -webkit-text-stroke:1.6px #09090B;
}
.insight__figure{
  position:relative; height:clamp(300px, 30vw, 480px); pointer-events:none;
}
.insight__photo{
  position:absolute; bottom:calc(-1 * var(--insight-pb)); right:clamp(0px,2vw,30px); z-index:2;
  height:calc(100% + clamp(60px,7vw,110px)); width:auto; max-width:100vw; object-fit:contain; object-position:bottom;
  filter:drop-shadow(-20px 24px 40px rgba(9,9,11,.35));
}
.insight__bigname{
  position:absolute; right:-2%; bottom:6%;
  font-family:var(--f-head); font-weight:800; text-transform:uppercase;
  font-size:clamp(4rem, 9vw, 9rem); line-height:.8; letter-spacing:-.01em;
  white-space:nowrap;
}
.insight__bigname::before{ content:attr(data-text); }
.insight__bigname--back{ z-index:1; color:rgba(9,9,11,.16); }
.insight__bigname--front{
  z-index:3; color:transparent; -webkit-text-stroke:1.5px rgba(9,9,11,.65);
  clip-path:inset(55% 0 0 0); transform:translateY(0);
}

/* ════════════════ 06 · IL CAVEAU ════════════════ */
.sec--prizes{ overflow:visible; }
.orderbook{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(30px,4vw,80px); padding:0 var(--pad); align-items:center;
  margin-bottom:clamp(50px,8vh,100px);
}
.board{
  border:1px solid rgba(255,255,255,.09); border-radius:18px; overflow:hidden;
  background:linear-gradient(180deg,#151515,#0f0f10);
  box-shadow:0 30px 80px rgba(0,0,0,.45);
}
.board__head{
  display:grid; grid-template-columns:86px 1fr auto; gap:10px; align-items:center;
  padding:14px 22px; color:var(--w40); border-bottom:1px solid var(--hair);
  letter-spacing:.24em; font-size:10px;
}
.board__row{
  display:grid; grid-template-columns:86px 1fr auto; gap:10px; align-items:center;
  padding:16px 22px; border-bottom:1px solid var(--hair);
}
.board__row:last-child{ border-bottom:0; }
.board__rank{
  font-family:var(--f-num); font-size:44px; line-height:.9; color:var(--w25);
}
.board__row--first .board__rank{ color:var(--green); }
.board__trader{ display:flex; align-items:center; gap:14px; min-width:0; }
.board__trader img{
  width:46px; height:46px; border-radius:50%; object-fit:cover;
  border:2px solid transparent;
}
.board__row--first .board__trader img{ border-color:var(--green); box-shadow:0 0 18px rgba(149,252,81,.3); }
.board__trader b{
  font-family:var(--f-head); font-weight:700; font-size:22px; text-transform:uppercase; letter-spacing:.03em;
}
.board__tag{
  color:var(--green); border:1px solid var(--green-25); border-radius:5px;
  padding:3px 8px; font-size:8.5px; font-style:normal; letter-spacing:.18em;
}
.board__px{ color:var(--w100); font-size:15px; letter-spacing:.08em; }
.board__row--first{ position:relative; }
.board__row--first::after{
  content:''; position:absolute; inset:0; pointer-events:none;
  box-shadow:inset 0 0 40px rgba(149,252,81,.09);
  opacity:0; animation:firstpulse 4s ease-in-out infinite;
}
@keyframes firstpulse{ 0%,100%{ opacity:0; } 50%{ opacity:1; } }

/* vault — horizontal pin */
.vault{ position:relative; overflow:hidden; }
.vault__ghost{
  position:absolute; top:50%; left:0; transform:translateY(-50%);
  font-family:var(--f-head); font-weight:800; white-space:nowrap;
  font-size:clamp(9rem, 24vw, 22rem); line-height:1; text-transform:uppercase;
  color:transparent; -webkit-text-stroke:1.5px rgba(255,255,255,.07);
  pointer-events:none; padding-left:6vw;
}
.vault__track{
  position:relative; display:flex; align-items:center; gap:clamp(20px,3vw,54px);
  width:max-content; padding:6vh var(--pad);
}
.vault__line{
  position:absolute; inset:0; width:100%; height:100%; pointer-events:none; z-index:0;
}
.vault__line path{
  fill:none; stroke:var(--green); stroke-width:1.5; opacity:.55;
}
.vault__intro{
  width:min(34vw, 430px); min-width:280px; flex-shrink:0; position:relative; z-index:1;
}
.vault__introlabel{ color:var(--green); margin-bottom:18px; }
.vault__introcount{
  font-family:var(--f-head); font-weight:800; text-transform:uppercase; line-height:.86;
  font-size:clamp(3.4rem,6vw,6rem); margin:0 0 22px;
}
.vault__introcount b{
  display:block; font-family:var(--f-num); font-weight:400;
  font-size:clamp(7rem,13vw,13rem); color:var(--green);
  font-feature-settings:"tnum"; font-variant-numeric:tabular-nums;
}
.vault__introhint{ color:var(--w40); }

.prize{
  position:relative; z-index:1; flex-shrink:0;
  width:min(38vw, 420px); min-width:270px;
  background:linear-gradient(180deg,#161616,#101011);
  border:1px solid rgba(255,255,255,.09); border-radius:20px;
  padding:clamp(16px,1.6vw,26px);
  transition:border-color .35s, box-shadow .35s, transform .35s var(--ease-out);
}
.prize.is-active, .prize:hover{
  border-color:var(--green); box-shadow:0 24px 70px rgba(0,0,0,.5), 0 0 44px rgba(149,252,81,.12);
}
.prize__tag{
  display:flex; justify-content:space-between; color:var(--w40); margin-bottom:8px;
  transition:color .35s;
}
.prize.is-active .prize__tag{ color:var(--green); }
.prize__imgwrap{
  border-radius:14px; overflow:hidden; background:radial-gradient(ellipse at 50% 80%, #1d1d1d, #101010);
  display:flex; align-items:center; justify-content:center; aspect-ratio:1.15;
}
.prize__imgwrap img{
  width:86%; height:86%; object-fit:contain;
  transition:transform .5s var(--ease-out);
}
.prize:hover .prize__imgwrap img{ transform:scale(1.05); }
.prize__name{
  font-family:var(--f-head); font-weight:800; text-transform:uppercase;
  font-size:clamp(1.7rem,2.2vw,2.3rem); line-height:1; margin:16px 0 6px;
}
.prize__meta{ color:var(--w40); margin:0; }
.prizes__cta{ text-align:center; margin-top:clamp(40px,7vh,80px); }

/* ════════════════ 07 · LA RASSEGNA ════════════════ */
.sec--press{ background:var(--panel); border-radius:26px 26px 0 0; z-index:6; }

.quotebox{ max-width:1000px; margin:6vh auto 0; padding:0 var(--pad); text-align:center; }
.quotebox__stage{ min-height:220px; display:flex; flex-direction:column; justify-content:center; gap:18px; }
.quotebox__q{
  margin:0; font-family:var(--f-head); font-weight:600; font-size:clamp(1.5rem, 2.6vw, 2.3rem);
  line-height:1.18; letter-spacing:.01em;
}
.quotebox__q::before{ content:'“'; color:var(--green); }
.quotebox__q::after{ content:'”'; color:var(--green); }
.quotebox__src{ color:var(--green); letter-spacing:.3em; }
.quotebox__dots{ display:flex; gap:8px; justify-content:center; align-items:center; margin-top:26px; }
.quotebox__pause{
  margin-left:12px; width:30px; height:30px; border-radius:50%; border:1px solid var(--hair);
  display:inline-flex; align-items:center; justify-content:center; color:var(--w70);
  transition:border-color .25s, color .25s;
}
.quotebox__pause:hover{ border-color:var(--green); color:var(--green); }
.quotebox__pause svg{ width:11px; height:11px; }
.quotebox__pause .ico-play{ display:none; }
.quotebox__pause[aria-pressed="true"] .ico-play{ display:block; margin-left:2px; }
.quotebox__pause[aria-pressed="true"] .ico-pause{ display:none; }
.quotebox__dot{ width:26px; height:24px; position:relative; padding:0; }
.quotebox__dot::before{ content:''; position:absolute; left:0; right:0; top:50%; height:3px; transform:translateY(-50%); border-radius:2px; background:rgba(255,255,255,.14); transition:background .3s; }
.quotebox__dot.is-on::before{ background:var(--green); }

.pressband{ margin-top:6vh; display:flex; flex-direction:column; gap:26px; }
.pressband__row{
  overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
          mask-image:linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
}
.pressband__track{
  display:flex; align-items:center; gap:clamp(40px,6vw,90px); width:max-content;
  padding:6px 0; animation:marq 46s linear infinite;
}
.pressband__track--rev{ animation:marqrev 60s linear infinite; }
@keyframes marqrev{ from{ transform:translateX(-50%); } to{ transform:translateX(0); } }
.pressband__row:hover .pressband__track{ animation-play-state:paused; }
.presslogo{ position:relative; display:flex; align-items:center; }
.presslogo img{
  height:clamp(22px,2.4vw,34px); width:auto; object-fit:contain;
  filter:grayscale(1) brightness(2.3) contrast(.75);
  opacity:.55; transition:opacity .3s, filter .3s;
}
.presslogo:hover img{ opacity:1; filter:grayscale(0) brightness(1.4); }

.partner{
  display:flex; align-items:center; gap:22px; text-decoration:none;
  max-width:640px; margin:7vh auto 0; padding:20px 30px;
  border:1px solid var(--green-25); border-radius:18px;
  background:linear-gradient(120deg, rgba(149,252,81,.06), transparent 60%);
  transition:border-color .3s, box-shadow .3s, transform .3s var(--ease-out);
}
.partner:hover{
  border-color:var(--green); box-shadow:0 18px 60px rgba(0,0,0,.4), 0 0 40px rgba(149,252,81,.1);
  transform:translateY(-3px);
}
.partner img{ height:58px; width:auto; }
.partner__txt{ display:flex; flex-direction:column; gap:6px; }
.partner__txt b{
  font-family:var(--f-head); font-weight:800; text-transform:uppercase; font-size:26px; line-height:1;
}
.partner__txt .mono{ color:var(--w40); }
.partner__arrow{ margin-left:auto; color:var(--green); font-size:24px; transition:transform .3s var(--ease-out); }
.partner:hover .partner__arrow{ transform:translateX(6px); }

/* ════════════════ 08 · EXPERIENCES ════════════════ */
.sec--exp{ background:var(--panel); }
.expgrid{
  display:grid; grid-template-columns:repeat(4, minmax(0,1fr));
  gap:clamp(14px,1.8vw,26px); padding:6vh var(--pad) 0; align-items:start;
}
.expcard{
  position:relative; display:block; width:100%; aspect-ratio:708/1062;
  border-radius:20px; overflow:hidden; text-decoration:none; text-align:left;
  border:1px solid rgba(255,255,255,.08);
  transition:border-color .35s, transform .45s var(--ease-out), box-shadow .35s;
}
.expgrid .expcard:nth-child(even){ margin-top:clamp(30px,5vh,70px); }
.expcard img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease-out); }
.expcard:hover{ border-color:var(--green); box-shadow:0 26px 70px rgba(0,0,0,.55); transform:translateY(-6px); }
.expcard:hover img{ transform:scale(1.05); }
.expcard__shade{
  position:absolute; inset:0; background:rgba(9,9,11,.55); transition:opacity .5s;
}
.expcard.is-lit .expcard__shade{ opacity:0; }
.expcard__shade--next{ background:rgba(9,9,11,.4); }
.expcard__play{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:64px; height:64px; border-radius:50%;
  background:rgba(9,9,11,.55); border:1.5px solid rgba(255,255,255,.5);
  -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
  display:flex; align-items:center; justify-content:center;
  transition:background .3s, border-color .3s, transform .3s var(--ease-out);
}
.expcard__play svg{ width:26px; height:26px; color:#fff; margin-left:3px; }
.expcard:hover .expcard__play{
  background:var(--green); border-color:var(--green); transform:translate(-50%,-50%) scale(1.08);
}
.expcard:hover .expcard__play svg{ color:#09090B; }
.expcard__bar{
  position:absolute; left:0; right:0; bottom:0; padding:12px 16px;
  color:var(--w70); font-size:9.5px; letter-spacing:.2em;
  background:rgba(9,9,11,.5); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
  border-top:1px solid var(--hair);
}
.expcard__dash{
  position:absolute; inset:0; width:100%; height:100%; pointer-events:none;
}
.expcard__dash rect{
  width:calc(100% - 4px); height:calc(100% - 4px);
  fill:none; stroke:var(--green); stroke-width:2; stroke-dasharray:16 12;
  animation:dashmove 9s linear infinite;
}
@keyframes dashmove{ to{ stroke-dashoffset:-280; } }
.expcard__q{
  position:absolute; top:44%; left:50%; transform:translate(-50%,-50%);
  font-family:var(--f-num); font-size:clamp(6rem,9vw,10rem); color:var(--green);
  text-shadow:0 0 50px rgba(149,252,81,.4);
  animation:qpulse 2s ease-in-out infinite;
}
@keyframes qpulse{ 0%,100%{ transform:translate(-50%,-50%) scale(1); } 50%{ transform:translate(-50%,-50%) scale(1.06); } }
.expcard--next .expcard__bar{ color:var(--green); }

/* ════════════════ 09 · FAQ ════════════════ */
.sec--faq{ background:var(--bg); }
.faq{ max-width:980px; margin:5vh auto 0; padding:0 var(--pad); }
.faq__item{ border-top:1px solid var(--hair); transition:background .3s; }
.faq__item:last-child{ border-bottom:1px solid var(--hair); }
.faq__item.is-open{ background:var(--panel); border-left:2px solid var(--green); }
.faq__q{
  display:flex; align-items:center; gap:clamp(14px,2.5vw,30px); width:100%;
  padding:clamp(18px,2.5vw,26px) clamp(8px,1.5vw,18px); text-align:left;
}
.faq__idx{
  font-family:var(--f-num); font-size:clamp(1.8rem,2.6vw,2.5rem); line-height:1;
  color:rgba(149,252,81,.45); min-width:1.6em; transition:color .3s;
}
.faq__item.is-open .faq__idx{ color:var(--green); }
.faq__txt{
  font-family:var(--f-head); font-weight:700; text-transform:uppercase;
  font-size:clamp(1.15rem,1.8vw,1.55rem); letter-spacing:.02em; line-height:1.1; flex:1;
}
.faq__ico{
  position:relative; width:20px; height:20px; flex-shrink:0;
  transition:transform .3s var(--ease-out);
}
.faq__ico::before, .faq__ico::after{
  content:''; position:absolute; background:var(--green); border-radius:1px;
}
.faq__ico::before{ left:0; right:0; top:9px; height:2px; }
.faq__ico::after{ top:0; bottom:0; left:9px; width:2px; }
.faq__item.is-open .faq__ico{ transform:rotate(45deg); }
.faq__a{
  display:grid; grid-template-rows:0fr;
  transition:grid-template-rows .4s cubic-bezier(.4,0,.2,1);
}
.faq__item.is-open .faq__a{ grid-template-rows:1fr; }
.faq__ain{ overflow:hidden; }
.faq__ain p{
  margin:0; padding:0 clamp(8px,1.5vw,18px) 26px calc(clamp(8px,1.5vw,18px) + 1.6em + clamp(14px,2.5vw,30px));
  color:var(--w70); max-width:68ch;
}
html:not(.js) .faq__a{ grid-template-rows:1fr; }

/* ════════════════ 10 · FOOTER ════════════════ */
.footer{
  position:relative; background:#070708; overflow:hidden;
  border-top:1px solid var(--hair); padding-bottom:clamp(70px,9.5vw,150px);
}
.footer__bar{
  display:flex; justify-content:space-between; gap:14px; flex-wrap:wrap;
  padding:18px var(--pad); color:var(--w40);
  border-bottom:1px solid var(--hair);
}
.footer__grid{
  display:grid; grid-template-columns:2fr 1fr 1fr 1.2fr;
  gap:clamp(26px,4vw,60px); padding:clamp(40px,6vh,70px) var(--pad);
  position:relative; z-index:2;
}
.footer__logo{ height:34px; width:auto; margin-bottom:22px; }
.footer__addr{ color:var(--w40); line-height:1.9; letter-spacing:.06em; font-size:10.5px; text-transform:none; }
.footer__h{ color:var(--green); margin:6px 0 18px; }
.footer__link{
  display:block; color:var(--w70); text-decoration:none; font-size:14.5px;
  padding:7px 0; transition:color .25s, transform .25s var(--ease-out);
}
.footer__link:hover{ color:var(--green); transform:translateX(5px); }
.footer__badges{ display:flex; flex-direction:column; gap:12px; align-items:flex-start; }
.footer__badges img{ height:42px; width:auto; }
.footer__badges a{ transition:transform .25s var(--ease-out), opacity .25s; opacity:.9; }
.footer__badges a:hover{ transform:translateY(-3px); opacity:1; }
.footer__social{ display:flex; gap:16px; margin-top:26px; }
.footer__social a{ color:var(--w40); transition:color .25s, transform .25s var(--ease-out); }
.footer__social a:hover{ color:var(--green); transform:translateY(-3px); }
.footer__social svg{ width:22px; height:22px; }
.footer__copy{
  position:relative; z-index:2; padding:20px var(--pad);
  border-top:1px solid var(--hair); color:var(--w40); font-size:10px; text-transform:none; letter-spacing:.08em;
}
.footer__giant{
  position:absolute; left:50%; bottom:-.1em; transform:translateX(-50%);
  z-index:1; white-space:nowrap;
  font-family:var(--f-head); font-weight:800; text-transform:uppercase;
  font-size:clamp(4.6rem,12.5vw,13.5rem); line-height:.8; letter-spacing:.01em;
  color:#151517; user-select:none;
}
.footer__giant span{ transition:color .2s; }
.footer__giant span:hover{ color:var(--green); }

/* ════════════════ VIDEO MODAL ════════════════ */
.vmodal{ position:fixed; inset:0; z-index:1000; display:flex; align-items:center; justify-content:center; }
.vmodal__backdrop{
  position:absolute; inset:0; background:rgba(5,5,6,.9);
  -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
}
.vmodal__body{
  position:relative; z-index:1; width:min(92vw, 1100px);
  animation:modalin .45s var(--ease-out);
}
@keyframes modalin{ from{ opacity:0; transform:translateY(30px) scale(.97); } to{ opacity:1; transform:none; } }
.vmodal__body video{
  width:100%; max-height:78vh; border-radius:16px; background:#000;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 40px 120px rgba(0,0,0,.7), 0 0 80px rgba(149,252,81,.07);
}
.vmodal__close{
  position:absolute; top:-46px; right:0; color:var(--w70); font-size:20px;
  width:38px; height:38px; border-radius:50%; border:1px solid var(--hair);
  transition:color .25s, border-color .25s, transform .25s;
}
.vmodal__close:hover{ color:var(--green); border-color:var(--green); transform:rotate(90deg); }
.vmodal__cap{ margin-top:14px; color:var(--w40); }

/* ════════════════ RESPONSIVE ════════════════ */
@media (max-width: 1100px){
  .trading{ grid-template-columns:1fr; }
  .pcard{ display:none; }
  .counter__side{ display:none; }
  .expgrid{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .footer__grid{ grid-template-columns:1fr 1fr; }
}

@media (max-width: 899.98px){
  .nav__links{ display:none; }
  .nav__burger{
    display:flex; flex-direction:column; gap:7px; padding:10px; z-index:110;
  }
  .nav__burger span{
    width:26px; height:2px; background:var(--w100); display:block;
    transition:transform .35s var(--ease-out), opacity .3s;
  }
  .nav__burger.is-open span:nth-child(1){ transform:translateY(4.5px) rotate(45deg); background:var(--green); }
  .nav__burger.is-open span:nth-child(2){ transform:translateY(-4.5px) rotate(-45deg); background:var(--green); }

  .orderbook{ grid-template-columns:1fr; }

  /* vault → scroll-snap orizzontale nativo */
  .vault{ overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
  .vault::-webkit-scrollbar{ display:none; }
  .vault__track{ padding:4vh var(--pad); }
  .vault__intro, .prize{ scroll-snap-align:center; }
  .prize{ width:76vw; }
  .vault__line{ display:none; }
  .vault__ghost{ display:none; }
  .prize .prize__tag{ color:var(--green); }

  .insight{ padding-top:130px; }
  .insight__marquee{ top:52px; }
  .insight__grid{ grid-template-columns:1fr; }
  .insight__figure{ height:clamp(260px,60vw,380px); margin-top:10px; }
  .insight__photo{ right:50%; transform:translateX(50%); }
  .insight__bigname{ right:50%; transform:translateX(50%); }
  .insight__bigname--front{ transform:translateX(50%); }

  .hero__scorebug{ top:calc(var(--nav-h) + var(--tick-h) + 12px); padding:4px; gap:0; }
  .hero__scorebug > span{ display:none; }
  .hero__strip{ gap:10px; font-size:9px; }
}

@media (min-width: 900px){ .mobmenu{ display:none !important; } }

/* touch: niente stati hover appiccicati */
@media (hover: none){
  .expcard:hover{ transform:none; border-color:rgba(255,255,255,.08); box-shadow:none; }
  .expcard:hover img{ transform:none; }
  .expcard:hover .expcard__play{ background:rgba(9,9,11,.55); border-color:rgba(255,255,255,.5); transform:translate(-50%,-50%); }
  .expcard:hover .expcard__play svg{ color:#fff; }
  .prize:hover:not(.is-active){ box-shadow:none; border-color:rgba(255,255,255,.09); }
  .prize:hover .prize__imgwrap img{ transform:none; }
  .partner:hover{ transform:none; }
  .btn:hover .btn__arrow{ transform:none; }
  .footer__link:hover{ transform:none; }
}

@media (max-width: 640px){
  .h2{ font-size:clamp(2.1rem, 9vw, 2.8rem); }
  .hero__title{ font-size:clamp(2.3rem, 14vw, 4.2rem); }
  .hero__cta .btn--xl{ width:min(100%, 320px); justify-content:center; }
  .bignum{ font-size:clamp(7rem, 38vw, 11rem); }
  .expgrid{
    display:flex; overflow-x:auto; scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch; scrollbar-width:none; gap:14px;
  }
  .expgrid::-webkit-scrollbar{ display:none; }
  .expcard{ flex:0 0 72vw; scroll-snap-align:center; }
  .expgrid .expcard:nth-child(even){ margin-top:0; }
  .expcard .expcard__shade{ opacity:0; }
  .board__head, .board__row{ grid-template-columns:56px 1fr auto; padding:14px 16px; }
  .board__rank{ font-size:32px; }
  .board__trader b{ font-size:18px; }
  .board__trader img{ width:38px; height:38px; }
  .board__tag{ display:none; }
  .footer__grid{ grid-template-columns:1fr; gap:34px; }
  .quotebox__stage{ min-height:280px; }
  .partner{ flex-wrap:wrap; }
  .term__unit{ display:none; }
}

/* ════════════════ REDUCED MOTION ════════════════ */
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{
    animation-duration:.01ms !important; animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
  .hero__video{ display:none; }
  .hero__poster{ display:block; }
  .insight__mtrack, .pressband__track{ animation:none; transform:none; }
  .pressband__track{ flex-wrap:wrap; width:100%; justify-content:center; }
  .pressband__track .is-dup{ display:none; }
  .pressband__row--b{ display:none; }
  .hero__scrollcue{ display:none; }
  .hero__blackout{ display:none; }
}

/* ════════════════════════════════════════════════════════════════
   MARKET OPEN 2.0 — "Tocca il mercato"
   ════════════════════════════════════════════════════════════════ */

/* ── ticker cliccabile + badge aggiornamento + barra di sessione ── */
.ticker{ -webkit-mask-image:none; mask-image:none; }
.ticker__agg{ position:absolute; left:0; top:0; bottom:0; z-index:2; display:flex; align-items:center; padding:0 14px 0 clamp(18px,3vw,44px); background:var(--bg); color:var(--w40); font-size:9.5px; letter-spacing:.2em; border-right:1px solid var(--hair); }
.ticker__track{ padding-left:230px; }
button.tick{ cursor:pointer; border-radius:6px; transition:background .2s, color .2s; }
button.tick:hover, button.tick:focus-visible{ background:rgba(149,252,81,.1); color:var(--w100); outline:none; }
button.tick:focus-visible{ box-shadow:inset 0 0 0 1px var(--green); }
.ticker::after{ content:''; position:absolute; left:0; right:0; bottom:-1px; height:2px; background:var(--green); transform-origin:left; transform:scaleX(0); opacity:.8; }
@supports (animation-timeline: scroll()){
  .ticker::after{ animation:sessionbar linear both; animation-timeline:scroll(root); }
  @keyframes sessionbar{ from{ transform:scaleX(0); } to{ transform:scaleX(1); } }
}
.ticker.is-closed .tick b, .ticker.is-closed .tick .pos{ color:var(--w40); transition:color .8s; }

/* popover titolo */
.tickpop{
  position:fixed; z-index:120; width:300px; padding:16px; border-radius:16px;
  background:rgba(14,14,15,.96); border:1px solid var(--green-25); box-shadow:0 30px 80px rgba(0,0,0,.6);
  -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
}
.tickpop__handle{ display:none; }
.tickpop__head{ display:flex; align-items:center; gap:12px; }
.tickpop__avatar{ width:52px; height:52px; border-radius:50%; overflow:hidden; flex-shrink:0; background:radial-gradient(circle at 50% 30%, #262626, #141414); border:1px solid var(--hair); display:flex; align-items:center; justify-content:center; font-family:var(--f-num); color:var(--green); font-size:20px; }
.tickpop__avatar img{ width:100%; height:100%; object-fit:cover; object-position:top; }
.tickpop__name{ display:block; font-family:var(--f-head); font-weight:800; text-transform:uppercase; font-size:22px; line-height:1; }
.tickpop__team{ display:block; color:var(--w40); margin-top:4px; }
.tickpop__close{ margin-left:auto; color:var(--w40); width:30px; height:30px; border-radius:50%; border:1px solid var(--hair); transition:color .2s, border-color .2s; }
.tickpop__close:hover{ color:var(--green); border-color:var(--green); }
.tickpop__row{ display:flex; align-items:baseline; justify-content:space-between; margin:14px 0 8px; }
.tickpop__val{ font-family:var(--f-num); font-size:28px; line-height:1; letter-spacing:.02em; white-space:nowrap; }
.tickpop__var{ text-align:right; max-width:55%; }
.tickpop__var{ font-size:12px; }
.tickpop__spark{ width:100%; height:36px; display:block; }
.tickpop__spark path{ fill:none; stroke:var(--green); stroke-width:1.5; }
.tickpop__link{ display:inline-block; margin-top:12px; color:var(--green); text-decoration:none; letter-spacing:.16em; }
.tickpop__link:hover{ text-decoration:underline; text-underline-offset:4px; }
@media (max-width: 899.98px){
  .tickpop{ left:0 !important; right:0 !important; top:auto !important; bottom:0; width:auto; border-radius:20px 20px 0 0; padding-top:12px; }
  .tickpop__handle{ display:block; width:36px; height:4px; border-radius:2px; background:var(--w25); margin:0 auto 14px; }
  .ticker__agg{ display:none; }
  .ticker__track{ padding-left:0; }
}

/* ── hero: rig dei fari, spot, titolo che si accende ── */
.flood__rig{ position:absolute; inset:0; pointer-events:none; will-change:transform; }
.hero__spot{
  position:absolute; width:70vmax; height:70vmax; left:0; top:0; margin:-35vmax 0 0 -35vmax; pointer-events:none; z-index:2;
  background:radial-gradient(circle, rgba(220,255,205,.10), transparent 60%); mix-blend-mode:screen; opacity:0; will-change:transform;
}
.hline__lit{
  position:absolute; inset:0; color:var(--green); pointer-events:none; opacity:0;
  -webkit-mask:radial-gradient(160px at var(--mx, -999px) var(--my, -999px), #000 30%, transparent 70%);
          mask:radial-gradient(160px at var(--mx, -999px) var(--my, -999px), #000 30%, transparent 70%);
}
.hero.is-spot .hline__lit{ opacity:1; }
html:not(.js) .hline__lit{ display:none; }

/* ── luce di scena, chiusura, nav inversa ── */
.stagelight{
  position:fixed; left:0; top:0; width:80vmax; height:80vmax; z-index:7; pointer-events:none; opacity:0;
  background:radial-gradient(circle, rgba(149,252,81,.14), transparent 62%); mix-blend-mode:screen; will-change:transform, opacity;
}
.dim{ position:fixed; inset:0; z-index:50; background:#000; opacity:0; pointer-events:none; }
.nav.is-inverted{ background:var(--green); border-bottom-color:rgba(9,9,11,.2); }
.nav.is-inverted .nav__link, .nav.is-inverted .tick, .nav.is-inverted .tick b, .nav.is-inverted .ticker__agg{ color:#09090B; }
.nav.is-inverted .tick .pos{ color:#0a5a12; }
.nav.is-inverted .tick .neg{ color:rgba(9,9,11,.55); }
.nav.is-inverted .ticker{ background:rgba(149,252,81,.9); border-color:rgba(9,9,11,.15); }
.nav.is-inverted .ticker__agg{ background:var(--green); border-color:rgba(9,9,11,.15); }
.nav.is-inverted .nav__logo img{ filter:brightness(0); }
.nav.is-inverted .btn--primary{ background:#09090B; color:var(--green); }
.nav.is-inverted .btn--ghost{ border-color:rgba(9,9,11,.4); color:#09090B; }
.nav.is-inverted .nav__link::after{ background:#09090B; }
.nav.is-inverted .nav__burger span{ background:#09090B; }
.insight{ --cut:clamp(20px,3.5vw,54px); clip-path:polygon(0 var(--cut), 100% 0, 100% calc(100% - var(--cut)), 0 100%); }

/* ── terminale vivo ── */
.term__titles{ display:flex; gap:6px; flex-wrap:wrap; margin:14px 0 4px; }
.term__chip{
  display:inline-flex; align-items:center; gap:8px; padding:7px 12px; border-radius:999px; border:1px solid var(--hair); color:var(--w70);
  letter-spacing:.14em; font-size:10.5px; transition:border-color .2s, color .2s, background .2s;
}
.term__chip img{ width:18px; height:18px; border-radius:50%; object-fit:cover; object-position:top; }
.term__chip:hover{ color:var(--w100); border-color:rgba(255,255,255,.3); }
.term__chip.is-active{ background:var(--green); color:#09090B; border-color:var(--green); font-weight:700; }
.term__chart{ position:relative; }
.term__chart svg{ touch-action:pan-y; cursor:crosshair; outline:none; }
.term__chart svg:focus-visible{ outline:2px solid var(--green); outline-offset:4px; }
.term__cross{ position:absolute; top:6px; pointer-events:none; padding:6px 9px; border-radius:6px; background:rgba(9,9,11,.92); border:1px solid var(--hair); color:var(--w100); font-size:10px; letter-spacing:.1em; white-space:nowrap; transform:translateX(-50%); z-index:3; }
.term__cross b{ color:var(--green); }
.term__range{
  -webkit-appearance:none; appearance:none; width:100%; height:2px; margin:10px 0 2px; background:var(--hair); border-radius:1px; outline:none; cursor:ew-resize;
}
.term__range::-webkit-slider-thumb{ -webkit-appearance:none; width:14px; height:14px; border-radius:50%; background:var(--green); border:2px solid #09090B; box-shadow:0 0 0 1px var(--green); cursor:ew-resize; }
.term__range::-moz-range-thumb{ width:14px; height:14px; border-radius:50%; background:var(--green); border:2px solid #09090B; cursor:ew-resize; }
.term__range:focus-visible::-webkit-slider-thumb{ box-shadow:0 0 0 4px rgba(149,252,81,.3); }
.chip--big.is-open{ background:var(--green2); color:#09090B; border-color:var(--green2); }
.chip--sell.chip--big.is-open{ background:var(--w100); border-color:var(--w100); }
.chip--big:active{ transform:scale(.96); }
.chip--big[disabled]{ opacity:.4; cursor:not-allowed; }
.term__pos{ display:grid; grid-template-rows:0fr; transition:grid-template-rows .4s cubic-bezier(.4,0,.2,1); }
.term__pos.is-open{ grid-template-rows:1fr; }
.term__posin{ overflow:hidden; display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.term__pos.is-open .term__posin{ padding-top:14px; }
.term__poslbl{ color:var(--w70); }
.term__perf{ padding:7px 12px; border-radius:6px; border:1px solid var(--hair); color:var(--w70); font-feature-settings:"tnum"; }
.term__perf.is-up{ color:var(--green2); border-color:var(--green-25); }
.term__perf b{ font-weight:700; letter-spacing:.04em; }
.term__close{ margin-left:auto; color:var(--w40); letter-spacing:.14em; padding:6px 10px; border:1px solid var(--hair); border-radius:6px; transition:color .2s, border-color .2s; }
.term__close:hover{ color:var(--green); border-color:var(--green); }
.pcard__figure img{ width:100%; height:100%; object-fit:cover; object-position:top; filter:grayscale(1) contrast(1.05); }
.pcard__figure::after{ content:''; position:absolute; inset:0; background:linear-gradient(160deg, rgba(149,252,81,.35), rgba(9,9,11,.6)); mix-blend-mode:multiply; pointer-events:none; }
.pcard__figure .pcard__silh{ z-index:1; }

/* ── micro-interazioni: premi con riflesso, bordo che segue il cursore ── */
.prize__imgwrap{ position:relative; }
.prize__imgwrap img{ position:relative; z-index:1; }
.prize__reflect{ position:absolute; left:7%; right:7%; bottom:-8%; height:40%; opacity:.16; pointer-events:none; overflow:hidden;
  -webkit-mask-image:linear-gradient(transparent 20%, #000); mask-image:linear-gradient(transparent 20%, #000); }
.prize__reflect img{ width:100%; height:auto; transform:scaleY(-1); object-fit:contain; filter:blur(1px); }
.prize.is-active .prize__imgwrap img:first-child, .prize:hover .prize__imgwrap img:first-child{ transform:translateY(-8px) scale(1.04); }
.prize__scan{ position:absolute; left:0; right:0; top:0; height:1px; background:var(--green); opacity:0; pointer-events:none; z-index:2; }
.prize.is-active .prize__scan{ animation:prizescan .7s ease-out 1; }
@keyframes prizescan{ 0%{ opacity:.9; transform:translateY(0); } 100%{ opacity:0; transform:translateY(100%); } }
.term, .board, .prize{ position:relative; isolation:isolate; }
.term::before, .board::before, .prize::before{
  content:''; position:absolute; inset:-1px; border-radius:inherit; padding:1px; pointer-events:none; opacity:0; transition:opacity .35s; z-index:2;
  background:radial-gradient(260px at var(--gx,50%) var(--gy,50%), rgba(149,252,81,.5), transparent 60%);
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); mask-composite:exclude;
}
@media (hover:hover){ .term:hover::before, .board:hover::before, .prize:hover::before{ opacity:1; } }
.h2--center, .hero__sub, .body--center{ text-wrap:balance; }
.board__px, .vault__introcount b{ font-variant-numeric:tabular-nums; }
.vault__comet{ fill:var(--green); filter:drop-shadow(0 0 8px var(--green)); }

@media (prefers-reduced-motion: reduce){
  .ticker::after{ animation:none; }
  .prize.is-active .prize__scan{ animation:none; }
}

/* Lenis (smooth scroll desktop) */
html.lenis, html.lenis body{ height:auto; }
.lenis.lenis-smooth{ scroll-behavior:auto !important; }
.lenis.lenis-smooth [data-lenis-prevent]{ overscroll-behavior:contain; }
.lenis.lenis-stopped{ overflow:hidden; }

/* ════════════════ CONSENSO COOKIE (banner + preferenze) ════════════════ */
.ck{
  position:fixed; left:50%; bottom:max(16px, env(safe-area-inset-bottom, 16px)); z-index:9000;
  width:min(calc(100% - 28px), 700px); padding:20px 48px 18px 22px;
  background:rgba(19,19,19,.96); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.1); border-radius:18px; box-shadow:0 24px 70px rgba(0,0,0,.55);
  color:var(--w100); font-size:14px; line-height:1.55;
  transform:translate(-50%, 24px); opacity:0; transition:transform .38s var(--ease-out), opacity .3s;
}
.ck.is-in{ transform:translate(-50%, 0); opacity:1; }
@media (min-width: 1000px){
  .ck{ left:24px; transform:translateY(24px); width:min(440px, calc(100% - 48px)); font-size:13.5px; }
  .ck.is-in{ transform:none; }
}
html.has-ck body{ padding-bottom:var(--ck-h, 0px); }
html.has-ck{ scroll-padding-bottom:var(--ck-h, 0px); }
.ck__kicker{ color:var(--green); margin:0 0 10px; display:flex; align-items:center; gap:8px; }
.ck__text{ margin:0; color:var(--w70); max-width:62ch; }
.ck__text .ck__link, .ck__link{ color:var(--w100); text-decoration:underline; text-underline-offset:3px; text-decoration-color:var(--green); }
.ck__link:hover{ color:var(--green); }
.ck__actions{ display:flex; gap:10px; flex-wrap:wrap; margin-top:16px; }
.ck__btn{ padding:11px 20px; font-size:12.5px; }
.ck__btn[data-ck="reject"], .ck__btn[data-ck="accept"]{ min-width:9.5em; justify-content:center; } /* Rifiuta e Accetta: stesse dimensioni */
.ck__close{
  position:absolute; top:12px; right:12px; width:38px; height:38px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; color:var(--w100); font-size:16px;
  border:1px solid rgba(255,255,255,.35); background:rgba(255,255,255,.06);
  transition:color .2s, background .2s, border-color .2s;
}
.ck__close:hover{ background:rgba(255,255,255,.14); border-color:var(--w100); }
.ck__rec{ color:var(--w40); margin:10px 0 0; font-size:10px; letter-spacing:.14em; }
.ck__status{ display:inline-block; margin-left:6px; padding:2px 8px; border-radius:999px; border:1px solid var(--hair); color:var(--w40); font-size:9px; letter-spacing:.14em; vertical-align:middle; }
.ck__status.is-on{ color:var(--green); border-color:var(--green-25); }
.ck__title:focus-visible{ outline:2px solid var(--green); outline-offset:6px; border-radius:4px; }
.ck__modal{
  position:fixed; inset:0; z-index:9001; display:flex; align-items:center; justify-content:center; padding:20px;
  background:rgba(9,9,11,.72); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
  opacity:0; transition:opacity .25s;
}
.ck__modal.is-in{ opacity:1; }
.ck__panel{
  position:relative; width:min(100%, 640px); max-height:min(88vh, 88svh); overflow:auto;
  background:var(--panel); border:1px solid rgba(255,255,255,.1); border-radius:20px; padding:26px 28px 24px;
  font-size:14px; line-height:1.55; transform:translateY(16px); transition:transform .3s var(--ease-out);
}
.ck__modal.is-in .ck__panel{ transform:none; }
.ck__title{ font-family:var(--f-head); font-weight:800; text-transform:uppercase; font-size:38px; line-height:.95; margin:0 0 12px; }
.ck__form{ margin:18px 0 6px; }
.ck__cat{ padding:16px 0; border-top:1px solid var(--hair); }
.ck__switch{ display:flex; align-items:center; gap:12px; cursor:pointer; }
.ck__switch input{ position:absolute; opacity:0; width:1px; height:1px; }
.ck__track{
  position:relative; flex-shrink:0; width:42px; height:24px; border-radius:12px; background:rgba(255,255,255,.14);
  transition:background .2s;
}
.ck__track::after{ content:""; position:absolute; top:3px; left:3px; width:18px; height:18px; border-radius:50%; background:#fff; transition:transform .2s var(--ease-out); }
.ck__switch input:checked + .ck__track{ background:var(--green); }
.ck__switch input:checked + .ck__track::after{ transform:translateX(18px); background:#09090B; }
.ck__switch input:disabled + .ck__track{ opacity:.55; }
.ck__switch input:focus-visible + .ck__track{ outline:2px solid var(--green); outline-offset:3px; }
.ck__catname{ font-weight:600; font-size:15px; }
.ck__catname i{ color:var(--green); font-style:normal; margin-left:8px; font-size:10px; }
.ck__catdesc{ margin:8px 0 0 54px; color:var(--w70); }
.ck__svc{ margin:8px 0 0 54px; padding-left:16px; color:var(--w40); font-size:13px; }
.ck__svc a{ color:var(--w70); }
html.ck-lock{ overflow:hidden; }
.footer__legal{
  position:relative; z-index:2; display:flex; flex-wrap:wrap; gap:8px 22px; padding:0 var(--pad) 18px; color:var(--w40);
}
.footer__legal a, .footer__legal button{ color:var(--w70); font:inherit; letter-spacing:inherit; text-transform:inherit; text-decoration:none; transition:color .2s; }
.footer__legal a:hover, .footer__legal button:hover{ color:var(--green); }
@media (max-width: 640px){
  .ck{ padding:18px 18px 16px; font-size:13.5px; }
  .ck__actions .ck__btn{ flex:1 1 auto; justify-content:center; }
  .ck__panel{ padding:22px 18px 20px; }
  .ck__title{ font-size:32px; }
  .ck__catdesc, .ck__svc{ margin-left:0; }
}
@media (max-height: 520px){
  .ck{ padding:12px 44px 12px 16px; font-size:13px; max-height:62vh; overflow:auto; }
  .ck__kicker{ display:none; } .ck__text{ max-width:none; } .ck__actions{ margin-top:10px; }
}
@media (prefers-reduced-motion: reduce){ .ck, .ck__modal, .ck__panel, .ck__track::after{ transition:none; } }
