@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Inter:wght@400;500;600;700;800&family=Space+Mono:wght@400;700&display=swap');

@font-face{
  font-family:"Road Rage";
  src:url("../fonts/Road_Rage.otf") format("opentype");
  font-display:swap;
}
@font-face{
  font-family:Researcher;
  src:url("../fonts/Researcher-Regular.ttf") format("truetype");
  font-weight:400;
  font-display:swap;
}
@font-face{
  font-family:Researcher;
  src:url("../fonts/Researcher-Thin.ttf") format("truetype");
  font-weight:300;
  font-display:swap;
}

:root{
  --bg:#050505;
  --surface:#0b0b0b;
  --surface-2:#111;
  --surface-3:#151515;
  --text:#f7f7f2;
  --muted:#9c9c97;
  --red:#ff1717;
  --red-deep:#a90000;
  --line:rgba(255,255,255,.12);
  --line-strong:rgba(255,255,255,.24);
  --ok:#67e48a;
  --max:1240px;
  --header:72px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{
  margin:0;
  color:var(--text);
  background:radial-gradient(circle at 50% -10%,rgba(255,23,23,.16),transparent 34rem),var(--bg);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  overflow-x:hidden;
}
body::before{
  content:"";position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:.052;mix-blend-mode:screen;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.65'/%3E%3C/svg%3E")
}
::selection{background:var(--red);color:#fff}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,select,textarea{font:inherit}
button{border-radius:0}
code{color:#fff;background:#111;padding:.15rem .35rem;border:1px solid var(--line)}

.skip-link{position:fixed;left:1rem;top:-4rem;z-index:12000;background:#fff;color:#000;padding:.8rem 1rem;font-weight:800;transition:top .2s}
.skip-link:focus{top:1rem}
.shell{width:min(calc(100% - 40px),var(--max));margin-inline:auto}
.section{padding:clamp(5rem,10vw,9rem) 0;position:relative}

.topbar{position:fixed!important;inset:0 0 auto;z-index:10000!important;height:var(--header);border-bottom:1px solid transparent;transform:translate3d(0,0,0)!important;will-change:transform;transition:background .25s,border-color .25s,backdrop-filter .25s}
.topbar.scrolled{background:rgba(5,5,5,.8);border-color:var(--line);backdrop-filter:blur(16px)}
.nav{height:100%;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:2rem}
.brand{position:relative;width:clamp(140px,10vw,190px);display:block;line-height:0;justify-self:start}
.brand-logo{width:100%;filter:drop-shadow(0 0 10px rgba(255,0,0,.28));user-select:none}
.brand-logo-glitch{position:absolute;inset:0;opacity:.24;pointer-events:none;animation:logo-glitch 4.4s steps(1) infinite;filter:hue-rotate(165deg) saturate(2) drop-shadow(-4px 0 0 rgba(0,220,255,.55))}
.nav-links{display:flex;align-items:center;gap:1.4rem;margin-left:0;justify-self:center}
.nav-links a,.footer-links a{color:#d8d8d2;font:700 .68rem/1 Space Mono,monospace;letter-spacing:.1em;text-transform:uppercase;transition:color .2s}
.nav-links a:hover,.nav-links a:focus-visible,.footer-links a:hover{color:var(--red)}
.nav-cta{margin-left:0;justify-self:end;min-width:clamp(190px,16vw,240px);white-space:nowrap}
.nav-cta.nav-cta--saved{display:none}
.has-registration .nav-cta.nav-cta--reserve{display:none}
.has-registration .nav-cta.nav-cta--saved{display:inline-flex}
.menu-btn{display:none;border:0;background:transparent;color:#fff;width:42px;height:42px;padding:9px;cursor:pointer}
.menu-btn span{display:block;height:2px;background:currentColor;margin:6px 0;transition:.2s ease}

.btn{min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:.65rem;padding:.85rem 1.2rem;border:1px solid transparent;text-decoration:none;font:700 .72rem/1 Space Mono,monospace;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:transform .2s,background .2s,color .2s,border-color .2s,box-shadow .2s}
.btn:hover{transform:translateY(-2px)}
.instagram-icon,.whatsapp-icon{width:1.15em;height:1.15em;display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.instagram-dot{fill:currentColor;stroke:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.btn--primary,.btn:not(.secondary):not(.btn--ghost){background:var(--red);color:#fff;border-color:var(--red);box-shadow:0 0 28px rgba(255,23,23,.2)}
.btn--primary:hover,.btn:not(.secondary):not(.btn--ghost):hover{background:#ff3535;border-color:#ff3535}
.btn--ghost,.btn.secondary{border-color:rgba(255,255,255,.34);background:rgba(0,0,0,.25);color:#fff}
.btn--ghost:hover,.btn.secondary:hover{border-color:#fff;background:#fff;color:#000}
.btn--small,.btn.small{min-height:40px;padding:.65rem .85rem;font-size:.62rem}
.btn.full,.full.btn{width:100%}

.hero{min-height:100svh;display:grid;align-items:end;position:relative;isolation:isolate;overflow:hidden;padding:calc(var(--header) + 4rem) 0 4rem}
.formulario-page .hero{min-height:0vh}
.hero-media{position:absolute;inset:0;z-index:-4;background:linear-gradient(90deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.56) 48%,rgba(0,0,0,.79) 100%),linear-gradient(0deg,#050505 0%,transparent 42%),url("/assets/hero-fundo.jpg") center 43%/cover;background-color:#0b0b0b;transform:scale(1.02)}
.hero-media::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(255,255,255,.025) 4px),radial-gradient(circle at 70% 45%,rgba(255,0,0,.22),transparent 30%);mix-blend-mode:screen}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 15%,rgba(255,0,0,.16) 49%,transparent 51%);animation:scan 6s linear infinite;transform:translateX(-110%)}
@keyframes scan{to{transform:translateX(110%)}}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(285px,.55fr);gap:clamp(2rem,7vw,7rem);align-items:end}
.hero-logo-wrap{position:relative;width:min(100%,800px);margin-left:clamp(-1rem,-2vw,-2rem)}
.hero-logo{width:100%;filter:drop-shadow(0 0 18px rgba(255,0,0,.28));user-select:none}
.hero-logo-glitch{position:absolute;inset:0;opacity:.24;pointer-events:none;animation:logo-glitch 4.4s steps(1) infinite;filter:hue-rotate(165deg) saturate(2) drop-shadow(-8px 0 0 rgba(0,220,255,.55))}
@keyframes logo-glitch{0%,92%,100%{clip-path:inset(0);transform:translate(0);opacity:0}93%{clip-path:inset(12% 0 62%);transform:translate(-8px,2px);opacity:.3}94%{clip-path:inset(63% 0 12%);transform:translate(9px,-2px);opacity:.25}95%{clip-path:inset(36% 0 40%);transform:translate(-4px,1px);opacity:.35}96%{opacity:0}}
.hero-kicker{margin:.5rem 0 0;font:700 clamp(.7rem,1vw,.88rem)/1.4 Space Mono,monospace;letter-spacing:.22em;text-align:justify;text-transform:uppercase;color:#d4d4ce}
.hero-title{margin:.6rem 0 0;font:400 clamp(3.2rem,7.2vw,7rem)/.88 "Bebas Neue",Impact,sans-serif;text-transform:uppercase;letter-spacing:.015em}
.hero-title span{color:var(--red);text-shadow:0 0 22px rgba(255,23,23,.35)}
.hero-lead{max-width:48rem;margin:1rem 0 0;color:#c6c6c0;font-size:clamp(1rem,1.35vw,1.15rem);line-height:1.65}
.hero-actions,.actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.8rem}
.hero-card{border:1px solid rgba(255,255,255,.2);background:rgba(5,5,5,.6);backdrop-filter:blur(14px);box-shadow:18px 18px 0 rgba(255,23,23,.11);padding:clamp(1.3rem,3vw,2rem);position:relative;overflow:hidden}
.hero-card::before{content:"";position:absolute;width:120px;height:7px;background:var(--red);right:-25px;top:20px;transform:rotate(35deg);box-shadow:0 0 20px var(--red)}
.hero-card-label,.panel-label{color:var(--red);font:700 .66rem/1 Space Mono,monospace;letter-spacing:.16em;text-transform:uppercase}
.hero-date{margin:.75rem 0 1.4rem;font:400 4.4rem/.78 "Bebas Neue",Impact,sans-serif}
.hero-date small{display:block;font-size:1.35rem;letter-spacing:.08em;margin-top:.6rem}
.data-list{display:grid;gap:.9rem;margin:0}
.data-row{display:grid;grid-template-columns:74px 1fr;gap:1rem;padding-top:.9rem;border-top:1px solid var(--line)}
.data-row dt{color:#777;font:700 .62rem/1.3 Space Mono,monospace;text-transform:uppercase;letter-spacing:.08em}
.data-row dd{margin:0;font-weight:700;line-height:1.3}

.ticker{overflow:hidden;border-block:1px solid var(--line);background:var(--red);color:#fff;transform:rotate(-1deg) scale(1.02);margin:-1rem 0 0}
.ticker-track{width:max-content;display:flex;gap:2.3rem;padding:.75rem 0;animation:ticker 24s linear infinite;font:700 .72rem/1 Space Mono,monospace;letter-spacing:.12em;text-transform:uppercase}
.ticker-track span::after{content:" ✦";margin-left:2.3rem}
@keyframes ticker{to{transform:translateX(-50%)}}

.eyebrow{display:inline-flex;align-items:center;gap:.65rem;color:var(--red);font:700 .7rem/1 Space Mono,monospace;letter-spacing:.18em;text-transform:uppercase}
.eyebrow::before{content:"";width:2.2rem;height:2px;background:currentColor;box-shadow:0 0 14px currentColor}
.display,.section-title{margin:.7rem 0 0;font:400 clamp(3.2rem,9vw,8.2rem)/.83 "Bebas Neue",Impact,sans-serif;letter-spacing:-.025em;text-transform:uppercase}
.lead{max-width:60rem;color:#b4b4ae;font-size:clamp(.98rem,1.5vw,1.2rem);line-height:1.68}

.impact-section{background:linear-gradient(115deg,rgba(255,23,23,.08),transparent 42%)}
.impact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(3rem,9vw,8rem);align-items:center}
.panel{background:rgba(11,11,11,.92);border:1px solid var(--line);padding:clamp(1.25rem,3vw,2rem);box-shadow:0 0 70px rgba(255,23,23,.055);position:relative}
.panel::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,rgba(255,255,255,.025),transparent 35%)}
.impact-panel{padding:clamp(1.5rem,4vw,3rem)}
.impact-head,.form-panel-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}
.live-dot{display:inline-flex;align-items:center;gap:.5rem;color:#bbb;font:700 .62rem/1 Space Mono,monospace;text-transform:uppercase;letter-spacing:.08em}
.live-dot::before{content:"";width:.48rem;height:.48rem;border-radius:50%;background:var(--red);box-shadow:0 0 12px var(--red);animation:pulse 1.8s infinite}
@keyframes pulse{50%{opacity:.35}}
.impact-big{margin:1.3rem 0 .6rem;font:400 clamp(5rem,11vw,9.5rem)/.82 "Bebas Neue",Impact,sans-serif;color:var(--red);text-shadow:0 0 25px rgba(255,23,23,.25)}
.impact-big small{font-size:.34em;color:#73736f}
.progress{height:13px;background:#222;overflow:hidden;margin:1.4rem 0 1.8rem;border:1px solid rgba(255,255,255,.06)}
.progress span{display:block;height:100%;background:var(--red);box-shadow:0 0 20px var(--red);transition:width .55s ease}
.stats-grid,.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}
.stat{padding:1rem;background:#080808;border:1px solid var(--line)}
.stat strong{display:block;font:400 clamp(1.8rem,3vw,2.5rem)/1 "Bebas Neue",Impact,sans-serif}
.stat span{display:block;margin-top:.35rem;color:#85857f;font:700 .56rem/1.35 Space Mono,monospace;letter-spacing:.07em;text-transform:uppercase}

.reserve-section{border-block:1px solid var(--line);background:linear-gradient(130deg,rgba(255,23,23,.11),transparent 28%),#080808}
.reserve-heading,.invasion-heading{display:flex;align-items:end;justify-content:space-between;gap:3rem;margin-bottom:clamp(2.5rem,6vw,4.5rem)}
.reserve-heading .lead,.invasion-heading .lead{max-width:34rem}
.reserve-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(2rem,6vw,5rem);align-items:start}
.steps{display:grid;gap:.9rem;position:sticky;top:calc(var(--header) + 2rem)}
.step{display:grid;grid-template-columns:60px 1fr;gap:1rem;padding:1.25rem 0;border-top:1px solid var(--line)}
.step:last-of-type{border-bottom:1px solid var(--line)}
.step b{color:var(--red);font:400 2.5rem/1 "Bebas Neue",Impact,sans-serif}
.step strong{font:400 1.8rem/1 "Bebas Neue",Impact,sans-serif;text-transform:uppercase;letter-spacing:.03em}
.step p,.privacy-note p{margin:.4rem 0 0;color:#92928d;line-height:1.55}
.privacy-note{padding:1.1rem;border-left:2px solid var(--red);background:rgba(255,23,23,.055)}
.privacy-note span{font:700 .62rem/1 Space Mono,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--red)}
.form-panel{padding:clamp(1.4rem,4vw,2.7rem)}
.form-panel-head strong{font:400 1.45rem/1 "Bebas Neue",Impact,sans-serif;text-transform:uppercase}
form{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.5rem;position:relative;z-index:1}
.field{display:grid;gap:.48rem}
.form-trap{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.full{grid-column:1/-1}
label,legend{font:700 .62rem/1 Space Mono,monospace;text-transform:uppercase;letter-spacing:.09em;color:#d4d4ce}
label span{color:#777}
input,select,textarea{width:100%;border:1px solid rgba(255,255,255,.16);border-radius:0;background:#070707;color:#fff;padding:.95rem 1rem;outline:none;transition:border-color .2s,box-shadow .2s,background .2s}
input:hover,select:hover{border-color:rgba(255,255,255,.3)}
input:focus,select:focus,textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(255,23,23,.1);background:#0a0a0a}
select{color-scheme:dark}
.city-lookup{position:relative}
.city-lookup input{padding-right:3rem}
.city-toggle{position:absolute;right:0;top:0;width:3rem;height:100%;border:0;background:transparent;color:#f7f7f2;font-size:1.2rem;line-height:1;cursor:pointer}
.city-toggle:hover{color:var(--red)}
.city-options{position:absolute;z-index:20;top:calc(100% + .35rem);left:0;right:0;max-height:14rem;overflow-y:auto;border:1px solid rgba(255,23,23,.6);background:#171717;box-shadow:0 14px 30px rgba(0,0,0,.45);padding:.3rem}
.city-options[hidden]{display:none}
.city-options button{display:block;width:100%;border:0;border-bottom:1px solid rgba(255,255,255,.06);background:transparent;color:#d8d8d2;padding:.72rem .75rem;text-align:left;font:700 .72rem/1.2 Space Mono,monospace;cursor:pointer}
.city-options button[hidden]{display:none}
.city-options button:last-child{border-bottom:0}
.city-options button:hover,.city-options button:focus,.city-options button[aria-selected="true"]{background:var(--red);color:#fff;outline:0}
.city-lookup.is-invalid input{border-color:var(--red);box-shadow:0 0 0 3px rgba(255,23,23,.1)}
.genres{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;border:0;padding:0;margin:0}
.genres legend{grid-column:1/-1;margin-bottom:.35rem}
.genre input{position:absolute;opacity:0;pointer-events:none}
.genre label{display:block;text-align:center;padding:.9rem .35rem;border:1px solid var(--line);cursor:pointer;transition:.2s}
.genre label:hover{border-color:rgba(255,255,255,.35)}
.genre input:checked+label{border-color:var(--red);background:rgba(255,23,23,.14);color:#fff;box-shadow:inset 0 -3px 0 var(--red)}
.check{grid-column:1/-1;display:flex;gap:.75rem;align-items:flex-start;color:#95958f;font:500 .76rem/1.5 Inter,sans-serif;letter-spacing:0;text-transform:none}
.check input{width:1rem;min-width:1rem;margin-top:.18rem;accent-color:var(--red)}
.message{grid-column:1/-1;min-height:1.35rem;color:#ff8181;font-size:.86rem}
.form-divider{display:flex;align-items:center;gap:1rem;margin:1.4rem 0 0;color:#777;font:700 .58rem/1 Space Mono,monospace;letter-spacing:.1em;text-transform:uppercase}
.form-divider::before,.form-divider::after{content:"";height:1px;background:var(--line);flex:1}
.recover-form{margin-top:1.1rem}

.invasion-section{overflow:hidden}
.invasion-section::before{content:"NOIZE";position:absolute;right:-3vw;top:48%;transform:translateY(-50%);font:400 min(31vw,30rem)/1 "Bebas Neue",Impact,sans-serif;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.045);pointer-events:none}
.invasion-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;position:relative}
.map-panel{grid-row:span 2;margin-bottom:0;overflow:hidden}
.impact-map{height:590px;margin:1rem -1.25rem 0;background:#101010;isolation:isolate}
.impact-map .leaflet-tile{filter:grayscale(1) brightness(.45) contrast(1.15)}
.impact-map .leaflet-control-zoom a,.impact-map .leaflet-control-attribution{background:rgba(5,5,5,.88);color:#aaa;border-color:rgba(255,255,255,.14)}
.impact-map .leaflet-control-attribution{display:none}
.impact-map .leaflet-control-attribution a{color:#ddd}
.impact-map .impact-marker{fill:#ff1717;fill-opacity:.35;stroke:#ff3535;stroke-width:2;stroke-opacity:.9}
.map-note{margin:1rem 0 0;color:#888;font-size:.72rem;line-height:1.5}
@media(max-width:950px){.map-panel{grid-row:auto}}
@media(max-width:650px){.impact-map{height:360px;margin-inline:-1.15rem}}
@media(max-width:950px){.analytics-grid{grid-template-columns:1fr}}
.caught-page{min-height:100vh;display:grid;place-items:center}.caught-card{width:min(720px,100%);text-align:center;border-top:4px solid var(--red)}.caught-card h1{color:var(--red)}.caught-gif{display:block;width:min(100%,460px);margin:1.5rem auto;border:1px solid var(--line)}.caught-video{position:relative;width:min(100%,560px);aspect-ratio:16/9;margin:0 auto 1rem;background:#000;overflow:hidden}.caught-video iframe{width:100%;height:100%;border:0}.caught-note{color:#888;font:.68rem/1.5 Space Mono,monospace;margin:0 0 1.4rem}
.error-logo{display:block;width:min(340px,80vw);margin:0 auto 1.5rem}
.cities{display:flex;gap:.55rem;flex-wrap:wrap;margin-top:1.4rem}
.chip{border:1px solid var(--line);padding:.62rem .75rem;color:#c3c3bd;font:700 .64rem/1 Space Mono,monospace;text-transform:uppercase;letter-spacing:.06em;background:#080808}
.bars{display:grid;gap:1rem;margin-top:1.4rem}
.bar{display:grid;grid-template-columns:95px 1fr 40px;gap:.75rem;align-items:center;font-size:.8rem}
.bar strong{font:700 .64rem/1 Space Mono,monospace;text-transform:uppercase}
.track{height:8px;background:#252525}
.fill{height:100%;background:var(--red);box-shadow:0 0 12px rgba(255,23,23,.38)}

footer{border-top:1px solid var(--line);padding:2rem 0}
.footer-grid{display:flex;justify-content:space-between;align-items:center;gap:2rem;color:#7f7f79;font:700 .6rem/1.5 Space Mono,monospace;letter-spacing:.08em;text-transform:uppercase}
.footer-links{display:flex;gap:1.2rem}

.registration-confirmation[hidden]{display:none!important}
.qr{width:210px;background:#fff;padding:.65rem;margin:1rem auto}
.registration-confirmation{margin:1.5rem 0 2rem;border-color:rgba(255,23,23,.42);background:linear-gradient(135deg,rgba(255,23,23,.13),transparent 60%),#080808}
.registration-loading{display:none;margin:1.5rem 0;padding:1rem;border:1px solid var(--line);color:#999;font:700 .65rem/1.4 Space Mono,monospace;text-transform:uppercase}
.has-registration .registration-loading{display:block}
.has-registration .reserve-section .reserve-heading,.has-registration .reserve-section .reserve-grid{display:none}
.registration-confirmation .display{margin:.75rem 0 1rem}
.registration-summary{font-size:1.1rem;color:#f7f7f2;text-transform:uppercase;letter-spacing:.06em}
.share-prompt{margin:1.7rem 0 .8rem;color:var(--red);font:700 .78rem/1.4 Space Mono,monospace;text-transform:uppercase;letter-spacing:.08em}
.confirmation-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.5rem}
.share-action-row{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap;margin:.9rem auto 1.8rem}.share-choice-row{display:flex;justify-content:center;gap:.7rem;flex-wrap:wrap}.share-story-button,.share-save-button{display:flex;margin:0}.share-mention{color:#c2c2bc;font:700 .68rem/1.4 Space Mono,monospace;text-transform:uppercase;letter-spacing:.04em}.share-mention strong{color:var(--red)}.share-mention .mention-at{font-family:Inter,Arial,sans-serif;font-size:1.16em;font-weight:800;letter-spacing:0;vertical-align:-.03em}
.confirmation-ticket{display:grid;grid-template-columns:1fr 150px;gap:1.2rem;align-items:center;margin-top:1.5rem;padding:1.2rem;border-top:1px dashed rgba(255,255,255,.24);border-bottom:1px dashed rgba(255,255,255,.24);text-align:left}
.confirmation-ticket strong{display:block;margin:.55rem 0;font:400 clamp(3.4rem,9vw,5.4rem)/.8 "Bebas Neue",Impact,sans-serif;color:var(--red)}
.confirmation-ticket p{margin:.35rem 0;color:#bbb;font-size:.8rem;text-transform:uppercase}
.confirmation-qr{width:150px;padding:.45rem;background:#fff}
.registration-reset{margin-top:1.35rem;border:0;background:transparent;color:#777;text-decoration:underline;text-underline-offset:3px;font:.65rem/1 Space Mono,monospace;text-transform:uppercase;cursor:pointer}
.site-dialog[hidden]{display:none!important}
.dialog-open{overflow:hidden}
.site-dialog{position:fixed;inset:0;z-index:11000;display:grid;place-items:center;padding:1.25rem}
.site-dialog__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(6px)}
.site-dialog__panel{position:relative;width:min(520px,100%);padding:clamp(1.5rem,5vw,2.35rem);border:1px solid rgba(255,23,23,.7);border-top:4px solid var(--red);background:linear-gradient(135deg,rgba(255,23,23,.14),transparent 55%),#0a0a0a;box-shadow:0 0 70px rgba(255,23,23,.18);text-align:center}
.site-dialog__panel .display{margin:.8rem 0 1rem}
.site-dialog__panel p{max-width:34rem;margin:0 auto;color:#c2c2bc;line-height:1.55}
.site-dialog__close{position:absolute;right:.75rem;top:.55rem;border:0;background:transparent;color:#fff;font:400 1.7rem/1 Arial,sans-serif;cursor:pointer}
.site-dialog__close:hover{color:var(--red)}
.site-dialog__actions{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap;margin-top:1.5rem}
.ticket-note{max-width:58rem;margin:1rem auto 0;color:#c2c2bc;font-size:.75rem;line-height:1.7;text-align:center}
.ticket-note strong{color:var(--red);font-weight:800;letter-spacing:.04em}
.registration-reset:hover{color:#fff}
.share-canvas{display:block;width:min(100%,360px);height:auto;max-height:70vh;aspect-ratio:9/16;object-fit:contain;margin:1.25rem auto 0;background:#050505;border:1px solid var(--line)}

/* Ticket */
.ticket-page{min-height:100vh;display:grid;place-items:center;padding:clamp(1.2rem,4vw,3rem);background:radial-gradient(circle at 50% 20%,rgba(255,23,23,.18),transparent 32rem),#050505}
.ticket-page main{width:min(820px,100%)}
.ticket{width:100%;background:#070707;border:1px solid rgba(255,255,255,.18);box-shadow:22px 22px 0 rgba(255,23,23,.1),0 0 80px rgba(255,23,23,.16);position:relative;overflow:hidden}
.ticket::before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(255,255,255,.018) 4px)}
.ticket-head{padding:clamp(1.5rem,5vw,3rem);background:linear-gradient(135deg,rgba(255,23,23,.22),transparent 58%),#080808;border-bottom:1px dashed rgba(255,255,255,.24);position:relative}
.ticket-head::after{content:"NO RULES / JUST IMPACT";position:absolute;right:1.3rem;top:50%;transform:translateY(-50%);writing-mode:vertical-rl;color:var(--red);font:700 .56rem/1 Space Mono,monospace;letter-spacing:.18em}
.ticket-logo{width:min(390px,76%);filter:drop-shadow(0 0 16px rgba(255,23,23,.24))}
.ticket-head .eyebrow{margin-top:1.1rem}
.ticket-body{padding:clamp(1.5rem,5vw,3rem);display:grid;grid-template-columns:1fr 220px;gap:2rem;align-items:center;position:relative}
.ticket h1{margin:.2rem 0 1.7rem;font:400 clamp(3.2rem,8vw,6rem)/.82 "Bebas Neue",Impact,sans-serif;text-transform:uppercase}
.ticket-no{font:400 clamp(5rem,13vw,8rem)/.8 "Bebas Neue",Impact,sans-serif;color:var(--red);text-shadow:0 0 22px rgba(255,23,23,.28)}
.ticket-info{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem}
.ticket-info>div{padding-top:.8rem;border-top:1px solid var(--line)}
.ticket-info span{display:block;color:#777;font:700 .55rem/1.3 Space Mono,monospace;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.35rem}
.ticket-info strong{font-size:.92rem}
.ticket .qr{width:100%;margin:0}
.ticket-code{margin-top:.75rem;color:#777;font:700 .55rem/1.5 Space Mono,monospace;word-break:break-all;text-align:center}
.ticket-page>.actions,.ticket-page main>.actions{justify-content:center}

/* Administration */
.admin{padding:clamp(2rem,5vw,4rem) 0}
.logo{width:min(230px,58vw);filter:drop-shadow(0 0 14px rgba(255,23,23,.24))}
.login-card .logo{display:block;width:min(270px,68vw);margin:0 auto 1rem}
.login-card{max-width:500px;margin:clamp(3rem,10vh,7rem) auto;border-top:4px solid var(--red)}
.login-card h1,.admin h1,.ticket-page .panel h1{font:400 clamp(2.8rem,7vw,5rem)/.9 "Bebas Neue",Impact,sans-serif;text-transform:uppercase;margin:1.2rem 0}
.admin-head{display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap;padding-bottom:1.5rem;border-bottom:1px solid var(--line)}
.admin-head .actions{margin:0}
.kpis{grid-template-columns:repeat(4,1fr);gap:.75rem;margin:1.5rem 0}
.admin .panel{margin-bottom:1.25rem}
.analytics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin-bottom:1.25rem}.analytics-card{min-width:0}.analytics-card-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.analytics-card-head h2{margin:0}.bar-chart{height:220px;display:flex;align-items:end;gap:.35rem;border-bottom:1px solid var(--line);padding:.5rem 0 0;overflow:hidden}.chart-column{height:100%;min-width:28px;display:flex;flex-direction:column;align-items:center;justify-content:end;gap:.35rem}.chart-value{color:#aaa;font:700 .58rem/1 Space Mono,monospace}.chart-bar{width:100%;min-height:8px;background:var(--red);box-shadow:0 0 14px rgba(255,23,23,.3)}.chart-label{color:#777;font:700 .55rem/1 Space Mono,monospace;white-space:nowrap}.horizontal-bars{display:grid;gap:1rem}.hbar-row>div:first-child{display:flex;justify-content:space-between;gap:1rem;margin-bottom:.35rem;color:#bbb;font:700 .65rem/1.2 Space Mono,monospace}.hbar-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hbar-row span{color:#fff}.hbar-track{height:9px;background:#242424;border:1px solid rgba(255,255,255,.06)}.hbar-fill{display:block;height:100%;background:var(--red);box-shadow:0 0 12px rgba(255,23,23,.35)}.hbar-fill--warning{background:#f08b35;box-shadow:0 0 12px rgba(240,139,53,.35)}
@media(max-width:950px){.analytics-grid{grid-template-columns:1fr}}
.posts-admin-page{background:radial-gradient(circle at 18% 3%,rgba(255,23,23,.18),transparent 32rem),#050505}
.posts-studio-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:clamp(2rem,5vw,5rem);margin:1.5rem 0 1.4rem!important;background:linear-gradient(120deg,rgba(255,23,23,.13),transparent 48%),#090909}
.posts-studio-intro h1{margin:.7rem 0 1rem;font:400 clamp(3.6rem,8vw,7.2rem)/.78 "Bebas Neue",Impact,sans-serif;letter-spacing:-.02em;text-transform:uppercase}
.posts-studio-intro h1 span{color:var(--red)}
.posts-studio-intro .lead{max-width:52rem}
.posts-studio-status{min-width:230px;padding:1.2rem;border:1px solid rgba(255,23,23,.35);background:rgba(0,0,0,.48)}
.posts-studio-status span,.posts-studio-status strong{display:block}
.posts-studio-status span{color:#777;font:700 .58rem/1 Space Mono,monospace;letter-spacing:.09em;text-transform:uppercase}
.posts-studio-status strong{margin:.55rem 0 1rem;color:#f4f3ee;font:700 .76rem/1.4 Space Mono,monospace}
.post-calendar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;align-items:start}
.post-editor-card{min-width:0;overflow:hidden;border:1px solid var(--line);background:#090909;box-shadow:0 15px 45px rgba(0,0,0,.22)}
.post-preview{position:relative;aspect-ratio:4/5;overflow:hidden;background:#030303;border-bottom:1px solid var(--line)}
.post-art{display:block;width:100%;height:100%;object-fit:cover}
.post-rendering{position:absolute;inset:0;display:grid;place-items:center;padding:1rem;color:#777;background:#050505;font:700 .58rem/1.5 Space Mono,monospace;letter-spacing:.08em;text-align:center;text-transform:uppercase}
.post-editor-meta{padding:1.05rem 1.05rem .8rem}
.post-editor-meta>div{display:flex;align-items:center;justify-content:space-between;gap:.7rem}
.post-day{color:var(--red);font:700 .58rem/1 Space Mono,monospace;letter-spacing:.07em;text-transform:uppercase}
.post-live-badge{color:#ff7777;border-color:rgba(255,23,23,.5);background:rgba(255,23,23,.07)}
.post-editor-meta h2{margin:.8rem 0 .45rem;font:400 1.65rem/1 "Bebas Neue",Impact,sans-serif;letter-spacing:.01em;text-transform:uppercase}
.post-editor-meta p{min-height:3.45em;margin:0;color:#92928c;font-size:.72rem;line-height:1.55}
.post-caption{margin:0 1.05rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.post-caption summary{padding:.8rem 0;color:#aaa;font:700 .58rem/1 Space Mono,monospace;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;list-style-position:inside}
.post-caption[open] summary{color:var(--red)}
.post-caption p{max-height:220px;overflow:auto;margin:0;padding:0 0 1rem;color:#c2c2bc;font-size:.72rem;line-height:1.6}
.post-editor-actions{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;padding:1.05rem}
.post-editor-actions .btn{width:100%;min-width:0;padding-inline:.65rem;font-size:.56rem}
@media(max-width:1050px){.post-calendar{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.posts-studio-intro{grid-template-columns:1fr;align-items:start}.posts-studio-status{width:100%}.post-calendar{grid-template-columns:1fr}.post-editor-card{width:min(100%,480px);margin-inline:auto}}
.admin .panel form{grid-template-columns:minmax(0,1fr) auto;align-items:end;margin:0}
.table-wrap{overflow:auto;border:1px solid var(--line);background:#080808}
table{width:100%;border-collapse:collapse;min-width:1050px;background:#080808}
th,td{text-align:left;padding:.78rem;border-bottom:1px solid var(--line);font-size:.76rem;white-space:nowrap}
th{position:sticky;top:0;background:#101010;color:var(--red);font:700 .58rem/1 Space Mono,monospace;text-transform:uppercase;letter-spacing:.08em}
tr:hover td{background:rgba(255,255,255,.022)}
.badge{display:inline-flex;border:1px solid #555;padding:.35rem .5rem;font:700 .56rem/1 Space Mono,monospace;text-transform:uppercase;letter-spacing:.05em}
.badge.ok{color:var(--ok);border-color:rgba(103,228,138,.48)}
.badge.bad{color:#ff8d8d;border-color:rgba(255,141,141,.45)}
.scan-result{font-size:1rem;padding:1.5rem 0;min-height:6rem}
.scan-result h2{font:400 2rem/1 "Bebas Neue",Impact,sans-serif;text-transform:uppercase}
.qr-scanner{margin:1.25rem 0;border:1px solid var(--line);background:#080808;padding:1rem}
.qr-scanner video{display:block;width:100%;max-height:330px;object-fit:cover;background:#000}
.qr-scanner[hidden]{display:none}
.scanner-message{margin:.75rem 0 0;color:#999;font-size:.76rem;line-height:1.5}
.hidden{display:none!important}

@media(max-width:950px){
  .nav{display:flex;gap:.75rem}
  .brand{width:min(34vw,140px);flex:0 1 auto;order:2}
  .menu-btn{order:1;flex:0 0 42px}
  .nav-cta{order:3;margin-left:auto;min-width:140px;width:140px;padding-inline:.65rem;font-size:.64rem}
  .nav-links{position:fixed;inset:var(--header) 0 auto;display:grid;gap:0;margin-left:0;background:rgba(5,5,5,.97);border-bottom:1px solid var(--line);transform:translateY(-130%);transition:transform .3s ease}
  .nav-links.open{transform:translateY(-1px)}
  .nav-links a{padding:1.2rem 20px;border-top:1px solid var(--line)}
  .menu-btn{display:block}
  .hero-grid,.impact-layout,.reserve-grid{grid-template-columns:1fr}
  .hero{align-items:center}
  .hero-card{max-width:560px}
  .reserve-heading,.invasion-heading{display:block}
  .reserve-heading .lead,.invasion-heading .lead{margin-top:1.2rem}
  .steps{position:static}
  .invasion-grid{grid-template-columns:1fr}
  .ticket-body{grid-template-columns:1fr}
  .ticket .qr{width:210px;margin-inline:auto}
  .kpis{grid-template-columns:1fr 1fr}
}

@media(max-width:650px){
  :root{--header:64px}
  .shell{width:min(calc(100% - 28px),var(--max))}
  .brand{width:min(34vw,140px)}
  .nav-cta{width:140px;min-width:140px;min-height:44px;padding:.7rem .65rem;font-size:.62rem}
  .hero{padding-bottom:2.5rem}
  .hero-logo-wrap{margin-left:-.3rem}
  .hero-title{font-size:clamp(3.2rem,16vw,5.3rem)}
  .hero-card{box-shadow:9px 9px 0 rgba(255,23,23,.11)}
  .stats-grid{grid-template-columns:1fr}
  form,.admin .panel form{grid-template-columns:1fr}
  .full,.genres,.check,.message{grid-column:auto}
  .genres{grid-template-columns:1fr 1fr}
  .genres legend{grid-column:1/-1}
  .ticket-info{grid-template-columns:1fr}
  .ticket-head,.ticket-body{padding:1.35rem}
  .ticket-head::after{display:none}
  .footer-grid{align-items:flex-start;flex-direction:column}
  .footer-links{flex-wrap:wrap}
  .kpis{grid-template-columns:1fr 1fr}
  .panel{padding:1.15rem}
}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
@media print{
  @page{size:auto;margin:0}
  html,body{background:#050505!important;color:#f7f7f2!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  body.ticket-page{background:radial-gradient(circle at 50% 20%,rgba(255,23,23,.18),transparent 32rem),#050505!important}
  .actions,.topbar{display:none!important}
  .ticket-page{padding:clamp(1.2rem,4vw,3rem);min-height:100vh}
  .ticket{box-shadow:22px 22px 0 rgba(255,23,23,.1),0 0 80px rgba(255,23,23,.16);break-inside:avoid}
  .ticket::before{display:block}
}

/* Original index visual overrides */
:root {
      --bg: #050505;
      --surface: #0b0b0b;
      --surface-2: #111;
      --text: #f7f7f2;
      --muted: #9c9c97;
      --red: #ff1717;
      --red-deep: #a90000;
      --line: rgba(255,255,255,.12);
      --max: 1240px;
      --header: 72px;
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; background: var(--bg); }
    body {
      margin: 0;
      color: var(--text);
      background:
        radial-gradient(circle at 50% -10%, rgba(255,23,23,.16), transparent 34rem),
        var(--bg);
      font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      overflow-x: hidden;
    }

    body::before {
      content: "";
      position: fixed;
      inset: 0;
      z-index: 999;
      pointer-events: none;
      opacity: .055;
      mix-blend-mode: screen;
      background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.65'/%3E%3C/svg%3E");
    }

    a { color: inherit; }
    img { display: block; max-width: 100%; }
    button, input, textarea { font: inherit; }
    ::selection { background: var(--red); color: white; }

    .skip-link {
      position: fixed;
      left: 1rem;
      top: -4rem;
      z-index: 2000;
      background: white;
      color: black;
      padding: .8rem 1rem;
      font-weight: 800;
      transition: top .2s ease;
    }
    .skip-link:focus { top: 1rem; }

    .shell { width: min(calc(100% - 40px), var(--max)); margin-inline: auto; }
    .section { padding: clamp(5rem, 10vw, 9rem) 0; position: relative; }
    .section--tight { padding: clamp(3rem, 7vw, 6rem) 0; }

    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: .65rem;
      color: var(--red);
      font: 700 .72rem/1 Space Mono, monospace;
      letter-spacing: .18em;
      text-transform: uppercase;
    }
    .eyebrow::before {
      content: "";
      width: 2.2rem;
      height: 2px;
      background: currentColor;
      box-shadow: 0 0 14px currentColor;
    }

    .display {
      margin: .7rem 0 0;
      font: 400 clamp(3.2rem, 9vw, 8.2rem)/.83 "Bebas Neue", Impact, sans-serif;
      letter-spacing: -.025em;
      text-transform: uppercase;
    }

    .lead {
      max-width: 60rem;
      color: #c6c6c0;
      font-size: clamp(1rem, 1.6vw, 1.25rem);
      line-height: 1.65;
    }

    .topbar {
      position: fixed;
      inset: 0 0 auto;
      z-index: 1000;
      height: var(--header);
      border-bottom: 1px solid transparent;
      transition: background .25s ease, border-color .25s ease, backdrop-filter .25s ease;
    }
    .topbar.scrolled {
      background: rgba(5,5,5,.78);
      border-color: var(--line);
      backdrop-filter: blur(16px);
    }
    .nav {
      height: 100%;
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
      align-items: center;
      gap: 2rem;
    }
    .nav-links { justify-self: center; }
    .nav-cta { justify-self: end; }
    .nav-links { display: flex; align-items: baseline; gap: 1.4rem; }
    .nav-links a {
      text-decoration: none;
      color: #d8d8d2;
      font: 700 .72rem/1 Space Mono, monospace;
      letter-spacing: .1em;
      text-transform: uppercase;
      transition: color .2s ease;
    }
    .nav-links a:hover, .nav-links a:focus-visible { color: var(--red); }

    .menu-btn {
      display: none;
      border: 0;
      background: transparent;
      color: white;
      width: 42px;
      height: 42px;
      padding: 9px;
      cursor: pointer;
    }
    .menu-btn span { display: block; height: 2px; background: currentColor; margin: 6px 0; transition: .2s ease; }

    .hero {
      min-height: 100svh;
      display: grid;
      align-items: end;
      position: relative;
      isolation: isolate;
      overflow: hidden;
      padding: calc(var(--header) + 4rem) 0 4rem;
    }
    .hero-media {
      position: absolute;
      inset: 0;
      z-index: -4;
      background:
        linear-gradient(90deg, rgba(0,0,0,.92) 0%, rgba(0,0,0,.57) 48%, rgba(0,0,0,.76) 100%),
        linear-gradient(0deg, #050505 0%, transparent 40%),
        url("../hero-fundo.jpg") center 43% / cover;
      transform: scale(1.02);
    }
    .hero-media::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        repeating-linear-gradient(0deg, transparent 0 3px, rgba(255,255,255,.025) 4px),
        radial-gradient(circle at 70% 45%, rgba(255,0,0,.2), transparent 30%);
      mix-blend-mode: screen;
    }
    .hero-media::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(115deg, transparent 15%, rgba(255,0,0,.16) 49%, transparent 51%);
      animation: scan 6s linear infinite;
      transform: translateX(-110%);
    }
    @keyframes scan { to { transform: translateX(110%); } }

    .hero-grid {
      display: grid;
      grid-template-columns: minmax(0, 1.25fr) minmax(270px, .55fr);
      gap: clamp(2rem, 7vw, 7rem);
      align-items: end;
    }

    .hero-logo-wrap {
      position: relative;
      width: min(100%, 850px);
      margin-left: clamp(-1rem, -2vw, -2rem);
    }
    .hero-logo {
      width: 100%;
      filter: drop-shadow(0 0 18px rgba(255,0,0,.28));
      user-select: none;
    }
    .hero-logo-glitch {
      position: absolute;
      inset: 0;
      opacity: .24;
      pointer-events: none;
      animation: logo-glitch 4.4s steps(1) infinite;
      filter: hue-rotate(165deg) saturate(2) drop-shadow(-8px 0 0 rgba(0,220,255,.55));
    }
    @keyframes logo-glitch {
      0%, 92%, 100% { clip-path: inset(0); transform: translate(0); opacity: 0; }
      93% { clip-path: inset(12% 0 62%); transform: translate(-8px, 2px); opacity: .3; }
      94% { clip-path: inset(63% 0 12%); transform: translate(9px, -2px); opacity: .25; }
      95% { clip-path: inset(36% 0 40%); transform: translate(-4px, 1px); opacity: .35; }
      96% { opacity: 0; }
    }

    .hero-kicker {
      margin: .5rem 0 0;
      font: 700 clamp(.74rem, 1vw, .9rem)/1.4 Space Mono, monospace;
      letter-spacing: .22em;
      text-align: justify;
      text-transform: uppercase;
      color: #d4d4ce;
    }
    .hero-title {
      margin: .6rem 0 0;
      font: 400 clamp(2.8rem, 7.2vw, 7rem)/.88 "Bebas Neue", Impact, sans-serif;
      text-transform: uppercase;
      letter-spacing: .015em;
    }
    .hero-title span { color: var(--red); text-shadow: 0 0 22px rgba(255,23,23,.35); }

    .hero-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.8rem; }
    .btn {
      min-height: 50px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: .65rem;
      padding: .85rem 1.2rem;
      border: 1px solid transparent;
      text-decoration: none;
      font: 700 .74rem/1 Space Mono, monospace;
      letter-spacing: .08em;
      text-transform: uppercase;
      cursor: pointer;
      transition: transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
    }
    .btn:hover { transform: translateY(-2px); }
    .btn--primary { background: var(--red); color: white; box-shadow: 0 0 28px rgba(255,23,23,.2); }
    .btn--primary:hover { background: #ff3535; }
    .btn--ghost { border-color: rgba(255,255,255,.34); background: rgba(0,0,0,.25); color: white; }
    .btn--ghost:hover { border-color: white; background: white; color: black; }

    .hero-card {
      border: 1px solid rgba(255,255,255,.2);
      background: rgba(5,5,5,.58);
      backdrop-filter: blur(14px);
      box-shadow: 18px 18px 0 rgba(255,23,23,.11);
      padding: clamp(1.3rem, 3vw, 2rem);
      position: relative;
      overflow: hidden;
    }
    .hero-card::before {
      content: "";
      position: absolute;
      width: 120px;
      height: 7px;
      background: var(--red);
      right: -25px;
      top: 20px;
      transform: rotate(35deg);
      box-shadow: 0 0 20px var(--red);
    }
    .hero-card-label {
      color: var(--red);
      font: 700 .68rem/1 Space Mono, monospace;
      letter-spacing: .16em;
      text-transform: uppercase;
    }
    .hero-date { margin: .75rem 0 1.4rem; font: 400 4.4rem/.78 "Bebas Neue", Impact, sans-serif; }
    .hero-date small { display: block; font-size: 1.35rem; letter-spacing: .08em; margin-top: .6rem; }
    .data-list { display: grid; gap: .9rem; margin: 0; }
    .data-row { display: grid; grid-template-columns: 74px 1fr; gap: 1rem; padding-top: .9rem; border-top: 1px solid var(--line); }
    .data-row dt { color: #777; font: 700 .66rem/1.3 Space Mono, monospace; text-transform: uppercase; letter-spacing: .08em; }
    .data-row dd { margin: 0; font-weight: 700; line-height: 1.3; }

    .sound-toggle {
      position: fixed;
      z-index: 900;
      right: 1rem;
      bottom: 1rem;
      width: 54px;
      height: 54px;
      border: 1px solid rgba(255,255,255,.3);
      background: rgba(5,5,5,.78);
      backdrop-filter: blur(10px);
      color: white;
      cursor: pointer;
      display: grid;
      place-items: center;
      box-shadow: 0 0 0 0 rgba(255,23,23,.35);
      transition: border-color .2s ease, transform .2s ease;
    }
    .sound-toggle:hover { border-color: var(--red); transform: translateY(-2px); }
    .sound-toggle.active { border-color: var(--red); box-shadow: 0 0 22px rgba(255,23,23,.2); }
    .sound-toggle .sound-bars { height: 20px; display: flex; align-items: center; gap: 3px; }
    .sound-toggle .sound-bars i { width: 3px; height: 5px; background: currentColor; display: block; }
    .sound-toggle.active .sound-bars i { animation: bars .7s ease-in-out infinite alternate; }
    .sound-toggle.active .sound-bars i:nth-child(2) { animation-delay: -.3s; }
    .sound-toggle.active .sound-bars i:nth-child(3) { animation-delay: -.5s; }
    .sound-toggle.active .sound-bars i:nth-child(4) { animation-delay: -.15s; }
    @keyframes bars { to { height: 20px; } }

    .ticker {
      overflow: hidden;
      border-block: 1px solid var(--line);
      background: var(--red);
      color: white;
      transform: rotate(-1deg) scale(1.02);
      margin: -1rem 0 0;
    }
    .ticker-track {
      width: max-content;
      display: flex;
      gap: 2.3rem;
      padding: .75rem 0;
      animation: ticker 24s linear infinite;
      font: 700 .76rem/1 Space Mono, monospace;
      letter-spacing: .12em;
      text-transform: uppercase;
    }
    .ticker-track span::after { content: " ✦"; margin-left: 2.3rem; }
    @keyframes ticker { to { transform: translateX(-50%); } }

    .event-grid {
      display: grid;
      grid-template-columns: .8fr 1.2fr;
      gap: clamp(3rem, 9vw, 8rem);
      align-items: start;
    }
    .sticky-title { position: sticky; top: calc(var(--header) + 2rem); }

    .countdown {
      margin-top: 2.5rem;
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      border: 1px solid var(--line);
      background: var(--surface);
    }
    .countdown div { padding: 1.1rem .6rem; text-align: center; border-right: 1px solid var(--line); }
    .countdown div:last-child { border-right: 0; }
    .countdown strong { display: block; font: 400 clamp(2rem, 4vw, 3.8rem)/1 "Bebas Neue", Impact, sans-serif; }
    .countdown span { color: #85857f; font: 700 .56rem/1 Space Mono, monospace; letter-spacing: .1em; text-transform: uppercase; }

    .info-list { border-top: 1px solid var(--line); }
    .info-item {
      display: grid;
      grid-template-columns: 76px 1fr;
      gap: 1.5rem;
      padding: 1.6rem 0;
      border-bottom: 1px solid var(--line);
    }
    .info-index { color: var(--red); font: 700 .72rem/1 Space Mono, monospace; }
    .info-item h3 { margin: 0 0 .4rem; font: 400 clamp(1.65rem, 3vw, 2.4rem)/1 "Bebas Neue", Impact, sans-serif; letter-spacing: .02em; }
    .info-item p { margin: 0; color: #a7a7a1; line-height: 1.6; }

    .manifesto {
      overflow: hidden;
      border-block: 1px solid var(--line);
      background:
        linear-gradient(115deg, rgba(255,23,23,.14), transparent 45%),
        #080808;
    }
    .manifesto-grid {
      display: grid;
      grid-template-columns: 1.05fr .95fr;
      gap: clamp(2.5rem, 7vw, 7rem);
      align-items: center;
    }
    .manifesto-visual {
      min-height: 620px;
      position: relative;
      background: url("../logo-transparente.png");
      filter: saturate(.8) contrast(1.1);
    }
    .manifesto-visual::after {
      content: "NO RULES / JUST IMPACT";
      position: absolute;
      right: -2rem;
      bottom: 6rem;
      color: var(--red);
      writing-mode: vertical-rl;
      font: 700 .68rem/1 Space Mono, monospace;
      letter-spacing: .25em;
    }
    .manifesto-copy blockquote {
      margin: 1.8rem 0 0;
      font: 400 clamp(2.35rem, 5vw, 5.2rem)/.94 "Bebas Neue", Impact, sans-serif;
      text-transform: uppercase;
    }
    .manifesto-copy blockquote em { color: var(--red); font-style: normal; }
    .manifesto-copy p { color: #aaa; max-width: 38rem; line-height: 1.7; }

    .gallery-header { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 2.5rem; }
    .gallery-header p { max-width: 32rem; color: #999; line-height: 1.6; }
    .gallery {
      display: grid;
      grid-template-columns: repeat(12, 1fr);
      grid-auto-rows: 70px;
      gap: .8rem;
    }
    .media-card {
      position: relative;
      overflow: hidden;
      background: #111;
      border: 1px solid rgba(255,255,255,.08);
      isolation: isolate;
    }
    .media-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2,.7,.2,1), filter .4s ease; filter: grayscale(.18) contrast(1.08); }
    .media-card:hover img { transform: scale(1.055); filter: grayscale(0) contrast(1.1); }
    .media-card::after {
      content: attr(data-label);
      position: absolute;
      left: .8rem;
      bottom: .8rem;
      z-index: 2;
      font: 700 .6rem/1 Space Mono, monospace;
      letter-spacing: .1em;
      text-transform: uppercase;
      background: rgba(0,0,0,.66);
      padding: .5rem .65rem;
      backdrop-filter: blur(8px);
    }
    .media-card:nth-child(1) { grid-column: span 7; grid-row: span 6; }
    .media-card:nth-child(2) { grid-column: span 5; grid-row: span 4; }
    .media-card:nth-child(3) { grid-column: span 5; grid-row: span 5; }
    .media-card:nth-child(4) { grid-column: span 4; grid-row: span 5; }
    .media-card:nth-child(5) { grid-column: span 3; grid-row: span 5; }
    .media-card:nth-child(6) { grid-column: span 5; grid-row: span 5; }
    .media-card:nth-child(7) { grid-column: span 7; grid-row: span 5; }

    .legacy {
      background: #efeee8;
      color: #080808;
    }
    .legacy .eyebrow { color: #b90000; }
    .legacy-intro { display: grid; grid-template-columns: .85fr 1.15fr; gap: 4rem; margin-bottom: 3rem; }
    .legacy-intro p { max-width: 46rem; line-height: 1.7; color: #444; }
    .edition-list { border-top: 2px solid #111; }
    .edition {
      display: grid;
      grid-template-columns: 80px 1fr auto;
      gap: 1.5rem;
      align-items: center;
      padding: 1.35rem 0;
      border-bottom: 1px solid rgba(0,0,0,.2);
      transition: padding-left .2s ease, color .2s ease;
    }
    .edition:hover { padding-left: .65rem; color: #c00000; }
    .edition-index { font: 700 .65rem/1 Space Mono, monospace; color: #777; }
    .edition-name { font: 400 clamp(1.6rem, 3.5vw, 3rem)/1 "Bebas Neue", Impact, sans-serif; text-transform: uppercase; }
    .edition-date { font: 700 .67rem/1 Space Mono, monospace; letter-spacing: .08em; }

    .contact {
      min-height: 82svh;
      display: grid;
      place-items: center;
      text-align: center;
      overflow: hidden;
    }
    .contact::before {
      content: "NOIZE";
      position: absolute;
      z-index: -1;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%);
      font: 400 min(42vw, 38rem)/1 "Bebas Neue", Impact, sans-serif;
      color: transparent;
      -webkit-text-stroke: 1px rgba(255,255,255,.08);
      letter-spacing: -.04em;
      white-space: nowrap;
    }
    .contact h2 { margin: .7rem 0 1rem; font: 400 clamp(4rem, 12vw, 10rem)/.82 "Bebas Neue", Impact, sans-serif; text-transform: uppercase; }
    .contact h2 span { color: var(--red); }
    .contact p { max-width: 44rem; margin-inline: auto; color: #aaa; line-height: 1.7; }
    .contact-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: .8rem; margin-top: 2rem; }

    footer { border-top: 1px solid var(--line); padding: 2rem 0; }
    .footer-grid { display: flex; justify-content: space-between; align-items: center; gap: 2rem; color: #7f7f79; font: 700 .63rem/1.5 Space Mono, monospace; letter-spacing: .08em; text-transform: uppercase; }
    .footer-links { display: flex; gap: 1.2rem; }
    .footer-links a { text-decoration: none; }
    .footer-links a:hover { color: var(--red); }

    .reveal { opacity: 0; transform: translateY(28px); transition: opacity .8s ease, transform .8s ease; }
    .reveal.visible { opacity: 1; transform: none; }

    @media (max-width: 900px) {
      .nav { display: flex; }
      .nav-links {
        position: fixed;
        inset: var(--header) 0 auto;
        display: grid;
        gap: 0;
        background: rgba(5,5,5,.97);
        border-bottom: 1px solid var(--line);
        transform: translateY(-130%);
        transition: transform .3s ease;
      }
      .nav-links.open { transform: translateY(-1px); }
      .nav-links a { padding: 1.2rem 20px; border-top: 1px solid var(--line); }
      .menu-btn { display: block; }
      .hero-grid, .event-grid, .manifesto-grid, .legacy-intro { grid-template-columns: 1fr; }
      .hero { align-items: center; }
      .hero-card { max-width: 520px; }
      .sticky-title { position: static; }
      .manifesto-visual { min-height: 480px; order: 2; }
      .gallery { grid-auto-rows: 60px; }
      .media-card:nth-child(n) { grid-column: span 6; grid-row: span 5; }
      .media-card:nth-child(1), .media-card:nth-child(7) { grid-column: span 12; }
    }

    @media (max-width: 620px) {
      :root { --header: 64px; }
      .shell { width: min(calc(100% - 28px), var(--max)); }
      .hero { padding-bottom: 2.5rem; }
      .hero-logo-wrap { margin-left: -.3rem; }
      .hero-title { font-size: clamp(3rem, 16vw, 5.3rem); }
      .hero-card { box-shadow: 9px 9px 0 rgba(255,23,23,.11); }
      .countdown strong { font-size: 2rem; }
      .countdown div { padding: .85rem .25rem; }
      .info-item { grid-template-columns: 42px 1fr; gap: .8rem; }
      .gallery { display: grid; grid-template-columns: 1fr; grid-auto-rows: auto; }
      .media-card:nth-child(n) { grid-column: auto; grid-row: auto; aspect-ratio: 4/5; }
      .media-card:nth-child(1), .media-card:nth-child(4), .media-card:nth-child(7) { aspect-ratio: 4/3; }
      .edition { grid-template-columns: 42px 1fr; }
      .edition-date { grid-column: 2; }
      .footer-grid { align-items: flex-start; flex-direction: column; }
      .gallery-header { display: block; }
      .sound-toggle { width: 48px; height: 48px; }
    }

    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
      .reveal { opacity: 1; transform: none; }
    }

    @media (max-width: 650px) {
      .confirmation-ticket { grid-template-columns: 1fr; }
      .confirmation-qr { margin-inline: auto; }
    }

.caught-video iframe { pointer-events: none; user-select: none; }

.event-location-page{min-height:100vh;background:radial-gradient(circle at 50% 15%,rgba(255,23,23,.16),transparent 34rem),#050505}
.event-location-shell{width:min(760px,calc(100% - 28px));margin:0 auto;padding:clamp(2rem,8vw,5rem) 0}
.event-location-logo{display:block;width:min(210px,58vw);margin:0 auto 2.2rem}.event-location-logo img{display:block;width:100%;filter:drop-shadow(0 0 18px rgba(255,23,23,.28))}
.event-location-panel{text-align:center;padding:clamp(1.5rem,5vw,3rem)}.event-location-panel .display{margin:.8rem 0 1rem}.event-location-panel .lead{margin-inline:auto}
.location-countdown{display:grid;grid-template-columns:repeat(4,1fr);width:min(100%,560px);margin:1.5rem auto;padding:0;border:1px solid rgba(255,255,255,.18);background:rgba(5,5,5,.56);color:#fff}.location-countdown[hidden],.location-details[hidden],.location-actions[hidden],.location-actions [hidden]{display:none!important}.location-countdown>div{display:grid;gap:.45rem;place-items:center;padding:1.05rem .55rem;border-right:1px solid rgba(255,255,255,.18)}.location-countdown>div:last-child{border-right:0}.location-countdown strong{font:400 clamp(2.2rem,7vw,3.6rem)/.9 "Bebas Neue",Impact,sans-serif}.location-countdown span{color:#92928c;font:700 .55rem/1 Space Mono,monospace;letter-spacing:.1em;text-transform:uppercase}
.location-details{display:grid;gap:.45rem;margin:1.6rem auto 0;padding:1.1rem;border:1px solid var(--line);background:rgba(0,0,0,.3)}.location-details[hidden]{display:none!important}.location-details strong{color:#fff;font-size:1.1rem}.location-details span{color:#aaa}
.location-unlock-notice{display:grid;gap:.4rem;margin:1rem auto 0;padding:.9rem 1rem;border:1px solid rgba(255,23,23,.55);background:linear-gradient(120deg,rgba(255,23,23,.14),rgba(5,5,5,.72));text-align:left}.location-unlock-notice[hidden]{display:none!important}.location-unlock-notice span{color:var(--red);font:700 .58rem/1 Space Mono,monospace;letter-spacing:.14em;text-transform:uppercase}.location-unlock-notice strong{color:#fff;font:700 .9rem/1.35 Space Mono,monospace;text-transform:uppercase}.location-unlock-notice p{margin:0;color:#b7b7b1;font-size:.78rem;line-height:1.55}
.location-live-map{margin:1rem auto 0;border:1px solid rgba(255,255,255,.18);background:#050505;text-align:left;overflow:hidden}.location-live-map[hidden]{display:none!important}
.location-map-canvas{height:clamp(280px,48vw,390px);background:#111;isolation:isolate}.location-map-canvas .leaflet-tile{filter:grayscale(1) brightness(.42) contrast(1.2)}.location-map-canvas .leaflet-control-zoom{border:1px solid rgba(255,255,255,.2);border-radius:0}.location-map-canvas .leaflet-control-zoom a{border:0;border-bottom:1px solid rgba(255,255,255,.16);border-radius:0;background:rgba(5,5,5,.9);color:#fff}.location-map-canvas .leaflet-control-zoom a:last-child{border-bottom:0}.location-map-canvas .leaflet-control-zoom a:hover{background:var(--red);color:#fff}
.location-guidance{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:1rem;min-height:104px;padding:1rem 1.1rem;border-top:1px solid rgba(255,255,255,.16);background:linear-gradient(110deg,rgba(255,23,23,.12),rgba(5,5,5,.96) 52%)}.location-guidance-arrow{display:grid;width:52px;height:52px;place-items:center;border:1px solid var(--red);background:rgba(255,23,23,.1);color:var(--red);font:700 2rem/1 Inter,Arial,sans-serif;transform-origin:center;transition:transform .3s ease}.location-guidance-arrow[hidden]{display:none}.location-guidance>div{display:grid;gap:.3rem;min-width:0}.location-guidance strong{color:#fff;font:700 clamp(.82rem,2vw,1rem)/1.2 Space Mono,monospace;text-transform:uppercase;letter-spacing:.04em}.location-guidance span{color:#c2c2bc;font-size:.78rem;line-height:1.45}.location-guidance small{color:#777;font:400 .58rem/1.45 Space Mono,monospace}
.noize-location-marker-wrap{background:transparent;border:0}.noize-location-marker{display:block;position:relative;width:22px;height:22px;margin:3px;border:3px solid #fff;border-radius:50%;background:var(--red);box-shadow:0 0 0 5px rgba(255,23,23,.2),0 0 20px rgba(255,23,23,.75)}.noize-location-marker--checkpoint{border-radius:2px;transform:rotate(45deg)}.noize-location-marker--destination{border-radius:0;background:#fff;border-color:var(--red);transform:rotate(45deg)}.noize-location-marker--user{width:18px;height:18px;margin:5px;border-width:3px;background:#fff;border-color:#080808;box-shadow:0 0 0 6px rgba(255,255,255,.2),0 0 16px rgba(255,255,255,.7)}.noize-location-radius{filter:drop-shadow(0 0 7px rgba(255,23,23,.45))}.noize-location-route{filter:drop-shadow(0 0 3px rgba(0,0,0,.9))}
.location-actions{display:flex;justify-content:center;gap:.8rem;flex-wrap:wrap;margin-top:1.5rem}.location-status{min-height:1.4em;margin:1rem 0 0;color:#aaa;font-size:.8rem;line-height:1.5}.location-status.error{color:#ff8d8d}
.location-navigation{display:flex;justify-content:center;margin-top:1rem}.location-navigation .btn{min-width:150px}

@media (max-width:650px){.event-location-shell{width:calc(100% - 16px);padding:.75rem 0 1.25rem}.event-location-logo{width:min(150px,42vw);margin:0 auto .75rem}.event-location-panel{padding:1rem}.event-location-panel .display{margin:.45rem 0 .65rem;font-size:clamp(2.55rem,12vw,3.6rem);line-height:.9}.event-location-panel .lead{font-size:.85rem;line-height:1.5}.location-unlock-notice{margin-top:.7rem;padding:.75rem .8rem}.location-unlock-notice p{font-size:.7rem;line-height:1.45}.location-actions{display:grid;gap:.55rem;margin-top:.7rem}.location-actions .btn{width:100%;min-height:50px;padding:.75rem .7rem}.location-live-map{margin-top:.7rem}.location-map-canvas{height:250px}.location-guidance{grid-template-columns:1fr;gap:.7rem;min-height:0;padding:.75rem .8rem}.location-guidance-arrow{width:44px;height:44px}.location-navigation{margin-top:.65rem}}

.footer-grid{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:1.5rem}
.footer-grid>span:first-child{justify-self:start}
.footer-links{justify-self:end}
.xama-credit{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;color:#a6a6a0;text-decoration:none;font:400 .68rem/1 Inter,Arial,sans-serif;letter-spacing:.04em;text-transform:none;white-space:nowrap;transition:color .2s ease}
.xama-credit:hover,.xama-credit:focus-visible{color:#fff}
.xama-brand{display:inline-flex;align-items:center;gap:.42rem;color:#f2f2ed;font:400 1.05rem/1 Researcher,Arial,sans-serif;letter-spacing:.02em}
.xama-brand img{width:1.15rem;height:1.15rem;object-fit:contain;filter:drop-shadow(0 0 5px rgba(255,91,0,.35))}
.xama-brand strong{font:inherit}
.admin-edit-dialog{max-width:760px;text-align:left}.admin-edit-dialog .display{text-align:center}.admin-edit-dialog form{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.admin-edit-dialog .genres,.admin-edit-dialog .message,.admin-edit-dialog .site-dialog__actions{grid-column:1/-1}.admin-edit-dialog .site-dialog__actions{margin-top:.35rem}
@media (max-width:650px){
  .footer-grid{grid-template-columns:1fr;justify-items:center;text-align:center;gap:1.2rem}
  .footer-grid>span:first-child,.footer-links,.xama-credit{justify-self:center}
  .footer-links{justify-content:center}
  .admin-edit-dialog form{grid-template-columns:1fr}
}

@media (max-width:950px){
  :root{--header:72px}
  html,body{overflow-x:clip}
  .topbar .nav-links{
    left:0;
    right:0;
    margin-left:0;
    justify-self:start;
    justify-content:start;
    justify-items:start;
    text-align:left;
  }
  .topbar .nav-links a{width:100%;text-align:left}
  .topbar,
  .topbar.scrolled{
    position:sticky!important;
    inset:0 0 auto!important;
    width:100%;
    height:var(--header)!important;
    min-height:var(--header)!important;
    margin-bottom:calc(0px - var(--header));
    padding:0!important;
    transform:translate3d(0,0,0)!important;
  }
  .topbar.scrolled{backdrop-filter:none}
  .topbar .nav{
    height:var(--header)!important;
    min-height:var(--header)!important;
    padding-block:0!important;
    display:block;
    position:relative;
    min-width:0;
  }
  .topbar .brand,
  .topbar.scrolled .brand{
    position:absolute;
    left:38px;
    top:50%;
    z-index:1;
    width:min(32vw,140px)!important;
    min-width:0;
    margin:0!important;
    transform:translateY(-50%)!important;
  }
  .topbar .menu-btn{
    position:absolute;
    left:0;
    top:40%;
    z-index:2;
    display:block;
    width:42px;
    height:42px;
    margin:0;
    transform:translateY(-50%);
  }
  .topbar .nav-cta,
  .topbar .nav-cta:hover,
  .topbar.scrolled .nav-cta{
    position:absolute;
    right:0;
    top:50%;
    z-index:2;
    margin:0;
    width:clamp(110px,18vw,150px);
    min-width:0;
    max-width:150px;
    height:50px;
    min-height:50px;
    padding-inline:.55rem;
    font-size:.64rem;
    transform:translateY(-50%)!important;
  }
}

@media (max-width:650px){
  .topbar .nav-cta,
  .topbar .nav-cta:hover,
  .topbar.scrolled .nav-cta{width:clamp(104px,30vw,132px);min-width:0;min-height:50px;padding:.55rem .45rem;font-size:.65rem;line-height:1.15;white-space:normal;text-align:center}
  .topbar .nav-cta::after{display:none;content:none}
}

.location-guidance-arrow{border-radius:44px}
