.site-header,.site-footer{font-family:Manrope,Arial,sans-serif;box-sizing:border-box;color:#172333;line-height:1.5}
.site-header *,.site-footer *{box-sizing:border-box}
.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px clamp(20px,5.5vw,100px);background:#eff6fff5;border-bottom:1px solid #dbe7f4;backdrop-filter:blur(12px)}
.site-header a,.site-footer a{text-decoration:none;color:inherit}
.site-header .site-brand,.site-footer .site-brand{display:flex;align-items:center;gap:12px;font-size:19px;font-weight:800;min-width:0}
.site-brand svg{color:#307de8;flex:none}
.site-header .site-desktop-nav{display:flex;align-items:center;gap:22px;flex-wrap:nowrap;white-space:nowrap;font-size:13px;font-weight:600}
.site-header nav a[aria-current],.site-footer nav a[aria-current],.site-header nav a:hover,.site-footer nav a:hover{color:#307de8}
.site-header .site-call{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 22px;background:#307de8;border-radius:8px;color:white;white-space:nowrap;font-size:14px;font-weight:800;flex:none}
.site-header .site-call:hover{background:#226bd0}
.site-header .site-menu{display:none;flex:none}
.site-header .site-menu summary{display:flex;align-items:center;justify-content:center;list-style:none;min-width:44px;min-height:44px;cursor:pointer}
.site-menu summary::-webkit-details-marker{display:none}
.site-header .site-menu:not([open]) nav{display:none}
.site-header .site-menu nav{position:absolute;right:16px;top:100%;display:flex;flex-direction:column;flex-wrap:nowrap;gap:4px;width:min(280px,calc(100vw - 32px));max-height:calc(100dvh - 110px);overflow-y:auto;overscroll-behavior:contain;background:white;border:1px solid #dde6f0;border-radius:12px;padding:12px;box-shadow:0 15px 30px #152b4520;font-size:14px;font-weight:600}
.site-header .site-menu nav a{display:flex;align-items:center;min-height:44px;padding:8px 10px;flex-shrink:0;overflow-wrap:anywhere}
.site-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:32px clamp(20px,5.5vw,100px);border-top:1px solid #e1e8f1;background:white}
.site-footer nav{display:flex;gap:24px;flex-wrap:wrap;justify-content:center;font-size:13px}
.site-footer nav a{display:flex;align-items:center;min-height:44px}
.site-footer p{margin:0;max-width:330px;color:#718096;font-size:12px;text-align:right}
.site-header :focus-visible,.site-footer :focus-visible{outline:3px solid #307de8;outline-offset:4px}
@media(max-width:1279px){.site-header{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:16px}.site-header .site-desktop-nav{display:none}.site-header .site-menu{display:block}.site-footer{flex-wrap:wrap}.site-footer p{max-width:none}}
@media(max-width:767px){.site-header{padding:12px 16px;gap:8px}.site-header .site-brand{font-size:16px;line-height:1.3;gap:8px}.site-header .site-brand svg{width:24px;height:24px}.site-header .site-call{font-size:12px;padding:9px 12px}.site-footer{flex-direction:column;gap:12px;padding:28px 20px}.site-footer .site-brand{font-size:17px}.site-footer p{text-align:center}}
@media(max-width:359px){.site-header .site-brand{font-size:14px}.site-header .site-brand svg{width:20px;height:20px}.site-header .site-call{font-size:11px;padding:8px}.site-header{gap:4px}}
/* Shared contact information, with a full-width copyright row. */
.site-footer{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1.25fr);align-items:start;column-gap:40px;row-gap:24px}
.site-footer-contact{display:flex;flex-direction:column;gap:18px;font-style:normal;min-width:0;font-size:13px;line-height:1.7}
.site-footer-contact a{display:flex;flex-direction:column;align-items:flex-start;min-height:44px;overflow-wrap:anywhere}
.site-footer-contact a>span:first-child{font-size:11px;font-weight:700;color:#718096;margin-bottom:3px}
.site-footer-contact strong{font-size:14px;font-weight:700;color:#307de8}
.site-footer-contact .site-footer-location strong{font-size:12px;margin-top:5px}
.site-footer .site-footer-copyright{grid-column:1/-1;max-width:none;width:100%;text-align:center;border-top:1px solid #e7edf4;padding-top:20px}
@media(max-width:1000px){.site-footer{grid-template-columns:1fr 1fr}.site-footer-contact{grid-column:1/-1;max-width:600px}.site-footer nav{justify-content:flex-end}}
@media(max-width:600px){.site-footer{grid-template-columns:minmax(0,1fr);gap:18px;text-align:center;justify-items:center}.site-footer nav{justify-content:center}.site-footer-contact{width:100%;align-items:center}.site-footer-contact a{align-items:center}.site-footer-contact .site-footer-location{max-width:360px}}
