@charset "utf-8";

.location-page,.route-page { margin:0;background:#e7e7e7;color:#1f2937;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; }
.location-main,.route-main { box-sizing:border-box;width:min(1080px,100%);margin:0 auto;padding:38px 32px 42px;background:#fff;box-shadow:0 8px 22px rgba(0,0,0,.18); }
.location-main *,.route-main * { box-sizing:border-box; }
.location-eyebrow,.location-section-heading>p { margin:0 0 7px;color:#0756c9;font-size:12px;font-weight:850;letter-spacing:.09em; }
.location-intro,.route-intro { position:static!important;display:block!important;width:auto!important;height:auto!important;min-height:0!important;margin:0 auto 30px;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important;text-align:center; }
.location-intro { max-width:820px; }.route-intro { max-width:860px; }
.location-intro h1,.route-intro h1 { margin:0 0 12px;padding:0;color:#063d96;font-size:clamp(30px,4vw,43px);font-weight:780;letter-spacing:-.025em;line-height:1.08;text-align:center; }
.location-intro>p:last-of-type,.route-intro>p:last-of-type { max-width:750px;margin:0 auto;color:#667085;font-size:15px;line-height:1.58; }
.location-button { display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 19px;border:2px solid #0756c9;border-radius:8px;font-size:12px;font-weight:850;line-height:1.2;text-align:center;text-decoration:none; }
.location-button-primary { background:linear-gradient(#1474f0,#0756c9);box-shadow:0 4px 10px rgba(7,86,201,.2);color:#fff; }.location-button-primary:hover,.location-button-primary:focus { background:#063d96;color:#fff; }
.location-button-secondary { background:#fff;color:#0756c9; }.location-button-secondary:hover,.location-button-secondary:focus { background:#edf5ff;color:#063d96; }
.location-button-yellow { flex:0 0 auto;border-color:#ffe000;background:#ffe000;color:#063d96; }.location-button-yellow:hover,.location-button-yellow:focus { border-color:#fff08b;background:#fff08b;color:#063d96; }

.location-summary { display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;align-items:stretch;margin-bottom:28px; }
.location-address { padding:24px;border:1px solid #d6e0eb;border-radius:13px;background:linear-gradient(135deg,#f7faff,#eaf3ff);box-shadow:0 5px 16px rgba(28,55,90,.08); }.location-address h2 { margin:0 0 11px;padding:0;color:#063d96;font-size:22px;text-align:left; }.location-address address { margin:0;color:#344054;font-size:14px;font-style:normal;line-height:1.6; }.location-address strong { color:#0756c9; }.location-address .location-coordinates { margin:13px 0 0;padding-top:12px;border-top:1px solid #c7d8eb;color:#526174;font-size:12px; }
.location-summary-actions { display:flex;flex-direction:column;justify-content:center;gap:10px;padding:23px;border-radius:13px;background:linear-gradient(145deg,#075b91,#063d6e);box-shadow:0 6px 17px rgba(0,53,93,.2); }.location-summary-actions h2 { margin:0 0 3px;padding:0;color:#fff;font-size:19px;text-align:left; }.location-summary-actions p { margin:0 0 10px;color:#d9e9f5;font-size:12px;line-height:1.45; }.location-summary-actions .location-button-secondary { border-color:#fff;background:transparent;color:#fff; }.location-summary-actions .location-button-secondary:hover { background:rgba(255,255,255,.12); }

.location-section-heading { margin-bottom:18px;text-align:center; }.location-section-heading>p { margin-bottom:4px; }.location-section-heading h2 { margin:0;padding:0;color:#063d96;font-size:26px;font-weight:780;text-align:center; }
.location-routes { margin-top:30px; }.location-route-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px; }
.location-route-card { display:flex;flex-direction:column;min-width:0;border:1px solid #d6e0eb;border-radius:12px;background:#fff;box-shadow:0 5px 15px rgba(28,55,90,.08);overflow:hidden; }.location-route-card>img { display:block;width:100%;height:190px;object-fit:cover; }.location-route-card-body { display:flex;flex:1;flex-direction:column;padding:17px; }.location-route-card-body>span { color:#0756c9;font-size:10px;font-weight:850;letter-spacing:.08em; }.location-route-card h3 { margin:5px 0 8px;color:#063d96;font-size:19px; }.location-route-card p { margin:0 0 15px;color:#526174;font-size:12.5px;line-height:1.5; }.location-route-links { display:flex;flex-wrap:wrap;gap:7px;margin-top:auto; }.location-route-links a { display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:7px 11px;border:1px solid #0756c9;border-radius:6px;color:#0756c9;font-size:10px;font-weight:850;text-decoration:none; }.location-route-links a:first-child { background:#0756c9;color:#fff; }.location-route-links a:hover,.location-route-links a:focus { background:#063d96;color:#fff; }
.location-map-section { display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);gap:20px;margin-top:30px; }.location-map { min-height:430px;border:1px solid #d6e0eb;border-radius:12px;overflow:hidden;box-shadow:0 5px 15px rgba(28,55,90,.08); }.location-map iframe { display:block;width:100%;height:100%;min-height:430px;border:0; }.location-landmarks { padding:23px;border-radius:12px;background:#f4f8fd; }.location-landmarks h2 { margin:0 0 14px;padding:0;color:#063d96;font-size:20px;text-align:left; }.location-landmarks ul { display:grid;gap:11px;margin:0;padding:0;list-style:none; }.location-landmarks li { position:relative;padding:0 0 0 28px;color:#475467;font-size:13px;line-height:1.48; }.location-landmarks li::before { content:"✓";position:absolute;left:0;top:0;display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#ffe000;color:#063d96;font-size:12px;font-weight:900; }

.route-breadcrumb { display:flex;flex-wrap:wrap;gap:5px 9px;margin:0 0 22px;color:#667085;font-size:11px; }.route-breadcrumb a { color:#0756c9;font-weight:700;text-decoration:none; }.route-actions { display:flex;justify-content:center;gap:10px;margin-top:20px; }
.route-important { display:grid;grid-template-columns:130px 1fr;gap:15px;align-items:center;margin:0 0 30px;padding:16px 19px;border:1px solid #e2c700;border-radius:10px;background:#fff8bd; }.route-important strong { color:#063d96;font-size:14px; }.route-important span { color:#3f4c5d;font-size:12px;line-height:1.45; }
.route-guide { padding-top:3px; }.route-steps { position:relative;display:grid;gap:18px;margin:0;padding:0;list-style:none; }.route-steps::before { content:"";position:absolute;top:20px;bottom:20px;left:31px;width:3px;background:#c8dcf4; }
.route-steps>li { position:relative;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:0;margin-left:64px;border:1px solid #d6e0eb;border-radius:12px;background:#fff;box-shadow:0 5px 15px rgba(28,55,90,.08);overflow:hidden; }.route-steps>li::before { content:"";position:absolute;top:36px;left:-43px;width:16px;height:16px;border:4px solid #dcecff;border-radius:50%;background:#0756c9;box-shadow:0 2px 5px rgba(7,86,201,.2); }
.route-steps figure { min-width:0;margin:0;background:#e7edf4; }.route-steps img { display:block;width:100%;height:280px;object-fit:cover; }.route-step-copy { display:flex;flex-direction:column;justify-content:center;padding:24px; }.route-step-copy>span { color:#0756c9;font-size:10px;font-weight:900;letter-spacing:.09em; }.route-step-copy h3 { margin:6px 0 8px;color:#063d96;font-size:20px;font-weight:770;line-height:1.25; }.route-step-copy p { margin:0;color:#526174;font-size:13px;line-height:1.55; }
.route-arrival { display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:28px;padding:24px 27px;border-radius:12px;background:linear-gradient(135deg,#075b91,#063d6e);box-shadow:0 6px 17px rgba(0,53,93,.2);color:#fff; }.route-arrival .location-eyebrow { color:#ffe000; }.route-arrival h2 { margin:0 0 6px;padding:0;color:#fff;font-size:22px;text-align:left; }.route-arrival p:last-child { margin:0;color:#d9e9f5;font-size:13px;line-height:1.5; }.route-arrival p a { color:#fff;font-weight:800; }
.route-other-guides { display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;margin-top:22px;padding:14px;border:1px solid #d6e0eb;border-radius:9px;background:#f7faff;color:#475467;font-size:12px; }.route-other-guides a { color:#0756c9;font-weight:750;text-decoration:none; }

@media (max-width:760px) {
 .location-main,.route-main { padding:27px 10px 25px;box-shadow:none; }.location-intro,.route-intro { margin-bottom:23px;padding:0 7px!important; }.location-intro h1,.route-intro h1 { font-size:28px; }.location-intro>p:last-of-type,.route-intro>p:last-of-type { font-size:13.5px; }
 .location-summary { grid-template-columns:1fr;gap:13px; }.location-address,.location-summary-actions { padding:19px 16px; }.location-summary-actions .location-button { width:100%; }.location-section-heading h2 { font-size:22px; }
 .location-route-grid { grid-template-columns:1fr;gap:13px; }.location-route-card { display:grid;grid-template-columns:112px 1fr; }.location-route-card>img { width:112px;height:100%;min-height:180px; }.location-route-card-body { padding:14px; }.location-route-card h3 { font-size:17px; }.location-route-links { display:grid;grid-template-columns:1fr; }.location-route-links a { width:100%; }
 .location-map-section { grid-template-columns:1fr;gap:14px; }.location-map,.location-map iframe { min-height:360px; }.location-landmarks { padding:19px 16px; }
 .route-breadcrumb { margin-bottom:17px;padding:0 5px; }.route-actions { display:grid;grid-template-columns:1fr;gap:8px; }.route-actions .location-button { width:100%; }.route-important { grid-template-columns:1fr;gap:4px;margin-bottom:24px;padding:14px; }
 .route-steps { gap:14px; }.route-steps::before { left:19px; }.route-steps>li { grid-template-columns:1fr;margin-left:39px;overflow:visible; }.route-steps>li::before { top:23px;left:-30px;width:14px;height:14px;border-width:3px; }.route-steps figure { border-radius:11px 11px 0 0;overflow:hidden; }.route-steps img { height:auto;max-height:300px;object-fit:cover; }.route-step-copy { padding:16px; }.route-step-copy h3 { font-size:17px; }.route-step-copy p { font-size:12.5px; }
 .route-arrival { display:block;padding:21px 17px;text-align:center; }.route-arrival h2 { font-size:19px;text-align:center; }.route-arrival .location-button { width:100%;margin-top:16px; }.route-other-guides { justify-content:flex-start; }
}

@media (max-width:390px) { .location-route-card { grid-template-columns:96px 1fr; }.location-route-card>img { width:96px; }.location-route-card-body { padding:12px; }.location-route-card p { font-size:11.5px; } }
