/* HAOLLA v1.32.1 - consumer-only copy visual hardening */
:root{--v1310-ink:#13213b;--v1310-body:#41536d;--v1310-soft:#f7faff;--v1310-line:#dbe6f3;--v1310-accent:#147a72}
html,body{overflow-x:hidden}
body{word-break:keep-all;overflow-wrap:anywhere}
main,section,.wrap,.r1290Wrap,.r1290HeroGrid,.r1290HubGrid,.r1300FactGrid,.r1300Actions,.r1300Roadmap{min-width:0}
.r1290HubCard,.r1300Fact,.r1300Action,.r1300Road,.r1290Price,.r1290ProblemCard,.r1290FitGrid>*{min-width:0;overflow:hidden}
.r1290HubCard h2,.seoHubV1290 .r1290HubCard h2,.revenuePageV1290 .r1290HubCard h2{color:var(--v1310-ink)!important;opacity:1!important;text-shadow:none!important;filter:none!important}
.r1290HubCard p,.r1300Fact p,.r1300Action p,.r1300BuzzItem,.r1300Intro p,.r1300Sources p,.r1300Sources li{color:var(--v1310-body)!important;opacity:1!important}
.r1290Section.white h2,.r1290Section.tint h2,.r1300Intro h2,.r1300Buzz h2{color:var(--v1310-ink)!important;opacity:1!important;text-shadow:none!important}
.r1290Section.white .r1290Kicker,.r1290Section.tint .r1290Kicker{color:#19786f!important;opacity:1!important}
.r1300EvidenceBar span,.researchBadge{color:#294866!important;background:#eef6ff!important;border-color:#cfdfef!important;opacity:1!important}
.r1300Fact .value{color:#10243f!important;opacity:1!important;overflow-wrap:anywhere}
.r1300SourceLink{color:#116f75!important}
.r1300Road h3{color:#fff!important;opacity:1!important}
.r1300Road p{color:#d6e3f2!important;opacity:1!important}
.r1290Disclosure{color:#52657d!important;opacity:1!important}
.r1290Hero .r1290Disclosure,.r1290Hero .r1290HeroLead{max-width:72ch}
.r1290HeroChips span,.r1300EvidenceBar span{white-space:normal;text-align:left;line-height:1.35}
.r1290MapNode span{overflow-wrap:anywhere}
.r1290HubCard a,.r1290Btn{position:relative;z-index:2}
.r1300Comparison th,.r1300Comparison td{overflow-wrap:anywhere}
@media(max-width:760px){
  body{word-break:normal}
  .r1290HubGrid,.r1300Actions,.r1300FactGrid{grid-template-columns:1fr!important}
  .r1290HubCard,.r1300Fact,.r1300Action{padding-left:20px!important;padding-right:20px!important}
  .r1290HubCard h2,.r1300Intro h2,.r1290SectionHead h2{max-width:100%;overflow-wrap:anywhere}
  .r1290HeroChips,.r1300EvidenceBar{gap:7px}
  .r1290HeroChips span,.r1300EvidenceBar span{font-size:11px}
}
/* Dark hero contrast guard: prevents pale inherited/overlay text on dark revenue heroes. */
.r1290HubHero,.r1290Hero{background-color:#081a38!important}
.r1290HubHero h1,.r1290Hero h1{color:#fff!important;opacity:1!important;text-shadow:none!important}
.r1290HubHero p,.r1290Hero .r1290HeroLead{color:#d9e6f7!important;opacity:1!important}
.r1290HubHero .r1290Kicker,.r1290Hero .r1290Kicker{color:#62e5d5!important;opacity:1!important}
.r1290HubHero .r1290HeroChips span,.r1290Hero .r1290HeroChips span{color:#eff6ff!important;border-color:rgba(211,231,255,.32)!important;background:rgba(255,255,255,.1)!important;opacity:1!important}
.r1290HubCard small{color:#277b75!important;opacity:1!important}

/* v1.31 customer-copy final: flexible pricing and contrast guards */
.priceGrid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))!important;align-items:stretch!important}.priceCard{min-width:0!important}.priceCard .price{overflow-wrap:anywhere}.lightSection .priceCard h3,.priceCard h3{color:#0b1734!important;opacity:1!important}.priceCard li{color:#46536b!important;opacity:1!important}

/* HAOLLA v1.32.0 — final mobile rhythm, dark-surface contrast and locale polish */
:root{
  --v1320-ink:#10213d;
  --v1320-body:#425773;
  --v1320-on-dark:#f7fbff;
  --v1320-on-dark-soft:#d5e2f2;
  --v1320-mint:#6cebdc;
}

html{scroll-padding-top:108px}
main section[id],main [id].r1290Section{scroll-margin-top:108px}

/* Separate evidence chips, primary/secondary CTAs, and the next visual block. */
.r1290HeroActions{
  margin-top:28px!important;
  margin-bottom:14px!important;
  align-items:stretch!important;
  gap:14px!important;
}
.r1300EvidenceBar + .r1290HeroActions{margin-top:28px!important}
.r1290HeroActions .r1290Btn{
  min-width:0!important;
  min-height:54px!important;
  padding:12px 20px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  line-height:1.35!important;
}
.r1290HeroActions + .r1290Disclosure{margin-top:22px!important}
.r1290Section.r1320BeforeConsultation{padding-bottom:44px!important}
#consultation.r1290Section{padding-top:44px!important}

/* Dark conversion and information surfaces must never inherit dark text. */
.r1290Lead,
.r1290Section.dark,
.r1290Price.featured,
.r1300Road,
.r1290MapNode,
.r1290MapCore{
  color:var(--v1320-on-dark)!important;
}
.r1290LeadCopy .r1290Kicker,
.r1290Section.dark .r1290Kicker,
.r1300Road small{
  color:var(--v1320-mint)!important;
  opacity:1!important;
}
.r1290Section.white .r1290LeadCopy h1,
.r1290Section.white .r1290LeadCopy h2,
.r1290Section.white .r1290LeadCopy h3,
.r1290Section.white .r1290LeadCopy h4,
.r1290Section.tint .r1290LeadCopy h1,
.r1290Section.tint .r1290LeadCopy h2,
.r1290Section.tint .r1290LeadCopy h3,
.r1290Section.tint .r1290LeadCopy h4,
.r1290LeadCopy h1,.r1290LeadCopy h2,.r1290LeadCopy h3,.r1290LeadCopy h4,
.r1290LeadCopy strong,.r1290LeadCopy b,
.r1290Section.dark h1,.r1290Section.dark h2,.r1290Section.dark h3,.r1290Section.dark h4,
.r1290Section.dark strong,.r1290Section.dark b,
.r1290Price.featured h2,.r1290Price.featured h3,.r1290Price.featured .price,
.r1290Price.featured strong,.r1290Price.featured b,
.r1300Road h2,.r1300Road h3,.r1300Road strong,.r1300Road b,
.r1290MapNode b,.r1290MapCore b{
  color:var(--v1320-on-dark)!important;
  opacity:1!important;
  text-shadow:none!important;
  filter:none!important;
}
.r1290LeadCopy p,.r1290LeadCopy li,
.r1290Section.dark p,.r1290Section.dark li,
.r1290Price.featured p,.r1290Price.featured li,
.r1300Road p,
.r1290MapNode span,.r1290MapCore span{
  color:var(--v1320-on-dark-soft)!important;
  opacity:1!important;
}
.r1290LeadCopy li::before{color:var(--v1320-mint)!important}

/* The consultation form remains a light, high-contrast surface inside the navy panel. */
.r1290LeadForm{color:var(--v1320-ink)!important;background:#fff!important}
.r1290LeadForm label{color:#3f536f!important;opacity:1!important}
.r1290LeadForm input,.r1290LeadForm select,.r1290LeadForm textarea{
  color:#13213b!important;
  background:#f7faff!important;
  border-color:#cbd9eb!important;
  opacity:1!important;
}
.r1290LeadForm input::placeholder,.r1290LeadForm textarea::placeholder{
  color:#6f8098!important;
  opacity:1!important;
}
.r1290LeadForm small{color:#5c6f89!important;opacity:1!important}
.r1290LeadForm input:focus,.r1290LeadForm select:focus,.r1290LeadForm textarea:focus{
  outline:3px solid rgba(91,216,255,.22);
  border-color:#65bfd3!important;
}

/* Additional dark modules used on legacy and workspace pages. */
.productShell h1,.productShell h2,.productShell h3,.productShell h4,.productShell b,
.demoInput h1,.demoInput h2,.demoInput h3,.demoInput h4,.demoInput b,
.demoOutput h1,.demoOutput h2,.demoOutput h3,.demoOutput h4,.demoOutput b,
.v122OperatingVisual h1,.v122OperatingVisual h2,.v122OperatingVisual h3,.v122OperatingVisual h4,.v122OperatingVisual b,
.v122MemoryMock > h1,.v122MemoryMock > h2,.v122MemoryMock > h3,.v122MemoryMock > h4,.v122MemoryMock > b,
.engineStage h1,.engineStage h2,.engineStage h3,.engineStage h4,.engineStage b,
.languageCard h1,.languageCard h2,.languageCard h3,.languageCard h4,.languageCard b,
.modalCard h1,.modalCard h2,.modalCard h3,.modalCard h4,.modalCard b{
  color:var(--v1320-on-dark)!important;
  opacity:1!important;
}

/* Localized titles and official programme names must wrap without clipping. */
.r1300Fact .value,.r1300Road h3,.r1300Road p,.r1290HubCard h2,
.r1290Hero h1,.r1290Section h2,.r1290LeadCopy h2{
  overflow-wrap:anywhere;
  word-break:keep-all;
  hyphens:auto;
}
html[lang="ko"] .r1290MapNode b{
  font-size:12px;
  line-height:1.3;
  word-break:keep-all;
  overflow-wrap:normal;
}

@media(max-width:580px){
  html{scroll-padding-top:96px}
  main section[id],main [id].r1290Section{scroll-margin-top:96px}
  .r1290HeroActions{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    gap:16px!important;
    margin-top:30px!important;
    margin-bottom:20px!important;
  }
  .r1300EvidenceBar + .r1290HeroActions{margin-top:30px!important}
  .r1290HeroActions .r1290Btn{
    width:100%!important;
    min-height:58px!important;
    padding:11px 18px!important;
    border-radius:18px;
    font-size:15px;
  }
  .r1290HeroGrid{row-gap:48px!important}
  .r1290Section.r1320BeforeConsultation{padding-bottom:26px!important}
  #consultation.r1290Section{padding-top:26px!important}
  .r1290Lead{gap:24px!important;padding:22px!important}
  .r1290LeadCopy{padding:6px 4px 2px!important}
  .r1290LeadCopy h2{font-size:clamp(29px,8.6vw,40px)!important;line-height:1.14!important}
  .r1290LeadForm{margin-top:8px;padding:20px!important}
  html[lang="ko"] .r1290MapNode b{font-size:11px}
}
@media(max-width:390px){
  .r1290HeroActions .r1290Btn{min-height:56px!important;font-size:14px}
  .r1290Lead{padding:18px!important}
  .r1290LeadCopy h2{font-size:28px!important}
}


/* HAOLLA v1.32.1 — final cross-page CTA rhythm, anchor clearance and contrast locks */
html{scroll-padding-top:116px!important}
main section[id],main [id],#consultation{scroll-margin-top:116px!important}

.r1290HeroActions{
  margin-top:30px!important;
  margin-bottom:22px!important;
  gap:16px!important;
}
.r1300EvidenceBar + .r1290HeroActions{margin-top:30px!important}
.r1290HeroActions .r1290Btn{
  min-height:56px!important;
  padding:13px 22px!important;
}
.r1290HeroActions + .r1290Disclosure{margin-top:22px!important}
.r1290Disclosure{line-height:1.65!important}

/* Consultation panels are nested inside light sections on several templates. */
#consultation .r1290Lead,
.r1290Lead{color:#f7fbff!important}
#consultation .r1290LeadCopy h1,
#consultation .r1290LeadCopy h2,
#consultation .r1290LeadCopy h3,
#consultation .r1290LeadCopy h4,
#consultation .r1290LeadCopy b,
#consultation .r1290LeadCopy strong{
  color:#f7fbff!important;
  opacity:1!important;
  text-shadow:none!important;
}
#consultation .r1290LeadCopy p,
#consultation .r1290LeadCopy li{color:#dce8f7!important;opacity:1!important}
#consultation .r1290LeadCopy .r1290Kicker{color:#70eadc!important;opacity:1!important}
#consultation .r1290LeadForm{background:#fff!important;color:#17263f!important}
#consultation .r1290LeadForm label{color:#354b69!important;opacity:1!important}
#consultation .r1290LeadForm input,
#consultation .r1290LeadForm select,
#consultation .r1290LeadForm textarea{color:#14233d!important;background:#f7faff!important}

/* Additional dark cards and information panels found across the legacy templates. */
.darkCard h1,.darkCard h2,.darkCard h3,.darkCard h4,.darkCard b,.darkCard strong,
.navyCard h1,.navyCard h2,.navyCard h3,.navyCard h4,.navyCard b,.navyCard strong,
.darkPanel h1,.darkPanel h2,.darkPanel h3,.darkPanel h4,.darkPanel b,.darkPanel strong,
.darkSurface h1,.darkSurface h2,.darkSurface h3,.darkSurface h4,.darkSurface b,.darkSurface strong{
  color:#f7fbff!important;opacity:1!important
}
.darkCard p,.darkCard li,.navyCard p,.navyCard li,.darkPanel p,.darkPanel li,.darkSurface p,.darkSurface li{
  color:#d8e5f5!important;opacity:1!important
}

@media(max-width:580px){
  html{scroll-padding-top:112px!important}
  main section[id],main [id],#consultation{scroll-margin-top:112px!important}
  .r1290HeroActions{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    gap:16px!important;
    margin-top:30px!important;
    margin-bottom:24px!important;
  }
  .r1290HeroActions .r1290Btn{
    width:100%!important;
    min-height:58px!important;
    padding:13px 18px!important;
  }
  .r1290HeroGrid{row-gap:56px!important}
  .r1290HeroActions + .r1290Disclosure{margin-top:22px!important}
  .revenueCtaV1290 .actions{gap:16px!important;margin-top:18px!important}
  .revenueCtaV1290 .actions .r1290Btn{min-height:58px!important}
  #consultation.r1290Section{padding-top:34px!important}
  .r1290Section.r1320BeforeConsultation{padding-bottom:34px!important}
}
@media(max-width:390px){
  .r1290HeroActions{margin-bottom:24px!important}
  .r1290HeroGrid{row-gap:52px!important}
}

/* Global dark-footer readability lock. */
footer .brand span,footer .footerCol b{color:#f7fbff!important;opacity:1!important}
footer .footerBrand p,footer .footerCol a,footer .footerBottom{color:#aebdd4!important;opacity:1!important}
footer .footerCol a:hover{color:#f7fbff!important}
.v1263EvidenceHead p,.v1263EvidenceNote{color:#aebdd4!important;opacity:1!important}

/* Pricing cards use dark surfaces; keep every customer-facing line readable. */
.priceCard h1,.priceCard h2,.priceCard h3,.priceCard h4,.priceCard .price,.priceCard strong,.priceCard b{color:#f7fbff!important;opacity:1!important;text-shadow:none!important}
.priceCard p,.priceCard li,.priceCard small{color:#b9c8dd!important;opacity:1!important}
.priceCard .sectionLabel{color:#72eadc!important;opacity:1!important}


/* HAOLLA CUSTOM POLICY SECTIONS */
.haollaPolicySection{padding-top:28px;padding-bottom:28px}.haollaPolicyHead{align-items:end;gap:20px}.haollaPolicyGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:22px}.haollaPolicyCard{position:relative;background:#fff;border:1px solid rgba(17,39,89,.12);border-radius:24px;padding:26px;box-shadow:0 12px 34px rgba(6,16,48,.06)}.haollaPolicyCard h3{margin:10px 0 8px;font-size:1.2rem;line-height:1.35;color:#071c4d}.haollaPolicyPrice{font-size:1.4rem;font-weight:800;color:#0b2f7a;margin-bottom:12px}.haollaPolicyCard ul{margin:0;padding-left:18px;color:#31405c;display:grid;gap:8px}.haollaPolicyBadge{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;border-radius:999px;background:linear-gradient(135deg,#0b2f7a,#6f5cff);color:#fff;font-weight:800;font-size:.8rem;letter-spacing:.04em;padding:0 12px}.haollaPolicyNote{margin-top:18px;color:#50607f;font-size:.95rem}.haollaStudentPolicyMini .quickStart{border:1px solid rgba(17,39,89,.12);border-radius:24px;background:linear-gradient(180deg,#fbfcff,#f3f7ff)}.haollaPolicy--institution .haollaPolicyBadge{background:linear-gradient(135deg,#0b2f7a,#1ca082)}@media (max-width:980px){.haollaPolicyGrid{grid-template-columns:1fr}.haollaPolicyHead{align-items:flex-start}}
.sgMiniPriceNote{margin-top:12px;color:#50607f;font-size:.92rem}