
.contact-hero { background: var(--navy); color: #fff; padding-top: 64px; padding-bottom: 64px; }
.contact-hero .eyebrow { color: #bedfe8; }
.contact-hero h1 { font-size: clamp(2.5rem, 5vw, 5rem); line-height: 1.08; letter-spacing: -.045em; margin: 0 0 22px; }
.contact-hero h1 span { display: block; color: #ffcf57; }
.contact-hero > p:last-child { color: #e3edf4; font-size: 1.15rem; max-width: 65ch; margin: 0; }
.contact-options { padding-top: 48px; padding-bottom: 64px; }
.contact-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.contact-cards article { padding: 28px; border: 1px solid var(--line); border-top: 4px solid var(--blue); border-radius: 8px; background: #fff; min-width: 0; }
.contact-cards .eyebrow { font-size: .65rem; letter-spacing: .1em; }
.contact-cards h3 { font-size: 1.8rem; margin: 0 0 16px; color: var(--navy); }
.contact-cards a { display: inline-flex; align-items: center; min-height: 44px; color: var(--navy); font-size: 1.18rem; font-weight: 700; text-underline-offset: 5px; }
.contact-cards a.contact-email { font-size: 1rem; overflow-wrap: anywhere; }
.contact-cards article > p:last-child { color: #46545e; font-size: .95rem; margin-bottom: 0; }
.contact-checkup { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: 32px; margin-top: 32px; background: var(--sky); border-radius: 8px; }
.contact-checkup h2 { font-size: 1.6rem; color: var(--navy); margin: 0 0 12px; }
.contact-checkup p { max-width: 65ch; margin: 0; }
.contact-checkup .button { flex-shrink: 0; }
@media (max-width: 1050px) { .contact-cards { grid-template-columns: 1fr; } .contact-checkup { flex-direction: column; align-items: flex-start; } }
@media (max-width: 520px) { .contact-hero { padding-top: 44px; padding-bottom: 44px; } .contact-options { padding-top: 28px; padding-bottom: 40px; } .contact-cards article { padding: 24px; } .contact-checkup { padding: 24px; } .contact-checkup .button { width: 100%; font-size: .72rem; } }

/* Existing-customer support and local software advice have distinct contact routes. */
.customer-support { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(260px,1fr); gap: 32px; align-items: center; padding: 32px; border: 1px solid #c9d8e2; border-top: 5px solid #efbf3e; border-radius: 8px; background: #edf3f7; }
.customer-support .eyebrow { margin-bottom: 12px; }
.customer-support h2, .sales-contact-intro h2 { margin: 0 0 14px; font-size: clamp(1.5rem,2.2vw,2rem); line-height: 1.2; letter-spacing: -.025em; color: var(--navy); }
.customer-support p { color: #354955; margin: 0 0 16px; }
.customer-support ul { margin: 0; padding-left: 20px; color: #354955; }
.customer-support li { margin: 8px 0; }
.customer-support-call { min-width: 0; padding: 24px; background: #fff; border: 1px solid #cad9e1; border-radius: 8px; }
.customer-support-call > p:first-child { margin: 0; font-size: .82rem; font-weight: 700; }
.customer-support-call a { display: inline-flex; align-items: center; min-height: 48px; color: var(--navy); font-size: clamp(1.3rem,2.4vw,1.8rem); font-weight: 800; text-decoration-thickness: 2px; text-underline-offset: 5px; white-space: nowrap; }
.customer-support-call > p:last-child { margin: 12px 0 0; font-size: .88rem; line-height: 1.6; }
.sales-contact-intro { margin: 40px 0 22px; }
.sales-contact-intro p { margin: 0; color: #46545e; }
@media (max-width:900px) { .customer-support { grid-template-columns: minmax(0,1fr); gap: 22px; } }
@media (max-width:520px) { .customer-support { padding: 22px; } .customer-support-call { padding: 18px; } .sales-contact-intro { margin-top: 32px; } }
