body {
  margin: 0;
  color: var(--ink);
  background:
    radial-gradient(circle at 12% 7%, rgba(103, 232, 249, .16), transparent 28rem),
    radial-gradient(circle at 88% 16%, rgba(255, 111, 189, .12), transparent 30rem),
    linear-gradient(135deg, #05070d, #0b1020 52%, #11131f);
  min-height: 100vh;
}

.local-hero { padding: 74px 0 58px; }
.local-hero-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 30px; align-items: center; }
.local-hero h1 { margin: 14px 0 18px; font-size: clamp(44px, 7vw, 78px); line-height: .98; }
.local-summary { padding: 28px; border: 1px solid rgba(255,255,255,.12); border-radius: 18px; background: rgba(255,255,255,.045); box-shadow: var(--shadow); }
.local-summary h2 { margin: 0 0 14px; font-size: 26px; }
.local-summary address { color: var(--muted); font-style: normal; line-height: 1.65; }
.local-summary .card-actions { margin-top: 22px; }
.local-services { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.local-services .card { min-height: 210px; }
.local-map-card { display: grid; grid-template-columns: 1.1fr .9fr; overflow: hidden; border: 1px solid rgba(255,255,255,.11); border-radius: 18px; background: var(--panel); }
.local-map-card iframe { width: 100%; min-height: 410px; border: 0; }
.local-map-copy { padding: 30px; align-self: center; }
.local-map-copy h2 { margin-top: 0; }
.location-links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.location-links a { color: var(--cyan); font-weight: 800; }
.local-cta { text-align: center; padding: 38px; border: 1px solid rgba(245,200,107,.28); border-radius: 18px; background: linear-gradient(135deg, rgba(245,200,107,.1), rgba(255,111,189,.07)); }
.local-cta h2 { margin-top: 0; }
.local-cta p { max-width: 65ch; margin: 0 auto 22px; color: var(--muted); line-height: 1.6; }
.faq-list { display: grid; gap: 12px; max-width: 900px; }
.faq-list details { border: 1px solid rgba(255,255,255,.11); border-radius: 14px; background: rgba(255,255,255,.04); overflow: hidden; }
.faq-list summary { position: relative; padding: 19px 52px 19px 20px; color: var(--ink); font-weight: 850; cursor: pointer; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; position: absolute; right: 20px; top: 50%; translate: 0 -50%; color: var(--cyan); font-size: 24px; line-height: 1; }
.faq-list details[open] summary::after { content: "−"; }
.faq-list details p { margin: 0; padding: 0 20px 20px; color: var(--muted); line-height: 1.65; }
.faq-list summary:focus-visible { outline: 3px solid var(--cyan); outline-offset: -3px; }
.local-schedule .daily-slots { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 22px 0; }
.local-schedule .daily-slots a { padding: 13px 9px; border: 1px solid rgba(103,232,249,.28); border-radius: 999px; color: var(--ink); background: rgba(103,232,249,.07); font-weight: 800; text-align: center; transition: transform .18s ease, border-color .18s ease, background .18s ease; }
.local-schedule .daily-slots a:hover, .local-schedule .daily-slots a:focus-visible { transform: translateY(-2px); border-color: var(--cyan); background: rgba(103,232,249,.15); outline: none; }
.schedule-note { margin-top: 12px; padding: 17px 19px; border-left: 3px solid var(--gold); border-radius: 0 12px 12px 0; color: var(--muted); background: rgba(255,255,255,.04); line-height: 1.6; }
.schedule-note strong { color: var(--ink); }

@media (max-width: 900px) {
  .local-hero-grid, .local-map-card { grid-template-columns: 1fr; }
  .local-services { grid-template-columns: 1fr; }
  .local-schedule .daily-slots { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .local-hero { padding-top: 46px; }
  .local-hero h1 { font-size: clamp(40px, 13vw, 58px); }
  .local-summary, .local-map-copy, .local-cta { padding: 22px; }
  .local-map-card iframe { min-height: 310px; }
  .local-schedule .daily-slots { grid-template-columns: 1fr; }
}
