:root{--ink:#111010;--paper:#f6f3ed;--white:#fff;--orange:#ff5a36;--yellow:#f4d35e;--blue:#1b4f72;--line:#d9d4cb;--muted:#6c6963;--radius:18px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.55}
a{color:inherit}
button,input,textarea{font:inherit}
.site-header{height:82px;padding:0 clamp(20px,4vw,64px);display:flex;align-items:center;justify-content:space-between;background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.brand{text-decoration:none;display:flex;align-items:baseline;gap:8px;line-height:1}
.brand span{font:600 .8rem "Space Grotesk";letter-spacing:.13em}
.brand strong{font:700 1.55rem "Space Grotesk"}
nav{display:flex;gap:28px;align-items:center}
nav a{text-decoration:none;font-weight:600;font-size:.94rem}
nav a:last-child{background:var(--ink);color:white;padding:11px 16px;border-radius:999px}
.menu-button{display:none;background:none;border:1px solid var(--ink);padding:8px 12px;border-radius:999px}
.hero{height:min(720px,calc(100vh - 82px));min-height:580px;position:relative;display:flex;align-items:center;overflow:hidden;background:#252321}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.46) 47%,rgba(0,0,0,.06) 80%)}
.hero-copy{position:relative;color:white;max-width:780px;padding:48px clamp(24px,7vw,108px)}
.eyebrow{margin:0 0 13px;text-transform:uppercase;letter-spacing:.14em;font:700 .76rem "Space Grotesk";color:var(--yellow)}
.halloween-eyebrow::before{content:"✦ ";color:var(--orange)}
.eyebrow.dark{color:var(--orange)}
h1,h2,h3{font-family:"Space Grotesk",sans-serif;line-height:.98;margin:0}
h1{font-size:clamp(3.7rem,8vw,7.5rem);letter-spacing:-.06em}
h2{font-size:clamp(2.4rem,5vw,4.4rem);letter-spacing:-.05em}
.hero-copy>p:not(.eyebrow){font-size:clamp(1.05rem,1.7vw,1.35rem);max-width:600px;color:#f2eee8;margin:25px 0 31px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:14px 21px;text-decoration:none;font-weight:700;cursor:pointer}
.button.primary{background:var(--orange);color:white}
.button.ghost{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.55);color:white;backdrop-filter:blur(8px)}
.today{position:absolute;right:28px;bottom:28px;color:white;text-align:right;padding:12px 15px;background:rgba(17,16,16,.58);backdrop-filter:blur(8px);border-radius:12px}
.today span,.today strong{display:block}
.today span{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}
.ticker{background:var(--yellow);display:flex;align-items:center;gap:22px;padding:13px clamp(20px,4vw,64px);font-weight:600}
.ticker span{background:var(--ink);color:white;border-radius:999px;padding:5px 9px;font:700 .68rem "Space Grotesk";letter-spacing:.1em;white-space:nowrap}
.ticker p{margin:0}
.section{padding:clamp(72px,9vw,130px) clamp(20px,6vw,96px)}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:44px}
.section-intro{max-width:420px;margin:0;color:#ccc}
.filters{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.filter{border:1px solid var(--line);background:transparent;border-radius:999px;padding:9px 14px;cursor:pointer}
.filter.active{background:var(--ink);color:white;border-color:var(--ink)}
.event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.event-subheading{margin:58px 0 22px;padding-top:36px;border-top:1px solid var(--line)}
.event-subheading h3{font-size:clamp(1.7rem,3vw,2.6rem);letter-spacing:-.04em}
.event-card{background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;min-height:230px}
.event-date{width:92px;background:var(--ink);color:white;padding:20px 12px;text-align:center;flex:0 0 auto}
.event-date b{display:block;font:700 2.15rem "Space Grotesk";line-height:1}
.event-date span{font:600 .75rem "Space Grotesk";letter-spacing:.14em}
.event-body{padding:22px;display:flex;flex-direction:column;align-items:flex-start}
.event-tag{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--orange);font-weight:700}
.event-body h3{font-size:1.35rem;line-height:1.08;margin:9px 0 12px}
.event-meta{color:var(--muted);font-size:.9rem;margin:0 0 15px}
.event-link{margin-top:auto;font-weight:700;text-underline-offset:4px}
.source-note{margin-top:22px;color:var(--muted);font-size:.84rem}
.stories{background:var(--ink);color:white}
.story-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:18px}
.story-card{border:1px solid #3a3836;border-radius:var(--radius);padding:28px;min-height:310px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(150deg,#252321,#151414)}
.story-card:first-child{background:linear-gradient(145deg,#243e50,#141d23);min-height:390px}
.story-kicker{color:var(--yellow);font-size:.74rem;letter-spacing:.13em;text-transform:uppercase;font-weight:700}
.story-card h3{font-size:clamp(1.5rem,3vw,2.35rem);line-height:1.05;margin:11px 0}
.story-card p{color:#c9c5bf;margin:0 0 16px}
.story-card a{font-weight:700;text-underline-offset:4px}
.submit{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(45px,8vw,110px);align-items:start}
.submit-copy>p:not(.eyebrow){font-size:1.13rem;color:var(--muted);max-width:520px}
.submit-copy ul{padding-left:19px;line-height:1.9}
form{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:clamp(22px,4vw,42px);display:grid;gap:17px}
form label{font-weight:700;font-size:.9rem;display:grid;gap:7px}
input,textarea{width:100%;border:1px solid #c8c2b9;background:#fbfaf7;border-radius:10px;padding:12px;color:var(--ink)}
input:focus,textarea:focus{outline:3px solid rgba(255,90,54,.2);border-color:var(--orange)}
.type-switch{display:flex;gap:9px}
.type-switch label{display:flex;align-items:center;gap:8px;border:1px solid var(--line);padding:10px 14px;border-radius:999px}
.type-switch input{width:auto}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.full{width:100%}
.honeypot{position:absolute!important;left:-9999px!important}
.form-status{margin:0;font-size:.9rem}
.form-status.success{color:#177245}
footer{padding:55px clamp(20px,6vw,96px);border-top:1px solid var(--line);display:grid;grid-template-columns:auto 1fr auto;gap:25px;align-items:center}
.fine-print{color:var(--muted);font-size:.82rem;text-align:right}
@media(max-width:950px){.event-grid{grid-template-columns:1fr 1fr}
.story-grid{grid-template-columns:1fr 1fr}
.story-card:first-child{grid-column:1/-1}
.submit{grid-template-columns:1fr}
.section-heading{align-items:start;flex-direction:column}
.filters{justify-content:flex-start}
}
@media(max-width:700px){.site-header{height:70px}
.menu-button{display:block}
nav{display:none;position:absolute;left:0;right:0;top:70px;background:var(--paper);padding:18px 20px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch}
nav.open{display:flex}
.hero{min-height:620px;height:calc(100vh - 70px)}
.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.25))}
.hero-copy{padding:38px 22px}
.today{right:18px;bottom:18px}
.ticker{align-items:flex-start}
.event-grid,.story-grid{grid-template-columns:1fr}
.story-card:first-child{grid-column:auto}
.event-card{min-height:210px}
.form-row{grid-template-columns:1fr}
footer{grid-template-columns:1fr}
.fine-print{text-align:left}
}

.ad-slot{max-width:728px;margin:0 auto 44px}
.ad-slot>p{margin:0 0 7px;color:var(--muted);font:700 .65rem "Space Grotesk",sans-serif;letter-spacing:.12em;text-transform:uppercase}
.event-banner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:90px;aspect-ratio:728/90;overflow:hidden;padding:14px 24px;border-radius:10px;color:white;text-decoration:none;background:linear-gradient(90deg,#20231e 0%,#314537 73%,#9ab69f 100%);box-shadow:0 12px 24px rgba(17,16,16,.13)}
.event-banner-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:.68;pointer-events:none}
.event-banner::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,16,35,.94) 0%,rgba(7,16,35,.71) 54%,rgba(7,16,35,.18) 100%)}
.event-banner-dj-liz{min-height:190px;aspect-ratio:728/190;background:#180514}
.event-banner-dj-liz .event-banner-bg{opacity:.92;object-position:center}
.event-banner-dj-liz::after{background:linear-gradient(90deg,rgba(24,5,20,.94) 0%,rgba(24,5,20,.68) 42%,rgba(24,5,20,.18) 100%)}
.event-banner-beastly{min-height:150px;aspect-ratio:728/150;background:radial-gradient(circle at 85% 25%,rgba(242,201,105,.38),transparent 22%),radial-gradient(circle at 73% 86%,rgba(104,160,122,.38),transparent 25%),linear-gradient(118deg,#151819 0%,#233328 51%,#584222 100%)}
.event-banner-beastly::after{background:linear-gradient(90deg,rgba(13,17,15,.94) 0%,rgba(13,17,15,.72) 53%,rgba(13,17,15,.18) 100%)}
.event-banner-little-shop{min-height:150px;aspect-ratio:728/150;background:radial-gradient(circle at 84% 22%,rgba(247,203,100,.48),transparent 10%),radial-gradient(circle at 78% 76%,rgba(180,27,32,.52),transparent 25%),linear-gradient(118deg,#180b14 0%,#3d0f1c 48%,#6d3219 100%)}
.event-banner-little-shop::after{background:linear-gradient(90deg,rgba(20,7,16,.96) 0%,rgba(20,7,16,.76) 55%,rgba(20,7,16,.15) 100%)}
.event-banner-copy{position:relative;z-index:1;display:grid;gap:4px;text-shadow:0 2px 6px rgba(0,0,0,.45)}
.event-banner-copy strong{font:700 clamp(1.4rem,3vw,2rem) "Space Grotesk",sans-serif;letter-spacing:-.04em;line-height:.95}
.event-banner-copy span{font-size:.84rem;font-weight:700}
.event-banner-detail{position:relative;z-index:1;margin-right:20px;padding:8px 10px;border:1px solid rgba(255,255,255,.62);border-radius:7px;background:rgba(17,16,16,.42);font-size:.72rem;line-height:1.3;text-align:right;white-space:nowrap}
.event-banner-detail b{color:var(--yellow);font-size:.8rem}
.event-banner:hover,.event-banner:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
@media(max-width:700px){.event-banner{min-height:126px;aspect-ratio:auto;align-items:flex-end;padding:16px;gap:10px}.event-banner-copy strong{font-size:1.45rem}.event-banner-detail{margin-right:0;font-size:.66rem}.event-banner-detail b{font-size:.72rem}}

.sponsored-event{margin-bottom:54px}
.sponsored-event>a{display:grid;grid-template-columns:236px 1fr;min-height:228px;border:1px solid #5f1814;border-radius:12px;overflow:hidden;background:#370b09;color:#fff;text-decoration:none;box-shadow:0 14px 30px rgba(79,20,14,.16)}
.sponsored-event img{width:100%;height:100%;object-fit:cover;object-position:center}
.sponsored-event-copy{padding:25px 27px;display:grid;align-content:center;gap:8px;background:radial-gradient(circle at 93% 6%,rgba(218,180,105,.22),transparent 26%),linear-gradient(135deg,#69140e,#300806)}
.sponsored-kicker{color:#f2c969;font:700 .68rem "Space Grotesk",sans-serif;letter-spacing:.13em;text-transform:uppercase}
.sponsored-event-copy strong{font:700 clamp(1.7rem,3.5vw,2.45rem) "Space Grotesk",sans-serif;letter-spacing:-.045em;line-height:.91}
.sponsored-event-copy>span:not(.sponsored-kicker){font-size:.88rem;font-weight:600;line-height:1.35;color:#f2e5dc}
.sponsored-event-copy b{margin-top:3px;color:#f2c969;font-size:.87rem;text-decoration:underline;text-underline-offset:3px}
.sponsored-event>a:hover,.sponsored-event>a:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
@media(max-width:700px){.sponsored-event>a{grid-template-columns:1fr}.sponsored-event img{aspect-ratio:1024/940;height:auto}.sponsored-event-copy{padding:24px 21px}.sponsored-event-copy strong{font-size:2rem}}
