
:root{--paper:#fffaf3;--white:#fffdf9;--soft:#f8eee6;--ink:#2c2027;--muted:#6f5963;--wine:#572640;--deep:#351829;--line:#e5d8d7;--accent:#87516a;--gold:#f4cc94;--serif:Georgia,'Times New Roman',serif;--sans:system-ui,-apple-system,'Segoe UI',sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 var(--sans)}main{min-height:65vh}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #994b75;outline-offset:3px}p{margin:0 0 1rem}h1,h2,h3{font-family:var(--serif);line-height:1.07;margin:0 0 .6em;letter-spacing:-.035em;font-weight:500}h1{font-size:clamp(3rem,7.1vw,6.6rem)}h2{font-size:clamp(2.2rem,4.5vw,3.6rem)}h3{font-size:1.65rem}.wrap{width:min(1180px,calc(100% - 72px));margin-inline:auto}.section{padding-block:56px}.site-header{background:var(--white)}.head{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:78px}.brand{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font-family:var(--serif);font-weight:700;letter-spacing:-.075em;font-size:1.65rem}.brand-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--wine);color:var(--gold);font-size:23px;font-weight:400;letter-spacing:0}.brand-accent,.brand-dot{color:var(--accent)}nav{display:flex;align-items:center;gap:25px}nav a{font-weight:650;font-size:.88rem}.header-cta,.button{display:inline-flex;justify-content:center;align-items:center;gap:9px;border:0;border-radius:8px;background:#efe5ea;color:var(--wine);font:700 .88rem/1.25 var(--sans);padding:12px 15px;cursor:pointer;text-align:center}.header-cta:hover,.button:hover{background:#f5e5eb;color:var(--wine)}.solid{background:var(--wine);color:#fff;border-color:var(--wine)}.solid:hover{background:var(--deep);color:#fff}.icon{width:19px;height:19px;flex:none;vertical-align:-.24em}.hero{background:radial-gradient(ellipse at right top,#f8dfd9,transparent 65%),linear-gradient(110deg,#f8eae5,#f8ece7);border-bottom:1px solid var(--line)}.hero-inner{display:grid;grid-template-columns:1.55fr 1fr;align-items:center;gap:6%;padding-block:65px}.hero-copy h1{font-size:clamp(3.4rem,6.65vw,6.2rem);margin:.23em 0 .22em}.hero-copy em{color:var(--wine);font-weight:400}.eyebrow,.poster-top,.poster-bottom,.card-art span{font-size:.69rem;font-weight:800;letter-spacing:.16em;color:var(--wine);margin:0 0 .65rem}.spark{font-size:1rem;margin-right:.4rem}.intro{font-size:1.1rem;color:#56434e;max-width:41ch;margin-bottom:25px}.hero-search{display:flex;align-items:center;gap:10px;padding:5px 5px 5px 13px;border:1px solid #d6bcc5;background:var(--white);border-radius:10px;max-width:560px}.hero-search input{min-width:0;flex:1;border:0;padding:8px 0;background:transparent}.hero-search button{flex-shrink:0}.hero-search>.icon{color:var(--wine)}.quick{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:15px}.quick span{font-size:.68rem;letter-spacing:.12em;font-weight:800;color:var(--wine);margin-right:3px}.quick a,.tag{border:0;border-radius:999px;background:#f1e6eb;color:var(--wine);padding:4px 9px;font-size:.73rem;font-weight:650;white-space:normal}.quick a:hover,.tag:hover{background:#f0dce5}.poster{border-radius:16px;background:radial-gradient(ellipse at center,#773954,#472037 76%);padding:15px;box-shadow:0 16px 35px #632e4333;color:var(--gold);border:1px solid #7a435c;max-width:460px}.poster svg{width:100%;display:block;border-inline:1px solid #bc8c7860}.poster-top,.poster-bottom{display:flex;justify-content:space-between;align-items:center;color:var(--gold);border:1px solid #bc8c7860;margin:0;padding:10px;font-size:clamp(.48rem,.9vw,.65rem)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:15px;margin-bottom:19px}.section-head h2{margin:0}.textlink,.back{font-weight:750;color:var(--wine);font-size:.9rem}.textlink:hover,.back:hover{text-decoration:underline}.category-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:11px}.topic{background:#f5e2e8;border:0;display:grid;gap:4px;border-radius:11px;padding:14px 12px;min-width:0;align-content:start}.topic:hover{border-color:#ac7890;color:var(--wine)}.topic small{color:#604954}.topic strong{font-size:.85rem}.tile-glyph{font:1.45rem/1 var(--serif);color:var(--wine);margin-bottom:8px}.t1,.t5{background:#f7ead9;border-color:#ead7bd}.t2{background:#f6e0db;border-color:#ebcfc9}.t3{background:#eae3ee;border-color:#dcd1e4}.t4{background:#e8ebe1;border-color:#d6ddcd}.editorial{background:#fcf0e9;border-block:1px solid var(--line)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.card{background:var(--white);border:0;border-radius:12px;overflow:hidden;min-width:0;overflow-wrap:anywhere}.card-copy{padding:20px}.card-art{min-height:105px;display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:#eec8ce;color:#772c49}.card-art b{font-weight:400;font-size:4.8rem;line-height:1}.card-art span{margin:0;font-size:.61rem}.tone-1{background:#eadbd0;color:#70432e}.tone-2{background:#dfd5e7;color:#603a73}.card .location{display:flex;align-items:center;gap:5px;color:var(--wine);text-transform:uppercase;font-size:.68rem;font-weight:800;letter-spacing:.09em;margin:0 0 9px}.card .location .icon{width:14px;height:14px}.card h3{margin:0 0 6px}.card h3 a{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.card h3 a:hover{text-decoration:underline}.card h3 span{font:1rem var(--sans);color:var(--wine)}.branch{font-size:.78rem;color:var(--muted);font-weight:700;margin-bottom:8px}.description{font-size:.89rem;color:#55434d;margin:0 0 12px}.tags{display:flex;gap:5px;flex-wrap:wrap}.filters,.form-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr auto;gap:10px;align-items:end}.filters{background:var(--soft);border:0;border-radius:11px;padding:12px}.filters .button{min-height:43px}.filters label,.submission label:not(.check){display:grid;gap:6px;min-width:0;font-size:.81rem;font-weight:750;color:var(--wine)}input,select,textarea{min-width:0;width:100%;border:0;border-radius:7px;padding:10px;background:#f0e8eb;color:var(--ink);font:inherit}input,select,textarea{font-size:16px}textarea{resize:vertical}.results-summary{display:flex;justify-content:space-between;gap:10px;margin:16px 0 13px;font-size:.86rem}.results-summary a,.empty a,.error-box a{text-decoration:underline}.empty{background:var(--soft);text-align:center;border-radius:12px;padding:35px 16px}.pages{justify-content:center;flex-wrap:wrap;margin-top:20px;gap:8px}.pages [aria-current]{background:var(--wine);color:#fff}.callout{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#f0e0e8;border:1px solid #e4ccd9;border-radius:14px;padding:24px}.callout h2{margin-bottom:.2em}.callout p:last-child{margin-bottom:0}.page-lead{margin-bottom:30px;max-width:69ch}.page-lead h1{font-size:clamp(3rem,7vw,5.4rem);margin-bottom:.2em}.page-lead>p:last-child{color:var(--muted);font-size:1.04rem}.state-title{font-size:2rem}.topic-explain{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:25px}.topic-explain a{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:10px;padding:14px}.topic-explain a span,.muted{color:var(--muted);font-size:.9rem}.detail-heading{padding-block:21px}.detail-heading .page-lead{margin-bottom:13px}.detail-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:16px}.detail-grid h2{font-size:2.15rem}.related{margin-top:30px}.related h2,.queue-title{font-size:2rem}.related a{text-decoration:underline}.narrow{max-width:760px}.submission{padding:24px;display:grid;gap:18px}.form-grid{grid-template-columns:1fr 1fr;align-items:start;gap:14px}.full{grid-column:1/-1}fieldset{border:0;background:var(--soft);border-radius:8px;padding:10px 13px;min-inline-size:0}legend{font-weight:750;font-size:.89rem;color:var(--wine)}.checks{display:grid;grid-template-columns:1fr 1fr;gap:7px}.check{display:flex;align-items:baseline;gap:7px;font-size:.87rem}.check input{width:auto;accent-color:var(--wine)}.submission .button{justify-self:start}.error{color:#983033}.error-box{color:#862b30;background:#fae5e4;border:1px solid #e8bfc1;padding:12px;border-radius:8px}.review-actions .check{margin-bottom:12px}.queue-title{margin-top:20px}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-block:26px}.footer-inner p{margin:4px 0 0;color:var(--muted);font-size:.85rem}footer{background:var(--soft)}.sr,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip:focus{position:absolute;top:5px;left:5px;z-index:4;padding:8px;background:white}
@media(max-width:950px){.wrap{width:calc(100% - 48px)}.hero-inner{gap:4%;padding-block:49px}.category-grid{grid-template-columns:repeat(3,1fr)}.filters{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.hero-inner{grid-template-columns:1fr;gap:25px}.hero-copy h1{font-size:clamp(3rem,9vw,4.7rem)}.poster{width:min(100%,390px);margin-inline:auto}.wrap{width:calc(100% - 32px)}.head{display:grid;grid-template-columns:1fr auto;gap:7px 9px;padding:11px 0 9px}.head nav{grid-column:1/-1;grid-row:2;gap:18px}.header-cta{grid-column:2;grid-row:1;padding:8px;font-size:.76rem}.brand{font-size:1.42rem}.brand-mark{width:27px;height:27px;font-size:19px}.section{padding-block:37px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid{grid-template-columns:1fr}}
@media(max-width:490px){.grid,.topic-explain,.form-grid{grid-template-columns:1fr}.section-head,.callout{align-items:start;flex-direction:column}.category-grid,.filters{grid-template-columns:repeat(2,minmax(0,1fr))}.filters label:first-child{grid-column:1/-1}.hero-search button{padding:10px 8px}.hero-search button .icon{display:none}.hero-search input::placeholder{font-size:.77rem}.hero-search{gap:5px;padding-left:8px}.checks{grid-template-columns:1fr}.submission{padding:16px}.hero-inner{padding-block:32px}.poster{max-width:340px}.footer-inner nav{gap:10px;flex-wrap:wrap}}


/* Directory index */
.directory-banner {
  background: #f4e9e8;
  background-image: linear-gradient(90deg, #f4e9e8 25%, #f4e9e8ef 43%, #f4e9e833 72%, #f4e9e800), url("/assets/directory-ribbon.webp");
  background-position: center, center 46%;
  background-size: cover;
  padding-block: 30px 26px;
}

.directory-title h1 {
  font-size: clamp(2.4rem, 5.5vw, 4rem);
  max-width: 18ch;
  margin-bottom: 5px;
}

.directory-title > p {
  color: var(--muted);
  margin-bottom: 17px;
}

.directory-filters {
  background: var(--white);
  grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(0, 1fr)) auto;
}

.directory-body {
  display: grid;
  grid-template-columns: minmax(170px, 230px) minmax(0, 1fr);
  grid-template-areas: "sidebar results";
  gap: clamp(20px, 4vw, 56px);
  align-items: start;
  padding-block: 28px 48px;
  scroll-margin-top: 12px;
}

.directory-sidebar {
  grid-area: sidebar;
  display: grid;
  gap: 22px;
}

.facet-group {
  display: block;
}

.facet-group h2 {
  font: 750 .86rem/1.4 var(--sans);
  letter-spacing: normal;
  margin-bottom: 6px;
}

.facet-group ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.facet-group a {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 10px;
  min-height: 34px;
  padding: 6px 8px;
  border-radius: 6px;
  font-size: .82rem;
  font-weight: 600;
}

.facet-group a:hover,
.facet-group a[aria-current] {
  color: var(--wine);
  background: #f0e1e8;
}

.facet-count {
  color: var(--muted);
  font-variant-numeric: tabular-nums;
}

.directory-results { grid-area: results; }

.directory-results .results-summary {
  align-items: baseline;
  margin: 0 0 11px;
  color: var(--muted);
}

.results-summary h2 {
  color: var(--ink);
  font: 750 1rem/1.35 var(--sans);
  letter-spacing: normal;
  margin: 0;
  overflow-wrap: anywhere;
}

.result-list {
  display: grid;
  gap: 0;
  overflow: hidden;
  border-radius: 12px;
}

.result-row {
  display: flex;
  align-items: center;
  gap: 14px;
  justify-content: space-between;
  padding: 18px 20px;
  background: var(--white);
}

.result-list > .result-row:nth-child(even) {
  background: #f4e9ed;
}

.result-info {
  min-width: 0;
  overflow-wrap: anywhere;
}

.result-info h3 {
  display: inline;
  margin: 0;
  font-size: 1.4rem;
}

.result-info h3 a:hover,
.result-location a:hover {
  text-decoration: underline;
}

.result-branch {
  display: inline-block;
  margin-inline-start: .55rem;
  color: var(--muted);
  font-size: .78rem;
  font-weight: 650;
}

.result-location {
  display: flex;
  align-items: center;
  gap: 5px 8px;
  flex-wrap: wrap;
  color: var(--muted);
  font-size: .81rem;
  margin: 4px 0;
}

.result-location a {
  font-weight: 700;
}

.result-location .icon {
  width: 15px;
  height: 15px;
  color: var(--wine);
}

.result-location span::before {
  content: '·';
  margin-inline-end: 8px;
}

.result-row .description {
  margin-bottom: 8px;
}

.result-view {
  flex: none;
}

@media (max-width: 850px) {
  .directory-filters {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .directory-filters label:first-child {
    grid-column: span 2;
  }
}

@media (max-width: 640px) {
  .directory-body {
    grid-template-columns: minmax(0, 1fr);
    gap: 26px;
  }

  .directory-body {
    grid-template-areas: "results" "sidebar";
  }

  .directory-sidebar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .directory-sidebar > .textlink {
    grid-column: 1 / -1;
  }

  .result-row {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
    padding: 13px;
  }

  .result-view {
    padding: 7px 9px;
    font-size: .78rem;
  }
}

@media (max-width: 490px) {
  .directory-banner {
    padding-block: 22px 17px;
  }

  .directory-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .directory-filters label:first-child {
    grid-column: 1 / -1;
  }

  .directory-filters .button {
    align-self: end;
  }
}

.online-filters { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) auto; }
.online-filters label:first-child { grid-column: auto; }
.retailer-action { flex: none; }
@media (max-width: 640px) {
  .directory-sidebar.online-sidebar { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 490px) {
  .online-filters { grid-template-columns: minmax(0, 1fr) auto; }
  .online-filters label:first-child { grid-column: 1 / -1; }
}
.retailer-logo {
  display: inline-block;
  vertical-align: middle;
  width: min(240px, 100%);
  height: 76px;
  padding: 7px;
  background: #fff;
  border-radius: 8px;
}
.retailer-logo img { display: block; width: 100%; height: 100%; object-fit: contain; }
.retailer-logo-dark { background: #262129; }
.result-info h3 { display: block; }
.result-info h3 a { display: inline-block; max-width: 100%; }
.retailer-detail .retailer-logo { width: min(340px, 100%); height: 110px; }
@media (max-width: 640px) {
  .retailer-logo { width: min(206px, 100%); height: 66px; }
  .retailer-detail .retailer-logo { width: min(272px, 100%); height: 88px; }
}

.picks-section { padding-top: 22px; }
.picks-heading { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 6px 18px; margin-bottom: 10px; }
.picks-heading h2 { font-size: clamp(1.65rem, 3vw, 2.25rem); margin: 0; }
.picks-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.editor-pick {
  display: flex; flex-direction: column; align-items: flex-start;
  padding: 15px 16px; border-radius: 10px; background: #f3e8eb;
}
.pick-label { color: var(--wine); font-size: .78rem; font-weight: 800; margin: 0 0 7px; }
.pick-brand { width: 100%; margin-bottom: 7px; text-align: center; }
.pick-brand h3 { font-size: 1.3rem; margin: 0; }
.pick-brand h3 a:hover { text-decoration: underline; }
.pick-brand h3 a { display: inline-block; max-width: 100%; }
.pick-brand .retailer-logo { width: min(208px, 100%); height: 66px; }
.editor-pick > p:not(.pick-label) { color: var(--muted); font-size: .82rem; margin: 0 0 10px; }
.editor-pick .button { margin-top: auto; padding: 7px 10px; font-size: .78rem; }
@media (max-width: 720px) {
  .picks-grid { grid-template-columns: minmax(0, 1fr); }
}

.directory-guide {
  background: #f6eee7;
  background-image: linear-gradient(90deg, #f6eee7 28%, #f6eee7ee 56%, #f6eee71a 84%, #f6eee700), url("/assets/buying-guide-still-life.webp");
  background-position: center, center 53%;
  background-size: cover;
  border-radius: 16px;
  margin-bottom: 44px;
  padding: 30px clamp(18px, 4vw, 42px) 36px;
}
.directory-guide h2 { font-size: clamp(1.65rem, 3.5vw, 2.35rem); }
.directory-guide h3 { font-size: 1.35rem; }
.directory-guide p { max-width: 64ch; color: var(--muted); }
.directory-guide p:last-child { margin-bottom: 0; }
.directory-guide a { text-decoration: underline; text-underline-offset: 2px; color: var(--wine); }
@media (max-width: 720px) {
  .directory-banner {
    background-image: linear-gradient(90deg, #f4e9e8f7 12%, #f4e9e8e0 66%, #f4e9e8bf), url("/assets/directory-ribbon.webp");
    background-position: center, 68% center;
  }
  .directory-guide {
    background-image: linear-gradient(90deg, #f6eee7 10%, #f6eee7ed 64%, #f6eee79c), url("/assets/buying-guide-still-life.webp");
    background-position: center, 75% center;
  }
}

/* Keep the main search action prominent and make repeated store links lighter. */
.result-row .retailer-action .button {
  background: transparent;
  color: var(--wine);
  padding-inline: 8px;
}
.result-row .retailer-action .button:hover {
  background: #f1e6eb;
}
.result-row .retailer-action .button:focus-visible {
  outline-offset: 2px;
}

/* Align retailer marks and listing copy on a shared baseline. */
.result-row .result-info {
  display: grid;
  grid-template-columns: 228px minmax(0, 1fr);
  column-gap: 20px;
  align-items: start;
}
.result-row .result-info > h3 { grid-row: span 3; align-self: center; margin: 0; }
.result-row .result-info > h3 > a:has(.retailer-logo) {
  display: block;
  width: 100%;
}
.result-row .result-info:has(> .pick-label) { display: block; }
.result-row .retailer-logo {
  display: block;
  width: min(224px, 100%);
  height: 88px;
  margin-inline: auto;
  padding: 0;
  background: transparent;
}
.result-row .retailer-logo img { object-position: center; }
.result-row .retailer-logo-dark { background: #262129; padding: 4px; }
.result-row .result-location { margin-top: 0; }
@media (max-width: 900px) {
  .result-row .result-info { grid-template-columns: 157px minmax(0, 1fr); gap: 0 14px; }
  .result-row .retailer-logo { width: min(152px, 100%); height: 74px; }
}
@media (max-width: 640px) {
  .result-row .result-info { grid-template-columns: minmax(0, 1fr); }
  .result-row .result-info > h3 { grid-row: auto; margin-bottom: 5px; }
  .result-row .retailer-logo { width: min(194px, 100%); height: 72px; }
}

.online-filters { grid-template-columns: minmax(0, 1.8fr) repeat(2, minmax(0, 1fr)) auto; }
.directory-types { margin-bottom: 14px; }
.directory-types [aria-current] { background: var(--wine); color: #fff; }
.admin h1 { font-size: clamp(2.4rem, 5vw, 4rem); }
.admin .submission { max-width: 780px; margin: 0 0 26px; }
.admin-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 32px; }
.admin-search { grid-template-columns: minmax(0, 1fr) auto; }
.admin-list { padding: 0; list-style: none; }
.admin-list li { padding: 7px 0; overflow-wrap: anywhere; }
.admin-list small { display: block; color: var(--muted); }
.detail-grid .card h3 { margin-top: 20px; }
@media (max-width: 640px) {
  .online-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .online-filters label:first-child { grid-column: 1 / -1; }
  .admin-grid { grid-template-columns: minmax(0, 1fr); }
}

/* The black PNGs contain their own transparent canvas. */
.retailer-logo-black { background: transparent; padding: 0; }

/* Brand and reading rhythm */
.brand {
  display: block;
  width: min(256px, 100%);
  min-width: 0;
  line-height: 0;
}
.brand img { display: block; width: 100%; height: auto; }
.head { min-height: 96px; }
.head nav a, .footer-inner nav a { font-size: .98rem; }
.footer-inner { padding-block: 36px; }
.footer-inner .brand { width: 210px; }
.directory-banner { padding-block: 50px 38px; }
.directory-title h1 {
  font-size: clamp(2.6rem, 6vw, 4.65rem);
  max-width: 17ch;
  text-wrap: balance;
}
.directory-title > p { font-size: 1.125rem; margin: 12px 0 24px; }
.directory-filters { max-width: 1040px; padding: 15px; }
.picks-section { padding-top: 34px; }
.picks-heading { margin-bottom: 16px; }
.picks-grid { gap: 16px; }
.editor-pick { padding: 20px; }
.pick-label { font-size: .86rem; }
.editor-pick > p:not(.pick-label) { font-size: .94rem; margin-bottom: 14px; }
.editor-pick .button { font-size: .86rem; }
.directory-body { padding-block: 38px 44px; }
.result-row { padding: 24px 26px; column-gap: 24px; }
.result-row .result-info { align-items: center; }
.result-row .description { font-size: 1rem; }
.result-location, .facet-group a, .directory-types .tag { font-size: .9rem; }
.result-row .tag { font-size: .78rem; }
.result-row .retailer-action .button { font-size: .94rem; }
.directory-guide p { font-size: 1.04rem; line-height: 1.65; }

@media (max-width: 720px) {
  .brand { width: min(190px, 100%); }
  .head { min-height: 0; padding-block: 15px 12px; row-gap: 11px; }
  .directory-banner { padding-block: 34px 26px; }
  .directory-title > p { font-size: 1rem; margin-bottom: 18px; }
  .picks-section { padding-top: 26px; }
  .picks-grid { gap: 12px; }
  .editor-pick { padding: 16px; }
  .result-row { padding: 18px 16px; }
  .directory-body { padding-block: 28px 36px; }
}

/* Store profiles */
.shop-profile { padding-block: 30px 64px; }
.shop-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 24px;
  padding: clamp(24px, 4.5vw, 56px);
  margin-top: 18px;
  background: #f1e4e8;
  border-radius: 16px;
}
.shop-intro h1 { margin: 0 0 16px; overflow-wrap: anywhere; font-size: clamp(2.5rem, 6vw, 4.8rem); }
.shop-intro .retailer-logo { width: min(360px, 100%); height: 104px; }
.shop-summary { max-width: 55ch; font-size: clamp(1rem, 2vw, 1.2rem); margin-bottom: 18px; }
.shop-visit { text-align: right; }
.shop-visit .button { font-size: 1rem; padding: 13px 22px; }
.shop-visit > p { color: var(--muted); font-size: .88rem; margin: 8px 0 0; overflow-wrap: anywhere; }
.shop-profile-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.8fr) minmax(250px, 1fr);
  gap: clamp(24px, 5vw, 64px);
  align-items: start;
  margin-top: 32px;
}
.shop-profile-compact { grid-template-columns: minmax(0, 1fr); }
.shop-sections { padding-block: 4px; }
.shop-sections section + section { margin-top: 25px; }
.shop-sections h2 { font-size: clamp(1.5rem, 3vw, 2.1rem); margin: 0 0 8px; }
.shop-sections p { max-width: 65ch; margin: 0; line-height: 1.68; }
.shop-notes { display: grid; gap: 14px; min-width: 0; }
.shop-offer, .shop-source-note { background: #f2e9df; padding: 22px 24px; border-radius: 12px; }
.shop-source-note { background: #f3ebe5; }
.shop-offer-label { color: var(--wine); font-weight: 750; font-size: .83rem; margin-bottom: 8px; }
.shop-offer h2, .shop-source-note h2 { font-size: 1.5rem; margin: 0 0 9px; }
.shop-offer > p { line-height: 1.55; }
.shop-offer code { padding: 4px 7px; border-radius: 4px; background: var(--white); color: var(--wine); font-weight: 750; }
.shop-notes p:last-child { margin-bottom: 0; }
.shop-offer-date { margin: 10px 0 0; }
.profile-sources { padding-inline-start: 17px; overflow-wrap: anywhere; margin: 8px 0 14px; }
.profile-sources li + li { margin-top: 6px; }
@media (max-width: 680px) {
  .shop-profile { padding-block: 20px 40px; }
  .shop-intro, .shop-profile-grid { grid-template-columns: minmax(0, 1fr); }
  .shop-intro { gap: 20px; }
  .shop-intro .retailer-logo { height: 82px; }
  .shop-visit { text-align: left; }
  .shop-profile-grid { margin-top: 24px; }
}

/* Site policies and contact */
.policy-links { padding-bottom: 24px; gap: 10px 18px; flex-wrap: wrap; }
.policy-links a { color: var(--muted); }
.policy-page { max-width: 760px; padding-block: clamp(32px, 7vw, 72px); }
.policy-page h1 { font-size: clamp(2.6rem, 6vw, 4.5rem); overflow-wrap: anywhere; }
.policy-page section { margin-top: 30px; }
.policy-page h2 { font-size: clamp(1.5rem, 3vw, 2rem); }
.policy-page p a { color: var(--wine); text-decoration: underline; }
.policy-page .inbox-message { margin-top: 14px; overflow-wrap: anywhere; }
.inbox-copy { white-space: pre-wrap; }
.shop-visit .textlink { display: inline-block; margin-top: 8px; }
