:root{
  --paper:#F6F1EA; --paper-2:#EDE4D8; --card:#FBF8F3;
  --ink:#2A1D16; --ink-2:#4E3B30; --mute:#75604F; --line:#DCCFBF;
  --accent:#6B4A36; --accent-ink:#FFFFFF; --crema:#C8893E; --crema-soft:#F1E0C6; --crema-ink:#8C5A1E;
  --coin:transparent;
  --display:"Bricolage Grotesque", "Avenir Next", "Segoe UI", system-ui, sans-serif;
  --body:"Newsreader", Georgia, "Times New Roman", serif;
  --mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --paper:#17110D; --paper-2:#201813; --card:#241B15;
    --ink:#F1E8DD; --ink-2:#D6C8B8; --mute:#A8927F; --line:#3D2F25;
    --accent:#DDA868; --accent-ink:#1E140E; --crema:#D9A45E; --crema-soft:#3B2A1A; --crema-ink:#E3B274; --coin:#F3EBDF;
  }
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --paper:#17110D; --paper-2:#201813; --card:#241B15;
  --ink:#F1E8DD; --ink-2:#D6C8B8; --mute:#A8927F; --line:#3D2F25;
  --accent:#DDA868; --accent-ink:#1E140E; --crema:#D9A45E; --crema-soft:#3B2A1A; --crema-ink:#E3B274; --coin:#F3EBDF;
}
*{box-sizing:border-box}
html{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:19px;line-height:1.6;padding-inline:20px}
img{max-width:100%}
.wrap{max-width:1120px;margin-inline:auto}
h1,h2,h3{font-family:var(--display);line-height:1.1;text-wrap:balance;margin:0;letter-spacing:-.01em}
a{color:var(--accent)}
a:focus-visible,button:focus-visible{outline:3px solid var(--crema);outline-offset:2px}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin:0}

/* nav */
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-block:18px;border-bottom:1px solid var(--line)}
.logo{font-family:var(--display);font-weight:800;font-size:22px;color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:10px;line-height:1}
.logo-mark{flex:none;width:52px;height:52px;padding:2px}
.logo-full{display:block;height:100px;width:auto}
.plate{border-radius:8px;background:var(--coin);padding:4px 6px}
@media (max-width:600px){.logo-full{height:80px}}
.coin{display:inline-block;border-radius:50%;background:var(--coin)}
.footer-badge{width:140px;height:auto;padding:6px;justify-self:start}
.about-badge{display:block;width:220px;height:auto;margin:0 0 24px;padding:8px}
.logo small{display:block;font-family:var(--mono);font-weight:400;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-top:4px}
.nav ul{display:flex;gap:20px;list-style:none;margin:0;padding:0;flex-wrap:wrap;font-family:var(--display);font-size:15px;font-weight:500}
.nav a{color:var(--ink-2);text-decoration:none}
.nav a:hover,.nav a[aria-current="page"]{color:var(--accent)}

