/* v1.5.3 service-area hubs. Scoped to .ts-loc. Hero background is a generic decorative stock photo (see assets/img/hero/SOURCES.md), never captioned as an install. */
.ts-loc{background:#0b0f17;color:#e8ecf3;line-height:1.6}
.ts-loc a{color:#f5b301}.ts-loc .w{max-width:1150px;margin:auto;padding:0 20px}
.ts-loc .btn{display:inline-block;background:#f5b301;color:#111;padding:12px 22px;border-radius:8px;font-weight:700;text-decoration:none}
.ts-loc .btn.o{background:none;border:1px solid #f5b301;color:#f5b301}
.ts-loc-hero{background:linear-gradient(90deg,rgba(7,10,16,.92),rgba(7,10,16,.55)),url(../img/hero/residential.webp) center/cover;padding:90px 0 70px}
@media(max-width:767px){.ts-loc-hero{background-image:linear-gradient(90deg,rgba(7,10,16,.92),rgba(7,10,16,.6)),url(../img/hero/residential-960.webp)}}
.ts-loc-hero h1{font-size:clamp(30px,5vw,52px);margin:0 0 12px;line-height:1.15;color:#fff}.ts-loc-hero p{max-width:600px;font-size:18px;color:#c9d2e0}
.ts-loc-hero small{color:#8b96a8}
.ts-loc section{padding:60px 0}.ts-loc h2{font-size:30px;margin:0 0 18px;color:#fff}.ts-loc h2 a{color:#fff;text-decoration:none}
.ts-loc .g{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.ts-loc .c{background:#121826;border:1px solid #1f2838;border-radius:12px;padding:22px}.ts-loc .c h3{margin-top:0;color:#f5b301}.ts-loc .c h3 a{text-decoration:none}
.ts-loc .alt{background:#0f1420}
.ts-loc details{background:#121826;border:1px solid #1f2838;border-radius:10px;padding:14px 18px;margin:10px 0}.ts-loc summary{font-weight:600;cursor:pointer}
.ts-loc small{color:#8b96a8}
.ts-loc-trust{background:#121826;border-top:1px solid #1f2838;border-bottom:1px solid #1f2838;padding:18px 0;color:#e8ecf3}
.ts-loc-trust .w{display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:center;font-weight:600;font-size:15px}.ts-loc-trust span:before{content:"✔ ";color:#f5b301}
.ts-loc .feat{display:grid;grid-template-columns:1.3fr 1fr;gap:16px}.ts-loc .feat figure{margin:0;position:relative}
.ts-loc .feat img{width:100%;height:auto;display:block;border-radius:10px;object-fit:cover}.ts-loc .feat>figure img{aspect-ratio:3/4}
.ts-loc .feat>div{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:start}.ts-loc .feat>div p{grid-column:1/-1;margin:0 0 8px}.ts-loc .feat>div img{aspect-ratio:3/4}
.ts-loc .feat figcaption{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(transparent,rgba(0,0,0,.8));color:#fff;font-size:13px;padding:22px 10px 8px;border-radius:0 0 10px 10px}
.ts-loc .subs{columns:4;column-gap:24px;list-style:none;padding:0;margin:0;font-size:15px}.ts-loc .subs li{padding:3px 0;break-inside:avoid}
.ts-loc .note{border-left:3px solid #f5b301;padding-left:14px}
.ts-loc-form{max-width:720px}
@media(max-width:640px){.ts-loc .feat{grid-template-columns:1fr}.ts-loc .subs{columns:2}}
/* 1.7.7 real install galleries */
.ts-loc .ts-inst-gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin:0 0 16px}.ts-loc .ts-inst-gal figure{margin:0}
.ts-loc .ts-inst-gal img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;border-radius:10px;height:auto}.ts-loc .ts-inst-gal figcaption{font-size:13px;color:#475569;margin-top:6px}
@media(max-width:640px){.ts-loc .ts-inst-gal{grid-template-columns:1fr 1fr}}
