@font-face{font-family:Balkenschrift;src:url(/fonts/BalkenschriftRounded-Medium.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap;font-synthesis:none}@font-face{font-family:Satoshi;src:url(/fonts/Satoshi-Variable.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Satoshi;src:url(/fonts/Satoshi-VariableItalic.woff2) format("woff2");font-weight:100 900;font-style:italic;font-display:swap}:root{--bg-red: #6C0D00;--bg-green: #132B10;--bg-purple: #2A0878;--accent: #FF3D15;--accent-muted: #FFD4B8;--font-display: "Balkenschrift", sans-serif;--font-body: "Satoshi", sans-serif;--ease-out: cubic-bezier(.16, 1, .3, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:22px}body{font-family:var(--font-body);color:var(--accent);background:var(--bg-red);overflow-x:hidden}.bg-red{background-color:var(--bg-red)}.bg-green{background-color:var(--bg-green)}.bg-purple{background-color:var(--bg-purple)}#nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:1.25rem 2rem;transition:background .4s var(--ease-out),backdrop-filter .4s}#nav.scrolled{background:#ffd4b8f2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.nav-logo{font-family:var(--font-display);font-size:1rem;font-weight:600;color:var(--accent);text-decoration:none;letter-spacing:.08em;text-transform:uppercase}.nav-links{position:fixed;top:0;right:0;display:flex;align-items:center;gap:2.5rem;padding:1.25rem 2rem;z-index:201}.nav-links a{font-family:var(--font-body);font-size:.75rem;font-weight:700;color:var(--accent);text-decoration:none;text-transform:uppercase;letter-spacing:.12em;transition:opacity .2s}.nav-links a:hover{opacity:.7}.nav-burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}.nav-burger span{display:block;width:24px;height:2px;background:var(--accent);transition:transform .3s,opacity .3s}.nav-burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-burger.open span:nth-child(2){opacity:0}.nav-burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.section{position:relative;min-height:100vh;overflow:hidden}.container{position:relative;z-index:2;max-width:1100px;margin:0 auto;padding:9rem 2rem 6rem}.display-title{font-family:var(--font-display);font-size:clamp(3.5rem,13vw,11rem);font-weight:600;line-height:.82;color:var(--accent);text-transform:uppercase;letter-spacing:.02em}.section-title{font-family:var(--font-display);font-size:clamp(2.5rem,8vw,6.5rem);font-weight:600;line-height:.82;color:var(--accent);text-transform:uppercase;letter-spacing:.02em;margin-bottom:3.5rem}.hero-inner{position:relative;z-index:2;padding:14rem 2rem 6rem;max-width:1100px;margin:0 auto}.hero-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem 1.25rem;margin:2.5rem 0 1.5rem;font-size:.9rem;color:var(--accent)}.hero-date{font-size:1.1rem;font-weight:700}.hero-loc{text-transform:uppercase;font-size:1.1rem;font-weight:700}.hero-desc{max-width:480px;font-size:.85rem;line-height:1.7;color:var(--accent-muted);margin-top:2rem}.scroll-hint{position:absolute;bottom:2.5rem;left:50%;transform:translate(-50%);font-size:1.4rem;color:var(--accent-muted);z-index:2;animation:bounceY 2.5s ease-in-out infinite}@keyframes bounceY{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(12px)}}.leaves-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;overflow:hidden}.leaf{position:absolute;will-change:transform;transform-origin:center center}.leaf-outline path{fill:none;stroke:currentColor;stroke-width:1.5px;vector-effect:non-scaling-stroke;stroke-dashoffset:0;transition:stroke-dashoffset 0s}.timeline{border-top:1.5px solid var(--accent)}.day-item{border-bottom:1.5px solid var(--accent)}.day-header{display:flex;align-items:baseline;gap:.6rem 1.5rem;flex-wrap:wrap;padding:1.25rem 0}.day-num{font-family:var(--font-body);font-size:clamp(.9rem,2.2vw,1.05rem);font-weight:700;letter-spacing:.02em;color:var(--accent)}.day-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--accent-muted);flex:1}.day-time{font-size:.75rem;font-weight:600;color:var(--accent-muted);letter-spacing:.06em}.day-location{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-muted);text-decoration:none;border-bottom:1.5px solid rgba(232,165,152,.4);padding-bottom:1px;transition:color .2s,border-color .2s}.day-location:hover{color:var(--accent);border-color:var(--accent)}.day-location:before{content:"";display:inline-block;width:.7em;height:.9em;margin-right:.3em;vertical-align:-.1em;background-color:currentColor;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'/%3E%3C/svg%3E");-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}.day-events{display:block}.event-item{padding:1rem 0}.event-name{font-size:clamp(.9rem,2.2vw,1.05rem);font-weight:700;text-transform:uppercase;letter-spacing:.02em;margin-bottom:.4rem}.event-desc{font-size:.8rem;line-height:1.6;color:var(--accent-muted);margin-bottom:.6rem;max-width:620px}.event-location{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--accent-muted)}a.event-location{color:var(--accent-muted);text-decoration:none;border-bottom:1.5px solid rgba(232,165,152,.4);padding-bottom:2px;transition:color .2s,border-color .2s}a.event-location:before{content:"";display:inline-block;width:.7em;height:.9em;margin-right:.3em;vertical-align:-.1em;background-color:currentColor;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'/%3E%3C/svg%3E");-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}a.event-location:hover{color:var(--accent);border-color:var(--accent)}.location-link{display:inline-block;color:var(--accent-muted);text-decoration:none;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;border-bottom:1.5px solid rgba(232,165,152,.4);padding-bottom:2px;transition:color .2s,border-color .2s}.location-link:hover{color:var(--accent);border-color:var(--accent)}.program-block{margin-bottom:5rem}.block-title{font-family:var(--font-display);font-size:clamp(1.4rem,4vw,2.8rem);font-weight:600;text-transform:uppercase;letter-spacing:.02em;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:1.5px solid var(--accent)}.workshops-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px}.workshop-card{background:var(--bg-green);padding:1.5rem;transition:background .25s}.workshop-card.empty{background:var(--bg-green)}.workshop-card:hover{background:#ff3d1512}.workshop-card .event-time{display:block;margin-bottom:.5rem}.workshop-card h4{font-size:.95rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em;margin-bottom:.5rem;overflow-wrap:anywhere}.workshop-card p{font-size:.78rem;line-height:1.55;color:var(--accent-muted)}.stage-timeline{position:relative;padding-left:0}.stage-timeline:before{content:"";position:absolute;left:89px;top:12px;bottom:12px;width:1.5px;background:#ff3d1559}.stage-item{display:grid;grid-template-columns:90px 1fr;gap:1.5rem;padding:1.25rem 0;position:relative;align-items:start}.stage-item:after{content:"";position:absolute;left:85px;top:1.75rem;width:9px;height:9px;border-radius:50%;background:var(--accent);border:2px solid var(--bg-green)}.section-map{position:relative;overflow:hidden}.map-header{position:relative;z-index:2;padding:3rem 2rem 1.5rem;max-width:1100px;margin:0 auto}.map-subtitle{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;color:var(--accent-muted);margin-top:.5rem}#map{height:45vh;min-height:320px;width:100%;position:relative;z-index:2;border-top:1.5px solid var(--accent);border-bottom:1.5px solid var(--accent)}.map-legend{display:flex;flex-wrap:wrap;gap:1rem 2.5rem;padding:1.25rem 2rem;background:#00000040;position:relative;z-index:2}.legend-item{display:flex;align-items:center;gap:.6rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--accent-muted)}.legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.leaflet-container{background:#e8e0d8;font-family:var(--font-body)}.custom-popup .leaflet-popup-content-wrapper{background:#111;color:var(--accent);border:1.5px solid var(--accent);border-radius:0;font-family:var(--font-body);font-size:12px;box-shadow:0 4px 24px #0009}.custom-popup .leaflet-popup-content{margin:10px 14px;line-height:1.6}.custom-popup .leaflet-popup-content strong{font-size:11px;display:block;margin-bottom:2px;text-transform:uppercase;letter-spacing:.05em}.custom-popup .leaflet-popup-tip-container{display:none}.custom-popup a.leaflet-popup-close-button{color:var(--accent);opacity:.5}#antifa-night .container{padding-top:9rem}.antifa-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem .75rem;margin:2rem 0 3.5rem;font-size:.85rem;color:var(--accent-muted)}.antifa-meta.program-meta{margin:0 0 1.5rem}.antifa-meta .meta-sep{opacity:.4}.lineup{border-top:1.5px solid var(--accent)}.artist-row{display:flex;align-items:center;gap:1.5rem;padding:2rem 0;border-bottom:1.5px solid var(--accent);transition:background .25s;cursor:default}.artist-row:hover{background:#ff3d150a;padding-left:.5rem;transition:background .25s,padding-left .3s var(--ease-out)}.artist-num{font-size:.7rem;color:var(--accent-muted);min-width:28px;letter-spacing:.05em}.artist-name{font-family:var(--font-display);font-size:clamp(1.6rem,5vw,3rem);font-weight:600;text-transform:uppercase;letter-spacing:.02em;flex:1}.artist-time{font-size:.8rem;color:var(--accent-muted);white-space:nowrap}footer{padding:1.75rem 2rem;border-top:1.5px solid var(--accent)}.footer-partners{max-width:1100px;margin:1rem auto 0;font-size:.52rem;color:var(--accent-muted);line-height:1.6}.footer-inner{max-width:1100px;margin:0 auto;display:flex;justify-content:space-between;font-size:.6rem;letter-spacing:.1em;color:var(--accent-muted)}@media (max-width: 900px){.workshops-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.nav-links{position:fixed;top:0;left:0;right:0;bottom:0;background:#ffd4b8;flex-direction:column;align-items:center;justify-content:center;gap:2.5rem;display:none;z-index:190}.nav-links.open{display:flex}.workshops-grid{grid-template-columns:1fr;gap:0}.workshop-card{padding:1.5rem 0}.nav-links a{font-size:1.1rem;color:var(--accent);text-align:center}.nav-burger{display:flex;z-index:210}.day-num{min-width:0}.day-header{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;align-items:baseline;column-gap:.75rem;row-gap:.25rem}.day-num{grid-column:1;grid-row:1}.day-label{grid-column:2;grid-row:1;flex:none}.day-time{grid-column:3;grid-row:1}.day-location{grid-column:1 / -1;grid-row:2}.event-name{font-size:.9rem}.stage-timeline:before{left:69px}.stage-item{grid-template-columns:70px 1fr;gap:1rem}.stage-item:after{left:65px}.artist-row{flex-wrap:nowrap;gap:.75rem}.artist-time{white-space:nowrap}.footer-inner{flex-direction:column;gap:.35rem}}@media (max-width: 480px){.hero-inner{padding:7rem 1.25rem 4rem}.container{padding:5.5rem 1.25rem 4rem}.map-header{padding:4rem 1.25rem 1.5rem}#nav{padding:1rem 1.25rem}}
