:root {
  --color-brand: #C8371E;
  --color-cta: #1F3A5F;
  --bg-page: #14120F;
  --bg-surface: #1B1814;
  --text-cream: #F2EDE3;
  --text-muted: #A89F8C;
  --line-color: #2E2A24;
  --font-main: 'Segoe UI', Tahoma, 'Trebuchet MS', Verdana, sans-serif;
  --font-display: Tahoma, 'Trebuchet MS', 'Segoe UI', Verdana, sans-serif;
  --font-meta: 'Trebuchet MS', Tahoma, Verdana, sans-serif;
}
*, *::before, *::after { box-sizing: border-box; font-family: var(--font-main); }
html { overflow-x: hidden; }
body { margin: 0; background: var(--bg-page); color: var(--text-cream); font-size: 16px; font-weight: 400; line-height: 1.6; }
img, video, iframe, embed, object { max-width: 100%; height: auto; }
table { max-width: 100%; border-collapse: collapse; }
.table-responsive, .table-wrapper { overflow-x: auto; -webkit-overflow-scrolling: touch; }
h1, h2, h3, h4, h5, h6 { font-family: var(--font-display); font-weight: 700; line-height: 1.6; color: var(--text-cream); margin: 0; }
h1 { font-size: clamp(56px, 9vw, 120px); }
h2 { font-size: clamp(36px, 5vw, 64px); }
h3 { font-size: 28px; }
h4 { font-size: 20px; }
.site-logo, .footer-logo, .btn { font-family: var(--font-display); }
.meta { font-family: var(--font-meta); font-size: 13px; font-weight: 400; letter-spacing: 0.05em; color: var(--text-muted); line-height: 1.6; }
.marker { display: inline-block; border-bottom: 8px solid var(--color-brand); transform: skew(-8deg); margin-bottom: -6px; }
.wrap { max-width: 1200px; margin: 0 auto; padding-left: 24px; padding-right: 24px; }
.btn { display: inline-block; background: var(--color-cta); color: var(--text-cream); font-size: 16px; font-weight: 700; padding: 14px 28px; border: 0; border-radius: 0; box-shadow: 6px 6px 0 var(--line-color); text-decoration: none; text-align: center; cursor: pointer; transition: transform 0.2s, box-shadow 0.2s; }
.btn:hover { transform: translate(2px, 2px); box-shadow: 4px 4px 0 var(--color-brand); }
.btn:focus-visible { outline: 2px solid var(--text-cream); outline-offset: 3px; }
a { color: var(--text-cream); }
a:focus-visible { outline: 2px solid var(--text-cream); outline-offset: 2px; }
th, td { text-align: left; padding: 12px 16px; border-bottom: 1px solid var(--line-color); vertical-align: top; }
th { font-weight: 700; color: var(--text-cream); }
@media (max-width: 768px) {
body { overflow-x: hidden; }
.grid, [class*='grid'] { grid-template-columns: 1fr !important; }
}