/* ── SITE HEADER ── */
.gs-site-header {
  position: sticky;
  top: 0;
  z-index: 200;
  background: #0b0c10;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  border-top: 3px solid #620000;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  will-change: auto;
}
.gs-site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding-inline: clamp(0.75rem, 3vw, 1.5rem);
  padding-block: 0.75rem;
  transition: padding-block 0.3s ease;
}
.gs-site-header__logo { text-decoration: none; flex-shrink: 0; }
.gs-site-header__logo img { height: 48px; width: auto; display: block; transition: height 0.3s ease; }
.gs-site-header__logo-text {
  font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif;
  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #f4f1ec;
}
.gs-nav { display: flex; align-items: center; gap: 0.25rem; list-style: none; margin: 0; padding: 0; }
.gs-nav li { margin: 0; padding: 0; }
.gs-nav a {
  font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #d0ccc7;
  text-decoration: none;
  padding: 0.4rem 0.75rem;
  border-radius: 4px;
  transition: color 0.18s, background 0.18s, letter-spacing 0.18s, transform 0.18s var(--ease);
  white-space: nowrap;
}
.gs-nav a:hover {
  color: #f4f1ec;
  background: rgba(255,255,255,0.1);
  letter-spacing: 0.16em;
  transform: translateY(-1px);
}
.gs-nav a.gs-nav--active,
.gs-nav a.gs-nav--active:hover {
  color: #f4f1ec;
  background: rgba(98,0,0,0.28);
}
/* ── Nav sub-menu (desktop hover dropdown) ─────────────────────────────────── */
.gs-nav li { position: relative; }
.gs-nav__sub {
  display: none;
  position: absolute;
  top: calc(100% + 2px);
  left: 0;
  min-width: 200px;
  list-style: none;
  margin: 0;
  padding: 0.3rem 0;
  background: #111318;
  border: 1px solid rgba(255,255,255,0.12);
  border-top: 2px solid #620000;
  border-radius: 0 0 6px 6px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.55);
  z-index: 300;
}
.gs-nav li:hover > .gs-nav__sub,
.gs-nav li:focus-within > .gs-nav__sub { display: block; }
.gs-nav__sub a {
  display: block;
  padding: 0.45rem 1rem;
  font-family: 'Barlow Condensed','Arial Narrow',sans-serif;
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #d0ccc7;
  text-decoration: none;
  white-space: nowrap;
  border-radius: 0;
  background: transparent;
  transition: color 0.15s, background 0.15s;
}
.gs-nav__sub a:hover { color: #f4f1ec; background: rgba(255,255,255,0.05); }
.gs-nav__sub-arrow { font-size: 0.65em; vertical-align: middle; opacity: 0.5; margin-left: 2px; }
/* ── Mobile drawer sub-menu (JS toggled) ────────────────────────────────────── */
.gs-nav-drawer .gs-nav__sub {
  display: none;
  position: static;
  min-width: 0;
  border: none;
  border-left: 2px solid #620000;
  border-radius: 0;
  box-shadow: none;
  background: rgba(0,0,0,0.18);
  padding: 0;
}
.gs-nav-drawer .gs-nav__sub.is-open { display: block; }
.gs-nav-drawer .gs-nav__sub a {
  padding-left: 1.75rem;
  font-size: 0.88rem;
  border-bottom: 1px solid rgba(255,255,255,0.04);
  border-radius: 0;
}
.gs-nav-drawer .gs-nav__sub a:last-child { border-bottom: none; }
.gs-nav .gs-nav__cta > a {
  background: #620000;
  color: #f4f1ec !important;
  transform: scale(1);
  transition: background 0.18s, transform 0.2s var(--ease), box-shadow 0.2s var(--ease);
  will-change: transform;
}
.gs-nav .gs-nav__cta > a:hover {
  background: #8b0000 !important;
  transform: scale(1.06) !important;
  box-shadow: 0 4px 14px rgba(98,0,0,0.5);
}
.gs-nav-toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 6px;
  flex-shrink: 0;
}
.gs-nav-toggle span {
  display: block;
  width: 24px;
  height: 2px;
  background: #f4f1ec;
  border-radius: 2px;
  transition: transform 0.2s, opacity 0.2s;
  transform-origin: center;
}
.gs-nav-drawer {
  display: none;
  flex-direction: column;
  background: #0b0c10;
  border-top: 1px solid rgba(255,255,255,0.08);
  list-style: none;
  margin: 0;
  padding: 0;
}
.gs-nav-drawer li { margin: 0; }
.gs-nav-drawer a {
  font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #d0ccc7;
  text-decoration: none;
  display: block;
  padding: 0.85rem 1rem;
  border-bottom: 1px solid rgba(255,255,255,0.05);
  transition: color 0.18s, background 0.18s;
}
.gs-nav-drawer a:hover { color: #f4f1ec; background: rgba(255,255,255,0.04); }
.gs-nav-drawer li:last-child a { border-bottom: none; }
.gs-site-header.is-open .gs-nav-toggle span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.gs-site-header.is-open .gs-nav-toggle span:nth-child(2) { opacity: 0; }
.gs-site-header.is-open .gs-nav-toggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.gs-site-header.is-open .gs-nav-drawer { display: flex; }
@media (max-width: 768px) {
  .gs-nav { display: none; }
  .gs-nav-toggle { display: flex; }
}
/* Dynamic collapse — mirrors mobile when nav overflows at any viewport width */
.gs-site-header.nav-collapsed .gs-nav { display: none; }
.gs-site-header.nav-collapsed .gs-nav-toggle { display: flex; }

/* ── HARD RESET — kills WordPress default styles ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { -webkit-font-smoothing: antialiased; }
body { background: #0b0c10; color: #f4f1ec; }
a { color: inherit; text-decoration: none; }
ul, ol { list-style: none; }
img { display: block; max-width: 100%; height: auto; }
/* Kill WP nav default styles */
.wp-block-navigation,
.wp-block-navigation__container,
.wp-block-navigation-item,
.wp-block-navigation-item__content { all: unset; }

:root {
  font-size: clamp(16px, 0.9vw, 20px);
  --black:        #0b0c10;
  --near-black:   #111318;
  --panel:        #16181f;
  --crimson:      #620000;
  --crimson-mid:  #8b0000;
  --crimson-lit:  #d4635a;
  --gold:          #c9a84c;
  --white:        #f4f1ec;
  --muted:        #d0ccc7;
  --border:       rgba(255,255,255,0.12);
  --border-red:   rgba(139,0,0,0.35);
  --radius-sm:    6px;
  --radius-md:    14px;
  --radius-lg:    24px;
  --font-display:   'Playfair Display', Georgia, serif;
  --font-condensed: 'Barlow Condensed', 'Arial Narrow', sans-serif;
  --font-body:      'Barlow', system-ui, sans-serif;
  --ease:   cubic-bezier(0.25, 0, 0.15, 1);
  --t-fast: 0.15s;
  --t-base: 0.22s;
  --t-slow: 0.35s;
  --logo-height: 100px;
}

.gs-wrap {
  font-family: var(--font-body);
  font-size: 1.05rem;
  line-height: 1.65;
  color: var(--white);
  background: var(--black);
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;
}
.gs-wrap *, .gs-wrap *::before, .gs-wrap *::after { box-sizing: border-box; margin: 0; padding: 0; }
.gs-wrap img { display: block; max-width: 100%; height: auto; }
.gs-wrap a   { color: inherit; text-decoration: none; }
.gs-wrap ul, .gs-wrap ol { list-style: none; }

.gs-container {
  width: 100%;
  max-width: none;
  margin-inline: auto;
  padding-inline: 1rem;
}
.gs-section { padding-block: clamp(2rem, 6vw, 5rem); }

/*
 * ── PROSE CONTENT SECTIONS ──
 * Applied to gs-section elements containing raw HTML prose (h1–h4, p, ul, ol).
 * Restores typography that gs-wrap's global reset removes.
 */
.gs-prose h1,
.gs-prose h2,
.gs-prose h3,
.gs-prose h4 {
  font-family: var(--font-condensed);
  font-weight: 700;
  line-height: 1.2;
  color: var(--white);
  margin-block: 1.75rem 0.75rem;
}
.gs-prose h1 { font-size: clamp(1.75rem, 4vw, 2.75rem); margin-top: 0; }
.gs-prose h2 {
  font-size: clamp(1.35rem, 3vw, 2rem);
  border-bottom: 1px solid var(--border);
  padding-bottom: 0.5rem;
}
/* Section titles inside prose blocks already have gs-rule above them —
   suppress the h2 underline so it doesn't render as an off-brand HR */
.gs-prose .gs-section__title { border-bottom: none; padding-bottom: 0; }
.gs-prose h3 {
  font-size: clamp(1.05rem, 2.5vw, 1.4rem);
  color: var(--crimson-lit);
}
.gs-prose p { margin-bottom: 1rem; }
.gs-prose p:last-child { margin-bottom: 0; }
.gs-prose ul,
.gs-prose ol {
  list-style: disc;
  padding-left: 1.5rem;
  margin-bottom: 1.25rem;
}
.gs-prose ol { list-style: decimal; }
.gs-prose li { margin-bottom: 0.5rem; }
.gs-prose a {
  color: var(--crimson-lit);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.gs-prose a:hover { color: var(--white); }

/* CTA button pair inside prose sections */
.gs-prose .wp-element-button,
.gs-prose .wp-block-button__link {
  display: inline-block;
  margin-top: 0.5rem;
  margin-right: 0.75rem;
}

/*
 * ── CONTENT COLUMN ──
 * Max-width prose container used inside gs-section elements.
 * Keeps body text readable and off the screen edges.
 */
.gs-content {
  max-width: 860px;
  margin-inline: auto;
  padding-inline: clamp(1.25rem, 5vw, 3rem);
}

/* Hero CTA button row */
.gs-hero-cta {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  margin-top: 1.5rem;
}

/*
 * ── IMAGE / VIDEO PLACEHOLDERS ──
 * Styled placeholder figures for images and embeds not yet sourced.
 * Replace with real <img> or <iframe> when assets are ready.
 */
.gs-placeholder {
  width: 100%;
  aspect-ratio: 16 / 9;
  background: var(--panel);
  border: 1px dashed var(--border);
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-block: 2rem;
  position: relative;
  overflow: hidden;
}
.gs-placeholder::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,0.02) 0%, transparent 100%);
}
.gs-placeholder figcaption {
  position: relative;
  z-index: 1;
  text-align: center;
  padding: 1.5rem;
  color: var(--muted);
  font-size: 0.82rem;
  font-family: var(--font-condensed);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  line-height: 1.6;
}
.gs-placeholder--wide { aspect-ratio: 21 / 9; }
.gs-placeholder--square { aspect-ratio: 1; max-width: 480px; margin-inline: auto; }
.gs-placeholder--video figcaption::before {
  content: '▶';
  display: block;
  font-size: 2.5rem;
  color: var(--crimson);
  margin-bottom: 0.5rem;
  letter-spacing: 0;
}

/*
 * ── CONSIGNMENT FORM ──
 * Used by [gs_consignment_form] shortcode. Dark-themed, matches site palette.
 */
.gs-form {
  max-width: 640px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.gs-form__row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1rem;
}
.gs-form__field {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}
.gs-form label {
  font-family: var(--font-condensed);
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--muted);
}
.gs-form input,
.gs-form select,
.gs-form textarea {
  background: var(--panel);
  /* border: #4a4d57 gives ~3.2:1 on --panel — meets WCAG 1.4.11 non-text contrast */
  border: 1px solid #4a4d57;
  border-radius: var(--radius-sm);
  color: var(--white);
  padding: 0.625rem 0.875rem;
  font-family: var(--font-body);
  font-size: 0.95rem;
  width: 100%;
  transition: border-color 0.15s, outline-color 0.15s;
}
.gs-form select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23888' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.875rem center;
  padding-right: 2.25rem;
}
.gs-form input:focus,
.gs-form select:focus,
.gs-form textarea:focus {
  /* --crimson-lit #d4635a: ~5.4:1 on --panel — meets WCAG 2.4.11 focus appearance */
  outline: 2px solid var(--crimson-lit);
  outline-offset: 2px;
  border-color: var(--crimson-lit);
}
.gs-form textarea { min-height: 7rem; resize: vertical; }
.gs-form__radios {
  display: flex;
  gap: 1.25rem;
  flex-wrap: wrap;
  padding-top: 0.25rem;
}
.gs-form__radio {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
}
.gs-form__radio input[type="radio"] {
  width: auto;
  accent-color: var(--crimson);
}
.gs-form__radio span {
  font-family: var(--font-condensed);
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--white);
}
.gs-form__honeypot { display: none !important; visibility: hidden; }
.gs-form__submit { align-self: flex-start; }
.gs-form__notice {
  padding: 1rem 1.25rem;
  border-radius: var(--radius-sm);
  margin-bottom: 1.5rem;
  font-size: 0.95rem;
  line-height: 1.6;
}
.gs-form__notice--success {
  background: rgba(40, 167, 69, 0.12);
  border-left: 3px solid #28a745;
  color: var(--white);
}
.gs-form__notice--error {
  background: rgba(176, 35, 24, 0.12);
  border-left: 3px solid var(--crimson);
  color: var(--white);
}

/*
 * ── PULL QUOTES ──
 * Attributed quotes from Jeff Taverner, sourced from radio show / video clips.
 */
