@font-face {
  font-family: "Cormorant Garamond";
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("/assets/fonts/cormorant-garamond-latin.woff2") format("woff2");
}

@font-face {
  font-family: "Cormorant Garamond";
  font-style: italic;
  font-weight: 300 700;
  font-display: swap;
  src: url("/assets/fonts/cormorant-garamond-italic-latin.woff2") format("woff2");
}

@font-face {
  font-family: "Josefin Sans";
  font-style: normal;
  font-weight: 100 700;
  font-display: swap;
  src: url("/assets/fonts/josefin-sans-latin.woff2") format("woff2");
}

:root {
  color-scheme: light;
  --display: "Cormorant Garamond", Georgia, serif;
  --label: "Josefin Sans", Arial, sans-serif;
  --check-opacity-dur: 250ms;
  --check-rotate-dur: 250ms;
  --check-rotate-from: 20deg;
  --check-bob-dur: 250ms;
  --check-y-amount: 6px;
  --check-blur-dur: 250ms;
  --check-blur-from: 2px;
  --check-path-dur: 250ms;
  --check-path-delay: 40ms;
  --check-ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --check-ease-opacity: cubic-bezier(0.22, 1, 0.36, 1);
  --check-ease-rotate: cubic-bezier(0.22, 1, 0.36, 1);
  --check-ease-bob: cubic-bezier(0.34, 1.35, 0.64, 1);
  --check-ease-path: cubic-bezier(0.22, 1, 0.36, 1);
}

*,
*::before,
*::after { box-sizing: border-box; }

html { scroll-behavior: smooth; scrollbar-color: var(--gold) var(--ivory); scrollbar-width: thin; }

body {
  margin: 0;
  color: var(--reading);
  font: 400 1.18rem/1.72 var(--display);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body::before {
  position: fixed;
  z-index: 20;
  inset: 0;
  border: 1px solid rgb(154 110 32 / 14%);
  content: "";
  pointer-events: none;
}

::selection { background: var(--champagne); color: var(--burgundy); }
a { color: var(--burgundy); text-underline-offset: .2em; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 2px solid var(--wine); outline-offset: 4px; }
input, textarea { caret-color: var(--wine); }
.ui-icon { width: 1em; height: 1em; flex: 0 0 auto; }
.ui-icon path { stroke: currentColor; stroke-width: 1.35; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }

.skip {
  position: fixed;
  z-index: 50;
  top: .75rem;
  left: .75rem;
  padding: .7rem .9rem;
  background: var(--burgundy);
  color: var(--ivory);
  font: 500 .7rem/1 var(--label);
  letter-spacing: .14em;
  text-transform: uppercase;
  transform: translateY(-160%);
}

.skip:focus { transform: translateY(0); }

.top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}

.top-menu { display: contents; }
.top-menu > summary { display: none; }
@media (min-width: 701px) {
  .top-menu:not([open]) > nav { display: flex; }
}

.site-brand {
  color: var(--burgundy);
}

.top nav { display: flex; flex-wrap: wrap; align-items: center; }
.top nav a {
  text-decoration: none;
}
.top nav a:hover { color: var(--wine); }
.top nav a[aria-current="page"] { text-decoration: underline; text-decoration-color: var(--gold); text-underline-offset: .35em; }

.wrap { margin-inline: auto; padding: clamp(4rem, 9vw, 7.5rem) 0 3rem; }

.content-hero { position: relative; padding: 0 0 clamp(2.2rem, 5vw, 4rem); }
.content-hero::after {
  width: min(13rem, 38vw);
  height: 1px;
  margin-top: clamp(2.2rem, 5vw, 3.5rem);
  background: linear-gradient(90deg, var(--gold), transparent);
  content: "";
}

.crumb,
.kicker {
  margin: 0 0 1.25rem;
  font: 600 .7rem/1.45 var(--label);
  text-transform: uppercase;
}

h1,
h2 { color: var(--burgundy); font-family: var(--display); font-weight: 500; text-wrap: balance; }
h1 { margin: 0 0 1.35rem; letter-spacing: -.035em; }
h2 { margin: 3.4rem 0 1rem; font-size: clamp(2rem, 4vw, 2.8rem); line-height: 1; }
.dek { margin: 0; color: var(--reading); }
.rule { display: none; }
.story > p { margin: 0 0 1.3rem; }
.story a,
.story li { overflow-wrap: anywhere; }
.story > p:first-child::first-letter {
  float: left;
  margin: .08em .1em 0 0;
  font-weight: 500;
  line-height: .72;
}

.page-producer--sparse .story {
  max-width: none;
  margin-left: 0;
  padding: clamp(3rem, 6vw, 5rem) clamp(1.5rem, 8vw, 7.5rem);
  background: var(--burgundy);
  color: rgb(255 250 242 / 86%);
}
.page-producer--sparse .story h2 { margin-top: 0; color: var(--paper); }
.page-producer--sparse .story p { color: rgb(255 250 242 / 86%); }

.place-index {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 2rem 0 0;
  padding: 0;
  border-top: 1px solid var(--line-gold);
  list-style: none;
}
.route-kicker {
  margin: 1.55rem 0 -.9rem;
  color: var(--gold);
  font: 600 .6rem/1.4 var(--label);
  letter-spacing: .14em;
  text-transform: uppercase;
}
.place-index li {
  display: grid;
  grid-template-columns: 2.25rem 1fr;
  min-height: 4.25rem;
  align-items: center;
  gap: .65rem;
  padding: .7rem .9rem;
  border-right: 1px solid var(--line-gold);
  border-bottom: 1px solid var(--line-gold);
}
.place-index li:nth-child(even) { border-right: 0; }
.place-index span { color: var(--gold); font: 600 .58rem/1 var(--label); letter-spacing: .12em; }
.place-index strong { color: var(--burgundy); font-size: 1.05rem; line-height: 1.1; }

.facts,
.directory { padding: 0; list-style: none; }
.facts li,
.directory li { padding: .85rem 0; border-bottom: 1px solid var(--line); }
.directory a { font-weight: 600; }

.callout {
  margin: 2.8rem 0;
  padding: 1.2rem 1.4rem 1.25rem;
  border-left: 2px solid var(--gold);
}

.coverage-note {
  max-width: 47rem;
  margin: 0 0 clamp(2.8rem, 6vw, 4.5rem);
  padding: clamp(1.35rem, 3vw, 2rem);
  border: 1px solid var(--line-gold);
  background: linear-gradient(135deg, rgb(232 213 183 / 32%), rgb(255 250 243 / 72%));
}

.coverage-note .kicker { margin-bottom: .65rem; }
.coverage-note h2 { margin: 0 0 .65rem; font-size: clamp(1.8rem, 3vw, 2.35rem); }
.coverage-note p:last-child { max-width: 38rem; margin: 0; }

.related {
  display: grid;
  gap: 1rem;
  margin: clamp(3.5rem, 8vw, 6.5rem) 0 2.5rem;
}

.related a {
  position: relative;
  display: flex;
  align-items: flex-end;
  padding: 1.35rem 3rem 1.35rem 1.4rem;
  font-size: 1.14rem;
  font-weight: 600;
  line-height: 1.25;
  text-decoration: none;
}
.related a::after { position: absolute; right: 1.25rem; bottom: 1.2rem; width: 1rem; height: 1rem; background: var(--gold); content: ""; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M5 11 11 5M6 5h5v5' fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat; }
.related a:hover { border-color: var(--gold); }

.directory-more { margin: 1rem 0; }
.directory-more summary {
  min-height: 44px;
  color: var(--burgundy);
  cursor: pointer;
  font: 600 .72rem/44px var(--label);
  letter-spacing: .12em;
  text-transform: uppercase;
}

.footer {
  display: flex;
  align-items: center;
  gap: 1rem;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font: 500 .75rem/1.5 var(--label);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.footer img { display: block; width: auto; height: 2rem; }

/* Places reference */
.place-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem .65rem;
  margin: -1.25rem 0 2.8rem;
  color: var(--muted);
  font: 600 .58rem/1.5 var(--label);
  letter-spacing: .12em;
  text-transform: uppercase;
}
.place-breadcrumbs a { color: var(--wine); text-decoration: none; }
.place-breadcrumbs a:hover { text-decoration: underline; }

.places-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, .48fr);
  gap: 1rem clamp(3rem, 8vw, 8rem);
  align-items: end;
  padding: clamp(1rem, 4vw, 3rem) 0 clamp(3rem, 7vw, 5.5rem);
  border-bottom: 1px solid var(--line);
}
.places-hero > .kicker,
.places-hero > h1,
.places-hero > .dek { grid-column: 1; }
.places-hero h1 { max-width: 11ch; }
.places-hero .place-search { grid-column: 2; grid-row: 1 / span 3; }

.place-search {
  position: relative;
  padding: 1.35rem;
  border: 1px solid var(--line-gold);
  background: rgb(255 250 242 / 62%);
}
.place-search label {
  display: block;
  margin-bottom: .65rem;
  color: var(--gold);
  font: 600 .58rem/1.4 var(--label);
  letter-spacing: .14em;
  text-transform: uppercase;
}
.place-search div { display: grid; grid-template-columns: 1fr auto; }
.place-search input,
.place-search button {
  min-width: 0;
  min-height: 48px;
  border: 1px solid var(--line-gold);
  border-radius: 0;
  font: inherit;
}
.place-search input { width: 100%; padding: .65rem .8rem; background: var(--paper); color: var(--ink); }
.place-search button { padding: .65rem .9rem; border-left: 0; background: var(--burgundy); color: var(--paper); font: 600 .58rem/1 var(--label); letter-spacing: .12em; text-transform: uppercase; cursor: pointer; }
.place-search p { margin: .7rem 0 0; color: var(--muted); font-size: .88rem; line-height: 1.4; }
.place-search-results {
  position: absolute;
  z-index: 15;
  top: calc(100% + .5rem);
  right: 0;
  left: 0;
  max-height: min(24rem, 52vh);
  overflow-y: auto;
  margin: 0;
  padding: .25rem .75rem;
  border: 1px solid var(--line-gold);
  background: var(--paper);
  box-shadow: 0 .8rem 2rem rgb(77 8 38 / 14%);
  list-style: none;
}
.place-search-results li { border-bottom: 1px solid var(--line); }
.place-search-results a {
  display: flex;
  min-height: 3.25rem;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .7rem .15rem;
  color: var(--reading);
  text-decoration: none;
}
.place-search-results strong { font-size: 1.12rem; font-weight: 600; }
.place-search-results small {
  color: var(--muted);
  font: 500 .62rem/1.35 var(--label);
  letter-spacing: .08em;
  text-align: right;
  text-transform: uppercase;
}
.place-search-results a:hover strong,
.place-search-results a:focus-visible strong { text-decoration: underline; text-underline-offset: .2em; }

.area-jump {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  padding: 1.2rem 0;
  border-bottom: 1px solid var(--line);
}
.area-jump a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  padding: .45rem .75rem;
  border: 1px solid var(--line-gold);
  color: var(--burgundy);
  font: 600 .57rem/1 var(--label);
  letter-spacing: .11em;
  text-decoration: none;
  text-transform: uppercase;
}

.world-directory > section { padding: clamp(3.5rem, 7vw, 6rem) 0; border-bottom: 1px solid var(--line); }
.world-directory > section > header { display: grid; grid-template-columns: minmax(9rem, .38fr) minmax(0, 1fr); gap: 1rem 2rem; align-items: end; margin-bottom: 2rem; }
.world-directory > section > header .kicker { grid-column: 1; grid-row: 1; margin: 0; }
.world-directory > section > header h2 { grid-column: 2; grid-row: 1; margin: 0; font-size: clamp(2.8rem, 6vw, 5rem); }
.world-directory > section > header p:last-child { grid-column: 2; max-width: 35rem; margin: 0; }

