/* Shared city-page design, using the site's existing Inter Tight font and palette. */
.city-page { font-size:16px;line-height:1.6;padding:16px 0 64px; }
.city-wrap { max-width:1200px; }
.city-breadcrumb { display:flex;align-items:center;gap:12px;font-size:14px;margin-bottom:24px;color:#4b5563; }
.city-hero { display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:48px;padding-bottom:40px;border-bottom:1px solid #d9dde1; }
.city-page h1 { font-size:36px;font-weight:500;line-height:1.16;margin:0 0 20px;max-width:20ch; }
.city-page h2 { font-size:26px;font-weight:500;line-height:1.3;margin:0 0 20px;text-transform:none; }
.city-page h3 { font-size:20px;font-weight:500;line-height:1.4;margin:24px 0 12px; }
.city-page p { margin:0 0 16px;max-width:75ch; }
.city-page figure { margin:0;min-width:0; }
.city-page img { width:100%;display:block;object-fit:contain;border-radius:16px; }
.city-hero img { aspect-ratio:1;object-fit:cover; }
.city-page figcaption { text-align:center;color:#4b5563;font-size:13px;line-height:1.5;margin:12px 0 0;padding:0 10px; }
.city-veteran { font-size:14px;font-weight:500; }.city-veteran span { color:#9c7c35; }
.city-actions { display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin:24px 0 0; }
.city-quote { font-size:16px;border-radius:12px;min-height:48px;height:auto;padding:10px 24px; }
.city-call { font-size:18px;font-weight:500;text-decoration:none;min-height:44px;display:flex;align-items:center; }
.city-section { padding:36px 0;border-bottom:1px solid #d9dde1;scroll-margin-top:140px; }
.city-trailers { display:grid;grid-template-columns:1fr 1fr;gap:28px;scroll-margin-top:150px; }
.city-trailer { border:1px solid #d9dde1;border-radius:20px;padding:24px; }
.city-trailer img { aspect-ratio:1.3; }
.city-trailer h3 { margin-top:24px; }
.city-text-link { display:inline-block;min-height:44px;font-weight:500; }
.city-service-grid { display:grid;grid-template-columns:1.25fr 1fr;gap:40px;align-items:start; }
.city-service-grid img { aspect-ratio:1.25;object-fit:cover; }
.city-local-source { font-size:14px;color:#4b5563; }
.city-faq details { border:1px solid #c5ccd3;border-radius:12px;margin:0 0 12px;max-width:900px;overflow:hidden; }
.city-faq summary { cursor:pointer;font-size:18px;font-weight:500;padding:18px 24px;line-height:1.4; }
.city-faq details>div { padding:0 24px 18px; }.city-faq details p:last-child { margin-bottom:0; }
.city-other { display:flex;align-items:center;flex-wrap:wrap;gap:20px;padding-top:28px; }.city-other span { color:#4b5563;font-size:14px; }
.city-page a:focus-visible,.city-page summary:focus-visible { outline:2px solid #0a20e9;outline-offset:4px; }
@media(max-width:1024px){.city-wrap{width:calc(100% - 40px)}.city-hero{gap:28px}.city-page h1{font-size:32px}.city-service-grid{gap:24px}}
@media(max-width:767px){.city-page{padding-top:8px;font-size:16px}.city-wrap{width:calc(100% - 40px)}.city-hero,.city-trailers,.city-service-grid{grid-template-columns:1fr}.city-hero{gap:28px;padding-bottom:28px}.city-hero img{aspect-ratio:1.3}.city-page h1{font-size:28px;max-width:none}.city-page h2{font-size:23px}.city-section{padding:28px 0}.city-trailer{padding:20px}.city-faq summary{font-size:17px;padding:16px}.city-faq details>div{padding:0 16px 16px}.city-actions{gap:12px}.city-quote{width:100%}.city-call{justify-content:center;width:100%}.city-breadcrumb{margin-bottom:20px}}

.city-addons{display:grid;grid-template-columns:1fr 1fr;gap:12px 32px}.city-addons h3{margin-top:12px}@media(max-width:767px){.city-addons{grid-template-columns:1fr}}

.city-reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:24px 0}.city-review{border:1px solid #d9dde1;border-radius:16px;padding:20px}.city-review h3{margin:0 0 12px}@media(max-width:767px){.city-reviews{grid-template-columns:1fr}}

/* Compact service descriptions with deliberate reading widths. */
.city-extras{padding:36px 32px}.city-extras h2{max-width:34ch}
.city-addons{gap:32px 64px;margin:28px 0}.city-addons article{min-width:0;padding-right:16px}.city-addons p{max-width:44ch;margin:0}.city-addons h3{margin:12px 0 10px}.city-service-icon{width:28px;height:28px;display:block;color:#9c7c35}.city-page .city-extras-note{max-width:none;width:100%;font-size:15px;line-height:1.6;margin:28px 0 0}.city-review-heading{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-bottom:12px}.city-review-heading h3{margin:0}.city-review-stars{color:#9c7c35;font-size:16px;letter-spacing:1px;white-space:nowrap}
@media(max-width:767px){.city-extras{padding:28px 12px}.city-addons{gap:28px;margin:24px 0}.city-addons article{padding-right:0}.city-page .city-extras-note{margin-top:24px}}

.city-interior-photo{max-width:520px;padding:24px 0}.city-interior-photo img{max-height:360px;object-fit:cover}

.city-photo-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.city-photo-gallery img{width:100%;height:auto;object-fit:initial;background:none;border-radius:16px}.city-photo-gallery figcaption{max-width:48ch;margin:12px auto 0}.city-trailer h3:first-child{margin-top:0}@media(max-width:767px){.city-photo-gallery{grid-template-columns:1fr;gap:24px}.city-photo-gallery img{width:100%;height:auto;object-fit:initial;background:none;border-radius:16px}}

.city-photo-gallery{align-items:start}.city-photo-gallery figure{background:none}

/* Equal image frames within each gallery row, without letterboxing. */
.city-photo-gallery img{width:100%;height:auto;aspect-ratio:4 / 3;object-fit:cover;object-position:center;border-radius:16px;background:none}
