/* FACT Networks Corporate 3.0 / Stage 17 — typography + responsive guardrails */
:root{--fact-type-readable:1.74}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{overflow-x:hidden}
#fact-main-content{overflow-wrap:anywhere}
#fact-main-content p,#fact-main-content li,#fact-main-content dd{word-break:keep-all;line-height:var(--fact-type-readable)}
html[data-fact-lang="en"] #fact-main-content p,html[data-fact-lang="en"] #fact-main-content li,html[data-fact-lang="en"] #fact-main-content dd{word-break:normal;overflow-wrap:anywhere}
html[data-fact-lang="jp"] #fact-main-content p,html[data-fact-lang="jp"] #fact-main-content li,html[data-fact-lang="jp"] #fact-main-content dd,
html[data-fact-lang="cn"] #fact-main-content p,html[data-fact-lang="cn"] #fact-main-content li,html[data-fact-lang="cn"] #fact-main-content dd{word-break:normal;line-break:strict}

/* Product pages: keep hero hierarchy, stop oversized section headlines. */
.fact-product-title{font-size:clamp(42px,5.2vw,66px)!important;line-height:1.02!important;letter-spacing:-.052em!important}
.fact-product-overview h2{font-size:clamp(27px,3vw,38px)!important;line-height:1.16!important}
.fact-product-capabilities h2{font-size:clamp(25px,2.5vw,32px)!important;line-height:1.2!important}
.fr-head h2,.fd-head h2,.fg-head h2,.fw-head h2,.fv-head h2{font-size:clamp(25px,2.7vw,36px)!important;line-height:1.2!important}

/* Platform pages. */
.fact-platform-title{font-size:clamp(40px,4.5vw,58px)!important;line-height:1.03!important}
.fact-platform-capabilities h2,.fc-head h2,.cz-head h2,.vt-head h2{font-size:clamp(24px,2.35vw,31px)!important;line-height:1.24!important}

/* Corporate / Technology / Operations. */
.c12-hero h1{font-size:clamp(42px,4.8vw,66px)!important;line-height:1.08!important}
.c12-section-head h2,.c12-info-copy h2{font-size:clamp(28px,3vw,40px)!important;line-height:1.2!important}
.t11-hero h1{font-size:clamp(40px,4.4vw,60px)!important;line-height:1.08!important}
.t11-head h2{font-size:clamp(27px,2.8vw,36px)!important;line-height:1.22!important}
.op13-hero h1{font-size:clamp(38px,4vw,56px)!important;line-height:1.1!important}
.op13-head h2{font-size:clamp(27px,2.7vw,36px)!important;line-height:1.22!important}

/* Stage 16 engineering pages. */
.fact-stage16 h1{font-size:clamp(40px,4.4vw,58px)!important;line-height:1.1!important;letter-spacing:-.04em!important}
.fact-stage16-head h2{font-size:clamp(27px,2.8vw,36px)!important;line-height:1.24!important}
.fact-stage16-lead{font-size:17px!important;line-height:1.82!important}

/* Projects was the remaining outlier. */
.fact-projects-hero h1{font-size:clamp(44px,5vw,70px)!important;line-height:1.04!important;letter-spacing:-.055em!important}
.fact-projects-v6 h2,.fact-projects-section-head h2,.fact-projects-contact h2{font-size:clamp(28px,3vw,40px)!important;line-height:1.2!important}
.fact-projects-veltrion-caption strong{font-size:clamp(38px,4vw,58px)!important}

/* Long EN/JP/CN copy should not force cards wider than their grids. */
.fact-stage16-card,.fact-stage16-panel,.fact-product-shell,.fact-platform-shell,.c12-layer,.t11-card,.op13-card,.fact-projects-program{min-width:0}
.fact-stage16-card h3,.fact-product-capability h3,.fact-platform-capability h3,.c12-layer-copy h3{overflow-wrap:anywhere}

@media(max-width:1080px){
  .fact-stage16-hero{grid-template-columns:1fr!important;min-height:auto!important}
  .fact-stage16-flow{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .fact-stage16-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .fact-projects-hero{grid-template-columns:1fr!important}
}
@media(max-width:760px){
  #fact-main-content p,#fact-main-content li,#fact-main-content dd{word-break:normal;overflow-wrap:anywhere}
  .fact-product-title{font-size:clamp(36px,10vw,48px)!important}
  .fact-product-overview h2,.fact-product-capabilities h2,.fr-head h2,.fd-head h2,.fg-head h2,.fw-head h2,.fv-head h2{font-size:clamp(23px,6.7vw,28px)!important}
  .fact-platform-title{font-size:clamp(34px,9.5vw,44px)!important}
  .fact-platform-capabilities h2,.fc-head h2,.cz-head h2,.vt-head h2{font-size:clamp(22px,6.4vw,27px)!important}
  .c12-hero h1,.t11-hero h1,.op13-hero h1,.fact-stage16 h1,.fact-projects-hero h1{font-size:clamp(34px,9.6vw,46px)!important;letter-spacing:-.038em!important}
  .c12-section-head h2,.c12-info-copy h2,.t11-head h2,.op13-head h2,.fact-stage16-head h2,.fact-projects-v6 h2,.fact-projects-section-head h2,.fact-projects-contact h2{font-size:clamp(24px,7vw,30px)!important}
  .fact-stage16-lead,.fact-projects-lead,.op13-lead,.c12-lead{font-size:15px!important}
  .fact-stage16-flow,.fact-stage16-grid,.fact-stage16-grid.two{grid-template-columns:1fr!important}
  .fact-stage16-panel{padding:20px!important}
  .fact-stage16-card{min-height:0!important;padding:22px!important}
  .fact-stage16-actions,.fact-product-actions,.fact-platform-actions{display:grid!important;grid-template-columns:1fr!important}
  .fact-stage16-actions a,.fact-product-actions a,.fact-platform-actions a{width:100%!important;min-width:0!important}
  .fact-projects-hero-copy,.fact-projects-index,.fact-projects-section-head,.fact-projects-disclosure,.fact-projects-veltrion-copy,.fact-projects-program header,.fact-projects-program-body,.fact-projects-matrix,.fact-projects-architecture,.fact-projects-contact{padding-left:20px!important;padding-right:20px!important}
}
@media(max-width:420px){
  .fact-product-title,.fact-platform-title,.c12-hero h1,.t11-hero h1,.op13-hero h1,.fact-stage16 h1,.fact-projects-hero h1{font-size:34px!important}
  .fact-stage16-shell{width:calc(100% - 24px)!important}
}
