.contact-editorial{--contact-blue:#1767ad;--contact-navy:#173852;--contact-ink:#252b31;--contact-body:#59656e;--contact-paper:#f1f1ed;--contact-line:#d9ddde}
.contact-editorial a:focus-visible,.contact-editorial input:focus-visible,.contact-editorial textarea:focus-visible,.contact-editorial button:focus-visible{outline:3px solid rgba(23,103,173,.35);outline-offset:2px}

.contact-hero{padding:72px 0 76px;background:#fff}
.contact-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,1fr);align-items:stretch}
.contact-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:46px 48px;background:var(--contact-paper)}
.contact-hero h1{max-width:15ch;font-size:clamp(42px,4.7vw,64px);line-height:1.01}
.contact-subhead{margin:24px 0 0!important;color:var(--contact-ink)!important;font-size:clamp(20px,2vw,27px)!important;font-weight:600;letter-spacing:.05em;line-height:1.28!important;text-transform:uppercase}
.contact-hero-copy>p:not(.contact-subhead){max-width:58ch;margin:24px 0 0;color:var(--contact-body);font-size:17px!important;line-height:1.65!important}
.contact-hero-copy p a{color:var(--contact-navy);font-weight:700;text-decoration:underline;text-decoration-color:rgba(23,103,173,.4);text-underline-offset:3px}
.contact-text-link{align-self:flex-start;margin-top:28px;padding-bottom:5px;border-bottom:1px solid rgba(23,103,173,.4);color:var(--contact-navy);font-size:15px;font-weight:700;text-decoration:none}
.contact-text-link:hover{color:var(--contact-blue);border-bottom-color:var(--contact-blue)}
.contact-hero-image{min-height:560px;margin:0;overflow:hidden;background:#dfe4e7}
.contact-hero-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}

.contact-section{padding:86px 0 96px;background:#fff;border-top:1px solid var(--contact-line);scroll-margin-top:140px}
.contact-grid{display:grid;grid-template-columns:minmax(250px,.56fr) minmax(0,1.44fr);gap:38px;align-items:start}
.contact-details{grid-column:1;grid-row:1;padding:38px 34px;background:var(--contact-navy);color:#fff}
.contact-details h2{margin:0;color:#fff;font-size:clamp(30px,3vw,40px)}
.contact-details p{margin:8px 0 0;color:rgba(255,255,255,.76);font-size:15px;line-height:1.55}
.contact-detail-group{margin-top:34px;padding-top:28px;border-top:1px solid rgba(255,255,255,.18)}
.contact-detail-group strong{display:block;color:#b9d9f2;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.contact-detail-group a{display:inline-block;margin-top:8px;color:#fff;font-size:23px;font-weight:700;text-decoration:none}
.contact-detail-group p+p{margin-top:18px}

.contact-form-card{grid-column:2;grid-row:1;padding:38px 42px 42px;background:#fff;border:1px solid #dde1e2}
.contact-form-card>h2{margin:0;color:var(--contact-ink);font-size:clamp(34px,3.4vw,46px)}
.contact-form{display:grid;gap:22px;padding:28px 0 0;background:#fff;box-shadow:none;border:0}
.honeypot{display:none!important}
.required-note{margin:0!important;color:var(--contact-body)!important;font-size:13px!important;line-height:1.4!important}
.required-note span,.required-mark{color:var(--contact-blue);font-weight:700}
.required-mark{display:inline;margin-left:2px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact-form label{display:grid;gap:8px;color:#4d5861;font-size:14px;font-weight:700}
.contact-form input,.contact-form textarea{width:100%;border:1px solid #cbd0d2;border-radius:0;background:#fbfbfa;color:var(--contact-ink);font:400 16px/1.5 "Instrument Sans",system-ui,sans-serif;transition:border-color .18s ease,box-shadow .18s ease}
.contact-form input{min-height:54px;padding:0 15px}
.contact-form textarea{min-height:210px;padding:15px;resize:vertical}
.contact-form input:hover,.contact-form textarea:hover{border-color:#9ca6ab}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--contact-blue);box-shadow:0 0 0 3px rgba(23,103,173,.09)}
.contact-form .button{display:inline-flex;gap:22px;justify-self:start;min-height:54px;padding:0 24px;border:0;border-radius:0;background:var(--contact-navy);color:#fff;font:700 14px "Instrument Sans",system-ui,sans-serif;cursor:pointer;transition:background .18s ease,transform .18s ease}
.contact-form .button:hover{background:var(--contact-blue);transform:translateY(-1px)}
.contact-form .button span{font-size:19px}
.form-note{max-width:62ch;margin:0!important;color:var(--contact-body)!important;font-size:13px!important;line-height:1.55!important}

@media(max-width:900px){
  .contact-hero-grid,.contact-grid{grid-template-columns:minmax(0,1fr)}
  .contact-form-card,.contact-details{grid-column:auto;grid-row:auto}
  .contact-hero-copy{padding:42px}
  .contact-hero-image{min-height:420px}
  .contact-details{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px}
  .contact-detail-group{margin:0;padding:0 0 0 24px;border-top:0;border-left:1px solid rgba(255,255,255,.18)}
}
@media(max-width:700px){
  .contact-hero{padding:42px 0 52px}
  .contact-hero-copy{padding:32px 24px}
  .contact-hero h1{font-size:42px}
  .contact-subhead{font-size:19px!important}
  .contact-hero-image{min-height:300px}
  .contact-section{padding:62px 0}
  .contact-details{grid-template-columns:1fr;padding:30px 26px}
  .contact-detail-group{margin-top:24px;padding:22px 0 0;border-left:0;border-top:1px solid rgba(255,255,255,.18)}
  .contact-form-card{padding:30px 24px 32px}
  .field-row{grid-template-columns:1fr}
}
