/* ============================================================================
   RRA shared stylesheet. Lines up to the ADDITIONS marker are Oakdale Arena's
   homepage CSS verbatim (oakdale.aethex.tech, pulled 2026-09-19) so every RRA page
   is the same design. Re-pull if Oakdale's CSS changes; don't hand-tweak above the marker.
   ============================================================================ */
:root {
  --amber: #FF3B3F;
  --amber-dark: #8B1A1F;
  --rust: #B5121B;
  --corp-blue: #1A6EFF;
  --dirt: #070708;
  --dust: #111114;
  --plank: #16161a;
  --chalk: #f5f5f5;
  --muted: #a8a8ad;
  --fence: rgba(227,20,27,0.12);
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { background: var(--dirt); background-image: repeating-linear-gradient(90deg, transparent 0, transparent 2px, rgba(181,18,27,0.028) 2px, rgba(181,18,27,0.028) 3px, transparent 3px, transparent 60px); color: var(--chalk); font-family: 'Barlow', sans-serif; font-weight: 300; overflow-x: hidden; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
body::before { content: ''; position: fixed; inset: 0; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); opacity: 0.035; pointer-events: none; z-index: 999; }
nav { position: fixed; top: 0; left: 0; right: 0; z-index: 200; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 0 2.5rem; height: 64px; background: rgba(7,7,8,0.96); backdrop-filter: blur(6px); border-bottom: 2px solid var(--rust); }
.nav-brand { display: flex; align-items: center; gap: 0.75rem; text-decoration: none; flex-shrink: 0; }
.nav-right { display: flex; align-items: center; gap: 1.25rem; flex-shrink: 0; }
.nav-brand-icon { width: 32px; height: 32px; background: var(--amber) url(/brand/mark-64.png) center / cover no-repeat; clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%); display: flex; align-items: center; justify-content: center; font-family: 'Bebas Neue', sans-serif; font-size: 0.9rem; color: #fff; }
.nav-brand-text { font-family: 'Bebas Neue', sans-serif; font-size: 1.3rem; letter-spacing: 0.12em; color: var(--chalk); line-height: 1; transform: translateY(1px); }
.nav-brand-text span { color: var(--amber); }
.nav-links { display: flex; gap: 1.4rem; list-style: none; align-items: center; min-width: 0; }
.nav-links a { font-family: 'Barlow Condensed', sans-serif; font-size: 0.78rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); text-decoration: none; transition: color 0.2s; white-space: nowrap; line-height: 1; }
.nav-links a:hover { color: var(--amber); }
.nav-cta { font-family: 'Barlow Condensed', sans-serif; font-size: 0.78rem; letter-spacing: 0.14em; text-transform: uppercase; background: var(--rust); color: var(--chalk); font-weight: 700; padding: 0.5rem 1.3rem; text-decoration: none; transition: all 0.15s; border: 1px solid rgba(227,20,27,0.5); box-shadow: inset 0 -2px 0 rgba(0,0,0,0.3); white-space: nowrap; line-height: 1; }
.nav-cta:hover { background: #E3141B; }
.hero { position: relative; min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 8rem 2rem 5rem; overflow: hidden; }
.hero-bg { position: absolute; inset: 0; z-index: 0; background: radial-gradient(ellipse 70% 50% at 50% 100%, rgba(227,20,27,0.1) 0%, transparent 70%), linear-gradient(180deg, #0a0805 0%, #070708 60%, #100c05 100%); }
.hero-grid { position: absolute; inset: 0; z-index: 0; background-image: linear-gradient(rgba(227,20,27,0.035) 1px, transparent 1px), linear-gradient(90deg, rgba(227,20,27,0.035) 1px, transparent 1px); background-size: 72px 72px; mask-image: radial-gradient(ellipse 90% 80% at 50% 50%, black 20%, transparent 80%); }
.hero-content { position: relative; z-index: 2; }
.live-badge { display: inline-flex; align-items: center; gap: 0.5rem; font-family: 'Barlow Condensed', sans-serif; font-size: 0.7rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--chalk); opacity: 0.7; border: 1px solid rgba(245,245,245,0.15); padding: 0.35rem 0.9rem; margin-bottom: 1.8rem; }
.live-dot { width: 5px; height: 5px; background: #4ade80; border-radius: 50%; animation: blink 2s ease-in-out infinite; }
@keyframes blink { 0%,100%{opacity:1} 50%{opacity:0.3} }
.hero-eyebrow { font-family: 'Barlow Condensed', sans-serif; font-size: 0.72rem; letter-spacing: 0.3em; text-transform: uppercase; color: var(--amber); margin-bottom: 1.2rem; display: flex; align-items: center; justify-content: center; gap: 0.8rem; }
.hero-eyebrow::before, .hero-eyebrow::after { content: ''; width: 36px; height: 1px; background: var(--amber); opacity: 0.5; }
.hero-title { font-family: 'Bebas Neue', sans-serif; font-size: clamp(5.5rem, 16vw, 14rem); line-height: 0.85; letter-spacing: 0.015em; color: var(--chalk); animation: riseIn 0.9s ease both; }
.hero-title .arena { color: var(--amber); text-shadow: 0 0 100px rgba(227,20,27,0.35); }
@keyframes riseIn { from{opacity:0;transform:translateY(40px)} to{opacity:1;transform:translateY(0)} }
.hero-sub { font-size: 1.05rem; color: var(--muted); max-width: 520px; margin: 2rem auto 0.75rem; line-height: 1.75; }
.hero-sub strong { color: var(--chalk); font-weight: 400; }
.hero-tagline { font-family: 'Barlow Condensed', sans-serif; font-size: 0.9rem; letter-spacing: 0.1em; font-style: italic; color: var(--amber); opacity: 0.7; margin-bottom: 2.5rem; }
.cta-row { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }
.btn { font-family: 'Barlow Condensed', sans-serif; font-size: 0.88rem; letter-spacing: 0.14em; text-transform: uppercase; text-decoration: none; padding: 0.9rem 2.2rem; cursor: pointer; transition: all 0.2s; border: none; }
.btn-primary { background: var(--amber); color: #fff; font-weight: 700; border: 2px solid var(--amber-dark); box-shadow: 0 5px 0 rgba(0,0,0,0.45), inset 0 -2px 0 rgba(0,0,0,0.2); }
.btn-primary:hover { background: #ff5a5e; transform: translateY(-2px); box-shadow: 0 7px 0 rgba(0,0,0,0.45), inset 0 -2px 0 rgba(0,0,0,0.2); }
.btn-secondary { background: transparent; color: var(--chalk); border: 1px solid rgba(245,245,245,0.2); }
.btn-secondary:hover { border-color: var(--amber); color: var(--amber); }
.btn-discord { background: #5865F2; color: white; font-weight: 600; }
.btn-discord:hover { background: #6875f5; transform: translateY(-2px); }
.stats-bar { background: var(--dust); border-bottom: 1px solid var(--fence); padding: 3rem 2rem; }
.stats-inner { max-width: 900px; margin: 0 auto; display: grid; grid-template-columns: repeat(4,1fr); gap: 1rem; text-align: center; }
.stat { padding: 1rem; }
.stat-num { font-family: 'Bebas Neue', sans-serif; font-size: 3.2rem; color: var(--amber); line-height: 1; }
.stat-label { font-family: 'Barlow Condensed', sans-serif; font-size: 0.68rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--muted); margin-top: 0.3rem; }
.stat-divider { width: 1px; background: var(--fence); }
.section { padding: 7rem 2rem; }
.section-inner { max-width: 1060px; margin: 0 auto; }
.eyebrow { font-family: 'Barlow Condensed', sans-serif; font-size: 0.68rem; letter-spacing: 0.3em; text-transform: uppercase; color: var(--rust); margin-bottom: 0.7rem; }
.eyebrow::before { content: '★ '; }
.eyebrow::after { content: ' ★'; }
.section-heading { font-family: 'Rye', serif; font-size: clamp(2.2rem, 5vw, 4rem); line-height: 1; letter-spacing: 0.01em; color: var(--chalk); margin-bottom: 1.25rem; text-shadow: 2px 2px 0 rgba(0,0,0,0.5); }
.section-body { font-size: 1rem; color: var(--muted); line-height: 1.85; max-width: 560px; }
.lore-section { background: var(--plank); border-top: 1px solid var(--fence); border-bottom: 1px solid var(--fence); }
.lore-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: center; }
.lore-image-wrap { position: relative; aspect-ratio: 4/3; overflow: hidden; }
.lore-image-wrap img { width: 100%; height: 100%; object-fit: cover; filter: contrast(1.05); }
.lore-image-wrap::after { content: ''; position: absolute; inset: 0; border: 2px solid var(--amber); opacity: 0.2; pointer-events: none; }
.lore-image-wrap::before { content: ''; position: absolute; top: 12px; left: 12px; width: 24px; height: 24px; border-top: 2px solid var(--amber); border-left: 2px solid var(--amber); z-index: 2; opacity: 0.7; }
.lore-quote { font-family: 'Barlow Condensed', sans-serif; font-style: italic; font-size: 1.5rem; line-height: 1.5; color: var(--chalk); opacity: 0.55; margin: 2rem 0 1rem; }
.lore-body { font-size: 0.95rem; color: var(--muted); line-height: 1.9; }
.lore-body p + p { margin-top: 1rem; }
.lore-tag { display: inline-block; margin-top: 1.5rem; font-family: 'Barlow Condensed', sans-serif; font-size: 0.65rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--amber); border: 1px solid rgba(227,20,27,0.3); padding: 0.2rem 0.7rem; }
.events-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 2px; margin-top: 3.5rem; border: 1.5px solid var(--fence); }
.event-card { background: var(--dust); padding: 2.2rem 1.8rem; position: relative; overflow: hidden; transition: background 0.25s; }
.event-card::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--rust); opacity: 0; transition: opacity 0.25s; }
.event-card:hover { background: #1c1c21; }
.event-card:hover::before { opacity: 1; }
.event-num { font-family: 'Bebas Neue', sans-serif; font-size: 3.5rem; color: rgba(227,20,27,0.08); line-height: 1; position: absolute; top: 1rem; right: 1.5rem; }
.event-icon { font-size: 2.2rem; margin-bottom: 1rem; }
.event-title { font-family: 'Bebas Neue', sans-serif; font-size: 1.7rem; letter-spacing: 0.04em; color: var(--chalk); margin-bottom: 0.6rem; }
.event-desc { font-size: 0.88rem; color: var(--muted); line-height: 1.7; }
.event-meta { margin-top: 1.2rem; font-family: 'Barlow Condensed', sans-serif; font-size: 0.68rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--amber); opacity: 0.7; }
.store-section { background: var(--plank); border-top: 1px solid var(--fence); border-bottom: 1px solid var(--fence); }
.store-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.5px; margin-top: 3.5rem; border: 1.5px solid var(--fence); }
.store-card { background: var(--dust); padding: 2rem 1.5rem; text-align: center; transition: background 0.2s; position: relative; }
.store-card:hover { background: #1c1c21; }
.store-icon { width: 70px; height: 70px; margin: 0 auto 1.2rem; background: rgba(227,20,27,0.07); border: 1px solid rgba(227,20,27,0.15); display: flex; align-items: center; justify-content: center; font-size: 2rem; }
.store-item-name { font-family: 'Bebas Neue', sans-serif; font-size: 1.4rem; letter-spacing: 0.06em; color: var(--chalk); margin-bottom: 0.4rem; }
.store-item-desc { font-size: 0.83rem; color: var(--muted); line-height: 1.65; }
.store-price { margin-top: 1rem; font-family: 'Barlow Condensed', sans-serif; font-size: 0.8rem; letter-spacing: 0.12em; color: var(--amber); }
.store-badge { position: absolute; top: 1rem; right: 1rem; font-family: 'Barlow Condensed', sans-serif; font-size: 0.58rem; letter-spacing: 0.18em; text-transform: uppercase; background: var(--amber); color: #fff; padding: 0.15rem 0.45rem; font-weight: 700; }
.store-cta-row { margin-top: 3rem; text-align: center; }
.store-note { font-family: 'Barlow Condensed', sans-serif; font-size: 0.75rem; letter-spacing: 0.1em; color: var(--muted); margin-top: 1rem; }
.bot-section { background: var(--dirt); border-top: 1px solid rgba(88,101,242,0.2); border-bottom: 1px solid rgba(88,101,242,0.2); padding: 6rem 2rem; }
.bot-inner { max-width: 900px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1.4fr; gap: 5rem; align-items: center; }
.bot-terminal { background: #0a0d1a; border: 1px solid rgba(88,101,242,0.25); padding: 1.5rem; font-family: 'Courier New', monospace; font-size: 0.8rem; line-height: 2; }
.bot-terminal .t-bar { display: flex; gap: 0.4rem; margin-bottom: 1rem; padding-bottom: 0.75rem; border-bottom: 1px solid rgba(88,101,242,0.15); }
.t-dot { width: 8px; height: 8px; border-radius: 50%; }
.t-dot.r { background: #ff5f57; } .t-dot.y { background: #febc2e; } .t-dot.g { background: #28c840; }
.t-name { font-family: 'Barlow Condensed', sans-serif; font-size: 0.65rem; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(88,101,242,0.5); margin-left: auto; }
.t-line { display: block; }
.t-prompt { color: #5865F2; } .t-cmd { color: var(--amber); } .t-out { color: rgba(245,245,245,0.45); } .t-highlight { color: #4ade80; }
.t-cursor { display: inline-block; width: 8px; height: 1.1em; background: var(--amber); animation: blink 1s step-end infinite; vertical-align: middle; }
.bot-heading { font-family: 'Bebas Neue', sans-serif; font-size: 3rem; letter-spacing: 0.03em; line-height: 0.95; color: var(--chalk); margin-bottom: 1.2rem; }
.bot-body { font-size: 0.93rem; color: var(--muted); line-height: 1.85; }
.bot-features { margin-top: 1.5rem; display: flex; flex-direction: column; gap: 0.75rem; }
.bot-feature { display: flex; align-items: flex-start; gap: 0.75rem; font-size: 0.88rem; color: var(--muted); }
.bot-feature-icon { color: #5865F2; font-size: 1rem; flex-shrink: 0; }
.community-section { background: var(--dust); padding: 7rem 2rem; border-top: 1px solid var(--fence); text-align: center; position: relative; overflow: hidden; }
.community-bg-text { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-family: 'Bebas Neue', sans-serif; font-size: clamp(7rem, 20vw, 18rem); color: rgba(227,20,27,0.03); white-space: nowrap; pointer-events: none; }
.community-inner { position: relative; max-width: 600px; margin: 0 auto; }
.community-num { font-family: 'Bebas Neue', sans-serif; font-size: clamp(5rem, 13vw, 9rem); color: var(--amber); line-height: 1; text-shadow: 0 0 60px rgba(227,20,27,0.25); }
.community-label { font-family: 'Barlow Condensed', sans-serif; font-size: 0.75rem; letter-spacing: 0.25em; text-transform: uppercase; color: var(--muted); margin: 0.4rem 0 1.5rem; }
.community-langs { display: flex; justify-content: center; gap: 1rem; flex-wrap: wrap; margin-bottom: 2rem; }
.lang-pill { font-family: 'Barlow Condensed', sans-serif; font-size: 0.68rem; letter-spacing: 0.18em; text-transform: uppercase; border: 1px solid var(--fence); color: var(--muted); padding: 0.25rem 0.7rem; cursor: pointer; background: none; transition: all 0.2s; }
.lang-pill.active { border-color: rgba(227,20,27,0.4); color: var(--amber); }
.lang-pill:hover { border-color: rgba(227,20,27,0.25); color: rgba(227,20,27,0.7); }
.nav-lang { display: flex; gap: 0.3rem; align-items: center; }
.nav-lang-btn { font-family: 'Barlow Condensed', sans-serif; font-size: 0.68rem; letter-spacing: 0.14em; text-transform: uppercase; background: none; border: none; color: var(--muted); cursor: pointer; padding: 0.3rem 0.45rem; transition: color 0.2s; }
.nav-lang-btn:hover, .nav-lang-btn.active { color: var(--amber); }
.nav-lang-sep { color: var(--fence); font-size: 0.6rem; }
.community-desc { font-size: 0.97rem; color: var(--chalk); opacity: 0.6; line-height: 1.8; margin-bottom: 2.5rem; }
.jaripeo-section { background: var(--plank); border-top: 1px solid var(--fence); border-bottom: 1px solid var(--fence); padding: 7rem 2rem; }
.jaripeo-inner { max-width: 1000px; margin: 0 auto; display: grid; grid-template-columns: 1.2fr 1fr; gap: 5rem; align-items: center; }
.jaripeo-big { font-family: 'Bebas Neue', sans-serif; font-size: clamp(4rem, 10vw, 7.5rem); line-height: 0.9; color: var(--chalk); }
.jaripeo-big .highlight { color: var(--amber); display: block; }
.jaripeo-sub { font-size: 0.95rem; color: var(--muted); line-height: 1.85; margin-top: 1.5rem; }
.jaripeo-flags { display: flex; gap: 0.75rem; margin-top: 1.5rem; font-size: 2rem; }
.aethex-strip { background: #08070e; border-top: 1px solid rgba(26,110,255,0.12); padding: 3.5rem 2rem; text-align: center; }
.aethex-strip-label { font-family: 'Barlow Condensed', sans-serif; font-size: 0.65rem; letter-spacing: 0.3em; text-transform: uppercase; color: rgba(26,110,255,0.5); margin-bottom: 0.5rem; }
.aethex-logo { font-family: 'Bebas Neue', sans-serif; font-size: 2rem; letter-spacing: 0.2em; color: var(--corp-blue); }
.aethex-logo span { color: rgba(245,245,245,0.2); }
.aethex-tagline { font-family: 'Barlow Condensed', sans-serif; font-size: 0.7rem; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(26,110,255,0.35); margin-top: 0.4rem; }
footer { background: var(--dirt); border-top: 1px solid var(--fence); padding: 2rem 2.5rem; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 1rem; }
footer p, footer a { font-family: 'Barlow Condensed', sans-serif; font-size: 0.7rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); text-decoration: none; }
footer a:hover { color: var(--amber); }
.footer-links { display: flex; gap: 1.5rem; }
.rope { height: 2px; background: repeating-linear-gradient(90deg, transparent 0px, transparent 8px, rgba(227,20,27,0.12) 8px, rgba(227,20,27,0.12) 12px); }
@media (max-width: 1220px) {
  .nav-links { gap: 1rem; }
  .nav-links a { letter-spacing: 0.08em; }
}
@media (max-width: 1080px) {
  .nav-links { display: none; }
}
@media (max-width: 768px) {
  .nav-links, .nav-cta { display: none; }
  .lore-grid, .bot-inner, .jaripeo-inner { grid-template-columns: 1fr; gap: 2.5rem; }
  .events-grid, .store-grid { grid-template-columns: 1fr; }
  .stats-inner { grid-template-columns: repeat(2,1fr); }
  .stat-divider { display: none; }
}

/* ===== from oakdale.aethex.tech/league.html (verbatim) ===== */
.tabs { display: flex; gap: 0; border-bottom: 1px solid var(--fence); margin-bottom: 1.5rem; }
.tab { font-family: 'Barlow Condensed', sans-serif; font-size: 0.78rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--muted); padding: 0.6rem 1.2rem; cursor: pointer; border-bottom: 2px solid transparent; transition: all 0.2s; background: none; border-top: none; border-left: none; border-right: none; }
.tab:hover { color: var(--chalk); }
.tab.active { color: var(--amber); border-bottom-color: var(--rust); }
.standings-table { width: 100%; border-collapse: collapse; }
.standings-table th { font-family: 'Barlow Condensed', sans-serif; font-size: 0.62rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--muted); padding: 0.5rem 0.75rem; text-align: left; border-bottom: 1px solid var(--fence); }
.standings-table td { padding: 0.85rem 0.75rem; border-bottom: 1px solid rgba(227,20,27,0.06); font-family: 'Barlow Condensed', sans-serif; font-size: 0.95rem; }
.standings-table tr:hover td { background: rgba(227,20,27,0.04); }
.team-card { background: var(--plank); border: 1px solid var(--fence); padding: 1.4rem; position: relative; overflow: hidden; cursor: pointer; transition: border-color 0.2s; }
.team-card:hover { border-color: rgba(227,20,27,0.35); }
.team-card.featured { border-color: rgba(227,20,27,0.4); }
.team-card-accent { position: absolute; top: 0; left: 0; width: 4px; height: 100%; }
.team-card-tag { font-family: 'Bebas Neue', sans-serif; font-size: 1.6rem; letter-spacing: 0.08em; color: var(--amber); line-height: 1; }
.team-card-name { font-family: 'Barlow Condensed', sans-serif; font-size: 0.9rem; letter-spacing: 0.1em; color: var(--chalk); margin-top: 0.15rem; }
.team-card-owner { font-family: 'Barlow Condensed', sans-serif; font-size: 0.65rem; letter-spacing: 0.15em; text-transform: uppercase; color: var(--muted); margin-top: 0.6rem; }
.team-card-badge { display: inline-block; font-family: 'Barlow Condensed', sans-serif; font-size: 0.6rem; letter-spacing: 0.18em; text-transform: uppercase; background: rgba(227,20,27,0.18); color: var(--amber); padding: 0.1rem 0.4rem; margin-top: 0.4rem; }
.team-card-members { font-family: 'Barlow Condensed', sans-serif; font-size: 0.72rem; color: var(--muted); margin-top: 0.5rem; }

/* ===== ADDITIONS (RRA-only, same vocabulary) ===== */
/* WCAG AA text contrast (site audit 2026-10-03, P1 #4). Same hues, lifted just enough for 4.5:1 (3:1 for large
   text) on --dirt / --dust / --plank. Overrides the verbatim Oakdale block above rather than editing it. */
:root { --muted: #a8a8ad; }                                   /* was #a8a8ad: 3.28–3.77 → 4.57–5.25 */
.eyebrow { color: #FF3B3F; }                                  /* was var(--rust) #B5121B as text: 3.11–3.58 → 4.6–5.28 */
.t-out { color: #7d7b79; }                                    /* was rgba(245,245,245,.45) ≈ #72706e: 3.92 → 4.59 */
.t-name { color: #6b74c9; }                                   /* was rgba(88,101,242,.5) ≈ #313986: 1.9 → 4.58 */
.aethex-strip-label { color: #3574e6; }                       /* was rgba(26,110,255,.5) ≈ #113b87: 1.91 → 4.58 */
.aethex-tagline { color: #3a74e3; }                           /* was rgba(26,110,255,.35) ≈ #0e2b62: 1.47 → 4.57 */
.aethex-logo span { color: #605c60; }                         /* was rgba(245,245,245,.2) ≈ #363436 (24pt): 1.62 → 3.05 */
.post-body a[href] { text-decoration: underline; text-decoration-color: rgba(227,20,27,.45); text-underline-offset: 3px; } /* links in body text need a non-colour cue */
/* the big faint card numerals are decoration (WCAG 1.4.3 'incidental' text): drawn as generated content from data-n
   and aria-hidden, so screen readers skip them and the contrast audit doesn't count them. Looks identical. */
.event-num[data-n]::before, .stop-num[data-n]::before { content: attr(data-n); }
/* landmarks: screen-reader-only labels; <main> is a focus target without an outline */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
main:focus { outline: none; }
.game-icon { width: 44px; height: 44px; object-fit: cover; margin-bottom: 1rem; display: block; filter: contrast(1.05); border: 1px solid rgba(227,20,27,0.2); }
.event-card a.cover { position: absolute; inset: 0; }
.ledger { border: 1.5px solid var(--fence); margin-top: 3rem; }
.ledger-row { display: grid; grid-template-columns: 150px 1fr auto; gap: 1.5rem; align-items: baseline; padding: 1rem 1.5rem; background: var(--dust); border-bottom: 1px solid rgba(227,20,27,0.06); transition: background 0.2s; }
.ledger-row:last-child { border-bottom: 0; }
.ledger-row:hover { background: #1c1c21; }
.ledger-row.cancel { opacity: 0.45; text-decoration: line-through; }
.ledger-date { font-family: 'Bebas Neue', sans-serif; font-size: 1.25rem; letter-spacing: 0.06em; color: var(--chalk); }
.ledger-label { font-family: 'Barlow Condensed', sans-serif; font-size: 1rem; letter-spacing: 0.04em; color: var(--chalk); }
.ledger-label small { color: var(--muted); letter-spacing: 0.12em; text-transform: uppercase; font-size: 0.68rem; margin-left: 0.6rem; }
.ledger-kind { font-family: 'Barlow Condensed', sans-serif; font-size: 0.62rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--amber); opacity: 0.75; }
.countdown { display: flex; gap: 2.5rem; margin-top: 2rem; }
.countdown .stat { padding: 0; text-align: left; }
.countdown .stat-num { font-size: 4rem; }
.news-list { margin-top: 3rem; border-top: 1px solid var(--fence); }
.news-item { padding: 2rem 0; border-bottom: 1px solid var(--fence); display: grid; grid-template-columns: 140px 1fr; gap: 2rem; }
.news-date { font-family: 'Barlow Condensed', sans-serif; font-size: 0.68rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--amber); opacity: 0.75; padding-top: 0.4rem; }
.news-title { font-family: 'Bebas Neue', sans-serif; font-size: 1.7rem; letter-spacing: 0.04em; color: var(--chalk); margin-bottom: 0.5rem; }
.news-title a { color: inherit; text-decoration: none; } .news-title a:hover { color: var(--amber); }
.news-body { font-size: 0.92rem; color: var(--muted); line-height: 1.8; max-width: 640px; }
.prose { max-width: 720px; }
.prose h1 { display: none; }
.prose h2 { font-family: 'Bebas Neue', sans-serif; font-size: 1.6rem; letter-spacing: 0.05em; color: var(--chalk); margin: 2.2rem 0 0.7rem; }
.prose p { font-size: 0.93rem; color: var(--muted); line-height: 1.85; margin-bottom: 0.8rem; }
.prose ul { list-style: none; }
.prose li { font-size: 0.93rem; color: var(--muted); line-height: 1.8; padding-left: 1.2rem; position: relative; margin-bottom: 0.35rem; }
.prose li::before { content: '▸'; position: absolute; left: 0; color: var(--rust); }
.prose b { color: var(--chalk); font-weight: 400; }
.team-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem; margin-top: 3rem; }
.hub-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1.5px; border: 1.5px solid var(--fence); }
.hub-card { text-decoration: none; background: var(--dust); padding: 2rem 1.5rem; display: block; transition: background 0.2s; }
.hub-card:hover { background: #1c1c21; }
.hub-icon { font-size: 2rem; margin-bottom: 1rem; }
.hub-title { font-family: 'Bebas Neue', sans-serif; font-size: 1.5rem; letter-spacing: 0.05em; color: var(--chalk); margin-bottom: 0.4rem; }
.hub-desc { font-size: 0.85rem; color: var(--muted); line-height: 1.6; }
.section-heading.rye-sm { font-size: clamp(2rem, 4vw, 3.2rem); }
.center { text-align: center; }
.mt-3 { margin-top: 3rem; }
.hero.page-hero { min-height: 70vh; }
.hero.page-hero .hero-title { font-size: clamp(4rem, 12vw, 9rem); }
.page-icon { width: 96px; height: 96px; margin: 0 auto 1.5rem; border: 2px solid rgba(227,20,27,0.35); filter: contrast(1.05); display: block; }
@media (max-width: 768px) {
  .ledger-row { grid-template-columns: 1fr; gap: 0.3rem; }
  .news-item { grid-template-columns: 1fr; gap: 0.5rem; }
  .countdown { gap: 1.5rem; }
}
/* mobile: footer links and the countdown must wrap, or the phone zooms out to fit them */
.footer-links { flex-wrap: wrap; }
.countdown { flex-wrap: wrap; }

/* ===== circuit rows (front door): Oakdale's lore-grid rhythm, 16:9 game images, alternating sides ===== */
.stop-grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: 4rem; align-items: center; padding: 4rem 0; border-bottom: 1px solid var(--fence); }
.stop-grid:last-child { border-bottom: 0; }
.stop-grid.rev .lore-image-wrap { order: 2; }
.stop-grid .lore-image-wrap { aspect-ratio: 16/9; background: var(--dust); }
.stop-grid .lore-image-wrap img { filter: contrast(1.05); }
.stop-num { font-family: 'Bebas Neue', sans-serif; font-size: 3.5rem; color: rgba(227,20,27,0.12); line-height: 1; margin-bottom: -0.6rem; }
.stop-title { font-family: 'Bebas Neue', sans-serif; font-size: clamp(2.4rem, 4.5vw, 3.6rem); letter-spacing: 0.03em; line-height: 0.95; color: var(--chalk); }
.stop-title span { color: var(--amber); }
.stop-tag { display: inline-block; font-family: 'Barlow Condensed', sans-serif; font-size: 0.65rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--amber); border: 1px solid rgba(227,20,27,0.3); padding: 0.2rem 0.7rem; margin: 0.9rem 0 1.2rem; }
.stop-body { font-size: 0.95rem; color: var(--muted); line-height: 1.85; max-width: 480px; }
.stop-credit { margin-top: 0.9rem; max-width: 480px; font-family: 'Barlow Condensed', sans-serif; font-size: 0.68rem; letter-spacing: 0.18em; line-height: 1.6; text-transform: uppercase; color: var(--amber); opacity: 0.7; }
.stop-live { margin-top: 1.4rem; font-family: 'Barlow Condensed', sans-serif; font-size: 0.72rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--muted); display: flex; gap: 1.4rem; flex-wrap: wrap; }
.stop-live b { color: var(--chalk); font-weight: 600; }
.stop-live .live-dot { display: inline-block; margin-right: 0.4rem; vertical-align: middle; }
.stop-ctas { margin-top: 1.6rem; display: flex; gap: 0.8rem; flex-wrap: wrap; }
.stop-ctas .btn { padding: 0.7rem 1.5rem; font-size: 0.8rem; }
.btn[aria-disabled="true"], .btn[aria-disabled="true"]:hover { opacity: 0.5; cursor: not-allowed; transform: none; }

/* ===== next rodeo (front door): Oakdale's community block with a countdown in the big number ===== */
.next-dates { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5px; border: 1.5px solid var(--fence); max-width: 860px; margin: 2.5rem auto 2rem; text-align: left; }
.next-date { background: var(--dust); padding: 1.1rem 1.2rem; }
.next-date .ledger-date { font-size: 1.15rem; }
.next-date .ledger-label { font-size: 0.85rem; display: block; margin-top: 0.15rem; }
.next-date .ledger-kind { display: block; margin-top: 0.3rem; }

/* ===== season page ===== */
.season-strip { background: var(--dust); border: 1.5px solid var(--fence); padding: 3rem 2rem; text-align: center; margin-top: 3rem; }
.season-strip .stat-num { font-size: 2.6rem; }
.season-strip p { font-size: 0.95rem; color: var(--muted); line-height: 1.8; max-width: 520px; margin: 0.8rem auto 0; }

/* ===== game pages: photo behind the hero, thumbnail strip, mirrored Oakdale sections ===== */
.hero-photo { position: absolute; inset: 0; z-index: 0; background-size: cover; background-position: center; opacity: 0.4; filter: contrast(1.05) saturate(0.9); }
.hero-photo::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(7,7,8,0.6) 0%, rgba(7,7,8,0.45) 55%, #070708 100%); }
.thumb-strip { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5px; border: 1.5px solid var(--fence); }
.thumb-strip .lore-image-wrap { aspect-ratio: 16/9; }
.thumb-strip .lore-image-wrap::before { display: none; }
.mirror-note { text-align: center; padding: 1.2rem 2rem; background: var(--dust); border-top: 1px solid var(--fence); border-bottom: 1px solid var(--fence); font-family: 'Barlow Condensed', sans-serif; font-size: 0.68rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--muted); }
.mirror-note a { color: var(--amber); text-decoration: none; }
@media (max-width: 768px) {
  .stop-grid { grid-template-columns: 1fr; gap: 1.6rem; padding: 2.5rem 0; }
  .stop-grid.rev .lore-image-wrap { order: 0; }
  .next-dates { grid-template-columns: 1fr 1fr; }
  .thumb-strip { grid-template-columns: 1fr; }
}

/* ===== news: a changelog timeline (aethex.bot/changelog's shape, Oakdale's colours) ===== */
.timeline-wrap { max-width: 820px; margin: 0 auto; }
.timeline { position: relative; padding-left: 2.5rem; }
.timeline::before { content: ''; position: absolute; left: 0; top: 0.5rem; bottom: 0; width: 2px; background: linear-gradient(to bottom, var(--amber), rgba(227,20,27,0.06)); }
.post { position: relative; margin-bottom: 2.75rem; }
.post::before { content: ''; position: absolute; left: -2.5rem; top: 0.5rem; width: 10px; height: 10px; background: var(--amber); box-shadow: 0 0 16px rgba(227,20,27,0.35); transform: translateX(-4px); }
.post-meta { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.5rem; flex-wrap: wrap; }
.post-date { font-family: 'Barlow Condensed', sans-serif; font-size: 0.68rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--muted); }
.badge { font-family: 'Barlow Condensed', sans-serif; font-size: 0.6rem; letter-spacing: 0.18em; text-transform: uppercase; padding: 0.15rem 0.5rem; font-weight: 700; }
.badge-feature { background: var(--amber); color: #fff; }
.badge-fix { background: #4ade80; color: #070708; }
.badge-announcement { background: var(--rust); color: var(--chalk); }
.badge-notice { background: rgba(245,245,245,0.15); color: var(--chalk); }
.badge-game { background: transparent; border: 1px solid rgba(227,20,27,0.3); color: var(--amber); }
.post-title { font-family: 'Bebas Neue', sans-serif; font-size: 1.6rem; letter-spacing: 0.04em; color: var(--chalk); margin-bottom: 0.6rem; line-height: 1.05; }
.post-title a { color: inherit; text-decoration: none; } .post-title a:hover { color: var(--amber); }
.post-body { font-size: 0.9rem; color: var(--muted); line-height: 1.8; background: var(--dust); border: 1px solid var(--fence); border-left: 2px solid var(--rust); padding: 1rem 1.25rem; }
.post-body p { margin: 0 0 0.7rem; } .post-body p:last-child { margin-bottom: 0; }
.post-body b { color: var(--chalk); font-weight: 400; }
.post-body a { color: var(--amber); text-decoration: none; }
.post-body ul { list-style: none; margin: 0.4rem 0 0.8rem; } .post-body li { padding-left: 1.1rem; position: relative; margin-bottom: 0.3rem; }
.post-body li::before { content: '▸'; position: absolute; left: 0; color: var(--rust); }
.post-body h2, .post-body h3 { font-family: 'Bebas Neue', sans-serif; letter-spacing: 0.05em; color: var(--chalk); margin: 1.2rem 0 0.4rem; font-size: 1.3rem; }
.post-more { display: inline-block; margin-top: 0.7rem; font-family: 'Barlow Condensed', sans-serif; font-size: 0.7rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--amber); text-decoration: none; }
.filters { display: flex; gap: 0.5rem; flex-wrap: wrap; margin: 2rem 0 3rem; }
.filters .lang-pill.active { border-color: rgba(227,20,27,0.4); color: var(--amber); }
.article { max-width: 820px; margin: 0 auto; }
.article .post-body { font-size: 1rem; padding: 1.6rem 1.8rem; }

/* ===== rider sign-in (nav) + profile ===== */
.nav-signin { font-family: 'Barlow Condensed', sans-serif; font-size: 0.78rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); text-decoration: none; display: inline-flex; align-items: center; gap: 0.5rem; white-space: nowrap; }
.nav-signin:hover, .nav-signin.on { color: var(--chalk); }
.nav-signin img { width: 26px; height: 26px; border-radius: 50%; border: 1px solid rgba(227,20,27,0.4); }
.rider-card { background: var(--dust); border: 1.5px solid rgba(227,20,27,0.2); padding: 2rem; display: grid; grid-template-columns: 110px 1fr; gap: 1.6rem; align-items: center; }
.rider-card img.big { width: 110px; height: 110px; border: 2px solid rgba(227,20,27,0.3); background: var(--plank); }
.rider-name { font-family: 'Bebas Neue', sans-serif; font-size: 2.2rem; letter-spacing: 0.05em; line-height: 1; color: var(--chalk); }
.rider-line { font-family: 'Barlow Condensed', sans-serif; font-size: 0.72rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--muted); margin-top: 0.4rem; }
.rider-line b { color: var(--amber); font-weight: 600; }
.field { display: flex; gap: 0.5rem; flex-wrap: wrap; margin-top: 1rem; }
.field input { flex: 1; min-width: 200px; background: var(--dirt); border: 1px solid var(--fence); color: var(--chalk); font-family: 'Barlow', sans-serif; padding: 0.7rem 0.9rem; }
.code-box { font-family: 'Courier New', monospace; font-size: 1.6rem; letter-spacing: 0.12em; color: var(--amber); background: var(--dirt); border: 1px dashed rgba(227,20,27,0.4); padding: 0.8rem 1.2rem; display: inline-block; margin: 0.8rem 0; }
.notice { font-family: 'Barlow Condensed', sans-serif; font-size: 0.78rem; letter-spacing: 0.08em; color: var(--muted); margin-top: 0.8rem; }
.notice.ok { color: #4ade80; } .notice.err { color: #fb7185; }
.ledger-row .btn { padding: 0.45rem 1rem; font-size: 0.72rem; }
.ledger-row.mine { background: #1c1c21; border-left: 2px solid var(--amber); }
.chips { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-top: 0.6rem; }
.chip { padding: 0.4rem 0.8rem; border: 1px solid var(--fence); color: var(--muted); text-decoration: none; font-family: 'Barlow Condensed', sans-serif; letter-spacing: 0.12em; text-transform: uppercase; font-size: 0.72rem; }
.chip.on { border-color: var(--amber); color: var(--amber); background: #1c1c21; }
.grid-wrap { overflow-x: auto; margin-top: 0.6rem; }
.availgrid { border-collapse: separate; border-spacing: 3px; user-select: none; -webkit-user-select: none; }
.availgrid th { font-family: 'Barlow Condensed', sans-serif; font-size: 0.68rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); font-weight: 600; padding: 0.2rem 0.3rem; text-align: center; }
.availgrid td { width: 44px; height: 30px; background: var(--dirt); border: 1px solid var(--fence); cursor: pointer; }
.availgrid td.on { background: var(--amber); border-color: var(--amber); }
.availgrid td:hover { outline: 1px solid var(--chalk); }
.night-game { display: inline-block; vertical-align: middle; margin-left: 0.5rem; padding: 0.15rem 0.5rem; border: 1px solid var(--fence); font-family: 'Barlow Condensed', sans-serif; font-size: 0.62rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--muted); }
.night-game.oakdale { border-color: rgba(227,20,27,.5); color: var(--amber); }
.night-game.rodeosim { border-color: rgba(181,18,27,.6); color: #e0784a; }
.ledger-row.target { outline: 2px solid var(--amber); outline-offset: 2px; animation: nightflash 2.4s ease-out 1; }
@keyframes nightflash { 0%, 40% { background: #3a2408; } 100% { background: var(--dust); } }
.steps { counter-reset: s; }
.steps .event-card::before { counter-increment: s; }
@media (max-width: 640px) { .rider-card { grid-template-columns: 1fr; text-align: center; } .rider-card img.big { margin: 0 auto; } .nav-signin span { display: none; } }

/* ---- phones ---- */
.community-block, .community-section { overflow: hidden; }
@media (max-width: 768px) {
  .stats-inner, .stats-inner[style] { grid-template-columns: repeat(2, 1fr) !important; }
  .stat-num { font-size: 2.2rem; }
}
@media (max-width: 640px) {
  .stat-label, .ledger-kind, .aethex-strip-label, .t-name, .stop-tag, .badge, .rank-badge, .section-label, .staff-rank, .owner-rank-badge, .lore-tag, .form-title, .team-card-owner, .standings-table th, .standings-table td, .notice, .eyebrow, .event-meta, .stop-credit { font-size: 0.74rem; letter-spacing: 0.12em; }
  .ledger-row { flex-wrap: wrap; gap: 0.25rem 0.75rem; }
  .ledger-row .ledger-kind { width: 100%; text-align: left; }
  .field input, .field select, .field textarea { min-width: 0; width: 100%; flex: 1 1 100%; }
  .field .btn { width: 100%; text-align: center; }
  .cta-row { flex-wrap: wrap; }
  .hero-title { word-break: break-word; }
  .team-grid { grid-template-columns: 1fr; }
  .events-grid { grid-template-columns: 1fr; }
  .page-icon { width: 80px; height: 80px; }
  table.standings-table { display: block; overflow-x: auto; }
}

/* the hidden attribute always wins, even over inline display (organizer results forms toggle with it) */
[hidden] { display: none !important; }

/* ---- you-strip: the signed-in line under the nav on every page ---- */
.you-strip { position: fixed; left: 0; right: 0; z-index: 890; background: rgba(18,13,6,.96); backdrop-filter: blur(6px); border-bottom: 1px solid var(--fence); font-family: 'Barlow Condensed', sans-serif; letter-spacing: 0.06em; font-size: 0.92rem; color: var(--chalk); }
.you-strip .ys-inner { max-width: 1200px; margin: 0 auto; padding: 0.45rem 1.5rem; display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 0.9rem; }
.you-strip .ys-item { display: inline-flex; align-items: center; gap: 0.45rem; white-space: nowrap; }
.you-strip .ys-item a { color: var(--amber); text-decoration: none; }
.you-strip .ys-item b { color: var(--amber); }
.you-strip .ys-muted { color: var(--muted); }
.you-strip .ys-ok { color: #5fb37a; }
.you-strip .ys-sep { width: 1px; height: 1rem; background: var(--fence); }
.you-strip .ys-btn { display: inline-block; padding: 0.15rem 0.6rem; border: 1px solid var(--amber); color: var(--amber) !important; text-transform: uppercase; font-size: 0.72rem; letter-spacing: 0.14em; }
.you-strip .ys-btn:hover { background: var(--amber); color: #120d06 !important; }
.you-strip .ys-btn-quiet { border-color: var(--fence); color: var(--muted) !important; }
@media (max-width: 640px) { .you-strip .ys-inner { padding: 0.45rem 1rem; gap: 0.35rem 0.7rem; } .you-strip .ys-sep { display: none; } }

/* ===== Self-hosted fonts (site audit 2026-10-03, P1 #5/#6) =====
   Same families, weights and subsets the Google Fonts stylesheet served, from /fonts (SIL OFL 1.1; licences in
   /fonts/OFL-*.txt; files from fontsource 5.3.0, which repackages the Google Fonts builds). font-display: swap.
   The four most-used weights are preloaded in <head> (src/shell.js). */
@font-face { font-family: 'Bebas Neue'; font-style: normal; font-weight: 400; font-display: swap; src: url(/fonts/bebas-neue-latin-ext-400-normal.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Bebas Neue'; font-style: normal; font-weight: 400; font-display: swap; src: url(/fonts/bebas-neue-latin-400-normal.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Barlow'; font-style: normal; font-weight: 300; font-display: swap; src: url(/fonts/barlow-latin-ext-300-normal.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Barlow'; font-style: normal; font-weight: 300; font-display: swap; src: url(/fonts/barlow-latin-300-normal.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Barlow'; font-style: normal; font-weight: 400; font-display: swap; src: url(/fonts/barlow-latin-ext-400-normal.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Barlow'; font-style: normal; font-weight: 400; font-display: swap; src: url(/fonts/barlow-latin-400-normal.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Barlow'; font-style: italic; font-weight: 300; font-display: swap; src: url(/fonts/barlow-latin-ext-300-italic.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Barlow'; font-style: italic; font-weight: 300; font-display: swap; src: url(/fonts/barlow-latin-300-italic.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Barlow Condensed'; font-style: normal; font-weight: 300; font-display: swap; src: url(/fonts/barlow-condensed-latin-ext-300-normal.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Barlow Condensed'; font-style: normal; font-weight: 300; font-display: swap; src: url(/fonts/barlow-condensed-latin-300-normal.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Barlow Condensed'; font-style: normal; font-weight: 400; font-display: swap; src: url(/fonts/barlow-condensed-latin-ext-400-normal.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Barlow Condensed'; font-style: normal; font-weight: 400; font-display: swap; src: url(/fonts/barlow-condensed-latin-400-normal.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Barlow Condensed'; font-style: normal; font-weight: 600; font-display: swap; src: url(/fonts/barlow-condensed-latin-ext-600-normal.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Barlow Condensed'; font-style: normal; font-weight: 600; font-display: swap; src: url(/fonts/barlow-condensed-latin-600-normal.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Barlow Condensed'; font-style: normal; font-weight: 700; font-display: swap; src: url(/fonts/barlow-condensed-latin-ext-700-normal.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Barlow Condensed'; font-style: normal; font-weight: 700; font-display: swap; src: url(/fonts/barlow-condensed-latin-700-normal.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Barlow Condensed'; font-style: italic; font-weight: 400; font-display: swap; src: url(/fonts/barlow-condensed-latin-ext-400-italic.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Barlow Condensed'; font-style: italic; font-weight: 400; font-display: swap; src: url(/fonts/barlow-condensed-latin-400-italic.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Rye'; font-style: normal; font-weight: 400; font-display: swap; src: url(/fonts/rye-latin-ext-400-normal.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Rye'; font-style: normal; font-weight: 400; font-display: swap; src: url(/fonts/rye-latin-400-normal.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
/* Metric-matched fallbacks: until a web font arrives, text is set in the local Arial/Arimo/Liberation Sans scaled to
   the web font's average advance width and vertical metrics, so lines wrap the same and the hero doesn't jump when
   the font swaps in (the CLS the audit measured). Values computed with fontTools from the files above; Barlow Condensed
   is only used for uppercase labels here, so its fallback is scaled to the uppercase advance width (65.5%). The
   unicode-range matches the web fonts' latin + latin-ext subsets, so glyphs they don't have (e.g. the ← in "← All news")
   still fall through to the plain system font, exactly as before. */
@font-face { font-family: 'Bebas Neue Fallback'; src: local('Arial'), local('Arimo'), local('Liberation Sans'), local('Helvetica'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD, U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; size-adjust: 71.88%; ascent-override: 125.20%; descent-override: 41.73%; line-gap-override: 0%; }
@font-face { font-family: 'Barlow Fallback'; src: local('Arial'), local('Arimo'), local('Liberation Sans'), local('Helvetica'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD, U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; size-adjust: 92.78%; ascent-override: 107.79%; descent-override: 21.56%; line-gap-override: 0%; }
@font-face { font-family: 'Barlow Condensed Fallback'; src: local('Arial'), local('Arimo'), local('Liberation Sans'), local('Helvetica'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD, U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; size-adjust: 65.50%; ascent-override: 152.68%; descent-override: 30.53%; line-gap-override: 0%; }
/* the above-the-fold text (nav, hero, body copy) gets the fallback in its stack; everything else keeps its stack */
body, .hero-sub { font-family: 'Barlow', 'Barlow Fallback', sans-serif; }
.hero-title, .nav-brand-text, .page-hero .hero-title { font-family: 'Bebas Neue', 'Bebas Neue Fallback', sans-serif; }
.hero-eyebrow, .eyebrow, p.eyebrow, .hero-tagline, .live-badge, .btn, .nav-links a, .nav-cta, .nav-signin, .post-date, .badge, .stat-label { font-family: 'Barlow Condensed', 'Barlow Condensed Fallback', sans-serif; }
.stat-num { font-family: 'Bebas Neue', 'Bebas Neue Fallback', sans-serif; }
/* bar.js loads with defer now: reserve its 32px strip here so nothing moves when it mounts (bar.js keeps the same
   rules for the other sites that load it) */
html { scroll-padding-top: 32px; } body { padding-top: 32px; } nav { top: 32px; }

/* ===== PBR LAYER (2026-10-17): RRA black / red / chrome. Bold italic type, red gradients, angled slashes.
   Same block as oakdale-landing/rra-pbr.css. Overrides everything above; keep it last. ===== */
@font-face { font-family: 'Barlow Condensed'; font-style: normal; font-weight: 800; font-display: swap; src: url(/fonts/barlow-condensed-latin-800-normal.woff2) format('woff2'); }
@font-face { font-family: 'Barlow Condensed'; font-style: normal; font-weight: 900; font-display: swap; src: url(/fonts/barlow-condensed-latin-900-normal.woff2) format('woff2'); }
@font-face { font-family: 'Barlow Condensed'; font-style: italic; font-weight: 700; font-display: swap; src: url(/fonts/barlow-condensed-latin-700-italic.woff2) format('woff2'); }
@font-face { font-family: 'Barlow Condensed'; font-style: italic; font-weight: 800; font-display: swap; src: url(/fonts/barlow-condensed-latin-800-italic.woff2) format('woff2'); }
@font-face { font-family: 'Barlow Condensed'; font-style: italic; font-weight: 900; font-display: swap; src: url(/fonts/barlow-condensed-latin-900-italic.woff2) format('woff2'); }
:root {
  --amber: #FF3B3F;              /* text-safe red on black (4.8:1) */
  --amber-dark: #8B1A1F;
  --rust: #B5121B;
  --dirt: #070708;
  --dust: #111114;
  --plank: #16161a;
  --fence: rgba(227,20,27,0.22);
  --rra-grad: linear-gradient(135deg, #ff3030 0%, #E3141B 40%, #8B1A1F 100%);
  --rra-chrome: linear-gradient(180deg, #ffffff 0%, #f1f1f4 42%, #9d9da6 52%, #e6e6ea 70%, #ffffff 100%);
  --rra-card: linear-gradient(160deg, #1b1b20 0%, #0e0e11 100%);
}
body {
  background-color: #070708 !important;
  background-image:
    radial-gradient(1100px 600px at 90% -10%, rgba(227,20,27,0.16), transparent 60%),
    radial-gradient(900px 520px at -10% 110%, rgba(139,26,31,0.22), transparent 60%) !important;
  background-attachment: fixed;
}

/* ── Type: heavy italic condensed, chrome fill ── */
.hero-title, .section-heading, .bot-heading, .jaripeo-big, .page-header h1, .page-title,
.event-title, .store-item-name, .community-num, .stat-num, .player-name, .owner-name,
.staff-name, .cat-title, .rank-name, .section-title, .card-title, .p-name, .stat-tile-val, .nav-brand-text {
  font-family: 'Barlow Condensed', 'Bebas Neue', sans-serif !important;
  font-weight: 900 !important;
  font-style: italic;
  text-transform: uppercase;
  letter-spacing: -0.005em !important;
}
.hero-title, .section-heading, .bot-heading, .jaripeo-big, .page-header h1, .page-title {
  background: var(--rra-chrome);
  -webkit-background-clip: text; background-clip: text;
  color: transparent !important;
  text-shadow: none !important;
  filter: drop-shadow(0 4px 0 rgba(0,0,0,0.55));
  padding-right: 0.08em;
}
.hero-title { font-size: clamp(3.2rem, 14.5vw, 12.5rem) !important; line-height: 0.84 !important; overflow-wrap: normal; word-break: keep-all; }
.section-heading { font-size: clamp(2.2rem, 6vw, 4.6rem) !important; line-height: 0.92 !important; }
.hero-title .arena, .jaripeo-big .highlight, .community-num, .nav-brand-text span {
  background: var(--rra-grad);
  -webkit-background-clip: text; background-clip: text;
  color: transparent !important;
  text-shadow: none !important;
  padding-right: 0.08em;
}
.hero-title .arena { filter: drop-shadow(0 0 28px rgba(227,20,27,0.55)); }
.page-header h1::after, .page-title::after {
  content: ''; display: block; width: 90px; height: 7px; margin-top: 0.6rem;
  background: var(--rra-grad); transform: skewX(-25deg);
}

/* ── Eyebrows: red slash instead of stars ── */
.eyebrow, .hero-eyebrow {
  color: #fff !important; opacity: 1 !important;
  font-weight: 800 !important; font-style: italic; letter-spacing: 0.22em !important;
}
.eyebrow::before, .eyebrow::after { content: none !important; }
.eyebrow::before {
  content: '' !important; display: inline-block; width: 30px; height: 7px; margin-right: 0.7rem;
  background: var(--rra-grad); transform: skewX(-25deg); vertical-align: middle;
}
.hero-eyebrow::before, .hero-eyebrow::after {
  width: 44px !important; height: 6px !important; opacity: 1 !important;
  background: var(--rra-grad) !important; transform: skewX(-25deg);
}
.hero-tagline { color: #fff !important; opacity: 0.85 !important; font-weight: 700; }

/* ── Nav ── */
nav {
  background: linear-gradient(180deg, #111114 0%, #060607 100%) !important;
  border-bottom: 0 !important;
  box-shadow: 0 3px 0 #E3141B, 0 12px 30px rgba(0,0,0,0.6);
}
.nav-links a { font-weight: 700; font-style: italic; color: #c9c9cf !important; }
.nav-links a:hover { color: #fff !important; box-shadow: 0 3px 0 #E3141B; }

/* ── Buttons: red gradient parallelograms ── */
.btn, .nav-cta, .btn-submit, .lookup-row button { font-style: italic; font-weight: 800 !important; }
.btn-primary, .btn-submit, .btn-amber, .nav-cta, .lookup-row button {
  background: var(--rra-grad) !important;
  color: #fff !important;
  border: 0 !important;
  box-shadow: none !important;
  text-shadow: 0 1px 0 rgba(0,0,0,0.35);
  clip-path: polygon(12px 0, 100% 0, calc(100% - 12px) 100%, 0 100%);
}
.btn-primary:hover, .btn-submit:hover, .btn-amber:hover, .nav-cta:hover, .lookup-row button:hover {
  background: var(--rra-grad) !important; filter: brightness(1.18) saturate(1.1);
}
.btn-secondary, .btn-discord {
  clip-path: polygon(12px 0, 100% 0, calc(100% - 12px) 100%, 0 100%);
}
.btn-secondary { background: rgba(255,255,255,0.08) !important; border: 0 !important; color: #fff !important; }
.btn-secondary:hover { background: rgba(255,255,255,0.16) !important; color: #fff !important; }

/* ── Hero: red glow, slashes, logo, angled band into the stats bar ── */
.hero-bg {
  background:
    radial-gradient(ellipse 55% 50% at 50% 42%, rgba(227,20,27,0.30), transparent 70%),
    linear-gradient(112deg, transparent 0 60%, rgba(227,20,27,0.16) 60% 63%, transparent 63% 65.5%, rgba(227,20,27,0.09) 65.5% 67%, transparent 67%),
    linear-gradient(112deg, transparent 0 22%, rgba(255,255,255,0.025) 22% 24%, transparent 24%),
    linear-gradient(180deg, #0b0b0d 0%, #070708 65%, #160407 100%) !important;
}
.hero-grid { display: none; }
.hero::after {
  content: ''; position: absolute; left: -5%; right: -5%; bottom: -46px; height: 96px; z-index: 1;
  background: linear-gradient(90deg, #8B1A1F 0%, #E3141B 50%, #8B1A1F 100%);
  transform: skewY(-2.2deg);
  box-shadow: 0 -12px 40px rgba(227,20,27,0.35);
}
.hero-logo {
  display: block; width: clamp(130px, 19vw, 210px); height: auto; margin: 0 auto 1.4rem;
  filter: drop-shadow(0 0 30px rgba(227,20,27,0.45)) drop-shadow(0 10px 18px rgba(0,0,0,0.7));
  animation: riseIn 0.8s ease both;
}

/* ── Stats bar: solid red band ── */
.stats-bar {
  position: relative; z-index: 2;
  background: linear-gradient(90deg, #8B1A1F 0%, #E3141B 50%, #8B1A1F 100%) !important;
  border: 0 !important;
}
.stats-bar .stat-num { color: #fff !important; text-shadow: 0 3px 0 rgba(0,0,0,0.35); }
.stats-bar .stat-label { color: rgba(255,255,255,0.9) !important; font-weight: 700; }
.stats-bar .stat-divider { background: rgba(255,255,255,0.3) !important; }
/* stats: one row of 4 with thin dividers (the 4-col grid put the dividers in their own cells → lopsided 2x2) */
.stats-bar .stats-inner { display: flex !important; align-items: stretch; justify-content: center; max-width: 1100px; }
.stats-bar .stat { flex: 1 1 0; }
.stats-bar .stat-divider { flex: 0 0 1px; display: block; }
@media (max-width: 768px) {
  .stats-bar .stats-inner { flex-wrap: wrap; }
  .stats-bar .stat { flex: 0 0 calc(50% - 0.5rem); }
  .stats-bar .stat-divider { display: none; }
}

/* ── Sections & cards ── */
.lore-section, .store-section, .jaripeo-section, .lookup-section {
  background: linear-gradient(180deg, #101013 0%, #08080a 100%) !important;
  border-top: 1px solid rgba(227,20,27,0.35) !important;
}
.community-section {
  background: radial-gradient(ellipse 60% 70% at 50% 50%, rgba(227,20,27,0.22), transparent 70%), #0a0a0c !important;
}
.community-bg-text { color: rgba(227,20,27,0.06) !important; font-family: 'Barlow Condensed', sans-serif !important; font-weight: 900; font-style: italic; }
.event-card, .store-card, .card, .staff-card, .player-card, .cat-btn, .team-card, .stat-tile {
  background: var(--rra-card) !important;
  border-top: 3px solid #E3141B !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}
.event-card:hover, .store-card:hover, .staff-card:hover, .cat-btn:hover, .team-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 40px rgba(0,0,0,0.6), 0 0 0 1px rgba(227,20,27,0.45);
}
.event-num { color: rgba(227,20,27,0.14) !important; font-family: 'Barlow Condensed', sans-serif !important; font-weight: 900; font-style: italic; }
.event-meta, .store-price, .lore-tag { color: #ff4d4f !important; opacity: 1 !important; font-weight: 700; }
.store-badge, .player-role, .p-role, .rank-badge, .owner-rank-badge { background: var(--rra-grad) !important; color: #fff !important; }
.lore-image-wrap img { filter: contrast(1.1) saturate(0.9) !important; }
.lore-image-wrap::after { border-color: #E3141B !important; opacity: 0.6 !important; }
.lore-image-wrap::before { border-color: #fff !important; }
.rope { height: 7px !important; background: linear-gradient(90deg, #8B1A1F, #E3141B, #8B1A1F) !important; transform: skewY(-0.8deg); }
footer { border-top: 3px solid #E3141B !important; background: #050506 !important; }

.nav-brand-icon { background: url(/brand/rra-star-bronc.webp) center/contain no-repeat !important; clip-path: none !important; width: 40px !important; height: 40px !important; }
.hero-photo { filter: contrast(1.1) saturate(0.85) !important; opacity: 0.35 !important; }
.game-icon, .page-icon { border-color: rgba(227,20,27,0.5) !important; }

/* ===== PBR LAYER fixes (site audit 2026-10-17) ===== */
/* phone/tablet menu: below 1080px the nav links were hidden with nothing in their place */
.nav-toggle { display: none; flex-direction: column; justify-content: center; gap: 5px; width: 44px; height: 44px; padding: 0 10px; margin-left: 0.25rem; background: none; border: 0; cursor: pointer; }
.nav-toggle span { display: block; height: 3px; background: #fff; transform: skewX(-20deg); transition: transform .2s, opacity .2s; }
.nav-links-cta { display: none; }
/* 901–1220px: keep the links (tighter, no Join Discord button — Discord is in the RRA bar above) */
@media (min-width: 901px) and (max-width: 1220px) {
  nav { padding: 0 1.25rem !important; gap: 1rem !important; }
  .nav-links { display: flex !important; gap: 0.85rem !important; }
  .nav-links a { font-size: 0.72rem !important; letter-spacing: 0.06em !important; }
  .nav-cta { display: none !important; }
  .nav-brand-text { font-size: 1.15rem !important; }
}
@media (max-width: 900px) {
  .nav-toggle { display: flex; }
  nav.open .nav-links {
    display: flex !important; flex-direction: column; gap: 0; position: absolute; top: 100%; left: 0; right: 0;
    background: linear-gradient(180deg, #111114, #060607); border-bottom: 3px solid #E3141B; box-shadow: 0 18px 40px rgba(0,0,0,.7);
    max-height: calc(100vh - 96px); overflow-y: auto;
  }
  nav.open .nav-links { align-items: stretch !important; }
  nav.open .nav-links li { border-top: 1px solid #1d1d22; width: 100%; }
  nav.open .nav-links a { display: block; padding: 1rem 1.5rem; font-size: 1rem !important; letter-spacing: .14em; }
  nav.open .nav-links-cta { display: block; }
  nav.open .nav-links-cta a { background: var(--rra-grad); color: #fff !important; }
  nav.open .nav-toggle span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
  nav.open .nav-toggle span:nth-child(2) { opacity: 0; }
  nav.open .nav-toggle span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }
}
/* card grids: drop the outlined container so short last rows don't show as big empty boxes */
.events-grid, .store-grid, .hub-grid, .thumb-strip { border: 0 !important; gap: 12px !important; background: transparent !important; }
/* faint card numerals / prices: small, top-right, above the content instead of behind the titles */
.event-num { font-size: 1.35rem !important; top: 0.9rem !important; right: 1.1rem !important; color: rgba(255,59,63,0.6) !important; letter-spacing: .04em; }
.event-card { padding-top: 2.9rem !important; }
/* headings the first pass missed */
.stop-title, .hub-title, .post-title, .prose h2 {
  font-family: 'Barlow Condensed', 'Bebas Neue', sans-serif !important; font-weight: 900 !important; font-style: italic; text-transform: uppercase; letter-spacing: -0.005em !important;
}
.stop-title span, .post-title a:hover { color: #FF3B3F !important; }
/* leading-edge leftovers */
.night-game.rodeosim { color: #d6d6db !important; border-color: rgba(255,255,255,.3) !important; }
.ledger-kind { color: #ff6b6e !important; opacity: 1 !important; }
.stop-credit { color: #c9c9cf !important; opacity: 1 !important; }
span.btn.btn-primary { opacity: 1 !important; background: #1e1e23 !important; color: #a8a8ad !important; filter: none !important; }
.aethex-logo span { color: #8a8690 !important; }
/* image boxes with no photo (coming-soon stops): show the RRA star instead of an empty frame */
.lore-image-wrap:not(:has(img)) { background: radial-gradient(circle, rgba(227,20,27,.18), transparent 65%), url(/brand/rra-star-bronc.webp) center / 38% no-repeat, #0e0e11 !important; }
/* leadership: centred underline, readable eyebrow / tier labels, long names wrap */
.page-hero .page-title::after { margin-left: auto; margin-right: auto; }
.page-eyebrow, .tier-label { color: #fff !important; font-weight: 800 !important; font-style: italic; }
.staff-card { min-width: 0; }
.staff-name, .staff-rank { min-width: 0; overflow-wrap: anywhere; }
/* phones: centred eyebrows wrap — drop the side dashes there; tighter nav so the menu button fits */
@media (max-width: 640px) {
  nav { padding: 0 0.75rem 0 1rem !important; gap: 0.5rem !important; }
  .nav-right { gap: 0.75rem !important; }
  .hero-eyebrow::before, .hero-eyebrow::after { display: none !important; }
}
/* phones: standings tables fill the width (display:block for sideways scroll left them short of the edge) */
@media (max-width: 768px) {
  table.standings-table { display: table !important; width: 100% !important; table-layout: auto; }
  table.standings-table td, table.standings-table th { padding-left: 0.5rem; padding-right: 0.5rem; }
}
