/* Smoother navigation, page changes, and responsive feedback */
.nav__links a{position:relative}
.nav__links a:not(.nav__cta)::after{
  content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;
  background:var(--orange);transform:scaleX(0);transform-origin:left;
  transition:transform .22s ease
}
.nav__links a:not(.nav__cta):hover::after,
.nav__links a:not(.nav__cta).on::after{transform:scaleX(1)}
.nav__links .nav__cta{color:#fff}
.btn{transition:transform .18s ease,background-color .22s ease,border-color .22s ease,box-shadow .22s ease}
.btn:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(8,41,95,.14)}
.btn:active{transform:translateY(0)}
.hero .lead{color:#AEB9CA}
.route-entering{animation:routeEnter .34s cubic-bezier(.2,.7,.2,1) both}
@keyframes routeEnter{
  from{opacity:0;transform:translateY(10px)}
  to{opacity:1;transform:translateY(0)}
}
.flow .step.reveal:nth-child(2){transition-delay:.08s}
.flow .step.reveal:nth-child(3){transition-delay:.16s}
.svc__item,.panel,.minicard{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background-color .22s ease}
.panel:hover,.minicard:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(8,41,95,.12)}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.burger{min-width:44px;min-height:44px;border-radius:8px}
.success[tabindex="-1"]:focus{outline:3px solid var(--orange);outline-offset:4px}

@media (max-width:900px){
  .nav__links{
    display:flex;position:absolute;top:var(--nav-h);left:0;right:0;z-index:5;
    flex-direction:column;align-items:stretch;gap:0;margin:0;background:var(--paper);
    padding:8px 24px 20px;border-top:1px solid var(--line);
    box-shadow:0 18px 30px rgba(8,41,95,.12);
    opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px);
    transition:opacity .2s ease,transform .2s ease,visibility .2s
  }
  .nav.open .nav__links{opacity:1;visibility:visible;pointer-events:auto;transform:none}
  .nav__links a:not(.nav__cta){min-height:48px;padding:12px 0;border-bottom:1px solid var(--line)}
  .nav__links a:not(.nav__cta)::after{bottom:7px;right:auto;width:32px}
  .nav__links .nav__cta{display:flex;width:100%;margin:14px 0 0;min-height:48px}
  .nav.open .nav__links .nav__cta{margin:14px 0 0}
  .nav__in{gap:12px}
}
@media (prefers-reduced-motion:reduce){
  .route-entering{animation:none}
  .nav__links,.nav__links a::after,.btn,.panel,.minicard{transition:none}
  .flow .step.reveal:nth-child(2),.flow .step.reveal:nth-child(3){transition-delay:0s}
}