:root{--primary:#123eae;--primary-dark:#092675;--yellow:#44c553;--ink:#102452;--muted:#667085;--light:#f4f7fc;--white:#fff;--shadow:0 18px 45px rgba(16,36,82,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:"Nunito",sans-serif;color:var(--ink);overflow-x:hidden}a{text-decoration:none;color:inherit}.topbar{background:linear-gradient(90deg,var(--primary-dark),var(--primary));color:white}.topbar a{color:white}.navbar{z-index:1020}.navbar-brand{min-width:250px}.brand-mark{width:54px;height:44px;color:var(--primary);display:grid;place-items:center}.brand-mark svg{width:100%;height:100%}.brand-copy{display:flex;flex-direction:column;line-height:1}.brand-copy strong{font-size:1.05rem;color:#f5a900}.brand-copy small{font-weight:800;color:var(--primary);font-size:.86rem;margin-top:4px}.nav-link{font-weight:800;font-size:.86rem;color:var(--ink)!important;padding-inline:.7rem!important}.nav-link:hover,.nav-link.active{color:var(--primary)!important}.call-cluster small,.call-cluster strong{display:block}.call-cluster small{font-size:.7rem;color:var(--muted)}.call-cluster strong{color:var(--ink)}.phone-pulse,.floating-call,.phone-inline{animation:phoneRing 1.8s infinite}.phone-pulse{width:42px;height:42px;border-radius:50%;background:var(--yellow);color:var(--ink);display:grid;place-items:center;font-size:1.2rem}.hero-section{position:relative;background:radial-gradient(circle at 8% 20%,rgba(18,62,174,.08),transparent 30%),linear-gradient(110deg,#fff 0%,#f5f8fc 55%,#e6edf8 100%)}.min-vh-75{min-height:75vh}.eyebrow,.section-kicker{font-weight:900;letter-spacing:.14em;font-size:.72rem;color:var(--primary)}.hero-section h1{font-size:4rem;font-weight:900;line-height:.98;margin:1rem 0}.hero-section h1 span{display:block;font-weight:400}.hero-section .lead{max-width:650px;color:#48577a}.btn{font-weight:900;text-transform:uppercase;letter-spacing:.04em;border-radius:2px;padding:.85rem 1.3rem}.btn-primary{background:var(--primary);border-color:var(--primary)}.btn-primary:hover{background:var(--primary-dark);border-color:var(--primary-dark)}.hero-trust{display:flex;flex-wrap:wrap;gap:1.2rem;font-weight:800;color:#39496d}.hero-trust i{color:var(--primary)}.hero-image-wrap{position:relative;padding-top:30px}.hero-image{height:620px;width:100%;object-fit:cover;object-position:center;border-radius:42% 0 0 12%;box-shadow:var(--shadow)}.floating-badge{position:absolute;left:-35px;bottom:45px;background:white;padding:16px 20px;border-radius:14px;box-shadow:var(--shadow);display:flex;gap:8px;align-items:center}.floating-badge i{color:var(--primary);font-size:1.4rem}
.hero-tool{position:absolute;left:2%;bottom:12%;font-size:6rem;color:rgba(18,62,174,.11);z-index:0}
.tool-shine{filter:drop-shadow(0 0 3px rgba(255,182,0,.2));animation:shine 2.4s ease-in-out infinite}
.estimate-strip{background:var(--yellow);position:relative;z-index:4}
.vacuum-icon{font-size:3rem;color:#fff}.estimate-strip .form-control,.estimate-strip .form-select{border:0;border-radius:2px;min-height:48px}.section-pad{padding:95px 0}.section-heading{max-width:760px;margin-inline:auto}.section-heading h2,.why-section h2,.contact-panel h2{font-weight:900;font-size:clamp(2rem,4vw,3.1rem)}.experience-number{display:flex;align-items:center;gap:20px;margin-bottom:20px}.experience-number>span{font-size:6rem;font-weight:900;line-height:.8;color:var(--ink)}.experience-number b,.experience-number small{display:block}.blue-card{display:flex;gap:18px;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:white;padding:30px;box-shadow:var(--shadow)}.blue-card h3{font-size:1.2rem;font-weight:900}.blue-card p{margin:0;color:#dbe5ff}.icon-box{font-size:2.5rem}.image-frame{position:relative}.image-frame img{width:100%;height:480px;object-fit:cover}.image-frame:before{content:"";position:absolute;inset:18px -18px -18px 18px;border:4px solid var(--yellow);z-index:4}
.image-label{position:absolute;bottom:0;right:0;background:var(--yellow);padding:12px 18px;font-weight:900}
.parallax-section{background:linear-gradient(rgba(242,246,253,.82),rgba(242,246,253,.82)),url('../img/air-duct-cleaners.webp') center/cover fixed}
.why-photo img{width:1000px;height:500px;object-fit:fill;border-radius:28px 28px 90px 28px;box-shadow:var(--shadow)}.why-list{margin-top:30px}.why-list article{display:flex;gap:18px;margin-bottom:22px;align-items:flex-start}.why-list h3{font-size:1.08rem;font-weight:900}.why-list p{color:var(--muted);margin:0}.why-icon{width:52px;height:52px;min-width:52px;background:var(--primary);color:white;display:grid;place-items:center;font-size:1.45rem;transition:.35s}
.why-list article:hover .why-icon{background:var(--yellow);color:var(--ink);transform:rotate(8deg) scale(1.08)}
.youtube-btn{width:70px;height:70px;border:0;border-radius:50%;background:var(--primary);color:white;font-size:2rem;box-shadow:0 0 0 12px rgba(18,62,174,.12);animation:youtubePulse 1.7s infinite}
.service-card{height:100%;background:white;border:1px solid #e5e9f2;box-shadow:0 10px 30px rgba(16,36,82,.07);transition:.4s;overflow:hidden}
.service-card:hover{transform:translateY(-12px);box-shadow:var(--shadow)}
.service-image{overflow:hidden}
.service-image img{width:100%;height:220px;object-fit:cover;transition:.6s}
.service-card:hover img{transform:scale(1.08)}.service-body{padding:26px;position:relative}
.service-icon{width:56px;height:56px;background:var(--primary);color:white;display:grid;place-items:center;font-size:1.5rem;margin-top:-54px;margin-bottom:20px;position:relative;box-shadow:0 8px 20px rgba(18,62,174,.3)}.service-card h3{font-size:1.12rem;font-weight:900}.service-card p{color:var(--muted)}.service-card a{font-size:.78rem;font-weight:900;color:var(--primary)}.service-b{border-radius:28px 0 28px 0}.service-c .service-body{background:#f7f9fd}.service-d{clip-path:polygon(0 0,100% 0,100% 94%,92% 100%,0 100%)}.benefits-section{background:linear-gradient(rgba(7,39,111,.92),rgba(7,39,111,.94)),url('https://images.unsplash.com/photo-1581091215367-59ab6b3bfb7f?auto=format&fit=crop&w=1600&q=80') center/cover}.benefit-card{text-align:center;padding:24px}.benefit-card>span{width:100px;height:100px;border:2px solid white;border-radius:50%;display:grid;place-items:center;font-size:2.5rem;margin:0 auto 20px}.benefit-card h3{font-size:1.2rem;font-weight:900}.benefit-card p{color:#dbe5ff}.accordion{max-width:980px}.accordion-item{border:0;margin-bottom:12px;box-shadow:0 5px 20px rgba(16,36,82,.07)}.accordion-button{font-weight:900;color:var(--ink)}.accordion-button:not(.collapsed){background:#edf3ff;color:var(--primary)}.before-after{position:relative;max-width:1050px;height:520px;margin:35px auto 0;overflow:hidden;box-shadow:var(--shadow);background:#ddd}.before-after img{width:100%;height:100%;object-fit:cover}.after-img{position:absolute;inset:0}.before-layer{position:absolute;inset:0;width:50%;overflow:hidden}.before-layer img{width:1050px;max-width:none}.before-after input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;z-index:5}.ba-handle{position:absolute;left:50%;top:0;bottom:0;width:4px;background:white;transform:translateX(-50%);z-index:4;pointer-events:none}.ba-handle:after{content:"";position:absolute;top:50%;left:50%;width:54px;height:54px;background:var(--primary);border:4px solid white;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 6px 18px rgba(0,0,0,.25)}.ba-handle i{position:absolute;top:50%;left:50%;z-index:2;color:white;transform:translate(-50%,-50%);font-size:1.4rem}.ba-label{position:absolute;top:18px;background:#111;color:white;padding:7px 12px;font-weight:900;font-size:.72rem;z-index:3}.before-label{left:18px}.after-label{right:18px}.gallery-carousel img{width:100%;height:280px;object-fit:cover;border-radius:4px}.gallery-carousel .carousel-control-prev,.gallery-carousel .carousel-control-next{width:48px;height:48px;top:50%;transform:translateY(-50%);background:var(--primary);border-radius:50%;opacity:1}.gallery-carousel .carousel-control-prev{left:-22px}.gallery-carousel .carousel-control-next{right:-22px}.stats-section{background:linear-gradient(90deg,var(--primary-dark),var(--primary));color:white}.stats-section strong{display:block;font-size:3rem;font-weight:900}.stats-section span{font-weight:700;color:#dbe5ff}

.testimonial-card{max-width:760px;margin:auto;background:white;padding:35px;display:flex;align-items:center;gap:28px;box-shadow:var(--shadow);border-radius:6px}.testimonial-card img{width:110px;height:110px;border-radius:50%;object-fit:cover;border:8px solid #edf2ff}.testimonial-card p{font-size:1.04rem}.testimonial-card h3{font-size:1rem;font-weight:900;margin:0}.stars{color:#ffb000;letter-spacing:3px}
.testimonial-section .carousel-control-prev,.testimonial-section .carousel-control-next{color:var(--primary);font-size:2rem}


.coupon-solutions { position:relative; overflow:hidden; padding:100px 0; background:#fff; isolation:isolate; }
    .sparkle { position:absolute; z-index:-1; width:72px; aspect-ratio:1; opacity:.15; color:#9cabc1; animation:starShine 3.4s ease-in-out infinite; }
    .sparkle::before,.sparkle::after { content:""; position:absolute; inset:0; margin:auto; background:currentColor; border-radius:50%; filter:blur(.2px); }
    .sparkle::before { width:18%; height:100%; }
    .sparkle::after { width:100%; height:18%; }
    .sparkle span { position:absolute; inset:21%; background:#fff; transform:rotate(45deg); border-radius:50%; }
    .sparkle.s1 { left:2%; top:15%; --scale:1.4; }
    .sparkle.s2 { left:6%; top:39%; width:48px; animation-delay:-1.2s; --scale:.85; }
    .sparkle.s3 { right:5%; top:47%; width:115px; animation-delay:-2.1s; --scale:1.7; }
    .sparkle.s4 { right:10%; top:35%; width:38px; animation-delay:-.6s; --scale:.75; }
    .sparkle.s5 { right:8%; bottom:12%; width:68px; animation-delay:-1.7s; --scale:1.2; }

    .coupon-card { position:relative; min-height:650px; overflow:visible; background:#eef1f6; }
    .coupon-card::before { content:""; position:absolute; right:0; top:0; width:37%; height:24%; background:#08bce0; border-bottom-left-radius:110px; }
    .coupon-title { position:relative; z-index:1; padding:50px 30px 0; margin:0; font-family:"Barlow Condensed",sans-serif; font-size:clamp(3rem,5vw,4.7rem); line-height:.96; font-weight:700; text-transform:uppercase; }
    .save-shape { position:absolute; left:0; bottom:0; width:74%; height:50%; display:grid; place-items:center; padding-right:12%; background:#08bce0; border-radius:0 200px 0 0; color:#fff; }
    .save-shape span { font-family:"Barlow Condensed",sans-serif; font-size:clamp(3.4rem,6vw,5.5rem); font-weight:800; line-height:.95; text-transform:uppercase; }

    .offer-badge { position:absolute; z-index:3; right:-4px; top:28px; width:180px; aspect-ratio:1; display:grid; place-items:center; border-radius:50%; background:#fff; box-shadow:0 18px 40px rgba(0,64,130,.08); }
    .offer-copy { position:relative; z-index:2; text-align:center; color:#44c553; font-family:"Barlow Condensed",sans-serif; font-size:2.55rem; font-weight:800; line-height:.9; text-transform:uppercase; }
    .offer-copy small { display:block; font-size:1.65rem; }
    .rotating-ring { position:absolute; inset:8px; width:calc(100% - 16px); height:calc(100% - 16px); animation:ringRotate 13s linear infinite; }
    .rotating-ring text { fill:#0755a5; font-family:"Poppins",sans-serif; font-size:9px; font-weight:600; letter-spacing:4.4px; text-transform:uppercase; }

    .review-tab { position:absolute; z-index:4; right:-30px; bottom:30px; width:100px; height:238px; display:flex; align-items:center; justify-content:center; gap:8px; background:#fff; border-radius:7px; box-shadow:0 15px 38px rgba(33,55,92,.14); writing-mode:vertical-rl; transform:rotate(180deg); }
    .review-tab strong { font-size:2rem; color:#08bce0; }
    .review-tab span { color:#6f737a; font-size:.85rem; font-weight:700; text-transform:uppercase; }
    .review-tab i { color:#0755a5; font-style:normal; }

    .eyebrow { color:#08bce0; font-size:.8rem; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; }
    .intro { max-width:650px; color:#6d7480; font-size:.94rem; line-height:1.85; }
    .feature { display:flex; gap:20px; padding:24px 0; border-bottom:1px solid #dce1e8; }
    .feature:last-child { border-bottom:0; }
    .feature-icon { flex:0 0 68px; width:68px; height:68px; display:grid; place-items:center; border:2px solid #dcecff; border-radius:50%; color:#0755a5; }
    .feature-icon svg { width:32px; height:32px; }
    .feature h3 { margin:1px 0 7px; font-size:1.05rem; font-weight:700; }
    .feature p { margin:0; color:#6d7480; font-size:.88rem; line-height:1.75; }

    @keyframes ringRotate { to { transform:rotate(360deg); } }
    @keyframes starShine {
      0%,100% { opacity:.07; transform:scale(.45) rotate(0); }
      45% { opacity:.25; transform:scale(var(--scale,1.2)) rotate(18deg); }
      65% { opacity:.14; transform:scale(.8) rotate(28deg); }
    }
    @media (prefers-reduced-motion:reduce) { .rotating-ring,.sparkle { animation:none; } }
    @media (max-width:991.98px) {
      .coupon-solutions { padding:70px 0; }
      .coupon-card { max-width:540px; margin:0 auto 65px; }
      .review-tab { right:18px; }
    }
    @media (max-width:575.98px) {
      .coupon-card { min-height:500px; }
      .offer-badge { width:152px; right:8px; }
      .offer-copy { font-size:2.1rem; }
      .offer-copy small { font-size:1.35rem; }
      .review-tab { right:12px; bottom:15px; width:96px; height:205px; }
      .save-shape { width:78%; }
    }

/* Sugar Land TX Air Duct Cleaning contact section */
.sl-contact-section {
    --sl-navy: #061c44;
    --sl-blue: #087fca;
    --sl-cyan: #02ace6;
    --sl-green: #20ad3d;
    --sl-light: #f3f9fd;
    --sl-white: #ffffff;
    --sl-text: #5d6875;

    position: relative;
    min-height: 820px;
    padding: 90px 20px 120px;
    overflow: hidden;
    background:
        linear-gradient(rgba(3, 20, 48, 0.93), rgba(3, 20, 48, 0.88));
}



.sl-contact-overlay {
    position: absolute;
    inset: 0;
    background-image:
        radial-gradient(circle at 15% 28%, rgba(2, 172, 230, 0.17), transparent 24%),
        radial-gradient(circle at 85% 62%, rgba(32, 173, 61, 0.1), transparent 22%);
}

.sl-contact-container {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 1120px;
    margin: auto;
}

.sl-contact-heading {
    max-width: 750px;
    margin: 0 auto 55px;
    text-align: center;
    color: var(--sl-white);
}

.sl-contact-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
    padding: 9px 16px;
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 50px;
    color: var(--sl-white);
    background: rgba(255, 255, 255, 0.08);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.6px;
    text-transform: uppercase;
}

.sl-contact-label i {
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    border-radius: 50%;
    color: var(--sl-white);
    background: var(--sl-cyan);
}

.sl-contact-heading h2 {
    margin: 0 0 15px;
    font-size: clamp(32px, 4vw, 51px);
    font-weight: 800;
    line-height: 1.15;
}

.sl-contact-heading p {
    max-width: 650px;
    margin: auto;
    color: rgba(255, 255, 255, 0.72);
    font-size: 16px;
    line-height: 1.8;
}

.sl-contact-wrapper {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(330px, 0.9fr);
    gap: 48px;
    padding: 50px;
    border-radius: 22px;
    background: var(--sl-white);
    box-shadow: 0 20px 60px rgba(1, 19, 44, 0.25);
    animation: slContactReveal 0.8s ease both;
}

.sl-contact-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.sl-form-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.sl-form-group label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}

.sl-form-group input,
.sl-form-group select,
.sl-form-group textarea {
    width: 100%;
    border: 1px solid #dce5ec;
    border-radius: 10px;
    outline: none;
    color: var(--sl-navy);
    background: #fbfdff;
    font-family: inherit;
    font-size: 15px;
    transition: border-color 0.25s ease, box-shadow 0.25s ease,
                background 0.25s ease;
}

.sl-form-group input,
.sl-form-group select {
    height: 54px;
    padding: 0 16px;
}

.sl-form-group textarea {
    min-height: 150px;
    padding: 17px;
    resize: vertical;
}

.sl-form-group input:focus,
.sl-form-group select:focus,
.sl-form-group textarea:focus {
    border-color: var(--sl-cyan);
    background: var(--sl-white);
    box-shadow: 0 0 0 4px rgba(2, 172, 230, 0.12);
}

.sl-submit-btn {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: 13px;
    min-height: 54px;
    padding: 0 25px;
    border: 0;
    border-radius: 50px;
    color: var(--sl-white);
    background: linear-gradient(135deg, var(--sl-blue), var(--sl-cyan));
    box-shadow: 0 10px 25px rgba(8, 127, 202, 0.26);
    font-family: inherit;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.sl-submit-btn i {
    transition: transform 0.25s ease;
}

.sl-submit-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 30px rgba(8, 127, 202, 0.34);
}

.sl-submit-btn:hover i {
    transform: translateX(5px);
}

.sl-contact-info {
    position: relative;
    padding: 35px 30px;
    overflow: hidden;
    border-radius: 17px;
    color: var(--sl-white);
    background:
        linear-gradient(145deg, rgba(8, 127, 202, 0.17), transparent 45%),
        var(--sl-navy);
    box-shadow: 0 7px 0 var(--sl-green);
}

.sl-contact-info::after {
    position: absolute;
    content: "";
    width: 160px;
    height: 160px;
    right: -85px;
    bottom: -85px;
    border: 28px solid rgba(2, 172, 230, 0.15);
    border-radius: 50%;
}

.sl-info-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.sl-info-title span {
    color: var(--sl-cyan);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.sl-info-title h3 {
    margin: 5px 0 0;
    font-size: 25px;
}

.sl-info-title > i {
    color: rgba(255, 255, 255, 0.13);
    font-size: 44px;
}

.sl-info-divider {
    height: 1px;
    margin: 25px 0 20px;
    background: rgba(255, 255, 255, 0.2);
}

.sl-info-item {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: flex-start;
    gap: 15px;
    margin-bottom: 22px;
    color: var(--sl-white);
    text-decoration: none;
}

.sl-info-item:last-child {
    margin-bottom: 0;
}

.sl-info-icon {
    flex: 0 0 44px;
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border-radius: 11px;
    color: var(--sl-white);
    background: linear-gradient(135deg, var(--sl-blue), var(--sl-cyan));
    box-shadow: 0 7px 18px rgba(2, 172, 230, 0.2);
    transition: transform 0.25s ease, background 0.25s ease;
}

a.sl-info-item:hover .sl-info-icon {
    transform: translateY(-3px) rotate(-5deg);
    background: var(--sl-green);
}

.sl-info-content {
    min-width: 0;
}

.sl-info-content strong,
.sl-info-content small {
    display: block;
}

.sl-info-content strong {
    margin: 2px 0 5px;
    overflow-wrap: anywhere;
    font-size: 15px;
    line-height: 1.4;
}

.sl-info-content small {
    color: rgba(255, 255, 255, 0.65);
    font-size: 13px;
    line-height: 1.5;
}

@keyframes slContactReveal {
    from {
        opacity: 0;
        transform: translateY(35px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 900px) {
    .sl-contact-section {
        padding: 75px 20px;
    }

    .sl-contact-wrapper {
        grid-template-columns: 1fr;
        padding: 35px;
    }
}

@media (max-width: 575px) {
    .sl-contact-section {
        padding-inline: 14px;
    }

    .sl-contact-wrapper {
        gap: 35px;
        padding: 24px 18px;
        border-radius: 16px;
    }

    .sl-form-grid {
        grid-template-columns: 1fr;
    }

    .sl-contact-info {
        padding: 28px 20px;
    }

    .sl-submit-btn {
        width: 100%;
        justify-content: center;
    }

    .sl-contact-heading p {
        font-size: 14px;
    }
}

.footer{background:white}
.footer h3{font-size:1rem;font-weight:900}
.footer a{display:block;margin-bottom:8px;color:#4d5c7d}.footer p{color:#667085}
.footer .socials{display:flex;gap:10px}
.footer .socials a{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:white}
.footer-bottom{background:#eef4ff}.floating-call{position:fixed;left:24px;bottom:24px;width:60px;height:60px;border-radius:50%;background:var(--yellow);color:var(--ink);display:grid;place-items:center;font-size:1.5rem;z-index:1000;box-shadow:0 8px 25px rgba(0,0,0,.25)}.reveal,.reveal-left,.reveal-right{opacity:0;transition:opacity .8s ease,transform .8s ease}.reveal{transform:translateY(35px)}.reveal-left{transform:translateX(-45px)}.reveal-right{transform:translateX(45px)}.show-reveal{opacity:1;transform:none}@keyframes phoneRing{0%,100%{transform:rotate(0)}10%{transform:rotate(15deg)}20%{transform:rotate(-12deg)}30%{transform:rotate(8deg)}40%{transform:rotate(0)}}@keyframes youtubePulse{0%,100%{box-shadow:0 0 0 10px rgba(18,62,174,.12)}50%{box-shadow:0 0 0 22px rgba(18,62,174,.02)}}@keyframes shine{0%,100%{filter:drop-shadow(0 0 0 rgba(255,182,0,0));transform:translateY(0)}50%{filter:drop-shadow(0 0 14px rgba(255,182,0,.8));transform:translateY(-7px)}}
@media(max-width:991.98px){.navbar-collapse{padding:20px 0}.call-cluster{display:none!important}.hero-image{height:470px;border-radius:24px}.floating-badge{left:15px}.hero-tool{display:none}.section-pad{padding:75px 0}.contact-inner{max-width:none;margin:0;padding-inline:7%}.map-wrap iframe{min-height:420px}.parallax-section{background-attachment:scroll}.before-after{height:380px}.before-layer img{width:100vw}.gallery-carousel .carousel-control-prev{left:5px}.gallery-carousel .carousel-control-next{right:5px}}
@media(max-width:767.98px){.hero-section h1{font-size:2.6rem}.hero-image{height:380px}.estimate-strip .btn{min-height:48px}.experience-number>span{font-size:4.6rem}.image-frame img,.why-photo img{height:380px}.testimonial-card{display:block;text-align:center}.testimonial-card img{margin-bottom:18px}.before-after{height:300px}.before-layer img{width:100vw}.gallery-carousel .col-md-4:not(:first-child){display:none}.gallery-carousel img{height:320px}.coupon{margin-inline:10px}.floating-call{width:52px;height:52px}}
@media print{body *{visibility:hidden}.coupon,.coupon *{visibility:visible}.coupon{position:absolute;left:0;top:0;width:100%}}

/*marquee*/
.marquee {width:100%;margin: 0 auto;overflow: hidden;white-space: nowrap;box-sizing: border-box;animation: marquee 50s linear infinite;color:#fff;transition: 3s}
.marquee img {filter: grayscale(100%);transition: 1s}
.marquee:hover {animation-play-state: paused;}
.marquee:hover img {filter: grayscale(0%);}
/* Make it move */
@keyframes marquee {0%   { text-indent: 27.5em }100% { text-indent: -105em }}

form.CUS input.subject {
    display: none;
}
.CUS input, .CUS textarea,.CUS select{ width: 47%;
  float: left;
  margin-right: 3%;
  margin-top: 15px;
  border-radius: 5px;
  line-height: 40px;
  border: 2px solid #eef1f6;}
textarea {
  width: 100%;
  line-height: 62px;
  margin-bottom: 20px;
  padding: 0 24px;
    padding-top: 0px;
  border-radius: 5px;
  outline: none;
  font-size: 16px;
}
@media (max-width:1200px){.CUS input, .CUS textarea{width: 95%;}}

.youtube-btn {
    width: 70px;
    height: 70px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: #ff0000;
    border-radius: 50%;
    font-size: 32px;
    text-decoration: none;
    transition: transform 0.3s ease, background-color 0.3s ease;
}

.youtube-btn:hover {
    color: #fff;
    background: #cc0000;
    transform: scale(1.08);
}

/* Modal */
.video-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.video-modal:target {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}

.video-modal-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.85);
}

.video-modal-dialog {
    position: relative;
    z-index: 1;
    width: min(900px, 100%);
    padding: 55px 15px 15px;
    background: #111;
    border-radius: 16px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
    transform: scale(0.85);
    transition: transform 0.3s ease;
}

.video-modal:target .video-modal-dialog {
    transform: scale(1);
}

.video-modal-close {
    position: absolute;
    top: 5px;
    right: 18px;
    color: #fff;
    font-size: 38px;
    line-height: 1;
    text-decoration: none;
}

.video-modal-close:hover {
    color: #ff0000;
}

.video-modal iframe {
    border: 0;
}

/*header*/
.sl-hero {
  position: relative;
  min-height: 850px;
  padding: 85px 0 88px;
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(
      circle at 7% 18%,
      rgba(255, 255, 255, 0.2) 0 2px,
      transparent 3px
    ),
    linear-gradient(
      135deg,
      #062d5c 0 32%,
      #07528a 68%,
      #06aee8 100%
    );
}

.sl-hero::before {
  position: absolute;
  right: -8%;
  bottom: -205px;
  left: -8%;
  z-index: -1;
  height: 430px;
  content: "";
  border-radius: 50% 50% 0 0;
  background: linear-gradient(
    90deg,
    rgba(0, 201, 242, 0.9),
    rgba(68, 197, 83, 0.75)
  );
  opacity: 0.38;
  transform: rotate(-5deg);
  animation: sl-wave 8s ease-in-out infinite alternate;
}

.sl-hero::after {
  position: absolute;
  top: -220px;
  right: -160px;
  z-index: -1;
  width: 630px;
  height: 630px;
  content: "";
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 50%;
  box-shadow:
    0 0 0 70px rgba(255, 255, 255, 0.035),
    0 0 0 140px rgba(255, 255, 255, 0.025);
}

.sl-shell {
  position: relative;
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 24px;
}

.sl-main-card {
  position: relative;
  min-height: 675px;
  margin-left: 80px;
  overflow: hidden;
  background: #ffffff;
  box-shadow: 0 24px 70px rgba(0, 23, 51, 0.22);
  animation: sl-reveal 0.9s cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

.sl-photo {
  position: absolute;
  inset: 0 0 0 38%;
  background:
    linear-gradient(
      90deg,
      #ffffff 0%,
      rgba(255, 255, 255, 0.94) 10%,
      rgba(255, 255, 255, 0.46) 42%,
      rgba(255, 255, 255, 0.05) 72%
    ),
    linear-gradient(
      rgba(6, 45, 92, 0.04),
      rgba(6, 45, 92, 0.04)
    ),
    url("../img/air-duct-cleaning-service.webp") center / cover no-repeat;
  animation: sl-photo 14s ease-in-out infinite alternate;
}

.sl-content {
  position: relative;
  z-index: 2;
  width: 54%;
  padding: 135px 30px 110px 50px;
}

.sl-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
  color: #06aee8;
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.sl-eyebrow i {
  color: #44c553;
  font-size: 1.05rem;
}

.sl-title {
  max-width: 720px;
  margin: 0 0 28px;
  color: #062d5c;
  font-size: clamp(3rem, 4.2vw, 3.5rem);
  font-weight: 800;
  line-height: 1.02;
  letter-spacing: -0.045em;
}

.sl-copy {
  max-width: 635px;
  margin-bottom: 36px;
  color: #687483;
  font-size: 1.05rem;
  line-height: 1.75;
}

.sl-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 54px;
  padding: 0 24px;
  overflow: hidden;
  border: 1px solid #06aee8;
  border-left: 6px solid #44c553;
  color: #062d5c;
  background: #ffffff;
  font-weight: 700;
  text-decoration: none;
  transition:
    color 0.35s ease,
    transform 0.35s ease,
    box-shadow 0.35s ease;
}

.sl-btn::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  content: "";
  background: linear-gradient(90deg, #06aee8, #00c9f2);
  transform: translateX(-102%);
  transition: transform 0.4s ease;
}

.sl-btn i {
  color: #44c553;
  transition:
    color 0.35s ease,
    transform 0.35s ease;
}

.sl-btn:hover {
  color: #ffffff;
  box-shadow: 0 12px 28px rgba(6, 174, 232, 0.25);
  transform: translateY(-3px);
}

.sl-btn:hover::before {
  transform: translateX(0);
}

.sl-btn:hover i {
  color: #ffffff;
  transform: translate(3px, -3px);
}

.sl-socials {
  position: absolute;
  top: 110px;
  left: 0;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 17px;
  color: #ffffff;
}

.sl-socials::before,
.sl-socials::after {
  width: 1px;
  height: 145px;
  content: "";
  background: rgba(255, 255, 255, 0.75);
}

.sl-socials a {
  color: #ffffff;
  font-size: 1rem;
  transition:
    color 0.25s ease,
    transform 0.25s ease;
}

.sl-socials a:hover {
  color: #44c553;
  transform: scale(1.2);
}

.sl-video-card {
  position: absolute;
  right: 8.5%;
  bottom: -88px;
  z-index: 5;
  display: grid;
  width: 245px;
  height: 345px;
  padding-top: 22px;
  place-items: start center;
  border-top: 5px solid #44c553;
  background: #eef9fd;
  box-shadow: 0 22px 40px rgba(0, 31, 65, 0.18);
  border-radius: 150px 150px 0 0;
}

.sl-video-ring {
  position: relative;
  display: grid;
  width: 215px;
  aspect-ratio: 1;
  place-items: center;
  border-radius: 50%;
  background: #ffffff;
}

.sl-ring-text {
  position: absolute;
  inset: 0;
  animation: sl-spin 18s linear infinite;
}

.sl-ring-text span {
  position: absolute;
  top: 50%;
  left: 50%;
  color: #062d5c;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.05em;
  transform-origin: 0 0;
}

.sl-play {
  display: grid;
  width: 78px;
  height: 78px;
  place-items: center;
  border-radius: 50%;
  color: #ffffff;
  background: linear-gradient(135deg, #44c553, #06aee8);
  box-shadow: 0 0 0 12px rgba(6, 174, 232, 0.1);
  font-size: 1.5rem;
  text-decoration: none;
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;z-index: 999999;position: relative
}

.sl-play:hover {
  color: #ffffff;
  box-shadow: 0 0 0 18px rgba(68, 197, 83, 0.13);
  transform: scale(1.08);
}

.sl-hours {
  position: absolute;
  left: 0;
  bottom: -48px;
  z-index: 4;
  min-width: 350px;
  padding: 28px 42px;
  color: #687483;
  background: #ffffff;
  box-shadow: 0 15px 35px rgba(0, 31, 65, 0.12);
  font-weight: 500;
}

.sl-hours i {
  margin-right: 10px;
  color: #44c553;
  font-size: 1.25rem;
}

/* ================================
   CSS animations
================================ */

@keyframes sl-reveal {
  from {
    opacity: 0;
    transform: translateY(35px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes sl-photo {
  from {
    background-position: 48% center;
  }

  to {
    background-position: 54% center;
  }
}

@keyframes sl-float {
  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-12px);
  }
}

@keyframes sl-spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes sl-wave {
  from {
    transform: rotate(-5deg) translateX(-3%);
  }

  to {
    transform: rotate(-2deg) translateX(3%);
  }
}

/* ================================
   Large tablets
================================ */

@media (max-width: 1199.98px) {
  .sl-main-card {
    margin-left: 55px;
  }

  .sl-content {
    width: 61%;
    padding-left: 42px;
  }

  .sl-photo {
    left: 34%;
  }

  .sl-video-card {
    right: 5%;
  }

  .sl-hours {
    right: 23%;
  }
}

/* ================================
   Tablets
================================ */

@media (max-width: 991.98px) {
  .sl-hero {
    min-height: auto;
    padding: 45px 0 100px;
  }

  .sl-main-card {
    min-height: 700px;
    margin: 0 15px;
  }

  .sl-photo {
    inset: 0;
    background:
      linear-gradient(
        90deg,
        rgba(255, 255, 255, 0.97),
        rgba(255, 255, 255, 0.85) 64%,
        rgba(255, 255, 255, 0.45)
      ),
      url("../img/air-duct-cleaning-service.webp") center / cover no-repeat;
  }

  .sl-content {
    width: 78%;
    padding: 105px 42px;
  }

  .sl-socials {
    display: none;
  }

  .sl-video-card {
    right: 34px;
    bottom: -65px;
    width: 205px;
    height: 255px;
  }

  .sl-video-ring {
    width: 175px;
  }

  .sl-hours {
    right: auto;
    bottom: -52px;
    left: 35px;
    min-width: 300px;
  }
}

/* ================================
   Mobile
================================ */

@media (max-width: 767.98px) {
  .sl-shell {
    padding: 0 12px;
  }

  .sl-main-card {
    min-height: 650px;
    margin: 0;
  }

  .sl-content {
    width: 100%;
    padding: 80px 25px 160px;
  }

  .sl-copy {
    font-size: 0.98rem;
  }

  .sl-photo {
    background:
      linear-gradient(
        rgba(255, 255, 255, 0.95),
        rgba(255, 255, 255, 0.82)
      ),
      url("../img/air-duct-cleaning-service.webp") 62% center / cover no-repeat;
  }

  .sl-video-card {
    right: 18px;
    bottom: -68px;
    width: 145px;
    height: 205px;
    padding-top: 15px;
  }

  .sl-video-ring {
    width: 118px;
  }

  .sl-play {
    width: 55px;
    height: 55px;
    font-size: 1rem;
  }

  .sl-ring-text {
    display: none;
  }

  .sl-hours {
    right: auto;
    bottom: -45px;
    left: 18px;
    width: calc(100% - 178px);
    min-width: 0;
    padding: 22px 16px;
    font-size: 0.83rem;
  }
}

/* ================================
   Reduced motion accessibility
================================ */

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
  }
}
/*header*/
@font-face{font-display:block;font-family:bootstrap-icons;src:url("../fonts/bootstrap-icons.woff2?dd67030699838ea613ee6dbda90effa6") format("woff2"),url("../fonts/bootstrap-icons.woff?dd67030699838ea613ee6dbda90effa6") format("woff")}
.bi::before,[class*=" bi-"]::before,[class^=bi-]::before{display:inline-block;font-family:bootstrap-icons!important;font-style:normal;font-weight:400!important;font-variant:normal;text-transform:none;line-height:1;vertical-align:-.125em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.bi-arrow-right::before{content:"\f138"}.bi-award::before{content:"\f154"}.bi-calendar2-check::before{content:"\f1f8"}.bi-chat-dots::before{content:"\f24a"}.bi-chevron-left::before{content:"\f284"}.bi-chevron-right::before{content:"\f285"}.bi-clock-history::before{content:"\f292"}.bi-clock::before{content:"\f293"}.bi-cloud-check::before{content:"\f299"}.bi-envelope-fill::before{content:"\f32c"}.bi-envelope::before{content:"\f32f"}.bi-facebook::before{content:"\f344"}.bi-geo-alt-fill::before{content:"\f3e7"}.bi-geo-alt::before{content:"\f3e8"}.bi-hand-thumbs-up::before{content:"\f407"}.bi-headset::before{content:"\f414"}.bi-instagram::before{content:"\f437"}.bi-patch-check-fill::before{content:"\f4b5"}.bi-person-badge::before{content:"\f4d3"}.bi-shield-check::before{content:"\f52f"}.bi-shield-plus::before{content:"\f53a"}.bi-speedometer2::before{content:"\f580"}
.bi-star-fill::before{content:"\f586"}
.bi-stars::before{content:"\f589"}.bi-telephone-fill::before{content:"\f5b4"}.bi-telephone::before{content:"\f5c1"}.bi-wind::before{content:"\f61d"}.bi-youtube::before{content:"\f62b"}.bi-fan::before{content:"\f670"}.bi-house-heart::before{content:"\f776"}.bi-buildings::before{content:"\f87d"}.bi-house-check::before{content:"\f889"}.bi-arrows::before{content:"\f6a2"}.bi-twitter-x::before{content:"\f8db"}
.bi-play-fill::before{content:"\f4f4"}
.bi-linkedin::before{content:"\f472"}