/* CityTech location templates v1.7.12 */
.ctsl {
    --yellow:#E6C75A;
    --navy:#003255;
    --blue:#6691B0;
    --ink:#101820;
    --muted:#577083;
    --line:#d8e3e9;
    --soft:#f6f8f9;
    padding-top:75px;
    color:var(--ink);
    background:#fff;
    font-family:"CityTech Poppins",Poppins,Arial,sans-serif!important;
}
.ctsl * { box-sizing:border-box; font-family:"CityTech Poppins",Poppins,Arial,sans-serif!important; }
/* Keep the location template on Poppins even when the parent theme applies
   a more specific font rule to headings, controls, or embedded blocks. */
html body main.ctsl,
html body main.ctsl :where(section,div,header,footer,aside,article,nav,h1,h2,h3,h4,h5,h6,p,a,span,strong,b,small,li,summary,blockquote,button,input,textarea,select,label) {
    font-family:"CityTech Poppins",Poppins,Arial,sans-serif!important;
}
.ctsl a { text-decoration:none; }
.ctsl h1,.ctsl h2,.ctsl h3,.ctsl p { margin-top:0; }
.ctsl-shell { width:min(1180px,calc(100% - 40px)); margin-inline:auto; }
.ctsl-section { padding-block:96px; }
.ctsl-kicker { margin:0; color:var(--navy); font-size:11px; font-weight:800; letter-spacing:.16em; }
.ctsl-kicker--light { color:var(--yellow); }
.ctsl-button { min-height:52px; display:inline-flex; align-items:center; justify-content:center; gap:9px; padding:0 23px; border-radius:999px; font-size:12px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; transition:.2s ease; }
.ctsl-phone-icon { width:20px; height:20px; flex:0 0 20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.ctsl-button:hover { transform:translateY(-2px); }
.ctsl-button--primary { color:#fff; background:var(--navy); }
.ctsl-button--secondary { color:var(--navy); background:#fff; border:1px solid #b9ceda; }
.ctsl-actions { display:flex; align-items:center; gap:14px; margin-top:28px; }
.ctsl-hero-reviews { width:100%; max-width:520px; min-height:92px; display:flex; justify-content:flex-start; margin:20px 0 0; text-align:left; }
.ctsl-hero-reviews>div,
.ctsl-hero-reviews .ti-widget,
.ctsl-hero-reviews .ti-widget-container,
.ctsl-hero-reviews .ti-header {
    margin-right:auto!important;
    margin-left:0!important;
    text-align:left!important;
}
.ctsl-hero-reviews .ti-widget-container { justify-content:flex-start!important; }
.ctsl-reviews-jump { width:min(220px,100%); display:block; margin-top:20px; padding:0; background:transparent; border:0; transition:transform .2s ease; }
.ctsl-reviews-jump:hover { transform:translateY(-2px); }
.ctsl-reviews-jump img { display:block; width:100%; height:auto; object-fit:contain; }
#reviews { scroll-margin-top:110px; }
.ctsl-mobile-call { display:none; }

.ctsl-hero { background:#fbfcfc; border-bottom:1px solid var(--line); }
.ctsl-hero__grid { min-height:640px; display:grid; grid-template-columns:1.02fr .98fr; align-items:center; gap:70px; padding-block:65px; }
.ctsl-hero__copy,.ctsl-hero__visual { min-width:0; }
.ctsl-hero h1 { margin:19px 0 23px; font-size:clamp(50px,5vw,76px); font-weight:500; line-height:1.02; letter-spacing:-.045em; }
.ctsl-hero h1 span { position:relative; z-index:0; color:var(--navy); white-space:nowrap; }
.ctsl--tampa .ctsl-hero h1 { font-size:clamp(44px,3.8vw,60px); }
.ctsl--tampa .ctsl-hero h1 span { white-space:normal; }
.ctsl-hero h1 span::after { content:""; height:5px; position:absolute; right:0; bottom:3px; left:0; z-index:-1; background:var(--yellow); border-radius:999px; }
.ctsl-hero h1 span.ctsl-hero__line--plain::after { display:none; }
.ctsl-hero h1 span.ctsl-hero__first-line { color:inherit; white-space:nowrap; }
.ctsl-hero h1 span.ctsl-hero__first-line::after { display:none; }
.ctsl-lead { max-width:640px; color:var(--muted); font-size:17px; line-height:1.7; }
.ctsl-points { display:flex; flex-wrap:wrap; gap:12px 20px; margin-top:26px; color:#314d60; font-size:12px; font-weight:700; }
.ctsl-rating { margin:23px 0 0; color:var(--muted); font-size:12px; }.ctsl-rating b { color:#d2a600; letter-spacing:.08em; }
.ctsl-hero__visual { position:relative; padding-left:32px; }
.ctsl-hero__photo { min-height:455px; position:relative; overflow:hidden; background:url("images/largo-hero.jpg") center 56%/cover no-repeat; border-radius:32px 8px; box-shadow:0 25px 65px #00325524; }
.ctsl--tampa .ctsl-hero__photo { background-image:url("images/tampa-hero.jpg"); background-position:center 48%; }
.ctsl-hero__photo>div { position:absolute; right:0; bottom:0; left:0; padding:42px 28px 27px; color:#fff; }.ctsl-hero__photo b,.ctsl-hero__photo span { display:block; }.ctsl-hero__photo b { font-size:19px; }.ctsl-hero__photo span { margin-top:5px; color:#dce8ee; font-size:12px; }
.ctsl-availability { width:92%; min-height:80px; position:absolute; bottom:0; left:0; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:14px; padding:17px 21px; background:#fff; border-radius:17px; box-shadow:0 15px 42px #00325524; }
.ctsl-availability i { width:11px; height:11px; background:#41b86f; border-radius:50%; box-shadow:0 0 0 6px #41b86f20; }.ctsl-availability b,.ctsl-availability span { display:block; }.ctsl-availability b { color:var(--navy); font-size:14px; }.ctsl-availability span { margin-top:4px; color:var(--muted); font-size:11px; }.ctsl-availability strong { color:var(--blue); }

.ctsl-heading { display:flex; align-items:end; justify-content:space-between; gap:50px; margin-bottom:43px; }
.ctsl-heading h2,.ctsl-local-grid h2,.ctsl-faq h2,.ctsl-final h2 { margin:13px 0 0; font-size:clamp(36px,3.8vw,53px); font-weight:700; line-height:1.08; letter-spacing:-.035em; }
.ctsl-heading>p { max-width:430px; margin:0; color:var(--muted); font-size:14px; line-height:1.7; }
.ctsl-service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.ctsl-service-card { min-height:155px; display:grid; grid-template-columns:50px 1fr auto; align-items:start; gap:15px; padding:26px; color:var(--ink); border:1px solid var(--line); border-radius:22px; box-shadow:0 8px 28px #00325508; transition:.2s ease; }
.ctsl-service-card:hover { border-color:var(--yellow); transform:translateY(-2px); box-shadow:0 15px 36px #00325514; }
.ctsl-service-card i { width:46px; height:46px; display:grid; place-items:center; color:var(--blue); background:#eff6f9; border-radius:13px; font-style:normal; }.ctsl-service-card i svg { width:28px; height:28px; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }.ctsl-service-card h3 { margin:3px 0 7px; font-size:18px; }.ctsl-service-card p { margin:0; color:var(--muted); font-size:12px; line-height:1.6; }.ctsl-service-card>b { color:var(--blue); }.ctsl-service-card>b svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }

.ctsl-home-brands { padding:85px 0; background:#fff; border-block:1px solid var(--line); }.ctsl-home-brands .container,.ctsl-home-reviews .container { width:min(1180px,calc(100% - 40px)); margin-inline:auto; }.ctsl-home-brands h2,.ctsl-home-reviews h2 { margin:13px 0 48px; color:var(--ink); font-size:clamp(36px,3.8vw,53px); font-weight:700; line-height:1.08; letter-spacing:-.035em; }.ctsl-home-brands .section-title,.ctsl-home-reviews .section-title { color:var(--navy); font-size:11px; font-weight:800; letter-spacing:.16em; }.ctsl-home-brands .brands-swiper { position:relative; overflow:hidden; padding:0 58px; }.ctsl-home-brands .swiper-wrapper { align-items:stretch; }.ctsl-home-brands .swiper-slide { height:180px; overflow:hidden; }.ctsl-home-brands .brand-item { width:100%; height:180px; display:flex; align-items:center; justify-content:center; overflow:hidden; }.ctsl-home-brands .brand-item img { width:100%; max-width:190px; height:160px; display:block; object-fit:contain; object-position:center; }.ctsl-home-brands .swiper-button-prev,.ctsl-home-brands .swiper-button-next { width:42px; height:58px; margin-top:-29px; color:var(--blue); background:var(--soft); }.ctsl-home-brands .swiper-button-prev::after,.ctsl-home-brands .swiper-button-next::after { font-size:24px; }

.ctsl-local-grid { display:grid; grid-template-columns:1fr 1fr; gap:85px; align-items:center; }.ctsl-copy { max-width:570px; margin:23px 0 27px; color:var(--muted); line-height:1.75; }.ctsl-neighborhoods { display:grid; grid-template-columns:1fr 1fr; gap:11px; padding:0; margin:0; list-style:none; }.ctsl-neighborhoods li { display:flex; align-items:center; gap:9px; padding:11px 13px; background:var(--soft); border-radius:11px; font-size:12px; font-weight:700; }.ctsl-neighborhoods span { color:var(--blue); }
.ctsl-neighborhoods .ctsl-map-pin { width:18px; height:18px; flex:0 0 18px; display:grid; place-items:center; }.ctsl-map-pin svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
#coverage.ctsl-section { padding-bottom:42px; }
.ctsl-coverage-card { overflow:hidden; border:1px solid var(--line); border-radius:27px; box-shadow:0 19px 52px #00325513; }.ctsl-coverage-card iframe { width:100%; height:330px; display:block; border:0; }.ctsl-facts { display:grid; grid-template-columns:repeat(3,1fr); }.ctsl-facts>div { padding:20px 16px; border-right:1px solid var(--line); }.ctsl-facts>div:last-child { border:0; }.ctsl-facts b,.ctsl-facts span { display:block; }.ctsl-facts b { color:var(--navy); font-size:11px; }.ctsl-facts span { margin-top:5px; color:var(--muted); font-size:10px; line-height:1.5; }

.ctsl-jobs { padding:96px 0; color:#fff; background:#062f4d; }.ctsl-heading--light h2 { color:#fff; }.ctsl-heading--light>p { color:#b9cbd6; }.ctsl-job-grid { display:grid; grid-template-columns:1fr 1fr; gap:21px; }.ctsl-job-grid article { padding:17px 17px 27px; color:var(--ink); background:#fff; border-radius:24px; }.ctsl-job-photo { height:275px; margin-bottom:22px; background-position:center; background-size:cover; border-radius:15px; }.ctsl-job-photo--fridge { background-image:url("https://images.unsplash.com/photo-1584568694244-14fbdf83bd30?auto=format&fit=crop&w=1000&q=80"); }.ctsl-job-photo--washer { background-image:url("https://images.unsplash.com/photo-1626806787461-102c1bfaaea1?auto=format&fit=crop&w=1000&q=80"); }.ctsl-job-grid small { color:var(--blue); font-size:9px; font-weight:800; letter-spacing:.1em; }.ctsl-job-grid h3 { margin:11px 0 9px; font-size:21px; }.ctsl-job-grid p { margin:0; color:var(--muted); font-size:13px; line-height:1.65; }

.ctsl-reviews { display:grid; grid-template-columns:.55fr 1.45fr; gap:75px; align-items:center; }.ctsl-score { padding:38px; background:var(--yellow); border-radius:27px; }.ctsl-score span,.ctsl-score strong { display:block; }.ctsl-score strong { margin-top:10px; color:var(--navy); font-size:50px; }.ctsl-score p { margin:3px 0 0; color:#243b4c; }.ctsl-reviews blockquote { margin:0; color:var(--navy); font-size:clamp(24px,2.8vw,38px); font-weight:600; line-height:1.4; letter-spacing:-.025em; }.ctsl-reviews blockquote footer { margin-top:23px; color:var(--muted); font-size:12px; font-weight:400; }
.ctsl-why { padding:96px 0; background:var(--soft); }.ctsl-why-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); }.ctsl-why-grid article { padding:30px 25px 0 0; }.ctsl-why-grid article+article { padding-left:25px; border-left:1px solid var(--line); }.ctsl-why-grid article>b { color:var(--blue); font-size:10px; }.ctsl-why-grid h3 { margin:17px 0 9px; font-size:18px; }.ctsl-why-grid p { color:var(--muted); font-size:12px; line-height:1.7; }
.ctsl-home-reviews { min-height:0; padding:42px 0 76px; background:#fff; }.ctsl-home-reviews>div>div { min-height:220px; }
.ctsl-home-brands .swiper-button-prev::after,
.ctsl-home-brands .swiper-button-next::after {
    font-family:swiper-icons!important;
    font-size:24px;
    font-variant:initial;
    line-height:1;
    letter-spacing:0!important;
    text-transform:none!important;
}
.ctsl-faq { display:grid; grid-template-columns:.65fr 1.35fr; gap:85px; }.ctsl-questions details { padding:22px 0; border-top:1px solid var(--line); }.ctsl-questions details:last-child { border-bottom:1px solid var(--line); }.ctsl-questions summary { display:flex; justify-content:space-between; gap:20px; cursor:pointer; list-style:none; color:var(--navy); font-size:17px; font-weight:700; }.ctsl-questions summary::-webkit-details-marker { display:none; }.ctsl-questions summary span { color:var(--blue); }.ctsl-questions details p { max-width:670px; margin:16px 35px 0 0; color:var(--muted); line-height:1.7; }
.ctsl-questions summary span { min-width:24px; font-size:0; text-align:center; }
.ctsl-questions summary span::after { content:"+"; display:block; color:var(--blue); font-family:"CityTech Poppins",Poppins,Arial,sans-serif!important; font-size:21px; font-weight:500; line-height:1; }
.ctsl-questions details[open] summary span::after { content:"−"; }
.ctsl-final { padding:70px 0; background:var(--yellow); }.ctsl-final>.ctsl-shell { display:flex; align-items:center; justify-content:space-between; gap:55px; }.ctsl-final>div>div:first-child>p { margin:0; color:var(--navy); font-size:10px; font-weight:800; letter-spacing:.13em; }.ctsl-final__link { color:var(--navy); font-weight:800; }

@media(max-width:991px){
    .ctsl { padding-top:55px; }
    .ctsl-hero__grid,.ctsl-local-grid,.ctsl-faq { grid-template-columns:1fr; }
    .ctsl-service-grid { grid-template-columns:1fr 1fr; }
    .ctsl-hero__grid { gap:50px; }
    .ctsl--tampa .ctsl-hero h1 { max-width:760px; }
    .ctsl-heading,.ctsl-final>.ctsl-shell { align-items:flex-start; flex-direction:column; }
    .ctsl-why-grid { grid-template-columns:1fr 1fr; }
    .ctsl-why-grid article:nth-child(3) { padding-left:0; border-left:0; }
}
@media(max-width:600px){
    .ctsl-shell { width:min(100% - 28px,1180px); }
    .ctsl-section { padding-block:68px; }
    .ctsl-hero__grid { min-height:0; padding-block:46px; }.ctsl-hero h1,.ctsl--tampa .ctsl-hero h1 { font-size:42px; }.ctsl-hero h1 span { white-space:normal; }.ctsl-lead { font-size:15px; }.ctsl-hero__visual { padding-left:0; }.ctsl-hero__photo { min-height:350px; }
    .ctsl-actions { width:100%; align-items:stretch; flex-direction:column; }.ctsl-button { width:100%; }
    .ctsl-reviews-jump { width:min(200px,100%); }
    .ctsl-heading h2,.ctsl-brands h2,.ctsl-local-grid h2,.ctsl-faq h2,.ctsl-final h2 { font-size:36px; }
    .ctsl-service-grid,.ctsl-job-grid,.ctsl-reviews,.ctsl-why-grid,.ctsl-facts { grid-template-columns:1fr; }
    .ctsl-service-card { min-height:120px; grid-template-columns:46px minmax(0,1fr) 20px; gap:12px; padding:20px 17px; }.ctsl-service-card h3 { font-size:17px; line-height:1.3; }.ctsl-service-card i { width:44px; height:44px; }.ctsl-service-card i svg { width:27px; height:27px; }
    .ctsl-home-brands { padding:58px 0; }.ctsl-home-brands h2 { margin-bottom:28px; }.ctsl-home-brands .brands-swiper { width:100%; padding-inline:52px; }.ctsl-home-brands .swiper-slide,.ctsl-home-brands .brand-item { height:150px; }.ctsl-home-brands .brand-item { padding:6px 10px; }.ctsl-home-brands .brand-item img { width:100%; max-width:170px; height:138px; }.ctsl-home-brands .swiper-button-prev,.ctsl-home-brands .swiper-button-next { width:38px; height:50px; }.ctsl-neighborhoods { grid-template-columns:1fr; }
    .ctsl-facts>div { border-right:0; border-bottom:1px solid var(--line); }
    .ctsl-reviews { gap:34px; }
    .ctsl-why-grid article,.ctsl-why-grid article+article { padding:23px 0; border-left:0; border-bottom:1px solid var(--line); }
    .ctsl-faq { gap:38px; }
    .ctsl-final .ctsl-actions { align-items:stretch; }.ctsl-final__link { padding:10px; text-align:center; }
    #coverage.ctsl-section { padding-bottom:30px; }
    .ctsl-home-reviews { padding:30px 0 58px; }
    .ctsl-mobile-call { position:fixed; right:14px; bottom:14px; left:14px; z-index:9998; display:block; visibility:hidden; opacity:0; pointer-events:none; transform:translateY(24px); transition:opacity .25s ease,transform .25s ease,visibility .25s ease; }
    .ctsl-mobile-call.is-visible { visibility:visible; opacity:1; pointer-events:auto; transform:translateY(0); }
    .ctsl-mobile-call>a { min-height:62px; display:flex; align-items:center; justify-content:center; gap:10px; padding:11px 20px; color:#fff!important; background:var(--navy); border:0; border-radius:999px; box-shadow:none; text-transform:uppercase; }
    .ctsl-mobile-call .ctsl-phone-icon { width:25px; height:25px; flex-basis:25px; }
    .ctsl-mobile-call span { font-size:11px; font-weight:700; letter-spacing:.08em; }
    .ctsl-mobile-call strong { display:flex; gap:4px; font-size:16px; }
    .ctsl-mobile-call strong i { color:inherit; font-style:normal; }
}
