/* Approved SOT page style system.
   Scope: menu pages only. News and events are deliberately excluded by not
   loading this file there. This layer sits after page CSS and before QA. */

:root{
  --sot-style-ink:#081320;
  --sot-style-ink-2:#102638;
  --sot-style-ink-3:#18354a;
  --sot-style-blue:#009fda;
  --sot-style-blue-dark:#007fad;
  --sot-style-blue-soft:#dff5fd;
  --sot-style-paper:#f3f8fb;
  --sot-style-white:#ffffff;
  --sot-style-muted:#5f7485;
  --sot-style-line:rgba(0,159,218,.24);
  --sot-style-line-dark:rgba(255,255,255,.14);
  --sot-style-radius:8px;
  --sot-style-max:1180px;
  --sot-style-pad:clamp(72px,10vw,132px);
  --sot-style-grid:
    linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
}

:where(.industrial-hero h1,
  .research-hero h1,
  .coexist-hero h1,
  .dm-hero h1,
  .doc-hero h1){
  font-size:clamp(2.15rem,4.8vw,4.6rem);
  line-height:1.02;
  letter-spacing:0!important;
  text-wrap:balance;
  max-width:760px;
}

:where(.section-head h2,
  .site-prefooter__head h2,
  .doc-section-head h2,
  .doc-context h2,
  .doc-anniversary h2,
  .doc-team h2,
  .doc-qhse h2,
  .coexist-contact h2,
  .lab-video-copy h2,
  .partners-head h2,
  .related-head-min h2,
  .pub-head h2,
  .scale-ready h2,
  .fabrication-copy h2,
  .dm-collab-title,
  .dm-doc-copy .big){
  font-size:clamp(2rem,4vw,3.8rem);
  line-height:1;
  letter-spacing:0!important;
  text-wrap:balance;
}

:where(.rd-topic-card h3,
  .outcome-card h3,
  .coexist-card h3,
  .focus-item h2,
  .dm-collab-name,
  .th-heading,
  .industrial-step h3,
  .scale-card h3,
  .doc-values h3,
  .doc-team h3){
  font-size:clamp(1.18rem,1.7vw,1.55rem);
  line-height:1.08;
  letter-spacing:0!important;
  text-wrap:balance;
}

:where(.eyebrow,
  .kicker,
  .doc-kicker,
  .award-news-kicker,
  .th-kicker,
  .coexist-type){
  display:inline-flex;
  align-items:center;
  gap:12px;
  font-family:'Archivo Narrow',Arial,sans-serif;
  font-weight:700;
  letter-spacing:.18em!important;
  text-transform:uppercase;
}

:where(.eyebrow,
  .kicker,
  .doc-kicker,
  .award-news-kicker,
  .th-kicker):before{
  content:"";
  display:inline-block;
  width:34px;
  height:2px;
  flex:0 0 auto;
  background:var(--sot-style-blue);
}

:where(.section,
  .block,
  .doc-values,
  .doc-statement,
  .doc-context,
  .doc-timeline,
  .doc-anniversary,
  .doc-team,
  .doc-qhse){
  padding-top:var(--sot-style-pad);
  padding-bottom:var(--sot-style-pad);
}

:where(.research-hero,
  .industrial-hero,
  .coexist-page .hero,
  .dm-hero,
  .doc-hero){
  min-height:clamp(560px,78vh,760px);
}

:where(.section-head,
  .doc-section-head,
  .partners-head,
  .related-head-min,
  .pub-head,
  .lab-video-copy){
  align-items:flex-start;
}

:where(.doc-statement,
  .scale-ready,
  .dm-doc-section,
  .coexist-contact){
  background:
    radial-gradient(circle at 74% 18%,rgba(0,159,218,.12),transparent 34%),
    var(--sot-style-paper)!important;
  color:var(--sot-style-ink)!important;
}

:where(.doc-statement,
  .scale-ready,
  .dm-doc-section,
  .coexist-contact) :where(p,.lead,.copy){
  color:var(--sot-style-muted)!important;
}

:where(.doc-statement,
  .scale-ready,
  .dm-doc-section,
  .coexist-contact) :where(.hl,.eyebrow,.kicker,.doc-kicker){
  color:var(--sot-style-blue)!important;
}

