/* ==========================================================================
   VILLA ACQUAVIVA WINE RESORT — Design System (Cream Elegante)
   ========================================================================== */

*{box-sizing:border-box;margin:0;padding:0}

:root{
  --ink:#2a2014;             /* testo principale - deep warm brown */
  --ink-soft:#6e5e4c;        /* testo secondario - warm gray */
  --wine:#7a3e4e;            /* wine soft - blocchi accent */
  --wine-hover:#5e2a3a;
  --terra:#5e3e26;           /* terra warm - blocchi accent */
  --gold:#9a7848;            /* gold contrastato per testo accent */
  --gold-bright:#b8966a;     /* gold luminoso per dettagli */
  --dust:#8a6e4a;
  --sage:#5a6648;            /* sage warm - blocchi accent */
  --mist:#f5efdf;            /* testo chiaro su blocchi accent */
  --paper:#faf6ed;           /* sfondo principale - avorio */
  --paper-warm:#f0e8d4;      /* sfondo sezioni alternate */
  --paper-darker:#e6dcc4;    /* sfondo molto warm */
  --card:#ffffff;            /* card su sfondo paper */
  --border:rgba(42,32,20,0.12);
  --border-strong:rgba(42,32,20,0.22);
  --bg-footer:#1f1810;       /* footer dark warm per chiusura elegante */
  /* aliases per backward compat con style inline */
  --bg-dark:var(--paper);
  --bg-deeper:var(--paper-warm);
}

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:'Jost',sans-serif;
  background:var(--paper);
  color:var(--ink);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* ── NAV ────────────────────────────────────────────────────────────── */
nav.site-nav{
  background:rgba(250,246,237,0.85);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  position:fixed;top:0;left:0;right:0;z-index:200;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 48px;height:60px;
  border-bottom:0.5px solid var(--border)
}
.logo-nav{
  font-family:'Cormorant Garamond',serif;
  font-size:17px;font-weight:300;
  letter-spacing:4px;text-transform:uppercase;
  color:var(--ink)
}
.logo-nav em{font-style:italic;color:var(--gold)}

.nav-items{display:flex;gap:32px;list-style:none;align-items:center}
.nav-items a{
  font-size:11px;letter-spacing:2px;text-transform:uppercase;
  color:var(--ink-soft);font-weight:300;transition:color .3s
}
.nav-items a:hover,.nav-items a.active{color:var(--gold)}

.nav-right{display:flex;align-items:center;gap:20px}

.lang-switch{display:flex;gap:8px;align-items:center;font-size:10px;letter-spacing:1.5px;color:var(--ink-soft);font-weight:300}
.lang-switch a{transition:color .3s}
.lang-switch a:hover{color:var(--gold)}
.lang-switch a.active{color:var(--ink)}
.lang-switch span{opacity:0.4}

.nav-book{
  border:0.5px solid var(--gold);color:var(--gold);
  font-size:10px;letter-spacing:2.5px;text-transform:uppercase;
  padding:9px 20px;font-weight:400;transition:all .3s
}
.nav-book:hover{background:var(--gold);color:var(--paper)}

.nav-toggle{display:none;width:32px;height:24px;position:relative;cursor:pointer}
.nav-toggle span{display:block;position:absolute;left:0;width:100%;height:1px;background:var(--ink);transition:transform .3s, opacity .3s, top .3s}
.nav-toggle span:nth-child(1){top:4px}
.nav-toggle span:nth-child(2){top:12px}
.nav-toggle span:nth-child(3){top:20px}
.nav-toggle.open span:nth-child(1){top:12px;transform:rotate(45deg)}
.nav-toggle.open span:nth-child(2){opacity:0}
.nav-toggle.open span:nth-child(3){top:12px;transform:rotate(-45deg)}

