/* Lenis core integration; no transformed page wrapper or iframe pointer blocking. */
html.lenis, html.lenis body {height:auto}
html.lenis {scroll-behavior:auto!important;scrollbar-gutter:stable}
html.lenis.lenis-stopped {overflow:hidden;overflow:clip}
.lenis .profession-options,.lenis #job-dialog-content,.lenis .demo-chat-thread {overscroll-behavior:contain}

/* Keep the utility control outside animated sections so it stays fixed to the viewport. */
.back-to-top {position:fixed;right:calc(24px + env(safe-area-inset-right,0px));bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:25;display:grid;place-items:center;width:52px;height:52px;padding:0;border:1px solid #ccdcef;border-radius:50%;background:#fff;color:#2769c6;box-shadow:0 7px 24px #18396320,0 2px 5px #18396308;cursor:pointer;transition:background .25s,color .25s,border-color .25s,box-shadow .25s,transform .25s}
.back-to-top svg {width:23px;height:23px;stroke-width:1.9;pointer-events:none}
.back-to-top:focus-visible {outline:3px solid #5594ee;outline-offset:4px}
.back-to-top:active {transform:translateY(0);background:#edf4ff}
@media(hover:hover) {
  .back-to-top:hover {background:#2666c9;color:#fff;border-color:#2666c9;box-shadow:0 9px 26px #18396332;transform:translateY(-3px)}
}
.footer.footer-v3 {padding-block:4px 84px}
.footer-panel {display:grid;grid-template-columns:1fr 1.4fr;align-items:center;gap:64px;padding:34px 40px;border:1px solid #e0e8f3;border-radius:25px;background:#f0f4fa}
.footer-identity {display:flex;flex-direction:column;align-items:flex-start;gap:0;min-width:0}
.footer-v3 .brand img {width:140px;height:auto}
.footer-tagline {max-width:270px;font-size:13px;line-height:1.7;color:#536d8f;margin-top:13px}
.footer-v3 .footer-copyright {font-size:10px;line-height:1.7;color:#60728d;margin-top:8px}
.footer-description {max-width:620px;min-width:0}
.footer-summary {color:#2d486f;font-size:13px;line-height:1.8;font-weight:700}
.footer-disclaimer {margin-top:9px;color:#61718b;font-size:12px;line-height:1.85}
@media(max-width:680px) {
  .back-to-top {width:48px;height:48px;right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px))}
  .back-to-top svg {width:21px;height:21px}
  .footer.footer-v3 {padding-block:0 80px}
  .footer-panel {grid-template-columns:1fr;gap:23px;padding:26px 24px;border-radius:21px}
  .footer-v3 .brand img {width:130px}
  .footer-tagline {font-size:12px;margin-top:12px}
  .footer-v3 .footer-copyright {font-size:10px;margin-top:7px}
  .footer-description {padding-top:20px;border-top:1px solid #dae4f1}
  .footer-summary {font-size:12px;line-height:1.8}
  .footer-disclaimer {font-size:11px;line-height:1.85;margin-top:9px}
}
@media(max-width:360px) {.footer-panel {padding:23px 20px}}
@media(prefers-reduced-motion:reduce) {
  .back-to-top {transition:background .12s,color .12s}
  .back-to-top:hover {transform:none}
}

.footer-legal-links{display:flex;flex-wrap:wrap;gap:0 22px;margin-top:12px}
.footer-legal-links a{display:inline-flex;align-items:center;min-height:44px;font-size:12px;line-height:1.5;color:#365477;text-underline-offset:4px}
.footer-legal-links a:focus-visible{outline:2px solid #5594ee;outline-offset:4px;border-radius:3px}
@media(hover:hover){.footer-legal-links a:hover{color:#245cc8;text-decoration:underline}}

/* Readable navigation at desktop and tablet widths. */
.desktop-nav {font-size:15px;gap:30px}
.mobile-nav a {font-size:16px}
@media(max-width:1100px) {.desktop-nav{font-size:14px;gap:20px}}
@media(max-width:850px) and (min-width:681px) {.desktop-nav{font-size:13px;gap:16px}}
