/* ============================================================================
   Rojadirecta — bold Spanish street-art mural design system
   Direction: vibrant red + yellow + black + white, mural-style hard-edge blocks,
   geometric display sans (Anton/Bebas), italic accents, urban poster energy.
   Cross-Atlantic Spanish guide (España + LATAM). All site classes prefixed `rj-`.
   ============================================================================ */

:root {
  /* Surfaces */
  --rj-bg:          #fffdf6;
  --rj-bg-cream:    #faf6e8;
  --rj-bg-card:     #ffffff;
  --rj-bg-deep:     #111111;
  --rj-bg-yellow:   #fcdc4d;

  /* Brand mural palette */
  --rj-red:         #e63946;
  --rj-red-dark:    #b51d28;
  --rj-yellow:      #fcdc4d;
  --rj-yellow-dark: #e6c33b;
  --rj-black:       #1a1a1a;
  --rj-ink:         #111111;
  --rj-ink-soft:    #2c2c2c;
  --rj-muted:       #5a5a5a;
  --rj-rule:        #1a1a1a;
  --rj-rule-soft:   #cccccc;

  /* Type — bold geometric sans for headlines, modern grotesk for body */
  --rj-font-display: "Anton", "Bebas Neue", "Big Caslon Display", Impact, sans-serif;
  --rj-font-body:    "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;
  --rj-font-italic:  "Inter Italic", Georgia, "Times New Roman", serif;

  /* Spacing */
  --rj-s1:  4px;
  --rj-s2:  8px;
  --rj-s3: 12px;
  --rj-s4: 16px;
  --rj-s5: 24px;
  --rj-s6: 32px;
  --rj-s7: 48px;
  --rj-s8: 64px;
  --rj-s9: 96px;

  /* Layout */
  --rj-container:        1200px;
  --rj-container-narrow:  740px;
  --rj-radius-sm: 0;
  --rj-radius-md: 0;
  --rj-shadow-poster: 6px 6px 0 var(--rj-black);
}

/* Reset */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: var(--rj-font-body);
  font-size: 16px;
  line-height: 1.6;
  color: var(--rj-ink);
  background: var(--rj-bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
img, picture, svg { display: block; max-width: 100%; height: auto; }
button { font: inherit; cursor: pointer; border: 0; background: transparent; padding: 0; color: inherit; }

/* Mural background — diagonal red+yellow ribbon stripe overlay */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  opacity: 0.04;
  background-image:
    repeating-linear-gradient(45deg, var(--rj-red) 0 12px, transparent 12px 60px),
    repeating-linear-gradient(-45deg, var(--rj-yellow) 0 8px, transparent 8px 80px);
}
body > * { position: relative; z-index: 1; }

/* Typography — Anton/Bebas for big bold headlines */
h1, h2, h3, h4 {
  font-family: var(--rj-font-display);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: var(--rj-black);
  margin: 0 0 var(--rj-s4);
}
h1 { font-size: 56px; letter-spacing: -0.005em; }
h2 { font-size: 38px; margin-top: var(--rj-s7); }
h3 { font-size: 26px; margin-top: var(--rj-s6); text-transform: none; letter-spacing: 0; }
h4 { font-size: 20px; margin-top: var(--rj-s5); text-transform: none; letter-spacing: 0; }
@media (max-width: 720px) {
  h1 { font-size: 40px; }
  h2 { font-size: 28px; }
  h3 { font-size: 22px; }
}
p { margin: 0 0 var(--rj-s4); }
em, i { font-style: italic; color: var(--rj-red-dark); font-weight: 500; }
strong, b { font-weight: 700; color: var(--rj-black); }
ul, ol { margin: 0 0 var(--rj-s4); padding-left: var(--rj-s5); }
li { margin: var(--rj-s2) 0; }
a {
  color: var(--rj-red);
  text-decoration: none;
  border-bottom: 2px solid var(--rj-red);
  font-weight: 600;
}
a:hover { color: var(--rj-red-dark); border-bottom-color: var(--rj-yellow); background: var(--rj-yellow); }
hr { border: 0; border-top: 4px solid var(--rj-black); margin: var(--rj-s7) 0; }
blockquote {
  margin: var(--rj-s5) 0;
  padding: var(--rj-s5) var(--rj-s6);
  background: var(--rj-yellow);
  border-left: 8px solid var(--rj-black);
  font-family: Georgia, serif;
  font-style: italic;
  font-size: 19px;
  color: var(--rj-black);
}

