/* Page-specific layout; shared typography, controls and colours remain in main.css. */
@media (prefers-reduced-motion: no-preference) {
    html:has(.contact-page) {
        scroll-behavior: smooth;
    }
}

.contact-page .contact-page__hero {
    min-height: 0;
    padding-top: clamp(120px, 12vw, 160px);
    padding-bottom: 48px;
}

.contact-page__intro {
    font-size: clamp(18px, 1.6vw, 22px);
    margin-top: 18px;
}

.contact-page .actions {
    margin-top: 24px;
}

.contact-page__contact {
    padding-top: 24px;
    padding-bottom: clamp(56px, 7vw, 96px);
}

.contact-page .contact-sales {
    padding: 0;
    opacity: 1;
    transform: none;
}

.contact-page #contact-form {
    scroll-margin-top: 96px;
}

.contact-page #contact-form:focus-visible,
.contact-page a:focus-visible {
    outline: 2px solid var(--accent-glow);
    outline-offset: 6px;
}

.contact-page__methods {
    max-width: 640px;
    margin-inline: auto;
    text-align: center;
}

.contact-page__methods .kicker {
    margin-bottom: 16px;
}

.contact-page__methods .body-lg {
    margin-block: 8px;
}

.contact-page .contact-sales #contactsales-subscribe-form .label-default,
.contact-page .contact-sales .sales-grid .lede .meta-row {
    color: var(--text-dim);
}

.contact-page__methods a {
    color: var(--accent-glow);
    border-bottom: 1px solid currentColor;
    overflow-wrap: anywhere;
}

@media (max-width: 880px) {
    .contact-page .sales-grid {
        gap: 24px;
    }

    .contact-page__hero .h-hero {
        overflow-wrap: break-word;
    }
}
