/* The Gluten Freak: crest system (2026-10-23 overhaul)
   Parchment cream ground, dark bronze bands, engraved Roman display type. */
:root{
  --cream:#F4EAD2; --paper:#FDF8EC; --ink:#241B10; --ink-soft:#5D4C33;
  --bronze:#A87F3E; --bronze-dk:#7C5C26; --bronze-lt:#D9BC7A;
  --dark:#171310; --dark2:#221A12;
  --patina:#4E7A6A;
  --card-shadow:6px 6px 0 rgba(124,92,38,.40);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--cream);color:var(--ink);font-family:'Nunito',system-ui,sans-serif;font-size:18px;line-height:1.6}
a{color:var(--patina)}
a:hover{color:var(--bronze-dk)}
img{max-width:100%}
::selection{background:var(--bronze-lt)}
.wrap{max-width:1060px;margin:0 auto;padding:0 20px}

/* header */
header.site{background:var(--dark);border-bottom:3px solid var(--bronze-dk);position:sticky;top:0;z-index:10}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;padding-top:10px;padding-bottom:10px;gap:16px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand-mark{width:46px;height:46px;border-radius:10px;border:2px solid var(--bronze);object-fit:cover;display:block}
.wordmark{font-family:'Marcellus',serif;font-weight:700;font-size:24px;letter-spacing:1.5px;color:var(--cream);line-height:1}
.wordmark .freak{color:var(--bronze-lt)}
nav.main{display:flex;gap:22px;flex-wrap:wrap}
nav.main a{color:#E7D9B8;text-decoration:none;font-weight:800;font-size:16px}
nav.main a:hover{color:var(--bronze-lt)}

/* hero (home) */
.hero{background:radial-gradient(120% 130% at 50% 0%, #2A2115 0%, var(--dark) 58%);border:2.5px solid var(--bronze-dk);border-radius:22px;padding:52px 24px 46px;margin-top:34px;text-align:center;box-shadow:0 24px 60px rgba(23,19,16,.35)}
.hero-crest{width:min(500px,84vw);border-radius:16px;box-shadow:0 18px 50px rgba(0,0,0,.5);margin-bottom:30px}
.pill{display:inline-block;background:transparent;color:var(--bronze-lt);font-weight:900;font-size:13px;letter-spacing:1.5px;text-transform:uppercase;padding:7px 16px;border-radius:999px;border:2px solid var(--bronze)}
.hero h1{font-family:'Marcellus',serif;font-weight:700;color:var(--cream);font-size:clamp(34px,6vw,58px);line-height:1.12;margin:22px auto 16px;max-width:820px}
.hero h1 .hl{color:var(--bronze-lt)}
.hero p.lede{font-size:21px;color:#D9C9A3;max-width:640px;margin:0 auto 28px}
.cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.btn{display:inline-block;font-family:'Marcellus',serif;font-weight:700;letter-spacing:.6px;text-decoration:none;padding:13px 26px;border-radius:999px;border:2.5px solid var(--ink);box-shadow:4px 4px 0 var(--ink);transition:transform .08s, box-shadow .08s}
.btn:active{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--ink)}
.btn-orange,.btn.gold{background:linear-gradient(180deg,#CFA856,#A87F3E);color:#1D1608;border-color:#0F0C09}
.btn-white{background:transparent;color:var(--cream);border-color:var(--bronze-lt);box-shadow:4px 4px 0 rgba(0,0,0,.55)}

/* pillar cards */
.pillars{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px;padding:38px 0 10px}
.card{background:var(--paper);border:2.5px solid var(--ink);border-radius:18px;box-shadow:var(--card-shadow);padding:26px}
.card .kicker{font-size:13px;font-weight:900;letter-spacing:1.5px;text-transform:uppercase}
.card h3{font-family:'Marcellus',serif;font-weight:700;font-size:24px;margin:6px 0 8px;line-height:1.2}
.card p{color:var(--ink-soft);font-size:16.5px}
.card a.more{font-weight:900;text-decoration:none}
.k-orange{color:var(--bronze-dk)} .k-green{color:var(--patina)} .k-gold{color:#8A6D1F}

/* promise strip */
.promise{background:var(--dark);color:var(--cream);border:2.5px solid var(--bronze-dk);border-radius:18px;padding:30px;margin:44px 0}
.promise h2{font-family:'Marcellus',serif;font-weight:700;color:var(--bronze-lt);font-size:28px;margin-bottom:14px}
.promise ul{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.promise li{font-size:16.5px;padding-left:26px;position:relative}
.promise li::before{content:'✓';position:absolute;left:0;color:var(--bronze-lt);font-weight:900}

/* article / generic pages */
.page-head{padding:52px 0 8px;text-align:center}
.page-head h1{font-family:'Marcellus',serif;font-weight:700;font-size:clamp(32px,5.5vw,50px);line-height:1.14;max-width:800px;margin:0 auto 12px}
.page-head h1 .accent{color:var(--bronze-dk)}
.page-head p{color:var(--ink-soft);max-width:620px;margin:0 auto;font-size:19px}
.crest-figure{text-align:center;padding:18px 0 0}
.crest-figure img{width:min(400px,82vw);border-radius:16px;box-shadow:0 16px 44px rgba(23,19,16,.35)}
article.post{max-width:720px;margin:0 auto;padding:26px 20px 10px}
article.post h2{font-family:'Marcellus',serif;font-weight:700;font-size:28px;margin:30px 0 10px;line-height:1.25}
article.post p{margin-bottom:16px}
article.post ul{margin:0 0 16px 22px}
article.post li{margin-bottom:7px}
article.post .when{font-size:13px;font-weight:900;letter-spacing:1.2px;color:var(--bronze-dk);text-transform:uppercase}
.todo{background:#F3E5C3;border:2.5px dashed var(--bronze);border-radius:12px;padding:4px 10px;font-weight:800}
.note{background:#EDF2EA;border:2.5px solid var(--patina);border-radius:12px;padding:14px 18px;font-size:16px;margin:20px 0}

/* teaser list */
.teasers{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px;padding:30px 0 8px;max-width:1060px;margin:0 auto}
.teaser .when{font-size:13px;font-weight:900;letter-spacing:1.2px;color:var(--bronze-dk);text-transform:uppercase}

/* footer */
footer.site{border-top:3px solid var(--bronze-dk);margin-top:56px;padding:30px 0 40px;background:var(--dark)}
footer.site .wrap{display:flex;flex-direction:column;gap:8px;align-items:center;text-align:center}
.foot-mark{width:64px;height:64px;border-radius:12px;border:2px solid var(--bronze);object-fit:cover;margin-bottom:10px}
footer.site .fine{font-size:14px;color:#A08D64;max-width:640px}
footer.site .fine a{color:var(--bronze-lt)}
footer.site nav{display:flex;gap:18px;flex-wrap:wrap;justify-content:center}
footer.site nav a{color:#E7D9B8;font-weight:800;text-decoration:none;font-size:15px}
footer.site nav a:hover{color:var(--bronze-lt)}

/* mobile tightening (2026-10-23): compact header, one-line nav, smaller hero */
@media (max-width:640px){
  header.site .wrap{padding-top:8px;padding-bottom:8px;gap:8px}
  .brand-mark{width:38px;height:38px;border-radius:8px}
  .wordmark{font-size:19px;letter-spacing:1px}
  nav.main{flex-wrap:nowrap;overflow-x:auto;gap:14px;max-width:100%;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  nav.main::-webkit-scrollbar{display:none}
  nav.main a{font-size:14.5px;white-space:nowrap}
  .hero{margin-top:16px;padding:28px 16px 30px;border-radius:18px}
  .hero-crest{width:min(290px,66vw);margin-bottom:18px}
  .hero h1{font-size:30px;margin:16px auto 12px}
  .hero p.lede{font-size:18px}
  .page-head{padding:34px 0 4px}
  .foot-mark{width:52px;height:52px}
  .crest-figure img{width:min(300px,78vw)}
}

/* review score tables + figures (2026-10-24) */
.rs{width:100%;border-collapse:collapse;margin:12px 0 20px;font-size:16px}
.rs th,.rs td{border:2px solid var(--ink);padding:7px 10px;text-align:left;background:var(--paper);vertical-align:top}
.rs th{background:var(--dark);color:var(--bronze-lt);font-family:'Marcellus',serif;letter-spacing:.4px}
.rs td.n,.rs th.n{text-align:center;white-space:nowrap}
article.post figure{margin:20px 0}
article.post figure img{width:100%;border-radius:14px;border:2.5px solid var(--ink);display:block}
article.post figcaption{font-size:14px;color:var(--ink-soft);text-align:center;margin-top:6px}
@media (max-width:640px){ .rs{font-size:14px} .rs th,.rs td{padding:6px 7px} }

/* jump-to-recipe button + simplified recipe card (Rowan's rule, 2026-10-25) */
.jump{text-align:center;margin:4px 0 22px}
.jump a{display:inline-block;background:var(--dark);color:var(--cream);font-weight:900;font-size:17px;text-decoration:none;padding:12px 26px;border-radius:999px;border:2.5px solid var(--bronze-dk);box-shadow:4px 4px 0 rgba(124,92,38,.40)}
.jump a:hover{background:var(--dark2);color:var(--bronze-lt)}
.recipe-card{background:var(--paper);border:2.5px solid var(--ink);border-radius:14px;box-shadow:var(--card-shadow);padding:22px 24px;margin:30px 0;scroll-margin-top:96px}
.recipe-card h2{margin:0 0 4px}
.recipe-card .rc-meta{color:var(--ink-soft);font-weight:700;margin-bottom:10px}
.recipe-card h3{margin:16px 0 6px}
.recipe-card ul,.recipe-card ol{margin-left:22px}
.recipe-card li{margin:3px 0}