.gs-pullquote {
  border-left: 4px solid var(--crimson);
  padding: 1.5rem 1.5rem 1.5rem 2rem;
  margin-block: 2.5rem;
  background: var(--near-black);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  position: relative;
}
.gs-pullquote::before {
  content: '\201C';
  position: absolute;
  top: 0.25rem;
  left: 0.75rem;
  font-size: 3rem;
  color: var(--crimson);
  line-height: 1;
  font-family: Georgia, serif;
  opacity: 0.5;
}
.gs-pullquote p {
  font-size: 1.1rem;
  line-height: 1.75;
  color: var(--white);
  font-style: italic;
  margin: 0 0 0.875rem;
}
.gs-pullquote p:last-of-type { margin-bottom: 0.75rem; }
.gs-pullquote cite {
  display: block;
  font-family: var(--font-condensed);
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--crimson-lit);
  font-style: normal;
}

/*
 * ── VIDEO EMBED ──
 * Responsive 16:9 iframe wrapper for YouTube embeds.
 */
.gs-video {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  border-radius: var(--radius-sm);
  margin-block: 2rem;
  background: var(--near-black);
}
.gs-video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* .gs-trust-bar — removed. Authority signals are now GS-CMS masonry cards. */

/*
 * ── DECORATIVE RULE ──
 * Lines are now a crimson glow; the label text is warm white (muted)
 */
.gs-rule {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-block: 0.5rem 2rem;
  /* Full-bleed: escape any width-constrained parent container */
  width: 100vw;
  margin-left: calc(50% - 50vw);
}
.gs-rule::before, .gs-rule::after {
  content: '';
  flex: 1;
  height: 1px;
  background: linear-gradient(to right, transparent, var(--crimson-mid), transparent);
}
.gs-rule span {
  font-family: var(--font-condensed);
  font-size: 0.75rem;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--muted);
  white-space: nowrap;
}

/* ── HERO ── */
.gs-hero {
  position: relative;
  overflow: hidden;
  background: var(--near-black);
  border-bottom: 1px solid var(--border);
  border-top: 3px solid var(--crimson);
}
.gs-hero__bg {
  position: absolute;
  inset: 0;
  background-image: url('https://gunslingerauctions.com/wp-content/uploads/2025/08/radiomic.jpeg');
  background-size: cover;
  background-position: center 30%;
  opacity: 0.18;
  filter: grayscale(40%);
}
.gs-hero__content {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr));
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: start;
  padding-block: clamp(2.5rem, 7vw, 6rem);
  padding-inline: clamp(1.25rem, 5vw, 3rem);
  max-width: 1200px;
  margin-inline: auto;
}

.gs-hero__eyebrow {
  font-family: var(--font-condensed);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 0.75rem;
}
.gs-hero__title {
  font-family: var(--font-display);
  font-size: clamp(1.7rem, 5vw, 3.8rem);
  font-weight: 900;
  line-height: 1.05;
  color: var(--white);
  margin-bottom: 1rem;
}
.gs-hero__tagline {
  font-family: var(--font-condensed);
  font-size: clamp(0.95rem, 2.5vw, 1.8rem);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--white);
  margin-bottom: 1.25rem;
}
.gs-hero__desc {
  font-size: 1.35rem;
  color: var(--muted);
  max-width: 52ch;
  line-height: 1.75;
  margin-bottom: 1rem;
}
/*
 * White on #620000 = ~5.9:1 — passes WCAG AA.
 */
.gs-callin {
  background: var(--crimson);
  border-radius: var(--radius-lg);
  border: 1px solid rgba(139,0,0,0.6);
  padding: 1.5rem 2rem;
  margin-top: 1.25rem;
  box-shadow: 0 8px 32px rgba(98,0,0,0.4);
}
.gs-callin__label {
  font-family: var(--font-condensed);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.75);
  margin-bottom: 0.35rem;
}
.gs-callin__number {
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 5vw, 2.8rem);
  font-weight: 900;
  color: var(--white);
  line-height: 1;
  margin-bottom: 0.6rem;
}
.gs-callin__number a { color: inherit; text-decoration: none; }
.gs-callin__copy { font-size: 0.95rem; color: rgba(255,255,255,0.88); line-height: 1.6; }
.gs-hero__photo-wrap { position: relative; }
.gs-hero__photo {
  width: 100%;
  max-width: min(420px, 100%);
  border-radius: var(--radius-lg);
  border: 1px solid var(--border);
  object-fit: cover;
  object-position: 50% 33%;
  aspect-ratio: 4/3;
  margin-inline: auto;
  box-shadow: 0 24px 80px rgba(0,0,0,0.7);
  display: block;
}
.gs-hero__badge {
  position: absolute;
  bottom: -1rem;
  right: -1rem;
  background: var(--white);
  color: var(--black);
  font-family: var(--font-condensed);
  font-weight: 700;
  font-size: 0.9rem;
  letter-spacing: 0.08em;
  padding: 0.4rem 0.9rem;
  border-radius: var(--radius-sm);
  white-space: nowrap;
}

/* ── BROADCAST SCHEDULE ── */
.gs-broadcast { background: var(--panel); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.gs-broadcast__label {
  font-family: var(--font-condensed);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--muted);
  text-align: center;
  margin-bottom: 1.5rem;
}
.gs-broadcast__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr));
  gap: 1px;
  background: var(--border);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  overflow: hidden;
  max-width: calc(320px * 3 + 2px + clamp(3rem, 6vw, 6rem));
  margin-inline: auto;
}

.gs-station {
  background: var(--near-black);
  padding: 1.25rem 1.4rem;
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  transition: background 0.2s;
}
.gs-station:hover { background: #1a1d26; }
.gs-station__logo-wrap {
  width: 100%;
  height: var(--logo-height);
  background: #ffffff;
  border-radius: 4px;
  margin-bottom: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
  box-sizing: border-box;
}
.gs-station__logo {
  max-height: 100%;
  width: auto;
  display: block;
}
/*
 * The callsign is structured data, not a CTA; white reads more authoritatively.
 */
.gs-station__call {
  font-family: var(--font-condensed);
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--white);
  letter-spacing: 0.05em;
}
.gs-station__market {
  font-family: var(--font-condensed);
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--white);
}
.gs-station__time { font-size: 0.85rem; color: var(--muted); }
.gs-station__link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-top: 0.5rem;
  font-family: var(--font-condensed);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--muted);
  text-decoration: none;
  transition: color 0.2s;
}
/* Station "Visit" link hover: white — clean, not yellow */
.gs-station__link:hover { color: var(--white); }
.gs-station__link svg { width: 12px; height: 12px; fill: currentColor; }
/*
 * CTA station cards: brand-crimson left border stays as primary brand signal.
 * The left border is now wider (4px) and paired with a subtle red ambient glow.
 */
.gs-station--cta {
  background: #0e1016;
  justify-content: center;
  align-items: flex-start;
  gap: 0.5rem;
  border-left: 4px solid var(--crimson);
  box-shadow: inset 4px 0 16px rgba(98,0,0,0.15);
}
.gs-station--cta:hover { background: #12151d; }
/*
 * CTA label: --crimson-lit (#d4635a) is a lighter warm-crimson tint.
 * Contrast ratio on #0e1016 ≈ 5.1:1 — passes WCAG AA.
 * or the unreadable deep #620000 directly on dark.
 */
.gs-station--cta .gs-station__cta-label {
  font-family: var(--font-condensed);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--crimson-lit);
}
.gs-station--cta .gs-station__cta-title {
  font-family: var(--font-display);
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--white);
  line-height: 1.2;
  margin-bottom: 0.35rem;
}
.gs-station--cta .gs-station__cta-desc {
  font-size: 0.85rem;
  color: var(--muted);
  line-height: 1.5;
  margin-bottom: 0.75rem;
}
/* CTA button: white on near-black — no yellow anywhere near the red */
.gs-station--cta .gs-station__cta-link {
  display: inline-block;
  background: var(--white);
  color: var(--black);
  font-family: var(--font-condensed);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 0.4rem 0.9rem;
  border-radius: var(--radius-sm);
  text-decoration: none;
  transition: background 0.2s, color 0.2s;
}
.gs-station--cta .gs-station__cta-link:hover { background: #e0ddd8; }
.gs-station:not(.gs-station--cta) { align-items: flex-start; }

.gs-station:not(.gs-station--cta) .gs-station__cta-link {
  display: inline-block;
  background: var(--crimson);
  color: #f4f1ec;
  font-family: var(--font-condensed);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 0.55rem 1.25rem;
  border-radius: var(--radius-sm);
  border: 2px solid var(--crimson-mid);
  text-decoration: none;
  transition: background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease), transform var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);
  margin-top: 0.5rem;
}
.gs-station:not(.gs-station--cta) .gs-station__cta-link:hover {
  background: var(--crimson-mid);
  border-color: var(--crimson-lit);
  color: #f4f1ec;
}

/* ── HOSTS ── */
.gs-section__title {
  font-family: var(--font-display);
  font-size: clamp(1.3rem, 3vw, 2.5rem);
  font-weight: 700;
  text-align: center;
  margin-bottom: 0.5rem;
  color: var(--white);
}
.gs-hosts__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, clamp(320px, 28vw, 440px)), 1fr));
  gap: clamp(1rem, 2.5vw, 1.5rem);
  align-items: start;
  margin-top: 2.5rem;
  max-width: calc(clamp(320px, 28vw, 440px) * 3 + clamp(2rem, 5vw, 5rem));
  margin-inline: auto;
}
.gs-host-card {
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  overflow: hidden;
  transition: border-color 0.2s, box-shadow 0.2s;
  display: flex;
  flex-direction: column;
}
/*
 * Cards are structural containers — crimson is the brand wrapper;
 */
.gs-host-card:hover { border-color: var(--crimson-mid); box-shadow: 0 0 0 1px var(--crimson-mid), 0 4px 24px rgba(98,0,0,0.2); }
/*
 * Photo border: crimson stripe at bottom of image.
 * White on card body below, so the transition reads as a brand divider,
 */
.gs-host-card__photo {
  width: 100%;
  aspect-ratio: 4/3;
  max-height: 280px;
  object-fit: cover;
  object-position: center top;
  display: block;
  border-bottom: 3px solid var(--crimson);
}
.gs-host-card__body { padding: 1.25rem 1.5rem 1.5rem; flex: 1; }
.gs-host-card__name {
  font-family: var(--font-condensed);
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--white);
  letter-spacing: 0.04em;
  margin-bottom: 0.2rem;
}
/*
 * Host role label: --crimson-lit (#d4635a).
 * This is a lighter warm-crimson that reads at ~4.6:1 contrast on --panel.
 * Passes WCAG AA. Makes crimson present in every card body
 * without putting unreadable #620000 on dark.
 */
.gs-host-card__role {
  font-family: var(--font-condensed);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--crimson-lit);
  margin-bottom: 0.75rem;
}
.gs-host-card__bio { font-size: 0.95rem; color: var(--muted); line-height: 1.7; margin-bottom: 1rem; }
.gs-host-card__links {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.4rem;
  margin-top: 0.5rem;
}
.gs-host-card__fb {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  background: var(--crimson);
  color: #f4f1ec;
  font-family: var(--font-condensed);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 0.55rem 1.25rem;
  border-radius: var(--radius-sm);
  border: 2px solid var(--crimson-mid);
  text-decoration: none;
  transition: background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease), transform var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);
}
.gs-host-card__fb:hover {
  background: var(--crimson-mid);
  border-color: var(--crimson-lit);
  color: #f4f1ec;
  transform: scale(1.04);
  box-shadow: 0 4px 14px rgba(98,0,0,0.35);
}
.gs-host-card__fb svg { width: 14px; height: 14px; fill: currentColor; }

/* ── HOST GRID MODIFIERS ── */
/* Solo: constrain a single-host row to one card width */
.gs-hosts__grid--solo {
  max-width: clamp(320px, 28vw, 440px);
}
/* Group rule: extra top spacing when a gs-rule follows a host grid */
.gs-hosts__group-rule {
  margin-top: 2.5rem;
}

/* ── EPISODE CAST (blog post [gs_cast] shortcode) ── */
.gs-episode-cast {
  margin: 0 0 2rem;
  padding: 1rem 1.25rem 1.25rem;
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  border-left: 3px solid var(--crimson);
}
.gs-episode-cast__label {
  font-family: var(--font-condensed);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--crimson-lit);
  margin-bottom: 0.85rem;
}
.gs-episode-cast__people {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.75rem;
  align-items: flex-start;
}
.gs-cast-chip {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.35rem;
  text-align: center;
  min-width: 72px;
  max-width: 100px;
}
.gs-cast-chip__photo {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  object-fit: cover;
  object-position: center top;
  border: 2px solid var(--crimson);
  display: block;
  flex-shrink: 0;
}
.gs-cast-chip__photo--placeholder {
  display: block;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--surface);
  border: 2px solid var(--border);
  flex-shrink: 0;
}
.gs-cast-chip__name {
  font-family: var(--font-condensed);
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--white);
  letter-spacing: 0.04em;
  line-height: 1.2;
}
.gs-cast-chip__role {
  font-family: var(--font-condensed);
  font-size: 0.68rem;
  color: var(--crimson-lit);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  line-height: 1.2;
}

/* ── PLAYER ── */
.gs-player-section {
  position: relative;
  overflow: hidden;
  background: var(--black);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}
