/* Media-first overlay: only the four reviewed-layout candidate pages load this file. */
.media-first .masthead-top { padding-block: 1.3rem; }
.media-first .locale-shell { padding-block: .65rem; }
.media-first main { padding-top: 0; }
.media-intro { padding-block: 2rem 1.75rem; border-bottom: 1px solid var(--color-boundary); }
.media-intro h1 { font-family: var(--font-sans); font-size: clamp(1.65rem, 3vw, 2.65rem); max-width: 32ch; line-height: 1.25; margin: .5rem 0 .85rem; }
.media-intro p:last-child { max-width: 70ch; margin: 0; color: var(--color-text-soft); }
.media-lead { display: grid; grid-template-columns: 1.35fr 1fr; gap: clamp(2rem, 5vw, 4.5rem); padding-block: 2.75rem; align-items: center; }
.media-lead h2 { font-family: var(--font-editorial); font-size: clamp(2rem, 3.6vw, 3.45rem); line-height: 1.16; max-width: 22ch; margin: .75rem 0 1.1rem; letter-spacing: -.025em; }
.media-lead h2 a, .media-reading h3 a { color: inherit; text-decoration: none; }
.media-lead h2 a:hover, .media-reading h3 a:hover { text-decoration: underline; text-underline-offset: .17em; }
.media-deck { max-width: 58ch; line-height: 1.75; font-size: 1.08rem; }
.media-steps { border: 1px solid var(--color-boundary); border-top: 4px solid var(--color-accent); background: var(--color-surface); padding: clamp(1.25rem, 3vw, 2rem); }
.media-steps h3 { font-family: var(--font-sans); font-size: 1.15rem; margin: 0 0 1.5rem; }
.media-steps ol { list-style: none; padding: 0; margin: 0; counter-reset: media-step; }
.media-steps li { counter-increment: media-step; display: grid; grid-template-columns: 2rem 1fr; gap: .75rem; padding-block: 1rem; border-top: 1px solid var(--color-boundary); }
.media-steps li::before { content: "0" counter(media-step); color: var(--color-accent); font-weight: 700; }
.media-steps strong { display: block; margin-bottom: .35rem; }
.media-steps p { margin: 0; color: var(--color-text-soft); font-size: .95rem; line-height: 1.65; }
.media-section { border-top: 1px solid var(--color-boundary); padding-block: 2.5rem; }
.media-section h2 { font-size: clamp(1.4rem, 2.5vw, 2rem); line-height: 1.3; max-width: 40ch; }
.media-section > p { max-width: 75ch; color: var(--color-text-soft); }
.media-reading { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; margin-top: 1.75rem; }
.media-reading article { border-inline-start: 3px solid var(--color-accent); padding-inline-start: 1.25rem; }
.media-reading h3 { font-size: 1.35rem; line-height: 1.4; margin: .5rem 0; }
.media-reading p { line-height: 1.75; }
.media-tools { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.75rem; margin-top: 1.5rem; }
.media-tools h3 { font-family: var(--font-sans); font-size: 1.08rem; }
.media-tools h3 a { display: inline-block; padding-block: .6rem; }
.media-tools p { color: var(--color-text-soft); margin-top: 0; line-height: 1.65; }
.media-first .article-hero { padding-block: 2.5rem; }
.media-first .article-heading h1 { font-size: clamp(2.05rem, 4vw, 3.9rem); max-width: 24ch; }
.media-first .article-heading .lead { max-width: 65ch; font-size: 1.14rem; line-height: 1.7; }
.media-first .article-layout { column-gap: 3rem; }
.media-first .rights-bridge { padding-block: 2.25rem; }
.media-first .rights-bridge h2 { font-size: clamp(1.4rem, 2.3vw, 2rem); max-width: 28ch; }
.media-first .article-body { min-width: 0; }
.media-toc { margin-block: 0 2rem; padding: 1.1rem 1.5rem; border: 1px solid var(--color-boundary); background: var(--color-surface); }
.media-toc h2 { font-family: var(--font-sans); font-size: 1rem; margin: 0 0 .5rem; }
.media-toc ul { display: flex; flex-wrap: wrap; gap: .25rem 1.5rem; list-style: none; margin: 0; padding: 0; }
.media-toc a { display: inline-block; padding-block: .65rem; }
.media-next { margin-block: 2rem; padding: 1.5rem; border-block: 1px solid var(--color-boundary); background: var(--color-accent-soft); }
.media-next h2 { font-size: 1.35rem; margin-top: 0; }
.media-next a { display: inline-block; padding-block: .65rem; }
.media-first :where(h2, h3)[id] { scroll-margin-top: 1.5rem; }
.media-first :where(a, button):focus-visible { outline: 3px solid var(--color-focus); outline-offset: 4px; }
.media-first :where(h1,h2,h3,p,a) { overflow-wrap: break-word; }
@media (max-width: 700px) {
  .media-lead, .media-reading, .media-tools { grid-template-columns: 1fr; }
  .media-lead { gap: 1.5rem; padding-block: 1.75rem; }
  .media-intro { padding-block: 1.5rem; }
  .media-lead h2 { max-width: none; }
  .media-tools { gap: .5rem; }
  .media-toc ul { display: block; }
  .media-first .article-hero { padding-block: 1.75rem; }
}
@media print {
  .media-toc, .media-first .rights-bridge { display: none; }
  .media-lead, .media-reading, .media-tools { display: block; }
  .media-steps, .media-next { break-inside: avoid; }
}
