/* Contact page only. Reuses the shared logo, typography, icons and enquiry flow. */
.contact-workspace { padding-block: 28px 72px; }
.contact-workspace > .breadcrumbs { margin-bottom: 28px; }
.contact-workspace .rx-icon { width: 24px; height: 24px; flex: 0 0 24px; }
.contact-opening { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(32px, 5vw, 80px); align-items: center; }
.contact-opening > *, .contact-help-grid > *, .contact-bottom > * { min-width: 0; }
.contact-opening-copy { padding-block: 12px; }
.contact-workspace .eyebrow { color: #655042; margin-bottom: 12px; }
.public-website .contact-workspace h1 { max-width: 650px; font-size: clamp(2.5rem, 4.8vw, 4.25rem); line-height: 1.08; }
.contact-lead { max-width: 510px; margin-top: 24px; font-size: 1.125rem; line-height: 1.7; }
.contact-quote { margin-top: 28px; border-radius: 10px; gap: 32px; }
.contact-action-note { margin-top: 12px; max-width: 390px; font-size: .875rem; }
.contact-inline-link { display: inline-flex; align-items: center; gap: 12px; min-height: 48px; padding-block: 10px; color: #163e72; text-decoration: underline; text-underline-offset: 5px; font-weight: 600; }
.contact-inline-link:hover { color: #a73a0b; }
.contact-opening-copy > .contact-inline-link { margin-top: 16px; }
.contact-team { background: #112451; color: #fff; border-radius: 22px; padding: 32px; }
.contact-team p { color: #e0e8f5; }
.contact-team .contact-hours { display: inline-flex; gap: 8px; align-items: center; padding: 7px 12px; border: 1px solid #697ca4; border-radius: 999px; font-size: .8125rem; }
.contact-team .contact-hours .rx-icon { width: 16px; height: 16px; flex-basis: 16px; }
.public-website .contact-team h2 { font-size: 1.25rem; margin-top: 24px; font-weight: 500; letter-spacing: 0; }
.contact-team .contact-number { color: #fff; font-family: var(--rx-font-heading); font-size: clamp(1.6rem, 2.8vw, 2.2rem); font-weight: 700; margin-top: 8px; line-height: 1.3; }
.contact-team-actions { display: grid; gap: 12px; margin-top: 24px; }
.contact-channel { display: flex; align-items: center; gap: 12px; min-height: 54px; border: 1px solid #a5b5d6; border-radius: 10px; padding: 13px 16px; font-weight: 600; }
.contact-channel > :last-child { margin-left: auto; }
.contact-channel-call { background: #fff; color: #112451; border-color: #fff; }
.contact-channel-call:hover { background: #e9f0fb; }
.contact-channel-chat:hover { background: #243c69; }
.contact-team :focus-visible { outline-color: #ffb181; }
.contact-team .contact-team-small { font-size: .8125rem; margin-top: 14px; line-height: 1.7; }
.contact-today { border-top: 1px solid #526689; padding-top: 18px; margin-top: 20px; font-size: .875rem; }
.contact-today strong { color: #fff; }
.contact-help { margin-top: 64px; }
.contact-section-heading { max-width: 720px; margin-bottom: 28px; }
.public-website .contact-workspace h2 { font-size: clamp(1.65rem, 2.5vw, 2.15rem); line-height: 1.2; }
.public-website .contact-workspace .contact-team h2 { font-size: 1.25rem; }
.contact-help-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.contact-help-card { background: #fff; border: 1px solid #d5ddea; border-radius: 18px; padding: 30px; }
.contact-card-icon { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 14px; color: #a73a0b; background: #fff0e7; margin-bottom: 20px; }
.public-website .contact-workspace h3 { font-size: 1.25rem; line-height: 1.4; }
.contact-help-card > p { margin-top: 12px; }
.contact-checklist { list-style: none; padding: 0; margin: 24px 0 14px; display: grid; gap: 20px; }
.contact-checklist li { display: flex; gap: 14px; align-items: start; color: #535e70; }
.contact-checklist .rx-icon { color: #173e72; margin-top: 3px; width: 20px; height: 20px; flex-basis: 20px; }
.contact-checklist strong { display: block; color: #13234a; margin-bottom: 3px; font-weight: 600; }
.public-website #main .contact-existing h3 { scroll-margin-top: calc(var(--website-header-height, 100px) + 24px); }
.contact-existing h3:focus { outline: 3px solid #b84c21; outline-offset: 4px; }
.contact-existing-list { padding-left: 20px; margin: 24px 0 14px; color: #535e70; }
.contact-existing-list li + li { margin-top: 14px; }
.contact-help-card .contact-small-copy { font-size: .875rem; margin-top: 8px; }
.contact-expectations { margin-top: 40px; padding: 32px; background: #edf3fc; border-radius: 18px; }
.contact-expectations > div { max-width: 650px; }
.contact-steps { list-style: none; padding: 0; margin: 28px 0 8px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.contact-steps > li { display: flex; gap: 14px; align-items: start; }
.contact-steps > li > span { color: #355783; font-family: var(--rx-font-heading); font-size: 1rem; font-weight: 700; padding-top: 3px; }
.public-website .contact-steps h3 { font-size: 1.0625rem; }
.contact-steps p { margin-top: 8px; font-size: .9375rem; }
.contact-bottom { display: grid; grid-template-columns: .85fr 1.15fr; gap: 72px; margin-top: 64px; }
.contact-base > p:not(.eyebrow) { margin-top: 20px; max-width: 480px; }
.contact-base > .contact-inline-link { margin-top: 12px; }
.contact-follow { display: flex; flex-wrap: wrap; gap: 4px 20px; border-top: 1px solid #d5ddea; padding-top: 14px; margin-top: 24px; }
.contact-follow a { display: inline-flex; align-items: center; min-height: 48px; font-size: .875rem; color: #163e72; text-decoration: underline; text-underline-offset: 4px; }
.contact-answers h2 { margin-bottom: 24px; }
.contact-answers details { border-bottom: 1px solid #d5ddea; }
.contact-answers summary { padding: 20px 4px; font-weight: 600; min-height: 56px; }
.contact-answers summary::marker { color: #a73a0b; }
.contact-answers details p { padding: 0 4px 22px; }
.contact-answers details p a { color: #163e72; text-decoration: underline; text-underline-offset: 4px; }
.contact-answers > .contact-inline-link { margin-top: 18px; }
@media (max-width: 950px) {
    .contact-opening { gap: 28px; grid-template-columns: 1fr 1fr; }
    .contact-team { padding: 24px; }
    .contact-help-card { padding: 24px; }
    .contact-steps { grid-template-columns: 1fr; gap: 24px; }
    .contact-bottom { gap: 32px; }
}
@media (max-width: 700px) {
    .contact-workspace { padding-block: 20px 48px; }
    .contact-workspace > .breadcrumbs { margin-bottom: 24px; }
    .contact-opening, .contact-help-grid, .contact-bottom { grid-template-columns: 1fr; }
    .contact-opening { gap: 28px; }
    .contact-opening-copy { padding: 0; }
    .public-website .contact-workspace h1 { font-size: clamp(2rem, 8.5vw, 2.75rem); }
    .contact-lead { font-size: 1rem; margin-top: 16px; }
    .contact-quote { display: flex; margin-top: 22px; }
    .contact-opening-copy > .contact-inline-link { margin-top: 6px; }
    .contact-team { border-radius: 16px; padding: 24px; }
    .contact-team .contact-number { font-size: 1.8rem; }
    .contact-help, .contact-bottom { margin-top: 44px; }
    .contact-section-heading { margin-bottom: 22px; }
    .contact-help-grid { gap: 20px; }
    .contact-expectations { padding: 24px; margin-top: 24px; }
    .contact-bottom { gap: 40px; }
}
@media (max-width: 360px) {
    .contact-team, .contact-help-card, .contact-expectations { padding: 20px; }
    .contact-channel { padding-inline: 12px; gap: 10px; }
    .contact-team .contact-number { font-size: 1.6rem; }
}
