:root {
  --wine: #a90f47;
  --wine-dark: #7f0b36;
  --ink: #17263c;
  --ink-soft: #3b4758;
  --cream: #f7f0e5;
  --paper: #fffdf8;
  --sand: #e8dac6;
  --gold: #c69349;
  --line: rgba(23, 38, 60, 0.14);
  --serif: Georgia, "Times New Roman", serif;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font-geist-sans), Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}

a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
img { max-width: 100%; }
.hero-image-frame img,
.product-image img,
.corporate-image img,
.story-photo img,
.store-hero-photo img,
.store-story-main img,
.gift-bridge-image img { width: 100%; height: 100%; display: block; }
:focus-visible { outline: 3px solid #c69349; outline-offset: 3px; }
.skip-link { position: fixed; left: 12px; top: -60px; z-index: 1000; padding: 10px 14px; background: #fff; color: #17263c; box-shadow: 0 8px 30px rgba(0,0,0,.18); }
.skip-link:focus { top: 12px; }
.sr-only { width: 1px; height: 1px; position: absolute; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }

.shell { width: min(1240px, calc(100% - 48px)); margin-inline: auto; }

.announcement {
  min-height: 36px;
  padding: 8px 24px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  background: var(--wine);
  color: #fff;
  font-size: 12px;
  font-weight: 650;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.announcement a { border-bottom: 1px solid rgba(255,255,255,.55); }
.announcement-dot { opacity: .55; }

.site-header {
  height: 92px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 32px;
  border-bottom: 1px solid var(--line);
}
.brand { display: inline-flex; align-items: center; gap: 12px; width: fit-content; }
.brand strong { display: block; font: 700 22px/1 var(--serif); letter-spacing: -.01em; }
.brand small { display: block; margin-top: 6px; color: var(--ink-soft); font-size: 9px; font-weight: 650; letter-spacing: .17em; text-transform: uppercase; }
.mark { width: 58px; height: 58px; display: inline-grid; place-items: center; }
.mark img { width: 100%; height: 100%; object-fit: contain; }
.mark-small { width: 40px; height: 40px; }
.site-header nav { display: flex; gap: 30px; font-size: 13px; font-weight: 600; }
.site-header nav a { position: relative; }
.site-header nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -7px; height: 2px; background: var(--wine); transition: right .2s ease; }
.site-header nav a:hover::after { right: 0; }
.header-cta { justify-self: end; }

.button {
  min-height: 48px;
  padding: 0 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: 2px;
  font-size: 13px;
  font-weight: 750;
  letter-spacing: .035em;
  cursor: pointer;
  transition: transform .18s ease, background .18s ease, color .18s ease;
}
.button:hover { transform: translateY(-2px); }
.button-ink { background: var(--ink); color: #fff; }
.button-wine { background: var(--wine); color: #fff; }
.button-wine:hover { background: var(--wine-dark); }
.button-cream { background: var(--cream); color: var(--ink); }

.hero { min-height: 660px; display: grid; grid-template-columns: .82fr 1.18fr; align-items: center; gap: 48px; padding-block: 64px 76px; overflow: hidden; }
.hero-copy { position: relative; z-index: 2; padding-left: 16px; }
.kicker { margin: 0 0 15px; color: var(--wine); font-size: 11px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }
.kicker-light { color: #e3b9ca; }
h1, h2, h3, p { margin-top: 0; }
h1 { margin-bottom: 22px; font: 500 clamp(53px, 5.7vw, 82px)/.94 var(--serif); letter-spacing: -.055em; }
h1 em, h2 em { color: var(--wine); font-weight: 500; }
.hero-lede { max-width: 570px; margin-bottom: 29px; color: var(--ink-soft); font-size: 18px; line-height: 1.65; }
.hero-actions { display: flex; align-items: center; gap: 26px; }
.text-link { display: inline-flex; align-items: center; gap: 10px; border-bottom: 1px solid var(--line); padding-bottom: 5px; font-size: 13px; font-weight: 750; }
.text-link span { color: var(--wine); font-size: 19px; transition: transform .18s ease; }
.text-link:hover span { transform: translateX(4px); }
.text-link-wine { color: var(--wine); }
.hero-trust { margin-top: 42px; display: flex; flex-wrap: wrap; gap: 20px; color: var(--ink-soft); font-size: 11px; font-weight: 650; text-transform: uppercase; letter-spacing: .08em; }
.hero-trust span::before { content: "✓"; margin-right: 7px; color: var(--wine); }
.hero-visual { position: relative; min-width: 0; }
.hero-image-frame { position: relative; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 2px; background: var(--cream); box-shadow: 0 28px 70px rgba(39, 27, 21, .15); }
.hero-image-frame img { object-fit: cover; }
.hero-visual::before { content: ""; position: absolute; width: 370px; height: 370px; right: -80px; top: -70px; border-radius: 50%; background: var(--cream); z-index: -1; }
.bottle-callout { position: absolute; left: -34px; bottom: -27px; width: 290px; min-height: 86px; padding: 16px 18px; display: flex; gap: 14px; align-items: center; background: var(--ink); color: #fff; box-shadow: 0 12px 32px rgba(23,38,60,.22); }
.bottle-callout strong, .bottle-callout small { display: block; }
.bottle-callout strong { font-family: var(--serif); font-size: 18px; }
.bottle-callout small { margin-top: 4px; color: rgba(255,255,255,.72); font-size: 11px; line-height: 1.45; }
.bottle-icon { width: 42px; height: 50px; display: grid; place-items: center; color: #e2b9c8; border: 1px solid rgba(255,255,255,.2); font: 28px/1 var(--serif); }

.promise-strip { background: var(--cream); border-block: 1px solid rgba(23,38,60,.08); }
.promise-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.promise-grid div { min-height: 95px; padding: 0 24px; display: flex; align-items: center; gap: 14px; border-right: 1px solid var(--line); }
.promise-grid div:first-child { border-left: 1px solid var(--line); }
.promise-grid strong { color: var(--wine); font: italic 20px var(--serif); }
.promise-grid span { font-size: 12px; font-weight: 700; }

.section { padding-block: 110px; }
.section-heading { margin-bottom: 46px; display: grid; grid-template-columns: 1.2fr .8fr; gap: 48px; align-items: end; }
.section h2, .bottle-section h2, .corporate h2, .story h2, .quote-section h2 { margin-bottom: 0; font: 500 clamp(38px, 4.2vw, 59px)/1.02 var(--serif); letter-spacing: -.045em; }
.section-heading > p { margin: 0 0 4px auto; max-width: 430px; color: var(--ink-soft); font-size: 14px; line-height: 1.7; }

.product-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; }
.product-card { border: 1px solid var(--line); background: #fff; overflow: hidden; transition: transform .2s ease, box-shadow .2s ease; }
.product-card:hover { transform: translateY(-4px); box-shadow: 0 24px 60px rgba(23,38,60,.10); }
.product-card { scroll-margin-top: 28px; }
.product-image { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: var(--cream); }
.product-image img { object-fit: cover; transition: transform .45s ease; }
.product-card:hover .product-image img { transform: scale(1.018); }
.product-pour-note { position: absolute; z-index: 2; right: 12px; bottom: 12px; max-width: 290px; padding: 9px 11px; background: rgba(255,253,248,.94); color: var(--ink); border: 1px solid rgba(23,38,60,.12); font-size: 8px; font-weight: 750; letter-spacing: .04em; line-height: 1.4; text-transform: uppercase; }
.product-badge { position: absolute; top: 16px; left: 16px; z-index: 2; padding: 8px 11px; background: var(--wine); color: #fff; font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.product-body { padding: 29px 30px 26px; }
.product-topline { display: flex; justify-content: space-between; gap: 20px; color: var(--wine); font-size: 10px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.product-topline strong { color: var(--ink); font-size: 13px; letter-spacing: 0; text-transform: none; }
.product-body h3 { margin: 10px 0 10px; font: 500 31px/1.1 var(--serif); }
.product-body > p { min-height: 48px; margin-bottom: 18px; color: var(--ink-soft); font-size: 13px; line-height: 1.65; }
.product-body details { border-block: 1px solid var(--line); }
.product-body summary { padding: 15px 0; display: flex; justify-content: space-between; gap: 12px; cursor: pointer; list-style: none; font-size: 12px; font-weight: 750; }
.product-body summary::-webkit-details-marker, .faq summary::-webkit-details-marker { display: none; }
.product-body details[open] summary span { transform: rotate(45deg); }
.product-body summary span { color: var(--wine); font-size: 18px; transition: transform .18s ease; }
.product-body ul { margin: 0 0 16px; padding-left: 18px; color: var(--ink-soft); font-size: 11px; line-height: 1.75; }
.product-footer { padding-top: 20px; display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.product-footer small { color: var(--ink-soft); font-size: 10px; }
.product-footer button { padding: 0; border: 0; background: transparent; color: var(--wine); font-size: 12px; font-weight: 800; cursor: pointer; }

.bottle-section { padding-block: 112px; background: var(--ink); color: #fff; }
.bottle-layout { display: grid; grid-template-columns: .86fr 1.14fr; gap: 92px; align-items: start; }
.bottle-copy h2 { margin-bottom: 25px; }
.bottle-copy h2 em { color: #e3b9ca; }
.bottle-copy > p { max-width: 510px; color: rgba(255,255,255,.72); font-size: 15px; line-height: 1.75; }
.legal-note { margin-top: 34px; padding-top: 26px; display: flex; gap: 16px; border-top: 1px solid rgba(255,255,255,.16); }
.legal-note > span { flex: 0 0 46px; height: 46px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; font: 600 17px var(--serif); }
.legal-note p { margin: 2px 0 0; color: rgba(255,255,255,.58); font-size: 10px; line-height: 1.65; }
.bottle-options article { min-height: 112px; padding: 23px 0; display: grid; grid-template-columns: 48px 1fr auto; gap: 18px; align-items: start; border-top: 1px solid rgba(255,255,255,.18); }
.bottle-options article:last-of-type { border-bottom: 1px solid rgba(255,255,255,.18); }
.option-number { color: #e3b9ca; font: italic 17px var(--serif); }
.bottle-options h3 { margin: 0 0 6px; font: 500 24px var(--serif); }
.bottle-options p { margin: 0; max-width: 430px; color: rgba(255,255,255,.62); font-size: 11px; line-height: 1.55; }
.bottle-options strong { color: #f2d9e2; font-size: 12px; white-space: nowrap; }
.bottle-options .button { margin-top: 28px; }

.corporate { display: grid; grid-template-columns: .9fr 1.1fr; gap: 90px; align-items: center; }
.corporate-image { position: relative; aspect-ratio: 4 / 4.7; overflow: hidden; background: var(--cream); }
.corporate-image img { object-fit: cover; }
.corporate-image > span { position: absolute; left: 20px; bottom: 20px; padding: 12px 14px; background: var(--wine); color: #fff; font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.corporate-copy > p:not(.kicker) { margin: 24px 0 28px; max-width: 590px; color: var(--ink-soft); font-size: 15px; line-height: 1.7; }
.corporate ol { margin: 0 0 28px; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.corporate li { min-height: 82px; padding: 17px 0; display: flex; align-items: center; gap: 18px; border-bottom: 1px solid var(--line); }
.corporate li > span { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid var(--wine); color: var(--wine); border-radius: 50%; font: italic 16px var(--serif); }
.corporate li strong, .corporate li small { display: block; }
.corporate li strong { font-size: 13px; }
.corporate li small { margin-top: 4px; color: var(--ink-soft); font-size: 11px; }

.story { padding-block: 110px; background: var(--cream); overflow: hidden; }
.story-grid { min-height: 625px; position: relative; display: grid; grid-template-columns: .9fr 1.1fr; gap: 70px; align-items: center; }
.story-copy { position: relative; z-index: 2; max-width: 555px; padding-left: 34px; }
.story-copy > .mark { margin-bottom: 25px; }
.story-copy > p:not(.kicker) { margin: 25px 0 34px; color: var(--ink-soft); font-size: 15px; line-height: 1.75; }
.store-meta { display: grid; grid-template-columns: 1.25fr 1fr .8fr; gap: 20px; padding-top: 26px; border-top: 1px solid var(--line); }
.store-meta span { display: block; margin-bottom: 7px; color: var(--wine); font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.store-meta a, .store-meta p { margin: 0; color: var(--ink-soft); font-size: 11px; line-height: 1.6; }
.story-photo { position: relative; overflow: hidden; box-shadow: 0 24px 60px rgba(63, 42, 27, .13); }
.story-photo img { object-fit: cover; }
.story-photo-main { aspect-ratio: 4 / 4.4; margin-left: 45px; }
.story-photo-small { width: 250px; aspect-ratio: 1 / .82; position: absolute; right: -42px; bottom: 5px; border: 10px solid var(--cream); }
.story-home-link { position: absolute; z-index: 3; right: 22px; top: 22px; padding: 12px 14px; background: var(--wine); color: #fff; font-size: 10px; font-weight: 800; letter-spacing: .05em; }
.story-home-link span { margin-left: 8px; }

.faq { display: grid; grid-template-columns: .72fr 1.28fr; gap: 80px; }
.faq-list { border-top: 1px solid var(--line); }
.faq details { border-bottom: 1px solid var(--line); }
.faq summary { min-height: 70px; display: flex; align-items: center; justify-content: space-between; gap: 20px; list-style: none; cursor: pointer; font: 500 18px var(--serif); }
.faq summary span { color: var(--wine); font: 300 25px Arial; transition: transform .18s ease; }
.faq details[open] summary span { transform: rotate(45deg); }
.faq details p { max-width: 760px; margin: -1px 45px 22px 0; color: var(--ink-soft); font-size: 12px; line-height: 1.7; }

.quote-section { padding-block: 110px; background: var(--wine); color: #fff; }
.quote-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 90px; align-items: start; }
.quote-intro h2 em { color: #f0cad8; }
.quote-intro > p:not(.kicker) { margin: 25px 0 30px; max-width: 480px; color: rgba(255,255,255,.7); font-size: 14px; line-height: 1.7; }
.selected-card { max-width: 430px; padding: 13px; display: flex; gap: 15px; align-items: center; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.18); }
.selected-card img { width: 112px; aspect-ratio: 4/3; object-fit: cover; }
.selected-card small, .selected-card strong, .selected-card span { display: block; }
.selected-card small { color: #f0cad8; font-size: 8px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.selected-card strong { margin-top: 5px; font: 500 20px var(--serif); }
.selected-card span { margin-top: 4px; color: rgba(255,255,255,.62); font-size: 10px; }
.quote-form { position: relative; padding: 38px; background: var(--paper); color: var(--ink); box-shadow: 0 30px 70px rgba(72, 0, 28, .22); }
.form-row { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; }
.quote-form label { display: block; margin-bottom: 18px; font-size: 10px; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.quote-form label > span { color: #7e8490; font-weight: 500; text-transform: none; }
.quote-form input, .quote-form select, .quote-form textarea { width: 100%; margin-top: 8px; border: 1px solid rgba(23,38,60,.2); border-radius: 0; background: #fff; color: var(--ink); font-size: 13px; font-weight: 450; letter-spacing: 0; text-transform: none; outline: none; }
.quote-form input, .quote-form select { height: 48px; padding: 0 12px; }
.quote-form textarea { resize: vertical; min-height: 95px; padding: 12px; line-height: 1.5; }
.quote-form input:focus, .quote-form select:focus, .quote-form textarea:focus { border-color: var(--wine); box-shadow: 0 0 0 2px rgba(169,15,71,.08); }
.check { display: flex !important; align-items: flex-start; gap: 11px; color: var(--ink-soft); font-size: 10px !important; line-height: 1.55; letter-spacing: 0 !important; text-transform: none !important; }
.check input { flex: 0 0 auto; width: 16px; height: 16px; margin: 0; accent-color: var(--wine); }
.form-submit { width: 100%; }
.form-submit:disabled { cursor: progress; opacity: .65; transform: none; }
.form-message { min-height: 0; margin: 12px 0 0; font-size: 11px; line-height: 1.5; }
.form-message.success { color: #167246; }
.form-message.error { color: #a02031; }
.form-message.loading { color: #795a18; }
.form-fineprint { display: block; margin-top: 12px; color: #777f8a; font-size: 9px; line-height: 1.5; }
.honeypot { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.static-selected-card { max-width: 430px; padding: 16px; border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.1); }
.static-selected-card small, .static-selected-card strong, .static-selected-card span { display: block; }
.static-selected-card small { color: #f0cad8; font-size: 8px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.static-selected-card strong { margin-top: 6px; font: 500 21px var(--serif); }
.static-selected-card span { margin-top: 5px; color: rgba(255,255,255,.65); font-size: 10px; }
.seo-neighborhoods { padding: 18px 24px; border-top: 1px solid rgba(29,33,28,.13); background: var(--store-paper); color: #676c64; text-align: center; font-size: 10px; letter-spacing: .08em; }

.gifts-page {
  --ink: #1d211c;
  --ink-soft: #59615a;
  --cream: #f5efdf;
  --paper: #fbf8ef;
  --line: rgba(29,33,28,.15);
  background: var(--paper);
}
.gifts-page .announcement { background: #183e34; }
.gifts-page .site-header { height: 104px; }
.gifts-page .button-ink, .gifts-page .bottle-section { background: #183e34; }
.gifts-page footer, .store-page footer { padding: 55px 0 22px; background: #183e34; color: #fff; }
.footer-grid { display: grid; grid-template-columns: 1.4fr 1.3fr .8fr .8fr; gap: 40px; align-items: center; }
.brand-footer strong { font-size: 19px; }
.brand-footer small { color: rgba(255,255,255,.55); }
.footer-grid > div span { display: block; margin-bottom: 8px; color: #dcb6c5; font-size: 8px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.footer-grid > div a { color: rgba(255,255,255,.76); font-size: 11px; line-height: 1.5; }
.footer-bottom { margin-top: 42px; padding-top: 18px; display: flex; justify-content: space-between; gap: 30px; border-top: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.42); font-size: 9px; }

@media (max-width: 1050px) {
  .site-header { grid-template-columns: 1fr auto; }
  .site-header nav { display: none; }
  .hero { grid-template-columns: 1fr; padding-top: 48px; }
  .hero-copy { max-width: 760px; padding-left: 0; }
  .hero-visual { width: 92%; margin-left: auto; }
  .bottle-layout, .quote-layout { gap: 55px; }
  .corporate { gap: 55px; }
  .footer-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 800px) {
  .shell { width: min(100% - 30px, 680px); }
  .announcement { gap: 7px; font-size: 9px; }
  .announcement span:first-child, .announcement-dot { display: none; }
  .site-header { height: 78px; }
  .brand strong { font-size: 19px; }
  .mark { width: 48px; height: 48px; }
  .header-cta { min-height: 42px; padding-inline: 15px; font-size: 11px; }
  .hero { min-height: 0; gap: 40px; padding-block: 48px 75px; }
  h1 { font-size: clamp(49px, 14vw, 69px); }
  .hero-lede { font-size: 16px; }
  .hero-actions { align-items: flex-start; flex-direction: column; }
  .hero-visual { width: 100%; }
  .bottle-callout { left: 12px; bottom: -43px; }
  .promise-grid { grid-template-columns: repeat(2, 1fr); }
  .promise-grid div:nth-child(3) { border-left: 1px solid var(--line); }
  .promise-grid div { min-height: 78px; padding-inline: 14px; }
  .section { padding-block: 78px; }
  .section-heading, .bottle-layout, .corporate, .story-grid, .faq, .quote-layout { grid-template-columns: 1fr; gap: 38px; }
  .product-grid { grid-template-columns: 1fr; }
  .section-heading > p { margin-left: 0; }
  .bottle-section, .story, .quote-section { padding-block: 78px; }
  .corporate-image { max-height: 520px; }
  .story-grid { min-height: 0; }
  .story-copy { padding-left: 0; }
  .story-photo-main { margin-left: 0; aspect-ratio: 4/3; }
  .story-photo-small { display: none; }
  .quote-form { padding: 25px 20px; }
  .footer-grid { grid-template-columns: 1fr; gap: 28px; }
}

@media (max-width: 520px) {
  .site-header { gap: 10px; }
  .brand small { display: none; }
  .header-cta { padding-inline: 12px; }
  .hero-trust { gap: 11px; }
  .bottle-callout { width: calc(100% - 24px); }
  .product-body { padding: 23px 20px 22px; }
  .product-footer { align-items: flex-start; flex-direction: column; }
  .bottle-options article { grid-template-columns: 38px 1fr; }
  .bottle-options article > strong { grid-column: 2; }
  .store-meta { grid-template-columns: 1fr 1fr; }
  .form-row { grid-template-columns: 1fr; gap: 0; }
  .selected-card img { width: 90px; }
  .footer-bottom { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; }
}

/* Store-first homepage: a tactile neighborhood wine-shop journal, not an inventory grid. */
.store-page {
  --store-ink: #1d211c;
  --store-forest: #24382e;
  --store-paper: #f5efdf;
  --store-burgundy: #9e1746;
  --store-gold: #b98a45;
  background: #fbf8ef;
  color: var(--store-ink);
  overflow: hidden;
}

.store-announcement { min-height: 38px; padding: 8px 24px; display: flex; align-items: center; justify-content: center; gap: 16px; background: var(--store-forest); color: #f8f1df; font-size: 10px; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; }
.store-announcement span[aria-hidden] { color: #d5a8b7; font-size: 7px; }
.store-announcement a { border-bottom: 1px solid rgba(248,241,223,.4); }

.store-header { height: 104px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 30px; border-bottom: 1px solid rgba(29,33,28,.16); }
.store-brand strong { color: var(--store-ink); font-size: 24px; }
.store-brand small { color: #62675f; }
.store-header nav { display: flex; gap: 29px; font-size: 12px; font-weight: 700; }
.store-header nav a { padding: 8px 0; border-bottom: 1px solid transparent; }
.store-header nav a:hover { border-color: var(--store-burgundy); color: var(--store-burgundy); }
.store-call { justify-self: end; padding-left: 22px; border-left: 1px solid rgba(29,33,28,.18); }
.store-call span, .store-call strong { display: block; }
.store-call span { margin-bottom: 5px; color: #73766f; font-size: 8px; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.store-call strong { color: var(--store-burgundy); font: 500 17px var(--serif); }

.store-kicker { margin: 0 0 16px; color: var(--store-burgundy); font-size: 10px; font-weight: 850; letter-spacing: .21em; text-transform: uppercase; }
.store-kicker-light { color: #e2bcc8; }
.store-hero { min-height: 735px; position: relative; display: grid; grid-template-columns: .82fr 1.18fr; gap: 62px; align-items: center; padding-block: 72px 84px; }
.store-hero::before { content: ""; position: absolute; left: -70px; top: 43px; width: 260px; height: 260px; opacity: .13; border: 1px solid var(--store-burgundy); border-radius: 50%; }
.store-hero-copy { position: relative; z-index: 3; padding-left: 18px; }
.store-est { width: fit-content; margin-bottom: 33px; padding: 9px 15px; display: flex; align-items: center; gap: 13px; border-block: 1px solid var(--store-burgundy); color: var(--store-burgundy); transform: rotate(-1.5deg); }
.store-est span { font-size: 8px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.store-est strong { font: italic 17px var(--serif); }
.store-hero h1 { max-width: 660px; margin-bottom: 28px; color: var(--store-ink); font-size: clamp(60px, 6.5vw, 96px); line-height: .88; letter-spacing: -.065em; }
.store-hero h1 em { color: var(--store-burgundy); }
.store-hero-lede { max-width: 575px; margin-bottom: 32px; color: #4e554d; font: 400 18px/1.7 var(--serif); }
.store-hero-actions { display: flex; align-items: center; gap: 26px; }
.store-arrow-link { padding-bottom: 5px; border-bottom: 1px solid rgba(29,33,28,.3); font-size: 12px; font-weight: 800; }
.store-arrow-link span { margin-left: 8px; color: var(--store-burgundy); font-size: 18px; }
.store-hero-collage { min-width: 0; position: relative; aspect-ratio: 4 / 3; padding: 13px; background: var(--store-paper); border: 1px solid rgba(29,33,28,.13); box-shadow: 0 28px 65px rgba(37,35,28,.15); }
.store-hero-photo { position: absolute; overflow: hidden; }
.store-hero-photo img { object-fit: cover; }
.store-hero-photo-main { inset: 13px; }
.store-hero-photo-main img { object-position: 54% 50%; }

.store-credentials { border-block: 1px solid rgba(29,33,28,.13); background: var(--store-paper); }
.store-credentials-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.store-credentials-grid div { min-height: 104px; padding: 22px 25px; display: flex; flex-direction: column; justify-content: center; border-right: 1px solid rgba(29,33,28,.13); }
.store-credentials-grid div:first-child { border-left: 1px solid rgba(29,33,28,.13); }
.store-credentials strong { margin-bottom: 7px; color: var(--store-burgundy); font: 500 19px var(--serif); }
.store-credentials span { color: #696d65; font-size: 9px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }

.store-shelves { padding-block: 120px; }
.store-section-intro { margin-bottom: 53px; display: grid; grid-template-columns: 1.05fr .85fr; column-gap: 90px; align-items: end; }
.store-section-intro .store-kicker { grid-column: 1 / -1; }
.store-section-intro h2, .no-catalog h2, .store-story h2, .gift-bridge h2, .visit-section h2 { margin: 0; font: 500 clamp(43px, 4.9vw, 69px)/.97 var(--serif); letter-spacing: -.05em; }
.store-section-intro h2 em, .store-story h2 em, .gift-bridge h2 em { color: var(--store-burgundy); font-weight: 500; }
.store-section-intro > p:not(.store-kicker) { margin: 0 0 4px; color: #60665f; font: 400 15px/1.75 var(--serif); }
.store-shelf-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid rgba(29,33,28,.18); border-left: 1px solid rgba(29,33,28,.18); }
.shelf-card { min-height: 330px; position: relative; padding: 34px; display: grid; grid-template-columns: 45px 1fr; gap: 16px; border-right: 1px solid rgba(29,33,28,.18); border-bottom: 1px solid rgba(29,33,28,.18); overflow: hidden; }
.shelf-card::after { content: ""; position: absolute; right: -60px; bottom: -80px; width: 210px; height: 210px; border: 1px solid currentColor; border-radius: 50%; opacity: .12; }
.shelf-card:nth-child(2), .shelf-card:nth-child(3) { background: var(--store-paper); }
.shelf-card:nth-child(3) { background: var(--store-forest); color: #fff8e9; }
.shelf-card:nth-child(4) { background: #ead7c3; }
.shelf-number { color: var(--store-burgundy); font: italic 18px var(--serif); }
.shelf-card:nth-child(3) .shelf-number { color: #e8b8c7; }
.shelf-card p { margin: 2px 0 9px; color: var(--store-burgundy); font-size: 9px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.shelf-card:nth-child(3) p { color: #e8b8c7; }
.shelf-card h3 { margin: 0 0 17px; font: 500 43px/1 var(--serif); }
.shelf-card div > span { display: block; max-width: 490px; color: #5d625c; font: 400 14px/1.7 var(--serif); }
.shelf-card:nth-child(3) div > span { color: rgba(255,248,233,.7); }
.shelf-card b, .shelf-card > a { position: absolute; left: 95px; bottom: 32px; font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.shelf-card > a { color: var(--store-burgundy); border-bottom: 1px solid currentColor; padding-bottom: 3px; }

.no-catalog { padding-block: 110px; background: var(--store-burgundy); color: #fff8ee; }
.no-catalog-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 100px; align-items: center; }
.no-catalog-stamp { width: 320px; aspect-ratio: 1; margin-inline: auto; display: grid; place-content: center; text-align: center; border: 1px solid rgba(255,255,255,.55); border-radius: 50%; outline: 1px solid rgba(255,255,255,.24); outline-offset: 12px; transform: rotate(-4deg); }
.no-catalog-stamp span { margin-bottom: 13px; color: #f1c4d1; font-size: 10px; font-weight: 850; letter-spacing: .2em; text-transform: uppercase; }
.no-catalog-stamp strong { font: italic 29px/1.15 var(--serif); }
.no-catalog h2 { margin-bottom: 24px; }
.no-catalog-grid > div:last-child > p:not(.store-kicker) { max-width: 690px; margin-bottom: 28px; color: rgba(255,248,238,.72); font: 400 16px/1.75 var(--serif); }
.no-catalog-actions { display: flex; align-items: center; gap: 28px; }
.no-catalog-actions > a:last-child { padding-bottom: 4px; border-bottom: 1px solid rgba(255,255,255,.45); font-size: 11px; font-weight: 800; }
.no-catalog-actions span { margin-left: 8px; }

.store-story { min-height: 730px; padding-block: 120px; display: grid; grid-template-columns: .94fr 1.06fr; gap: 100px; align-items: center; }
.store-story-images { min-height: 580px; position: relative; }
.store-story-main { width: 86%; height: 92%; position: absolute; left: 0; top: 0; overflow: hidden; box-shadow: 0 28px 65px rgba(37,35,28,.15); }
.store-story-main img { object-fit: cover; }
.store-story-seal { width: 210px; min-height: 150px; position: absolute; right: 0; bottom: 0; padding: 18px; display: flex; gap: 12px; align-items: center; background: var(--store-paper); border: 1px solid rgba(29,33,28,.16); box-shadow: 0 15px 35px rgba(37,35,28,.13); transform: rotate(2deg); }
.store-story-seal span { font: italic 14px/1.45 var(--serif); }
.store-story-copy { max-width: 650px; }
.store-story-copy h2 { margin-bottom: 29px; }
.store-story-lede { color: var(--store-ink) !important; font: 500 21px/1.55 var(--serif) !important; }
.store-story-copy > p:not(.store-kicker) { color: #626860; font: 400 15px/1.78 var(--serif); }
.store-story-copy blockquote { margin: 35px 0 0; padding: 25px 0 0 30px; border-top: 1px solid rgba(29,33,28,.17); border-left: 3px solid var(--store-burgundy); color: var(--store-burgundy); font: italic 23px/1.45 var(--serif); }

.neighbor-voices { padding-block: 85px; background: var(--store-paper); border-block: 1px solid rgba(29,33,28,.13); }
.voice-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(29,33,28,.16); border-left: 1px solid rgba(29,33,28,.16); }
.voice-grid figure { min-height: 175px; margin: 0; padding: 31px; display: flex; flex-direction: column; justify-content: space-between; border-right: 1px solid rgba(29,33,28,.16); border-bottom: 1px solid rgba(29,33,28,.16); }
.voice-grid blockquote { margin: 0; font: italic 26px/1.25 var(--serif); }
.voice-grid figcaption { color: var(--store-burgundy); font-size: 8px; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }

.gift-bridge { padding-block: 120px; display: grid; grid-template-columns: .82fr 1.18fr; gap: 75px; align-items: center; }
.gift-bridge-copy h2 { margin-bottom: 25px; }
.gift-bridge-copy > p:not(.store-kicker) { max-width: 540px; margin-bottom: 29px; color: #626860; font: 400 15px/1.75 var(--serif); }
.gift-bridge-copy small { max-width: 450px; margin-top: 18px; display: block; color: #777b74; font-size: 9px; line-height: 1.55; }
.gift-bridge-image { min-width: 0; position: relative; aspect-ratio: 1 / .82; overflow: hidden; background: var(--store-paper); box-shadow: 0 28px 65px rgba(37,35,28,.14); }
.gift-bridge-image img { object-fit: cover; transition: transform .45s ease; }
.gift-bridge-image:hover img { transform: scale(1.018); }
.gift-bridge-image > span { position: absolute; right: 17px; bottom: 17px; padding: 13px 15px; background: var(--store-burgundy); color: #fff; font-size: 10px; font-weight: 800; letter-spacing: .05em; }
.gift-bridge-image b { margin-left: 9px; font-size: 16px; }

.visit-section { padding-block: 100px; background: var(--store-forest); color: #fff8e9; }
.visit-grid { display: grid; grid-template-columns: .95fr 1.05fr; gap: 100px; align-items: start; }
.visit-section h2 { font-size: clamp(40px, 4.4vw, 61px); }
.visit-details { display: grid; grid-template-columns: repeat(2, 1fr); gap: 35px 42px; }
.visit-details > div { padding-top: 15px; border-top: 1px solid rgba(255,255,255,.2); }
.visit-details span { margin-bottom: 8px; display: block; color: #e8b8c7; font-size: 8px; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.visit-details p, .visit-details a { margin: 0; color: rgba(255,248,233,.74); font: 400 13px/1.6 var(--serif); }

@media (max-width: 1050px) {
  .store-header { grid-template-columns: 1fr auto; }
  .store-header nav { display: none; }
  .store-hero { grid-template-columns: 1fr; }
  .store-hero-copy { max-width: 780px; padding-left: 0; }
  .store-hero-collage { width: 92%; margin-left: auto; }
  .store-section-intro, .store-story, .gift-bridge, .visit-grid { gap: 55px; }
}

@media (max-width: 800px) {
  .store-announcement { gap: 8px; font-size: 8px; }
  .store-announcement span[aria-hidden] { display: none; }
  .store-header { height: 82px; }
  .store-call span { display: none; }
  .store-hero { min-height: 0; gap: 42px; padding-block: 55px 80px; }
  .store-hero h1 { font-size: clamp(58px, 16vw, 82px); }
  .store-hero-actions { align-items: flex-start; flex-direction: column; }
  .store-hero-collage { width: 100%; }
  .store-credentials-grid { grid-template-columns: repeat(2, 1fr); }
  .store-credentials-grid div:nth-child(3) { border-left: 1px solid rgba(29,33,28,.13); }
  .store-shelves, .store-story, .gift-bridge { padding-block: 82px; }
  .store-section-intro, .store-story, .gift-bridge, .visit-grid { grid-template-columns: 1fr; }
  .store-shelf-grid { grid-template-columns: 1fr; }
  .no-catalog { padding-block: 82px; }
  .no-catalog-grid { grid-template-columns: 1fr; gap: 65px; }
  .no-catalog-stamp { width: 260px; }
  .store-story-images { min-height: 500px; }
  .voice-grid { grid-template-columns: 1fr; }
  .visit-details { margin-top: 10px; }
  .story-home-link { top: auto; bottom: 12px; right: 12px; }
}

@media (max-width: 520px) {
  .store-announcement span:first-child { display: none; }
  .store-call { padding-left: 12px; }
  .store-call strong { font-size: 14px; }
  .store-est { gap: 8px; }
  .store-est span:last-child { display: none; }
  .store-hero-collage { padding: 8px; }
  .store-hero-photo-main { inset: 8px; }
  .store-credentials-grid { grid-template-columns: 1fr; }
  .store-credentials-grid div { border-left: 1px solid rgba(29,33,28,.13); }
  .store-section-intro { display: block; }
  .store-section-intro > p:not(.store-kicker) { margin-top: 22px; }
  .shelf-card { min-height: 350px; padding: 28px 22px; grid-template-columns: 35px 1fr; }
  .shelf-card b, .shelf-card > a { left: 73px; }
  .no-catalog-actions { align-items: flex-start; flex-direction: column; }
  .store-story-images { min-height: 400px; }
  .store-story-seal { width: 175px; min-height: 120px; }
  .visit-details { grid-template-columns: 1fr; }
  .product-pour-note { max-width: calc(100% - 24px); font-size: 7px; }
}

/* Private Old Vine operator desk */
.op-shell, .op-access { --op-ink: #1b302b; --op-muted: #6d726c; --op-paper: #f2ebdf; --op-card: #fffdf8; --op-line: #d9d0c2; --op-forest: #153f35; --op-burgundy: #a20f43; --op-mint: #c9e4d1; --op-sans: var(--font-geist-sans), Arial, sans-serif; min-height: 100vh; overflow-x: hidden; background: radial-gradient(circle at 88% 0%, rgba(201,228,209,.62), transparent 32rem), var(--op-paper); color: var(--op-ink); font-family: var(--op-sans); }
.op-shell { width: min(1240px, calc(100% - 40px)); margin: 0 auto; padding-bottom: 44px; }
.op-topbar { min-height: 92px; display: flex; justify-content: space-between; align-items: center; gap: 22px; border-bottom: 1px solid rgba(27,48,43,.17); }
.op-brand { display: flex; align-items: center; gap: 12px; }
.op-brand img { width: 42px; height: 42px; object-fit: contain; }
.op-brand div { display: flex; flex-direction: column; gap: 2px; }
.op-brand strong { font: 600 17px var(--serif); }
.op-brand span { color: var(--op-muted); font-size: 11px; }
.op-topbar nav { display: flex; gap: 5px; padding: 4px; border: 1px solid var(--op-line); border-radius: 999px; background: rgba(255,255,255,.58); }
.op-topbar nav a { padding: 8px 12px; border-radius: 999px; color: var(--op-muted); font-size: 11px; font-weight: 800; text-decoration: none; }
.op-topbar nav a.active { background: var(--op-forest); color: #fff; }
.op-safety { display: flex; align-items: center; gap: 8px; color: var(--op-forest); font-size: 12px; font-weight: 750; }
.op-safety > span { width: 8px; height: 8px; border-radius: 50%; background: #2f9a67; box-shadow: 0 0 0 4px rgba(47,154,103,.13); }
.op-hero { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 45px; align-items: end; padding: 52px 0 38px; }
.op-eyebrow, .op-label { margin: 0 0 9px; color: #6d6f69; font-size: 10px; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.op-hero h1 { max-width: 760px; margin: 0; font: 500 clamp(42px, 5.2vw, 68px)/.98 var(--serif); letter-spacing: -.05em; }
.op-hero > div > p:last-child { max-width: 720px; margin: 23px 0 0; color: var(--op-muted); font-size: 16px; line-height: 1.65; }
.op-hero aside { min-width: 250px; padding: 15px 0 2px 24px; display: flex; flex-direction: column; gap: 5px; border-left: 1px solid var(--op-line); }
.op-hero aside span { color: var(--op-muted); font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.op-hero aside strong { font-size: 14px; }
.op-hero aside small { color: var(--op-muted); font-size: 10px; }
.op-metrics { display: grid; grid-template-columns: repeat(5, 1fr); overflow: hidden; border: 1px solid var(--op-line); border-radius: 18px; background: rgba(255,253,248,.7); }
.op-metrics > div { min-height: 95px; padding: 19px 22px; display: flex; flex-direction: column; justify-content: space-between; border-right: 1px solid var(--op-line); }
.op-metrics > div:last-child { border-right: 0; }
.op-metrics span { color: var(--op-muted); font-size: 11px; }
.op-metrics strong { font: 500 30px var(--serif); }
.op-system-card { margin-top: 25px; padding: 25px; display: grid; grid-template-columns: .7fr 1.3fr; gap: 22px 36px; border: 1px solid var(--op-line); border-radius: 18px; background: rgba(255,253,248,.84); }
.op-system-card h2 { margin: 0; font: 500 29px var(--serif); }
.op-system-card > p { grid-column: 1 / -1; margin: 0; color: var(--op-muted); font-size: 12px; line-height: 1.6; }
.op-connections { display: flex; flex-wrap: wrap; justify-content: flex-end; align-content: flex-start; gap: 8px; }
.op-connections span { padding: 8px 10px; border-radius: 999px; font-size: 10px; font-weight: 800; }
.op-connections .ready { background: #e0f1e4; color: #315e48; }
.op-connections .waiting { background: #f6e6df; color: #874732; }
.op-error-banner { margin-top: 22px; padding: 12px 14px; border: 1px solid #e4b29f; border-radius: 11px; background: #fae8e0; color: #82412d; font-size: 12px; }
.op-queue-heading { padding: 54px 0 22px; display: grid; grid-template-columns: 1fr minmax(280px, 420px); gap: 34px; align-items: end; }
.op-queue-heading h2 { margin: 0; font: 500 36px var(--serif); letter-spacing: -.03em; }
.op-queue-heading > p { margin: 0; color: var(--op-muted); font-size: 12px; line-height: 1.65; }
.op-card-list { display: grid; gap: 22px; }
.op-card { display: grid; grid-template-columns: 72px minmax(0, 1fr); overflow: hidden; border: 1px solid var(--op-line); border-radius: 22px; background: var(--op-card); box-shadow: 0 16px 42px rgba(37,48,42,.06); }
.op-card-rail { padding: 24px 0; display: flex; flex-direction: column; align-items: center; gap: 14px; background: var(--op-forest); color: #fff; }
.op-card-rail > span { width: 1px; min-height: 80px; flex: 1; background: rgba(255,255,255,.25); }
.op-card-rail strong, .op-card-rail small { font-size: 10px; letter-spacing: .07em; }
.op-card-rail small { color: var(--op-mint); writing-mode: vertical-rl; transform: rotate(180deg); }
.op-card-body { min-width: 0; padding: 30px 34px 28px; }
.op-card-header { display: flex; justify-content: space-between; gap: 24px; }
.op-card-header h3 { margin: 0; font: 500 32px var(--serif); letter-spacing: -.03em; }
.op-card-header > div:first-child > p:last-child { margin: 6px 0 0; color: var(--op-muted); font-size: 13px; }
.op-pills { display: flex; align-items: flex-start; justify-content: flex-end; gap: 7px; flex-wrap: wrap; }
.op-pills span { padding: 7px 9px; border: 1px solid var(--op-line); border-radius: 999px; background: #fff; color: var(--op-muted); font-size: 9px; font-weight: 800; text-transform: capitalize; }
.op-pills span.approved { border-color: #b8d9c1; background: #e8f4eb; color: #315e48; }
.op-context-grid { margin-top: 26px; display: grid; grid-template-columns: 1.25fr .75fr; gap: 20px; }
.op-context-grid section { padding: 18px; border-radius: 14px; background: #f6f2ea; }
.op-context-grid p { margin: 0; font-size: 13px; line-height: 1.62; }
.op-context-grid small { display: block; margin-top: 7px; color: var(--op-muted); font-size: 11px; line-height: 1.5; }
.op-evidence { margin-top: 18px; padding: 18px 20px; border: 1px solid #c8d9cc; border-radius: 14px; background: #f0f6f1; }
.op-evidence p, .op-evidence ul { margin: 0; color: #41554c; font-size: 12px; line-height: 1.6; }
.op-evidence ul { padding-left: 19px; }
.op-source-links { margin-top: 13px; display: flex; flex-wrap: wrap; gap: 7px; }
.op-source-links a { padding: 6px 9px; border: 1px solid #bfd3c4; border-radius: 999px; background: #fff; color: var(--op-forest); font-size: 10px; font-weight: 750; text-decoration: none; }
.op-draft { margin-top: 18px; padding: 21px; border: 1px solid var(--op-line); border-radius: 14px; background: #fff; }
.op-draft-topline { display: flex; justify-content: space-between; gap: 15px; }
.op-draft-topline > span:last-child { color: #567166; font-size: 10px; font-weight: 700; }
.op-draft > p { margin: 12px 0; font-size: 13px; }
.op-email-body { white-space: pre-wrap; color: #283a34; font: 400 15px/1.65 var(--serif); }
.op-actions { margin-top: 20px; display: flex; flex-wrap: wrap; gap: 9px; }
.op-button { padding: 10px 14px; border: 0; border-radius: 9px; cursor: pointer; font: 800 11px var(--op-sans); }
.op-button:disabled { cursor: wait; opacity: .58; }
.op-button.approve { background: var(--op-forest); color: #fff; }
.op-button.dark { background: #293d37; color: #fff; }
.op-button.quiet { background: #ebe7df; color: var(--op-ink); }
.op-button.reject { color: #92432e; }
.op-button.track { margin-left: auto; background: #efe2e7; color: var(--op-burgundy); }
.op-action-panel { margin-top: 20px; padding: 17px; border-radius: 13px; background: #f1ede5; }
.op-action-panel > label, .op-action-panel label { display: block; margin-bottom: 6px; color: var(--op-muted); font-size: 10px; font-weight: 800; }
.op-action-panel textarea, .op-action-panel input, .op-action-panel select { width: 100%; padding: 9px 10px; border: 1px solid var(--op-line); border-radius: 8px; background: #fff; color: var(--op-ink); font: 12px var(--op-sans); }
.op-action-panel > div:last-child { margin-top: 10px; display: flex; justify-content: flex-end; gap: 8px; }
.op-form-grid { display: grid !important; grid-template-columns: 220px 1fr; gap: 12px; margin-top: 0 !important; }
.op-error { margin: 12px 0 0; color: #8a412f; font-size: 11px; }
.op-empty { min-height: 290px; display: grid; grid-template-columns: 150px minmax(0, 560px); gap: 50px; align-items: center; justify-content: center; border: 1px dashed #b9b2a6; border-radius: 22px; background: rgba(255,253,248,.5); }
.op-empty h3 { margin: 0; font: 500 30px var(--serif); }
.op-empty p:last-child { color: var(--op-muted); font-size: 13px; line-height: 1.65; }
.op-empty-ring { width: 126px; height: 126px; position: relative; border: 1px solid #95ab9e; border-radius: 50%; }
.op-empty-ring::before { content: ""; position: absolute; inset: 24px; border: 1px solid #c2d4c8; border-radius: 50%; }
.op-empty-ring span { width: 13px; height: 13px; position: absolute; right: 18px; top: 15px; border-radius: 50%; background: var(--op-burgundy); box-shadow: 0 0 0 7px rgba(162,15,67,.12); }
.op-footer { margin-top: 28px; padding: 0; display: flex; justify-content: space-between; gap: 20px; background: transparent; color: var(--op-muted); font-size: 10px; }
.op-access { display: grid; place-items: center; padding: 30px; }
.op-access section { max-width: 510px; padding: 42px; text-align: center; border: 1px solid var(--op-line); border-radius: 22px; background: var(--op-card); }
.op-access img { width: 62px; height: 62px; object-fit: contain; margin-bottom: 18px; }
.op-access h1 { margin: 0; font: 500 42px var(--serif); }
.op-access p:not(.op-eyebrow) { color: var(--op-muted); line-height: 1.6; }
.op-access a { margin-top: 12px; display: inline-block; padding: 11px 15px; border-radius: 9px; background: var(--op-forest); color: #fff; font-size: 12px; font-weight: 800; text-decoration: none; }

@media (max-width: 900px) {
  .op-topbar { flex-wrap: wrap; padding: 18px 0; }
  .op-topbar nav { order: 3; width: 100%; justify-content: center; }
  .op-hero { grid-template-columns: 1fr; }
  .op-hero aside { padding: 14px 0 0; border-top: 1px solid var(--op-line); border-left: 0; }
  .op-metrics { grid-template-columns: repeat(2, 1fr); }
  .op-metrics > div { border-bottom: 1px solid var(--op-line); }
  .op-system-card { grid-template-columns: 1fr; }
  .op-system-card > p { grid-column: auto; }
  .op-connections { justify-content: flex-start; }
}

@media (max-width: 650px) {
  .op-shell { width: min(100% - 22px, 1240px); }
  .op-safety { max-width: 160px; text-align: right; }
  .op-hero { padding-top: 45px; }
  .op-hero h1 { font-size: 52px; }
  .op-queue-heading, .op-context-grid { grid-template-columns: 1fr; }
  .op-card { grid-template-columns: 9px minmax(0, 1fr); }
  .op-card-rail { padding: 0; }
  .op-card-rail > * { display: none; }
  .op-card-body { padding: 23px 17px; }
  .op-card-header { flex-direction: column; }
  .op-pills { justify-content: flex-start; }
  .op-draft-topline { flex-direction: column; }
  .op-button.track { margin-left: 0; }
  .op-form-grid { grid-template-columns: 1fr; }
  .op-empty { grid-template-columns: 1fr; padding: 40px 24px; text-align: center; }
  .op-empty-ring { margin: 0 auto; }
}

@media (max-width: 480px) {
  .op-topbar { align-items: flex-start; }
  .op-safety { width: 100%; max-width: none; text-align: left; }
  .op-topbar nav { overflow-x: auto; justify-content: flex-start; }
  .op-hero h1 { font-size: 44px; }
  .op-metrics { grid-template-columns: 1fr; }
  .op-metrics > div { min-height: 78px; border-right: 0; }
  .op-footer { flex-direction: column; }
}

/* Client-intent and first-party gift-guide pages. */
.seo-page{overflow:hidden;background:var(--paper);color:var(--ink)}
.seo-page footer{padding:55px 0 22px;background:#183e34;color:#fff}
.footer-link-stack a{display:block;margin-top:5px}
.gift-resource-links{margin-top:22px;display:flex;flex-wrap:wrap;gap:14px 22px}.gift-resource-links a{padding-bottom:3px;border-bottom:1px solid rgba(29,33,28,.25);color:var(--wine);font-size:10px;font-weight:800}.corporate-deep-link{margin-top:18px;display:block;width:fit-content;color:var(--wine);font-size:10px;font-weight:800;border-bottom:1px solid currentColor;padding-bottom:3px}
.seo-hero{min-height:650px;display:grid;grid-template-columns:.93fr 1.07fr;gap:72px;align-items:center;padding-block:72px 84px}
.seo-hero-copy{padding-left:16px}
.seo-hero h1,.guide-hero h1{margin-bottom:25px;font:500 clamp(53px,5.8vw,84px)/.94 var(--serif);letter-spacing:-.057em}
.seo-hero h1 em,.guide-hero h1 em{color:var(--wine);font-weight:500}
.seo-lede{max-width:680px;margin-bottom:29px;color:var(--ink-soft);font:400 18px/1.68 var(--serif)}
.seo-hero-image{min-width:0;position:relative;aspect-ratio:1/.86;overflow:hidden;background:var(--cream);box-shadow:0 28px 70px rgba(29,33,28,.14)}
.seo-hero-image img{width:100%;height:100%;object-fit:cover}
.seo-hero-image>span{position:absolute;right:18px;bottom:18px;padding:12px 14px;background:var(--wine);color:#fff;font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.answer-strip{border-block:1px solid var(--line);background:#183e34;color:#fff}
.answer-layout{min-height:145px;display:grid;grid-template-columns:.34fr 1.66fr;gap:55px;align-items:center}
.answer-layout>strong{color:#e4bdca;font-size:10px;font-weight:850;letter-spacing:.17em;text-transform:uppercase}
.answer-layout p{margin:0;max-width:990px;color:rgba(255,255,255,.79);font:400 17px/1.65 var(--serif)}
.answer-layout b{color:#fff;font-weight:650}
.seo-section{padding-block:110px}
.seo-section-heading{margin-bottom:47px;display:grid;grid-template-columns:1.08fr .92fr;column-gap:76px;align-items:end}
.seo-section-heading .kicker{grid-column:1/-1}
.seo-section-heading h2,.seo-split h2,.local-band h2,.seo-faq h2,.seo-cta h2,.guide-content h2{margin:0;font:500 clamp(40px,4.5vw,64px)/.98 var(--serif);letter-spacing:-.047em}
.seo-section-heading>p:not(.kicker){margin:0 0 3px;color:var(--ink-soft);font:400 15px/1.75 var(--serif)}
.seo-section-heading.compact{display:block}.seo-section-heading.compact h2{max-width:850px}
.audience-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.audience-grid article{min-height:350px;padding:32px;position:relative;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.audience-grid article:nth-child(2){background:var(--cream)}.audience-grid article:nth-child(3){background:#183e34;color:#fff}
.audience-grid article>span{color:var(--wine);font:italic 18px var(--serif)}.audience-grid article:nth-child(3)>span{color:#e4bdca}
.audience-grid h3{margin:65px 0 16px;font:500 31px/1.08 var(--serif)}
.audience-grid p{color:var(--ink-soft);font:400 13px/1.72 var(--serif)}.audience-grid article:nth-child(3) p{color:rgba(255,255,255,.68)}
.audience-grid b{position:absolute;left:32px;right:32px;bottom:30px;color:var(--wine);font-size:8px;font-weight:850;letter-spacing:.09em;line-height:1.5;text-transform:uppercase}.audience-grid article:nth-child(3) b{color:#e4bdca}
.seo-paper{background:var(--cream);border-block:1px solid var(--line)}
.price-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.price-grid article{min-height:300px;padding:28px 25px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.34)}
.price-grid article.featured{background:var(--wine);color:#fff;transform:translateY(-8px);box-shadow:0 18px 35px rgba(72,0,28,.15)}
.price-grid article>span{display:block;min-height:35px;color:var(--wine);font-size:8px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.price-grid article.featured>span{color:#f0cad8}
.price-grid article>strong{display:block;font:500 44px/1 var(--serif)}.price-grid h3{margin:38px 0 13px;font:500 24px/1.1 var(--serif)}
.price-grid p{margin:0;color:var(--ink-soft);font:400 12px/1.68 var(--serif)}.price-grid article.featured p{color:rgba(255,255,255,.75)}
.pricing-note{max-width:850px;margin:28px 0 0;color:var(--ink-soft);font-size:10px;line-height:1.65}
.seo-split{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:start}.seo-split h2{margin-bottom:27px}
.body-copy{margin-bottom:28px;color:var(--ink-soft);font:400 15px/1.75 var(--serif)}
.process-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.process-list li{min-height:105px;padding:20px 0;display:grid;grid-template-columns:48px 1fr;gap:18px;align-items:start;border-bottom:1px solid var(--line)}
.process-list li>span{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--wine);border-radius:50%;color:var(--wine);font:italic 17px var(--serif)}
.process-list strong{font:500 21px var(--serif)}.process-list p{margin:6px 0 0;color:var(--ink-soft);font-size:11px;line-height:1.55}
.local-band{padding-block:90px;background:#183e34;color:#fff}.local-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:90px;align-items:start}
.local-grid>div:last-child p{color:rgba(255,255,255,.72);font:400 15px/1.75 var(--serif)}.local-grid>div:last-child strong{color:#fff}
.seo-faq{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px}.seo-faq .faq-list{border-top:1px solid var(--line)}.seo-faq details{border-bottom:1px solid var(--line)}
.seo-faq summary{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:18px;list-style:none;cursor:pointer;font:500 19px var(--serif)}.seo-faq summary::-webkit-details-marker{display:none}.seo-faq summary span{color:var(--wine);font:300 25px Arial}
.seo-faq details p{margin:0 45px 24px 0;color:var(--ink-soft);font-size:12px;line-height:1.75}
.seo-cta{padding-block:94px;background:var(--wine);color:#fff;text-align:center}.seo-cta h2{margin:0 auto 30px}.seo-cta h2 em{color:#f0cad8;font-weight:500}
.seo-cta>.shell>div{display:flex;justify-content:center;align-items:center;gap:24px}.seo-cta>.shell>div>a:not(.button){padding-bottom:4px;border-bottom:1px solid rgba(255,255,255,.45);font-size:11px;font-weight:750}
.guide-hero{min-height:610px;display:grid;grid-template-columns:1.05fr .95fr;gap:80px;align-items:center;padding-block:72px 80px}.guide-hero h1{max-width:780px}.byline{color:var(--ink-soft);font-size:10px;letter-spacing:.04em}
.guide-hero-image{min-width:0;position:relative;aspect-ratio:1/.82;overflow:hidden;background:var(--cream);box-shadow:0 28px 70px rgba(29,33,28,.14);transform:rotate(1.5deg)}.guide-hero-image img{width:100%;height:100%;object-fit:cover}
.guide-toc{min-height:82px;display:flex;align-items:center;flex-wrap:wrap;gap:27px;border-bottom:1px solid var(--line)}.guide-toc strong{margin-right:8px;color:var(--wine);font-size:9px;letter-spacing:.13em;text-transform:uppercase}.guide-toc a{color:var(--ink-soft);font-size:11px;font-weight:700}
.guide-section{padding-block:105px;display:grid;grid-template-columns:.27fr .73fr;gap:72px;border-bottom:1px solid var(--line)}.guide-aside>span{display:block;margin-bottom:22px;color:var(--wine);font:italic 44px/1 var(--serif)}
.guide-content{min-width:0}.guide-content>h2{max-width:850px;margin-bottom:25px}.guide-content>p{max-width:850px;color:var(--ink-soft);font:400 16px/1.78 var(--serif)}
.guide-table{margin-top:34px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.guide-table>div{min-height:82px;padding:18px 20px;display:grid;grid-template-columns:.25fr .39fr .36fr;gap:20px;align-items:center;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.guide-table .guide-table-head{min-height:56px;background:#183e34;color:#fff}.guide-table-head span{color:#e4bdca;font-size:8px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.guide-table strong{color:var(--wine);font:500 24px var(--serif)}.guide-table>div:not(.guide-table-head) span{color:var(--ink-soft);font-size:11px;line-height:1.5}.guide-note{margin-top:16px!important;font:400 9px/1.6 Arial,sans-serif!important}
.contents-grid{margin:35px 0;display:grid;grid-template-columns:repeat(2,1fr);gap:25px}.contents-grid article{border:1px solid var(--line);background:#fff}.contents-grid img{width:100%;aspect-ratio:4/2.65;object-fit:cover}.contents-grid article>div{padding:19px 20px}.contents-grid strong{font:500 20px var(--serif)}.contents-grid p{margin:8px 0 0;color:var(--ink-soft);font-size:10px;line-height:1.6}
.decision-grid{margin-top:34px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.decision-grid article{min-height:230px;padding:25px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.decision-grid article:nth-child(2){background:var(--cream)}.decision-grid h3{margin:0 0 15px;font:500 23px var(--serif)}.decision-grid p{color:var(--ink-soft);font-size:11px;line-height:1.65}
.legal-callout{margin-top:28px;padding:25px 28px;display:grid;grid-template-columns:.42fr 1.58fr;gap:30px;background:#183e34;color:#fff}.legal-callout strong{color:#e4bdca;font:500 20px/1.25 var(--serif)}.legal-callout p{margin:0;color:rgba(255,255,255,.68);font-size:10px;line-height:1.65}
.editorial-list{margin:32px 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}.editorial-list li{padding:18px 0;border-bottom:1px solid var(--line);color:var(--ink-soft);font-size:12px;line-height:1.6}.editorial-list strong{color:var(--ink)}
.checklist{margin:34px 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);counter-reset:item}.checklist li{min-height:78px;padding:20px;display:flex;align-items:center;gap:14px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--ink-soft);font-size:12px}.checklist li:before{counter-increment:item;content:counter(item);width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;border:1px solid var(--wine);border-radius:50%;color:var(--wine);font:italic 13px var(--serif)}
.guide-next{padding:28px;display:flex;justify-content:space-between;align-items:center;gap:25px;background:var(--cream)}.guide-next h3{margin:0;font:500 27px var(--serif)}.guide-next p{margin:7px 0 0;color:var(--ink-soft);font-size:11px}
@media(max-width:1050px){.seo-hero,.guide-hero{grid-template-columns:1fr;gap:48px}.seo-hero-copy{padding-left:0}.seo-hero-image,.guide-hero-image{width:90%;margin-left:auto}.price-grid{grid-template-columns:repeat(2,1fr)}.audience-grid{grid-template-columns:1fr}.audience-grid article{min-height:290px}}
@media(max-width:800px){.seo-hero,.guide-hero{min-height:0;padding-block:55px 70px}.seo-hero-image,.guide-hero-image{width:100%}.answer-layout,.seo-section-heading,.seo-split,.local-grid,.seo-faq,.guide-section{grid-template-columns:1fr;gap:35px}.answer-layout{padding-block:33px}.seo-section,.guide-section{padding-block:78px}.seo-section-heading .kicker{grid-column:auto}.price-grid{grid-template-columns:1fr}.price-grid article.featured{transform:none}.local-band{padding-block:72px}.guide-toc{padding-block:20px;gap:18px}.guide-aside{display:flex;align-items:center;gap:18px}.guide-aside>span,.guide-aside .kicker{margin:0}.contents-grid,.decision-grid{grid-template-columns:1fr}.legal-callout{grid-template-columns:1fr;gap:14px}.seo-cta>.shell>div{flex-direction:column}}
@media(max-width:520px){.seo-hero h1,.guide-hero h1{font-size:clamp(48px,14vw,66px)}.answer-layout p{font-size:15px}.guide-table>div{grid-template-columns:1fr;gap:8px}.guide-table .guide-table-head{display:none}.checklist{grid-template-columns:1fr}.guide-next{align-items:flex-start;flex-direction:column}}

/* Readability pass: preserve the editorial character without sub-12px UI copy. */
body { font-size: 16px; line-height: 1.55; }
.announcement, .store-announcement { min-height: 42px; font-size: 13px; letter-spacing: .08em; }
.site-header nav, .store-header nav { font-size: 15px; }
.brand small { font-size: 11px; letter-spacing: .12em; }
.button { min-height: 50px; font-size: 14px; }
.kicker, .store-kicker { font-size: 12px; letter-spacing: .16em; }
.text-link, .store-arrow-link { font-size: 14px; }
.hero-trust { font-size: 12px; }
.bottle-callout small { font-size: 13px; }
.promise-grid span { font-size: 14px; }
.section-heading > p { font-size: 16px; }
.product-pour-note { font-size: 11px; line-height: 1.5; }
.product-badge, .product-topline { font-size: 12px; }
.product-topline strong { font-size: 15px; }
.product-body > p { font-size: 15px; }
.product-body summary { font-size: 14px; }
.product-body ul { font-size: 14px; }
.product-footer small { font-size: 12px; }
.product-footer button { font-size: 14px; }
.legal-note p { font-size: 12px; }
.bottle-options p { font-size: 14px; line-height: 1.65; }
.bottle-options strong { font-size: 14px; }
.corporate-image > span { font-size: 12px; }
.corporate-deep-link { font-size: 13px; }
.corporate li strong { font-size: 15px; }
.corporate li small { font-size: 14px; }
.store-meta span { font-size: 11px; }
.store-meta a, .store-meta p { font-size: 14px; }
.story-home-link { font-size: 12px; }
.faq details p { font-size: 15px; }
.quote-intro > p:not(.kicker) { font-size: 16px; }
.selected-card small, .static-selected-card small { font-size: 10px; }
.selected-card span, .static-selected-card span { font-size: 13px; }
.quote-form label { font-size: 12px; }
.quote-form input, .quote-form select, .quote-form textarea { font-size: 15px; }
.check { font-size: 13px !important; }
.form-message { font-size: 13px; }
.form-fineprint { font-size: 12px; }
.footer-grid > div span { font-size: 11px; }
.footer-grid > div a { font-size: 14px; }
.footer-bottom { font-size: 12px; }

.seo-hero-image > span, .guide-table-head span { font-size: 11px; }
.answer-layout > strong { font-size: 12px; }
.audience-grid p { font-size: 15px; }
.audience-grid b, .price-grid article > span { font-size: 10px; }
.price-grid p { font-size: 15px; }
.pricing-note { font-size: 13px; }
.process-list p { font-size: 14px; }
.seo-faq details p { font-size: 15px; }
.seo-cta > .shell > div > a:not(.button) { font-size: 14px; }
.byline { font-size: 13px; }
.guide-toc strong { font-size: 11px; }
.guide-toc a { font-size: 14px; }
.guide-table > div:not(.guide-table-head) span { font-size: 14px; }
.guide-note { font-size: 12px !important; }
.contents-grid p { font-size: 13px; }
.decision-grid p, .guide-next p { font-size: 14px; }
.legal-callout p { font-size: 13px; }
.editorial-list li, .checklist li { font-size: 14px; }

.store-call span, .store-est span { font-size: 10px; }
.shelf-card p { font-size: 11px; }
.shelf-card div > span { font-size: 16px; }
.shelf-card b, .shelf-card > a { font-size: 11px; }
.no-catalog-stamp span { font-size: 12px; }
.no-catalog-actions > a:last-child { font-size: 14px; }
.voice-grid figcaption { font-size: 10px; }
.gift-bridge-copy small { font-size: 12px; }
.gift-resource-links a { font-size: 13px; }
.gift-bridge-image > span { font-size: 12px; }
.visit-details span { font-size: 10px; }
.visit-details p, .visit-details a { font-size: 15px; }

.op-brand span { font-size: 13px; }
.op-topbar nav a { font-size: 13px; }
.op-eyebrow, .op-label { font-size: 12px; }
.op-hero aside span, .op-hero aside small { font-size: 12px; }
.op-hero aside strong { font-size: 16px; }
.op-metrics span { font-size: 13px; }
.op-system-card > p, .op-inventory-heading > p, .op-queue-heading > p { font-size: 14px; }
.op-connections span { font-size: 12px; }
.op-error-banner { font-size: 14px; }
.op-inventory-head { font-size: 11px; }
.op-inventory-row strong { font-size: 14px; }
.op-inventory-row small { font-size: 12px; }
.op-stage { font-size: 11px; }
.op-card-rail strong, .op-card-rail small { font-size: 12px; }
.op-card-header > div:first-child > p:last-child { font-size: 15px; }
.op-pills span { font-size: 11px; }
.op-context-grid p, .op-draft > p { font-size: 15px; }
.op-context-grid small, .op-evidence p, .op-evidence ul { font-size: 13px; }
.op-source-links a, .op-draft-topline > span:last-child { font-size: 12px; }
.op-button { font-size: 13px; }
.op-action-panel > label, .op-action-panel label { font-size: 12px; }
.op-action-panel textarea, .op-action-panel input, .op-action-panel select { font-size: 14px; }
.op-empty p:last-child { font-size: 15px; }
.op-engine-link, .op-footer { font-size: 12px; }
.op-access a { font-size: 14px; }

@media (max-width: 800px) {
  .announcement, .store-announcement { min-height: 40px; padding-inline: 15px; font-size: 11px; letter-spacing: .06em; text-align: center; }
  .brand small { font-size: 10px; }
  .header-cta { font-size: 13px; }
  .product-pour-note { font-size: 10px; }
  .footer-bottom { line-height: 1.6; }
}