.gs-player-section__bg {
  position: absolute;
  inset: 0;
  background-image: url('https://gunslingerauctions.com/wp-content/uploads/2026/03/GunslingerRadioHosts_CAS.webp');
  background-size: cover;
  background-position: center 20%;
  opacity: 0.12;
  filter: grayscale(30%);
}
.gs-player-inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr));
  gap: clamp(1.5rem, 3vw, 3rem);
  align-items: stretch;
}

.gs-player-studio {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.gs-player-studio__img {
  width: 100%;
  flex: 1;
  min-height: 0;
  border-radius: var(--radius-md);
  border: 1px solid var(--border);
  border-left: 3px solid var(--crimson);
  object-fit: cover;
  object-position: center top;
  box-shadow: 0 12px 40px rgba(0,0,0,0.6);
  display: block;
}
.gs-player-studio__caption {
  font-family: var(--font-condensed);
  font-size: 0.8rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
  text-align: center;
  flex-shrink: 0;
}
.gs-player-wrap {
  border-radius: var(--radius-md);
  overflow: hidden;
  border: 1px solid var(--border);
  border-left: 3px solid var(--crimson);
  display: flex;
  flex-direction: column;
}
.gs-player-wrap iframe {
  display: block;
  width: 100%;
  flex: 1;
  min-height: 450px;
  border: none;
}

.gs-stream__intro {
  text-align: center;
  color: var(--muted);
  font-size: 1.05rem;
  max-width: 70ch;
  width: 100%;
  margin-inline: auto;
  margin-bottom: 2.5rem;
}
.gs-stream__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr));
  gap: 0.75rem;
  max-width: calc(220px * 4 + 0.75rem * 3 + clamp(2rem, 4vw, 4rem));
  margin-inline: auto;
}
.gs-platform-link span:last-child {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
}

.gs-platform-link {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
  overflow: hidden;
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: 0.9rem 1.1rem;
  font-family: var(--font-condensed);
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--white);
  text-decoration: none;
  transition: background 0.2s, border-color 0.2s, transform 0.15s;
}
/*
 */
.gs-platform-link:hover { 
	background: #1e2029; 
	border-color: rgba(255,255,255,0.3); 
	transform: translateY(-2px); 
	border-left: 3px solid var(--white);
	}
.gs-platform-link:focus-visible { outline: 2px solid var(--white); outline-offset: 3px; }
.gs-platform-link__icon {
  width: 34px;
  height: 34px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
}
.gs-platform-link__icon svg { width: 18px; height: 18px; fill: #fff; }
.gs-platform-link--youtube   .gs-platform-link__icon { background: #c4302b; }
.gs-platform-link--facebook  .gs-platform-link__icon { background: #1877f2; }
.gs-platform-link--instagram .gs-platform-link__icon { background: #c13584; }
.gs-platform-link--twitter   .gs-platform-link__icon { background: #000; border: 1px solid #333; }
.gs-platform-link--spotify   .gs-platform-link__icon { background: #1db954; }
.gs-platform-link--rumble    .gs-platform-link__icon { background: #89c948; }
.gs-platform-link--rumble    .gs-platform-link__icon svg { fill: #1a1a1a; }
.gs-platform-link--odysee    .gs-platform-link__icon { background: #ff6e00; }
.gs-platform-link--odysee    .gs-platform-link__icon svg { fill: #1a1a1a; }
.gs-platform-link--gunslinger .gs-platform-link__icon { background: var(--crimson); }
.gs-platform-link--gunslinger .gs-platform-link__icon svg { fill: none; stroke: var(--white); stroke-width: 2; width: 16px; height: 16px; }
.gs-platform-link--omny .gs-platform-link__icon { background: #6a3cce; }
.gs-platform-link--omny .gs-platform-link__icon svg { fill: var(--white); }

/* ── FAQ ── */
/*
 * FAQ section: crimson top-border signals the brand entering the section.
 * The Q-badge is now crimson bg / white text — ~5.9:1 contrast, passes AA.
 * This shifts the crimson from being invisible (dark on dark) to a
 * contained, readable badge element.
 */
.gs-faq { background: var(--near-black); border-top: 3px solid var(--crimson); }
.gs-faq__list { max-width: 860px; margin-inline: auto; padding-inline: clamp(1rem, 3vw, 2rem); }
.gs-faq__item { border-bottom: 1px solid var(--border); padding-block: 1.5rem; }
.gs-faq__item:last-child { border-bottom: none; }
.gs-faq__q {
  font-family: var(--font-condensed);
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--white);
  letter-spacing: 0.02em;
  margin-bottom: 0.6rem;
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}
.gs-faq__q::before {
  content: 'Q';
  font-family: var(--font-condensed);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  color: var(--white);
  background: var(--crimson);
  border: 1px solid var(--crimson-mid);
  border-radius: 4px;
  padding: 0.15rem 0.4rem;
  margin-top: 0.2rem;
  flex-shrink: 0;
}
.gs-faq__a { font-size: 1rem; color: var(--muted); line-height: 1.75; padding-left: 2.1rem; }
.gs-faq__a a { color: var(--crimson-lit); text-decoration: underline; text-underline-offset: 3px; }

/* ── HOW-TO STEPS ──────────────────────────────────────────────────────────── */
.gs-howto { background: var(--near-black); border-top: 3px solid var(--crimson); }
.gs-howto__list {
  max-width: 860px;
  margin-inline: auto;
  padding-inline: clamp(1rem, 3vw, 2rem);
  list-style: none;
  padding-left: 0;
}
.gs-howto__step {
  display: flex;
  gap: 1.25rem;
  align-items: flex-start;
  border-bottom: 1px solid var(--border);
  padding-block: 1.5rem;
}
.gs-howto__step:last-child { border-bottom: none; }
.gs-howto__step-num {
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  background: var(--crimson);
  border: 1px solid var(--crimson-mid);
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-condensed);
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--white);
  letter-spacing: 0.05em;
  margin-top: 0.15rem;
}
.gs-howto__step-name {
  font-family: var(--font-condensed);
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--white);
  letter-spacing: 0.02em;
  margin-bottom: 0.4rem;
}
.gs-howto__step-text { font-size: 1rem; color: var(--muted); line-height: 1.75; margin: 0; }
@media (hover: hover) {
  .gs-howto__step {
    transition: border-color var(--t-base) var(--ease), padding-left var(--t-base) var(--ease), background var(--t-base) var(--ease);
    border-radius: var(--radius-sm);
  }
  .gs-howto__step:hover {
    border-color: rgba(139,0,0,0.45);
    padding-left: 0.75rem;
    background: rgba(98,0,0,0.04);
  }
}

/* ── PROMO IMAGE ── */
.gs-promo { text-align: center; }
.gs-promo img {
  border-radius: var(--radius-md);
  border: 1px solid var(--border);
  width: 100%;
  max-width: 860px;
  height: auto;
  margin-inline: auto;
  box-shadow: 0 12px 48px rgba(0,0,0,0.5);
}

/* ── STACKABLE POSTS BLOCK overrides ── */
.stk-4fb8bbb {
  background: #0b0c10 !important;
  max-width: none !important;
  margin-inline: auto !important;
  padding: clamp(1.5rem, 4vw, 3rem) clamp(1rem, 5vw, 3rem) !important;
  border: none !important;
}
.stk-4fb8bbb .stk-block-posts__items {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 1.5rem !important;
}

.stk-4fb8bbb .stk-block-posts__item {
  background: #16181f !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
  position: relative !important;
}
/*
 * Post card top border: crimson gradient — brand color, not decorative.
 */
.stk-4fb8bbb .stk-block-posts__item::before {
  content: '' !important;
  position: absolute !important;
  top: 0; left: 0; right: 0 !important;
  height: 3px !important;
  background: linear-gradient(90deg, #620000, #8b0000) !important;
}
.stk-4fb8bbb .stk-block-posts__item:hover { border-color: rgba(139,0,0,0.55) !important; box-shadow: 0 0 0 1px rgba(139,0,0,0.4), 0 4px 20px rgba(98,0,0,0.15) !important; }
.stk-4fb8bbb .stk-container { padding: 1.5rem !important; }
.stk-4fb8bbb .stk-block-posts__title a {
  font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif !important;
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  color: #f4f1ec !important;
  line-height: 1.3 !important;
  letter-spacing: 0.02em !important;
  text-decoration: none !important;
  display: block !important;
  margin-bottom: 1rem !important;
}
.stk-4fb8bbb .stk-block-posts__title a:hover { color: #f4f1ec !important; }
.stk-4fb8bbb .stk-block-posts__readmore {
  display: inline-block !important;
  font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif !important;
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  color: #d4635a !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(192,82,74,0.4) !important;
  padding-bottom: 2px !important;
  transition: border-color 0.2s !important;
}
.stk-4fb8bbb .stk-block-posts__readmore:hover { border-color: #d4635a !important; }

/* ══════════════════════════════════════════════════════════════
   HOVER SYSTEM
   Three motion types across all interactive elements:
     LIFT   — translateY + shadow bloom     (cards, images)
     SLIDE  — color / spacing transition    (links, labels)
     POP    — scale + shadow               (buttons, badges)
   Shared easing: cubic-bezier(0.25, 0, 0.15, 1) — snappy in, smooth out.
   ══════════════════════════════════════════════════════════════ */

/* ── STATION CARDS — LIFT ── */
.gs-station {
  transition:
    background var(--t-base) var(--ease),
    transform  var(--t-base) var(--ease),
    box-shadow var(--t-base) var(--ease);
}
.gs-station:hover {
  background: #1a1d26;
  transform: translateY(-3px);
  box-shadow: 0 8px 28px rgba(0,0,0,0.45);
}
.gs-station--cta:hover {
  background: #12151d;
  transform: translateY(-3px);
  box-shadow: 0 8px 28px rgba(98,0,0,0.25), 0 0 0 1px rgba(139,0,0,0.3);
}

/* ── STATION VISIT LINKS — SLIDE ── */
.gs-station__link {
  transition: color var(--t-fast) var(--ease), letter-spacing var(--t-base) var(--ease);
}
.gs-station__link:hover {
  color: var(--white);
  letter-spacing: 0.16em;
}

/* ── CTA BUTTONS — POP ── */
/* Shared transition for all station CTA-style buttons */
.gs-station--cta .gs-station__cta-link,
.gs-station:not(.gs-station--cta) .gs-station__cta-link {
  transition:
    background var(--t-fast) var(--ease),
    border-color var(--t-fast) var(--ease),
    color      var(--t-fast) var(--ease),
    transform  var(--t-fast) var(--ease),
    box-shadow var(--t-fast) var(--ease);
}
/* CTA station white button: hover to cream */
.gs-station--cta .gs-station__cta-link:hover {
  background: #e0ddd8;
  transform: scale(1.04);
  box-shadow: 0 4px 14px rgba(0,0,0,0.35);
}
/* Non-CTA station crimson button: hover to crimson-mid + red shadow */
.gs-station:not(.gs-station--cta) .gs-station__cta-link:hover {
  background: var(--crimson-mid);
  border-color: var(--crimson-lit);
  color: #f4f1ec;
  transform: scale(1.04);
  box-shadow: 0 4px 14px rgba(98,0,0,0.35);
}

/* ── HOST CARDS — LIFT + CRIMSON BLOOM ── */
.gs-host-card {
  transition:
    border-color var(--t-base) var(--ease),
    box-shadow   var(--t-base) var(--ease),
    transform    var(--t-base) var(--ease);
}
.gs-host-card:hover {
  border-color: var(--crimson-mid);
  box-shadow: 0 0 0 1px var(--crimson-mid), 0 12px 40px rgba(98,0,0,0.22);
  transform: translateY(-4px);
}

/* ── HOST / GUEST CARD LINKS — POP (button style, matching gs-btn) ── */
.gs-host-card__fb {
  transition: background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease), transform var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);
}

/* ── PLATFORM / SOCIAL LINKS — LIFT (enrich existing translateY) ── */
.gs-platform-link {
  transition:
    background   var(--t-base) var(--ease),
    border-color var(--t-base) var(--ease),
    transform    var(--t-fast) var(--ease),
    box-shadow   var(--t-base) var(--ease);
}
.gs-platform-link:hover {
  background: #1e2029;
  border-color: rgba(255,255,255,0.25);
  border-left: 3px solid var(--white);
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.4);
}

/* ── PLATFORM ICON — POP on parent hover ── */
.gs-platform-link__icon {
  transition: transform var(--t-fast) var(--ease);
}
.gs-platform-link:hover .gs-platform-link__icon {
  transform: scale(1.12);
}

/* ── FAQ ITEMS — indent + border illuminate ── */
.gs-faq__item {
  transition:
    border-color var(--t-base) var(--ease),
    padding-left var(--t-base) var(--ease),
    background   var(--t-base) var(--ease);
  border-radius: var(--radius-sm);
}
@media (hover: hover) {
  .gs-faq__item:hover {
    border-color: rgba(139,0,0,0.45);
    padding-left: 0.75rem;
    background: rgba(98,0,0,0.04);
  }
}
.gs-faq__q::before {
  transition: background var(--t-base) var(--ease), transform var(--t-base) var(--ease);
}
.gs-faq__item:hover .gs-faq__q::before {
  background: var(--crimson-mid);
  transform: scale(1.1);
}

/* ── FAQ INLINE LINKS — SLIDE ── */
.gs-faq__a a {
  transition: color var(--t-fast) var(--ease), text-underline-offset var(--t-base) var(--ease);
}
.gs-faq__a a:hover {
  color: var(--white);
  text-underline-offset: 5px;
}

/* ── PROMO IMAGE — LIFT ── */
.gs-promo img {
  transition:
    transform  var(--t-slow) var(--ease),
    box-shadow var(--t-slow) var(--ease);
}
.gs-promo img:hover {
  transform: translateY(-4px) scale(1.01);
  box-shadow: 0 24px 64px rgba(0,0,0,0.65);
}

/* ── BLOG TITLE LINK — SLIDE underline ── */
.gs-section__title a {
  transition: color var(--t-base) var(--ease), border-color var(--t-base) var(--ease);
}
.gs-section__title a:hover {
  color: var(--crimson-lit) !important;
  border-color: var(--crimson-lit) !important;
}

/* ── BLOG POST CARDS (Stackable) — LIFT ── */
.stk-4fb8bbb .stk-block-posts__item {
  transition:
    border-color var(--t-base) var(--ease),
    box-shadow   var(--t-base) var(--ease),
    transform    var(--t-base) var(--ease) !important;
}
.stk-4fb8bbb .stk-block-posts__item:hover {
  border-color: rgba(139,0,0,0.55) !important;
  box-shadow: 0 0 0 1px rgba(139,0,0,0.4), 0 12px 32px rgba(98,0,0,0.18) !important;
  transform: translateY(-4px) !important;
}

/* ── BLOG POST READMORE — SLIDE ── */
.stk-4fb8bbb .stk-block-posts__readmore {
  transition:
    color          var(--t-fast) var(--ease) !important,
    border-color   var(--t-fast) var(--ease) !important,
    letter-spacing var(--t-base) var(--ease) !important;
}
.stk-4fb8bbb .stk-block-posts__readmore:hover {
  color: var(--white) !important;
  border-color: rgba(255,255,255,0.4) !important;
  letter-spacing: 0.2em !important;
}

/* ── HERO BADGE — POP ── */
.gs-hero__badge {
  transition: transform var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);
}
.gs-hero__badge:hover {
  transform: scale(1.06);
  box-shadow: 0 4px 16px rgba(0,0,0,0.4);
}

/* ── PLAYER STUDIO IMAGE — LIFT ── */
.gs-player-studio__img {
  transition:
    transform  var(--t-slow) var(--ease),
    box-shadow var(--t-slow) var(--ease);
}
.gs-player-studio__img:hover {
  transform: translateY(-3px);
  box-shadow: 0 20px 56px rgba(0,0,0,0.65);
}

/* ── SECTION RULE LABELS — SLIDE ── */
.gs-rule span {
  transition: color var(--t-base) var(--ease), letter-spacing var(--t-slow) var(--ease);
}
.gs-rule:hover span {
  color: var(--crimson-lit);
  letter-spacing: 0.32em;
}

/* ── RULE LINES — bloom outward on section hover ── */
.gs-rule::before,
.gs-rule::after {
  transition: opacity var(--t-base) var(--ease), transform var(--t-slow) var(--ease);
}
.gs-rule:hover::before,
.gs-rule:hover::after {
  opacity: 0.7;
  transform: scaleX(1.04);
}

/* ── CALLIN PHONE LINK — lift + crimson glow ── */
.gs-callin__number a {
  display: inline-block;
  transition: transform var(--t-fast) var(--ease), text-shadow var(--t-fast) var(--ease);
}
.gs-callin__number a:hover {
  transform: translateY(-2px);
  text-shadow: 0 4px 20px rgba(255,255,255,0.25);
}

/* ── HERO PHOTO — subtle lift ── */
.gs-hero__photo {
  transition: transform var(--t-slow) var(--ease), box-shadow var(--t-slow) var(--ease);
}
.gs-hero__photo:hover {
  transform: translateY(-4px) scale(1.01);
  box-shadow: 0 32px 80px rgba(0,0,0,0.75);
}

/* ── STATION LOGOS — brighten on card hover ── */
.gs-station__logo-wrap {
  transition: filter var(--t-base) var(--ease), transform var(--t-base) var(--ease);
}
.gs-station:hover .gs-station__logo-wrap {
  filter: brightness(1.06);
  transform: scale(1.02);
}

/* ── HOST CARD NAME — slide right on card hover ── */
.gs-host-card__name {
  transition: letter-spacing var(--t-base) var(--ease), color var(--t-base) var(--ease);
}
.gs-host-card:hover .gs-host-card__name {
  letter-spacing: 0.07em;
}

/* ── HOST CARD PHOTO — subtle zoom on card hover ── */
.gs-host-card__photo {
  transition: transform var(--t-slow) var(--ease);
}
.gs-host-card:hover .gs-host-card__photo {
  transform: scale(1.02);
}

/* ── HOST CARD ROLE LABEL — brighten on card hover ── */
.gs-host-card__role {
  transition: color var(--t-base) var(--ease), letter-spacing var(--t-base) var(--ease);
}
.gs-host-card:hover .gs-host-card__role {
  color: var(--white);
  letter-spacing: 0.25em;
}

/* ── FAQ Q-BADGE — already handles scale, add color shift ── */
.gs-faq__item:hover .gs-faq__q {
  color: var(--white);
}

/* ── BROADCAST GRID BORDER — illuminate on section hover ── */
.gs-broadcast__grid {
  transition: border-color var(--t-slow) var(--ease), box-shadow var(--t-slow) var(--ease);
}
.gs-broadcast:hover .gs-broadcast__grid {
  border-color: rgba(139,0,0,0.3);
  box-shadow: 0 0 0 1px rgba(139,0,0,0.15);
}

/* ── SECTION HEADINGS — subtle bloom on section hover ── */
.gs-section__title {
  transition: letter-spacing var(--t-slow) var(--ease);
}
.gs-section:hover .gs-section__title {
  letter-spacing: 0.01em;
}

/* Host card CTA — photo placeholder */
.gs-host-card--cta { border-left: 3px solid var(--crimson); }
.gs-host-card__photo--placeholder {
  width: 100%;
  aspect-ratio: 4/3;
  max-height: 280px;
  display: block;
  border-bottom: 3px solid var(--crimson);
  overflow: hidden;
}

/* ── WHAT WE COVER ── */
.gs-pillars {
  background: var(--black);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}
.gs-pillars__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr));
  gap: clamp(1rem, 2.5vw, 2rem);
  align-items: start;
  margin-top: 2.5rem;
  max-width: calc(380px * 3 + clamp(2rem, 5vw, 5rem));
  margin-inline: auto;
}
.gs-pillars__grid--wide {
  max-width: none;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 570px), 1fr));
}
.gs-pillar {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  padding: 1.5rem;
  background: var(--panel);
  border: 1px solid var(--border);
  border-top: 3px solid var(--crimson);
  border-radius: var(--radius-md);
  transition: border-color var(--t-base) var(--ease), box-shadow var(--t-base) var(--ease), transform var(--t-base) var(--ease);
}
.gs-pillar:hover {
  border-color: var(--crimson-mid);
  box-shadow: 0 8px 32px rgba(98,0,0,0.18);
  transform: translateY(-3px);
}
.gs-pillar__label {
  font-family: var(--font-condensed);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--crimson-lit);
}
.gs-pillar__title {
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--white);
  line-height: 1.2;
}
.gs-pillar__body {
  font-size: 0.95rem;
  color: var(--muted);
  line-height: 1.7;
}
.gs-pillar__links {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.35rem;
  margin-top: 1rem;
}
.gs-pillar__link {
  display: inline-block;
  background: var(--crimson);
  color: #f4f1ec;
  font-family: var(--font-condensed);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 0.55rem 1.4rem;
  border-radius: var(--radius-sm);
  border: 2px solid var(--crimson-mid);
  text-decoration: none;
  transition: background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease), transform var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);
}
.gs-pillar__link:hover {
  background: var(--crimson-mid);
  border-color: var(--crimson-lit);
  color: #f4f1ec;
  transform: scale(1.04);
  box-shadow: 0 4px 14px rgba(98,0,0,0.35);
}
.gs-pillar__logo {
  display: block;
  max-width: 180px;
  max-height: 64px;
  width: auto;
  height: auto;
  object-fit: contain;
  margin-bottom: 0.75rem;
  opacity: 0.85;
}

