/* Shared, compact navigation for the service and project expansion. */
.site-nav .nav-group{position:relative;margin:0;min-width:0}
.site-nav .nav-group>summary{display:flex;align-items:center;gap:9px;min-height:44px;padding:10px 0;cursor:pointer;list-style:none;font:700 15px/1.25 var(--body,'Arial',sans-serif);color:inherit;white-space:nowrap}
.site-nav .nav-group>summary::-webkit-details-marker{display:none}
.site-nav .nav-group>summary::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px;transition:transform .15s}
.site-nav .nav-group[open]>summary::after{transform:rotate(225deg);margin-top:3px}
.site-nav .nav-group>summary:hover,.site-nav .nav-group[open]>summary{color:#2d5879}
.nav-dropdown{position:absolute;top:calc(100% + 9px);left:-16px;min-width:270px;max-width:calc(100vw - 40px);margin:0;padding:8px;list-style:none;background:#f1f7fb;color:#14283b;border:1px solid #aebfcd;border-radius:3px;box-shadow:0 16px 30px #0c223024}
.nav-dropdown li{margin:0;padding:0}
.nav-dropdown a{display:flex;align-items:center;min-height:44px;padding:12px;font:600 15px/1.35 var(--body,'Arial',sans-serif);text-decoration:none;white-space:normal}
.nav-dropdown a:hover,.nav-dropdown a[aria-current=page]{background:#dce8f1;color:#14283b}
.nav-dropdown a[aria-current=page]{text-decoration:underline;text-underline-offset:4px}
.nav-dropdown .nav-overview{margin-top:5px;border-top:1px solid #bfceda;font-weight:500}
.site-nav .nav-about{display:flex;align-items:center;min-height:44px}
.site-nav a:focus-visible,.site-nav summary:focus-visible{outline:3px solid #b65a36;outline-offset:4px}
.footer.site-footer{padding:52px clamp(28px,5vw,84px) 22px;text-align:left;background:#0d1d2d;color:#f2f7fb;font-family:var(--body,Arial,sans-serif)}
.site-footer .footer-main{display:grid;grid-template-columns:minmax(220px,1.45fr) repeat(3,minmax(145px,1fr));align-items:start;gap:clamp(25px,4vw,64px);padding-bottom:45px}
.site-footer .footer-identity{max-width:330px}
.site-footer .footer-brand{display:inline-flex;margin-bottom:22px;width:auto}
.site-footer .footer-brand img{width:138px;height:auto;max-height:none}
.site-footer .footer-main p{margin:0;font-size:15px;line-height:1.65;max-width:330px;color:#c8d8e5}
.site-footer .footer-group h2{font:700 14px/1.4 var(--body,Arial,sans-serif);letter-spacing:.04em;color:#a7c8e3;margin:4px 0 15px}
.site-footer .footer-group ul{padding:0;margin:0;list-style:none}
.site-footer .footer-group li{padding:0;margin:0;font-size:15px;line-height:1.45}
.site-footer .footer-group a{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;color:#f2f7fb;text-decoration:none}
.site-footer .footer-group a:hover,.site-footer .footer-group a[aria-current=page]{text-decoration:underline;text-underline-offset:5px}
.site-footer .footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:15px 30px;padding-top:20px;border-top:1px solid #49657a;color:#c8d8e5;font:500 14px/1.5 var(--body,Arial,sans-serif)}
.site-footer .footer-legal{display:flex;align-items:center;flex-wrap:wrap;gap:15px 26px}
.site-footer .footer-legal a{display:inline-flex;align-items:center;min-height:44px;color:inherit;text-decoration:none}
.site-footer .footer-legal a:hover{text-decoration:underline;text-underline-offset:4px}
.site-footer a:focus-visible{outline:3px solid #a7c8e3;outline-offset:4px}
@media(min-width:821px) and (max-width:1050px){.site-nav{gap:17px}.site-header{gap:18px}.header-actions{gap:15px;margin-left:10px}.site-header .nav-cta-desktop{padding-inline:12px;font-size:14px}.header-phone{font-size:13px}}
@media(max-width:1050px){.site-footer .footer-main{grid-template-columns:1.3fr 1fr;gap:30px 48px}.site-footer .footer-identity{max-width:430px}}
@media(max-width:820px){
  .site-nav{position:fixed;inset:0;min-height:0;height:100vh;height:100dvh;overflow-y:auto;overscroll-behavior:contain;padding:94px 24px max(28px,env(safe-area-inset-bottom));align-items:stretch}
  .site-nav .nav-group{border-bottom:1px solid #ffffff4a}
  .site-nav .nav-group>summary{padding:17px 0;min-height:58px;font:700 27px/1.25 var(--display,Arial,sans-serif);white-space:normal;color:#fff}
  .site-nav .nav-group>summary:hover,.site-nav .nav-group[open]>summary{color:#c8e4fb}
  .site-nav .nav-group>summary::after{margin-left:auto;margin-right:4px;width:8px;height:8px;flex:none}
  .nav-dropdown{position:static;min-width:0;max-width:none;padding:0 0 13px 14px;background:transparent;color:#e6f1fb;border:0;border-radius:0;box-shadow:none}
  .nav-dropdown a{font-size:17px;min-height:46px;padding:12px 8px;color:#e6f1fb}
  .nav-dropdown a:hover,.nav-dropdown a[aria-current=page]{background:#ffffff0d;color:#fff}
  .nav-dropdown .nav-overview{border-color:#ffffff30;color:#c7d9e8}
  .site-nav>a.nav-about{font-size:27px;padding:17px 0;min-height:58px}
  .site-header .site-nav .nav-call-mobile{margin-top:24px}
  .site-nav .nav-cta-mobile{margin-top:16px;min-height:48px;margin-bottom:8px}
  .site-nav a:focus-visible,.site-nav summary:focus-visible{outline-color:#a7c8e3}
}
@media(max-width:520px){.footer.site-footer{padding:44px 20px 20px}.site-footer .footer-main{grid-template-columns:1fr;gap:27px;padding-bottom:30px}.site-footer .footer-brand{margin-bottom:17px}.site-footer .footer-main p{max-width:36ch}.site-footer .footer-group h2{margin-bottom:7px}.site-footer .footer-group a{min-height:44px}.site-footer .footer-bottom{gap:5px}.site-footer .footer-legal{gap:24px}}
@media(prefers-reduced-motion:reduce){.site-nav .nav-group>summary::after{transition:none}}
