
:root{
      --bg:#080912;
      --bg2:#111426;
      --card:rgba(255,255,255,.075);
      --card-strong:rgba(255,255,255,.12);
      --line:rgba(255,255,255,.14);
      --text:#f7f7fb;
      --muted:rgba(247,247,251,.72);
      --soft:rgba(247,247,251,.52);
      --accent:#ff3d81;
      --accent2:#7c5cff;
      --accent3:#00e5ff;
      --gold:#ffd166;
      --green:#2fffa8;
      --shadow:0 24px 80px rgba(0,0,0,.42);
      --radius:28px;
      --max:1180px;
      --font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:var(--font);
      background:
        radial-gradient(circle at 15% 10%, rgba(124,92,255,.24), transparent 34%),
        radial-gradient(circle at 85% 14%, rgba(0,229,255,.18), transparent 30%),
        radial-gradient(circle at 60% 88%, rgba(255,61,129,.18), transparent 28%),
        var(--bg);
      color:var(--text);
      overflow-x:hidden;
    }

    body::before{
      content:"";
      position:fixed;
      inset:0;
      z-index:-3;
      background-image:
        linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
      background-size:64px 64px;
      mask-image:linear-gradient(to bottom, rgba(0,0,0,.9), rgba(0,0,0,.2) 70%, transparent);
    }

    a{color:inherit;text-decoration:none}
    button,input,textarea{font:inherit}
    .wrap{width:min(var(--max), calc(100% - 40px)); margin-inline:auto}

    .noise{
      pointer-events:none;
      position:fixed;
      inset:0;
      z-index:60;
      opacity:.035;
      background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 220 220' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    }

    .orb{
      position:fixed;
      width:440px;
      height:440px;
      border-radius:50%;
      filter:blur(30px);
      opacity:.28;
      z-index:-2;
      mix-blend-mode:screen;
      animation:floatOrb 14s ease-in-out infinite alternate;
    }
    .orb.one{left:-120px; top:14%; background:var(--accent2)}
    .orb.two{right:-140px; top:28%; background:var(--accent3); animation-delay:-5s}
    .orb.three{left:36%; bottom:-240px; background:var(--accent); animation-delay:-8s}
    @keyframes floatOrb{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(45px,-35px,0) scale(1.15)}}

    .site-header{
      position:fixed;
      top:0;
      left:0;
      right:0;
      z-index:50;
      padding:18px 0;
      transition:.25s ease;
    }
    .site-header.is-scrolled{
      padding:10px 0;
      background:rgba(8,9,18,.74);
      backdrop-filter:blur(18px);
      border-bottom:1px solid var(--line);
    }
    .nav{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:22px;
    }
    .brand{
      display:flex;
      align-items:center;
      gap:12px;
      min-width:0;
    }
    .brand-logo{
      display:block;
      width:min(44vw, 238px);
      color:var(--text);
      filter:drop-shadow(0 8px 22px rgba(124,92,255,.16));
    }
    .brand-logo img{display:block;width:100%;height:auto}
        .footer-brand{
      display:flex;
      align-items:center;
      gap:16px;
      flex-wrap:wrap;
    }
    .footer-brand .brand-logo{width:min(38vw, 210px); color:var(--text)}

    .menu{
      display:flex;
      align-items:center;
      gap:24px;
      color:var(--muted);
      font-size:.92rem;
    }
    .menu a{position:relative; padding:8px 0}
    .menu a::after{
      content:"";
      position:absolute;
      left:0;
      bottom:0;
      width:0;
      height:2px;
      background:linear-gradient(90deg, var(--accent), var(--accent3));
      transition:.25s ease;
    }
    .menu a:hover::after{width:100%}
    .menu .cta::after{display:none!important}
    .menu .cta{padding:16px 26px}
    .nav > .cta{padding:16px 26px}

    .cta,
    .ghost{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      border-radius:999px;
      border:1px solid transparent;
      padding:16px 26px;
      font-weight:800;
      cursor:pointer;
      transition:transform .2s ease, box-shadow .2s ease, border .2s ease, background .2s ease;
      white-space:nowrap;
    }
    .cta{
      background:linear-gradient(135deg, var(--accent), var(--accent2));
      color:white;
      box-shadow:0 16px 44px rgba(255,61,129,.25), 0 16px 44px rgba(124,92,255,.18);
    }
    .cta:hover{transform:translateY(-3px); box-shadow:0 18px 60px rgba(255,61,129,.34), 0 18px 60px rgba(124,92,255,.24)}
    .ghost{background:rgba(255,255,255,.06); border-color:var(--line); color:var(--text)}
    .ghost:hover{transform:translateY(-3px); background:rgba(255,255,255,.1)}

    .mobile-toggle{display:none;background:rgba(255,255,255,.08);color:white;border:1px solid var(--line);border-radius:14px;padding:10px 12px}

    .hero{
      /* Min-height più elastica: evita che il claim gigante venga tagliato su desktop bassi. */
      min-height:max(760px, 100svh);
      display:grid;
      align-items:center;
      padding:clamp(116px, 11vh, 148px) 0 clamp(58px, 8vh, 86px);
      position:relative;
      overflow:visible;
    }
    #particleCanvas{
      position:absolute;
      inset:0;
      width:100%;
      height:100%;
      z-index:-1;
      opacity:.62;
    }
    .hero-grid{
      display:grid;
      grid-template-columns:minmax(0, 1.14fr) minmax(420px, .86fr);
      gap:clamp(34px, 4.2vw, 54px);
      align-items:center;
    }
    .hero-copy,
    .visual-panel{
      min-width:0;
    }
    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:10px;
      padding:10px 14px;
      border:1px solid var(--line);
      border-radius:999px;
      background:rgba(255,255,255,.07);
      color:var(--muted);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
      margin-bottom:22px;
    }
    .pulse-dot{
      width:9px;
      height:9px;
      border-radius:50%;
      background:var(--green);
      box-shadow:0 0 0 8px rgba(47,255,168,.12);
      animation:pulse 1.6s infinite;
    }
    @keyframes pulse{50%{box-shadow:0 0 0 14px rgba(47,255,168,0)}}
    h1{
      margin:0;
      /* Claim enorme ma più controllato: niente tagli verticali e migliore adattamento viewport. */
      font-size:clamp(3rem, 6.85vw, 6.85rem);
      line-height:.97;
      letter-spacing:-.075em;
      max-width:100%;
      text-wrap:balance;
      overflow:visible;
      padding-block:.035em .08em;
    }
    .gradient-text{
      display:inline;
      background:linear-gradient(90deg, #fff, #d9d4ff 34%, #8ff6ff 65%, #ff9cc4);
      -webkit-background-clip:text;
      background-clip:text;
      color:transparent;
      filter:drop-shadow(0 16px 44px rgba(124,92,255,.18));
      -webkit-box-decoration-break:clone;
      box-decoration-break:clone;
    }
    .hero-sub{
      margin:26px 0 0;
      max-width:680px;
      color:var(--muted);
      font-size:clamp(1.05rem, 1.6vw, 1.32rem);
      line-height:1.65;
    }
    .hero-sub strong{color:white}
    .type-line{
      min-height:1.6em;
      margin-top:20px;
      font-weight:900;
      letter-spacing:-.03em;
      font-size:clamp(1.15rem, 2.4vw, 2rem);
      color:white;
    }
    .type-line span{color:var(--accent3)}
    .hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
    .trust-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px;color:var(--soft);font-size:.95rem}
    .trust-chip{display:flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.045)}

    .visual-panel{
      position:relative;
      perspective:1200px;
    }
    .dashboard{
      position:relative;
      min-height:580px;
      border-radius:38px;
      border:1px solid var(--line);
      background:linear-gradient(145deg, rgba(255,255,255,.13), rgba(255,255,255,.045));
      box-shadow:var(--shadow), inset 0 1px 0 rgba(255,255,255,.1);
      overflow:hidden;
      transform:rotateY(-8deg) rotateX(5deg);
      transition:.2s ease-out;
      backdrop-filter:blur(18px);
    }
    .dashboard::before{
      content:"";
      position:absolute;
      inset:-2px;
      background:linear-gradient(135deg, transparent, rgba(255,61,129,.28), transparent, rgba(0,229,255,.24));
      opacity:.8;
      mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
      mask-composite:exclude;
      padding:1px;
      pointer-events:none;
    }
    .dash-top{display:flex;align-items:center;gap:8px;padding:20px;border-bottom:1px solid var(--line)}
    .dot{width:11px;height:11px;border-radius:50%;background:rgba(255,255,255,.34)}
    .dot:nth-child(1){background:#ff5f57}.dot:nth-child(2){background:#ffbd2e}.dot:nth-child(3){background:#28c840}
    .dash-content{padding:24px;display:grid;gap:18px}
    .metric-card,
    .mini-card{
      border:1px solid var(--line);
      border-radius:26px;
      background:rgba(8,9,18,.48);
      padding:20px;
      box-shadow:0 18px 40px rgba(0,0,0,.18);
    }
    .metric-card strong{display:block;font-size:3.5rem;letter-spacing:-.08em;line-height:1;background:linear-gradient(90deg,var(--green),var(--accent3));-webkit-background-clip:text;background-clip:text;color:transparent}
    .metric-card span{color:var(--muted);font-weight:700}
    .bars{display:grid;gap:10px;margin-top:18px}
    .bar{height:11px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}
    .bar i{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--accent2),var(--accent3));transition:1.2s cubic-bezier(.2,.8,.2,1)}
    .mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
    .mini-card b{display:block;font-size:1.5rem}.mini-card small{color:var(--muted);line-height:1.5}
    .floating-badge{
      position:absolute;
      right:-18px;
      top:92px;
      border:1px solid rgba(255,255,255,.22);
      border-radius:22px;
      padding:14px 16px;
      background:rgba(255,255,255,.12);
      backdrop-filter:blur(14px);
      box-shadow:0 18px 60px rgba(0,0,0,.32);
      animation:floatY 4s ease-in-out infinite;
    }
    .floating-badge.bottom{right:auto;left:-22px;top:auto;bottom:90px;animation-delay:-1.8s}
    @keyframes floatY{50%{transform:translateY(-14px)}}
    .badge-title{font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;color:var(--soft)}
    .badge-main{font-weight:950;margin-top:4px}

    section{padding:98px 0;position:relative}
    .section-head{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:42px}
    .section-kicker{color:var(--accent3);font-weight:900;letter-spacing:.16em;text-transform:uppercase;font-size:.78rem;margin-bottom:12px}
    h2{font-size:clamp(2rem,4.6vw,4.65rem);line-height:.96;letter-spacing:-.065em;margin:0;max-width:840px}
    .section-head p{max-width:430px;color:var(--muted);line-height:1.65;margin:0}

    .marquee{
      padding:26px 0;
      border-block:1px solid var(--line);
      overflow:hidden;
      background:rgba(255,255,255,.035);
    }
    .marquee-track{display:flex;gap:34px;width:max-content;animation:marquee 20s linear infinite}
    .marquee span{font-weight:950;font-size:clamp(1.2rem,3vw,2.4rem);letter-spacing:-.045em;white-space:nowrap;color:rgba(255,255,255,.2)}
    .marquee b{color:white}
    @keyframes marquee{to{transform:translateX(-50%)}}

    .cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
    .card{
      border:1px solid var(--line);
      border-radius:var(--radius);
      background:linear-gradient(155deg, rgba(255,255,255,.105), rgba(255,255,255,.04));
      padding:26px;
      min-height:270px;
      position:relative;
      overflow:hidden;
      box-shadow:0 16px 60px rgba(0,0,0,.2);
      transform-style:preserve-3d;
    }
    .card::after{
      content:"";
      position:absolute;
      inset:auto -30% -45% -30%;
      height:180px;
      background:radial-gradient(circle, rgba(255,61,129,.26), transparent 60%);
      opacity:0;
      transition:.25s ease;
    }
    .card:hover::after{opacity:1}
    .icon{
      width:54px;
      height:54px;
      border-radius:18px;
      display:grid;
      place-items:center;
      margin-bottom:22px;
      background:linear-gradient(135deg, rgba(255,61,129,.26), rgba(124,92,255,.2));
      border:1px solid rgba(255,255,255,.16);
      font-size:1.45rem;
    }
    .card h3{margin:0 0 12px;font-size:1.18rem;letter-spacing:-.03em}
    .card p{margin:0;color:var(--muted);line-height:1.65}
    .card .tag{position:absolute;bottom:18px;left:22px;color:var(--soft);font-weight:800;font-size:.82rem}

    .split{display:grid;grid-template-columns:.86fr 1.14fr;gap:24px;align-items:stretch}
    .sticky-box{
      border:1px solid var(--line);
      border-radius:34px;
      padding:34px;
      background:linear-gradient(145deg, rgba(255,255,255,.11), rgba(255,255,255,.04));
      position:sticky;
      top:98px;
      min-height:420px;
      overflow:hidden;
    }
    .sticky-box::before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:rgba(0,229,255,.14);filter:blur(20px);right:-80px;bottom:-80px}
    .sticky-box p{color:var(--muted);line-height:1.72}
    .steps{display:grid;gap:16px}
    .step{
      display:grid;
      grid-template-columns:82px 1fr;
      gap:22px;
      align-items:start;
      border:1px solid var(--line);
      border-radius:30px;
      padding:24px;
      background:rgba(255,255,255,.055);
    }
    .num{font-weight:950;font-size:2.4rem;line-height:1;letter-spacing:-.08em;color:rgba(255,255,255,.22)}
    .step h3{margin:0 0 8px;font-size:1.3rem}.step p{margin:0;color:var(--muted);line-height:1.65}

    .proof-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:18px;align-items:stretch}
    .stat-stack{display:grid;gap:18px}
    .stat{
      border:1px solid var(--line);
      border-radius:30px;
      padding:26px;
      background:linear-gradient(145deg, rgba(255,255,255,.1), rgba(255,255,255,.035));
    }
    .stat strong{display:block;font-size:clamp(2.6rem,5vw,5rem);line-height:.9;letter-spacing:-.08em}
    .stat span{display:block;margin-top:10px;color:var(--muted);font-weight:700}
    .case-board{
      border:1px solid var(--line);
      border-radius:34px;
      background:rgba(255,255,255,.055);
      padding:24px;
      display:grid;
      gap:16px;
    }
    .case-item{
      display:grid;
      grid-template-columns:1fr auto;
      gap:14px;
      align-items:center;
      padding:20px;
      border-radius:24px;
      background:rgba(8,9,18,.42);
      border:1px solid rgba(255,255,255,.1);
    }
    .case-item h3{margin:0 0 5px}.case-item p{margin:0;color:var(--muted);line-height:1.5}.case-item span{font-weight:900;color:var(--green)}

    .audience{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:18px;
    }
    .audience-card{
      border:1px solid var(--line);
      border-radius:34px;
      padding:30px;
      min-height:290px;
      background:
        linear-gradient(155deg, rgba(255,255,255,.105), rgba(255,255,255,.035)),
        radial-gradient(circle at 75% 15%, rgba(255,61,129,.2), transparent 38%);
    }
    .audience-card h3{font-size:1.55rem;margin:0 0 12px;letter-spacing:-.04em}.audience-card p{color:var(--muted);line-height:1.65;margin:0}.audience-card ul{padding:0;margin:22px 0 0;list-style:none;display:grid;gap:10px;color:var(--muted)}.audience-card li::before{content:"✦";color:var(--accent3);margin-right:8px}

    .cta-section{padding:112px 0}
    .cta-panel{
      position:relative;
      overflow:hidden;
      border:1px solid var(--line);
      border-radius:42px;
      background:
        radial-gradient(circle at 15% 20%, rgba(255,61,129,.28), transparent 34%),
        radial-gradient(circle at 85% 15%, rgba(0,229,255,.22), transparent 36%),
        linear-gradient(145deg, rgba(255,255,255,.14), rgba(255,255,255,.045));
      padding:52px;
      box-shadow:var(--shadow);
    }
    .cta-panel h2{max-width:920px}.cta-panel p{max-width:760px;color:var(--muted);line-height:1.72;font-size:1.1rem}
    .contact-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:22px;margin-top:34px;align-items:start}
    .contact-info{display:grid;gap:14px}
    .contact-line{border:1px solid var(--line);border-radius:22px;padding:18px;background:rgba(8,9,18,.35);color:var(--muted)}
    .contact-line b{display:block;color:white;margin-bottom:4px}
    form{display:grid;gap:12px}
    .form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
    input,textarea{
      width:100%;
      border:1px solid rgba(255,255,255,.16);
      border-radius:18px;
      background:rgba(8,9,18,.52);
      color:white;
      padding:15px 16px;
      outline:none;
    }
    textarea{min-height:132px;resize:vertical}
    input:focus,textarea:focus{border-color:rgba(0,229,255,.55);box-shadow:0 0 0 4px rgba(0,229,255,.08)}
    .small-note{color:var(--soft);font-size:.86rem;line-height:1.5}

    footer{border-top:1px solid var(--line);padding:28px 0;color:var(--soft)}
    .footer-inner{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}

    .reveal{opacity:0;transform:translateY(28px);transition:opacity .72s ease, transform .72s ease}.reveal.is-visible{opacity:1;transform:none}
    .magnetic{will-change:transform}

    @media (max-width:1280px){
      h1{font-size:clamp(2.9rem, 6.25vw, 6.05rem);line-height:.98;letter-spacing:-.072em}
      .hero-grid{grid-template-columns:minmax(0, 1.08fr) minmax(380px, .92fr)}
    }
    @media (max-width:1120px){
      h1{font-size:clamp(2.85rem, 6.7vw, 5.65rem)}
      .hero-grid{grid-template-columns:minmax(0, 1fr) minmax(340px, .82fr);gap:32px}
    }
    @media (max-width:1040px){
      .hero{min-height:auto;align-items:start}
      .hero-grid,.split,.proof-grid,.contact-grid{grid-template-columns:1fr}
      .visual-panel{max-width:650px;margin-inline:auto;width:100%}
      h1{font-size:clamp(3.1rem, 10.2vw, 6.2rem);max-width:980px}
      .cards{grid-template-columns:repeat(2,1fr)}
      .audience{grid-template-columns:1fr}
      .dashboard{transform:none}
      .floating-badge{right:12px}.floating-badge.bottom{left:12px}
    }
    @media (max-width:760px){
      .wrap{width:min(100% - 28px, var(--max))}
      .menu{position:fixed;left:14px;right:14px;top:74px;padding:18px;border:1px solid var(--line);border-radius:24px;background:rgba(8,9,18,.92);backdrop-filter:blur(18px);display:none;flex-direction:column;align-items:flex-start}.menu.is-open{display:flex}.menu .cta{width:100%}
      .mobile-toggle{display:inline-flex}
      .brand-logo{width:min(58vw, 220px)}
      .nav > .cta{display:none}
      .hero{padding-top:112px;padding-bottom:54px}.hero-grid{gap:30px}h1{font-size:clamp(2.7rem, 15.2vw, 4.85rem);line-height:1;letter-spacing:-.065em;padding-bottom:.1em}
      .hero-actions{display:grid}.hero-actions a{width:100%}
      .dashboard{min-height:auto}.mini-grid,.form-row{grid-template-columns:1fr}.cards{grid-template-columns:1fr}.section-head{display:grid}section{padding:74px 0}.cta-panel{padding:28px;border-radius:30px}.step{grid-template-columns:1fr}.num{font-size:1.4rem}.case-item{grid-template-columns:1fr}.floating-badge{display:none}
    }
    @media (max-width:390px){
      h1{font-size:clamp(2.35rem, 14vw, 3.35rem);letter-spacing:-.055em}
      .eyebrow{font-size:.88rem;padding:9px 11px}
    }
    @media (prefers-reduced-motion: reduce){
      *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
      .reveal{opacity:1;transform:none}
    }
  

