:root{
  --ink:#0F1F19;
  --forest:#20443A;
  --moss:#3C6455;
  --saffron:#E1A02B;
  --paper:#F7F2E4;
  --rule:#D8CDB2;
  --brick:#8C3A22;
  --measure:66ch;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:"Source Serif 4",Georgia,"Times New Roman",serif;
  font-size:18px;line-height:1.62;font-synthesis-weight:none;
}
h1,h2,h3,.disp,.btn,nav a,.leader b,.crumb{
  font-family:"Bricolage Grotesque","Helvetica Neue",Arial,sans-serif;
  font-weight:600;font-variation-settings:"wdth" 96;
}
a{color:var(--forest)}
a:focus-visible,button:focus-visible{outline:3px solid var(--saffron);outline-offset:3px}
img{max-width:100%;height:auto}
.wrap{width:100%;max-width:1080px;margin:0 auto;padding:0 22px}
.narrow{max-width:var(--measure)}

/* ---------- masthead ---------- */
.mast{background:var(--ink);color:var(--paper)}
.mast .wrap{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 20px;padding-top:14px;padding-bottom:14px}
.brand{font-family:"Bricolage Grotesque",sans-serif;font-weight:700;font-size:1.18rem;
  letter-spacing:-.02em;color:var(--paper);text-decoration:none}
