.contact-page { min-height: calc(100vh - 108px); background: var(--paper); }
.contact-hero { width: min(100%, var(--content-max)); min-height: calc(100vh - 108px); margin: 0 auto; padding: clamp(72px, 10vw, 150px) var(--page-gutter); display: flex; flex-direction: column; justify-content: center; }
.contact-hero__grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(300px, .55fr); gap: clamp(60px, 9vw, 150px); align-items: end; margin-top: clamp(42px, 8vw, 110px); }
.contact-hero h1 { max-width: 920px; margin: 0; font-size: clamp(84px, 10vw, 168px); font-weight: 400; letter-spacing: -.06em; line-height: .84; }
.contact-hero__copy { padding-bottom: 10px; }
.contact-hero__copy p { margin: 0 0 34px; color: #54534f; font-size: clamp(20px, 1.6vw, 27px); line-height: 1.42; }
.contact-hero__copy .primary-nav__cta { display: inline-flex; gap: 36px; align-items: center; min-height: 54px; cursor: pointer; }
.language-switcher button { border: 0; padding: 4px; color: inherit; background: transparent; font: inherit; cursor: pointer; opacity: .45; }
.language-switcher button.is-active { opacity: 1; text-decoration: underline; text-underline-offset: 5px; }
@media (max-width: 780px) { .contact-hero__grid { grid-template-columns: 1fr; } .contact-hero h1 { font-size: clamp(70px, 20vw, 110px); } }