/* ── FLUID DEFAULTS — no breakpoints needed ── */
.gs-wrap { overflow-x: hidden; }
.gs-wrap h1, .gs-wrap h2, .gs-wrap h3, .gs-wrap p {
  overflow-wrap: break-word;
  word-break: break-word;
}

/* ══════════════════════════════════════════════════════════════
   SITE CHROME — Header, Footer, Post, Archive
   ══════════════════════════════════════════════════════════════ */

/* ── SITE FOOTER ──
 * Uses a unique warm-dark tone (#100c0c) that is distinct from both
 * --black (#0b0c10) and --panel (#16181f) — the two alternating section
 * backgrounds. This guarantees the footer never visually merges with any
 * content section regardless of which section type precedes it.
 */
.gs-site-footer {
  background: #100c0c;
  border-top: 3px solid var(--crimson-mid);
}

/* ── Footer sitemap grid ── */
.gs-footer-sitemap {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 2.5rem 2rem;
  max-width: 1360px;
  margin: 0 auto;
  padding: 4rem clamp(1rem, 3vw, 2.5rem) 2.5rem;
  align-items: start;
}
.gs-footer-col--logo {
  display: flex;
  align-items: flex-start;
}
.gs-footer-brand__logo { display: inline-block; }
.gs-footer-brand__name {
  font-family: var(--font-display);
  font-size: 1.2rem;
  font-weight: 900;
  color: var(--white);
}

.gs-footer-col__heading {
  font-family: var(--font-condensed);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--crimson-mid);
  margin: 0 0 0.9rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid var(--border);
}
.gs-footer-col__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}
.gs-footer-col__list a {
  font-size: 0.87rem;
  color: var(--muted);
  text-decoration: none;
  transition: color 0.15s;
}
.gs-footer-col__list a:hover { color: var(--white); }

.gs-footer-col__address {
  font-style: normal;
  font-size: 0.82rem;
  color: var(--muted);
  line-height: 1.7;
  margin-top: 0.75rem;
}
.gs-footer-col__hours {
  font-family: var(--font-condensed);
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  color: var(--muted);
  margin-top: 0.5rem;
  opacity: 0.65;
}

.gs-footer-col--locations { display: flex; flex-direction: column; gap: 0; }
.gs-footer-col__section + .gs-footer-col__section {
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--crimson-mid);
}

.gs-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; }

.gs-footer-newsletter {
  grid-column: 1 / -1;
  padding-bottom: 2rem;
  border-bottom: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  align-items: center;
}
.gs-footer-newsletter > .gs-footer-col__heading {
  font-size: 0.95rem;
  letter-spacing: 0.2em;
  width: 100%;
}
.gs-footer-newsletter__row {
  display: flex;
  align-items: center;
  gap: 2rem;
  max-width: 900px;
  width: 100%;
}
.gs-footer-newsletter__copy {
  font-size: 1rem;
  color: var(--muted);
  line-height: 1.6;
  margin: 0;
}
.gs-footer-newsletter__form {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  flex-shrink: 0;
}
.gs-footer-newsletter__input {
  padding: 0.5rem 0.85rem;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.22);
  border-radius: var(--radius-sm);
  color: #f4f1ec;
  font-size: 0.87rem;
  min-width: 200px;
  outline: none;
  transition: border-color 0.15s;
}
.gs-footer-newsletter__input:focus { border-color: var(--crimson-mid); }
.gs-footer-newsletter__input::placeholder { color: rgba(244,241,236,0.45); }
.gs-footer-newsletter__btn {
  padding: 0.5rem 1.25rem;
  background: var(--crimson-mid);
  color: #f4f1ec;
  border: none;
  border-radius: var(--radius-sm);
  font-family: var(--font-condensed);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.2s;
}
.gs-footer-newsletter__btn:hover { background: var(--crimson-lit); }
@media (orientation: portrait) and (max-width: 767px) {
  .gs-footer-newsletter__row { flex-direction: column; align-items: flex-start; }
  .gs-footer-newsletter__input { min-width: 0; width: 100%; }
}

.gs-footer-bottom {
  max-width: 1280px;
  margin: 0 auto;
  padding: 1.1rem clamp(1rem, 3vw, 2.5rem);
  border-top: 1px solid var(--crimson-mid);
}
.gs-footer-bottom__copy {
  font-family: var(--font-condensed);
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  color: var(--muted);
  opacity: 0.5;
  margin: 0;
}

@media (max-width: 1100px) {
  .gs-footer-sitemap {
    grid-template-columns: repeat(3, 1fr);
    gap: 2.5rem 2rem;
  }
  .gs-footer-col--logo {
    grid-column: 1 / -1;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--border);
  }
}
@media (max-width: 600px) {
  .gs-footer-sitemap {
    grid-template-columns: 1fr 1fr;
    gap: 2rem 1.5rem;
  }
}
@media (max-width: 380px) {
  .gs-footer-sitemap { grid-template-columns: 1fr; }
}

