/* Copperpot Cooking School: retro print, halftone, stamps and tickets */
:root{--paper:#F3E6CF;--surface:#FBF4E6;--ink:#2A1D17;--terra:#A63F26;--mustard:#E3A93B;--teal:#24544F;--muted:#6B5446;--kraft:#E8D3B0;
--hd:'Courier Prime','Courier New',monospace;--bd:'Hanken Grotesk',system-ui,sans-serif}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-padding-top:150px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16.5px/1.65 var(--bd);overflow-x:hidden;background-image:radial-gradient(rgba(42,29,23,.06) 1px,transparent 1.2px);background-size:5px 5px}
body.locked{overflow:hidden}
img{max-width:100%;display:block}
a{color:var(--terra)}
a:hover{color:var(--teal)}
:focus-visible{outline:3px dashed var(--teal);outline-offset:3px}
h1,h2,h3,.h3{font-family:var(--hd);font-weight:700;line-height:1.05;margin:0 0 .45em;overflow-wrap:break-word}
h1{font-size:clamp(2.6rem,6.4vw,5.2rem);letter-spacing:-.02em}
h2{font-size:clamp(1.9rem,3.8vw,3rem);letter-spacing:-.015em}
h3,.h3{font-size:clamp(1.25rem,1.8vw,1.5rem)}
.poster{text-transform:uppercase}
.mis{text-shadow:3px 3px 0 var(--mustard),6px 6px 0 rgba(36,84,79,.35)}
.mis span{display:inline-block}
p{margin:0 0 1em}
.wrap{max-width:1260px;margin:0 auto;padding:0 20px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;background:var(--ink);color:#fff;padding:10px 16px;z-index:200}
.skip:focus{top:60px}
.small{font-size:.88rem;color:var(--muted)}
.kicker{font:700 .8rem/1.3 var(--hd);letter-spacing:.14em;text-transform:uppercase;color:var(--terra);margin-bottom:10px}
.issue{font:400 .85rem/1 var(--hd);letter-spacing:.1em;text-transform:uppercase;border-block:2px solid var(--ink);padding:8px 0;margin-bottom:18px;display:inline-block}
.lead{font-size:1.15rem;max-width:56ch}
.sec{padding:76px 0;position:relative}
.sec.tight{padding:40px 0}
.sec.kraft{background:var(--kraft);background-image:radial-gradient(rgba(166,63,38,.09) 1.2px,transparent 1.4px);background-size:7px 7px;border-block:2px dashed rgba(42,29,23,.25)}
.sec.ink{background:var(--teal);color:var(--surface)}
.sec.ink .small{color:#D7E3DF}
.sh{max-width:740px;margin-bottom:28px}
.split{display:grid;gap:36px;grid-template-columns:minmax(0,1fr)}
@media(min-width:900px){.split{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start}}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;background:var(--terra);color:var(--surface);font:700 1rem/1 var(--hd);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink);cursor:pointer;transition:transform .15s,box-shadow .15s}
.btn:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink);color:var(--surface)}
.btn:active{transform:translate(4px,4px);box-shadow:0 0 0 var(--ink)}
.btn.ghost{background:var(--surface);color:var(--ink)}
.btn.ghost:hover{color:var(--ink)}
.btn.sm{min-height:44px;padding:0 16px;font-size:.88rem}
.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}
.btnrow{display:flex;flex-wrap:wrap;gap:16px;align-items:center}