.place-directory,
.place-guide-jump ol,
.visual-sequence,
.producer-sources ul,
.place-sources ul,
.grape-aromas ul,
.grape-guide-jump ol,
.grape-making > ol,
.grape-start > ol,
.grape-related ul,
.grape-sources ul,
.grape-index ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

.place-directory {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--line-gold);
  border-left: 1px solid var(--line-gold);
}
.place-directory li { min-width: 0; container-type: inline-size; }
.place-directory li[hidden] { display: none; }
.place-directory a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  min-height: 8.5rem;
  gap: 1rem;
  align-items: center;
  padding: 1.1rem 1.2rem;
  border-right: 1px solid var(--line-gold);
  border-bottom: 1px solid var(--line-gold);
  background: rgb(255 250 242 / 58%);
  color: var(--reading);
  text-decoration: none;
}
.place-directory--numbered a { grid-template-columns: 2.1rem minmax(0, 1fr) auto; }
@container (max-width: 11rem) {
  .place-directory--numbered a { grid-template-columns: minmax(0, 1fr) auto; }
  .place-directory--numbered .place-directory__number { grid-column: 1; grid-row: 1; }
  .place-directory--numbered .place-directory__arrow { grid-column: 2; grid-row: 1; }
  .place-directory--numbered .place-directory__copy { grid-column: 1 / -1; grid-row: 2; }
}
.place-directory a:hover { background: var(--paper); }
.place-directory__number { color: var(--gold); font: 600 .57rem/1 var(--label); letter-spacing: .12em; }
.place-directory__copy { min-width: 0; }
.place-directory__copy strong { display: block; color: var(--burgundy); font-size: 1.35rem; line-height: 1.05; overflow-wrap: anywhere; }
.place-directory__copy small { display: block; margin-top: .42rem; color: var(--gold); font: 600 .52rem/1.35 var(--label); letter-spacing: .1em; text-transform: uppercase; }
.place-directory__copy em { display: block; margin-top: .55rem; color: var(--muted); font-size: .92rem; font-style: normal; line-height: 1.35; }
.place-directory__arrow { color: var(--gold); font-size: 1.2rem; }
.place-directory li.is-empty a { background: rgb(113 104 97 / 7%); }
.place-directory li.is-empty .place-directory__copy strong { color: #716861; }
.place-directory li.is-empty .place-directory__copy small { color: #756c65; }
.place-directory li.is-empty a:hover { background: rgb(113 104 97 / 12%); }
.page-places .place-directory a { min-height: 5.75rem; }
.page-places .place-directory__copy em { display: none; }

.places-method {
  max-width: 54rem;
  margin: clamp(4rem, 8vw, 7rem) 0;
  padding: clamp(2rem, 5vw, 4rem);
  background: var(--burgundy);
  color: rgb(255 250 242 / 84%);
}
.places-method h2 { margin: 0 0 1rem; color: var(--paper); }
.places-method .kicker { color: #e8c477; }
.places-method p:not(.kicker) { max-width: 38rem; }
.places-method a { display: inline-flex; align-items: center; gap: .4rem; color: var(--paper); font: 600 .65rem/1.4 var(--label); letter-spacing: .12em; text-transform: uppercase; }

.place-story { max-width: 68rem; }
.place-story > p { max-width: 46rem; }
.place-guide-reference {
  display: grid;
  gap: 1rem clamp(2rem, 5vw, 4.5rem);
}
.place-guide-reference > .kicker { margin: .35rem 0 0; }
.place-guide-reference > div { min-width: 0; }
.place-guide-reference h2 { margin: 0 0 .8rem; font-size: clamp(2.2rem, 4vw, 3.25rem); }
.place-guide-reference > div p { max-width: 39rem; }
.place-guide-reference > div p + p { margin-top: 1rem; }
.place-guide-reference > div p:last-child { margin-bottom: 0; }
.place-section { margin-top: clamp(3.5rem, 7vw, 6rem); }
.place-section > h2 { margin-bottom: .7rem; }
.place-section > h2 + .kicker { margin: 0 0 1.15rem; }

@media (max-width: 700px) {
  body { font-size: 1.08rem; }
  .top { align-items: center; padding-inline: 1.1rem; }
  .site-brand span { font-size: .55rem; }
  .top-menu > summary {
    text-transform: uppercase;
    cursor: pointer;
  }
  .top-menu > summary::-webkit-details-marker { display: none; }
  .top-menu > summary::after { background: var(--gold); }
  .top-menu[open] > summary::after { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8h10' fill='none' stroke='black' stroke-linecap='round'/%3E%3C/svg%3E"); }
  .top-menu nav a { padding-inline: .85rem; font-size: .62rem; }
  .places-hero { grid-template-columns: 1fr; }
  .places-hero .place-search { grid-column: 1; grid-row: auto; margin-top: 1.4rem; }
  .place-search-results a { align-items: flex-start; flex-direction: column; gap: .2rem; }
  .place-search-results small { text-align: left; }
  .world-directory > section > header { grid-template-columns: 1fr; }
  .world-directory > section > header .kicker,
  .world-directory > section > header h2 { grid-column: 1; grid-row: auto; }
  .world-directory > section > header p:last-child { grid-column: 1; }
  .place-directory { grid-template-columns: 1fr; }
  .place-directory a { min-height: 7.5rem; }
  .place-breadcrumbs { margin-top: -.5rem; }
  .place-guide-reference { gap: .7rem; }
  .place-guide-reference > .kicker { margin-top: 0; }
}
@media (forced-colors: active) { .related a, .callout { border: 1px solid currentColor; } }

/* Living Atlas production direction */
:root {
  --ivory: #f4eddf;
  --paper: #fffaf2;
  --champagne: #e6d8bd;
  --ink: #23130d;
  --reading: #503a2d;
  --muted: #7b6556;
  --burgundy: #4d0826;
  --wine: #68102f;
  --gold: #76510e;
  --line: rgb(77 45 29 / 18%);
  --line-gold: rgb(159 116 37 / 30%);
}

body {
  background:
    radial-gradient(circle at 82% 6%, rgb(230 216 189 / 58%), transparent 28rem),
    linear-gradient(180deg, var(--paper), var(--ivory) 36rem);
}

.top {
  position: sticky;
  z-index: 20;
  top: 0;
  padding-block: .75rem;
  background: rgb(244 237 223 / 94%);
}

.wrap {
  width: min(100% - 2.5rem, 82rem);
  overflow-wrap: anywhere;
  padding-top: clamp(3.5rem, 7vw, 6.5rem);
}

.content-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(17rem, .55fr);
  gap: clamp(3rem, 8vw, 8rem);
  max-width: none;
  align-items: end;
  padding-bottom: clamp(3rem, 6vw, 5rem);
  border-bottom: 1px solid var(--line);
}
.content-hero::after { display: none; }
.content-hero > div { max-width: 57rem; }

.producer-intro,
.region-intro { position: relative; isolation: isolate; }
.producer-intro::before,
.region-intro::before {
  display: none;
}

.crumb, .kicker {
  margin-bottom: .8rem;
  color: var(--gold);
  font-size: .64rem;
  letter-spacing: .18em;
}
h1 {
  max-width: 13ch;
  margin-bottom: 1.2rem;
  font-size: clamp(4.4rem, 8vw, 6rem);
  line-height: .92;
}

.dek {
  max-width: 42rem;
  font-size: clamp(1.3rem, 2.25vw, 1.68rem);
  line-height: 1.45;
}

.record-status {
  display: flex;
  flex-wrap: wrap;
  gap: .25rem .45rem;
  margin: 1.25rem 0 0;
  color: var(--muted);
  font: 600 .58rem/1.5 var(--label);
  letter-spacing: .12em;
  text-transform: uppercase;
}
.record-status a { color: var(--wine); }

.identity-strip {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 43rem;
  margin: 1.6rem 0 0;
  border-top: 1px solid var(--line-gold);
  border-left: 1px solid var(--line-gold);
}
.identity-strip div {
  min-width: 0;
  padding: .75rem .85rem;
  border-right: 1px solid var(--line-gold);
  border-bottom: 1px solid var(--line-gold);
  background: rgb(255 250 242 / 48%);
}
.identity-strip dt {
  color: var(--gold);
  font: 600 .52rem/1.4 var(--label);
  letter-spacing: .13em;
  text-transform: uppercase;
}
.identity-strip dd {
  margin: .25rem 0 0;
  color: var(--ink);
  font-size: .98rem;
  line-height: 1.25;
}
.identity-save {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  margin-top: .75rem;
  padding: .55rem .8rem;
  border: 1px solid var(--line-gold);
  background: transparent;
  color: var(--burgundy);
  font: 600 .56rem/1.2 var(--label);
  letter-spacing: .12em;
  text-transform: uppercase;
  cursor: pointer;
  gap: .55rem;
  transition-property: background-color, border-color, color;
  transition-duration: 150ms;
  transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
}
.identity-save:hover { border-color: var(--wine); }
.identity-save[aria-pressed="true"] { background: var(--champagne); color: var(--burgundy); }

.t-success-check {
  display: inline-block;
  width: .9rem;
  height: .9rem;
  transform-origin: center;
  opacity: 0;
  will-change: transform, opacity, filter;
}
.t-success-check svg { display: block; width: 100%; height: 100%; overflow: visible; }
.t-success-check svg path {
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 17;
  stroke-dashoffset: 17;
}
.t-success-check[data-state="in"] {
  animation:
    t-check-fade   var(--check-opacity-dur) var(--check-ease-opacity) forwards,
    t-check-rotate var(--check-rotate-dur)  var(--check-ease-rotate)  forwards,
    t-check-blur   var(--check-blur-dur)    var(--check-ease-out)     forwards,
    t-check-bob    var(--check-bob-dur)     var(--check-ease-bob)     forwards;
}
.t-success-check[data-state="in"] svg path {
  animation: t-check-draw var(--check-path-dur) var(--check-ease-path) var(--check-path-delay, 0ms) forwards;
}
@keyframes t-check-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes t-check-rotate { from { transform: rotate(var(--check-rotate-from)); } to { transform: rotate(0deg); } }
@keyframes t-check-blur { from { filter: blur(var(--check-blur-from)); } to { filter: blur(0); } }
@keyframes t-check-bob { from { translate: 0 var(--check-y-amount); } to { translate: 0 0; } }
@keyframes t-check-draw { to { stroke-dashoffset: 0; } }

.place-guide-jump {
  display: grid;
  grid-template-columns: minmax(11rem, .34fr) minmax(0, 1fr);
  gap: 1.25rem clamp(2rem, 5vw, 4.5rem);
  max-width: 68rem;
  margin-left: clamp(0rem, 8vw, 9rem);
  padding: 1.35rem 0 1.5rem;
  border-top: 1px solid var(--line-gold);
  border-bottom: 1px solid var(--line-gold);
}
.place-guide-jump__meta {
  display: flex;
  flex-direction: column;
  gap: .45rem;
  padding-top: .35rem;
}
.place-guide-jump__meta > span {
  color: var(--gold);
  font: 600 .7rem/1.4 var(--label);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.place-guide-jump__meta small {
  max-width: 13rem;
  color: var(--muted);
  font: 500 .78rem/1.5 var(--label);
  letter-spacing: .03em;
}
.place-guide-jump ol {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 1.5rem;
}
.place-guide-jump li {
  min-width: 0;
  border-top: 1px solid var(--line);
}
.place-guide-jump a {
  display: grid;
  grid-template-columns: 1.75rem minmax(0, 1fr);
  min-height: 44px;
  align-items: center;
  gap: .35rem;
  color: var(--burgundy);
  font-size: 1.05rem;
  line-height: 1.2;
  text-decoration: none;
}
.place-guide-jump a > span {
  color: var(--gold);
  font: 600 .65rem/1 var(--label);
  letter-spacing: .08em;
}
.place-guide-jump a > span,
.place-guide-jump__meta small,
.record-status,
.content-locator small,
.place-directory__number,
.place-sources summary small { font-variant-numeric: tabular-nums; }
.place-guide-jump a:hover,
.place-guide-jump a:focus-visible { color: var(--wine); text-decoration: underline; text-underline-offset: .22em; }
[id^="guide-"] { scroll-margin-top: 7rem; }

.content-locator {
  position: relative;
  display: flex;
  min-height: 13rem;
  flex-direction: column;
  justify-content: flex-end;
  padding: 0 1.3rem 1.2rem;
  overflow: hidden;
  border: 1px solid var(--line-gold);
  background: #f8f1e5;
  color: var(--reading);
  text-decoration: none;
}
.content-locator > * { position: relative; z-index: 1; }
.content-locator__map {
  position: relative;
  z-index: 0;
  display: block;
  width: calc(100% + 2.6rem);
  height: 8.6rem;
  margin: 0 -1.3rem auto;
  overflow: hidden;
  border-bottom: 1px solid var(--line-gold);
  background:
    linear-gradient(rgb(104 16 47 / 5%) 1px, transparent 1px),
    linear-gradient(90deg, rgb(104 16 47 / 5%) 1px, transparent 1px),
    #eadfc9;
  background-size: 2rem 2rem;
}
.content-locator__map img { display: block; width: 100%; height: 100%; object-fit: contain; }
.content-locator__map--empty {
  background:
    repeating-linear-gradient(45deg, transparent 0 1rem, rgb(104 16 47 / 5%) 1rem calc(1rem + 1px)),
    #eadfc9;
}
.content-locator__pin {
  position: absolute;
  top: var(--pin-y);
  left: var(--pin-x);
  width: .72rem;
  height: .72rem;
  border: 2px solid #fffaf2;
  border-radius: 50%;
  background: var(--wine);
  box-shadow: 0 0 0 1px var(--wine), 0 .2rem .6rem rgb(35 19 13 / 22%);
  transform: translate(-50%, -50%);
}
.content-locator__kicker {
  margin-top: 1rem;
  color: #6f4b10;
  font: 600 .56rem/1.4 var(--label);
  letter-spacing: .14em;
  text-transform: uppercase;
}
.content-locator strong {
  margin-top: .4rem;
  color: var(--ink);
  font-size: 1.28rem;
  line-height: 1.1;
}
.content-locator small {
  margin-top: .3rem;
  color: var(--muted);
  font: 600 .52rem/1.4 var(--label);
  letter-spacing: .1em;
}
.content-locator i {
  position: absolute;
  z-index: 2;
  top: 9.4rem;
  right: 1rem;
  color: var(--wine);
  font: 600 .54rem/1 var(--label);
  letter-spacing: .12em;
  text-transform: uppercase;
}
.content-locator i { display: inline-flex; align-items: center; gap: .35rem; }
.content-locator:hover { border-color: var(--wine); background-color: var(--paper); }

.story {
  max-width: 48rem;
  margin-left: clamp(0rem, 8vw, 9rem);
  padding-top: clamp(3.5rem, 7vw, 6rem);
}
.story.place-story { max-width: 68rem; }
.place-guide-lede {
  max-width: 47rem;
  margin-bottom: clamp(3rem, 6vw, 4.75rem);
}
.place-guide-lede .lede {
  margin: 0;
  color: var(--reading);
  font-size: clamp(1.25rem, 2vw, 1.45rem);
  line-height: 1.6;
}
.place-guide-lede .lede::first-letter {
  float: left;
  margin: .08em .1em 0 0;
  color: var(--wine);
  font-size: 4em;
  font-weight: 500;
  line-height: .72;
}
.place-visual-reference {
  max-width: 68rem;
  margin-bottom: clamp(3.5rem, 7vw, 6rem);
  padding: clamp(2.75rem, 5vw, 4.25rem) 0 0;
  border-top: 1px solid var(--line-gold);
  scroll-margin-top: 7rem;
}
.place-visual-reference__heading {
  display: grid;
  grid-template-columns: minmax(13rem, .42fr) minmax(0, 1fr);
  gap: 1rem clamp(3rem, 7vw, 7rem);
  align-items: end;
  padding-bottom: clamp(2rem, 4vw, 3rem);
}
.place-visual-reference__heading h2 {
  margin: 0;
  font-size: clamp(2.55rem, 4.5vw, 3.85rem);
  line-height: .96;
}
.place-visual-reference__heading p {
  max-width: 34rem;
  margin: 0;
  color: var(--reading);
  font-size: 1.18rem;
  line-height: 1.55;
}
.place-visual-reference__modules {
  display: grid;
  container-type: inline-size;
  grid-template-columns: minmax(0, 1fr);
  border-top: 1px solid var(--line-gold);
  border-left: 1px solid var(--line-gold);
}
.visual-reference-module {
  min-width: 0;
  padding: clamp(1.6rem, 3.5vw, 2.5rem);
  border-right: 1px solid var(--line-gold);
  border-bottom: 1px solid var(--line-gold);
  background: rgb(255 250 242 / 42%);
}
.visual-reference-module--comparison { grid-column: 1 / -1; }
.visual-reference-module > header {
  display: grid;
  grid-template-columns: minmax(16rem, .8fr) minmax(0, 1fr);
  gap: .55rem clamp(2rem, 5vw, 4.5rem);
  align-items: start;
  margin-bottom: 1.6rem;
}
.visual-reference-module > header h3 {
  grid-row: 1 / span 2;
  margin: 0;
  color: var(--burgundy);
  font-size: clamp(1.85rem, 3vw, 2.55rem);
  line-height: 1;
}
.visual-reference-module > header > p { margin: 0; }
@container (max-width: 30rem) {
  .visual-reference-module { grid-column: 1 / -1; overflow-wrap: anywhere; }
  .visual-reference-module > header { grid-template-columns: minmax(0, 1fr); }
  .visual-reference-module > header h3 { grid-row: auto; }
}
.visual-reference-module > header > p:last-child {
  color: var(--reading);
  font-size: 1.04rem;
  line-height: 1.5;
}
.visual-reference-kicker {
  color: var(--gold);
  font: 600 .55rem/1.4 var(--label);
  letter-spacing: .13em;
  text-transform: uppercase;
}
.visual-comparison {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}
.visual-comparison article {
  min-width: 0;
  padding: 1.1rem;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.visual-comparison h4,
.visual-sequence h4 { margin: 0; font-size: 1.22rem; line-height: 1.12; }
.visual-comparison h4 a { display: inline-flex; align-items: center; gap: .35rem; color: var(--burgundy); }
.visual-comparison h4 .ui-icon { flex: 0 0 auto; }
.visual-comparison p { margin: .75rem 0 0; font-size: .97rem; line-height: 1.45; }
.visual-comparison .visual-comparison__place { color: var(--muted); font-style: italic; }
.visual-comparison .visual-comparison__look {
  padding-top: .75rem;
  border-top: 1px solid var(--line);
  color: var(--ink);
}
.visual-comparison__look span {
  display: block;
  margin-bottom: .28rem;
  color: var(--gold);
  font: 600 .5rem/1.35 var(--label);
  letter-spacing: .12em;
  text-transform: uppercase;
}
.visual-sequence li {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: .85rem;
  padding: 1rem 0;
  border-top: 1px solid var(--line);
}
.visual-sequence li > span {
  padding-top: .12rem;
  color: var(--gold);
  font: 600 .54rem/1.4 var(--label);
  letter-spacing: .08em;
}
.visual-sequence p { margin: .35rem 0 0; font-size: .96rem; line-height: 1.45; }
.visual-labels { margin: 0; }
.visual-labels > div {
  display: grid;
  grid-template-columns: minmax(6rem, .34fr) minmax(0, 1fr);
  gap: 1rem;
  padding: .85rem 0;
  border-top: 1px solid var(--line);
}
.visual-labels dt { color: var(--burgundy); font-size: 1.13rem; line-height: 1.15; }
.visual-labels dd { margin: 0; }
.visual-labels dd strong,
.visual-labels dd span { display: block; }
.visual-labels dd strong { color: var(--ink); font-size: .94rem; font-weight: 500; line-height: 1.35; }
.visual-labels dd span { margin-top: .25rem; color: var(--muted); font-size: .82rem; line-height: 1.35; }
.place-guide-section {
  display: grid;
  grid-template-columns: minmax(13rem, .42fr) minmax(0, 1fr);
  gap: 1.5rem clamp(3rem, 7vw, 7rem);
  max-width: 68rem;
  margin: 0;
  padding: clamp(3rem, 6vw, 5rem) 0;
  border-top: 1px solid var(--line-gold);
}
.place-guide-section__heading,
.place-guide-section__body { min-width: 0; }
.place-guide-section__heading > p {
  margin: .8rem 0 0;
  color: var(--gold);
  font: 500 .78rem/1.4 var(--label);
  letter-spacing: .04em;
}
.place-guide-section .place-guide-section__heading h2 {
  margin: 0;
  font-size: clamp(2.4rem, 4.3vw, 3.7rem);
  line-height: .98;
}
.place-guide-section__body > p {
  max-width: 40rem;
  margin: 0 0 1.25rem;
}
.place-guide-section__body > p:last-child { margin-bottom: 0; }
.place-guide-reference {
  grid-template-columns: minmax(13rem, .42fr) minmax(0, 1fr);
  max-width: 68rem;
  margin: 0;
  padding: clamp(2.25rem, 5vw, 3.5rem);
  border: 1px solid var(--line-gold);
  background: linear-gradient(135deg, rgb(230 216 189 / 46%), rgb(255 250 242 / 70%));
}
.place-guide-reference--label {
  padding-inline: 0;
  border-right: 0;
  border-left: 0;
  background: transparent;
}
.place-guide-reference + .place-guide-reference { margin-top: clamp(2rem, 4vw, 3rem); }
.story > p { max-width: 44rem; }
.story h2 { margin-top: 4.6rem; font-size: clamp(2.5rem, 4.4vw, 3.7rem); }
.story > h2:first-child { margin-top: 0; }
.story > p:first-child::first-letter {
  margin-right: .08em;
  color: var(--wine);
  font-size: 4.1em;
}

.page-producer--master .producer-guide {
  max-width: 68rem;
  margin-left: 0;
}
.producer-guide-section {
  display: grid;
  grid-template-columns: minmax(12rem, .42fr) minmax(0, 1fr);
  gap: 1.5rem clamp(3rem, 7vw, 7rem);
  padding: clamp(3rem, 6vw, 5rem) 0;
  border-top: 1px solid var(--line-gold);
}
.producer-guide-section:first-child { padding-top: 0; border-top: 0; }
.producer-guide-section header { min-width: 0; }
.producer-guide-section .kicker { margin: .7rem 0 0; }
.producer-guide-section h2 {
  margin: 0;
  font-size: clamp(2.45rem, 4.5vw, 3.9rem);
  line-height: .98;
}
.producer-guide-section > div { min-width: 0; }
.producer-guide-section > div p { max-width: 40rem; margin: 0 0 1.25rem; }
.producer-guide-section > div p:last-child { margin-bottom: 0; }
.producer-guide-section--first-bottle {
  margin-top: clamp(1rem, 3vw, 2rem);
  padding: clamp(2rem, 4vw, 3.2rem);
  border: 1px solid var(--line-gold);
  background: linear-gradient(135deg, rgb(230 216 189 / 46%), rgb(255 250 242 / 62%));
}

.producer-sources {
  max-width: 48rem;
  margin: clamp(2.5rem, 5vw, 4rem) 0 0 clamp(0rem, 8vw, 9rem);
  border-block: 1px solid var(--line-gold);
}
.producer-sources summary {
  display: flex;
  min-height: 52px;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  color: var(--burgundy);
  cursor: pointer;
  font: 600 .75rem/1.5 var(--label);
  letter-spacing: .06em;
  list-style: none;
  text-transform: uppercase;
}
.producer-sources summary::-webkit-details-marker { display: none; }
.producer-sources summary::after,
.grape-sources summary::after,
.place-sources summary::after { width: .9rem; height: .9rem; background: var(--gold); content: ""; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 3v10M3 8h10' fill='none' stroke='black' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat; }
.producer-sources[open] summary::after,
.grape-sources[open] summary::after,
.place-sources[open] summary::after { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8h10' fill='none' stroke='black' stroke-linecap='round'/%3E%3C/svg%3E"); }
.producer-sources summary span { margin-left: auto; color: var(--muted); }
.producer-sources > div { padding: 0 0 1.5rem; }
.producer-sources p { max-width: 40rem; margin: .3rem 0 1rem; font-size: 1rem; line-height: 1.5; }
.producer-sources ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .45rem 1rem; }
.producer-sources li { min-width: 0; }
.producer-sources a { color: var(--wine); font-size: .95rem; overflow-wrap: anywhere; }

.place-sources {
  max-width: 68rem;
  margin: clamp(3rem, 6vw, 5rem) 0 0;
  border-block: 1px solid var(--line-gold);
}
.place-sources summary {
  display: flex;
  min-height: 58px;
  align-items: center;
  gap: 1rem;
  color: var(--burgundy);
  cursor: pointer;
  font: 600 .75rem/1.5 var(--label);
  letter-spacing: .06em;
  list-style: none;
  text-transform: uppercase;
}
.place-sources summary::-webkit-details-marker { display: none; }
.place-sources summary::after { margin-left: .2rem; }
.place-sources summary small { margin-left: auto; color: var(--muted); font: 500 .7rem/1.4 var(--label); letter-spacing: .06em; text-transform: none; }
.place-sources > div { display: grid; grid-template-columns: minmax(14rem, .7fr) minmax(0, 1fr); gap: 1.5rem 3rem; padding: .4rem 0 1.6rem; }
.place-sources p { max-width: 32rem; margin: 0; color: var(--muted); font-size: .98rem; line-height: 1.55; }
.place-sources li { margin-bottom: .45rem; color: var(--muted); font-size: .92rem; overflow-wrap: anywhere; }
.place-sources a { color: var(--wine); }

.wine-connections {
  max-width: 68rem;
  margin: clamp(4rem, 8vw, 7rem) 0 0;
  padding: clamp(2rem, 4vw, 3.25rem);
  border: 1px solid var(--line-gold);
  background: linear-gradient(135deg, rgb(230 216 189 / 46%), rgb(255 250 242 / 72%));
}
.wine-connections > header { display: grid; grid-template-columns: minmax(10rem, .32fr) minmax(0, .68fr); gap: .5rem 2rem; }
.wine-connections > header .kicker { grid-column: 1; grid-row: 1 / span 2; margin: .5rem 0 0; }
.wine-connections h2 { grid-column: 2; grid-row: 1; margin: 0; font-size: clamp(2.6rem, 5vw, 4rem); }
.wine-connections > header > p:last-child { max-width: 35rem; margin: .5rem 0 0; color: var(--muted); }
.wine-connections > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin-top: 2rem; background: var(--line-gold); border: 1px solid var(--line-gold); }
.wine-connections > div:has(> article:only-child) { grid-template-columns: minmax(0, 1fr); max-width: 48rem; margin-inline: auto; }
.wine-connections article { padding: 1.4rem; background: rgb(255 250 242 / 88%); }
.wine-connections h3 { margin: 0; color: var(--burgundy); font-size: 1.65rem; }
.wine-connections article > p { min-height: 5.2rem; margin: .65rem 0 1.3rem; color: var(--muted); font-size: .94rem; line-height: 1.48; }
.wine-connections nav { display: grid; gap: .5rem; }
.wine-connections nav a { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding-top: .6rem; border-top: 1px solid var(--line); color: var(--burgundy); text-decoration: none; }
.wine-connections nav a::after { width: .9rem; height: .9rem; background: var(--gold); content: ""; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8h10M9 4l4 4-4 4' fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat; }
.wine-connections nav span { color: var(--muted); font: 600 .56rem/1.4 var(--label); letter-spacing: .11em; text-transform: uppercase; }
.wine-connections nav strong { margin-left: auto; font-size: .98rem; text-align: right; }

.page-producer--master.page-producer--sparse .producer-guide {
  max-width: 68rem;
  margin-left: 0;
}
.page-producer--master.page-producer--sparse .producer-guide-section {
  grid-template-columns: minmax(10rem, .34fr) minmax(0, 1fr);
  border-color: rgb(232 196 119 / 40%);
}
.page-producer--master.page-producer--sparse .producer-guide-section .kicker { color: #e8c477; }

.directory { margin-top: 1.2rem; border-top: 1px solid var(--line); }
.directory li {
  display: grid;
  grid-template-columns: minmax(10rem, .7fr) minmax(0, 1.3fr);
  gap: 1rem 2rem;
  padding: 1rem 0;
}
.directory a { color: var(--ink); font-size: 1.18rem; line-height: 1.2; }
.directory-summary { color: var(--muted); font-size: 1rem; line-height: 1.45; }

.related {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  max-width: none;
  margin-top: clamp(4rem, 8vw, 7rem);
  border-top: 1px solid var(--line);
}
.related a {
  min-height: 10rem;
  border: 0;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: rgb(255 250 242 / 55%);
}
.related a:first-child { border-left: 1px solid var(--line); }
.related a:hover { background: var(--paper); }

.continuity-next {
  margin-top: clamp(3rem, 6vw, 5rem);
  padding-top: clamp(1.5rem, 3vw, 2.5rem);
  border-top: 1px solid var(--line);
}
.continuity-next header { display: grid; grid-template-columns: minmax(12rem, .45fr) 1fr; align-items: end; gap: 1rem; }
.continuity-next header .kicker { grid-column: 1; grid-row: 1; margin: 0; }
.continuity-next h2 { grid-column: 2; grid-row: 1; margin: 0; font-size: clamp(2.4rem, 4.3vw, 3.7rem); }
.continuity-next > div { display: grid; grid-template-columns: 1fr; margin-top: 2rem; border-top: 1px solid var(--line-gold);  }
.continuity-next a {
  position: relative;
  display: grid;
  min-height: 7rem;
  grid-template-columns: minmax(6rem, .24fr) minmax(0, .7fr) minmax(0, 1fr);
  align-items: start;
  gap: 1rem 2rem;
  padding: 1.5rem 2.5rem 1.5rem .25rem;

  border-bottom: 1px solid var(--line-gold);
  background: transparent;
  color: var(--reading);
  text-decoration: none;
}
.continuity-next a::after { position: absolute; right: 1.1rem; top: 1rem; width: .9rem; height: .9rem; background: var(--gold); content: ""; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M5 11 11 5M6 5h5v5' fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat; }
.continuity-next a > span { color: var(--gold); font: 600 .7rem/1.5 var(--label); letter-spacing: .08em; text-transform: uppercase; }
.continuity-next a > strong { max-width: 22rem; margin-top: 0; padding-top: 0; color: var(--burgundy); font-size: 1.65rem; font-weight: 500; line-height: 1.15; }
.continuity-next a > small { margin-top: 0; color: var(--muted); font-size: 1.08rem; line-height: 1.5; }
.continuity-next a:hover { background: var(--paper); }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .identity-save { transition: none; }
  .t-success-check { animation: none !important; opacity: 1; }
  .t-success-check svg path { animation: none !important; stroke-dashoffset: 0 !important; }
}

.callout {
  max-width: 48rem;
  margin-left: clamp(0rem, 8vw, 9rem);
  background: rgb(230 216 189 / 46%);
}

.footer {
  justify-content: space-between;
  margin-top: 6rem;
  padding: 2rem 0;
}

/* Reviewed static profiles have no producer locator column. */
@media (min-width: 761px) {
  .page-producer--static .content-hero { grid-template-columns: minmax(0, 1fr); }
  .page-producer--static .content-hero h1 { max-width: 18ch; }
}

@media (max-width: 760px) {
  .top { padding-inline: 1rem; }
  .wrap { width: min(100% - 2rem, 82rem); padding-top: 2rem; }
  .place-breadcrumbs { margin-bottom: 1.25rem; }
  .content-hero { grid-template-columns: 1fr; gap: 1.15rem; padding-bottom: 1.5rem; }
  h1 { max-width: 100%; font-size: clamp(3.35rem, 14vw, 4.5rem); overflow-wrap: anywhere; }
  .dek { font-size: 1.16rem; line-height: 1.38; }
  .identity-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 1rem; }
  .identity-strip div { padding: .58rem .65rem; }
  .identity-strip dt { font-size: .65rem; }
  .identity-strip dd { font-size: 1rem; line-height: 1.3; }
  .identity-save { margin-top: .6rem; }
  .content-locator {
    display: grid;
    grid-template-columns: min(7.5rem, 45%) minmax(0, 1fr);
    grid-template-rows: auto auto 1fr;
    min-height: 6.5rem;
    padding: 0 .85rem .75rem 0;
  }
  .content-locator__map {
    grid-row: 1 / -1;
    width: 100%;
    height: 100%;
    margin: 0 .85rem 0 0;
    border-right: 1px solid var(--line-gold);
    border-bottom: 0;
  }
  .content-locator__kicker { margin-top: .7rem; }
  .content-locator strong { margin-top: .15rem; font-size: 1.05rem; }
  .content-locator small { margin-top: .1rem; }
  .content-locator i { top: .75rem; right: .75rem; }
  .story { margin-left: 0; padding-top: 3.5rem; }
  .story h2 { margin-top: 3.6rem; font-size: 2.7rem; }
  .place-guide-lede { margin-bottom: 3rem; }
  .place-visual-reference { margin-bottom: 3.5rem; padding-top: 2.5rem; }
  .place-visual-reference__heading,
  .visual-reference-module > header { grid-template-columns: 1fr; gap: .75rem; }
  .place-visual-reference__heading h2,
  .visual-reference-module > header h3 { grid-row: auto; margin-top: 0; }
  .place-visual-reference__heading { padding-bottom: 1.5rem; }
  .place-visual-reference__modules { grid-template-columns: 1fr; border-left: 0; }
  .visual-reference-module { padding: 1.25rem 0; border-right: 0; background: transparent; }
  .visual-reference-module > header { gap: .5rem; margin-bottom: 1rem; }
  .visual-reference-module--comparison { grid-column: auto; }
  .visual-comparison { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .visual-comparison p { margin-top: .5rem; }
  .visual-comparison .visual-comparison__look { padding-top: .5rem; }
  .place-guide-section,
  .place-guide-reference {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .place-guide-section { padding: 3.25rem 0; }
  .place-guide-section .place-guide-section__heading h2 { margin-top: 0; font-size: 2.8rem; }
  .place-guide-section__heading h2 { overflow-wrap: anywhere; }
  .place-guide-reference { padding: 1.5rem; }
  .place-guide-reference--label { padding-inline: 0; }
  .producer-guide-section { grid-template-columns: 1fr; gap: .85rem; }
  .producer-guide-section h2 { margin-top: 0; font-size: 2.8rem; }
  .producer-guide-section--first-bottle { padding: 1.5rem; }
  .producer-sources { margin-left: 0; }
  .producer-sources ul { grid-template-columns: 1fr; }
  .place-sources summary { align-items: flex-start; flex-wrap: wrap; padding-block: .9rem; }
  .place-sources summary small { width: calc(100% - 2rem); margin: 0; }
  .place-sources > div { grid-template-columns: 1fr; gap: 1rem; }
  .wine-connections { padding: 1.35rem; }
  .wine-connections > header, .wine-connections > div { grid-template-columns: minmax(0, 1fr); }
  .wine-connections h2, .wine-connections nav strong { overflow-wrap: anywhere; }
  .wine-connections nav a { flex-wrap: wrap; min-width: 0; }
  .wine-connections > header .kicker,
  .wine-connections h2 { grid-column: 1; grid-row: auto; }
  .wine-connections article > p { min-height: 0; }
  .directory li { grid-template-columns: 1fr; gap: .35rem; }
  .related { grid-template-columns: 1fr; }
  .related a { min-height: 7.5rem; border-left: 1px solid var(--line); }
  .callout { margin-left: 0; }
  .place-guide-jump {
    grid-template-columns: 1fr;
    gap: 1rem;
    margin-left: 0;
    padding: 1rem 0 1.25rem;
  }
  .place-guide-jump__meta { padding-top: 0; }
  .place-guide-jump__meta small { max-width: none; }
  .place-guide-jump ol { grid-template-columns: 1fr; }
  .continuity-next header, .continuity-next > div { grid-template-columns: 1fr; }
  .continuity-next header .kicker,
  .continuity-next h2 { grid-column: 1; grid-row: auto; }
  .continuity-next a { min-height: 0; grid-template-columns: 1fr; gap: .45rem; padding-block: 1.4rem; }

  .page-producer--sparse .wrap,
  .page-region--sparse .wrap { padding-top: 2.1rem; }
  .page-producer--sparse .content-hero,
  .page-region--sparse .content-hero { gap: 1.35rem; padding-bottom: 2.1rem; }
  .page-producer--sparse .content-locator,
  .page-region--sparse .content-locator { min-height: 12.75rem; }
  .page-producer--sparse .content-locator__map,
  .page-region--sparse .content-locator__map { height: 7.25rem; }
  .page-producer--sparse .content-locator i,
  .page-region--sparse .content-locator i { top: 8.05rem; }
  .page-producer--sparse .story,
  .page-region--sparse .story { padding-top: 2.35rem; }
  .page-producer--sparse .story {
    max-width: none;
    margin-left: 0;
    padding: 2.35rem 1.25rem 2.6rem;
    background: var(--burgundy);
    color: rgb(255 250 242 / 82%);
  }
  .page-producer--sparse .story h2 { margin-top: 0; color: var(--paper); }
  .page-producer--sparse .story p { color: rgb(255 250 242 / 82%); }
  .page-producer--master.page-producer--sparse .producer-guide-section { grid-template-columns: 1fr; }
  .page-producer--sparse .story h2,
  .page-region--sparse .story h2 { font-size: 2.8rem; }
  .page-producer--sparse h1 { font-size: clamp(3.15rem, 13vw, 3.65rem); line-height: .96; }
  .page-producer--sparse .producer-intro::before,
  .page-region--sparse .region-intro::before { display: none; }
  .producer-intro::before,
  .region-intro::before { top: .15rem; font-size: 8.5rem; }
  .place-index { grid-template-columns: 1fr; }
  .place-index li,
  .place-index li:nth-child(even) { border-right: 0; }
  .page-region--sparse .place-index { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-region--sparse .place-index li { border-right: 1px solid var(--line-gold); }
  .page-region--sparse .place-index li:nth-child(even) { border-right: 0; }
}

@media (max-width: 420px) {
  .visual-comparison { grid-template-columns: 1fr; border-left: 0; }
  .visual-comparison article { padding: 1rem 0; border-right: 0; }
  .visual-labels > div { grid-template-columns: 1fr; gap: .3rem; }
}

@media (max-width: 390px) {
  .wrap { width: min(100% - 1.5rem, 82rem); }
  h1 { font-size: clamp(3.15rem, 13vw, 3.9rem); }
  .dek { font-size: 1.12rem; }
}

@media (max-width: 340px) {
  .top { padding-inline: .75rem; }
}

/* Grape reference: the Living Atlas grammar, with taste taking the place of a locator. */
.page-grape .wrap,
.page-grapes .wrap { width: min(100% - 2.5rem, 78rem); }

.grape-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(20rem, .82fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: end;
  padding: clamp(1rem, 3vw, 2rem) 0 clamp(3.5rem, 7vw, 6rem);
}

.grape-intro { position: relative; isolation: isolate; }
.grape-intro::before {
  position: absolute;
  z-index: -1;
  top: -2.5rem;
  right: 0;
  color: rgb(118 81 14 / 8%);
  content: attr(data-monogram);
  font: 500 clamp(8rem, 19vw, 15rem)/.75 var(--display);
  letter-spacing: -.08em;
  pointer-events: none;
}
.grape-kind {
  margin: 0 0 1rem;
  color: var(--gold);
  font: 600 .67rem/1.4 var(--label);
  letter-spacing: .18em;
  text-transform: uppercase;
}
.grape-intro h1 { max-width: 10ch; }
.grape-pronunciation {
  display: flex;
  flex-wrap: wrap;
  gap: .25rem .65rem;
  align-items: baseline;
  margin: -0.4rem 0 1.5rem;
  color: var(--burgundy);
  font-size: 1.05rem;
  font-style: italic;
}
.grape-pronunciation > span {
  color: var(--gold);
  font: 600 .7rem/1.4 var(--label);
  font-style: normal;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.grape-pronunciation small { width: 100%; color: var(--muted); font-size: .82rem; }
.grape-intro .identity-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 44rem; }

.grape-profile-plate {
  position: relative;
  overflow: hidden;
  padding: clamp(1.4rem, 3vw, 2.25rem);
  border: 1px solid var(--gold);
  background: var(--burgundy);
  color: rgb(255 250 243 / 82%);
}
.page-grape--white .grape-profile-plate { background: #3d2030; }
.grape-profile-plate::after {
  position: absolute;
  right: -3rem;
  bottom: -5.5rem;
  width: 12rem;
  height: 12rem;
  border: 1px solid rgb(232 213 183 / 28%);
  border-radius: 50%;
  content: "";
}
.grape-profile-plate header { display: grid; grid-template-columns: 8rem 1fr; gap: 1rem; align-items: end; }
.grape-profile-plate .kicker { grid-column: 1; grid-row: 1; margin: 0; color: var(--champagne); }
.grape-profile-plate h2 { grid-column: 2; grid-row: 1; margin: 0; color: var(--paper); font-size: clamp(2rem, 4vw, 3.1rem); }
.grape-traits { margin: 2rem 0; padding: 0; border-top: 1px solid rgb(232 213 183 / 28%); list-style: none; }
.grape-traits li {
  display: grid;
  grid-template-columns: 5.5rem 1fr 2rem;
  gap: .75rem;
  align-items: center;
  min-height: 2.45rem;
  border-bottom: 1px solid rgb(232 213 183 / 20%);
}
.grape-traits li > span:first-child,
.grape-traits b { font: 500 .58rem/1 var(--label); letter-spacing: .12em; text-transform: uppercase; }
.grape-traits b { color: var(--champagne); font-size: .52rem; text-align: right; }
.grape-trait-scale { height: 5px; background: rgb(255 250 243 / 14%); }
.grape-trait-scale i { display: block; width: calc(var(--trait-value) * 20%); height: 100%; background: var(--champagne); }
.grape-aromas > p { margin: 0 0 .75rem; color: var(--champagne); font: 600 .58rem/1 var(--label); letter-spacing: .16em; text-transform: uppercase; }
.grape-aromas ul { display: flex; flex-wrap: wrap; gap: .4rem; }
.grape-aromas li { padding: .42rem .55rem .35rem; border: 1px solid rgb(232 213 183 / 30%); font-size: .83rem; line-height: 1; }
.grape-profile-plate > small { display: block; max-width: 29rem; margin-top: 1.25rem; color: rgb(255 250 243 / 82%); font-size: .95rem; line-height: 1.5; }

.grape-guide-jump {
  display: grid;
  grid-template-columns: minmax(13rem, .34fr) 1fr;
  gap: 2rem;
  margin-bottom: clamp(3rem, 6vw, 5rem);
  padding: 1.35rem 0;
  border-top: 1px solid var(--line-gold);
  border-bottom: 1px solid var(--line-gold);
}
.grape-guide-jump > div { display: flex; flex-direction: column; gap: .35rem; }
.grape-guide-jump > div span { color: var(--gold); font: 600 .7rem/1.4 var(--label); letter-spacing: .08em; text-transform: uppercase; }
.grape-guide-jump > div small { color: var(--muted); font-size: .95rem; line-height: 1.5; }
.grape-guide-jump ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1.4rem; }
.grape-guide-jump a { display: grid; grid-template-columns: 2rem 1fr; gap: .65rem; min-height: 44px; align-items: center; padding: .35rem 0; color: var(--reading); font-size: 1.05rem; line-height: 1.2; text-decoration: none; }
.grape-guide-jump a:hover { color: var(--wine); }
.grape-guide-jump a span { color: var(--gold); font: 600 .65rem/1.8 var(--label); letter-spacing: .12em; }

.grape-story { max-width: none; }
.grape-opening,
.grape-module { scroll-margin-top: 7rem; }
.grape-opening {
  display: grid;
  grid-template-columns: minmax(12rem, .38fr) minmax(0, 1fr);
  gap: clamp(2rem, 6vw, 7rem);
  max-width: 68rem;
  margin-bottom: clamp(3rem, 6vw, 5rem);
}
.grape-opening h2,
.grape-module h2,
.grape-related h2 { margin: 0; font-size: clamp(2.4rem, 4.3vw, 3.7rem); }
.grape-opening h2 { font-size: clamp(2.7rem, 4vw, 3.5rem); }
.grape-opening > header .kicker { margin: 1rem 0 0; }
.grape-opening > div { max-width: 42rem; padding-top: .25rem; }
.grape-opening > div p { margin: 0 0 1.3rem; }

.grape-module { margin-top: clamp(3rem, 6vw, 5rem); }
.grape-module > header { display: grid; grid-template-columns: minmax(12rem, .32fr) minmax(0, 1fr); gap: .6rem 2rem; align-items: end; margin-bottom: 2.4rem; }
.grape-module > header .kicker { grid-column: 1; grid-row: 1; margin: 0; }
.grape-module > header h2 { grid-column: 2; grid-row: 1; }
.grape-module > header > p:last-child:not(.kicker) { grid-column: 2; max-width: 40rem; margin: .65rem 0 0; }

.grape-places > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--line-gold); border-left: 1px solid var(--line-gold); }
.grape-places article { display: grid; grid-template-columns: 2rem 1fr; gap: .4rem 1rem; min-height: 18rem; padding: 1.35rem; border-right: 1px solid var(--line-gold); border-bottom: 1px solid var(--line-gold); background: rgb(255 250 243 / 52%); }
.grape-places article > span { grid-row: 1 / 4; color: var(--gold); font: 600 .55rem/1.8 var(--label); letter-spacing: .14em; }
.grape-places h3 { align-self: start; margin: 0; color: var(--burgundy); font-size: 1.85rem; line-height: 1; }
.grape-places article > p { margin: .4rem 0 1.4rem; font-size: 1rem; line-height: 1.5; }
.grape-places nav { display: flex; flex-wrap: wrap; gap: .7rem 1rem; align-self: end; }
.grape-places nav a { display: inline-flex; min-height: 44px; gap: .35rem; align-items: center; color: var(--gold); font: 600 .7rem/1.5 var(--label); letter-spacing: .06em; text-decoration: none; text-transform: uppercase; }

.grape-making > ol { border-top: 1px solid var(--line); }
.grape-making li { display: grid; grid-template-columns: 4rem minmax(0, 1fr); gap: 1.3rem; max-width: 64rem; margin-left: auto; padding: 1.55rem 0; border-bottom: 1px solid var(--line); }
.grape-making li > span { color: var(--gold); font: 600 .57rem/1.8 var(--label); letter-spacing: .16em; }
.grape-making h3 { margin: 0 0 .45rem; color: var(--burgundy); font-size: 1.55rem; line-height: 1.05; }
.grape-making li p { max-width: 42rem; margin: 0; }

.grape-labels { padding: clamp(2rem, 5vw, 4.5rem); background: var(--burgundy); color: rgb(255 250 243 / 82%); }
.grape-labels h2 { color: var(--paper); }
.grape-labels .kicker { color: var(--champagne); }
.grape-labels > header > p:last-child { color: rgb(255 250 243 / 72%); }
.grape-labels dl { margin: 0; border-top: 1px solid rgb(232 213 183 / 32%); }
.grape-labels dl > div { display: grid; grid-template-columns: minmax(12rem, .32fr) minmax(0, 1fr); gap: 2rem; padding: 1.25rem 0; border-bottom: 1px solid rgb(232 213 183 / 24%); }
.grape-labels dt { color: var(--champagne); font-size: 1.35rem; line-height: 1.15; }
.grape-labels dd { max-width: 42rem; margin: 0; }

.grape-table > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line-gold); border-left: 1px solid var(--line-gold); }
.grape-table article { min-height: 16rem; padding: 1.35rem; border-right: 1px solid var(--line-gold); border-bottom: 1px solid var(--line-gold); }
.grape-table h3 { margin: 0 0 1.5rem; color: var(--gold); font: 600 .61rem/1.4 var(--label); letter-spacing: .16em; text-transform: uppercase; }
.grape-table p { margin: 0; font-size: 1.02rem; line-height: 1.55; }

.grape-start > ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.5rem, 4vw, 3.5rem); }
.grape-start li { padding-top: 1rem; border-top: 2px solid var(--gold); }
.grape-start li > span { color: var(--gold); font: 600 .55rem/1 var(--label); letter-spacing: .16em; }
.grape-start h3 { min-height: 2.3em; margin: 1.3rem 0 .75rem; color: var(--burgundy); font-size: 1.7rem; line-height: 1.05; }
.grape-start li p { margin: 0; font-size: 1rem; line-height: 1.55; }

.grape-related { margin-top: clamp(3rem, 6vw, 5rem); padding-top: 1.5rem; border-top: 1px solid var(--line); }
.grape-related > header { display: grid; grid-template-columns: minmax(12rem, .32fr) minmax(0, 1fr); gap: 2rem; align-items: end; }
.grape-related > header .kicker { grid-column: 1; grid-row: 1; margin: 0; }
.grape-related > header h2 { grid-column: 2; grid-row: 1; }
.grape-related > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 2.5rem; border-top: 1px solid var(--line-gold); border-left: 1px solid var(--line-gold); }
.grape-related > div > section { padding: 1.4rem; border-right: 1px solid var(--line-gold); border-bottom: 1px solid var(--line-gold); }
.grape-related h3 { margin: 0 0 1.1rem; color: var(--gold); font: 600 .72rem/1.5 var(--label); letter-spacing: .08em; text-transform: uppercase; }
.grape-related li + li { border-top: 1px solid var(--line); }
.grape-related a { display: grid; gap: .2rem; padding: .85rem 0; color: var(--reading); text-decoration: none; }
.grape-related a strong { color: var(--burgundy); font-size: 1.25rem; line-height: 1.05; }
.grape-related a span { color: var(--muted); font-size: 1.05rem; line-height: 1.5; }

.grape-sources { margin-top: clamp(3rem, 6vw, 5rem); border-top: 1px solid var(--line-gold); border-bottom: 1px solid var(--line-gold); scroll-margin-top: 7rem; }
.grape-sources summary { display: flex; min-height: 4.5rem; align-items: center; justify-content: space-between; gap: 1rem; cursor: pointer; list-style: none; }
.grape-sources summary::-webkit-details-marker { display: none; }
.grape-sources summary span { color: var(--burgundy); font-size: 1.4rem; }
.grape-sources summary small { color: var(--gold); font: 600 .72rem/1.5 var(--label); letter-spacing: .06em; text-transform: uppercase; }

.grape-sources > div { display: grid; grid-template-columns: minmax(13rem, .34fr) 1fr; gap: 2rem; padding: 1rem 0 2rem; }
.grape-sources > div p { margin: 0; }
.grape-sources li + li { margin-top: .55rem; }
.grape-sources a { overflow-wrap: anywhere; }

.grapes-hero { display: flex; max-width: 64rem; flex-direction: column; padding: clamp(1rem, 4vw, 3rem) 0 clamp(4rem, 8vw, 7rem); }
.grapes-hero h1 { order: 1; max-width: 13ch; font-size: clamp(3.7rem, 9vw, 7.2rem); }
.grapes-hero .kicker { order: 2; }
.grapes-hero .dek { order: 3; }
.grape-index > header { display: grid; grid-template-columns: minmax(12rem, .35fr) 1fr; gap: 2rem; align-items: end; margin-bottom: 2rem; }
.grape-index h2 { margin: 0; font-size: clamp(2.7rem, 5vw, 4.3rem); }
.grape-index > header p { max-width: 36rem; margin: 0; }
.grape-index ol { border-top: 1px solid var(--line-gold); }
.grape-index li { border-bottom: 1px solid var(--line-gold); }
.grape-index li > a { display: grid; grid-template-columns: 3rem 1fr 2rem; gap: 1rem; align-items: center; min-height: 12rem; padding: 1.4rem 0; color: var(--reading); text-decoration: none; }
.grape-index li > a > span { color: var(--gold); font: 600 .55rem/1 var(--label); letter-spacing: .16em; }
.grape-index li p { margin: 0 0 .25rem; color: var(--gold); font: 600 .56rem/1.4 var(--label); letter-spacing: .13em; text-transform: uppercase; }
.grape-index li h3 { margin: 0; color: var(--burgundy); font-size: clamp(2.3rem, 5vw, 4.4rem); line-height: .95; }
.grape-index li small { display: block; max-width: 46rem; margin-top: .8rem; color: var(--muted); font-size: .93rem; line-height: 1.4; }
.grape-index li .ui-icon { color: var(--gold); }
.grape-index-more { max-width: 50rem; margin: clamp(5rem, 10vw, 8rem) 0 0 auto; padding: clamp(2rem, 5vw, 4rem); background: var(--burgundy); color: rgb(255 250 243 / 78%); }
.grape-index-more h2 { margin-top: 0; color: var(--paper); }
.grape-index-more a { display: inline-flex; gap: .4rem; align-items: center; color: var(--champagne); font: 600 .6rem/1.4 var(--label); letter-spacing: .12em; text-decoration: none; text-transform: uppercase; }

@media (max-width: 760px) {
  .page-grape .wrap,
  .page-grapes .wrap { width: min(100% - 2rem, 78rem); }
  .grape-opening > *, .grape-module > header > *, .grape-places article > * { min-width: 0; }
  .grape-hero { grid-template-columns: 1fr; gap: 2rem; padding-bottom: 3rem; }
  .grape-intro::before { display: none; }
  .grape-intro .identity-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .grape-profile-plate header { grid-template-columns: 1fr; }
  .grape-profile-plate .kicker,
  .grape-profile-plate h2 { grid-column: 1; grid-row: auto; }
  .grape-guide-jump { grid-template-columns: 1fr; gap: 1rem; margin-bottom: 4rem; }
  .grape-guide-jump ol { grid-template-columns: 1fr; }
  .grape-opening { grid-template-columns: 1fr; gap: 1rem; margin-bottom: 5rem; }
  .grape-opening h2,
  .grape-module h2,
  .grape-related h2 { font-size: clamp(2.65rem, 12vw, 3.7rem); }
  .grape-module { margin-top: 5rem; }
  .grape-module > header,
  .grape-related > header { grid-template-columns: 1fr; gap: .65rem; }
  .grape-module > header .kicker,
  .grape-module > header h2,
  .grape-module > header > p:last-child:not(.kicker) { grid-column: 1; grid-row: auto; }
  .grape-related > header .kicker,
  .grape-related > header h2 { grid-column: 1; grid-row: auto; }
  .grape-places > div { grid-template-columns: 1fr; }
  .grape-places article { min-height: 15rem; }
  .grape-making li { grid-template-columns: 2.2rem minmax(0, 1fr); }
  .grape-labels { margin-inline: -.75rem; padding: 2.1rem 1.25rem; }
  .grape-labels dl > div { grid-template-columns: 1fr; gap: .45rem; }
  .grape-table > div,
  .grape-start > ol,
  .grape-related > div { grid-template-columns: 1fr; }
  .grape-table article { min-height: 0; }
  .grape-start > ol { gap: 2.2rem; }
  .grape-start h3 { min-height: 0; }
  .grape-sources summary { align-items: flex-start; flex-wrap: wrap; padding: .9rem 0; }
  .grape-sources summary small { width: calc(100% - 2rem); }
  .grape-sources > div { grid-template-columns: 1fr; gap: 1rem; }
  .grape-index > header { grid-template-columns: 1fr; gap: .8rem; }
  .grape-index li > a { grid-template-columns: 2rem 1fr; min-height: 10rem; }
  .grape-index li .ui-icon { display: none; }
}

@media (max-width: 420px) {
  .grape-traits li { grid-template-columns: minmax(0, 1fr) 2rem; gap: .5rem; padding-block: .5rem; }
  .grape-traits li > span:first-child { grid-column: 1 / -1; grid-row: 1; }
  .grape-traits b { grid-column: 2; grid-row: 2; }
  .grape-trait-scale { grid-column: 1; grid-row: 2; }
}

@media (prefers-reduced-motion: reduce) {
  .grape-guide-jump a,
  .grape-index a,
  .grape-related a { transition: none; }
}

.continuity-bar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 1rem;
  margin: -1.5rem 0 3rem;
  padding: 1rem 1.15rem;
  border: 1px solid rgb(159 116 37 / 35%);
  background: rgb(255 250 242 / 88%);
  color: #503a2d;
  box-shadow: 0 .6rem 2rem rgb(77 8 38 / 7%);
  backdrop-filter: blur(16px);
}
.continuity-bar p { display: grid; gap: .18rem; margin: 0; }
.continuity-bar span {
  color: #9f7425;
  font: 600 .58rem/1.4 "Josefin Sans", Arial, sans-serif;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.continuity-bar strong { color: #2b1911; font: 500 1rem/1.35 "Cormorant Garamond", Georgia, serif; }
.continuity-bar a,
.continuity-bar button {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: .55rem .8rem;
  border: 1px solid rgb(77 8 38 / 20%);
  background: transparent;
  color: #4d0826;
  font: 600 .58rem/1.2 "Josefin Sans", Arial, sans-serif;
  letter-spacing: .1em;
  text-decoration: none;
  text-transform: uppercase;
  cursor: pointer;
}
.continuity-bar button[aria-pressed="true"] { border-color: #9f7425; background: #eadfc9; }
.continuity-bar--atlas {
  position: relative;
  z-index: 1;
  display: flex;
  box-sizing: border-box;
  width: auto;
  min-width: 0;
  max-width: calc(100% - 1.6rem);
  align-items: center;
  gap: .55rem;
  margin: .8rem;
  padding: .75rem .9rem;
  box-shadow: none;
}
.continuity-bar--atlas p { min-width: 0; flex: 1; }
.continuity-bar--atlas strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.continuity-bar--atlas a { min-width: 3.6rem; padding-inline: .45rem; }
.continuity-bar--learn {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 60px 0 0;
  border-right: 0;
  border-left: 0;
  box-shadow: none;
}
.continuity-bar--learn p { min-width: 0; flex: 1; }
.reference-page--library .continuity-bar {
  margin: 5.5rem 0 0;
  scroll-margin-top: 5.5rem;
}

.your-world { padding: clamp(2rem, 4vw, 3rem) 0; background: #efe3cf; }
.your-world[hidden] { display: none; }
.your-world__heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(16rem, .55fr); gap: 2rem; align-items: end; }
.your-world__heading h2 { margin: .25rem 0 0; color: #4d0826; font: 500 clamp(2rem, 3.5vw, 3rem)/1.08 "Cormorant Garamond", Georgia, serif; }
.your-world__heading p { margin: 0; color: #503a2d; font: 400 1.18rem/1.5 "Cormorant Garamond", Georgia, serif; }
.your-world__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); align-items: start; gap: 1.5rem; margin-top: 1.5rem; }
.your-world__card { min-width: 0; padding: 1rem 0 0; border-top: 1px solid rgb(159 116 37 / 45%); background: transparent; }
.your-world__card[hidden] { display: none; }
.your-world__card h3 { margin: 0 0 1rem; color: #4d0826; font: 500 1.65rem/1 "Cormorant Garamond", Georgia, serif; }
.your-world__card ul { display: grid; gap: .7rem; margin: 0; padding: 0; list-style: none; }
.your-world__card li { display: grid; gap: .1rem; }
.your-world__card a { color: #4d0826; font: 600 .68rem/1.35 "Josefin Sans", Arial, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.your-world__card li span { color: #624a3c; font: 400 .92rem/1.35 "Cormorant Garamond", Georgia, serif; }
.your-world__privacy { display: flex; justify-content: space-between; gap: 1rem; align-items: center; margin-top: 1.5rem; color: #624a3c; font: 400 .95rem/1.4 "Cormorant Garamond", Georgia, serif; }
.your-world__privacy button { min-height: 44px; padding: .5rem .8rem; border: 1px solid rgb(77 8 38 / 24%); background: transparent; color: #4d0826; cursor: pointer; }

@media (max-width: 760px) {
  .continuity-bar { grid-template-columns: 1fr; gap: .6rem; margin-top: -.5rem; }
  .continuity-bar a, .continuity-bar button { width: 100%; }
  .continuity-bar--atlas { grid-template-columns: none; width: auto; max-width: calc(100% - 1.1rem); margin: .55rem; padding: .65rem .75rem; }
  .continuity-bar--atlas a { width: auto; }
  .continuity-bar--learn { grid-template-columns: none; margin-top: 60px; }
  .continuity-bar--learn a { width: auto; flex: 0 0 auto; }
  .your-world__heading, .your-world__grid { grid-template-columns: 1fr; }
  .your-world__privacy { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 340px) {
  .continuity-bar--atlas span { display: none; }
  .continuity-bar--atlas strong {
    max-width: none;
    overflow: visible;
    font-size: .92rem;
    line-height: 1.05;
    text-overflow: clip;
    white-space: normal;
  }
}

@media (forced-colors: active) {
  .continuity-bar, .your-world__card { border: 1px solid currentColor; }
}

/* Shared ink and materials for explanatory artwork on reading surfaces. */
:root {
  --illustration-ink: #6b243b;
  --illustration-accent: #762d43;
  --illustration-paper: #f7f2e6;
  --illustration-wine: #c59b5060;
  --illustration-wood: #bb885c35;
  --illustration-rule: #b6a68d;
  --illustration-ruby: #850035bb;
  --illustration-tawny: #b56c2bbb;
  --illustration-stroke: 1.4;
}
.wine-illustration {
  display: block;
  width: min(100%, 200px);
  height: auto;
  margin-inline: auto;
  fill: none;
  stroke: var(--illustration-ink);
  stroke-width: var(--illustration-stroke);
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Separate, authored paper specimens: each term keeps its own factual explanation. */
.label-study {
  --label-paper: var(--illustration-paper, #fffaf2);
  --label-ivory: #f4eddf;
  --label-ink: var(--illustration-ink, #4d0826);
  --label-reading: var(--illustration-ink, #503a2d);
  --label-rule: var(--illustration-rule, #b49a70);
  margin: 1.6rem 0 0;
  color: var(--label-reading);
  text-align: left;
}
.label-study__caption { padding-bottom: 1.25rem; }
.label-study__caption strong { display: block; font: 500 1.4rem/1.2 "Cormorant Garamond", "Iowan Old Style", Baskerville, serif; color: var(--label-ink); }
.label-study__caption > span { display: block; max-width: 65ch; margin-top: .45rem; font: 400 .88rem/1.5 "Josefin Sans", "Avenir Next", sans-serif; }
.label-study__collection { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.7rem 1.4rem; align-items: start; }
.label-study__entry { min-width: 0; border: 0; border-radius: 0; background: transparent; }
.label-study__entry > summary { display: block; padding: 0; cursor: pointer; list-style: none; }
.label-study__entry > summary::-webkit-details-marker { display: none; }
.label-study__specimens { display: flex; gap: .6rem; min-height: 10rem; padding: 1rem; background: var(--label-ink); align-items: stretch; }
.label-study__paper { position: relative; display: flex; flex: 1; min-width: 0; flex-direction: column; justify-content: center; align-items: center; gap: .8rem; padding: 1.6rem 1rem 1.2rem; background: var(--label-paper); color: var(--label-ink); border: 1px solid var(--label-rule); outline: 1px solid var(--label-rule); outline-offset: -.45rem; text-align: center; }
.label-study__term { display: block; max-width: 20ch; font: 500 clamp(1.35rem, 2.4vw, 1.9rem)/1.05 "Cormorant Garamond", "Iowan Old Style", Baskerville, serif; overflow-wrap: anywhere; text-wrap: balance; }
.label-study__rule { display: block; width: 2rem; border-top: 1px solid var(--label-rule); }
.label-study__kind { font: 600 .65rem/1.3 "Josefin Sans", "Avenir Next", sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.label-study__specimens--comparison .label-study__paper { padding: 1.3rem .6rem 1rem; }
.label-study__specimens--comparison .label-study__term { font-size: clamp(1.1rem, 1.8vw, 1.5rem); }
.label-study__action { display: flex; justify-content: space-between; align-items: center; gap: .7rem; min-height: 44px; padding: .5rem .75rem; color: var(--label-ink); background: var(--label-ivory); border-bottom: 1px solid var(--label-rule); font: 500 .78rem/1.4 "Josefin Sans", "Avenir Next", sans-serif; }
.label-study__toggle { width: 16px; height: 16px; flex: 0 0 16px; }
.label-study__entry[open] .label-study__toggle path { d: path('M3 8h10'); }
.label-study__entry[open] .label-study__when-closed,
.label-study__entry:not([open]) .label-study__when-open { display: none; }
.label-study__entry > summary:hover .label-study__action { background: #e6d8bd; }
.label-study__entry > summary:focus-visible { outline: 3px solid #850035; outline-offset: 4px; }
.label-study__annotation { position: relative; padding: 1rem .25rem 0 1.3rem; }
.label-study__annotation::before { content: ''; position: absolute; left: .35rem; top: 0; height: 1.65rem; width: .55rem; border-left: 1px solid var(--label-rule); border-bottom: 1px solid var(--label-rule); }
.label-study .label-study__annotation p { margin: 0; font: 400 1.1rem/1.45 "Cormorant Garamond", "Iowan Old Style", Baskerville, serif; color: var(--label-reading); }
.label-study .label-study__annotation .label-study__cue { margin-top: .6rem; font-size: .97rem; }
.label-study ::selection { background: #e6d8bd; color: #4d0826; }
.grape-labels .label-study__caption strong,
.grape-labels .label-study__caption > span,
.grape-labels .label-study .label-study__annotation p { color: #fffaf2; }
.grape-labels .label-study__specimens { background: #3d2030; }
@media (max-width: 760px) {
  .label-study__collection { grid-template-columns: 1fr; gap: 1.75rem; }
  .label-study__specimens { min-height: 9rem; }
  .label-study__term { font-size: 1.75rem; }
  .label-study__specimens--comparison .label-study__term { font-size: 1.4rem; }
}
@media (max-width: 390px) {
  .label-study__specimens--comparison { flex-wrap: wrap; }
  .label-study__specimens--comparison .label-study__paper { flex-basis: 40%; }
}
@media (forced-colors: active) {
  .label-study__paper, .label-study__action { border: 1px solid CanvasText; }
  .label-study__entry > summary:focus-visible { outline-color: Highlight; }
}

.label-study__outside { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .3rem .8rem; padding: .65rem .75rem .35rem; color: var(--label-ink); background: var(--label-ivory); font: 400 .75rem/1.4 "Josefin Sans", "Avenir Next", sans-serif; }
.label-study__year-space { display: block; width: 5rem; height: 2rem; border: 1px dashed var(--label-rule); }
.label-study__year-space--absent { border-width: 0 0 1px; }

/* Cellar cutaways and independent winemaking choices share the reference ink. */
.reference-process-art {
  --process-ink: var(--illustration-ink, #503a2d);
  --process-liquid: var(--illustration-wine, #c6a452);
  display: block;
  width: 100%;
  height: auto;
  color: var(--process-ink);
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.reference-process-art .process-glass { fill: var(--illustration-paper, #f3eee2); }
.reference-process-art .process-liquid { fill: var(--process-liquid); stroke: none; opacity: .72; }
.reference-process-art .process-wood { fill: var(--illustration-wood, #dfc7a0); }
.reference-process-art .process-hoop { fill: #978778; stroke-width: 1; }
.reference-process-art .process-detail { stroke-width: 1.2; }
.reference-process-art .process-ground { stroke: var(--illustration-rule, #9b8569); opacity: .45; }
.reference-process-art .process-highlight { stroke: var(--illustration-paper, #fffaf2); stroke-width: 2.4; }
.reference-process-art .process-bubbles { stroke: var(--illustration-paper, #fffaf2); stroke-width: 1.4; }
.reference-process-art .process-sediment { fill: #76510e; stroke: none; }
.reference-process-art .process-grapes,
.reference-process-art .process-skins { fill: #83415c; stroke: #4d0826; }
.reference-process-art .process-cutaway,
.reference-process-art .process-paper { fill: var(--illustration-paper, #fffaf2); }
.reference-process-art .process-acid { fill: #e6d8bd; stroke: #68102f; }
.reference-process-art .process-sugar { fill: var(--illustration-paper, #fffaf2); }
.reference-process-art .process-white-cluster .process-grapes { fill: #d7c68f; stroke: #76510e; }
.reference-process-art .process-white-wine { --process-liquid: var(--illustration-wine, #c6a452); }
.reference-process-art .process-arrow { stroke: #76510e; }
.reference-cellar-sequence {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  list-style: none;
  margin: 1.8rem 0 0;
  padding: 0;
  gap: 0;
}
.reference-cellar-sequence > li { min-width: 0; padding: 0 1rem; border-inline-start: 1px solid var(--reference-line, rgb(77 45 29 / 18%)); }
.reference-cellar-sequence > li:first-child { border-inline-start: 0; padding-inline-start: 0; }
.reference-cellar-sequence > li:last-child { padding-inline-end: 0; }
.reference-cellar-sequence .reference-process-art { max-width: 16rem; margin: 0 auto 1.3rem; }
.reference-cellar-sequence__copy { position: relative; }
.reference-process-number { display: block; color: var(--reference-gold, #76510e); font: 600 .72rem/1.4 var(--font-label, 'Josefin Sans', sans-serif); margin-bottom: .5rem; }
.reference-cellar-sequence h4 { color: var(--reference-burgundy, #4d0826); font-size: 1.42rem; line-height: 1.13; margin: 0 0 .7rem; font-weight: 500; }
.reference-cellar-sequence p { font-size: 1.08rem; line-height: 1.55; margin: 0; }
.reference-winemaking {
  list-style: none;
  padding: 0;
  margin: 0;
}
.reference-winemaking .reference-process-art { --process-liquid: var(--illustration-ruby, #8c3650); }
.reference-winemaking--white .reference-process-art { --process-liquid: var(--illustration-wine, #c6a452); }
.reference-winemaking--white .process-grapes,
.reference-winemaking--white .process-skins { fill: #d7c68f; stroke: #76510e; }
.reference-winemaking > .reference-winemaking__row { display: grid; grid-template-columns: 9rem minmax(0, 1fr); align-items: center; gap: 1.6rem; margin: 0; max-width: none; border-bottom: 0; padding: 1.5rem 0; border-top: 1px solid var(--reference-line, rgb(77 45 29 / 18%)); }
.reference-winemaking > .reference-winemaking__row:first-child { padding-top: 0; border-top: 0; }
.reference-winemaking > .reference-winemaking__row--text { grid-template-columns: minmax(0, 1fr); padding-inline-start: 10.6rem; }
.reference-winemaking__illustration { align-self: start; }
.reference-winemaking__copy h3 { margin: 0 0 .5rem; color: var(--reference-burgundy, #4d0826); font-size: 1.7rem; font-weight: 500; line-height: 1.15; }
.reference-winemaking__copy p { margin: 0; max-width: 64ch; }
@media (max-width: 1000px) and (min-width: 761px) {
  .reference-cellar-sequence { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem 0; }
  .reference-cellar-sequence > li:nth-child(3) { border-inline-start: 0; padding-inline-start: 0; }
}
@media (max-width: 760px) {
  .reference-cellar-sequence { display: block; }
  .reference-cellar-sequence > li,
  .reference-cellar-sequence > li:first-child,
  .reference-cellar-sequence > li:last-child { display: block; border-inline-start: 0; border-top: 1px solid var(--reference-line, rgb(77 45 29 / 18%)); padding: 1.5rem 0; }
  .reference-cellar-sequence > li:first-child { border-top: 0; padding-top: 0; }
  .reference-cellar-sequence .reference-process-art { width: min(12rem, 100%); margin: 0 0 1rem; }
  .reference-winemaking > .reference-winemaking__row { grid-template-columns: min(7rem, 40%) minmax(0, 1fr); gap: 0 1rem; }
  .reference-winemaking__copy { display: contents; }
  .reference-winemaking__copy h3 { align-self: center; }
  .reference-winemaking__copy p { grid-column: 1 / -1; margin-top: .8rem; }
  .reference-winemaking > .reference-winemaking__row--text { grid-template-columns: minmax(0, 1fr); padding-inline-start: 0; }
}
@media (forced-colors: active) {
  .reference-process-art { color: CanvasText; }
  .reference-process-art * { stroke: CanvasText; }
}

.reference-winemaking .reference-process-caption { font: 400 .75rem/1.4 var(--font-label, "Josefin Sans", sans-serif); color: var(--reference-reading, #503a2d); text-align: center; margin: .3rem 0 0; }

/* Reading plates use label excerpts and equal tasting pours, never map shapes
   or implied quality scores. A wider two-column rhythm keeps words legible. */
.reference-process-art .process-label {
  fill: var(--illustration-ink, #503a2d);
  stroke: none;
  font: 500 17px/1.2 "Cormorant Garamond", "Iowan Old Style", Baskerville, serif;
}
.reference-process-art .process-label--active { fill: var(--illustration-accent, #68102f); font-weight: 700; }
.reference-process-art .process-tasting--red { --process-liquid: var(--illustration-ruby, #8c3650); }
.reference-process-art .process-tasting--white { --process-liquid: var(--illustration-wine, #c6a452); }
.reference-cellar-sequence--reading {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem 0;
}
.reference-cellar-sequence--reading > li {
  display: grid;
  grid-template-columns: 10rem minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
}
.reference-cellar-sequence--reading > li:nth-child(odd) { border-inline-start: 0; padding-inline-start: 0; }
.reference-cellar-sequence--reading .reference-process-art { margin: 0; }
@media (max-width: 1100px) and (min-width: 761px) {
  .reference-cellar-sequence--reading > li { display: block; }
  .reference-cellar-sequence--reading .reference-process-art { max-width: min(13rem, 100%); margin-bottom: 1rem; }
}
@media (max-width: 760px) {
  .reference-cellar-sequence--reading > li,
  .reference-cellar-sequence--reading > li:first-child,
  .reference-cellar-sequence--reading > li:last-child { display: block; }
  .reference-cellar-sequence--reading .reference-process-art { width: min(13rem, 100%); margin-bottom: 1rem; }
}
@media (forced-colors: active) {
  .reference-process-art .process-label { fill: CanvasText; stroke: none; }
}

/* Shared navigation and controls for the editorial site. Atlas never loads this file. */
:root {
  --wow-header-height: 5rem;
  --wow-gutter: clamp(1rem, 4vw, 4rem);
  --wow-ui-font: 'Josefin Sans', 'Avenir Next', sans-serif;
  --wow-ui-size: .75rem;
  --wow-ui-ink: #4d0826;
  --wow-ui-paper: #f4eddf;
  --wow-ui-line: #c9b898;
  --wow-ui-focus: #850035;
}
body > header.nav {
  --wow-ui-ink: #f5efe3;
  /* A translucent surface keeps the underlying WebGL canvas composited whole. */
  --wow-ui-paper: rgb(36 0 20 / 98%);
  --wow-ui-line: #795c49;
  --wow-ui-focus: #e8d5b7;
}
body.reference-page--library > header.nav {
  --wow-ui-ink: #4d0826;
  --wow-ui-paper: #f4eddf;
  --wow-ui-line: #c9b898;
  --wow-ui-focus: #850035;
}
body > header:is(.site-header, .top, .nav) {
  box-sizing: border-box;
  min-height: var(--wow-header-height);
  height: auto;
  padding: .65rem max(var(--wow-gutter), calc((100vw - 82rem) / 2));
  gap: 1.5rem;
  border-bottom: 1px solid var(--wow-ui-line);
  background: var(--wow-ui-paper);
  color: var(--wow-ui-ink);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
body > header.nav .nav__inner { min-height: calc(var(--wow-header-height) - 1.3rem - 1px); max-width: none; padding: 0; gap: 1.5rem; }
body > header:is(.site-header, .top, .nav) :is(.brand, .site-brand, .nav__brand) { display: inline-flex; align-items: center; flex-shrink: 0; min-height: 44px; gap: .9rem; text-decoration: none; }
body > header:is(.site-header, .top, .nav) :is(.brand__logo, .site-brand img, .nav__brand img) { display: block; width: auto; min-height: 0; height: 2.5rem; }
body > header:is(.site-header, .top, .nav) :is(.brand__text, .site-brand span, .nav__brand-sub) {
  display: block; max-width: none; padding-left: .9rem; border-left: 1px solid var(--wow-ui-line);
  color: var(--wow-ui-ink); font: 500 .625rem/1.4 var(--wow-ui-font); letter-spacing: .15em; text-transform: uppercase;
}
body > header:is(.site-header, .top, .nav) :is(.primary-nav, .top-menu > nav, .nav__links) { gap: clamp(.6rem, 1.8vw, 2rem); }
body > header:is(.site-header, .top, .nav) :is(.primary-nav > a, .top-menu > nav > a, .nav__link) {
  display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px;
  margin: 0; padding: .5rem .2rem; border: 0; background: none;
  color: var(--wow-ui-ink); font: 500 var(--wow-ui-size)/1.4 var(--wow-ui-font); letter-spacing: .12em;
  text-decoration: none; text-transform: uppercase; cursor: pointer;
}
body > header:is(.site-header, .top, .nav) :is(.primary-nav > a, .top-menu > nav > a, .nav__link)::after { content: none; }
body > header:is(.site-header, .top, .nav) nav :is(a, button)[aria-current='page'],
body > header:is(.site-header, .top, .nav) nav :is(a, button):hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .6em; }
body > header:is(.site-header, .top, .nav) :is(a, button, summary):focus-visible { outline: 2px solid var(--wow-ui-focus); outline-offset: 4px; }
body > header:is(.site-header, .top, .nav) :is(.menu-button, .nav__menu-toggle, .top-menu > summary) {
  min-width: 44px; min-height: 44px; gap: .65rem; padding: .4rem 0;
  color: var(--wow-ui-ink); font: 500 var(--wow-ui-size)/1.4 var(--wow-ui-font); letter-spacing: .12em;
}
body > header.site-header .menu-button__icon { display: none; }
body > header:is(.site-header, .top, .nav) :is(.menu-button, .nav__menu-toggle, .top-menu > summary)::after {
  content: ''; display: block; flex: 0 0 20px; width: 20px; height: 20px; margin: 0;
  background: currentColor;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M2 6h16M2 14h16' fill='none' stroke='black' stroke-width='1.2'/%3E%3C/svg%3E") center / contain no-repeat;
}
body > header:is(.site-header, .top, .nav) :is(.menu-button, .nav__menu-toggle)[aria-expanded='true']::after,
body > header.top .top-menu[open] > summary::after {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m4 4 12 12M4 16 16 4' fill='none' stroke='black' stroke-width='1.2'/%3E%3C/svg%3E");
}
/* Shared control proportions; each surface retains its light or dark colour roles. */
:is(.button, .btn, .identity-save, .library-finder__scope) { min-height: 44px; border-radius: 0; font-weight: 500; font-size: var(--wow-ui-size); line-height: 1.5; letter-spacing: .1em; }
:is(.hero-answer__field, .library-finder__field):focus-within { outline: 2px solid #850035; outline-offset: 3px; }
:is(.hero-answer__field, .library-finder__field) input { min-height: 54px; font-size: 1.125rem; caret-color: #850035; }
:is(.hero-answer__field, .library-finder__field) input::placeholder { color: #765e4e; opacity: 1; }
:is(.hero-answer__status, .library-finder__status) { font-size: .8rem; line-height: 1.5; }
@media (max-width: 760px) {
  :root { --wow-header-height: 4.5rem; }
  body > header:is(.site-header, .top, .nav) { gap: 1rem; flex-wrap: nowrap; }
  body > header:is(.site-header, .top, .nav) :is(.brand__logo, .site-brand img, .nav__brand img) { height: 2.125rem; }
  body > header:is(.site-header, .top, .nav) :is(.brand__text, .site-brand span, .nav__brand-sub) { display: none; }
  body > header.top .top-menu { position: static; display: block; margin-left: auto; }
  body > header.top .top-menu > summary { display: inline-flex; align-items: center; list-style: none; }
  body > header:is(.site-header, .top, .nav) :is(.primary-nav, .top-menu > nav, .nav__links) {
    position: absolute; top: 100%; left: 0; right: 0; width: auto; min-width: 0; max-height: calc(100dvh - var(--wow-header-height)); overflow-y: auto;
    flex-direction: column; align-items: stretch; gap: 0; padding: .5rem var(--wow-gutter) 1rem;
    background: var(--wow-ui-paper); border: 0; border-bottom: 1px solid var(--wow-ui-line); box-shadow: 0 12px 24px rgb(36 0 20 / 10%);
  }
  body > header.top .top-menu:not([open]) > nav { display: none; }
  body > header.top .top-menu[open] > nav { display: flex; }
  body > header:is(.site-header, .top, .nav) :is(.primary-nav > a, .top-menu > nav > a, .nav__link) {
    justify-content: flex-start; min-height: 48px; padding: .7rem .25rem; border-bottom: 1px solid var(--wow-ui-line);
  }
  body > header:is(.site-header, .top, .nav) nav > :last-child { border-bottom: 0; }
}
@media (min-width: 761px) {
  body > header.top .top-menu { display: contents; }
  body > header.top .top-menu > summary { display: none; }
  body > header.top .top-menu > nav { position: static; display: flex; flex-wrap: wrap; width: auto; padding: 0; border: 0; box-shadow: none; }
}
@media (min-width: 761px) and (max-width: 1000px) {
  body > header:is(.site-header, .top, .nav) { flex-wrap: wrap; }
  body > header.nav .nav__inner { flex-wrap: wrap; }
  body > header:is(.site-header, .top, .nav) :is(.brand__text, .site-brand span, .nav__brand-sub) { display: none; }
}
@media (forced-colors: active) {
  body > header:is(.site-header, .top, .nav) { border-color: CanvasText; }
  body > header:is(.site-header, .top, .nav) :is(a, button, summary):focus-visible { outline-color: Highlight; }
}
/* Navigation stays available when enhancement scripts cannot run. */
@media (max-width: 760px) {
  html:not(.js) body > header:is(.site-header, .nav) { position: relative; flex-wrap: wrap; }
  html:not(.js) body > header.nav .nav__inner { flex-wrap: wrap; }
  html:not(.js) body > header:is(.site-header, .nav) :is(.primary-nav, .nav__links) { position: static; display: flex; flex: 1 0 100%; padding: .5rem 0 0; box-shadow: none; }
}
