
:root{--ink:#11110f;--charcoal:#1f211b;--green:#536634;--olive:#75824c;--sage:#e9eadf;--cream:#fbfaf3;--gold:#c7a05a;--line:rgba(17,17,15,.14);--shadow:0 24px 70px rgba(0,0,0,.16);--radius:10px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;background:#fff;color:var(--ink);line-height:1.65}a{color:inherit}img{max-width:100%;display:block}.container{width:min(1180px,calc(100% - 40px));margin:0 auto}.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);box-shadow:0 6px 30px rgba(0,0,0,.06);transition:.25s}.site-header.scrolled{box-shadow:0 12px 30px rgba(0,0,0,.12)}.top-strip{display:flex;justify-content:center;gap:22px;flex-wrap:wrap;background:var(--charcoal);color:#fff;font-size:.83rem;padding:7px 18px}.top-strip a{text-decoration:none;color:#fff}.nav-wrap{width:min(1220px,calc(100% - 34px));margin:0 auto;display:flex;align-items:center;justify-content:space-between;min-height:84px;gap:24px}.brand picture{display:block}.brand img{width:240px;height:auto}.menu-links{display:flex;align-items:center;gap:4px}.menu-links a{text-decoration:none;text-transform:uppercase;letter-spacing:.09em;font-size:.78rem;font-weight:800;padding:12px 13px;border-radius:10px;color:#25251f}.menu-links a:hover,.menu-links a.active{background:var(--sage);color:var(--green)}.menu-toggle{display:none;background:none;border:0;width:44px;height:44px;padding:9px;cursor:pointer}.menu-toggle span{display:block;height:2px;background:var(--ink);margin:6px 0}.homepage-heroes{scroll-snap-type:y proximity}.hero-panel{min-height:100vh;position:relative;display:grid;align-items:center;overflow:hidden;scroll-snap-align:start}.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.04);animation:heroZoom 16s ease-in-out infinite alternate}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.35),rgba(0,0,0,.12))}.hero-content{position:relative;color:#fff;width:min(760px,calc(100% - 44px));margin-left:max(22px,calc((100vw - 1180px)/2));padding:170px 0 80px}.eyebrow{letter-spacing:.24em;text-transform:uppercase;font-weight:800;font-size:.76rem;color:var(--gold);margin:0 0 18px}.hero-content h1,.page-hero h1{font-family:'Lora',Georgia,serif;font-size:clamp(3rem,7vw,6.9rem);line-height:.93;margin:0 0 24px;max-width:890px}.hero-content p:not(.eyebrow){font-size:clamp(1.05rem,1.7vw,1.35rem);max-width:650px;margin:0 0 32px;color:rgba(255,255,255,.9)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;border-radius:10px;text-decoration:none;font-weight:800;letter-spacing:.02em;border:1px solid transparent}.btn.primary{background:var(--green);color:#fff}.btn.ghost{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.45);backdrop-filter:blur(8px)}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.scroll-hint{position:fixed;right:22px;bottom:22px;z-index:5;color:#fff;background:rgba(0,0,0,.35);padding:9px 12px;border-radius:10px;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}.content-section{padding:96px 0;background:#fff}.intro-section{background:linear-gradient(180deg,#fff,var(--cream))}.muted{background:var(--cream)}.two-col{display:grid;grid-template-columns:.75fr 1.4fr;gap:72px;align-items:start}.section-kicker{font-weight:800;color:var(--green);text-transform:uppercase;letter-spacing:.18em;font-size:.78rem}.intro-media{display:flex;flex-direction:column;gap:18px;align-self:start}.intro-media img{width:100%;height:360px;max-height:360px;object-fit:cover;border-radius:10px;box-shadow:0 18px 48px rgba(0,0,0,.10);margin-top:0}.content-section h2{font-family:'Lora',Georgia,serif;font-size:clamp(2rem,4vw,3.7rem);line-height:1.05;margin:0 0 22px}.content-section p{font-size:1.03rem;color:#44443d}.feature-band{background:var(--charcoal);color:#fff;padding:70px 0}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.feature-grid article{border:1px solid rgba(255,255,255,.15);border-radius:10px;padding:30px;background:rgba(255,255,255,.04)}.feature-grid span{color:var(--gold);font-weight:900}.feature-grid h3{font-size:1.35rem;margin:16px 0 8px}.feature-grid p{color:rgba(255,255,255,.72);margin:0}.page-hero{min-height:54vh;background-size:cover;background-position:center;display:grid;align-items:end;position:relative;color:#fff}.page-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.28),rgba(0,0,0,.72))}.page-hero>div{position:relative;width:min(1180px,calc(100% - 40px));margin:0 auto;padding:150px 0 70px}.page-hero h1{font-size:clamp(2.8rem,6vw,5.7rem)}.cards{display:grid;grid-template-columns:1fr 1fr;gap:24px}.cards article,.contact-card{border:1px solid var(--line);border-radius:10px;padding:34px;background:#fff;box-shadow:0 18px 48px rgba(0,0,0,.06)}.layout-col{align-items:start}.layout-image{background:#fff;padding:8px;border-radius:10px;box-shadow:var(--shadow);border:0}.layout-image img{display:block;width:100%;height:auto!important;max-width:100%;max-height:none;aspect-ratio:auto;object-fit:contain;border-radius:10px;margin:auto}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.gallery-item{position:relative;overflow:hidden;border-radius:10px;aspect-ratio:4/3;background:var(--sage);box-shadow:0 14px 36px rgba(0,0,0,.09)}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .45s}.gallery-item:hover img{transform:scale(1.06)}.gallery-item span{position:absolute;left:12px;bottom:12px;background:rgba(0,0,0,.58);color:#fff;padding:7px 11px;border-radius:10px;font-size:.78rem;font-weight:700}.docs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.doc-card{display:flex;justify-content:space-between;gap:18px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:24px;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.05)}.doc-card h2{font-family:Inter,sans-serif;font-size:1.1rem;line-height:1.25;margin:0 0 5px}.doc-card p{font-size:.94rem;margin:0;color:#66665f}.doc-card a{white-space:nowrap;text-decoration:none;background:var(--green);color:#fff;border-radius:10px;padding:10px 15px;font-weight:800}.contact-grid{display:grid;grid-template-columns:1.25fr .9fr;gap:24px}.contact-card h2{font-family:'Lora',Georgia,serif;font-size:2rem;margin:0 0 18px}.contact-card.dark{background:var(--charcoal);color:#fff}.contact-card.dark a{color:#fff}.contact-card.dark p{color:rgba(255,255,255,.78)}.site-footer{background:#11110f;color:#fff;padding:64px 0 24px}.footer-grid{width:min(1180px,calc(100% - 40px));margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px}.footer-logo-wrap{display:block;width:180px;margin-bottom:18px}.footer-logo{width:180px;height:auto;background:transparent;border-radius:10px;padding:0;margin:0}.site-footer h3{margin:0 0 14px;color:var(--gold);font-size:.98em}.site-footer p,.site-footer li{color:rgba(255,255,255,.72);font-size:.95rem}.site-footer a{color:#fff}.site-footer ul{margin:0;padding-left:18px}.footer-bottom{width:min(1180px,calc(100% - 40px));margin:38px auto 0;border-top:1px solid rgba(255,255,255,.12);padding-top:18px;color:rgba(255,255,255,.62);font-size:.9rem}@keyframes heroZoom{from{transform:scale(1.03)}to{transform:scale(1.11)}}@media(max-width:900px){.layout-image{width:100%;}.layout-image img{width:100%;height:auto!important;max-height:none;object-fit:contain;}.intro-media img{margin-top:0;height:auto;max-height:none;aspect-ratio:4/3}.top-strip{display:none}.nav-wrap{min-height:72px}.brand img{width:190px}.menu-toggle{display:block}.menu-links{position:absolute;top:72px;left:17px;right:17px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);display:none;flex-direction:column;padding:12px}.menu-links.open{display:flex}.menu-links a{width:100%;text-align:center}.hero-content{padding:120px 0 54px}.hero-content h1{font-size:clamp(2.6rem,15vw,4.4rem)}.two-col,.feature-grid,.cards,.docs-grid,.contact-grid,.footer-grid{grid-template-columns:1fr}.content-section{padding:64px 0}.gallery-grid{grid-template-columns:repeat(2,1fr)}.doc-card{align-items:flex-start;flex-direction:column}.scroll-hint{display:none}}@media(max-width:560px){.container,.nav-wrap,.page-hero>div,.footer-grid,.footer-bottom{width:min(100% - 28px,1180px)}.hero-content{width:calc(100% - 28px);margin-left:14px}.hero-actions{flex-direction:column;align-items:center}.hero-actions .btn{width:min(82%,340px)}.gallery-grid{grid-template-columns:1fr}.page-hero{min-height:46vh}.page-hero h1{font-size:2.8rem}}

/* Update: homepage hero now auto-scrolls horizontally instead of vertically. */
.homepage-heroes{
  height:100vh;
  overflow:hidden;
  scroll-snap-type:none;
  position:relative;
}
.hero-track{
  display:flex;
  width:300%;
  height:100%;
  animation:heroSlideHorizontal 18s ease-in-out infinite;
}
.hero-panel{
  min-height:100vh;
  height:100vh;
  width:100vw;
  flex:0 0 100vw;
  scroll-snap-align:none;
}
.hero-content h1{
  font-size:clamp(2.25rem,5.25vw,5.2rem);
}
.scroll-hint{
  z-index:20;
}
@keyframes heroSlideHorizontal{
  0%,27%{transform:translateX(0)}
  33%,60%{transform:translateX(-100vw)}
  66%,94%{transform:translateX(-200vw)}
  100%{transform:translateX(0)}
}
@media(max-width:900px){
  .hero-content h1{font-size:clamp(1.95rem,11.25vw,3.3rem)}
  .hero-track{animation-duration:20s}
}
@media(prefers-reduced-motion:reduce){
  .hero-track{animation:none}
}


/* Gallery popup / lightbox */
.gallery-lightbox{
  position:fixed;
  inset:0;
  z-index:3000;
  display:none;
  background:rgba(0,0,0,.88);
  color:#fff;
}
.gallery-lightbox.open{
  display:flex;
  align-items:center;
  justify-content:center;
}
body.lightbox-open{
  overflow:hidden;
}
.lightbox-scroll{
  width:min(1120px,calc(100vw - 100px));
  max-height:calc(100vh - 56px);
  overflow:auto;
  padding:26px 0;
  scrollbar-width:thin;
}
.lightbox-figure{
  margin:0 auto;
  width:max-content;
  max-width:100%;
  text-align:center;
}
.lightbox-figure img{
  max-width:100%;
  width:auto;
  height:auto;
  max-height:none;
  border-radius:10px;
  box-shadow:0 24px 80px rgba(0,0,0,.55);
  background:#fff;
}
.lightbox-figure figcaption{
  margin-top:12px;
  font-size:.9rem;
  color:rgba(255,255,255,.78);
}
.lightbox-close,
.lightbox-nav{
  position:absolute;
  border:0;
  background:rgba(255,255,255,.14);
  color:#fff;
  cursor:pointer;
  border-radius:10px;
  backdrop-filter:blur(10px);
  transition:background .2s, transform .2s;
}
.lightbox-close:hover,
.lightbox-nav:hover{
  background:rgba(255,255,255,.24);
  transform:scale(1.04);
}
.lightbox-close{
  top:20px;
  right:20px;
  width:46px;
  height:46px;
  font-size:2rem;
  line-height:1;
}
.lightbox-nav{
  top:50%;
  transform:translateY(-50%);
  width:54px;
  height:54px;
  font-size:3rem;
  line-height:.8;
}
.lightbox-nav:hover{
  transform:translateY(-50%) scale(1.04);
}
.lightbox-prev{left:22px}
.lightbox-next{right:22px}
@media(max-width:700px){
  .lightbox-scroll{width:calc(100vw - 28px);max-height:calc(100vh - 110px);padding:18px 0 88px}
  .lightbox-close{top:12px;right:12px;width:42px;height:42px}
  .lightbox-nav{top:auto;bottom:18px;transform:none;width:48px;height:48px;font-size:2.5rem}
  .lightbox-nav:hover{transform:scale(1.04)}
  .lightbox-prev{left:calc(50% - 58px)}
  .lightbox-next{right:calc(50% - 58px)}
}


/* About page wine route image */
.about-wine-media{display:flex;flex-direction:column;gap:22px;align-self:stretch;height:100%}
.about-wine-media img{width:100%;height:100%;min-height:0;border-radius:10px;box-shadow:var(--shadow);border:1px solid var(--line);object-fit:cover;object-position:top center;aspect-ratio:auto}
.about-wine-row{align-items:stretch}

/* Hide the visible browser scrollbar on the gallery page while keeping the page scrollable. */






/* Footer credit, social links and scroll-to-top */
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.footer-credit a{color:#fff;text-decoration:none;font-weight:800}
.footer-credit a:hover{text-decoration:underline}
.social-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.social-links a{display:inline-flex;align-items:center;gap:8px;text-decoration:none;border:1px solid rgba(255,255,255,.18);border-radius:10px;padding:9px 12px;background:rgba(255,255,255,.06);font-weight:800;font-size:.9rem;color:#fff}
.social-links a:hover{background:rgba(255,255,255,.12)}
.social-links svg{width:18px;height:18px;fill:currentColor;display:block}
.scroll-top{position:fixed;right:20px;bottom:20px;z-index:2500;width:46px;height:46px;border:0;border-radius:10px;background:var(--green);color:#fff;font-size:1.55rem;line-height:1;box-shadow:0 16px 40px rgba(0,0,0,.22);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .2s,visibility .2s,transform .2s,background .2s}
.scroll-top.visible{opacity:1;visibility:visible;transform:translateY(0)}
.scroll-top:hover{background:var(--charcoal)}
@media(max-width:700px){.footer-bottom{align-items:flex-start;flex-direction:column}.scroll-top{right:14px;bottom:14px;width:42px;height:42px}}

/* Update: make internal page mastheads more compact and reduce heading width/font size. */
.page-hero{
  min-height:32vh;
}
.page-hero.small{
  min-height:30vh;
}
.page-hero>div{
  padding:96px 0 38px;
}
.page-hero h1{
  font-size:clamp(1.75rem,3.2vw,3.15rem);
  line-height:1.05;
  max-width:620px;
  margin-bottom:0;
}
.page-hero .eyebrow{
  margin-bottom:12px;
}
@media(max-width:900px){
  .page-hero,
  .page-hero.small{
    min-height:30vh;
  }
  .page-hero>div{
    padding:86px 0 34px;
  }
  .page-hero h1{
    font-size:clamp(1.65rem,8vw,2.6rem);
    max-width:92%;
  }
}

/* Update: compact icon-only social links and top strip layout */
.top-strip{padding:0;background:var(--charcoal)}
.top-strip-inner{width:min(1220px,calc(100% - 34px));margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:7px 0;color:#fff}
.top-strip-inner span{margin-right:auto}
.top-social-links{display:flex;align-items:center;gap:8px;margin-left:auto}
.top-social-links a{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid rgba(255,255,255,.22);border-radius:10px;color:#fff;text-decoration:none;background:rgba(255,255,255,.06)}
.top-social-links a:hover{background:rgba(255,255,255,.14)}
.top-social-links svg{width:14px;height:14px;fill:currentColor;display:block}
.social-links a{width:46px;height:46px;justify-content:center;padding:0;gap:0}
.social-links svg{width:19px;height:19px}
@media(max-width:900px){.top-strip{display:block}.top-strip-inner{width:min(100% - 28px,1220px);font-size:.76rem;padding:6px 0}.top-social-links a{width:26px;height:26px}.top-social-links svg{width:13px;height:13px}}
@media(max-width:520px){.top-strip-inner{gap:10px}.top-strip-inner span{line-height:1.25}.top-social-links{gap:6px}}

/* Contact page redesign */
.contact-page-section{background:linear-gradient(180deg,#f7f8f4 0,#fff 42%)}
.contact-intro{max-width:760px;margin-bottom:34px}.contact-intro h2{font-size:clamp(1.8rem,3vw,2.6rem);margin:.2rem 0 .7rem}
.contact-role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:28px}
.contact-role-card,.contact-panel,.municipal-panel,.contact-form-wrap{background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 16px 42px rgba(31,45,34,.07)}
.contact-role-card{padding:24px}.contact-role-card h3{font-size:1.35rem;margin:7px 0 12px}.contact-role-card p:last-child{color:var(--muted);margin-bottom:0}.contact-role-label{display:inline-flex;padding:5px 10px;border-radius:10px;background:#eef4ec;color:var(--green);font-weight:800;font-size:.76rem;text-transform:uppercase;letter-spacing:.05em}
.contact-info-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:18px;margin:18px 0 28px}.contact-panel{padding:26px}.contact-panel--security{background:var(--green);color:#fff;border-color:transparent}.contact-panel--security h2,.contact-panel--security .eyebrow{color:#fff}.contact-panel--security a{color:#fff}
.contact-number-list{list-style:none;padding:0;margin:18px 0 0}.contact-number-list li{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid rgba(90,103,91,.16)}.contact-number-list li:last-child{border-bottom:0}.contact-number-list span{font-weight:700}.contact-number-list a{font-weight:800;white-space:nowrap}
.municipal-panel{display:grid;grid-template-columns:1.05fr .95fr;gap:30px;padding:30px;margin-bottom:34px}.municipal-links{padding-left:20px;margin:18px 0 0}.municipal-links li{margin:9px 0}.municipal-notes{display:grid;gap:14px}.municipal-notes>div{background:#f6f5ef;border-radius:10px;padding:18px}.municipal-notes h3{margin:0 0 7px;font-size:1rem}.municipal-notes p{margin:0;color:var(--muted)}
.contact-form-wrap{display:grid;grid-template-columns:.78fr 1.22fr;gap:34px;padding:34px}.contact-form-copy h2{font-size:clamp(1.6rem,2.7vw,2.25rem);margin:.2rem 0 .75rem}.contact-form-recipient{font-weight:800;color:var(--green)}.estate-contact-form{display:grid;gap:15px}.estate-contact-form label{display:grid;gap:7px;font-size:.87rem;font-weight:800;color:var(--charcoal)}.estate-contact-form input,.estate-contact-form select,.estate-contact-form textarea{width:100%;border:1px solid #cfd6cf;border-radius:10px;background:#fff;padding:12px 13px;font:inherit;color:var(--charcoal);outline:none}.estate-contact-form textarea{resize:vertical}.estate-contact-form input:focus,.estate-contact-form select:focus,.estate-contact-form textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(42,87,51,.1)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.contact-submit{justify-self:start;border:0;cursor:pointer}.contact-submit[disabled]{opacity:.65;cursor:wait}.form-note{font-size:.8rem;color:var(--muted);margin:0}.form-status{display:none;border-radius:10px;padding:13px 14px;font-weight:700}.form-status.is-success{display:block;background:#edf6ed;color:#1f5a2b;border:1px solid #b9d9bd}.form-status.is-error{display:block;background:#fff0ef;color:#8c2f28;border:1px solid #ebc2be}.form-reference{font-size:1.1rem;display:block;margin-top:4px}
@media(max-width:900px){.contact-role-grid{grid-template-columns:1fr}.contact-info-grid,.municipal-panel,.contact-form-wrap{grid-template-columns:1fr}.contact-form-wrap{padding:26px}.form-row{grid-template-columns:1fr}}
@media(max-width:600px){.contact-role-card,.contact-panel,.municipal-panel,.contact-form-wrap{border-radius:10px}.municipal-panel{padding:22px}.contact-number-list li{align-items:flex-start;flex-direction:column;gap:3px}.contact-form-wrap{padding:22px}}


/* Accessible homepage hero carousel controls */
.hero-track{
  animation:none !important;
  transform:translateX(0);
  transition:transform .65s ease;
  will-change:transform;
}
.hero-controls{
  position:absolute;
  inset:0;
  z-index:30;
  pointer-events:none;
}
.hero-center-controls{
  position:absolute;
  left:50%;
  bottom:28px;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 10px;
  background:rgba(17,17,15,.28);
  border:1px solid rgba(255,255,255,.20);
  border-radius:10px;
  backdrop-filter:blur(6px);
  pointer-events:auto;
}
.hero-nav,.hero-pause,.hero-dot{
  border:0;
  border-radius:10px;
  cursor:pointer;
  color:#fff;
  background:rgba(17,17,15,.22);
}
.hero-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:46px;
  height:46px;
  font-size:2rem;
  line-height:1;
  display:grid;
  place-items:center;
  pointer-events:auto;
  border:1px solid rgba(255,255,255,.20);
  backdrop-filter:blur(5px);
}
.hero-prev{left:24px}
.hero-next{right:24px}
.hero-dots{display:flex;align-items:center;gap:8px;padding:0 2px}
.hero-dot{
  width:12px;
  height:12px;
  padding:0;
  border:2px solid rgba(255,255,255,.85);
  background:transparent;
}
.hero-dot.is-active{background:#fff}
.hero-pause{
  min-height:40px;
  padding:8px 12px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-weight:700;
  font-size:.82rem;
}
.hero-nav:hover,.hero-pause:hover,.hero-nav:focus-visible,.hero-pause:focus-visible{background:rgba(17,17,15,.38)}
.hero-nav:focus-visible,.hero-pause:focus-visible,.hero-dot:focus-visible{
  outline:2px solid #fff;
  outline-offset:2px;
}
.zwce-visually-hidden{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
@media(max-width:560px){
  .hero-controls{
    inset:auto auto 16px 50%;
    transform:translateX(-50%);
    display:flex;
    align-items:center;
    gap:7px;
    padding:7px 8px;
    background:rgba(17,17,15,.28);
    border:1px solid rgba(255,255,255,.20);
    border-radius:10px;
    backdrop-filter:blur(6px);
    pointer-events:auto;
    white-space:nowrap;
  }
  .hero-center-controls{
    position:static;
    transform:none;
    display:flex;
    align-items:center;
    gap:7px;
    padding:0;
    background:transparent;
    border:0;
    backdrop-filter:none;
  }
  .hero-nav{position:static;transform:none;width:36px;height:36px;font-size:1.7rem}
  .hero-pause{min-height:36px;padding:7px 9px}
  .hero-pause-label{display:none}
}
@media(prefers-reduced-motion:reduce){
  .hero-track{transition:none}
}

/* Typography first-pass refinement: 2026-08-19 */
html{
  font-size:15px;
}

/* Match homepage hero H1 more closely to the compact inner-page masthead scale. */
.hero-content h1{
  font-size:clamp(1.75rem,3.2vw,3.15rem);
  line-height:1.05;
  max-width:620px;
}

/* Calmer section-heading scale across content sections. */
.content-section h2{
  font-size:clamp(1.65rem,2.8vw,2.55rem);
  line-height:1.12;
}

@media(max-width:900px){
  .hero-content h1{
    font-size:clamp(1.65rem,8vw,2.6rem);
    max-width:92%;
  }
  .content-section h2{
    font-size:clamp(1.55rem,6.5vw,2.2rem);
  }
}

/* Review update: equal vertical masthead spacing on all inner pages. */
.page-hero,
.page-hero.small{
  align-items:center;
}
.page-hero>div{
  padding:56px 0;
}
@media(max-width:900px){
  .page-hero>div{
    padding:44px 0;
  }
}

/* Review update: keep the normal browser scrollbar visible on the Gallery page. */
body.gallery-page{
  overflow-y:auto;
}

.field-optional{font-weight:400;color:#6b6b63;font-size:.9em;}

/* Footer bottom: copyright left, website documentation centred, credit right. */
.footer-bottom{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center;
  gap:22px;
}
.footer-docs-link{justify-self:center;text-align:center;color:rgba(255,255,255,.38)!important;text-decoration:none;font-size:.82rem;font-weight:500}
.footer-docs-link:hover,.footer-docs-link:focus-visible{color:rgba(255,255,255,.68)!important;text-decoration:underline}
.footer-credit{justify-self:end;text-align:right}
@media(max-width:700px){
  .footer-bottom{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
  }
  .footer-docs-link,.footer-credit{justify-self:auto;text-align:left}
}

/* Website documentation index. */
.website-docs-intro{padding:64px 0 34px;background:linear-gradient(180deg,#fff,var(--cream))}
.website-docs-intro p{max-width:780px;margin:0;color:#4c4c45}
.website-docs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.website-doc-card{border:1px solid var(--line);border-radius:10px;padding:24px;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.05);display:flex;flex-direction:column;gap:9px}
.website-doc-card h2{font-family:'Lora',Georgia,serif!important;font-size:1.08rem!important;line-height:1.3!important;margin:0!important}
.website-doc-card p{font-size:.94rem;margin:0;color:#66665f;flex:1}
.website-doc-card a{align-self:flex-start;text-decoration:none;background:var(--green);color:#fff;border-radius:10px;padding:10px 15px;font-weight:800}
.website-doc-card a:hover{background:var(--olive)}
@media(max-width:760px){.website-docs-grid{grid-template-columns:1fr}}

/* Client typography update: consistent Lora headings and compact H1 scale */
h1,h2,h3{font-family:'Lora',Georgia,serif!important}
h1{font-size:clamp(1.25rem,2.2vw,1.875rem)!important}

/* Compact responsive heading hierarchy */
h2{font-size:clamp(1.125rem,1.9vw,1.625rem)!important}
h3{font-size:clamp(1rem,1.5vw,1.375rem)!important}

/* Client review: reduce homepage hero supporting text by approximately 15%. */
.hero-content p:not(.eyebrow){
  font-size:clamp(.9rem,1.45vw,1.15rem);
}

/* Keep desktop/tablet hero text clear of side navigation arrows. */
@media (min-width:561px) and (max-width:1350px){
  .hero-content{
    width:min(620px,calc(100% - 168px));
    margin-left:84px;
    margin-right:84px;
  }
  .hero-content h1{
    max-width:100%;
  }
}

@media(max-width:900px){.about-wine-row{align-items:start}.about-wine-media{height:auto;align-self:start}.about-wine-media img{height:auto;aspect-ratio:4/3;object-position:center}}
