    *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
    :root {
      --gold: #d4af37;
      --gold-dim: rgba(212,175,55,0.35);
      --dark: #0a0a0a;
      --dark2: #1a1a2e;
      --dark3: #16213e;
      --white: #ffffff;
      --white-dim: rgba(255,255,255,0.6);
    }
    html { scroll-behavior: auto; }
    html, body { overflow-x: hidden; background: var(--dark); font-family: 'Georgia', serif; }


    .navbar {
      position: fixed; top: 22px; left: 50%;
      transform: translateX(-50%);
      z-index: 600;
      display: flex; align-items: center; gap: 20px;
      background: rgba(10,10,20,0.65);
      backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
      border: 1px solid rgba(255,255,255,0.1);
      border-radius: 9999px;
      padding: 10px 10px 10px 28px;
      min-width: 300px;
    }
    .logo {
      font-size: 17px; font-weight: bold; color: var(--white);
      letter-spacing: 6px; text-transform: uppercase;
      font-family: "Times New Roman", serif; flex: 1; white-space: nowrap;
      text-decoration: none;
    }
    .hamburger-wrap {
      position: relative; width: 46px; height: 46px;
      cursor: pointer; flex-shrink: 0;
    }
    .hamburger-wrap::before {
      content: ''; position: absolute; inset: 0; border-radius: 50%;
      border: 1px solid rgba(255,255,255,0.25);
      transition: border-color 0.35s, background 0.35s;
    }
    .hamburger-wrap:hover::before { border-color: var(--gold); background: rgba(212,175,55,0.06); }
    .hamburger-icon {
      position: absolute; inset: 0;
      display: flex; flex-direction: column;
      align-items: center; justify-content: center; gap: 5px;
    }
    .hamburger-icon span {
      display: block; width: 18px; height: 1.5px;
      background: var(--white);
      transition: background 0.3s, transform 0.35s, opacity 0.25s, width 0.3s;
      transform-origin: center;
    }
    .hamburger-wrap:hover .hamburger-icon span { background: var(--gold); }
    .hamburger-wrap.open .hamburger-icon span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
    .hamburger-wrap.open .hamburger-icon span:nth-child(2) { opacity: 0; width: 0; }
    .hamburger-wrap.open .hamburger-icon span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

    .nav-overlay {
      position: fixed; inset: 0; z-index: 590;
      pointer-events: none; overflow: hidden;
    }
    .nav-circle {
      position: absolute; border-radius: 50%;
      background: #0d0d1c; transform: scale(0);
    }
    .nav-overlay.open { pointer-events: auto; }
    .nav-menu-items {
      position: absolute; top: 50%; left: 10%;
      transform: translateY(-50%);
      display: flex; flex-direction: column; gap: 6px;
    }
    .nav-menu-items a {
      font-family: "Times New Roman", serif;
      font-size: clamp(34px, 5.5vw, 72px);
      color: rgba(255,255,255,0.12);
      text-decoration: none; letter-spacing: 4px;
      text-transform: uppercase; display: block;
      opacity: 0; transform: translateX(-50px);
      transition: color 0.3s, letter-spacing 0.3s;
      line-height: 1.2;
    }
    .nav-menu-items a:hover { color: var(--gold); letter-spacing: 7px; }
    .nav-menu-items a.active-page { color: rgba(212,175,55,0.5); }
    .nav-menu-number {
      font-size: 11px; letter-spacing: 2px; color: var(--gold);
      vertical-align: super; margin-right: 12px;
      font-family: 'Georgia', serif;
    }
    .nav-socials {
      position: absolute; bottom: 40px; right: 60px;
      display: flex; gap: 28px; opacity: 0;
    }
    .nav-socials a {
      color: var(--white-dim); text-decoration: none;
      font-size: 11px; letter-spacing: 2px; text-transform: uppercase;
      transition: color 0.3s;
    }
    .nav-socials a:hover { color: var(--gold); }

    .back-btn {
      position: fixed; bottom: 32px; left: 32px; z-index: 550;
      display: flex; align-items: center; gap: 10px;
      background: rgba(10,10,20,0.6);
      border: 1px solid rgba(255,255,255,0.15);
      backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
      color: var(--white); font-size: 11px; letter-spacing: 3px;
      text-transform: uppercase; font-family: 'Georgia', serif;
      padding: 12px 22px; border-radius: 9999px;
      cursor: pointer; transition: border-color 0.3s, color 0.3s;
      text-decoration: none;
    }
    .back-btn:hover { border-color: var(--gold); color: var(--gold); }
    .back-btn svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.8; }

    /* PAGE HERO */
    .page-hero {
      height: 90vh; position: relative;
      display: flex; flex-direction: column;
      align-items: center; justify-content: center;
      padding-bottom: 80px;
      background: black;
      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-hero-bg {
      position: absolute; inset: 0;
      background: url('../../images/slide1.jpg') center/cover no-repeat;
      opacity: 0.12;
      backdrop-filter:blur(1px);
    }
    .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);
    }
    .page-hero-line {
      position: relative; z-index: 1;
      width: 1px; height: 0; background: var(--gold-dim);
      margin: 28px auto 0;

    }

    /* ROOMS GRID */
    .rooms-section {
      background: #07070f; padding: 100px 60px;
      min-height: 100vh;
    }
    .rooms-intro {
      max-width: 560px; margin-bottom: 80px;
      opacity: 0; transform: translateY(30px);
    }
    .rooms-intro p {
      font-size: 14px; line-height: 1.9; color: var(--white-dim);
    }

    .rooms-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 2px;
    }
    @media (max-width: 768px) { .rooms-grid { grid-template-columns: 1fr; } }

    .room-item {
      position: relative; height: 520px; overflow: hidden;
      cursor: pointer; opacity: 0; transform: translateY(60px);
    }
    .room-item:nth-child(1) { grid-column: 1; grid-row: 1; }
    .room-item:nth-child(2) { grid-column: 2; grid-row: 1 / 3; height: auto; min-height: 800px; }
    .room-item:nth-child(3) { grid-column: 1; grid-row: 2; }
    .room-item:nth-child(6) { grid-column: 1 / 3; grid-row: 4 / 5; width: auto;height:auto;min-height:600px; min-width: 800px;}

    .room-bg {
      position: absolute; inset: 0;
      background-size: cover; background-position: center;
      transition: transform 0.8s ease;
    }
    .room-item:nth-child(1) .room-bg { background-image: url('../../images/Home\ Carpediem\ 1/Giulietta & Romeo/g&r1.jpg'); }
    .room-item:nth-child(2) .room-bg { background-image: url('../../images/Home\ Carpediem\ 1/Piazza Bra/photo_34_2025-01-11_16-54-37.jpg'); }
    .room-item:nth-child(3) .room-bg { background-image: url('../../images/Home\ Carpediem\ 1/Piazza dei Signori/photo_30_2025-01-11_16-54-37.jpg'); }
    .room-item:nth-child(4) .room-bg { background-image: url('../../images/Home\ Carpediem\ 1/Piazza Erbe/5.jpeg'); }
    .room-item:nth-child(5) .room-bg { background-image: url('../../images/Home\ Carpediem\ 2/Dante Alighieri/photo_23_2025-01-11_16-54-37.jpg'); }
    .room-item:nth-child(6) .room-bg { background-image: url('../../images/Home\ Carpediem\ 2/William Shakespeare/photo_2_2025-01-11_16-54-37.jpg'); }
    .room-item:hover .room-bg { transform: scale(1.06); }
    .room-gradient {
      position: absolute; inset: 0;
      background: linear-gradient(to top, rgba(0,0,0,0.92) 0%, rgba(0,0,0,0.1) 55%);
    }
    .room-info {
      position: absolute; bottom: 0; left: 0; right: 0;
      padding: 36px 36px 40px;
    }
    .room-tag { font-size: 9px; letter-spacing: 4px; text-transform: uppercase; color: var(--gold); margin-bottom: 10px; }
    .room-name {
      font-family: "Times New Roman", serif; font-size: clamp(22px, 3vw, 34px);
      color: var(--white); letter-spacing: 2px; line-height: 1.2; margin-bottom: 10px;
    }
    .room-desc { font-size: 12px; color: var(--white-dim); letter-spacing: 1px; line-height: 1.6; max-width: 340px; }
    .room-meta {
      display: flex; gap: 24px; margin-top: 18px;
      padding-top: 18px; border-top: 1px solid rgba(255,255,255,0.1);
    }
    .room-meta-item { font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: var(--white-dim); }
    .room-meta-item strong { color: var(--gold); display: block; font-size: 15px; margin-bottom: 3px; font-style: normal; font-family: "Times New Roman", serif; }
    .room-hover-btn {
      display: inline-block; margin-top: 20px;
      padding: 20px 38px; border: 1px solid var(--gold-dim);
      color: var(--gold); font-size: 10px; letter-spacing: 3px;
      text-transform: uppercase; font-family: 'Georgia', serif;
      opacity: 1; transform: translateY(10px);
      transition: opacity 0.3s, transform 0.3s, background 0.3s, color 0.3s;
      text-decoration: none;
    }
    .room-item:hover .room-hover-btn { opacity: 1; transform: translateY(0); }
    .room-hover-btn:hover { background: var(--gold); color: var(--dark); }

    /* FULL-WIDTH FEATURE */
    .room-feature {
      position: relative; height: 420px;
      background: url('../../images/slide2.jpg') center/cover no-repeat;
      display: flex; align-items: center; justify-content: center;
      opacity: 0;
    }
    .room-feature::after {
      content: ''; position: absolute; inset: 0;
      background: rgba(0,0,0,0.55);
    }
    .room-feature-content {
      position: relative; z-index: 1; text-align: center;
    }
    .room-feature-content p { font-size: 10px; letter-spacing: 6px; text-transform: uppercase; color: var(--gold); margin-bottom: 16px; }
    .room-feature-content h2 {
      font-family: "Times New Roman", serif; font-size: clamp(28px, 4vw, 54px);
      color: var(--white); letter-spacing: 3px; margin-bottom: 28px;
    }
    .room-feature-content a {
      padding: 14px 44px; border: 1px solid rgba(255,255,255,0.4);
      color: var(--white); text-decoration: none; font-size: 11px;
      letter-spacing: 3px; text-transform: uppercase; font-family: 'Georgia', serif;
      transition: background 0.3s, border-color 0.3s, color 0.3s;
    }
    .room-feature-content a:hover { background: var(--gold); border-color: var(--gold); color: var(--dark); }

    /* AMENITIES BAR */
    .amenities-bar {
      background: #050508; padding: 70px 60px;
    }
    .amenities-label { font-size: 10px; letter-spacing: 5px; text-transform: uppercase; color: var(--gold); margin-bottom: 44px; opacity: 0; }
    .amenities-grid {
      display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
      gap: 40px;
    }
    .amenity { opacity: 0; transform: translateY(20px); }
    .amenity-icon {
      width: 40px; height: 40px; border: 1px solid var(--gold-dim);
      border-radius: 50%; display: flex; align-items: center; justify-content: center;
      margin-bottom: 14px; font-size: 16px;
    }
    .amenity-name { font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--white); margin-bottom: 6px; }
    .amenity-desc { font-size: 11px; color: var(--white-dim); line-height: 1.6; }
  
    /* ═══════════════════════════════════════
       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; }
    .cookie-body a {
    color: var(--gold);
    text-decoration: none;
}