.demosath-integrated > .dm-doc-section{
  background:#007aa8!important;
  background-image:linear-gradient(145deg,#007aa8 0%,#00638c 58%,#044160 100%)!important;
  color:#eef8fb!important;
  border-bottom:1px solid rgba(255,255,255,.16)!important;
}

.demosath-integrated > .dm-doc-section:before{
  display:none!important;
}

.demosath-integrated > .dm-doc-section :where(.big,.hl,.eyebrow,.kicker,.doc-kicker){
  color:#fff!important;
}

.demosath-integrated > .dm-doc-section :where(p,.lead,.copy){
  color:rgba(239,248,251,.86)!important;
}

.demosath-integrated > .dm-doc-section .dm-doc-card{
  grid-template-columns:minmax(300px,.74fr) minmax(460px,1.26fr)!important;
  gap:clamp(72px,7vw,108px)!important;
  align-items:center!important;
}

.demosath-integrated > .dm-doc-section .dm-doc-copy .big{
  max-width:15ch!important;
  margin-bottom:0!important;
  font-size:clamp(1.75rem,2.65vw,2.65rem)!important;
  line-height:1.12!important;
  letter-spacing:-.02em!important;
}

.demosath-integrated > .dm-doc-section .dm-doc-copy .lead{
  max-width:45ch!important;
  margin-top:22px!important;
  font-size:clamp(1rem,1.2vw,1.16rem)!important;
  line-height:1.72!important;
  font-weight:500!important;
}

.demosath-integrated > .dm-doc-section .dm-doc-copy .lead + .lead{
  margin-top:18px!important;
}

.demosath-integrated > .dm-doc-section .eyebrow:before{
  background:rgba(255,255,255,.58)!important;
}

.demosath-integrated > .dm-doc-section .dm-doc-link.primary{
  background:#fff!important;
  border-color:#fff!important;
  color:#04141f!important;
}

.demosath-integrated > .dm-doc-section .dm-doc-related{
  border-top-color:rgba(255,255,255,.24)!important;
}

.demosath-integrated > .dm-doc-section .dm-doc-related :where(.label,a),
.demosath-integrated > .dm-doc-section .dm-doc-related a:before{
  color:#fff!important;
  border-color:rgba(255,255,255,.5)!important;
}

.demosath-integrated > .dm-doc-section .dm-doc-preview{
  border-color:rgba(255,255,255,.24)!important;
  box-shadow:0 28px 78px rgba(3,14,23,.34)!important;
}

.demosath-integrated > .dm-doc-section .dm-doc-preview iframe{
  position:absolute!important;
  inset:0!important;
  z-index:5!important;
  width:100%!important;
  height:100%!important;
  border:0!important;
  background:#020911!important;
}

.demosath-integrated > .dm-doc-section .dm-doc-preview.is-playing img,
.demosath-integrated > .dm-doc-section .dm-doc-preview.is-playing .dm-doc-preview-play{
  opacity:0!important;
  visibility:hidden!important;
}

.demosath-integrated > .dm-doc-section .dm-doc-inline-loader{
  position:absolute!important;
  inset:0!important;
  z-index:4!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  color:#fff!important;
  font-family:"Archivo",sans-serif!important;
  font-size:.92rem!important;
  font-weight:800!important;
  background:rgba(3,14,23,.58)!important;
}

.demosath-integrated > .dm-doc-section .dm-doc-inline-loader:before{
  content:""!important;
  width:18px!important;
  height:18px!important;
  border-radius:50%!important;
  border:2px solid rgba(255,255,255,.28)!important;
  border-top-color:#fff!important;
  animation:videoLoaderSpin 1s linear infinite!important;
}

:where(.research-hero,
  .industrial-hero,
  .coexist-page .hero,
  .dm-collab-section,
  .award-news-section){
  background-color:var(--sot-style-blue-dark);
  background-image:
    radial-gradient(circle at 72% 16%,rgba(255,255,255,.18),transparent 35%),
    var(--sot-style-grid);
  background-size:auto,44px 44px,44px 44px;
}

:where(.research-hero,
  .industrial-hero,
  .coexist-page .hero,
  .dm-collab-section,
  .award-news-section) :where(h1,h2,h3,p,.lead,.copy){
  color:var(--sot-style-white);
}

:where(.research-hero,
  .industrial-hero,
  .coexist-page .hero,
  .dm-collab-section,
  .award-news-section) :where(.eyebrow,.kicker){
  color:rgba(255,255,255,.88)!important;
}

:where(.rd-hero-keycards article,
  .rd-topic-card,
  .outcome-card,
  .coexist-card,
  .coexist-publication,
  .focus-item,
  .metric,
  .th-panel,
  .industrial-hero-card,
  .scale-card,
  .doc-value,
  .site-prefooter__grid a){
  border-radius:var(--sot-style-radius)!important;
}

:where(.rd-hero-keycards article,
  .focus-item,
  .metric,
  .th-panel,
  .industrial-hero-card){
  border-color:var(--sot-style-line-dark)!important;
}

:where(.rd-topic-card,
  .outcome-card,
  .coexist-card,
  .coexist-publication,
  .scale-card,
  .doc-value,
  .site-prefooter__grid a){
  border-color:var(--sot-style-line)!important;
}

:where(.rd-topic-card > span,
  .outcome-card > span,
  .focus-item > small,
  .th-dot){
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:42px;
  min-height:42px;
  border-radius:999px;
  border:1px solid var(--sot-style-line);
  color:var(--sot-style-blue);
  font-family:'Archivo',Arial,sans-serif;
  font-weight:800;
}

:where(.btn,
  .b1,
  .b2,
  .contact-submit,
  .dm-doc-link,
  .activity-link,
  .related-all){
  border-radius:999px!important;
  font-weight:800;
  letter-spacing:0;
}

:where(.lead,.copy,.th-copy,.doc-hero-copy p,.doc-context p,.doc-qhse p){
  font-size:clamp(1rem,1.45vw,1.18rem);
  line-height:1.65;
}

@media(max-width:900px){
  :where(.industrial-hero h1,
    .research-hero h1,
    .coexist-hero h1,
    .dm-hero h1,
    .doc-hero h1){
    font-size:clamp(2rem,10vw,2.45rem);
    line-height:1.04;
    max-width:760px;
  }

  :where(.section-head h2,
    .site-prefooter__head h2,
    .doc-section-head h2,
    .dm-collab-title,
    .dm-doc-copy .big){
    font-size:clamp(2rem,8vw,2.45rem);
    line-height:1.04;
  }

  :where(.section,
    .block,
    .doc-values,
    .doc-statement,
    .doc-context,
    .doc-timeline,
    .doc-anniversary,
    .doc-team,
    .doc-qhse){
    padding-top:clamp(56px,14vw,86px);
    padding-bottom:clamp(56px,14vw,86px);
  }
}

@media(max-width:680px){
  :where(.eyebrow,
    .kicker,
    .doc-kicker,
    .award-news-kicker,
    .th-kicker){
    letter-spacing:.14em!important;
    gap:10px;
  }

  :where(.eyebrow,
    .kicker,
    .doc-kicker,
    .award-news-kicker,
    .th-kicker):before{
    width:28px;
  }

  :where(.rd-hero-keycards,
    .outcome-board,
    .coexist-grid,
    .coexist-library,
    .doc-values-grid){
    gap:14px!important;
  }
}

/* DemoSATH kicker alignment: keep the same rhythm across dark, light and blue blocks. */
.demosath-integrated :where(.eyebrow,.th-kicker){
  display:inline-flex!important;
  align-items:center!important;
  gap:12px!important;
  font-family:'Archivo Narrow',Arial,sans-serif!important;
  font-size:.74rem!important;
  line-height:1.15!important;
  font-weight:800!important;
  letter-spacing:.22em!important;
  text-transform:uppercase!important;
}

.demosath-integrated :where(.eyebrow,.th-kicker):before{
  content:""!important;
  display:block!important;
  width:34px!important;
  height:2px!important;
  flex:0 0 34px!important;
}

.demosath-integrated :where(.dm-hero,#fases,#phases,.th-panel,.dm-resil) :where(.eyebrow,.th-kicker){
  color:#5bc5ef!important;
}

.demosath-integrated :where(.dm-hero,#fases,#phases,.th-panel,.dm-resil) :where(.eyebrow,.th-kicker):before{
  background:#5bc5ef!important;
}

.demosath-integrated :where(.project-reference,.dm-collab-section) .eyebrow{
  color:#007aa8!important;
}

.demosath-integrated :where(.project-reference,.dm-collab-section) .eyebrow:before{
  background:#007aa8!important;
}

.demosath-integrated > .dm-doc-section .eyebrow{
  color:rgba(255,255,255,.84)!important;
}

.demosath-integrated > .dm-doc-section .eyebrow:before{
  background:rgba(255,255,255,.64)!important;
}

/* DemoSATH approved collaborators block: light treatment shared by ES/EN and mobile. */
.demosath-integrated > .dm-collab-section{
  background:#eef4f6!important;
  color:#07121d!important;
  border-top:1px solid rgba(7,18,29,.08)!important;
  border-bottom:1px solid rgba(7,18,29,.1)!important;
  padding-top:clamp(50px,6vw,74px)!important;
  padding-bottom:clamp(50px,6vw,74px)!important;
}

.demosath-integrated > .dm-collab-section:before{
  background:linear-gradient(90deg,transparent,rgba(0,122,168,.28),transparent)!important;
}

.demosath-integrated .dm-collab-section .eyebrow{
  color:#007aa8!important;
}

.demosath-integrated .dm-collab-section .eyebrow:before{
  background:#007aa8!important;
}

.demosath-integrated .dm-collab-title{
  max-width:17ch!important;
  color:#07121d!important;
  font-size:clamp(2rem,2.85vw,3rem)!important;
  font-weight:900!important;
  line-height:1.1!important;
  letter-spacing:-.026em!important;
}

.demosath-integrated .dm-collab-title .hl{
  color:#007aa8!important;
}

.demosath-integrated .dm-collab-intro{
  color:#314756!important;
  font-size:clamp(.98rem,1.03vw,1.08rem)!important;
  line-height:1.58!important;
  font-weight:400!important;
}

.demosath-integrated .dm-collab-card{
  border-color:rgba(7,18,29,.1)!important;
  background:#fff!important;
  box-shadow:0 18px 52px rgba(7,18,29,.08)!important;
  border-radius:14px!important;
  transition:transform .38s var(--ease),border-color .38s var(--ease),box-shadow .38s var(--ease)!important;
}

.demosath-integrated .dm-collab-card:before{
  background:linear-gradient(90deg,#009fda,rgba(0,159,218,.12),transparent)!important;
}

.demosath-integrated .dm-collab-card:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:radial-gradient(circle at 18% 20%,rgba(0,159,218,.14),transparent 42%);
  opacity:0;
  pointer-events:none;
  transition:opacity .35s var(--ease);
}

.demosath-integrated .dm-collab-card:hover{
  border-color:rgba(0,122,168,.38)!important;
  box-shadow:0 26px 70px rgba(7,18,29,.16)!important;
  transform:translateY(-6px)!important;
}

.demosath-integrated .dm-collab-card:hover:after{
  opacity:1;
}

.demosath-integrated .dm-collab-card:hover .dm-collab-photo img{
  transform:scale(1.035)!important;
  filter:saturate(1.04) contrast(1.04)!important;
}

.demosath-integrated .dm-collab-photo{
  background:#f5f8fa!important;
  border-right-color:rgba(7,18,29,.08)!important;
}

.demosath-integrated .dm-collab-name{
  color:#07121d!important;
}

.demosath-integrated .dm-collab-copy{
  color:#314756!important;
  font-weight:400!important;
}

.demosath-integrated .dm-collab-date{
  color:#007aa8!important;
}

.demosath-integrated .dm-collab-link{
  border-color:rgba(7,18,29,.12)!important;
  background:#f5f8fa!important;
  color:#314756!important;
}

.demosath-integrated .dm-collab-link.primary{
  border-color:#009fda!important;
  background:#009fda!important;
  color:#04121d!important;
}

.demosath-integrated .dm-collab-link:hover{
  border-color:rgba(0,122,168,.42)!important;
  background:rgba(0,159,218,.1)!important;
  color:#07121d!important;
}

.demosath-integrated .dm-collab-link.primary:hover{
  background:#05aee8!important;
  color:#04121d!important;
}

@media(max-width:680px){
  .demosath-integrated :where(.eyebrow,.th-kicker){
    gap:10px!important;
    font-size:.68rem!important;
    letter-spacing:.16em!important;
  }

  .demosath-integrated :where(.eyebrow,.th-kicker):before{
    width:28px!important;
    flex-basis:28px!important;
  }

  .demosath-integrated .dm-collab-title{
    max-width:none!important;
  }

  .demosath-integrated .dm-collab-photo{
    border-right:0!important;
    border-bottom:1px solid rgba(7,18,29,.08)!important;
  }
}

@media(max-width:920px){
  .demosath-integrated > .dm-doc-section .dm-doc-card{
    grid-template-columns:1fr!important;
    gap:34px!important;
  }

  .demosath-integrated > .dm-doc-section .dm-doc-copy .big{
    max-width:15ch!important;
  }
}

@media(max-width:620px){
  .demosath-integrated > .dm-doc-section .dm-doc-copy .big{
    font-size:clamp(1.6rem,7.4vw,2.1rem)!important;
    max-width:14ch!important;
    line-height:1.12!important;
  }

}

/* Approved four-item block system.
   Pattern A keeps the numbered capsule cards used in Coexistence.
   Pattern B keeps the large-number dark cards used in Industrialisation. */
.research-main .outcome-proof{
  border:0!important;
  background:transparent!important;
}

.research-main .outcome-proof .proof-grid,
.industrial-page .process-timeline,
.industrial-page .value-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
  border:0!important;
  background:transparent!important;
  overflow:visible!important;
}

