/* CT report story: composition only, using the shared story design tokens. */
.ct-story section,
.ct-story #film { scroll-margin-top: 80px; }
.ct-story .ct-film video { width: 300px; }
.ct-story .ct-film figcaption { display: block; text-align: center; line-height: 1.6; }
.ct-story .ct-proof { padding: 0; background: transparent; }
.ct-story .ct-proof .cs-shot { box-shadow: none; }
.ct-story .ct-origin { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; padding-block: 48px 64px; border-top: 1px solid var(--line); }
.ct-story .ct-origin h2 { font-size: clamp(26px, 3vw, 36px); line-height: 1.15; letter-spacing: -.025em; }
.ct-story .ct-origin blockquote { margin: 0 0 20px; font-size: 25px; line-height: 1.45; font-weight: 600; color: var(--cs-teal); }
.ct-story .ct-origin p:not(.cs-kicker) { color: var(--cs-muted); line-height: 1.8; }
.ct-story .ct-source { font-size: 13px; }
.ct-story :focus-visible { outline: 3px solid var(--cs-teal); outline-offset: 4px; }
.ct-story .ct-language-menu { position: static; }
.ct-story .ct-language-menu .language-menu-list { width: min(360px, calc(100vw - 32px)); }
.ct-story:is(:lang(ar), :lang(zh), :lang(ja), :lang(ko)) :is(h1, h2, h3, .cs-kicker),
.ct-teaser:is(:lang(ar), :lang(zh), :lang(ja), :lang(ko)) :is(h2, .cs-kicker) { letter-spacing: normal; }
.ct-story:lang(ar) :is(h1, h2, h3) { line-height: 1.4; }
.ct-story:dir(rtl) .cs-hero-note > span,
.ct-story:dir(rtl) .cs-button > span,
.ct-story:dir(rtl) .cs-text-link > span { transform: scaleX(-1); }
.ct-story .cs-footer nav { margin-left: 0; margin-inline-start: auto; }
@media (max-width: 700px) {
  .ct-story .cs-header.site-header { flex-wrap: wrap; gap: 12px; padding-block: 12px; }
  .ct-story .cs-header nav { gap: 12px; margin-inline-start: auto; }
  .ct-story .ct-film video { width: min(100%, 320px); }
  .ct-story .ct-origin { grid-template-columns: 1fr; gap: 24px; padding-block: 36px; }
  .ct-story .ct-origin blockquote { font-size: 23px; }
}