.brand span{color:var(--saffron)}
.mast p{margin:0;font-size:.86rem;color:#B9C6BE;font-style:italic}

/* ---------- nav ---------- */
.subnav{background:var(--forest);border-bottom:3px solid var(--saffron)}
.subnav ul{list-style:none;display:flex;flex-wrap:wrap;gap:0 4px;margin:0;padding:8px 0}
.subnav a{display:block;padding:6px 12px;color:#EFE7D2;text-decoration:none;font-size:.9rem;
  font-family:"Bricolage Grotesque",sans-serif;font-weight:500;border-radius:2px}
.subnav a:hover{background:#2C5A4C;color:#fff}
.subnav a[aria-current="page"]{background:var(--saffron);color:var(--ink);font-weight:700}

/* ---------- hero ---------- */
.hero{background:var(--forest);color:var(--paper);padding:56px 0 46px;
  background-image:radial-gradient(circle at 12% 0%,#2A5748 0,transparent 55%)}
.hero .kick{margin:0 0 14px;font-style:italic;font-size:1rem;color:var(--saffron)}
.hero h1{margin:0;font-size:clamp(2.1rem,6.4vw,4.1rem);line-height:1.02;letter-spacing:-.035em;
  max-width:19ch;font-variation-settings:"wdth" 88;font-weight:700}
.hero .sub{margin:22px 0 0;max-width:58ch;color:#E5DECA;font-size:1.06rem}
.hero .btn{margin-top:30px}

/* ---------- buttons ---------- */
.btn{display:inline-block;background:var(--saffron);color:#231704;text-decoration:none;
  padding:14px 26px;border-radius:2px;font-size:1rem;font-weight:700;border:2px solid var(--saffron)}
.btn:hover{background:#F0AF36;border-color:#F0AF36}
.btn.ghost{background:transparent;color:var(--paper);border-color:#6B8C80}
.btn.ghost:hover{background:#2C5A4C;border-color:var(--saffron)}
.btn.dark{background:var(--forest);border-color:var(--forest);color:var(--paper)}
.btn.dark:hover{background:var(--ink);border-color:var(--ink)}

/* ---------- sections ---------- */
main{padding-bottom:10px}
.sec{padding:44px 0}
.sec + .sec{border-top:1px solid var(--rule)}
.sec h2{font-size:clamp(1.5rem,3.6vw,2.05rem);line-height:1.14;letter-spacing:-.02em;
  margin:0 0 20px;max-width:24ch}
.lede p{font-size:1.12rem;max-width:var(--measure)}
.lede p:first-child::first-letter{float:left;font-family:"Bricolage Grotesque",sans-serif;
  font-weight:700;font-size:3.5rem;line-height:.82;padding:6px 10px 0 0;color:var(--brick)}

/* ---------- menu-board list (the signature device) ---------- */
.leader{list-style:none;margin:0;padding:0;max-width:820px}
.leader li{padding:16px 0;border-bottom:1px dotted var(--rule)}
.leader li:first-child{border-top:1px dotted var(--rule)}
.leader b{display:block;font-size:1.06rem;letter-spacing:-.01em;margin-bottom:3px}
.leader span{display:block;max-width:62ch;color:#33443D}

/* ---------- notes grid ---------- */
.notes{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:0 34px;
  margin:0;padding:0;list-style:none;max-width:900px}
.notes li{padding:14px 0 16px 16px;border-left:3px solid var(--saffron);margin-bottom:14px}
.notes b{display:block;font-family:"Bricolage Grotesque",sans-serif;font-size:1rem;margin-bottom:2px}
.notes span{color:#33443D;font-size:.97rem}

/* ---------- order block ---------- */
.order{background:var(--ink);color:var(--paper);padding:40px 0;margin-top:0}
.order h2{color:var(--paper);margin-bottom:12px}
.order p{max-width:56ch;color:#CFD8D2}
.order .btn{margin-top:12px}
.order .alt{display:block;margin-top:16px;font-size:.95rem;color:#9FB3AA}
.order .alt a{color:var(--saffron)}

/* ---------- faq ---------- */
.faq{max-width:var(--measure)}
.faq details{border-bottom:1px solid var(--rule);padding:4px 0}
.faq summary{cursor:pointer;padding:14px 0;font-family:"Bricolage Grotesque",sans-serif;
  font-weight:600;font-size:1.04rem;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"+";color:var(--brick);font-weight:700;margin-right:10px}
.faq details[open] summary::before{content:"\2013"}
.faq p{margin:0 0 16px 24px;color:#33443D}

/* ---------- related ---------- */
.rel ul{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:2px}
.rel a{display:block;padding:16px 18px;background:#EFE7D2;text-decoration:none;color:var(--ink);
  font-family:"Bricolage Grotesque",sans-serif;font-weight:600;font-size:1rem;border-radius:2px}
.rel a:hover{background:var(--forest);color:var(--paper)}

/* ---------- crumb ---------- */
.crumb{font-size:.86rem;padding:14px 0 0;color:#5D6A63}
.crumb a{color:#5D6A63}

/* ---------- footer ---------- */
footer{background:var(--ink);color:#AEBCB4;padding:38px 0 96px;font-size:.92rem;margin-top:0}
footer h3{font-family:"Bricolage Grotesque",sans-serif;color:var(--paper);font-size:1rem;margin:0 0 10px}
footer a{color:#D8CDB2}
.fgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:26px}
.fgrid ul{list-style:none;margin:0;padding:0}
.fgrid li{margin-bottom:6px}
.fine{margin-top:26px;padding-top:16px;border-top:1px solid #26382F;color:#7D8D85;max-width:70ch}

/* ---------- sticky order bar ---------- */
.bar{position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--saffron);
  border-top:2px solid #C4881D;padding:10px 14px;display:flex;align-items:center;
  justify-content:center;gap:14px;flex-wrap:wrap}
.bar p{margin:0;color:#231704;font-size:.95rem;font-weight:600}
.bar a{background:var(--ink);color:var(--paper);text-decoration:none;padding:9px 20px;border-radius:2px;
  font-family:"Bricolage Grotesque",sans-serif;font-weight:700;font-size:.95rem}
.bar a:hover{background:var(--forest)}

@media (max-width:640px){
  body{font-size:17px}
  .sec{padding:34px 0}
  .hero{padding:40px 0 34px}
  .lede p:first-child::first-letter{font-size:3rem}
  .bar p{display:none}
  .bar a{width:100%;text-align:center}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