/* ── HERO ───────────────────────────────────────────────────────────── */
.hero{
  min-height:100vh;position:relative;
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:0 0 80px 64px;padding-top:60px;
  color:#f5efdf
}
.hero.compact{min-height:60vh;padding-bottom:60px}
.hero-canvas{position:absolute;inset:0;overflow:hidden;background:#1a1408}
.hero-canvas svg,
.hero-canvas video{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}
.hero-canvas video{
  /* zoom + offset per nascondere watermark Veo (basso-destra) e centrare meglio l'azione */
  transform:scale(1.10) translate(-1.5%, -2%);
  transform-origin:center center;
  object-position:center 50%;
  will-change:transform
}
@media (prefers-reduced-motion: reduce){
  .hero-canvas video{display:none}
}
.hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to bottom,
    rgba(31,24,16,0.20) 0%,
    rgba(31,24,16,0.10) 40%,
    rgba(31,24,16,0.55) 75%,
    rgba(31,24,16,0.85) 100%)
}
.hero-content{position:relative;z-index:10;max-width:680px}

.hero-eyebrow{
  font-size:10px;letter-spacing:4px;text-transform:uppercase;
  color:var(--gold-bright);margin-bottom:20px;font-weight:300;
  display:flex;align-items:center;gap:12px
}
.hero-eyebrow::before{content:'';display:block;width:32px;height:0.5px;background:var(--gold-bright)}

.hero h1{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(42px,7vw,80px);
  font-weight:300;line-height:1.0;
  color:#f8f2e2;margin-bottom:28px
}
.hero h1 em{font-style:italic;color:var(--gold-bright)}

.hero-sub{
  font-size:15px;font-weight:200;
  color:rgba(245,239,223,0.85);
  line-height:1.9;max-width:480px;
  margin-bottom:40px;
  border-left:1px solid rgba(184,150,106,0.5);
  padding-left:20px
}

.hero-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap}

/* ── BUTTONS ────────────────────────────────────────────────────────── */
.btn-wine,.btn-outline,.btn-light,.btn-gold{
  font-size:10px;letter-spacing:2.5px;text-transform:uppercase;
  padding:15px 32px;font-family:'Jost',sans-serif;font-weight:400;
  display:inline-block;transition:all .3s;cursor:pointer;
  white-space:nowrap;border:0.5px solid transparent
}
.btn-wine{background:var(--wine);color:#f5efdf}
.btn-wine:hover{background:var(--wine-hover)}
.btn-outline{
  background:rgba(245,239,223,0.06);
  border:0.5px solid rgba(245,239,223,0.5);
  color:#f5efdf
}
.btn-outline:hover{background:rgba(245,239,223,0.18);border-color:var(--gold-bright);color:var(--gold-bright)}
.btn-light{
  background:transparent;border:0.5px solid var(--ink);
  color:var(--ink);padding:13px 28px
}
.btn-light:hover{background:var(--ink);color:var(--paper)}
.btn-gold{
  background:var(--gold);color:#fff;
  font-weight:500;padding:13px 28px
}
.btn-gold:hover{background:var(--ink)}

.hero-scroll{
  position:absolute;right:48px;bottom:80px;z-index:10;
  writing-mode:vertical-rl;font-size:10px;letter-spacing:3px;
  text-transform:uppercase;color:rgba(245,239,223,0.55);font-weight:200;
  display:flex;align-items:center;gap:12px
}
.hero-scroll::after{content:'';display:block;width:0.5px;height:48px;background:rgba(245,239,223,0.45)}

/* ── CTA HUB ────────────────────────────────────────────────────────── */
.cta-hub{
  background:var(--paper-warm);padding:80px 64px;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border)
}
.cta-hub-head{text-align:center;margin-bottom:48px}
.cta-hub .eyebrow{margin-bottom:14px}
.cta-hub-title{
  font-family:'Cormorant Garamond',serif;
  font-size:36px;font-weight:300;line-height:1.2;color:var(--ink)
}
.cta-hub-title em{font-style:italic;color:var(--gold)}
.cta-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:1px;background:var(--border-strong);max-width:1200px;margin:0 auto;
  border:1px solid var(--border-strong)
}
.cta-card{
  background:var(--paper);padding:36px 28px;
  display:flex;flex-direction:column;gap:10px;
  transition:background .3s, transform .3s;position:relative
}
.cta-card:hover{background:#fffbf2}
.cta-card-icon{
  width:36px;height:36px;
  display:flex;align-items:center;justify-content:center;
  color:var(--gold);margin-bottom:12px
}
.cta-card-icon svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.2}
.cta-card-label{
  font-size:10px;letter-spacing:2.5px;text-transform:uppercase;
  color:var(--ink-soft);font-weight:300
}
.cta-card-title{
  font-family:'Cormorant Garamond',serif;
  font-size:22px;font-weight:300;line-height:1.3;color:var(--ink);font-style:italic
}
.cta-card-arrow{
  margin-top:auto;padding-top:14px;
  font-size:10px;letter-spacing:2.5px;text-transform:uppercase;
  color:var(--gold);font-weight:400
}

