/* Delta-Sierra V20.26.0 — global audit/readability/accessibility convergence layer.
   Final rule: ordinary informative text >=13px desktop; reading paragraphs targeted at 15–17px;
   true metadata/captions may remain 11–12px. Diagram text must never be made microscopic by responsive scaling. */

/* Navigation and interactive labels are content, not captions. */
.ds-nav a,.site-nav a,.ds-top a,.ds-langs a,.ds-language-strip a,.lang-name,
.ds-support,.site-header__support,.ds-france-context a,.ds-france-az-link,
.ds-sidebar a,.france-sidebar a,.mars-sidebar a,.mars-sidebar-title,
.nav-language-menu a,.nav-language-menu summary,.top-app-link{
  font-size:clamp(13px,.9vw,15px)!important;
}
.ds-nav a,.site-nav a,.ds-support,.site-header__support,.top-app-link{
  min-height:40px;align-items:center;
}

/* Secondary metadata may be smaller, but never microscopic. */
.article-card__category,.article-header__category,.article-card__date,
.book-opening__eyebrow,.mars-kicker,.mars-source-date,.mars-source-kind,
.new-article-badge,.lang-ribbon,.ds-footer,.video-count,.news-item__source,
.news-item__category,.news-column__status{
  font-size:max(12px,.75rem)!important;
  line-height:1.35!important;
}
.site-header__title{font-size:12px!important;line-height:1.3!important}

/* Genuine reading text that the audit found below the agreed reading range. */
.mars-books-strip__intro,.mars-disclaimer,.hero__bio-text,.catalogue-policy,
.cover-identity-note,.book-preview__note,.pdf-viewer-note{
  font-size:15px!important;line-height:1.62!important;
}
.answer-essential__eyebrow,.channel-card__eyebrow,.article-summary__eyebrow,
.article-related__eyebrow,.knowledge-gateway-v2069__eyebrow,
.plan-home-feature__eyebrow,.seo-hero__eyebrow,.mars-context-cta__eyebrow,
.english-mars-gateway__eyebrow,.mars-access-banner__eyebrow{
  font-size:12px!important;line-height:1.4!important;
}

/* Article cards: never cut a title after three lines. */
.article-card__title{
  -webkit-line-clamp:unset!important;line-clamp:unset!important;
  display:block!important;overflow:visible!important;max-height:none!important;
  font-size:max(15px,.94rem)!important;line-height:1.35!important;
}

/* Long headings detected by real Chromium rendering at 1536px. */
h1.ds-audit-long-title{
  font-size:clamp(30px,2.7vw,44px)!important;
  line-height:1.08!important;letter-spacing:-.018em!important;
  max-width:none!important;text-wrap:balance;
}
@media(max-width:700px){
  h1.ds-audit-long-title{font-size:clamp(27px,8.1vw,36px)!important;line-height:1.08!important}
}

