:root{--red:#d71920;--ink:#1b1b1b;--mut:#6b6b6b;--bg:#f5f4f4;--line:#e2e0e0}
*{box-sizing:border-box;margin:0;padding:0}
body{font:16px/1.5 'Source Sans 3',Arial,sans-serif;background:var(--bg);color:var(--ink)}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}
:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.w{max-width:1200px;margin:0 auto;padding:0 16px}
.top{background:var(--ink);color:#bbb;font-size:13px}
.top .w{display:flex;justify-content:space-between;padding:6px 16px}
.brand{background:#fff;border-bottom:3px solid var(--red)}
.brand .w{display:flex;align-items:center;gap:14px;padding:12px 16px}
.brand img{width:68px;height:68px}
.brand h1{font:700 38px/1 'Barlow Condensed',sans-serif}
.brand p{color:var(--mut);font-size:13px;margin-top:4px}
nav{background:var(--ink);position:sticky;top:0;z-index:9}
nav .w{display:flex;overflow-x:auto}
nav a{color:#fff;font:700 16px 'Barlow Condensed',sans-serif;padding:12px 16px;white-space:nowrap}
nav a:hover,nav a.on{background:var(--red)}
.tick{background:#fff;border-bottom:1px solid var(--line);font-size:14px}
.tick .w{display:flex;gap:12px;align-items:center;padding:8px 16px;overflow:hidden;white-space:nowrap}
.tick b{background:var(--red);color:#fff;padding:2px 10px;font-family:'Barlow Condensed';font-size:15px}
.hero{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin:16px 0}
.slide{position:relative;aspect-ratio:16/10;background:#222;overflow:hidden;display:block}
.slide img,.ph,.im img,.th img{width:100%;height:100%;object-fit:cover;display:block}
.art .im{aspect-ratio:16/9;overflow:hidden;background:#ddd}
.cards .card,.grid3>*{min-width:0}
.ph{background:linear-gradient(135deg,#333,#111);display:grid;place-items:center}
.ph span{font:400 110px/1 'UnifrakturCook',serif;color:#fff;opacity:.22}
.cap{position:absolute;inset:auto 0 0;padding:70px 22px 18px;background:linear-gradient(transparent,#000d);color:#fff}
.cap em{background:var(--red);font:700 14px 'Barlow Condensed';font-style:normal;padding:2px 8px}
.cap h2{font:700 38px/1.05 'Barlow Condensed',sans-serif;margin-top:6px}
.arr{position:absolute;top:42%;background:#0008;color:#fff;border:0;width:38px;height:52px;font-size:26px;cursor:pointer;z-index:2}
.arr.l{left:0}.arr.r{right:0}
.pager{display:flex;background:#e4e2e2}
.pager button{flex:1;border:0;background:none;padding:9px 0;font-weight:700;cursor:pointer;border-right:1px solid #fff}
.pager .on{background:var(--red);color:#fff}
.side{background:#fff;display:flex;flex-direction:column}
.tabs{display:flex;border-top:3px solid var(--red)}
.tabs button{flex:1;border:0;background:var(--ink);color:#fff;padding:11px 4px;font:700 15px 'Barlow Condensed';cursor:pointer}
.tabs .on{background:var(--red)}
.list a{display:flex;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line);font-weight:600;line-height:1.25}
.list a:hover{color:var(--red)}
.list .th{flex:0 0 84px;height:56px;overflow:hidden}.list .th .ph span{font-size:34px}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.card .im{aspect-ratio:16/10;overflow:hidden;background:#ddd}
.card .t{background:#fff;margin:-34px 12px 0;position:relative;padding:10px;border-top:2px solid var(--red);text-align:center;font-weight:700;line-height:1.25;min-height:76px;display:grid;place-items:center}
.card:hover .t{color:var(--red)}
.sec{margin:28px 0}
.sec h2{font:700 26px 'Barlow Condensed';border-left:5px solid var(--red);padding-left:10px;margin-bottom:12px;display:flex;justify-content:space-between;align-items:baseline}
.sec h2 a{font:600 14px 'Source Sans 3';color:var(--red)}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.n{background:#fff;display:block}
.n .im{aspect-ratio:16/10;overflow:hidden}
.n div.b{padding:12px}
.n h3{font:700 22px/1.12 'Barlow Condensed'}
.n p{color:var(--mut);font-size:14px;margin-top:4px}
.n:hover h3{color:var(--red)}
.meta{color:var(--mut);font-size:13px}
.art{max-width:820px;margin:24px auto;background:#fff;padding:28px}
.art h1{font:700 44px/1.05 'Barlow Condensed';margin:6px 0 10px}
.art .lead{font-size:20px;font-weight:600;color:#333;margin-bottom:16px}
.art .im{margin:0 -28px 18px}.art p{margin-bottom:14px;font-size:18px;line-height:1.65}
.empty{padding:30px;background:#fff;text-align:center;color:var(--mut)}
footer{background:var(--ink);color:#aaa;margin-top:40px;font-size:14px}
footer .w{padding:26px 16px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
/* sponsor */
.spons{margin:28px 0;background:linear-gradient(135deg,#fff4f4,#ffdfe0);border:1px solid #f1b9bc;padding:0 16px 22px;box-shadow:0 2px 8px #d7192014}
.sp-h{margin:0 -16px 20px;padding:10px 16px;background:linear-gradient(90deg,var(--red),#8f0f14);color:#fff;font:700 16px 'Barlow Condensed',sans-serif;letter-spacing:.1em;text-transform:uppercase}
.sp-l{display:flex;flex-wrap:wrap;justify-content:center;gap:16px}
.sp{width:190px;height:88px;padding:12px 18px;border-radius:6px;background:var(--sbg,#fff);border:1px solid #0000001a;box-shadow:0 2px 6px #00000026;display:flex;align-items:center;justify-content:center;text-align:center;transition:transform .15s,box-shadow .15s}
.sp img{display:block;max-width:100%;max-height:60px;width:auto;height:auto;object-fit:contain}
a.sp:hover{transform:translateY(-3px);box-shadow:0 8px 16px #d7192040}
.sp b{font:700 18px/1.1 'Barlow Condensed',sans-serif;color:#444}
.sp-prev{height:88px;width:190px;border:1px dashed #ccc;border-radius:6px;display:flex;align-items:center;justify-content:center;margin-top:8px;color:var(--mut);font-size:13px}
.sp-prev img{max-width:100%;max-height:64px;object-fit:contain}
.row .rt{flex:0 0 56px;height:36px;border:1px solid var(--line);display:grid;place-items:center}.row .rt img{max-width:100%;max-height:100%;object-fit:contain}
/* admin */
.box{max-width:380px;margin:60px auto;background:#fff;padding:28px;border-top:4px solid var(--red)}
.box img{width:72px;display:block;margin:0 auto 10px}
.box h2{text-align:center;font:700 26px 'Barlow Condensed';margin-bottom:14px}
label{display:block;font-weight:600;font-size:14px;margin:12px 0 4px}
input,select,textarea{width:100%;padding:10px;border:1px solid #ccc;background:#fff}
textarea{min-height:200px;resize:vertical}
.btn{background:var(--red);color:#fff;border:0;padding:11px 20px;font-weight:700;cursor:pointer;margin-top:16px}
.btn.g{background:#444}.btn.s{padding:5px 10px;margin:0;font-size:13px}
.err{color:var(--red);font-size:14px;margin-top:10px}
.adm{display:grid;grid-template-columns:1.1fr 1fr;gap:20px;margin:20px 0}
.card2{background:#fff;padding:20px}
.card2 h2{font:700 24px 'Barlow Condensed';margin-bottom:6px}
.row{display:flex;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line);font-size:14px}
.row span{flex:1}.row small{color:var(--mut);display:block}
.chk{display:flex;gap:8px;align-items:center;margin-top:12px}.chk input{width:auto}
@media(max-width:900px){.hero,.adm{grid-template-columns:1fr}.cards,.grid3{grid-template-columns:1fr 1fr}.cap h2{font-size:26px}}
@media(max-width:560px){.sp{width:calc(50% - 8px);height:72px}.sp img{max-height:48px}.cards,.grid3{grid-template-columns:1fr}.brand h1{font-size:30px}.art{padding:18px}.art .im{margin:0 -18px 14px}.art h1{font-size:34px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