/* ── SINGLE POST ── */
.gs-post__title {
  font-family: var(--font-display);
  font-size: clamp(1.8rem, 4vw, 3rem);
  font-weight: 900;
  color: var(--white);
  line-height: 1.1;
  margin-bottom: 1rem;
}
.gs-post__meta {
  gap: 1rem;
  margin-bottom: 1.5rem;
  font-family: var(--font-condensed);
  font-size: 0.8rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--muted);
}
.gs-post__thumb {
  width: 100%;
  border-radius: var(--radius-md);
  border: 1px solid var(--border);
  margin-bottom: 2rem;
  overflow: hidden;
}
.gs-post__body {
  max-width: 72ch;
  font-size: 1.05rem;
  line-height: 1.75;
  color: var(--muted);
}
.gs-post__body h2,
.gs-post__body h3 { color: var(--white); margin-block: 1.5rem 0.75rem; }
.gs-post__body a { color: var(--crimson-lit); text-decoration: underline; text-underline-offset: 3px; }
.gs-post__body a:hover { color: var(--white); }
.gs-post__body blockquote {
  border-left: 3px solid var(--crimson);
  padding-left: 1.5rem;
  margin-inline: 0;
  color: var(--muted);
  font-style: italic;
}
.gs-post__tags {
  margin-top: 2rem;
  font-family: var(--font-condensed);
  font-size: 0.8rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--muted);
}

/* ── ARCHIVE GRID ── */
.gs-archive__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
  gap: 1.5rem;
  align-items: start;
}
.gs-archive__card {
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  overflow: hidden;
  transition: border-color 0.22s, box-shadow 0.22s, transform 0.22s;
}
.gs-archive__card:hover {
  border-color: var(--crimson-mid);
  box-shadow: 0 0 0 1px var(--crimson-mid), 0 12px 32px rgba(98,0,0,0.18);
  transform: translateY(-4px);
}
.gs-archive__card-img img {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
  display: block;
  border-bottom: 3px solid var(--crimson);
}
.gs-archive__card-title {
  font-family: var(--font-condensed);
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--white);
  padding: 1rem 1.25rem 0.25rem;
  margin: 0;
}
.gs-archive__card-title a { color: inherit; text-decoration: none; }
.gs-archive__card-title a:hover { color: var(--crimson-lit); }
.gs-archive__card-excerpt {
  font-size: 0.9rem;
  color: var(--muted);
  padding: 0 1.25rem;
  line-height: 1.6;
}
.gs-archive__card-date {
  font-family: var(--font-condensed);
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--muted);
  padding: 0.5rem 1.25rem 0.5rem;
  display: block;
}
.gs-archive__card-body .gs-post-card__read-more {
  margin: 0.5rem 1.25rem 1.25rem;
}

/* ── ARCHIVE PAGE ── */
.gs-archive-page {
  width: 100%;
  max-width: 1440px;
  margin-inline: auto;
  padding-inline: clamp(1rem, 4vw, 3rem);
}
.gs-archive__heading {
  margin-bottom: 2rem;
}

/* ── PAGINATION ── */
.gs-pagination {
  margin-top: 3rem;
}
.gs-pagination .nav-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem;
}
.gs-pagination .nav-links .page-numbers,
.wp-block-query-pagination-numbers .page-numbers,
.wp-block-query-pagination-previous,
.wp-block-query-pagination-next {
  font-family: var(--font-condensed);
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--muted);
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  padding: 0.4rem 0.8rem;
  text-decoration: none;
  transition: color 0.2s, border-color 0.2s;
}
.gs-pagination .nav-links .page-numbers:hover,
.wp-block-query-pagination-numbers .page-numbers:hover,
.wp-block-query-pagination-previous:hover,
.wp-block-query-pagination-next:hover {
  color: var(--white);
  border-color: var(--crimson-mid);
}
.gs-pagination .nav-links .page-numbers.current,
.wp-block-query-pagination-numbers .page-numbers.current {
  color: var(--white);
  border-color: var(--crimson);
  background: var(--crimson);
}
.gs-pagination .nav-links .page-numbers.dots {
  background: none;
  border-color: transparent;
  cursor: default;
}

/* ── 404 ── */
.gs-404__desc {
  color: var(--muted);
  font-size: 1.1rem;
  max-width: 60ch;
  margin-bottom: 2rem;
}
.gs-404__search .wp-block-search__input {
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  color: var(--white);
  font-family: var(--font-body);
  padding: 0.6rem 1rem;
}
.gs-404__search .wp-block-search__button {
  background: var(--white);
  color: var(--black);
  font-family: var(--font-condensed);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border: none;
  border-radius: var(--radius-sm);
  padding: 0.6rem 1.2rem;
  cursor: pointer;
  transition: background 0.2s;
}
.gs-404__search .wp-block-search__button:hover { background: #e0ddd8; }

/* ── FOOTER NAV ── */
.gs-footer-nav ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.gs-footer-nav a {
  font-family: var(--font-condensed);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--muted);
  text-decoration: none;
  padding: 0.3rem 0.6rem;
  border-radius: 4px;
  transition: color 0.18s, background 0.18s;
}
.gs-footer-nav a:hover { color: var(--white); background: rgba(255,255,255,0.05); }

/* ── RECENT POSTS SHORTCODE GRID ── */
.gs-posts__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, clamp(280px, 26vw, 420px)), 1fr));
  gap: 1px;
  background: var(--border);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  overflow: hidden;
  margin-top: 2rem;
  margin-bottom: clamp(2rem, 4vw, 3.5rem);
  max-width: calc(clamp(280px, 26vw, 420px) * 3 + 2px);
  margin-inline: auto;
}
.gs-post-card {
  background: var(--near-black);
  display: flex;
  flex-direction: column;
  transition: background var(--t-base) var(--ease);
}
.gs-post-card:hover { background: #1a1d26; }
.gs-post-card__img-wrap {
  display: block;
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
  border-bottom: 3px solid var(--crimson);
}
.gs-post-card__img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
  transition: transform var(--t-slow) var(--ease);
}
.gs-post-card:hover .gs-post-card__img-wrap img {
  transform: scale(1.03);
}
.gs-post-card__body {
  padding: 1.25rem 1.4rem;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  flex: 1;
}
.gs-post-card__date {
  font-family: var(--font-condensed);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--crimson-lit);
}
.gs-post-card__title {
  font-family: var(--font-condensed);
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1.3;
  color: var(--white);
  margin: 0;
}
.gs-post-card__title a {
  color: inherit;
  text-decoration: none;
  transition: color var(--t-fast) var(--ease);
}
.gs-post-card__title a:hover { color: var(--crimson-lit); }
.gs-post-card__excerpt {
  font-size: 0.88rem;
  color: var(--muted);
  line-height: 1.6;
  flex: 1;
}
.gs-post-card__read-more {
  display: inline-block;
  margin-top: 0.5rem;
  font-family: var(--font-condensed);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--white);
  background: var(--crimson);
  padding: 0.35rem 0.8rem;
  border-radius: var(--radius-sm);
  text-decoration: none;
  align-self: flex-start;
  transition: background var(--t-fast) var(--ease);
}
.gs-post-card__read-more:hover { background: var(--crimson-mid); }

/* ── REVIEW CARDS ── */
.gs-reviews__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(1rem, 2.5vw, 1.5rem);
  align-items: start;
  margin-top: 2rem;
  margin-inline: auto;
}
/* ── REVIEW PAGE WRAPPER ── */
.gs-reviews-wrap { max-width: 1200px; margin-inline: auto; }

/* ── REVIEW HEADER / AGGREGATE ── */
.gs-reviews-header {
  background: var(--panel);
  border: 1px solid var(--border);
  border-top: 3px solid var(--crimson);
  border-radius: var(--radius-md);
  padding: clamp(1.5rem, 3vw, 2.5rem);
  margin-bottom: 2rem;
  display: grid;
  grid-template-columns: minmax(220px, 340px) 1fr;
  gap: 0 3.5rem;
  transition: box-shadow var(--t-base) var(--ease);
}
.gs-reviews-header:hover { box-shadow: 0 8px 40px rgba(98,0,0,0.22); }
@media (max-width: 768px) { .gs-reviews-header { grid-template-columns: 1fr; gap: 1.5rem; } }

/* Score column — left */
.gs-reviews-header__score {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  padding-right: 3.5rem;
  border-right: 1px solid var(--border);
}
@media (max-width: 768px) {
  .gs-reviews-header__score { padding-right: 0; border-right: none; border-bottom: 1px solid var(--border); padding-bottom: 1.5rem; }
}
.gs-reviews-header__avg {
  font-family: var(--font-display);
  font-size: clamp(3.5rem, 8vw, 6rem);
  font-weight: 700;
  color: var(--white);
  line-height: 1;
}
.gs-reviews-header__stars { font-size: 1.5rem; color: var(--gold); letter-spacing: 0.1em; }
.gs-reviews-header__count {
  font-family: var(--font-condensed);
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--white);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.gs-reviews-header__prose {
  font-size: 0.88rem;
  color: var(--white);
  line-height: 1.7;
  opacity: 0.8;
  margin: 0.25rem 0 0;
  flex: 1;
}
.gs-reviews-header__source {
  font-size: 0.78rem;
  color: var(--white);
  opacity: 0.6;
  margin: 0;
  border-top: 1px solid var(--border);
  padding-top: 0.75rem;
  margin-top: auto;
}
.gs-reviews-header__source a { color: var(--crimson-lit); text-decoration: underline; text-underline-offset: 3px; }

/* Badges column — right */
.gs-reviews-header__right {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.gs-reviews-header__badges-heading {
  font-family: var(--font-condensed);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--white);
  opacity: 0.7;
  margin: 0;
}
.gs-reviews-header__badges-heading a { color: var(--crimson-lit); text-decoration: underline; text-underline-offset: 3px; opacity: 1; }
.gs-reviews-header__badges {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  flex: 1;
}
.gs-reviews-badge {
  display: flex;
  align-items: center;
  gap: 1rem;
  background: var(--near-black);
  border: 1px solid var(--border);
  border-left: 3px solid var(--crimson);
  border-radius: var(--radius-sm);
  padding: 0.7rem 1rem;
  transition: border-color var(--t-fast), box-shadow var(--t-fast);
}
.gs-reviews-badge:hover { border-color: var(--crimson-mid); box-shadow: 0 2px 12px rgba(98,0,0,0.2); }
.gs-reviews-badge__top { display: flex; align-items: center; gap: 0.5rem; min-width: 160px; flex-shrink: 0; }
.gs-reviews-badge__icon { color: var(--gold); font-size: 1rem; flex-shrink: 0; }
.gs-reviews-badge__name {
  font-family: var(--font-condensed);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--white);
  white-space: nowrap;
}
.gs-reviews-badge__desc { font-size: 0.82rem; color: var(--white); line-height: 1.5; margin: 0; opacity: 0.75; }

/* ── SORT / PER-PAGE CONTROLS ── */
.gs-reviews-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: flex-end;
  margin-bottom: 1rem;
}
.gs-reviews-controls__group { display: flex; flex-direction: column; gap: 0.3rem; }
.gs-reviews-controls__group label {
  font-family: var(--font-condensed);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--white);
}
.gs-reviews-controls__group select {
  background: var(--panel);
  color: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  padding: 0.4rem 0.75rem;
  font-family: var(--font-condensed);
  font-size: 0.9rem;
  cursor: pointer;
}
.gs-reviews-summary {
  font-family: var(--font-condensed);
  font-size: 0.82rem;
  color: var(--white);
  letter-spacing: 0.05em;
  margin-bottom: 1.25rem;
  opacity: 0.8;
}

/* gs-reviews__grid — columns definition consolidated above */
@media (max-width: 640px) { .gs-reviews__grid { grid-template-columns: 1fr; } }

/* ── REVIEW CARDS ── */
.gs-review-card {
  background: var(--panel);
  border: 1px solid var(--border);
  border-top: 3px solid var(--crimson);
  border-radius: var(--radius-md);
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  transition: border-color var(--t-base) var(--ease), box-shadow var(--t-base) var(--ease);
}
.gs-review-card:hover {
  border-color: var(--crimson-mid);
  box-shadow: 0 8px 32px rgba(98,0,0,0.18);
}
.gs-review-card__item {
  font-family: var(--font-condensed);
  font-size: 0.88rem;
  color: var(--white);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin: 0;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid var(--border);
  line-height: 1.3;
}
.gs-review-card__lot {
  font-weight: 400;
  color: var(--white);
  font-size: 0.75rem;
  letter-spacing: 0.02em;
  text-transform: none;
  opacity: 0.65;
}
.gs-review-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.gs-review-card__stars { color: var(--gold); letter-spacing: 0.08em; }
.gs-review-card__reviewer {
  font-family: var(--font-condensed);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: var(--white);
  opacity: 0.85;
}
.gs-review-card__body { font-size: 0.95rem; color: var(--white); line-height: 1.7; opacity: 0.9; flex: 1; }
.gs-review-card__sub-ratings {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 0.35rem 0.75rem;
  background: var(--near-black);
  border-radius: var(--radius-sm);
  padding: 0.65rem 0.75rem;
}
.gs-review-card__sub-rating { display: flex; align-items: center; justify-content: space-between; gap: 0.4rem; }
.gs-review-card__sub-rating dt {
  font-family: var(--font-condensed);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  color: var(--white);
  text-transform: uppercase;
  opacity: 0.75;
}
.gs-review-card__sub-rating dd { color: var(--gold); font-size: 0.75rem; white-space: nowrap; }
.gs-review-card__footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem 0.75rem;
  font-family: var(--font-condensed);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--white);
  border-top: 1px solid var(--border);
  padding-top: 0.65rem;
  opacity: 0.75;
  margin-top: auto;
}
.gs-review-card__event { color: var(--white); }
.gs-review-card__date { opacity: 0.65; }
.gs-review-card__source a { color: var(--crimson-lit); text-decoration: underline; text-underline-offset: 3px; }

