.contact-page { padding:calc(var(--nav-h) + 50px) var(--pad) 70px; display:grid; grid-template-columns:1.25fr .75fr; gap:12vw; align-items:center; min-height:calc(100svh - 105px); }
.contact-page__visual { grid-column:2; grid-row:1; align-self:center; }
.contact-page__visual img { height:auto; transform:none; }
.contact-page__visual-label { font-size:.56rem; letter-spacing:.11em; text-transform:uppercase; color:var(--muted); padding-top:18px; }
.contact-page__panel { grid-column:1; grid-row:1; }
.contact-page__panel h1 { font:400 clamp(5rem,10vw,11rem)/.85 var(--serif); letter-spacing:-.045em; margin:30px 0 45px; }
.dm-cta { padding:22px 0; display:flex; justify-content:space-between; align-items:center; border-top:1px solid var(--line); border-bottom:1px solid var(--line); font:400 clamp(2rem,3vw,3.2rem)/1 var(--serif); }
.dm-cta svg { width:28px; height:28px; transition:transform .35s; }
.dm-cta:hover svg { transform:translateX(8px); }
.contact-note { margin:18px 0 36px; color:var(--muted); font-size:.83rem; }
.contact-links { display:grid; }
.contact-link { display:grid; grid-template-columns:24px 1fr auto; gap:16px; align-items:center; padding:14px 0; border-bottom:1px solid var(--line); }
.contact-link svg { height:17px; width:17px; }
.contact-link span { font-size:.57rem; color:var(--muted); letter-spacing:.09em; text-transform:uppercase; }
.contact-link strong { font-size:.73rem; font-weight:500; }
.contact-link:hover strong { text-decoration:underline; text-underline-offset:5px; }
