/* Contact page in the shared club palette; all styles are scoped to this page. */
.contact-page { color:#182840; }
.contact-page h1,.contact-page h2,.contact-page h3,.contact-page p { margin:0; }
.contact-page a:focus-visible { outline:3px solid #1671cf; outline-offset:5px; }
.contact-page h1,.contact-page h2 { font-family:'Days One',sans-serif; font-weight:400; color:#123a66; }
.contact-page h1 { font-size:38px; line-height:48px; }
.contact-page h2 { font-size:26px; line-height:36px; }
.contact-page h3 { color:#234869; font-size:19px; line-height:28px; font-weight:600; }
.contact-page p { color:#5b6c80; font-size:15px; line-height:25px; }
.contact-page .button { min-height:46px; font-size:13px; padding:12px 22px; }
.contact-breadcrumb { display:inline-block; color:#34516f; font-size:13px; line-height:20px; margin-bottom:26px; }
.contact-hero { padding-top:8px; }
.contact-hero__intro { margin-top:12px!important; }
.contact-label { display:block; color:#65758a; font-size:12px; line-height:20px; margin-bottom:10px; }
.contact-summary { display:grid; grid-template-columns:1.4fr 1.1fr .85fr; gap:30px; margin-top:30px; padding:30px; background:#fff; border:1px solid #dce3eb; border-radius:12px; }
.contact-summary > div { min-width:0; }
.contact-summary > div + div { padding-left:28px; border-left:1px solid #e3e9f1; }
.contact-summary__address > p { color:#123a66; font-size:20px; line-height:31px; font-weight:600; text-wrap:balance; }
.contact-text-link { display:inline-flex; gap:8px; color:#234d78; font-size:14px; line-height:23px; text-decoration:underline; text-underline-offset:4px; }
.contact-summary__address .contact-text-link { margin-top:16px; }
.contact-summary__phone { display:block; color:#123a66; font-size:23px; line-height:34px; font-weight:600; white-space:nowrap; }
.contact-summary__call .button { margin-top:16px; }
.contact-summary__hours strong { display:block; color:#123a66; font-size:24px; line-height:34px; font-weight:600; white-space:nowrap; }
.contact-summary__hours p { margin-top:6px; font-size:14px; }
.contact-section { margin-top:44px; }
.contact-stop { display:flex; justify-content:space-between; align-items:center; gap:30px; background:#eaf0f7; border-radius:10px; padding:22px 26px; margin-top:24px; }
.contact-stop .contact-label { margin-bottom:4px; }
.contact-stop h3 { font-size:22px; line-height:30px; }
.contact-stop__walk { display:flex; flex-direction:column; gap:4px; padding-left:26px; border-left:1px solid #cfdae7; }
.contact-stop__walk strong { color:#234869; font-size:22px; line-height:30px; }
.contact-stop__walk span { color:#65758a; font-size:13px; line-height:21px; }
.contact-transit-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:20px; }
.contact-transit-grid--single { grid-template-columns:1fr; }
.contact-secondary-stop { margin-top:28px; }
.contact-transit-card { background:#fff; border:1px solid #dce3eb; border-radius:10px; padding:24px; }
.contact-transit-card ul { display:flex; flex-wrap:wrap; gap:10px; padding:0; margin:18px 0 0; list-style:none; }
.contact-transit-card li { background:#edf3fa; border-radius:6px; color:#234869; padding:9px 12px; font-size:21px; line-height:28px; font-weight:600; font-variant-numeric:tabular-nums; }
.contact-route-prefix { font-size:13px; font-weight:400; color:#65758a; }
.contact-page .contact-section__note { margin-top:18px; font-size:13px; line-height:22px; }
.contact-car-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:24px; }
.contact-parking,.contact-taxi { min-width:0; background:#fff; border:1px solid #dce3eb; border-radius:10px; padding:26px; }
.contact-parking { display:flex; align-items:center; gap:28px; }
.contact-parking__number { display:flex; flex-direction:column; align-items:center; padding-right:26px; border-right:1px solid #e3e9f1; flex-shrink:0; }
.contact-parking__number strong { font-family:'Days One',sans-serif; font-size:43px; line-height:53px; font-weight:400; color:#4478aa; }
.contact-parking__number span { color:#65758a; font-size:13px; line-height:20px; }
.contact-car-grid p { margin-top:9px; font-size:14px; line-height:24px; }
.contact-route { display:flex; justify-content:space-between; align-items:center; gap:32px; padding:30px; background:#e9f0f7; border-radius:12px; }
.contact-route h2 { font-size:23px; line-height:33px; }
.contact-route p { margin-top:10px; font-size:14px; line-height:24px; max-width:560px; }
.contact-route .button { flex-shrink:0; }
@media(max-width:1180px) {
 .contact-summary { grid-template-columns:1.2fr 1.1fr; gap:24px; }
 .contact-summary__hours { grid-column:1 / -1; border-top:1px solid #e3e9f1; padding:20px 0 0!important; border-left:0!important; display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
 .contact-summary__hours .contact-label,.contact-summary__hours p { margin:0; }
 .contact-summary__hours strong { font-size:22px; }
 .contact-transit-card { padding:20px; }
 .contact-parking { gap:20px; }
 .contact-parking__number { padding-right:20px; }
}
@media(max-width:780px) {
 .contact-page h1 { font-size:32px; line-height:42px; }
 .contact-page h2 { font-size:23px; line-height:33px; }
 .contact-summary { grid-template-columns:1fr; padding:24px; }
 .contact-summary > div + div { border-left:0; border-top:1px solid #e3e9f1; padding:20px 0 0; }
 .contact-summary__phone { font-size:25px; }
 .contact-summary__hours { grid-column:auto; }
 .contact-section { margin-top:36px; }
 .contact-stop { flex-direction:column; align-items:flex-start; gap:18px; padding:22px; }
 .contact-stop__walk { padding:0; border:0; }
 .contact-transit-grid,.contact-car-grid { grid-template-columns:1fr; gap:16px; }
 .contact-route { flex-direction:column; align-items:flex-start; gap:24px; padding:24px; }
}
@media(max-width:480px) {
 .contact-breadcrumb { margin-bottom:22px; }
 .contact-summary { padding:20px; margin-top:24px; }
 .contact-summary__address > p { font-size:18px; line-height:29px; }
 .contact-summary__phone { font-size:22px; }
 .contact-summary__hours { display:flex; flex-direction:column; align-items:flex-start; gap:5px; }
 .contact-summary__hours strong { font-size:23px; }
 .contact-transit-card h3 { font-size:18px; line-height:27px; }
 .contact-parking,.contact-taxi { padding:20px; }
 .contact-parking { gap:18px; }
 .contact-parking__number { padding-right:16px; }
 .contact-parking__number strong { font-size:35px; line-height:45px; }
 .contact-page .contact-route .button { width:100%; font-size:12px; padding:12px 15px; }
}