/* header: masthead */
.hdr{position:sticky;top:0;z-index:60;background:var(--paper);border-bottom:3px double var(--ink)}
.hdr-top{max-width:1300px;margin:0 auto;padding:10px 18px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;transition:padding .25s}
.hdr.scrolled .hdr-top{padding:4px 18px}
.ht-l{font:400 .8rem/1.3 var(--hd);text-transform:uppercase;letter-spacing:.08em;display:none}
.ht-r{display:flex;justify-content:flex-end;gap:10px;align-items:center;grid-column:3}
.brand{grid-column:2;display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none}
.brand svg{width:46px;height:46px;transition:width .25s,height .25s}
.hdr.scrolled .brand svg{width:36px;height:36px}
.brand b{display:block;font:700 1.7rem/1 var(--hd);letter-spacing:-.02em;text-transform:uppercase}
.brand small{display:block;font:400 .72rem/1.3 var(--hd);letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}
.hnav{display:none;justify-content:center;gap:2px;border-top:1px solid rgba(42,29,23,.3);padding:4px 0}
.hnav a{font:700 .82rem/1 var(--hd);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);text-decoration:none;padding:10px 14px}
.hnav a:hover,.hnav a[aria-current]{background:var(--ink);color:var(--mustard)}
.menubtn{min-height:44px;padding:0 14px;border:2px solid var(--ink);background:var(--mustard);font:700 .88rem/1 var(--hd);text-transform:uppercase;cursor:pointer;color:var(--ink)}
.hdr .btn.tk{display:none}
@media(max-width:999px){.hdr-top{grid-template-columns:1fr auto}.brand{grid-column:1}.ht-r{grid-column:2}}
@media(min-width:1000px){.ht-l{display:block}.hnav{display:flex}.menubtn{display:none}.hdr .btn.tk{display:inline-flex}}
.menu{position:fixed;inset:0;z-index:300;background:var(--mustard);overflow:auto;background-image:radial-gradient(rgba(42,29,23,.12) 1.2px,transparent 1.4px);background-size:7px 7px}
.menu-in{padding:62px 20px 40px;max-width:640px;margin:0 auto}
.menu-top{display:flex;justify-content:space-between;align-items:center;border-bottom:3px double var(--ink);padding-bottom:12px;margin-bottom:12px}
.menu-t{font:700 1.8rem/1 var(--hd);text-transform:uppercase}
.menuclose{min-height:44px;padding:0 16px;border:2px solid var(--ink);background:var(--surface);font:700 .9rem/1 var(--hd);text-transform:uppercase;cursor:pointer;color:var(--ink)}
.mlist{list-style:none;margin:0;padding:0}
.mlist a{display:flex;gap:14px;align-items:baseline;padding:10px 0;border-bottom:1px dashed var(--ink);color:var(--ink);text-decoration:none;font:700 1.7rem/1.1 var(--hd);text-transform:uppercase}
.mlist a span{font-size:.85rem;color:var(--terra)}
.mlist a[aria-current]{color:var(--terra)}
.menu-c{margin-top:18px}
.menu-c a{color:var(--ink);font-weight:700}

