/* T002 A2 human-UAT remediation layer — source-controlled and public-safe.
   Purpose: deterministic fallback typography, responsive REIP layout, and non-black media fallback.
   This stylesheet contains no release authority. */

html,body{max-width:100%;overflow-x:hidden}
body,input,select,textarea,button{font-family:Poppins,Arial,Helvetica,sans-serif}
.brand-kicker,.display,.sector-story .sector-no,.proof-rail span,.panel-label,.proof-id,.stage .n{font-family:'Bebas Neue',Poppins,Arial,Helvetica,sans-serif}

/* Google-hosted fonts are optional enhancement only. System fallbacks must remain readable. */
@supports not (font-variation-settings:normal){body{font-family:Arial,Helvetica,sans-serif}}

/* REIP/mobile: text must stay inside viewport and decorative treatment must never create a full-height rail. */
.hero-public,.hero-public .hero-grid,.hero-public .hero-copy,.hero-public .hero-pathway{min-width:0;max-width:100%}
.hero-public h1,.hero-public h1 span{max-width:100%;overflow-wrap:break-word;word-break:normal}
.hero-public:before{pointer-events:none}

/* Every documentary slot has an intentional non-black visual floor even if a remote image fails. */
.visual-review .story-visual,.story-visual{background-color:#e7eee2;background-image:linear-gradient(135deg,#dce7d4 0%,#f5f7f2 100%)}
.visual-review .story-visual.circular,.story-visual.circular{background-color:#f4ead1;background-image:linear-gradient(135deg,#f3e4bb 0%,#fbf8ee 100%)}
.visual-review .story-visual.mining,.story-visual.mining{background-color:#ece9e2;background-image:linear-gradient(135deg,#e4e1da 0%,#f7f5ef 100%)}
.visual-review .subhero{background-color:#f5f4ee}

@media(max-width:680px){
  .hero-public .hero-grid{grid-template-columns:1fr!important;padding:56px 0 44px!important;gap:30px!important}
  .hero-public h1{font-size:clamp(2.35rem,11.5vw,3.65rem)!important;line-height:.94!important;letter-spacing:-.045em!important;margin-left:0!important;margin-right:0!important}
  .hero-public h1 span{overflow-wrap:normal!important;word-break:normal!important}
  .hero-public .lead{font-size:1rem!important;line-height:1.62!important}
  .hero-public:before{width:280px!important;height:280px!important;right:-120px!important;bottom:-100px!important;inset:auto -120px -100px auto!important}
  .hero-public:after,.hero-public .hero-copy:before,.hero-public .hero-copy:after{max-height:72px!important}
  .kicker:before{width:20px!important;height:2px!important;min-height:2px!important;max-height:2px!important;align-self:center!important}
  .language-bar{max-width:100%}
}

@media(max-width:420px){
  .hero-public h1{font-size:clamp(2.15rem,10.8vw,3rem)!important;letter-spacing:-.035em!important}
  .wrap{width:min(calc(100% - 24px),var(--max-wide,var(--max,1200px)))!important}
}
