/* Contact is a focused form view, separate from the photographic contact banners. */
main.contact-page{background:#edf2f5;color:#173247;padding:26px 0 48px;min-height:calc(100vh - 94px)}
.contact-page .contact-breadcrumb{display:flex;align-items:center;gap:10px;font-size:12px;line-height:1.5;margin:0 0 28px;color:#61798a;background:transparent;border:0;padding:0;position:static;box-shadow:none}
.contact-breadcrumb a{display:inline-flex;align-items:center;min-height:28px;color:#3b5f77;text-decoration:none}
.contact-breadcrumb a:hover{text-decoration:underline;text-underline-offset:4px}
.contact-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);grid-template-areas:"heading form" "expert form";gap:28px 66px;align-items:start;grid-template-rows:auto 1fr}
.contact-heading{grid-area:heading;padding-top:5px}
.contact-page .contact-heading h1{font:550 clamp(2.1rem,3.6vw,3.1rem)/1.1 'Inter',Arial,sans-serif;letter-spacing:-.04em;max-width:16ch;margin:0 0 20px;text-wrap:balance}
.contact-page .contact-heading>p{font-size:16px;line-height:1.65;color:#486173;max-width:410px;margin:0}
/* Direct contact details precede the form on mobile. */
.contact-direct{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;margin:23px 0 0;padding-top:18px;border-top:1px solid #c6d6e1}
.contact-direct>div{min-width:0}
.contact-direct dt{font-size:12px;line-height:1.5;font-weight:500;color:#526f83;margin:0 0 6px}
.contact-direct dd{margin:0}
.contact-direct dd>a{display:inline-flex;align-items:flex-start;min-height:44px;white-space:nowrap;font-size:18px;line-height:1.45;font-weight:550;color:#173b55;text-decoration:none;letter-spacing:-.015em}
.contact-direct dd>a:hover{text-decoration:underline;text-underline-offset:4px}
.contact-direct address{font-style:normal;font-size:14px;line-height:1.7;color:#34566e}
.contact-form-shell{grid-area:form;min-width:0;background:#fff;border:1px solid #d2dfe7;border-radius:18px;padding:29px 30px 30px}
.contact-page .contact-form-shell>h2{font:600 20px/1.35 'Inter',Arial,sans-serif;letter-spacing:-.025em;margin:0 0 13px}
.contact-page .contact-prototype{font-size:12px;line-height:1.6;color:#49677c;background:#edf3f7;border-radius:7px;padding:10px 12px;margin:0 0 24px}
.contact-page form{margin:0}
.contact-page fieldset{border:0;min-width:0;padding:0;margin:0 0 26px}
.contact-page fieldset+fieldset{border-top:1px solid #d8e2e9;padding-top:23px}
.contact-page legend{float:left;width:100%;padding:0;margin:0 0 17px;font:600 15px/1.5 'Inter',Arial,sans-serif;color:#173247}
.contact-page legend+*{clear:both}
.contact-name-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-bottom:17px}
.contact-name-fields>.contact-field{margin:0}
.contact-field{min-width:0;margin:0 0 17px}
.contact-field:last-child{margin-bottom:0}
.contact-page .contact-field label{display:block;font:500 13px/1.5 'Inter',Arial,sans-serif;color:#24465d;margin:0 0 7px}
.contact-page .contact-field :is(input,select,textarea){display:block;width:100%;max-width:100%;min-width:0;min-height:51px;border:1px solid #b4c7d5;background:#fff;color:#173247;border-radius:8px;padding:12px 13px;font:400 16px/1.5 'Inter',Arial,sans-serif;box-shadow:none}
.contact-page .contact-field select{appearance:auto;padding-right:8px}
.contact-page .contact-field select option{background:#fff;color:#173247}
.contact-page .contact-field textarea{min-height:148px;resize:vertical}
.contact-page .contact-field :is(input,select,textarea):focus-visible{outline:3px solid #d5e6f2;outline-offset:1px;border-color:#406f8d}
.contact-page .contact-field-help{font-size:12px;line-height:1.6;color:#60798b;margin:8px 0 0}
.contact-page .contact-submit{display:flex;align-items:center;justify-content:center;width:100%;min-width:0;min-height:52px;padding:14px 20px;border:1px solid #173b55;border-radius:999px;background:#173b55;color:#fff;font:600 14px/1.5 'Inter',Arial,sans-serif;margin:0;cursor:pointer}
.contact-page .contact-submit:hover{background:#102d42;border-color:#102d42}
.contact-page .contact-submit:disabled{opacity:.6;cursor:default}
.contact-page :is(a,button):focus-visible{outline:2px solid #376b8c;outline-offset:4px}
.contact-expert{grid-area:expert;border-top:1px solid #c6d6e1;padding-top:23px;max-width:410px}
.contact-expert-person{display:flex;align-items:center;gap:19px}
.contact-expert-image{display:block;width:96px;height:128px;object-fit:contain;object-position:center bottom;background:transparent;border-radius:0;flex:0 0 96px}
.contact-page .contact-expert-label{font-size:11px;line-height:1.5;color:#617c8f;margin:0 0 7px}
.contact-page .contact-expert h2{font:600 17px/1.4 'Inter',Arial,sans-serif;letter-spacing:-.02em;margin:0 0 8px}
.contact-page .contact-expert-credentials{font-size:12px;line-height:1.7;color:#4f6b80;margin:0}
.contact-page .contact-expert-location{font-size:12px;line-height:1.7;color:#4f6b80;margin:17px 0 4px}
.contact-page .contact-expert .text-link{font-size:13px;min-height:44px}
body:has(.contact-page) #message-preview{max-width:min(560px,calc(100vw - 32px));padding:30px;border:1px solid #c9d9e4;border-radius:18px;color:#173247}
body:has(.contact-page) #message-preview>h2{font:600 24px/1.25 'Inter',Arial,sans-serif;letter-spacing:-.03em;margin:4px 36px 15px 0}
body:has(.contact-page) #message-preview .preview-note{font-size:14px;line-height:1.6;color:#526e82;margin:0 0 18px}
body:has(.contact-page) #message-preview pre{font:400 14px/1.65 'Inter',Arial,sans-serif;background:#edf3f7;border:1px solid #d5e1e9;border-radius:9px;padding:17px;max-height:48vh;overflow:auto;margin:0 0 20px}
body:has(.contact-page) #message-preview .dialog-close{width:38px;height:38px;font-size:25px;top:13px;right:13px}
@media(max-width:1000px){.contact-layout{column-gap:35px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.contact-form-shell{padding:25px}.contact-page .contact-heading h1{font-size:36px}}
@media(max-width:760px){
 main.contact-page{padding:13px 0 34px;min-height:calc(100vh - 82px)}
 .contact-page .contact-breadcrumb{font-size:11px;margin-bottom:19px}
 .contact-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"heading" "form" "expert";grid-template-rows:auto auto auto;gap:25px}
 .contact-heading{padding-top:0}
 .contact-page .contact-heading h1{font-size:31px;line-height:1.12;letter-spacing:-.035em;max-width:18ch;margin-bottom:15px;text-wrap:balance}
 .contact-page .contact-heading>p{font-size:16px;line-height:1.65;max-width:570px}
 .contact-form-shell{padding:23px 20px 24px;border-radius:14px}
 .contact-page .contact-form-shell>h2{font-size:19px}
 .contact-page .contact-prototype{margin-bottom:23px}
 .contact-page fieldset{margin-bottom:24px}
 .contact-page legend{font-size:15px;margin-bottom:16px}
 .contact-expert{max-width:570px;padding-top:23px}
 .contact-page .contact-field label{font-size:13px}
 body:has(.contact-page) #message-preview{padding:25px 21px}
}
@media(max-width:480px){.contact-name-fields{grid-template-columns:minmax(0,1fr);gap:17px}.contact-form-shell{padding-left:17px;padding-right:17px}.contact-page .contact-heading h1{font-size:30px}}
