/* Royal Dream location-detail additions. All base typography, hero animation, spacing,
   navigation, footer, and form styling are inherited directly from app.css and service-detail.css. */
.location-detail-page .sd-hero__word {font-size:clamp(110px,14vw,260px)}
.location-detail-page .sd-section--dark .sd-section__head h2 {color:#fff}
.location-detail-page .sd-section--dark .sd-section__head p {color:rgba(255,255,255,.73)}
.location-detail-page .sd-section--dark .sd-section__index {color:var(--rd-accent)}
.ld-price-table {min-width:950px}
.ld-price-table th:first-child {min-width:245px}
.ld-price-table td {min-width:135px}
.ld-price-explain {margin:20px 0 22px;padding:20px 24px;border-left:4px solid var(--rd-dark);border-radius:12px;background:var(--rd-secondary-bg)}
.ld-price-explain p {margin:0;font-size:13px;line-height:1.8;color:var(--rd-text)}
.ld-info-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
.ld-info-grid--four {grid-template-columns:repeat(4,minmax(0,1fr))}
.ld-info-grid article {padding:29px;border:1px solid var(--rd-border);background:#fff;border-radius:24px}
.ld-info-grid h3 {font-size:clamp(20px,2vw,25px);letter-spacing:-.04em;line-height:1.18;margin:0 0 12px}
.ld-info-grid p {margin:0;color:var(--rd-muted);font-size:13px;line-height:1.8}
.ld-info-grid--dark article {background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.15)}
.ld-info-grid--dark h3 {color:#fff}
.ld-info-grid--dark p {color:rgba(255,255,255,.72)}
.ld-small-note {color:var(--rd-muted);font-size:12px;line-height:1.8;margin:24px 0 0}
.ld-vehicle-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}
.ld-vehicle {overflow:hidden;background:#fff;border:1px solid var(--rd-border);border-radius:27px;transition:transform .35s ease,box-shadow .35s ease}
.ld-vehicle:hover {transform:translateY(-5px);box-shadow:0 22px 50px rgba(24,33,35,.1)}
.ld-vehicle__photo {display:block;overflow:hidden;height:220px;background:var(--rd-secondary-bg)}
.ld-vehicle__photo img {width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.ld-vehicle:hover .ld-vehicle__photo img {transform:scale(1.035)}
.ld-vehicle__text {padding:26px}
.ld-eyebrow {color:var(--rd-olive);font-size:10px;font-weight:800;letter-spacing:.13em}
.ld-vehicle h3 {font-size:25px;letter-spacing:-.045em;margin:12px 0 10px;line-height:1.18}
.ld-vehicle h3 a {color:var(--rd-text);text-decoration:none}
.ld-vehicle h3 a:hover,.ld-vehicle h3 a:focus-visible {color:var(--rd-dark);text-decoration:underline;text-underline-offset:4px}
.ld-vehicle p {margin:0 0 10px;color:var(--rd-muted);font-size:13px;line-height:1.72}
.ld-vehicle small {display:block;color:var(--rd-olive);font-size:11px;line-height:1.6}
.ld-text-link {display:inline-flex;margin-top:19px;color:var(--rd-dark);font-size:11px;font-weight:800;text-decoration:underline;text-underline-offset:4px}
.ld-split {display:grid;grid-template-columns:1fr 1fr;gap:27px;align-items:stretch}
.ld-split figure {padding:0;margin:0;overflow:hidden;border-radius:25px;min-height:500px}
.ld-split figure img {height:100%;width:100%;object-fit:cover}
.ld-info-grid--one {grid-template-columns:1fr;gap:12px}
.ld-info-grid--one article {padding:22px}
.ld-info-grid--one h3 {font-size:19px;margin-bottom:9px}
.ld-info-grid--one .sd-btn {justify-content:center;align-items:center;display:inline-flex;color:var(--rd-text);text-align:center;text-decoration:none}
.ld-area-names {display:block;margin:4px 0 11px;font-size:12px;line-height:1.6;color:var(--rd-olive)}
.ld-authority {margin-top:27px}.ld-authority a {font-size:13px;font-weight:800;color:var(--rd-dark);text-decoration:underline;text-underline-offset:3px}
.ld-related-grid .sd-related-card h3 {font-size:23px}
.ld-related-grid .sd-related-card b {color:var(--rd-dark);line-height:1.4}
.location-detail-page .sd-related-card:focus-visible,.location-detail-page .ld-vehicle a:focus-visible {outline:3px solid var(--rd-dark);outline-offset:3px}
@media(max-width:1150px){.ld-info-grid--four{grid-template-columns:repeat(2,minmax(0,1fr))}.ld-vehicle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.ld-split{grid-template-columns:1fr}.ld-split figure{min-height:370px}}
@media(max-width:680px){.ld-info-grid,.ld-info-grid--four,.ld-vehicle-grid{grid-template-columns:1fr}.ld-split figure{min-height:260px}.ld-vehicle__photo{height:235px}.ld-info-grid article,.ld-vehicle__text{padding:22px}}
@media(prefers-reduced-motion:reduce){.ld-vehicle,.ld-vehicle__photo img{transition:none!important}}