.research-main .outcome-proof .proof-grid{
  counter-reset:sot-proof-card!important;
}

.research-main .outcome-proof .proof-item,
.industrial-page .process-step,
.industrial-page .value-card{
  position:relative!important;
  min-height:250px!important;
  padding:28px 24px 26px!important;
  border:1px solid rgba(91,197,239,.18)!important;
  border-radius:8px!important;
  background:linear-gradient(180deg,rgba(9,28,43,.96),rgba(7,21,34,.96))!important;
  box-shadow:none!important;
  overflow:hidden!important;
  transform:none!important;
}

.industrial-page .process-step{
  min-height:235px!important;
  padding:32px 28px!important;
  background:#071f32!important;
}

.research-main .outcome-proof .proof-item{
  counter-increment:sot-proof-card!important;
}

.research-main .outcome-proof .proof-item:first-child,
.industrial-page .process-step:first-child{
  border-left:1px solid rgba(91,197,239,.18)!important;
}

.research-main .outcome-proof .proof-item:before,
.industrial-page .process-step:before,
.industrial-page .value-card .value-num{
  content:counter(sot-proof-card, decimal-leading-zero)!important;
  display:block!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  margin:0 0 30px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:rgba(91,197,239,.34)!important;
  font-family:"Archivo",Arial,sans-serif!important;
  font-size:clamp(3rem,4.8vw,4.25rem)!important;
  font-style:normal!important;
  font-weight:900!important;
  letter-spacing:0!important;
  line-height:.82!important;
}

