/* Crave redesign (Figma 0HrxGzefFpbAjWlGw7X4ED). Tokens from Figma. */
:root{--bg:#faf2e3;--card:#fffbf2;--or:#d45921;--ink:#33291f;--body:#4a3f35;--mut:#6e5e4f;--ln:#e0cfb2;--ln2:#e8dbc9;--peach:#fcedd6;--track:#f2e0ba;--r:14px}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--ink);font-size:14px;line-height:1.45}
a{color:inherit}.hidden{display:none!important}
.wrap{max-width:440px;margin:0 auto;padding:0 16px}
.top{border-bottom:1px solid var(--ln2);background:var(--bg)}
.topin{display:flex;align-items:center;justify-content:space-between;height:54px}
.brand{display:flex;align-items:center;gap:9px;font-weight:700;font-size:20px;text-decoration:none}
.logo{width:28px;height:28px;border-radius:8px;background:var(--or);display:grid;place-items:center}
.heart{display:grid}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--or);margin-bottom:8px}
.hero{padding:22px 0 8px}
h1{font-size:33px;line-height:1.1;font-weight:700;letter-spacing:-.3px;margin-bottom:8px}
h2{font-size:21px;line-height:1.2;font-weight:700}
.lead{font-size:14px;color:var(--body);margin-bottom:30px}
.ticks{list-style:none;display:grid;gap:9px;margin-bottom:12px}
.ticks li{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--body)}
.tk{width:17px;height:17px;border-radius:50%;background:var(--peach);color:var(--or);font-size:10px;font-weight:700;display:grid;place-items:center;flex:none}
.btn{display:block;width:100%;border:0;border-radius:var(--r);background:var(--or);color:#fff;font:700 15px/1 Inter,sans-serif;padding:16px 10px;text-align:left;cursor:pointer;text-decoration:none}
.btn:hover{filter:brightness(1.05)}.btn:disabled{opacity:.6}
.fine{font-size:11px;color:var(--mut);margin-top:10px;padding:0 8px}
.foodpic{display:block;margin:20px 0;border-radius:var(--r);overflow:hidden;border:1px solid var(--ln);background:#e5ded1}
.foodpic img{display:block;width:100%;height:auto;aspect-ratio:342/158;object-fit:cover}
.card{background:var(--card);border:1px solid var(--ln);border-radius:var(--r);padding:16px 16px 20px;margin-bottom:12px}
.body{color:var(--body);font-size:12px;margin:8px 0 12px}
.what h2{margin-top:2px}
.feat{display:flex;gap:12px;align-items:flex-start;margin-top:14px}
.feat b{display:block;font-size:12px}.feat small{font-size:10px;color:var(--body)}
.fi{width:30px;height:30px;border-radius:50%;background:var(--peach);display:grid;place-items:center;flex:none}
.fi .ring{width:12px;height:12px;border-radius:50%;border:3px solid var(--or)}.fi .solid{width:11px;height:11px;border-radius:50%;background:var(--or)}
.fi .pin{color:var(--or);font-style:normal;font-size:14px}
.letter{position:relative;margin:12px 0;background:#fffbf2 repeating-linear-gradient(#fffbf2 0 16px,var(--ln2) 16px 17px);background-position:0 6px;border:1px solid var(--ln);border-left:0;border-radius:0 var(--r) var(--r) 0;padding:12px 14px 12px 12px;font-size:10px;line-height:17px;color:var(--body)}
.letter:before{content:"";position:absolute;left:0;top:0;bottom:0;border-left:2px solid #e8b2a1}
.letter p+p{margin-top:17px}
.hi,.sig{font-family:"Dancing Script",cursive;color:var(--or);font-weight:700}
.hi{font-size:17px;line-height:30px}.sig{font-size:18px}.letter p.role{margin-top:0;font-size:9px;color:var(--mut)}
.pol{float:right;width:84px;margin:-4px -2px 8px 10px;background:#fff;border:1px solid var(--ln);padding:5px 5px 2px;transform:rotate(2deg);box-shadow:0 4px 10px rgba(51,41,31,.12);text-align:center}
.pol img{display:block;width:72px;height:72px;object-fit:cover}.pol span{font:italic 8px/16px Inter,sans-serif;color:var(--mut)}
.ff{border-color:#f5bd66;border-radius:18px}
.ffhead{display:flex;align-items:center;gap:6px;margin-bottom:12px}
.badge{width:54px;height:54px;border-radius:50%;background:var(--or);display:grid;place-items:center;box-shadow:0 0 0 5px var(--peach)}
.fftag{font-size:10px;font-weight:700;color:var(--or);text-transform:uppercase;align-self:flex-start;margin-top:4px}
.ticks.sm li{font-size:11px}
.bar{height:8px;border-radius:4px;background:var(--track);overflow:hidden;margin:12px 0 6px}.bar i{display:block;height:100%;background:var(--or);border-radius:4px;transition:width .6s}
.spots{font-size:10px;font-weight:700;margin-bottom:12px}
.faq h2{font-size:21px}.faq .body{font-size:12px}
.fq{border-top:1px solid var(--ln);font-size:11px}
.fq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;padding:6px 0;font-weight:500}
.fq summary::-webkit-details-marker{display:none}
.chev{color:var(--mut);transition:transform .2s}.fq[open] .chev{transform:rotate(180deg)}
.fq p{color:var(--body);padding:0 0 10px;font-size:12px}
.foot{border-top:1px solid var(--ln);padding:8px 16px 28px;font-size:10px}.foot p{color:var(--mut);margin-top:6px}.foot a{text-decoration:none;margin-left:8px}
/* survey */
.narrow{padding-top:16px;padding-bottom:30px}
.qcard{padding:18px 16px}
.qh{display:flex;align-items:center;gap:12px}.qh h2{font-size:20px}
.qb{width:34px;height:34px;border-radius:50%;background:var(--or);color:#fff;font-weight:700;display:grid;place-items:center;flex:none}
.prog{display:flex;justify-content:space-between;font-size:11px;font-weight:700;color:var(--body);margin-top:14px}
.prog+.bar{margin-top:6px;margin-bottom:18px}
fieldset{border:0;margin:0 0 14px}
legend,.ql{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:8px;display:block}
.opt{font-weight:400;color:var(--mut)}
.op{display:flex;align-items:center;gap:12px;border:1px solid var(--ln);border-radius:10px;background:#fff;padding:10px 12px;margin-bottom:8px;font-size:12px;color:var(--body);cursor:pointer;min-height:40px}
.op input{position:absolute;opacity:0;pointer-events:none}
.dot{width:16px;height:16px;border-radius:50%;border:1.5px solid var(--ln);flex:none;display:grid;place-items:center;background:#fff}
.op input[type=checkbox]+.dot{border-radius:4px}
.op:has(input:checked){background:var(--peach);border-color:var(--or)}
.op input:checked+.dot{border-color:var(--or);background:var(--or);box-shadow:inset 0 0 0 3px #fff}
.op input[type=checkbox]:checked+.dot{box-shadow:none}.op input[type=checkbox]:checked+.dot:after{content:"✓";color:#fff;font-size:11px;font-weight:700}
.op input:focus-visible+.dot{outline:2px solid var(--or);outline-offset:2px}
.txt{display:block;width:100%;border:1px solid var(--ln);border-radius:12px;background:#fff;padding:12px 14px;font:16px Inter,sans-serif;color:var(--ink);margin-bottom:10px}
textarea.txt{min-height:86px;resize:vertical;margin-bottom:24px}
.txt:focus{outline:2px solid var(--or);border-color:transparent}
#otherText{margin-top:-2px}
.err{color:#b3261e;font-size:12px;min-height:0}.err:empty{display:none}
.status{font-size:12px;margin-top:8px}.status.bad{color:#b3261e}
.back{background:none;border:0;font:700 18px Inter,sans-serif;color:var(--mut);margin-top:14px;cursor:pointer;padding:0}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.note{background:var(--peach);border-radius:10px;padding:10px 12px;font-size:12px;margin-bottom:14px}
.thanks{text-align:center;padding-top:20vh;padding-bottom:60px}
.okc{width:110px;height:110px;border-radius:50%;background:var(--peach);display:grid;place-items:center;margin:0 auto 16px}
.okc span{width:86px;height:86px;border-radius:50%;background:var(--or);color:#fff;font-size:40px;font-weight:700;display:grid;place-items:center}
.thanks h2{font-size:33px}.t1{font-size:16px;color:var(--body);margin:12px 0}.t2{font-size:14px;color:var(--body);max-width:300px;margin:0 auto 30px}
.btn.wa{background:#25d366;text-align:center;max-width:310px;margin:0 auto}
.back.c{font-size:15px}
/* tablet / laptop */
@media(min-width:700px){.wrap{max-width:620px}.narrow{max-width:520px}h1{font-size:44px}.lead{font-size:16px}.letter{font-size:12px;line-height:20px;background-image:repeating-linear-gradient(#fffbf2 0 19px,var(--ln2) 19px 20px)}.letter p+p{margin-top:20px}.pol{width:120px}.pol img{width:108px;height:108px}.body{font-size:14px}.fq{font-size:13px}.ticks li{font-size:15px}}
@media(min-width:1000px){.wrap{max-width:1080px}.narrow{max-width:520px}
 .grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 36px;align-items:start;padding-top:20px}
 .hero{grid-column:1;padding-top:40px}.foodpic{grid-column:2;margin:40px 0 0}.foodpic img{aspect-ratio:16/11}
 .what{grid-column:1}.ff{grid-column:2}.letter{grid-column:1;grid-row:3/5;margin:0}.faq{grid-column:2}
 h1{font-size:52px}.foot{max-width:1080px}}
