/* Copied from original styles, unchanged */
:root { --green-900:#0f2e1e; --cream-100:#e8dfc8; --cream-200:#d9cfb6; --gold-300:#c9b78a; --surface-ink:rgba(0,0,0,0.5); --max-width:1120px; }
*{box-sizing:border-box}
html{height:100%}
body{margin:0;background:var(--green-900);color:var(--cream-100);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";line-height:1.6;min-height:100vh}
img{max-width:100%;height:auto;display:block}
.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 20px}
h1,h2,h3{font-family:"Playfair Display",Georgia,serif;letter-spacing:.2px;margin:0 0 12px}
h1{font-size:42px;line-height:1.2}h2{font-size:28px}h3{font-size:22px}
.lead{font-size:18px;color:var(--cream-200)}
.muted{color:var(--cream-200)}.small{font-size:14px}
/* Links */
a{color:var(--cream-100);text-decoration-color:rgba(233,223,200,.5)}
a:visited{color:var(--cream-100)}
a:hover{color:var(--gold-300);text-decoration-color:var(--gold-300)}
a:active{color:var(--gold-300)}
a:focus-visible{outline:2px solid var(--gold-300);outline-offset:2px;border-radius:2px}
.site-header{position:sticky;top:0;z-index:9999;backdrop-filter:saturate(120%) blur(6px);background:rgba(15,46,30,.95);border-bottom:1px solid rgba(233,223,200,.08);display:grid;grid-template-columns:auto 1fr auto;align-items:center}
.site-header .brand{display:flex;align-items:center;padding:14px 20px;text-decoration:none;color:var(--cream-100)}
.brand-logo{height:48px;width:auto;display:block}
.site-nav{display:flex;gap:18px;padding:0 20px}
.nav-link{color:var(--cream-100);text-decoration:none;padding:10px 6px;border-bottom:2px solid transparent}
.nav-link:hover,.nav-link.is-active{border-color:var(--gold-300)}
.nav-toggle{display:none;margin-right:12px;background:transparent;color:var(--cream-100);border:none;padding:8px;position:relative;width:44px;height:36px;justify-self:end}
.nav-toggle:focus{outline:none}
.nav-toggle .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hamburger, .hamburger::before, .hamburger::after{
  position:absolute; display:block; height:2px; background:var(--cream-100);
  border-radius:1px; width:24px; left:50%; margin-left:-12px; transition:none;
}
.hamburger{ top:50%; transform:translateY(-50%); }
.hamburger::before{ content:""; top:-7px; }
.hamburger::after{ content:""; top:7px; }
.hero{padding:48px 0 48px;text-align:left}
.hero-cta{margin-top:18px;display:flex;gap:12px;flex-wrap:wrap}
.button{background:var(--cream-100);color:var(--green-900);padding:10px 16px;border-radius:8px;text-decoration:none;border:none;display:inline-block;font-weight:600;cursor:pointer}

.button:link,.button:visited{color:var(--green-900)}
.button:hover{filter:brightness(1.05)}
/* Ensure button text inside anchor tags has no underline */
a .button{text-decoration:none !important}
a .button:hover{text-decoration:none !important}
.button-secondary{background:transparent;color:var(--cream-100);border:1px solid rgba(233,223,200,.35)}
.button-secondary:link,.button-secondary:visited{color:var(--cream-100)}
/* Slightly taller CTA on Wine Club page */
.page-wine_club .button{padding:12px 16px}
.highlights{padding:20px 0 64px}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.card{background:rgba(233,223,200,.04);border:1px solid rgba(233,223,200,.08);padding:18px;border-radius:12px}
.gallery{padding:8px 0 48px}
.image-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.image-grid img,.image-row img{width:100%;height:100%;object-fit:cover;border-radius:12px;border:1px solid rgba(233,223,200,.08);background:rgba(233,223,200,.02)}
.image-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}
.page-location .image-row{margin-bottom:28px}
.mt{margin-top:18px}
/* Intentional image sizing and cropping */
.split-media{aspect-ratio:4/3}
.split-media img{width:100%;height:100%;object-fit:cover;border-radius:12px;border:1px solid rgba(233,223,200,.08);background:rgba(233,223,200,.02)}
.image-row img{height:auto;aspect-ratio:4/3}
/* Ensure inline images in prose also get rounded corners */
.prose img{border-radius:12px;border:1px solid rgba(233,223,200,.08);background:rgba(233,223,200,.02)}
.split{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"content media";gap:24px;align-items:center;padding:24px 0}
.split.reverse{grid-template-areas:"media content"}
.split-content{grid-area:content}
.split-media{grid-area:media;overflow:hidden}
.menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:12px}
.menu-list{list-style:none;padding:0;margin:0;border-top:1px solid rgba(233,223,200,.12)}
.menu-list li{display:grid;grid-template-columns:1fr auto auto;align-items:end;gap:10px;padding:10px 0;border-bottom:1px solid rgba(233,223,200,.06)}
.menu-list .dots{border-bottom:1px dotted rgba(233,223,200,.35);height:1em}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.contact-form label{display:grid;gap:6px;margin-bottom:12px}
.contact-form input,.contact-form textarea{background:rgba(233,223,200,.06);border:1px solid rgba(233,223,200,.2);color:var(--cream-100);border-radius:8px;padding:10px 12px;font:inherit}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:rgba(233,223,200,.6)}
.site-footer{margin-top:48px;border-top:1px solid rgba(233,223,200,.08);padding:28px 0;color:var(--cream-200);text-align:center}
.site-footer a{color:var(--cream-100);text-decoration:underline;text-decoration-color:rgba(233,223,200,.4)}
.site-footer a:hover{color:var(--gold-300);text-decoration-color:var(--gold-300)}
.newsletter{display:grid;gap:8px;margin:0 auto 0;max-width:560px}
.newsletter-label{font-weight:600;color:var(--cream-100)}
.newsletter-row{display:grid;grid-template-columns:1fr auto;gap:8px}
.newsletter input{background:rgba(233,223,200,.06);border:1px solid rgba(233,223,200,.2);color:var(--cream-100);border-radius:8px;padding:10px 12px;font:inherit}
.newsletter input::placeholder{color:rgba(233,223,200,.6)}
.newsletter .newsletter-message{min-height:0;margin:6px 0 0;color:var(--cream-200)}
.newsletter-section{padding:8px 0 40px}
.newsletter-card{background:rgba(233,223,200,.04);border:1px solid rgba(233,223,200,.12);border-radius:14px;padding:18px 18px 20px;display:grid;grid-template-columns:1.2fr 1fr;gap:20px;align-items:center;margin-bottom:15px;}
.newsletter-copy{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center}
.newsletter-icon{color:var(--gold-300);display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:rgba(233,223,200,.06);border:1px solid rgba(233,223,200,.12)}
.newsletter-title{margin:4px 0 0}
.newsletter-eyebrow{letter-spacing:.4px;text-transform:uppercase;color:var(--cream-200)}
.prose p,.prose ul{color:var(--cream-100)}.prose ul{padding-left:18px}
/* Consistent spacing under sticky header on all pages */
body main{padding-top:24px}
@media (max-width:900px){.grid-3,.menu-grid{grid-template-columns:1fr 1fr}.split{grid-template-columns:1fr;grid-template-areas:"content" "media";row-gap:20px;padding-bottom:24px}}
@media (max-width:640px){
  .site-header{grid-template-columns:auto 1fr}
  .site-nav{display:none;grid-column:1/-1;padding:8px 20px 16px}
  .nav-toggle{display:inline-block}
  .site-nav.open{display:flex;flex-direction:column}
  /* Ensure consistent horizontal padding on small screens */
  body .container{padding:0 20px}
  .grid-3,.menu-grid,.contact-grid,.image-row{grid-template-columns:1fr}
  .image-grid{grid-template-columns:1fr 1fr}
  h1{font-size:34px}
  .brand-title{font-size:42px}
  body main{padding-top:16px}
  .hero{padding-top:16px}
  /* Mobile split: stack cleanly, predictable spacing */
  .split{display:block;padding:16px 0 28px}
  .split-content h2{margin-bottom:8px}
  .split-content p{margin-top:0}
  .split .split-media{margin-top:16px}
  /* Extra separation between consecutive sections */
  .split + .split{margin-top:16px}
  /* Enforce consistent image crop on mobile */
  .split-media{aspect-ratio:3/2}
  .split-media img{display:block;width:100%;height:100%;object-fit:cover}
  .image-row img{aspect-ratio:3/2}
  /* Full-width buttons on mobile */
  .hero-cta{flex-direction:column}
  .button,.button.button-secondary{display:block;width:100%;text-align:center;font-size:16px;padding:14px 16px}
  .newsletter-row{grid-template-columns:1fr}
  .newsletter-card{grid-template-columns:1fr;gap:14px}
  .newsletter-icon{width:40px;height:40px}
  .newsletter-card{padding:14px}
  .newsletter-section{padding-bottom:48px}
}


