:root {
  --bg: #F5F0E7; --bg-alt: #EDE5D2; --paper: #FAF6ED;
  --ink: #16100E; --ink-soft: #3D3633; --ink-mute: #635C57;
  --accent: #A8351F; --accent-deep: #862719;
  --warm: #7A6447; --line: #C0B69E; --line-soft: #D6CCB3;
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
a:focus-visible, button:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
body {
  background:var(--bg); color:var(--ink);
  font-family:'Noto Sans JP', sans-serif;
  font-weight:400; line-height:1.8;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  overflow-x:hidden; font-size:16px;
}
body::before {
  content:""; position:fixed; inset:0; pointer-events:none; z-index:0;
  background-image:
    radial-gradient(ellipse 1.5px 2.2px at 18% 22%, rgba(184,73,58,0.035) 60%, transparent 70%),
    radial-gradient(ellipse 1.2px 1.8px at 67% 38%, rgba(139,115,85,0.04) 60%, transparent 70%),
    radial-gradient(ellipse 1.5px 2.3px at 42% 71%, rgba(26,23,23,0.025) 60%, transparent 70%),
    radial-gradient(ellipse 1px 1.5px at 85% 14%, rgba(184,73,58,0.025) 60%, transparent 70%),
    radial-gradient(ellipse 1.2px 1.8px at 8% 88%, rgba(139,115,85,0.035) 60%, transparent 70%);
  background-size: 64px 64px, 96px 96px, 80px 80px, 72px 72px, 88px 88px;
}
main { position:relative; z-index:1; }

/* マストヘッド */
.masthead {
  border-bottom:1px solid var(--line);
  padding:1rem 2rem;
  display:flex; justify-content:space-between; align-items:center;
  font-family:'Zen Kaku Gothic Antique', sans-serif; font-weight:500;
  font-size:.8rem; letter-spacing:.12em; color:var(--ink-soft);
  text-transform:uppercase;
}
.masthead a { color:var(--ink-mute); text-decoration:none; transition:color .25s; }
.masthead a:hover { color:var(--accent); }
.masthead .accent-dot { width:5px; height:5px; background:var(--accent); border-radius:50%; display:inline-block; margin-right:.5rem; }
.masthead { flex-wrap:wrap; gap:.7rem 1.2rem; }
.masthead .left { display:flex; gap:1.2rem; align-items:center; flex-wrap:wrap; }
.masthead .brand-link { color:var(--ink); font-weight:700; }
.masthead-nav { display:flex; gap:1.2rem; align-items:center; flex-wrap:wrap; }
.masthead-nav a { color:var(--ink-mute); text-decoration:none; transition:color .25s; padding:.45rem .25rem; margin:-.45rem -.25rem; }
.masthead-nav a:hover { color:var(--accent); }
@media (max-width:640px){ .masthead-nav{ gap:.9rem; font-size:.72rem; } }

/* HERO */
.hero {
  max-width:1100px; margin:0 auto; padding:5rem 2rem 3rem;
}
/* 役割ラベルチップ（蔵／銘柄の区別） */
.role-chip {
  display:inline-block; font-family:'Zen Kaku Gothic Antique', sans-serif;
  font-weight:700; font-size:.72rem; letter-spacing:.18em;
  padding:.18rem .6rem; vertical-align:middle; line-height:1;
}
.role-chip--kura { border:1px solid var(--warm); color:var(--warm); }
.role-chip--brand { background:var(--accent); color:#FAF6ED; border:1px solid var(--accent); }
.hero__rolerow { display:flex; align-items:center; flex-wrap:wrap; gap:.75rem; margin-bottom:1.1rem; }
.hero__rolenote {
  font-family:'Noto Sans JP', sans-serif; font-weight:400;
  font-size:.85rem; color:var(--ink-mute); letter-spacing:.04em;
}
.hero__eyebrow {
  font-family:'Cormorant Garamond', serif; font-style:italic;
  font-size:.95rem; color:var(--accent); letter-spacing:.15em;
  margin-bottom:1rem;
}
.hero__name {
  font-family:'Shippori Mincho', serif; font-weight:700;
  font-size:clamp(2.5rem, 6.5vw, 4.5rem);
  letter-spacing:.02em; line-height:1.1; color:var(--ink);
  margin-bottom:.85rem;
}
.hero__kana {
  font-family:'Zen Kaku Gothic Antique', sans-serif; font-weight:500;
  font-size:.88rem; letter-spacing:.2em; color:var(--ink-soft);
  margin-bottom:2rem;
}
.hero__meta {
  display:flex; gap:1.75rem; flex-wrap:wrap;
  font-family:'Noto Sans JP', sans-serif; font-weight:500;
  font-size:.95rem; color:var(--ink);
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  padding:1.1rem 0; margin-bottom:2.5rem;
}
.hero__meta dt {
  display:inline-block;
  font-family:'Zen Kaku Gothic Antique', sans-serif; font-weight:700;
  font-size:.78rem; letter-spacing:.15em; color:var(--accent);
  margin-right:.5rem;
}
.hero__meta dd { display:inline; color:var(--ink); }
.hero__meta a { color:inherit; text-decoration:underline; text-decoration-color:var(--line); text-underline-offset:3px; }
.hero__meta a:hover { text-decoration-color:var(--accent); color:var(--accent); }
.hero__meta .group { display:inline-flex; align-items:baseline; }
.hero__assoc {
  display:inline-block;
  font-family:'Cormorant Garamond', serif; font-style:italic;
  font-size:.75rem; color:var(--accent); letter-spacing:.1em;
  border:1px solid var(--accent); padding:.15rem .6rem;
  vertical-align:middle;
}

/* セクション */
.section { max-width:1100px; margin:0 auto; padding:0 2rem 4rem; }
.section-meta {
  display:flex; align-items:baseline; gap:1.25rem; margin-bottom:2rem;
}
.section-meta__num {
  font-family:'Cormorant Garamond', serif; font-style:italic;
  font-size:1.05rem; color:var(--accent); letter-spacing:.1em;
}
.section-meta__label {
  font-family:'Zen Kaku Gothic Antique', sans-serif;
  font-size:.7rem; font-weight:700; letter-spacing:.35em; color:var(--ink);
  text-transform:uppercase;
}
.section-meta__rule { flex:1; height:1px; background:var(--line); }

/* 哲学・特徴 */
.story {
  font-family:'Shippori Mincho', serif;
  font-size:1.2rem; font-weight:500; line-height:1.95; color:var(--ink);
  border-left:3px solid var(--accent); padding-left:1.5rem;
  margin-bottom:1.5rem;
}
.features {
  font-size:.95rem; color:var(--ink-mute); line-height:1.85;
  padding-left:1.5rem; font-weight:400; margin-top:1.5rem;
}
.features::before { content:"特徴 ─ "; color:var(--accent); font-family:'Zen Kaku Gothic Antique',sans-serif; font-weight:700; font-size:.82rem; letter-spacing:.08em; }
.about-body {
  font-family:'Shippori Mincho', serif; font-weight:400;
  font-size:1.06rem; color:var(--ink); line-height:2.0;
  margin-top:1.6rem;
}
/* 蔵のファクトシート */
.factsheet { border:1px solid var(--line); margin-top:1.9rem; }
.fact-row { display:grid; grid-template-columns:140px 1fr; border-bottom:1px solid var(--line); padding:.9rem 1.5rem; background:var(--bg); }
.fact-row:last-child { border-bottom:none; }
.fact-row:nth-child(even) { background:var(--paper); }
.fact-row__label { font-family:'Zen Kaku Gothic Antique', sans-serif; font-weight:700; font-size:.76rem; letter-spacing:.12em; color:var(--accent); text-transform:uppercase; line-height:1.9; }
.fact-row__value { font-family:'Shippori Mincho', serif; font-weight:500; font-size:1rem; color:var(--ink); line-height:1.7; }
.fact-row__value a { color:var(--accent); text-decoration:none; border-bottom:1px solid var(--accent); }
.fact-row__value small { display:block; font-family:'Noto Sans JP',sans-serif; font-weight:400; font-size:.82rem; color:var(--ink-soft); margin-top:.2rem; }
.fact-tags { display:flex; flex-wrap:wrap; gap:.4rem; }
.fact-tag { font-family:'Zen Kaku Gothic Antique', sans-serif; font-weight:500; font-size:.8rem; color:var(--ink-soft); border:1px solid var(--line); background:var(--paper); padding:.22rem .65rem; letter-spacing:.02em; display:inline-flex; align-items:center; gap:.35rem; }
/* 解説記事のある製法はリンクにする。チップの中で下線を引くと箱の中に線が増えて
   うるさいので、サイト共通の「朱色＝押せる」で示す（リンクのチップは全て同じ扱い） */
.fact-row__value a.fact-tag--link {
  color:var(--accent); border:1px solid var(--accent); text-decoration:none;
  transition:background .25s, color .25s;
}
.fact-row__value a.fact-tag--link:hover { background:var(--accent); color:var(--paper); }
.fact-row__value a.fact-tag--link:hover .fact-tag__n { color:var(--paper); }
.fact-tag__n { font-family:'Cormorant Garamond', serif; font-style:italic; font-size:.78rem; color:var(--accent); }
@media (max-width:600px) { .fact-row { grid-template-columns:1fr; gap:.35rem; } }

/* 銘柄カード（縦型カード） */
.brands-note { font-size:.8rem; color:var(--ink-mute); line-height:1.7; margin:0 0 1.4rem; max-width:820px; }
.brands { display:grid; grid-template-columns:1fr; gap:1rem; }
@media (min-width:720px) { .brands { grid-template-columns:1fr 1fr; gap:1.1rem; } }
.brand-card {
  position:relative; overflow:hidden;
  background:var(--paper); border:1px solid var(--line); padding:1.5rem 1.6rem 1.3rem;
  display:flex; flex-direction:column; gap:.62rem; scroll-margin-top:80px;
  transition:border-color .35s, box-shadow .35s, transform .35s;
}
.brand-card:hover { border-color:var(--warm); box-shadow:0 10px 28px rgba(26,23,23,.07); transform:translateY(-2px); }
.brand-card:target { border-color:var(--accent); animation:highlight 2s ease-out; }
@keyframes highlight { 0% { background:rgba(168,53,31,.10); } 100% { background:var(--paper); } }
/* 大判ナンバー透かし（雑誌風） */
.brand-card__no {
  position:absolute; top:.55rem; right:1rem;
  font-family:'Cormorant Garamond', serif; font-style:italic; font-size:3.1rem; line-height:1;
  color:var(--line-soft); letter-spacing:0; pointer-events:none; transition:color .35s ease;
}
.brand-card:hover .brand-card__no { color:var(--accent); }
.brand-card__title {
  font-family:'Shippori Mincho', serif; font-weight:700; font-size:1.28rem;
  letter-spacing:.02em; color:var(--ink); line-height:1.45; margin:0; padding-right:2.6rem;
  position:relative;
}
.brand-card__chip {
  font-size:.66rem; letter-spacing:.14em; padding:.14rem .45rem;
  margin-right:.55rem; vertical-align:middle; position:relative; top:-3px;
}
.brand-card__name { color:var(--ink); text-decoration:none; transition:color .25s; }
.brand-card__name:hover { color:var(--accent); }
.brand-card__spec {
  font-family:'Zen Kaku Gothic Antique', sans-serif; font-size:.84rem;
  color:var(--ink-mute); letter-spacing:.04em;
}
.brand-card__sub {
  background:var(--bg-alt); border-left:3px solid var(--accent);
  padding:.6rem .85rem; font-size:.88rem; color:var(--ink-soft); line-height:1.7;
}
.brand-card__sub-label {
  font-family:'Zen Kaku Gothic Antique', sans-serif; font-weight:700; font-size:.7rem;
  color:var(--accent); letter-spacing:.1em; margin-right:.6rem;
}
.brand-card__note { font-size:.86rem; color:var(--ink-soft); line-height:1.75; margin:0; }
.brand-card__price { font-family:'Shippori Mincho', serif; font-size:.9rem; color:var(--ink-soft); }
.brand-card__price b { font-size:1.18rem; font-weight:700; color:var(--ink); }
.brand-card__price small {
  font-family:'Cormorant Garamond', serif; font-style:italic; color:var(--ink-mute);
  margin-left:.5rem; font-size:.78rem; letter-spacing:.03em;
}
.brand-card__price--na {
  font-family:'Zen Kaku Gothic Antique', sans-serif; font-size:.82rem;
  color:var(--ink-mute); letter-spacing:.02em;
}
.brand-card__links {
  display:flex; align-items:center; gap:1.2rem; margin-top:auto;
  padding-top:.85rem; border-top:1px solid var(--line-soft);
}
.brand-card__shoplink {
  font-family:'Zen Kaku Gothic Antique', sans-serif; font-size:.88rem; letter-spacing:.02em;
  color:var(--ink-mute); text-decoration:none; transition:color .25s;
}
.brand-card__shoplink:hover { color:var(--accent); }
/* 購入リンクは銘柄ページの purchase-card__btn と同じ「ブランド色の面ボタン」に揃える。
   蔵ページは複数銘柄の購入起点が並ぶCVR一等地なのに、テキストリンクでは弱かった。
   （アフィリ購入ボタンのみフルブランド色OKのルール） */
.brand-card__buybtn {
  display:inline-flex; align-items:center; justify-content:center;
  min-height:44px; padding:.4rem 1.05rem; color:#F5F0E7; text-decoration:none;
  font-family:'Zen Kaku Gothic Antique', sans-serif; font-weight:700;
  font-size:.8rem; letter-spacing:.06em;
  transition:filter .25s, transform .15s;
}
.brand-card__buybtn:hover { filter:brightness(1.1); transform:translateY(-1px); }
.brand-card__shoplink + .brand-card__buybtn { margin-left:auto; }
.brand-card__buybtn--rakuten { background:linear-gradient(135deg, #BF0000 0%, #C9242E 100%); }
/* Yahoo!の赤は楽天よりやや明るく取りつつ、白文字がAA(4.5:1)を満たす明度に抑える */
.brand-card__buybtn--yahoo { background:linear-gradient(135deg, #E1001E 0%, #C40019 100%); }
.brand-card__buybtn--amazon { background:linear-gradient(135deg, #232F3E 0%, #FF9900 100%); }

.no-brands {
  font-family:'Shippori Mincho', serif;
  font-size:.95rem; color:var(--ink-soft); padding:2rem 0; text-align:center;
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
}

/* セクション末尾の「もっと見る」導線 */
.section-morelink { margin-top:1.1rem; }
.section-morelink a {
  font-family:'Zen Kaku Gothic Antique', sans-serif; font-weight:700;
  font-size:.85rem; color:var(--accent); letter-spacing:.1em;
  text-transform:uppercase; text-decoration:none;
  border-bottom:1px solid var(--accent); padding-bottom:.15rem;
}
.section-morelink a:hover { color:var(--accent-deep); border-bottom-color:var(--accent-deep); }

/* 同じ地域の蔵（横移動の導線） */
.nearby { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:.75rem; }
.nearby-card {
  display:flex; flex-direction:column; gap:.2rem; padding:1.1rem 1.2rem; min-height:44px;
  border:1px solid var(--line); background:var(--paper); text-decoration:none; color:var(--ink);
  transition:background .25s, border-color .25s;
}
.nearby-card:hover { background:var(--bg-alt); border-color:var(--accent); }
.nearby-card__pref {
  font-family:'Zen Kaku Gothic Antique',sans-serif; font-size:.75rem;
  color:var(--ink-mute); letter-spacing:.06em;
}
.nearby-card__name { font-family:'Shippori Mincho',serif; font-weight:700; font-size:1.05rem; }
.nearby-card__n {
  font-family:'Cormorant Garamond',serif; font-style:italic;
  font-size:.8rem; color:var(--accent);
}
@media (max-width:640px){ .nearby { grid-template-columns:1fr; } }

/* 出典 */
.sources {
  background:var(--bg-alt); padding:2rem; font-family:'Zen Kaku Gothic Antique', sans-serif;
}
.sources h4 {
  font-size:.85rem; letter-spacing:.18em; color:var(--ink); font-weight:700;
  margin-bottom:1rem; text-transform:uppercase;
}
.sources ul { list-style:none; display:flex; flex-direction:column; gap:.6rem; }
.sources a {
  font-size:.95rem; color:var(--ink); text-decoration:none; font-weight:500;
  border-bottom:1px solid var(--line); padding-bottom:.2rem; transition:color .25s;
  word-break:break-all;
}
.sources a:hover { color:var(--accent); border-bottom-color:var(--accent); }

.fz-block { background:var(--bg-alt); padding:1.6rem 1.8rem; }
.fz-title {
  font-family:'Shippori Mincho',serif; font-size:1rem; font-weight:500;
  color:var(--ink); letter-spacing:.05em; margin:0 0 .7rem;
}
.fz-lead, .fz-note {
  font-family:'Zen Kaku Gothic Antique',sans-serif; color:var(--ink-mute);
  font-size:.82rem; line-height:1.9;
}
.fz-lead { margin:0 0 1rem; }
.fz-note { margin:.9rem 0 0; }
.fz-list { list-style:none; display:flex; flex-direction:column; gap:.9rem; margin:0; }
.fz-item { border-top:1px solid var(--line-soft); padding-top:.75rem; }
.fz-item:first-child { border-top:none; padding-top:0; }
.fz-item__head { display:flex; align-items:baseline; flex-wrap:wrap; gap:.5rem .8rem; }
.fz-brand {
  font-family:'Zen Kaku Gothic Antique',sans-serif; font-size:.9rem;
  font-weight:500; color:var(--ink);
}
.fz-yen {
  font-family:'Cormorant Garamond',serif; font-style:italic;
  font-size:.9rem; color:var(--accent); white-space:nowrap;
}
.fz-sold {
  font-family:'Zen Kaku Gothic Antique',sans-serif; font-size:.72rem;
  color:var(--ink-mute); border:1px solid var(--line-soft); padding:.05rem .4rem;
}
/* A8の計測ピクセル(1x1)を包む器。imgタグ自体は無改変で、
   flexのgapで隙間が空かないようフローから外す。 */
.fz-portals { position:relative; display:flex; flex-wrap:wrap; gap:.4rem; margin-top:.45rem; }
.a8-px { position:absolute; width:1px; height:1px; overflow:hidden; }
.fz-portal {
  font-family:'Zen Kaku Gothic Antique',sans-serif; font-size:.76rem;
  padding:.28rem .7rem; border:1px solid var(--line); background:var(--paper);
  color:var(--ink-soft); text-decoration:none; transition:border-color .25s, color .25s;
}
a.fz-portal:hover { border-color:var(--accent); color:var(--accent); }
/* ASP未提携のポータルは押せそうに見せない */
.fz-portal.is-plain { border-style:dashed; border-color:var(--line-soft); color:var(--ink-mute); }
.fz-more {
  display:inline-block; margin-top:.9rem;
  font-family:'Zen Kaku Gothic Antique',sans-serif; font-size:.82rem;
  color:var(--accent); text-decoration:none; border-bottom:1px solid var(--line);
}


/* 区切り */
.divider {
  max-width:1100px; margin:4rem auto;
  padding:0 2rem; display:flex; align-items:center; gap:1rem;
}
.divider .rule { flex:1; height:1px; background:var(--line); }
.divider .ornament { width:8px; height:8px; background:var(--accent); transform:rotate(45deg); }
.divider .ornament.outer { width:4px; height:4px; background:var(--warm); }

/* ナビゲーション (前へ・次へ) */
.nav-prev-next {
  max-width:1100px; margin:0 auto; padding:2rem;
  display:flex; justify-content:space-between; gap:1rem;
  font-family:'Shippori Mincho', serif;
}
.nav-prev-next a {
  color:var(--ink); text-decoration:none; padding:1rem 0;
  border-top:1px solid var(--line);
  flex:1; max-width:48%; transition:color .25s, border-color .25s;
  position:relative;
}
.nav-prev-next a:hover { color:var(--accent); border-top-color:var(--accent); }
.nav-prev-next a small {
  display:block; font-family:'Cormorant Garamond', serif; font-style:italic;
  font-size:.85rem; color:var(--ink-soft); letter-spacing:.05em; margin-bottom:.4rem;
}
.nav-prev-next .next { text-align:right; margin-left:auto; }

/* フッター */
footer { margin-top:5rem; border-top:1px solid var(--ink); position:relative; z-index:1; }
.colophon {
  max-width:1100px; margin:0 auto; padding:2rem;
  display:grid; grid-template-columns:1fr; gap:1.5rem;
}
@media (min-width:700px) { .colophon { grid-template-columns:2fr 3fr; } }
.colophon__brand {
  font-family:'Shippori Mincho', serif; font-weight:700;
  font-size:1.5rem; letter-spacing:.02em;
}
.colophon__brand .dot { color:var(--accent); }
.colophon__brand a { color:var(--ink); text-decoration:none; }
.colophon__brand small {
  display:block; font-family:'Cormorant Garamond', serif; font-style:italic;
  font-size:.8rem; color:var(--ink-soft); margin-top:.25rem;
  font-weight:400; letter-spacing:.08em;
}
.colophon__notes {
  font-family:'Noto Sans JP', sans-serif; font-weight:400;
  font-size:.88rem; color:var(--ink-soft); line-height:1.9; letter-spacing:.02em;
}
.colophon__notes strong { color:var(--accent); font-weight:500; }
.colophon__notes a { color:var(--warm); text-decoration:none; }
.colophon__notes a:hover { color:var(--accent); }
.colophon__sep { color:var(--line); margin:0 .5rem; }

/* 地域バナー */
.region-banner {
  max-width:1100px; margin:0 auto; padding:1rem 2rem 0;
}
.region-banner__wrap {
  position:relative; overflow:hidden; border:1px solid var(--line);
}
.region-banner img {
  display:block; width:100%; height:auto; max-height:260px;
  object-fit:cover; filter:contrast(.98) saturate(.95);
}
.region-banner__cap {
  position:absolute; bottom:.5rem; right:.75rem;
  font-family:'Cormorant Garamond', serif; font-style:italic;
  font-size:.78rem; color:rgba(255,255,255,0.94); letter-spacing:.08em;
  background:rgba(22,16,14,0.5); padding:.25rem .65rem;
}

/* 受賞・メディアセクション */
.acc-list {
  display:flex; flex-direction:column; border:1px solid var(--line);
  margin-bottom:1rem;
}
.acc-card {
  background:var(--bg); padding:1.25rem 1.5rem;
  display:grid; grid-template-columns:auto 1fr auto; gap:1rem;
  align-items:center;
  border-bottom:1px solid var(--line);
  transition:background .3s;
}
.acc-card:last-child { border-bottom:none; }
.acc-card:hover { background:var(--paper); }
.acc-card--award { border-left:3px solid var(--accent); }
.acc-card--global { border-left:3px solid var(--warm); }
.acc-card--media { border-left:3px solid var(--line); }
.acc-type {
  font-family:'Cormorant Garamond', serif; font-style:italic;
  font-size:.85rem; color:var(--accent); letter-spacing:.08em;
  min-width:5em;
}
.acc-type.warm { color:var(--warm); }
.acc-type.mute { color:var(--ink-soft); }
.acc-title {
  font-family:'Shippori Mincho', serif; font-weight:700;
  font-size:1.05rem; color:var(--ink); line-height:1.45;
}
.acc-brand {
  font-family:'Noto Sans JP', sans-serif; font-weight:400;
  font-size:.88rem; color:var(--ink-soft); margin-top:.25rem;
}
.acc-year {
  font-family:'Cormorant Garamond', serif; font-style:italic;
  font-size:1.05rem; color:var(--ink-soft); letter-spacing:.05em;
}
@media (max-width:640px) {
  .acc-card { grid-template-columns:1fr; gap:.4rem; }
  .acc-year { text-align:left; }
}

/* テイスティングセクション */
.tasting-list {
  display:flex; flex-direction:column; border:1px solid var(--line);
}
.tasting-card {
  background:var(--bg); padding:1.5rem 1.75rem;
  border-bottom:1px solid var(--line);
}
.tasting-card:last-child { border-bottom:none; }
.tasting-brand {
  font-family:'Shippori Mincho', serif; font-weight:700;
  font-size:1.15rem; margin-bottom:.85rem; color:var(--ink);
  letter-spacing:.02em;
}
.tasting-notes {
  font-size:1rem; color:var(--ink); line-height:1.95; margin-bottom:1rem;
  font-weight:400;
}
.tasting-meta {
  display:flex; flex-wrap:wrap; gap:.4rem 1.2rem;
  font-size:.88rem; color:var(--ink-soft); margin-bottom:.6rem;
}
.tasting-meta__row { display:inline-flex; align-items:baseline; }
.tasting-meta strong {
  color:var(--accent); font-weight:700; margin-right:.5rem;
  font-family:'Zen Kaku Gothic Antique', sans-serif;
  font-size:.78rem; letter-spacing:.1em;
  text-transform:uppercase;
}
.tasting-source {
  font-family:'Cormorant Garamond', serif; font-style:italic;
  font-size:.85rem; color:var(--ink-mute); margin-top:.6rem;
  padding-top:.6rem; border-top:1px dotted var(--line);
}
.tasting-source a {
  color:var(--ink-soft); text-decoration:none;
  border-bottom:1px solid var(--line);
}
.tasting-source a:hover { color:var(--accent); border-bottom-color:var(--accent); }
