:root{
  --primary:#0b9f9a;
  --primary-dark:#087a78;
  --navy:#0d2851;
  --accent:#18b783;
  --light:#f4f8fa;
  --text:#263547;
}
html{scroll-behavior:smooth}
body{font-family:Arial,Helvetica,sans-serif;color:var(--text);line-height:1.65}
a{text-decoration:none}
.topbar{background:var(--navy);color:#fff;font-size:.92rem}
.navbar-brand img{height:58px;max-width:280px;object-fit:contain}
.navbar .nav-link{font-weight:700;color:var(--navy)!important;margin:0 .35rem}
.navbar .nav-link.active,.navbar .nav-link:hover{color:var(--primary)!important}
.btn-brand{background:var(--primary);color:#fff;border:0;padding:.75rem 1.2rem;border-radius:.5rem;font-weight:700}
.btn-brand:hover{background:var(--primary-dark);color:#fff}
.btn-outline-brand{border:2px solid var(--primary);color:var(--primary);font-weight:700}
.btn-outline-brand:hover{background:var(--primary);color:#fff}
.hero{min-height:78vh;background:linear-gradient(90deg,rgba(7,29,57,.92),rgba(7,29,57,.55)),url('../images/pressure-clean-3.jpeg') center/cover no-repeat;display:flex;align-items:center;color:#fff}
.hero h1{font-size:clamp(2.3rem,5vw,4.8rem);font-weight:800;line-height:1.08}
.hero .lead{font-size:1.2rem;max-width:720px}
.section-title{font-weight:800;color:var(--navy)}
.section-subtitle{color:var(--primary);font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.bg-soft{background:var(--light)}
.service-card,.feature-card,.contact-card{border:0;border-radius:1rem;box-shadow:0 10px 30px rgba(13,40,81,.09);height:100%;transition:.25s ease;background:#fff}
.service-card:hover,.feature-card:hover{transform:translateY(-7px);box-shadow:0 16px 38px rgba(13,40,81,.16)}
.icon-circle{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:rgba(11,159,154,.12);color:var(--primary);font-size:1.65rem}
.stats{background:linear-gradient(135deg,var(--navy),#153d73);color:#fff}
.stat-number{font-size:2.3rem;font-weight:800;color:#7ee7d0}
.gallery-img{width:100%;height:290px;object-fit:cover;border-radius:.85rem;box-shadow:0 8px 24px rgba(0,0,0,.14)}
.page-header{padding:115px 0 75px;background:linear-gradient(90deg,rgba(7,29,57,.93),rgba(7,29,57,.65)),url('../images/coil-clean-2.jpeg') center/cover;color:#fff}
.page-header h1{font-weight:800;font-size:clamp(2.2rem,4vw,4rem)}
.check-list{list-style:none;padding-left:0}.check-list li{margin:.7rem 0;padding-left:1.8rem;position:relative}.check-list li:before{content:'✓';position:absolute;left:0;color:var(--accent);font-weight:900}
.cta{background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;border-radius:1.25rem}
.footer{background:#071d39;color:#d6e0eb}.footer h5{color:#fff;font-weight:800}.footer a{color:#d6e0eb}.footer a:hover{color:#7ee7d0}
.floating-whatsapp{position:fixed;right:18px;bottom:20px;width:58px;height:58px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;font-size:1.8rem;box-shadow:0 8px 22px rgba(0,0,0,.26);z-index:999}
.before-after-label{position:absolute;top:14px;left:14px;background:rgba(7,29,57,.85);color:#fff;padding:.35rem .7rem;border-radius:.4rem;font-weight:700}
.form-control,.form-select{padding:.85rem 1rem;border-radius:.6rem}
.map-frame{width:100%;min-height:390px;border:0;border-radius:1rem}
@media(max-width:991px){.navbar-brand img{height:48px;max-width:220px}.hero{min-height:70vh}.topbar{text-align:center}.gallery-img{height:240px}}

/* Home hero slider */
.hero-slider-wrap,.hero-slider-wrap .carousel,.hero-slider-wrap .carousel-inner{min-height:78vh}
.hero-slide{min-height:78vh;position:relative;background-position:center;background-size:cover;background-repeat:no-repeat;color:#fff}
.hero-slide-1{background-image:url('../images/project-19.jpg')}
.hero-slide-2{background-image:url('../images/project-24.jpg')}
.hero-slide-3{background-image:url('../images/project-35.jpg')}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,29,57,.94),rgba(7,29,57,.62),rgba(7,29,57,.25))}
.hero-content{position:relative;z-index:2;min-height:78vh;display:flex;align-items:center;padding-top:70px;padding-bottom:90px}
.hero-slide h1{font-size:clamp(2.3rem,5vw,4.8rem);font-weight:800;line-height:1.08}
.hero-slide .lead{font-size:1.2rem;max-width:760px}
.hero-slider-wrap .carousel-control-prev,.hero-slider-wrap .carousel-control-next{width:7%}
.hero-slider-wrap .carousel-indicators [data-bs-target]{width:34px;height:4px;border:0;border-radius:4px}
.hero-animate{opacity:0;transform:translateY(28px)}
.carousel-item.active .hero-animate{animation:heroRise .75s ease forwards}
.carousel-item.active .delay-1{animation-delay:.12s}.carousel-item.active .delay-2{animation-delay:.25s}.carousel-item.active .delay-3{animation-delay:.4s}.carousel-item.active .delay-4{animation-delay:.55s}
@keyframes heroRise{to{opacity:1;transform:translateY(0)}}

/* Scroll reveal animations */
.reveal{opacity:0;transform:translateY(36px);transition:opacity .75s ease,transform .75s ease}
.reveal.reveal-left{transform:translateX(-45px)}
.reveal.reveal-right{transform:translateX(45px)}
.reveal.is-visible{opacity:1;transform:translate(0,0)}
.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}
.service-card .icon-circle{transition:transform .35s ease,background .35s ease,color .35s ease}
.service-card:hover .icon-circle{transform:rotate(8deg) scale(1.08);background:var(--primary);color:#fff}
.gallery-img{transition:transform .4s ease,box-shadow .4s ease}
.gallery-img:hover{transform:scale(1.025);box-shadow:0 16px 36px rgba(0,0,0,.2)}
.floating-whatsapp{animation:whatsappPulse 2.2s infinite}
@keyframes whatsappPulse{0%,100%{box-shadow:0 8px 22px rgba(0,0,0,.26),0 0 0 0 rgba(37,211,102,.42)}50%{box-shadow:0 8px 22px rgba(0,0,0,.26),0 0 0 14px rgba(37,211,102,0)}}
@media(max-width:991px){.hero-slider-wrap,.hero-slider-wrap .carousel,.hero-slider-wrap .carousel-inner,.hero-slide,.hero-content{min-height:70vh}.hero-slider-wrap .carousel-control-prev,.hero-slider-wrap .carousel-control-next{display:none}}
@media(prefers-reduced-motion:reduce){.hero-animate,.carousel-item.active .hero-animate,.reveal,.floating-whatsapp{animation:none!important;transition:none!important;opacity:1!important;transform:none!important}}

/* Expanded project gallery */
.gallery-header{background-image:linear-gradient(90deg,rgba(7,29,57,.93),rgba(7,29,57,.58)),url('../images/project-31.jpg')}
.gallery-card{position:relative;display:block;overflow:hidden;border-radius:.9rem}
.gallery-card .gallery-img{display:block;border-radius:.9rem}
.gallery-caption{position:absolute;left:0;right:0;bottom:0;padding:1rem 1.1rem;color:#fff;display:flex;justify-content:space-between;align-items:center;font-weight:700;background:linear-gradient(transparent,rgba(5,20,40,.92));transform:translateY(18px);opacity:0;transition:.3s ease}
.gallery-card:hover .gallery-caption{transform:translateY(0);opacity:1}
.btn-filter{border:1px solid rgba(11,159,154,.35);color:var(--navy);font-weight:700;border-radius:999px;padding:.55rem 1rem;background:#fff}
.btn-filter:hover,.btn-filter.active{background:var(--primary);border-color:var(--primary);color:#fff}
.gallery-item{transition:opacity .3s ease,transform .3s ease}
.gallery-item.is-hidden{display:none}
#imageModalPhoto{max-height:78vh;object-fit:contain}
@media(max-width:767px){.gallery-caption{opacity:1;transform:none}.gallery-img{height:260px}}
