:root{--blue:#1f4fa8;--navy:#0f2c6b;--gold:#f2b51c;--cream:#fbf3e4;--orange:#d9772b}
*{box-sizing:border-box}body{margin:0;font-family:"Segoe UI",Arial,sans-serif;background:var(--cream);color:var(--navy);text-align:center}
.hero{background:radial-gradient(circle at top,#fff8ea,#f3e2c2);padding:3rem 1rem 2rem}
.script{font-family:"Brush Script MT",cursive;font-size:clamp(2rem,6vw,3.5rem);margin:0}
h1{display:inline-block;background:var(--blue);color:var(--gold);font-size:clamp(2.5rem,9vw,5rem);letter-spacing:.05em;padding:.3em .8em;border-radius:12px;border:4px solid var(--gold);margin:.4em 0;text-shadow:2px 2px 0 var(--navy)}
.date{font-size:clamp(1.4rem,4vw,2rem);font-weight:700;margin:.3em}.badge{display:inline-block;color:var(--blue);font-weight:800;font-size:1.3rem}
main{max-width:900px;margin:auto;padding:1rem}section{margin:2rem 0}
.card{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 6px 20px rgba(15,44,107,.12)}
.pill{background:var(--blue);color:#fff;padding:.4em 1.2em;border-radius:99px;font-weight:700;text-transform:uppercase;border:2px solid var(--gold)}
.where h2{color:var(--blue);font-size:1.7rem}
.btn{display:inline-block;margin-top:1rem;background:var(--orange);color:#fff;padding:.8em 1.6em;border-radius:99px;text-decoration:none;font-weight:700}.btn:hover{background:var(--blue)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem}
.pie{background:#fff;border-radius:16px;padding:1.5rem;font-weight:800;text-transform:uppercase;box-shadow:0 4px 12px rgba(0,0,0,.08)}.pie span{display:block;font-size:3rem}
.fun ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}.fun li{background:var(--navy);color:#fff;padding:.8em 1.4em;border-radius:12px;font-weight:700;text-transform:uppercase}
.contact a{color:var(--blue);font-weight:700}.role{text-transform:uppercase;letter-spacing:.2em;margin-top:-1rem}.brand{font-weight:700;margin-top:1.5rem}
.flyer img{max-width:100%;width:420px;border-radius:12px;box-shadow:0 6px 20px rgba(0,0,0,.15)}
footer{font-size:.8rem;padding:1.5rem;color:#666}
.notice{background:#fff3d6;border:3px solid var(--orange)}.notice h2{color:var(--orange);margin-top:0}
.form{text-align:left}fieldset{border:0;padding:0;margin:0 0 1rem}legend{font-weight:800;font-size:1.2rem;margin-bottom:.8rem}
label.pie{cursor:pointer;text-align:center;border:3px solid transparent}label.pie input{position:absolute;opacity:0}
label.pie:has(input:checked){border-color:var(--orange);background:#fff8ea}label.pie:has(input:focus-visible){outline:3px solid var(--blue);outline-offset:2px}
.field{margin:.8rem 0}.field label{display:block;font-weight:700;margin-bottom:.3rem}.field input{width:100%;padding:.7em;font-size:1rem;border:2px solid #c9d3e8;border-radius:10px}
.field input:focus{outline:3px solid var(--gold);border-color:var(--blue)}.hint{font-size:.9rem;margin:.2rem 0}.error{color:#b00020;font-weight:700}
button.btn{border:0;font-size:1rem;cursor:pointer}.btn.alt{background:var(--navy)}.pickup{font-size:1.05rem}
.receipt{text-align:left;border:3px dashed var(--blue)}.receipt h2{text-align:center;color:var(--blue)}.ordno{text-align:center;font-size:1.2rem}
.receipt dl{display:grid;grid-template-columns:auto 1fr;gap:.5rem 1rem}.receipt dt{font-weight:800}.receipt dd{margin:0}
@media print{body{background:#fff}header,footer,main>section:not(#order),#orderForm,.noprint,#order>h2{display:none!important}.receipt{box-shadow:none}}
