:root{
    --cream:#fbf4e6;
    --cream-2:#efe3cc;
    --maroon:#2a0d1e;
    --maroon-2:#3a1329;
    --wine:#5c1634;
    --ink:#22101a;
    --ink-soft:#5a4250;
    --on-dark:#e6d3dd;
    --gold:#f6c81a;
    --gold-2:#ffdd55;
    --gold-deep:#b8901a;
    --red:#c81e2c;
    --red-deep:#9a1420;
    --white:#ffffff;
    --max:1200px;
    --radius:22px;
    --ease:cubic-bezier(.2,.8,.2,1);
    --mh:url(/assets/miss-holler-900.jpg);
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  section, header{ scroll-margin-top:116px; }
  body{ margin:0; background:var(--cream); color:var(--ink); font-family:'Inter',sans-serif; font-size:1rem; line-height:1.6; overflow-x:hidden; }
  h1,h2,h3{ font-family:'Anton',sans-serif; font-weight:400; letter-spacing:.5px; text-transform:uppercase; line-height:.98; margin:0; }
  p{ margin:0; }
  button, input{ font-family:inherit; }
  a{ color:inherit; }
  img{ max-width:100%; display:block; }
  .wrap{ max-width:var(--max); margin:0 auto; padding:0 24px; }
  .sr-only{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
  .serif{ font-family:'Fraunces',Georgia,serif; font-weight:900; text-transform:none; letter-spacing:-1.5px; line-height:.95; }
  .marker{ font-family:'Permanent Marker',cursive; text-transform:none; letter-spacing:0; }
  :focus-visible{ outline:3px solid var(--red); outline-offset:3px; border-radius:6px; }
  .dark :focus-visible{ outline-color:var(--gold-2); }
  .i{ width:1.2em; height:1.2em; flex-shrink:0; stroke:currentColor; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }

  /* image crops (cut a region out of a poster) */
  .crop{
    aspect-ratio:var(--ar);
    background-image:var(--img); background-repeat:no-repeat;
    background-size:var(--bw,100%) auto; background-position:var(--bx,0%) var(--by,0%);
  }

  /* buttons */
  .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:48px;
    font-family:'Anton',sans-serif; letter-spacing:1px; text-transform:uppercase; font-size:1.05rem;
    padding:14px 30px; border-radius:999px; border:3px solid var(--red);
    background:var(--red); color:var(--white); cursor:pointer; text-decoration:none;
    transition:transform .18s var(--ease), box-shadow .18s var(--ease), background .18s ease;
    box-shadow:0 6px 0 var(--red-deep), 0 10px 22px rgba(42,13,30,.25);
  }
  .btn:hover{ transform:translateY(-3px); background:#d9293a; }
  .btn:active{ transform:translateY(2px); box-shadow:0 3px 0 var(--red-deep); }
  .btn.gold{ background:var(--gold); border-color:var(--gold); color:var(--maroon); box-shadow:0 6px 0 var(--gold-deep), 0 10px 22px rgba(0,0,0,.3); }
  .btn.gold:hover{ background:var(--gold-2); }
  .btn.outline{ background:transparent; color:var(--maroon); border-color:var(--maroon); box-shadow:none; }
  .btn.outline:hover{ background:rgba(42,13,30,.06); }
  .dark .btn.outline{ color:var(--gold); border-color:var(--gold); }
  .dark .btn.outline:hover{ background:rgba(246,200,26,.1); }
  .btn.ink{ background:var(--maroon); border-color:var(--maroon); color:var(--gold); box-shadow:0 6px 0 #000, 0 10px 22px rgba(0,0,0,.25); }
  .btn.ink:hover{ background:#000; }
  .btn.light{ background:var(--white); border-color:var(--white); color:var(--maroon); box-shadow:0 6px 0 rgba(0,0,0,.25); }
  .btn.small{ padding:10px 22px; font-size:.9rem; min-height:44px; }
  .btn.block{ width:100%; }

  .section{ padding:110px 0; position:relative; overflow:hidden; }
  .dark{ background:var(--maroon); color:var(--white); }
  .eyebrow{ font-family:'Bebas Neue',sans-serif; letter-spacing:4px; font-size:1.05rem; display:inline-flex; align-items:center; gap:12px; margin-bottom:14px; color:var(--red); }
  .eyebrow::before, .eyebrow::after{ content:""; width:28px; height:2px; background:var(--gold-deep); }
  .dark .eyebrow{ color:var(--gold); }
  .dark .eyebrow::before, .dark .eyebrow::after{ background:var(--gold); }
  .sec-head{ max-width:780px; margin:0 auto 54px; text-align:center; }
  .sec-head h2{ font-size:clamp(2.4rem,5.4vw,4.2rem); color:var(--maroon); }
  .sec-head h2 em{ font-style:normal; color:var(--red); }
  .sec-head p{ margin-top:16px; font-size:1.12rem; color:var(--ink-soft); }
  .dark .sec-head h2{ color:var(--white); }
  .dark .sec-head h2 em{ color:var(--gold); }
  .dark .sec-head p{ color:var(--on-dark); }
  .holly-rule{ display:flex; align-items:center; justify-content:center; gap:14px; color:var(--gold-deep); }
  .holly-rule::before, .holly-rule::after{ content:""; width:80px; height:2px; background:var(--gold); }

  .reveal{ opacity:0; transform:translateY(26px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
  .reveal.in-view{ opacity:1; transform:none; }

  /* MISS HOLLER speech bubble */
  .mh-say{ display:flex; align-items:flex-end; gap:14px; max-width:620px; }
  .mh-say.center{ margin:0 auto; }
  .mh-avatar{
    width:72px; height:72px; border-radius:50%; flex-shrink:0;
    background:var(--mh) no-repeat; background-size:561% auto; background-position:74.8% 15.8%;
    background-color:var(--cream); border:3px solid var(--gold); box-shadow:0 6px 16px rgba(42,13,30,.25);
  }
  .bubble{
    position:relative; background:var(--white); color:var(--ink);
    border:2px solid var(--maroon); border-radius:20px 20px 20px 4px;
    padding:14px 18px; font-weight:600; font-size:1.02rem; line-height:1.45;
    box-shadow:4px 4px 0 var(--maroon);
  }
  .bubble b{ display:block; font-family:'Bebas Neue',sans-serif; font-weight:400; letter-spacing:2px; color:var(--red); font-size:.9rem; margin-bottom:2px; }
  .dark .bubble{ box-shadow:4px 4px 0 var(--gold); border-color:var(--gold); }

  /* NAV */
  nav[aria-label="Main"]{ position:fixed; top:0; left:0; right:0; z-index:100; background:rgba(42,13,30,.94); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); border-bottom:2px solid var(--gold); }
  .topbar{ background:var(--gold); color:var(--maroon); }
  .topbar-inner{ max-width:var(--max); margin:0 auto; padding:0 24px; display:flex; justify-content:center; align-items:center; gap:22px; font-weight:800; font-size:.98rem; }
  .topbar a{ display:inline-flex; align-items:center; gap:7px; min-height:44px; text-decoration:none; color:var(--maroon); }
  .topbar a:hover{ text-decoration:underline; }
  .topbar .i{ width:18px; height:18px; stroke-width:2.5; }
  .nav-inner{ max-width:var(--max); margin:0 auto; padding:10px 24px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
  .nav-brand{ display:flex; align-items:center; gap:10px; font-family:'Anton',sans-serif; font-size:1.15rem; color:var(--gold); text-decoration:none; letter-spacing:1px; }
  .nav-brand img{ height:44px; width:44px; border-radius:50%; }
  .nav-links{ display:flex; gap:26px; align-items:center; }
  .nav-links a{ text-decoration:none; color:var(--cream); font-weight:600; font-size:.95rem; padding:8px 0; }
  .nav-links a:hover{ color:var(--gold); }
  .nav-right{ display:flex; align-items:center; gap:12px; }
  .nav-right .btn{ box-shadow:0 4px 0 var(--gold-deep); }
  .nav-toggle{ display:none; width:48px; height:48px; align-items:center; justify-content:center; background:none; border:2px solid rgba(246,200,26,.5); border-radius:12px; color:var(--gold); cursor:pointer; }
  .nav-toggle .i{ width:24px; height:24px; }

  /* HERO */
  .hero{ position:relative; padding:162px 0 0; background:var(--cream); overflow:hidden; }
  .hero-inner{ position:relative; max-width:var(--max); margin:0 auto; padding:0 24px; display:grid; grid-template-columns:1.15fr .85fr; gap:32px; align-items:end; }
  .hero-copy{ padding-bottom:56px; }
  .lockup{ display:flex; align-items:center; gap:14px; margin-bottom:26px; }
  .lockup img{ width:84px; height:84px; }
  .lockup span{ display:block; font-family:'Anton',sans-serif; font-size:clamp(1.6rem,3vw,2.3rem); color:var(--maroon); line-height:1; }
  .lockup small{ display:block; font-family:'Bebas Neue',sans-serif; letter-spacing:4px; color:var(--red); font-size:1.15rem; margin-top:4px; }
  .greet{ font-size:clamp(3rem,5.8vw,5rem); color:var(--maroon); }
  .greet-2{ font-size:clamp(2.1rem,3.9vw,3.4rem); color:var(--red); margin-top:6px; }
  .title-line{ display:flex; align-items:center; gap:14px; margin:18px 0 22px; font-family:'Bebas Neue',sans-serif; letter-spacing:3px; font-size:clamp(1.15rem,2vw,1.45rem); color:var(--red); }
  .title-line::before{ content:""; width:42px; height:3px; background:var(--gold); }
  .hero-lede{ font-size:clamp(1.05rem,1.5vw,1.2rem); color:var(--ink-soft); max-width:540px; margin-bottom:26px; }
  .hero-lede strong{ color:var(--maroon); }
  .hero-ctas{ display:flex; gap:14px; flex-wrap:wrap; align-items:center; }
  .hero-deadline{ margin-top:16px; font-weight:700; color:var(--red); display:flex; align-items:center; gap:8px; font-size:.98rem; }
  .hero-facts{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; max-width:560px; margin-top:28px; }
  .fact{ display:flex; align-items:center; gap:12px; background:var(--white); border:2px solid var(--cream-2); padding:12px 14px; border-radius:14px; }
  .fact .i{ color:var(--red); width:22px; height:22px; }
  .fact b{ display:block; font-family:'Bebas Neue',sans-serif; font-weight:400; letter-spacing:1.5px; font-size:1.12rem; color:var(--maroon); line-height:1.1; }
  .fact small{ display:block; font-size:.82rem; color:var(--ink-soft); line-height:1.3; }

  .hero-figure{ position:relative; align-self:center; display:flex; justify-content:center; padding:20px 0 56px; }
  /* Miss Holler's talking video on a "stage" (the video's own black/red glow is the spotlight) */
  /* Waist-up crop: the stage is a square window onto the top ~56% of the 9:16 video (video height = 178% of the stage), so her legs and knees never show. */
  .stage{
    position:relative; height:auto; width:min(59.2vh, 512px); aspect-ratio:1/1;
    border:5px solid var(--gold); border-radius:26px; overflow:hidden;
    background:
      radial-gradient(ellipse 60% 35% at 50% 34%, rgba(200,30,44,.55), transparent 70%),
      radial-gradient(ellipse 40% 20% at 50% 92%, rgba(214,120,30,.35), transparent 70%),
      #000;
    box-shadow:12px 12px 0 var(--maroon), 0 30px 60px rgba(42,13,30,.35);
  }
  .stage-wrap{ position:relative; }
  .stage video{
    position:absolute; top:0; left:50%; transform:translateX(-50%);
    height:178%; width:auto; aspect-ratio:9/16; object-fit:cover; display:block;
    background:url(/assets/miss-holler-poster.jpg) center 0 / cover no-repeat;
  }
  .sound-btn{
    position:absolute; left:50%; bottom:16px; transform:translateX(-50%); z-index:3;
    display:inline-flex; align-items:center; gap:10px; min-height:48px; white-space:nowrap;
    background:var(--maroon); color:var(--gold); border:3px solid var(--gold); border-radius:999px;
    padding:6px 18px 6px 6px; cursor:pointer; text-align:left;
    box-shadow:0 10px 24px rgba(0,0,0,.45); transition:transform .18s var(--ease), opacity .3s ease;
  }
  .sound-btn:hover{ transform:translateX(-50%) translateY(-3px); }
  .sound-btn .pi{ position:relative; width:40px; height:40px; border-radius:50%; background:var(--gold); color:var(--maroon); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
  .sound-btn .pi .i{ width:22px; height:22px; }
  .sound-btn.pulse .pi::after{ content:""; position:absolute; inset:-6px; border-radius:50%; border:2px solid var(--gold); animation:ring 1.8s ease-out infinite; }
  @keyframes ring{ from{ transform:scale(.8); opacity:1; } to{ transform:scale(1.35); opacity:0; } }
  .sound-btn b{ display:block; font-family:'Anton',sans-serif; font-weight:400; text-transform:uppercase; letter-spacing:.5px; font-size:.98rem; line-height:1.1; }
  .sound-btn small{ display:block; font-family:'Bebas Neue',sans-serif; letter-spacing:2px; color:var(--cream); font-size:.82rem; }
  .sound-btn.on{ padding-right:6px; }
  .vcap{ position:absolute; left:12px; right:12px; bottom:84px; z-index:3; margin:0; text-align:center; pointer-events:none; }
  .vcap:empty{ display:none; }
  .vcap span{
    background:rgba(20,6,14,.85); color:var(--white); font-weight:800; font-size:1rem; line-height:1.55;
    padding:3px 9px; border-radius:6px; -webkit-box-decoration-break:clone; box-decoration-break:clone;
  }
  .vid-pause{
    position:absolute; top:12px; left:12px; z-index:3; width:44px; height:44px; border-radius:50%;
    background:rgba(20,6,14,.75); border:2px solid var(--gold); color:var(--gold);
    display:flex; align-items:center; justify-content:center; cursor:pointer;
  }
  .vid-pause .i{ width:18px; height:18px; fill:currentColor; stroke:none; }
  .sound-btn.on .txt{ display:none; }
  .hero-sticker{
    position:absolute; top:-18px; right:-46px; z-index:4;
    background:var(--red); color:var(--white); border:3px solid var(--white);
    border-radius:50%; width:118px; height:118px; display:flex; flex-direction:column; align-items:center; justify-content:center;
    transform:rotate(-12deg); box-shadow:0 10px 24px rgba(42,13,30,.35); text-align:center;
  }
  .hero-sticker b{ font-family:'Anton',sans-serif; font-weight:400; font-size:1.9rem; line-height:1; }
  .hero-sticker small{ font-family:'Bebas Neue',sans-serif; letter-spacing:2px; font-size:.95rem; line-height:1.1; }

  /* COUNTDOWN BAND */
  .band{ background:var(--maroon); color:var(--white); border-top:6px solid var(--gold); }
  .band-inner{ max-width:var(--max); margin:0 auto; padding:22px 24px; display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
  .band-label{ font-family:'Bebas Neue',sans-serif; letter-spacing:3px; color:var(--gold); font-size:1.25rem; line-height:1.1; }
  .band-label small{ display:block; color:var(--on-dark); letter-spacing:1px; font-family:'Inter',sans-serif; font-size:.9rem; font-weight:600; }
  .countdown{ display:flex; gap:10px; }
  .cd-box{ background:var(--maroon-2); border:2px solid var(--gold); border-radius:14px; padding:8px 0; width:78px; text-align:center; }
  .cd-box .n{ font-family:'Anton',sans-serif; font-size:2rem; color:var(--gold); line-height:1; font-variant-numeric:tabular-nums; }
  .cd-box .l{ font-family:'Bebas Neue',sans-serif; letter-spacing:2px; font-size:.8rem; color:var(--cream); }
  .marquee{ background:var(--gold); color:var(--maroon); overflow:hidden; white-space:nowrap; padding:12px 0; }
  .marquee-track{ display:inline-block; animation:scroll 40s linear infinite; }
  .marquee span{ font-family:'Anton',sans-serif; font-size:1.1rem; letter-spacing:1px; margin:0 24px; text-transform:uppercase; }
  @keyframes scroll{ from{transform:translateX(0);} to{transform:translateX(-50%);} }

  /* OUTFIT / SONGS / PEOPLE */
  .trio{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
  .trio-card{ background:var(--white); border:2px solid var(--maroon); border-radius:var(--radius); overflow:hidden; box-shadow:6px 6px 0 var(--maroon); display:flex; flex-direction:column; transition:transform .25s var(--ease); }
  .trio-card:hover{ transform:translate(-2px,-4px); }
  .trio-card .art{ aspect-ratio:4/3.4; background:var(--cream-2); overflow:hidden; }
  .trio-card .art img{ width:100%; height:100%; object-fit:cover; }
  .trio-card .art .crop{ width:100%; height:100%; aspect-ratio:auto; }
  .trio-card .body{ padding:22px 24px 26px; }
  .trio-card h3{ font-family:'Fraunces',serif; font-weight:900; text-transform:none; letter-spacing:-.5px; font-size:2rem; color:var(--maroon); margin-bottom:8px; }
  .trio-card p{ color:var(--ink-soft); }
  .trio-card .artist-strip{ display:flex; flex-wrap:wrap; gap:6px; margin-top:12px; }
  .artist-chip{ background:var(--cream); border:1px solid var(--cream-2); color:var(--maroon); padding:5px 12px; border-radius:999px; font-size:.82rem; font-weight:700; }
  .trio-say{ margin-top:46px; }

  /* SONG BINGO CARD */
  .how-grid{ display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
  .how-copy h2{ font-size:clamp(2.3rem,4.8vw,3.6rem); color:var(--white); margin-bottom:18px; }
  .how-copy h2 em{ color:var(--gold); font-style:normal; }
  .how-copy > p{ color:var(--on-dark); font-size:1.1rem; margin-bottom:26px; }
  .steps{ list-style:none; padding:0; margin:0 0 28px; display:grid; gap:12px; counter-reset:step; }
  .steps li{ display:flex; gap:16px; align-items:center; background:var(--maroon-2); border:1px solid rgba(246,200,26,.3); border-radius:16px; padding:14px 18px; font-weight:600; color:var(--white); }
  .steps li::before{ counter-increment:step; content:counter(step); width:42px; height:42px; flex-shrink:0; border-radius:50%; background:var(--gold); color:var(--maroon); display:flex; align-items:center; justify-content:center; font-family:'Anton',sans-serif; font-size:1.2rem; }
  .steps li b{ color:var(--gold-2); }

  /* THE NIGHT */
  .night-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
  .n-card{ background:var(--white); border:2px solid var(--cream-2); border-radius:18px; padding:26px; transition:transform .2s var(--ease), border-color .2s ease; }
  .n-card:hover{ transform:translateY(-4px); border-color:var(--red); }
  .n-card .ti{ width:52px; height:52px; border-radius:14px; display:flex; align-items:center; justify-content:center; background:var(--maroon); color:var(--gold); margin-bottom:16px; }
  .n-card .ti .i{ width:28px; height:28px; }
  .n-card h3{ font-size:1.5rem; color:var(--maroon); margin-bottom:8px; }
  .n-card p{ color:var(--ink-soft); font-size:.98rem; }
  .n-card.feature{ background:var(--red); border-color:var(--red); }
  .n-card.feature h3{ color:var(--white); }
  .n-card.feature p{ color:#ffe6e8; }
  .n-card.feature .ti{ background:var(--gold); color:var(--maroon); }

  /* PRIZES */
  .prizes{ background-color:var(--gold); background-image:repeating-linear-gradient(115deg, rgba(42,13,30,.06) 0 2px, transparent 2px 90px); }
  .prizes .eyebrow{ color:var(--maroon); }
  .prizes .eyebrow::before, .prizes .eyebrow::after{ background:var(--maroon); }
  .prizes .sec-head h2{ font-size:clamp(2.8rem,7vw,5.4rem); }
  .prizes .sec-head h2 em{ display:block; }
  .prizes .sec-head p{ color:var(--maroon); font-weight:600; }
  .prize-banner{ border:6px solid var(--maroon); border-radius:20px; overflow:hidden; box-shadow:0 18px 0 rgba(42,13,30,.18); background:var(--maroon); }
  .prize-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin:34px 0 44px; }
  .prize-card{ background:var(--maroon); color:var(--gold); border-radius:18px; padding:26px 16px; text-align:center; transition:transform .2s var(--ease); }
  .prize-card:hover{ transform:translateY(-6px) rotate(-1.5deg); }
  .prize-card .round{ font-family:'Bebas Neue',sans-serif; letter-spacing:2px; color:var(--on-dark); font-size:.9rem; }
  .prize-card .i{ display:block; width:44px; height:44px; margin:8px auto 10px; color:var(--gold); }
  .prize-card .round{ display:block; }
  .prize-card h3{ font-size:1.3rem; color:var(--gold); }
  .chair{ display:grid; grid-template-columns:260px 1fr; gap:34px; align-items:center; background:var(--red); color:var(--white); border:5px solid var(--maroon); border-radius:24px; padding:26px 30px; box-shadow:0 14px 0 rgba(42,13,30,.22); }
  .chair-img{ border-radius:16px; border:4px solid var(--gold); overflow:hidden; box-shadow:0 0 40px rgba(255,221,85,.6); }
  .chair h3{ font-size:clamp(2.2rem,5vw,3.6rem); color:var(--white); margin-bottom:10px; }
  .chair h3 em{ font-style:normal; color:var(--gold-2); }
  .chair p{ margin-bottom:18px; font-size:1.1rem; font-weight:700; color:var(--white); }

  /* DRINKS */
  .drink-banner{ border:4px solid var(--gold); border-radius:20px; overflow:hidden; margin-bottom:40px; box-shadow:0 24px 60px rgba(0,0,0,.4); }
  .drinks-body{ display:grid; grid-template-columns:1.1fr .9fr; gap:50px; align-items:center; }
  .drinks h2{ font-size:clamp(2.2rem,4.8vw,3.8rem); color:var(--gold); margin-bottom:14px; }
  .drinks h2 span{ color:var(--white); }
  .drinks-copy > p{ color:var(--on-dark); font-size:1.08rem; margin-bottom:22px; }
  .drink-list{ display:grid; gap:12px; }
  .drink-item{ display:flex; gap:14px; align-items:center; background:var(--maroon-2); border:1px solid rgba(246,200,26,.3); border-radius:16px; padding:16px 18px; }
  .drink-item .i{ width:28px; height:28px; color:var(--gold); }
  .drink-item b{ display:block; font-family:'Anton',sans-serif; font-weight:400; text-transform:uppercase; letter-spacing:.8px; font-size:1.1rem; color:var(--white); }
  .drink-item small{ color:var(--on-dark); font-size:.92rem; }
  .fineprint{ font-size:.88rem; color:#bfa6b4; margin-top:18px; }

  /* TICKETS */
  .info-strip{ display:flex; flex-wrap:wrap; justify-content:center; gap:14px; margin:0 0 50px; }
  .info-chip{ display:flex; align-items:center; gap:12px; background:var(--white); border:2px solid var(--cream-2); border-radius:14px; padding:14px 20px; text-decoration:none; color:var(--ink); }
  .info-chip .i{ color:var(--red); width:24px; height:24px; }
  .info-chip .lbl{ font-family:'Bebas Neue',sans-serif; letter-spacing:2px; color:var(--red); font-size:.85rem; display:block; line-height:1.2; }
  .info-chip .val{ font-weight:700; font-size:1rem; display:block; line-height:1.3; color:var(--maroon); }
  a.info-chip{ transition:transform .15s var(--ease); }
  a.info-chip:hover{ transform:translateY(-3px); }
  .tier-head{ text-align:center; margin:0 0 34px; }
  .tier-head h3{ font-size:clamp(1.8rem,3.6vw,2.6rem); color:var(--maroon); margin-bottom:12px; }
  .tier-head .pill{ display:inline-block; background:var(--maroon); color:var(--gold); font-family:'Bebas Neue',sans-serif; letter-spacing:2px; padding:6px 18px; border-radius:999px; font-size:.95rem; }
  .tier-say{ margin:-8px auto 48px; }
  .pricing-grid{ display:grid; gap:30px; }
  .pricing-grid.two{ grid-template-columns:repeat(2,minmax(0,1fr)); max-width:780px; margin:0 auto; }
  .pricing-grid.three{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .price-card{ background:var(--white); color:var(--ink); border:2px dashed rgba(42,13,30,.28); border-radius:22px; padding:38px 28px 30px; display:flex; flex-direction:column; align-items:center; text-align:center; position:relative; box-shadow:0 16px 0 rgba(42,13,30,.06); transition:transform .2s var(--ease); }
  .price-card:hover{ transform:translateY(-4px); }
  .price-card.featured{ border:3px solid var(--red); box-shadow:0 16px 0 rgba(200,30,44,.16); }
  .price-card .perf{ border-top:2px dashed rgba(42,13,30,.3); width:100%; margin:18px 0 20px; position:relative; }
  .price-card .perf::before, .price-card .perf::after{ content:""; position:absolute; top:-14px; width:26px; height:26px; border-radius:50%; background:var(--cream); }
  .price-card .perf::before{ left:-43px; }
  .price-card .perf::after{ right:-43px; }
  .price-ribbon{ position:absolute; top:-17px; left:50%; transform:translateX(-50%) rotate(-2deg); background:var(--red); color:var(--white); font-family:'Permanent Marker',cursive; padding:8px 22px; border-radius:8px; font-size:.98rem; box-shadow:0 4px 10px rgba(0,0,0,.2); white-space:nowrap; }
  .price-card h3{ font-family:'Bebas Neue',sans-serif; letter-spacing:2px; font-size:1.5rem; color:var(--red); margin:10px 0 6px; }
  .price-amt{ font-family:'Anton',sans-serif; font-size:3.6rem; color:var(--maroon); line-height:1.05; }
  .price-amt sup{ font-size:1.3rem; vertical-align:super; }
  .price-note{ font-size:.92rem; color:var(--ink-soft); font-weight:700; margin-top:4px; }
  .price-note.urgent{ color:var(--red); }
  .price-per{ font-size:.88rem; font-weight:700; color:var(--maroon); }
  .price-card ul{ list-style:none; padding:0; margin:0 0 24px; text-align:left; width:100%; flex:1; }
  .price-card ul li{ padding:9px 0; border-bottom:1px dotted rgba(42,13,30,.2); font-size:.95rem; color:var(--ink-soft); display:flex; gap:10px; align-items:flex-start; }
  .price-card ul li .i{ color:var(--red); width:18px; height:18px; margin-top:3px; }
  .price-card.ended{ opacity:.55; filter:grayscale(.6); }
  .price-card.sip{ background:var(--red); color:var(--white); border:2px solid var(--maroon); }
  .price-card.sip h3{ color:var(--gold-2); }
  .price-card.sip .price-amt{ color:var(--white); }
  .price-card.sip .price-note, .price-card.sip .price-per{ color:#ffe6e8; }
  .price-card.sip ul li{ color:var(--white); border-bottom-color:rgba(255,255,255,.3); }
  .price-card.sip ul li .i{ color:var(--gold-2); }
  .price-card.sip .perf{ border-top-color:rgba(255,255,255,.45); }
  .price-card.vip{ background:var(--gold); border:3px solid var(--maroon); }
  .price-card.vip h3{ color:var(--maroon); }
  .price-card.vip .price-note{ color:var(--maroon); }
  .price-card.vip ul li{ border-bottom-color:rgba(42,13,30,.3); color:var(--maroon); font-weight:600; }
  .price-card.vip ul li .i{ color:var(--maroon); }
  .price-card.vip .perf{ border-top-color:rgba(42,13,30,.5); }
  .table-feature{ display:grid; grid-template-columns:.9fr 1.1fr; gap:40px; align-items:center; margin-top:70px; background:var(--maroon); border-radius:26px; overflow:hidden; color:var(--white); }
  .table-feature .art{ position:relative; align-self:stretch; min-height:380px; }
  .table-feature .art img{ position:absolute; inset:0; }
  .table-feature .bubble{ color:var(--ink); margin:0; }
  .table-feature .copy{ padding:36px 40px 36px 0; }
  .table-feature h3{ font-family:'Fraunces',serif; font-weight:900; text-transform:none; letter-spacing:-1px; font-size:clamp(2rem,4vw,3rem); color:var(--white); margin-bottom:12px; }
  .table-feature h3 em{ font-style:normal; color:var(--gold); }
  .table-feature p{ color:var(--on-dark); margin-bottom:20px; }
  .table-feature a.tel{ color:var(--gold-2); font-weight:800; }
  .contact-cta{ max-width:820px; margin:48px auto 0; background:var(--maroon); color:var(--white); border:3px solid var(--gold); border-radius:24px; padding:28px 28px 30px; text-align:center; box-shadow:0 14px 0 rgba(42,13,30,.12); }
  .contact-cta h3{ font-size:clamp(1.5rem,3vw,2rem); color:var(--white); margin-bottom:6px; }
  .contact-cta > p{ color:var(--on-dark); margin-bottom:20px; }
  .contact-btns{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
  .contact-btn{
    display:flex; align-items:center; justify-content:center; gap:14px; min-height:72px; padding:10px 16px;
    background:var(--gold); color:var(--maroon); border-radius:16px; text-decoration:none; text-align:left;
    font-family:'Anton',sans-serif; font-size:clamp(1.35rem,2.6vw,1.7rem); letter-spacing:.5px; line-height:1.05;
    box-shadow:0 6px 0 var(--gold-deep); transition:transform .18s var(--ease);
  }
  .contact-btn:hover{ transform:translateY(-3px); }
  .contact-btn .i{ width:30px; height:30px; stroke-width:2.4; }
  .contact-btn small{ display:block; font-family:'Bebas Neue',sans-serif; letter-spacing:2px; font-size:.9rem; color:var(--red-deep); }
  .contact-btn.email{ background:var(--white); box-shadow:0 6px 0 rgba(0,0,0,.35); font-family:'Inter',sans-serif; font-weight:800; font-size:clamp(1.05rem,2vw,1.25rem); letter-spacing:0; }
  .fee-note{ text-align:center; margin-top:30px; font-size:.92rem; font-weight:600; color:var(--ink-soft); }
  .advance-note{ text-align:center; margin-top:12px; color:var(--red); font-size:1.3rem; transform:rotate(-1deg); }

  .ticket-box{ max-width:920px; margin:0 auto; background:var(--maroon-2); border:1px solid rgba(246,200,26,.3); border-radius:26px; padding:14px; box-shadow:0 25px 60px rgba(0,0,0,.4); }
  .ticket-box-head{ display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px; padding:20px 18px 12px; }
  .ticket-box-head h3{ color:var(--white); font-size:1.35rem; }
  .badge{ display:inline-flex; align-items:center; gap:8px; background:var(--red); color:var(--white); font-family:'Bebas Neue',sans-serif; letter-spacing:2px; font-size:.95rem; padding:6px 16px; border-radius:999px; }
  .eb-wrap{ background:#fff; border-radius:18px; overflow:hidden; min-height:480px; }
  .eb-wrap iframe{ display:block; width:100%; border:0; }
  .tickets-fallback{ text-align:center; padding:22px; }
  .tickets-fallback p{ color:var(--on-dark); margin-bottom:16px; }

  /* FAQ */
  .faq-list{ max-width:860px; margin:0 auto; display:grid; gap:12px; }
  .faq-list details{ background:var(--white); border-radius:16px; border:2px solid var(--cream-2); overflow:hidden; }
  .faq-list details[open]{ border-color:var(--red); }
  .faq-list summary{ list-style:none; cursor:pointer; padding:20px 24px; min-height:48px; display:flex; align-items:center; justify-content:space-between; gap:16px; font-weight:800; font-size:1.06rem; color:var(--maroon); }
  .faq-list summary::-webkit-details-marker{ display:none; }
  .faq-list summary .i{ color:var(--red); transition:transform .25s var(--ease); }
  .faq-list details[open] summary .i{ transform:rotate(180deg); }
  .faq-list .ans{ padding:0 24px 22px; color:var(--ink-soft); }
  .faq-list .ans a{ color:var(--red); font-weight:700; }
  .faq-say{ margin-bottom:34px; }
  .faq-more{ text-align:center; margin-top:26px; }

  /* VENUE */
  .venue-grid{ display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:stretch; }
  .venue h1{ font-size:clamp(2.3rem,4.6vw,3.6rem); color:var(--gold); margin-bottom:18px; }
  .venue-name{ font-family:'Anton',sans-serif; text-transform:uppercase; font-size:1.6rem; color:var(--white); }
  .venue-addr{ font-size:1.15rem; font-weight:600; color:var(--on-dark); margin:6px 0 22px; }
  .venue-actions{ display:flex; gap:14px; flex-wrap:wrap; margin-bottom:34px; }
  .contact-cards{ display:grid; gap:14px; }
  .contact-card{ display:flex; align-items:center; gap:16px; text-decoration:none; background:var(--maroon-2); border:1px solid rgba(246,200,26,.3); border-radius:16px; padding:16px 20px; transition:border-color .2s ease, transform .2s var(--ease); }
  a.contact-card:hover{ border-color:var(--gold); transform:translateY(-2px); }
  .contact-card .ci{ width:48px; height:48px; border-radius:50%; background:var(--gold); color:var(--maroon); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
  .contact-card .lbl{ font-family:'Bebas Neue',sans-serif; letter-spacing:2px; color:var(--gold); font-size:.9rem; display:block; }
  .contact-card .val{ font-weight:800; font-size:clamp(1.15rem,2.4vw,1.45rem); color:var(--white); word-break:break-word; }
  .map-frame{ border:3px solid rgba(246,200,26,.5); border-radius:var(--radius); overflow:hidden; background:var(--maroon-2); min-height:420px; }
  .map-frame iframe{ width:100%; height:100%; min-height:420px; border:0; display:block; }

  /* UPDATES + FLYERS */
  .updates{ background:var(--red); color:var(--white); }
  .updates-grid{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start; }
  .updates h2{ font-size:clamp(2.2rem,4.6vw,3.6rem); color:var(--white); margin:22px 0 12px; }
  .updates h2 em{ font-style:normal; color:var(--gold-2); }
  .updates-copy > p{ font-size:1.08rem; margin-bottom:22px; }
  .signup{ display:grid; gap:12px; background:rgba(0,0,0,.18); border-radius:20px; padding:22px; }
  .signup label{ font-weight:700; font-size:.92rem; display:grid; gap:6px; }
  .signup input{ font:inherit; font-size:1rem; min-height:48px; padding:12px 16px; border-radius:12px; border:2px solid transparent; background:var(--white); color:var(--ink); }
  .signup input:focus{ outline:none; border-color:var(--gold); }
  .signup .row{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
  .signup .fine{ font-size:.82rem; opacity:.9; }
  .signup-thanks{ display:none; background:var(--maroon); color:var(--gold-2); border-radius:16px; padding:18px 20px; font-weight:700; }
  .signup-thanks.show{ display:block; }
  .flyers{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
  .flyer-card{ margin:0; }
  .thumb{ display:block; width:100%; padding:0; border:3px solid var(--gold); border-radius:12px; overflow:hidden; background:var(--maroon); cursor:zoom-in; transition:transform .2s var(--ease); }
  .thumb:hover{ transform:translateY(-4px) rotate(-1deg); }
  .thumb img{ width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; object-position:top; }
  .flyer-card figcaption{ margin-top:8px; display:flex; justify-content:space-between; align-items:center; gap:6px; }
  .flyer-card figcaption span{ font-family:'Bebas Neue',sans-serif; letter-spacing:1.5px; color:var(--white); font-size:1.05rem; line-height:1.1; }
  .save-link{ display:inline-flex; align-items:center; gap:4px; color:var(--white); font-weight:700; font-size:.85rem; text-decoration:none; min-height:44px; padding:0 2px; }
  .save-link:hover{ color:var(--gold-2); }
  .flyers-head{ font-family:'Bebas Neue',sans-serif; letter-spacing:3px; font-size:1.2rem; color:var(--white); margin-bottom:14px; }


  footer{ background:var(--maroon); border-top:6px solid var(--gold); padding:44px 0 120px; text-align:center; }
  footer p{ color:#bfa6b4; font-size:.88rem; margin:6px 0; }
  footer a{ color:var(--cream); display:inline-block; padding:13px 4px; }
  footer p.fcontact{ display:flex; justify-content:center; flex-wrap:wrap; gap:4px 26px; margin:14px 0; }
  footer .fcontact a{ display:inline-flex; align-items:center; gap:8px; color:var(--gold); font-weight:800; font-size:1.2rem; text-decoration:none; }
  footer .fcontact a:hover{ text-decoration:underline; }
  footer .fcontact .i{ width:20px; height:20px; }
  footer .fbrand{ color:var(--gold); font-family:'Anton',sans-serif; letter-spacing:1px; font-size:1.2rem; }

  /* STICKY TICKET BAR */
  .ticket-bar{ position:fixed; left:0; right:0; bottom:0; z-index:90; background:rgba(42,13,30,.96); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); border-top:3px solid var(--gold); transform:translateY(110%); transition:transform .35s var(--ease); padding-bottom:env(safe-area-inset-bottom); }
  .ticket-bar.show{ transform:none; }
  .ticket-bar .inner{ max-width:var(--max); margin:0 auto; padding:10px 24px; display:flex; align-items:center; justify-content:space-between; gap:16px; }
  .tb-event{ display:flex; align-items:center; gap:12px; }
  .tb-event .mh-avatar{ width:48px; height:48px; border-width:2px; }
  .tb-event b{ display:block; font-family:'Anton',sans-serif; font-weight:400; text-transform:uppercase; letter-spacing:.5px; color:var(--white); font-size:1.05rem; line-height:1.15; }
  .tb-event small{ color:var(--on-dark); font-size:.85rem; }
  .tb-right{ display:flex; align-items:center; gap:18px; }
  .tb-price{ text-align:right; line-height:1.1; }
  .tb-price small{ display:block; font-family:'Bebas Neue',sans-serif; letter-spacing:2px; color:var(--on-dark); font-size:.8rem; }
  .tb-price b{ font-family:'Anton',sans-serif; font-weight:400; color:var(--gold); font-size:1.5rem; }
  .tb-price b span{ font-family:'Inter',sans-serif; font-size:.8rem; color:var(--cream); font-weight:600; }

  /* compact tickets: shared perks listed once, table perks fold into "What's included" */
  .swipe-hint{ display:none; text-align:center; font-family:'Bebas Neue',sans-serif; letter-spacing:2px; color:var(--red); font-size:1rem; margin:10px 0 0; }
  .tier-perks{ text-align:center; color:var(--ink-soft); font-weight:600; max-width:620px; margin:-14px auto 34px; }
  .pricing-grid.compact .price-card{ padding:34px 24px 24px; }
  .pricing-grid.compact .price-note{ margin-bottom:18px; }
  .price-per{ margin-bottom:16px; }
  details.incl{ width:100%; margin:0 0 18px; text-align:left; flex:1; }
  details.incl summary{
    list-style:none; cursor:pointer; min-height:44px; display:flex; align-items:center; justify-content:center; gap:6px;
    font-weight:800; font-size:.92rem; border:2px dashed currentColor; border-radius:12px; opacity:.85;
  }
  details.incl summary::-webkit-details-marker{ display:none; }
  details.incl summary .i{ width:18px; height:18px; transition:transform .2s var(--ease); }
  details.incl[open] summary .i{ transform:rotate(180deg); }
  details.incl ul{ margin:12px 0 0; }

  /* Here's what's going down */
  .night-wrap{ max-width:780px; }
  #night h1{ font-size:clamp(2.3rem,4.8vw,3.6rem); color:var(--white); margin-bottom:24px; }
  #night h1 em{ font-style:normal; color:var(--gold); }
  .down-list{ list-style:none; padding:0; margin:0; display:grid; gap:14px; }
  .down-list li{ display:flex; gap:14px; align-items:flex-start; color:var(--on-dark); font-size:1.02rem; line-height:1.5; }
  .down-list li b{ color:var(--white); }
  .down-list .di{ width:42px; height:42px; border-radius:12px; background:var(--gold); color:var(--maroon); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
  .down-list .di .i{ width:22px; height:22px; }
  .down-list .artist-strip{ display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }

  /* mystery prizes */
  .prize-card small{ display:block; color:var(--on-dark); font-size:.85rem; margin-top:6px; }
  .prize-card.cash{ background:var(--red); }
  .prize-card.cash .round, .prize-card.cash small{ color:#ffe6e8; }
  .prize-card.cash h3, .prize-card.cash .i{ color:var(--gold-2); }
  .prizes .prize-grid{ margin:0 0 34px; }
  .prize-say{ margin-bottom:40px; }
  .prize-cta{ text-align:center; }

  /* sign-up + flyer downloads, single column */
  .updates-one{ max-width:680px; text-align:center; }
  .updates-one h2{ margin:22px 0 18px; }
  .updates-one .signup{ text-align:left; }
  .updates-one .flyers-head{ margin-top:34px; }
  .flyer-links{ display:flex; flex-wrap:wrap; justify-content:center; gap:10px; }
  .flyer-links a{ display:inline-flex; align-items:center; gap:6px; min-height:44px; padding:0 16px; border:2px solid rgba(255,255,255,.65); border-radius:999px; color:var(--white); font-weight:700; font-size:.9rem; text-decoration:none; }
  .flyer-links a:hover{ background:rgba(255,255,255,.12); }
  .flyer-links .i{ width:16px; height:16px; }
  .map-frame, .map-frame iframe{ min-height:320px; }

  @media (max-width: 1024px){
    .night-grid{ grid-template-columns:repeat(2,1fr); }
    .trio{ grid-template-columns:1fr; max-width:560px; margin:0 auto; }
  }
  @media (max-width: 980px){
    .hero-inner{ grid-template-columns:1fr; gap:0; }
    .hero-figure{ width:100%; margin:0 auto; order:-1; padding:8px 0 36px; }
    .stage{ width:min(80vw, 460px); }
    .hero-copy{ text-align:center; padding-bottom:56px; }
    .lockup, .title-line, .hero-ctas, .hero-deadline{ justify-content:center; }
    .hero-lede{ margin-left:auto; margin-right:auto; }
    .hero-facts{ margin-left:auto; margin-right:auto; text-align:left; }
    .how-grid, .drinks-body, .venue-grid, .updates-grid, .table-feature{ grid-template-columns:1fr; }
    .table-feature .copy{ padding:0 28px 32px; }
    .table-feature .art{ min-height:0; aspect-ratio:4/3; }
    .prize-grid{ grid-template-columns:repeat(2,1fr); }
    .chair{ grid-template-columns:200px 1fr; }
    .pricing-grid.two, .pricing-grid.three{ grid-template-columns:1fr; max-width:460px; margin:0 auto; }
    .pricing-grid.two.compact{ grid-template-columns:1fr 1fr; max-width:560px; gap:16px; }
    .pricing-grid.three{ gap:40px; }
    .nav-links{ position:absolute; top:100%; right:0; left:0; background:var(--maroon); flex-direction:column; align-items:stretch; gap:0; padding:8px 24px 20px; border-bottom:2px solid var(--gold); display:none; }
    .nav-links a{ padding:14px 0; border-bottom:1px solid rgba(255,255,255,.08); font-size:1.05rem; }
    .nav-links.open{ display:flex; }
    .nav-toggle{ display:inline-flex; }
  }
  @media (max-width: 640px){
    .wrap, .hero-inner, .nav-inner, .band-inner{ padding-left:16px; padding-right:16px; }
    .section{ padding:84px 0; }
    .hero{ padding-top:128px; }
    .tb-q{ display:none; }
    .topbar-inner{ gap:16px; font-size:.86rem; padding:0 12px; }
    .topbar .i{ width:16px; height:16px; }
    .hero-figure{ padding:6px 0 30px; }
    .stage{ height:auto; width:min(72vw, 270px); aspect-ratio:1/1; border-width:4px; box-shadow:8px 8px 0 var(--maroon); }
    .stage video{ height:178%; }
    .hero-lede{ font-size:1rem; margin-bottom:20px; }
    .hero-sticker{ width:84px; height:84px; right:-24px; top:-14px; }
    .hero-sticker b{ font-size:1.45rem; }
    .hero-sticker small{ font-size:.8rem; }
    .sound-btn{ bottom:12px; }
    .vcap{ bottom:70px; left:8px; right:8px; }
    .vcap span{ font-size:.86rem; }
    .vid-pause{ top:8px; left:8px; }
    .lockup{ margin-bottom:6px; justify-content:center; }
    .hero .title-line{ margin:8px 0 10px; }
    .lockup img{ display:none; }
    .lockup span{ font-size:1.05rem; text-align:center; }
    .lockup small{ font-size:.82rem; letter-spacing:2px; }
    .greet{ font-size:clamp(2.3rem,10.6vw,2.8rem); white-space:nowrap; }
    .greet-2{ font-size:clamp(1.8rem,8vw,2.3rem); }
    .title-line{ font-size:1.05rem; letter-spacing:2px; margin:14px 0 16px; }
    .title-line::before{ display:none; }
    .hero-ctas .btn{ width:100%; }
    .hero-facts{ grid-template-columns:1fr; }
    .band-inner{ justify-content:center; text-align:center; }
    .cd-box{ width:70px; }
    .cd-box .n{ font-size:1.7rem; }
    .night-grid{ grid-template-columns:1fr; }
    .chair{ grid-template-columns:1fr; text-align:center; padding:22px; }
    .chair-img{ width:220px; max-width:100%; margin:0 auto; }
    .prize-banner{ border-width:4px; }
    .info-strip{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:44px; }
    .info-chip{ flex-direction:column; align-items:flex-start; gap:6px; padding:12px 14px; }
    .info-chip .val{ font-size:.92rem; }
    .signup .row{ grid-template-columns:1fr; }
    .contact-btns{ grid-template-columns:1fr; }
    .pricing-grid.compact .price-card{ padding:30px 10px 16px; }
    .pricing-grid.compact .price-card h3{ font-size:1.12rem; letter-spacing:1px; }
    .pricing-grid.compact .price-amt{ font-size:2.7rem; }
    .pricing-grid.compact .price-note{ font-size:.8rem; }
    .pricing-grid.compact .btn{ font-size:.8rem; padding:10px 6px; }
    .pricing-grid.compact .price-ribbon{ font-size:.8rem; padding:6px 12px; }
    .pricing-grid.compact .perf{ display:none; }
    .hero-facts{ grid-template-columns:1fr 1fr; gap:8px; }
    .fact{ padding:10px; gap:8px; }
    .fact small{ display:none; }
    .fact b{ font-size:.98rem; }
    .down-list li{ font-size:.97rem; }
    .prize-card{ padding:20px 10px; }
    .prize-card h3{ font-size:1.05rem; }
    .section{ padding:56px 0; }
    .sec-head{ margin-bottom:30px; }
    .sec-head p{ font-size:1rem; margin-top:10px; }
    .tier-say{ margin-bottom:40px; }
    .map-frame, .map-frame iframe{ min-height:220px; }
    .venue-actions{ margin-bottom:22px; }
    #tables{ margin-top:48px !important; }
    .contact-cta{ margin-top:36px; }
    /* tables become a swipeable row on phones */
    .pricing-grid.three{
      display:grid; grid-auto-flow:column; grid-template-columns:none; grid-auto-columns:82%;
      max-width:none; margin:0 -16px; padding:24px 16px 10px; gap:14px;
      overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; scrollbar-width:none;
    }
    .pricing-grid.three::-webkit-scrollbar{ display:none; }
    .pricing-grid.three .price-card{ scroll-snap-align:center; padding:32px 18px 20px; }
    .pricing-grid.three .price-amt{ font-size:3rem; }
    .swipe-hint{ display:block; }
    .contact-cta{ padding:22px 16px 24px; }
    .tier-say{ margin-bottom:60px; }
    .flyers{ grid-template-columns:repeat(2,1fr); }
    .nav-right .btn{ display:none; }
    .tb-event{ display:none; }
    .tb-right{ width:100%; justify-content:space-between; }
    .ticket-bar .inner{ padding:10px 16px; }
    .mh-avatar{ width:60px; height:60px; }
    .bubble{ font-size:.96rem; }
  }
  @media (prefers-reduced-motion: reduce){
    html{ scroll-behavior:auto; }
    .marquee-track{ animation:none; }
    .reveal{ opacity:1; transform:none; transition:none; }
    .sound-btn .pi::after{ animation:none; display:none; }
  }

  /* ===== Multi-page additions ===== */
  /* larger header logo (nav is taller, so the space under it grows to match) */
  .nav-brand{ font-size:1.3rem; }
  .nav-brand img{ height:64px; width:64px; }
  section, header{ scroll-margin-top:136px; }
  .hero{ padding-top:182px; }
  nav .nav-links a[aria-current="page"]{ color:var(--gold); box-shadow:inset 0 -3px 0 var(--gold); }
  #tables{ scroll-margin-top:150px; }
  .sec-head h1{ font-size:clamp(2.4rem,5.4vw,4.2rem); color:var(--maroon); }
  .sec-head h1 em{ font-style:normal; color:var(--red); }
  /* spacing under Miss Holler's bubbles (the .mh-say.center rule was overriding the intended gap) */
  .mh-say.center.tier-say{ margin:-8px auto 48px; }
  .mh-say.center.prize-say{ margin-bottom:40px; }
  .section.first{ padding-top:182px; }
  .price-all{ font-size:.88rem; font-weight:800; color:var(--maroon); margin-top:2px; }
  .price-card.sip .price-all{ color:#ffe6e8; }
  /* bold, prominent contact info */
  .topbar-inner{ font-size:1.15rem; font-weight:900; }
  .topbar .i{ width:22px; height:22px; }
  .contact-strip{ padding:64px 0; }
  .contact-strip .contact-cta{ margin-top:0; }
  footer .fcontact a{ font-size:1.5rem; font-weight:900; }
  .night-wrap{ margin:0 auto; }
  .night-head{ text-align:center; margin-bottom:34px; }
  .night-head .eyebrow{ justify-content:center; }
  .night-wrap .down-list{ gap:16px; }

  /* Miss Holler "Get Tickets" call-to-action at the end of every page */
  .cta-sec{ padding:76px 0; }
  .cta-block{ text-align:center; }
  .cta-block .mh-say{ max-width:700px; text-align:left; }
  .cta-block .bubble{ font-size:clamp(1.1rem,2.2vw,1.35rem); }
  .cta-btns{ display:flex; flex-wrap:wrap; justify-content:center; gap:16px; margin-top:32px; }
  .night-wrap .cta-block{ margin-top:60px; }
  .cta-note{ color:var(--on-dark); margin-top:22px; font-weight:600; }

  /* FAQ page */
  .page-faq{ padding-top:136px; }
  .page-faq .wrap{ max-width:900px; }
  .page-faq .crumbs{ font-size:.9rem; color:var(--ink-soft); padding-top:26px; }
  .page-faq .crumbs a{ color:var(--red); font-weight:700; }
  .page-faq header.page{ padding:18px 0 34px; }
  .page-faq h1{ font-size:clamp(2.3rem,6vw,3.6rem); line-height:1; color:var(--maroon); margin:8px 0 14px; }
  .page-faq h1 em{ font-style:normal; color:var(--red); }
  .page-faq .lede{ font-size:1.1rem; color:var(--ink-soft); max-width:680px; }
  .page-faq .lede strong{ color:var(--maroon); }
  .page-faq .mh-say{ margin-top:24px; }
  .page-faq .jump{ display:flex; flex-wrap:wrap; gap:10px; margin:0 0 30px; }
  .page-faq .jump a{ display:inline-flex; align-items:center; min-height:44px; padding:0 16px; border-radius:999px; background:var(--white); border:2px solid var(--cream-2); font-weight:700; font-size:.92rem; text-decoration:none; color:var(--maroon); }
  .page-faq .jump a:hover{ border-color:var(--red); }
  .page-faq h2{ font-size:1.7rem; line-height:1; color:var(--maroon); margin:40px 0 14px; scroll-margin-top:150px; }
  .page-faq .faq-list{ max-width:none; margin:0; }
  .page-faq .faq-list summary{ padding:18px 22px; }
  .page-faq .faq-list summary h3{ margin:0; font-family:'Inter',sans-serif; text-transform:none; letter-spacing:0; font-size:1.06rem; font-weight:800; color:var(--maroon); line-height:1.35; }
  .page-faq .faq-list .ans{ padding:0 22px 20px; }
  .page-faq .faq-list .ans p + p{ margin-top:10px; }
  .page-faq .faq-list .ans strong{ color:var(--maroon); }
  .page-faq .cta-sec{ margin-top:30px; }

  @media (max-width: 980px){
    .night-wrap{ max-width:620px; }
  }
  @media (max-width: 640px){
    .nav-brand img{ height:56px; width:56px; }
    .nav-brand{ font-size:1.2rem; }
    section, header{ scroll-margin-top:128px; }
    .hero{ padding-top:136px; }
    .section.first{ padding-top:136px; }
    .contact-strip{ padding:44px 0; }
    .topbar-inner{ font-size:.92rem; gap:14px; }
    footer .fcontact a{ font-size:1.3rem; }
    .page-faq{ padding-top:124px; }
    .mh-say.center.tier-say{ margin-bottom:60px; }
    .cta-sec{ padding:52px 0; }
    .cta-btns .btn{ width:100%; }
    .night-wrap .cta-block{ margin-top:44px; }
    .night-head{ margin-bottom:26px; }
    .page-faq .faq-list summary{ padding:16px 18px; }
    .page-faq .faq-list .ans{ padding:0 18px 18px; }
  }
