/* Near-black event stage, luminous red-to-orange action, quiet ivory content. */
:root {
  --night: #190b1b;
  --night-2: #2b111d;
  --hot: #ff3760;
  --orange: #ff941b;
  --foil: #ffe0a2;
  --paper: #fffaf4;
  --sand: #fff0e6;
  --card: #fff;
  --ink: #2a1a20;
  --ink-2: #635159;
  --line: #eadbd3;
  --accent: #c52348;
  --accent-press: #a7193c;
  --accent-soft: #fff0e6;
  --gold: #f7b95f;
  --band: #fff0e6;
  --band-ink: #2a1a20;
  --shadow: 0 8px 24px rgba(43,17,29,.08);
  --shadow-lift: 0 17px 35px rgba(43,17,29,.13);
}
body { background: var(--paper); color: var(--ink); }
::selection { background: var(--hot); color: var(--night); }
:focus-visible, .pill input:focus-visible + span { outline: 3px solid #c52348; outline-offset: 3px; }
.eyebrow, .hero-text-link { color: #b62143; }
.eyebrow::before { background: #e43a51; }
.lede { color: var(--ink-2); }
.btn-primary, .draw .btn-primary, .submit, .mbar .btn-primary,
#lucky-draw .draw-foot .btn-primary {
  background: linear-gradient(110deg,var(--hot),var(--orange));
  color: var(--night);
  box-shadow: 0 10px 22px rgba(198,36,55,.18);
}
.btn-primary:hover, .draw .btn-primary:hover, .submit:hover,
.mbar .btn-primary:hover, #lucky-draw .draw-foot .btn-primary:hover {
  background: linear-gradient(110deg,#ff5a77,#ffae43);
  color: var(--night);
}

.design-preview-note { background: #fff3e8; color: var(--ink); border-color: #f0d7c4; }
.design-preview-note a { color: #a7193c; }
.fair-masthead { background: var(--night); border-bottom: 0; }
.fair-masthead img { background: #fff; border-radius: 14px; padding: 7px 10px; width: 130px; }
.strip {
  background: linear-gradient(100deg,#bd123f 0%,#d52c37 52%,#b84806 100%);
  color: #fff; border-bottom: 2px solid #f6a545; box-shadow: none;
}
.strip-stats b, .strip a { color: #fff; }
.strip-link { background: rgba(25,11,27,.28); border-color: rgba(255,255,255,.72); }

.hero {
  color: #fff;
  background:
    radial-gradient(ellipse 74% 64% at 87% 14%,rgba(255,125,24,.29),transparent 72%),
    radial-gradient(ellipse 53% 65% at 6% 87%,rgba(236,31,91,.18),transparent 72%),
    linear-gradient(115deg,#18091e 0%,#2b121e 58%,#190b16 100%);
}
.hero::before { opacity: 0; }
.hero-layout { gap: clamp(42px,5vw,76px); padding-block: clamp(54px,6vw,78px) clamp(64px,6vw,88px); }
.hero-meta {
  margin: 0 0 24px;
  color: var(--foil);
  font: 800 12px/1.5 var(--body);
  letter-spacing: .13em;
}
.hero-meta span { padding-inline: 8px; color: #f08070; }
.hero-kicker { color: #fff; background: rgba(255,255,255,.06); border: 1px solid rgba(255,173,83,.5); box-shadow: none; }
.kicker-mark { background: linear-gradient(135deg,var(--hot),var(--orange)); color: var(--night); }
.hero h1 { color: #fff; font-size: clamp(52px,4.5vw,60px); letter-spacing: -.04em; }
.hero h1 em {
  background: linear-gradient(93deg,#ff4876 0%,#ff951b 58%,#ffe2a8 100%);
  -webkit-background-clip: text; background-clip: text;
  color: transparent; -webkit-text-fill-color: transparent; padding-inline: 0;
}
.hero .hero-sub { max-width: 40ch; margin: 27px 0 28px; color: #f4e9ee; font-weight: 550; }
.hero-actions .btn-primary { background: linear-gradient(110deg,var(--hot),var(--orange)); color: var(--night); min-height: 58px; box-shadow: 0 10px 26px rgba(5,2,10,.28); }
.hero-actions .btn-primary:hover { background: linear-gradient(110deg,#ff5a77,#ffae43); color: var(--night); }
.hero-text-link { color: var(--foil); text-decoration-color: var(--foil); }
.hero-benefits span { color: #fff; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.24); box-shadow: none; }
.hero-benefits span::before { color: var(--foil); }
.hero-when { background: rgba(255,255,255,.07); color: #fff; border: 1px solid rgba(255,255,255,.24); box-shadow: none; }
.hero-when strong { color: var(--foil); }
.hero .hero-qualifier { margin-top: 14px; color: #e8d7df; font-size: 12px; }
.hero .hero-qualifier a { color: inherit; }
.hero-media { display: block; height: clamp(400px,40vw,520px); }
.hero-photo { border: 1px solid rgba(255,255,255,.58); box-shadow: 0 22px 46px rgba(6,1,9,.27); }
.hero-photo-main { width: 100%; height: 100%; }
.hero-photo::after { display: none; }
.hero-photo-label { background: #fff; color: var(--night); }
.hero-date-sticker { background: linear-gradient(145deg,#ffe3a9,#ffad43); border-color: #fff; color: var(--night); box-shadow: 0 12px 30px rgba(9,2,7,.37); }
.carnival-runway { background: var(--night); color: #fff; border-block: 2px solid #c93146; }
.carnival-runway span + span { border-left-color: rgba(255,255,255,.2); }
.carnival-runway span::before { color: var(--orange); }

#register { background: #fff5ed; color: var(--ink); }
#register::before { height: 5px; background: linear-gradient(90deg,var(--hot),var(--orange)); }
#register .eyebrow, #register > .wrap > .reveal .eyebrow { color: #b62143; }
#register #reg-title { color: var(--ink); }
#register .lede, #register > .wrap > .reveal .lede { color: #59464e; }
.register-perks p { border-top-color: #e8d1c4; }
.register-perks span { color: #b62143; }
.register-perks strong { color: var(--ink); }
.register-perks small { color: var(--ink-2); }
#register .pass, #register-2 .pass { background: #fff; border: 1px solid #ecd8ca; border-top: 5px solid #e64c53; border-radius: 16px; box-shadow: 0 16px 34px rgba(43,17,29,.11); }
#register .pass-head, #register-2 .pass-head { background: #fff5ed; border-color: #eadbd3; }
#register .pass-head h3, #register-2 .pass-head h3 { color: var(--ink); }
.pass-stamp { color: var(--night); background: #ffdd9d; border-color: #efbd71; }
.input, .phone, .pill span { color: var(--ink); background: #fff; border-color: #d8c9c6; }
.input:focus, .phone:focus-within { border-color: #c52348; box-shadow: 0 0 0 3px rgba(197,35,72,.14); }
.pill input:checked + span { background: var(--night); border-color: var(--night); color: #fff; }

#deals { background: var(--paper); }
#deals .deal { background: #fff; border-color: #eadbd3; box-shadow: var(--shadow); }
#deals .deal .corner { background: #ffdd9d; color: var(--night); }
#deals .deal .offer { color: #aa1e3d; }
#deals .deal-image, #deals .deal-image img { background: #fff6ec; }
#lucky-draw { background: #fff0e7; color: var(--ink); }
#lucky-draw .eyebrow, #lucky-draw .section-head .eyebrow,
#lucky-draw #draw-title, #lucky-draw #draw-title .gold, #lucky-draw .mini-faq h3 { color: var(--ink); }
#lucky-draw .section-head .lede, #lucky-draw .mini-faq p, #lucky-draw .draw-foot .tnc { color: #59464e; }
#lucky-draw .prize, #lucky-draw .steps li { color: var(--ink); background: #fff; border-color: #efceb8; }
#lucky-draw .prize-name, #lucky-draw .prize-rank, #lucky-draw .steps b { color: #b62143; }
#lucky-draw .prize-details summary { color: var(--ink); border-color: #e2bfae; }
#spin-the-wheel, #spin-the-wheel .wheel-panel { background: #fffaf4 !important; }
#stamp-rewards { background: #fff1e9 !important; }
#goodie-bag { background: var(--paper); color: var(--ink); }
#goodie-bag .eyebrow, #goodie-bag h2 { color: var(--ink); }
#goodie-bag .bag-note { background: #fff3e6; color: #59464e; border-color: #ebd2bd; }
#vendors { background: #fff6ef; }
#vendors .vendor { background: #fff; border-color: #eadbd3; box-shadow: var(--shadow); }
#vendors .tag { background: #ffe3bb; color: var(--night); }
#vendors .vendor.more .plus { background: var(--night); color: #fff; }
#why, #faq { background: var(--paper); }
#why .why, #why .why:nth-child(even) { background: #fff; border-color: #eadbd3; }
#why .why .icon { color: #c52348; }
#getting-there { background: #fff3e9; }
#getting-there .map { border-color: #e9cfbd; }
#faq .faq-list details { border-color: #eadbd3; }
#register-2 { background: var(--night); color: #fff; }
#register-2 .eyebrow, #register-2 > .wrap > .reveal .eyebrow,
#register-2 #final-title, #register-2 .lede, #register-2 > .wrap > .reveal .lede { color: #fff; }
#register-2 .cd-unit { background: #ffe0a2; border-color: #ffe0a2; }
#register-2 .cd-num, #register-2 .cd-lbl { color: var(--night); }
.fair-video { background: #fff3e9; }
footer { background: #120813; color: #f2e6e9; border-top: 4px solid #d82b43; }
footer a { color: var(--foil); }
.mbar { background: var(--paper); color: var(--ink); border-top: 2px solid #d82b43; }
.mbar p small { color: var(--ink-2); }
.mbar .btn-primary { background: linear-gradient(110deg,var(--hot),var(--orange)); color: var(--night); }

/* Original page has fixed burgundy text rules in its inline CSS. */
main h2, main h3, #register .pass, #register .pass label,
#register .pass legend, .deal-lightbox-close { color: var(--ink); }

@media (max-width:700px) {
  .fair-masthead { padding-block: 5px; }
  .fair-masthead img { width: 105px; padding: 5px 7px; }
  .hero-layout { padding-block: 46px 60px; gap: 38px; }
  .hero-meta { margin-bottom: 20px; font-size: 10px; line-height: 1.55; letter-spacing: .08em; }
  .hero-meta span { padding-inline: 4px; }
  .hero h1 { font-size: clamp(43px,10vw,56px); }
  .hero .hero-sub { margin: 21px 0 26px; }
  .hero-media { height: 285px; }
}
