:root{--green:#2E5A24;--pink:#DE4FA5;--soft:#FBE6F1;--lpink:#F9BBDD;--deep:#A8236B;--ink:#1E2A19;--mgreen:#4A5A44;--sage:#C9DCC2;--white:#FFFFFF;--logo:'Archivo',sans-serif;--f:'Bricolage Grotesque',sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;font-family:var(--f);background:var(--soft);color:var(--ink);font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:var(--deep)}a:hover{color:var(--green)}
.g a:not(.btn){color:var(--lpink)}.g a:not(.btn):hover{color:var(--white)}
p{margin:0;text-wrap:pretty}
.wrap{max-width:1240px;margin:0 auto;padding:0 28px}
section{padding:104px 0}
.g{background:var(--green);color:var(--soft)}
.p{background:var(--soft);color:var(--ink)}

/* logo */
.wm{font-family:var(--logo);font-weight:800;letter-spacing:-.045em;line-height:1;color:var(--green);text-decoration:none;white-space:nowrap}
.wm b{color:var(--pink);font-weight:800}
.g .wm,.nav .wm{color:var(--soft)}
.g a.wm:hover{color:var(--soft)}
.stack{font-family:var(--logo);font-weight:800;letter-spacing:-.055em;line-height:.8;margin:0;color:var(--soft)}
.stack span{display:block}.stack .t,.stack b{color:var(--pink)}

/* type */
.d{font-family:var(--f);font-weight:800;font-stretch:75%;line-height:.85;letter-spacing:-.02em;text-transform:lowercase;margin:0;color:var(--green)}
.d::after{content:".";color:var(--pink)}
.g .d{color:var(--soft)}
.d.xl{font-size:clamp(64px,10vw,140px)}
.d.l{font-size:clamp(52px,7vw,96px)}
.d.s{font-size:31px;line-height:.9}
.g .d.s{color:var(--lpink)}
.big{font-family:var(--f);font-weight:800;font-stretch:75%;line-height:.86;letter-spacing:-.02em;margin:0;font-size:clamp(60px,10vw,150px)}
.lead{font-size:20px;line-height:1.4;color:var(--mgreen);max-width:44ch}
.g .lead{color:var(--sage)}
.kick{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;flex-wrap:wrap;margin-bottom:48px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:15px 26px;border-radius:99px;font-family:var(--f);font-weight:700;font-size:16px;line-height:1;text-decoration:none;cursor:pointer;border:2px solid var(--ink);box-shadow:0 4px 0 var(--ink);transition:transform .12s ease,box-shadow .12s ease,background-color .15s ease,color .15s ease}
.btn:hover{transform:translateY(2px);box-shadow:0 2px 0 var(--ink)}
.btn:active{transform:translateY(4px);box-shadow:0 0 0 var(--ink)}
.btn:focus-visible{outline:3px solid var(--pink);outline-offset:3px}
.btn-pink{background:var(--pink);color:var(--ink)}.btn-pink:hover{color:var(--ink)}
.btn-green{background:var(--green);color:var(--soft)}.btn-green:hover{color:var(--white)}
.btn-line{border-color:var(--green);color:var(--green);background:var(--white);box-shadow:0 4px 0 var(--green)}.btn-line:hover{background:var(--green);color:var(--soft);box-shadow:0 2px 0 var(--green)}
.g .btn-line{border-color:var(--soft);color:var(--soft);background:transparent;box-shadow:0 4px 0 var(--soft)}.g .btn-line:hover{background:var(--soft);color:var(--green);box-shadow:0 2px 0 var(--soft)}
.g .btn-pink,.nav .btn-pink{border-color:var(--ink)}
.btns{display:flex;gap:12px;flex-wrap:wrap}

/* stickers & pills */
.stk{width:150px;height:150px;border-radius:50%;background:var(--pink);color:var(--ink);display:grid;place-items:center;text-align:center;font-weight:800;font-stretch:75%;font-size:30px;line-height:.84;letter-spacing:-.01em;transform:rotate(10deg);flex-shrink:0}
.pill{display:inline-block;font-size:11.5px;font-weight:700;padding:4px 9px 4px;border-radius:99px;line-height:1;vertical-align:2px;transform:rotate(-4deg);margin-left:7px;white-space:nowrap}
.pill.signature{background:var(--green);color:var(--soft)}
.g .pill.signature{background:var(--lpink);color:var(--green)}
.pill.new{background:var(--deep);color:var(--white);transform:rotate(3deg)}
.pill.local,.pill.limited{border:1.5px solid var(--mgreen);color:var(--mgreen);padding:3px 8px}
.g .pill.local,.g .pill.limited{border-color:var(--sage);color:var(--sage)}

/* cards & blocks */
.card{background:var(--white);border-radius:16px;padding:24px;color:var(--ink);border:2px solid var(--ink);box-shadow:5px 5px 0 var(--ink)}
.g .card{box-shadow:5px 5px 0 var(--pink)}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.card h4{margin:0 0 8px;font-size:13px;font-weight:700;color:var(--deep)}
.pblock{background:var(--pink);color:var(--ink);border-radius:26px;padding:clamp(36px,6vw,72px);display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap}
.pblock p{font-size:20px;max-width:34ch;margin-top:16px}
.pblock a:not(.btn){color:var(--ink)}

/* nav */
.nav{position:sticky;top:0;z-index:50;background:var(--green);color:var(--soft)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:72px;gap:20px}
.nav .wm{font-size:27px}
.nav .links{display:flex;align-items:center;gap:26px}
.nav .links a:not(.btn){color:var(--soft);text-decoration:none;font-weight:600;font-size:15.5px}
.nav .links a:not(.btn):hover{color:var(--lpink)}
.nav .links a.on{color:var(--lpink)}
.nav .btn{padding:11px 20px;font-size:15px;box-shadow:0 3px 0 var(--ink)}
@media(max-width:820px){.nav .links a:not(.btn){display:none}.nav .wm{font-size:23px}}
.mbar{display:none}
@media(max-width:820px){.mbar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;gap:10px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:var(--green)}.mbar .btn{flex:1;padding:14px}body{padding-bottom:74px}}

