:root{
  --bg:#060505;
  --bg-soft:#0f0d0b;
  --panel:#12100d;
  --panel-2:#181510;
  --panel-3:#1d1711;
  --text:#f4ede3;
  --muted:#b8ab97;
  --muted-2:#8e806e;
  --gold:#bb8f53;
  --gold-soft:#ead8b4;
  --gold-deep:#6f4e27;
  --line:rgba(234,216,180,.11);
  --line-strong:rgba(234,216,180,.2);
  --shadow:0 26px 80px rgba(0,0,0,.42);
  --radius:28px;
  --radius-sm:18px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  min-height:100vh;
  font-family:'Inter',sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at 8% 10%, rgba(187,143,83,.12), transparent 16%),
    radial-gradient(circle at 91% 12%, rgba(126,78,33,.1), transparent 14%),
    radial-gradient(circle at 55% 0%, rgba(255,255,255,.03), transparent 35%),
    linear-gradient(180deg, #17120f 0%, #090807 28%, #050505 100%);
  overflow-x:hidden;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(255,255,255,.014), transparent 6%, transparent 94%, rgba(255,255,255,.014)),
    repeating-linear-gradient(90deg, rgba(255,255,255,.012) 0 1px, transparent 1px 168px);
  opacity:.42;
}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
p{margin:0}
ul{margin:0;padding:0;list-style:none}

.page-shell,.admin-shell{
  width:min(1720px,calc(100% - 40px));
  margin:0 auto;
}
.site-bg-orb{display:none}

.site-header{
  position:sticky;
  top:14px;
  z-index:60;
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:28px;
  margin-top:14px;
  padding:16px 22px;
  background:rgba(11,10,8,.8);
  border:1px solid rgba(234,216,180,.1);
  border-radius:26px;
  backdrop-filter:blur(16px);
  box-shadow:0 18px 50px rgba(0,0,0,.28);
}
.brand-wrap{display:flex;align-items:center;gap:14px;min-width:0}
.brand-logo{width:52px;height:52px;object-fit:contain;filter:drop-shadow(0 14px 28px rgba(0,0,0,.35))}
.brand-block{display:flex;flex-direction:column;gap:6px;min-width:0}
.brand{
  font-family:'Cinzel',serif;
  font-size:1.18rem;
  letter-spacing:.18em;
  line-height:1;
  color:var(--gold-soft);
}
.tagline,.eyebrow{
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:.34em;
  font-size:.66rem;
}
.tagline{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}

.site-nav{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:0}
.site-nav a{
  padding:10px 14px;
  border-radius:999px;
  border:1px solid transparent;
  color:rgba(244,237,227,.88);
  font-size:.73rem;
  letter-spacing:.17em;
  text-transform:uppercase;
  white-space:nowrap;
  transition:all .25s ease;
}
.site-nav a:hover{
  color:var(--gold-soft);
  border-color:rgba(234,216,180,.12);
  background:rgba(255,255,255,.025);
}
.site-nav .nav-reserve-link,
.button-gold{
  color:#16100a;
  background:linear-gradient(135deg,#8d6635 0%,#c79b61 48%,#eddcc0 100%);
  border-color:rgba(255,255,255,.08);
}
.nav-close{display:none}
.menu-toggle{
  display:none;
  width:48px;height:48px;
  border-radius:50%;border:1px solid rgba(234,216,180,.14);
  background:rgba(255,255,255,.03);
  align-items:center;justify-content:center;flex-direction:column;gap:4px;cursor:pointer;
}
.menu-toggle span{width:18px;height:2px;border-radius:999px;background:var(--gold-soft);transition:transform .3s ease,opacity .3s ease}
.nav-overlay{position:fixed;inset:0;background:rgba(0,0,0,.58);backdrop-filter:blur(4px);z-index:54}
body.nav-open{overflow:hidden}
body.nav-open .menu-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg)}
body.nav-open .menu-toggle span:nth-child(2){opacity:0}
body.nav-open .menu-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

main{padding:34px 0 84px}

.hero,
.split-heading,
.brand-ribbon,
.item-row,
.vip-lock-grid,
.vip-layout,
.contact-layout,
.highlight-grid,
.card-grid.three-cols,
.hero-stat-row,
.feature-meta-row,
.footer-columns,
.signature-gallery,
.signature-showcase,
.tasting-note-grid,
.premium-menu-list,
.hero-editorial-grid,
.contact-reservation-grid{
  display:grid;
  gap:24px;
}

.hero{
  grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);
  align-items:stretch;
  min-height:min(860px,calc(100vh - 150px));
}
.hero-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:44px 2vw 22px 0;
  max-width:none;
}
.hero h1,
.page-heading h1,
.vip-lock-card h1,
.brand-ribbon h2,
.highlight-card h3,
.item-copy h2,
.product-card h2,
.contact-card h2,
.vip-booking h2,
.vip-info h2,
.admin-login-card h1,
.admin-panel h2,
.vip-showcase-copy h2,
.menu-spotlight-copy h2,
.hero-floating-note h3,
.tasting-note-card h2,
.experience-strip h2{
  margin:10px 0 14px;
  font-family:'Cormorant Garamond',serif;
  font-weight:600;
  letter-spacing:.01em;
  line-height:.94;
  color:var(--gold-soft);
}
.hero h1,
.page-heading h1,
.vip-lock-card h1{font-size:clamp(3rem,4.8vw,5.4rem);max-width:9ch}
.hero p,
.page-heading p,
.luxury-card p,
.luxury-panel p,
.highlight-card p,
.hero-stat span,
.feature-meta span,
.site-footer p,
.contact-card p,
.item-copy p,
.vip-showcase-copy p,
.admin-help,
.menu-spotlight-copy p{color:var(--muted);line-height:1.75;font-size:.98rem}

.hero-actions,.admin-top-actions,.footer-actions{display:flex;gap:12px;flex-wrap:wrap}
.hero-actions{margin-top:26px}
.button{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:50px;padding:14px 22px;
  border-radius:999px;border:1px solid var(--line-strong);
  text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:600;
  transition:transform .24s ease, background .24s ease, border-color .24s ease, box-shadow .24s ease;
  cursor:pointer;
}
.button:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(0,0,0,.18)}
.button-ghost{background:rgba(255,255,255,.022);color:var(--text)}
.button.small{min-height:40px;padding:10px 14px;font-size:.68rem}

.luxury-card,.luxury-panel,.highlight-card{
  position:relative;
  overflow:hidden;
  border-radius:var(--radius);
  background:linear-gradient(180deg, rgba(18,16,13,.94), rgba(10,9,8,.98));
  border:1px solid rgba(234,216,180,.09);
  box-shadow:var(--shadow);
}
.luxury-card::before,.luxury-panel::before,.highlight-card::before{
  content:"";
  position:absolute;inset:1px;border-radius:inherit;pointer-events:none;
  border:1px solid rgba(255,255,255,.026);
}
.luxury-card::after,.luxury-panel::after,.highlight-card::after{
  content:"";
  position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(circle at top right, rgba(234,216,180,.08), transparent 24%),
    linear-gradient(135deg, rgba(255,255,255,.03), transparent 26%, transparent 78%, rgba(187,143,83,.04));
}
.luxury-card{padding:30px}
.luxury-panel{padding:32px}

