.page-header { position: relative; }
.contact-main { background: var(--cream); }
.contact-hero { max-width: 960px; padding: 110px 10vw 92px; }
.contact-hero h1 { font: 400 clamp(54px, 7.5vw, 110px)/.93 var(--serif); letter-spacing: -.055em; margin: 20px 0 28px; }
.contact-hero p:not(.eyebrow) { font-size: 20px; max-width: 480px; }
.contact-layout { border-top: 1px solid var(--line); display: grid; grid-template-columns: .77fr 1.23fr; gap: 12vw; padding: 62px 10vw 130px; }
.contact-card { display: flex; flex-direction: column; align-items: flex-start; }
.contact-card > a { color: var(--ink); font-size: clamp(24px, 2.7vw, 38px); line-height: 1.2; margin: 7px 0; text-decoration: none; }
.contact-location { font-size: 12px; letter-spacing: .08em; line-height: 1.7; margin: 55px 0 12px; }
.contact-small { font-size: 15px; margin: 0; }
.contact-form { max-width: 640px; }
@media(max-width:720px) { .page-header { position: absolute; } .contact-hero { padding: 145px 8vw 75px; } .contact-layout { gap: 55px; grid-template-columns: 1fr; padding: 55px 8vw 82px; } }