/* ── BOOKING STRIP ──────────────────────────────────────────────────── */
.booking-strip{
  background:var(--paper);
  display:grid;grid-template-columns:1fr 1fr 1fr auto;
  border-bottom:1px solid var(--border-strong);
  border-top:1px solid var(--border-strong)
}
.bk-cell{
  padding:20px 28px;border-right:0.5px solid var(--border);
  display:flex;flex-direction:column;gap:3px;cursor:pointer;
  transition:background .3s
}
.bk-cell:hover{background:#fffbf2}
.bk-cell:last-of-type{border-right:none}
.bk-label{font-size:9px;letter-spacing:2.5px;text-transform:uppercase;color:var(--ink-soft);font-weight:400}
.bk-val{font-size:14px;color:var(--ink);font-weight:300;font-family:'Cormorant Garamond',serif}
.bk-submit{
  background:var(--wine);color:var(--mist);
  font-size:10px;letter-spacing:3px;text-transform:uppercase;
  padding:0 36px;font-family:'Jost',sans-serif;font-weight:400;
  transition:background .3s
}
.bk-submit:hover{background:var(--wine-hover)}

/* ── SECTIONS ───────────────────────────────────────────────────────── */
.section{padding:100px 64px;position:relative;background:var(--paper)}
.section.tight{padding:64px 64px}
.section-head{max-width:780px;margin-bottom:64px}
.section-head.center{margin:0 auto 64px;text-align:center}
.eyebrow{
  font-size:10px;letter-spacing:3px;text-transform:uppercase;
  color:var(--gold);margin-bottom:18px;font-weight:400
}
.section-h{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(36px,5vw,52px);font-weight:300;line-height:1.1;
  color:var(--ink);margin-bottom:24px
}
.section-h em{font-style:italic;color:var(--gold)}
.section-lead{
  font-size:16px;font-weight:300;line-height:1.9;
  color:var(--ink-soft);max-width:560px
}

/* ── MANIFESTO (dark accent block) ──────────────────────────────────── */
.manifesto{
  background:var(--terra);padding:100px 64px;
  display:grid;grid-template-columns:1fr 1.4fr;gap:80px;align-items:center;
  color:var(--mist)
}
.manifesto h2{
  font-family:'Cormorant Garamond',serif;font-size:52px;font-weight:300;
  line-height:1.1;color:var(--mist)
}
.manifesto h2 em{font-style:italic;color:var(--gold-bright)}
.manifesto .eyebrow{color:var(--gold-bright)}
.manifesto-right p{
  font-size:18px;font-weight:300;line-height:1.9;
  color:rgba(245,239,223,0.85);
  font-family:'Cormorant Garamond',serif;font-style:italic
}
.manifesto-right .sign{
  margin-top:32px;font-size:10px;letter-spacing:2px;text-transform:uppercase;
  color:rgba(245,239,223,0.55);font-style:normal;
  font-family:'Jost',sans-serif;font-weight:300
}

/* ── SENSE ROWS ─────────────────────────────────────────────────────── */
.sense-row{
  display:grid;grid-template-columns:1fr 1fr;min-height:60vh;
  border-top:1px solid var(--border)
}
.sense-visual{position:relative;overflow:hidden;min-height:420px;background:#1a1408}
.sense-visual svg{width:100%;height:100%;position:absolute;inset:0}
.sense-copy{padding:64px 56px;display:flex;flex-direction:column;justify-content:center;background:var(--paper)}
.sense-num{
  font-family:'Cormorant Garamond',serif;
  font-size:100px;font-weight:300;line-height:1;
  color:rgba(154,120,72,0.18);margin-bottom:-20px
}
.sense-tag{font-size:9px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:14px;font-weight:400}
.sense-h{
  font-family:'Cormorant Garamond',serif;font-size:38px;font-weight:300;
  line-height:1.15;color:var(--ink);margin-bottom:20px
}
.sense-h em{font-style:italic;color:var(--gold)}
.sense-p{font-size:14px;font-weight:300;line-height:1.9;color:var(--ink-soft);max-width:380px}
.sense-link{
  display:inline-block;margin-top:28px;
  font-size:10px;letter-spacing:3px;text-transform:uppercase;
  color:var(--gold);border-bottom:0.5px solid rgba(154,120,72,0.4);
  padding-bottom:3px;font-weight:400;transition:border-color .3s, color .3s;align-self:flex-start
}
.sense-link:hover{border-color:var(--ink);color:var(--ink)}
.sense-row.reverse .sense-visual{order:2}
.sense-row.reverse .sense-copy{order:1}

/* ── ROOM CARDS ─────────────────────────────────────────────────────── */
.rooms-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:32px;
  padding:0 64px 100px;background:var(--paper)
}
.room-card{
  background:var(--card);border:1px solid var(--border);
  display:flex;flex-direction:column;transition:border-color .3s, transform .3s, box-shadow .3s
}
.room-card:hover{border-color:var(--gold);transform:translateY(-4px);box-shadow:0 18px 40px rgba(42,32,20,0.08)}
.room-visual{aspect-ratio:4/3;position:relative;overflow:hidden;background:#1a1408}
.room-visual svg{width:100%;height:100%;display:block}
.room-body{padding:32px 28px;display:flex;flex-direction:column;flex:1}
.room-tag{font-size:9px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:10px;font-weight:400}
.room-title{
  font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:300;
  color:var(--ink);margin-bottom:12px;line-height:1.2
}
.room-title em{font-style:italic;color:var(--gold)}
.room-desc{font-size:13px;font-weight:300;line-height:1.8;color:var(--ink-soft);margin-bottom:20px;flex:1}
.room-meta{
  display:flex;gap:16px;flex-wrap:wrap;
  padding-top:18px;border-top:0.5px solid var(--border);
  font-size:10px;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--ink-soft);font-weight:400
}
.room-meta span{display:inline-flex;align-items:center;gap:6px}
.room-meta span::before{content:'·';color:var(--gold);margin-right:4px}
.room-meta span:first-child::before{display:none}

/* ── INFO LIST ──────────────────────────────────────────────────────── */
.info-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:48px}
.info-item{position:relative;padding-left:0}
.info-num{
  font-family:'Cormorant Garamond',serif;font-size:42px;font-weight:300;
  color:var(--gold);line-height:1;margin-bottom:12px;font-style:italic
}
.info-h{
  font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:300;
  color:var(--ink);margin-bottom:10px;line-height:1.3
}
.info-p{font-size:13px;font-weight:300;line-height:1.85;color:var(--ink-soft)}