/* SEO/UX utility helpers */
:focus-visible{outline:3px solid rgba(0,229,255,.65); outline-offset:4px}
::selection{background:rgba(0,229,255,.28); color:#fff}
@media print{
  body{background:#fff!important;color:#111!important}
  .site-header,.orb,.noise,#particleCanvas,.hero-actions,.visual-panel{display:none!important}
  section{padding:28px 0!important}
  a{color:#111!important;text-decoration:underline}
}

/* === Legal pages, privacy controls and production contact form === */
.footer-inner a,
.footer-link{
  color:var(--text);
  text-decoration:none;
  border:0;
  background:none;
  padding:0;
  cursor:pointer;
}
.footer-inner a:hover,
.footer-link:hover{color:var(--accent3)}

.privacy-check{
  display:flex;
  align-items:flex-start;
  gap:10px;
  color:var(--muted);
  line-height:1.5;
  font-size:.92rem;
}
.privacy-check input{width:auto;min-width:18px;margin-top:3px;accent-color:var(--accent)}
.privacy-check a{color:var(--accent3);text-decoration:underline;text-underline-offset:3px}
.hp-field{position:absolute!important;left:-9999px!important;opacity:0!important;height:0!important;width:0!important;padding:0!important;border:0!important}
.recaptcha-note{margin:0;color:var(--soft);font-size:.68rem!important;line-height:1.55}
.recaptcha-note a{text-decoration:underline;text-underline-offset:3px}
.form-status{display:none;border:1px solid var(--line);border-radius:18px;padding:13px 15px;line-height:1.45;font-weight:700}
.form-status.is-visible{display:block}
.form-status.is-success{border-color:rgba(47,255,168,.45);background:rgba(47,255,168,.1);color:#d9ffef}
.form-status.is-error{border-color:rgba(255,61,129,.55);background:rgba(255,61,129,.11);color:#ffe6ee}
.contact-form .cta[disabled]{opacity:.62;cursor:not-allowed;transform:none;box-shadow:none}

.cookie-banner{
  position:fixed;
  inset:auto 20px 20px 20px;
  z-index:100;
  display:flex;
  justify-content:center;
  pointer-events:none;
}
.cookie-banner[hidden]{display:none}
.cookie-card{
  width:min(920px, 100%);
  pointer-events:auto;
  position:relative;
  border:1px solid rgba(255,255,255,.18);
  border-radius:28px;
  background:rgba(8,9,18,.90);
  box-shadow:0 24px 90px rgba(0,0,0,.54);
  backdrop-filter:blur(22px);
  padding:26px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:20px;
}
.cookie-copy h2{font-size:clamp(1.55rem,3vw,2.35rem);margin:8px 0 8px;letter-spacing:-.05em}
.cookie-copy p{margin:0;color:var(--muted);line-height:1.62;max-width:650px}
.cookie-close{position:absolute;right:16px;top:12px;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.06);color:var(--text);font-size:1.4rem;cursor:pointer}
.cookie-actions{display:flex;align-items:end;justify-content:flex-end;gap:10px;flex-wrap:wrap;padding-top:34px}
.cookie-actions .cta,.cookie-actions .ghost{padding:13px 18px}
.cookie-preferences{grid-column:1/-1;display:grid;gap:10px;margin-top:-4px}
.cookie-preferences[hidden]{display:none}
.cookie-option{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.045);padding:14px;color:var(--muted)}
.cookie-option input{width:auto;min-width:18px;margin-top:4px;accent-color:var(--accent)}
.cookie-option b{display:block;color:var(--text);margin-bottom:2px}.cookie-option small{display:block;line-height:1.45}.cookie-option.is-disabled{opacity:.8}

.legal-main{padding:138px 0 80px}
.legal-hero{max-width:900px;margin-bottom:36px}.legal-hero h1{font-size:clamp(2.4rem,8vw,6.4rem);line-height:.95;letter-spacing:-.075em;margin:0 0 18px}.legal-hero p{color:var(--muted);font-size:1.1rem;line-height:1.75;margin:0}
.legal-layout{display:grid;grid-template-columns:280px minmax(0, 1fr);gap:28px;align-items:start}
.legal-nav{position:sticky;top:96px;border:1px solid var(--line);border-radius:24px;padding:18px;background:rgba(255,255,255,.055);display:grid;gap:8px}
.legal-nav a{color:var(--muted);padding:9px 10px;border-radius:12px}.legal-nav a:hover{background:rgba(255,255,255,.06);color:var(--text)}
.legal-content{border:1px solid var(--line);border-radius:34px;padding:clamp(24px,4vw,44px);background:rgba(255,255,255,.055);box-shadow:var(--shadow)}
.legal-content section{padding:0;margin:0 0 34px}.legal-content section:last-child{margin-bottom:0}.legal-content h2{font-size:clamp(1.55rem,3vw,2.45rem);letter-spacing:-.05em;margin:0 0 12px}.legal-content h3{margin:22px 0 8px}.legal-content p,.legal-content li{color:var(--muted);line-height:1.75}.legal-content a{color:var(--accent3);text-decoration:underline;text-underline-offset:3px}.legal-content ul{padding-left:22px}.legal-note{border:1px solid rgba(0,229,255,.25);border-radius:20px;background:rgba(0,229,255,.07);padding:16px;margin:18px 0;color:var(--muted)}
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:22px;margin:16px 0;background:rgba(8,9,18,.3)}
.legal-table{width:100%;border-collapse:collapse;min-width:720px}.legal-table th,.legal-table td{text-align:left;vertical-align:top;padding:14px;border-bottom:1px solid var(--line);color:var(--muted);line-height:1.55}.legal-table th{color:var(--text);background:rgba(255,255,255,.055)}.legal-table tr:last-child td{border-bottom:0}

@media (max-width:900px){
  .cookie-card{grid-template-columns:1fr;padding:22px}.cookie-actions{justify-content:flex-start;padding-top:0}.cookie-actions .cta,.cookie-actions .ghost{width:100%}
  .legal-layout{grid-template-columns:1fr}.legal-nav{position:relative;top:auto}.legal-main{padding-top:118px}
}