/* Containers */
.rj-container { max-width: var(--rj-container); margin: 0 auto; padding: 0 var(--rj-s5); }
.rj-container--narrow { max-width: var(--rj-container-narrow); margin: 0 auto; padding: 0 var(--rj-s5); }
@media (max-width: 720px) {
  .rj-container, .rj-container--narrow { padding: 0 var(--rj-s4); }
}

/* Disclaimer — black bar with red accent */
.rj-disclaimer {
  background: var(--rj-black);
  color: var(--rj-bg-cream);
  font-size: 13px;
  border-bottom: 6px solid var(--rj-red);
}
.rj-disclaimer__inner { padding: var(--rj-s3) var(--rj-s5); }
.rj-disclaimer__text { margin: 0; line-height: 1.5; }
.rj-disclaimer__text strong { color: var(--rj-yellow); }
.rj-disclaimer__text a { color: var(--rj-yellow); border-bottom-color: var(--rj-yellow); }
.rj-disclaimer__text a:hover { background: var(--rj-yellow); color: var(--rj-black); }

/* Header — poster style, big bold logo */
.rj-header {
  background: var(--rj-bg);
  border-bottom: 4px solid var(--rj-black);
}
.rj-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--rj-s4) var(--rj-s5);
  flex-wrap: wrap;
  gap: var(--rj-s3);
}
.rj-logo {
  display: flex;
  align-items: baseline;
  gap: var(--rj-s3);
  text-decoration: none;
  border: 0;
}
.rj-logo:hover { background: transparent; }
.rj-logo__mark {
  display: inline-block;
  background: var(--rj-red);
  color: var(--rj-bg-cream);
  padding: 4px 10px;
  font-family: var(--rj-font-display);
  font-size: 28px;
  font-weight: 400;
  letter-spacing: 0.04em;
  border: 3px solid var(--rj-black);
  box-shadow: 4px 4px 0 var(--rj-black);
}
.rj-logo__wordmark {
  font-family: var(--rj-font-display);
  font-size: 30px;
  color: var(--rj-black);
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.rj-logo__tagline {
  font-style: italic;
  font-size: 13px;
  color: var(--rj-muted);
  margin-left: var(--rj-s2);
}
@media (max-width: 720px) {
  .rj-logo__tagline { display: none; }
  .rj-logo__wordmark { font-size: 22px; }
}
.rj-nav {
  display: flex;
  gap: var(--rj-s2);
  flex-wrap: wrap;
}
.rj-nav__link {
  text-decoration: none;
  border: 2px solid var(--rj-black);
  background: var(--rj-bg);
  color: var(--rj-black);
  font-family: var(--rj-font-display);
  font-size: 16px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding: 6px 14px;
  font-weight: 400;
}
.rj-nav__link:hover { background: var(--rj-yellow); color: var(--rj-black); border-color: var(--rj-black); }
.rj-nav__link--active { background: var(--rj-red); color: var(--rj-bg-cream); border-color: var(--rj-black); }
.rj-nav-toggle {
  display: none;
  width: 38px;
  height: 38px;
  border: 2px solid var(--rj-black);
  background: var(--rj-yellow);
  position: relative;
}
.rj-nav-toggle span {
  display: block;
  width: 22px;
  height: 3px;
  background: var(--rj-black);
  margin: 4px auto;
}
@media (max-width: 720px) {
  .rj-nav-toggle { display: block; }
  .rj-nav { display: none; width: 100%; flex-direction: column; }
  .rj-nav--open { display: flex; }
  .rj-nav__link { width: 100%; text-align: center; }
}

/* Breadcrumb */
.rj-breadcrumb {
  background: var(--rj-bg-cream);
  border-bottom: 2px solid var(--rj-black);
  padding: var(--rj-s2) 0;
  font-size: 13px;
  font-family: var(--rj-font-body);
}
.rj-breadcrumb ol {
  list-style: none;
  margin: 0; padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: var(--rj-s2);
}
.rj-breadcrumb li { margin: 0; }
.rj-breadcrumb li + li::before { content: "›"; color: var(--rj-red); margin-right: var(--rj-s2); font-weight: bold; }
.rj-breadcrumb a { color: var(--rj-ink-soft); border: 0; font-weight: 500; }
.rj-breadcrumb a:hover { color: var(--rj-red); background: transparent; }

/* Home hero — mural overlay block */
.rj-home-hero {
  position: relative;
  background: var(--rj-red);
  color: var(--rj-bg-cream);
  padding: var(--rj-s9) 0 var(--rj-s8);
  border-bottom: 8px solid var(--rj-black);
  overflow: hidden;
}
.rj-home-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 80% 20%, var(--rj-yellow) 0 60px, transparent 60px),
    repeating-linear-gradient(135deg, transparent 0 30px, rgba(0,0,0,0.08) 30px 32px);
  opacity: 0.55;
  pointer-events: none;
}
.rj-home-hero__kicker {
  font-family: var(--rj-font-display);
  font-size: 14px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--rj-yellow);
  margin: 0 0 var(--rj-s3);
}
.rj-home-hero__title {
  font-size: 72px;
  color: var(--rj-bg-cream);
  margin: 0 0 var(--rj-s4);
  line-height: 0.98;
}
@media (max-width: 720px) { .rj-home-hero__title { font-size: 44px; } }
.rj-home-hero__lede {
  font-size: 19px;
  font-style: italic;
  font-family: Georgia, serif;
  color: var(--rj-bg-cream);
  max-width: 700px;
  margin: 0 0 var(--rj-s5);
}
.rj-home-hero__rule {
  width: 120px;
  height: 8px;
  background: var(--rj-yellow);
  border: 2px solid var(--rj-black);
}