/* menu */
.mcols{columns:3 300px;column-gap:56px}
.cat{break-inside:avoid;margin-bottom:46px}
.cat .d.s{margin-bottom:14px}
.cat .note{font-size:14px;color:var(--mgreen);margin:-4px 0 14px;line-height:1.4}
.g .cat .note{color:var(--sage)}
.cat .note strong{color:var(--ink)}.g .cat .note strong{color:var(--white)}
.sub{font-size:13px;font-weight:700;color:var(--deep);margin:16px 0 8px}
.g .sub{color:var(--lpink)}
.it{padding:10px 0;break-inside:avoid}
.it .r{display:flex;justify-content:space-between;align-items:baseline;gap:14px}
.it .n{font-weight:700;font-size:17.5px;line-height:1.2}
.g .it .n{color:var(--white)}
.it .sz{font-weight:400;font-size:13px;color:var(--mgreen);margin-left:6px;white-space:nowrap}
.g .it .sz{color:var(--sage)}
.pr{font-weight:800;font-variant-numeric:tabular-nums;color:var(--deep);white-space:nowrap;font-size:17px}
.g .pr{color:var(--lpink)}
.pr small{font-weight:600;font-size:12px;margin-right:3px}
.it .ds{font-size:14.5px;line-height:1.3;color:var(--mgreen);margin-top:3px}
.g .it .ds{color:var(--sage)}
.grid2{display:grid;grid-template-columns:1fr 1fr;column-gap:22px}
.grid2 .it{padding:6px 0}.grid2 .it .n{font-size:15.5px}
.legend{border-top:2px solid var(--green);padding-top:16px;margin-top:8px;font-size:13.5px;color:var(--mgreen);line-height:1.5;max-width:900px}
.g .legend{border-color:var(--lpink);color:var(--sage)}

