/* FACT Networks Corporate 3.0 / Stage 21 — regression shield
 * Loaded LAST on every public surface.
 * Purpose: isolate Corporate 3.0 header / language / footer / modern grids from legacy 2.x global selectors.
 */
:root{--fact21-safe-inline:clamp(16px,4vw,72px)}
html,body{min-width:320px}
body{overflow-x:hidden;overflow-x:clip}

/* Header shell: legacy .site-header/nav/button rules must not change the 3.0 layout. */
.site-header.fact-corporate-header{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:var(--fact3-header-h,78px)!important;
  padding:0!important;
  overflow:visible!important;
}
.fact-corporate-header .fact-primary-bar{display:block!important;width:100%!important}
.fact-corporate-header .fact-header-container{margin-inline:auto!important;min-width:0!important}
.fact-corporate-header .fact-primary-inner{display:grid!important;align-items:stretch!important;min-width:0!important}
.fact-corporate-header .fact-corporate-brand,
.fact-corporate-header .fact-brand-wordmark,
.fact-corporate-header .fact-desktop-nav,
.fact-corporate-header .fact-header-actions{min-width:0!important}
.fact-corporate-header .fact-header-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:nowrap!important;
}
.fact-corporate-header .fact-language-switcher{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  flex:0 0 auto!important;
  margin:0!important;
}
.fact-corporate-header .fact-language-trigger{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  margin:0!important;
  white-space:nowrap!important;
  appearance:none;
  -webkit-appearance:none;
}
.fact-corporate-header .fact-language-menu{
  right:0!important;
  left:auto!important;
  max-width:calc(100vw - 24px)!important;
}
.fact-corporate-header .fact-language-menu button{
  display:grid!important;
  width:100%!important;
  margin:0!important;
  appearance:none;
  -webkit-appearance:none;
}

/* Footer shell: site.css defines bare footer / dl / p grids. Keep the 3.0 footer self-contained. */
footer.fact-corporate-footer{
  display:block!important;
  width:100%!important;
  height:auto!important;
  padding:0!important;
  text-align:left!important;
  grid-template-columns:none!important;
  align-items:initial!important;
}
.fact-corporate-footer .fact-footer-commitment,
.fact-corporate-footer .fact-footer-main,
.fact-corporate-footer .fact-footer-legal{min-width:0!important}
.fact-corporate-footer .fact-footer-main{display:grid!important}
.fact-corporate-footer .fact-footer-identity,
.fact-corporate-footer .fact-footer-column{min-width:0!important}
.fact-corporate-footer .fact-footer-company-data{
  display:block!important;
  grid-template-columns:none!important;
  gap:0!important;
}
.fact-corporate-footer .fact-footer-company-data>div{display:grid!important;min-width:0!important}
.fact-corporate-footer .fact-footer-company-data dt,
.fact-corporate-footer .fact-footer-company-data dd{min-width:0!important}
.fact-corporate-footer .fact-footer-company-data dd{overflow-wrap:anywhere!important}
.fact-corporate-footer p{text-align:left!important}
.fact-corporate-footer nav{margin:0!important}

/* Known modern data lists are row containers, never the legacy site.css 100px/1fr dl grid. */
.c12-company .c12-info-data{display:block!important;grid-template-columns:none!important;gap:0!important}
.c12-company .c12-info-data>div{display:grid!important;min-width:0!important}
.op13-status dl{grid-template-columns:minmax(0,1fr)!important}
.op13-status dl>div{min-width:0!important}

/* Long multilingual content and media must stay inside cards/columns. */
.fact-product-page *,
.fact-platform-page *,
.c12-company *,
.op13 *,
.fact-corporate-footer *{min-width:0}
.fact-product-page h1,.fact-product-page h2,.fact-product-page h3,
.fact-platform-page h1,.fact-platform-page h2,.fact-platform-page h3,
.c12-company h1,.c12-company h2,.c12-company h3,
.op13 h1,.op13 h2,.op13 h3{overflow-wrap:break-word}
html[data-fact-lang="kr"] .fact-product-page h1,
html[data-fact-lang="kr"] .fact-product-page h2,
html[data-fact-lang="kr"] .fact-platform-page h1,
html[data-fact-lang="kr"] .fact-platform-page h2,
html[data-fact-lang="kr"] .c12-company h1,
html[data-fact-lang="kr"] .c12-company h2,
html[data-fact-lang="kr"] .op13 h1,
html[data-fact-lang="kr"] .op13 h2{word-break:keep-all}
img,svg,video,canvas{max-width:100%}

@media(max-width:1220px){
  .fact-corporate-header .fact-primary-inner{grid-template-columns:minmax(0,1fr) auto!important}
  .fact-corporate-header .fact-desktop-nav{display:none!important}
  .fact-corporate-header .fact-corporate-secondary{display:none!important}
  .fact-corporate-header .fact-header-actions>.fact-header-contact{display:none!important}
  .fact-corporate-header .menu.fact-menu-toggle{display:block!important;flex:0 0 auto!important}
}
@media(max-width:760px){
  .site-header.fact-corporate-header{min-height:var(--fact3-header-h,70px)!important}
  .fact-corporate-header .fact-header-container{padding-left:16px!important;padding-right:16px!important}
  .fact-corporate-header .fact-header-actions{gap:8px!important}
  .fact-corporate-header .fact-language-trigger{min-width:50px!important;height:36px!important;padding-inline:8px!important}
  .fact-corporate-header .menu.fact-menu-toggle{width:40px!important;height:40px!important;margin:0!important}
  .fact-corporate-footer .fact-footer-main{grid-template-columns:minmax(0,1fr)!important}
  .fact-corporate-footer .fact-footer-legal{grid-template-columns:minmax(0,1fr)!important}
}
@media(max-width:420px){
  .fact-corporate-header .fact-brand-wordmark small{letter-spacing:.14em!important}
  .fact-corporate-footer .fact-footer-company-data>div{grid-template-columns:minmax(0,1fr)!important;gap:4px!important}
  .c12-company .c12-info-data>div{grid-template-columns:minmax(0,1fr)!important;gap:4px!important;padding:12px 0!important}
}
