/* Supplied Oakvale typography. Tracking 30 / 44 equals .03em / .044em. */
@font-face {
  font-family: "Windslow";
  src: url('/assets/brand/windslow.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Neutra Text";
  src: url('/assets/brand/NeutraText-Book.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
:root {
  --paper: #FAF7F2;
  --ink: #2A2E1F;
  --green: #2A2E1F;
  --brown: #2A2E1F;
  --muted: #606357;
  --serif: "Windslow", Georgia, serif;
  --sans: "Neutra Text", Arial, Helvetica, sans-serif;
  --title-tracking: .03em;
  --copy-tracking: .044em;
  --title-leading: 1.21;
  --copy-leading: 1.4;
}
body {
  font-family: var(--sans);
  line-height: var(--copy-leading);
  letter-spacing: var(--copy-tracking);
}
/* Recompute em tracking at each element's font size instead of inheriting pixels. */
body :where(*) {
  letter-spacing: var(--text-tracking, var(--copy-tracking));
}
body :is(h1,h2,h3,h4,h5,h6,.menu-main>a,.menu-venture summary,.menu-discover>summary,.menu-experiences,.price-total,.bottle-name,.additional-services summary,.booking-preview summary) {
  --text-tracking: var(--title-tracking);
  font-family: var(--serif);
  line-height: var(--title-leading);
  letter-spacing: var(--title-tracking);
}
body :is(p,li,dd,dt,label,legend,figcaption,.intro-copy,.wine-character,.eyebrow,.cellar-kicker,.bottle-kind,.wine-object-caption,.wine-awards h3,.menu-world h2,.menu-follow>span,.cellar-select-hint,.menu-stays a,.menu-bottom a,.menu-socials a,.wine-switch-number,.cellar-hero-bottom>span) {
  --text-tracking: var(--copy-tracking);
  font-family: var(--sans);
  line-height: var(--copy-leading);
  letter-spacing: var(--copy-tracking);
}
body :is(button,input,select,textarea,.button,.text-button) {
  --text-tracking: var(--copy-tracking);
  font-family: var(--sans);
  letter-spacing: var(--copy-tracking);
  line-height: var(--copy-leading);
}
.intro-copy { color: var(--muted); }
/* Close controls use a clear icon independently of the copy font glyphs. */
.dialog-close { display:grid; place-items:center; }
.dialog-close svg { width:24px; height:24px; }
/* Preserve the personal handwritten style of the homepage family letter. */
body .family-letter,
body .family-letter p {
  --text-tracking: .005em;
  font-family: "Oakvale Handwriting", "Segoe Print", cursive;
  letter-spacing: .005em;
  line-height: 1.45;
}
body .family-letter .note-signature { line-height: 1.25; }
/* Apply the copy specification to nested UI labels. */
body .scholarship>p:not(.eyebrow),
body .booking-bar .date-open,
body .room-layout-grid .eyebrow,
body .booking-dialog .field-help,
body .wine-dialog-top>.cellar-kicker {
  font-family: var(--sans);
  letter-spacing: var(--copy-tracking);
  line-height: var(--copy-leading);
}
.site-header.scrolled,.menu-open .site-header,.menu-overlay { background-color: var(--paper); }
.menu-overlay {
  background-image: linear-gradient(110deg,#FAF7F2b3,#FAF7F2bf 50%,#FAF7F2b3),url('/assets/oakvale-leaf-pattern.svg');
  border-color: #2A2E1F26;
}
.menu-world h2,.menu-follow { color: var(--muted); }
.button.solid { background: var(--green); border-color: var(--green); color: var(--paper); }
.button { border-color: #2A2E1F80; }
.brand img,.site-header.scrolled .brand img,.menu-open .brand img { filter: none; }
.brand .logo-dark { opacity: 0; }
.brand .logo-light { position:absolute; inset:0; }
.brand img { transition: opacity .25s,height .35s; }
.site-header.scrolled .logo-dark,.menu-open .brand .logo-dark { opacity: 1; }
.site-header.scrolled .logo-light,.menu-open .brand .logo-light { opacity: 0; }
.footer-brand .logo-light { display: none; }
/* Footer columns share one type scale, regardless of heading level. */
.footer-top :is(h2,h3) {
  font-size: 1.625rem;
  margin-bottom: 22px;
}
.footer-top :is(p,a,.text-button) {
  font-size: 1rem;
  line-height: var(--copy-leading);
}
.footer-top>div { min-width: 0; }
.footer-top a { max-width: 100%; overflow-wrap: anywhere; }
.footer-bottom>div { flex-wrap: wrap; }
.property-wordmark { display:block; width:min(320px,70vw); height:auto; margin:0 auto; }
.cellar-brand-logo { display:block; width:min(238px,65vw); height:auto; margin:0 auto 34px; }
.cellar-collection,.cellar-terroir-copy,.cellar-olive,.distributor { background-color:var(--paper); }
body:has(main>.page-title) .site-header { color:var(--ink); background:var(--paper); }
body:has(main>.page-title) .brand .logo-dark { opacity:1; }
body:has(main>.page-title) .brand .logo-light { opacity:0; }
.gallery-summary { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:18px; margin:24px 0; }
.gallery-summary .gallery-count { margin:0; }
.gallery-films { padding-top:80px; scroll-margin-top:110px; }
.gallery-film-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:48px 24px; }
.gallery-film video { display:block; width:100%; height:auto; aspect-ratio:9/16; object-fit:contain; background:var(--green); }
.gallery-film h3 { font-size:1.5rem; margin:20px 0 10px; }
.gallery-film p { color:var(--muted); }
.film-stories { max-width:1320px; scroll-margin-top:110px; }
.film-stories .section-heading { text-align:center; }
.film-stories-intro { max-width:650px; margin:24px auto 0; color:var(--muted); line-height:1.6; }
.film-story-grid { display:grid; grid-template-columns:repeat(var(--film-columns),minmax(0,1fr)); align-items:start; gap:32px; max-width:1120px; margin:auto; }
.film-story-grid:has(>article:nth-child(2):last-child) { max-width:800px; }
.film-story video { display:block; width:100%; height:auto; aspect-ratio:9/16; object-fit:contain; background:var(--green); }
.film-story-landscape video { aspect-ratio:16/9; }
.film-story h3 { font-size:1.5rem; margin:22px 0 10px; }
.film-caption { color:var(--muted); font-size:.9375rem; line-height:1.6; }
.film-caption>span:last-child { white-space:nowrap; }
.film-stories-feature { max-width:1200px; }
.film-stories .center-cta { margin:36px 0 0; }
.experiences-section .film-stories { padding-inline:0; }
@media(max-width:700px) {
  .film-stories { padding:52px 24px; }
  .film-story-grid { grid-template-columns:1fr; gap:36px; max-width:370px; }
  .film-story-grid:has(>article:nth-child(2):last-child) { max-width:370px; }
  .film-stories-feature .film-story-grid { max-width:none; }
  .film-story h3 { margin-top:16px; }
  .film-stories .center-cta { margin-top:28px; }
}
.gallery-film-landscape { grid-column:1/-1; width:min(100%,1000px); margin-inline:auto; }
.gallery-film-landscape video { aspect-ratio:16/9; }
.gallery-film[hidden],.gallery-films[hidden],#gallery-film-link[hidden] { display:none; }
@media(max-width:700px) {
  .gallery-film-grid { grid-template-columns:1fr; gap:38px; }
  .gallery-film { width:min(100%,400px); margin-inline:auto; }
  .gallery-film-landscape { width:100%; }
  .gallery-films { padding-top:52px; }
}
@media (prefers-reduced-motion: reduce) { .brand img { transition: none; } }

.hero-video[hidden]{display:none}


/* Keep gallery access beside the film control on every film landing page. */
.hero-film-actions {
  position:absolute; right:28px; bottom:26px; z-index:1;
  display:flex; align-items:center; gap:8px;
}
.hero-film-actions .hero-gallery-link {
  position:static; display:inline-flex; align-items:center; justify-content:center;
  min-height:44px; padding:10px 12px; gap:9px;
  border:1px solid #fff8; border-radius:2px; background:#0004; color:#fff;
  font-size:14px; line-height:1.4; white-space:nowrap;
}
.hero-film-actions :is(button,a):hover { background:#0007; border-color:#fff; }
.hero-film-actions :is(button,a):focus-visible { outline:2px solid #fff; outline-offset:4px; }
@media(max-width:700px) {
  .hero-film-actions { left:18px; right:18px; bottom:22px; justify-content:center; }
  .hero-film-actions + .scroll-cue { bottom:84px; }
}