/* Section blocks */
.rj-home-fixtures, .rj-home-broadcasters, .rj-home-content {
  padding: var(--rj-s8) 0;
  border-bottom: 4px solid var(--rj-black);
}
.rj-section-title {
  font-size: 36px;
  margin: 0 0 var(--rj-s2);
  display: flex;
  align-items: center;
  gap: var(--rj-s4);
  flex-wrap: wrap;
}
.rj-section-title a {
  font-family: var(--rj-font-body);
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-left: auto;
  background: var(--rj-yellow);
  border: 2px solid var(--rj-black);
  color: var(--rj-black);
  padding: 4px 10px;
}
.rj-section-title a:hover { background: var(--rj-black); color: var(--rj-yellow); }
.rj-section-lede {
  font-size: 17px;
  font-style: italic;
  color: var(--rj-muted);
  font-family: Georgia, serif;
  margin: 0 0 var(--rj-s5);
  max-width: 720px;
}

/* Home content intro */
.rj-home-content__intro { font-size: 17px; }

/* Broadcaster grid */
.rj-broadcaster-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: var(--rj-s5);
}
.rj-broadcaster-card {
  background: var(--rj-bg-card);
  border: 3px solid var(--rj-black);
  padding: var(--rj-s5);
  box-shadow: var(--rj-shadow-poster);
  position: relative;
}
.rj-broadcaster-card__country {
  font-family: var(--rj-font-display);
  font-size: 13px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--rj-red);
  margin: 0 0 var(--rj-s2);
}
.rj-broadcaster-card__name {
  font-size: 24px;
  margin: 0 0 var(--rj-s3);
  text-transform: none;
}
.rj-broadcaster-card__tagline {
  font-style: italic;
  color: var(--rj-ink-soft);
  font-size: 15px;
  margin: 0 0 var(--rj-s4);
  font-family: Georgia, serif;
}
.rj-broadcaster-card__carries {
  list-style: none;
  margin: 0 0 var(--rj-s4); padding: 0;
  border-top: 2px solid var(--rj-black);
}
.rj-broadcaster-card__carries li {
  display: flex;
  justify-content: space-between;
  padding: var(--rj-s2) 0;
  border-bottom: 1px dotted var(--rj-rule-soft);
  font-size: 14px;
}
.rj-broadcaster-card__label { color: var(--rj-muted); }
.rj-broadcaster-card__value { font-weight: 700; color: var(--rj-black); }
.rj-broadcaster-card__cta {
  display: inline-block;
  font-family: var(--rj-font-display);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--rj-bg-cream);
  background: var(--rj-black);
  border: 2px solid var(--rj-black);
  padding: 6px 14px;
  font-size: 14px;
}
.rj-broadcaster-card__cta:hover { background: var(--rj-red); color: var(--rj-bg-cream); border-color: var(--rj-black); }

