/* Match the medical-page FAQ, scoped to the directions page only. */
.directions-page .visit-section-nav { grid-template-columns:repeat(4,minmax(0,1fr)); }
.directions-bus-stops { margin-top:40px; scroll-margin-top:130px; }
.directions-bus-stops > h3 { margin:0; color:var(--visit-navy); font-size:24px; font-weight:700; }
.directions-bus-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin:22px 0; }
.directions-bus-grid .visit-info-card { padding:28px; }
.directions-bus-grid .directions-stop-id { margin:0 0 10px; color:var(--visit-muted); font-size:12px; }
.directions-bus-grid h4 { margin:0 0 22px; color:var(--visit-navy); font-size:20px; font-weight:700; word-break:keep-all; }
.directions-bus-grid .bus-routes { gap:8px; }
.directions-bus-grid .bus-routes li { min-width:48px; padding:8px 10px; }
.directions-faq-intro { margin:16px 0 0; color:var(--visit-muted); font-size:16px; line-height:1.8; word-break:keep-all; }
.directions-faq-list { border-top:1px solid var(--visit-navy); }
.directions-faq-list details { border-bottom:1px solid #d5dfe5; }
.directions-faq-list summary { min-height:96px; padding:18px 8px; display:grid; grid-template-columns:70px minmax(0,1fr) 28px; align-items:center; gap:20px; cursor:pointer; list-style:none; }
.directions-faq-list summary::-webkit-details-marker { display:none; }
.directions-faq-list summary > span { color:var(--visit-accent); font-size:11px; font-weight:800; letter-spacing:.08em; }
.directions-faq-list summary strong { color:var(--visit-navy); font-size:18px; font-weight:650; line-height:1.6; letter-spacing:-.025em; word-break:keep-all; overflow-wrap:anywhere; }
.directions-faq-list summary b { color:var(--visit-navy); font-size:23px; font-weight:300; text-align:center; transition:transform .2s ease; }
.directions-faq-list details[open] summary b { transform:rotate(45deg); }
.directions-faq-list summary:focus-visible { outline:2px solid #168d8c; outline-offset:-2px; }
.directions-faq-list .directions-faq-answer { margin:0 0 30px 70px; padding:28px 36px 28px 28px; display:grid; grid-template-columns:32px minmax(0,1fr); gap:20px; background:#f2efe8; }
.directions-faq-answer > span { color:var(--visit-accent); font-size:12px; font-weight:800; line-height:1.85; }
.directions-faq-answer p { margin:0; max-width:880px; color:var(--visit-muted); font-size:15px; line-height:1.85; word-break:keep-all; overflow-wrap:anywhere; }
.directions-faq .visit-note a { color:var(--visit-navy); font-weight:650; text-decoration:underline; text-underline-offset:4px; }
@media(max-width:1000px) {
 .directions-page .visit-section-nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .directions-bus-grid { grid-template-columns:1fr; }
}
@media(max-width:700px) {
 .directions-page .visit-section-nav { grid-template-columns:1fr; }
 .directions-bus-stops { scroll-margin-top:100px; }
 .directions-bus-grid .visit-info-card { padding:24px; }
 .directions-faq-intro { font-size:15px; }
 .directions-faq-list summary { min-height:88px; padding:18px 0; grid-template-columns:32px minmax(0,1fr) 20px; gap:10px; }
 .directions-faq-list summary strong { font-size:16px; }
 .directions-faq-list .directions-faq-answer { margin:0 0 24px; padding:22px 18px; grid-template-columns:20px minmax(0,1fr); gap:10px; }
}
@media(prefers-reduced-motion:reduce) {
 .directions-faq-list summary b { transition:none; }
}