/* ── PAGINATION ── */
.gs-reviews-pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  justify-content: center;
  margin-top: 2rem;
}
.gs-reviews-pagination__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  padding: 0 0.5rem;
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  font-family: var(--font-condensed);
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--white);
  text-decoration: none;
  transition: background var(--t-fast), color var(--t-fast), border-color var(--t-fast);
  opacity: 0.75;
}
.gs-reviews-pagination__btn:hover { background: var(--near-black); color: var(--white); border-color: var(--crimson-mid); opacity: 1; }
.gs-reviews-pagination__btn--active { background: var(--crimson); border-color: var(--crimson); color: var(--white); opacity: 1; }
[data-theme="light"] .gs-reviews-pagination__btn--active { color: #f4f1ec !important; }

/* ══════════════════════════════════════════════════════════════════════════════
   CONSIGNMENT BANNER
   ══════════════════════════════════════════════════════════════════════════════ */
.gs-consign-banner {
    background: var(--crimson);
    border-top: 1px solid #8b0000;
    border-bottom: 1px solid rgba(0,0,0,0.35);
    padding: 1.17rem 0;
    transition: padding 0.3s ease;
}
.gs-consign-banner__inner {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 1rem;
    padding-inline: clamp(1rem, 4vw, 2rem);
}
.gs-consign-banner__text {
    font-family: var(--font-condensed);
    font-size: clamp(1.1rem, 2.42vw, 1.43rem);
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--white);
    text-align: center;
    margin: 0;
    transition: font-size 0.3s ease;
}
.gs-consign-banner__btn {
    display: inline-block;
    font-family: var(--font-condensed);
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--white);
    background: var(--near-black);
    padding: 0.55rem 1.5rem;
    border-radius: var(--radius-sm);
    text-decoration: none;
    white-space: nowrap;
    transition: padding 0.3s ease, font-size 0.3s ease, background 0.2s, color 0.2s;
}
.gs-consign-banner__btn:hover {
    background: var(--crimson-lit);
    color: var(--white);
}
/* ── Scrolled state — both tiers compact ─────────────────────────────────── */
.gs-site-header.is-scrolled .gs-site-header__inner {
    padding-block: 0.45rem;
    min-height: 44px;
}
.gs-site-header.is-scrolled .gs-site-header__logo img {
    height: 32px;
}
.gs-site-header.is-scrolled .gs-consign-banner {
    padding: 0.25rem 0;
}
.gs-site-header.is-scrolled .gs-consign-banner__text {
    font-size: 0.78rem;
}
.gs-site-header.is-scrolled .gs-consign-banner__btn {
    padding: 0.2rem 0.85rem;
    font-size: 0.7rem;
}
@media (prefers-reduced-motion: reduce) {
    .gs-site-header__inner,
    .gs-site-header__logo img,
    .gs-consign-banner,
    .gs-consign-banner__text,
    .gs-consign-banner__btn {
        transition: none !important;
    }
}


/* ══════════════════════════════════════════════════════════════════════════════
   AUCTION HERO — video background, overlay, countdown
   ══════════════════════════════════════════════════════════════════════════════ */
.gs-auction-hero {
    position: relative;
    overflow: hidden;
    min-height: 720px;
    display: flex;
    align-items: center;
    background: var(--black);
}
.gs-auction-hero__video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    pointer-events: none;
}
.gs-auction-hero__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.85);
    z-index: 1;
}
.gs-auction-hero__content {
    position: relative;
    z-index: 2;
    text-align: center;
    padding-block: clamp(3rem, 8vw, 6rem);
    width: 100%;
}
.gs-auction-hero__eyebrow {
    font-family: var(--font-condensed);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.35em;
    text-transform: uppercase;
    color: var(--crimson-lit);
    margin-bottom: 0.75rem;
}
.gs-auction-hero__title {
    font-family: var(--font-display);
    font-size: clamp(1.8rem, 5vw, 3.5rem);
    font-weight: 700;
    color: var(--white);
    line-height: 1.15;
    margin-bottom: 2rem;
    text-shadow: 0 2px 16px rgba(0, 0, 0, 0.65);
}
.gs-auction-hero__btns {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-bottom: 3rem;
}
.gs-auction-hero__btn {
    display: inline-flex;
    align-items: center;
    gap: 0.3em;
    font-family: var(--font-condensed);
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    padding: 0.8rem 2.1rem;
    border-radius: var(--radius-sm);
    text-decoration: none;
    transition: background 0.2s, color 0.2s, border-color 0.2s, transform 0.18s var(--ease), box-shadow 0.18s var(--ease);
    white-space: nowrap;
}
.gs-auction-hero__btn--primary {
    background: var(--crimson);
    color: var(--white);
    border: 2px solid var(--crimson-mid);
}
.gs-auction-hero__btn--primary:hover {
    background: var(--crimson-mid);
    border-color: var(--crimson-lit);
    color: var(--white);
    transform: scale(1.04);
    box-shadow: 0 4px 14px rgba(98,0,0,0.35);
}
.gs-auction-hero__btn--outline {
    background: var(--panel);
    color: var(--white);
    border: 2px solid var(--border);
}
.gs-auction-hero__btn--outline:hover {
    background: var(--near-black);
    border-color: var(--crimson-mid);
    color: var(--white);
}
.gs-auction-hero__countdown {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
}
.gs-countdown {
    display: flex;
    align-items: flex-end;
    gap: 0.5rem;
}
.gs-countdown__cell {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 72px;
    background: rgba(0, 0, 0, 0.55);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: var(--radius-sm);
    padding: 0.75rem 1rem 0.6rem;
}
.gs-countdown__n {
    font-family: var(--font-condensed);
    font-size: clamp(2rem, 5vw, 3rem);
    font-weight: 700;
    color: var(--white);
    line-height: 1;
    letter-spacing: 0.04em;
    display: block;
}
.gs-countdown__label {
    font-family: var(--font-condensed);
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--muted);
    margin-top: 0.3rem;
    display: block;
}
.gs-countdown__colon {
    font-family: var(--font-condensed);
    font-size: clamp(1.5rem, 3.5vw, 2.5rem);
    font-weight: 700;
    color: var(--crimson-lit);
    line-height: 1;
    padding-bottom: 1.4rem;
    user-select: none;
}
.gs-auction-hero__date {
    font-family: var(--font-condensed);
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--muted);
}

/* ── Past Auctions floating link ──────────────────────────────────────────── */
.gs-auction-hero__past {
    position: absolute;
    left: clamp(0.75rem, 3vw, 2.5rem);
    top: 50%;
    transform: translateY(-50%);
    z-index: 3;                        /* above __content (z-index:2) */
    display: inline-block;
    font-family: var(--font-condensed);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.75);
    background: transparent;
    border: 2px solid rgba(255,255,255,0.45);
    border-radius: var(--radius-sm);
    padding: 0.55rem 1rem;
    text-decoration: none;
    white-space: nowrap;
    transform: translateY(-50%);
    transition: color 0.18s, border-color 0.18s, background 0.18s;
}
.gs-auction-hero__past:hover {
    color: #fff;
    border-color: rgba(255,255,255,0.85);
    background: rgba(255,255,255,0.08);
}
@media (max-width: 640px) {
    .gs-auction-hero__past { display: none; }
}

/* ── Past Auctions archive list ──────────────────────────────────────────── */
.gs-past-auctions {
    list-style: none;
    margin: 0;
    padding: 0;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    overflow: hidden;
}
.gs-past-auction {
    display: grid;
    grid-template-columns: 10rem 1fr auto;
    align-items: center;
    gap: 1.25rem;
    padding: 1rem 1.5rem;
    background: var(--panel);
    border-bottom: 1px solid var(--border);
    transition: background 0.15s;
}
.gs-past-auction:last-child { border-bottom: none; }
.gs-past-auction:hover { background: var(--near-black); }
.gs-past-auction__date {
    font-family: var(--font-condensed);
    font-size: 0.78rem;
    letter-spacing: 0.06em;
    color: var(--muted);
    white-space: nowrap;
}
.gs-past-auction__title {
    font-family: var(--font-display);
    font-size: 0.95rem;
    color: var(--white);
}
.gs-past-auction__link {
    font-family: var(--font-condensed);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--crimson-lit);
    text-decoration: none;
    white-space: nowrap;
    transition: color 0.15s;
}
.gs-past-auction__link:hover { color: var(--white); }
.gs-past-auctions__empty {
    text-align: center;
    color: var(--muted);
    padding: 2rem 0;
}
@media (max-width: 600px) {
    .gs-past-auction {
        grid-template-columns: 1fr;
        gap: 0.3rem;
    }
}


/* ═══════════════════════════════════════════════════════════════════════════
   THEME TOGGLE BUTTON
   Sits between primary nav and hamburger in gs-site-header__inner.
   Dark mode (default): shows lightbulb. Light mode: shows moon.
   ═══════════════════════════════════════════════════════════════════════════ */

.gs-theme-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  padding: 0;
  background: transparent;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  color: var(--muted);
  cursor: pointer;
  flex-shrink: 0;
  transition: color var(--t-fast) ease, background var(--t-fast) ease, border-color var(--t-fast) ease;
}
.gs-theme-toggle:hover {
  color: var(--white);
  background: rgba(255,255,255,0.05);
  border-color: rgba(255,255,255,0.22);
}
.gs-theme-toggle__icon { display: block; flex-shrink: 0; }

/* Dark mode (default) — show bulb, hide moon */
.gs-theme-toggle__moon { display: none; }
.gs-theme-toggle__bulb { display: block; }

/* Light mode — show moon, hide bulb */
[data-theme="light"] .gs-theme-toggle__moon { display: block; }
[data-theme="light"] .gs-theme-toggle__bulb { display: none; }

/* Light mode hover adjustment */
[data-theme="light"] .gs-theme-toggle:hover {
  background: rgba(0,0,0,0.06);
  border-color: rgba(0,0,0,0.22);
}


/* ═══════════════════════════════════════════════════════════════════════════
   LIGHT THEME
   Activated by data-theme="light" on <html>.
   Dark theme is the default — no attribute needed.
   Brand colors (martyr red / rare as gold) stay unchanged; used sparingly.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Smooth theme transition (suppressed for reduced-motion) ── */
html {
  transition: background-color 0.25s ease, color 0.25s ease;
}
@media (prefers-reduced-motion: reduce) {
  html { transition: none; }
}

/* ── Flip the design-system tokens ── */
[data-theme="light"] {
  --black:      #f5f1eb;
  --near-black: #ede8df;
  --panel:      #e3ddd3;
  --white:      #1a1814;
  --muted:      #4d4740;
  --border:     rgba(0,0,0,0.13);
  --border-red: rgba(139,0,0,0.28);
  /* --crimson, --crimson-mid, --crimson-lit, --gold intentionally unchanged */
}

/* ── HEADER ── */
[data-theme="light"] .gs-site-header {
  background: #f5f1eb;
  border-bottom: 1px solid rgba(0,0,0,0.10);
}

/* ── NAV LINKS ── */
[data-theme="light"] .gs-nav a:hover {
  background: rgba(0,0,0,0.05);
}
[data-theme="light"] .gs-nav a.gs-nav--active,
[data-theme="light"] .gs-nav a.gs-nav--active:hover {
  background: rgba(98,0,0,0.12);
}

/* ── DESKTOP DROPDOWN SUB-MENU ── */
[data-theme="light"] .gs-nav__sub {
  background: #ede8df;
  border-color: rgba(0,0,0,0.12);
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
}
[data-theme="light"] .gs-nav__sub a:hover {
  background: rgba(0,0,0,0.05);
}

/* ── HAMBURGER LINES ── */
[data-theme="light"] .gs-nav-toggle span {
  background: #1a1814;
}

/* ── MOBILE NAV DRAWER ── */
[data-theme="light"] .gs-nav-drawer {
  background: #f5f1eb;
  border-top: 1px solid rgba(0,0,0,0.10);
}
[data-theme="light"] .gs-nav-drawer li a {
  border-bottom-color: rgba(0,0,0,0.07);
}
[data-theme="light"] .gs-nav-drawer .gs-nav__sub {
  background: rgba(0,0,0,0.04);
}
[data-theme="light"] .gs-nav-drawer .gs-nav__sub li a {
  border-bottom-color: rgba(0,0,0,0.05);
}

/* ── CONSIGNMENT BANNER ── */
[data-theme="light"] .gs-consign-banner {
  background: #ede8df;
  border-top: 1px solid rgba(0,0,0,0.08);
}
[data-theme="light"] .gs-consign-banner__text {
  color: #1a1814;
}
[data-theme="light"] .gs-consign-banner__btn,
[data-theme="light"] .gs-consign-banner__btn:link,
[data-theme="light"] .gs-consign-banner__btn:visited {
  background: #620000 !important;
  color: #f4f1ec !important;
}
[data-theme="light"] .gs-consign-banner__btn:hover,
[data-theme="light"] .gs-consign-banner__btn:focus {
  background: #8b0000 !important;
  color: #f4f1ec !important;
}

/* ── HERO ── */
[data-theme="light"] .gs-hero {
  background: #ede8df;
  border-bottom-color: rgba(0,0,0,0.10);
}
[data-theme="light"] .gs-hero__photo {
  border-color: rgba(0,0,0,0.12);
}
[data-theme="light"] .gs-hero__badge {
  background: #1a1814;
  color: #f5f1eb;
}

