.contact-hero{
  min-height:100svh; display:flex; align-items:center; background:var(--ivory);
  padding-top:var(--nav-h);
}
.contact-hero .wrap{
  display:grid; grid-template-columns:1.05fr .95fr; gap:5vw; align-items:center; width:100%;
}
.contact-copy .eyebrow{ margin-bottom:1.4rem; }
.contact-copy h1{ font-size:clamp(2.6rem,5.6vw,4.4rem); margin-bottom:1.6rem; }
.contact-copy p.lead{ font-size:1.1rem; max-width:26em; margin-bottom:2.2rem; }

.contact-email{
  display:inline-block; position:relative;
  font-family:var(--serif); font-size:clamp(1.5rem,3.4vw,2.4rem);
  color:var(--ink); letter-spacing:.01em; padding-bottom:.5rem;
}
.contact-email::after{
  content:''; position:absolute; left:0; bottom:0; height:1px; width:100%;
  background:var(--gold); transform:scaleX(.28); transform-origin:left; transition:transform .55s var(--ease-soft);
}
.contact-email:hover::after{ transform:scaleX(1); }

.contact-media{ position:relative; aspect-ratio:4/3.6; overflow:hidden; background:var(--charcoal); align-self:center; }
.contact-media img{ width:100%; height:100%; object-fit:cover; transform:scale(1.08); transition:transform 1.2s var(--ease); }
.contact-media.in img{ transform:scale(1); }
.contact-media::before{ content:''; position:absolute; inset:0; background:var(--champagne); z-index:1; transform-origin:top; transition:transform 1s var(--ease); }
.contact-media.in::before{ transform:scaleY(0); }

@media (max-width:900px){
  .contact-hero{ min-height:auto; padding:calc(var(--nav-h) + 3rem) 0 4rem; }
  .contact-hero .wrap{ grid-template-columns:1fr; gap:2.6rem; text-align:center; }
  .contact-copy p.lead{ margin-left:auto; margin-right:auto; }
  .contact-media{ order:-1; aspect-ratio:4/3; }
}
