[hidden] { display:none !important; }
html { scroll-padding-top: 100px; }
body { overflow-x: clip; }
button, a, input { -webkit-tap-highlight-color: transparent; }
button:disabled { cursor:wait; opacity:.7; }
:focus-visible { outline:3px solid #c2703d; outline-offset:5px; }
input { min-width:0; }
.brand-mark { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; flex-shrink:0; }
.campfire-mark { width:100%; height:100%; object-fit:contain; }
#footer .brand-mark { width:36px; height:36px; }
#waitlist .brand-mark { width:64px; height:64px; }
#hero-video { opacity:0; transition:opacity .5s; object-position:60% center; }
#hero-video.is-playing { opacity:1; }
.hero-poster { object-position:60% center; }
#hero-facts { text-align:center; max-width:650px; align-items:center; }
#hero-facts > div { padding:0 12px; }
#hero-facts > div + div { border-left:1px solid #ffffff26; }
#hero-facts .font-display { font-size:clamp(16px,2vw,24px); }
#tray { max-height:calc(100dvh - 32px); overflow:auto; overscroll-behavior:contain; }
.dialog-open { overflow:hidden; }
.form-status { min-height:1.5em; margin:12px 0; font-size:14px; }
.honeypot { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.skip-link { position:fixed; top:-100px; left:16px; z-index:100; background:white; padding:12px 20px; border-radius:12px; }
.skip-link:focus { top:12px; }
#hero { min-height:760px; height:auto; }
#hero > .relative { min-height:760px; padding-top:72px; }
@media (min-width:1024px) { #hero,#hero > .relative { min-height:860px; } }
@media (max-width:639px) {
 #hero,#hero > .relative { min-height:780px; }
 #hero h1 { font-size:clamp(42px,11vw,52px); }
 #hero-facts > div { padding:0 5px; }
 #footer .ml-2 { margin-left:0; }
 #footer > div > div:first-child { flex-wrap:wrap; }
 #footer > div > div:first-child > span:last-child { flex-basis:100%; }
 #referral-card > .mt-6 { flex-wrap:wrap; gap:12px; }
}
@media (prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 *,*::before,*::after { animation:none !important; transition:none !important; }
 .ember-p,.ring-pulse { display:none; }
 .wbar { transform:scaleY(.6); }
}
@media (max-width:639px) {
 #pricing .grid { grid-template-columns:minmax(0,1fr); }
 #price-card,#referral-card,#refund-card { padding:20px; min-width:0; }
 #price-card .text-6xl { font-size:44px; }
 #price-card .items-baseline { flex-wrap:wrap; }
 #seats { gap:6px; }
 #seats > span { width:32px; height:32px; flex-shrink:0; }
 #header > div { padding-left:12px; padding-right:12px; gap:8px; }
 #header [data-open-tray] { font-size:12px; padding-left:12px; padding-right:12px; }
}