/* redesigned home */
.hero-home{gap:28px}
.hero-copy .eyebrow{margin-bottom:6px}
.hero-home .hero-copy p{max-width:38rem}
.hero-stat-row{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:26px}
.hero-stat{
  padding:18px 18px 16px;
  border-radius:20px;
  border:1px solid rgba(234,216,180,.08);
  background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.008));
}
.hero-stat strong,.feature-meta strong{
  display:block;
  margin-bottom:6px;
  color:var(--gold-soft);
  font-family:'Cinzel',serif;
  font-size:.9rem;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.hero-visual{
  min-height:720px;
  padding:20px;
  display:grid;
  grid-template-rows:auto 1fr auto;
  gap:18px;
  background:
    radial-gradient(circle at 72% 10%, rgba(187,143,83,.18), transparent 18%),
    radial-gradient(circle at 20% 90%, rgba(187,143,83,.1), transparent 24%),
    linear-gradient(180deg, rgba(30,23,18,.9), rgba(9,8,7,.98));
}
.hero-side-badge{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.hero-side-badge span,
.footer-seal-row span,
.pill{
  display:inline-flex;align-items:center;
  min-height:34px;padding:8px 14px;
  border-radius:999px;
  border:1px solid rgba(234,216,180,.12);
  background:rgba(0,0,0,.2);
  color:var(--gold-soft);
  font-size:.66rem;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.hero-editorial-grid{grid-template-columns:minmax(0,1.1fr) minmax(220px,.9fr);align-items:stretch;min-height:0}
.hero-editorial-image,
.hero-editorial-note,
.hero-editorial-seal{position:relative;border-radius:26px;border:1px solid rgba(234,216,180,.1);overflow:hidden;background:linear-gradient(180deg, rgba(20,17,14,.8), rgba(8,8,7,.95))}
.hero-editorial-image{min-height:420px;padding:26px;display:flex;align-items:flex-end}
.hero-editorial-image::before{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(180deg, rgba(0,0,0,.1), rgba(0,0,0,.52)),
    radial-gradient(circle at 62% 30%, rgba(234,216,180,.2), transparent 16%),
    url('../img/vino-ostras.png') center/cover no-repeat;
  opacity:.9;
}
.hero-editorial-image-copy,
.hero-editorial-note,
.hero-editorial-seal{z-index:1}
.hero-editorial-image-copy{position:relative;max-width:19rem}
.hero-editorial-image-copy strong,
.hero-editorial-note strong,
.hero-editorial-seal strong{
  display:block;
  font-family:'Cinzel',serif;
  font-size:.82rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--gold-soft);
}
.hero-editorial-image-copy p,.hero-editorial-note p,.hero-editorial-seal p{margin-top:8px;font-size:.9rem;line-height:1.65;color:var(--muted)}
.hero-editorial-side{display:grid;gap:18px}
.hero-editorial-note{padding:24px;min-height:200px}
.hero-editorial-seal{padding:24px;display:grid;place-items:center;text-align:center}
.hero-logo{width:min(180px,60%);filter:drop-shadow(0 22px 30px rgba(0,0,0,.42))}
.hero-floating-note{position:relative;left:auto;right:auto;bottom:auto;padding:24px;border-radius:24px;background:linear-gradient(180deg, rgba(13,12,10,.8), rgba(13,12,10,.5));border:1px solid rgba(234,216,180,.1)}
.hero-floating-note h3{font-size:1.75rem}

.experience-strip{grid-template-columns:minmax(0,.9fr) minmax(340px,1.1fr);align-items:start}
.experience-strip h2{font-size:clamp(2rem,3vw,3.2rem);max-width:14ch}
.experience-strip-copy{display:grid;gap:16px;align-content:start}
.footer-seal-row{display:flex;gap:10px;flex-wrap:wrap}

.highlight-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.highlight-card{padding:28px}
.highlight-card h3{font-size:1.8rem}
.icon-badge{
  width:54px;height:54px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid rgba(234,216,180,.14);color:var(--gold-soft);
  background:radial-gradient(circle, rgba(187,143,83,.2), rgba(187,143,83,.03));
  margin-bottom:14px;
}

.brand-ribbon{grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);align-items:center}
.brand-ribbon h2{font-size:clamp(2.2rem,3.5vw,4rem);max-width:12ch}
.ribbon-art{max-width:360px;justify-self:end;filter:drop-shadow(0 24px 42px rgba(0,0,0,.42))}
.signature-showcase{grid-template-columns:repeat(2,minmax(0,1fr))}
.signature-list{display:grid;gap:10px;margin-top:18px}
.signature-list li{padding-left:18px;position:relative;color:var(--muted)}
.signature-list li::before{content:"";position:absolute;left:0;top:.72em;width:7px;height:7px;border-radius:50%;background:var(--gold)}
.cta-band{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px}
.cta-band h2{font-size:clamp(2rem,3vw,3rem);max-width:14ch;margin-bottom:12px}
.cta-band-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}

.page-heading{padding:22px 0 10px;max-width:920px}
.page-heading p{max-width:44rem}
.split-heading{grid-template-columns:minmax(0,1fr) 320px;align-items:end}
.heading-art,.heading-brand-card,.vip-art-card{min-height:250px;display:grid;place-items:center}
.heading-art img,.heading-brand-card img,.vip-art-card img{max-height:220px;object-fit:contain;filter:drop-shadow(0 18px 34px rgba(0,0,0,.42))}

.menu-atelier{grid-template-columns:minmax(0,.95fr) minmax(320px,1.05fr);align-items:end}
.menu-atelier h2{font-size:clamp(2rem,3vw,3rem);max-width:14ch}
.premium-menu-list,.list-stack{gap:22px}
.menu-spotlight,.item-row{display:grid;grid-template-columns:minmax(320px,.92fr) minmax(0,1.08fr);gap:0;align-items:stretch}
.menu-spotlight.reverse,.item-row.reverse{grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr)}
.menu-spotlight.reverse .menu-spotlight-media,.item-row.reverse .item-image{order:2}
.menu-spotlight-media,.item-image{position:relative;min-height:360px}
.menu-spotlight-media img,.item-image img,.product-card img{
  width:100%;height:100%;object-fit:cover;border-radius:26px;
  border:1px solid rgba(234,216,180,.1);
  background:linear-gradient(145deg, rgba(61,41,24,.82), rgba(10,8,6,.98));
}
.menu-spotlight-copy,.item-copy{padding:32px 34px;display:flex;flex-direction:column;justify-content:center;gap:12px}
.menu-spotlight-topline{display:flex;align-items:center;justify-content:space-between;gap:14px}
.menu-price{
  font-family:'Cinzel',serif;font-size:.9rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-soft);
  padding:9px 12px;border-radius:999px;border:1px solid rgba(234,216,180,.12);background:rgba(255,255,255,.02)
}
.menu-spotlight-copy h2,.item-copy h2,.product-card h2,.contact-card h2,.vip-booking h2,.vip-info h2,.admin-panel h2{font-size:2.25rem}
.feature-meta-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:8px}
.feature-meta{padding:16px 16px 14px;border-radius:18px;border:1px solid rgba(234,216,180,.08);background:rgba(255,255,255,.018)}
.feature-meta span{font-size:.9rem}

.tasting-note-grid,.contact-layout,.card-grid.three-cols,.vip-layout,.vip-lock-grid,.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.tasting-note-card.dark-accent{background:linear-gradient(180deg, rgba(34,24,16,.92), rgba(11,10,8,.98))}
.product-card{padding:24px;display:flex;flex-direction:column;gap:12px}
.product-card img{min-height:260px;margin-bottom:6px}
.contact-layout{align-items:stretch}
.contact-card{display:flex;flex-direction:column;gap:12px}
.contact-mini-art{width:110px;margin-top:auto}
.contact-mini-art img{filter:drop-shadow(0 16px 26px rgba(0,0,0,.42))}
.contact-layout .reservation-card{grid-column:1/-1}
.contact-reservation-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:12px}
.full-row{grid-column:1/-1}

.vip-lock-shell{min-height:calc(100vh - 180px);display:grid;align-items:center}
.vip-lock-card-single{width:min(840px,100%);margin:0 auto;padding:44px;text-align:center}
.vip-lock-card-single h1{max-width:none;font-size:clamp(2.5rem,4.5vw,4.2rem)}
.vip-unlock-form,.booking-form,.admin-form{display:grid;gap:14px;margin-top:22px}
.vip-lock-signature{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:18px;align-items:center;margin-top:26px;padding:20px;border-radius:22px;border:1px solid rgba(234,216,180,.08);background:rgba(255,255,255,.015);text-align:left}
.vip-lock-signature-copy strong{display:block;margin:8px 0 6px;font-family:'Cinzel',serif;color:var(--gold-soft);font-size:1rem;letter-spacing:.14em;text-transform:uppercase}
.vip-lock-signature-art{max-height:150px;justify-self:end}
.vip-premium-banner{display:grid;grid-template-columns:minmax(0,1fr) 240px;align-items:center;gap:16px;padding:28px;margin-bottom:22px}
.vip-premium-banner h2{font-size:2rem;margin:10px 0 8px}
.vip-premium-banner img{max-width:220px;justify-self:end}
.vip-info-premium{background:linear-gradient(180deg, rgba(18,15,12,.96), rgba(9,8,7,.98))}
.vip-experience-list{display:grid;gap:12px;margin-top:18px}
.vip-experience-list li{position:relative;padding-left:20px;color:var(--muted)}
.vip-experience-list li::before{content:"";position:absolute;left:0;top:.65em;width:7px;height:7px;border-radius:50%;background:var(--gold)}
.vip-note,.vip-exit{margin-top:16px;color:var(--gold);font-size:.8rem;letter-spacing:.18em;text-transform:uppercase}

