/* Contact: direct channels and concise guidance, using shared v2 components. */
.sr-contact-v2, .sr-contact-v2 + footer { margin-block-start: 0; }
.sr-contact-v2 .sr-section-inner { max-width: 1200px; }
.sr-contact-v2 .sr-section { padding-block: 56px; }
.ct-hero { display: grid; grid-template-columns: 1.35fr 1fr; align-items: start; gap: 64px; padding-block: 64px 56px; }
.ct-hero > *, .ct-split > *, .ct-channels > * { min-width: 0; }
.ct-hero h1 { margin: 0; font-size: clamp(38px, 4.2vw, 58px); font-weight: 800; line-height: 1.1; letter-spacing: -.05em; text-wrap: balance; }
.ct-hero h1 span { color: var(--sr-red-dark); }
.ct-lead { margin: 24px 0; color: var(--sr-muted); font-size: 17px; line-height: 1.8; }
.ct-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.ct-composition { padding: 28px 40px; background: linear-gradient(135deg, #F5F6F8 78%, #f9eded 78%); border-top: 2px solid var(--sr-red); }
.ct-flow { list-style: none; margin: 0; padding: 0; text-align: center; }
.ct-flow li { font-size: 12px; font-weight: 700; letter-spacing: 1.5px; padding: 10px; }
.ct-flow li span { display: block; margin-bottom: 12px; font-size: 22px; line-height: 1; font-weight: 400; color: var(--sr-red-dark); }
.ct-flow .ct-core { color: var(--sr-red-dark); font-size: 23px; font-weight: 800; }
.sr-contact-v2 h2 { font-size: clamp(28px, 2.7vw, 36px); }
.sr-contact-v2 .ct-direct { padding-top: 12px; }
.ct-channels { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 28px; }
.ct-channels article { padding: 26px 28px; border: 1px solid var(--sr-border); border-radius: 12px; }
.ct-channels h3 { margin: 0 0 12px; font-size: 22px; }
.ct-channels p, .ct-guide dd, .ct-areas p, .ct-trust p, .ct-final p { color: var(--sr-muted); font-size: 15px; line-height: 1.75; margin: 0; }
.ct-channels .ct-address { color: var(--sr-ink); font-size: clamp(20px, 2vw, 25px); font-weight: 600; margin-top: 20px; overflow-wrap: anywhere; }
.ct-link { display: inline-flex; align-items: center; gap: 16px; min-height: 44px; color: var(--sr-red-dark); font-size: 14px; font-weight: 700; }
.ct-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.ct-context, .ct-final { background: var(--sr-surface); }
.ct-split { display: grid; grid-template-columns: 1fr 1.1fr; gap: 64px; }
.ct-guide { margin: 0; }
.ct-guide > div { padding-block: 14px; border-bottom: 1px solid var(--sr-border); }
.ct-guide > div:first-child { padding-top: 0; }
.ct-guide > div:last-child { border-bottom: 0; padding-bottom: 0; }
.ct-guide dt { font-size: 16px; font-weight: 700; margin-bottom: 4px; }
.ct-areas { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); list-style: none; margin: 0; padding: 0; gap: 24px; }
.ct-areas li { border-top: 2px solid var(--sr-red); padding-top: 16px; }
.ct-areas h3 { font-size: 12px; letter-spacing: 1px; margin: 0 0 10px; }
.ct-trust { margin-top: 40px; padding-top: 32px; border-top: 1px solid var(--sr-border); max-width: 850px; }
.ct-trust h2 { font-size: 23px; line-height: 1.3; letter-spacing: -.025em; }
.ct-links { display: flex; flex-wrap: wrap; gap: 8px 28px; margin-top: 12px; }
.ct-final { border-top: 2px solid var(--sr-red); }
.ct-final .sr-section-inner { display: flex; justify-content: space-between; align-items: center; gap: 32px; }
.ct-final h2 { margin-bottom: 12px; }
.ct-final .ct-actions { flex-shrink: 0; }
/* Route-local target sizing for the existing shared navigation. */
body:has(.sr-contact-v2) :is(.sr-brand-name,.sr-footer-name,.sr-desktop-nav a,.sr-login,.sr-footer-nav a,.wp-block-site-logo a) { display: inline-flex; align-items: center; min-height: 44px; }
body:has(.sr-contact-v2) .sr-mobile-menu summary { min-height: 44px; }
@media (max-width: 1023px) {
.ct-hero, .ct-split { gap: 32px; }
.ct-composition { padding-inline: 24px; }
.ct-final .sr-section-inner { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 800px) {
.ct-hero, .ct-split { grid-template-columns: minmax(0, 1fr); }
.ct-composition { width: 100%; max-width: 480px; margin-inline: auto; }
.ct-areas { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 599px) {
.ct-hero { padding-block: 44px; }
.sr-contact-v2 .sr-section { padding-block: 40px; }
.sr-contact-v2 .ct-direct { padding-top: 0; }
.ct-actions { flex-direction: column; width: 100%; }
.ct-channels, .ct-areas { grid-template-columns: minmax(0, 1fr); }
.ct-channels article { padding: 22px; }
.ct-areas { gap: 20px; }
}
