/* =========================================================
   CELLAR INDEX: design system for wineandspiritsaccessories.com
   Metaphor: an after-hours cellar ledger. Every product is a
   specimen label, every guide is a labeled bottle.
   One loud accent: Wax-Seal Vermilion.
   ========================================================= */
@font-face{font-family:"Fraunces";src:url(../fonts/fraunces-latin-full-normal.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Fraunces";src:url(../fonts/fraunces-latin-full-italic.woff2) format("woff2");font-weight:100 900;font-style:italic;font-display:swap}
@font-face{font-family:"Newsreader";src:url(../fonts/newsreader-latin-wght-normal.woff2) format("woff2");font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:"Newsreader";src:url(../fonts/newsreader-latin-wght-italic.woff2) format("woff2");font-weight:200 800;font-style:italic;font-display:swap}
@font-face{font-family:"Plex Mono";src:url(../fonts/ibm-plex-mono-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Plex Mono";src:url(../fonts/ibm-plex-mono-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}

:root{
  /* palette */
  --ink:#0d0b09;        /* cellar dark */
  --ink-2:#17120e;      /* raised surface */
  --oxblood:#3a0c15;    /* deep wine */
  --oxblood-2:#5b1422;
  --parchment:#f1e6cf;  /* label paper */
  --parchment-2:#e4d5b5;
  --sepia:#8a7458;      /* faded ink on paper */
  --brass:#c8a04f;      /* hairlines, ornaments */
  --seal:#ff4a1c;       /* THE accent: wax-seal vermilion */
  --seal-deep:#c8300c;
  --text:#efe5d2;       /* text on dark */
  --muted:#a8977e;
  /* type */
  --display:"Fraunces",ui-serif,Georgia,serif;
  --body:"Newsreader",ui-serif,Georgia,serif;
  --mono:"Plex Mono",ui-monospace,Menlo,monospace;
  /* scale */
  --step--1:clamp(.82rem,.8rem + .1vw,.9rem);
  --step-0:clamp(1.05rem,1rem + .25vw,1.2rem);
  --step-1:clamp(1.3rem,1.15rem + .6vw,1.6rem);
  --step-2:clamp(1.7rem,1.4rem + 1.3vw,2.4rem);
  --step-3:clamp(2.3rem,1.7rem + 2.6vw,3.8rem);
  --step-4:clamp(3rem,1.9rem + 5.2vw,6.6rem);
  --step-5:clamp(3.6rem,2rem + 7.5vw,9rem);
  --wrap:1240px;
  --gutter:clamp(1.1rem,3vw,2.5rem);
  --radius:2px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;overflow-x:clip;background:var(--ink);color:var(--text);font-family:var(--body);font-size:var(--step-0);line-height:1.6;font-optical-sizing:auto;text-rendering:optimizeLegibility}
/* film grain over the cellar */
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:100;opacity:.08;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
img{max-width:100%;display:block}
a{color:inherit}
::selection{background:var(--seal);color:var(--ink)}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
:focus-visible{outline:2px solid var(--seal);outline-offset:3px}

/* ---------- type primitives ---------- */
.eyebrow{font-family:var(--mono);font-size:var(--step--1);letter-spacing:.18em;text-transform:uppercase;color:var(--brass)}
.eyebrow.seal{color:var(--seal)}
h1,h2,h3,h4{font-family:var(--display);font-weight:600;line-height:1.02;letter-spacing:-.015em;margin:0;font-variation-settings:"SOFT" 50,"WONK" 0}
.display{font-size:var(--step-5);font-weight:700;letter-spacing:-.035em;line-height:.9;font-variation-settings:"SOFT" 100,"WONK" 1,"opsz" 144}
.display em,.h-em{font-style:italic;font-weight:400;color:var(--seal);font-variation-settings:"SOFT" 100,"WONK" 1}
.h2{font-size:var(--step-3)}
.h3{font-size:var(--step-2)}
.lede{font-size:var(--step-1);line-height:1.45;color:var(--text);max-width:38ch;font-weight:350}
.mono{font-family:var(--mono)}
.rule{height:1px;border:0;background:linear-gradient(90deg,transparent,var(--brass) 12%,var(--brass) 88%,transparent);opacity:.5;margin:0}
.numeral{font-family:var(--display);font-style:italic;font-weight:300;color:var(--brass)}

/* ---------- disclosure strip ---------- */
.disclose{background:var(--seal);color:var(--ink);font-family:var(--mono);font-size:.78rem;letter-spacing:.06em;text-align:center;padding:.45rem var(--gutter)}
.disclose a{font-weight:500}

/* ---------- header ---------- */
.masthead{position:sticky;top:0;z-index:50;background:rgba(13,11,9,.86);backdrop-filter:blur(10px) saturate(1.2);border-bottom:1px solid rgba(200,160,79,.25)}
.masthead .wrap{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:74px}
.wordmark{display:flex;align-items:center;gap:.8rem;text-decoration:none}
.wordmark .badge{width:46px;height:46px;flex:none}
.wordmark .name{font-family:var(--display);font-weight:700;font-size:1.32rem;letter-spacing:-.01em;line-height:1;font-variation-settings:"SOFT" 100,"WONK" 1}
.wordmark .name i{font-weight:400;color:var(--seal)}
.wordmark .sub{display:block;font-family:var(--mono);font-size:.62rem;letter-spacing:.26em;text-transform:uppercase;color:var(--muted);margin-top:.3rem}
.nav{display:flex;gap:clamp(.9rem,2vw,1.8rem);align-items:center}
.nav a{font-family:var(--mono);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--text);opacity:.85;padding:.4rem 0;border-bottom:1px solid transparent}
.nav a:hover,.nav a[aria-current]{opacity:1;border-color:var(--seal);color:#fff}
.nav .cta-mini{border:1px solid var(--seal);color:var(--seal);padding:.45rem .8rem;opacity:1}
.nav .cta-mini:hover{background:var(--seal);color:var(--ink)}
.menu-btn{display:none;background:none;border:1px solid rgba(200,160,79,.5);color:var(--text);font-family:var(--mono);font-size:.75rem;letter-spacing:.15em;padding:.55rem .8rem;text-transform:uppercase}
@media (max-width:900px){
  .menu-btn{display:block}
  .nav{position:fixed;inset:74px 0 auto 0;flex-direction:column;align-items:stretch;gap:0;background:var(--ink);border-bottom:1px solid var(--brass);padding:.5rem var(--gutter) 1.2rem;transform:translateY(-130%);transition:transform .35s ease}
  .nav a{padding:.95rem 0;border-bottom:1px solid rgba(200,160,79,.18);font-size:.85rem}
  .nav .cta-mini{margin-top:.8rem;text-align:center;padding:.9rem}
  body.nav-open .nav{transform:none}
}

/* ---------- buttons ---------- */
.btn{--bg:var(--seal);display:inline-flex;align-items:center;gap:.7rem;background:var(--bg);color:var(--ink);font-family:var(--mono);font-weight:500;font-size:.86rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;padding:1.05rem 1.5rem;border:0;border-radius:var(--radius);box-shadow:0 0 0 1px var(--seal),6px 6px 0 0 var(--oxblood-2);transition:transform .15s ease,box-shadow .15s ease}
.btn:hover{transform:translate(-2px,-2px);box-shadow:0 0 0 1px var(--seal),9px 9px 0 0 var(--oxblood-2)}
.btn.big{font-size:1rem;padding:1.35rem 2rem}
.btn.ghost{--bg:transparent;color:var(--text);box-shadow:inset 0 0 0 1px rgba(239,229,210,.45)}
.btn.ghost:hover{box-shadow:inset 0 0 0 1px var(--text);transform:none}
.arrow{display:inline-block;transition:transform .2s}
a:hover .arrow{transform:translateX(4px)}

/* ---------- hero ---------- */
.hero{position:relative;min-height:min(92vh,880px);display:grid;align-items:end;overflow:hidden;isolation:isolate}
.hero__img{position:absolute;inset:0;z-index:-2}
.hero__img img{width:100%;height:100%;object-fit:cover;object-position:center 40%;filter:saturate(1.05) contrast(1.08)}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:
  radial-gradient(120% 90% at 85% 10%,transparent 0 30%,rgba(13,11,9,.55) 60%),
  linear-gradient(180deg,rgba(13,11,9,.55) 0%,rgba(13,11,9,.15) 30%,rgba(13,11,9,.85) 72%,var(--ink) 100%)}
.hero__inner{padding-block:clamp(7rem,14vh,10rem) clamp(3rem,7vh,5rem);display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:3rem;align-items:end}
.hero h1{margin:.9rem 0 1.4rem;max-width:11ch;text-shadow:0 2px 30px rgba(0,0,0,.45)}
.hero .actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}
.hero__ledger{justify-self:end;width:min(100%,360px)}
@media (max-width:900px){.hero__inner{grid-template-columns:1fr}.hero__ledger{justify-self:start}}

/* ---------- the LABEL: core component ---------- */
.label{position:relative;background:var(--parchment);color:#21180f;padding:1.4rem 1.4rem 1.2rem;border-radius:var(--radius);
  /* notched corners like a printed bottle label */
  -webkit-mask:radial-gradient(circle 10px at 0 0,#0000 98%,#000) top left,radial-gradient(circle 10px at 100% 0,#0000 98%,#000) top right,radial-gradient(circle 10px at 0 100%,#0000 98%,#000) bottom left,radial-gradient(circle 10px at 100% 100%,#0000 98%,#000) bottom right;
  -webkit-mask-size:51% 51%;-webkit-mask-repeat:no-repeat;
  mask:radial-gradient(circle 10px at 0 0,#0000 98%,#000) top left,radial-gradient(circle 10px at 100% 0,#0000 98%,#000) top right,radial-gradient(circle 10px at 0 100%,#0000 98%,#000) bottom left,radial-gradient(circle 10px at 100% 100%,#0000 98%,#000) bottom right;
  mask-size:51% 51%;mask-repeat:no-repeat;
  background-image:linear-gradient(transparent,transparent),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='3'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .33 0 0 0 0 .18 0 0 0 .16 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)'/%3E%3C/svg%3E")}
.label::before{content:"";position:absolute;inset:7px;border:1px solid rgba(58,12,21,.55);outline:1px solid rgba(58,12,21,.25);outline-offset:3px;pointer-events:none}
.label__top{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--mono);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--sepia);border-bottom:1px dashed rgba(58,12,21,.35);padding-bottom:.6rem;margin-bottom:.9rem}
.label__no{color:var(--oxblood-2);font-weight:500}
.label h3{font-size:1.45rem;line-height:1.05;color:var(--oxblood);font-variation-settings:"SOFT" 100,"WONK" 1}
.label h3 small{display:block;font-family:var(--mono);font-size:.68rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--seal-deep);margin-bottom:.45rem}
.label p{font-size:1rem;line-height:1.45;margin:.7rem 0 1rem;color:#3a2c1e}
.label__foot{display:flex;justify-content:space-between;align-items:center;gap:.6rem;border-top:1px solid rgba(58,12,21,.3);padding-top:.8rem;margin-top:auto}
.tier{font-family:var(--mono);font-size:.78rem;letter-spacing:.1em;color:var(--oxblood-2)}
.tier b{color:rgba(58,12,21,.25);font-weight:400}
.buy{font-family:var(--mono);font-size:.72rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--parchment);background:var(--oxblood);text-decoration:none;padding:.6rem .8rem;border-radius:var(--radius);white-space:nowrap}
.buy:hover{background:var(--seal);color:var(--ink)}
.label.dark{background:var(--oxblood);color:var(--parchment);-webkit-mask:none;mask:none}
.label{display:flex;flex-direction:column}

/* wax seal */
.waxseal{position:absolute;top:-18px;right:-6px;width:74px;height:74px;z-index:2;filter:drop-shadow(0 4px 6px rgba(0,0,0,.45));transform:rotate(-12deg)}
.has-seal{overflow:visible}
.label-wrap{position:relative}

/* ---------- sections ---------- */
section{position:relative}
.section{padding-block:clamp(4.5rem,10vw,8rem)}
.section-head{display:grid;grid-template-columns:auto 1fr auto;gap:1.5rem;align-items:end;margin-bottom:clamp(2rem,5vw,3.5rem)}
.section-head .numeral{font-size:var(--step-5);line-height:.72;align-self:end}
.section-head p{margin:.6rem 0 0;color:var(--muted);max-width:52ch}
@media (max-width:700px){.section-head{grid-template-columns:1fr}.section-head .numeral{font-size:3.4rem}}

/* cellar index (quick picks) */
.shelf{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem 1.3rem}
.shelf--big{grid-template-columns:repeat(5,minmax(0,1fr))}
@media (max-width:1100px){.shelf--big{grid-template-columns:repeat(3,1fr)}}
@media (max-width:820px){.shelf,.shelf--big{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.shelf,.shelf--big{grid-template-columns:1fr}}
.shelf-title{display:flex;align-items:center;gap:1rem;margin:3rem 0 1.4rem}
.shelf-title::after{content:"";flex:1;height:1px;background:rgba(200,160,79,.4)}
.shelf-title h3{font-size:var(--step-1);font-style:italic;font-weight:400}
.plank{height:14px;margin-top:1.6rem;background:linear-gradient(#2a1d12,#140e09);box-shadow:0 10px 30px rgba(0,0,0,.6),inset 0 1px 0 rgba(200,160,79,.35);border-radius:1px}

/* featured guides grid */
.guides{display:grid;grid-template-columns:repeat(12,1fr);gap:1.3rem}
.guide{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:340px;text-decoration:none;overflow:hidden;border:1px solid rgba(200,160,79,.25);isolation:isolate}
.guide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .6s}
.guide::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(13,11,9,.05) 0%,rgba(13,11,9,.55) 45%,rgba(13,11,9,.95) 78%)}
.guide:hover img{transform:scale(1.05);filter:saturate(1.15)}
.guide__body{position:relative;z-index:2;padding:1.5rem 1.5rem 1.4rem}
.guide h3{font-size:var(--step-2);margin:.5rem 0 .6rem;max-width:16ch}
.guide p{margin:0;color:var(--muted);font-size:1rem;max-width:44ch}
.guide .go{margin-top:1rem;font-family:var(--mono);font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--seal)}
.g-feature{grid-column:span 7;grid-row:span 2;min-height:640px}
.g-feature h3{font-size:var(--step-3)}
.g-a{grid-column:span 5}.g-b{grid-column:span 5}
.g-c{grid-column:span 4}.g-d{grid-column:span 4}.g-e{grid-column:span 4}
@media (max-width:900px){.guides>*{grid-column:1/-1!important;min-height:300px}.g-feature{min-height:460px}}
.tag{display:inline-block;font-family:var(--mono);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;background:var(--seal);color:var(--ink);padding:.3rem .55rem}
.tag.ghost{background:transparent;color:var(--brass);box-shadow:inset 0 0 0 1px var(--brass)}

