/* ===== Fonts (self-hosted, latin + latin-ext) ===== */
@font-face{font-family:'Outfit';font-weight:600;font-display:swap;src:url('../fonts/outfit-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Outfit';font-weight:600;font-display:swap;src:url('../fonts/outfit-latin-ext-600-normal.woff2') format('woff2')}
@font-face{font-family:'Outfit';font-weight:700;font-display:swap;src:url('../fonts/outfit-latin-700-normal.woff2') format('woff2')}
@font-face{font-family:'Outfit';font-weight:700;font-display:swap;src:url('../fonts/outfit-latin-ext-700-normal.woff2') format('woff2')}
@font-face{font-family:'Outfit';font-weight:800;font-display:swap;src:url('../fonts/outfit-latin-800-normal.woff2') format('woff2')}
@font-face{font-family:'Outfit';font-weight:800;font-display:swap;src:url('../fonts/outfit-latin-ext-800-normal.woff2') format('woff2')}
@font-face{font-family:'Karla';font-weight:400;font-display:swap;src:url('../fonts/karla-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Karla';font-weight:400;font-display:swap;src:url('../fonts/karla-latin-ext-400-normal.woff2') format('woff2')}
@font-face{font-family:'Karla';font-weight:500;font-display:swap;src:url('../fonts/karla-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Karla';font-weight:500;font-display:swap;src:url('../fonts/karla-latin-ext-500-normal.woff2') format('woff2')}
@font-face{font-family:'Karla';font-weight:600;font-display:swap;src:url('../fonts/karla-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Karla';font-weight:600;font-display:swap;src:url('../fonts/karla-latin-ext-600-normal.woff2') format('woff2')}
@font-face{font-family:'Karla';font-weight:700;font-display:swap;src:url('../fonts/karla-latin-700-normal.woff2') format('woff2')}
@font-face{font-family:'Karla';font-weight:700;font-display:swap;src:url('../fonts/karla-latin-ext-700-normal.woff2') format('woff2')}
@font-face{font-family:'Kode Mono';font-weight:400;font-display:swap;src:url('../fonts/kode-mono-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Kode Mono';font-weight:400;font-display:swap;src:url('../fonts/kode-mono-latin-ext-400-normal.woff2') format('woff2')}
@font-face{font-family:'Kode Mono';font-weight:500;font-display:swap;src:url('../fonts/kode-mono-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Kode Mono';font-weight:500;font-display:swap;src:url('../fonts/kode-mono-latin-ext-500-normal.woff2') format('woff2')}

/* ============================================================
   GiraBonus — codici bonus non AAMS, per importo di deposito
   dark · acciaio · lime · arancio bruciato (meccanica del codice)
   ============================================================ */
:root{
  --bg:#0F1317; --bg2:#161B21; --card:#171D23; --card2:#1D242B;
  --tx:#E8EDF0; --mut:#93A0AA; --line:#28313A; --line2:#212A32;
  --lime:#A6E22E; --lime-d:#8CC722; --burn:#E4682E; --burn-d:#C4551F;
  --ink:#0F1317;
  --disp:'Outfit',system-ui,sans-serif;
  --body:'Karla',system-ui,-apple-system,sans-serif;
  --mono:'Kode Mono',ui-monospace,monospace;
  --r:12px; --mw:1140px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--tx);font-family:var(--body);
  font-size:17px;line-height:1.68;-webkit-font-smoothing:antialiased;
  background-image:
    radial-gradient(820px 400px at 96% -6%,rgba(166,226,46,.09),transparent 62%),
    radial-gradient(700px 380px at -4% 4%,rgba(228,104,46,.08),transparent 58%);}
a{color:var(--lime);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;display:block}
h1,h2,h3{font-family:var(--disp);line-height:1.12;letter-spacing:-.022em;margin:0;font-weight:700;color:#F3F7F9}
strong{color:#F3F7F9;font-weight:700}
:focus-visible{outline:3px solid var(--lime);outline-offset:2px;border-radius:6px}
.grfgs{max-width:var(--mw);margin:0 auto;padding:0 20px}

.grww1{position:absolute;left:-999px;top:auto}
.grww1:focus{left:12px;top:12px;z-index:99;background:var(--lime);color:var(--ink);padding:10px 14px;border-radius:8px;font-weight:700}

.grf9k{height:4px;background:linear-gradient(90deg,var(--lime),var(--burn),var(--lime),var(--burn));
  background-size:280% 100%;animation:au 8s linear infinite}
@keyframes au{to{background-position:280% 0}}

.grh1b{position:sticky;top:0;z-index:40;background:rgba(15,19,23,.88);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.grdix{max-width:var(--mw);margin:0 auto;display:flex;align-items:center;gap:18px;padding:12px 20px}
.grjw4{display:flex;align-items:center;gap:10px;font-family:var(--disp);font-weight:800;font-size:21px;color:#F3F7F9;letter-spacing:-.02em}
.grjw4:hover{text-decoration:none}
.gryoa{width:31px;height:31px;flex:0 0 auto}
.grytq{color:var(--mut);font-size:12.5px;font-family:var(--mono);border-left:1px solid var(--line);padding-left:12px}
.gr4l4{margin-left:auto;display:flex;gap:5px;flex-wrap:wrap;align-items:center}
.gryzg{color:var(--mut);font-weight:600;font-size:14.5px;padding:7px 11px;border-radius:8px}
.gryzg:hover{color:var(--lime);background:var(--card2);text-decoration:none}
.gr9c2{font-family:var(--mono);font-weight:700;font-size:12px;color:var(--ink);background:var(--lime);border-radius:6px;padding:5px 8px}

.gru0u{max-width:var(--mw);margin:0 auto;padding:62px 20px 28px;display:grid;grid-template-columns:1.12fr .88fr;gap:44px;align-items:center}
.grd1w{font-family:var(--mono);font-size:12.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--burn);margin-bottom:16px;display:flex;align-items:center;gap:9px}
.gr29l{width:9px;height:9px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 0 rgba(166,226,46,.5);animation:pl 2s infinite}
@keyframes pl{70%{box-shadow:0 0 0 10px rgba(166,226,46,0)}100%{box-shadow:0 0 0 0 rgba(166,226,46,0)}}
.gru0u h1{font-size:clamp(35px,5.4vw,60px);font-weight:800;margin-bottom:18px}
.grg6i{color:var(--lime)}
.grp8d{font-size:19px;color:var(--mut);max-width:47ch;margin-bottom:26px}
.gro17{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.grxqs{background:var(--lime);color:var(--ink);font-family:var(--disp);font-weight:700;font-size:16.5px;padding:13px 26px;border-radius:9px;display:inline-flex;align-items:center;gap:10px;border:0;cursor:pointer;transition:transform .12s;box-shadow:0 10px 26px -14px rgba(166,226,46,.9)}
.grxqs::after{content:"↻";font-size:15px;font-weight:700}
.grxqs:hover{transform:translateY(-2px);text-decoration:none;color:var(--ink);background:var(--lime-d)}
.grpn0{color:#F3F7F9;font-weight:700;padding:12px 18px;border:1px solid var(--line);border-radius:9px;font-size:15px;background:var(--card)}
.grpn0:hover{border-color:var(--lime);text-decoration:none;color:var(--lime)}
.grhay{margin-top:22px;display:flex;flex-wrap:wrap;gap:8px}
.grk9n{font-family:var(--mono);font-size:12px;color:var(--mut);background:var(--card);border:1px solid var(--line);border-radius:6px;padding:6px 10px}

.gr0ji{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px;position:relative;overflow:hidden}
.gr0ji::after{content:"";position:absolute;inset:0;background:radial-gradient(400px 160px at 100% 0,rgba(166,226,46,.09),transparent 70%);pointer-events:none}
.grcz8{display:flex;justify-content:space-between;font-family:var(--mono);font-size:12px;color:var(--mut);text-transform:uppercase;letter-spacing:.07em;margin-bottom:14px}
.gr7ke{display:flex;flex-direction:column;gap:9px}
.gr06q{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--card2);border:1px solid var(--line2);border-radius:10px;padding:11px 14px}
.grotb{font-weight:700;color:#F3F7F9;display:flex;align-items:center;gap:8px}
.grt2g{font-family:var(--mono);font-size:10px;font-weight:700;color:var(--ink);background:var(--burn);border-radius:4px;padding:3px 6px}
.gry6g{font-family:var(--mono);font-size:12.5px;color:var(--lime)}
.grond{margin-top:16px}

.grcai{padding:26px 0}
.gr1vq{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--burn);margin-bottom:10px}
.grcai h2{font-size:clamp(25px,3.6vw,36px);margin-bottom:8px}
.grj76{color:var(--mut);max-width:72ch;margin:0 0 18px}

/* tabella: colonna codice centrale */
.grl3e{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--card)}
.griq6{width:100%;border-collapse:collapse;min-width:700px;font-size:14.5px}
.griq6 th{background:var(--bg2);text-align:left;font-family:var(--mono);font-weight:400;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--mut);padding:13px 15px;border-bottom:1px solid var(--line)}
.griq6 td{padding:13px 15px;border-bottom:1px solid var(--line2);vertical-align:middle}
.griq6 tr:last-child td{border-bottom:none}
.griq6 tr:hover td{background:var(--card2)}
.grbpt{font-family:var(--disp);font-weight:800;color:var(--burn);width:32px}
.grjx4{font-weight:700;color:#F3F7F9;white-space:nowrap}
.grwth{white-space:nowrap;font-family:var(--mono);font-size:13px;color:var(--lime)}
.grwth b{font-weight:500;letter-spacing:.06em}
.grwth i{color:var(--line);font-style:normal;padding:0 4px}
.grwth.grw18{color:var(--mut)}
.grjg2{color:var(--mut);font-size:13.5px}
.grvin{font-family:var(--disp);font-weight:800;color:var(--lime);white-space:nowrap}
.grnab a{display:inline-block;background:var(--lime);color:var(--ink);font-weight:700;font-size:12.5px;padding:7px 13px;border-radius:7px}
.grnab a:hover{background:var(--lime-d);text-decoration:none}

/* offerta — firma: dial (rotella del codice) + striscia codice */
.gr9wh{display:flex;flex-direction:column;gap:15px;margin:16px 0}
.grpph{position:relative;display:grid;grid-template-columns:176px 1fr;background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:.16s}
.grpph:hover{border-color:var(--lime);transform:translateY(-2px)}
.grpph.grgy8{border-color:var(--lime);box-shadow:0 0 0 1px var(--lime) inset}
.grdzf{position:absolute;top:0;right:0;background:var(--lime);color:var(--ink);font-family:var(--disp);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;padding:5px 12px;border-radius:0 0 0 10px}
.grmq2{background:linear-gradient(180deg,var(--card2),var(--bg2));border-right:1px solid var(--line2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:20px 12px;text-align:center}
.grgbo{font-family:var(--mono);font-size:11px;color:var(--mut)}
.gr784{position:relative;width:96px;height:96px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:conic-gradient(from 0deg,#1F272E,#2A343D,#1F272E,#2A343D,#1F272E);border:2px solid var(--lime);box-shadow:inset 0 0 0 6px var(--bg2)}
.gr784::before{content:"";position:absolute;inset:-8px;border-radius:50%;
  background:repeating-conic-gradient(var(--lime) 0 1.3deg,transparent 1.3deg 9deg);
  -webkit-mask:radial-gradient(circle,transparent 0 44px,#000 45px 49px,transparent 50px);
  mask:radial-gradient(circle,transparent 0 44px,#000 45px 49px,transparent 50px);opacity:.75}
.gr784::after{content:"";position:absolute;top:-3px;left:50%;transform:translateX(-50%);
  width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:9px solid var(--burn)}
.grirh{font-family:var(--mono);font-size:8px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--burn);z-index:2}
.gr8qk{font-family:var(--disp);font-weight:800;font-size:1.6rem;color:var(--lime);line-height:.92;z-index:2}
.grgvl{font-family:var(--mono);font-size:.5rem;text-transform:uppercase;letter-spacing:.13em;color:var(--mut);z-index:2}
.gr784.graaz{border-color:#3A454E}
.gr784.graaz::before{background:repeating-conic-gradient(#3A454E 0 1.3deg,transparent 1.3deg 9deg)}
.gr784.graaz .gr8qk{color:#6E7C86}
.gr784.graaz .grirh{color:#6E7C86}
.gr784.graaz::after{border-top-color:#3A454E}
.gr12b{font-family:var(--mono);font-size:10.5px;color:var(--mut)}
.grhtl{padding:20px 22px}
.grldc{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.grzxb{display:inline-flex;align-items:center;font-family:var(--disp);font-weight:700;color:#0F1317;padding:5px 12px;border-radius:6px;font-size:14.5px}
.gr61r{font-family:var(--disp);font-weight:800;font-size:1.24rem;color:#F3F7F9;margin:7px 0 0;line-height:1.16}
.gr1po{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0 12px}
.grj6w{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:11.5px;background:var(--bg2);border:1px solid var(--line2);border-radius:5px;padding:4px 9px;color:var(--mut)}
.grj6w.grz31{color:var(--burn);border-color:rgba(228,104,46,.4)}
.grj6w.grrfj{color:var(--lime);border-color:rgba(166,226,46,.35)}
.grj6w.graaz{color:#C9D3DA;border-color:#3A454E}

/* striscia codice (hero del codice) — parentesi mono, non pillola */
.grb0q{display:flex;align-items:center;gap:10px;background:var(--bg2);border:1px solid var(--line);border-left:3px solid var(--lime);border-radius:0 9px 9px 0;padding:10px 15px;margin:0 0 12px;max-width:380px;font-family:var(--mono)}
.grfp7{font-size:9.5px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:var(--mut)}
.grlrx{font-weight:500;font-size:1.14rem;color:var(--lime);letter-spacing:.09em}
.grlrx::before{content:"[ ";color:var(--line)}
.grlrx::after{content:" ]";color:var(--line)}
.grb0q.grn9n{border-left-color:var(--burn)}
.grb0q.grn9n .grlrx{color:var(--mut);font-size:.94rem;letter-spacing:.02em}
.grb0q.grn9n .grlrx::before,.grb0q.grn9n .grlrx::after{content:""}

.gr4eb{display:flex;align-items:center;gap:9px;margin:0 0 10px}
.gr4eb b{font-family:var(--disp);font-weight:800;color:var(--lime);font-size:1.08rem}
.gr4eb .gryc2{color:var(--mut);font-family:var(--mono);font-size:12px}
.grotm{flex:1;max-width:130px;height:5px;border-radius:3px;background:var(--bg2);overflow:hidden}
.grotm i{display:block;height:100%;background:linear-gradient(90deg,var(--burn),var(--lime))}
.gr4cm{color:var(--mut);margin:0 0 11px}
.gr4cm b{color:#F3F7F9}
.gripq{list-style:none;margin:0 0 13px;padding:0;display:flex;flex-wrap:wrap;gap:6px 16px}
.gripq li{font-size:13px;color:var(--mut);padding-left:18px;position:relative}
.gripq li::before{content:"↻";position:absolute;left:0;color:var(--lime);font-size:12px;top:1px}
.grc0i{display:flex;gap:11px;align-items:center;flex-wrap:wrap}

.grwlw{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px 22px;margin:12px 0;scroll-margin-top:80px}
.grj64{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:6px}
.grj64 h2{font-size:1.3rem;margin:0}
.grj64 .grc0d{font-family:var(--mono);font-size:12.5px;color:var(--burn)}
.gr8xj{margin-left:auto;display:flex;align-items:center;gap:8px}
.gr8xj b{font-family:var(--disp);font-weight:800;color:var(--lime);font-size:1.18rem}
.gr8xj .gryc2{font-family:var(--mono);font-size:12px;color:var(--mut)}
.grwlw p{color:var(--mut);margin:0 0 .7em}
.gr87m{margin-top:4px}

.grxca{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:13px;margin:14px 0}
.grp4g{display:block;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px;transition:.16s}
.grp4g:hover{border-color:var(--lime);transform:translateY(-2px);text-decoration:none}
.grg2u{font-family:var(--disp);font-weight:800;font-size:1.9rem;color:var(--lime);line-height:1}
.grg2u span{font-size:1.05rem;color:var(--burn)}
.grp4g h3{font-size:1.02rem;margin:.15em 0 .3em}
.grp4g p{margin:0;font-size:13px;color:var(--mut)}
.grsy4{display:inline-block;margin-top:9px;color:var(--lime);font-weight:700;font-size:13px}

.grm87 details{border:1px solid var(--line);border-radius:10px;margin-bottom:9px;background:var(--card)}
.grm87 summary{cursor:pointer;padding:15px 17px;font-weight:700;color:#F3F7F9;list-style:none;display:flex;justify-content:space-between;gap:14px;font-family:var(--disp)}
.grm87 summary::-webkit-details-marker{display:none}
.grm87 summary::after{content:"↻";color:var(--lime);font-size:1.15rem;line-height:1;transition:.25s}
.grm87 details[open] summary::after{transform:rotate(180deg);color:var(--burn)}
.grm87 .grp9y{padding:0 17px 15px;color:var(--mut)}

.grsa2{font-family:var(--mono);font-size:12.5px;color:var(--mut);margin-bottom:8px}
.grsa2 a{color:var(--mut)}
.grsa2 a:hover{color:var(--lime)}

.gr9n1{margin:36px 0 0;padding:22px 24px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);display:flex;gap:15px;align-items:flex-start}
.gr7vz{flex:none;width:52px;height:52px;border-radius:12px;background:rgba(166,226,46,.1);border:1px solid var(--lime);display:flex;align-items:center;justify-content:center;color:var(--lime);font-family:var(--disp);font-weight:800;font-size:1.4rem}
.grnkt{font-family:var(--disp);font-weight:800;font-size:1.18rem;color:#F3F7F9;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.gr14m{display:inline-flex;align-items:center;gap:5px;font-weight:700;font-size:12.5px;color:var(--lime)}
.gr14m .gra8e{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--lime);color:var(--ink);font-size:11px;font-weight:700}
.grraf{margin:.45em 0 0;font-size:14px;color:var(--mut);line-height:1.62;max-width:74ch}

.grp7x{background:rgba(228,104,46,.08);border:1px solid rgba(228,104,46,.3);border-left:3px solid var(--burn);border-radius:0 10px 10px 0;padding:15px 18px;margin:20px 0;color:#DCE3E8}
.grp7x b{color:var(--burn)}
.gr7u7{background:rgba(166,226,46,.07);border:1px solid rgba(166,226,46,.28);border-left:3px solid var(--lime);border-radius:0 10px 10px 0;padding:15px 18px;margin:20px 0;color:#DCE3E8}
.gr7u7 b{color:var(--lime)}

.grhjp{list-style:none;padding:0;margin:14px 0;display:grid;gap:10px}
.grhjp li{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px 16px;color:var(--mut);position:relative;padding-left:44px}
.grhjp li::before{content:"↻";position:absolute;left:16px;top:13px;color:var(--lime)}
.grhjp li b{color:#F3F7F9}
.grwx7{display:flex;flex-wrap:wrap;gap:14px;margin:16px 0}
.grkbv{flex:1;min-width:220px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px}
.grkbv .grimd{font-family:var(--disp);font-weight:800;font-size:1.5rem;color:var(--lime)}
.grkbv p{margin:.3em 0 0;font-size:14px;color:var(--mut)}

.grm16{background:linear-gradient(115deg,rgba(166,226,46,.09),rgba(228,104,46,.09) 220%);border:1px solid var(--line);border-radius:16px;padding:42px;text-align:center;margin:56px 0 0}
.grm16 h2{font-size:clamp(25px,3.6vw,34px);margin:0 0 .3em}
.grm16 h2 em{font-style:normal;color:var(--lime)}
.grm16 p{color:var(--mut);max-width:58ch;margin:0 auto 22px}
.grccx{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border:2px solid var(--burn);color:var(--burn);border-radius:12px;font-family:var(--disp);font-weight:800;margin-bottom:14px}
.grxua{margin-top:52px;border-top:1px solid var(--line);padding:40px 0 34px;color:var(--mut);font-size:14px}
.grjw2{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:30px;margin-bottom:22px}
.grjw2 h4{font-family:var(--disp);font-weight:800;font-size:1.02rem;color:#F3F7F9;margin:0 0 12px}
.grjw2 a{display:block;color:var(--mut);margin-bottom:7px}
.grjw2 a:hover{color:var(--lime)}
.gr9xv{border-top:1px solid var(--line2);padding-top:15px;line-height:1.58}
.gr9xv b{color:var(--burn)}

@media(max-width:900px){.gru0u{grid-template-columns:1fr;gap:30px}.grjw2{grid-template-columns:1fr 1fr}}
@media(max-width:560px){
  body{font-size:16px}
  .gr4l4 .gryzg{display:none}
  .gr4l4 .gr9c2{margin-left:auto}
  .grytq{display:none}
  .grpph{grid-template-columns:1fr}
  .grmq2{flex-direction:row;justify-content:center;gap:16px;border-right:none;border-bottom:1px solid var(--line2);padding:14px}
  .grb0q{max-width:none}
  .grjw2{grid-template-columns:1fr}
  .grm16{padding:28px 18px}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto}}
