/* Opacity belongs to the layout, so an entrance animation cannot override it. */
.contact-symbol{--contact-symbol-opacity:1}
@media(max-width:780px){.contact-symbol{--contact-symbol-opacity:.16}}
@media(max-width:560px){.contact-hero .contact-symbol{display:none}}
@media(max-width:780px) and (prefers-reduced-motion:reduce){.has-motion .contact-hero .contact-symbol{opacity:.16}}
.contact-hero{position:relative;isolation:isolate;min-height:480px;padding-top:92px;overflow:hidden;color:#fff;background:radial-gradient(circle at 80% 32%,#0b568e 0,#003d73 25%,var(--blue) 54%,var(--deep) 100%)}
.contact-hero-grid{position:relative;z-index:2;min-height:388px;display:grid;grid-template-columns:minmax(560px,1.2fr) minmax(300px,.58fr);gap:64px;align-items:center;padding-bottom:70px}.contact-hero-copy{max-width:820px}.contact-hero-copy h1{margin:0;font-size:clamp(50px,5.2vw,74px);line-height:1;letter-spacing:-.045em}.contact-hero-copy>p:last-child{max-width:680px;margin:20px 0 0;color:#e6f0f6;font-size:clamp(20px,1.8vw,26px);line-height:1.36;font-weight:600}
.contact-symbol{position:relative;width:230px;height:230px;margin:auto;display:grid;place-items:center;border:1px solid rgba(255,255,255,.17);border-radius:50%;box-shadow:0 0 0 34px rgba(255,255,255,.022),0 0 0 68px rgba(255,255,255,.012)}.contact-symbol-ring{position:absolute;inset:34px;border:1px solid rgba(255,255,255,.12);border-radius:50%}.contact-symbol svg{position:relative;z-index:1;width:102px;color:#fff;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.contact-route{position:absolute;left:-8%;right:-8%;bottom:86px;height:1px;background:linear-gradient(90deg,transparent,rgba(168,205,230,.14) 18%,rgba(255,255,255,.65) 72%,transparent)}.contact-route:after{content:"";position:absolute;right:22%;top:-7px;width:13px;height:13px;border-top:1px solid rgba(255,255,255,.7);border-right:1px solid rgba(255,255,255,.7);transform:rotate(45deg)}
.has-motion .contact-route{animation:contact-route-in 2.4s cubic-bezier(.2,.72,.2,1) .25s both}.has-motion .contact-symbol{animation:contact-symbol-in 1.25s cubic-bezier(.2,.72,.2,1) .15s both}@keyframes contact-route-in{from{opacity:0;clip-path:inset(-18px 100% -18px 0)}25%{opacity:1}to{opacity:1;clip-path:inset(-18px -18px -18px 0)}}@keyframes contact-symbol-in{from{opacity:0;transform:translateX(18px) scale(.96)}to{opacity:var(--contact-symbol-opacity,1);transform:translateX(0) scale(1)}}
.contact-details{padding:82px 0 116px;background:#fff}.contact-heading{max-width:820px;margin-bottom:50px}.contact-heading h2{margin:0;font-size:clamp(36px,4.1vw,58px);line-height:1.08;letter-spacing:-.04em}.contact-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.contact-card{position:relative;min-height:420px;padding:34px 32px 30px;overflow:hidden;border:1px solid #c8d7e2;background:#fff;box-shadow:0 16px 42px rgba(0,38,74,.07);transition:transform .35s cubic-bezier(.2,.72,.2,1),border-color .35s ease,box-shadow .35s ease}.contact-card:after{content:"";position:absolute;left:31px;right:31px;bottom:-1px;height:2px;background:var(--blue);transform:scaleX(.2);transform-origin:left;transition:transform .35s ease}.contact-card:hover{transform:translateY(-5px);border-color:#91aec2;box-shadow:0 24px 54px rgba(0,38,74,.12)}.contact-card:hover:after{transform:scaleX(1)}.contact-card-number{position:absolute;right:20px;top:3px;color:#edf3f7;font-size:82px;line-height:1;font-weight:800;letter-spacing:-.08em}.contact-card-number:before{content:attr(data-number)}.contact-card-icon{position:relative;z-index:1;width:54px;height:54px;margin-bottom:30px;padding:13px;color:var(--blue);border:1px solid #b9cedd;border-radius:50%;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.contact-label{position:relative;z-index:1;margin:0 0 8px;color:#526b83;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.contact-card h3{position:relative;z-index:1;margin:0;color:var(--blue);font-size:clamp(23px,2vw,30px);line-height:1.15;letter-spacing:-.025em}.contact-card address{margin:20px 0 0;color:#526b83;font-size:16px;line-height:1.65;font-style:normal}.contact-links{margin-top:27px;padding-top:20px;border-top:1px solid #d7e2e9}.contact-links a{display:block;margin-top:13px;color:var(--blue);font-size:15px;font-weight:700;text-decoration:none;overflow-wrap:anywhere}.contact-links a:first-child{margin-top:0}.contact-links a span{display:block;margin-bottom:2px;color:#526b83;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.contact-links a:hover,.contact-links a:focus-visible{text-decoration:underline;text-underline-offset:4px}.contact-links a:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
.has-motion .contact-details:not(.is-visible) .contact-card{opacity:0;transform:translateY(18px)}.has-motion .contact-details.is-visible .contact-card{opacity:1;transform:translateY(0);transition:opacity .7s ease,transform .85s cubic-bezier(.2,.72,.2,1),border-color .35s ease,box-shadow .35s ease}.has-motion .contact-details.is-visible .contact-card:nth-child(2){transition-delay:.1s}.has-motion .contact-details.is-visible .contact-card:nth-child(3){transition-delay:.2s}.has-motion .contact-details.is-visible .contact-card:hover{transform:translateY(-5px)}
.contact-page .footer-angle{background:#fff}
@media(max-width:1050px){.contact-hero-grid{grid-template-columns:minmax(470px,1fr) minmax(230px,.48fr);gap:30px}.contact-symbol{width:210px;height:210px}.contact-symbol svg{width:94px}.contact-card{padding:30px 25px}.contact-card-number{font-size:68px}.contact-card h3{font-size:24px}}
@media(max-width:780px){.contact-hero{min-height:540px;padding-top:78px}.contact-hero-grid{min-height:462px;grid-template-columns:1fr;padding-top:42px;padding-bottom:102px}.contact-hero-copy{position:relative;z-index:2}.contact-hero-copy h1{font-size:48px}.contact-hero-copy>p:last-child{max-width:440px;font-size:21px}.contact-symbol{position:absolute;right:-54px;top:105px;width:260px;height:260px;opacity:.16}.contact-details{padding:72px 0 94px}.contact-card-grid{grid-template-columns:1fr 1fr}.company-contact{grid-column:1/-1;min-height:370px}.contact-card{min-height:390px}}
@media(max-width:560px){.contact-hero-copy h1{font-size:42px}.contact-card-grid{grid-template-columns:1fr}.company-contact{grid-column:auto}.contact-card{min-height:0}.contact-heading{margin-bottom:38px}}
@media(prefers-reduced-motion:reduce){.has-motion .contact-route,.has-motion .contact-symbol{animation:none;opacity:1;clip-path:none;transform:none}.has-motion .contact-details .contact-card{opacity:1;transform:none;transition:none}.contact-card:hover{transform:none}}
