/* Cultivera project responsive safety authority · 2026-08-17
   Non-visual guardrails only: overflow exposure, word integrity, touch floors,
   responsive table/media containment and sticky-workbench downgrade on small screens.
   Project navigation and page-specific art/DTP live elsewhere. */

/* DTP safety net: prevents page-specific grids/flex children from forcing horizontal overflow. */
body.project-theme main :is(.container,.funding-shell,.project-editorial-grid,[class*="__grid"],[class$="-grid"],[class*="__layout"],[class$="-layout"]) > *{min-width:0}
body.project-theme main :is(p,li,dd,dt,strong,small,a,button){overflow-wrap:break-word}
body.project-theme main :is(h1,h2,h3){overflow-wrap:normal;word-break:normal;hyphens:none;text-wrap:balance}
body.project-theme main :is(p,li,dd){text-wrap:pretty}
body.project-theme main :is(button,a[href],[role="button"]){touch-action:manipulation}
body.project-theme main :is(button,[role="button"]){min-height:44px}

/* Caption-strength floor remains here because it is a cross-project safety constraint. */
body.project-theme main :is(.hero-caption,.route-caption,.caption,figcaption) strong{font-size:12px;line-height:1.4}
body.project-theme main table{max-width:100%}
body.project-theme main :is(.table-wrap,.table-scroll,.evidence-table-wrap){max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}

@media (max-width:860px){
  /* Mobile reading/DTP recovery. Keep visual identity, remove overflow and microtype regressions. */
  body.project-theme main{max-width:100%}
  body.project-theme main :is(.container,.funding-shell){max-width:100%;padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}
  body.project-theme main :is(p,li,dd){font-size:max(15px,1em);line-height:1.55}
  body.project-theme main :is(.mono,.project-eyebrow,.kicker,.eyebrow,[class*="kicker"],[class*="label"],[class*="caption"]){line-height:1.35}
  body.project-theme main :is(.hero-actions,.project-hero-actions,[class*="actions"]){max-width:100%}
  body.project-theme main :is(.hero-actions,.project-hero-actions,[class*="actions"]) :is(a,button){max-width:100%;white-space:normal;text-align:center}
  body.project-theme main img{max-width:100%}
  body.project-theme main svg{max-width:100%;height:auto}
  body.project-theme main pre{max-width:100%;overflow-x:auto}
  body.project-theme main .project-sticky-workbench:not(.project-workbench--page-managed),
  body.project-theme main .project-workbench--sticky{position:relative!important;inset-block-start:auto!important;max-block-size:none!important}
}

@media (max-width:620px){
  body.project-theme main :is(.container,.funding-shell){padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
  body.project-theme main table{font-size:13px}
  body.project-theme main :is(input,select,textarea){max-width:100%;font-size:16px}
}

/* v1.50.40 integrity authority · mobile global-nav clearance.
   All project pages reserve the fixed global-nav plane outside the hero. */
@media (max-width:767px){
  body.project-theme main[data-project-main]{
    padding-top:var(--cv-nav-height,var(--global-nav-height,58px));
  }
}