input,select,textarea{
  width:100%;padding:16px 17px;border-radius:16px;border:1px solid rgba(234,216,180,.1);
  background:rgba(255,255,255,.022);color:var(--text);font:inherit;outline:none;
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
input:focus,select:focus,textarea:focus{border-color:rgba(234,216,180,.32);box-shadow:0 0 0 4px rgba(187,143,83,.08);background:rgba(255,255,255,.032)}
input::placeholder,textarea::placeholder{color:rgba(244,237,227,.36)}
label{display:grid;gap:8px;color:var(--gold-soft);font-size:.73rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.form-error,.admin-notice{padding:12px 14px;border-radius:14px;border:1px solid rgba(234,216,180,.14);background:rgba(187,143,83,.08)}
.reservation-hint{display:inline-flex;align-items:center;gap:10px;justify-content:center;margin-top:18px;color:var(--muted)}
.inline-icon{width:18px;height:18px;flex:0 0 auto}

.site-footer{
  display:grid;
  grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);
  gap:24px;
  padding:30px 0 42px;
  border-top:1px solid rgba(234,216,180,.08);
  margin-top:24px;
}
.footer-brand-title{font-family:'Cinzel',serif;font-size:1.3rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-soft);margin:10px 0 14px}
.footer-columns{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
.footer-column-title{display:block;margin-bottom:12px;color:var(--gold-soft);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase}
.footer-actions{display:grid;gap:8px;justify-content:start}
.footer-actions a{padding:0;color:var(--muted);font-size:.95rem;text-transform:none;letter-spacing:0;border:none;background:none}
.footer-actions a:hover{color:var(--gold-soft);background:none;border:none}

.admin-body{min-height:100vh}
.admin-login-wrap{min-height:100vh;display:grid;place-items:center;padding:28px}
.admin-login-card{width:min(560px,100%);text-align:center}
.admin-topbar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:28px 0 20px;padding:26px}
.admin-topbar h1{margin:6px 0 0;font-size:2.6rem;font-family:'Cormorant Garamond',serif;color:var(--gold-soft)}
.admin-panel.full-width{grid-column:1/-1}
.admin-subcard{margin-top:16px;padding:16px;border-radius:18px;background:rgba(255,255,255,.018);border:1px solid rgba(234,216,180,.08)}
.admin-subcard h3{margin:0 0 12px;font-family:'Cormorant Garamond',serif;font-size:1.4rem;color:var(--gold-soft)}
.compact-form{grid-template-columns:1fr 1fr auto;align-items:end}
.blocked-list{margin-top:18px}.unblock-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-top:1px solid rgba(234,216,180,.06)}
.reservation-table-wrap{overflow-x:auto}.reservation-table{width:100%;border-collapse:collapse}.reservation-table th,.reservation-table td{padding:12px 10px;text-align:left;border-bottom:1px solid rgba(234,216,180,.06);color:var(--muted)}.reservation-table th{color:var(--gold-soft)}

.scroll-reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease, transform .7s ease}
.scroll-reveal.is-visible,html:not(.js-ready) .scroll-reveal{opacity:1;transform:none}

.menu-spotlight.luxury-card,.item-row.luxury-card{padding:14px}
.vip-reveal{position:fixed;inset:0;pointer-events:none;opacity:0}
.vip-reveal.active{animation:vipFlash 1s ease}
@keyframes vipFlash{0%{opacity:0}20%{opacity:.75;background:radial-gradient(circle at center, rgba(234,216,180,.16), transparent 20%)}100%{opacity:0}}

@media (max-width:1280px){
  .site-header{grid-template-columns:auto 1fr;gap:18px}
  .tagline{max-width:32ch}
  .site-nav a{padding:10px 11px;font-size:.68rem}
  .hero,.brand-ribbon,.experience-strip,.menu-atelier,.vip-premium-banner,.cta-band,.split-heading,.menu-spotlight,.menu-spotlight.reverse,.item-row,.item-row.reverse,.signature-showcase,.site-footer,.footer-columns,.vip-lock-grid,.vip-layout,.contact-layout,.admin-grid,.card-grid.three-cols,.tasting-note-grid{grid-template-columns:1fr}
  .hero{min-height:auto}
  .hero-copy{padding-right:0}
  .hero-visual{min-height:auto}
  .hero-editorial-grid{grid-template-columns:1fr}
  .brand-ribbon h2,.experience-strip h2,.cta-band h2,.menu-atelier h2{max-width:none}
  .ribbon-art,.vip-premium-banner img{justify-self:start}
  .site-footer{gap:18px}
}

@media (max-width:980px){
  .page-shell,.admin-shell{width:min(100%,calc(100% - 26px))}
  .site-header{grid-template-columns:1fr auto;padding:14px 16px}
  .brand{font-size:1rem}
  .tagline{font-size:.58rem;letter-spacing:.24em}
  .menu-toggle{display:inline-flex}
  .site-nav{
    position:fixed;top:0;right:0;bottom:0;width:min(88vw,360px);z-index:55;
    padding:92px 22px 24px;background:rgba(10,9,8,.97);border-left:1px solid rgba(234,216,180,.12);
    transform:translateX(104%);transition:transform .3s ease;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:10px;
  }
  body.nav-open .site-nav{transform:translateX(0)}
  .site-nav a{padding:15px 16px;border-radius:18px;border:1px solid rgba(234,216,180,.08);background:rgba(255,255,255,.02);font-size:.74rem}
  .site-nav .nav-reserve-link{margin-top:6px}
  .nav-close{display:block;position:absolute;top:20px;right:20px;width:42px;height:42px;border-radius:50%;border:1px solid rgba(234,216,180,.12);background:rgba(255,255,255,.02);color:var(--gold-soft);font-size:1.5rem;line-height:1;cursor:pointer}
  .hero h1,.page-heading h1,.vip-lock-card h1{font-size:clamp(2.6rem,11vw,4.3rem)}
  .hero-stat-row,.feature-meta-row,.contact-reservation-grid,.footer-columns{grid-template-columns:1fr}
  .menu-spotlight-media,.item-image{min-height:300px}
  .luxury-card,.luxury-panel{padding:24px}
}

@media (max-width:640px){
  main{padding:20px 0 64px}
  .site-header{top:10px;margin-top:10px}
  .brand-wrap{gap:10px}.brand-logo{width:46px;height:46px}.brand{font-size:.9rem;letter-spacing:.14em}.tagline,.eyebrow{font-size:.58rem;letter-spacing:.2em}
  .hero-copy{padding:12px 0 0}
  .hero-actions,.admin-top-actions,.footer-actions,.cta-band-actions{flex-direction:column;align-items:stretch}
  .button,.button.small{width:100%}
  .hero-visual,.menu-spotlight-copy,.item-copy,.highlight-card,.product-card,.vip-lock-card-single{padding:20px}
  .hero-editorial-image{min-height:260px}
  .menu-spotlight-media,.item-image{min-height:240px}
  .menu-spotlight-copy h2,.item-copy h2,.product-card h2,.contact-card h2,.vip-booking h2,.vip-info h2,.admin-panel h2,.experience-strip h2,.cta-band h2{font-size:1.95rem}
  .compact-form{grid-template-columns:1fr}
  .vip-lock-signature{grid-template-columns:1fr;text-align:left}.vip-lock-signature-art{justify-self:start}
}