.industrial-page .process-step:before{
  content:attr(data-step)!important;
}

.industrial-page .process-step:before{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:42px!important;
  margin:0 0 30px!important;
  border:1px solid rgba(91,197,239,.35)!important;
  border-radius:999px!important;
  background:transparent!important;
  color:#5bc5ef!important;
  font-family:"Inter",system-ui,sans-serif!important;
  font-size:.74rem!important;
  font-weight:900!important;
  letter-spacing:0!important;
  line-height:1!important;
}

.industrial-page .process-step:after{
  display:none!important;
}

.research-main .outcome-proof .proof-item b,
.industrial-page .process-step h3,
.industrial-page .value-card h3{
  display:block!important;
  margin:0 0 12px!important;
  color:#fff!important;
  font-family:"Archivo",Arial,sans-serif!important;
  font-size:clamp(1.06rem,1.25vw,1.24rem)!important;
  font-weight:900!important;
  line-height:1.12!important;
}

.research-main .outcome-proof .proof-item span,
.industrial-page .process-step p,
.industrial-page .value-card p{
  display:block!important;
  margin:0!important;
  color:#c8dce8!important;
  font-size:.98rem!important;
  line-height:1.5!important;
}

.research-main .outcome-proof .proof-item small{
  display:block!important;
  margin-top:22px!important;
  color:#e9f6fb!important;
  font-family:"Archivo Narrow",Arial,sans-serif!important;
  font-size:.72rem!important;
  font-weight:900!important;
  letter-spacing:.12em!important;
  line-height:1.35!important;
  text-transform:uppercase!important;
}

