/* 12 Ledger · 13 Signal · 14 Mosaic. Presentation only: all reports keep their DOM order. */
:root:is([data-design-preview=ledger],[data-design-preview=signal],[data-design-preview=mosaic]) {
  --design-headline: 'IBM Plex Sans', 'IBM Plex Sans Arabic', system-ui, sans-serif;
  --design-accent: #bd3427;
  --accent: #bd3427;
  --paper: #f6f8fa;
  --elevated: #fff;
  --ink: #142235;
  --muted: #526172;
  --rule: #d2dae3;
  --rule-strong: #9cabbc;
  --fill: #eaf0f5;
  --control: #eaf0f5;
  --photo: #dde5ed;
  --mast: var(--paper);
  color-scheme: light;
}
:root[data-design-preview=ledger] { --paper: #fff; --ink: #18202a; --fill: #f0f3f6; --design-headline: 'Newsreader', 'Noto Naskh Arabic', Georgia, serif; }
:root[data-design-preview=signal] { --paper: #e9eff5; --design-accent: #086f82; --accent: #086f82; --rule: #c8d4df; }
:root[data-design-preview=mosaic] {
  --brand-red: #cf3b2c; /* Matches the active Wamd logo artwork. */
  --design-accent: var(--brand-red); --accent: var(--brand-red);
  --paper: #faf9f7; --ink: #242322; --muted: #66625e;
  --fill: #f0eeeb; --control: #f0eeeb; --photo: #e6e2dd;
  --rule: #dedad5; --rule-strong: #aba49d;
}
:root:is([data-design-preview=ledger],[data-design-preview=signal],[data-design-preview=mosaic])[data-theme=dark] {
  --paper: #0c1420; --elevated: #142131; --ink: #f2f5fa; --muted: #b2c0d0; --rule: #304154; --rule-strong: #647a91; --fill: #1b2b3e; --control: #1b2b3e; --photo: #26394c; --design-accent: #ff8878; --accent: #ff8878; color-scheme: dark;
}
:root[data-design-preview=signal][data-theme=dark] { --design-accent: #7ddacb; --accent: #7ddacb; }
:root[data-design-preview=mosaic][data-theme=dark] {
  --design-accent: var(--brand-red); --accent: var(--brand-red);
  --paper: #141312; --elevated: #201e1c; --ink: #f5f3ef; --muted: #bbb5ae;
  --fill: #2a2724; --control: #2a2724; --photo: #36312c;
  --rule: #3e3832; --rule-strong: #766b60;
}
@media (prefers-color-scheme: dark) {
  :root:is([data-design-preview=ledger],[data-design-preview=signal],[data-design-preview=mosaic])[data-theme=system] {
    --paper: #0c1420; --elevated: #142131; --ink: #f2f5fa; --muted: #b2c0d0; --rule: #304154; --rule-strong: #647a91; --fill: #1b2b3e; --control: #1b2b3e; --photo: #26394c; --design-accent: #ff8878; --accent: #ff8878; color-scheme: dark;
  }
  :root[data-design-preview=signal][data-theme=system] { --design-accent: #7ddacb; --accent: #7ddacb; }
  :root[data-design-preview=mosaic][data-theme=system] {
    --design-accent: var(--brand-red); --accent: var(--brand-red);
    --paper: #141312; --elevated: #201e1c; --ink: #f5f3ef; --muted: #bbb5ae;
    --fill: #2a2724; --control: #2a2724; --photo: #36312c;
    --rule: #3e3832; --rule-strong: #766b60;
  }
}
:root:is([data-design-preview=ledger],[data-design-preview=signal],[data-design-preview=mosaic])[dir=rtl] { --design-headline: 'IBM Plex Sans Arabic', system-ui, sans-serif; }
:root[data-design-preview=ledger][dir=rtl] { --design-headline: 'Noto Naskh Arabic', serif; }
:root:is([data-design-preview=ledger],[data-design-preview=signal],[data-design-preview=mosaic])[data-desk-lang=hi] { --design-headline: 'Noto Sans Devanagari', system-ui, sans-serif; }
:root:is([data-design-preview=ledger],[data-design-preview=signal],[data-design-preview=mosaic]) body { background: var(--paper); color: var(--ink); }
:root:is([data-design-preview=ledger],[data-design-preview=signal],[data-design-preview=mosaic]) body :is(.mast-inner,.design-section-nav,.edition) { width: min(1400px, calc(100% - 64px)); max-width: 1400px; }
/* Compact defaults; the existing desk controls scale the edition for each reader. */
:root:is([data-design-preview=ledger],[data-design-preview=signal],[data-design-preview=mosaic]) body .edition { zoom: var(--desk-zoom, 1); }
:root:is([data-design-preview=ledger],[data-design-preview=signal],[data-design-preview=mosaic]) body .mast { border-top: 4px solid var(--design-accent); }
:root:is([data-design-preview=ledger],[data-design-preview=signal],[data-design-preview=mosaic]) body :is(.dateline,.design-edition-label,.design-edition-caption) { font-size: 0.75rem; }
:root:is([data-design-preview=ledger],[data-design-preview=signal],[data-design-preview=mosaic]) body .design-section-nav { gap: 24px; }
:root:is([data-design-preview=ledger],[data-design-preview=signal],[data-design-preview=mosaic]) body .design-section-nav button { font-size: 0.875rem; min-height: 44px; }
:root:is([data-design-preview=ledger],[data-design-preview=signal],[data-design-preview=mosaic]) body .design-edition-head { flex-wrap: wrap; padding-block: 14px; margin-bottom: 18px; }
:root:is([data-design-preview=ledger],[data-design-preview=signal],[data-design-preview=mosaic]) body .design-edition-head h2 { font-size: clamp(1.75rem, 2.3vw, 2.125rem); line-height: 1.3; font-weight: 700; }
:root:is([data-design-preview=ledger],[data-design-preview=signal],[data-design-preview=mosaic]) body .edition .hero { padding: 0; margin: 0 0 24px; border: 0; }
:root:is([data-design-preview=ledger],[data-design-preview=signal],[data-design-preview=mosaic]) body .edition [data-story] { min-width: 0; color: var(--ink); text-decoration: none; }
:root:is([data-design-preview=ledger],[data-design-preview=signal],[data-design-preview=mosaic]) body .edition [data-story] > div:not(.source-logo-plate) { min-width: 0; }
:root:is([data-design-preview=ledger],[data-design-preview=signal],[data-design-preview=mosaic]) body .edition :is(.hero-title,.desk-feature-title,.desk-pack-title,.row-title) { display: block; overflow: visible; max-height: none; -webkit-line-clamp: unset; overflow-wrap: anywhere; letter-spacing: -.025em; line-height: 1.35; }
:root:is([data-design-preview=ledger],[data-design-preview=signal],[data-design-preview=mosaic])[dir=rtl] body .edition :is(.hero-title,.desk-feature-title,.desk-pack-title,.row-title),
:root:is([data-design-preview=ledger],[data-design-preview=signal],[data-design-preview=mosaic]) body .edition :is(.hero-title,.desk-feature-title,.desk-pack-title,.row-title):is([lang=ar],[dir=rtl],.title-ar) { letter-spacing: 0; line-height: 1.5; }
:root:is([data-design-preview=ledger],[data-design-preview=signal],[data-design-preview=mosaic]) body .edition .kicker { font-size: 0.75rem; line-height: 1.65; gap: 3px 7px; margin-bottom: 6px; color: var(--muted); }
:root:is([data-design-preview=ledger],[data-design-preview=signal],[data-design-preview=mosaic]) body .edition .source-tier { font-size: 0.75rem; }
:root:is([data-design-preview=ledger],[data-design-preview=signal],[data-design-preview=mosaic]) body .edition .summary { font-size: 0.9375rem; line-height: 1.65; color: var(--muted); }
:root:is([data-design-preview=ledger],[data-design-preview=signal],[data-design-preview=mosaic]) body .edition .desk-more { font-size: 0.875rem; min-height: 44px; }
:root:is([data-design-preview=ledger],[data-design-preview=signal],[data-design-preview=mosaic]) body .edition .desk-name h2 button { min-height: 44px; }
:root:is([data-design-preview=ledger],[data-design-preview=signal],[data-design-preview=mosaic]) body :is(a,button,input,select):focus-visible { outline: 3px solid var(--design-accent); outline-offset: 4px; }
:root:is([data-design-preview=ledger],[data-design-preview=signal]) body .edition [data-story]:hover :is(.hero-title,.desk-feature-title,.desk-pack-title,.row-title) { text-decoration: underline; text-decoration-color: var(--design-accent); text-underline-offset: .16em; }
:root[data-design-preview=mosaic] body .edition [data-story]:hover :is(.hero-title,.desk-feature-title,.desk-pack-title,.row-title) { color: var(--brand-red); text-decoration: none; }

/* Ledger: a strong lead and a section gutter beside ordered headline columns. */
:root[data-design-preview=ledger] body .design-edition-head { border-bottom: 4px double var(--ink); }
:root[data-design-preview=ledger] body .edition .hero-card { grid-template-columns: minmax(0,1fr) minmax(0,1.25fr); gap: 32px; padding-bottom: 24px; border-bottom: 1px solid var(--ink); }
:root[data-design-preview=ledger] body .edition .hero-card > img.desk-photo { height: 360px; grid-column: 2; grid-row: 1; }
:root[data-design-preview=ledger] body .edition .hero-card > div { grid-column: 1; grid-row: 1; }
:root[data-design-preview=ledger] body .edition .hero-title { font-size: clamp(1.75rem,2.8vw,2.5rem); font-weight: 600; }
:root[data-design-preview=ledger] body .edition .desk { display: grid; grid-template-columns: 160px minmax(0,1fr); gap: 32px; margin: 0; padding: 26px 0; border-bottom: 1px solid var(--rule-strong); }
:root[data-design-preview=ledger] body .edition .desk-name { display: flex; flex-direction: column; align-items: start; justify-content: start; gap: 10px; border-top: 3px solid var(--design-accent); margin: 0; padding-top: 12px; }
:root[data-design-preview=ledger] body .edition .desk-name h2 { font-size: 1.5rem; font-weight: 600; }
:root[data-design-preview=ledger] body .edition .desk .desk-well { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 28px; }
:root[data-design-preview=ledger] body .edition .desk :is(.desk-lead,.desk-pack,.desk-stack) { display: contents; }
:root[data-design-preview=ledger] body .edition .desk [data-story],
:root[data-design-preview=ledger] body .edition #grid .row-card { display: grid; grid-template-columns: minmax(0,1fr) 90px; gap: 16px; align-items: start; padding: 14px 0; border-bottom: 1px solid var(--rule); }
:root[data-design-preview=ledger] body .edition .desk [data-story] > img.desk-photo,
:root[data-design-preview=ledger] body .edition #grid .row-card > img.desk-photo { grid-column: 2; grid-row: 1; width: 90px; height: 76px; aspect-ratio: auto; border-radius: 0; }
:root[data-design-preview=ledger] body .edition .desk [data-story] > div,
:root[data-design-preview=ledger] body .edition #grid .row-card > div { grid-column: 1; grid-row: 1; padding: 0; }
:root[data-design-preview=ledger] body .edition :is(.desk-feature-title,.desk-pack-title,.row-title) { font-size: 1.125rem; font-weight: 600; }
:root[data-design-preview=ledger] body .edition #grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 32px; }

:root[data-design-preview=ledger] body .edition .desk-feature-title { font-size: 1.25rem; }

/* Signal: a navy cover and two parallel, compact news panels. */
:root[data-design-preview=signal] body .edition .hero-card { grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: 28px; background: #102b43; padding: 24px; border-radius: 12px; --ink: #fff; --muted: #cfdae5; --design-accent: #7ddacb; --accent: #7ddacb; color: var(--ink); }
:root[data-design-preview=signal] body .edition .hero-card > img.desk-photo { height: 300px; border-radius: 6px; }
:root[data-design-preview=signal] body .edition .hero-title { font-size: clamp(1.75rem,2.6vw,2.25rem); font-weight: 700; }
:root[data-design-preview=signal] body .edition #desks { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; align-items: start; }
:root[data-design-preview=signal] body .edition .desk { margin: 0; padding: 22px; border: 1px solid var(--rule); border-radius: 10px; background: var(--elevated); }
:root[data-design-preview=signal] body .edition .desk-name { padding: 0 0 12px; margin: 0; border-top: 0; border-bottom: 3px solid var(--design-accent); }
:root[data-design-preview=signal] body .edition .desk-name h2 { font-size: 1.4375rem; font-weight: 700; }
:root[data-design-preview=signal] body .edition .desk .desk-well { display: block; }
:root[data-design-preview=signal] body .edition .desk :is(.desk-lead,.desk-pack,.desk-stack) { display: contents; }
:root[data-design-preview=signal] body .edition .desk [data-story],
:root[data-design-preview=signal] body .edition #grid .row-card { display: grid; grid-template-columns: 72px minmax(0,1fr); gap: 14px; align-items: start; padding: 14px 0; border-bottom: 1px solid var(--rule); }
:root[data-design-preview=signal] body .edition .desk [data-story] > img.desk-photo,
:root[data-design-preview=signal] body .edition #grid .row-card > img.desk-photo { grid-column: 1; grid-row: 1; width: 72px; height: 64px; aspect-ratio: auto; border-radius: 4px; }
:root[data-design-preview=signal] body .edition .desk [data-story] > div,
:root[data-design-preview=signal] body .edition #grid .row-card > div { grid-column: 2; grid-row: 1; padding: 0; }
:root[data-design-preview=signal] body .edition .desk .desk-feature { grid-template-columns: 108px minmax(0,1fr); padding-block: 20px; }
:root[data-design-preview=signal] body .edition .desk .desk-feature > img.desk-photo { width: 108px; height: 104px; }
:root[data-design-preview=signal] body .edition :is(.desk-feature-title,.desk-pack-title,.row-title) { font-size: 1.0625rem; }
:root[data-design-preview=signal] body .edition .desk-feature-title { font-size: 1.25rem; }
:root[data-design-preview=signal] body .edition #grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 28px; padding: 24px; background: var(--elevated); border: 1px solid var(--rule); border-radius: 10px; }

/* Mosaic: image-first stories, wide photography and a spacious asymmetric card grid. */
:root[data-design-preview=mosaic] body .design-edition-head { border-bottom: 0; padding-block: 16px 8px; }
:root[data-design-preview=mosaic] body .design-edition-head h2 { color: var(--design-accent); font-weight: 700; }
:root[data-design-preview=mosaic] body .edition .hero-card { display: flex; flex-direction: column; align-items: stretch; gap: 18px; }
:root[data-design-preview=mosaic] body .edition .hero-card > img.desk-photo { width: 100%; height: auto; max-height: 520px; aspect-ratio: 2.5; border-radius: 2px; }
:root[data-design-preview=mosaic] body .edition .hero-title { font-size: clamp(1.875rem,3.1vw,2.75rem); font-weight: 700; max-width: 28ch; line-height: 1.15; }
:root[data-design-preview=mosaic][dir=rtl] body .edition .hero-title,
:root[data-design-preview=mosaic] body .edition .hero-title:is([lang=ar],[dir=rtl],.title-ar) { max-width: 34ch; line-height: 1.45; }
:root[data-design-preview=mosaic] body .edition .desk { margin: 32px 0 0; }
:root[data-design-preview=mosaic] body .edition .desk-name { border-top: 6px solid var(--design-accent); padding-top: 14px; }
:root[data-design-preview=mosaic] body .edition .desk-name h2 { font-size: 1.625rem; font-weight: 700; }
:root[data-design-preview=mosaic] body .edition .desk .desk-well { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; align-items: start; }
:root[data-design-preview=mosaic] body .edition .desk :is(.desk-lead,.desk-pack,.desk-stack) { display: contents; }
:root[data-design-preview=mosaic] body .edition .desk [data-story],
:root[data-design-preview=mosaic] body .edition #grid .row-card { display: flex; flex-direction: column; align-items: stretch; gap: 14px; padding: 0 0 22px; border-bottom: 1px solid var(--rule); }
:root[data-design-preview=mosaic] body .edition .desk [data-story] > img.desk-photo,
:root[data-design-preview=mosaic] body .edition #grid .row-card > img.desk-photo { width: 100%; height: auto; aspect-ratio: 1.6; object-fit: cover; border-radius: 2px; }
:root[data-design-preview=mosaic] body .edition .desk .desk-feature { grid-column: span 2; }
:root[data-design-preview=mosaic] body .edition .desk .desk-feature > img.desk-photo { aspect-ratio: 2.2; }
:root[data-design-preview=mosaic] body .edition .desk-feature-title { font-size: clamp(1.5rem,2.1vw,1.75rem); }
:root[data-design-preview=mosaic] body .edition :is(.desk-pack-title,.row-title) { font-size: 1.125rem; }
/* Keep Arabic Breaking rows on this design's scale instead of the base 14px rule. */
:root:is([data-design-preview=ledger],[data-design-preview=mosaic]) body .edition .desk[data-desk=breaking] .row-title { font-size: 1.125rem; }
:root[data-design-preview=signal] body .edition .desk[data-desk=breaking] .row-title { font-size: 1.0625rem; }
:root[data-design-preview=mosaic] body .edition #grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }

/* Photos start at the card's top. Clip the fallback zoom there and at both sides;
   anchoring its bottom edge keeps the image clear of the headline below. */
:root[data-design-preview=mosaic] body:not(.section-authors) .edition :is(.hero-card,.desk:not([data-desk=authors]) [data-story],#grid [data-story]):has(> img.desk-photo):not(.no-image) { overflow: hidden; }
:root[data-design-preview=mosaic] body:not(.section-authors) .edition :is(.hero-card,.desk:not([data-desk=authors]) [data-story],#grid [data-story]):has(> img.desk-photo):not(.no-image) > img.desk-photo { transform-origin: center bottom; }

/* A missing photograph must never leave an empty image column or stretch a publisher logo. */
:root:is([data-design-preview=ledger],[data-design-preview=signal],[data-design-preview=mosaic]) body .edition :is(.hero-card,.desk [data-story],#grid .row-card):not(:has(> img.desk-photo)) { display: flex; flex-direction: column; align-items: stretch; gap: 12px; min-height: 0; }
:root:is([data-design-preview=ledger],[data-design-preview=signal],[data-design-preview=mosaic]) body .edition [data-story] > .source-logo-plate { order: 2; align-self: start; width: fit-content; max-width: 110px; max-height: 44px; padding: 6px; background: #fff; border-radius: 4px; }
:root:is([data-design-preview=ledger],[data-design-preview=signal],[data-design-preview=mosaic]) body .edition .source-logo-peek { width: auto; height: 30px; max-width: 98px; max-height: 30px; object-fit: contain; }
:root:is([data-design-preview=ledger],[data-design-preview=signal],[data-design-preview=mosaic]) body .edition [data-story] > img.publisher-logo-thumbnail { width: auto; max-width: 110px; height: 34px; max-height: 34px; align-self: start; object-fit: contain; padding: 4px; border-radius: 3px; background: #fff; }
/* Opinion portraits remain small; the reader modal retains its existing styling. */
:root:is([data-design-preview=ledger],[data-design-preview=signal],[data-design-preview=mosaic]) body .edition .desk[data-desk=authors] [data-story],
:root:is([data-design-preview=ledger],[data-design-preview=signal],[data-design-preview=mosaic]) body.section-authors .edition #grid [data-story] { grid-column: auto; display: flex; flex-direction: column; align-items: start; padding: 16px; gap: 12px; background: var(--fill); }
:root:is([data-design-preview=ledger],[data-design-preview=signal],[data-design-preview=mosaic]) body .edition .desk[data-desk=authors] [data-story] > img.desk-photo,
:root:is([data-design-preview=ledger],[data-design-preview=signal],[data-design-preview=mosaic]) body.section-authors .edition #grid [data-story] > img.desk-photo { width: 64px; height: 64px; aspect-ratio: 1; border-radius: 50%; }
:root:is([data-design-preview=ledger],[data-design-preview=signal],[data-design-preview=mosaic]) body .edition .desk[data-desk=authors] .desk-well { gap: 16px; }
:root:is([data-design-preview=ledger],[data-design-preview=signal],[data-design-preview=mosaic]) body .edition .desk[data-desk=authors] .desk-well :is(.desk-feature-title,.desk-pack-title,.row-title) { font-size: 1.25rem; }
:root:is([data-design-preview=ledger],[data-design-preview=signal],[data-design-preview=mosaic]) body .edition .desk[data-desk=breaking] .desk-name { border-color: #bd3427; }
:root[data-design-preview=mosaic] body .edition .desk[data-desk=breaking] .desk-name { border-color: var(--brand-red); }

@media (max-width: 760px) {
  :root:is([data-design-preview=ledger],[data-design-preview=signal],[data-design-preview=mosaic]) body .edition :is(.kicker,.source-tier) { font-size: 0.8125rem; }
}
@media (max-width: 1000px) {
  :root[data-design-preview=ledger] body .edition .desk { grid-template-columns: 125px minmax(0,1fr); gap: 22px; }
  :root[data-design-preview=ledger] body .edition .desk .desk-well { grid-template-columns: minmax(0,1fr); }
  :root[data-design-preview=signal] body .edition #desks { grid-template-columns: minmax(0,1fr); }
  :root[data-design-preview=mosaic] body .edition .desk .desk-well,
  :root[data-design-preview=mosaic] body .edition #grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 700px) {
  :root:is([data-design-preview=ledger],[data-design-preview=signal],[data-design-preview=mosaic]) body :is(.mast-inner,.design-section-nav,.edition) { width: calc(100% - 32px); }
  :root:is([data-design-preview=ledger],[data-design-preview=signal],[data-design-preview=mosaic]) body .design-edition-head { gap: 8px 14px; padding-block: 14px; margin-bottom: 16px; }
  :root:is([data-design-preview=ledger],[data-design-preview=signal],[data-design-preview=mosaic]) body .design-edition-caption { flex-basis: 100%; margin-inline-start: 0; }
  :root:is([data-design-preview=ledger],[data-design-preview=signal],[data-design-preview=mosaic]) body .edition .hero-card { display: flex; flex-direction: column; gap: 18px; }
  :root:is([data-design-preview=ledger],[data-design-preview=signal],[data-design-preview=mosaic]) body .edition .hero-card > img.desk-photo { width: 100%; height: auto; aspect-ratio: 1.6; min-height: 0; }
  :root:is([data-design-preview=ledger],[data-design-preview=signal],[data-design-preview=mosaic]) body .edition .hero-title { font-size: 1.625rem; max-width: none; }
  :root:is([data-design-preview=ledger],[data-design-preview=signal],[data-design-preview=mosaic]) body .design-edition-head h2 { font-size: 1.5rem; }
  :root:is([data-design-preview=ledger],[data-design-preview=signal],[data-design-preview=mosaic]) body .edition .desk-name h2 { font-size: 1.375rem; }
  :root:is([data-design-preview=ledger],[data-design-preview=signal],[data-design-preview=mosaic]) body .edition :is(.desk-pack-title,.row-title) { font-size: 1.0625rem; }
  :root:is([data-design-preview=ledger],[data-design-preview=signal],[data-design-preview=mosaic]) body .edition .desk[data-desk=breaking] .row-title { font-size: 1.0625rem; }
  :root:is([data-design-preview=ledger],[data-design-preview=signal]) body .edition .desk-feature-title { font-size: 1.1875rem; }
  :root:is([data-design-preview=ledger],[data-design-preview=signal],[data-design-preview=mosaic]) body .edition .desk[data-desk=authors] .desk-well :is(.desk-feature-title,.desk-pack-title,.row-title) { font-size: 1.1875rem; }
  :root[data-design-preview=ledger] body .edition .desk { display: block; padding-block: 24px; }
  :root[data-design-preview=ledger] body .edition .desk-name { flex-direction: row; align-items: center; justify-content: space-between; margin-bottom: 8px; }
  :root[data-design-preview=ledger] body .edition #grid { grid-template-columns: minmax(0,1fr); }
  :root[data-design-preview=signal] body .edition .hero-card { padding: 18px; }
  :root[data-design-preview=signal] body .edition .desk { padding: 16px; }
  :root[data-design-preview=signal] body .edition .desk .desk-feature { grid-template-columns: 80px minmax(0,1fr); }
  :root[data-design-preview=signal] body .edition .desk .desk-feature > img.desk-photo { width: 80px; height: 80px; }
  :root[data-design-preview=signal] body .edition #grid { grid-template-columns: minmax(0,1fr); padding: 16px; }
  :root[data-design-preview=mosaic] body .edition .hero-title { font-size: 1.75rem; }
  :root[data-design-preview=mosaic] body .edition .desk { margin-top: 28px; }
  :root[data-design-preview=mosaic] body .edition .desk .desk-well,
  :root[data-design-preview=mosaic] body .edition #grid { grid-template-columns: minmax(0,1fr); gap: 18px; }
  :root[data-design-preview=mosaic] body .edition .desk .desk-feature { grid-column: auto; }
  :root[data-design-preview=mosaic] body .edition .desk [data-story] > img.desk-photo { aspect-ratio: 1.7; }
  :root[data-design-preview=mosaic] body .edition .desk-feature-title { font-size: 1.375rem; }
}
@media (prefers-reduced-motion: reduce) {
  :root:is([data-design-preview=ledger],[data-design-preview=signal],[data-design-preview=mosaic]) body * { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media print {
  :root:is([data-design-preview=ledger],[data-design-preview=signal],[data-design-preview=mosaic]) { color-scheme: light; --paper: #fff; --elevated: #fff; --ink: #111; --muted: #444; --rule: #bbb; --fill: #fff; }
}

/* Preserve the shared low-resolution-photo treatment without losing each layout's contrast. */
:root[data-design-preview=signal] body .edition .hero-card.compact-photo { background: #102b43 !important; padding: 20px !important; }
:root[data-design-preview=signal] body .edition .hero-card.compact-photo > div { padding: 0 !important; }
:root[data-design-preview=ledger] body .edition .desk-stack .row-card.compact-photo { grid-template-columns: minmax(0,1fr) 90px !important; gap: 18px !important; }
:root[data-design-preview=ledger] body .edition .desk-stack .row-card.compact-photo > img.desk-photo-small { grid-column: 2; width: 90px !important; }
:root[data-design-preview=mosaic] body .edition [data-story].compact-photo { display: flex !important; flex-direction: column !important; padding: 0 0 22px !important; gap: 14px !important; background: transparent !important; }
:root[data-design-preview=mosaic] body .edition .hero-card.compact-photo > div { padding: 0 !important; }
/* Templates have different DOM orders; keep every media slot above its headline. */
:root[data-design-preview=mosaic] body .edition [data-story] > :is(img.desk-photo,img.publisher-logo-thumbnail,.source-logo-plate),
:root[data-design-preview=mosaic] body .edition [data-story].compact-photo > img.desk-photo-small { order: -1 !important; }
:root:is([data-design-preview=ledger],[data-design-preview=signal],[data-design-preview=mosaic]) body.section-authors .edition .hero-card > :is(img.desk-photo,img.desk-photo-small) { width: 64px !important; height: 64px !important; max-width: 64px !important; max-height: 64px !important; aspect-ratio: 1 !important; border-radius: 50% !important; object-fit: cover; }

/* Supporting reports stay image-first, with less scrolling than the lead treatment. */
:root[data-design-preview=mosaic] body .edition .desk:not([data-desk=authors]) :is(.desk-pack-card,.row-card),
:root[data-design-preview=mosaic] body:not(.section-authors) .edition #grid .row-card { gap: 10px !important; padding-bottom: 16px !important; }
:root[data-design-preview=mosaic] body .edition .desk:not([data-desk=authors]) :is(.desk-pack-card,.row-card) > img.desk-photo,
:root[data-design-preview=mosaic] body:not(.section-authors) .edition #grid .row-card > img.desk-photo { aspect-ratio: 2.1; }
@media (max-width: 700px) {
  :root[data-design-preview=mosaic] body .edition :is(.desk-pack-title,.row-title) { font-size: 1.0625rem; }
  :root[data-design-preview=mosaic] body .edition .desk:not([data-desk=authors]) :is(.desk-pack-card,.row-card) > img.desk-photo,
  :root[data-design-preview=mosaic] body:not(.section-authors) .edition #grid .row-card > img.desk-photo { max-height: 160px; }
}