/* article */
.article{max-width:700px;margin-inline:auto;padding-block:48px 64px}
.crumbs{font-family:var(--mono);font-size:13px;color:var(--mute);margin-bottom:20px}
.crumbs a{color:var(--mute)}
.article h1{font-size:clamp(34px,5.4vw,52px);font-weight:800;margin-top:12px}
.dek{font-size:21px;color:var(--ink-2);margin-top:16px}
.byline{display:flex;gap:16px;flex-wrap:wrap;font-family:var(--mono);font-size:13px;color:var(--mute);margin-top:20px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.disclose{font-size:15px;color:var(--mute);margin-top:16px}
.answer{margin-block:28px;padding:20px 22px;background:var(--card);border:1px solid var(--line);border-left:4px solid var(--crema);border-radius:4px}
.answer .eyebrow{color:var(--crema-ink);margin-bottom:6px}
.answer p{margin:0}
.prose h2{font-size:30px;font-weight:800;margin-top:44px;margin-bottom:12px}
.prose h3{font-size:21px;font-weight:700;margin-top:28px;margin-bottom:8px}
.prose p{margin:0 0 18px}
.prose ul,.prose ol{margin:0 0 18px;padding-left:1.3em}
.prose li{margin-bottom:8px}
.prose strong{font-weight:600}
.prose .table-wrap{overflow-x:auto;margin:8px 0 24px;border:1px solid var(--line);border-radius:4px}
.prose table{border-collapse:collapse;width:100%;font-size:16px;min-width:480px}
.prose th,.prose td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.prose th{font-family:var(--display);font-weight:700;background:var(--paper-2)}
.prose td.num,.prose .mono{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:15px}
.prose tr:last-child td{border-bottom:0}
.product{margin:24px 0;padding:20px 22px;background:var(--card);border:1px solid var(--line);border-radius:4px;display:grid;gap:8px}
.product h3{margin:0}
.product .tag{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--crema-ink)}
.product p{margin:0;font-size:17px}
.product .row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:6px}
.product .price{font-family:var(--mono);font-size:14px;color:var(--mute)}
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);font-weight:700;font-size:15px;padding:10px 18px;border-radius:999px;border:2px solid var(--accent);background:var(--accent);color:var(--accent-ink);text-decoration:none}
.btn:hover{filter:brightness(1.08)}
.callout{margin:24px 0;padding:18px 20px;background:var(--crema-soft);border-radius:4px;font-size:17px}
.callout p:last-child{margin-bottom:0}
.related{margin-top:48px;padding-top:24px;border-top:1px solid var(--line)}
.related ul{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:10px}
.related a{font-family:var(--display);font-weight:700;font-size:18px;text-decoration:none}

/* simple pages */
.page{max-width:700px;margin-inline:auto;padding-block:48px 64px}
.page h1{font-size:clamp(34px,5.4vw,52px);font-weight:800;margin:12px 0 20px}
.contact-card{display:grid;gap:10px;padding:22px;background:var(--card);border:1px solid var(--line);border-radius:4px;margin:24px 0}
.contact-card .addr{font-family:var(--mono);font-size:18px;word-break:break-all}
.contact-card button{justify-self:start;font-family:var(--display);font-weight:700;font-size:15px;padding:8px 16px;border-radius:999px;border:2px solid var(--accent);background:transparent;color:var(--accent);cursor:pointer}

footer{border-top:1px solid var(--line);padding-block:32px 48px;display:grid;gap:12px;font-size:15px;color:var(--mute)}
footer .row{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
footer nav{display:flex;gap:18px;flex-wrap:wrap}
footer a{color:var(--ink-2)}

@media (max-width:600px){
  body{font-size:18px;padding-inline:16px}
  .nav ul{gap:14px}
  .article,.page{padding-block:32px 48px}
  .prose h2{font-size:26px}
}

.fine-print{font-size:13px;line-height:1.5}

.sources{margin-top:40px;padding-top:20px;border-top:1px solid var(--line)}
.sources h2{font-size:20px;margin-bottom:10px}
.sources ul{margin:0;padding-left:1.2em;font-size:15px;color:var(--ink-2)}
.sources li{margin-bottom:6px}

/* shop */
.page.shop{max-width:1120px}
.shop-sec{margin-top:40px}
.shop-sec h2{font-size:28px;font-weight:800;margin-bottom:8px}
.shop-intro{max-width:44em;color:var(--ink-2);margin:0 0 20px}
.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.shop-card{display:flex;flex-direction:column;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:6px;padding:20px}
.shop-card h3{font-size:20px;margin:0}
.shop-card p{margin:0;font-size:16px;color:var(--ink-2)}
.shop-card .tag{align-self:flex-start;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--crema-ink)}
.shop-card .row{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:12px;border-top:1px dashed var(--line)}
.shop-card .price{font-family:var(--mono);font-size:14px;color:var(--mute)}
.shop-thumb{aspect-ratio:4/3;max-width:100%;border-radius:4px;background:var(--crema-soft);display:grid;place-items:center}
.shop-thumb img{width:96px;height:96px;border-radius:50%;background:var(--coin);padding:4px}
.btn-disabled{background:transparent;color:var(--mute);border-color:var(--line);cursor:default}
.btn-disabled:hover{filter:none}
.shop-notes ul{padding-left:1.2em;color:var(--ink-2);max-width:44em}
.shop-notes li{margin-bottom:8px}
@media (max-width:900px){.shop-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.shop-grid{grid-template-columns:1fr}}
