/* HAOLLA Visual Integrity v1.42.1
   Final-cascade visual safety layer for generated and late-injected public sections. */
:root{
  --hi-ink:#0b1d39;
  --hi-ink-2:#162b45;
  --hi-body:#52647b;
  --hi-muted:#6b7d91;
  --hi-on-dark:#f5f9ff;
  --hi-on-dark-soft:#b9c9dc;
  --hi-aqua:#8adfd4;
  --hi-aqua-strong:#62cabf;
  --hi-border-dark:rgba(170,210,235,.14);
  --hi-border-light:#dbe5ef;
  --hi-gutter:clamp(18px,3.2vw,44px);
  --hi-content:1180px;
}

/* Prevent late-injected sections from inheriting viewport offsets or transforms. */
.implicitLayerV1,
.haollaHiddenCompactV1404,
.haollaEiPosition,
.haollaGlobalGatewayV1400,
.haollaVisionBlock,
.haollaMissionBlock,
.haollaCornerHero,
.haollaCornerSection,
.jaSection,
.jaHero,
.jaGateway,
.jaSources{
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  margin-inline:0;
  left:auto!important;
  right:auto!important;
  transform:none!important;
}

.implicitLayerV1__inner,
.haollaHiddenCompactV1404 .hcWrap,
.haollaEiPosition .eiWrap,
.haollaGlobalGatewayV1400 .gWrap,
.haollaVisionBlock>.wrap,
.haollaMissionBlock>.wrap,
.haollaCornerHero>.wrap,
.haollaCornerSection>.wrap,
.haollaBrandStrip>.wrap,
.jaWrap{
  box-sizing:border-box;
  width:min(var(--hi-content),calc(100% - (var(--hi-gutter) * 2)))!important;
  max-width:var(--hi-content)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
}

