/* Motobomb article typography hierarchy
   Loaded after site.css so editor block styles render consistently on live articles. */

.article-body {
  font-weight: 400;
}

.article-body p {
  font-weight: 400;
  line-height: 1.78;
}

.article-body h2,
.article-body .article-section-heading {
  display: block;
  margin: 2.15em 0 .7em;
  color: #fff;
  font-size: clamp(1.9rem, 4vw, 2.7rem);
  font-weight: 900;
  line-height: 1.08;
  letter-spacing: -.035em;
}

.article-body h3,
.article-body .article-subheading {
  display: block;
  margin: 1.8em 0 .65em;
  color: rgba(255,255,255,.96);
  font-size: clamp(1.3rem, 2.2vw, 1.6rem);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -.018em;
}

.article-body h2 + p,
.article-body h3 + p {
  margin-top: 0;
}

.article-body strong,
.article-body b {
  color: #fff;
  font-weight: 800;
}

@media (max-width: 720px) {
  .article-body h2,
  .article-body .article-section-heading {
    margin-top: 1.8em;
    font-size: clamp(1.65rem, 8vw, 2.15rem);
  }

  .article-body h3,
  .article-body .article-subheading {
    margin-top: 1.55em;
    font-size: clamp(1.2rem, 5.7vw, 1.45rem);
  }
}

/* Embedded article video */
.article-video { margin: 30px 0; }
.article-video-frame { overflow: hidden; aspect-ratio: 16 / 9; border: 1px solid rgba(255,255,255,.12); border-radius: 18px; background: #080808; }
.article-video.vertical .article-video-frame { width: min(430px, 100%); margin-inline: auto; aspect-ratio: 9 / 16; }
.article-video iframe,
.article-video video { display:block; width:100%; height:100%; border:0; object-fit:contain; background:#000; }
.article-video figcaption,
.article-video-caption { margin-top:10px; color:var(--muted); font-size:.86rem; line-height:1.55; }
.article-video-link { padding:18px; border:1px solid var(--line); border-radius:16px; background:rgba(255,255,255,.035); }
.article-video-link a { font-weight:900; color:#9cf5f3; }
