.halloween-page {
  --request-accent: #ff9d43;
  --request-heading: #251832;
  background: radial-gradient(ellipse at 14% 12%, #4c2755 0, transparent 45%), #17111f;
}
.halloween-page .request-shell { max-width: 1500px; margin: 0 auto; }
.halloween-page .request-hero { position: relative; min-height: auto; padding-top: 3.5rem; padding-bottom: 3rem; }
.halloween-page .request-hero > div { align-items: flex-start; position: relative; max-width: 650px; }
.halloween-eyebrow { color: #ffbd7d; font-weight: 700; text-transform: uppercase; letter-spacing: .13em; font-size: .78rem; margin: 1.6rem 0 1rem; }
.halloween-heading { color: #fff5e8; font-family: "Nunito", sans-serif; font-size: clamp(2.7rem, 4.5vw, 4.8rem); font-weight: 800; line-height: 1.04; letter-spacing: -.045em; margin: 0; }
.halloween-heading strong { display: block; color: #ffad62; }
.halloween-page .request-hero-text { max-width: 470px; color: #d5c8df; }
.halloween-page .request-hero-benefits { font-size: .94rem; }
.halloween-ticket { display: flex; flex-direction: column; border: 1px dashed #a77c58; border-radius: 12px; padding: .9rem 1.35rem; margin-top: 1.8rem; background: #ffae6210; }
.halloween-ticket span { font-size: .76rem; color: #d5c8df; }
.halloween-ticket strong { color: #ffd4a7; font-size: 1.25rem; letter-spacing: .12em; }
.halloween-deadline { color: #d5c8df; font-size: .8rem; line-height: 1.6; margin-top: .8rem; }
.halloween-steps { display: flex; gap: 1.5rem; padding: 1.3rem 0 0; margin: .5rem 0 0; border-top: 1px solid #ffffff26; list-style: none; counter-reset: steps; }
.halloween-steps li { flex: 1; color: #e5d9ed; font-size: .78rem; }
.halloween-steps li::before { counter-increment: steps; content: "0" counter(steps); display: block; color: #ffad62; font-weight: 800; margin-bottom: .4rem; }
.halloween-page .request-card { background: #fffaf3; border: 1px solid #e6d9cb; box-shadow: 0 25px 70px #0005; }
.halloween-page .request-submit { background: #e9832e; color: #211329; border-color: #e9832e; }
.halloween-page .request-submit:hover { background: #ffac63; color: #211329; }
.halloween-page .request-card .form-control:focus, .halloween-page .request-card .form-select:focus { border-color: #a95013; box-shadow: 0 0 0 .2rem #e9832e30; }
.halloween-page .mb-11 { margin-bottom: 1.5rem; }
.halloween-form-intro { margin-bottom: 1.5rem; }
.halloween-form-intro > span { display: inline-block; font-size: .7rem; text-transform: uppercase; letter-spacing: .1em; color: #703805; font-weight: 700; background: #ffe4c5; padding: .35rem .6rem; border-radius: 4px; }
.halloween-page .halloween-form-intro h2 { font-size: 1.65rem; margin: .8rem 0 .4rem; }
.halloween-form-intro p { color: #635569; font-size: .85rem; line-height: 1.5; margin: 0; }
/* A moon and silhouetted bat, drawn without external image dependencies. */
.halloween-moon { position: relative; width: 94px; height: 94px; border-radius: 50%; background: #ffd3a2; box-shadow: 0 0 75px #ffb56e40, inset -14px -5px 0 #f4ae6b; }
.halloween-moon::after { content: ""; position: absolute; width: 78px; height: 36px; left: 43px; top: 20px; background: #21132c; clip-path: polygon(0 0, 30% 23%, 43% 0, 50% 32%, 57% 0, 70% 23%, 100% 0, 89% 61%, 71% 55%, 50% 100%, 29% 55%, 11% 61%); transform: rotate(-15deg); }
@media (min-width: 992px) { .halloween-page .request-hero { width: 50%; } }
@media (max-width: 991.98px) {
  .halloween-page .request-hero { padding: 2rem 1.5rem 1rem; }
  .halloween-page .request-hero > div { align-items: flex-start; text-align: left; }
  .halloween-page .p-10 { padding: 1.5rem; }
  .halloween-page .request-hero-benefits { text-align: left; }
  .halloween-page .request-card { max-width: 650px; }
}
@media (max-width: 400px) { .halloween-page .p-10 { padding: 1rem; } .halloween-steps { gap: .8rem; } }
