    @font-face {
       font-family: 'din-2014';
        src: url('/assets/fonts/din-2014.otf') format('opentype');
         font-weight: 400;
         font-style: normal;
      }
    /* ===================== THEME ===================== */
    :root{
      --bg:#0b0b0b;
      --text:#f5f5f5;
      --muted:#cfcfcf;
      --line: rgba(241,241,241,.14);
      --accent:#f50000;      /* rosso primario */
      --accent-2:#ff0000;    /* hover rosso */
      --panel:#ff0000;       /* pannello menu */
      --panel2: #ffffff;
      --panelText: #111111;
      --hover-gray:rgba(255, 255, 255, 0.651);
      --overlay-grad:linear-gradient(90deg, rgba(0,0,0,.3) 0%, rgba(0,0,0,.15) 40%, rgba(0,0,0,.1) 60%, rgba(0, 0, 0, 0.3) 100%);  /* overlay video home */
      --header-h:100px;
      --header-h-mobile:64px;
      --radius:14px;
      --max: 1200px;
      --pad: clamp(18px, 4vw, 56px);
    }

    *{box-sizing:border-box;margin:0;padding:0}
    html,body{height:100%}
    body{
      margin:0; background:var(--bg); color:var(--text);
      font-family:'din-2014', sans-serif;background:#000000;color:#fff;
    }
    .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

    .btn{ --ring:rgba(245,172,0,.35); appearance:none; border:none; cursor:pointer; font-weight:700; letter-spacing:.02em; padding:14px 18px; border-radius:12px; transition:transform .15s ease, box-shadow .15s ease, background .2s ease, color .2s ease }
    .btn-primary{ background:var(--accent); color:#ffffff }
    .btn-primary:hover{ background:var(--accent-2); box-shadow:0 10px 30px var(--ring) }
    .btn-ghost{ background:transparent; color:var(--text); border:1px solid rgba(255,255,255,.22) }
    .btn-ghost:hover{ background:rgba(255,255,255,.06) }