.contacts-page { --contacts-ink:#132b3d; --contacts-muted:#708696; --contacts-blue:#2477d4; --contacts-aqua:#4d9dff; color:var(--contacts-ink); background:#f4fafb; }
.contacts-page-head { position:relative; overflow:hidden; color:#fff; background:linear-gradient(120deg,#09283a,#061824); }
.contacts-page-head::after { content:''; position:absolute; inset:0; opacity:.4; pointer-events:none; background:radial-gradient(circle at 82% 20%,rgba(77,157,255,.3),transparent 30%),linear-gradient(135deg,transparent 45%,rgba(76,201,255,.08) 45%,transparent 70%); }
.contacts-page-head-inner { position:relative; z-index:1; padding-top:86px; padding-bottom:78px; }
.contacts-page-kicker,.contacts-page-section-kicker { display:inline-flex; align-items:center; gap:9px; color:var(--contacts-blue); font:700 11px 'DM Sans',sans-serif; letter-spacing:.16em; text-transform:uppercase; }
.contacts-page-kicker { color:var(--contacts-aqua); }
.contacts-page-kicker::before,.contacts-page-section-kicker::before { content:''; width:7px; height:7px; flex:0 0 auto; border-radius:50%; background:currentColor; box-shadow:0 0 15px currentColor; }
.contacts-page h1 { max-width:760px; margin:19px 0 0; color:#fff; font:700 clamp(2.65rem,6vw,5.5rem)/.98 'Space Grotesk',sans-serif; letter-spacing:-.075em; }
.contacts-page-head p { max-width:650px; margin:20px 0 0; color:#b7d0dc; font-size:clamp(1rem,1.7vw,1.18rem); line-height:1.7; }
.contacts-page-body { padding-top:74px; padding-bottom:100px; }
.contacts-page-grid { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr); gap:clamp(25px,5vw,70px); align-items:stretch; }
.contacts-map-card { min-height:620px; padding:12px; border:1px solid rgba(24,70,91,.12); border-radius:24px; background:#fff; box-shadow:0 24px 70px rgba(31,77,97,.12); }
.contacts-map-frame { position:relative; height:100%; min-height:596px; overflow:hidden; border-radius:17px; background:#e8f0f2; }
.contacts-map-frame iframe { width:100%; height:100%; min-height:596px; border:0; filter:saturate(.72) contrast(.96); }
.contacts-map-link { position:absolute; right:17px; bottom:17px; display:inline-flex; align-items:center; gap:8px; min-height:42px; padding:0 13px; color:#173449; border:1px solid rgba(24,70,91,.14); border-radius:12px; background:rgba(255,255,255,.94); box-shadow:0 8px 20px rgba(17,49,67,.12); font-size:11px; font-weight:700; }
.contacts-map-link:hover { color:var(--contacts-blue); transform:translateY(-2px); }
.contacts-map-link-icon { width:16px; height:16px; color:var(--contacts-blue); }
.contacts-page-panel { padding:35px 34px 32px; border-radius:24px; background:#eaf0f2; box-shadow:0 20px 55px rgba(31,77,97,.06); }
.contacts-page-panel h2,.contacts-locations h2 { margin:15px 0 0; color:var(--contacts-ink); font:700 clamp(2rem,3.5vw,3.2rem)/1.05 'Space Grotesk',sans-serif; letter-spacing:-.065em; }
.contacts-page-panel .contacts-page-section-kicker:last-of-type { margin-top:0; }
.contacts-requisites { display:grid; gap:7px; margin-top:28px; color:var(--contacts-muted); font-size:14px; line-height:1.42; }
.contacts-requisites strong { color:var(--contacts-ink); font-size:15px; }
.contacts-divider { height:1px; margin:31px 0 27px; background:rgba(24,70,91,.13); }
.contacts-direct-list { display:grid; gap:15px; margin-top:21px; }
.contacts-direct-list a { display:flex; align-items:center; gap:12px; color:var(--contacts-muted); font-size:14px; line-height:1.45; }
.contacts-direct-list a:hover { color:var(--contacts-blue); }
.contacts-direct-icon { display:grid; width:40px; height:40px; flex:0 0 auto; place-items:center; color:var(--contacts-blue); border:1px solid rgba(36,119,212,.2); border-radius:12px; background:#f8fcfd; }
.contacts-direct-list small { display:block; margin-bottom:2px; color:#8196a1; font-size:10px; font-weight:800; letter-spacing:.08em; }
.contacts-socials { display:flex; gap:10px; margin-top:29px; }
.contacts-socials a { display:grid; width:45px; height:45px; place-items:center; color:var(--contacts-ink); border:2px solid rgba(19,43,61,.78); border-radius:50%; font:700 17px 'Space Grotesk',sans-serif; transition:transform .2s ease,color .2s ease,background .2s ease; }
.contacts-socials a:hover { color:#fff; background:var(--contacts-blue); border-color:var(--contacts-blue); transform:translateY(-3px); }
.contacts-socials a:nth-child(3) { font-size:12px; letter-spacing:-.08em; }
.contacts-locations { margin-top:82px; padding:45px 0 0; border-top:1px solid rgba(24,70,91,.13); }
.contacts-locations-heading { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:31px; }
.contacts-locations-heading p { max-width:420px; margin:0; color:var(--contacts-muted); font-size:14px; line-height:1.65; }
.contacts-location-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.contacts-location { display:grid; grid-template-columns:27px 1fr 20px; align-items:center; gap:10px; min-height:74px; padding:13px 15px; color:var(--contacts-muted); border:1px solid rgba(24,70,91,.12); border-radius:15px; background:#fff; font-size:13px; line-height:1.45; transition:transform .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease; }
.contacts-location:hover { color:var(--contacts-blue); border-color:rgba(36,119,212,.35); box-shadow:0 10px 25px rgba(31,77,97,.08); transform:translateY(-3px); }
.contacts-location-icon { width:18px; height:18px; color:var(--contacts-blue); }
.contacts-location b { color:var(--contacts-blue); font-size:17px; text-align:right; }
.site-footer { color:#b2c7d2; border-top:1px solid rgba(149,205,226,.15); background:#04131f; }
.site-footer-inner { padding-top:48px; padding-bottom:23px; }
.site-footer-main { display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:45px; padding-bottom:37px; }
.site-footer-brand p { max-width:280px; margin:15px 0 0; color:#7893a3; font-size:13px; line-height:1.6; }
.site-footer-legal { display:block; max-width:280px; margin-top:10px; color:#637d8d; font-size:10px; line-height:1.5; }
.site-footer-mark { display:flex; align-items:center; gap:12px; color:#fff; }
.site-footer-mark .brand-mark-icon { display:grid; width:36px; height:36px; flex:0 0 36px; place-items:center; color:#06212b; border-radius:0; background:transparent; transform:none; }
.site-footer-mark .brand-mark-icon.logo-image { overflow:hidden; padding:0; background:transparent; transform:none; }
.footer-logo-image { display:block; width:36px; height:36px; object-fit:contain; border-radius:0; }
.site-footer-mark .brand-name { font:700 21px 'Space Grotesk',sans-serif; letter-spacing:-.04em; }
.site-footer-mark .brand-name span { color:#4cc9ff; }
.site-footer-column { display:grid; align-content:start; gap:8px; font-size:13px; line-height:1.5; }
.site-footer-column a:hover { color:#4cc9ff; }
.site-footer-column>span:last-child { color:#7893a3; }
.site-footer-label { color:#4d9dff; font-size:10px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.site-footer-bottom { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-top:20px; color:#637d8d; border-top:1px solid rgba(149,205,226,.12); font-size:11px; }
.site-footer-admin-link { display:inline-flex; align-items:center; gap:7px; min-height:36px; padding:0 13px; color:#bfeeff; border:1px solid rgba(85,190,255,.38); border-radius:10px; background:rgba(31,116,217,.18); font-size:11px; font-weight:800; transition:color .2s ease, border-color .2s ease, background .2s ease, transform .2s ease; }
.site-footer-admin-link:hover,.site-footer-admin-link:focus-visible { color:#fff; border-color:rgba(117,219,255,.8); background:rgba(31,116,217,.38); transform:translateY(-1px); }
.site-footer-admin-link:focus-visible { outline:3px solid rgba(111,215,255,.35); outline-offset:3px; }
@media (max-width:1100px) { .contacts-location-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:900px) { .contacts-page-grid { grid-template-columns:1fr; } .contacts-map-card { min-height:470px; } .contacts-map-frame,.contacts-map-frame iframe { min-height:446px; } .contacts-page-panel { padding:29px 25px; } }
@media (max-width:700px) { .contacts-page-head-inner { padding-top:68px; padding-bottom:58px; } .contacts-page h1 { font-size:3rem; } .contacts-page-body { padding-top:45px; padding-bottom:72px; } .contacts-map-card { min-height:355px; padding:8px; border-radius:18px; } .contacts-map-frame,.contacts-map-frame iframe { min-height:339px; border-radius:13px; } .contacts-map-link { right:10px; bottom:10px; font-size:10px; } .contacts-page-panel { border-radius:18px; } .contacts-page-panel h2,.contacts-locations h2 { font-size:2.35rem; } .contacts-locations { margin-top:60px; padding-top:34px; } .contacts-locations-heading { display:block; } .contacts-locations-heading p { margin-top:15px; } .contacts-location-grid { grid-template-columns:1fr; } .site-footer-main { grid-template-columns:1fr; gap:27px; } .site-footer-bottom { align-items:flex-start; flex-direction:column; gap:7px; } }
@media (prefers-reduced-motion:reduce) { .contacts-map-link,.contacts-socials a,.contacts-location { transition:none; } }

/* Contact details copied into the site footer */
.site-footer-requisites strong { color:#eaf7fb; font-size:13px; font-weight:700; }
.site-footer-locations { padding:29px 0 36px; border-top:1px solid rgba(149,205,226,.12); }
.site-footer-locations-head { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:17px; }
.site-footer-locations-head h2 { margin:7px 0 0; color:#eaf7fb; font:600 clamp(1.25rem,2.3vw,1.65rem)/1.15 'Space Grotesk',sans-serif; letter-spacing:-.035em; }
.site-footer-all-contacts { display:inline-flex; min-height:42px; align-items:center; gap:7px; padding:0 13px; color:#4cc9ff; border:1px solid rgba(76,201,255,.25); border-radius:11px; font-size:11px; font-weight:700; white-space:nowrap; }
.site-footer-all-contacts:hover { color:#fff; border-color:#4cc9ff; background:rgba(76,201,255,.1); }
.site-footer-location-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.site-footer-location { display:grid; grid-template-columns:18px 1fr 14px; align-items:center; gap:7px; min-height:62px; padding:10px 11px; color:#8eaab8; border:1px solid rgba(149,205,226,.12); border-radius:11px; background:rgba(255,255,255,.025); font-size:11px; line-height:1.35; transition:color .2s ease,border-color .2s ease,background .2s ease,transform .2s ease; }
.site-footer-location:hover { color:#fff; border-color:rgba(76,201,255,.38); background:rgba(76,201,255,.08); transform:translateY(-2px); }
.site-footer-location-icon { color:#4d9dff; }
.site-footer-location b { color:#4cc9ff; font-size:15px; text-align:right; }
@media (max-width:900px) { .site-footer-location-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:560px) { .site-footer-locations-head { align-items:flex-start; flex-direction:column; gap:15px; } .site-footer-location-grid { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) { .site-footer-all-contacts,.site-footer-location { transition:none; } }