/* ── QUOTE ──────────────────────────────────────────────────────────── */
.quote-section{
  background:var(--paper-warm);padding:120px 64px;text-align:center;
  border-top:1px solid var(--border)
}
.quote-mark{
  font-family:'Cormorant Garamond',serif;font-size:80px;font-weight:300;
  line-height:0.5;color:rgba(154,120,72,0.4);margin-bottom:32px
}
.quote-text{
  font-family:'Cormorant Garamond',serif;font-size:clamp(22px,3vw,32px);font-weight:300;
  font-style:italic;line-height:1.5;color:var(--ink);
  max-width:780px;margin:0 auto 32px
}
.quote-attr{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--ink-soft);font-weight:400}

/* ── WEDDING (dark accent) ──────────────────────────────────────────── */
.wedding{
  background:var(--wine);padding:100px 64px;
  display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:center;
  color:var(--mist)
}
.wedding-copy h2{
  font-family:'Cormorant Garamond',serif;font-size:52px;font-weight:300;
  line-height:1.1;color:var(--mist);margin-bottom:24px
}
.wedding-copy h2 em{font-style:italic;color:var(--gold-bright)}
.wedding-copy .eyebrow{color:var(--gold-bright)}
.wedding-copy p{font-size:14px;font-weight:300;line-height:1.9;color:rgba(245,239,223,0.85);margin-bottom:32px}
.wedding-stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(245,239,223,0.18)}
.wstat{background:var(--wine);padding:32px;text-align:center}
.wstat-num{font-family:'Cormorant Garamond',serif;font-size:40px;font-weight:300;color:var(--gold-bright);line-height:1}
.wstat-label{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:rgba(245,239,223,0.7);margin-top:6px;font-weight:300}

