@font-face{font-family:'Roboto';src:url('/fonts/Roboto-Variable.ttf') format('truetype');font-style:normal;font-weight:100 900;font-stretch:75% 100%;font-display:swap}
@font-face{font-family:'Roboto';src:url('/fonts/Roboto-Italic-Variable.ttf') format('truetype');font-style:italic;font-weight:100 900;font-stretch:75% 100%;font-display:swap}

:root{--ink:#110807;--paper:#f3e6dc;--red:#e34a2d;--gold:#ce9a37;--wine:#321412;--muted:#bba9a3}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--paper);font-family:'Roboto',sans-serif}a{color:inherit;text-decoration:none}p{line-height:1.35}h1,h2,h3{margin:0;line-height:.95;text-transform:uppercase}h1{font:clamp(4.3rem,17vw,10rem)/.78 Eater,serif;letter-spacing:-.06em}h2{font-size:clamp(2.5rem,8vw,5.5rem);letter-spacing:-.08em}h3{font-size:1.8rem}.site-header{position:absolute;z-index:5;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:1.25rem clamp(1.25rem,5vw,4rem);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}.brand{font-weight:700}.site-header nav{display:flex;gap:1rem}.site-header nav a:not(:last-child){display:none}.hero-poster{min-height:100svh;position:relative;isolation:isolate;display:flex;align-items:end;padding:1.5rem clamp(1.25rem,8vw,10rem) 4rem;overflow:hidden;background:linear-gradient(180deg,transparent 35%,#170806 85%),url('/images/horror-circus-reference.png') 50% 0/cover}.hero-poster:after{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 50% 20%,transparent 20%,rgba(4,0,0,.65) 77%)}.hero-meta{position:absolute;top:5rem;left:1.25rem;right:1.25rem;display:flex;justify-content:space-between;font-weight:700;font-size:.75rem;text-transform:uppercase}.hero-copy{max-width:27rem}.hero-copy h1{margin:.75rem 0 1.4rem;color:#fff4e9;text-shadow:2px 3px 0 #59231e}.hero-subtitle{max-width:18rem;font-size:1.05rem;font-weight:700}.button{display:inline-flex;align-items:center;justify-content:center;min-height:3.1rem;padding:.7rem 1.35rem;border-radius:99px;border:0;font-weight:700;text-transform:uppercase;letter-spacing:.03em;cursor:pointer;margin-top:1.2rem}.button-primary{background:var(--red);color:white;box-shadow:0 0 30px rgba(227,74,45,.22)}.button-outline{border:1px solid #cf9c94;color:#f5dcd4;background:transparent}.section-shell{width:min(100% - 2.5rem,70rem);margin-inline:auto;padding-block:4.5rem}.eyebrow{margin:0 0 .8rem;color:var(--gold);font-size:.72rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.statement{font-size:clamp(1.65rem,7vw,3.2rem);font-weight:700;letter-spacing:-.07em;text-align:center}.statement p{max-width:38rem;margin:auto}.feature-film{padding-top:1rem}.film-image,.cosplay-image{height:28rem;border-radius:2rem;background:url('/images/horror-circus-reference.png') 50% 42%/cover;box-shadow:inset 0 -8rem 4rem rgba(0,0,0,.75);margin-bottom:1.3rem}.feature-film h2{font-size:2.2rem}.feature-film p{max-width:30rem}.schedule{min-height:36rem;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(0deg,#060303 5%,transparent 67%),url('/images/horror-circus-reference.png') 50% 62%/cover;width:100%;padding-inline:max(1.25rem,calc((100% - 70rem)/2));padding-bottom:4.5rem}.schedule h2 em{font-style:normal;color:white;font-size:.55em}.schedule dl{margin:2rem 0 0}.schedule dl div{display:flex;gap:.7rem;margin:.4rem 0}.schedule dt{color:var(--gold);font-weight:700}.schedule dd{margin:0;color:var(--muted)}.ticket-tease{text-align:center}.ticket-tease>p:not(.eyebrow){max-width:31rem;margin:1rem auto}.tier-list{display:grid;gap:.25rem;margin:1.5rem auto;max-width:24rem}.tier-list span{display:flex;justify-content:space-between;padding:.65rem 0;border-bottom:1px solid #44211e}.tier-list b{color:var(--gold)}.merch{text-align:center;padding-top:2rem}.section-intro{max-width:38rem;margin:1rem auto 2.5rem;color:var(--muted)}.merch-list{display:grid;gap:1.5rem;text-align:left;max-width:29rem;margin:auto}.merch-piece{border:1px solid #5d403b;border-radius:2rem;overflow:hidden;background:#1c0d0d;padding-bottom:1.25rem}.merch-piece img{height:15rem;width:100%;object-fit:cover;object-position:center 58%;filter:saturate(1.2) contrast(1.1)}.merch-piece p,.merch-piece h3,.merch-piece strong{display:block;margin-inline:1.25rem}.merch-piece h3{margin-bottom:.5rem}.merch-piece>p:not(.eyebrow){font-size:.9rem;color:var(--muted)}.merch-piece strong{color:var(--gold);margin-top:1rem}.cosplay-cta{text-align:center}.cosplay-image{height:25rem;background-position:50% 84%;margin-top:1.5rem}.cosplay-cta ol{text-align:left;padding:0;list-style-position:inside;max-width:34rem;margin:2rem auto}.cosplay-cta li{padding:.65rem 0;border-bottom:1px solid #38211d}.cosplay-cta b{color:var(--gold)}.purchase-page,.utility-page{padding-top:8rem;min-height:80vh;max-width:48rem}.purchase-page h1,.utility-page h1{margin:.5rem 0 1rem}.back-link{display:inline-block;color:var(--gold);margin-bottom:2.5rem}.purchase-form{margin-top:2.5rem}.purchase-form fieldset{border:0;padding:0;margin:0 0 2.5rem}.purchase-form legend{font-size:1.3rem;font-weight:700;margin-bottom:1rem}.purchase-row{display:grid;grid-template-columns:1fr auto 3.5rem;gap:1rem;align-items:center;border-top:1px solid #4e2e2a;padding:1rem 0}.purchase-row small,.checkout-summary small{display:block;color:var(--muted);font-size:.75rem;margin-top:.25rem}.purchase-row strong{color:var(--gold)}input,textarea,select{width:100%;border:1px solid #6a4741;border-radius:.55rem;background:#1f100f;color:var(--paper);padding:.75rem;font:inherit}.purchase-row input{padding:.55rem;text-align:center}.buyer-form label,.content-form label{display:block;margin:1rem 0;font-weight:700}.buyer-form label input,.buyer-form label textarea,.content-form textarea{display:block;margin-top:.5rem}.form-note{color:var(--muted);font-size:.85rem}.validation{color:#ff8d7d;margin:1rem 0}.checkout-summary{border-block:1px solid #60403a}.checkout-summary>div{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-bottom:1px solid #38211d}.checkout-summary .total{font-size:1.3rem;border:0}.success-message{color:#9fe1a7;font-weight:700}.mock-payment{max-width:34rem}.success-page{text-align:center;max-width:40rem;padding-top:12rem}.utility-page table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.85rem}.utility-page th,.utility-page td{padding:.7rem .4rem;border-bottom:1px solid #3b241f;text-align:left;vertical-align:top}.utility-page button:not(.button){border:1px solid #76524b;border-radius:.4rem;background:transparent;color:var(--paper);padding:.4rem .6rem;cursor:pointer}.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#442923;margin:2rem 0}.admin-stats div{padding:1.1rem;background:#1e0d0c}.admin-stats b,.admin-stats span{display:block}.admin-stats b{font-size:2rem;color:var(--gold)}.admin-stats span{font-size:.7rem;color:var(--muted)}.admin-nav{display:grid;gap:.6rem}.admin-nav a{padding:1rem;border-bottom:1px solid #442923}.order-panel,.application{border:1px solid #4b2b27;border-radius:1rem;padding:1rem;margin:1rem 0}.order-panel header{display:flex;justify-content:space-between;gap:1rem}.ticket-qr{display:flex;gap:.75rem;flex-wrap:wrap}.ticket-qr img{width:7rem;height:7rem;background:#fff;padding:.35rem}.consent{display:flex!important;gap:.7rem;align-items:center;font-size:.85rem}.consent input{width:auto}.scanner-page video{width:100%;background:#050303;border-radius:1rem;min-height:14rem;margin:1rem 0}.site-footer{display:flex;justify-content:space-between;padding:2rem 1.25rem;color:var(--muted);font-size:.75rem;border-top:1px solid #2b1715}.reveal{animation:reveal .7s ease-out both}@keyframes reveal{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@media(min-width:700px){.site-header nav a:not(:last-child){display:block}.hero-poster{align-items:center;padding-top:9rem}.hero-copy{margin-left:8vw}.hero-meta{top:6rem;left:8vw;right:8vw}.section-shell{padding-block:7rem}.feature-film{display:grid;grid-template-columns:1.1fr .9fr;column-gap:3rem;align-items:end}.film-image{grid-row:span 3;margin:0;height:38rem}.schedule{min-height:46rem}.merch-list{grid-template-columns:repeat(3,1fr);max-width:none}.merch-piece img{height:19rem}.purchase-row{grid-template-columns:1fr auto 4rem}.site-footer{padding-inline:8vw}}
