.contact-page{--contact-blue:#1c5fbd;--contact-navy:#122442;--contact-ink:#172943;--contact-muted:#62758f;background:#f7faff;color:var(--contact-ink)}
.contact-wrap{width:min(1190px,calc(100% - 48px));margin:0 auto}
.contact-hero{position:relative;isolation:isolate;overflow:hidden;padding:24px 0 76px;background:radial-gradient(ellipse at 76% 23%,rgba(56,120,220,.34),transparent 32%),linear-gradient(132deg,#091a35 0%,#123568 58%,#0b4d60 100%);color:#fff}
.contact-hero::before{position:absolute;z-index:-1;inset:0;opacity:.13;background-image:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(90deg,#000,transparent 82%);content:""}
.contact-hero__orbit{position:absolute;z-index:-1;display:block;border:1px solid rgba(166,203,255,.2);border-radius:50%;pointer-events:none}
.contact-hero__orbit--one{top:-210px;right:-90px;width:500px;height:500px;box-shadow:0 0 0 34px rgba(166,203,255,.035),0 0 0 70px rgba(166,203,255,.025)}
.contact-hero__orbit--two{bottom:-260px;left:30%;width:350px;height:350px;border-color:rgba(67,224,186,.16)}
.contact-crumbs{display:flex;align-items:center;gap:10px;margin-bottom:48px;color:#a9c0df;font-size:12px}
.contact-crumbs a{color:#fff;text-decoration:none}
.contact-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.68fr);align-items:center;gap:clamp(44px,8vw,112px)}
.contact-hero__copy{max-width:660px;padding:0 0 18px}
.contact-eyebrow{display:inline-flex;align-items:center;gap:9px;color:#79e3c1;font-size:11px;font-weight:800;letter-spacing:.17em}
.contact-hero h1{max-width:650px;margin:18px 0 17px;font-family:Manrope,sans-serif;font-size:clamp(43px,5.4vw,70px);font-weight:800;line-height:1.03;letter-spacing:-.065em}
.contact-hero h1 em,.contact-section-head h2 em{color:#87baff;font-style:normal}
.contact-hero__copy>p{max-width:555px;margin:0;color:#c5d5ea;font-size:16px;line-height:1.75}
.contact-hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-top:28px}
.contact-button{display:inline-flex;align-items:center;gap:10px;padding:14px 19px;border:1px solid #8ec3ff;border-radius:12px;background:#fff;color:#164d98;font-size:14px;font-weight:800;text-decoration:none;box-shadow:0 12px 26px rgba(1,15,38,.17);transition:transform .2s ease,box-shadow .2s ease}
.contact-button:hover{transform:translateY(-2px);box-shadow:0 16px 30px rgba(1,15,38,.25)}
.contact-text-link{display:inline-flex;align-items:center;gap:9px;color:#fff;font-size:13px;font-weight:800;text-decoration:none}
.contact-text-link i{color:#61d8a2;font-size:16px}
.contact-direct{padding:23px;border:1px solid rgba(198,220,250,.35);border-radius:21px;background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.07));box-shadow:0 26px 65px rgba(0,11,30,.22);backdrop-filter:blur(10px)}
.contact-direct__label{display:block;margin:0 0 12px 3px;color:#9fbce2;font-size:10px;font-weight:800;letter-spacing:.16em}
.contact-direct>a{display:grid;grid-template-columns:43px minmax(0,1fr) 16px;align-items:center;gap:12px;padding:14px 3px;border-bottom:1px solid rgba(204,222,247,.18);color:#fff;text-decoration:none}
.contact-direct__icon{display:grid;width:42px;height:42px;place-items:center;border:1px solid rgba(189,215,252,.23);border-radius:13px;background:rgba(255,255,255,.1);color:#9bc7ff;font-size:15px}
.contact-direct>a small{display:block;margin-bottom:4px;color:#b1c5df;font-size:11px}
.contact-direct>a strong{display:block;overflow-wrap:anywhere;font-size:14px}
.contact-direct__arrow{color:#91b9ec;font-size:11px}
.contact-direct__note{display:flex;align-items:flex-start;gap:9px;margin:17px 3px 1px;color:#bfd1e7;font-size:11px;line-height:1.55}
.contact-direct__note i{margin-top:2px;color:#70e1b6}
.contact-offices{padding:74px 0 90px;background:linear-gradient(180deg,#f7faff 0%,#fff 100%)}
.contact-section-head{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:29px}
.contact-eyebrow--blue{color:var(--contact-blue)}
.contact-section-head h2{max-width:670px;margin:11px 0 0;color:#132542;font-family:Manrope,sans-serif;font-size:clamp(32px,4vw,48px);line-height:1.08;letter-spacing:-.055em}
.contact-section-head h2 em{color:var(--contact-blue)}
.contact-section-head>p{max-width:360px;margin:0;color:var(--contact-muted);font-size:14px;line-height:1.7}
.contact-office-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.contact-office-card{position:relative;overflow:hidden;min-height:230px;padding:23px;border:1px solid #dce7f5;border-radius:18px;background:#fff;box-shadow:0 14px 38px rgba(31,73,132,.065);transition:transform .24s ease,box-shadow .24s ease}
.contact-office-card:hover{transform:translateY(-4px);box-shadow:0 21px 46px rgba(31,73,132,.11)}
.contact-office-card::after{position:absolute;right:-49px;bottom:-75px;width:155px;height:155px;border:1px solid rgba(37,101,190,.09);border-radius:50%;box-shadow:0 0 0 20px rgba(37,101,190,.025);content:"";pointer-events:none}
.contact-office-card__top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.contact-office-card__icon{display:grid;width:42px;height:42px;place-items:center;border:1px solid #d7e6fa;border-radius:13px;background:#eef5ff;color:var(--contact-blue);font-size:15px}
.contact-office-card__region{color:#71849e;font-size:11px;font-weight:700}
.contact-office-card h3{margin:17px 0 8px;color:#172a48;font-family:Manrope,sans-serif;font-size:20px;letter-spacing:-.025em}
.contact-office-card address{min-height:47px;color:#62758f;font-size:13px;font-style:normal;line-height:1.65}
.contact-office-card__map{position:relative;z-index:1;display:inline-flex;align-items:center;gap:8px;margin-top:14px;color:var(--contact-blue);font-size:12px;font-weight:800;text-decoration:none}
.contact-office-card__map i{font-size:10px}
.contact-offices__email{margin:24px 0 0;color:#647792;text-align:center;font-size:13px}
.contact-offices__email i{margin-right:7px;color:var(--contact-blue)}
.contact-offices__email a{color:var(--contact-blue);font-weight:800;text-decoration:none}
body:has(.contact-page) .floating-actions{display:none}
@media(max-width:900px){.contact-hero__grid{grid-template-columns:minmax(0,1fr) minmax(290px,.75fr);gap:32px}.contact-hero h1{font-size:clamp(42px,5.5vw,58px)}.contact-office-grid{gap:12px}.contact-office-card{padding:20px}}
@media(max-width:720px){.contact-wrap{width:calc(100% - 36px)}.contact-hero{padding:22px 0 56px}.contact-crumbs{margin-bottom:34px}.contact-hero__grid{grid-template-columns:1fr;gap:28px}.contact-hero__copy{padding:0}.contact-hero h1{font-size:clamp(42px,9vw,58px)}.contact-hero__actions .contact-button{margin-left:clamp(96px,17vw,120px)}.contact-direct{max-width:520px}.contact-section-head{display:block}.contact-section-head>p{margin-top:12px}.contact-office-grid{grid-template-columns:1fr}.contact-office-card{min-height:0}.contact-office-card address{min-height:0}.contact-offices{padding:58px 0 70px}}
@media(max-width:420px){.contact-wrap{width:calc(100% - 30px)}.contact-hero h1{font-size:40px}.contact-hero__copy>p{font-size:15px}.contact-hero__actions{align-items:flex-start;flex-direction:column;gap:15px}.contact-direct{padding:18px}.contact-office-card{padding:19px}}
@media(prefers-reduced-motion:reduce){.contact-button,.contact-office-card{transition:none}}
