.plan-hero{background:linear-gradient(135deg,#c8e8ef,#a9d8e3)}.plan-mascot{place-items:center;height:390px;display:grid;position:relative}.plan-mascot:before{content:"";background:#f7c95d;border-radius:50%;width:330px;height:330px;position:absolute}.plan-mascot img{width:320px;margin-bottom:-70px;position:relative}.plan-mascot span{color:var(--orange);font-size:55px;position:absolute;top:10px;right:25px}.plan-steps{grid-template-columns:.7fr 1.3fr;gap:80px;max-width:1180px;margin:100px auto;padding:0 20px;display:grid}.plan-heading h2,.party-checklist h2,.faq-section h2{letter-spacing:-.05em;margin:15px 0;font-size:clamp(46px,5vw,72px);line-height:.94}.plan-steps ol{grid-template-columns:repeat(3,1fr);gap:16px;margin:0;padding:0;list-style:none;display:grid}.plan-steps li{background:#fff5df;border-radius:25px;flex-direction:column;min-height:265px;padding:28px;display:flex}.plan-steps li:nth-child(2){background:#d7eef2}.plan-steps li:nth-child(3){background:#f4d4df}.plan-steps li>b{color:var(--orange);font-size:11px}.plan-steps li h3{margin:auto 0 12px;font-size:24px}.plan-steps li p{color:var(--muted);margin:0;font-size:13px;line-height:1.6}.party-checklist{background:var(--cream);grid-template-columns:.85fr 1.15fr;align-items:center;gap:90px;padding:95px max(24px,50vw - 590px);display:grid}.party-checklist>div>p{color:var(--muted);max-width:500px;font-size:15px;line-height:1.7}.party-checklist ul{grid-template-columns:1fr 1fr;gap:14px;margin:0;padding:0;list-style:none;display:grid}.party-checklist li{background:#fff;border-radius:16px;padding:20px;font-size:13px;font-weight:900;box-shadow:0 8px 18px #17365f0c}.party-checklist li:before{content:"✓";color:var(--orange);margin-right:10px}.faq-section{grid-template-columns:.7fr 1.3fr;gap:90px;max-width:1180px;margin:95px auto;padding:0 20px;display:grid}.faq-list details{border-bottom:1px solid #dce1e5;padding:20px 0}.faq-list summary{cursor:pointer;justify-content:space-between;gap:20px;font-size:18px;font-weight:900;list-style:none;display:flex}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:var(--orange)}.faq-list details p{color:var(--muted);margin:0;padding:13px 35px 0 0;font-size:14px;line-height:1.7}@media (width<=900px){.plan-steps ol{grid-template-columns:repeat(3,1fr)}}@media (width<=600px){.plan-mascot{height:300px}}@media (width<=600px){.plan-mascot:before{width:250px;height:250px}}@media (width<=600px){.plan-mascot img{width:250px;margin-bottom:-45px}}@media (width<=600px){.plan-steps,.party-checklist,.faq-section{grid-template-columns:1fr}.plan-steps{gap:30px;margin:65px auto}}@media (width<=600px){.plan-steps ol{grid-template-columns:1fr}}@media (width<=600px){.plan-steps li{min-height:190px}}@media (width<=600px){.party-checklist{gap:35px;padding-top:70px;padding-bottom:70px}}@media (width<=600px){.party-checklist ul{grid-template-columns:1fr}}@media (width<=600px){.faq-section{gap:25px;margin:70px auto}}@media (width<=600px){.faq-list summary{font-size:16px}}.booking-builder{grid-template-columns:.72fr 1.28fr;align-items:start;gap:55px;max-width:1180px;margin:90px auto;padding:0 20px;display:grid}.booking-intro{padding:34px 8px}.booking-intro h2{letter-spacing:-.05em;margin:18px 0 24px;font-size:clamp(48px,5vw,72px);line-height:.94}.booking-intro h2 em{color:var(--orange);font-style:normal}.booking-intro>p{color:var(--muted);font-size:16px;line-height:1.7}.booking-points{flex-wrap:wrap;gap:9px;margin-top:28px;display:flex}.booking-points span{background:#edf7f8;border-radius:999px;padding:10px 13px;font-size:11px;font-weight:900}.booking-form{background:#fff5e7;border-radius:30px;grid-template-columns:1fr 1fr;gap:18px;padding:30px;display:grid;box-shadow:0 24px 60px #17365f16}.booking-form label{letter-spacing:.03em;flex-direction:column;gap:8px;font-size:11px;font-weight:900;display:flex}.booking-form input,.booking-form select,.booking-form textarea{width:100%;color:var(--ink);font:inherit;letter-spacing:0;background:#fffdf9;border:1px solid #ead9c4;border-radius:13px;outline:none;padding:14px 15px;font-size:14px}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{border-color:var(--orange);box-shadow:0 0 0 3px #f36a3520}.booking-form textarea{resize:vertical}.booking-form .wide{grid-column:1/-1}.booking-note{color:var(--muted);margin:0;font-size:11px;line-height:1.6}.booking-form button{background:var(--orange);color:#fff;cursor:pointer;border:0;border-radius:999px;padding:17px 22px;font-size:14px;font-weight:900;box-shadow:0 6px #cb4720}.booking-form button:hover{transform:translateY(-2px)}@media (width<=900px){.booking-builder{grid-template-columns:1fr;gap:16px;margin:65px auto}}@media (width<=900px){.booking-intro{padding-bottom:10px}}@media (width<=600px){.booking-builder{padding:0 16px}}@media (width<=600px){.booking-intro{padding:10px 6px}}@media (width<=600px){.booking-intro h2{font-size:48px}}@media (width<=600px){.booking-form{border-radius:24px;grid-template-columns:1fr;padding:22px 17px}}@media (width<=600px){.booking-form label,.booking-form .wide,.booking-note,.booking-form button{grid-column:1}}.food-addons{background:#fffdf9;border:1px solid #ead9c4;border-radius:20px;margin:4px 0 2px;padding:20px}.food-addons legend{color:var(--orange);padding:0 8px;font-size:12px;font-weight:900}.food-addons>p{color:var(--muted);margin:0 0 14px;font-size:11px;line-height:1.5}.food-options{grid-template-columns:1fr 1fr;gap:10px;display:grid}.booking-form .food-option{cursor:pointer;letter-spacing:0;background:#fff;border:1px solid #eee0cf;border-radius:14px;grid-template-columns:22px 1fr;align-items:center;gap:10px;min-height:58px;padding:12px;font-size:11px;line-height:1.35;display:grid;position:relative}.booking-form .food-option:hover{background:#fff8f1;border-color:#f3a47f}.booking-form .food-option input{appearance:none;background:#fff;border:2px solid #d6c6b3;border-radius:6px;width:20px;height:20px;margin:0;padding:0}.booking-form .food-option input:checked{border-color:var(--orange);background:var(--orange);box-shadow:inset 0 0 0 4px #fff}.booking-form .food-option span{color:var(--ink);font-weight:900}@media (width<=600px){.food-addons{padding:17px 13px}}@media (width<=600px){.food-options{grid-template-columns:1fr}}@media (width<=600px){.booking-form .food-option{grid-column:auto}}