/* Location pages share the current Davidson Digital Design visual system. */
:root{--loc-accent:#10c8ee;--loc-surface:#11131a;--loc-line:rgba(255,255,255,.14);--loc-muted:#9ca9be;--loc-ink:#071226}

/* Town and county detail pages */
body .hero{padding:clamp(56px,8vw,100px) 0 clamp(52px,7vw,84px);max-width:920px}
body h1{font-size:clamp(3rem,6.6vw,6rem);line-height:.98;letter-spacing:-.065em;margin:20px 0 22px}
body .section{padding:clamp(56px,8vw,94px) 0}
body .section h2{font-size:clamp(2.2rem,4.3vw,4.1rem);line-height:1;letter-spacing:-.06em;margin:16px 0}
body .copy p{font-size:.98rem;line-height:1.7}
body .local-card{background:var(--loc-surface);color:var(--white);border:1px solid var(--loc-line);border-top:2px solid var(--loc-accent);padding:28px}
body .local-card strong{font-size:clamp(2rem,3.4vw,3.2rem);line-height:1;letter-spacing:-.055em}
body .local-card span{color:var(--loc-accent)}
body .offer-grid{gap:12px}
body .offer,body .offer:nth-child(2){background:var(--loc-surface);border:1px solid var(--loc-line);border-top:2px solid var(--loc-accent);padding:24px}
body .offer span,body .offer:nth-child(2) span{color:var(--loc-accent)}
body .offer h3{font-size:1.3rem;line-height:1.12;letter-spacing:-.035em}
body .faq-wrap{gap:0;border-top:1px solid var(--loc-line)}
body .faq-item{background:transparent;border:0;border-bottom:1px solid var(--loc-line);padding:22px 4px}
body .faq-item h3{font-size:1.05rem;line-height:1.35}
body .faq-item p{font-size:.9rem;line-height:1.65}
body .cta{background:var(--loc-accent);color:var(--loc-ink);padding:clamp(50px,7vw,78px) 0}
body .cta h2{font-size:clamp(2.5rem,5vw,4.8rem);line-height:.96;letter-spacing:-.065em;margin:12px 0 22px}
body .cta .kicker{color:var(--loc-ink)}
body .cta .button{background:var(--loc-ink);color:var(--white)}
body .cta .button:hover{background:var(--white)!important;color:var(--loc-ink)!important}
body .site-footer{padding:24px 0;font:500 .7rem/1.6 'DM Mono',monospace}
body .footer-socials{display:flex;align-items:center;gap:8px}
body .footer-socials a{width:28px;height:28px;border:1px solid var(--loc-line);border-radius:50%;display:grid;place-items:center}
body .footer-socials svg{width:14px;height:14px;fill:currentColor}
body .footer-socials-label{display:none}

/* Astro emits each detail page's scoped CSS after linked stylesheets. */
body .hero{padding:clamp(56px,8vw,100px) 0 clamp(52px,7vw,84px)!important;max-width:920px!important}
body h1{font-size:clamp(3rem,6.6vw,6rem)!important;line-height:.98!important;letter-spacing:-.065em!important}
body .section{padding:clamp(56px,8vw,94px) 0!important}
body .section h2{font-size:clamp(2.2rem,4.3vw,4.1rem)!important;line-height:1!important;letter-spacing:-.06em!important}
body .section-grid{grid-template-columns:.8fr 1.2fr!important;gap:clamp(28px,4vw,48px)!important}
body .local-card{background:var(--loc-surface)!important;color:var(--white)!important;border:1px solid var(--loc-line)!important;border-top:2px solid var(--loc-accent)!important}
body .local-card strong{font-size:clamp(2rem,3.4vw,3.2rem)!important;line-height:1!important;letter-spacing:-.055em!important}
body .offer-grid{gap:12px!important}
body .offer,body .offer:nth-child(2){background:var(--loc-surface)!important;border:1px solid var(--loc-line)!important;border-top:2px solid var(--loc-accent)!important}
body .offer span,body .offer:nth-child(2) span{color:var(--loc-accent)!important}
body .offer:nth-child(2) p{color:#bdc7d8!important}
body .offer h3{font-size:1.3rem!important;line-height:1.12!important;letter-spacing:-.035em!important}
body .faq-wrap{gap:0!important;border-top:1px solid var(--loc-line)!important}
body .faq-item{background:transparent!important;border:0!important;border-bottom:1px solid var(--loc-line)!important;padding:22px 4px!important}
body .faq-item h3{font-size:1.05rem!important;line-height:1.35!important}
body .faq-item p{font-size:.9rem!important;line-height:1.65!important}
body .cta{background:transparent!important;padding:clamp(50px,7vw,78px) 0!important}
body .cta h2{font-size:clamp(2.5rem,5vw,4.8rem)!important;line-height:.96!important;letter-spacing:-.065em!important}
body .cta .kicker{color:var(--loc-accent)!important}
body .cta .button{background:var(--loc-accent)!important;color:var(--loc-ink)!important}
@media(max-width:850px){body .section-grid{grid-template-columns:1fr!important;gap:28px!important}}
@media(max-width:580px){body .hero{padding:54px 0 56px!important}body h1{font-size:clamp(2.8rem,13vw,4.5rem)!important}body .section{padding:48px 0!important}}

/* Locations directory */
.locations-hero{padding:clamp(64px,9vw,112px) 0 clamp(56px,8vw,94px);max-width:920px}
.locations-hero h1{font-size:clamp(3rem,6.6vw,6rem);line-height:.98;letter-spacing:-.065em}
.locations-section{padding:clamp(56px,8vw,94px) 0}
.locations-section-head h2,.locations-coverage h2,.locations-split h2{font-size:clamp(2.2rem,4.3vw,4.1rem);line-height:1;letter-spacing:-.06em;margin:16px 0}
.locations-section-head p,.locations-coverage-copy p,.locations-copy p{line-height:1.7}
.locations-base-grid{gap:12px}
.locations-base-card,.locations-base-card:nth-child(2){background:var(--loc-surface);border:1px solid var(--loc-line);border-top:2px solid var(--loc-accent);padding:26px}
.locations-base-card .card-label,.locations-base-card:nth-child(2) .card-label{color:var(--loc-accent)}
.locations-base-card h3{font-size:clamp(1.6rem,3vw,2.5rem);line-height:1.04;letter-spacing:-.045em}
.locations-base-card p,.locations-base-card:nth-child(2) p{color:#bdc7d8}
.locations-base-card a,.locations-base-card:nth-child(2) a{align-self:flex-start}
.locations-base-card:nth-child(2) a:hover{color:var(--loc-accent)}
.locations-area-list{border:1px solid var(--loc-line)}
.locations-area-list div{min-height:0;padding:18px 20px}
.locations-faq{display:block;border:0;border-top:1px solid var(--loc-line);background:transparent}
.locations-faq details{background:transparent;border-bottom:1px solid var(--loc-line);padding:20px 4px}
.locations-faq summary{font-size:1rem}
.locations-cta{background:transparent;padding:clamp(50px,7vw,78px) 0}
.locations-cta h2{font-size:clamp(2.5rem,5vw,4.8rem);line-height:.96;letter-spacing:-.065em}
.locations-cta .locations-kicker{color:var(--loc-accent)}
.locations-cta .locations-button{background:var(--loc-ink);color:var(--loc-white)}
.locations-cta .locations-button:hover{background:var(--white);color:var(--loc-ink)}
.locations-footer{font:500 .7rem/1.6 'DM Mono',monospace;padding:24px 0}

@media(max-width:850px){body .section-grid{grid-template-columns:1fr;gap:28px}.locations-hero,.locations-coverage,.locations-split{grid-template-columns:1fr;gap:32px}.locations-base-card{min-height:0}}
@media(max-width:580px){body .hero{padding:54px 0 56px}body h1,.locations-hero h1{font-size:clamp(2.8rem,13vw,4.5rem)}body .section{padding:48px 0}.locations-hero{padding:54px 0 56px}.locations-section{padding:48px 0}.locations-base-card{min-height:0;padding:22px}.locations-footer{gap:18px}}
