.contact-opening { background:#f2f6fa url('/assets/images/contact/contact-hero-v1.png') center center / cover no-repeat; }
.contact-hero h1 { max-width: 950px; }
.contact-layout .eyebrow { font-size:10px; font-weight:700; letter-spacing:.34em; color:#7c8ba7; margin-bottom:18px; }
.contact-layout { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); padding-block:62px 70px; gap:42px; scroll-margin-top:25px; }
.contact-layout h2 { font-size:30px; line-height:1.3; letter-spacing:-.04em; }
.contact-layout .eyebrow { margin-bottom:14px; }
.form-intro { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px 20px; margin-top:5px; margin-bottom:32px; color:#69788f; font-size:15px; letter-spacing:-.045em; }
.required-note { font-size:13px; align-self:end; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 16px; }
.field { border:1px solid #dce2eb; border-radius:3px; padding:10px 18px; min-width:0; background:rgba(255,255,255,.65); transition:border-color .15s; }
.field:focus-within { border-color:#74869f; box-shadow:0 0 0 2px #e8edf4; }
.field label { display:block; font-size:13px; font-weight:600; margin-bottom:4px; }
.field input,.field select,.field textarea { display:block; width:100%; padding:0; border:0; border-radius:0; font:inherit; font-size:15px; line-height:1.6; color:#263649; background:transparent; outline:none; }
.field input { min-height:28px; }
.field input::placeholder,.field textarea::placeholder { color:#95a4bc; opacity:1; }
.field select:invalid { color:#95a4bc; }
.field select option { color:#263649; background:white; }
.field-wide { grid-column:1 / -1; }
.select-field { position:relative; }
.field select { appearance:none; min-height:29px; padding-right:25px; cursor:pointer; }
.select-arrow { position:absolute; right:20px; top:22px; pointer-events:none; font-size:21px; }
.message-field textarea { min-height:80px; resize:vertical; }
.contact-page button:focus-visible { outline:2px solid #597391; outline-offset:4px; }
.submit-button { margin-top:20px; font:inherit; font-size:15px; min-width:183px; min-height:50px; cursor:pointer; background:#101b26; border-color:#101b26; }
.submit-button:disabled { opacity:.65; cursor:wait; }
.form-status { margin-top:14px; color:#53657b; font-size:14px; line-height:1.65; }
.form-status:empty { display:none; }
.form-status[data-state=error] { color:#a62e37; }
.form-status[data-state=success] { color:#21604e; }
.contact-info { padding-left:40px; border-left:1px solid #dce2eb; }
.info-list { margin:32px 0 0; display:grid; gap:35px; }
.info-item { display:flex; gap:26px; align-items:flex-start; min-width:0; }
.info-icon { display:grid; place-items:center; width:54px; height:54px; flex-shrink:0; background:#f0f3f6; border-radius:50%; }
.info-icon svg { width:30px; height:30px; fill:none; stroke:#14202e; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
.info-item dt { color:#617087; font-size:15px; margin-bottom:5px; }
.info-item dd { margin:0; color:#45546b; font-size:18px; line-height:1.75; letter-spacing:-.025em; }
.info-item a { overflow-wrap:anywhere; }
.info-item a:hover { text-decoration:underline; text-underline-offset:5px; }
.address-item dt { font-size:16px; font-weight:700; color:#14202e; }
.address-item dd { font-size:17px; }
.honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.skip-link { position:absolute; top:-100px; left:20px; z-index:10; background:white; padding:12px; }
.skip-link:focus { top:10px; }
@media(min-width:1400px) { .contact-layout { gap:52px; padding-block:75px 85px; } .field { padding-block:13px; } .message-field textarea { min-height:100px; } }
@media(max-width:1100px) { .contact-layout { grid-template-columns:minmax(0,1.55fr) minmax(0,1fr); gap:30px; } .contact-info { padding-left:30px; } .info-item { gap:20px; } .info-item dd { font-size:16px; } .info-icon { width:50px; height:50px; } .form-intro { font-size:14px; } }
@media(max-width:800px) { .contact-layout { grid-template-columns:1fr; gap:44px; padding-block:44px; } .contact-info { padding:36px 0 0; border-left:0; border-top:1px solid #dce2eb; } .info-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 20px; } .info-item { gap:15px; } .contact-opening { background-position:65% center; } }
@media(max-width:540px) { .contact-opening { background-image:linear-gradient(90deg,rgba(247,250,255,.6),rgba(247,250,255,.12)),url('/assets/images/contact/contact-hero-v1.png'); background-position:58% center; } .contact-layout .eyebrow { font-size:9px; } .contact-layout h2 { font-size:27px; } .form-grid { grid-template-columns:1fr; gap:14px; } .field { padding:12px 16px; } .field input,.field select,.field textarea { font-size:16px; } .form-intro { margin-bottom:24px; } .required-note { width:100%; } .message-field textarea { min-height:110px; } .submit-button { width:100%; } .info-list { grid-template-columns:1fr; gap:26px; } .info-item { gap:22px; } .info-item dd { font-size:17px; } }
@media(prefers-reduced-motion:reduce) { .field { transition:none; } }