.research-main .outcome-proof .proof-item:hover,
.industrial-page .process-step:hover,
.industrial-page .value-card:hover{
  border-color:rgba(91,197,239,.42)!important;
  background:linear-gradient(180deg,rgba(11,35,54,.98),rgba(7,23,37,.98))!important;
  transform:translateY(-3px)!important;
}

.industrial-page .process-step:hover{
  background:#08263c!important;
}

.industrial-page .process-step:hover:before{
  border-color:rgba(91,197,239,.72)!important;
  background:rgba(91,197,239,.08)!important;
  color:#5bc5ef!important;
}

.coexist-page #vision .coexist-focus{
  gap:18px!important;
}

.coexist-page #vision,
.industrial-page #proceso,
.about-doc .doc-values{
  background:#fff!important;
}

.coexist-page #vision .focus-item{
  border-radius:8px!important;
}

.about-doc .doc-values{
  color:#07121d!important;
  border-bottom:1px solid #d4e0e6!important;
}

.about-doc .doc-values .doc-section-head h2{
  color:#07121d!important;
}

.about-doc .doc-values-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
  border:0!important;
  background:transparent!important;
}

.about-doc .doc-values-grid article{
  min-height:235px!important;
  padding:32px 28px!important;
  border:0!important;
  border-radius:8px!important;
  background:#071f32!important;
  color:#fff!important;
  box-shadow:none!important;
}

