/* Social links use compact frames; languages use plain text and an underline. */
.button-contact{background:#0969c5;border-color:#0969c5;color:white;box-shadow:0 4px 12px #0969c52e}
.button-contact:hover{background:#075aa8;border-color:#075aa8;box-shadow:0 6px 16px #0969c53d}
.utility-inner{min-height:40px;padding-block:4px}
.utility-locations{display:flex;align-items:center;flex-wrap:wrap;gap:12px;min-width:0}
.utility-locations-label{font-size:.6875rem;letter-spacing:.03em;color:#92b0c6;margin-right:6px}
.utility-locations a{display:inline-flex;align-items:center;min-height:28px;font-size:.75rem;font-weight:600;color:#dae9f4;text-underline-offset:4px}
.utility-locations a:hover,.utility-locations a:focus-visible{color:#8ed0ff;text-decoration:underline}
.utility-location-divider{width:1px;height:12px;background:#496c86;flex-shrink:0}
.header-social{gap:8px}
.header-social a{width:32px;height:32px;border-radius:5px;border:1px solid #52728a;background:#ffffff06;color:#d1e3ef;flex-shrink:0}
.header-social a:hover,.header-social a:focus-visible{background:#278bea26;border-color:#77bfe9;color:white}
.language-separator{height:21px;background:#496c86}
.language-group{display:flex;align-items:center;gap:13px;padding:0;border:0;border-radius:0;background:none}
.language-switch{gap:8px}
.language-switch>span{min-width:22px;min-height:29px;padding-block:2px;border:0;border-radius:0;font-size:.6875rem;line-height:1.2;color:#9ab6ca}
.language-switch>.language-divider{min-width:0;color:#496c86;font-weight:400}
.language-switch>.is-current{background:none;color:#f0f8ff;border:0;box-shadow:inset 0 -2px #59bbff}
.mobile-nav{top:100%;max-height:calc(100dvh - var(--menu-top,110px));overflow-y:auto;overscroll-behavior:contain}
.mobile-language{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:12px 24px;padding-top:22px;margin-top:15px;border-top:1px solid #d7e3ec}
.mobile-language .language-group{min-width:0;max-width:100%}
.mobile-language .language-switch{gap:12px;flex-wrap:wrap;min-width:0}
.mobile-language .language-switch>span{min-width:0;min-height:36px;font-size:.8125rem;color:#60798c}
.mobile-language .language-switch>.language-divider{color:#b3c7d6}
.mobile-language .language-switch>.is-current{background:none;color:#12324b;box-shadow:inset 0 -2px #248bef}

/* A clear footer hierarchy: brand and social links, four columns, then contact. */
.site-footer{position:relative;background:radial-gradient(ellipse at 0 0,#113b5740,transparent 65%),#051c30;border-top:1px solid #35556e}
.footer-top{display:flex;justify-content:space-between;align-items:center;gap:48px;padding-block:44px;border-bottom:1px solid #254258}
.footer-intro{min-width:0}
.footer-intro>.footer-brand{display:block;width:210px}
.footer-intro p{margin:16px 0 0;max-width:360px;font-size:.875rem;line-height:1.75;color:#9ab5c9}
.footer-social-group{text-align:right;flex-shrink:0}
.footer-social-group>.footer-label{margin-bottom:15px;color:#a8c2d5;font-size:.6875rem}
.footer-social{justify-content:flex-end;gap:10px}
.footer-social a{width:44px;height:44px;border-radius:5px;border:1px solid #39586f;background:#ffffff04;color:#d7e7f2}
.footer-social svg{width:19px;height:19px}
.footer-social a:hover,.footer-social a:focus-visible{background:#248bef20;border-color:#75bde8;color:#8bcfff}
.footer-nav{display:grid;grid-template-columns:.9fr 1.2fr 1.15fr 1.15fr;gap:40px;padding-block:36px 40px}
.footer-nav>div,.footer-nav>div:last-child{grid-column:auto;min-width:0;border-top:0;padding-top:0}
.footer-nav .footer-label{font-size:.6875rem;color:#9eb8cd;letter-spacing:.12em;margin-bottom:18px}
.footer-nav a{font-size:.8125rem;line-height:1.6;color:#b4cadb;padding-block:6px}
.footer-nav a:hover{color:white}
.footer-office h3{display:flex;align-items:center;gap:11px;font-family:var(--heading);font-size:1.75rem;font-weight:500;line-height:1.2;margin:0 0 12px;color:#e4eff7}
.footer-country-code{display:flex;align-items:center;justify-content:center;width:31px;height:27px;border:1px solid #34576f;border-radius:4px;font-family:var(--body);font-size:.625rem;letter-spacing:.03em;color:#8bbede;background:#21456124;flex-shrink:0}
.footer-office-type{display:block;font-size:.75rem;line-height:1.7;color:#87a7bf;margin-bottom:13px}
.footer-office address{font-style:normal;font-size:.8125rem;line-height:1.9;color:#b4cadb;overflow-wrap:anywhere}
.footer-nav .footer-office-link{display:inline-flex;align-items:center;gap:12px;margin-top:14px;font-size:.75rem;min-height:40px;color:#94c8ec}
.footer-office-link .plus-icon{width:12px;height:12px}
.footer-office-link .plus-icon::before,.footer-office-link .plus-icon::after{width:12px;top:5px}
.footer-contact-strip{display:flex;align-items:center;justify-content:space-between;gap:36px;padding-block:28px;border-top:1px solid #254258}
.footer-contact-strip>a{display:flex;align-items:center;gap:16px;min-width:0;min-height:50px}
.footer-contact-strip>a>span:last-child{min-width:0}
.footer-contact-strip small{display:block;font-size:.625rem;font-weight:700;letter-spacing:.13em;line-height:1.6;text-transform:uppercase;color:#87a7bf;margin-bottom:5px}
.footer-contact-strip strong{display:block;font-size:1.25rem;font-weight:600;line-height:1.5;color:#dbeaf5;overflow-wrap:anywhere;transition:color .2s}
.footer-contact-strip a:hover strong{color:#91d0ff}
.footer-contact-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:5px;border:1px solid #345870;color:#8fc8ee;background:#12334b;flex-shrink:0}
.footer-contact-icon svg{width:20px;height:20px;fill:none}
.footer-phone{text-align:right}
.footer-contact-strip .footer-phone strong{font-size:1.125rem}
.footer-bottom{border-top:1px solid #254258;color:#7e9db4;padding-block:20px 80px;gap:24px}
.back-to-top{position:fixed;right:22px;bottom:22px;z-index:45;display:flex;align-items:center;justify-content:center;width:46px;height:46px;padding:0;border:1px solid #547994;border-top:2px solid #58b6f4;border-radius:5px;background:#0b2c45ef;color:#e7f3fb;box-shadow:0 5px 20px #051c3020;backdrop-filter:blur(8px);transition:background .2s,border-color .2s}
.back-to-top svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.back-to-top:hover{background:#154a6b;border-color:#80c7f5}

@media(max-width:1000px){.footer-nav{gap:28px;grid-template-columns:1fr 1.2fr 1.2fr 1.2fr}.footer-intro>.footer-brand{width:195px}}
@media(max-width:1100px){.utility-inner{min-height:32px;padding-block:2px}.utility-inner>.utility-actions{display:none}.utility-locations{width:100%}.utility-locations-label{margin-right:auto}}
@media(max-width:900px){.footer-nav{grid-template-columns:1fr 1fr;gap:32px 52px}.footer-contact-strip{gap:24px}.footer-contact-strip strong{font-size:1.125rem}}
@media(max-width:600px){
 .utility-inner{display:grid;grid-template-columns:minmax(0,1fr);min-height:30px;padding-block:2px;gap:0}
 .utility-locations{gap:10px}.utility-locations-label{margin-right:auto;font-size:.625rem}.utility-locations a{min-height:22px;font-size:.6875rem}
 .utility-inner>.utility-actions{justify-content:flex-end}
 .utility-inner>.utility-actions{gap:10px}.header-social{gap:5px}
 .header-social a{width:28px;height:28px}
 .language-separator{height:20px}
 .footer-top{align-items:flex-start;padding-block:34px;gap:28px;flex-direction:column}
 .footer-intro>.footer-brand{width:200px}.footer-intro p{font-size:.8125rem;margin-top:17px}
 .footer-social-group{text-align:left}.footer-social-group>.footer-label{font-size:.625rem;margin-bottom:13px}
 .footer-social{justify-content:flex-start}.footer-social a{width:42px;height:42px}
 .footer-nav{padding-block:30px;grid-template-columns:1fr 1fr;gap:28px 24px}
 .footer-nav .footer-label{font-size:.625rem;margin-bottom:15px}
 .footer-nav a{font-size:.75rem;line-height:1.75;padding-block:6px}
 .footer-nav>.footer-office{grid-column:1/-1;padding-top:25px;border-top:1px solid #254258}
 .footer-office h3{font-size:1.75rem}.footer-office address{font-size:.8125rem}
 .footer-contact-strip{flex-direction:column;align-items:flex-start;gap:24px;padding-block:26px}
 .footer-contact-strip strong{font-size:1.0625rem}.footer-contact-strip>a{gap:14px;max-width:100%}
 .footer-contact-strip .footer-phone{padding-left:58px;text-align:left}
 .footer-contact-strip .footer-phone strong{font-size:1rem}
 .footer-bottom{padding-block:20px 76px;gap:12px;font-size:.6875rem}
 .back-to-top{right:14px;bottom:14px;width:44px;height:44px}
}
