 *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
    :root {
      --gold: #d4af37; --gold-dim: rgba(212,175,55,0.35);
      --dark: #0a0a0a; --white: #ffffff; --white-dim: rgba(255,255,255,0.6);
    }
    html, body { overflow-x: hidden; background: var(--dark); font-family: 'Georgia', serif; }


    .page-hero {
      height: 55vh; position: relative;
      display: flex; flex-direction: column; align-items: center; justify-content: flex-end; padding-bottom: 80px;
      background: linear-gradient(160deg, #0a0a0a 0%, #1a1a2e 60%, #0a0a18 100%); overflow: hidden;
    }
    .page-hero::before { content:''; position:absolute; inset:0; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E"); pointer-events:none; opacity:0.4; z-index:0; }
    .page-eyebrow { position:relative; z-index:1; font-size:10px; letter-spacing:6px; text-transform:uppercase; color:var(--gold); margin-bottom:18px; opacity:0; }
    .page-title { position:relative; z-index:1; font-family:"Times New Roman", serif; font-size:clamp(48px,8vw,110px); color:var(--white); letter-spacing:6px; text-transform:uppercase; text-align:center; opacity:0; transform:translateY(40px); }

    /* FAQs LAYOUT */
    .fac-section { background: #07070f; padding: 100px 0; }
    .fac-header { padding: 0 60px; margin-bottom: 80px; opacity: 0; transform: translateY(30px); }
    .fac-header p { font-size: 14px; line-height: 1.9; color: var(--white-dim); max-width: 520px; }

    .fac-list { display: flex; flex-direction: column; gap: 2px; }
    .fac-item {
      display: grid; grid-template-columns: 1fr 1fr;
      min-height: 380px; overflow: hidden;
      opacity: 0; transform: translateY(50px);
    }
    .fac-item:nth-child(even) { direction: rtl; }
    .fac-item:nth-child(even) > * { direction: ltr; }

    .fac-img {
      position: relative; overflow: hidden;
      background-size: cover; background-position: center;
    }
    .fac-item:nth-child(1) .fac-img { background-image: url('./images/slide1.jpg'); }
    .fac-item:nth-child(2) .fac-img { background-image: url('./images/slide2.jpg'); }
    .fac-item:nth-child(3) .fac-img { background-image: url('./images/slide1.jpg'); background-position: 40% center; }
    .fac-item:nth-child(4) .fac-img { background-image: url('./images/slide2.jpg'); background-position: 60% center; }
    .fac-img-inner {
      position: absolute; inset: 0;
      background-size: cover; background-position: inherit;
      transition: transform 0.9s ease;
    }
    .fac-item:hover .fac-img-inner { transform: scale(1.06); }

    .fac-content {
      background: #0d0d18; display: flex; flex-direction: column;
      justify-content: center; padding: 60px 60px;
    }
    .fac-num { font-family:"Times New Roman",serif; font-size: 80px; color: rgba(255,255,255,0.03); line-height:1; margin-bottom:-20px; }
    .fac-tag { font-size: 9px; letter-spacing: 5px; text-transform: uppercase; color: var(--gold); margin-bottom: 16px; }
    .fac-name { font-family: "Times New Roman", serif; font-size: clamp(26px, 3vw, 42px); color: var(--white); letter-spacing: 2px; line-height: 1.2; margin-bottom: 20px; }
    .fac-desc { font-size: 13px; line-height: 1.9; color: var(--white-dim); max-width: 360px; }
    .fac-features { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
    .fac-feat-tag { padding: 5px 14px; border: 1px solid var(--gold-dim); font-size: 9px; letter-spacing: 2px; text-transform: uppercase; color: var(--gold); }

    @media (max-width: 768px) { .fac-item { grid-template-columns: 1fr; } .fac-item:nth-child(even) { direction: ltr; } }
  
    /* ═══════════════════════════════════════
       COOKIE BANNER + MODAL PREFERENZE
    ═══════════════════════════════════════ */
    .cookie-banner {
      position:fixed; bottom:0; left:0; right:0; z-index:9000;
      padding:20px 32px; background:rgba(8,8,18,0.95);
      border-top:1px solid var(--gold-dim); backdrop-filter:blur(20px);
      -webkit-backdrop-filter:blur(20px);
      transform:translateY(100%);
      transition:transform 0.6s cubic-bezier(0.22,1,0.36,1);
    }
    .cookie-banner.visible { transform:translateY(0); }
    .cookie-inner {
      max-width:1100px; margin:0 auto;
      display:flex; align-items:center; justify-content:space-between;
      gap:32px; flex-wrap:wrap;
    }
    .cookie-text-wrap { flex:1; min-width:200px; }
    .cookie-title {
      font-family:"Times New Roman",serif; font-size:15px;
      letter-spacing:3px; color:var(--white); text-transform:uppercase; margin-bottom:6px;
    }
    .cookie-body {
      font-size:12px; color:var(--white-dim);
      letter-spacing:0.5px; line-height:1.8; max-width:580px;
    }
    .cookie-body a { color:var(--gold); text-decoration:none; }
    .cookie-body a:hover { text-decoration:underline; }
    .cookie-actions { display:flex; gap:10px; flex-shrink:0; flex-wrap:wrap; }
    .cookie-btn {
      padding:11px 22px; border-radius:9999px;
      font-size:10px; letter-spacing:3px; text-transform:uppercase;
      font-family:'Georgia',serif; cursor:pointer;
      transition:background 0.3s, border-color 0.3s, color 0.3s;
    }
    .cookie-decline {
      background:transparent; border:1px solid rgba(255,255,255,0.2); color:var(--white-dim);
    }
    .cookie-decline:hover { border-color:var(--white); color:var(--white); }
    .cookie-customize {
      background:transparent; border:1px solid var(--gold-dim); color:var(--gold);
    }
    .cookie-customize:hover { border-color:var(--gold); background:rgba(212,175,55,0.06); }
    .cookie-accept {
      background:var(--gold); border:1px solid var(--gold); color:#0a0a0a; font-weight:bold;
    }
    .cookie-accept:hover { background:#e8c84a; border-color:#e8c84a; }
    /* ── MODAL ── */
    .cookie-modal-overlay {
      position:fixed; inset:0; z-index:9100; background:rgba(0,0,0,0.85);
      backdrop-filter:blur(10px); opacity:0; pointer-events:none;
      transition:opacity 0.35s; display:flex; align-items:center;
      justify-content:center; padding:20px;
    }
    .cookie-modal-overlay.open { opacity:1; pointer-events:auto; }
    .cookie-modal {
      background:#0d0d18; border:1px solid var(--gold-dim); border-top:2px solid var(--gold);
      max-width:540px; width:100%;
      transform:translateY(30px); transition:transform 0.4s cubic-bezier(0.22,1,0.36,1);
    }
    .cookie-modal-overlay.open .cookie-modal { transform:translateY(0); }
    .cookie-modal-head { padding:24px 28px 18px; border-bottom:1px solid rgba(255,255,255,0.06); }
    .cookie-modal-head h3 { font-family:"Times New Roman",serif; font-size:20px; letter-spacing:3px; text-transform:uppercase; color:var(--white); margin-bottom:6px; }
    .cookie-modal-head p { font-size:12px; color:var(--white-dim); line-height:1.7; }
    .cookie-modal-body { padding:16px 28px; display:grid; gap:0; }
    .pref-row { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:14px 0; border-bottom:1px solid rgba(255,255,255,0.05); }
    .pref-row:last-child { border-bottom:none; }
    .pref-label strong { display:block; font-size:11px; letter-spacing:2px; text-transform:uppercase; color:var(--white); font-weight:normal; margin-bottom:4px; }
    .pref-label span { font-size:11px; color:var(--white-dim); line-height:1.65; display:block; max-width:340px; }
    .toggle { position:relative; flex-shrink:0; width:44px; height:24px; }
    .toggle input { opacity:0; width:0; height:0; position:absolute; }
    .toggle-track { position:absolute; inset:0; background:rgba(255,255,255,0.12); border:1px solid rgba(255,255,255,0.1); border-radius:12px; cursor:pointer; transition:background 0.3s, border-color 0.3s; }
    .toggle input:checked ~ .toggle-track { background:var(--gold); border-color:var(--gold); }
    .toggle-thumb { position:absolute; left:3px; top:3px; width:16px; height:16px; background:#fff; border-radius:50%; transition:left 0.3s; pointer-events:none; }
    .toggle input:checked ~ .toggle-track .toggle-thumb { left:23px; }
    .toggle.disabled .toggle-track { opacity:0.4; cursor:not-allowed; }
    .cookie-modal-foot { padding:16px 28px 24px; display:flex; gap:10px; justify-content:flex-end; flex-wrap:wrap; }
    .modal-btn-all { padding:11px 24px; border-radius:9999px; font-size:10px; letter-spacing:3px; text-transform:uppercase; font-family:'Georgia',serif; cursor:pointer; background:transparent; border:1px solid var(--gold-dim); color:var(--gold); transition:border-color 0.3s, background 0.3s; }
    .modal-btn-all:hover { border-color:var(--gold); background:rgba(212,175,55,0.06); }
    .modal-btn-save { padding:11px 24px; border-radius:9999px; font-size:10px; letter-spacing:3px; text-transform:uppercase; font-family:'Georgia',serif; cursor:pointer; background:var(--gold); border:1px solid var(--gold); color:#0a0a0a; font-weight:bold; transition:background 0.3s; }
    .modal-btn-save:hover { background:#e8c84a; }
    body{
  background:#0d0d0d;
  color:#fff;
  font-family:sans-serif;
}

.faq-hero{
  position:relative;
  min-height:55vh;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  overflow:hidden;
}

.faq-hero::before{
  content:'';
  position:absolute;
  inset:0;
  background:url('../../images/cards/verona.png') center/cover;
  transform:scale(1.08);
  filter:brightness(.35);
}

.faq-hero-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(to bottom,rgba(0,0,0,.4),#0d0d0d);
}

.faq-hero-content{
  position:relative;
  z-index:2;
  max-width:900px;
  padding:0 24px;
}

.faq-eyebrow{
  display:block;
  color:#d4af37;
  letter-spacing:3px;
  text-transform:uppercase;
  margin-bottom:18px;
  opacity:0;
}

.faq-title{
  font-size:clamp(3rem,8vw,7rem);
  line-height:.9;
  margin-bottom:24px;
  transform:translateY(70px);
  opacity:0;
}

.faq-subtitle{
  max-width:700px;
  margin:auto;
  color:#cfcfcf;
  line-height:1.8;
  font-size:1.05rem;
}

.faq-grid-section{
  padding:120px 6vw;
}

.faq-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  gap:28px;
}

.faq-card{
  position:relative;
  padding:34px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
  backdrop-filter:blur(10px);
  border-radius:28px;
  transition:.45s ease;
  overflow:hidden;

  opacity:0;
  transform:translateY(60px);
}

.faq-card::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(212,175,55,.08),transparent);
  opacity:0;
  transition:.45s;
}

.faq-card:hover{
  transform:translateY(-10px);
  border-color:rgba(212,175,55,.3);
}

.faq-card:hover::before{
  opacity:1;
}

.faq-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:26px;
}

.faq-number{
  font-size:.9rem;
  color:#d4af37;
  letter-spacing:2px;
}

.faq-category{
  font-size:.75rem;
  text-transform:uppercase;
  color:#999;
  letter-spacing:2px;
}

.faq-question{
  font-size:1.5rem;
  margin-bottom:16px;
  line-height:1.2;
}

.faq-answer{
  color:#cfcfcf;
  line-height:1.8;
  margin-bottom:28px;
}

.faq-tags{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.faq-tags span{
  padding:10px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
  font-size:.8rem;
}
.cookie-body a {
    color: var(--gold);
    text-decoration: none;
}