:root{
  --white:#FFFFFF; --ink:#111214; --denim:#1D4E9E; --denim-deep:#173E7E; --muted:#5C6470; --hair:#C9D2DE;
}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--white);color:var(--ink);font-family:"Public Sans",system-ui,sans-serif;font-size:16px;line-height:1.6}
.osw{font-family:"Oswald",sans-serif}
.nums{font-variant-numeric:tabular-nums}
a{color:var(--denim)}
img{max-width:100%}
.wrap{max-width:1120px;margin:0 auto;padding:0 clamp(1rem,4vw,2rem)}
.rule-top{border-top:2px solid var(--ink);margin-top:14px}
header.site{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;max-width:1120px;margin:0 auto;padding:1rem clamp(1rem,4vw,2rem) .9rem;border-bottom:1px solid var(--hair);flex-wrap:wrap}
.logo{font-family:"Oswald";font-weight:700;text-transform:uppercase;font-size:clamp(1.5rem,3.4vw,2.1rem);color:var(--ink);text-decoration:none;line-height:1}
.logo .thin{color:var(--denim)}
nav.main{display:flex;gap:1.6rem;flex-wrap:wrap;padding-bottom:.2rem}
nav.main a{color:var(--denim);text-decoration:none;font-family:"Oswald";font-weight:600;text-transform:uppercase;font-size:.92rem;letter-spacing:.08em}
nav.main a:hover{color:var(--ink)}
.hero{padding:2.4rem 0 0}
.hero h1{font-family:"Oswald";font-weight:700;text-transform:uppercase;font-size:clamp(3rem,7.5vw,5.6rem);line-height:.98}
.hero h1 .price-line{display:block;color:var(--denim)}
.hero .lede{font-size:1.15rem;color:#2C3138;max-width:44rem;margin-top:1rem}
.signup{display:flex;max-width:560px;margin-top:1.3rem}
.signup input[type=email]{flex:1;padding:.85rem 1rem;border:1.5px solid var(--hair);border-radius:6px 0 0 6px;font:inherit}
.signup button{background:var(--denim);color:#fff;border:none;font-weight:800;padding:.85rem 1.4rem;border-radius:0 6px 6px 0;cursor:pointer;font:inherit}
.signup button:hover{background:var(--denim-deep)}
.feature{display:grid;grid-template-columns:1fr 1fr;gap:2.2rem;align-items:start;margin-top:2.2rem}
.feature figure img{width:100%;height:430px;object-fit:cover;display:block}
.feature figcaption,.hero-photo figcaption{font-size:.82rem;color:var(--muted);margin-top:.55rem}
.f-label{font-family:"Oswald";font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--denim);font-size:.95rem}
.f-title{font-family:"Oswald";font-weight:700;text-transform:uppercase;font-size:clamp(1.9rem,3.4vw,2.7rem);line-height:1.05;margin:.4rem 0 .6rem}
.f-title a{color:var(--ink);text-decoration:none}
.f-title a:hover{color:var(--denim)}
.feature p{color:#2C3138;margin-bottom:.8rem}
.breakdown .bhead,.pricecard .bhead{font-family:"Oswald";font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--denim);font-size:1.05rem;margin-bottom:.7rem}
.bbox{border:1.5px solid var(--hair);padding:1.1rem 1.3rem .9rem}
.brow{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.34rem 0;border-bottom:1px solid var(--hair)}
.brow .item{font-weight:600}
.brow .item small{display:block;color:var(--muted);font-weight:600}
.brow .amt{font-weight:800;white-space:nowrap}
.brow.first .amt{font-family:"Oswald";font-weight:700;font-size:2.2rem;color:var(--denim);line-height:1}
.brow.total{border-bottom:none;padding-top:.6rem}
.brow.total .lbl{font-family:"Oswald";font-weight:700;text-transform:uppercase;font-size:1.05rem;letter-spacing:.06em}
.brow.total .amt{font-family:"Oswald";font-weight:700;font-size:2.3rem;color:var(--denim);line-height:1}
.brow.basket .amt{font-family:"Oswald";font-weight:700;font-size:1.5rem;color:var(--ink)}
.perline{text-align:right;font-family:"Oswald";font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--denim);font-size:.95rem;margin-top:.5rem}
.rangenote{font-size:.88rem;font-weight:600;color:#2C3138;margin-top:.8rem}
.srcnote{font-size:.78rem;color:var(--muted);margin-top:.5rem}
.readon{display:inline-block;background:var(--denim);color:#fff;font-weight:800;text-decoration:none;padding:.85rem 1.5rem;border-radius:6px;margin-top:1.2rem}
.readon:hover{background:var(--denim-deep)}
section.index-sec{margin-top:3rem}
.sec-head{display:flex;align-items:baseline;justify-content:space-between;border-top:2px solid var(--ink);padding-top:1rem;flex-wrap:wrap;gap:.5rem}
.sec-head h2{font-family:"Oswald";font-weight:700;text-transform:uppercase;font-size:clamp(1.6rem,3vw,2.2rem)}
.sec-head span{font-weight:700;color:var(--muted)}
ol.index{list-style:none;counter-reset:idx}
ol.index li{counter-increment:idx;display:grid;grid-template-columns:64px 150px 1fr auto;gap:1.2rem;align-items:center;padding:1rem 0;border-bottom:1px solid var(--hair)}
ol.index li::before{content:counter(idx,decimal-leading-zero);font-family:"Oswald";font-weight:700;font-size:1.9rem;color:var(--denim)}
ol.index img{width:150px;height:104px;object-fit:cover;display:block}
ol.index .rname{font-family:"Oswald";font-weight:600;text-transform:uppercase;font-size:1.25rem;line-height:1.15}
ol.index .rname a{color:var(--ink);text-decoration:none}
ol.index .rname a:hover{color:var(--denim)}
ol.index .rsub{color:var(--muted);font-weight:600;font-size:.92rem}
ol.index .rprice{text-align:right}
ol.index .rprice .per{font-family:"Oswald";font-weight:700;font-size:1.7rem;color:var(--denim);line-height:1}
ol.index .rprice .of{font-size:.8rem;font-weight:700;color:var(--muted)}
.tierline{display:flex;gap:.5rem;margin-top:1rem}
.tierline .t{flex:1;text-align:center;font-family:"Oswald";font-weight:600;text-transform:uppercase;font-size:.72rem;letter-spacing:.08em;padding:.5rem .2rem;border:1.5px solid var(--hair);color:var(--muted)}
.tierline .t.on{background:var(--denim);border-color:var(--denim);color:#fff}
.tierline .t small{display:block;font-size:.68rem;letter-spacing:.04em}
.collections{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:1.2rem}
.col-card{border-top:1px solid var(--hair);padding-top:.8rem}
.col-card .cname{font-family:"Oswald";font-weight:700;text-transform:uppercase;font-size:1.3rem;line-height:1.1}
.col-card .cname a{color:var(--ink);text-decoration:none}
.col-card .cname a:hover{color:var(--denim)}
.col-card p{color:var(--muted);font-weight:600;font-size:.92rem}
.crumbs{font-family:"Oswald";font-weight:600;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;color:var(--muted);padding:1.3rem 0 .5rem}
.crumbs a{color:var(--muted);text-decoration:none}
h1.dish{font-family:"Oswald";font-weight:700;text-transform:uppercase;font-size:clamp(2.6rem,6vw,4.4rem);line-height:1}
.meta-line{font-family:"Oswald";font-weight:600;text-transform:uppercase;letter-spacing:.12em;font-size:clamp(.95rem,1.8vw,1.15rem);color:var(--denim);margin:.8rem 0 .9rem}
.standfirst{font-size:1.1rem;color:#2C3138;max-width:46rem}
.layout{display:grid;grid-template-columns:1fr 380px;gap:2.4rem;margin-top:2rem;align-items:start}
.hero-photo img{width:100%;height:440px;object-fit:cover;display:block}
article.prose h2,.article-body h2{font-family:"Oswald";font-weight:700;text-transform:uppercase;font-size:1.5rem;letter-spacing:.02em;margin:1.9rem 0 .7rem;border-top:2px solid var(--ink);padding-top:1.1rem}
article.prose h2:first-of-type,.article-body h2:first-of-type{border-top:none;padding-top:0;margin-top:1.6rem}
article.prose p,.article-body p{color:#2C3138;margin-bottom:.9rem}
article.prose ul,.article-body ul{margin:0 0 1rem 1.2rem;color:#2C3138}
article.prose ol,.article-body ol{margin:0 0 1rem 1.2rem;color:#2C3138}
ul.ingredients{list-style:none}
ul.ingredients li{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 0;border-bottom:1px solid var(--hair);font-weight:600}
ul.ingredients li span:last-child{font-weight:800;white-space:nowrap}
ol.steps{list-style:none;counter-reset:step}
ol.steps li{counter-increment:step;position:relative;padding:0 0 1rem 3.2rem;color:#2C3138}
ol.steps li::before{content:counter(step,decimal-leading-zero);position:absolute;left:0;top:-.15rem;font-family:"Oswald";font-weight:700;font-size:1.5rem;color:var(--denim)}
.hungry{border:1.5px solid var(--hair);border-left:6px solid var(--denim);padding:1.1rem 1.25rem;margin-top:1.4rem}
.hungry .t{font-family:"Oswald";font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--denim);margin-bottom:.3rem}
.pricecard{position:sticky;top:1rem}
.faq{margin-top:1.6rem}
.faq h3{font-family:"Oswald";font-weight:600;text-transform:uppercase;font-size:1.05rem;margin:1rem 0 .3rem}
.toolbox{border:1.5px solid var(--hair);padding:1.4rem;margin-top:1.4rem}
.toolbox label{display:block;font-weight:700;margin:.7rem 0 .25rem}
.toolbox input,.toolbox select{width:100%;padding:.7rem;border:1.5px solid var(--hair);border-radius:6px;font:inherit}
.toolbox .out{font-family:"Oswald";font-weight:700;font-size:1.6rem;color:var(--denim);margin-top:1rem}
footer.site{border-top:2px solid var(--ink);padding:1.1rem 0 2.2rem;text-align:center;font-weight:600;color:var(--muted);font-size:.9rem;margin-top:2.6rem}
footer.site a{color:var(--muted)}
.page-head{padding:2rem 0 0}
.page-head h1{font-family:"Oswald";font-weight:700;text-transform:uppercase;font-size:clamp(2.2rem,5vw,3.6rem);line-height:1}
@media (max-width:920px){
  .feature,.layout{grid-template-columns:1fr}
  .pricecard{position:static}
  ol.index li{grid-template-columns:48px 104px 1fr;grid-template-rows:auto auto}
  ol.index .rprice{grid-column:3;text-align:left}
  ol.index img{width:104px;height:76px}
  .collections{grid-template-columns:1fr}
  .hero-photo img,.feature figure img{height:300px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
.powered{font-size:.8rem;opacity:.6;margin-top:.55rem}
.powered a{color:inherit}
