.contact-methods { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; }
.contact-method { padding:28px 0; border-top:1px solid var(--site-line); }
.contact-method h2 { font-size:24px; font-weight:450; margin:0 0 24px; }
.contact-method [data-contact-value] { display:block; min-height:30px; font-size:15px; overflow-wrap:anywhere; }
.contact-method .text-link { border:0; background:none; cursor:pointer; }
.form-layout { display:grid; grid-template-columns:.7fr 1.3fr; gap:8vw; align-items:start; }
.form-intro { position:sticky; top:120px; }
.form-intro h2 { font-size:clamp(32px,3.6vw,60px); line-height:1.12; font-weight:450; letter-spacing:-.04em; margin:0 0 25px; }
.form-notice { padding:16px 20px; background:#e3ebf0; color:#405d71; font-size:12px; line-height:1.8; border-left:2px solid #678c9e; }
.message-form { min-width:0; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.field { display:flex; flex-direction:column; gap:9px; min-width:0; font-size:12px; color:var(--site-navy); }
.field--wide { grid-column:1/-1; }
.field input,.field select,.field textarea { font-size:16px; width:100%; min-width:0; min-height:48px; border:1px solid #b9cbd6; border-radius:0; padding:12px; color:var(--site-navy); background:rgb(255 255 255 / 65%); }
.field textarea { min-height:150px; resize:vertical; }
.field input[type=file] { padding:18px 12px; font-size:12px; }
.field small { color:var(--site-muted); font-size:11px; line-height:1.7; }
.consent { display:flex; align-items:start; gap:12px; margin:26px 0; font-size:12px; line-height:1.7; color:var(--site-muted); }
.consent input { width:18px; height:18px; flex:0 0 18px; accent-color:var(--site-green); }
.form-status { min-height:28px; margin-top:20px; font-size:13px; line-height:1.8; color:var(--site-navy); }
[aria-invalid=true] { border-color:#a83b37!important; }
.address-grid { display:grid; grid-template-columns:1fr 1fr; gap:50px; }
.address-grid h2 { font-size:24px; font-weight:450; }
.address-grid [data-contact-value] { min-height:55px; color:var(--site-muted); font-size:14px; }
@media(max-width:900px) { .form-layout {grid-template-columns:1fr;gap:36px;} .form-intro {position:static;} }
@media(max-width:540px) { .contact-methods,.form-grid,.address-grid {grid-template-columns:1fr;} }
