/* ============================================================
   EMPTY BUS RECORDS — EDITORIAL DESIGN SYSTEM
   Dark base (Ink), Cream/Sand type, Sunset Orange + Ember Red +
   Gold Hour accents — per EBR Website Brand One-Sheet, Sept 2026.
   Loaded last in <head> so it overrides the legacy page styles.
   ============================================================ */

:root{
  /* Brand tokens, straight from the one-sheet */
  --ed-ink:#000000;          /* Primary background — true black */
  --ed-cream:#FAF3E7;        /* Primary text on dark */
  --ed-muted:#CBAE85;        /* Sand — secondary text, dividers */
  --ed-orange:#E15B2D;       /* Sunset Orange — signature accent: logo, links, key UI */
  --ed-ember:#C23B2B;        /* Ember Red — one CTA style only, used sparingly */
  --ed-yellow:#E3A639;       /* Gold Hour — tiny highlights: icons, dividers */

  /* Working tones derived from Ink, for layering on an all-dark page */
  --ed-paper:#0B0B0B;        /* Raised surface: wrap/nav/subhead/corner */
  --ed-paper-2:#151515;      /* Card surface — one step above --ed-paper */
  --ed-orange-dark:#B84B26;  /* Hover/active state — darkened Sunset Orange (not a brand swatch on its own) */

  --ed-line: rgba(203,174,133,0.28);   /* Sand-tinted hairline for a dark ground */
  --ed-line-soft: rgba(203,174,133,0.14);
}

* { box-sizing: border-box; }

html, body{ background:var(--ed-ink) !important; color:var(--ed-cream) !important; }
body{ font-family:'Work Sans',sans-serif; }

/* ---------- WRAP: page container with hairline sides + corner circles ---------- */
.ed-wrap{
  max-width:1400px; margin:0 auto; position:relative;
  border-left:1px solid var(--ed-line); border-right:1px solid var(--ed-line);
  background:var(--ed-paper);
}
.ed-corner{
  position:absolute; width:13px; height:13px; border-radius:50%;
  border:1px solid var(--ed-line); background:var(--ed-paper); z-index:6;
}
.ed-corner.tl{ top:-7px; left:-7px; } .ed-corner.tr{ top:-7px; right:-7px; }

/* ---------- NAV ---------- */
.ed-nav{
  display:flex; align-items:center; justify-content:space-between;
  gap:28px; padding:20px 40px; border-bottom:1px solid var(--ed-line);
  background:var(--ed-paper);
}
.ed-nav .ed-wordmark{
  display:inline-flex; align-items:center; line-height:0;
  font-family:'Poppins',sans-serif; font-weight:700; font-size:20px; letter-spacing:0.5px;
  color:var(--ed-cream); text-decoration:none;
}
.ed-nav .ed-wordmark img{ width:132px; height:auto; display:block; }
@media (max-width:900px){ .ed-nav .ed-wordmark img{ width:104px; } }
.ed-navlinks{ display:flex; gap:24px; flex-wrap:wrap; justify-content:flex-end; }
.ed-navlinks a{
  font-size:12px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase;
  color:var(--ed-cream); text-decoration:none; position:relative; padding-bottom:5px;
  border-bottom:2px solid transparent; transition:border-color 0.25s ease, color 0.25s ease;
}
.ed-navlinks a::after{
  content:''; position:absolute; left:0; bottom:-2px; width:0; height:2px;
  background:var(--ed-orange); transition:width 0.3s ease;
}
.ed-navlinks a:hover::after, .ed-navlinks a.active::after{ width:100%; }
.ed-navlinks a.active{ color:var(--ed-orange); }

/* ---------- SUBHEAD STRIP (page label under nav) ---------- */
.ed-subhead{
  text-align:center; padding:12px; border-bottom:1px solid var(--ed-line);
  font-size:12px; letter-spacing:2.5px; text-transform:uppercase;
  color:var(--ed-orange); font-weight:700; background:var(--ed-paper);
}

/* ---------- TICKER ---------- */
.ed-ticker{
  overflow:hidden; white-space:nowrap; background:var(--ed-ink);
  border-bottom:1px solid var(--ed-line); padding:11px 0;
}
.ed-ticker__track{
  display:flex; width:max-content; animation: edTickerScroll 30s linear infinite;
  font-family:'Poppins',sans-serif; font-weight:700; font-size:12px; letter-spacing:3px;
  text-transform:uppercase; color:var(--ed-cream);
}
.ed-ticker__track span{ margin:0 26px; color:var(--ed-yellow); }
.ed-ticker__seg{ display:flex; flex-shrink:0; align-items:center; }
@keyframes edTickerScroll{ 0%{transform:translateX(0);} 100%{transform:translateX(-50%);} }

/* ---------- HEADLINES / TYPE ---------- */
.ed-eyebrow{ font-size:12px; letter-spacing:2.5px; text-transform:uppercase; color:var(--ed-muted); margin-bottom:10px; display:block; font-weight:700; }
.ed-h1{ font-family:'Poppins',sans-serif; font-weight:700; text-transform:uppercase; line-height:0.98; letter-spacing:-1px; color:var(--ed-cream); }
.ed-h2{ font-family:'Poppins',sans-serif; font-weight:700; text-transform:uppercase; line-height:1.02; letter-spacing:-0.5px; color:var(--ed-cream); font-size:38px; }
.ed-lede{ font-size:16px; line-height:1.65; color:var(--ed-muted); }
.ed-lede.on-dark{ color:var(--ed-muted); }

/* ---------- BUTTONS ---------- */
.ed-btn{
  display:inline-block; padding:14px 30px; font-weight:700; font-size:12px;
  letter-spacing:1.5px; text-transform:uppercase; text-decoration:none;
  border:2px solid var(--ed-cream); color:var(--ed-cream); background:transparent;
  transition:transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}
