:root { --bg:#0b0b0c; --bg-2:#141416; --ink:#e8e6df; --muted:#9a9688; --line:#2a2a2e; --gold:#c4a35a; --paper:#1b1b1f; }
* { box-sizing: border-box; }
html, body { margin:0; padding:0; }
body { font-family: Georgia, serif; background:var(--bg); color:var(--ink); min-height:100vh; line-height:1.5; }
.page { display:grid; grid-template-columns: 200px minmax(0,1fr) 200px; min-height:100vh; align-items:stretch; }
.left-rail, .right-rail { position:sticky; top:0; height:100vh; overflow:hidden; background:#050505; }
.left-rail { border-right:1px solid var(--line); }
.right-rail { border-left:1px solid var(--line); }
.left-rail img, .right-rail img { width:100%; height:100%; object-fit:cover; display:block; }
.left-rail img { object-position:center 12%; }
.right-rail img { object-position:center 8%; }
.wrap { max-width:1080px; margin:0 auto; padding:20px 16px 64px; }
.mast { display:grid; grid-template-columns: 150px minmax(0,1fr) 150px; gap: 14px 18px; align-items: stretch; border-bottom:1px solid var(--line); padding-bottom:16px; margin-bottom:24px; }
.fan { width:100%; height:100%; min-height:210px; object-fit:cover; object-position:center top; border:1px solid var(--line); background:#111; display:block; }
.brand { display:flex; flex-direction:column; justify-content:flex-end; min-width:0; padding-bottom:4px; }
.kicker { font-family: ui-sans-serif, system-ui, sans-serif; letter-spacing:.22em; text-transform:uppercase; font-size:11px; color:var(--gold); margin:0 0 10px; }
h1 { font-size:clamp(2.1rem,7vw,4.2rem); line-height:.9; letter-spacing:-.03em; margin:0 0 10px; }
.sub { font-style:italic; color:var(--muted); margin:0; font-size:1.15rem; }
.ticker { font-family: ui-sans-serif, system-ui, sans-serif; font-size:12px; letter-spacing:.04em; text-transform:uppercase; color:var(--muted); border:1px solid var(--line); background:var(--bg-2); padding:8px 12px; margin:12px 0 0; grid-column:1 / -1; }
.desk { display:grid; grid-template-columns:1fr; gap:16px; margin:28px 0; }
article { background:var(--paper); border:1px solid var(--line); padding:20px 18px; }
article h2 { font-family: ui-sans-serif, system-ui, sans-serif; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); margin:0 0 8px; }
article h3 { font-size:1.45rem; line-height:1.15; margin:0 0 10px; }
article h4 { font-size:1rem; margin:16px 0 8px; color:var(--ink); }
article p { margin:0; color:#d2cfc4; }
article p + p { margin-top:0.85em; }
article ul { margin:0.6em 0 0; padding-left:1.2em; color:#d2cfc4; }
article li { margin:0.35em 0; }
.hed { margin:8px 0 22px; }
.hed h2 { font-size:clamp(1.6rem,4vw,2.2rem); margin:0 0 8px; }
.hed p { margin:0; color:var(--muted); }
.status { border:1px dashed var(--gold); padding:18px 20px; margin:8px 0 28px; background:#16140e; }
.status strong { color:var(--gold); font-family: ui-sans-serif, system-ui, sans-serif; letter-spacing:.12em; text-transform:uppercase; font-size:11px; display:block; margin-bottom:8px; }
a { color:var(--gold); }
footer { border-top:1px solid var(--line); padding-top:18px; color:var(--muted); font-size:.92rem; }
.legal { font-family: ui-sans-serif, system-ui, sans-serif; font-size:12px; color:#7d7a70; }
@media (max-width:1200px) {
  .page { grid-template-columns: 160px minmax(0,1fr) 160px; }
}
@media (max-width:900px) {
  .page { grid-template-columns: 120px minmax(0,1fr) 120px; }
}
@media (max-width:640px) {
  .page { grid-template-columns: 1fr; }
  .left-rail, .right-rail { display:none; }
}
@media (max-width:700px) {
  .mast { grid-template-columns: 1fr 1fr; }
  .brand { grid-column: 1 / -1; order: -1; }
  .fan { min-height:220px; max-height:280px; }
}
.nav { font-family: ui-sans-serif, system-ui, sans-serif; font-size:12px; letter-spacing:.14em; text-transform:uppercase; margin:0 0 16px; padding-bottom:12px; border-bottom:1px solid var(--line); }
.nav a { color:var(--gold); text-decoration:none; margin-right:1.4em; }
.week-list { list-style:none; padding:0; margin:20px 0; }
.week-list li { border-bottom:1px solid var(--line); padding:12px 0; }
.week-list a { font-size:1.15rem; }
.week-list span { display:block; color:#9a9688; font-size:0.92rem; margin-top:4px; }
.archive-rail { border:1px solid var(--line); background:var(--paper); padding:20px 20px 16px; margin:8px 0 28px; }
.archive-rail h2 { font-family: ui-sans-serif, system-ui, sans-serif; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); margin:0 0 8px; }
.archive-rail p { margin:0 0 12px; color:#d2cfc4; }
.archive-rail ul { list-style:none; padding:0; margin:0 0 14px; }
.archive-rail li { padding:8px 0; border-top:1px solid var(--line); }
.plaque { margin:0 0 16px; }
table.roster { width:100%; border-collapse:collapse; margin:12px 0 0; font-size:0.98rem; }
table.roster th, table.roster td { text-align:left; padding:8px 10px 8px 0; border-bottom:1px solid var(--line); vertical-align:top; }
table.roster th { font-family: ui-sans-serif, system-ui, sans-serif; font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--gold); font-weight:600; }
table.roster td { color:#d2cfc4; }
article + article { margin-top:16px; }
