.contact-page{overflow:hidden}
.contact-page h1,.contact-page h2{font-family:var(--display-font),Arial,sans-serif;font-weight:760;text-transform:uppercase}
.contact-page h1 em,.contact-page h2 em{font-style:normal;color:var(--azure)}
.contact-page__hero{display:grid;grid-template-columns:minmax(0,52%) minmax(0,48%);background:var(--navy);color:#fff}
.contact-page__hero-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(65px,6vw,110px) clamp(35px,5vw,95px) clamp(70px,6vw,110px) var(--page-gutter)}
.contact-page__hero .eyebrow{color:#9cdefa}
.contact-page__hero h1{max-width:100%;margin:35px 0 30px;font-size:clamp(80px,8vw,145px);line-height:.98;letter-spacing:0}
.contact-page__hero h1 em{color:var(--azure)}
.contact-page__hero-copy>p:not(.eyebrow){max-width:620px;margin:0;font-size:clamp(19px,1.6vw,25px);line-height:1.5}
.contact-page__jump{display:inline-grid;grid-template-columns:minmax(0,1fr) 54px;align-items:center;gap:20px;min-height:56px;max-width:100%;margin-top:37px;padding-left:18px;border:1px solid var(--azure);font-size:14px;font-weight:750;transition:background .3s,color .3s,transform .3s,box-shadow .3s}
.contact-page__jump span{display:grid;place-items:center;align-self:stretch;border-left:1px solid var(--azure);font-size:24px;font-weight:400}
.contact-page__jump:hover,.contact-page__jump:focus-visible{background:var(--azure);color:var(--navy);transform:translate(-3px,-3px);box-shadow:7px 7px 0 rgba(48,163,220,.3)}
.contact-page__hero-media{position:relative;min-width:0;min-height:630px;margin:0;overflow:hidden;background:#b8d0dc}
.contact-page__hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.07);transition:transform 1.4s cubic-bezier(.19,1,.22,1)}
.contact-page__hero-media.is-visible img{transform:scale(1)}
.contact-page__hero-media::after{content:"";position:absolute;inset:60% 0 0;background:linear-gradient(transparent,rgba(15,37,54,.55));pointer-events:none}
.contact-page__frame{position:absolute;z-index:1;inset:8%;border:2px solid rgba(255,255,255,.92);pointer-events:none}
.contact-page__frame::before{content:"";position:absolute;top:0;bottom:0;left:50%;border-left:2px solid rgba(255,255,255,.92)}
.contact-page__frame i{position:absolute;top:46%;width:3px;height:8%;background:#fff}.contact-page__frame i:first-child{left:48%}.contact-page__frame i:last-child{left:52%}
.contact-page__hero-media figcaption{position:absolute;z-index:2;left:10%;bottom:9%;max-width:340px;font-size:13px;font-weight:700;line-height:1.4}
.contact-page__conversation{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);align-items:start;gap:clamp(50px,7vw,130px);padding:clamp(75px,7vw,120px) var(--page-gutter) clamp(95px,9vw,155px);background:var(--glass);scroll-margin-top:90px}
.contact-page__details{min-width:0;padding-top:13px}
.contact-page__details .eyebrow{color:#167fab}
.contact-page__details h2{margin:24px 0 28px;font-size:clamp(85px,8vw,150px);line-height:.98;letter-spacing:0}
.contact-page__details-lead{max-width:580px;margin:0 0 45px;font-size:clamp(18px,1.6vw,24px);line-height:1.5}
.contact-page__contact-list{margin:0;border-top:2px solid var(--navy)}
.contact-page__contact-list>div{display:grid;grid-template-columns:135px minmax(0,1fr);gap:18px;padding:22px 0;border-bottom:1px solid #b5cfdd}
.contact-page__contact-list dt{padding-top:5px;color:#167fab;font-size:12px;font-weight:760;letter-spacing:.09em;text-transform:uppercase}
.contact-page__contact-list dd{min-width:0;margin:0;font-size:clamp(17px,1.5vw,22px);font-weight:600;line-height:1.45;overflow-wrap:anywhere}
.contact-page__contact-list address{font:inherit}
.contact-page__contact-list a{transition:color .25s}
.contact-page__contact-list a:hover,.contact-page__contact-list a:focus-visible{color:#087fba}
.contact-page__contact-list dd span{color:#168dc7}
.contact-page__form-panel{margin:0;box-shadow:15px 15px 0 rgba(48,163,220,.2)}
.contact-page__form-panel h3{line-height:.98;letter-spacing:0}
.js .contact-page [data-reveal="copy"]{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .8s cubic-bezier(.19,1,.22,1)}
.js .contact-page [data-reveal="copy"].is-visible{opacity:1;transform:translateY(0)}
.js .contact-page [data-reveal="visual"]{opacity:0;transform:scale(1.02);transition:opacity .75s ease,transform .85s ease}
.js .contact-page [data-reveal="visual"].is-visible{opacity:1;transform:scale(1)}
@media(max-width:1000px){.contact-page__conversation{gap:45px}.contact-page__contact-list>div{grid-template-columns:1fr;gap:5px}.contact-page__details h2{font-size:clamp(78px,9vw,115px)}}
@media(max-width:760px){.contact-page__hero{display:flex;flex-direction:column}.contact-page__hero-copy{padding:68px 22px 76px}.contact-page__hero h1{font-size:clamp(75px,15vw,110px)}.contact-page__hero-copy>p:not(.eyebrow){font-size:19px}.contact-page__hero-media{min-height:0;height:clamp(300px,60vw,430px)}.contact-page__conversation{display:block;padding:72px 22px 95px}.contact-page__details{padding:0}.contact-page__details h2{font-size:clamp(78px,15vw,110px)}.contact-page__details-lead{font-size:18px}.contact-page__contact-list{margin-bottom:65px}.contact-page__contact-list>div{grid-template-columns:110px minmax(0,1fr)}.contact-page__contact-list dd{font-size:17px}.contact-page__form-panel{box-shadow:10px 10px 0 rgba(48,163,220,.2)}}
@media(max-width:420px){.contact-page__contact-list>div{grid-template-columns:1fr;gap:5px}.contact-page__hero h1{font-size:clamp(70px,16vw,90px)}.contact-page__details h2{font-size:clamp(72px,15vw,90px)}}
@media(prefers-reduced-motion:reduce){.js .contact-page [data-reveal]{opacity:1;transform:none;transition:none}.contact-page__hero-media img{transform:none;transition:none}}
.contact-page__map{display:grid;grid-template-columns:minmax(310px,.38fr) minmax(0,.62fr);gap:clamp(35px,5vw,90px);align-items:stretch;padding:clamp(70px,7vw,120px) var(--page-gutter);background:#fff}
.contact-page__map-intro h2{margin:20px 0;font-size:clamp(70px,7vw,125px);line-height:.98;letter-spacing:0}
.contact-page__map-intro p:not(.eyebrow){font-size:20px;line-height:1.4}
.contact-page__map-intro a{display:inline-block;margin-top:18px;padding-bottom:6px;border-bottom:2px solid var(--azure);font-weight:700}
.contact-page__map-stage{position:relative;min-height:430px;background:#eaf7fc;border:1px solid #aac9d8;overflow:hidden}
.contact-page__map-stage iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.contact-page__map-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(28px,5vw,70px);background:repeating-linear-gradient(90deg,transparent 0 18%,rgba(48,163,220,.13) 18% calc(18% + 1px),transparent calc(18% + 1px) 36%),repeating-linear-gradient(0deg,transparent 0 24%,rgba(48,163,220,.13) 24% calc(24% + 1px),transparent calc(24% + 1px) 48%),#eaf7fc}
.contact-page__map-placeholder[hidden]{display:none}
.contact-page__map-placeholder>span{font-size:80px;color:var(--azure);line-height:1}
.contact-page__map-placeholder strong{font-size:clamp(25px,3vw,40px)}
.contact-page__map-placeholder p{max-width:410px;font-size:16px;line-height:1.5}
.contact-page__map-placeholder button,.contact-page__map-placeholder a{padding:15px 20px;background:var(--navy);border:1px solid var(--navy);color:#fff;font-weight:700;cursor:pointer}
.contact-page__map-placeholder button:hover,.contact-page__map-placeholder a:hover{background:var(--azure);border-color:var(--azure)}
@media(max-width:760px){.contact-page__map{display:block;padding:70px 22px}.contact-page__map-stage{margin-top:35px;min-height:390px}}

/* A moving sash on white replaces the blue wash behind the contact form. */
.contact-page__conversation{position:relative;isolation:isolate;overflow:hidden;background:#fff;border-top:1px solid var(--metal)}
.contact-page__details,.contact-page__form-panel{position:relative;z-index:1}
.contact-page__form-panel{overflow:hidden;border:1px solid #15253a;background:#1c2c42;color:#fff;box-shadow:15px 15px 0 #bce6f5}
.contact-page__form-panel::before{content:"";position:absolute;top:0;right:0;width:clamp(85px,15vw,170px);height:clamp(85px,15vw,170px);border-left:1px solid rgba(123,213,250,.2);border-bottom:1px solid rgba(123,213,250,.2);transform:translate(35%,-35%);pointer-events:none}
.contact-page__form-panel .site-footer__form-heading{position:relative;border-top-color:#8ed9f9;color:#fff}
.contact-page__form-panel .site-footer__form-heading span:last-child{color:#8ed9f9}
.contact-page__form-panel h3{position:relative;color:#fff}
.contact-page__form-panel .form-privacy-note{color:#c4d4df}
.contact-page__form-panel .form-privacy-note a{color:#a3e3ff;text-decoration-color:currentColor}
.contact-page__form-panel .form-privacy-note a:hover,.contact-page__form-panel .form-privacy-note a:focus-visible{color:#fff}
.contact-page__form-panel .site-footer__preview-note{background:#2b4259;color:#fff}
.contact-page__form-panel .site-footer__preview-field{border-bottom-color:#7495a8;color:#d7e8f2}
.contact-page__form-panel .site-footer__preview-button{background:#7bd5f8;color:#14263c}
.contact-page__blueprint{position:absolute;z-index:0;top:17%;left:27%;width:30%;height:450px;pointer-events:none;border:1px solid rgba(32,46,69,.16);box-shadow:18px 18px 0 -16px rgba(32,46,69,.18)}
.contact-page__blueprint::before,.contact-page__blueprint::after{content:"";position:absolute;z-index:1;width:30px;height:30px;border-color:rgba(48,163,220,.7);border-style:solid}
.contact-page__blueprint::before{top:-2px;left:-2px;border-width:3px 0 0 3px}
.contact-page__blueprint::after{right:-2px;bottom:-2px;border-width:0 3px 3px 0}
.contact-page__blueprint-frame{position:absolute;inset:5%;border:3px solid rgba(32,46,69,.17)}
.contact-page__blueprint-frame::before,.contact-page__blueprint-frame::after{content:"";position:absolute;background:rgba(32,46,69,.13)}
.contact-page__blueprint-frame::before{top:0;bottom:0;left:50%;width:3px}
.contact-page__blueprint-frame::after{left:0;right:0;top:48%;height:2px}
.contact-page__blueprint-sash{position:absolute;top:10%;bottom:10%;left:49%;width:40%;overflow:hidden;border:5px solid rgba(32,46,69,.22);background:linear-gradient(115deg,rgba(245,249,251,.68),rgba(255,255,255,.15) 65%);box-shadow:12px 12px 0 -9px rgba(32,46,69,.22);animation:cif-contact-sash 9s ease-in-out infinite}
.contact-page__blueprint-sash::before{content:"";position:absolute;inset:-15% -50%;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.9) 49%,transparent 53%);transform:translateX(-85%);animation:cif-contact-shine 9s ease-in-out infinite}
.contact-page__blueprint-rail{position:absolute;left:3%;right:3%;bottom:7%;height:10px;border-top:2px solid rgba(32,46,69,.2);border-bottom:2px solid rgba(32,46,69,.2)}
.contact-page__blueprint-handle{position:absolute;z-index:1;top:46%;left:10px;width:7px;height:58px;border:2px solid rgba(32,46,69,.43);border-radius:6px}
@keyframes cif-contact-sash{0%,12%,88%,100%{transform:translateX(0)}42%,62%{transform:translateX(-54%)}}
@keyframes cif-contact-shine{0%,19%,100%{transform:translateX(-85%)}50%,68%{transform:translateX(85%)}}
.js .contact-page__blueprint[data-reveal="blueprint"]{opacity:0;transform:translateX(30px);transition:opacity .9s ease,transform 1.1s cubic-bezier(.19,1,.22,1)}
.js .contact-page__blueprint[data-reveal="blueprint"].is-visible{opacity:1;transform:none}
.js .contact-page__blueprint-sash,.js .contact-page__blueprint-sash::before{animation-play-state:paused}
.js .contact-page__blueprint.is-visible .contact-page__blueprint-sash,.js .contact-page__blueprint.is-visible .contact-page__blueprint-sash::before{animation-play-state:running}
@media(max-width:1100px){.contact-page__blueprint{top:22%;left:35%;width:31%;height:350px;filter:opacity(.65)}}
@media(max-width:760px){.contact-page__blueprint{top:12%;left:51%;width:65%;height:270px;filter:opacity(.42)}.contact-page__form-panel{box-shadow:10px 10px 0 #bce6f5}}
@media(prefers-reduced-motion:reduce){.js .contact-page__blueprint[data-reveal="blueprint"]{opacity:1;transform:none;transition:none}.contact-page__blueprint-sash,.contact-page__blueprint-sash::before{animation:none}}
