/* Scoped banquet landing page; shared navigation and buttons stay untouched. */
.banquet-page{--banquet-ink:#08264c;--banquet-mint:#d8f4e9;--banquet-paper:#faf9f6;color:#30343b;background:linear-gradient(#4558a1 80px,var(--banquet-paper) 80px)}
.banquet-page .band-wrap{max-width:1248px;padding-inline:40px}
.banquet-page section{padding:80px 0}
.banquet-page .band-hero{padding:48px 0 72px}
.banquet-page .band-hero-inner{background:none;padding:0;border-radius:0;grid-template-columns:1.08fr 1fr;gap:56px}
.banquet-page h1{font-size:clamp(40px,4.3vw,64px);letter-spacing:-.035em;line-height:1.04;max-width:14ch;color:var(--banquet-ink);margin:20px 0 28px}
.banquet-page h1 span{color:#4558a1}
.banquet-page h2{font-size:clamp(30px,3vw,42px);letter-spacing:-.025em;color:var(--banquet-ink);max-width:24ch;margin-bottom:20px}
.banquet-page h3{color:var(--banquet-ink);font-size:25px;letter-spacing:-.015em}
.banquet-page p{font-size:19px;line-height:1.6}
.banquet-page .band-kicker{font-size:var(--site-eyebrow-size);line-height:1.4;color:#4558a1;font-weight:600}
.banquet-page .band-hero-inner>div>p:not(.band-kicker){max-width:43ch}
.banquet-page .band-button{padding:17px 27px;min-height:58px;font-size:18px}
.banquet-page .banquet-secondary{display:block;width:fit-content;margin-top:20px;font-size:17px;text-decoration:none;font-weight:600}
.banquet-secondary span{margin-left:10px}
.banquet-art{position:relative;min-height:480px;background:#e4e9fc;border-radius:48% 48% 24px 24px;isolation:isolate}
.banquet-art:before{content:'';position:absolute;inset:15% -4% 12%;border:3px solid #82cdb2;border-radius:50%;transform:rotate(-23deg);z-index:-1}
.banquet-art img{position:absolute;height:auto;object-fit:contain}
.banquet-art>img:first-of-type{width:96%;left:-5%;top:8%;transform:rotate(-9deg);filter:drop-shadow(0 12px 12px #08264c12)}
.banquet-art .banquet-art-ticket{width:88%;right:-5%;bottom:18%;transform:rotate(10deg)}
.banquet-art .banquet-art-shirt{width:45%;left:-7%;bottom:-5%;transform:rotate(-12deg)}
.banquet-art .banquet-art-pizza{width:30%;right:-2%;top:-7%;transform:rotate(12deg)}
.banquet-art-note{position:absolute;right:18px;bottom:21px;font-size:16px;font-weight:600;color:#4558a1}
.banquet-page .band-tint{background:#eef0fa}
.banquet-page section>.band-wrap>p{max-width:64ch}
.banquet-calculator{display:grid;grid-template-columns:1.15fr 1fr;gap:56px;background:#fff;border-radius:24px;padding:40px;margin-top:32px;color:var(--banquet-ink)}
.banquet-controls>label:first-child,.banquet-controls legend{font-size:18px;font-weight:600}
.banquet-controls input[type=number]{display:block;width:100%;max-width:100%;min-height:56px;margin:10px 0 24px;border:1px solid #7483a0;border-radius:10px;padding:12px 16px;font:inherit;font-size:23px;background:#fff;color:var(--banquet-ink)}
.banquet-controls fieldset{border:0;padding:0;margin:0 0 24px;min-width:0}
.banquet-controls legend{margin-bottom:10px}
.banquet-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.banquet-options label{display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;border:1px solid #7483a0;border-radius:10px;padding:10px;cursor:pointer;font-size:17px}
.banquet-options label:has(input:checked){background:#e7ecff;border-color:#4558a1;box-shadow:inset 0 0 0 1px #4558a1}
.banquet-options input,.banquet-checkbox input{accent-color:#4558a1;width:19px;height:19px;flex-shrink:0}
.banquet-options label:focus-within,.banquet-controls input:focus-visible{outline:3px solid #08264c;outline-offset:4px}
.banquet-checkbox{display:flex;align-items:center;gap:10px;cursor:pointer;min-height:44px;font-size:16px}
.banquet-page .banquet-small{font-size:14px;line-height:1.55;margin:18px 0 0;color:#485466}
.banquet-result{position:relative;background:var(--banquet-mint);border-radius:16px;padding:40px 32px;align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.banquet-result:before{display:none}
.banquet-result strong{display:block;font-size:clamp(48px,6vw,82px);letter-spacing:-.045em;line-height:1.1;overflow-wrap:anywhere;margin:4px 0 24px}
.banquet-result>p:first-child{font-size:17px;font-weight:600;margin:0}
.banquet-result #banquet-equation{font-size:17px;max-width:28ch;margin-bottom:48px}
.banquet-result .banquet-small{margin-top:0;padding-top:20px;border-top:2px dashed #7cbca7}
.banquet-error{color:#a01830;font-size:16px}
.banquet-cost{display:grid;grid-template-columns:140px 1fr 120px;align-items:center;gap:48px;max-width:1000px;margin:auto}
.banquet-cost>img{width:100%;height:180px;object-fit:contain}
.banquet-cost>img:first-child{transform:rotate(-12deg)}
.banquet-page .banquet-feature-grid{gap:32px;margin-top:36px}
.banquet-feature-grid>div{border:0;background:#faf9f6;border-radius:20px;padding:28px}
.banquet-feature-grid>div>img,.banquet-merch{width:100%;height:180px;object-fit:contain;margin-bottom:24px}
.banquet-merch{display:flex;align-items:center}
.banquet-merch img{width:50%;height:100%;object-fit:contain}
.banquet-feature-grid p:last-child{margin-bottom:0}
.banquet-page .band-cta{padding:56px;background:#d8f4e9;border-radius:24px;max-width:none;text-align:left}
.banquet-page .band-cta h2{max-width:none;margin-top:12px}
.banquet-page .band-cta>p{max-width:54ch}
@media(max-width:900px){.banquet-page .band-hero-inner{gap:32px}.banquet-art{min-height:380px}.banquet-calculator{gap:28px;padding:28px}.banquet-cost{gap:24px;grid-template-columns:90px 1fr 80px}.banquet-page .band-grid{gap:20px}}
@media(max-width:767px){.banquet-page .band-wrap{padding-inline:22px}.banquet-page section{padding:48px 0}.banquet-page .band-hero{padding:28px 0 48px}.banquet-page .band-hero-inner{grid-template-columns:1fr;gap:40px}.banquet-page h1{font-size:44px;max-width:16ch}.banquet-page p{font-size:17px}.banquet-art{min-height:350px;margin:0 12px 0 8px}.banquet-page h2{font-size:32px}.banquet-calculator{grid-template-columns:1fr;gap:28px;padding:22px;margin-top:24px}.banquet-options{gap:7px}.banquet-options label{font-size:15px;padding:8px 4px;gap:5px}.banquet-result{padding:28px 24px}.banquet-result strong{font-size:64px}.banquet-result #banquet-equation{margin-bottom:40px}.banquet-result:before{bottom:78px}.banquet-cost{grid-template-columns:1fr 1fr;gap:16px}.banquet-cost>div{grid-column:1/-1;grid-row:1}.banquet-cost>img{height:100px}.banquet-feature-grid>div{padding:24px}.banquet-page .band-cta{padding:28px}.banquet-page .band-button{font-size:16px;max-width:100%}}
@media(max-width:359px){.banquet-page h1{font-size:38px}.banquet-art{min-height:290px}.banquet-calculator{padding:16px}.banquet-options label{font-size:14px}.banquet-result strong{font-size:52px}}
/* Keep the phone hero focused on the award and event ticket. */
@media(max-width:767px){
  .banquet-art{min-height:290px;background:#e4e9fc;border-radius:24px;margin:0 4px}
  .banquet-art:before,.banquet-art .banquet-art-shirt,.banquet-art .banquet-art-pizza,.banquet-art-note{display:none}
  .banquet-art>img:first-of-type{width:96%;left:0;top:0;transform:rotate(-4deg);filter:none}
  .banquet-art .banquet-art-ticket{width:82%;right:0;bottom:8%;transform:rotate(4deg)}
}
@media(max-width:359px){.banquet-art{min-height:240px}}

/* Revenue estimate styled as an admission ticket; decorations carry no data. */
.banquet-result{padding:0;justify-content:initial;border-radius:18px;background:#d8f4e9;border:1px solid #9dcab8;min-width:0}
.banquet-ticket-body{padding:36px 32px 28px;flex:1;display:flex;flex-direction:column;justify-content:center}
.banquet-ticket-body>p:first-child{font-size:17px;font-weight:600;margin:0}
.banquet-result #banquet-equation{margin-bottom:0}
.banquet-ticket-stub{position:relative;border-top:2px dashed #75ab96;padding:26px 32px 28px;background:#ccebdc;border-radius:0 0 17px 17px}
.banquet-ticket-stub:before,.banquet-ticket-stub:after{content:'';position:absolute;top:-15px;width:28px;height:28px;background:#fff;border-radius:50%;pointer-events:none}
.banquet-ticket-stub:before{left:-15px}
.banquet-ticket-stub:after{right:-15px}
.banquet-ticket-bars{display:block;width:104px;height:26px;margin-bottom:14px;opacity:.65;background:repeating-linear-gradient(90deg,#08264c 0 2px,transparent 2px 5px,#08264c 5px 6px,transparent 6px 9px,#08264c 9px 13px,transparent 13px 16px)}
.banquet-result .banquet-small{border:0;padding:0;margin:0;max-width:33ch}
@media(max-width:767px){.banquet-ticket-body{padding:28px 24px}.banquet-ticket-stub{padding:24px}.banquet-ticket-bars{height:22px}}
@media(forced-colors:active){.banquet-result,.banquet-ticket-stub{border-color:CanvasText}.banquet-ticket-stub:before,.banquet-ticket-stub:after,.banquet-ticket-bars{display:none}}

/* Cost explanation reads as one editorial section, without floating props. */
.banquet-cost{display:block;max-width:800px;border-left:4px solid #9dcab8;padding-left:32px}
.banquet-cost>div{display:grid;grid-template-columns:1fr 1.15fr;column-gap:48px}
.banquet-cost h2{grid-row:1/3;margin:0}
.banquet-cost p:last-child{margin-bottom:0}
@media(max-width:767px){.banquet-cost{padding-left:22px}.banquet-cost>div{display:block}.banquet-cost h2{margin-bottom:20px}}

/* Give each feature one illustration with an equivalent visual footprint. */
.banquet-feature-grid>div>img,.banquet-merch{height:200px}
.banquet-merch{justify-content:center;overflow:hidden}
.banquet-merch img{width:280px;max-width:none;height:200px;flex:none;object-fit:contain}

.banquet-art .banquet-art-ticket{width:62%;right:-2%;bottom:5%}
@media(max-width:767px){.banquet-art .banquet-art-ticket{width:56%;right:0;bottom:0}}

/* One calendar in the hero; ticket and merch belong beside the final invitation. */
.banquet-calendar-art{display:grid;place-items:center;background:none;border-radius:0;min-height:440px;margin:0}
.banquet-calendar-art:before{display:none}
.banquet-calendar-art>img:first-of-type{position:static;width:100%;max-width:460px;height:auto;transform:none;filter:none}
.banquet-page .banquet-planning-cta{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center}
.banquet-planning-cta>div{min-width:0}
.banquet-page .banquet-planning-cta h2{max-width:22ch}
.banquet-cta-art{position:relative;height:280px}
.banquet-cta-art img{position:absolute;object-fit:contain;height:auto}
.banquet-cta-art img:first-child{width:80%;top:0;left:-5%;transform:rotate(-9deg)}
.banquet-cta-art img:last-child{width:78%;right:-8%;bottom:-5%;transform:rotate(8deg)}
@media(max-width:767px){.banquet-calendar-art{min-height:0;margin:0 8px}.banquet-calendar-art>img:first-of-type{max-width:340px}.banquet-page .banquet-planning-cta{grid-template-columns:1fr;gap:28px}.banquet-cta-art{height:220px;max-width:300px;width:100%;margin:auto}.banquet-cta-art img:first-child{left:0}.banquet-cta-art img:last-child{right:-2%}}

/* Separate calendar and date marker: percentage coordinates track responsive scaling. */
.banquet-calendar-art .banquet-calendar{position:relative;display:block;width:100%;max-width:460px;--calendar-mark-x:70.2%;--calendar-mark-y:56.8%}
.banquet-calendar img.banquet-calendar-image{position:static;display:block;width:100%;height:auto;transform:none}
.banquet-calendar img.banquet-calendar-mark{position:absolute;left:var(--calendar-mark-x);top:var(--calendar-mark-y);width:9.5%;height:auto;transform:translate(-50%,-50%);pointer-events:none}
@media(max-width:767px){.banquet-calendar-art .banquet-calendar{max-width:340px}}
@media(forced-colors:active){.banquet-calendar-mark{forced-color-adjust:none}}

/* A small ticket overlaps the calendar corner without covering the selected date. */
.banquet-calendar img.banquet-calendar-ticket{position:absolute;width:43%;height:auto;right:-3%;bottom:-5%;transform:rotate(12deg);pointer-events:none}
@media(max-width:767px){.banquet-calendar img.banquet-calendar-ticket{width:40%;right:-1%;bottom:-3%}}

/* Let the short calculator heading use the available width naturally. */
.banquet-page #banquet-calculator-title{max-width:none;text-wrap:balance;font-size:clamp(28px,3vw,42px)}
@media(max-width:767px){.banquet-page #banquet-calculator-title{font-size:30px;line-height:1.15}.banquet-page .band-tint:has(#banquet-calculator){padding-top:36px;padding-bottom:36px}.banquet-calculator{margin-top:24px}}
@media(max-width:767px){.banquet-page h1{max-width:none;font-size:38px;line-height:1.1}}

/* Quiet musical texture behind the hero; independent reusable SVG elements. */
.banquet-page .band-hero{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 85% 52%,#e7f4ed 0,transparent 52%)}
.banquet-page .band-hero:before{content:'';position:absolute;inset:0;background:url('/assets/images/band-events/celebration-squiggle.svg') center bottom/cover no-repeat;opacity:.14;z-index:-1;pointer-events:none}
.banquet-calendar img.banquet-music-note{position:absolute;height:auto;pointer-events:none;opacity:.85}
.banquet-calendar img.banquet-music-note-one{width:25.5%;right:-1%;top:3%;transform:rotate(16deg)}
.banquet-calendar img.banquet-music-note-two{width:25.5%;left:-3%;bottom:7%;transform:rotate(-13deg)}
@media(max-width:767px){.banquet-page .band-hero:before{background-size:auto 70%;background-position:70% bottom;opacity:.12}.banquet-calendar img.banquet-music-note-one{right:0;top:0}.banquet-calendar img.banquet-music-note-two{left:0;bottom:10%}}
@media(forced-colors:active){.banquet-page .band-hero:before,.banquet-music-note{display:none}}

.banquet-calendar img.banquet-music-note-three{width:16%;left:1%;top:-6%;transform:rotate(-19deg);opacity:.65}
.banquet-calendar img.banquet-music-note-four{width:14%;right:17%;bottom:-10%;transform:rotate(15deg);opacity:.65}
@media(max-width:767px){.banquet-calendar img.banquet-music-note-three{left:1%;top:-5%}.banquet-calendar img.banquet-music-note-four{right:26%;bottom:-5%}}
/* Mobile marketing layout: centered introductions and artwork, scannable form copy. */
@media(max-width:767px){
  .banquet-page .band-hero-inner>div:first-child{text-align:center}
  .banquet-page .band-hero-inner>div:first-child>p{margin-inline:auto}
  .banquet-page .banquet-secondary{margin-inline:auto}
  .banquet-page .band-wrap>.band-kicker,
  .banquet-page .band-wrap>h2{text-align:center;margin-inline:auto}
  .banquet-page .banquet-feature-grid>div{text-align:center}
  .banquet-page .banquet-feature-grid h3{max-width:22ch;margin-inline:auto}
  .banquet-page .banquet-feature-grid p{max-width:32ch;margin-inline:auto}
  .banquet-page .banquet-planning-cta{text-align:center}
  .banquet-page .banquet-planning-cta h2,
  .banquet-page .banquet-planning-cta p{margin-inline:auto}
  .banquet-page .banquet-controls,
  .banquet-page .banquet-result{text-align:left}
}

@media(max-width:767px){
  .banquet-page .band-hero .band-kicker{font-size:22px;line-height:1.3}
  .banquet-page h1{font-size:clamp(36px,10.8vw,42px);line-height:1.08;text-wrap:balance}
  .banquet-invitation-questions .band-grid>div{text-align:center}
  .banquet-invitation-questions h3,.banquet-invitation-questions p{max-width:34ch;margin-inline:auto}
}

/* Fill the hero's open space while keeping the calendar, notes and ticket together. */
@media(min-width:1100px){
  .banquet-calendar-art{min-width:0}
  .banquet-calendar-art .banquet-calendar{width:150%;max-width:clamp(506px,calc(54.12vw - 89px),690px)}
}
@media(min-width:768px) and (max-width:1099px){
  .banquet-calendar-art{min-width:0}
  .banquet-calendar-art .banquet-calendar{width:110%;max-width:506px}
}

/* A simple celebration, using the original reusable pizza illustration. */
.banquet-pizza-party{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:48px}
.banquet-pizza-party>img{display:block;width:150%;height:auto;max-width:630px;margin:0;justify-self:center}
.banquet-pizza-party>div{min-width:0}
.banquet-pizza-party .band-button{margin-top:8px}
.banquet-price-options{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:767px){
  .banquet-pizza-party{grid-template-columns:1fr;gap:24px;text-align:center}
  .banquet-pizza-party>img{width:120%;max-width:390px}
  .banquet-pizza-party h2{margin-inline:auto}
  .banquet-price-options{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Continue the hero's pale celebration line behind the larger pizza artwork. */
.banquet-pizza-section{position:relative;isolation:isolate;overflow:hidden}
.banquet-pizza-section:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:url('/assets/images/band-events/celebration-squiggle.svg') center/cover no-repeat;opacity:.14}
@media(max-width:767px){.banquet-pizza-section:before{background-size:auto 80%;background-position:40% center;opacity:.12}}
@media(forced-colors:active){.banquet-pizza-section:before{display:none}}
