/* Contact follows the shared navy/crimson editorial layout. */
.contact-page { background:#fff;color:#001a33; }
.contact-wrap { width:min(1240px,calc(100% - 112px));margin-inline:auto; }
.contact-page main h1,.contact-page main h2,.contact-page main h3 { font-weight:500;letter-spacing:-.035em; }
.contact-hero { background:#001a33;color:#fff;padding:56px 0 60px;border-bottom:4px solid var(--brand-crimson); }
.contact-kicker { font-size:.875rem;line-height:1.6;letter-spacing:.08em;text-transform:uppercase;margin:0 0 24px;display:flex;align-items:center;gap:14px;color:#d4e0eb; }
.contact-kicker::before { content:"";width:28px;height:3px;flex:none;background:var(--brand-crimson); }
.contact-hero h1 { font-size:clamp(2.1rem,4.2vw,3.65rem);line-height:1.12;color:#fff;max-width:900px;margin:0 0 24px;overflow-wrap:break-word;hyphens:auto; }
.contact-page .contact-hero-intro { font-size:1.0625rem;line-height:1.75;max-width:750px;margin:0;color:#d4e0eb; }
.contact-layout { display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr);grid-template-rows:auto 1fr;column-gap:88px;row-gap:28px;padding-block:64px 76px; }
.contact-layout>* { min-width:0; }
.contact-direct { grid-column:1;grid-row:1; }
.contact-form-section { grid-column:2;grid-row:1 / span 2; }
.contact-location { grid-column:1;grid-row:2;align-self:start;border-top:1px solid #bdc8d3;padding-top:28px; }
.contact-page main h2 { font-size:clamp(1.65rem,2.7vw,2.15rem);line-height:1.25;margin:0 0 22px;overflow-wrap:break-word;hyphens:auto; }
.contact-direct>p,.contact-form-intro { font-size:1rem;color:#354d68;line-height:1.75;margin:0 0 24px; }
.contact-email { display:block;width:fit-content;font-size:clamp(1.25rem,2.2vw,1.75rem);line-height:1.4;color:var(--brand-crimson);font-weight:400;text-decoration:none;margin-bottom:12px;overflow-wrap:anywhere; }
.contact-email:hover { color:var(--brand-crimson-dark);text-decoration:underline;text-underline-offset:5px; }
.contact-phone { display:block;width:fit-content;font-size:1.25rem;line-height:1.6;text-decoration:none;color:#001a33; }
.contact-phone:hover { color:var(--brand-crimson);text-decoration:underline;text-underline-offset:5px; }
.contact-page .contact-location h2 { font-size:1.15rem;line-height:1.5;letter-spacing:-.015em;max-width:330px;margin:0 0 18px; }
.contact-location address { font-style:normal;font-size:1rem;line-height:1.75;color:#354d68; }
.contact-form { display:block;width:100%;max-width:none;margin:0;padding:0; }
.contact-form .email-explainer { margin:0 0 22px;color:#526278;font-size:.875rem;line-height:1.6; }
.contact-fields { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px; }
.contact-page .contact-form .form-group { display:block;margin:0;min-width:0; }
.contact-form .contact-field-full { grid-column:1/-1; }
.contact-form .form-group label { color:#001a33;font-size:.875rem;font-weight:500;line-height:1.5;margin:0 0 8px;display:block; }
.contact-form .form-group .contact-field { width:100%;min-width:0;min-height:48px;box-sizing:border-box;font:inherit;font-size:1rem;line-height:1.5;color:#001a33;background:#fff;border:1px solid #8798aa;border-radius:1px;padding:11px 12px;box-shadow:none; }
.contact-form .form-group .contact-field::placeholder { color:#526278;opacity:1; }
.contact-form .form-group .contact-field:focus { border-color:var(--brand-crimson);box-shadow:none;background:#fff; }
.contact-form textarea.contact-field { resize:vertical;min-height:144px; }
.contact-form .form-group .form-error { color:var(--brand-crimson);font-size:.875rem;line-height:1.6; }
.contact-form .form-group .form-hint { color:#354d68;font-size:.875rem;line-height:1.6;margin:8px 0 0; }
.contact-consent { margin:22px 0; }
.contact-consent-label { display:flex;align-items:flex-start;gap:12px;font-size:.875rem;line-height:1.6;color:#354d68; }
.contact-consent input { width:18px;height:18px;flex:none;margin:3px 0 0;accent-color:var(--brand-crimson); }
.contact-consent a { color:#001a33;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--brand-crimson); }
.contact-consent a:hover { color:var(--brand-crimson); }
.contact-form .contact-submit { width:auto;min-height:48px;padding:12px 24px;border-radius:1px; }
.contact-handoff { font-size:.875rem;line-height:1.7;margin:16px 0 0;color:#526278;max-width:560px; }
.contact-form .iti__country-container { border-radius:1px 0 0 1px; }
.contact-page .email-draft { margin-top:28px;min-width:0;overflow-wrap:anywhere;background:#f4f6f8;color:#001a33; }
.contact-page .email-draft h3 { font-size:1.25rem;line-height:1.4;margin:0 0 16px;color:#001a33; }
.contact-page .email-draft p { font-size:1rem;line-height:1.7;color:#354d68; }
.contact-page .email-draft textarea { font-size:1rem;min-width:0;max-width:100%;border-radius:1px; }
.contact-page .email-draft .btn { white-space:normal;border-radius:1px; }
.contact-start { background:#f4f6f8;padding:56px 0 64px; }
.contact-start .conversation-steps { gap:40px;margin-top:34px; }
.contact-start .conversation-steps li::before { color:var(--brand-crimson); }
.contact-start .conversation-steps h3 { font-size:1.2rem;line-height:1.4;margin:14px 0 12px; }
.contact-start .conversation-steps p { font-size:1rem;line-height:1.75;margin:0; }
@media(max-width:1100px) {
 .contact-wrap { width:calc(100% - 64px); }
 .contact-layout { column-gap:48px; }
}
@media(max-width:900px) { .contact-fields { grid-template-columns:1fr; } }
@media(max-width:768px) {
 .contact-wrap { width:calc(100% - 48px); }
 .contact-hero { padding:44px 0 48px; }
 .contact-layout { grid-template-columns:1fr;grid-template-rows:auto;gap:40px;padding-block:44px 56px; }
 .contact-direct { grid-column:1;grid-row:1; }
 .contact-form-section { grid-column:1;grid-row:2; }
 .contact-location { grid-column:1;grid-row:3; }
 .contact-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .contact-start { padding-block:44px; }
 .contact-start .conversation-steps { gap:28px; }
}
@media(max-width:540px) {
 .contact-wrap { width:calc(100% - 40px); }
 .contact-fields { grid-template-columns:1fr; }
 .contact-hero h1 { font-size:2.1rem; }
 .contact-form .contact-submit { width:100%; }
 .contact-page .email-draft { padding:18px; }
 .contact-page .email-draft__actions { flex-direction:column; }
}
