/* Shared Academy identity. Ridge Riders and Pietas retain their own themes.
   Display / navigation: Barlow Condensed. Reading text: Source Serif 4.
   Palette follows the approved splash: midnight, ivory, and antique gold. */
body.academy-theme {
  --academy-bg:#111b27; --academy-panel:#192636; --academy-text:#faf7f0;
  --academy-gold:#c9a84c; --academy-muted:#c1c8d0; --academy-line:#c9a84c40;
  --academy-display:"Barlow Condensed","Arial Narrow",Arial,sans-serif;
  --academy-reading:"Source Serif 4",Georgia,serif;
  --gold:var(--academy-gold); --muted:var(--academy-muted);
  --rule:var(--academy-line); --line:var(--academy-line);
  --ice:#c9a84c; --accent:#c9a84c; --ink-soft:#c1c8d0;
  color-scheme:dark;
  margin:0; color:var(--academy-text);
  background:radial-gradient(ellipse at 90% 0%,#c9a84c08,transparent 45%),var(--academy-bg);
  font-family:var(--academy-reading); font-size:17px; line-height:1.75;
}
body.academy-core { --navy:var(--academy-text); --paper:var(--academy-bg); --stone:var(--academy-panel); }
body.academy-reels, body.academy-digital-forge {
  --navy:var(--academy-panel); --night:var(--academy-bg);
  --ivory:var(--academy-text); --navy-2:#202f41; --panel:#192636;
}
body.academy-track { --bg:var(--academy-bg); --ink:var(--academy-text); }
.academy-theme :is(.wrap,.wide,.shell) { width:min(76rem,calc(100% - 3rem)); margin-inline:auto; }
.academy-theme h1:not(.splash-word), .academy-theme h2, .academy-theme h3 {
  font-family:var(--academy-display); font-weight:600; color:var(--academy-text);
  letter-spacing:.01em; text-transform:none;
}
.academy-theme h1:not(.splash-word) { font-size:clamp(3rem,5.5vw,4.5rem); line-height:1.06; margin:0 0 1rem; }
.academy-theme h2 { font-size:clamp(2rem,3.5vw,2.75rem); line-height:1.15; }
.academy-theme h3 { font-size:1.4rem; line-height:1.25; }
.academy-theme :is(.eyebrow,.statute,.byline,.motto,.stamp,.button,.btn,.primary,.play,.filters button) {
  font-family:var(--academy-display); letter-spacing:.1em;
}
.academy-theme :is(.eyebrow,.statute,.byline) { color:var(--academy-gold); font-size:.9rem; }
.academy-theme .vra-site-header {
  position:relative; z-index:10; width:100%; padding:0; margin:0;
  border:0; border-bottom:1px solid var(--academy-line);
  background:#111b27f5; box-shadow:0 8px 28px #0002; backdrop-filter:blur(16px);
}
.academy-theme .vra-header-inner {
  box-sizing:border-box; width:min(80rem,calc(100% - 3rem)); min-height:96px;
  margin-inline:auto; padding:18px 0; display:flex; align-items:center;
  justify-content:space-between; gap:24px;
}
.academy-theme .vra-brand {
  display:flex; flex:none; align-items:center; gap:12px; padding:0;
  color:var(--academy-text); text-decoration:none; border:0;
}
.academy-theme .vra-brand img { display:block; width:48px; height:48px; object-fit:contain; flex:none; }
.academy-theme .vra-wordmark {
  display:flex; flex-direction:column; gap:6px; text-transform:uppercase;
  font:600 25px/1 var(--academy-display); letter-spacing:.11em; white-space:nowrap;
}
.academy-theme .vra-wordmark small { font:500 12px/1 var(--academy-display); letter-spacing:.38em; color:var(--academy-gold); }
.academy-theme .vra-nav {
  display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end;
  gap:4px 16px; margin:0; padding:0;
  font:600 15px/1.3 var(--academy-display); letter-spacing:.07em; text-transform:uppercase;
}
.academy-theme .vra-nav a {
  display:inline-flex; align-items:center; min-height:40px; padding:7px 0;
  color:var(--academy-muted); text-decoration:none; white-space:nowrap;
  border:0; border-bottom:2px solid transparent;
}
.academy-theme .vra-nav a:hover, .academy-theme .vra-nav a[aria-current="page"] { color:var(--academy-gold); border-bottom-color:var(--academy-gold); }
.academy-theme .vra-site-header a:focus-visible, .academy-theme .vra-subnav a:focus-visible { outline:2px solid var(--academy-gold); outline-offset:5px; }
.academy-theme .vra-subnav {
  display:flex; flex-wrap:wrap; gap:8px 24px; width:min(76rem,calc(100% - 3rem));
  margin:0 auto; padding:16px 0; border-bottom:1px solid var(--academy-line);
  font:500 1rem/1.4 var(--academy-display); letter-spacing:.06em;
}
.academy-theme .vra-subnav a { color:var(--academy-muted); padding:6px 0; text-decoration:none; }
.academy-theme .vra-subnav a[aria-current], .academy-theme .vra-subnav a:hover { color:var(--academy-gold); }
body.academy-theme .pagehead, body.academy-theme .page-intro {
  padding:64px 0 32px; margin:0 0 40px; border-bottom:1px solid var(--academy-line);
}
body.academy-theme .pagehead::before { display:none; }
.academy-theme .pagehead .lede { max-width:48rem; }
.academy-theme .page-intro h1 span { color:var(--academy-text); }
.academy-theme .page-intro h1 .period { color:var(--academy-gold); }
.academy-core :is(.band,.band-stone,.standing,.passage,.roster,.roles,.door) {
  background:var(--academy-panel); color:var(--academy-text); border-color:var(--academy-line);
}
.academy-core :is(.band,.standing,.passage) p { color:var(--academy-text); }
.academy-core :is(.roster dd,.door .k) { color:var(--academy-gold); }
.academy-theme .field :is(input,textarea,select) { background:var(--academy-panel); color:var(--academy-text); border-color:var(--academy-line); font-family:var(--academy-reading); }
.academy-theme footer { color:var(--academy-muted); border-color:var(--academy-line); }
.academy-reels .featured, .academy-reels .film-copy { background:var(--academy-panel); border-color:var(--academy-line); }
.academy-reels .film-copy h2 { font-size:clamp(2.4rem,3.5vw,3.2rem); }
.academy-reels .album h3 { font-size:1.8rem; }
.academy-digital-forge .hero {
  background:transparent; min-height:0; padding:64px 0 48px;
  border-bottom:1px solid var(--academy-line);
}
.academy-digital-forge .hero::after { display:none; }
.academy-digital-forge .hero-copy { color:var(--academy-muted); }
.academy-digital-forge .hero h1 { margin:0 0 1rem; }
.academy-digital-forge .forge-label { font-family:var(--academy-display); margin:0 0 12px; }
.academy-digital-forge :is(.console,.screen,.parent-note,.rulebox,.tracks) { background:var(--academy-panel); }
.academy-digital-forge .screen h2 { font-size:2rem; color:var(--academy-text); }
.academy-digital-forge :is(.btn,.play) { font-size:1rem; }
.academy-digital-forge .game h3 { font-size:1.6rem; }
.academy-digital-forge .step { font-size:.95rem; }
.academy-track .hero { padding:64px 0 48px; }
.academy-track :is(.preview,article) { background:var(--academy-panel); color:var(--academy-text); border-color:var(--academy-line); }
.academy-track .preview { transform:none; }
.academy-track .preview strong { font-family:var(--academy-display); color:var(--academy-gold); }
.academy-track .preview p { color:var(--academy-muted); }
.academy-track :is(.badge,.number,.preview>span) { font-family:var(--academy-display); }
@media(max-width:1199px) {
  .academy-theme .vra-header-inner { flex-direction:column; align-items:flex-start; gap:12px; }
  .academy-theme .vra-nav { justify-content:flex-start; }
}
@media(max-width:600px) {
  .academy-theme :is(.wrap,.wide,.shell), .academy-theme .vra-header-inner, .academy-theme .vra-subnav { width:calc(100% - 36px); }
  .academy-theme .vra-header-inner { padding:16px 0 12px; }
  .academy-theme .vra-nav { gap:2px 16px; font-size:14px; }
  .academy-theme .vra-brand img { width:42px; height:42px; }
  .academy-theme .vra-wordmark { font-size:23px; }
  body.academy-theme .pagehead, body.academy-theme .page-intro { padding:36px 0 24px; margin-bottom:28px; }
  .academy-digital-forge .hero, .academy-track .hero { padding:36px 0; }
}
@media print {
  body.academy-theme { background:white; color:#111b27; --academy-text:#111b27; --academy-muted:#3c4650; --academy-panel:white; --academy-bg:white; }
  .academy-theme .vra-site-header { background:white; box-shadow:none; }
  .academy-theme .vra-nav { display:none; }
}