/* Text-bearing infographics: preserve effective text size instead of compressing the whole SVG. */
.ds-readable-diagram-frame{
  max-width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;
  overscroll-behavior-inline:contain;scrollbar-gutter:stable;
  -webkit-overflow-scrolling:touch;position:relative;
  border-radius:inherit;
}
.ds-readable-diagram-frame:focus-visible{outline:3px solid #1d5fa7;outline-offset:3px}
img.ds-readable-diagram{
  display:block!important;width:100%!important;
  min-width:var(--ds-diagram-min-width,900px)!important;
  max-width:none!important;height:auto!important;object-fit:contain!important;
}
/* When a dense diagram was squeezed beside hero copy, give it the editorial width it needs. */
.ds-macro-hero:has(.ds-readable-diagram-frame),
.ds-prod-hero-source:has(.ds-readable-diagram-frame),
.ds-prod-hero-legal:has(.ds-readable-diagram-frame),
.ds-france-hero:has(.ds-readable-diagram-frame),
.knowledge-hero:has(.ds-readable-diagram-frame){
  grid-template-columns:minmax(0,1fr)!important;
}
.ds-macro-hero:has(.ds-readable-diagram-frame) .ds-readable-diagram-frame,
.ds-prod-hero-source:has(.ds-readable-diagram-frame) .ds-readable-diagram-frame,
.ds-prod-hero-legal:has(.ds-readable-diagram-frame) .ds-readable-diagram-frame{
  width:100%!important;max-width:1180px!important;margin-inline:auto!important;
}
@media(max-width:700px){
  .ds-readable-diagram-frame{border:1px solid rgba(13,43,79,.16);background:#fff}
}

/* Consistent fallback when a historical optional visual is unavailable: never show a broken-image icon. */
.ds-asset-unavailable{padding:18px 20px;border:1px dashed #aab7c5;border-radius:10px;background:#f7f9fb;color:#465568;font-size:13px;line-height:1.55}

/* Standard footer restored on indexable pages that had lost it. */
.site-footer.ds-audit-restored-footer{margin-top:42px}


/* V20.26 audit pass 2 — selectors generated from real computed rendering. */
html body .ds-sidebar a,html body .france-sidebar a,html body .ds-side-title,
html body .site-header__support,html body .ds-support,
html body .ds-france-context a,html body .ds-france-az-link,
html body .ds-nav a,html body .site-nav a{
  font-size:max(13px,.8125rem)!important;
}
.ds-audit-info-min{font-size:13px!important;line-height:1.4!important}
p.ds-audit-reading-min{font-size:15px!important;line-height:1.6!important}
small{font-size:max(11px,.6875rem)!important}
h1.ds-audit-very-long-title{
  font-size:clamp(29px,2.2vw,34px)!important;line-height:1.08!important;
  max-width:none!important;text-wrap:balance;
}
@media(max-width:700px){h1.ds-audit-very-long-title{font-size:clamp(25px,7.2vw,31px)!important}}

/* V20.26 audit pass 3 — beat legacy high-specificity !important rules found by Chromium. */
html body.ds-france-quality .ds-sidebar .ds-side-group a,
html body.ds-france-quality .ds-sidebar .ds-side-title,
html body .ds-sidebar a.ds-audit-info-min,
html body .ds-side-title.ds-audit-info-min,
html body a.ds-audit-info-min,
html body span.ds-audit-info-min,
html body strong.ds-audit-info-min,
html body div.ds-audit-info-min,
html body p.ds-audit-info-min{
  font-size:13px!important;line-height:1.4!important;
}
html body p.ds-audit-reading-min{font-size:15px!important;line-height:1.6!important}
html body h1.ds-audit-long-title{font-size:clamp(30px,2.7vw,44px)!important;line-height:1.08!important;max-width:none!important}
html body h1.ds-audit-long-title.ds-audit-very-long-title{font-size:clamp(28px,2.15vw,33px)!important;line-height:1.08!important;max-width:none!important}
html body a.site-header__support,html body a.ds-support{font-size:13px!important;line-height:1.3!important}
@media(max-width:700px){
 html body h1.ds-audit-long-title{font-size:clamp(26px,7.5vw,33px)!important}
 html body h1.ds-audit-long-title.ds-audit-very-long-title{font-size:clamp(24px,6.8vw,29px)!important}
 html body a.site-header__support,html body a.ds-support{font-size:13px!important}
}


/* V20.26 audit pass 4 — residual headings and first-screen ordering. */
html body .ds-pdf .pdf-btn,html body a.pdf-btn{font-size:13px!important;line-height:1.35!important}
html body .ds-pdf strong{font-size:13px!important}
html body h2.ds-audit-small-heading{font-size:18px!important;line-height:1.25!important}
html body h3.ds-audit-small-heading,html body .ds-prod-break-points h3{font-size:15px!important;line-height:1.3!important}
html body h1.ds-audit-extreme-title{font-size:clamp(27px,1.9vw,30px)!important;line-height:1.06!important;max-width:none!important}
/* Extremely long hero titles gain the full editorial width instead of being squeezed beside art. */
.ds-macro-hero:has(h1.ds-audit-extreme-title),.knowledge-hero__grid:has(h1.ds-audit-extreme-title){grid-template-columns:1fr!important}
@media(max-width:820px){
 .series-opening__inner{grid-template-columns:1fr!important}
 .series-opening__copy{order:-1!important}
 .knowledge-hero__grid:has(h1.ds-audit-mobile-fold)>div:first-child{order:-1!important}
 .knowledge-hero__grid:has(h1.ds-audit-mobile-fold)>figure{order:2!important}
 .knowledge-hero:has(h1.ds-audit-mobile-fold){padding-top:18px!important}
 h1.ds-audit-mobile-fold{margin-top:8px!important}
}

/* Mobile portal spine: keep the rule visible, but do not push the page title below the first screen. */
@media(max-width:700px){
 html body .budget-spine{padding:8px 10px!important;min-height:0!important;height:auto!important}
 html body .budget-spine__inner{padding:0!important;display:grid!important;gap:7px!important}
 html body .budget-spine__inner>strong{font-size:13px!important;line-height:1.35!important}
 html body .budget-spine__links{display:flex!important;gap:7px!important;overflow-x:auto!important;flex-wrap:nowrap!important;padding-bottom:2px!important}
 html body .budget-spine__links a{font-size:12px!important;line-height:1.2!important;white-space:nowrap!important;padding:7px 9px!important;min-height:34px!important;display:inline-flex!important;align-items:center!important}
}


/* V20.26 audit pass 5 — final typographic normalization after full-corpus rendering. */
/* Ordinary information: final floor = 13 px. Reading paragraphs = 15 px or more. */
html body .site-header__title,
html body .video-facts strong,
html body .article-card__category,
html body .article-header__category,
html body .book-opening__eyebrow,
html body .answer-essential__eyebrow,
html body .article-summary__eyebrow,
html body .article-related__eyebrow,
html body .series-volume-card__number,
html body .lang-ribbon,
html body .video-count,
html body .article-source-kind,
html body .news-item__source,
html body .news-item__category,
html body .news-column__status,
html body .app-integrity,
html body .timeline-grid article>span,
html body .essay-cover-card>span,
html body .series-cover-card>span{
  font-size:13px!important;line-height:1.4!important;
}
/* France sidebar / PDF panel and visual labels: legacy bundles used 12 px !important. */
html body.ds-france-quality .ds-sidebar .ds-pdf strong,
html body.ds-france-quality .ds-sidebar .ds-pdf span,
html body.ds-france-quality .ds-sidebar .ds-pdf a.pdf-btn,
html body.ds-france-quality .ds-prod-break-points h3.ds-audit-small-heading,
html body.ds-france-quality h3.ds-audit-small-heading{
  font-size:13px!important;line-height:1.4!important;
}
html body.ds-france-quality .ds-prod-break-points h3,
html body.ds-france-quality h3.ds-audit-small-heading{font-size:15px!important;line-height:1.3!important}
/* Mars: descriptive labels at 13 px; actual prose at 15 px. */
html body.mars-site .mars-brand span,
html body.mars-site .mars-kicker,
html body.mars-site .mars-source-date,
html body.mars-site .mars-eyebrow,
html body.mars-site .mars-update,
html body.mars-site .mars-source-kind,
html body.mars-site .mars-bible-status span,
html body.mars-site .mars-books-strip .mars-book-link span,
html body.mars-site .mars-system-relations strong,
html body.mars-site .mars-glossary-entry a,
html body.mars-site .mars-az-grid article a,
html body.mars-site .news-column__status,
html body.mars-site .news-item__source,
html body.mars-site .news-item__category{
  font-size:13px!important;line-height:1.4!important;
}
html body.mars-site .mars-maturity p,
html body.mars-site .mars-glossary-entry p,
html body.mars-site .mars-az-grid article p,
html body.mars-site .mars-az-grid>a p{
  font-size:15px!important;line-height:1.6!important;
}
/* Catalogue cover captions and biography timeline are informative, not micro-legends. */
html body .essay-cover-card>span:not(.preview-badge),
html body .timeline-grid article>span{font-size:13px!important;line-height:1.35!important}
@media(max-width:700px){
  html body .site-header__title,
  html body .site-header__actions a,
  html body .site-nav a{font-size:13px!important}
}

/* V20.27.0 — residual first-screen contrast and minimum-size fixes. */
html body .site-header__title,
html body .site-header__eyebrow{
  font-size:13px!important;
  line-height:1.4!important;
}
html body .site-nav a.site-nav__books,
html body .site-nav a.site-nav__books:link,
html body .site-nav a.site-nav__books:visited{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}


/* V20.29.5 — visual regression hardening */
/* Keep the permanent dark Books tab readable in every link state. */
html body .site-nav a.site-nav__books,
html body .site-nav a.site-nav__books:link,
html body .site-nav a.site-nav__books:visited{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  background:#102951!important;
  border-color:#102951!important;
  opacity:1!important;
}
html body .site-nav a.site-nav__books:hover,
html body .site-nav a.site-nav__books:focus-visible{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  background:#1b437c!important;
  outline:3px solid #f5c64d!important;
  outline-offset:2px!important;
}

/* Channels page: never expose asset-missing placeholders to the public. */
.channel-avatar-row{gap:0!important;overflow:visible!important}
.channel-avatar-row .channel-avatar-img,
.channel-avatar-row .channel-avatar-brand{
  width:128px!important;height:128px!important;min-width:128px!important;
  border-radius:50%!important;border:4px solid #fff!important;
  box-shadow:0 10px 24px rgba(0,0,0,.35)!important;
  object-fit:cover!important;background:#102951!important;
}
.channel-avatar-row .channel-avatar-img+.channel-avatar-img,
.channel-avatar-row .channel-avatar-img+.channel-avatar-brand,
.channel-avatar-row .channel-avatar-brand+.channel-avatar-img{margin-left:-28px!important}
.channel-avatar-brand{display:grid!important;place-items:center!important;position:relative!important;overflow:hidden!important;background:linear-gradient(135deg,#102951 0 58%,#8f241b 58% 100%)!important;color:#fff!important}
.channel-avatar-brand:before{content:"";position:absolute;left:0;top:0;width:100%;height:8px;background:linear-gradient(90deg,#183f9e 0 33%,#fff 33% 66%,#d62b2b 66%)}
.channel-avatar-brand span{font:900 38px/1 Arial,sans-serif;letter-spacing:.04em;color:#fff!important}
.channel-card__visual{width:190px;min-height:190px;border-radius:14px;overflow:hidden;background:#0b2747;box-shadow:0 8px 20px rgba(11,39,71,.14)}
.channel-card__visual img{display:block;width:100%!important;height:190px!important;object-fit:cover!important;object-position:center!important}
.channel-card__visual--gloire{display:grid;place-items:center;position:relative;background:linear-gradient(145deg,#102951 0 58%,#8f241b 58% 100%)}
.channel-card__visual--gloire:before{content:"";position:absolute;inset:0 auto 0 0;width:14px;background:linear-gradient(#183f9e 0 33%,#fff 33% 66%,#d62b2b 66%)}
.channel-card__visual--gloire span{font:900 54px/1 Arial,sans-serif;color:#fff;letter-spacing:.05em}
@media(max-width:900px){.channel-card__visual{width:150px;min-height:150px}.channel-card__visual img{height:150px!important}}
@media(max-width:620px){.channel-card__visual{width:min(100%,320px);min-height:170px;margin:0 auto}.channel-card__visual img{height:170px!important}.channel-avatar-row .channel-avatar-img,.channel-avatar-row .channel-avatar-brand{width:100px!important;height:100px!important;min-width:100px!important}}

/* Redresser la France: give the bottom dashboard enough room and allow URLs to wrap. */
body.ds-page-redresser .ds-target-bottom,
body.ds-redresser-candidate-v20120 .ds-target-bottom{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:16px!important;
  align-items:stretch!important;
}
body.ds-page-redresser .ds-target-bottom>article,
body.ds-page-redresser .ds-target-bottom>figure,
body.ds-redresser-candidate-v20120 .ds-target-bottom>article,
body.ds-redresser-candidate-v20120 .ds-target-bottom>figure{
  min-width:0!important;height:auto!important;min-height:210px!important;overflow:visible!important;
}
body.ds-page-redresser .goal-row,
body.ds-redresser-candidate-v20120 .goal-row{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px 8px!important;
}
body.ds-page-redresser .goal-row>div,
body.ds-redresser-candidate-v20120 .goal-row>div{min-width:0!important;padding:4px 6px!important}
body.ds-page-redresser .goal-row b,
body.ds-redresser-candidate-v20120 .goal-row b{font-size:14px!important;line-height:1.22!important;overflow-wrap:anywhere!important}
body.ds-page-redresser .goal-row small,
body.ds-redresser-candidate-v20120 .goal-row small{font-size:13px!important;line-height:1.36!important;overflow-wrap:anywhere!important}
body.ds-page-redresser .bottom-resources p,
body.ds-redresser-candidate-v20120 .bottom-resources p{
  display:grid!important;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;
  gap:10px!important;align-items:start!important;font-size:13px!important;line-height:1.35!important;
}
body.ds-page-redresser .bottom-resources p a,
body.ds-redresser-candidate-v20120 .bottom-resources p a{
  white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-word!important;min-width:0!important;
  color:#0b4c9d!important;-webkit-text-fill-color:#0b4c9d!important;
}
body.ds-page-redresser .bottom-resources p a:visited,
body.ds-redresser-candidate-v20120 .bottom-resources p a:visited{color:#254f91!important;-webkit-text-fill-color:#254f91!important}
body.ds-page-redresser .bottom-resources p a:hover,
body.ds-page-redresser .bottom-resources p a:focus-visible,
body.ds-redresser-candidate-v20120 .bottom-resources p a:hover,
body.ds-redresser-candidate-v20120 .bottom-resources p a:focus-visible{color:#8a250f!important;-webkit-text-fill-color:#8a250f!important;background:#fff2cf!important}
body.ds-page-redresser .ds-france-books-pair{max-width:1080px!important;margin:34px auto 18px!important}
body.ds-page-redresser .ds-france-book-card__cover{display:flex!important;justify-content:center!important;align-items:center!important}
body.ds-page-redresser .ds-france-book-card__cover img{
  width:120px!important;height:176px!important;max-width:120px!important;max-height:176px!important;object-fit:cover!important;
}
@media(max-width:820px){
  body.ds-page-redresser .ds-target-bottom,body.ds-redresser-candidate-v20120 .ds-target-bottom{grid-template-columns:1fr!important}
  body.ds-page-redresser .bottom-resources p,body.ds-redresser-candidate-v20120 .bottom-resources p{grid-template-columns:1fr!important;gap:3px!important}
}
@media(max-width:600px){
  body.ds-page-redresser .goal-row,
  body.ds-redresser-candidate-v20120 .goal-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px 6px!important}
  body.ds-page-redresser .goal-row b,
  body.ds-redresser-candidate-v20120 .goal-row b{font-size:14px!important;overflow-wrap:normal!important;word-break:normal!important;hyphens:auto!important}
  body.ds-page-redresser .goal-row small,
  body.ds-redresser-candidate-v20120 .goal-row small{font-size:13px!important;overflow-wrap:normal!important;word-break:normal!important;hyphens:auto!important}
}
@media(max-width:700px){
  img.ds-readable-diagram[src*="reform-without-breaking-services"]{
    min-width:0!important;width:100%!important;max-width:100%!important;
  }
}
@media(max-width:700px){
  img.ds-readable-diagram[src*="reform-without-breaking-services"]{
    aspect-ratio:720 / 1130!important;height:auto!important;object-fit:contain!important;
  }
}
