:root{--color-bg:#fdf8f0;--color-bg-alt:#f5ebd7;--color-surface:#fff;--color-surface-warm:#faf2e1;--color-ink:#3d2e1f;--color-ink-soft:#5c4a38;--color-muted:#8b7355;--color-sage:#7c9a8e;--color-sage-deep:#5a7a6e;--color-gold:#b8860b;--color-gold-soft:#d4a843;--color-gold-hover:#9e6f0a;--color-border:#3d2e1f1f;--color-border-strong:#3d2e1f3d;--font-heading:"Fraunces", Georgia, serif;--font-body:"DM Sans", -apple-system, sans-serif}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--color-bg);color:var(--color-ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.65}h1,h2,h3,h4{font-family:var(--font-heading);letter-spacing:-.025em;color:var(--color-ink);font-variation-settings:"opsz" 144, "SOFT" 50;margin:0 0 1rem;font-weight:600;line-height:1.04}h1{font-size:clamp(2.25rem,5vw + 1rem,4rem)}h2{font-size:clamp(1.75rem,3vw + 1rem,2.75rem);line-height:1.12}h3{letter-spacing:-.015em;font-size:clamp(1.25rem,1vw + 1rem,1.6rem);line-height:1.2}em{font-family:var(--font-heading);font-variation-settings:"opsz" 144, "SOFT" 100;color:var(--color-gold);font-style:italic;font-weight:400}p{color:var(--color-ink-soft);max-width:62ch;margin:0 0 1rem}a{color:var(--color-gold);text-decoration:none}a:hover{color:var(--color-gold-hover);text-decoration:underline}button{font:inherit;cursor:pointer}.wrap{max-width:880px;margin:0 auto;padding:0 clamp(1.25rem,4vw,2rem)}.narrow{max-width:640px;margin:0 auto}.overline{letter-spacing:.14em;text-transform:uppercase;color:var(--color-sage-deep);margin-bottom:.75rem;font-size:.78rem;font-weight:600;display:inline-block}.btn{border:0;border-radius:999px;align-items:center;gap:.5rem;padding:.95rem 1.75rem;font-size:.95rem;font-weight:600;transition:transform .18s,background .18s;display:inline-flex}.btn-primary{background:var(--color-gold);color:#fff;box-shadow:0 4px 12px #b8860b4d}.btn-primary:hover{background:var(--color-gold-hover);transform:translateY(-2px)}.btn-primary:focus-visible{outline:2px solid var(--color-ink);outline-offset:3px}.form-group{margin-bottom:1.5rem}label{color:var(--color-ink);margin-bottom:.5rem;font-weight:600;display:block}input[type=number],input[type=text],select,textarea{border:1px solid var(--color-border-strong);background:var(--color-surface);width:100%;font:inherit;color:var(--color-ink);border-radius:12px;padding:.85rem 1rem}input:focus,select:focus,textarea:focus{outline:2px solid var(--color-gold);outline-offset:1px;border-color:var(--color-gold)}.radio-row{flex-wrap:wrap;gap:1rem;display:flex}.radio-row label{border:1px solid var(--color-border-strong);cursor:pointer;border-radius:12px;flex:1;align-items:center;gap:.5rem;min-width:130px;padding:.75rem 1rem;font-weight:500;display:flex}.radio-row label:has(input:checked){background:var(--color-bg-alt);border-color:var(--color-gold)}.radio-row input[type=radio],.radio-row input[type=checkbox]{margin:0}.evidence-badge{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-items:center;gap:.4rem;padding:.2rem .6rem;font-size:.72rem;font-weight:600;transition:transform .18s;display:inline-flex;text-decoration:none!important}.evidence-badge:hover{transform:scale(1.05)}.evidence-badge.strong{color:#047857;background:#10b9811f}.evidence-badge.suggestive{color:var(--color-gold-hover);background:#b8860b1f}.evidence-badge.speculative{color:#c2410c;background:#f973161f}.safety-notice{border-left:3px solid var(--color-gold);background:#b8860b14;border-radius:12px;margin-bottom:1.5rem;padding:1.25rem 1.5rem}.safety-notice h3{color:var(--color-gold-hover);margin-bottom:.5rem;font-size:1.1rem}.safety-notice p{margin-bottom:.5rem}.day-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;margin-bottom:1rem;padding:1.5rem}.day-card .day-num{font-family:var(--font-heading);color:var(--color-gold);letter-spacing:.05em;font-size:.95rem;font-style:italic}.day-card h4{margin:.25rem 0 .75rem;font-size:1.25rem}.food-card{background:var(--color-surface-warm);border:2px solid var(--color-gold);border-radius:14px;margin:2rem 0;padding:2rem}.food-card .order{flex-direction:column;gap:.5rem;margin:1rem 0;display:flex}.food-card .order-step{background:var(--color-surface);border-radius:10px;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.food-card .order-step .step-num{font-family:var(--font-heading);color:var(--color-gold);min-width:1.75rem;font-size:1.5rem;font-style:italic;font-weight:700}@media print{body{background:#fff}.no-print{display:none!important}.food-card{page-break-inside:avoid;box-shadow:none}}
