/* Contact: one primary form, then clearly identified alternatives. */
.contact-article .contact-channel-icon{display:block;width:28px;height:28px;margin:0 auto 14px;fill:none;stroke:var(--gold);stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.contact-article .contact-page{display:block;max-width:980px}
.contact-coordinates{min-width:0}
.contact-article .contact-form-panel{padding:38px 46px}
.contact-article .contact-form-panel>[hidden],.contact-article #contact-form [hidden]{display:none!important}
.contact-article #contact-form .contact-field>label,.contact-expertise-choice legend{color:var(--blue);font-size:.9375rem;font-weight:700;letter-spacing:.01em}
.contact-article .contact-field input,.contact-article .contact-field select,.contact-article .contact-field textarea{font-size:1rem}
.contact-article .contact-field :is(input[type="text"],input[type="tel"],input[type="email"],input[type="date"],select){box-sizing:border-box;height:3.125rem;min-height:3.125rem}
.contact-article .contact-field-help{margin:0 0 2px;color:var(--muted);font-size:.9rem;line-height:1.55}
.contact-article .contact-message-limit{margin:0;color:var(--muted);font-size:.8rem;text-align:right}
.contact-expertise-row{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:24px;margin-bottom:20px;align-items:start}
.contact-expertise-choice{min-width:0;margin:0;padding:0;border:0}
.contact-expertise-choice legend{display:block;width:100%;margin:0 0 10px;padding:0;line-height:1.45}
.contact-radio-options{display:flex;gap:12px}
.contact-radio-options label{display:flex;align-items:center;justify-content:center;gap:10px;min-width:98px;min-height:46px;padding:10px 18px;border:1px solid rgba(18,58,90,.2);border-radius:4px;background:#fbfaf8;color:var(--blue);cursor:pointer}
.contact-radio-options label:has(input:checked){border-color:var(--gold);background:#f3eee4}
.contact-radio-options input{width:17px;height:17px;accent-color:var(--blue)}
.contact-article #expertise-date-field{margin:0}
.contact-article #expertise-date-field input{min-width:0;min-height:49px}
.contact-article .contact-alternatives{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px}
.contact-alternative{padding:30px;border:1px solid rgba(18,58,90,.13);border-radius:7px;text-align:center}
.contact-telephone{background:#f5f1e9}
.contact-professionals{background:#edf3f6}
.contact-article .contact-alternative h2{max-width:360px;margin:0 auto 18px;font-size:1.65rem;line-height:1.2;text-wrap:balance}
.contact-alternative p{margin:12px 0 0;color:var(--muted);font-size:.9375rem;line-height:1.6}
.contact-alternative .contact-phone-number{margin:0;color:var(--blue);font-family:'Newsreader',serif;font-size:2rem;font-weight:500;line-height:1.2;white-space:nowrap}
.contact-alternative .contact-phone-number a{text-underline-offset:3px}
.contact-alternative .contact-phone-pending{margin:5px 0 18px;color:var(--gold-dark);font-size:.8rem}
.contact-professional-email{display:inline-block;max-width:100%;margin:19px 0 7px;color:var(--blue);font-size:1.05rem;font-weight:600;text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:1px;text-underline-offset:5px;overflow-wrap:anywhere}
.contact-alternative .contact-professionals-note{font-size:.85rem}
.contact-meeting{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:30px;margin-top:24px;padding:32px 38px;border:1px solid var(--line);border-radius:7px;background:#fff;text-align:center}
.contact-article .contact-meeting h2{margin:0 0 18px;font-size:1.85rem}
.contact-appointment{margin:0 0 12px;color:var(--gold-dark);font-size:.9375rem;font-weight:600}
.contact-meeting address{color:var(--muted);font-size:1rem;font-style:normal;line-height:1.7}
.contact-meeting address strong{color:var(--blue);font-weight:600}
.contact-directions{display:inline-block;margin-top:16px;color:var(--blue);font-size:.9rem;text-decoration-color:var(--gold);text-decoration-thickness:1px;text-underline-offset:4px}
.contact-directions span{display:inline-block;text-decoration:none}
.contact-article .contact-meeting>.contact-illustration{width:100%;max-width:380px;margin:0 auto;box-shadow:none}
.contact-article .contact-meeting .contact-illustration img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}
@media(max-width:700px){
 .contact-article .contact-form-panel{padding:30px 24px}
 .contact-expertise-row{grid-template-columns:1fr;gap:18px}
 .contact-article .contact-alternatives,.contact-meeting{grid-template-columns:1fr}
 .contact-alternative{padding:27px 24px}
 .contact-meeting{padding:28px 24px;gap:23px}
 .contact-article .contact-alternative h2{font-size:1.6rem}
}
@media(max-width:520px){
 .contact-article .contact-form-panel{padding:26px 20px}
 .contact-article .contact-alternatives{gap:14px;margin-top:16px}
 .contact-meeting{margin-top:16px}
 .contact-article .contact-field-help{font-size:.875rem}
 .contact-alternative p{font-size:.9rem}
}
@media(min-width:981px){
 .contact-article .contact-page{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);grid-template-areas:"coordinates form";align-items:stretch;gap:22px;max-width:1200px}
 .contact-article .contact-coordinates{grid-area:coordinates;display:grid;align-content:start;gap:18px}
 .contact-article .contact-form-panel{grid-area:form;padding:34px 28px}
 .contact-article .contact-alternatives{grid-template-columns:1fr;gap:18px;margin:0}
 .contact-article .contact-alternative{padding:26px}
 .contact-article .contact-meeting{grid-template-columns:1fr;gap:22px;margin:0;padding:26px}
 .contact-article .contact-meeting>.contact-illustration{max-width:380px}
 .contact-article .contact-expertise-row{grid-template-columns:1fr;gap:18px}
 .contact-article .contact-form-panel:has([data-contact-success]:not([hidden])){align-self:start}
}
