.contact-main { padding:72px 0 80px; background:var(--paper-soft); }
.contact-grid { display:grid; grid-template-columns:1fr 1.05fr; gap:72px; align-items:start; }
.contact-copy h1 { font:400 clamp(60px,6vw,84px)/1.04 var(--serif); letter-spacing:-.045em; margin:18px 0 26px; }
.contact-copy h1 em { color:var(--orange-dark); font-weight:400; }
.contact-copy > p:not(.eyebrow) { font-size:16px; line-height:1.75; color:var(--muted); margin:0 0 20px; }
.contact-copy > p.contact-lead { font-size:21px; line-height:1.55; color:var(--ink); }
.contact-details { margin-top:32px; padding:28px 32px; background:var(--charcoal); color:var(--paper); border-radius:22px; }
.contact-details h2 { font:400 29px/1.2 var(--serif); margin:0 0 20px; }
.contact-details a,.contact-mail { display:flex; align-items:center; gap:16px; padding:8px 0; font-size:16px; line-height:1.5; text-decoration:none; color:inherit; overflow-wrap:anywhere; }
.contact-details a:hover { text-decoration:underline; text-underline-offset:4px; }
.contact-details svg { width:22px; height:22px; flex-shrink:0; color:var(--orange); }
.contact-mail address { font-style:normal; }
.contact-form-card { border:1px solid var(--line); border-radius:26px; background:#fff; padding:36px 24px 28px; box-shadow:0 16px 48px #48301a08; }
.contact-form-card > h2 { font:400 clamp(32px,3vw,42px)/1.15 var(--serif); letter-spacing:-.025em; margin:12px 12px 24px; }
.contact-form-card > .hub-kicker { margin-left:12px; }
.contact-form-card iframe { width:100%; min-height:620px; border:0; display:block; }
.contact-email-fallback { display:block; margin:20px 12px 0; color:var(--orange-dark); font-size:15px; font-weight:600; text-underline-offset:4px; padding:10px 0; }
.contact-main a:focus-visible { outline:2px solid var(--orange); outline-offset:5px; }
@media(max-width:900px) { .contact-grid { gap:32px; } }
@media(max-width:720px) { .contact-main { padding:44px 0 48px; } .contact-grid { grid-template-columns:1fr; } .contact-details { padding:24px; } .contact-form-card { padding:26px 12px 20px; } }