.about-doc .doc-values-grid span{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:42px!important;
  margin:0 0 30px!important;
  border:1px solid rgba(91,197,239,.35)!important;
  border-radius:999px!important;
  background:transparent!important;
  color:#5bc5ef!important;
  font-family:"Inter",system-ui,sans-serif!important;
  font-size:.74rem!important;
  font-weight:900!important;
  letter-spacing:0!important;
  line-height:1!important;
}

.about-doc .doc-values-grid h3{
  margin:0 0 12px!important;
  color:#fff!important;
  font-size:clamp(1.06rem,1.25vw,1.24rem)!important;
  line-height:1.12!important;
}

.about-doc .doc-values-grid p{
  margin:0!important;
  color:#c8dce8!important;
  font-size:.98rem!important;
  line-height:1.5!important;
}

.about-doc .doc-values-grid article:hover,
.about-doc .doc-values-grid article:focus-within{
  border-color:rgba(91,197,239,.42)!important;
  background:#08263c!important;
  transform:translateY(-3px)!important;
  box-shadow:none!important;
}

@media(max-width:1040px){
  .research-main .outcome-proof .proof-grid,
  .industrial-page .process-timeline,
  .industrial-page .value-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:640px){
  .research-main .outcome-proof .proof-grid,
  .industrial-page .process-timeline,
  .industrial-page .value-grid{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }

  .research-main .outcome-proof .proof-item,
  .industrial-page .process-step,
  .industrial-page .value-card{
    min-height:0!important;
    padding:22px 20px 24px!important;
  }

  .research-main .outcome-proof .proof-item:before,
  .industrial-page .process-step:before,
  .industrial-page .value-card .value-num{
    margin-bottom:18px!important;
    font-size:2.9rem!important;
  }

  .industrial-page .process-step:before{
    width:100%!important;
    min-height:34px!important;
    font-size:.68rem!important;
  }
}