.ed-btn:hover{ transform:translateY(-3px); box-shadow:0 10px 22px rgba(225,91,45,0.28); background:var(--ed-orange); border-color:var(--ed-orange); color:var(--ed-ink); }
/* Solid = neutral, high-contrast inverted button (cream fill on the dark page) */
.ed-btn-solid{ background:var(--ed-cream); color:var(--ed-ink); border-color:var(--ed-cream); }
.ed-btn-solid:hover{ background:var(--ed-orange); border-color:var(--ed-orange); color:var(--ed-ink); }
/* Accent = the ONE Ember Red CTA style, used sparingly (per the one-sheet) */
.ed-btn-accent{ background:var(--ed-ember); color:var(--ed-cream); border-color:var(--ed-ember); }
.ed-btn-accent:hover{ background:var(--ed-orange); border-color:var(--ed-orange); color:var(--ed-ink); }

/* ---------- CARDS ---------- */
.ed-card{
  background:var(--ed-paper-2); border:1px solid var(--ed-line); border-radius:0;
  transition:transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
.ed-card:hover{ transform:translateY(-6px); box-shadow:0 16px 28px rgba(225,91,45,0.16); border-color:var(--ed-orange); }

/* ---------- PHOTOGRAPHY: grayscale by default, color on hover ---------- */
.ed-photo{ overflow:hidden; display:block; background:var(--ed-ink); }
.ed-photo img{
  width:100%; height:100%; object-fit:cover; display:block;
  filter:grayscale(1) contrast(1.08); transition:filter 0.5s ease, transform 0.5s ease;
}
.ed-photo:hover img{ filter:grayscale(0) contrast(1.02); transform:scale(1.03); }
/* Artist portraits stay in full color — the grayscale treatment is for editorial photography */
.ed-photo--color img{ filter:none; }
.ed-photo--color:hover img{ filter:none; transform:scale(1.03); }

/* ---------- NUMBERED SIDEBAR (homepage hero) ---------- */
.ed-sidebar{ width:50px; display:flex; flex-direction:column; border-right:1px solid var(--ed-line); flex-shrink:0; }
.ed-sidebar div{
  flex:1; display:flex; align-items:center; justify-content:center;
  font-size:12px; font-weight:700; border-bottom:1px solid var(--ed-line);
  color:var(--ed-cream); cursor:default;
}
.ed-sidebar div:last-child{ border-bottom:none; }
.ed-sidebar div.active{ background:var(--ed-orange); color:var(--ed-ink); }

/* ---------- FOOTER ROW (3-up strip) ---------- */
.ed-footrow{ display:flex; flex-wrap:wrap; border-top:1px solid var(--ed-line); }
.ed-footrow > div{
  flex:1; min-width:220px; padding:24px 30px; border-right:1px solid var(--ed-line);
  font-size:12px; letter-spacing:1.5px; text-transform:uppercase; color:var(--ed-muted);
}
.ed-footrow > div:last-child{ border-right:none; }

/* ---------- FOOTER (full) ---------- */
.ed-footer{ border-top:1px solid var(--ed-line); background:var(--ed-ink); color:var(--ed-cream); padding:50px 40px 30px; }
.ed-footer a{ color:var(--ed-cream); text-decoration:none; }
.ed-footer a:hover{ color:var(--ed-yellow); }
.ed-footer .ed-foot-wordmark{ font-family:'Poppins',sans-serif; font-weight:700; font-size:20px; color:var(--ed-cream); margin-bottom:10px; }
.ed-footer .ed-foot-tagline{ color:var(--ed-yellow); font-size:13px; letter-spacing:1px; margin-bottom:20px; }
.ed-footer-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:28px; margin-top:30px; }
.ed-footer-grid h4{ font-size:12px; letter-spacing:1.5px; text-transform:uppercase; color:var(--ed-muted); margin-bottom:12px; }
.ed-footer-grid a{ display:block; font-size:14px; margin-bottom:8px; opacity:0.9; }
.ed-footer-bottom{ border-top:1px solid var(--ed-line-soft); margin-top:34px; padding-top:20px; font-size:12px; color:var(--ed-muted); display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; }

/* ---------- REVEAL (scroll-in) ---------- */
.reveal{ opacity:0; transform:translateY(24px); transition:opacity 0.7s ease, transform 0.7s ease; }
.reveal.in{ opacity:1; transform:translateY(0); }

@media (prefers-reduced-motion: reduce){
  .ed-ticker__track{ animation:none !important; }
}

@media (max-width:900px){
  .ed-nav{ padding:16px 20px; flex-wrap:wrap; gap:12px; }
  .ed-navlinks{ gap:16px; }
  .ed-h1{ font-size:44px !important; }
  .ed-sidebar{ display:none; }
}

/* ---------- FYC BAR (temporary: remove after Jan 7, 2027) ---------- */
.ed-fyc-bar{
  display:flex; align-items:center; justify-content:center; gap:14px; flex-wrap:wrap;
  padding:10px 20px; background:var(--ed-orange); color:var(--ed-ink); text-decoration:none;
  font-family:'Poppins',sans-serif; text-align:center; transition:background 0.25s ease;
}
.ed-fyc-bar:hover{ background:var(--ed-orange-dark); }
.ed-fyc-bar__eyebrow{ font-size:11px; font-weight:600; letter-spacing:2px; text-transform:uppercase; }
.ed-fyc-bar__text{ font-size:14px; font-weight:700; letter-spacing:0.5px; }
@media (max-width:600px){ .ed-fyc-bar{ gap:2px; flex-direction:column; padding:9px 16px; } }
