.location-page { color: var(--text-dark, #23404a); }
.location-breadcrumb { padding-top: 1.25rem; }
.location-breadcrumb ol { display: flex; flex-wrap: wrap; gap: .55rem; list-style: none; padding: 0; margin: 0; color: #637078; font-size: .92rem; }
.location-breadcrumb a { color: inherit; }
.location-hero { padding: clamp(4rem, 9vw, 7rem) 0; background: linear-gradient(135deg, #f8f2ea, #eef7f7); }
.location-eyebrow { margin-bottom: .75rem; color: #2a7b85; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; font-size: .8rem; }
.location-hero h1, .location-section h2 { max-width: 820px; font-family: "Playfair Display", serif; color: #153f49; }
.location-hero h1 { font-size: clamp(2.6rem, 6vw, 5rem); line-height: 1.04; }
.location-hero .lead { max-width: 700px; margin: 1.5rem 0 2rem; color: #52646a; font-size: 1.15rem; line-height: 1.8; }
.location-hero-image { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 1.25rem; box-shadow: 0 1.5rem 3rem rgba(21, 63, 73, .18); }
.location-section { padding: clamp(4rem, 8vw, 7rem) 0; }
.location-section-alt { background: #fbf8f4; }
.location-card { padding: 2rem; border: 1px solid rgba(21, 63, 73, .12); border-radius: 1rem; background: #fff; box-shadow: 0 .75rem 2rem rgba(21, 63, 73, .06); }
.location-card h3 { color: #153f49; font-family: "Playfair Display", serif; }
.location-card p, .location-section p { color: #5d696e; line-height: 1.8; }
.location-card a, .location-map-link { color: #247985; font-weight: 700; text-decoration: none; }
.location-nap { padding: 1.75rem; border-left: 4px solid #2a7b85; background: #fff; color: #52646a; line-height: 1.9; box-shadow: 0 .75rem 2rem rgba(21, 63, 73, .06); }
.location-nap strong { color: #153f49; font-family: "Playfair Display", serif; font-size: 1.35rem; }
.location-nap a { color: inherit; }
.location-map-link { display: inline-block; margin-top: 1rem; }