/* ── HOST CARDS ── */
[data-theme="light"] .gs-host-card:hover {
  box-shadow: 0 0 0 1px #8b0000, 0 4px 24px rgba(98,0,0,0.14);
}

/* ── ARCHIVE / POST CARDS ── */
[data-theme="light"] .gs-post-card:hover {
  border-color: #8b0000;
  box-shadow: 0 12px 32px rgba(98,0,0,0.12);
}

/* ── REVIEW CARDS ── */
[data-theme="light"] .gs-review-card:hover {
  box-shadow: 0 8px 32px rgba(98,0,0,0.12);
}
[data-theme="light"] .gs-review-header {
  box-shadow: 0 8px 40px rgba(98,0,0,0.12);
}

/* ── PILLAR / WHAT WE COVER CARDS ── */
[data-theme="light"] .gs-pillar:hover {
  border-color: #8b0000;
  box-shadow: 0 8px 32px rgba(98,0,0,0.12);
}

/* ── PAGINATION ── */
[data-theme="light"] .gs-pagination__item:hover {
  border-color: #8b0000;
}
[data-theme="light"] .gs-pagination .nav-links .page-numbers.current,
[data-theme="light"] .wp-block-query-pagination-numbers .page-numbers.current {
  color: #f4f1ec;
}
[data-theme="light"] .gs-pagination .nav-links .page-numbers:hover,
[data-theme="light"] .wp-block-query-pagination-numbers .page-numbers:hover {
  color: #f4f1ec;
}

/* ── SEARCH INPUT (404) ── */
[data-theme="light"] .gs-search__input {
  color: #1a1814;
}
[data-theme="light"] .gs-search__btn {
  background: #1a1814;
  color: #f5f1eb;
}
[data-theme="light"] .gs-search__btn:hover {
  background: #2e2a25;
}

/* ── PLAYER SECTION ── */
[data-theme="light"] .gs-player {
  background: #f5f1eb;
  border-top-color: rgba(0,0,0,0.10);
  border-bottom-color: rgba(0,0,0,0.10);
}

/* ── FAQ ── */
[data-theme="light"] .gs-faq {
  background: #ede8df;
}
[data-theme="light"] .gs-faq__item {
  border-bottom-color: rgba(0,0,0,0.10);
}

