.tsl-location-hero{position:relative;isolation:isolate;overflow:hidden;background:#1b2135;min-height:clamp(420px,46vw,580px);display:flex;align-items:center;padding:80px 0}
.tsl-location-background{position:absolute;inset:0;z-index:-1;width:100%;height:100%;object-fit:cover}
.tsl-location-hero .wrap{position:relative;width:100%}
.tsl-location-panel{text-align:center;background:rgba(27,33,53,.86);border:1px solid #e8a33c42;padding:clamp(34px,4vw,52px) clamp(28px,5vw,64px);box-shadow:0 24px 70px #0005}
.tsl-location-panel h1{color:#fff;font-size:clamp(2rem,4.4vw,3.05rem);line-height:1.1;margin:0 auto .38em;max-width:none}
.tsl-location-panel .hero-result{color:var(--hot);font-family:var(--f-head);font-weight:700;font-size:clamp(1.06rem,1.9vw,1.4rem);line-height:1.3;margin:0 auto .8rem;max-width:none}
.tsl-location-panel .lede{color:#f2f3f6;font-size:clamp(1rem,1.35vw,1.14rem);line-height:1.55;max-width:80ch;margin:0 auto}

.page-location .tsl-location-panel{max-width:840px;margin:0 auto;border-radius:12px;padding:34px 38px}
.page-location .tsl-location-hero{min-height:600px;padding:90px 0}
.page-location .tsl-location-panel h1{text-wrap:balance;font-size:clamp(2rem,3.5vw,3rem)}
.page-location .tsl-location-panel .hero-result{color:#efb44e}
.page-location .location-coverage{padding:52px 0;background:#e9e5da}
.page-location .location-coverage h2{font-size:1.7rem;line-height:1.3;margin-bottom:18px}
.page-location .location-list{display:flex;flex-wrap:wrap;gap:12px;list-style:none;padding:0;margin:24px 0 0}
.page-location .location-list li{margin:0;padding:0;background:none;border:0}
.page-location .location-list a{display:block;padding:10px 16px;border:1px solid #b9b3a4;border-radius:7px;color:#1b2135;text-decoration:none;background:#f3f0e8}
.page-location .location-list a:hover{background:#fff;text-decoration:underline}
.page-location .tsl-faq .faq-a p{font-size:1.04rem;line-height:1.8}
@media(max-width:760px){.page-location .tsl-location-hero{min-height:540px;padding:58px 0}.page-location .tsl-location-panel{padding:28px 22px}.page-location .tsl-location-background{object-position:50% center}.page-location .location-alamo-ranch .tsl-location-background{object-position:65% center}.page-location .location-coverage{padding:40px 0}}

/* Location pages finish with a column-width area map and nearby links. */
.page-location .location-map{padding:52px 0;background:#f3f0e8}
.page-location .location-map-frame{display:block;width:100%;height:440px;border:0;border-radius:12px}
@media(max-width:760px){.page-location .location-map{padding:40px 0}.page-location .location-map-frame{height:340px}}