/* News rail */
.rj-news-rail { padding: var(--rj-s8) 0; background: var(--rj-bg-cream); border-bottom: 4px solid var(--rj-black); }
.rj-news-list {
  list-style: none;
  margin: 0; padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: var(--rj-s5);
}
.rj-news-list li { margin: 0; }
.rj-news-card {
  display: block;
  background: var(--rj-bg-card);
  border: 3px solid var(--rj-black);
  padding: var(--rj-s5);
  box-shadow: var(--rj-shadow-poster);
  text-decoration: none;
  color: var(--rj-black);
  font-weight: 500;
}
.rj-news-card:hover {
  background: var(--rj-yellow);
  color: var(--rj-black);
  border-color: var(--rj-black);
}
.rj-news-card__meta {
  display: block;
  font-family: var(--rj-font-display);
  font-size: 13px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--rj-red);
  margin-bottom: var(--rj-s2);
}
.rj-news-card__title { font-size: 22px; margin: 0 0 var(--rj-s2); text-transform: none; }
.rj-news-card__desc { color: var(--rj-ink-soft); font-size: 15px; font-style: italic; font-family: Georgia, serif; margin: 0; }

/* Article */
.rj-article { padding: 0 0 var(--rj-s9); }
.rj-hero {
  position: relative;
  margin: 0;
  border-bottom: 6px solid var(--rj-black);
  overflow: hidden;
}
.rj-hero img { width: 100%; height: auto; aspect-ratio: 1240 / 620; object-fit: cover; }
.rj-hero__overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(to top, rgba(0,0,0,0.4) 0%, transparent 40%),
    repeating-linear-gradient(135deg, transparent 0 24px, rgba(230, 57, 70, 0.06) 24px 25px);
  mix-blend-mode: multiply;
}
.rj-hero__rule {
  height: 8px;
  background: linear-gradient(to right, var(--rj-red) 0 33%, var(--rj-yellow) 33% 66%, var(--rj-black) 66% 100%);
}

.rj-article__meta {
  font-family: var(--rj-font-display);
  font-size: 14px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--rj-muted);
  margin: var(--rj-s6) 0 var(--rj-s3);
  display: flex;
  gap: var(--rj-s4);
  flex-wrap: wrap;
}
.rj-article__meta time { color: var(--rj-red); }
.rj-article__author { color: var(--rj-black); }
.rj-article__reading { color: var(--rj-muted); }
.rj-article__title {
  font-size: 52px;
  margin: 0 0 var(--rj-s4);
  line-height: 1;
}
@media (max-width: 720px) { .rj-article__title { font-size: 34px; } }
.rj-article__lede {
  font-size: 21px;
  line-height: 1.45;
  color: var(--rj-ink-soft);
  margin: 0 0 var(--rj-s6);
  font-family: Georgia, serif;
  font-style: italic;
  border-left: 6px solid var(--rj-red);
  padding-left: var(--rj-s4);
}

