/* CAQA LLND family-light design system — loaded last across the public site. */
:root{
  --family-ink:#17202a;
  --family-copy:#40505d;
  --family-muted:#687783;
  --family-blue:#176b9a;
  --family-blue-strong:#0c527e;
  --family-teal:#168679;
  --family-pale:#eef7f8;
  --family-sky:#eff6fa;
  --family-warm:#f7f6f2;
  --family-line:#dbe4e7;
  --family-white:#fff;
  --family-shadow:0 18px 50px rgba(23,32,42,.08);
}
html{scroll-behavior:smooth}
body{background:#fff;color:var(--family-copy)}
.container{max-width:1240px}
h1,h2,h3,h4{color:var(--family-ink)}
a{color:var(--family-blue)}
.eyebrow{color:var(--family-teal);font-weight:700;letter-spacing:.13em}
.site-head{background:rgba(255,255,255,.97)!important;border-bottom:1px solid var(--family-line);box-shadow:0 8px 25px rgba(23,32,42,.035)}
.site-head .nav-row{min-height:94px}
.site-head .brand img{max-height:70px;width:auto}
.topnav a{color:#263642!important;font-size:.88rem;font-weight:600}
.topnav a:hover,.topnav a[aria-current="page"]{color:var(--family-blue)!important}
.topnav a::after{background:var(--family-teal)!important;height:2px}
.btn,.head-cta .btn{background:var(--family-blue)!important;border:1px solid var(--family-blue)!important;color:#fff!important;border-radius:5px!important;box-shadow:none!important}
.btn:hover,.head-cta .btn:hover{background:var(--family-blue-strong)!important;border-color:var(--family-blue-strong)!important;transform:translateY(-1px)}
.btn.btn-ghost{background:#fff!important;color:var(--family-blue)!important;border-color:#aac6d4!important}
.btn.btn-ghost:hover{background:var(--family-sky)!important;color:var(--family-blue-strong)!important}

/* Light editorial hero: the existing photography remains the visual anchor. */
.hero.fx-hero,.hero,.page-hero{background:linear-gradient(135deg,#fff 0%,#f4f8f8 64%,#edf6f6 100%)!important;color:var(--family-copy)!important;border-bottom:1px solid var(--family-line)}
.hero.fx-hero h1,.hero h1,.page-hero h1{color:var(--family-ink)!important}
.hero.fx-hero p,.hero p,.page-hero p{color:var(--family-copy)!important}
.hero.fx-hero .eyebrow,.hero .eyebrow,.page-hero .eyebrow{color:var(--family-teal)!important}
.hero.fx-hero .btn-ghost{background:transparent!important;color:var(--family-blue)!important;border-color:#9bbdcc!important}
.hero.fx-hero .btn-ghost:hover{background:#fff!important;color:var(--family-blue-strong)!important;border-color:var(--family-blue)!important}
.hero.fx-hero .slides,.hero.fx-hero .frame,.hero-media .slides{box-shadow:var(--family-shadow)!important;border:8px solid #fff!important}
.hero .oval-stage::before{background:radial-gradient(circle,#d6eeee 0%,#edf6f5 62%,transparent 72%)!important;opacity:1!important}
.chip-float{background:#fff!important;color:var(--family-ink)!important;border:1px solid var(--family-line)!important;box-shadow:0 12px 34px rgba(23,32,42,.12)!important}
.chip-float b{color:var(--family-blue)!important}

.section{background:#fff}
.section.wash,.wash{background:var(--family-warm)!important}
.section.band-blue,.band-blue,.band-dark,.dark-band{background:var(--family-pale)!important;color:var(--family-copy)!important;border-block:1px solid var(--family-line)}
.section.band-blue h2,.section.band-blue h3,.band-blue h2,.band-blue h3,.band-dark h2,.band-dark h3{color:var(--family-ink)!important}
.section.band-blue p,.band-blue p,.band-dark p{color:var(--family-copy)!important}
.section.band-blue .eyebrow,.band-blue .eyebrow{color:var(--family-teal)!important}
.card,.fx-pillar,.stat,.panel,.resource-card,.course-card{background:#fff!important;border:1px solid var(--family-line)!important;box-shadow:none!important;border-radius:8px!important}
.card:hover,.fx-pillar:hover,.resource-card:hover,.course-card:hover{box-shadow:var(--family-shadow)!important;border-color:#b8ccd3!important;transform:translateY(-3px)}
.icon-tile{background:var(--family-pale)!important;border:1px solid #d5e8e8!important}
.fx-filmband{background:#fff!important;border:1px solid var(--family-line)!important;box-shadow:var(--family-shadow)!important;border-radius:8px!important;padding:10px!important}
.fx-chip{background:rgba(255,255,255,.94)!important;color:var(--family-ink)!important;border:1px solid rgba(255,255,255,.85)!important}
.sec-head.center h2::after{background:var(--family-teal)!important}
.tag,.pill,.badge{background:var(--family-pale)!important;color:#155f58!important;border-color:#cde2e1!important}
table{background:#fff;border-color:var(--family-line)}
th{background:var(--family-sky)!important;color:var(--family-ink)!important}
input,select,textarea{background:#fff!important;color:var(--family-ink)!important;border:1px solid #bdcbd1!important;border-radius:5px!important}
input:focus,select:focus,textarea:focus{border-color:var(--family-blue)!important;box-shadow:0 0 0 3px rgba(23,107,154,.12)!important}

/* CAQA family footer: generous, useful and light rather than a dark wall. */
.caqa-family-footer{background:#f4f5f2!important;color:var(--family-copy);border-top:1px solid var(--family-line);font-family:Inter,"Segoe UI",sans-serif}
.cff-cta{background:#fff;border-bottom:1px solid var(--family-line)}
.cff-cta-inner{max-width:1240px;margin:auto;padding:52px 24px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.cff-cta h2{margin:0;max-width:660px;font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.12}
.cff-cta p{margin:.7rem 0 0;color:var(--family-muted)}
.cff-main{max-width:1240px;margin:auto;padding:56px 24px 30px}
.cff-grid{display:grid;grid-template-columns:1.45fr repeat(3,1fr);gap:45px}
.cff-brand img{width:210px;height:auto;margin-bottom:22px}
.cff-brand>p{max-width:34ch;line-height:1.7;color:var(--family-copy)}
.cff-social{display:flex;gap:10px;margin-top:24px}
.cff-social a{display:grid;place-items:center;width:38px;height:38px;border:1px solid #cbd6d9;border-radius:50%;text-decoration:none;color:var(--family-blue);font-weight:700}
.cff-social a:hover{background:var(--family-blue);color:#fff;border-color:var(--family-blue)}
.cff-col h3{font-family:Inter,"Segoe UI",sans-serif;font-size:.75rem;letter-spacing:.13em;text-transform:uppercase;margin:4px 0 18px;color:var(--family-ink)}
.cff-col ul{list-style:none;padding:0;margin:0}
.cff-col li{margin:0 0 11px;line-height:1.45}
.cff-col a{color:#43535e;text-decoration:none;font-size:.9rem}
.cff-col a:hover{color:var(--family-blue);text-decoration:underline;text-underline-offset:3px}
.cff-contact p{margin:0 0 14px;font-size:.9rem;line-height:1.55}
.cff-contact strong{display:block;color:var(--family-ink);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px}
.cff-bottom{border-top:1px solid #d7dfe0;margin-top:42px;padding-top:22px;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;color:#66747d;font-size:.78rem}
.cff-credit{color:var(--family-ink);font-weight:600}

/* Reliability and polish audit, 17 Sep 2026.
   Content must never depend on an IntersectionObserver or animation finishing. */
html.fxjs .reveal,
html.fxjs [data-rv],
html.fxjs .fx-rv,
html.fxjs .reveal>*,
.cine-in,
.cine-in.cine-go{
  opacity:1!important;
  transform:none!important;
  transition:none!important;
  animation:none!important;
}
.cine-sig{display:none!important}
.cine-recede{transform:none!important;opacity:1!important}
.cine-h::after{transform:scaleX(1)!important}

/* One calm desktop header row. The old wrapping made the global navigation
   look broken between common laptop and desktop widths. */
@media(min-width:1200px){
  #cqMega .cqm-bar{padding-inline:clamp(18px,2.1vw,32px);gap:12px;min-height:76px!important}
  #cqMega .cqm-brand img{height:45px!important;max-width:155px;object-fit:contain}
  #cqMega .cqm-list{flex-wrap:nowrap!important;gap:0!important}
  #cqMega .cqm-top{padding-inline:9px;font-size:.82rem}
  #cqMega .cqm-tools{gap:4px}
  #cqMega .cqm-cta{padding:12px 20px;min-height:46px}
}

/* Media should enrich the page rather than turn it into a sequence of
   billboard-sized panels. Existing photography and films remain intact. */
.hero .fx-filmband .fx-vframe{aspect-ratio:16/7!important;max-height:500px}
.section .fx-filmband .fx-vframe{max-height:560px}
.section{padding-block:clamp(44px,5vw,72px)!important}
.section.tight{padding-block:42px!important}
.cqscroll{display:none!important}

/* Bring CAQA LLND+ into the same family palette and shape language. */
.plus-page{--plus-sun:var(--family-blue);--plus-paper:#f8faf9;--plus-line:var(--family-line)}
.plus-page .plus-button,.plus-page .plus-button.alt{background:var(--family-blue)!important;color:#fff!important;border-radius:6px!important;box-shadow:none!important}
.plus-page .plus-button:hover{background:var(--family-blue-strong)!important}
.plus-page .plus-button.ghost{background:transparent!important;color:var(--family-blue)!important}
.plus-page .plus-kicker:before{background:var(--family-teal)!important}
.plus-page .plus-demo:before{background:#bfe2df!important}
.plus-page .journey-step,.plus-page .audience,.plus-page .role,.plus-page .plus-cta{border-radius:8px!important}

/* Remove the stacked legacy fleet promotions that sat between every page and
   its footer. They duplicated the new footer CTA, introduced dark curves and
   newsletter bands, and made short policy pages look unfinished. */
.cq-leadprop,.nl-band,#cqTickerMount,.cqsvc,.tagband{display:none!important}

/* Homepage LLND+ feature: keep the content, use the light family treatment. */
section[aria-labelledby="llnd-plus-home-title"]{
  background:var(--family-pale)!important;
  color:var(--family-copy)!important;
  border-block:1px solid var(--family-line);
}
section[aria-labelledby="llnd-plus-home-title"] p,
section[aria-labelledby="llnd-plus-home-title"] h2{color:var(--family-ink)!important}
section[aria-labelledby="llnd-plus-home-title"]>div>div:first-child>p:first-child{color:var(--family-teal)!important}
section[aria-labelledby="llnd-plus-home-title"] a{
  background:var(--family-blue)!important;
  color:#fff!important;
  border:1px solid var(--family-blue)!important;
  border-radius:6px!important;
}

@media(max-width:1000px){
  .cff-grid{grid-template-columns:1.4fr 1fr 1fr}.cff-contact{grid-column:2/4}
}
@media(max-width:760px){
  .site-head .nav-row{min-height:78px}.site-head .brand img{max-height:58px}
  .hero.fx-hero,.hero,.page-hero{padding-block:46px!important}
  .cff-cta-inner{align-items:flex-start;flex-direction:column;padding-block:38px}
  .cff-grid{grid-template-columns:1fr 1fr;gap:36px 24px}.cff-contact{grid-column:auto}
  .hero .fx-filmband .fx-vframe{aspect-ratio:4/3!important}
  .chip-float{max-width:calc(100% - 20px)}
}
@media(max-width:520px){
  .cff-grid{grid-template-columns:1fr}.cff-main{padding-top:42px}.cff-bottom{display:block}.cff-bottom span{display:block;margin-top:8px}
}