/* About history block keeps its photographic background. */
.about-doc .doc-statement{
  isolation:isolate!important;
  background:
    linear-gradient(90deg,rgba(6,17,29,.9) 0%,rgba(6,17,29,.72) 42%,rgba(6,17,29,.34) 70%,rgba(6,17,29,.58) 100%),
    linear-gradient(180deg,rgba(6,17,29,.08),rgba(6,17,29,.72)),
    url("about-us/demosath-float-off.png") center center/cover no-repeat!important;
  color:#eef4f8!important;
}
.about-doc .doc-statement:before{display:none!important}
.about-doc .doc-statement:after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:-1!important;
  background:radial-gradient(70% 90% at 76% 42%,rgba(0,159,218,.2),transparent 64%)!important;
  pointer-events:none!important;
}
.about-doc .doc-statement .doc-big,
.about-doc .doc-statement .doc-kicker{color:#fff!important}
.about-doc .doc-statement :where(p,.lead,.copy){color:#c6d6e2!important}

/* Final approved type scale: section H2s use one visual size across menu pages.
   Card titles and CTA display headlines keep their own component scale. */
:root{
  --sot-section-h2:clamp(1.65rem,2.7vw,2.55rem);
  --sot-section-h2-mobile:clamp(1.55rem,7vw,2.15rem);
}

:where(
  .industrial-page .section-head h2,
  .industrial-page .scale-ready-copy h2,
  .industrial-page .industrial-split h2,
  .research-main .section-head h2,
  .coexist-page .section-head h2,
  .coexist-page .pub-head h2,
  .coexist-page .partners-head h2,
  .coexist-page .related-head-min h2,
  .about-doc .doc-section-head h2,
  .about-doc .doc-context h2,
  .about-doc .doc-anniversary h2,
  .about-doc .doc-team h2,
  .about-doc .doc-qhse h2,
  .about-doc .doc-related h2,
  .demosath-integrated .project-reference-copy h2,
  .demosath-integrated .statement .big,
  .demosath-integrated .dm-doc-copy .big
){
  font-size:var(--sot-section-h2)!important;
  line-height:1.06!important;
  letter-spacing:0!important;
  max-width:720px;
}

@media(max-width:720px){
  :where(
    .industrial-page .section-head h2,
    .industrial-page .scale-ready-copy h2,
    .industrial-page .industrial-split h2,
    .research-main .section-head h2,
    .coexist-page .section-head h2,
    .coexist-page .pub-head h2,
    .coexist-page .partners-head h2,
    .coexist-page .related-head-min h2,
    .about-doc .doc-section-head h2,
    .about-doc .doc-context h2,
    .about-doc .doc-anniversary h2,
    .about-doc .doc-team h2,
    .about-doc .doc-qhse h2,
    .about-doc .doc-related h2,
    .demosath-integrated .project-reference-copy h2,
    .demosath-integrated .statement .big,
    .demosath-integrated .dm-doc-copy .big
  ){
    font-size:var(--sot-section-h2-mobile)!important;
    line-height:1.06!important;
  }
}

/* Mobile QA patch 20260923: keep approved desktop styling, but force real
   phone layouts to one readable column and prevent horizontal overflow. */
@media(max-width:760px){
  html,
  body{
    max-width:100%!important;
    overflow-x:hidden!important;
  }

  :where(.about-doc,.research-main,.industrial-page,.coexist-page,.demosath-integrated),
  :where(.about-doc,.research-main,.industrial-page,.coexist-page,.demosath-integrated) :where(section,.wrap,[class*="grid"],[class*="copy"],[class*="head"]){
    min-width:0!important;
    max-width:100%!important;
  }

  :where(.about-doc,.research-main,.industrial-page,.coexist-page,.demosath-integrated) :where(h1,h2,h3,p,a,strong,span,b,small){
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
  }

  .about-doc .doc-values-grid,
  .research-main .outcome-proof .proof-grid,
  .industrial-page .process-timeline,
  .industrial-page .value-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:12px!important;
  }

  .about-doc .doc-values-grid article,
  .research-main .outcome-proof .proof-item,
  .industrial-page .process-step,
  .industrial-page .value-card{
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    padding:22px 20px 24px!important;
  }

  .about-doc .doc-values-grid article{
    display:block!important;
  }

  .about-doc .doc-values-grid span{
    width:100%!important;
    min-height:34px!important;
    margin:0 0 18px!important;
  }

  .about-doc .doc-values-grid h3,
  .research-main .outcome-proof .proof-item b,
  .industrial-page .process-step h3,
  .industrial-page .value-card h3{
    font-size:clamp(1.08rem,5.2vw,1.42rem)!important;
    line-height:1.12!important;
  }

  .about-doc .doc-values-grid p,
  .research-main .outcome-proof .proof-item span,
  .industrial-page .process-step p,
  .industrial-page .value-card p{
    font-size:.96rem!important;
    line-height:1.48!important;
  }

  .research-main .outcome-proof .proof-item small{
    font-size:.7rem!important;
    letter-spacing:.1em!important;
  }
}