/* Body content */
.rj-content { font-size: 17px; line-height: 1.7; }
.rj-content h2 { color: var(--rj-black); }
.rj-content h2::before { content: "■ "; color: var(--rj-red); }
.rj-content h3 { color: var(--rj-black); }
.rj-content table {
  width: 100%;
  border-collapse: collapse;
  margin: var(--rj-s5) 0;
  border: 3px solid var(--rj-black);
  font-size: 15px;
}
.rj-content th {
  background: var(--rj-black);
  color: var(--rj-yellow);
  padding: var(--rj-s3) var(--rj-s4);
  text-align: left;
  font-family: var(--rj-font-display);
  font-weight: 400;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.rj-content td { padding: var(--rj-s3) var(--rj-s4); border-bottom: 1px solid var(--rj-rule-soft); }
.rj-content tr:nth-child(even) td { background: var(--rj-bg-cream); }

/* Section list (for hub list pages) */
.rj-section-list {
  list-style: none;
  margin: var(--rj-s6) 0; padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: var(--rj-s4);
}
.rj-section-list li { margin: 0; }
.rj-section-list a {
  display: block;
  background: var(--rj-bg-card);
  border: 3px solid var(--rj-black);
  box-shadow: var(--rj-shadow-poster);
  padding: var(--rj-s4) var(--rj-s5);
  text-decoration: none;
  color: var(--rj-black);
}
.rj-section-list a:hover { background: var(--rj-yellow); }
.rj-section-list__title { font-family: var(--rj-font-display); font-size: 22px; margin: 0 0 var(--rj-s2); text-transform: uppercase; letter-spacing: 0.02em; }
.rj-section-list__desc { font-style: italic; font-family: Georgia, serif; margin: 0; color: var(--rj-ink-soft); font-size: 14px; }

/* Related cards — mural-poster cards with hard divider */
.rj-related {
  margin: var(--rj-s8) 0 var(--rj-s6);
  padding-top: var(--rj-s5);
  border-top: 6px double var(--rj-black);
}
.rj-related__heading {
  font-size: 28px;
  font-style: italic;
  font-family: Georgia, serif;
  text-transform: none;
  color: var(--rj-red-dark);
  margin: 0 0 var(--rj-s4);
}
.rj-related__list {
  list-style: none;
  margin: 0; padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: var(--rj-s4);
}
.rj-related__list li { margin: 0; }
.rj-related-card {
  position: relative;
  background: var(--rj-bg-card);
  border: 3px solid var(--rj-black);
  padding: var(--rj-s5);
  box-shadow: var(--rj-shadow-poster);
}
.rj-related-card__chip {
  display: inline-block;
  background: var(--rj-yellow);
  color: var(--rj-black);
  border: 2px solid var(--rj-black);
  font-family: var(--rj-font-display);
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 2px 8px;
  margin-bottom: var(--rj-s3);
}
.rj-related-card--equipo .rj-related-card__chip { background: var(--rj-red); color: var(--rj-bg-cream); }
.rj-related-card--editorial .rj-related-card__chip { background: var(--rj-black); color: var(--rj-yellow); }
.rj-related-card__link { display: block; text-decoration: none; color: var(--rj-black); border: 0; }
.rj-related-card__link:hover { background: transparent; color: var(--rj-red); border: 0; }
.rj-related-card__title {
  display: block;
  font-family: var(--rj-font-display);
  font-size: 22px;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  margin-bottom: var(--rj-s2);
}
.rj-related-card__label {
  display: block;
  font-style: italic;
  font-family: Georgia, serif;
  color: var(--rj-ink-soft);
  font-size: 14px;
}

/* FAQ */
.rj-faq {
  margin: var(--rj-s8) 0;
  padding: var(--rj-s5) 0;
  border-top: 4px solid var(--rj-black);
  border-bottom: 4px solid var(--rj-black);
}
.rj-faq__heading {
  font-size: 32px;
  margin: 0 0 var(--rj-s4);
  display: inline-block;
  background: var(--rj-yellow);
  border: 3px solid var(--rj-black);
  padding: var(--rj-s2) var(--rj-s4);
}
.rj-faq__item {
  margin: var(--rj-s3) 0;
  background: var(--rj-bg-card);
  border: 2px solid var(--rj-black);
  padding: var(--rj-s3) var(--rj-s4);
}
.rj-faq__item summary {
  cursor: pointer;
  font-weight: 700;
  font-family: var(--rj-font-body);
  font-size: 16px;
  color: var(--rj-black);
  list-style: none;
  position: relative;
  padding-left: var(--rj-s5);
}
.rj-faq__item summary::-webkit-details-marker { display: none; }
.rj-faq__item summary::before {
  content: "+";
  position: absolute;
  left: 0;
  color: var(--rj-red);
  font-family: var(--rj-font-display);
  font-size: 22px;
  line-height: 1;
}
.rj-faq__item[open] summary::before { content: "−"; }
.rj-faq__answer { padding: var(--rj-s3) 0 0 var(--rj-s5); color: var(--rj-ink-soft); }
.rj-faq__answer p { margin: 0 0 var(--rj-s3); }

/* Soccer widget shell */
.rj-soccer-widget {
  margin: var(--rj-s5) 0;
  border: 3px solid var(--rj-black);
  background: var(--rj-bg-cream);
  padding: var(--rj-s4);
  box-shadow: var(--rj-shadow-poster);
}
.rj-soccer-widget__fallback h3 {
  font-size: 22px;
  margin: 0 0 var(--rj-s3);
  text-transform: none;
}
.rj-fixtures-static { list-style: none; margin: 0; padding: 0; }
.rj-fixture {
  padding: var(--rj-s2) 0;
  border-bottom: 1px dotted var(--rj-rule-soft);
  display: flex;
  gap: var(--rj-s4);
  flex-wrap: wrap;
  align-items: baseline;
  font-size: 14px;
}
.rj-fixture time { color: var(--rj-red); font-family: var(--rj-font-display); letter-spacing: 0.05em; }
.rj-fixture__match { font-weight: 600; }
.rj-fixture__league { color: var(--rj-muted); font-style: italic; }

/* Footer — black with red+yellow chevron divider */
.rj-footer {
  background: var(--rj-bg-deep);
  color: var(--rj-bg-cream);
  margin-top: var(--rj-s9);
  position: relative;
}
.rj-footer::before {
  content: "";
  display: block;
  height: 24px;
  background:
    linear-gradient(135deg, var(--rj-red) 25%, transparent 25% 50%, var(--rj-red) 50% 75%, transparent 75%),
    linear-gradient(135deg, var(--rj-yellow) 25%, var(--rj-black) 25% 50%, var(--rj-yellow) 50% 75%, var(--rj-black) 75%);
  background-size: 48px 24px;
}
.rj-footer__top {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) 2fr;
  gap: var(--rj-s7);
  padding: var(--rj-s8) 0 var(--rj-s5);
}
@media (max-width: 860px) { .rj-footer__top { grid-template-columns: 1fr; } }
.rj-newsletter__heading {
  font-size: 28px;
  color: var(--rj-yellow);
  margin: 0 0 var(--rj-s3);
}
.rj-newsletter__copy {
  color: var(--rj-bg-cream);
  font-size: 15px;
  font-style: italic;
  font-family: Georgia, serif;
}
.rj-newsletter__cta {
  display: inline-block;
  margin-top: var(--rj-s3);
  background: var(--rj-red);
  color: var(--rj-bg-cream);
  padding: var(--rj-s3) var(--rj-s5);
  font-family: var(--rj-font-display);
  font-size: 15px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border: 2px solid var(--rj-yellow);
}
.rj-newsletter__cta:hover { background: var(--rj-yellow); color: var(--rj-black); border-color: var(--rj-yellow); }
.rj-footer__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: var(--rj-s5);
}
.rj-footer__col h4 {
  font-family: var(--rj-font-display);
  font-size: 14px;
  letter-spacing: 0.12em;
  color: var(--rj-yellow);
  text-transform: uppercase;
  margin: 0 0 var(--rj-s3);
}
.rj-footer__col ul { list-style: none; margin: 0; padding: 0; }
.rj-footer__col li { margin: 0 0 var(--rj-s2); }
.rj-footer__col a {
  color: var(--rj-bg-cream);
  font-size: 14px;
  border: 0;
  font-weight: 500;
}
.rj-footer__col a:hover { color: var(--rj-yellow); background: transparent; border: 0; }
.rj-footer__bottom {
  border-top: 2px solid var(--rj-red);
  padding: var(--rj-s4) 0 var(--rj-s5);
  font-size: 13px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--rj-s3);
  color: var(--rj-bg-cream);
  font-style: italic;
}
.rj-footer__pledge {
  font-family: var(--rj-font-display);
  font-style: normal;
  letter-spacing: 0.08em;
  color: var(--rj-yellow);
}