/* v10 soft luxury redesign */
:root{
  --bg:#f6f1e7;
  --bg-soft:#fbf7f1;
  --panel:#ffffff;
  --panel-2:#f3ece2;
  --panel-3:#ebe1d3;
  --text:#43362f;
  --muted:#7a6a60;
  --muted-2:#9b8a7b;
  --gold:#b59472;
  --gold-soft:#6d5646;
  --gold-deep:#8f7155;
  --line:rgba(140,111,84,.12);
  --line-strong:rgba(140,111,84,.2);
  --shadow:0 30px 80px rgba(85,63,44,.08);
  --radius:28px;
  --radius-sm:18px;
}
body{
  color:var(--text);
  background:
    radial-gradient(circle at top left, rgba(206,177,143,.18), transparent 24%),
    radial-gradient(circle at right top, rgba(201,167,128,.12), transparent 22%),
    linear-gradient(180deg,#f8f4ee 0%,#f3eee5 52%,#f7f3ec 100%);
}
body::before{
  background:
    linear-gradient(180deg, rgba(255,255,255,.45), rgba(255,255,255,0)),
    radial-gradient(circle at 20% 10%, rgba(181,148,114,.08), transparent 22%);
  opacity:1;
}
.page-shell,.admin-shell{width:min(1600px,calc(100% - 56px));}
main{padding:30px 0 90px;}
.site-header{
  top:18px;
  margin-top:18px;
  padding:16px 22px;
  background:rgba(252,248,242,.82);
  border:1px solid rgba(140,111,84,.12);
  box-shadow:0 16px 40px rgba(88,66,46,.08);
}
.brand-logo{width:42px;height:42px;filter:none}
.brand{font-size:1rem;letter-spacing:.14em;color:#302620}
.tagline,.eyebrow{color:var(--gold-deep);font-size:.64rem;letter-spacing:.28em}
.site-nav a{
  color:#4f4137;
  font-size:.71rem;
  letter-spacing:.14em;
}
.site-nav a:hover{background:rgba(181,148,114,.09);border-color:rgba(140,111,84,.12);color:#2f2620}
.site-nav .nav-reserve-link,.button-gold{
  color:#fffaf4;
  background:linear-gradient(135deg,#c0a182 0%,#a98867 100%);
  box-shadow:0 14px 30px rgba(169,136,103,.18);
}
.button{font-size:.68rem;letter-spacing:.14em;min-height:46px;padding:13px 20px}
.button-ghost{background:rgba(255,255,255,.7);border-color:rgba(140,111,84,.15);color:#4a3d33}
.luxury-card,.luxury-panel,.highlight-card{
  background:rgba(255,255,255,.82);
  border:1px solid rgba(140,111,84,.12);
  box-shadow:0 30px 80px rgba(85,63,44,.07);
}
.luxury-card::after,.luxury-panel::after,.highlight-card::after{display:none}
.hero h1,.page-heading h1,.vip-lock-card h1,.brand-ribbon h2,.highlight-card h3,.item-copy h2,.product-card h2,.contact-card h2,.vip-booking h2,.vip-info h2,.admin-login-card h1,.admin-panel h2,.vip-showcase-copy h2,.menu-spotlight-copy h2,.hero-floating-note h3,.tasting-note-card h2,.experience-strip h2{
  color:#5a4738;
  line-height:1.02;
}
.hero h1,.page-heading h1,.vip-lock-card h1{font-size:clamp(2.3rem,3.5vw,4rem);max-width:12ch}
.hero p,.page-heading p,.luxury-card p,.luxury-panel p,.highlight-card p,.hero-stat span,.feature-meta span,.site-footer p,.contact-card p,.item-copy p,.vip-showcase-copy p,.admin-help,.menu-spotlight-copy p{color:#78695f;font-size:.95rem;line-height:1.75}

.hero-soft{margin-top:10px}
.hero-soft-media{
  position:relative;
  min-height:690px;
  border-radius:38px;
  overflow:hidden;
  border:1px solid rgba(140,111,84,.14);
  background:
    linear-gradient(90deg, rgba(251,248,244,.92) 0%, rgba(251,248,244,.76) 36%, rgba(251,248,244,.18) 62%, rgba(251,248,244,.06) 100%),
    radial-gradient(circle at 75% 34%, rgba(191,154,116,.38), transparent 18%),
    radial-gradient(circle at 87% 18%, rgba(255,255,255,.55), transparent 20%),
    linear-gradient(120deg, rgba(231,219,205,.86), rgba(203,171,137,.48)),
    url('../img/logo-tio-gamba.png') 78% 50% / min(34vw,440px) no-repeat,
    linear-gradient(135deg, #e8ddd1 0%, #caa277 100%);
  box-shadow:0 36px 90px rgba(93,70,48,.12);
}
.hero-soft-media::after{
  content:"";
  position:absolute;inset:0;
  background:
    radial-gradient(circle at 82% 50%, rgba(255,255,255,.34), transparent 18%),
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,0));
  pointer-events:none;
}
.hero-soft-overlay{
  position:relative;z-index:1;
  width:min(560px,56%);
  margin:86px 0 0 64px;
  padding:42px 40px;
  border-radius:28px;
  background:rgba(255,250,245,.56);
  backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.55);
  box-shadow:0 18px 36px rgba(99,73,50,.08);
}
.hero-soft-overlay h1{margin:14px 0 16px;font-family:'Cormorant Garamond',serif;font-size:clamp(3rem,4.6vw,5.3rem);font-weight:600;letter-spacing:-.015em;line-height:.92;color:#5b4635;max-width:9ch}
.hero-soft-overlay p{max-width:32rem;font-size:.98rem;color:#716055}
.hero-soft-badge{
  position:absolute;right:46px;bottom:38px;z-index:1;
  width:min(360px,calc(100% - 32px));
  padding:24px 26px;
  background:rgba(255,252,247,.82);
}
.hero-soft-badge strong{display:block;margin:8px 0 10px;font-family:'Cormorant Garamond',serif;font-size:1.7rem;font-weight:600;line-height:1.02;color:#5e4939}
.soft-intro{padding:38px 10px 10px;text-align:center}
.soft-intro p{max-width:760px;margin:0 auto;color:#6e5d52;font-size:1rem;line-height:1.9}
.soft-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:28px}
.soft-feature-card{background:rgba(255,255,255,.76);border:1px solid rgba(140,111,84,.12);border-radius:24px;padding:18px 18px 22px;box-shadow:0 18px 45px rgba(96,73,51,.06)}
.soft-feature-card h3,.gallery-soft-copy h3{margin:16px 0 8px;font-family:'Cormorant Garamond',serif;font-size:1.75rem;font-weight:600;color:#5d4a3b}
.soft-feature-card p,.gallery-soft-copy p{font-size:.93rem;line-height:1.72;color:#77685d}
.soft-feature-media{height:220px;border-radius:18px;background-size:cover;background-position:center;border:1px solid rgba(140,111,84,.12)}
.soft-tone-1{background:linear-gradient(135deg, rgba(235,223,207,.9), rgba(197,157,119,.62));}
.soft-tone-2{background:linear-gradient(135deg, rgba(233,223,213,.86), rgba(176,148,120,.6));}
.soft-tone-3{background:linear-gradient(135deg, rgba(244,238,231,.92), rgba(196,169,138,.54));}
.soft-banner{
  margin:48px 0;
  min-height:360px;
  border-radius:32px;
  overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  background:
    linear-gradient(90deg, rgba(74,52,37,.72), rgba(74,52,37,.42)),
    linear-gradient(135deg, #7f6148 0%, #c19b73 100%);
}
.soft-banner-copy{text-align:center;color:#fff7ef;padding:34px 20px;max-width:760px}
.soft-banner-copy .eyebrow{color:#f1dcc4}
.soft-banner-copy h2{margin:12px 0 14px;font-family:'Cormorant Garamond',serif;font-size:clamp(2.4rem,3vw,3.6rem);font-weight:600;line-height:1;color:#fff9f2}
.soft-banner-copy p{color:rgba(255,248,241,.82);margin:0 auto 24px;max-width:640px}
.about-split-soft{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.95fr);gap:32px;align-items:center;margin:32px 0 42px}
.about-split-copy,.about-split-media{background:rgba(255,255,255,.78);border:1px solid rgba(140,111,84,.12);border-radius:30px;padding:40px;box-shadow:0 20px 55px rgba(92,69,49,.06)}
.about-split-copy h2{margin:12px 0 16px;font-family:'Cormorant Garamond',serif;font-size:clamp(2.3rem,3vw,3.4rem);font-weight:600;line-height:1.02;color:#594637}
.about-split-copy p{margin-bottom:24px;color:#76675c;max-width:48ch}
.about-media-frame{min-height:420px;border-radius:24px;background:linear-gradient(135deg, rgba(238,228,214,.92), rgba(197,166,133,.66));display:grid;place-items:center}
.about-media-frame img{width:min(240px,55%);filter:drop-shadow(0 18px 30px rgba(84,59,38,.16))}
.section-heading-soft{text-align:center;max-width:820px;margin:0 auto 26px}
.section-heading-soft h2{margin:12px 0 14px;font-family:'Cormorant Garamond',serif;font-size:clamp(2.3rem,3vw,3.6rem);font-weight:600;line-height:1.02;color:#5c4939}
.section-heading-soft p{color:#77675d}
.gallery-soft-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.gallery-soft-card{background:rgba(255,255,255,.78);border:1px solid rgba(140,111,84,.12);border-radius:24px;padding:14px;box-shadow:0 18px 45px rgba(96,73,51,.05)}
.gallery-soft-art{min-height:230px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg, rgba(238,228,216,.9), rgba(196,166,131,.58));overflow:hidden}
.gallery-soft-art img{width:120px;height:120px;object-fit:contain;filter:drop-shadow(0 18px 26px rgba(89,63,42,.12))}
.quote-soft{margin-top:52px}
.quote-soft-panel{padding:74px 30px;border-radius:34px;text-align:center;background:linear-gradient(180deg, rgba(241,233,222,.92), rgba(230,219,205,.72));border:1px solid rgba(140,111,84,.12);box-shadow:0 28px 65px rgba(95,72,49,.07)}
.quote-soft-panel p{margin:0 auto 24px;max-width:920px;font-family:'Cormorant Garamond',serif;font-size:clamp(2.6rem,4vw,4.6rem);line-height:1;color:#5c4839}

.site-footer{margin-top:42px;padding:36px 0 54px;border-top:1px solid rgba(140,111,84,.12)}
.footer-brand-title,.footer-column-title{color:#5a4738}
.footer-actions a{color:#6d5d51}
.footer-actions a:hover{color:#3f3229}
.page-heading{padding:28px 0 10px}
.page-heading h1{max-width:12ch}
.contact-layout{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
.contact-card,.reservation-card,.vip-lock-card,.vip-info,.vip-booking,.menu-spotlight,.product-card,.item-row,.brand-ribbon,.experience-strip,.cta-band{background:rgba(255,255,255,.82)!important;border:1px solid rgba(140,111,84,.12)!important;box-shadow:0 24px 60px rgba(95,72,49,.06)!important}

@media (max-width: 1080px){
  .page-shell,.admin-shell{width:min(100%,calc(100% - 32px));}
  .hero-soft-media{min-height:620px;background-size:300px, auto}
  .hero-soft-overlay{width:min(620px,calc(100% - 40px));margin:34px 20px 0;padding:34px 28px}
  .hero-soft-badge{position:relative;right:auto;bottom:auto;margin:18px 20px 20px}
  .soft-feature-grid,.gallery-soft-grid,.contact-layout{grid-template-columns:repeat(2,minmax(0,1fr));}
  .about-split-soft{grid-template-columns:1fr}
}
@media (max-width: 760px){
  .site-header{grid-template-columns:auto auto;gap:14px;padding:14px 16px}
  .menu-toggle{display:flex;justify-self:end}
  .site-nav{
    position:fixed;top:0;right:0;bottom:0;width:min(340px,88vw);padding:84px 20px 24px;
    flex-direction:column;align-items:stretch;justify-content:flex-start;gap:8px;
    background:#f9f4ed;border-left:1px solid rgba(140,111,84,.12);box-shadow:-22px 0 44px rgba(80,58,38,.12);
    transform:translateX(100%);transition:transform .3s ease;z-index:55;
  }
  body.nav-open .site-nav{transform:translateX(0)}
  .nav-close{display:block;position:absolute;top:18px;right:18px;border:0;background:transparent;font-size:2rem;color:#604d3c}
  .brand-logo{width:36px;height:36px}
  .brand{font-size:.92rem}
  .tagline{max-width:140px;white-space:normal;line-height:1.3}
  .hero-soft-media{min-height:auto}
  .hero-soft-overlay{width:auto;margin:20px;padding:28px 22px}
  .hero-soft-overlay h1{font-size:clamp(2.5rem,14vw,4rem);max-width:10ch}
  .soft-feature-grid,.gallery-soft-grid,.contact-layout{grid-template-columns:1fr}
  .soft-feature-media{height:190px}
  .soft-banner-copy h2,.section-heading-soft h2,.about-split-copy h2{font-size:2.3rem}
  .quote-soft-panel{padding:48px 18px}
  .quote-soft-panel p{font-size:2.35rem}
}

/* v11 professional refinement */
.page-shell,.admin-shell{width:min(1680px,calc(100% - 48px));}
main{padding:28px 0 96px}

.hero-soft-media{
  min-height:640px;
  background:
    linear-gradient(90deg, rgba(251,248,244,.94) 0%, rgba(251,248,244,.82) 33%, rgba(251,248,244,.22) 62%, rgba(251,248,244,.1) 100%),
    radial-gradient(circle at 76% 36%, rgba(191,154,116,.26), transparent 17%),
    radial-gradient(circle at 87% 18%, rgba(255,255,255,.5), transparent 20%),
    linear-gradient(120deg, rgba(231,219,205,.85), rgba(203,171,137,.38)),
    url('../img/logo-tio-gamba.png') 74% 50% / min(25vw,340px) no-repeat,
    linear-gradient(135deg, #ebe2d7 0%, #d9c0a6 100%);
}
.hero-soft-overlay{
  width:min(720px,48%);
  margin:72px 0 0 52px;
  padding:44px 36px 36px;
  background:rgba(255,250,245,.68);
}
.hero-soft-overlay h1{
  font-size:clamp(3rem,4.1vw,4.8rem);
  line-height:.97;
  letter-spacing:-.02em;
  max-width:12ch;
}
.hero-soft-overlay p{max-width:40rem;font-size:1rem;line-height:1.75}
.hero-soft-badge{
  right:34px;
  bottom:34px;
  width:min(400px,32%);
  padding:22px 24px;
  border-radius:24px;
}
.hero-soft-badge strong{font-size:1.45rem;line-height:1.08}

.soft-intro{padding:34px 10px 4px}
.soft-intro p{max-width:860px;font-size:.98rem;line-height:1.85}

.soft-feature-grid{gap:22px;margin-top:24px}
.soft-feature-card{padding:16px 16px 18px;border-radius:22px}
.soft-feature-media{height:178px}
.soft-feature-card h3,.gallery-soft-copy h3{font-size:1.45rem;line-height:1.04;margin:14px 0 8px}
.soft-feature-card p,.gallery-soft-copy p{font-size:.9rem;line-height:1.7}

.soft-banner{min-height:320px;margin:42px 0 28px}
.soft-banner-copy{max-width:700px}
.soft-banner-copy h2{font-size:clamp(2.2rem,2.6vw,3.15rem);line-height:1.02}
.soft-banner-copy p{font-size:.96rem;line-height:1.8}

.about-split-soft{grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:24px;margin:24px 0 36px}
.about-split-copy,.about-split-media{padding:34px;border-radius:26px}
.about-split-copy h2{font-size:clamp(2.1rem,2.5vw,3rem);max-width:14ch}
.about-split-copy p{font-size:.95rem;line-height:1.8;max-width:54ch}
.about-media-frame{min-height:360px}
.about-media-frame img{width:min(210px,46%)}

.section-heading-soft{margin:0 auto 22px}
.section-heading-soft h2{font-size:clamp(2rem,2.5vw,3rem);max-width:15ch;margin-inline:auto}
.section-heading-soft p{max-width:760px;margin:0 auto;font-size:.96rem;line-height:1.8}
.gallery-soft-grid{gap:18px}
.gallery-soft-card{padding:12px;border-radius:22px}
.gallery-soft-art{min-height:190px}
.gallery-soft-art img{width:92px;height:92px}
.quote-soft{margin-top:42px}
.quote-soft-panel{padding:58px 26px;border-radius:28px}
.quote-soft-panel p{font-size:clamp(2.15rem,3vw,3.5rem);max-width:860px;line-height:1.04}

.page-heading-balanced{align-items:center;grid-template-columns:minmax(0,1.08fr) minmax(300px,.78fr);gap:22px}
.page-heading-balanced h1{max-width:13ch !important;font-size:clamp(2.35rem,3.3vw,4rem) !important;line-height:1}
.page-heading-balanced p{max-width:56ch;font-size:.96rem !important;line-height:1.8}
.compact-art-card{padding:18px !important;min-height:260px;display:grid;place-items:center;border-radius:26px}
.compact-art-card img{max-height:190px;width:auto;object-fit:contain}
.section-intro-balanced{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1fr);align-items:end;gap:20px;padding:26px 30px !important;border-radius:26px}
.section-intro-balanced h2{font-size:clamp(1.9rem,2.3vw,2.6rem) !important;line-height:1.04;margin:10px 0 0}
.section-intro-balanced p{font-size:.95rem !important;line-height:1.8}

.premium-menu-list-refined,.refined-list-stack{gap:18px}
.compact-row-card{padding:16px !important;border-radius:26px;gap:18px;align-items:center}
.compact-row-card.menu-spotlight,.compact-row-card.item-row{grid-template-columns:minmax(240px,.78fr) minmax(0,1.22fr)}
.compact-row-card.reverse{grid-template-columns:minmax(0,1.22fr) minmax(240px,.78fr)}
.compact-row-card.reverse .compact-media{order:2}
.compact-row-card.reverse .compact-copy{order:1}
.compact-media{min-height:250px;border-radius:20px;overflow:hidden;background:linear-gradient(135deg, rgba(238,228,214,.9), rgba(197,166,133,.66));display:grid;place-items:center}
.compact-media img{width:100%;height:100%;object-fit:cover}
.compact-copy{padding:10px 10px 10px 4px}
.compact-copy h2{font-size:clamp(1.95rem,2.2vw,2.8rem) !important;line-height:1.02;margin:8px 0 12px}
.compact-copy p{font-size:.94rem !important;line-height:1.78;max-width:58ch}
.feature-meta-row-compact{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}
.feature-meta-row-compact .feature-meta{padding:14px;border-radius:18px;background:rgba(255,255,255,.54);border:1px solid rgba(140,111,84,.09)}
.feature-meta-row-compact .feature-meta strong{font-size:.72rem;letter-spacing:.12em}
.feature-meta-row-compact .feature-meta span{font-size:.85rem;line-height:1.55}
.cta-band-refined{padding:28px 30px !important;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;border-radius:26px}
.cta-band-refined h2{font-size:clamp(1.9rem,2.4vw,2.8rem) !important;line-height:1.02;margin:10px 0}
.cta-band-refined p{font-size:.95rem !important;line-height:1.75;max-width:48ch}

.product-grid-refined{gap:18px}
.product-card-refined{padding:16px !important;border-radius:24px}
.product-card-refined img{height:220px;width:100%;object-fit:cover;border-radius:18px;margin-bottom:14px}
.product-card-refined h2{font-size:clamp(1.7rem,2vw,2.35rem) !important;line-height:1.04;margin:10px 0 8px}
.product-card-refined p{font-size:.92rem !important;line-height:1.72}

.contact-layout{gap:18px}
.contact-card h2,.reservation-card h2{font-size:clamp(1.8rem,2.1vw,2.6rem) !important;line-height:1.05}
.contact-card p{font-size:.93rem !important;line-height:1.76}

@media (max-width: 1180px){
  .hero-soft-overlay{width:min(680px,54%);margin:48px 0 0 34px;padding:36px 30px}
  .hero-soft-badge{width:min(370px,40%);right:24px;bottom:24px}
  .page-heading-balanced,.section-intro-balanced,.compact-row-card.menu-spotlight,.compact-row-card.item-row,.cta-band-refined{grid-template-columns:1fr}
  .compact-row-card.reverse .compact-media,.compact-row-card.reverse .compact-copy{order:initial}
  .feature-meta-row-compact{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width: 1080px){
  .hero-soft-media{min-height:600px;background-size:260px, auto}
  .hero-soft-overlay{width:min(700px,calc(100% - 40px));margin:30px 20px 0;padding:34px 28px}
  .hero-soft-badge{position:relative;right:auto;bottom:auto;width:auto;margin:16px 20px 20px}
}
@media (max-width: 760px){
  .page-shell,.admin-shell{width:min(100%,calc(100% - 24px));}
  .hero-soft-overlay h1{font-size:clamp(2.4rem,12vw,3.6rem);max-width:11ch}
  .soft-feature-grid,.gallery-soft-grid,.contact-layout,.feature-meta-row-compact{grid-template-columns:1fr}
  .soft-feature-media{height:170px}
  .compact-media{min-height:220px}
  .compact-art-card{min-height:220px}
  .compact-art-card img{max-height:150px}
  .about-split-copy,.about-split-media,.compact-row-card,.cta-band-refined,.section-intro-balanced{padding:22px !important}
}


/* v12 inner page refinement */
.page-heading-balanced{
  grid-template-columns:minmax(0,1.18fr) minmax(280px,.62fr);
  gap:28px;
  padding-top:34px;
}
.page-heading-balanced > div:first-child{max-width:980px}
.page-heading-balanced h1{
  max-width:16ch !important;
  font-size:clamp(2rem,2.7vw,3.35rem) !important;
  line-height:1.06;
  letter-spacing:-.01em;
}
.page-heading-balanced p{
  max-width:62ch;
  font-size:.92rem !important;
  line-height:1.78;
}
.compact-art-card{
  min-height:220px;
  padding:16px !important;
  align-self:center;
}
.compact-art-card img{max-height:150px}
.section-intro-balanced{
  grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);
  gap:26px;
  padding:22px 26px !important;
}
.section-intro-balanced h2{
  font-size:clamp(1.6rem,1.9vw,2.2rem) !important;
  line-height:1.08;
}
.section-intro-balanced p{
  font-size:.9rem !important;
  line-height:1.74;
  max-width:66ch;
}
.compact-row-card{padding:14px !important;gap:16px}
.compact-row-card.menu-spotlight,.compact-row-card.item-row{
  grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);
}
.compact-row-card.reverse{grid-template-columns:minmax(0,1.28fr) minmax(250px,.72fr)}
.compact-media{min-height:218px;border-radius:18px}
.compact-copy{padding:6px 6px 6px 2px}
.compact-copy h2{
  font-size:clamp(1.65rem,1.9vw,2.2rem) !important;
  line-height:1.08;
  margin:6px 0 10px;
}
.compact-copy p{
  font-size:.9rem !important;
  line-height:1.72;
  max-width:62ch;
}
.menu-price{font-size:.76rem;padding:8px 11px}
.feature-meta-row-compact{gap:10px;margin-top:14px}
.feature-meta-row-compact .feature-meta{padding:12px 13px;border-radius:16px}
.feature-meta-row-compact .feature-meta strong{font-size:.66rem;letter-spacing:.14em;margin-bottom:5px}
.feature-meta-row-compact .feature-meta span{font-size:.8rem;line-height:1.5}
.product-grid-refined{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.product-card-refined{padding:14px !important}
.product-card-refined img{height:190px;border-radius:16px}
.product-card-refined h2{
  font-size:clamp(1.45rem,1.7vw,2rem) !important;
  line-height:1.08;
}
.product-card-refined p{font-size:.88rem !important;line-height:1.68}
.contact-layout{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.contact-card,.reservation-card{padding:22px !important}
.contact-card h2,.reservation-card h2{
  font-size:clamp(1.55rem,1.9vw,2.15rem) !important;
  line-height:1.08;
  margin:8px 0 8px;
}
.contact-card p,.reservation-card p{font-size:.9rem !important;line-height:1.72}
.contact-layout .reservation-card{grid-column:1/-1}
.vip-lock-card-single{
  width:min(760px,100%);
  padding:40px 34px;
}
.vip-lock-card-single h1{
  font-size:clamp(2.15rem,3.2vw,3.3rem) !important;
  max-width:12ch;
  margin-inline:auto;
}
.vip-lock-card-single > p{max-width:52ch;margin:0 auto;color:#75675d}
.vip-unlock-form input[type="password"]{
  background:#fffdfa;
  color:#4b3b2f;
  border:1px solid rgba(140,111,84,.18);
}
.vip-unlock-form input[type="password"]::placeholder{color:#ab998c;opacity:1}
.vip-unlock-form input[type="password"]:focus{
  border-color:rgba(169,136,103,.45);
  box-shadow:0 0 0 4px rgba(169,136,103,.12);
  background:#ffffff;
}
.vip-heading h1{
  max-width:14ch !important;
  font-size:clamp(2.1rem,2.8vw,3.5rem) !important;
  line-height:1.04;
}
.vip-heading p{max-width:58ch;font-size:.93rem !important;line-height:1.76}
.vip-premium-banner{grid-template-columns:minmax(0,1.15fr) 180px;gap:18px;padding:22px}
.vip-premium-banner h2{font-size:clamp(1.7rem,2vw,2.35rem) !important;line-height:1.08;margin:8px 0 8px}
.vip-premium-banner p{font-size:.92rem !important;line-height:1.72;max-width:56ch}
.vip-premium-banner img{max-width:150px}
.vip-layout{grid-template-columns:minmax(280px,.92fr) minmax(0,1.08fr);gap:18px}
.vip-info,.vip-booking{padding:24px !important}
.vip-info h2,.vip-booking h2{font-size:clamp(1.65rem,1.9vw,2.15rem) !important;line-height:1.08}
.vip-info p,.vip-booking p,.vip-experience-list li{font-size:.9rem !important;line-height:1.72;color:#736458}
.booking-form{gap:12px;margin-top:18px}
.booking-form label{gap:7px;font-size:.66rem;letter-spacing:.16em;color:#8f7459}
.booking-form input,
.booking-form select,
.booking-form textarea{
  border-radius:16px;
  min-height:52px;
  padding:14px 16px;
  background:#fffdfa;
  color:#4b3b2f;
  border:1px solid rgba(140,111,84,.16);
  appearance:none;
  -webkit-appearance:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55);
}
.booking-form textarea{min-height:128px;resize:vertical}
.booking-form input::placeholder,
.booking-form textarea::placeholder{color:#af9f92;opacity:1}
.booking-form input:focus,
.booking-form select:focus,
.booking-form textarea:focus{
  background:#ffffff;
  border-color:rgba(169,136,103,.42);
  box-shadow:0 0 0 4px rgba(169,136,103,.11);
}
.booking-form label:has(select),
.booking-form label:has(input[type="date"]){position:relative}
.booking-form label:has(select)::after,
.booking-form label:has(input[type="date"])::after{
  content:"";
  position:absolute;
  right:18px;
  bottom:18px;
  width:10px;
  height:10px;
  border-right:1.6px solid #8d7158;
  border-bottom:1.6px solid #8d7158;
  transform:rotate(45deg);
  pointer-events:none;
}
.booking-form label:has(input[type="date"])::after{transform:none;width:14px;height:14px;border:none;background:linear-gradient(#8d7158,#8d7158) 0 3px/14px 1.5px no-repeat,linear-gradient(#8d7158,#8d7158) 0 6px/14px 1.5px no-repeat,linear-gradient(#8d7158,#8d7158) 2px 0/10px 1.5px no-repeat;border-radius:2px}
.booking-form input[type="date"]::-webkit-calendar-picker-indicator{
  opacity:0;
  position:absolute;
  right:10px;
  width:32px;
  height:32px;
  cursor:pointer;
}
.booking-form select{
  background-image:linear-gradient(45deg, transparent 50%, #8d7158 50%),linear-gradient(135deg, #8d7158 50%, transparent 50%);
  background-position:calc(100% - 22px) calc(50% - 2px), calc(100% - 16px) calc(50% - 2px);
  background-size:6px 6px, 6px 6px;
  background-repeat:no-repeat;
  padding-right:42px;
}
.booking-form select option{color:#4b3b2f;background:#fffdfa}
.vip-note{font-size:.72rem;letter-spacing:.18em;margin-top:14px}
@media (max-width: 1280px){
  .product-grid-refined{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 1080px){
  .page-heading-balanced,
  .section-intro-balanced,
  .vip-layout,
  .vip-premium-banner,
  .contact-layout{grid-template-columns:1fr}
  .compact-row-card.menu-spotlight,.compact-row-card.item-row,
  .compact-row-card.reverse{grid-template-columns:1fr}
  .compact-row-card.reverse .compact-media,.compact-row-card.reverse .compact-copy{order:initial}
}
@media (max-width: 760px){
  .page-heading-balanced h1{font-size:clamp(2rem,10vw,2.8rem) !important;max-width:12ch !important}
  .compact-art-card{min-height:180px}
  .compact-art-card img{max-height:120px}
  .product-grid-refined,.contact-layout{grid-template-columns:1fr}
  .vip-lock-card-single,.vip-info,.vip-booking,.contact-card,.reservation-card{padding:20px !important}
  .vip-premium-banner img{max-width:120px}
}


/* v13 layout cleanup */

.home-editorial-strip{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:22px;margin-top:26px;align-items:stretch}
.editorial-strip-card{background:rgba(255,255,255,.8);border:1px solid rgba(140,111,84,.12);border-radius:26px;box-shadow:0 20px 55px rgba(92,69,49,.06)}
.editorial-strip-copy{padding:34px 34px 30px}
.editorial-strip-copy h2{margin:10px 0 14px;font-family:'Cormorant Garamond',serif;font-size:clamp(2.1rem,2.7vw,3.2rem);line-height:1.02;color:#594637}
.editorial-strip-copy p{max-width:58ch;color:#77675c;font-size:.95rem;line-height:1.82}
.editorial-strip-media{padding:14px;display:grid;place-items:center;overflow:hidden}
.editorial-strip-media img{width:100%;height:100%;min-height:280px;max-height:340px;object-fit:cover;border-radius:20px}
.home-pillars-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:18px}
.pillar-card{background:rgba(255,255,255,.82);border:1px solid rgba(140,111,84,.12);border-radius:22px;padding:22px 22px 20px;box-shadow:0 16px 40px rgba(92,69,49,.05)}
.pillar-card h3{margin:10px 0 8px;font-family:'Cormorant Garamond',serif;font-size:1.7rem;line-height:1.04;color:#5d4a3b}
.pillar-card p{color:#77685d;font-size:.92rem;line-height:1.72}
.gallery-soft-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.gallery-soft-card-real{padding:14px}
.gallery-soft-art-real{min-height:250px;background:#efe6db}
.gallery-soft-art-real img{width:100%;height:100%;min-height:250px;object-fit:cover;filter:none}
.page-heading-editorial{max-width:none;padding-top:34px;padding-bottom:12px}
.page-heading-editorial-grid{display:grid;grid-template-columns:minmax(0,1.18fr) 140px;gap:26px;align-items:center;max-width:1040px}
.page-heading-editorial-copy h1{max-width:18ch !important;font-size:clamp(2.15rem,2.9vw,3.5rem) !important;line-height:1.04}
.page-heading-editorial-copy p{max-width:62ch;font-size:.93rem !important;line-height:1.8}
.page-heading-editorial-mark{width:140px;height:140px;border-radius:24px;background:rgba(255,255,255,.78);border:1px solid rgba(140,111,84,.12);display:grid;place-items:center;box-shadow:0 18px 44px rgba(92,69,49,.06)}
.page-heading-editorial-mark img{max-width:86px;max-height:86px;object-fit:contain}
.section-intro-balanced{margin-top:6px}
@media (max-width:1080px){
  .home-editorial-strip,.page-heading-editorial-grid,.gallery-soft-grid-three,.home-pillars-grid{grid-template-columns:1fr}
  .page-heading-editorial-mark{width:120px;height:120px}
  .page-heading-editorial-mark img{max-width:72px;max-height:72px}
}
@media (max-width:760px){
  .editorial-strip-copy,.pillar-card{padding:20px}
  .editorial-strip-media img{min-height:220px}
  .gallery-soft-art-real,.gallery-soft-art-real img{min-height:210px}
  .page-heading-editorial-copy h1{max-width:12ch !important;font-size:clamp(2rem,9vw,2.8rem) !important}
}


/* v14 restaurant-focused cleanup */
.site-header{background:rgba(255,251,246,.9)!important;border-color:rgba(140,111,84,.12)!important;backdrop-filter:blur(18px)}
.brand{color:#4b3a2d!important}
.tagline,.eyebrow{color:#b49675!important}
.site-nav a{color:#4b3a2d!important}
.site-nav .nav-reserve-link,.button-gold{color:#fff9f0!important;background:linear-gradient(135deg,#b8936c 0%,#c8a782 100%)!important;border-color:rgba(140,111,84,.14)!important}
.button-ghost{background:#fffdfa!important;color:#4b3a2d!important;border-color:rgba(140,111,84,.14)!important}

.restaurant-hero{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr);gap:28px;align-items:stretch;margin-top:18px}
.restaurant-hero-copy,.page-intro{padding:28px 0 6px}
.restaurant-hero-copy h1,.page-intro h1{margin:12px 0 16px;font-family:'Cormorant Garamond',serif;font-weight:600;letter-spacing:-.01em;line-height:.98;color:#5b4635}
.restaurant-hero-copy h1{font-size:clamp(3rem,4.7vw,5rem);max-width:11ch}
.restaurant-hero-copy p,.page-intro p{max-width:42rem;font-size:1rem;line-height:1.8;color:#77665b}
.restaurant-hero-media{display:grid;grid-template-rows:1fr auto;gap:18px;padding:18px!important;min-height:620px;background:linear-gradient(145deg,#f5ede2,#e7d5c0)!important}
.restaurant-hero-media img{width:100%;height:100%;object-fit:cover;border-radius:24px;min-height:420px;border:1px solid rgba(140,111,84,.12)}
.restaurant-hero-note{padding:20px 22px;border-radius:20px;background:rgba(255,255,255,.76);border:1px solid rgba(140,111,84,.12)}
.restaurant-hero-note strong{display:block;margin:8px 0 8px;font-family:'Cormorant Garamond',serif;font-size:1.6rem;line-height:1.06;color:#5b4635}
.restaurant-hero-note p{color:#74655a;font-size:.95rem;line-height:1.75}
.restaurant-pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:22px}
.signature-home{margin-top:24px;padding:28px!important}
.section-heading-soft.left{text-align:left}
.section-heading-soft.left h2{max-width:13ch;margin:10px 0 12px;font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,3vw,3rem);line-height:1.02;color:#5c493b}
.section-heading-soft.left p{max-width:52rem;color:#77685d;line-height:1.8}
.cta-house{margin-top:26px}

.page-intro-centered{max-width:900px;margin:0 auto;text-align:center}
.page-intro h1{font-size:clamp(2.6rem,4vw,4.2rem);max-width:none}
.page-intro p{margin:0 auto}
.simple-two-col{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)!important;align-items:center!important}
.simple-two-col h2{max-width:15ch!important;font-size:clamp(1.9rem,2.6vw,3rem)!important;line-height:1.05!important}
.simple-two-col p{max-width:56ch}

.menu-spotlight,.item-row{grid-template-columns:minmax(360px,.88fr) minmax(0,1.12fr)!important}
.menu-spotlight-media,.item-image{min-height:320px!important}
.menu-spotlight-copy,.item-copy{padding:28px 30px!important}
.menu-spotlight-copy h2,.item-copy h2{font-size:clamp(2rem,2.8vw,2.7rem)!important;line-height:1.05!important;color:#5b4635!important}
.feature-meta-row-compact{margin-top:10px}
.feature-meta{padding:12px 14px!important;border-radius:16px!important;background:#fffdfa!important;border:1px solid rgba(140,111,84,.12)!important}
.feature-meta strong{font-size:.72rem!important;color:#8e7158!important}
.feature-meta span{font-size:.86rem!important;line-height:1.6!important;color:#726357!important}

.vip-password-input{color:#4b3b2f!important;background:#fffdfa!important;border:1px solid rgba(140,111,84,.18)!important}
.vip-password-input::placeholder{color:#a08d7f!important;opacity:1}
.vip-unlock-form{display:grid;gap:12px;max-width:560px;margin:22px auto 0}
.vip-unlock-form input{min-height:54px;padding:14px 16px;border-radius:16px}
.form-error{color:#8f3b34;background:#fff1ee;border:1px solid rgba(143,59,52,.12);padding:12px 14px;border-radius:14px;max-width:560px;margin:16px auto 0}
.vip-intro .vip-exit{margin-top:8px;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:#9a7f67}
.booking-form select{cursor:pointer}
.booking-form input[type="date"],.booking-form select{font-weight:500;color:#4b3b2f}
.booking-form input[type="date"]::-webkit-datetime-edit,
.booking-form select{font-family:'Inter',sans-serif}

.footer-clean p{color:#76675c!important}
.footer-clean .footer-brand-title{font-family:'Cormorant Garamond',serif;font-size:1.8rem;color:#5b4635}
.footer-column-title{color:#9d7f63!important;letter-spacing:.18em;text-transform:uppercase;font-size:.7rem}

@media (max-width: 1080px){
  .restaurant-hero,.restaurant-pillars,.simple-two-col{grid-template-columns:1fr!important}
  .restaurant-hero-copy h1{max-width:12ch}
  .restaurant-hero-media{min-height:auto}
}
@media (max-width: 760px){
  .page-shell,.admin-shell{width:min(100% - 20px, 1720px)!important}
  .site-header{grid-template-columns:auto auto!important;gap:12px!important;padding:14px 16px!important}
  .brand-logo{width:44px;height:44px}
  .brand{font-size:1rem;letter-spacing:.14em}
  .tagline{font-size:.56rem;letter-spacing:.24em}
  .menu-toggle{display:flex!important;justify-self:end;background:#fffdfa;border-color:rgba(140,111,84,.14)}
  .site-nav{position:fixed!important;right:10px;top:10px;bottom:10px;width:min(360px,calc(100vw - 20px));padding:74px 16px 16px!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:10px!important;background:#fffdfa!important;border:1px solid rgba(140,111,84,.16)!important;box-shadow:0 30px 80px rgba(55,38,22,.2)!important;border-radius:24px!important;transform:translateX(110%);transition:transform .28s ease;z-index:80;overflow:auto}
  body.nav-open .site-nav{transform:translateX(0)!important}
  .site-nav a{padding:15px 16px!important;border-radius:16px!important;background:#ffffff!important;border:1px solid rgba(140,111,84,.1)!important;font-size:.78rem!important;letter-spacing:.16em!important}
  .nav-close{display:grid!important;place-items:center;position:absolute;top:14px;right:14px;width:40px;height:40px;border:none;border-radius:999px;background:#f2e6d7;color:#6f5a47;font-size:1.5rem;cursor:pointer}
  .nav-overlay{background:rgba(29,22,17,.28)!important;backdrop-filter:blur(8px)!important;z-index:70!important}
  .restaurant-hero-copy,.page-intro{padding-top:12px}
  .restaurant-hero-copy h1,.page-intro h1{font-size:clamp(2.2rem,10vw,3.2rem)!important;max-width:none!important}
  .restaurant-hero-media img{min-height:260px}
  .restaurant-pillars,.gallery-soft-grid-three,.contact-layout,.footer-columns{grid-template-columns:1fr!important}
  .menu-spotlight,.item-row,.menu-spotlight.reverse,.item-row.reverse{grid-template-columns:1fr!important}
  .menu-spotlight.reverse .menu-spotlight-media,.item-row.reverse .item-image{order:0!important}
  .menu-spotlight-copy,.item-copy{padding:22px!important}
}
