/* PROFESYS Design System v1 — Wave 19 */
:root{
  --pf-ink:#071019;
  --pf-ink-2:#10202a;
  --pf-surface:#f4f5f1;
  --pf-surface-2:#e9ece7;
  --pf-paper:#f7f8f5;
  --pf-accent:#c8ff64;
  --pf-text:#263640;
  --pf-muted:#667780;
  --pf-line:rgba(7,16,25,.11);
  --pf-radius-sm:14px;
  --pf-radius-md:22px;
  --pf-radius-lg:28px;
  --pf-space-1:8px;
  --pf-space-2:12px;
  --pf-space-3:18px;
  --pf-space-4:26px;
  --pf-space-5:40px;
  --pf-space-6:64px;
  --pf-shadow:0 22px 70px rgba(7,16,25,.12);
}

html{scroll-behavior:smooth}
body{overflow-x:clip}
img{max-width:100%;height:auto}
/* Final corporate footer — authoritative over historical wave CSS */
.vw09-footer{
  background:var(--pf-ink)!important;
  color:#fff!important;
  border-top:0!important;
  padding:0!important;
}
.vw09-footer>.wrap{
  padding-top:clamp(56px,6vw,88px)!important;
  padding-bottom:28px!important;
}
.vw09-footer-top{
  display:grid!important;
  grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr)!important;
  gap:clamp(34px,6vw,84px)!important;
  align-items:end!important;
  padding-bottom:48px!important;
  border-bottom:1px solid rgba(255,255,255,.12)!important;
}
.vw09-footer-top .brand{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  color:#fff!important;
  margin:0 0 24px!important;
}
.vw09-footer-top h2{
  margin:0 0 20px!important;
  font-size:clamp(3rem,5.4vw,5.9rem)!important;
  line-height:.88!important;
  letter-spacing:-.065em!important;
}
.vw09-footer-top h2 span{color:var(--pf-accent)!important}
.vw09-footer-top p{
  max-width:720px!important;
  margin:0!important;
  color:#a9bbc4!important;
  line-height:1.65!important;
}
.vw09-footer-action{
  padding:26px!important;
  border:1px solid rgba(255,255,255,.13)!important;
  border-radius:var(--pf-radius-md)!important;
  background:rgba(255,255,255,.035)!important;
}
.vw09-footer-action small{
  display:block!important;
  margin-bottom:14px!important;
  color:#7f929c!important;
  font-size:.61rem!important;
  font-weight:850!important;
  letter-spacing:.14em!important;
}
.vw09-footer-action a{
  color:var(--pf-accent)!important;
  font-size:1.28rem!important;
  font-weight:850!important;
  line-height:1.18!important;
}
.vw09-footer-links{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:clamp(28px,4.5vw,64px)!important;
  padding:42px 0!important;
  margin:0!important;
}
.vw09-footer-links>div{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:10px!important;
  min-width:0!important;
}
.vw09-footer-links strong{
  display:block!important;
  margin:0 0 7px!important;
  color:#71858e!important;
  font-size:.64rem!important;
  font-weight:850!important;
  line-height:1.25!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
}
.vw09-footer-links a,.vw09-footer-links span{
  display:block!important;
  margin:0!important;
  color:#c5d0d5!important;
  font-size:.88rem!important;
  line-height:1.45!important;
  text-decoration:none!important;
  overflow-wrap:anywhere!important;
}
.vw09-footer-links a:hover{color:var(--pf-accent)!important}
.vw09-footer-bottom{
  display:flex!important;
  justify-content:space-between!important;
  align-items:flex-start!important;
  gap:20px!important;
  padding-top:22px!important;
  border-top:1px solid rgba(255,255,255,.08)!important;
  color:#667a83!important;
  font-size:.7rem!important;
  line-height:1.45!important;
}
:focus-visible{
  outline:3px solid #8fcf2a!important;
  outline-offset:3px!important;
}
@media(max-width:900px){
  .vw09-footer-top{
    grid-template-columns:1fr!important;
    align-items:start!important;
  }
  .vw09-footer-links{
    grid-template-columns:1fr 1fr!important;
  }
}
@media(max-width:560px){
  .vw09-footer>.wrap{
    padding-top:54px!important;
  }
  .vw09-footer-links{
    grid-template-columns:1fr!important;
    gap:26px!important;
  }
  .vw09-footer-bottom{
    flex-direction:column!important;
  }
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}
