:root{
      --navy-950:#070d1d; --navy-900:#0b1d3b;
      --brand-azure:#00a6e0; --sky-400:#5fd3ff;
      --gray-bg:#f5f7fb; --white:#fff; --text:#0f172a; --muted:#334155;
      --radius-xxl:24px; --radius-lg:18px;
      --shadow-soft:0 20px 40px rgba(20,34,70,.16), 0 8px 16px rgba(20,34,70,.10);
      --shadow-hover:0 28px 52px rgba(20,34,70,.20), 0 10px 22px rgba(20,34,70,.12);
      --container-w: min(1280px, 92%);
      --gap: clamp(16px, 2vw, 28px);
      --pad: clamp(18px, 2.4vw, 28px);

      /* Accent di default (prima selezione) */
      --accent-1:#00a6e0;
      --accent-2:#5fd3ff;
      --accent-ink:#0b1d3b;
      --accent-line: rgba(0,166,224,.55);
      --accent-line-strong: rgba(0,166,224,.95);
    }

    *{box-sizing:border-box}
    html,body{height:100%}
    body{
      margin:0;
      font-family:Inter, Roboto, system-ui, -apple-system, Segoe UI, Arial, sans-serif;
      color:var(--text);
      background:#fff;
      -webkit-font-smoothing:antialiased;
      text-rendering:optimizeLegibility;
    }
    a{text-decoration:none;color:inherit}
    img{max-width:100%;height:auto;display:block}
    .container{width:var(--container-w); margin-inline:auto}
    .band--white{background:#fff}
    .band--gray{background:var(--gray-bg)}
    .band--pad{padding: clamp(28px, 5.5vw, 68px) 0}
    h1,h2,h3{margin:0 0 .55rem}
    h1{font-weight:800; letter-spacing:-.01em}
    h2{font-weight:800;font-size:clamp(1.35rem,1.1vw+1rem,2rem); letter-spacing:-.01em}
    h3{font-weight:800; letter-spacing:-.015em}
    p{margin:0 0 1rem;color:var(--muted);font-weight:400}
    .eyebrow{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;opacity:.95}

    /* ---------- NAV sospeso ---------- */
    .nav-wrap{
      position:fixed; top:18px; left:50%; transform:translateX(-50%);
      width:min(1520px, 96%); z-index:100;
    }
    .nav{
      position:relative;
      z-index:1;
      height:80px; display:flex; align-items:center; justify-content:space-between; gap:1rem;
      padding:0 18px; color:#ffffff; border-radius:16px;
      backdrop-filter: blur(14px);
      box-shadow:none;
    }
    .brand{display:flex;align-items:center;gap:.6rem;font-weight:800;letter-spacing:-.01em}
    .brand-logo{
      height:55px;
      width:auto;
      opacity:0;
      animation: logoFade .6s ease-out .5s forwards;
    }
    .nav ul{display:flex;align-items:center;gap:1.6rem;list-style:none;margin:0;padding:0}
    .nav a{font-weight:600;font-size:1rem;opacity:.95;transition:color .15s, text-shadow .15s}
    .nav a:hover{opacity:1;color:#fff;text-shadow:0 0 14px rgba(255,255,255,.75)}
    #nav-toggle{display:none}
    .menu-btn{display:none;color:#fff;border:1px solid rgba(255,255,255,.55);padding:.5rem .7rem;border-radius:10px;cursor:pointer;font-weight:600}
    @media (max-width: 880px){
      .nav{height:auto; padding:10px}
      .nav ul{display:none;position:absolute;left:2%;right:2%;top:64px;background:rgba(13,25,54,.86);backdrop-filter:blur(10px);border-radius:12px;padding:14px}
      #nav-toggle:checked ~ ul{display:flex;flex-direction:column}
      .menu-btn{display:block}
    }
    .nav-wrap.nav-wrap--scrolled{
      top:0;
      left:0;
      transform:none;
      width:100%;
      background: linear-gradient(180deg, #090e2a 0%, #0a0d2a 35%, #0a0b24 100%);
    }
    .nav-wrap.nav-wrap--scrolled .nav{
      width:min(1520px, 96%);
      margin-inline:auto;
    }
    @keyframes logoFade{
      from{ opacity:0; transform:translateY(4px); }
      to{ opacity:1; transform:translateY(0); }
    }

    /* HERO */
    .hero-slim{
      position:relative; padding: clamp(110px, 20vw, 160px) 0 clamp(38px, 5vw, 56px);
      color:#fff; overflow:hidden;
      background:
        radial-gradient(80% 120% at 120% -20%, rgba(95,211,255,.22), transparent 55%),
        linear-gradient(90deg, #0a1330 0%, #0b1d3b 40%, #0a2a48 70%, #0a1330 100%),
        linear-gradient(180deg, #0a0f2d, #0b1d3b);
      border-bottom-left-radius: 50px;
    }
    .hero-inner{display:flex; align-items:flex-end; justify-content:space-between; gap:var(--gap)}
    .hero-title h1{font-size: clamp(1.6rem, 2.2vw + 1.2rem, 3rem); line-height:1.08}
    .hero-subtitle{
      margin-top:.6rem;
      font-size:clamp(1.05rem,.6vw+1rem,1.3rem);
      max-width:34rem;
      color:#e2f3ff;
    }
    .badge-chip{display:inline-flex; align-items:center; gap:.5rem; background:linear-gradient(135deg,rgba(0,166,224,.35),rgba(95,211,255,.35)); border:1px solid rgba(255,255,255,.32); color:#fff; padding:.4rem .7rem; border-radius:999px; font-weight:700; font-size:.86rem;}
    .btn-contrast{ background:#fff; color:#0b1d3b; border:2px solid #fff; border-radius:999px; font-weight:900; padding:.8rem 1.15rem; display:inline-flex; align-items:center; gap:.5rem; box-shadow:0 3px 10px rgba(0,0,0,.15);}
    .btn-contrast:hover{filter:brightness(.98); text-decoration:none}

    /* INTRO + BENEFITS */
    .intro{ margin-top: clamp(18px, 4vw, 28px); display:grid; grid-template-columns: 1.05fr .95fr; gap: var(--gap);}
    .intro .lead{font-size: clamp(1.05rem, .65vw + 1rem, 1.22rem); color:#122038}
    .intro-visual{
      border-radius: var(--radius-xxl);
      overflow: hidden;
      box-shadow: var(--shadow-soft);
      min-height: 240px;
      display:flex;
    }
    .intro-visual img{ width:100%; height:100%; object-fit:cover; }
    @media (max-width: 980px){ .intro{grid-template-columns:1fr;} }
    .benefits{margin-top: clamp(14px, 2.5vw, 22px); display:grid; grid-template-columns: 1fr; gap: 12px;}
    .benefit{ display:grid; grid-template-columns: 46px 1fr; gap:12px; align-items:center; background: #f7fbff; border:1px solid #e6f4ff; border-radius:14px; padding:12px 14px;}
    .benefit .num{ width:46px;height:46px;border-radius:12px;display:grid;place-items:center; background:linear-gradient(135deg,#00a6e0,#5fd3ff); color:#07223e; font-weight:900}
    .intro-cta{display:grid; place-items:center; margin-top: 16px;}
    .btn-brand{ background:linear-gradient(135deg,#00a6e0,#5fd3ff); color:#0b1d3b; border:0; border-radius:999px; font-weight:900; padding:.9rem 1.3rem; display:inline-flex; align-items:center; gap:.45rem; box-shadow:0 8px 20px rgba(0,166,224,.25);}
    .btn-brand:hover{filter:brightness(.98); text-decoration:none}

    /* ===== CARDS (uguali, leggibili) ===== */
    .cards{display:grid; grid-template-columns: 1fr; gap: var(--gap); align-items:stretch;}
    @media (min-width: 860px){ .cards{ grid-template-columns: repeat(3, 1fr); } }
    .card-soft{
      border-radius: var(--radius-xxl);
      overflow:hidden;
      box-shadow: var(--shadow-soft);
      background:#fff;
      height:100%;
      display:flex;
      flex-direction:column;
      min-height: 520px;
    }
    .card-soft .media{height: 220px; overflow:hidden; background:#0b1d3b;}
    .card-soft .media img{width:100%;height:100%;object-fit:cover;transform:scale(1.01)}
    .card-soft .copy{padding: var(--pad); display:flex; flex-direction:column; gap:.55rem; flex:1;}
    .card-soft h3{font-size: clamp(1.05rem, .6vw + 1rem, 1.32rem); line-height:1.15; color:var(--text); margin-bottom:.15rem;}
    .card-soft .summary{
      margin:0;
      color:var(--muted);
      font-weight:500;
      line-height:1.45;
      display:-webkit-box;
      -webkit-line-clamp: 3;
      -webkit-box-orient: vertical;
      overflow:hidden;
      min-height: calc(1.45em * 3);
    }
    .role-points{margin:.1rem 0 0; padding-left: 1.05rem; color:#22314d; font-weight:600; line-height:1.35;}
    .role-points li{margin:.25rem 0; font-weight:600; color:#22314d;}
    .card-soft .btn{font-weight:900; border-radius:999px; padding:.55rem 1rem; align-self:flex-start; margin-top:auto;}

    /* MERCATI */
    .markets-grid{display:grid; grid-template-columns:1fr; gap: var(--gap)}
    @media (min-width: 760px){ .markets-grid{ grid-template-columns: repeat(2,1fr); } }
    @media (min-width: 1100px){ .markets-grid{ grid-template-columns: repeat(4,1fr); } }
    .market{border-radius:18px; overflow:hidden; background:#fff; box-shadow:var(--shadow-soft); transition:transform .18s, box-shadow .18s;}
    .market:hover{ transform: translateY(-4px); box-shadow:var(--shadow-hover) }
    .market .thumb{height:160px; background:#000}
    .market .thumb img{width:100%;height:100%;object-fit:cover}
    .market .meta{padding:12px 14px; font-weight:800; color:#0f172a}
    .market .meta p{margin:.35rem 0 0; font-weight:600; color:var(--muted);}

    /* ===== BLOCCO SCELTA (prima del form) ===== */
    .choice-wrap{ width:100%; margin: 0 0 16px; }
    .choice-head{ text-align:center; margin-bottom:10px; }
    .choice-head h2{ margin-bottom:.25rem; }
    .choice-head p{ margin:0; color:#334155; font-weight:600; }
    .choice-grid{ display:grid; grid-template-columns: 1fr; gap: 12px; }
    @media (min-width: 820px){ .choice-grid{ grid-template-columns: repeat(2, 1fr); } }
    .choice-card{
      border-radius: 20px;
      background: #fff;
      border: 1px solid rgba(11,29,59,.10);
      box-shadow: 0 10px 22px rgba(20,34,70,.08);
      padding: 14px 14px 12px;
      display:flex;
      align-items:flex-start;
      gap: 12px;
      cursor:pointer;
      transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
      user-select:none;
    }
    .choice-card:hover{
      transform: translateY(-2px);
      box-shadow: 0 16px 34px rgba(20,34,70,.12);
      border-color: rgba(0,166,224,.25);
    }
    .choice-card.is-active[data-mode="candidatura"]{
      border-color: rgba(0,166,224,.6);
      box-shadow: 0 18px 46px rgba(0,166,224,.18);
      outline: 3px solid rgba(95,211,255,.22);
    }
    .choice-card.is-active[data-mode="partnership"]{
      border-color: rgba(124,58,237,.55);
      box-shadow: 0 18px 46px rgba(124,58,237,.16);
      outline: 3px solid rgba(236,72,153,.18);
    }
    .choice-ic{
      width:46px; height:46px; border-radius: 14px;
      display:grid; place-items:center;
      background: linear-gradient(135deg, rgba(0,166,224,.18), rgba(95,211,255,.24));
      border: 1px solid rgba(0,166,224,.22);
      flex:0 0 auto;
      font-weight:900;
      color:#0b1d3b;
    }
    .choice-card.is-active[data-mode="partnership"] .choice-ic{
      background: linear-gradient(135deg, rgba(124,58,237,.14), rgba(236,72,153,.14));
      border-color: rgba(124,58,237,.22);
      color:#2b164f;
    }
    .choice-txt h3{ margin:0 0 .15rem; font-size:1.05rem; }
    .choice-txt p{ margin:0; font-weight:650; color:#334155; line-height:1.35; }

    .form-shell{ display:none; width:100%; }
    .form-shell.is-visible{ display:block; }

    /* ==============================
       FORM STAGE (sfumature/ombre) - COSTANTE
       Il bianco del form resta bianco: differenze solo su label/underline/bottone.
       ============================== */
    .form-stage{
      position:relative;
      border-radius: 34px;
      padding: clamp(12px, 1.8vw, 18px);
      overflow:hidden;
      background:
        radial-gradient(70% 120% at 20% 0%, rgba(95,211,255,.22), transparent 60%),
        radial-gradient(60% 120% at 90% 25%, rgba(0,166,224,.14), transparent 62%),
        linear-gradient(180deg, rgba(255,255,255,.75), rgba(255,255,255,.46));
      border: 1px solid rgba(255,255,255,.65);
      box-shadow:
        0 34px 80px rgba(15,23,42,.14),
        0 10px 26px rgba(15,23,42,.08);
      backdrop-filter: blur(10px);
    }
    .form-stage::before{
      content:"";
      position:absolute;
      inset:-80px -80px auto -80px;
      height:260px;
      background: radial-gradient(closest-side, rgba(95,211,255,.55), transparent 72%);
      filter: blur(12px);
      opacity:.34;
      transform: rotate(-6deg);
      pointer-events:none;
    }
    .form-stage::after{
      content:"";
      position:absolute;
      inset:auto -120px -120px auto;
      width:420px; height:420px;
      background: radial-gradient(closest-side, rgba(0,166,224,.30), transparent 70%);
      filter: blur(14px);
      opacity:.14;
      pointer-events:none;
    }

    /* THEME: SOLO ACCENT (label/linea/bottone) */
    .theme-candidatura{
      --accent-1:#00a6e0;
      --accent-2:#5fd3ff;
      --accent-ink:#0b1d3b;
      --accent-line: rgba(0,166,224,.55);
      --accent-line-strong: rgba(0,166,224,.95);
    }
    .theme-partnership{
      --accent-1:#7c3aed;
      --accent-2:#ec4899;
      --accent-ink:#2b164f;
      --accent-line: rgba(124,58,237,.50);
      --accent-line-strong: rgba(124,58,237,.92);
    }

    /* FORM CARD: BIANCO (sempre) */
    .cta-form{
      position:relative;
      width:100%;
      background: #fff;
      border-radius: 28px;
      border: 1px solid rgba(15,23,42,.08);
      box-shadow:
        0 18px 55px rgba(15,23,42,.10),
        inset 0 1px 0 rgba(255,255,255,.9);
      overflow:hidden;
    }
    /* decorazione neutra, non legata al tema */
    .cta-form::before{
      content:"";
      position:absolute;
      inset:0;
      background:
        radial-gradient(70% 120% at 50% -15%, rgba(148,163,184,.10), transparent 60%),
        radial-gradient(50% 120% at 110% 10%, rgba(95,211,255,.10), transparent 65%);
      pointer-events:none;
    }

    .cta-form .header{
      position:relative;
      text-align:center;
      padding: clamp(18px, 2.2vw, 30px) clamp(16px, 2.2vw, 34px) 14px;
      background: transparent;
    }
    .cta-form .header h2{
      margin:0;
      font-weight:900;
      letter-spacing:-.02em;
      font-size: clamp(1.55rem, 1.2vw + 1.25rem, 2.25rem);
      color:#0f172a;
    }
    .cta-form .header p{
      margin:.45rem 0 0;
      color:#64748b;
      font-weight:650;
      padding-inline: 6px;
    }
    .cta-form .divider{
      height:1px;
      background: linear-gradient(90deg, transparent, rgba(15,23,42,.10), transparent);
      position:relative;
    }

    /* GRID: desktop 2 colonne, mobile 1 colonna CENTRATA */
    .form-grid{
      position:relative;
      display:grid;
      grid-template-columns: 1fr;
      max-width: 1120px;
      margin: 0 auto;
      padding: clamp(14px, 2vw, 22px) clamp(16px, 2.6vw, 40px) clamp(18px, 2.6vw, 34px);
      row-gap: 14px;
      column-gap: clamp(14px, 2vw, 44px);
      align-items:start;
      justify-items:stretch;
    }
    /* Neutralizza Bootstrap .col-6 / .col-12 (mobile) */
    .form-grid > .col-6,
    .form-grid > .col-12{
      width:auto !important;
      max-width:none !important;
      flex: initial !important;
    }
    @media (min-width: 900px){
      .form-grid{ grid-template-columns: repeat(12,1fr); }
      .col-6{ grid-column: span 6 }
      .col-12{ grid-column: span 12 }
    }
    @media (max-width: 899px){
      .form-grid{
        max-width: 680px;
        padding-inline: 18px;
      }
      .col-6, .col-12{ grid-column: span 1 !important; }
    }
    @media (max-width: 420px){
      .form-grid{ padding-inline: 14px; }
    }

    .field-block{ width:100%; padding-top: 2px; }

    /* LABEL: cambia per tema */
    .form-label{
      display:block;
      margin:0 0 7px;
      font-weight:900;
      font-size: .76rem;
      letter-spacing: .14em;
      text-transform: uppercase;
      color: var(--accent-ink);
      opacity: .90;
      line-height:1.2;
      white-space: normal;
    }
    @media (max-width: 520px){
      .form-label{ letter-spacing:.10em; }
    }
    .req{ color: var(--accent-1); font-weight:900; margin-left:2px; }

    /* INPUT: linea cambia per tema */
    .form-control,
    .form-select{
      width:100%;
      border:0 !important;
      border-bottom: 2px solid var(--accent-line) !important;
      border-radius:0 !important;
      background: transparent !important;
      padding: .5rem 0 .7rem !important;
      min-height: 42px;
      font-size: 1rem;
      font-weight:650;
      color:#0f172a;
      box-shadow:none !important;
      outline:0 !important;
      transition: border-color .16s ease;
    }
    .form-control::placeholder,
    textarea.form-control::placeholder{
      color:#94a3b8;
      font-weight:650;
    }
    .form-control:focus,
    .form-select:focus{
      border-bottom-color: var(--accent-line-strong) !important;
      box-shadow:none !important;
    }

    textarea.form-control{
      border:0 !important;
      border-bottom: 2px solid var(--accent-line) !important;
      border-radius:0 !important;
      padding: .55rem 0 .85rem !important;
      min-height: 150px;
      resize: vertical;
      font-weight:650;
    }
    textarea.form-control:focus{
      border-bottom-color: var(--accent-line-strong) !important;
    }

    /* File: neutro (come richiesto: differenze non qui) */
    input[type="file"].form-control{
      border: 1px solid rgba(15,23,42,.10) !important;
      border-radius: 16px !important;
      background:#fff !important;
      padding: .55rem .8rem !important;
      min-height:auto;
      font-weight:650;
    }

    .cv-help{
      font-size:.82rem;
      color:#94a3b8;
      margin-top:6px;
      display:block;
      line-height:1.35;
      font-weight:650;
    }

    /* Validazione */
    .was-validated .form-control:invalid,
    .was-validated .form-select:invalid{
      border-bottom-color: #dc3545 !important;
    }
    .was-validated .form-control:valid,
    .was-validated .form-select:valid{
      border-bottom-color: #198754 !important;
    }

    /* Consensi (neutro) */
    .consensi{
      margin-top: 6px;
      background: rgba(248,250,252,.92);
      border: 1px solid rgba(15,23,42,.08);
      border-radius: 18px;
      padding: 12px 14px;
      color:#0f172a;
      font-size:.9rem;
      box-shadow: inset 0 1px 0 rgba(255,255,255,.85);
    }
    .consensi-top{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      margin-bottom:10px;
      flex-wrap:wrap;
    }
    .consensi-title{ font-weight:900; letter-spacing:-.01em; }
    .btn-authorize{
      border:1px solid rgba(15,23,42,.10);
      background: linear-gradient(135deg, rgba(255,255,255,.9), rgba(255,255,255,.65));
      color:#0f172a;
      font-weight:900;
      border-radius:999px;
      padding:.46rem .95rem;
      font-size:.82rem;
      letter-spacing:.06em;
      cursor:pointer;
      transition: filter .12s ease, transform .12s ease, box-shadow .12s ease, border-color .12s ease;
      white-space:nowrap;
      box-shadow: 0 10px 22px rgba(15,23,42,.08);
    }
    .btn-authorize:hover{
      border-color: rgba(0,0,0,.08);
      filter:brightness(.99);
      transform: translateY(-1px);
      box-shadow: 0 14px 28px rgba(15,23,42,.10);
    }
    .consensi .form-check{ margin-bottom:.4rem; }
    .consensi .form-check-label{ font-weight:650; color:#0f172a; line-height:1.35; }
    .consensi a{ color:#0a4ea3; text-decoration:underline; text-underline-offset:3px; }

    /* CTA: bottone cambia per tema */
    .form-actions{
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      margin-top: 10px;
      gap: 10px;
    }
    .btn-brand-solid{
      background: linear-gradient(135deg, var(--accent-1), var(--accent-2));
      color:#fff;
      border:0;
      border-radius:999px;
      font-weight:900;
      padding: 1.05rem 2.4rem;
      font-size: .78rem;
      letter-spacing: .20em;
      text-transform: uppercase;
      min-width: 240px;
      box-shadow:
        0 22px 55px rgba(15,23,42,.12),
        0 10px 22px rgba(15,23,42,.08);
    }
    .btn-brand-solid:hover{ filter:brightness(.98); }
    #form-status{ font-size:.92rem; text-align:center; padding-inline: 10px; }

    @media (max-width: 600px){
      .consensi-top{ flex-direction:column; align-items:stretch; }
      .btn-authorize{ width:100%; text-align:center; }
      .btn-brand-solid{
        width:100%;
        min-width: 0;
        font-size: .74rem;
        letter-spacing: .16em;
        padding: .95rem 1.2rem;
      }
    }

    /* FOOTER */
    footer{margin-top: clamp(32px, 6vw, 64px); color:#fff; background:linear-gradient(180deg,#0d1a31,#0a1222)}
    .f-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:20px;padding: clamp(24px, 3vw, 40px) 0}
    .f-col{grid-column:span 4}
    .f-col a{display:block;opacity:.9;margin:.35rem 0;font-weight:600}
    .f-brand{grid-column:span 12;border-top:1px solid rgba(255,255,255,.12);padding-top:16px;margin-top:6px;font-size:.92rem;opacity:.95}
    @media (max-width: 980px){ .f-col{grid-column:span 6} }
    @media (max-width: 600px){ .f-col{grid-column:span 12} }
/* Footer landing layout */
.footer-landing .f-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.footer-landing .f-col{grid-column:auto;}
.footer-landing .f-col:last-of-type{justify-self:end;text-align:right;}
@media (max-width: 600px){
  .footer-landing .f-grid{grid-template-columns:1fr;}
  .footer-landing .f-col{justify-self:start;text-align:left;}
}

@media (max-width: 640px) {
  .f-certifications h4,
  .footer-certifications h4 {
    text-align: center;
    width: 100%;
  }
  .f-certifications .cert-logos,
  .footer-certifications {
    flex-direction: column;
    align-items: center;
  }
  .f-certifications .cert-logo-slot,
  .footer-certifications .cert-logo-slot {
    width: 200px;
    max-width: 100%;
    justify-content: center;
  }
  .f-certifications .cert-project,
  .footer-certifications .cert-project {
    margin-left: 0 !important;
    width: 100%;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    text-align: center;
  }
  .f-certifications .cert-project > div:last-child,
  .footer-certifications .cert-project > div:last-child {
    width: 100% !important;
    max-width: 220px;
    height: auto !important;
    padding: 6px;
  }
  .f-certifications .cert-project img,
  .footer-certifications .cert-project img {
    max-width: 100%;
    height: auto !important;
  }
}

.cookie-fab{ position:fixed; bottom:max(16px,env(safe-area-inset-bottom)); left:max(16px,env(safe-area-inset-left)); right:auto; z-index:9999; display:inline-flex; align-items:center; justify-content:center; width:56px; height:56px; border-radius:999px; border:1px solid rgba(15,23,42,.08); background:#fff; box-shadow:0 8px 24px rgba(2,6,23,.12); color:#0f172a; cursor:pointer; transition:transform .15s ease, box-shadow .2s ease, background .2s ease }
.cookie-fab:hover{ transform:translateY(-1px); box-shadow:0 12px 28px rgba(2,6,23,.16) }
.cookie-fab:active{ transform:translateY(0) }
.cookie-fab:focus-visible{ outline:2px solid #93c5fd; outline-offset:3px }
.cookie-fab .hint{ position:absolute; left:66px; bottom:50%; transform:translateY(50%); background:#0b1f36; color:#fff; padding:6px 10px; border-radius:10px; font-size:.8rem; white-space:nowrap; box-shadow:0 6px 20px rgba(0,0,0,.2); opacity:0; pointer-events:none; transition:opacity .2s ease }
.cookie-fab:hover .hint{ opacity:.95 }
@media (max-width:640px){ .cookie-fab{ width:52px; height:52px; bottom:12px; left:12px } .cookie-fab .hint{ display:none } }