


:root{--background:#faf8fb;--foreground:#2e1536;--card:#fff;--card-foreground:#2e1536;--popover:#fff;--popover-foreground:#2e1536;--primary:#5c286a;--primary-foreground:#fff;--secondary:#f0eaf3;--secondary-foreground:#3f2048;--muted:#f0eaf3;--muted-foreground:#695e6e;--accent:#f0eaf3;--accent-foreground:#3f2048;--destructive:#a92038;--border:#ded5e3;--input:#cbbdd1;--ring:#995cac;--radius:.6rem}

*{box-sizing:border-box}body{margin:0;background:var(--background);color:var(--foreground);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.55}button,input,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}header{max-width:1280px;margin:auto;padding:25px 48px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:13px;color:#52205f;font-family:Georgia,serif;font-size:25px;font-weight:bold}.brand small{display:block;font:11px Arial,sans-serif;letter-spacing:3px;margin-top:2px}.kitchen{display:flex;gap:7px;align-items:center;font-size:14px;color:#6e5f72}.layout{max-width:1280px;margin:0 auto;padding:48px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:64px;align-items:start}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:700;color:#824c90}.intro h1{font:44px/1.13 Georgia,serif;letter-spacing:-1.6px;margin:19px 0 20px}.intro h1 em{color:#743985;font-weight:normal}.intro>p{max-width:455px;color:#6a5b70}.facts{display:flex;gap:42px;padding:16px 0 25px}.facts span{font-size:14px;color:#6a5b70}.facts strong{display:block;font:27px Georgia,serif;color:#45204f;margin-bottom:3px}figure{margin:0}figure img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;border-radius:16px}figcaption{font-size:12px;color:#716578;margin-top:8px}.special{display:flex;gap:13px;background:#f3e9cd;border:1px solid #e7d9ad;padding:18px;border-radius:12px;margin-top:25px;color:#59421d}.special svg{flex-shrink:0;margin-top:3px}.special strong{font-size:16px}.special p{font-size:14px;margin:5px 0 0}.intro .storage{font-size:14px;margin-top:18px}.survey{background:white;border:1px solid #e4dbe8;border-radius:20px;padding:32px;box-shadow:0 12px 40px #40204d08;scroll-margin-top:20px}.survey h2{font:29px/1.2 Georgia,serif;letter-spacing:-.6px;margin:12px 0 8px}.survey-heading>p{font-size:14px;color:#746878;margin:0}.steps{display:flex;gap:5px;margin:25px 0 27px;border-bottom:1px solid #e9e1ed;padding-bottom:17px}.steps button{flex:1;display:flex;gap:7px;align-items:center;background:none;border:0;padding:0;color:#817586;font-size:12px;text-align:left}.steps b{display:grid;place-items:center;width:25px;height:25px;flex-shrink:0;border-radius:50%;background:#f0ebf3}.steps [aria-current]{color:#612d70;font-weight:bold}.steps [aria-current] b{background:#602a70;color:#fff}.field,fieldset{display:block;margin:0 0 23px;border:0;padding:0;font-size:14px;font-weight:600}legend{margin-bottom:10px;font-size:14px}input:not([type=checkbox]):not([type=radio]),textarea{display:block;width:100%;border:1px solid #dcd1e2;border-radius:8px;padding:11px 13px;margin-top:9px;background:#fdfcfe;color:#35253c;font-size:16px;font-weight:400}textarea{min-height:88px;resize:vertical}input:focus,textarea:focus{outline:2px solid #b583c6;outline-offset:2px}::placeholder{color:#95889b;font-size:14px}.choices{display:flex;flex-wrap:wrap;gap:8px}.choice{display:flex;align-items:center;gap:8px;border:1px solid #e2d7e8;border-radius:7px;padding:9px 11px;font-size:14px;font-weight:400;cursor:pointer}.choice:has([data-state=checked]){background:#f3eaf7;border-color:#a776b7;color:#59236a}.form-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:18px}.form-actions small{font-size:12px;color:#83768a}.primary{border:0;border-radius:8px;background:#622a73;color:white;padding:12px 25px;font-size:15px;font-weight:bold}.primary:hover{background:#462052}.primary:disabled{opacity:.6;cursor:wait}.back{border:1px solid #ded2e4;padding:10px 18px;border-radius:8px;background:white}.privacy{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;color:#86798e;margin:20px 0 0}.note{display:flex;gap:10px;background:#f5f0f8;padding:12px;border-radius:9px;margin-bottom:20px}.note svg{flex-shrink:0;margin-top:3px}.note p{margin:0;font-size:14px}.help{font-size:13px;color:#75617d;margin:-12px 0 22px}.error{color:#a21e3a;font-size:14px}.success{padding:40px 0;min-height:520px}.success-icon{width:65px;height:65px;border-radius:50%;background:#f3e9cd;display:grid;place-items:center;color:#705522;margin-bottom:30px}.success h2{font-size:40px}.success p{color:#75647c}footer{max-width:1184px;margin:5px auto 0;padding:25px 0;display:flex;gap:9px;border-top:1px solid #e5dce9;font-size:14px;color:#77637f}footer span{margin-left:auto;font-size:12px}.admin{max-width:1150px;margin:auto;padding:40px 30px}.admin h1{font:38px Georgia,serif}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:25px 0}.metric,.response{padding:22px;background:white;border:1px solid var(--border);border-radius:12px}.metric strong{display:block;font-size:30px}.response{margin:15px 0}.response summary{cursor:pointer;font-weight:bold}.response dl{display:grid;grid-template-columns:180px 1fr;gap:12px}.response dt{font-weight:bold}.response dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.allergy{color:#a21e3a}.empty{padding:35px;background:white;border:1px dashed #c5b1ce;border-radius:12px}[hidden]{display:none!important}
@media(max-width:900px){.layout{gap:30px;padding:32px;grid-template-columns:1fr 1.1fr}.intro h1{font-size:35px}.survey{padding:23px}.facts{gap:25px}header{padding:20px 32px}footer{margin:0 32px}.steps button{font-size:11px;gap:4px}}
@media(max-width:680px){header{padding:18px 20px}.brand{font-size:23px}.layout{display:flex;flex-direction:column;padding:26px 20px;gap:25px}.intro h1{font-size:36px}.intro>p{margin-bottom:12px}.intro figure,.special,.storage{display:none}.facts{padding-bottom:0}.survey{width:100%;padding:23px 19px}.survey h2{font-size:27px}.steps button{font-size:12px}.privacy{font-size:11px}footer{margin:0 20px;flex-wrap:wrap}footer span{margin-left:0;width:100%}.metrics{grid-template-columns:1fr}.response dl{grid-template-columns:1fr;gap:5px}.response dd{margin-bottom:12px}.intro figure{display:block;margin-top:12px}.intro figure img{aspect-ratio:2.8/1}.intro figcaption{font-size:11px}.admin{padding:25px 20px}}

.choice input[type=checkbox],.choice input[type=radio]{width:17px;height:17px;accent-color:#622a73}.choice:has(input:checked){background:#f3eaf7;border-color:#a776b7}.steps button.active{color:#612d70;font-weight:bold}.steps button.active b{background:#602a70;color:white}.admin h2{font-family:Georgia,serif}.admin input{max-width:440px}.admin button{margin-top:15px}.response summary{overflow-wrap:anywhere}
/* Phone-first refinements: generous targets and the survey near the top. */
button,.choice,.kitchen{min-height:44px}
.choice{min-height:48px}
.choice input{flex-shrink:0}
button:focus-visible,a:focus-visible{outline:3px solid #a776b7;outline-offset:3px}
@media(max-width:680px){
 header{padding:12px 16px;gap:12px;flex-wrap:wrap}
 .brand{font-size:22px;gap:9px}.brand small{font-size:11px;letter-spacing:2px}
 .kitchen{padding:10px 4px;font-size:14px}
 .layout{padding:16px 12px;gap:16px}
 .intro{width:100%}.intro>.eyebrow,.intro>p,.intro figure,.intro .special{display:none}
 .intro h1{font-size:27px;line-height:1.2;letter-spacing:-.5px;margin:0 4px 12px}
 .facts{padding:0 4px;gap:26px;flex-wrap:wrap}.facts strong{font-size:22px}.facts span{font-size:14px}
 .survey{padding:22px 16px;border-radius:14px;min-width:0}
 .survey h2{font-size:27px}.survey .eyebrow{font-size:12px;letter-spacing:1.2px}
 .steps{margin:18px 0 22px;gap:8px;padding-bottom:12px}
 .steps button{min-width:0;min-height:62px;flex-direction:column;justify-content:center;text-align:center;font-size:14px;line-height:1.25;gap:6px}
 .field,legend{font-size:16px}.choices{gap:9px}.choice{font-size:16px;padding:11px 12px;max-width:100%;overflow-wrap:anywhere}
 input:not([type=checkbox]):not([type=radio]),textarea{font-size:16px;padding:13px;min-height:48px}
 textarea{min-height:100px}::placeholder{font-size:16px}
 .form-actions{flex-wrap:wrap;gap:10px}.form-actions .primary{flex:1;min-height:50px;padding:13px 16px;font-size:16px}
 .form-actions .back{min-height:50px;padding:12px 18px;font-size:16px}.form-actions small{font-size:13px}
 .privacy{font-size:13px;line-height:1.5;text-align:center}.help{font-size:14px;line-height:1.5}
 .admin{padding:20px 16px}.admin h1{font-size:30px}.response{padding:16px}.response summary{min-height:44px}
 footer{margin:0 16px;padding-bottom:calc(20px + env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
