.flm-single { padding-inline: 0; }
.flm-singlehead { padding-inline: 0; }
/* Article text = 80% of the featured image (min(96vw,1480px)) on desktop, equal
   to it on mobile. The body width is the post-content contentSize (set in
   single.html); the header text block matches here. */
.flm-singlehead__inner { width: min(76.8vw, 1184px); margin-inline: auto; padding-block: clamp(2rem, 5vw, 4rem) clamp(1.5rem, 3vw, 2.5rem); }
.flm-singlehead__eyebrow { color: var(--wp--preset--color--text-muted); text-transform: uppercase; letter-spacing: .12em; font-size: var(--wp--preset--font-size--caption); margin: 0 0 1rem; }
.flm-singlehead__title { color: var(--wp--preset--color--text-primary); font-weight: 600; font-size: clamp(2rem, 4vw, 3.25rem); line-height: 1.1; margin: 0 0 1rem; max-width: 24ch; }
.flm-singlehead__meta { color: var(--wp--preset--color--text-muted); font-size: var(--wp--preset--font-size--caption); margin: 0; }
.flm-singlehead__featured { display: block; width: min(96vw, 1480px); margin: clamp(1.5rem,3vw,2.5rem) auto 0; height: auto; border-radius: 6px; }
.flm-single__body { color: var(--wp--preset--color--text-secondary); padding-block: clamp(2rem, 4vw, 3.5rem); }
.flm-single__body p { font-weight: 300; line-height: 1.75; font-size: var(--wp--preset--font-size--body); margin: 0 0 1.4rem; }
.flm-single__body h2 { color: var(--wp--preset--color--text-primary); font-weight: 600; font-size: clamp(1.4rem, 2.2vw, 2rem); margin: 2.5rem 0 1rem; }
.flm-single__body h3 { color: var(--wp--preset--color--text-primary); font-weight: 600; font-size: var(--wp--preset--font-size--body-lg); margin: 1.75rem 0 .75rem; }
.flm-single__body ul { margin: 0 0 1.4rem; padding-left: 1.25rem; }
.flm-single__body li { line-height: 1.6; margin-bottom: .5rem; }
.flm-single__body figure { margin: 2rem 0; }
.flm-single__body img { width: 100%; height: auto; border-radius: 6px; display: block; }
.flm-related { padding-inline: 0; }
.flm-related__card { box-sizing: border-box; display: flex; align-items: center; gap: 1.25rem; width: min(92vw, 760px); margin: 0 auto clamp(2rem,4vw,3rem); background: var(--wp--preset--color--surface-base); border-radius: 6px; padding: 1rem 1.25rem; text-decoration: none; }
.flm-related__label { color: var(--wp--preset--color--text-muted); text-transform: uppercase; letter-spacing: .08em; font-size: var(--wp--preset--font-size--caption); }
.flm-related__img { width: 96px; height: 64px; object-fit: cover; border-radius: 4px; }
.flm-related__title { color: var(--wp--preset--color--text-primary); font-weight: 600; font-size: var(--wp--preset--font-size--caption); }

/* Mobile: article text matches the featured image width (96vw) instead of 80%. */
@media (max-width: 767px) {
  .flm-singlehead__inner { width: 96vw; }
  /* Drop WP's has-global-padding so the body content box can reach 96vw. */
  .flm-single .flm-single__body { padding-inline: 0; }
  .flm-single .flm-single__body.is-layout-constrained > :where(:not(.alignfull):not(.alignwide)) { max-width: 96vw; }
}