/* ── HOW-TO (light) ── */
[data-theme="light"] .gs-howto { background: #ede8df; }
[data-theme="light"] .gs-howto__step { border-bottom-color: rgba(0,0,0,0.10); }
[data-theme="light"] .gs-howto__step-num { color: #f4f1ec; }

/* ── BROADCAST SCHEDULE ── */
[data-theme="light"] .gs-schedule__row {
  border-color: rgba(0,0,0,0.08);
}

/* ── WHAT WE COVER SECTION ── */
[data-theme="light"] .gs-pillars {
  background: #f5f1eb;
  border-top-color: rgba(0,0,0,0.10);
  border-bottom-color: rgba(0,0,0,0.10);
}

/* ── SINGLE POST ── */
[data-theme="light"] .gs-post__content a { color: var(--crimson-lit); }
[data-theme="light"] .gs-post__content a:hover { color: var(--gold); }
[data-theme="light"] .gs-post__content blockquote {
  border-left-color: var(--crimson);
  background: rgba(0,0,0,0.04);
}
[data-theme="light"] .gs-post__content code {
  background: rgba(0,0,0,0.07);
  color: #1a1814;
}
[data-theme="light"] .gs-post__content pre {
  background: #e3ddd3;
  border-color: rgba(0,0,0,0.12);
}
[data-theme="light"] .gs-post__content hr {
  border-color: rgba(0,0,0,0.12);
}

/* ── FOOTER ── brand crimson footer — distinct from #f4f1ec page body */
[data-theme="light"] .gs-site-footer {
  background: var(--crimson);
  border-top: 3px solid var(--gold);
}
[data-theme="light"] .gs-site-footer * {
  color: #c8bfb7 !important;
  border-color: rgba(255,255,255,0.08) !important;
}
/* Restore crimson-mid borders on footer structural dividers */
[data-theme="light"] .gs-footer-col__section + .gs-footer-col__section,
[data-theme="light"] .gs-footer-bottom { border-color: var(--crimson-mid) !important; }
/* Re-allow crimson headings and link hover */
[data-theme="light"] .gs-footer-col__heading { color: var(--crimson-lit) !important; }
[data-theme="light"] .gs-footer-col__list a:hover { color: #f4f1ec !important; }
[data-theme="light"] .gs-footer-bottom__copy { opacity: 0.6; }
[data-theme="light"] .gs-footer-nav a:hover { color: #f4f1ec; }


/* ═══════════════════════════════════════════════════════════════════════════
   v1.8.1 PATCH — Light Theme Fixes
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── BUTTON UTILITY CLASSES ─────────────────────────────────────────────────
   Replaces inline-styled CTAs on /in-the-press/, /sponsors-and-affiliates/,
   and /about/ pages. Handles both dark and light themes correctly.
   ─────────────────────────────────────────────────────────────────────────── */
.gs-btn {
  display: inline-block;
  font-family: var(--font-condensed);
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  padding: 0.8rem 2.25rem;
  border-radius: var(--radius-sm);
  text-decoration: none;
  margin: 0.25rem 0.5rem;
  transition: background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease), color var(--t-fast) var(--ease), transform var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);
  white-space: nowrap;
}
.gs-btn--primary {
  /* Hard-coded #f4f1ec: button text must always be off-white on crimson,
     regardless of theme flip. var(--white) becomes #1a1814 in light mode
     which gives near-zero contrast on #620000. */
  color: #f4f1ec;
  background: var(--crimson);
  border: 2px solid var(--crimson-mid);
}
.gs-btn--primary:hover {
  background: var(--crimson-mid);
  border-color: var(--crimson-lit);
  color: #f4f1ec;
  transform: scale(1.04);
  box-shadow: 0 4px 14px rgba(98,0,0,0.35);
}
.gs-btn--outline {
  color: #f4f1ec;
  background: var(--panel);
  border: 2px solid var(--border);
}
.gs-btn--outline:hover {
  background: var(--near-black);
  border-color: var(--crimson-mid);
  color: #f4f1ec;
}
[data-theme="light"] .gs-btn--outline {
  background: #2c1a1a;
  border-color: rgba(255,255,255,0.15);
}
[data-theme="light"] .gs-btn--outline:hover {
  background: #3d2020;
  border-color: var(--crimson-lit);
}


/* ── NAV WCAG 2.2 AA CONTRAST — LIGHT MODE ─────────────────────────────────
   Dark-mode default: #d0ccc7 on #0b0c10 ≈ 11.4:1 (passes).
   Light-mode without fix: #d0ccc7 on #f5f1eb ≈ 1.4:1 (fails badly).
   Fix: #1a1814 on #f5f1eb ≈ 15.9:1 (passes with margin).
   ─────────────────────────────────────────────────────────────────────────── */
[data-theme="light"] .gs-nav a {
  color: #1a1814;
}
[data-theme="light"] .gs-nav a:hover {
  color: #1a1814;
  background: rgba(0,0,0,0.05);
}
[data-theme="light"] .gs-nav a.gs-nav--active,
[data-theme="light"] .gs-nav a.gs-nav--active:hover {
  color: #1a1814;
  background: rgba(98,0,0,0.12);
}
/* Desktop sub-menu */
[data-theme="light"] .gs-nav__sub a {
  color: #1a1814;
}
[data-theme="light"] .gs-nav__sub a:hover {
  color: #1a1814;
  background: rgba(0,0,0,0.05);
}
/* Mobile nav drawer */
[data-theme="light"] .gs-nav-drawer a {
  color: #1a1814;
  border-bottom-color: rgba(0,0,0,0.07);
}
[data-theme="light"] .gs-nav-drawer a:hover {
  color: #1a1814;
  background: rgba(0,0,0,0.05);
}
[data-theme="light"] .gs-nav-drawer .gs-nav__sub a {
  color: #1a1814;
  border-bottom-color: rgba(0,0,0,0.05);
}


/* ── gs-station HARDCODED DARK BACKGROUNDS ──────────────────────────────────
   .gs-station:hover and .gs-station--cta use hardcoded #1a1d26 / #0e1016 /
   #12151d — CSS var flip does not reach these. Explicit overrides needed.
   ─────────────────────────────────────────────────────────────────────────── */
[data-theme="light"] .gs-station:hover {
  background: #d8d2c8;
}
[data-theme="light"] .gs-station--cta {
  background: #e3ddd3;
  box-shadow: inset 4px 0 16px rgba(98,0,0,0.08);
}
[data-theme="light"] .gs-station--cta:hover {
  background: #d8d2c8;
}
/* CTA buttons inside station cards: override to solid crimson in light mode.
   gs-broadcast sections stay dark so buttons need sufficient contrast either
   way — crimson is on-brand and clearly readable on both dark backgrounds.   */
[data-theme="light"] .gs-station--cta .gs-station__cta-link,
[data-theme="light"] .gs-station .gs-station__cta-link {
  background: var(--crimson);
  color: #f4f1ec;
  border-color: var(--crimson-mid);
}
[data-theme="light"] .gs-station--cta .gs-station__cta-link:hover,
[data-theme="light"] .gs-station .gs-station__cta-link:hover {
  background: var(--crimson-mid);
  border-color: var(--crimson-lit);
}


/* ── gs-stream__grid (.gs-platform-link) HARDCODED HOVER ───────────────────
   Hover uses background: #1e2029 — hardcoded black in light mode.
   ─────────────────────────────────────────────────────────────────────────── */
[data-theme="light"] .gs-platform-link {
  background: #e3ddd3;
}
[data-theme="light"] .gs-platform-link:hover {
  background: #d8d2c8;
  border-color: rgba(0,0,0,0.20);
  border-left-color: #1a1814;
}
[data-theme="light"] .gs-platform-link:focus-visible {
  outline-color: #1a1814;
}


/* ── gs-auction-hero ─────────────────────────────────────────────────────────
   The section background flips via --black token but the dark overlay blocks
   it. Replace with a parchment wash so the hero "goes day" in light mode.
   ─────────────────────────────────────────────────────────────────────────── */
[data-theme="light"] .gs-auction-hero__overlay {
  background: rgba(245,241,235,0.72);
}
/* Primary btn: var(--white) flips to near-black — force white on crimson */
[data-theme="light"] .gs-auction-hero__btn--primary,
[data-theme="light"] .gs-auction-hero__btn--primary:hover {
  color: #f4f1ec;
}
/* Outline btn: rgba(255,255,255,0.6) border is invisible on parchment */
[data-theme="light"] .gs-auction-hero__btn--outline {
  color: #1a1814;
  border-color: rgba(0,0,0,0.45);
}
[data-theme="light"] .gs-auction-hero__btn--outline:hover {
  background: rgba(0,0,0,0.08);
  border-color: #1a1814;
  color: #1a1814;
}
/* Countdown cells: dark bg + white border ≈ invisible in light mode */
[data-theme="light"] .gs-countdown__cell {
  background: rgba(255,255,255,0.72);
  border-color: rgba(0,0,0,0.12);
}
/* Heavy text-shadow reads as a dark smear on light bg */
[data-theme="light"] .gs-auction-hero__title {
  text-shadow: none;
}
[data-theme="light"] .gs-auction-hero__past {
  color: rgba(0,0,0,0.55);
  border-color: rgba(0,0,0,0.3);
}
[data-theme="light"] .gs-auction-hero__past:hover {
  color: #1a1814;
  border-color: rgba(0,0,0,0.65);
  background: rgba(0,0,0,0.05);
}


/* ── gs-hero__photo — shadow ─────────────────────────────────────────────────
   0 24px 80px rgba(0,0,0,0.7) is appropriate on dark bg; on parchment it
   creates a harsh dark blob. Reduce significantly for light mode.
   ─────────────────────────────────────────────────────────────────────────── */
[data-theme="light"] .gs-hero__photo {
  box-shadow: 0 12px 40px rgba(0,0,0,0.13);
}


/* ── gs-post-card — explicit light bg ───────────────────────────────────────
   Uses var(--near-black) which flips; this explicit rule ensures correctness
   even if var resolution order is unexpected.
   ─────────────────────────────────────────────────────────────────────────── */
[data-theme="light"] .gs-post-card {
  background: #ede8df;
}


/* ═══════════════════════════════════════════════════════════════════════════
   v1.8.2 PATCH — Light Theme: Crimson-Background Text & Specificity Fixes
   ───────────────────────────────────────────────────────────────────────────
   Root cause A: var(--white) → #1a1814 in light mode. Any element whose
   BACKGROUND stays crimson/dark in light mode will have unreadable text.
   Root cause B: .gs-wrap a { color: inherit } has specificity (0,1,1).
   .gs-btn--primary { color: #f4f1ec } is (0,1,0) — loses to it silently.
   Fix for B: [data-theme="light"] + class = (0,2,0) beats (0,1,1).
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── gs-callin stays crimson in both modes — force ALL text to off-white ── */
[data-theme="light"] .gs-callin__number { color: #f4f1ec; }
[data-theme="light"] .gs-callin__number a { color: #f4f1ec; }

/* ── gs-faq__q::before — Q-badge: background: var(--crimson), text must be light ── */
[data-theme="light"] .gs-faq__q::before { color: #f4f1ec; }

/* ── gs-post-card__read-more — crimson background, var(--white) text flips ── */
[data-theme="light"] .gs-post-card__read-more { color: #f4f1ec; }
[data-theme="light"] .gs-post-card__read-more:hover { color: #f4f1ec; }

/* ── gs-btn--primary — specificity fix ──────────────────────────────────────
   .gs-wrap a { color:inherit } (0,1,1) outranks .gs-btn--primary (0,1,0).
   [data-theme] + class = (0,2,0) wins the second column: 2 > 1.
   ─────────────────────────────────────────────────────────────────────────── */
[data-theme="light"] .gs-btn--primary,
[data-theme="light"] .gs-btn--primary:hover { color: #f4f1ec; }


/* ═══════════════════════════════════════════════════════════════════════════
   v1.8.5 PATCH — Inline link styles inside .gs-pillar__desc
   ───────────────────────────────────────────────────────────────────────────
   Root cause: .gs-wrap a { color: inherit; text-decoration: none } strips
   all link affordances globally. Prose <a> tags inside partner/pillar card
   descriptions were invisible — same muted color as body text, no underline,
   no cursor change visible until hover. Added explicit selectors for both
   dark (default) and light modes.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Dark mode (default) ── */
.gs-pillar__desc a {
  color: var(--crimson-lit);
  text-decoration: underline;
  text-decoration-color: rgba(212, 99, 90, 0.35);
  text-underline-offset: 3px;
  transition: color var(--t-fast), text-decoration-color var(--t-fast);
}
.gs-pillar__desc a:hover {
  color: var(--gold);
  text-decoration-color: rgba(201, 168, 76, 0.6);
}

/* ── Light mode ── */
/* --crimson-lit (#d4635a) on parchment fails WCAG AA contrast; use         */
/* --crimson-mid (#8b0000) — deep dark-red, clearly legible on warm whites. */
[data-theme="light"] .gs-pillar__desc a {
  color: var(--crimson-mid);
  text-decoration-color: rgba(139, 0, 0, 0.35);
}
[data-theme="light"] .gs-pillar__desc a:hover {
  color: var(--crimson);
  text-decoration-color: var(--crimson);
}

/* ─────────────────────────────────────────────────────────────────────────────
   [gs_faqs] shortcode output — definition-list accordion FAQ
   ───────────────────────────────────────────────────────────────────────────── */
.gs-faqs { padding-block: clamp(2rem, 6vw, 5rem); background: var(--near-black); }
.gs-faqs__heading {
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 3vw, 2.2rem);
  font-weight: 900;
  color: var(--white);
  text-align: center;
  margin: 0 0 2.5rem;
}
.gs-faqs__list {
  max-width: 860px;
  margin-inline: auto;
  padding-inline: clamp(1rem, 3vw, 2rem);
}
.gs-faqs__item {
  border-bottom: 1px solid var(--border);
  padding-block: 1.4rem;
}
.gs-faqs__item:last-child { border-bottom: none; }
.gs-faqs__question {
  font-family: var(--font-condensed);
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--white);
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin: 0 0 0.75rem;
}
.gs-faqs__question::before {
  content: 'Q';
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  background: var(--crimson);
  color: #f4f1ec;
  font-family: var(--font-condensed);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  border-radius: 3px;
  margin-top: 1px;
}
.gs-faqs__answer {
  font-size: 1rem;
  color: var(--muted);
  line-height: 1.75;
  padding-left: 2.25rem;
  margin: 0;
}
.gs-faqs__answer p { margin: 0; }
.gs-faqs__answer a { color: var(--crimson-lit); text-decoration: underline; text-underline-offset: 3px; }
/* --white and --muted already flip via token swap in light mode — no overrides needed for heading/question.
   Only border and link color need explicit light mode values. */
[data-theme="light"] .gs-faqs__item { border-bottom-color: rgba(0,0,0,0.1); }
[data-theme="light"] .gs-faqs__answer a { color: var(--crimson-mid); }

/* ─────────────────────────────────────────────────────────────────────────────
   .gs-shop-feature — two-column image/text split (hero, owner, hours)
   ───────────────────────────────────────────────────────────────────────────── */
.gs-shop-feature {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.5rem 4rem;
  align-items: center;
}
.gs-shop-feature__text {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.gs-shop-feature__btns {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 0.5rem;
}
.gs-shop-feature__img img {
  width: 100%;
  height: auto;
  border-radius: var(--radius-md);
  border: 1px solid var(--border);
  display: block;
}
.gs-shop-feature__map {
  min-height: 380px;
  border-radius: var(--radius-md);
  overflow: hidden;
  border: 1px solid var(--border);
}
.gs-shop-feature__map iframe {
  width: 100%;
  height: 100%;
  min-height: 380px;
  border: 0;
  display: block;
}
.gs-shop-info-label {
  font-family: var(--font-condensed);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--crimson);
  margin: 0 0 0.4rem;
  padding-bottom: 0.35rem;
  border-bottom: 1px solid var(--border);
}
@media (max-width: 768px) {
  .gs-shop-feature { grid-template-columns: 1fr; gap: 2rem; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   v3.9.2 PATCH — Button parity, card contrast, footer text, link icons
   ───────────────────────────────────────────────────────────────────────────
   Multiple fixes applied in one batch. See changelog for details.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── BROADCAST SECTION CARD CONTRAST ────────────────────────────────────────
   gs-broadcast background = var(--panel) #16181f. gs-pillar cards also use
   var(--panel) — making them invisible against the section. Use var(--black)
   so cards read as slightly-darker-than-panel, creating clear separation.   */
.gs-broadcast .gs-pillar { background: var(--black); }

/* ── LIGHT MODE BUTTON TEXT — SPECIFICITY FIXES ─────────────────────────────
   Root cause: .gs-wrap a { color: inherit } is (0,1,1). All crimson-background
   button selectors are (0,1,0) — they lose to the inherited dark body text in
   light mode. Fix: [data-theme] prefix raises specificity to (0,2,0).         */
[data-theme="light"] .gs-pillar__link,
[data-theme="light"] .gs-pillar__link:hover { color: #f4f1ec; }

[data-theme="light"] .gs-host-card__fb,
[data-theme="light"] .gs-host-card__fb:hover { color: #f4f1ec; }

[data-theme="light"] .gs-station:not(.gs-station--cta) .gs-station__cta-link,
[data-theme="light"] .gs-station:not(.gs-station--cta) .gs-station__cta-link:hover { color: #f4f1ec; }

[data-theme="light"] .gs-btn--outline,
[data-theme="light"] .gs-btn--outline:hover { color: #f4f1ec; }

[data-theme="light"] .gs-auction-hero__btn--outline,
[data-theme="light"] .gs-auction-hero__btn--outline:hover { color: #f4f1ec; }

/* ── FOOTER TEXT SIZE BUMP ───────────────────────────────────────────────────
   Footer text was running small. Bumped all tiers ~10-15% for legibility.    */
.gs-footer-col__heading { font-size: 0.78rem; }
.gs-footer-col__list a  { font-size: 0.95rem; }
.gs-footer-col__address { font-size: 0.9rem; }
.gs-footer-col__hours   { font-size: 0.85rem; }
.gs-footer-bottom__copy { font-size: 0.78rem; }
.gs-footer-nav a        { font-size: 0.875rem; }

/* ── BUTTON ICONS ────────────────────────────────────────────────────────────
   Two Unicode characters, applied universally via ::after.
   External (target="_blank") → ↗ U+2197  NORTH EAST ARROW
   Internal (self-referential) → ⟲ U+27F2  ANTICLOCKWISE GLYPH AROUND TOP
   Phone (href^="tel:") → ☎ U+260E  BLACK TELEPHONE                          */

/* ── External: ↗ ── */
a.gs-btn[target="_blank"]::after,
a.gs-auction-hero__btn[target="_blank"]::after,
.gs-pillar__link[target="_blank"]::after,
.gs-station__cta-link[target="_blank"]::after,
.gs-host-card__fb[target="_blank"]::after,
.gs-platform-link[target="_blank"]::after {
  content: '\00A0\2197';
  font-style: normal;
  font-size: 0.85em;
  opacity: 0.85;
}

/* ── Internal: ⟲ ── */
a.gs-btn:not([target="_blank"]):not([href^="tel:"])::after,
a.gs-auction-hero__btn:not([target="_blank"]):not([href^="tel:"])::after,
.gs-pillar__link:not([target="_blank"])::after,
.gs-station__cta-link:not([target="_blank"])::after,
.gs-auction-hero__past::after {
  content: '\00A0\27F2';
  font-style: normal;
  font-size: 0.85em;
  opacity: 0.85;
}

/* ── Phone: ☎ ── */
a.gs-btn[href^="tel:"]::after,
a.gs-auction-hero__btn[href^="tel:"]::after {
  content: '\00A0\260E';
  font-style: normal;
  font-size: 0.85em;
  opacity: 0.85;
}


/* ══════════════════════════════════════════════════════════════
   JOB LISTINGS  [gs_jobs]
   ══════════════════════════════════════════════════════════════ */

/* ── Job listings card grid — exactly 2 per row, 1 on mobile ── */
.gs-pillars__grid--jobs {
  grid-template-columns: repeat(2, 1fr);
  width: 96%;
  max-width: none;
  margin-inline: auto;
}

@media (max-width: 640px) {
  .gs-pillars__grid--jobs { grid-template-columns: 1fr; width: 100%; }
}

.gs-pillar__body p { margin-block-end: .9rem; }
.gs-pillar__body p:last-child { margin-block-end: 0; }

.gs-pillar__body h3 {
  font-family: var(--font-condensed);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--crimson-lit);
  margin-block: 1.1rem .35rem;
}

.gs-pillar__reqs-heading {
  font-family: var(--font-condensed);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--crimson-lit);
  margin-block: 1.1rem .35rem !important;
}

.gs-pillar__body ul,
.gs-pillar__reqs {
  list-style: disc;
  padding-left: 1.2rem;
  margin-block: 0 0;
  font-size: .9rem;
  line-height: 1.7;
}

.gs-pillar__pay {
  margin-top: 1rem;
  font-family: var(--font-condensed);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--gold);
  letter-spacing: .02em;
}

/* ── Location pills — centered under gs-rule, above title ── */
.gs-job-card__meta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  flex-wrap: wrap;
  margin-bottom: .75rem;
}

.gs-job-card__loc-pill {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  font-family: var(--font-condensed);
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--muted);
  background: var(--near-black);
  border: 1px solid var(--border);
  border-radius: 2rem;
  padding: .3rem .85rem .3rem .65rem;
  line-height: 1;
}

.gs-job-card__pin { opacity: .65; flex-shrink: 0; }

/* ── Body prose ──*/
.gs-job-card__body { line-height: 1.85; margin-top: 2rem; }
.gs-job-card__body p { margin-block-end: 1.25rem; }
.gs-job-card__body p:last-child { margin-block-end: 0; }

/* ── Section subheadings: shortcode-injected + content h3/h4 ── */
.gs-job-card__sh,
.gs-job-card__body h3 {
  font-family: var(--font-condensed);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--crimson-lit);
  margin-block: 2rem .65rem;
  padding-bottom: .5rem;
  border-bottom: 1px solid var(--border-red);
  text-align: left;
}

.gs-job-card__sh:first-child,
.gs-job-card__body > h3:first-child { margin-top: 0; }

/* ── Bullet lists inside content (responsibilities etc.) ── */
.gs-job-card__body ul,
.gs-job-card__reqs {
  list-style: disc;
  padding-left: 1.4rem;
  margin-block: .5rem 1.25rem;
}

.gs-job-card__body ul li,
.gs-job-card__reqs li { margin-bottom: .4rem; }

/* ── Footer: compensation (left) + primary apply button (right) ── */
.gs-job-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1.25rem;
  margin-top: 2.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--border);
}

.gs-job-card__apply-bottom { margin: 0; }

.gs-job-card__pay {
  display: flex;
  flex-direction: column;
  gap: .2rem;
}

.gs-job-card__pay-label {
  font-family: var(--font-condensed);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--muted);
}

.gs-job-card__pay-val {
  font-family: var(--font-condensed);
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--gold);
  letter-spacing: .02em;
}

/* ── Mobile stacking ── */
@media ( max-width: 560px ) {
  .gs-job-card__footer { flex-direction: column; align-items: flex-start; }
  .gs-job-card__apply-bottom { align-self: stretch; text-align: center; }
}

/* ── Job apply page — listing context block ── */
.gs-apply-listing {
  padding: 1.5rem 1.75rem;
  border-left: 3px solid var(--crimson);
  background: var(--near-black);
  border-radius: 0 4px 4px 0;
  margin-bottom: 2.5rem;
}
[data-theme="light"] .gs-apply-listing { background: #f4f1ec; }
.gs-apply-listing__back {
  display: inline-block;
  font-family: var(--font-condensed);
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--crimson);
  text-decoration: none;
  margin-bottom: 1.25rem;
}
.gs-apply-listing__back:hover { text-decoration: underline; }
.gs-apply-listing__body { margin-top: 1rem; }
.gs-apply-listing__body ul,
.gs-apply-listing .gs-pillar__reqs {
  list-style: disc;
  padding-left: 1.2rem;
}
.gs-apply-listing__divider {
  border: none;
  border-top: 1px solid var(--border);
  margin-block: 2rem;
}

/* ── Hiring page legal disclaimer ── */
.gs-section--legal { padding-block: 1rem 2.5rem; }
.gs-legal-note {
  font-size: .8rem;
  line-height: 1.7;
  color: var(--muted);
  opacity: .7;
  text-align: center;
  max-width: 68ch;
  margin-inline: auto;
}