/* category labels */
.cats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid rgba(200,160,79,.3);border-left:1px solid rgba(200,160,79,.3)}
.cat{display:grid;grid-template-columns:auto 1fr;gap:1.2rem;align-items:start;padding:2rem 1.8rem;border-right:1px solid rgba(200,160,79,.3);border-bottom:1px solid rgba(200,160,79,.3);text-decoration:none;transition:background .25s}
.cat svg{width:54px;height:54px;color:var(--brass);transition:color .25s,transform .4s}
.cat h3{font-size:var(--step-1);margin:.2rem 0 .4rem}
.cat p{margin:0;color:var(--muted);font-size:.98rem;line-height:1.45}
.cat:hover{background:var(--oxblood)}
.cat:hover svg{color:var(--seal);transform:rotate(-6deg)}
@media (max-width:900px){.cats{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.cats{grid-template-columns:1fr}}

/* house rules band */
.band{background:var(--oxblood);background-image:radial-gradient(80% 120% at 0% 0%,rgba(255,74,28,.18),transparent 60%);border-block:1px solid rgba(200,160,79,.35)}
.rules{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem}
.rules h3{font-size:var(--step-1);margin:.6rem 0 .5rem}
.rules p{margin:0;color:#e2cfbf}
@media (max-width:800px){.rules{grid-template-columns:1fr}}

/* footer */
.footer{padding-block:4rem 2.5rem;border-top:1px solid rgba(200,160,79,.3)}
.footer .cols{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2rem}
.footer h4{font-family:var(--mono);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--brass);margin-bottom:1rem;font-weight:500}
.footer ul{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}
.footer a{text-decoration:none;color:var(--muted)}
.footer a:hover{color:var(--seal)}
.footer small{display:block;margin-top:3rem;color:var(--muted);font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;line-height:1.7}
@media (max-width:800px){.footer .cols{grid-template-columns:1fr 1fr}}

/* ---------- ARTICLE / guide template ---------- */
.article-hero{position:relative;display:grid;grid-template-columns:1.1fr .9fr;min-height:640px;border-bottom:1px solid rgba(200,160,79,.3)}
.article-hero__text{padding:clamp(3rem,7vw,6rem) var(--gutter) 3rem max(var(--gutter),calc((100vw - var(--wrap))/2 + var(--gutter)));display:flex;flex-direction:column;justify-content:flex-end}
.article-hero__img{position:relative;overflow:hidden}
.article-hero__img img{width:100%;height:100%;object-fit:cover}
.article-hero__img figcaption{position:absolute;bottom:.8rem;right:1rem;font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;color:rgba(239,229,210,.7)}
.article-hero h1{font-size:var(--step-4);line-height:.92;letter-spacing:-.03em;margin:1rem 0 1.3rem;font-variation-settings:"SOFT" 100,"WONK" 1,"opsz" 144}
.meta{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;font-family:var(--mono);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:1.8rem}
.meta span::before{content:"◆ ";color:var(--seal)}
@media (max-width:900px){.article-hero{grid-template-columns:1fr}.article-hero__img{height:56vw;order:-1}.article-hero__text{padding:2.5rem var(--gutter)}}

.article{display:grid;grid-template-columns:220px minmax(0,720px) 1fr;gap:clamp(2rem,5vw,4.5rem);padding-block:4rem 6rem}
.toc{position:sticky;top:100px;align-self:start;font-family:var(--mono);font-size:.74rem;letter-spacing:.08em}
.toc ol{list-style:none;padding:0;margin:1rem 0 0;counter-reset:t;display:grid;gap:.7rem}
.toc li{counter-increment:t;display:grid;grid-template-columns:2.2em 1fr}
.toc li::before{content:counter(t,upper-roman);color:var(--brass)}
.toc a{text-decoration:none;color:var(--muted);text-transform:uppercase}
.toc a:hover{color:var(--seal)}
.prose>*+*{margin-top:1.2em}
.prose h2{font-size:var(--step-3);margin-top:3.2rem;scroll-margin-top:100px}
.prose h2 .numeral{display:block;font-size:1rem;font-family:var(--mono);font-style:normal;letter-spacing:.2em;color:var(--seal);margin-bottom:.7rem}
.prose h3{font-size:var(--step-1);margin-top:2rem}
.prose p,.prose li{color:#e6dac4}
.prose strong{color:#fff;font-weight:600}
.prose a{color:var(--seal);text-underline-offset:3px}
.callout{border-left:3px solid var(--seal);background:var(--ink-2);padding:1rem 1.2rem;font-size:.95rem;color:var(--muted)}
.callout em{color:var(--text)}
.steps{list-style:none;padding:0;counter-reset:s;display:grid;gap:1.4rem}
.steps li{counter-increment:s;display:grid;grid-template-columns:3.2rem 1fr;gap:1rem}
.steps li::before{content:counter(s,decimal-leading-zero);font-family:var(--display);font-style:italic;font-size:2.4rem;line-height:1;color:var(--seal);font-weight:300}
@media (max-width:1080px){.article{grid-template-columns:minmax(0,1fr)}.toc{position:static;border:1px solid rgba(200,160,79,.3);padding:1.2rem}.article>.aside{display:none}}

/* product spec sheet */
.spec{margin-top:2.6rem;scroll-margin-top:100px}
.spec .label{padding:2rem 2rem 1.6rem}
.spec .label h3{font-size:var(--step-2)}
.spec .label p{font-size:1.05rem}
.proscons{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:1rem 0 1.2rem;border:1px solid rgba(58,12,21,.35)}
.proscons div{padding:.9rem 1rem}
.proscons div+div{border-left:1px solid rgba(58,12,21,.35)}
.proscons h4{font-family:var(--mono);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--sepia);margin-bottom:.5rem;font-weight:500}
.proscons ul{margin:0;padding:0;list-style:none;display:grid;gap:.35rem;font-size:.95rem;color:#3a2c1e;line-height:1.35}
.proscons .pro li::before{content:"+ ";color:#2f6b3a;font-weight:700}
.proscons .con li::before{content:"– ";color:var(--seal-deep);font-weight:700}
@media (max-width:560px){.proscons{grid-template-columns:1fr}.proscons div+div{border-left:0;border-top:1px solid rgba(58,12,21,.35)}}
.owners{font-size:1rem;color:#3a2c1e}
.owners b{font-family:var(--mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--oxblood-2)}

/* quick picks ledger table */
.ledger{width:100%;border-collapse:collapse;font-size:1rem}
.ledger th{font-family:var(--mono);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--brass);text-align:left;font-weight:500;padding:.6rem .5rem;border-bottom:1px solid var(--brass)}
.ledger td{padding:1rem .5rem;border-bottom:1px dashed rgba(200,160,79,.3);vertical-align:middle}
.ledger td:first-child{font-family:var(--display);font-style:italic;color:var(--seal);font-size:1.3rem;width:2.5rem}
.ledger .award{font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);display:block}
.ledger a.buy{background:var(--seal);color:var(--ink)}
.ledger a.buy:hover{background:var(--parchment)}
@media (max-width:640px){.ledger thead{display:none}.ledger tr{display:grid;grid-template-columns:2.5rem 1fr;padding:.6rem 0;border-bottom:1px dashed rgba(200,160,79,.3)}.ledger td{border:0;padding:.3rem .2rem}.ledger td:last-child{grid-column:2}}

/* thermometer chart */
.thermo{display:grid;gap:.75rem;margin-top:1.5rem}
.thermo .row{display:grid;grid-template-columns:minmax(150px,1.1fr) 3fr;gap:1rem;align-items:center}
.thermo .name{font-size:.98rem}
.thermo .name small{display:block;font-family:var(--mono);font-size:.66rem;letter-spacing:.12em;color:var(--muted);text-transform:uppercase}
.thermo .track{position:relative;height:30px;background:linear-gradient(90deg,#1c2a33,#2b2219 50%,#3a0c15);border:1px solid rgba(200,160,79,.3)}
.thermo .serve{position:absolute;top:4px;bottom:4px;background:var(--seal);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:.68rem;color:var(--ink);font-weight:500;letter-spacing:.06em}
.thermo .store{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--parchment)}
.thermo .store::after{content:"";position:absolute;top:-5px;left:-4px;width:10px;height:10px;border-radius:50%;background:var(--parchment)}
.thermo .scale{display:flex;justify-content:space-between;font-family:var(--mono);font-size:.66rem;color:var(--muted);grid-column:2}
.legend{font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;color:var(--muted);display:flex;gap:1.5rem;margin-top:.8rem;flex-wrap:wrap}
.legend i{display:inline-block;width:14px;height:10px;background:var(--seal);margin-right:.4rem;vertical-align:middle}
.legend i.s{width:3px;height:14px;background:var(--parchment)}

/* FAQ */
details{border-top:1px solid rgba(200,160,79,.3);padding:1.1rem 0}
details:last-of-type{border-bottom:1px solid rgba(200,160,79,.3)}
summary{cursor:pointer;font-family:var(--display);font-size:var(--step-1);list-style:none;display:flex;justify-content:space-between;gap:1rem}
summary::after{content:"+";color:var(--seal);font-family:var(--mono)}
details[open] summary::after{content:"–"}
details p{margin:.8rem 0 0;color:var(--muted)}

/* ---------- blog index ---------- */
.filters{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:2.5rem}
.chip{font-family:var(--mono);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;background:transparent;color:var(--text);border:1px solid rgba(200,160,79,.45);padding:.6rem 1rem;cursor:pointer;border-radius:999px}
.chip[aria-pressed=true],.chip:hover{background:var(--seal);border-color:var(--seal);color:var(--ink)}
.posts{list-style:none;margin:0;padding:0;border-top:1px solid rgba(200,160,79,.35)}
.post{display:grid;grid-template-columns:4.5rem 1fr 180px 140px;gap:1.5rem;align-items:center;padding:1.6rem 0;border-bottom:1px solid rgba(200,160,79,.22);text-decoration:none;transition:background .2s,padding .2s}
.post:hover{background:linear-gradient(90deg,var(--oxblood),transparent);padding-left:1rem}
.post .n{font-family:var(--display);font-style:italic;font-size:2rem;color:var(--brass);font-weight:300}
.post h3{font-size:var(--step-1);line-height:1.15}
.post p{margin:.35rem 0 0;color:var(--muted);font-size:.98rem}
.post .cat-l{font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brass)}
.post .state{justify-self:end}
.post[hidden]{display:none}
@media (max-width:800px){.post{grid-template-columns:3rem 1fr}.post .cat-l,.post .state{grid-column:2;justify-self:start}}

/* ---------- about ---------- */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:start}
.about-grid figure{margin:0;position:sticky;top:100px}
.about-grid figure img{aspect-ratio:3/4;object-fit:cover;width:100%;border:1px solid rgba(200,160,79,.3)}
figcaption.credit{font-family:var(--mono);font-size:.66rem;letter-spacing:.08em;color:var(--muted);margin-top:.6rem}
@media (max-width:900px){.about-grid{grid-template-columns:1fr}.about-grid figure{position:static}}
.disclosure-doc{background:var(--parchment);color:#21180f;padding:clamp(1.6rem,4vw,3rem);margin-top:2.5rem;position:relative}
.disclosure-doc h2{color:var(--oxblood);font-size:var(--step-2)}
.disclosure-doc p,.disclosure-doc li{color:#3a2c1e}
.disclosure-doc::before{content:"";position:absolute;inset:8px;border:1px solid rgba(58,12,21,.4);pointer-events:none}

/* reveal on load */
@media (prefers-reduced-motion:no-preference){
  .rise{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
  .rise.d1{animation-delay:.08s}.rise.d2{animation-delay:.18s}.rise.d3{animation-delay:.3s}
  @keyframes rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
}

.shelf{align-items:stretch}.label-wrap{display:flex;flex-direction:column}.label-wrap>.label{flex:1;display:flex;flex-direction:column}.label-wrap>.label .label__foot{margin-top:auto}
@media (max-width:700px){.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(13,11,9,.45)}.wordmark .sub{display:none}}
.prose .label p,.prose .label li,.prose .label .owners{color:#3b2e22}
.prose .label h3{color:#21180f}.prose .label .owners b{color:var(--oxblood-2)}
.prose .label .proscons h4{color:#5c4a36}
.label-wrap:has(.waxseal) .label__top{padding-right:3.4rem}
.prose a.btn{color:var(--ink);text-decoration:none}
.disclosure-doc p,.disclosure-doc strong,.disclosure-doc li{color:#2a1f15}.disclosure-doc h2{color:#21180f}.disclosure-doc a{color:var(--seal-deep)}
.post .state .tag{white-space:nowrap}
.post{grid-template-columns:4.5rem 1fr 140px 190px}
@media (max-width:800px){.post{grid-template-columns:3rem 1fr}}

.prose table.pc{width:100%;border-collapse:collapse;margin:1.2rem 0;font-size:.95rem}
.prose table.pc th,.prose table.pc td{border-bottom:1px solid var(--line,rgba(200,160,79,.25));padding:.55rem .7rem;text-align:left;vertical-align:top}
.prose table.pc th{font-family:"Plex Mono",monospace;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--brass,#c8a04f)}
.prose h3.item{display:flex;gap:.7rem;align-items:baseline;margin-top:2rem}
.prose .item-n{font-family:"Plex Mono",monospace;font-size:.8rem;color:var(--seal,#ff4a1c);letter-spacing:.1em}
.prose p.buyline{margin:.4rem 0 1rem}
.prose a.buy{background:var(--seal);color:var(--ink);display:inline-block;margin:.2rem .4rem .2rem 0}
.prose a.buy:hover{background:var(--parchment);color:var(--ink)}
.contact-card{max-width:640px}
.contact-card .btn{margin-top:1rem}
.ledger .tier{margin-left:.4rem;font-size:.8em}