/* ── CANTINA (dark accent) ──────────────────────────────────────────── */
.cantina{
  background:var(--sage);padding:100px 64px;
  display:flex;align-items:center;gap:80px;flex-wrap:wrap;
  color:var(--mist)
}
.cantina-badge{
  flex-shrink:0;width:180px;height:180px;border-radius:50%;
  border:0.5px solid rgba(245,239,223,0.3);
  display:flex;align-items:center;justify-content:center
}
.cantina-badge-inner{
  border:0.5px solid rgba(245,239,223,0.2);border-radius:50%;
  width:148px;height:148px;display:flex;align-items:center;justify-content:center;
  flex-direction:column;padding:16px;text-align:center
}
.cantina-badge-inner span{
  font-family:'Cormorant Garamond',serif;font-size:11px;letter-spacing:1px;
  text-transform:uppercase;color:rgba(245,239,223,0.75);display:block;line-height:1.6
}
.cantina-badge-inner strong{
  font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:300;
  color:var(--mist);font-style:italic;display:block;margin-top:4px
}
.cantina-copy{flex:1;min-width:280px}
.cantina-copy .eyebrow{color:var(--gold-bright)}
.cantina-copy h2{
  font-family:'Cormorant Garamond',serif;font-size:48px;font-weight:300;
  line-height:1.1;color:var(--mist);margin-bottom:24px
}
.cantina-copy h2 em{font-style:italic;color:var(--gold-bright)}
.cantina-copy p{font-size:14px;font-weight:300;line-height:1.9;color:rgba(245,239,223,0.85);max-width:460px;margin-bottom:32px}
.wine-chips{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:32px}
.chip{
  border:0.5px solid rgba(245,239,223,0.4);
  color:rgba(245,239,223,0.85);font-size:10px;letter-spacing:2px;
  text-transform:uppercase;padding:8px 16px;font-weight:300
}
.cantina-btns{display:flex;gap:16px;flex-wrap:wrap}
.cantina .btn-light{
  background:rgba(245,239,223,0.08);border:0.5px solid rgba(245,239,223,0.4);
  color:var(--mist)
}
.cantina .btn-light:hover{background:rgba(245,239,223,0.18);color:var(--mist)}

/* ── EXPERIENCE GRID ────────────────────────────────────────────────── */
.exp-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:1px;background:var(--border-strong);
  border-top:1px solid var(--border-strong);
  border-bottom:1px solid var(--border-strong)
}
.exp-card{
  background:var(--paper);padding:48px 36px;
  display:flex;flex-direction:column;gap:14px;
  transition:background .3s;min-height:280px
}
.exp-card:hover{background:#fffbf2}
.exp-card-tag{font-size:9px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);font-weight:400}
.exp-card-title{
  font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:300;
  color:var(--ink);line-height:1.3;margin-bottom:6px
}
.exp-card-title em{font-style:italic;color:var(--gold)}
.exp-card-desc{font-size:13px;font-weight:300;line-height:1.85;color:var(--ink-soft);flex:1}
.exp-card-meta{
  font-size:10px;letter-spacing:2px;text-transform:uppercase;
  color:var(--ink-soft);font-weight:400;
  padding-top:14px;border-top:0.5px solid var(--border)
}

/* ── CONTACT GRID ───────────────────────────────────────────────────── */
.contact-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:1px;
  background:var(--border-strong);
  border-top:1px solid var(--border-strong);
  border-bottom:1px solid var(--border-strong)
}
.contact-block{background:var(--paper);padding:64px 56px}
.contact-block h3{
  font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:300;
  color:var(--ink);margin-bottom:18px;line-height:1.3
}
.contact-block h3 em{font-style:italic;color:var(--gold)}
.contact-detail{
  font-size:14px;font-weight:300;line-height:2;color:var(--ink-soft);
  margin-bottom:6px
}
.contact-detail a{color:var(--ink);border-bottom:0.5px solid rgba(154,120,72,0.4);transition:border-color .3s}
.contact-detail a:hover{border-color:var(--gold)}

/* ── MAP ────────────────────────────────────────────────────────────── */
.map-wrap{position:relative;width:100%;aspect-ratio:21/9;overflow:hidden;background:var(--paper-warm);border-top:1px solid var(--border)}
.map-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:saturate(0.85) contrast(1.02)}

