*, *::before, *::after {
      box-sizing: border-box; margin: 0; padding: 0;
      -webkit-user-select: none; -moz-user-select: none; user-select: none;
    }
    :root {
      --noir: #0A0A0F;
      --gold: #C9A96E;
      --cream: #F0EDE8;
      --muted: #9A9590;
      --dim: #6A6080;
    }
    html { background: var(--noir); }
    body {
      background: transparent;
      color: var(--cream);
      font-family: 'Inter', sans-serif;
      font-weight: 300;
      min-height: 100vh;
      overflow-x: hidden;
    }
    #cv { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; z-index: 0; pointer-events: none; display: block; }

    /* NAV */
    nav {
      position: fixed; top: 0; left: 0; right: 0; z-index: 100;
      height: 76px;
      background: rgba(10,10,15,0.93);
      backdrop-filter: blur(14px);
      border-bottom: 1px solid rgba(201,169,110,0.13);
    }
    .nav-logo {
      position: absolute; left: 2rem; top: 50%; transform: translateY(-50%);
      font-family: 'Cormorant Garamond', serif; font-weight: 300;
      font-size: 1.15rem; letter-spacing: 0.2em; text-transform: uppercase;
      text-decoration: none; color: var(--cream);
    }
    .nav-logo b { color: var(--gold); font-weight: 300; }

    /* BADGES — centrati assoluti */
    .badges {
  position: absolute; left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  display: flex; align-items: center; gap: 1.4rem;
}
    .bdg { display: flex; flex-direction: column; align-items: center; gap: 4px; text-decoration: none; cursor: default; }
    .bdg.on { cursor: pointer; }

    .bdg-ring {
      position: relative;
      width: 54px; height: 54px; border-radius: 50%;
      border: 1.5px solid #4A4560;
      display: flex; align-items: center; justify-content: center;
      font-family: 'Inter', sans-serif; font-size: 10px; font-weight: 500;
      letter-spacing: 0.09em; color: var(--dim);
    }
    .bdg.on .bdg-ring {
      border-color: var(--gold); color: var(--gold);
      box-shadow: 0 0 14px rgba(201,169,110,0.28);
    }
    .bdg.on:hover .bdg-ring { box-shadow: 0 0 24px rgba(201,169,110,0.5); }

    /* icona piccola bottom-right */
    .bdg-ring .ico {
  position: absolute; bottom: 1px; right: 1px;
  color: var(--gold);
  width: 13px !important;
  height: 13px !important;
}
    .bdg.on .bdg-ring .ico {
  position: absolute; bottom: 1px; right: 1px;
  color: var(--gold);
  width: 13px !important;
  height: 13px !important;
}

    .bdg-lbl {
      font-size: 7px; letter-spacing: 0.13em; text-transform: uppercase;
      font-family: 'Inter', sans-serif; color: var(--dim); white-space: nowrap;
    }
    .bdg.on .bdg-lbl { color: var(--gold); }

    /* HERO */
    .hero {
      position: relative; z-index: 1;
      min-height: 100vh;
      display: flex; flex-direction: column; align-items: center; justify-content: center;
      text-align: center; padding: 76px 2rem 0;
      background-image: url('vineyard.jpg');
      background-size: cover;
      background-position: center 65%;
    }
    .hero::before {
      content: '';
      position: absolute; inset: 0;
      background: rgba(10, 10, 15, 0.82);
      z-index: 0;
    }
    .hero > * { position: relative; z-index: 1; }
    .eyebrow {
      font-size: 0.67rem; letter-spacing: 0.3em; text-transform: uppercase;
      color: var(--gold); margin-bottom: 2rem;
      opacity: 0; animation: up 1s ease 0.3s forwards;
    }
    h1 {
  font-family: 'Cormorant Garamond', serif; font-weight: 300; font-style: italic;
  font-size: clamp(3.5rem, 9vw, 6.5rem); line-height: 1.02; color: var(--cream);
  margin-bottom: 2.5rem; letter-spacing: -0.02em;
  opacity: 0; animation: up 1s ease 0.6s forwards;
}
    h1 em {
  color: var(--gold);
  font-style: italic;
  text-shadow: 0 0 40px rgba(201, 169, 110, 0.25);
}
    .sub {
  font-size: clamp(0.95rem, 1.8vw, 1.05rem); line-height: 2; color: var(--muted);
  max-width: 540px; margin-bottom: 4rem;
  letter-spacing: -0.01em;
  opacity: 0; animation: up 1s ease 0.9s forwards;
}
    .sub strong { color: var(--cream); font-weight: 400; }
    .cta { opacity: 0; animation: up 1s ease 1.2s forwards; }
    .btn {
  display: inline-flex; align-items: center; gap: 1rem;
  padding: 1.1rem 3rem; border: 1.5px solid var(--gold);
  color: var(--gold); font-family: 'Inter', sans-serif;
  font-size: 0.7rem; letter-spacing: 0.25em; text-transform: uppercase;
  text-decoration: none; background: transparent;
  transition: background 0.5s ease, color 0.5s ease, border-color 0.5s ease;
}
    .btn:hover {
  background: var(--gold);
  color: var(--noir);
  border-color: var(--gold);
}

    /* ABOUT */
    .about {
      position: relative; z-index: 1;
      padding: 7rem 2rem; max-width: 740px; margin: 0 auto; text-align: center;
    }
    blockquote {
      font-family: 'Cormorant Garamond', serif; font-weight: 300; font-style: italic;
      font-size: clamp(1.4rem, 3vw, 2.1rem); line-height: 1.55; color: var(--cream);
      margin-bottom: 2rem;
    }
    cite {
      display: block; font-style: normal; font-family: 'Inter', sans-serif;
      font-size: 0.68rem; letter-spacing: 0.2em; text-transform: uppercase;
      color: var(--gold); margin-top: 1.2rem;
    }
    .about-text { font-size: 0.93rem; line-height: 1.9; color: var(--muted); }
    .about-text strong { color: var(--cream); font-weight: 400; }

    /* STATS */
    .stats {
      position: relative; z-index: 1;
      display: flex; max-width: 860px; margin: 0 auto 6rem;
      border-top: 1px solid rgba(201,169,110,0.13);
      border-bottom: 1px solid rgba(201,169,110,0.13);
    }
    .stat { flex: 1; padding: 3rem 1.5rem; text-align: center; border-right: 1px solid rgba(201,169,110,0.13); }
    .stat:last-child { border-right: none; }
    .stat-n { font-family: 'Cormorant Garamond', serif; font-weight: 300; font-size: 2.8rem; color: var(--cream); line-height: 1; margin-bottom: 0.5rem; }
    .stat-n sup { font-size: 1.1rem; color: var(--gold); vertical-align: super; }
    .stat-l { font-size: 0.65rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--muted); }

    /* FOOTER */
    footer {
      position: relative; z-index: 1; text-align: center;
      padding: 1.8rem; border-top: 1px solid rgba(201,169,110,0.08);
      font-size: 0.68rem; letter-spacing: 0.1em; color: var(--dim);
    }

    @keyframes up { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:translateY(0); } }

    @media(max-width:680px){
      .badges {
  position: absolute; left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  display: flex; align-items: center; gap: 1.4rem;
}
      .bdg-ring { width: 42px; height: 42px; font-size: 8px; }
      .stats { flex-direction: column; }
      .stat { border-right: none; border-bottom: 1px solid rgba(201,169,110,0.13); }
      .stat:last-child { border-bottom: none; }
    }
    @media(prefers-reduced-motion:reduce){ *, *::before, *::after { animation: none !important; } }

    /* punti luce vinaccia negli angoli */
    body::before {
      content: '';
      position: fixed;
      inset: 0;
      z-index: 0;
      pointer-events: none;
      background:
        radial-gradient(ellipse 40% 40% at 0% 100%, rgba(139,26,46,0.18) 0%, transparent 70%),
        radial-gradient(ellipse 40% 40% at 100% 0%, rgba(139,26,46,0.12) 0%, transparent 70%);
    }