/* FINAL hidden-learning DOM: this is what remains after the concision pass. */
.haollaHiddenCompactV1404{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  padding:64px 0!important;
  background:linear-gradient(180deg,#f8fbff 0%,#f1f6fb 100%)!important;
  color:var(--hi-ink)!important;
  border-block:1px solid #dce6ef!important;
}
.haollaHiddenCompactV1404 .hcWrap{
  position:relative!important;
  padding:0!important;
}
.haollaHiddenCompactV1404 header{
  position:static!important;
  display:grid!important;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;
  gap:36px!important;
  align-items:end!important;
  width:100%!important;
  margin:0 0 28px!important;
  padding:0!important;
  background:none!important;
  border:0!important;
  box-shadow:none!important;
  color:var(--hi-ink)!important;
  transform:none!important;
}
.haollaHiddenCompactV1404 header span{
  display:block!important;
  margin:0 0 10px!important;
  color:#187d78!important;
  font-size:11px!important;
  font-weight:850!important;
  letter-spacing:.15em!important;
  opacity:1!important;
}
.haollaHiddenCompactV1404 h2{
  margin:0!important;
  max-width:14ch!important;
  color:var(--hi-ink)!important;
  font-size:clamp(34px,4.1vw,54px)!important;
  line-height:1.04!important;
  letter-spacing:-.045em!important;
  opacity:1!important;
  text-shadow:none!important;
  filter:none!important;
}
.haollaHiddenCompactV1404 header p{
  margin:0!important;
  color:var(--hi-body)!important;
  font-size:15px!important;
  line-height:1.72!important;
  opacity:1!important;
  text-shadow:none!important;
}
.haollaHiddenCompactV1404 .hcGrid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
}
.haollaHiddenCompactV1404 article{
  min-width:0!important;
  min-height:158px!important;
  padding:21px!important;
  border:1px solid var(--hi-border-light)!important;
  border-radius:20px!important;
  background:#fff!important;
  color:var(--hi-ink)!important;
  box-shadow:0 12px 32px rgba(19,44,84,.055)!important;
  transform:none!important;
}
.haollaHiddenCompactV1404 article small{color:#187d78!important;opacity:1!important}
.haollaHiddenCompactV1404 article h3{
  margin:10px 0 8px!important;
  color:var(--hi-ink-2)!important;
  font-size:18px!important;
  line-height:1.35!important;
  opacity:1!important;
  text-shadow:none!important;
}
.haollaHiddenCompactV1404 article p{
  margin:0!important;
  color:var(--hi-body)!important;
  font-size:14px!important;
  line-height:1.62!important;
  opacity:1!important;
}
.haollaHiddenCompactV1404 .hcBottom{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:20px!important;
  width:100%!important;
  margin:16px 0 0!important;
  padding:16px 18px!important;
  border:1px solid var(--hi-border-light)!important;
  border-radius:18px!important;
  background:#fff!important;
  color:var(--hi-body)!important;
}
.haollaHiddenCompactV1404 .hcBottom span{color:var(--hi-body)!important;opacity:1!important}
.haollaHiddenCompactV1404 .hcBottom a,
.haollaHiddenCompactV1404 .hcBottom a:visited{
  flex:0 0 auto!important;
  padding:12px 17px!important;
  border-radius:999px!important;
  background:#10243d!important;
  color:#fff!important;
  text-decoration:none!important;
  font-weight:800!important;
}

/* Legacy implicit layer remains safe if a page has not been compacted. */
#main.learningResultsV1344 .implicitLayerV1{
  position:relative!important;isolation:isolate;overflow:clip;
  background:linear-gradient(180deg,#f8fbff 0%,#f1f6fc 100%)!important;
  color:var(--hi-ink)!important;border-block:1px solid #dce7f1!important;
}
#main.learningResultsV1344 .implicitLayerV1__inner{position:relative!important;padding-inline:0!important}
#main.learningResultsV1344 .implicitLayerV1__eyebrow{color:#187d78!important;opacity:1!important}
#main.learningResultsV1344 .implicitLayerV1 h2,
#main.learningResultsV1344 .implicitLayerV1__hook,
#main.learningResultsV1344 .implicitLayerV1__card h3{color:var(--hi-ink)!important;opacity:1!important;text-shadow:none!important;filter:none!important}
#main.learningResultsV1344 .implicitLayerV1__lead,
#main.learningResultsV1344 .implicitLayerV1__card p,
#main.learningResultsV1344 .implicitLayerV1__science p,
#main.learningResultsV1344 .implicitLayerV1__cta p{color:var(--hi-body)!important;opacity:1!important;text-shadow:none!important}
#main.learningResultsV1344 .implicitLayerV1__card,
#main.learningResultsV1344 .implicitLayerV1__science,
#main.learningResultsV1344 .implicitLayerV1__cta{background:rgba(255,255,255,.92)!important;border-color:var(--hi-border-light)!important}
#main.learningResultsV1344 .implicitLayerV1__result{background:#0b1d36!important;color:var(--hi-on-dark)!important}
#main.learningResultsV1344 .implicitLayerV1__result b{color:var(--hi-aqua)!important}
#main.learningResultsV1344 .implicitLayerV1__result p{color:#e1ebf6!important}
#main.learningResultsV1344 .implicitLayerV1__cta a,#main.learningResultsV1344 .implicitLayerV1__cta a:visited{background:#10243d!important;color:#fff!important}

/* Landing-page header contract, now used by every public page. */
.haollaExecutiveBarGlobalV1421{
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  width:100%!important;
  min-height:44px!important;
  margin:0!important;
  padding:8px 18px!important;
  background:linear-gradient(90deg,#061326,#0a2036 52%,#101932)!important;
  border-bottom:1px solid rgba(150,205,232,.14)!important;
  color:#e9f4ff!important;
  text-align:center!important;
  font-size:11px!important;
  line-height:1.3!important;
  letter-spacing:.035em!important;
}
.haollaExecutiveBarGlobalV1421 b{color:#fff!important;font-size:12px!important;letter-spacing:.1em!important}
.haollaExecutiveBarGlobalV1421 span{color:#9ed6ec!important;font-weight:700!important}
.globalPublicHeaderV1421{
  position:sticky!important;
  top:0!important;
  z-index:90!important;
  width:100%!important;
  margin:0!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
  background:rgba(5,8,24,.94)!important;
  backdrop-filter:blur(20px) saturate(135%)!important;
}
.globalPublicHeaderV1421 .nav{
  box-sizing:border-box!important;
  width:min(1240px,calc(100% - 40px))!important;
  max-width:1240px!important;
  height:76px!important;
  margin:0 auto!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;
  align-items:center!important;
  column-gap:28px!important;
}
.globalPublicHeaderV1421 .globalBrandV1421{grid-column:1!important;justify-self:start!important;display:inline-flex!important;align-items:center!important}
.globalPublicHeaderV1421 .globalBrandV1421 img{display:block!important;width:44px!important;height:44px!important;object-fit:contain!important}
.globalPublicHeaderV1421 .globalDesktopNavV1421{
  grid-column:2!important;justify-self:center!important;margin:0!important;padding:0!important;
  display:flex!important;align-items:center!important;gap:26px!important;white-space:nowrap!important;
}
.globalPublicHeaderV1421 .globalDesktopNavV1421 a{
  color:#e0e8f5!important;font-size:13px!important;font-weight:700!important;letter-spacing:-.01em!important;text-decoration:none!important;opacity:.88!important;
}
.globalPublicHeaderV1421 .globalDesktopNavV1421 a:hover,.globalPublicHeaderV1421 .globalDesktopNavV1421 a:focus-visible{color:#fff!important;opacity:1!important}
.globalPublicHeaderV1421 .globalNavActionsV1421{
  grid-column:3!important;justify-self:end!important;margin:0!important;padding:0!important;
  display:flex!important;align-items:center!important;gap:10px!important;
}
.globalLangMenuV1421{position:relative!important;margin:0!important}
.globalLangMenuV1421>summary{list-style:none!important}
.globalLangMenuV1421>summary::-webkit-details-marker{display:none!important}
.globalLangMenuV1421 .langBtn{
  min-height:42px!important;height:42px!important;padding:0 14px!important;border:1px solid rgba(170,195,230,.18)!important;border-radius:999px!important;
  background:rgba(255,255,255,.025)!important;color:#e3e9f6!important;display:inline-flex!important;align-items:center!important;gap:9px!important;cursor:pointer!important;font-size:13px!important;font-weight:700!important;
}
.globalLangMenuV1421 .langBtn i{width:9px!important;height:9px!important;border-radius:50%!important;background:#69dccb!important;box-shadow:0 0 0 3px rgba(105,220,203,.11)!important}
.globalLangPopoverV1421{
  position:absolute!important;top:calc(100% + 10px)!important;right:0!important;z-index:120!important;width:210px!important;padding:8px!important;
  border:1px solid rgba(171,198,231,.16)!important;border-radius:18px!important;background:#0b1023!important;box-shadow:0 22px 60px rgba(0,0,0,.35)!important;
}
.globalLangPopoverV1421 a{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;padding:11px 12px!important;border-radius:12px!important;color:#e9f1fc!important;text-decoration:none!important;font-size:13px!important}
.globalLangPopoverV1421 a:hover{background:rgba(255,255,255,.06)!important}.globalLangPopoverV1421 small{color:#8294ae!important}
.globalConsultV1421{
  min-height:44px!important;height:44px!important;padding:0 17px!important;border:0!important;border-radius:999px!important;
  background:linear-gradient(110deg,#a8eee1 0%,#9ddcf4 45%,#c5b6ff 76%,#ffc2d9 100%)!important;color:#10172a!important;
  box-shadow:0 10px 30px rgba(128,202,229,.16)!important;font-size:13px!important;font-weight:850!important;text-decoration:none!important;white-space:nowrap!important;
}
.globalMobileMenuV1421{display:none!important;position:relative!important}.globalMobileMenuV1421>summary{list-style:none!important;cursor:pointer!important;padding:10px 12px!important;border:1px solid rgba(170,195,230,.18)!important;border-radius:12px!important;color:#e9f1fc!important;font-size:12px!important;font-weight:800!important}.globalMobileMenuV1421>summary::-webkit-details-marker{display:none!important}
.globalMobileMenuV1421>nav{position:absolute!important;right:0!important;top:calc(100% + 10px)!important;width:min(300px,calc(100vw - 28px))!important;padding:10px!important;border:1px solid rgba(171,198,231,.16)!important;border-radius:18px!important;background:#0b1023!important;box-shadow:0 22px 60px rgba(0,0,0,.35)!important}
.globalMobileMenuV1421>nav>a{display:flex!important;min-height:44px!important;align-items:center!important;padding:10px 12px!important;border-radius:11px!important;color:#e9f1fc!important;text-decoration:none!important}.globalMobileMenuV1421>nav>a.primaryBtn{justify-content:center!important;margin-top:6px!important;color:#10172a!important;background:linear-gradient(110deg,#a8eee1,#9ddcf4 48%,#ffc2d9)!important}

/* Regional SEO / school cards: never allow browser-default electric blue to leak through. */
body.jeonnamAccess .jaRegionGrid a,body.jeonnamAccess .jaRegionGrid a:link,body.jeonnamAccess .jaRegionGrid a:visited,
body.jeonnamAccess .jaSchoolGrid a,body.jeonnamAccess .jaSchoolGrid a:link,body.jeonnamAccess .jaSchoolGrid a:visited{color:var(--hi-on-dark-soft)!important;text-decoration:none!important}
body.jeonnamAccess .jaSchoolGrid strong,body.jeonnamAccess .jaRegionGrid h3{color:var(--hi-on-dark)!important}
body.jeonnamAccess .jaSchoolGrid span,body.jeonnamAccess .jaSchoolGrid p,body.jeonnamAccess .jaRegionGrid p{color:var(--hi-on-dark-soft)!important;opacity:1!important}
body.jeonnamAccess .jaSchoolGrid em,body.jeonnamAccess .jaRegionGrid em,body.jeonnamAccess .jaSourceLink,body.jeonnamAccess .jaSources a,body.jeonnamAccess .jaSources a:visited{color:var(--hi-aqua)!important}
body.jeonnamAccess .jaLevelGrid article>span{color:#9bcbd3!important}
body.jeonnamAccess .jaEyebrow,body.jeonnamAccess .jaSectionHead>span,body.jeonnamAccess .jaProof>div>span,body.jeonnamAccess .jaRegionGrid>a>span,body.jeonnamAccess .jaHeroPanel>span{color:var(--hi-aqua)!important}
body.jeonnamAccess .jaSchoolGrid a:hover,body.jeonnamAccess .jaRegionGrid a:hover{border-color:rgba(138,223,212,.36)!important;background:rgba(255,255,255,.055)!important}

/* Late brand / intelligence modules. */
.haollaEiPosition,.haollaMissionBlock,.haollaCornerHero,.haollaGlobalGatewayV1400{color:var(--hi-on-dark)!important}
.haollaEiPosition :is(h1,h2,h3,strong),.haollaMissionBlock :is(h1,h2,h3,strong),.haollaCornerHero :is(h1,h2,h3,strong),.haollaGlobalGatewayV1400 :is(h1,h2,h3,strong){color:var(--hi-on-dark)!important;opacity:1!important}
.haollaEiPosition :is(.eiLead,article p,.eiMission),.haollaMissionBlock :is(p,span),.haollaCornerHero p,.haollaGlobalGatewayV1400 :is(.gLead,.gPills span){color:var(--hi-on-dark-soft)!important;opacity:1!important}
.haollaVisionBlock,.haollaCornerSection.tint,.haollaIntegratedNote{color:var(--hi-ink)!important}
.haollaVisionBlock :is(h1,h2,h3,strong),.haollaCornerSection.tint :is(h1,h2,h3,strong),.haollaIntegratedNote :is(h1,h2,h3,strong){color:var(--hi-ink)!important;opacity:1!important}
.haollaVisionBlock p,.haollaCornerSection.tint p,.haollaIntegratedNote{color:var(--hi-body)!important;opacity:1!important}
.haollaEiPosition .eiEyebrow,.haollaGlobalGatewayV1400 .gEyebrow,.haollaMissionHead small,.haollaCornerHero small{color:var(--hi-aqua)!important}

@media(max-width:980px){
  .globalPublicHeaderV1421 .nav{grid-template-columns:auto 1fr!important;height:70px!important;width:min(100% - 28px,1240px)!important}
  .globalPublicHeaderV1421 .globalDesktopNavV1421{display:none!important}
  .globalPublicHeaderV1421 .globalNavActionsV1421{grid-column:2!important;justify-self:end!important}
  .globalMobileMenuV1421{display:block!important}
  .globalPublicHeaderV1421 .globalBrandV1421 img{width:40px!important;height:40px!important}
}
@media(max-width:720px){
  :root{--hi-gutter:16px}
  .haollaHiddenCompactV1404{padding:46px 0!important}
  .haollaHiddenCompactV1404 header{grid-template-columns:1fr!important;gap:14px!important;margin-bottom:20px!important}
  .haollaHiddenCompactV1404 h2{max-width:17ch!important;font-size:clamp(29px,9vw,40px)!important}
  .haollaHiddenCompactV1404 .hcGrid{grid-template-columns:1fr!important;gap:10px!important}
  .haollaHiddenCompactV1404 article{min-height:0!important}
  .haollaHiddenCompactV1404 .hcBottom{align-items:flex-start!important;flex-direction:column!important}
  .haollaExecutiveBarGlobalV1421{min-height:38px!important;padding:7px 10px!important;font-size:10px!important}
  .globalPublicHeaderV1421 .globalConsultV1421{display:none!important}
  .globalLangMenuV1421 .langBtn{height:40px!important;min-height:40px!important;padding:0 11px!important;font-size:12px!important}
  .globalPublicHeaderV1421 .nav{height:64px!important}
}
@media(min-width:721px) and (max-width:900px){
  .haollaHiddenCompactV1404 header{grid-template-columns:1fr!important;gap:16px!important}
  .haollaHiddenCompactV1404 .hcGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