/* photos */
.ph{margin:0;position:relative;overflow:hidden;background:linear-gradient(140deg,#D9A27A,#C4855C)}
.ph::after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(42,29,23,.18) 1px,transparent 1.3px);background-size:4px 4px;mix-blend-mode:multiply;pointer-events:none}
.ph img{width:100%;height:100%;object-fit:cover;filter:sepia(.18) saturate(1.05) contrast(1.03)}
.ph.fill{position:absolute;inset:0}
.r43{aspect-ratio:4/3}.r21{aspect-ratio:2/1}
.halfdots{position:absolute;inset:-20px -20px auto auto;width:70%;aspect-ratio:1;background-image:radial-gradient(var(--terra) 30%,transparent 32%);background-size:14px 14px;-webkit-mask:radial-gradient(circle at 70% 30%,#000 0,transparent 70%);mask:radial-gradient(circle at 70% 30%,#000 0,transparent 70%);opacity:.75;pointer-events:none}
.stamp{position:absolute;width:150px;height:150px;color:var(--terra);pointer-events:none}
.stamp text{text-transform:uppercase}
.js .stamp:not(.tst){animation:spin 40s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* hero */
.hero{padding:40px 0 50px}
.hero-g{display:grid;gap:40px;grid-template-columns:minmax(0,1fr)}
@media(min-width:960px){.hero-g{grid-template-columns:minmax(0,6fr) minmax(0,5fr);align-items:center}}
.hero-p{position:relative;padding:20px 10px 30px}
.arch{position:relative;aspect-ratio:4/5;border-radius:300px 300px 0 0;overflow:hidden;border:3px solid var(--ink);box-shadow:12px 12px 0 var(--teal)}
.arch .ph{border-radius:inherit}
.hst{left:-30px;bottom:30px;width:160px;height:160px;background:var(--paper);border-radius:50%}
.hero-cap{position:absolute;right:16px;bottom:0;background:var(--ink);color:var(--paper);font:400 .82rem/1 var(--hd);padding:8px 12px;margin:0;text-transform:uppercase;letter-spacing:.08em}
.hero-tk{margin-top:28px;max-width:460px;transform:rotate(-2deg)}

/* tape marquee */
.tapewrap{overflow:hidden;padding:14px 0}
.hero,.phero{overflow:hidden}
.tape{display:flex;gap:30px;overflow:hidden;background:var(--mustard);border-block:2px solid var(--ink);padding:12px 0;white-space:nowrap;transform:rotate(-1deg);margin:10px -10px}
.tape span{font:700 1.3rem/1 var(--hd);text-transform:uppercase;animation:tape 26s linear infinite}
.tape span::after{content:"\2605";margin-left:30px;color:var(--terra)}
@keyframes tape{to{transform:translateX(-600px)}}

/* tickets */
.ticket{--n:14px;display:grid;grid-template-columns:86px minmax(0,1fr);background:var(--surface);color:var(--ink);text-decoration:none;border:2px solid var(--ink);position:relative;-webkit-mask:radial-gradient(circle var(--n) at 86px 0,transparent 98%,#000) top/100% 51% no-repeat,radial-gradient(circle var(--n) at 86px 100%,transparent 98%,#000) bottom/100% 51% no-repeat;mask:radial-gradient(circle var(--n) at 86px 0,transparent 98%,#000) top/100% 51% no-repeat,radial-gradient(circle var(--n) at 86px 100%,transparent 98%,#000) bottom/100% 51% no-repeat;transition:transform .2s}
.ticket:hover{transform:rotate(-1deg) translateY(-3px);color:var(--ink)}
.tk-l{display:grid;place-content:center;text-align:center;background:var(--terra);color:var(--surface);border-right:2px dashed var(--ink);padding:10px 0;font:400 .8rem/1 var(--hd);text-transform:uppercase}
.tk-l b{font:700 2.4rem/1 var(--hd)}
.tk-r{display:grid;gap:4px;padding:14px 18px}
.tk-k{font:700 .78rem/1.3 var(--hd);text-transform:uppercase;letter-spacing:.08em;color:var(--teal)}
.tk-n{font:700 1.15rem/1.2 var(--hd)}
.tk-s{font-size:.9rem;color:var(--muted)}
.tickets{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr))}
.tickets .ticket:nth-child(3n+2) .tk-l{background:var(--teal)}
.tickets .ticket:nth-child(3n) .tk-l{background:var(--mustard);color:var(--ink)}

/* menu board */
.board{background:var(--teal);color:var(--surface);border:10px solid #5B3A26;padding:26px 24px;box-shadow:inset 0 0 0 2px rgba(255,255,255,.15),10px 10px 0 rgba(42,29,23,.2)}
.board-h{font:700 1.5rem/1 var(--hd);text-transform:uppercase;text-align:center;border-bottom:2px dashed rgba(251,244,230,.5);padding-bottom:14px}
.board ul{list-style:none;margin:0;padding:0}
.board a{display:flex;align-items:baseline;gap:8px;color:var(--surface);text-decoration:none;padding:8px 0;font-family:var(--hd)}
.board a:hover{color:var(--mustard)}
.bn{flex:0 1 auto}
.dots{flex:1;border-bottom:2px dotted rgba(251,244,230,.5);min-width:20px;transform:translateY(-4px)}
.bp{font-weight:700;color:var(--mustard);white-space:nowrap}
.board-f{text-align:center;font:400 .82rem/1.3 var(--hd);text-transform:uppercase;margin:14px 0 0;color:#D7E3DF}

/* acts */
.acts{list-style:none;margin:0;padding:0;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))}
.acts li{border:2px solid var(--ink);background:var(--surface);padding:24px;position:relative}
.acts li:nth-child(even){transform:rotate(1deg)}
.acts li:nth-child(odd){transform:rotate(-1deg)}
.act-n{display:block;font:700 3.4rem/1 var(--hd);color:var(--terra);margin-bottom:8px}
.statband{display:grid;gap:20px;grid-template-columns:repeat(2,minmax(0,1fr));text-align:center}
@media(min-width:900px){.statband{grid-template-columns:repeat(4,minmax(0,1fr))}}
.statband>div{border:2px dashed rgba(251,244,230,.5);padding:20px 10px}
.statband b{display:block;font:700 clamp(2.4rem,5vw,3.6rem)/1 var(--hd);color:var(--mustard)}
.statband>div>span{font:400 .85rem/1.3 var(--hd);text-transform:uppercase;letter-spacing:.06em}

/* postcards */
.pcards{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.pcard{margin:0;background:var(--surface);border:2px solid var(--ink);padding:26px 26px 20px;position:relative;background-image:linear-gradient(90deg,transparent calc(100% - 120px),rgba(42,29,23,.15) calc(100% - 120px),rgba(42,29,23,.15) calc(100% - 118px),transparent calc(100% - 118px))}
.pc1{transform:rotate(-1.5deg)}.pc2{transform:rotate(1deg)}.pc3{transform:rotate(-.5deg)}
.pc-stamp{position:absolute;right:16px;top:16px;width:52px;height:62px;border:2px dashed var(--terra);display:grid;place-items:center;font:700 1.6rem/1 var(--hd);color:var(--terra);background:var(--paper)}
.pcard blockquote{margin:0 0 14px;padding-right:110px}
.pcard p{font:400 1.05rem/1.5 var(--hd)}
.pcard figcaption{font-size:.88rem;color:var(--muted)}
@media(max-width:600px){.pcard blockquote{padding-right:0;padding-top:60px}.pcard{background-image:none}}

/* polaroids */
.polas{display:grid;gap:22px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:900px){.polas{grid-template-columns:repeat(4,minmax(0,1fr))}}
.gi{border:0;background:var(--surface);padding:10px 10px 0;box-shadow:0 2px 0 rgba(42,29,23,.2),6px 8px 0 rgba(42,29,23,.12);cursor:zoom-in;display:block;width:100%;transition:transform .25s}
.gi:nth-child(odd){transform:rotate(-2deg)}.gi:nth-child(even){transform:rotate(1.5deg)}
.gi:hover{transform:rotate(0deg) scale(1.03)}
.gi-f{display:block;aspect-ratio:1;overflow:hidden;background:linear-gradient(140deg,#D9A27A,#C4855C)}
.gi-f img{width:100%;height:100%;object-fit:cover;filter:sepia(.2)}
.gi-c{display:block;font:400 .85rem/1.3 var(--hd);padding:10px 2px 12px;color:var(--ink);text-align:center}
.more{margin-top:22px;font:700 1rem/1 var(--hd);text-transform:uppercase}

/* page hero */
.phero{padding:40px 0 50px;border-bottom:3px double var(--ink)}
.phero-g{display:grid;gap:40px;grid-template-columns:minmax(0,1fr)}
@media(min-width:900px){.phero-g{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center}}
.phero-p{position:relative;padding:16px 16px 0 0}
.phero-p .ph{position:relative;aspect-ratio:4/3;border:3px solid var(--ink);box-shadow:10px 10px 0 var(--mustard)}
.phero-p .ph.fill{position:relative;inset:auto}
.pst{right:-14px;bottom:-40px;width:120px;height:120px;background:var(--paper);border-radius:50%}
.crumbs{font:400 .85rem/1 var(--hd);text-transform:uppercase;letter-spacing:.06em;margin-bottom:16px}
.crumbs a{color:var(--muted)}

/* filter bar */
.fbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:22px}
.fbar button{min-height:44px;padding:0 14px;border:2px solid var(--ink);background:var(--surface);font:700 .82rem/1 var(--hd);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;color:var(--ink)}
.fbar button[aria-pressed="true"]{background:var(--ink);color:var(--mustard)}
.shown{font:400 .85rem/1 var(--hd);color:var(--muted);margin-left:6px}
.cgrid{display:grid;gap:22px;grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr))}
.cc{background:var(--surface);border:2px solid var(--ink);display:flex;flex-direction:column;scroll-margin-top:160px}
.cc:target{box-shadow:8px 8px 0 var(--terra)}
.cc .ph{border-bottom:2px solid var(--ink)}
.cc-b{padding:20px;display:flex;flex-direction:column;flex:1}
.cc-d{font:700 .78rem/1 var(--hd);text-transform:uppercase;letter-spacing:.1em;margin:4px 0 6px;color:var(--teal)}
.cc-dates{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.cc-dates li{font-size:.85rem}
.cc-dates a{display:inline-block;padding:4px 8px;border:1px dashed var(--ink);color:var(--ink);text-decoration:none}
.cc-dates a:hover{background:var(--mustard)}
.cc-f{margin-top:auto;display:flex;justify-content:space-between;align-items:center;border-top:2px dashed rgba(42,29,23,.3);padding-top:14px}
.cc-f b{font:700 1.5rem/1 var(--hd)}
.lvls{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.lvl{border-top:6px solid var(--terra);background:var(--surface);padding:20px}
.lvl:nth-child(2){border-color:var(--teal)}.lvl:nth-child(3){border-color:var(--mustard)}.lvl:nth-child(4){border-color:var(--ink)}
.checks{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.checks li{padding:12px 14px 12px 48px;background:var(--surface);border:2px solid var(--ink);position:relative}
.checks li::before{content:"\2713";position:absolute;left:12px;top:10px;width:26px;height:26px;border-radius:50%;border:2px solid var(--terra);color:var(--terra);display:grid;place-items:center;font:700 .9rem/1 var(--hd)}

/* calendar */
.calwrap{display:grid;gap:24px;grid-template-columns:minmax(0,1fr)}
@media(min-width:1000px){.calwrap{grid-template-columns:minmax(0,8fr) minmax(0,4fr);align-items:start}.cal-side{position:sticky;top:150px}}
.cal-main{min-width:0}
.cal-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px}
.cal-bar .btn{min-width:56px;font-size:1.3rem}
.cal-m{margin:0;text-transform:uppercase;font-size:clamp(1.3rem,3vw,2rem);text-align:center}
.cal-grid{display:none}
@media(min-width:760px){.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:2px solid var(--ink);border-left:2px solid var(--ink);background:var(--surface)}.agenda{display:none}}
.cg-h{font:700 .78rem/1 var(--hd);text-transform:uppercase;text-align:center;padding:10px 0;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);background:var(--ink);color:var(--mustard)}
.cg-c{min-height:112px;border-right:1px solid rgba(42,29,23,.35);border-bottom:1px solid rgba(42,29,23,.35);padding:6px;display:flex;flex-direction:column;gap:4px;min-width:0}
.cg-c.empty{background:repeating-linear-gradient(45deg,transparent 0 6px,rgba(42,29,23,.06) 6px 7px)}
.cg-c.gone .cg-d{color:#A6927F}
.cg-c.today{background:#FFF5D9;box-shadow:inset 0 0 0 3px var(--mustard)}
.cg-d{font:700 .95rem/1 var(--hd)}
.chip{display:grid;text-align:left;gap:1px;padding:5px 7px;border:1.5px solid var(--ink);background:var(--paper);cursor:pointer;font:400 .72rem/1.25 var(--bd);color:var(--ink);border-left-width:5px;min-height:44px;width:100%;min-width:0}
.ch-t{font:700 .7rem/1 var(--hd)}
.ch-n{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ch-s{color:var(--muted)}
.cat-nigerian{border-left-color:var(--terra)}.cat-baking{border-left-color:var(--mustard)}.cat-party{border-left-color:#C2477A}.cat-world{border-left-color:var(--teal)}.cat-basics{border-left-color:var(--ink)}.cat-kids{border-left-color:#5C7F2E}
.chip.st-past,.chip.st-full{opacity:.5;background:#EFE6D6}
.chip.on{background:var(--mustard);opacity:1;box-shadow:3px 3px 0 var(--ink)}
.chip:hover{background:#FFF1CC}
.agenda{display:grid;gap:14px}
@media(min-width:760px){.agenda{display:none}}
.ag-day{display:grid;gap:6px;background:var(--surface);border:2px solid var(--ink);padding:12px}
.ag-h{margin:0;font:400 .9rem/1 var(--hd);text-transform:uppercase}
.ag-h b{font-size:1.4rem;color:var(--terra)}
.agenda .chip{font-size:.9rem}
.agenda .ch-n{white-space:normal}
.only{background:var(--mustard);padding:10px 12px;border:2px solid var(--ink)}
.linkbtn{background:none;border:0;padding:0;font:inherit;color:var(--terra);text-decoration:underline;cursor:pointer;min-height:44px}
.tkt-in{position:relative;background:var(--surface);border:2px solid var(--ink);padding:26px 22px 30px;overflow:hidden;-webkit-mask:radial-gradient(circle 16px at 0 60%,transparent 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 16px at 100% 60%,transparent 98%,#000) right/51% 100% no-repeat;mask:radial-gradient(circle 16px at 0 60%,transparent 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 16px at 100% 60%,transparent 98%,#000) right/51% 100% no-repeat}
.tkt-in h3{font-size:1.6rem;padding-right:60px}
.tkt-when{font:700 1rem/1.4 var(--hd);color:var(--teal)}
.tkt-dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}
.tkt-dl div{border-top:1px dashed var(--ink);padding-top:6px}
.tkt-dl dt{font:700 .72rem/1 var(--hd);text-transform:uppercase;color:var(--muted)}
.tkt-dl dd{margin:4px 0 0;font-weight:700}
.tkt-f{display:grid;gap:12px;border-top:2px dashed var(--ink);padding-top:16px}
.tkt-tot{display:flex;justify-content:space-between;font:700 1.2rem/1 var(--hd);margin:0}
.tkt-tot b{color:var(--terra)}
.tkt-no{background:var(--paper);padding:12px;border:1px dashed var(--ink)}
.tkt-ref{font:700 1.2rem/1 var(--hd);background:var(--mustard);display:inline-block;padding:8px 12px;border:2px solid var(--ink)}
.tst{right:-30px;top:-30px;width:120px;height:120px;opacity:.25;color:var(--teal)}

/* packages and voucher */
.pkgs{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.pkg{background:var(--surface);border:2px solid var(--ink);padding:24px;box-shadow:8px 8px 0 var(--teal)}
.pkg:nth-child(2){box-shadow:8px 8px 0 var(--terra)}.pkg:nth-child(3){box-shadow:8px 8px 0 var(--mustard)}
.pkg-p{font:700 1.8rem/1 var(--hd);margin:0;border-top:2px dashed rgba(42,29,23,.3);padding-top:14px}
.vg{display:grid;gap:26px;grid-template-columns:minmax(0,1fr)}
@media(min-width:960px){.vg{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:start}.vprev{position:sticky;top:150px}}
.vform{display:grid;gap:16px;background:var(--surface);border:2px solid var(--ink);padding:22px;min-width:0}
fieldset{border:0;margin:0;padding:0;min-width:0}
legend{font:700 .85rem/1 var(--hd);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opt{position:relative}
.opt input{position:absolute;opacity:0;inset:0;margin:0;width:100%;height:100%;cursor:pointer}
.opt span{display:flex;align-items:center;min-height:44px;padding:6px 14px;border:2px solid var(--ink);background:var(--paper);font:700 .9rem/1.2 var(--hd)}
.opt input:checked+span{background:var(--ink);color:var(--mustard)}
.opt input:focus-visible+span{outline:3px dashed var(--teal);outline-offset:2px}
.voucher{--vi:var(--terra);display:grid;grid-template-columns:minmax(0,1fr) 120px;background:var(--surface);border:3px solid var(--vi);color:var(--ink);position:relative;margin-bottom:22px;box-shadow:10px 10px 0 rgba(42,29,23,.18);-webkit-mask:radial-gradient(circle 14px at calc(100% - 120px) 0,transparent 98%,#000) top/100% 51% no-repeat,radial-gradient(circle 14px at calc(100% - 120px) 100%,transparent 98%,#000) bottom/100% 51% no-repeat;mask:radial-gradient(circle 14px at calc(100% - 120px) 0,transparent 98%,#000) top/100% 51% no-repeat,radial-gradient(circle 14px at calc(100% - 120px) 100%,transparent 98%,#000) bottom/100% 51% no-repeat}
.ink-teal{--vi:var(--teal)}.ink-mustard{--vi:#B07A14}
.v-l{padding:24px;background-image:radial-gradient(color-mix(in srgb,var(--vi) 25%,transparent) 1.2px,transparent 1.4px);background-size:6px 6px}
.v-k{font:700 .8rem/1 var(--hd);text-transform:uppercase;letter-spacing:.2em;color:var(--vi)}
.v-amt{font:700 clamp(2.4rem,6vw,3.6rem)/1 var(--hd);color:var(--vi);margin-bottom:12px}
.v-amt.long{font-size:clamp(1.3rem,3vw,1.7rem);line-height:1.15}
.v-for{font:400 1.05rem/1.3 var(--hd);margin-bottom:6px}
.v-msg{font-style:italic;border-left:3px solid var(--vi);padding-left:10px;overflow-wrap:anywhere}
.v-from{font:400 .9rem/1 var(--hd);margin:0}
.v-r{border-left:2px dashed var(--vi);padding:20px 10px;display:flex;flex-direction:column;justify-content:space-between;text-align:center;font:700 .8rem/1.3 var(--hd);text-transform:uppercase;background:color-mix(in srgb,var(--vi) 12%,var(--surface))}
.v-r p{margin:0}
.v-code{font-size:.75rem;letter-spacing:.06em;writing-mode:vertical-rl;margin:12px auto!important;color:var(--vi)}
.v-exp{font-weight:400}
@media(max-width:480px){.voucher{grid-template-columns:minmax(0,1fr) 84px;-webkit-mask:none;mask:none}.v-code{font-size:.65rem}}

/* forms */
.fld{display:grid;gap:6px;min-width:0}
.fld label{font:700 .82rem/1.2 var(--hd);text-transform:uppercase;letter-spacing:.06em}
input,select,textarea{font:inherit;font-size:16px;min-height:48px;padding:10px 12px;border:2px solid var(--ink);background:#FFFDF8;color:var(--ink);width:100%;border-radius:0}
textarea{min-height:100px}
.two{display:grid;gap:12px}
@media(min-width:600px){.two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.err{display:none;color:#8E2A14;font-size:.85rem;font-weight:700;margin:0}
.fld.bad .err{display:block}
.fld.bad input,.fld.bad textarea{border-color:#8E2A14;background:#FFF1EC}
.form{display:grid;gap:14px;background:var(--surface);border:2px solid var(--ink);padding:22px;min-width:0}
.thanks{background:var(--mustard);border:2px solid var(--ink);padding:24px;box-shadow:6px 6px 0 var(--ink)}
.thanks:focus{outline:none}
.split>div>.ph{margin-top:16px;border:2px solid var(--ink)}

/* faq */
.faq{display:grid;gap:10px;min-width:0}
.faq details{background:var(--surface);border:2px solid var(--ink)}
.faq summary{list-style:none;cursor:pointer;padding:14px 50px 14px 16px;font:700 1rem/1.4 var(--hd);position:relative;min-height:44px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:14px;top:8px;width:28px;height:28px;border:2px solid var(--ink);border-radius:50%;display:grid;place-items:center;font:700 1.1rem/1 var(--hd)}
.faq details[open] summary{background:var(--ink);color:var(--mustard)}
.faq details[open] summary::after{content:"\2212";border-color:var(--mustard)}
.faq details div{padding:14px 16px 4px}

/* recipes */
.rcards{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}
.rcard{display:block;background:var(--surface);border:2px solid var(--ink);padding:26px;color:var(--ink);text-decoration:none;background-image:repeating-linear-gradient(transparent 0 31px,rgba(36,84,79,.18) 31px 32px);transition:transform .2s}
.rcard:hover{transform:rotate(-1deg);color:var(--ink)}
.rc-no{display:inline-block;background:var(--terra);color:var(--surface);font:700 .8rem/1 var(--hd);text-transform:uppercase;padding:6px 10px;margin-bottom:14px}
.rcard dl{display:flex;gap:18px;margin:10px 0 14px}
.rcard dt{font:700 .7rem/1 var(--hd);text-transform:uppercase;color:var(--muted)}
.rcard dd{margin:4px 0 0;font-weight:700}
.rc-go{font:700 .9rem/1 var(--hd);text-transform:uppercase;color:var(--terra)}
.tips{list-style:none;margin:0;padding:0;display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
.tips li{border-top:3px double var(--ink);padding-top:12px}
.tips b{font:700 2rem/1 var(--hd);color:var(--terra)}
.tbox{overflow-x:auto;position:relative;border:2px solid var(--ink);background:var(--surface)}
.tt{border-collapse:collapse;width:100%;min-width:480px}
.tt th,.tt td{padding:12px 14px;text-align:left;border-bottom:1px dashed rgba(42,29,23,.4)}
.tt thead th{background:var(--ink);color:var(--mustard);font:700 .82rem/1 var(--hd);text-transform:uppercase;letter-spacing:.06em}
.rgrid{display:grid;gap:26px;grid-template-columns:minmax(0,1fr)}
@media(min-width:960px){.rgrid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start}.ingr{position:sticky;top:150px}}
.ingr{background:var(--surface);border:2px solid var(--ink);padding:22px;background-image:repeating-linear-gradient(transparent 0 35px,rgba(36,84,79,.15) 35px 36px)}
.sc-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:10px}
.sc-bar h2{margin:0}
.sc{display:flex;align-items:center;gap:8px;font:400 .95rem/1 var(--hd)}
.sc button{width:44px;height:44px;border:2px solid var(--ink);background:var(--mustard);font:700 1.2rem/1 var(--hd);cursor:pointer;color:var(--ink)}
.sc b{font-size:1.3rem}
.ilist{list-style:none;margin:0 0 10px;padding:0}
.ilist label{display:flex;gap:10px;align-items:flex-start;padding:8px 0;cursor:pointer;min-height:36px}
.ilist input{width:20px;height:20px;min-height:0;margin-top:3px;accent-color:var(--terra);flex:none}
.ilist input:checked+span{text-decoration:line-through;color:var(--muted)}
.ilist b{font-family:var(--hd);color:var(--terra)}
.msteps{list-style:none;counter-reset:m;margin:0;padding:0;display:grid;gap:14px}
.msteps li{counter-increment:m;background:var(--surface);border:2px solid var(--ink);padding:18px 18px 14px 70px;position:relative}
.msteps li::before{content:counter(m);position:absolute;left:16px;top:14px;width:38px;height:38px;border-radius:50%;background:var(--terra);color:var(--surface);display:grid;place-items:center;font:700 1.1rem/1 var(--hd)}
.notes p{background:var(--surface);border-left:6px solid var(--mustard);padding:14px 16px}
.nextcard{background:var(--surface);border:2px solid var(--ink);padding:28px;max-width:820px;margin:0 auto;box-shadow:8px 8px 0 var(--teal)}
.ways .tk-n{overflow-wrap:anywhere}
.mapbox{border:2px solid var(--ink)}
.mapbox svg{display:block;width:100%;height:auto}

/* cta */
.ctab{position:relative;overflow:hidden;background:var(--terra);color:var(--surface);border:3px solid var(--ink);padding:44px 28px;box-shadow:12px 12px 0 var(--ink)}
.ctab .kicker{color:var(--mustard)}
.ctab>div{position:relative;max-width:680px}
.ctab .btn{background:var(--mustard);color:var(--ink)}
.ctab .btn.ghost{background:var(--surface)}
.cst{right:-20px;bottom:-30px;width:220px;height:220px;color:rgba(251,244,230,.3)}
@media(min-width:900px){.ctab{padding:60px 64px}}

/* footer */
.ftr{background:var(--ink);color:#EEDFC6;padding:50px 0 24px;border-top:6px solid var(--terra)}
.ftr-mast{text-align:center;border-bottom:3px double #6B5446;padding-bottom:20px;margin-bottom:30px}
.ftr-big{font:700 clamp(3rem,11vw,8rem)/.9 var(--hd);text-transform:uppercase;color:var(--mustard);margin:0;letter-spacing:-.03em}
.ftr-tag{font:400 .85rem/1 var(--hd);text-transform:uppercase;letter-spacing:.3em;margin:12px 0 0}
.ftr-g{display:grid;gap:26px;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}
.ftr h2{font-size:1rem;text-transform:uppercase;letter-spacing:.1em;color:var(--mustard)}
.ftr a{color:#EEDFC6}
.ftr a:hover{color:var(--mustard)}
.ftr .small{color:#C9B79E}
.ftr-bot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;border-top:1px dashed #6B5446;margin-top:28px;padding:16px 70px 0 0;font:400 .82rem/1.3 var(--hd)}
.ftr-bot p{margin:0}
.wa{position:fixed;right:18px;bottom:18px;z-index:70;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#25734A;color:#fff;border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink)}
.wa svg{width:28px;height:28px}
.wa:hover{color:#fff}

/* lightbox */
.lb{position:fixed;inset:0;z-index:400;background:rgba(42,29,23,.94);display:grid;place-items:center;padding:110px 14px 30px}
.lb figure{margin:0;text-align:center;background:var(--surface);padding:12px 12px 0}
.lb img{max-height:66vh;width:auto;margin:0 auto;background:#C4855C;min-width:min(600px,76vw);min-height:280px;object-fit:contain}
.lb figcaption{color:var(--ink);font:400 .95rem/1.3 var(--hd);padding:12px 0}
.lb-x{position:absolute;top:62px;right:16px;min-height:44px;padding:0 16px;border:2px solid var(--ink);background:var(--mustard);font:700 .9rem/1 var(--hd);text-transform:uppercase;cursor:pointer}
.lb-p,.lb-n{position:absolute;top:50%;width:48px;height:48px;border:2px solid var(--ink);background:var(--mustard);font:700 1.5rem/1 var(--hd);cursor:pointer}
.lb-p{left:8px}.lb-n{right:8px}

/* reveals */
.js .rv{transition:opacity .6s ease,transform .6s ease}
.js .rv.pre{opacity:0;transform:translateY(20px)}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.js .rv.pre{opacity:1;transform:none}}
@media(max-width:600px){.sec{padding:54px 0}.wrap{padding:0 16px}.hst{left:-6px;width:120px;height:120px}.arch{box-shadow:8px 8px 0 var(--teal)}}

.ph.mb{margin-top:28px;border:2px solid var(--ink);box-shadow:8px 8px 0 var(--mustard)}
