
@font-face{font-family:"Bricolage Grotesque";src:url(fonts/BricolageGrotesque-Variable.woff2) format("woff2");font-weight:200 800;font-stretch:75% 100%;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url(fonts/InstrumentSerif-Regular.woff2) format("woff2");font-display:swap}
:root{--cream:#f3eee4;--cream-deep:#e6dfd0;--ink:#121212;--muted:#5a564e;--forest:#2f4a2c;--forest-deep:#1f331e;--maroon:#6b2331;--ochre:#c8973a;--ochre-text:#7a5510;--hair:#cfc5b2}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--ink);font-family:"Bricolage Grotesque",Arial,sans-serif;font-size:16px;line-height:24px;-webkit-font-smoothing:antialiased}
a{color:var(--ink)}
.wrap{max-width:1200px;margin:0 auto;padding:0 16px}
@media(min-width:900px){.wrap{padding:0 64px}}
.wm{font-weight:800;font-variation-settings:"opsz" 96,"wdth" 100;letter-spacing:-.03em;line-height:.9;text-transform:uppercase}
.wd{font-size:9px;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--muted);margin-top:4px}
.eb{font-size:12px;line-height:16px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}
.serif{font-family:"Instrument Serif",Georgia,serif;font-weight:400}
.pp{opacity:.5;margin:0 .6em}
header.top{border-bottom:1px solid var(--hair)}
header.top .wrap{display:flex;justify-content:space-between;align-items:center;padding-top:20px;padding-bottom:20px}
header.top nav{display:flex;gap:24px;align-items:center}
header.top nav a{text-decoration:none}
.bsd{font-family:"Times New Roman",Times,serif;font-size:16px;line-height:1}
.btn{display:inline-flex;align-items:center;justify-content:center;font:600 13px/16px "Bricolage Grotesque",Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;padding:16px 28px;border-radius:2px;border:1px solid var(--forest);background:var(--forest);color:var(--cream);cursor:pointer;min-height:48px;text-decoration:none}
.btn:hover{background:var(--forest-deep);border-color:var(--forest-deep)}
.btn.sec{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn.sec:hover{background:var(--cream-deep)}
:focus-visible{outline:2px solid var(--forest);outline-offset:2px}
.hero{display:grid;gap:40px;padding:48px 0}
@media(min-width:900px){.hero{grid-template-columns:1.2fr 1fr;gap:64px;align-items:center;padding:96px 0}}
.place{border-bottom:3px solid var(--ochre);padding-bottom:6px;align-self:flex-start;display:inline-block}
h1{margin:20px 0 0;font-size:44px;line-height:1;letter-spacing:-.01em}
@media(min-width:900px){h1{font-size:68px}}
.lead{font-size:18px;line-height:28px;margin:20px 0 0;max-width:540px}
.ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.hero img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;max-width:460px;justify-self:end}
.band{background:var(--forest);color:var(--cream)}
.band .wrap{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding-top:28px;padding-bottom:28px}
@media(min-width:900px){.band .wrap{display:flex;justify-content:space-between}}
.band .a{display:flex;align-items:center;gap:12px}
section.sec{padding:56px 0;border-bottom:1px solid var(--hair)}
@media(min-width:900px){section.sec{padding:96px 0}}
h2{margin:8px 0 0;font-size:36px;line-height:1.05}
@media(min-width:900px){h2{font-size:48px}}
.kicker{color:var(--ochre-text)}
.sub{color:var(--muted);margin:12px 0 0}
.dish{display:flex;gap:20px;padding:24px 0;border-top:1px solid var(--hair);align-items:center;flex-wrap:wrap}
.dish:last-child{border-bottom:1px solid var(--hair)}
.dish .ic{width:80px;height:80px;flex:none;background:var(--cream-deep);display:flex;align-items:center;justify-content:center}
.dish .tx{flex:1;min-width:200px}
.dish .nm{font-size:26px;line-height:1.05}
.dish .cp{font-size:11px;color:var(--muted);margin-top:8px;letter-spacing:.14em}
.macros{display:flex}
.macros>div{display:flex;flex-direction:column;align-items:center;padding:0 14px;border-left:1px solid var(--hair)}
.macros>div:first-child{border-left:0;padding-left:0}
.mv{font-size:20px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}
.ml{margin-top:6px;font-size:9px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.cols{display:grid;gap:32px}
@media(min-width:900px){.cols{grid-template-columns:4fr 8fr;gap:48px}}
.plans{display:grid;gap:16px}
@media(min-width:640px){.plans{grid-template-columns:1fr 1fr}}
.plan{background:var(--cream-deep);padding:28px}
.plan .p{font-size:44px;font-weight:800;line-height:1;margin-top:12px;letter-spacing:-.01em}
.plan .s{color:var(--muted);margin-top:8px}
.steps{display:grid;gap:24px;counter-reset:s}
@media(min-width:900px){.steps{grid-template-columns:repeat(3,1fr)}}
.steps .n{color:var(--ochre-text)}
.steps .t{font-size:22px;line-height:1.1;margin-top:8px}
.steps p{margin:8px 0 0;font-size:15px;line-height:22px;color:var(--muted)}
footer{background:var(--ink);color:var(--cream)}
footer .wrap{padding-top:48px;padding-bottom:48px;display:flex;flex-direction:column;gap:20px}
footer a{color:var(--cream)}
footer .wd{color:#cfc5b2}
.tag{letter-spacing:.22em}
/* form */
form{display:flex;flex-direction:column;gap:40px;padding:40px 0 80px;max-width:760px}
fieldset{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}
legend{padding:0;margin-bottom:16px;border-bottom:3px solid var(--ink);width:100%;padding-bottom:10px}
.grid2{display:grid;gap:16px}
@media(min-width:640px){.grid2{grid-template-columns:1fr 1fr}}
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.field .opt{color:var(--muted);font-weight:400;letter-spacing:.06em;text-transform:none}
input[type=text],input[type=email],input[type=tel],textarea{font:16px/24px "Bricolage Grotesque",Arial,sans-serif;color:var(--ink);background:var(--cream);border:1px solid var(--hair);border-radius:0;padding:12px 14px;width:100%}
input:focus,textarea:focus{border-color:var(--forest);outline:none}
.choice{display:flex;gap:14px;align-items:flex-start;padding:18px;border:1px solid var(--hair);cursor:pointer;background:var(--cream)}
.choice:has(input:checked){border-color:var(--forest);background:var(--cream-deep);box-shadow:inset 0 0 0 1px var(--forest)}
.choice input{accent-color:var(--forest);width:20px;height:20px;margin:2px 0 0;flex:none}
.choice b{font-weight:700}
.choice .s{color:var(--muted);font-size:14px}
.qty{display:flex;gap:16px;align-items:center;padding:16px 0;border-top:1px solid var(--hair)}
.qty:last-of-type{border-bottom:1px solid var(--hair)}
.qty .ic{flex:none}
.qty .tx{flex:1;min-width:0}
.qty .nm{font-size:22px;line-height:1.1}
.qty .m{font-size:12px;color:var(--muted);margin-top:4px}
.step{display:flex;align-items:center;flex:none}
.step button{width:44px;height:44px;border:1px solid var(--ink);background:var(--cream);font:500 22px/1 "Bricolage Grotesque",Arial,sans-serif;color:var(--ink);cursor:pointer;border-radius:2px}
.step button:hover{background:var(--cream-deep)}
.step input{width:52px;height:44px;text-align:center;font:800 20px/1 "Bricolage Grotesque",Arial,sans-serif;border:0;background:transparent;color:var(--ink);-moz-appearance:textfield}
.step input::-webkit-outer-spin-button,.step input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.tally{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;background:var(--cream-deep);font-weight:600}
.tally.ok{background:var(--forest);color:var(--cream)}
.tally .msg{font-weight:400;font-size:14px}
.err{color:var(--maroon);font-size:14px;min-height:20px}
.hidden{display:none}
@media(max-width:520px){.qty{flex-wrap:wrap}.qty .ic{display:none}.step{margin-left:auto}}