/* ── FOOTER (dark warm chiusura) ────────────────────────────────────── */
footer{background:var(--bg-footer);padding:80px 64px 40px;color:var(--mist);border-top:1px solid var(--border)}
.footer-top{display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr;gap:48px;margin-bottom:64px}
.footer-logo{
  font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:300;
  letter-spacing:3px;text-transform:uppercase;
  color:var(--mist);margin-bottom:20px;display:block
}
.footer-logo em{font-style:italic;color:var(--gold-bright)}
.footer-about{font-size:13px;font-weight:300;line-height:1.9;color:rgba(245,239,223,0.65);max-width:280px;margin-bottom:24px}
.footer-address{font-size:12px;font-weight:300;line-height:2;color:rgba(245,239,223,0.55)}
.footer-address a:hover{color:var(--gold-bright)}
.footer-col h4{font-size:9px;letter-spacing:3px;text-transform:uppercase;color:var(--gold-bright);margin-bottom:20px;font-weight:400}
.footer-col ul{list-style:none}
.footer-col li{padding:5px 0}
.footer-col a{font-size:13px;font-weight:300;color:rgba(245,239,223,0.7);transition:color .3s}
.footer-col a:hover{color:var(--gold-bright)}
.footer-bottom{
  border-top:0.5px solid rgba(245,239,223,0.12);padding-top:32px;
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px
}
.footer-copy{font-size:11px;font-weight:300;color:rgba(245,239,223,0.45);line-height:1.8}
.footer-social{display:flex;gap:16px}
.footer-social a{font-size:11px;font-weight:300;color:rgba(245,239,223,0.6);letter-spacing:1.5px;transition:color .3s}
.footer-social a:hover{color:var(--gold-bright)}

/* ── UTILS ──────────────────────────────────────────────────────────── */
.spacer-sm{height:48px}
.spacer-md{height:80px}
.spacer-lg{height:120px}

/* ── RESPONSIVE ─────────────────────────────────────────────────────── */
@media(max-width:980px){
  nav.site-nav{padding:0 24px}
  .nav-items{
    position:fixed;top:60px;left:0;right:0;background:var(--paper);
    flex-direction:column;align-items:flex-start;
    gap:0;padding:24px;
    border-bottom:1px solid var(--border);
    transform:translateY(-110%);transition:transform .35s ease;
    box-shadow:0 14px 40px rgba(42,32,20,0.1)
  }
  .nav-items.open{transform:translateY(0)}
  .nav-items li{width:100%}
  .nav-items a{display:block;padding:14px 0;font-size:13px;letter-spacing:3px;border-bottom:0.5px solid var(--border)}
  .nav-toggle{display:block}

  .hero{padding:80px 24px 60px}
  .hero-scroll{display:none}

  .booking-strip{grid-template-columns:1fr 1fr}
  .bk-cell:nth-child(3){border-top:0.5px solid var(--border);grid-column:1/3;border-right:none}
  .bk-submit{grid-column:1/3;padding:18px}

  .cta-hub{padding:64px 24px}
  .cta-card{padding:28px 22px}

  .manifesto{grid-template-columns:1fr;padding:64px 24px;gap:40px}
  .sense-row,.sense-row.reverse{grid-template-columns:1fr}
  .sense-row.reverse .sense-visual,.sense-row.reverse .sense-copy{order:unset}
  .sense-copy{padding:48px 24px}
  .sense-h{font-size:32px}

  .section{padding:64px 24px}
  .rooms-grid{padding:0 24px 64px;gap:24px}

  .cantina{padding:64px 24px;gap:40px}
  .cantina-badge{display:none}

  .quote-section{padding:80px 24px}

  .wedding{grid-template-columns:1fr;padding:64px 24px;gap:48px}

  .contact-grid{grid-template-columns:1fr}
  .contact-block{padding:48px 24px}

  footer{padding:64px 24px 32px}
  .footer-top{grid-template-columns:1fr 1fr;gap:32px}
}
@media(max-width:580px){
  .footer-top{grid-template-columns:1fr}
  .hero h1{font-size:42px}
  .section-h{font-size:32px}
  .manifesto h2,.cantina-copy h2,.wedding-copy h2{font-size:36px}
}
