@import url('https://fonts.googleapis.com/css2?family=Anton&family=Archivo:wght@400;600;800&display=swap');
:root{--red:#e10600;--black:#0a0a0a;--bone:#f4f1ea;--grey:#9a9a9a;--max:820px}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--black);color:var(--bone);font-family:'Archivo',system-ui,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.7}
a{color:inherit;text-decoration:none}
.display{font-family:'Anton',sans-serif;text-transform:uppercase;line-height:.95;letter-spacing:.01em}
header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:14px clamp(18px,5vw,40px);background:#0a0a0af2;border-bottom:1px solid #1d1d1d}
.brand{display:flex;align-items:center;gap:10px;font-family:'Anton',sans-serif;font-size:20px;letter-spacing:.04em}
.brand .dot{width:12px;height:12px;background:var(--red);box-shadow:0 0 14px var(--red)}
header nav{display:flex;gap:clamp(14px,3vw,28px);font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:600}
header nav a:hover{color:var(--red)}
header nav a.ticket{background:var(--red);color:#fff;padding:8px 14px;box-shadow:0 0 16px rgba(225,6,0,.4)}
.wrap{max-width:var(--max);margin:0 auto;padding:clamp(40px,8vw,90px) clamp(18px,5vw,40px)}
.eyebrow{color:var(--red);letter-spacing:.4em;font-size:12px;font-weight:800;text-transform:uppercase;margin-bottom:18px}
.lede{color:#cdc8be;font-size:clamp(17px,2.6vw,21px);line-height:1.6;margin:22px 0 0}

/* blog index */
.bloghero h1{font-size:clamp(46px,11vw,104px);margin:6px 0}
.bloghero h1 .out{-webkit-text-stroke:2px var(--red);color:transparent}
.posts{display:grid;gap:2px;margin-top:48px;border-top:1px solid #1f1f1f}
.posts a.post{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:baseline;padding:26px 4px;border-bottom:1px solid #1f1f1f;transition:padding-left .25s,background .25s}
.posts a.post:hover{padding-left:14px;background:#0e0e0e}
.posts .num{font-family:'Anton',sans-serif;color:var(--red);font-size:18px}
.posts .pt{font-family:'Anton',sans-serif;font-size:clamp(22px,4.5vw,38px);color:#ddd8ce;text-transform:uppercase}
.posts a.post:hover .pt{color:var(--red)}
.posts .pd{color:#c9c5bd;font-size:14px;margin-top:6px;max-width:60ch}
.posts .tag{color:var(--grey);font-size:11px;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap}

/* article */
article .kicker{display:flex;gap:14px;align-items:center;color:var(--grey);font-size:12px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:14px}
article .kicker .chip{background:var(--red);color:#fff;padding:5px 12px;font-weight:800;letter-spacing:.18em}
article h1{font-size:clamp(38px,8vw,74px);margin:6px 0 4px}
article h1 .out{-webkit-text-stroke:2px var(--red);color:transparent}
article .byline{color:var(--grey);font-size:13px;letter-spacing:.1em;margin-top:18px;padding-bottom:26px;border-bottom:1px solid #1f1f1f}
article h2{font-family:'Anton',sans-serif;text-transform:uppercase;font-size:clamp(24px,5vw,40px);margin:46px 0 14px;letter-spacing:.01em}
article p{color:#d2cdc4;font-size:clamp(16px,2.3vw,18px);margin:18px 0}
article p strong{color:var(--bone)}
article blockquote{border-left:3px solid var(--red);padding:6px 0 6px 22px;margin:30px 0;font-family:'Anton',sans-serif;font-size:clamp(22px,4vw,32px);text-transform:uppercase;color:var(--bone);line-height:1.1}
article ul{margin:18px 0 18px 4px;list-style:none}
article li{color:#d2cdc4;padding:9px 0;border-bottom:1px dashed #1c1c1c;font-size:16px}
article li::before{content:"▸";color:var(--red);margin-right:12px}
article .tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:36px}
article .tags span{border:1px solid #2a2a2a;color:#b7b2a8;padding:6px 12px;font-size:11px;letter-spacing:.15em;text-transform:uppercase}
.backrow{display:flex;justify-content:space-between;align-items:center;margin-top:54px;padding-top:26px;border-top:1px solid #1f1f1f;flex-wrap:wrap;gap:14px}
.backrow a{color:var(--grey);font-size:12px;letter-spacing:.2em;text-transform:uppercase}
.backrow a:hover{color:var(--red)}
.cta{display:inline-block;background:var(--red);color:#fff;padding:12px 20px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;font-size:13px;box-shadow:0 0 18px rgba(225,6,0,.35)}

footer{border-top:1px solid #1a1a1a}
footer .row{max-width:var(--max);margin:0 auto;padding:34px clamp(18px,5vw,40px);display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;color:var(--grey);font-size:13px;letter-spacing:.08em}
footer .row a:hover{color:var(--red)}
@media(max-width:620px){.posts a.post{grid-template-columns:auto 1fr;}.posts .tag{display:none}}

/* ===== shared components for content / landing pages ===== */
.breadcrumb{display:flex;gap:8px;color:var(--grey);font-size:11px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:24px}
.breadcrumb a:hover{color:var(--red)}
.lhero h1{font-size:clamp(40px,9vw,92px);margin:6px 0}
.lhero h1 .out{-webkit-text-stroke:2px var(--red);color:transparent}
.btn{display:inline-block;background:var(--red);color:#fff;font-family:'Anton',sans-serif;font-size:clamp(16px,3vw,22px);letter-spacing:.04em;text-transform:uppercase;padding:14px 34px;box-shadow:0 0 26px rgba(225,6,0,.4);transition:transform .2s,background .2s}
.btn:hover{transform:translateY(-3px);background:#ff1408}
.btn.ghost{background:transparent;color:var(--bone);border:2px solid var(--bone);box-shadow:none}
.btn.ghost:hover{border-color:var(--red);color:var(--red);background:transparent}
.btnrow{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
h2.sec{font-family:'Anton',sans-serif;text-transform:uppercase;font-size:clamp(26px,5vw,46px);margin:54px 0 16px;letter-spacing:.01em}
.prose p{color:#d2cdc4;font-size:clamp(16px,2.3vw,18px);margin:18px 0;line-height:1.75}
.prose p strong{color:var(--bone)}
.grid2{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}
.gcard{border:1px solid #242424;background:#0c0c0c;padding:26px;transition:border-color .25s,transform .25s}
.gcard:hover{border-color:var(--red);transform:translateY(-4px)}
.gcard h3{font-family:'Anton',sans-serif;font-size:24px;letter-spacing:.02em;margin-bottom:10px}
.gcard .gk{color:var(--red);letter-spacing:.2em;font-size:11px;text-transform:uppercase;font-weight:800;margin-bottom:10px}
.gcard p{color:#bdb8af;font-size:14px;line-height:1.65}
.eventmeta{display:flex;flex-wrap:wrap;gap:14px 40px;margin:28px 0;border-top:1px solid #222;border-bottom:1px solid #222;padding:22px 0}
.eventmeta .k{color:var(--grey);letter-spacing:.25em;font-size:11px;text-transform:uppercase;display:block}
.eventmeta .v{font-family:'Anton',sans-serif;font-size:clamp(18px,3.5vw,26px);margin-top:4px;display:block}
.eventmeta .v .red{color:var(--red)}
.acts2{border-top:1px solid #1f1f1f;margin-top:18px}
.acts2 .act{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:16px 4px;border-bottom:1px solid #1f1f1f;font-family:'Anton',sans-serif;font-size:clamp(22px,4.5vw,40px);color:#ddd8ce;transition:color .25s,padding-left .25s}
.acts2 .act:hover{color:var(--red);padding-left:14px}
.acts2 .act .tag{font-family:'Archivo',sans-serif;font-size:12px;letter-spacing:.2em;color:var(--grey);text-transform:uppercase}
.galgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:30px}
.galgrid .cell{aspect-ratio:1;border:1px solid #222;background:radial-gradient(ellipse at 50% 0%,rgba(225,6,0,.25),#0d0d0d 65%);display:flex;align-items:center;justify-content:center;color:#3a3a3a;font-family:'Anton',sans-serif;font-size:40px}
.newsletter{border:1px solid #242424;background:radial-gradient(ellipse at 50% -20%,rgba(225,6,0,.18),#0b0b0b 60%);padding:clamp(30px,6vw,60px);margin-top:50px;text-align:center}
.newsletter h2{margin-top:0}
.newsletter form{flex-direction:row;max-width:520px;margin:24px auto 0;gap:10px}
.newsletter input{flex:1}
.newsletter .ok{margin-top:14px}
.relposts{display:grid;gap:2px;margin-top:24px;border-top:1px solid #1f1f1f}
.relposts a{display:flex;justify-content:space-between;gap:16px;padding:18px 4px;border-bottom:1px solid #1f1f1f;align-items:baseline}
.relposts a:hover{padding-left:12px;color:var(--red)}
.relposts .rt{font-family:'Anton',sans-serif;font-size:clamp(18px,3.5vw,26px);text-transform:uppercase;color:#ddd8ce}
.relposts a:hover .rt{color:var(--red)}
.relposts .rtag{color:var(--grey);font-size:11px;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap}
form{display:flex;flex-direction:column;gap:12px}
form input,form textarea{background:#0c0c0c;border:1px solid #242424;color:var(--bone);padding:14px 16px;font-family:inherit;font-size:15px}
form input:focus,form textarea:focus{outline:none;border-color:var(--red)}
form button{background:var(--red);color:#fff;border:0;padding:15px 22px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;font-family:inherit}
form button:hover{background:#ff1408}
form .ok{color:#6ad06a;font-size:14px}
@media(max-width:760px){.grid2{grid-template-columns:1fr}.galgrid{grid-template-columns:repeat(2,1fr)}.newsletter form{flex-direction:column}}
