/* ArtVino: a shared identity for reading and discovery. */
:root {
  --ink: #351e2d;
  --text: #493642;
  --muted: #6a5661;
  --line: #e5dfe2;
  --paper: #fafbfa;
  --panel: #fff;
  --wash: #f4eef1;
  --forest: #632b3f;
  --forest-dark: #351e2d;
  --coral: #edc3af;
  --mint: #d9e6cd;
  --cobalt: #632b3f;
}
body { background: var(--paper); }
/* Reading paths: a quiet index that shows what each route helps the reader do. */
.reading-paths, .explore-heading, .reading-sequence, .explore-other-paths, .reading-context { max-width: 1192px; margin: 0 auto; padding: clamp(28px, 4vw, 56px) 24px; }
.reading-paths__list { border-top: 1px solid var(--line); }
.reading-paths__row { display: grid; grid-template-columns: minmax(140px, 1fr) 2fr auto; align-items: baseline; gap: 24px; padding: 24px 0; border-bottom: 1px solid var(--line); text-decoration: none; color: var(--ink); }
.reading-paths__row strong { font-size: clamp(1.25rem, 2vw, 1.6rem); }
.reading-paths__row > span { color: var(--muted); line-height: 1.7; }
.reading-paths__row .reading-paths__action { color: var(--forest); }
.reading-paths__row:last-child { padding-block: 18px; }
.reading-paths__row:last-child strong { font-size: 1.1rem; }
.reading-paths__row:hover strong { text-decoration: underline; text-underline-offset: 5px; }
.explore-heading h1 { font-size: clamp(2rem, 4vw, 3.5rem); line-height: 1.3; margin: 20px 0; }
.explore-heading > p { max-width: 65ch; font-size: 1.1rem; line-height: 1.8; }
.explore-purpose { color: var(--muted); }
.reading-sequence { padding-top: 0; }
.reading-sequence ol { list-style-position: inside; padding: 0; margin: 0; }
.reading-sequence li { border-top: 1px solid var(--line); padding: 24px 0; color: var(--forest); }
.reading-sequence__story { display: grid; grid-template-columns: minmax(160px, 260px) 1fr; gap: 32px; color: var(--ink); text-decoration: none; margin-top: 12px; }
.reading-sequence__story img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 12px; }
.reading-sequence__story > span { display: grid; align-content: start; gap: 12px; max-width: 65ch; }
.reading-sequence__story strong { font-size: clamp(1.3rem, 2.4vw, 1.9rem); line-height: 1.4; }
.reading-sequence__story small, .reading-sequence__story span > span { color: var(--muted); line-height: 1.8; }
.reading-context { border-top: 1px solid var(--line); }
.reading-context h2 { font-size: 1.45rem; margin: 0 0 12px; }
.reading-context p { max-width: 70ch; color: var(--muted); line-height: 1.8; margin: 12px 0 20px; }
.reading-context .text-link, .explore-other-paths .text-link { display: inline-block; padding: 10px 0; margin-right: 24px; }
.reading-context .eyebrow { display: none; }
.article-reading-context { padding: 24px 0; }
.side-link { display: grid; gap: 8px; }
.side-link small { color: var(--muted); font-size: .85rem; line-height: 1.65; }
.home-reference { padding-block: 28px; }
.reading-paths__row:focus-visible, .reading-sequence__story:focus-visible { outline: 3px solid var(--forest); outline-offset: 6px; }
::selection { color: var(--ink); background: var(--mint); }
@media (max-width: 700px) {
  .reading-paths__row { grid-template-columns: 1fr; gap: 8px; }
  .reading-sequence__story { grid-template-columns: 1fr; gap: 18px; }
  .reading-sequence__story img { max-width: 480px; }
  .reading-context .text-link { display: block; margin-right: 0; }
}
.site-header { background: #fff; backdrop-filter: none; padding-inline: max(24px, calc((100vw - 1240px) / 2)); gap: 28px; }
.brand { flex-shrink: 0; }
.brand-mark { display: block; flex-shrink: 0; background: transparent; border-radius: 0; width: 40px; height: 40px; object-fit: contain; }
.brand-wordmark strong { font-size: 23px; }
.brand-wordmark em { color: var(--muted); font-size: 11px; margin-top: 5px; }
.top-nav { margin-left: auto; }
.top-nav a { color: var(--text); }
.top-nav a[aria-current="page"] { background: var(--wash); color: var(--forest); }
.button { border-radius: 8px; padding-inline: 22px; }
.button.primary { background: var(--forest); border-color: var(--forest); }
.home-hero { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-height: 0; background: var(--forest-dark); }
.home-hero__copy { grid-column: 1; grid-row: 1; align-self: center; padding: clamp(36px, 6vw, 88px) clamp(24px, 5vw, 72px); }
.home-hero__image { grid-column: 2; grid-row: 1; min-height: 0; position: relative; }
.home-hero__image img { min-height: 0; height: 100%; max-height: 670px; object-position: 24% center; }
.home-hero h1 { font-size: clamp(2.6rem, 4.1vw, 4.6rem); line-height: 1.2; max-width: 12ch; }
.home-kicker { color: var(--mint); font-size: 15px; }
.home-kicker::before { display: none; }
.home-hero__copy > p:not(.home-kicker) { color: #eee6eb; line-height: 1.8; max-width: 36ch; }
.home-hero .button.primary { background: var(--mint); border-color: var(--mint); color: var(--forest-dark); }
.home-hero__scope { grid-column: 1 / -1; grid-template-columns: repeat(4, minmax(0, 1fr)); background: #53283d; }
.home-hero__scope a { padding: 20px 28px; border-right: 1px solid #916c80; }
.home-hero__scope a:nth-child(2) { border-right: 1px solid #916c80; }
.home-search label { color: #eee6eb; }
.home-search input, .catalog-search input, .directory-search-shortcut input { border-radius: 6px; }
input::placeholder { color: #66545f; opacity: 1; }
.home-search button { background: var(--mint); color: var(--forest-dark); border-radius: 6px; white-space: nowrap; }
.home-search div { gap: 8px; }
.home-growth { display: flex; align-items: center; justify-content: space-between; gap: 24px; max-width: 1192px; margin: 0 auto; padding: 32px 24px; border-bottom: 1px solid var(--line); }
.home-growth strong { font-size: clamp(1.25rem, 2vw, 1.7rem); line-height: 1.4; }
.home-growth p { margin: 0; max-width: 51ch; color: var(--muted); }
.home-wine-culture { max-width: 1240px; margin: 0 auto; padding: clamp(40px, 6vw, 72px) 24px; }
.home-wine-culture__stories { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; margin-bottom: 24px; }
.home-wine-culture__stories a { min-width: 0; color: var(--ink); text-decoration: none; }
.home-wine-culture__stories img { display: block; width: 100%; aspect-ratio: 3 / 2; height: auto; object-fit: cover; border-radius: 12px; margin-bottom: 16px; }
.home-wine-culture__stories h3 { margin: 8px 0; font-size: clamp(1.2rem, 2vw, 1.6rem); line-height: 1.45; }
.home-wine-culture__stories p, .home-wine-culture__stories span { color: var(--muted); }
.home-wine-culture__stories a:hover h3 { text-decoration: underline; text-underline-offset: 5px; }
.home-brewery-feature{max-width:1240px;margin:0 auto;padding:clamp(40px,6vw,72px) 24px;border-top:1px solid var(--line)}.home-brewery-feature__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:28px 0 24px}.home-brewery-feature__grid a{display:grid;grid-template-columns:112px minmax(0,1fr);gap:16px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:12px;color:var(--ink);text-decoration:none}.home-brewery-feature__grid a:hover,.home-brewery-feature__grid a:focus-visible{border-color:var(--forest);background:var(--wash)}.home-brewery-feature__grid img{display:block;width:112px;height:112px;object-fit:contain}.home-brewery-feature__grid span{display:grid;gap:5px}.home-brewery-feature__grid small,.home-brewery-feature__grid em{color:var(--muted);font-size:.84rem;font-style:normal;line-height:1.45}.home-brewery-feature__grid strong{font-size:1.08rem;line-height:1.35}.search-brewery-shortcut{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:24px 0;padding:20px 22px;background:var(--wash);border-radius:10px}.search-brewery-shortcut strong{color:var(--forest-dark)}.search-brewery-shortcut p{margin:5px 0 0;color:var(--muted);line-height:1.6}.search-brewery-shortcut .button{flex:0 0 auto;text-align:center}
.home-section-title h2 { font-size: clamp(1.8rem, 3vw, 3rem); line-height: 1.3; }
.home-editorial, .home-latest, .home-museum-feature { padding-block: clamp(44px, 6vw, 80px); }
.home-directory { background: var(--wash); color: var(--ink); }
.home-directory .home-section-title p, .topic-index__copy small, .topic-index__count { color: var(--muted); }
.topic-index { border-color: var(--line); }
.topic-index > a { border-color: var(--line); }
.topic-index__copy strong { color: var(--ink); }
.topic-index__arrow { color: var(--forest); }
.catalog-feature-link { border-radius: 12px; background: var(--forest-dark); }
.catalog-feature-link small { color: var(--mint); }
.home-lead-story img, .home-story-stack img, .home-museum-feature__grid a { border-radius: 10px; }
.home-lead-story h3 { font-size: clamp(1.6rem, 2.7vw, 2.6rem); line-height: 1.35; }
.article-row { padding: 0 0 22px; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; }
.article-row img { border-radius: 10px; }
.article-row strong { font-size: 1.15rem; line-height: 1.55; }
.article-row p { line-height: 1.8; }
.section-hero { align-items: center; padding-block: 56px; }
.section-hero h1, .search-hero h1 { line-height: 1.25; font-size: clamp(2rem, 4vw, 3.5rem); }
.section-hero .visual-frame { border: 0; border-radius: 12px; }
body .section-grid { background: transparent; gap: 24px; }
body .section-card, body .section-card:nth-child(4n+1) { border: 0; border-bottom: 1px solid var(--line); background: transparent; }
.section-card > img { border-radius: 10px; }
.section-card__body { padding-inline: 0; }
.article-hero h1 { line-height: 1.3; font-size: clamp(2rem, 3.5vw, 3.25rem); }
.article-main { max-width: 70ch; }
.article-main p { line-height: 1.9; }
.article-main h2 { line-height: 1.45; }
.article-inline-visual { margin: 28px 0 34px; }
.article-inline-visual img { display: block; width: 100%; height: auto; border-radius: 14px; border: 1px solid var(--line); }
.article-inline-visual figcaption { display: grid; gap: 5px; margin-top: 10px; color: var(--muted); font-size: .9rem; line-height: 1.6; }
.article-answer { background: var(--wash); border-radius: 10px; padding: 20px 24px; }
.hero-facts div { border: 0; padding-left: 0; background: transparent; }
.side-box { background: var(--wash); border: 0; border-radius: 10px; }
.search-hero { padding-bottom: 40px; }
.search-results { gap: 20px; }
.search-results > a { border: 1px solid var(--line); border-radius: 10px; box-shadow: none; }
.search-results > a:hover { background: var(--wash); border-color: var(--forest); }
.museum-record-page h1, .entity-record-page h1 { line-height: 1.2; font-size: clamp(2.2rem, 5vw, 4.5rem); }
.museum-record-page > header, .entity-record-page > header { padding-top: 44px; }
.museum-fact-grid, .entity-fact-grid { background: var(--wash); }
.museum-source-panel, .art-history-atlas, .culture-explore-panel { background: var(--forest-dark); border-radius: 12px; }
.museum-source-panel .button.primary { background: var(--mint); color: var(--forest-dark); border-color: var(--mint); }
.catalog-inline-banner { background: var(--wash); border-radius: 10px; }
.site-footer { background: var(--wash); padding: 48px max(24px, calc((100vw - 1192px) / 2)); }
.site-footer > div > strong { font-size: 26px; color: var(--forest-dark); }
.site-footer p { max-width: 43ch; }
@media (max-width: 1100px) {
  .home-hero { grid-template-columns: 1fr 1fr; grid-template-rows: auto auto; }
  .home-hero__copy { padding: 36px 24px; }
  .home-hero h1 { font-size: clamp(2.4rem, 4.8vw, 3.6rem); }
  .home-hero__image img { aspect-ratio: auto; height: 100%; }
}
@media (max-width: 700px) {
  .home-wine-culture__stories { grid-template-columns: 1fr; gap: 32px; }
  .home-brewery-feature__grid{grid-template-columns:1fr}.search-brewery-shortcut{align-items:flex-start;flex-direction:column}.search-brewery-shortcut .button{width:100%}
  .home-hero { grid-template-columns: 1fr; }
  .home-hero__copy { grid-column: 1; grid-row: 1; padding: 36px 24px; }
  .home-hero__image { grid-column: 1; grid-row: 2; }
  .home-hero__image img { height: auto; aspect-ratio: 16 / 9; object-position: 25% center; }
  .home-hero__scope { grid-row: 3; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-hero__scope a { padding: 16px; }
  .home-hero__scope a:nth-child(even) { border-right: 0; }
  .home-hero h1 { font-size: clamp(2.2rem, 8.8vw, 3.5rem); }
  .home-growth { align-items: start; flex-direction: column; gap: 12px; }
  .home-search div { display: flex; }
  .home-search button { min-width: 84px; padding: 0 12px; }
  .section-hero { padding-top: 36px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
.brewery-directory,.brewery-profile{max-width:1180px;margin:0 auto;padding:clamp(36px,6vw,76px) 24px}.brewery-directory__hero{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:clamp(28px,6vw,72px);padding-bottom:clamp(34px,5vw,64px);border-bottom:1px solid var(--line)}.brewery-directory__hero h1,.brewery-profile h1{max-width:15ch;margin:8px 0 16px;font-size:clamp(2.45rem,5.2vw,5.1rem);line-height:1.04;letter-spacing:-.035em;text-wrap:balance}.brewery-directory__hero>div>p:not(.eyebrow){max-width:56ch;line-height:1.85;color:var(--text)}.brewery-directory__notice{font-size:.94rem;color:var(--muted)!important}.brewery-directory__hero aside{align-self:end;display:grid;gap:2px;padding:22px 0;border-block:3px solid var(--forest-dark)}.brewery-directory__hero aside strong{font-size:clamp(3.3rem,7vw,5.8rem);line-height:.9;color:var(--forest-dark);letter-spacing:-.06em}.brewery-directory__hero aside span{font-weight:800}.brewery-directory__hero aside small{margin-top:12px;color:var(--muted)}.brewery-region-filter{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 42px}.brewery-region-filter a{display:inline-flex;gap:8px;min-height:42px;align-items:center;padding:8px 13px;border:1px solid var(--line);color:var(--text);font-weight:750}.brewery-region-filter a[aria-current=page]{border-color:var(--forest-dark);background:var(--forest-dark);color:#fff}.brewery-region-filter span{font-size:.8rem;opacity:.75}.brewery-list{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));border-top:1px solid var(--line)}.brewery-list article{grid-column:span 4;padding:24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.brewery-list article:nth-child(3n){border-right:0}.brewery-list p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.6}.brewery-list h2{margin:10px 0 8px;font-size:clamp(1.3rem,2vw,1.75rem);line-height:1.2}.brewery-list h2 a{color:var(--forest-dark)}.brewery-list address{font-style:normal;color:var(--text);line-height:1.55}.brewery-list__visit{margin-top:14px!important}.brewery-list .text-link{display:inline-block;margin-top:16px}.brewery-profile__crumb{display:flex;gap:10px;margin-bottom:26px;font-size:.92rem}.brewery-profile__crumb a{color:var(--forest-dark);font-weight:800}.brewery-profile>header{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.8fr);gap:clamp(28px,5vw,64px);align-items:start;padding-bottom:48px;border-bottom:1px solid var(--line)}.brewery-profile .lead{max-width:54ch;line-height:1.8}.brewery-profile header dl{display:flex;flex-wrap:wrap;gap:22px;margin:26px 0 0}.brewery-profile header dt{font-size:.78rem;color:var(--muted);font-weight:800}.brewery-profile header dd{max-width:25ch;margin:5px 0 0;font-weight:800;line-height:1.5}.brewery-profile figure{margin:0}.brewery-profile iframe{display:block;width:100%;aspect-ratio:1/1;border:0;filter:saturate(.75) contrast(.95)}.brewery-profile figcaption{margin-top:10px;color:var(--muted);font-size:.88rem;line-height:1.55}.brewery-profile__hero-illustration{overflow:hidden;border-radius:12px;background:var(--wash)}.brewery-profile__hero-illustration img{display:block;width:100%;height:clamp(220px,30vw,360px);object-fit:cover}.brewery-profile__body{max-width:760px;padding-top:48px}.brewery-profile__body section{max-width:68ch}.brewery-profile__body h2{margin:0 0 12px;font-size:clamp(1.35rem,2vw,1.75rem);color:var(--forest-dark)}.brewery-profile__body h2:not(:first-child){margin-top:38px}.brewery-profile__body p{line-height:1.9;color:var(--text)}.brewery-profile__actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}.brewery-profile__actions .button{min-height:46px;border-color:var(--forest-dark);background:var(--panel);color:var(--forest-dark)!important;text-align:center}.brewery-profile__actions .button:hover,.brewery-profile__actions .button:focus-visible{background:var(--wash)}.brewery-profile__actions .button.primary{background:var(--forest-dark);color:#fff!important}.brewery-profile__actions .button.primary:hover,.brewery-profile__actions .button.primary:focus-visible{background:var(--forest)}.brewery-profile__map{margin-top:18px!important}.brewery-profile__map iframe{aspect-ratio:16/9}.brewery-profile__source-note{max-width:68ch;margin-top:42px;padding:14px 16px;background:var(--wash)}.brewery-profile__source-note p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.65}@media(max-width:850px){.brewery-directory__hero,.brewery-profile>header{grid-template-columns:1fr}.brewery-directory__hero aside{max-width:260px}.brewery-list article{grid-column:span 6}.brewery-list article:nth-child(3n){border-right:1px solid var(--line)}.brewery-list article:nth-child(2n){border-right:0}.brewery-profile__map iframe{aspect-ratio:16/10}}@media(max-width:560px){.brewery-profile__actions .button{width:100%}.brewery-directory,.brewery-profile{padding-inline:18px}.brewery-list article{grid-column:1/-1;border-right:0!important}.brewery-profile h1,.brewery-directory__hero h1{font-size:clamp(2.35rem,13vw,3.5rem)}}

.brewery-directory__atlas{grid-column:1/-1;margin:0;overflow:hidden;background:var(--forest-dark)}.brewery-directory__atlas img{display:block;width:100%;aspect-ratio:3/2;max-height:510px;object-fit:cover}.brewery-directory__atlas figcaption{padding:10px 13px;color:#f1e9ed;font-size:.86rem;line-height:1.5}

.brewery-profile__url{overflow-wrap:anywhere;color:var(--forest-dark);font-size:.84rem;line-height:1.55;text-decoration:underline;text-underline-offset:3px}

.brewery-product-list{display:grid;gap:9px;margin:0;padding:0;list-style:none}.brewery-product-list li{padding:13px 0;border-bottom:1px solid var(--line)}.brewery-product-list strong,.brewery-product-list span{display:block}.brewery-product-list strong{color:var(--forest-dark)}.brewery-product-list a{display:block;text-decoration:none}.brewery-product-list a strong{text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--forest-dark) 34%,transparent);text-underline-offset:4px}.brewery-product-list a:hover strong,.brewery-product-list a:focus-visible strong{text-decoration-color:currentColor}.brewery-product-list span{margin-top:3px;color:var(--muted);font-size:.92rem;line-height:1.55}.brewery-product-list__source{display:inline-block;margin-top:8px;color:var(--muted);font-size:.82rem;text-decoration:underline!important;text-underline-offset:3px}
.brewery-product-list li{display:flex;gap:14px;align-items:flex-start}.brewery-product-list__image{display:block;flex:0 0 92px;overflow:hidden;border-radius:10px;background:#f1ece4}.brewery-product-list__image img{display:block;width:92px;height:92px;object-fit:contain}.brewery-product-list__content{min-width:0;flex:1}@media (max-width:480px){.brewery-product-list__image{flex-basis:76px}.brewery-product-list__image img{width:76px;height:76px}}
.brewery-product-pending{margin-top:24px;padding:18px 20px;background:color-mix(in srgb,var(--wash) 72%,#fff);border:1px solid var(--line)}.brewery-product-pending h3{margin:0;color:var(--forest-dark);font-size:1rem;text-wrap:balance}.brewery-product-pending p{margin:8px 0 0!important;font-size:.92rem;line-height:1.7!important}.brewery-product-pending ul{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0 0;padding:0;list-style:none}.brewery-product-pending li{padding:6px 9px;border:1px solid var(--line);font-size:.88rem;line-height:1.35;color:var(--text)}
.brewery-list__image{position:relative;display:block;aspect-ratio:16/8;overflow:hidden;margin:-24px -24px 18px;background:var(--wash)}.brewery-list__image img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain}.brewery-list__featured{margin:0 0 10px!important;color:var(--forest-dark)!important;font-weight:750}