/* footer */
.foot{background:var(--green);color:var(--soft);padding:88px 0 40px}
.foot .rule{border-top:2px solid var(--lpink);padding-top:30px;margin-top:64px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.foot .wm{font-size:34px;color:var(--soft)}.foot a.wm:hover{color:var(--soft)}
.foot nav{display:flex;gap:22px;flex-wrap:wrap;font-weight:600}
.foot nav a{color:var(--soft);text-decoration:none}.foot nav a:hover{color:var(--lpink)}
.foot .fine{margin-top:22px;font-size:13px;color:var(--sage)}
.foot .big .a{color:var(--soft)}.foot .big .b{color:var(--pink)}

/* aesthetic pass: calmer, softer */
.btn{border:1.5px solid transparent;box-shadow:none;padding:15px 28px;font-weight:600;letter-spacing:.005em}
.btn:hover{transform:translateY(-1px);box-shadow:none}.btn:active{transform:none;box-shadow:none}
.btn-pink:hover{background:var(--lpink)}
.btn-green:hover{background:var(--ink)}
.btn-line{border-color:var(--green);background:transparent;box-shadow:none}.btn-line:hover{box-shadow:none}
.g .btn-line{border-color:var(--sage);box-shadow:none}.g .btn-line:hover{box-shadow:none}
.g .btn-pink,.nav .btn-pink{border-color:transparent}
.nav .btn{box-shadow:none}
.card,.g .card{border:0;box-shadow:none;border-radius:20px}
.stk{transform:rotate(8deg);font-size:26px;width:132px;height:132px}
.pill,.pill.new{transform:none}

/* readable buttons */
.btn{padding:17px 30px;font-size:17px;font-weight:800;letter-spacing:0;border:0}
.btn-pink{background:var(--pink);color:var(--ink)}.btn-pink:hover{background:var(--lpink);color:var(--ink)}
.btn-green{background:var(--green);color:var(--white)}.btn-green:hover{background:var(--ink);color:var(--white)}
.btn-line,.g .btn-line,.hero .btn-line{background:var(--white);color:var(--green);border:0}
.btn-line:hover,.g .btn-line:hover{background:var(--green);color:var(--white)}
.res .btn-line{background:var(--white);color:var(--green)}
.nav .btn{padding:12px 22px;font-size:16px}
.mbar .btn{font-size:17px}
/* allergen codes */
.it .al{font-weight:700;color:var(--deep)}.g .it .al{color:var(--lpink)}

/* live status: green when open, pink when closed */
.live.is-open{background:rgba(46,90,36,.35);color:var(--white);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.35)}
.live.is-closed{background:rgba(251,230,241,.25);color:var(--white);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.35)}
.live.is-open i{background:#8FE38A;animation-name:pulse-open}
.live.is-closed i{background:var(--pink)}
@keyframes pulse-open{0%{box-shadow:0 0 0 0 rgba(143,227,138,.6)}70%{box-shadow:0 0 0 10px rgba(143,227,138,0)}100%{box-shadow:0 0 0 0 rgba(143,227,138,0)}}
b[data-status].is-open,p[data-status].is-open{color:var(--green)}
.res b[data-status].is-open{color:var(--green)}

/* cookie consent */
.ck{position:fixed;left:16px;bottom:16px;z-index:70;max-width:380px;background:var(--ink);color:var(--soft);padding:18px 20px;border-radius:18px;box-shadow:0 18px 50px rgba(0,0,0,.35);display:none;font-size:15px;line-height:1.4}
.ck.on{display:block}
.ck p{margin:0 0 14px}
.ck .btns{display:flex;gap:10px;flex-wrap:wrap}
.ck button{font:inherit;cursor:pointer}
.ck .btn{padding:10px 16px;font-size:14px;box-shadow:none}
.ck .btn-line{border-color:var(--soft);color:var(--soft);background:transparent}
@media(max-width:820px){.ck{left:10px;right:10px;max-width:none;bottom:calc(74px + env(safe-area-inset-bottom))}}
