:root{--navy:#0b2a4a;--teal:#0f8b8d;--light:#f3f7f9;--text:#1d2b36;--muted:#5b6b78}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--text);line-height:1.6}
a{color:var(--teal)}img{max-width:100%}
.wrap{max-width:1100px;margin:auto;padding:0 20px}
header{background:#fff;border-bottom:1px solid #e3e9ee;position:sticky;top:0;z-index:10}
.nav{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;max-width:1100px;margin:auto}
.nav img{height:52px}.nav ul{list-style:none;display:flex;gap:22px;margin:0;padding:0}
.nav a{text-decoration:none;color:var(--navy);font-weight:600}
.menu-btn{display:none;background:none;border:1px solid #ccd;border-radius:6px;padding:6px 10px;font-size:20px}
@media(max-width:760px){.menu-btn{display:block}.nav ul{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;flex-direction:column;padding:16px 20px;border-bottom:1px solid #e3e9ee}.nav ul.open{display:flex}}
.hero{background:linear-gradient(135deg,var(--navy),#134e6f 60%,var(--teal));color:#fff;padding:90px 0 80px}
.hero h1{font-size:clamp(2rem,4.5vw,3.1rem);line-height:1.15;margin:0 0 16px}.hero p{font-size:1.15rem;max-width:640px;opacity:.95}
.btn{display:inline-block;background:var(--teal);color:#fff;padding:12px 24px;border-radius:6px;text-decoration:none;font-weight:600;border:0;cursor:pointer;font-size:1rem}
.btn.alt{background:#fff;color:var(--navy);margin-left:10px}
section{padding:64px 0}section.alt{background:var(--light)}
h2{color:var(--navy);font-size:2rem;margin-top:0}
.grid{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.card{background:#fff;border:1px solid #e3e9ee;border-radius:10px;padding:24px}.card h3{margin-top:0;color:var(--navy)}
.ph{background:#fff3cd;border:1px dashed #c9a227;padding:1px 6px;border-radius:4px;font-size:.9em}
.page-head{background:var(--navy);color:#fff;padding:50px 0}.page-head h1{margin:0}
form label{display:block;font-weight:600;margin:14px 0 4px}form input,form textarea,form select{width:100%;padding:10px;border:1px solid #c5d0d8;border-radius:6px;font:inherit}
footer{background:var(--navy);color:#cfdbe5;padding:36px 0;font-size:.95rem}footer a{color:#fff}
/* v2 */
header{box-shadow:0 2px 14px rgba(11,42,74,.08)}
.nav{padding:8px 20px}.nav img{height:84px;display:block}
.nav a.cta{background:var(--teal);color:#fff;padding:9px 16px;border-radius:6px}
@media(max-width:760px){.nav img{height:64px}.nav ul{top:80px}}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.8rem;font-weight:700;color:var(--teal)}
.hero2{position:relative;min-height:78vh;display:flex;align-items:center;color:#fff;background:#0b2a4a center/cover no-repeat}
.hero2::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(8,30,54,.94) 0%,rgba(11,42,74,.82) 45%,rgba(15,139,141,.35) 100%)}
.hero2 .wrap{position:relative;padding:90px 20px}.hero2 h1{font-size:clamp(2.2rem,5vw,3.8rem);line-height:1.08;margin:.3em 0;max-width:820px}
.hero2 p{font-size:1.2rem;max-width:640px;opacity:.95}.hero2 .eyebrow{color:#7fe0e2}
.trust{background:#fff;border-bottom:1px solid #e3e9ee}.trust .wrap{display:flex;flex-wrap:wrap;gap:12px 34px;justify-content:center;padding:22px 20px;font-weight:600;color:var(--navy)}
.trust span::before{content:"✓ ";color:var(--teal)}
.card{transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(11,42,74,.12)}
.icon{width:46px;height:46px;border-radius:10px;background:linear-gradient(135deg,var(--navy),var(--teal));color:#fff;display:grid;place-items:center;font-size:1.3rem;margin-bottom:12px}
.split{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center}@media(max-width:860px){.split{grid-template-columns:1fr}}
.split img{border-radius:14px;box-shadow:0 18px 40px rgba(11,42,74,.25);width:100%}
.feature{background:linear-gradient(135deg,var(--navy),#134e6f);color:#fff}.feature h2{color:#fff}.feature a.btn.alt{margin-left:0}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin:24px 0}
.kpi{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:10px;padding:16px}.kpi b{display:block;font-size:1.4rem;color:#7fe0e2}
.cta-band{background:linear-gradient(90deg,var(--teal),#0b6f86);color:#fff;text-align:center}.cta-band h2{color:#fff}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.gallery a{display:block;overflow:hidden;border-radius:10px;position:relative}.gallery img{width:100%;height:210px;object-fit:cover;display:block;transition:transform .3s}
.gallery a:hover img{transform:scale(1.06)}.gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:8px 10px;font-size:.85rem;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.75))}
.lb{position:fixed;inset:0;background:rgba(5,15,28,.92);display:none;align-items:center;justify-content:center;z-index:99;flex-direction:column;padding:20px}
.lb.open{display:flex}.lb img{max-width:92vw;max-height:80vh;border-radius:8px}.lb p{color:#fff}.lb button{position:absolute;top:16px;right:22px;background:none;border:0;color:#fff;font-size:2.2rem;cursor:pointer}
.timeline{border-left:3px solid var(--teal);margin:0;padding:0 0 0 26px;list-style:none}.timeline li{position:relative;margin-bottom:22px}
.timeline li::before{content:"";position:absolute;left:-34px;top:6px;width:13px;height:13px;border-radius:50%;background:#fff;border:3px solid var(--teal)}
.timeline b{color:var(--navy)}.steps{counter-reset:s}.steps .card h3::before{counter-increment:s;content:counter(s,decimal-leading-zero) "  ";color:var(--teal)}
.proj-card img{width:100%;height:auto;aspect-ratio:160/93;object-fit:cover;border-radius:8px 8px 0 0}.proj-card{padding:0;overflow:hidden}.proj-card .b{padding:20px}
.tag{display:inline-block;background:#e6f4f4;color:#0b6f70;border-radius:20px;padding:2px 10px;font-size:.8rem;font-weight:600;margin-right:6px}
/* hero slideshow */
.hero3{position:relative;min-height:80vh;display:flex;align-items:center;color:#fff;overflow:hidden;background:#0b2a4a}
.hero3 .slide{position:absolute;inset:0;background:center/cover no-repeat;opacity:0;transition:opacity 1.2s ease}.hero3 .slide.on{opacity:1}
.hero3 .shade{position:absolute;inset:0;background:linear-gradient(100deg,rgba(8,30,54,.85) 0%,rgba(11,42,74,.6) 50%,rgba(11,42,74,.25) 100%)}
.hero3-in{position:relative;display:flex;align-items:center;justify-content:space-between;gap:40px;padding:90px 20px;width:100%}
.htxt{max-width:640px}.htxt h1{font-size:clamp(2.2rem,5vw,3.8rem);line-height:1.08;margin:.3em 0}.htxt p{font-size:1.2rem;opacity:.95}.htxt .eyebrow{color:#7fe0e2}
.hlogo{width:340px;max-width:32vw;filter:drop-shadow(0 10px 30px rgba(0,0,0,.45));animation:lin 1.1s ease both}
.hlogo.re{animation:none}
@keyframes lin{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}
.arr{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.35);color:#fff;font-size:2rem;width:44px;height:44px;border-radius:50%;cursor:pointer;line-height:1}
.arr.prev{left:14px}.arr.next{right:14px}.arr:hover{background:rgba(255,255,255,.3)}
.dots{position:absolute;bottom:20px;left:0;right:0;display:flex;gap:10px;justify-content:center}
.dot{width:11px;height:11px;border-radius:50%;border:2px solid #fff;background:transparent;cursor:pointer;padding:0}.dot.on{background:#fff}
@media(max-width:860px){.hero3-in{flex-direction:column-reverse;align-items:flex-start;padding:60px 24px 70px}.hlogo{width:180px;max-width:50vw}.arr{display:none}}
@media(max-width:420px){.hlogo{width:130px}}
@media(prefers-reduced-motion:reduce){.hero3 .slide{transition:none}.hlogo{animation:none}}
/* ===== mobile-first redesign (<=768px) ===== */
.m-only{display:none}.mbar{display:none}
@media(max-width:768px){
body{font-size:17px;line-height:1.65;padding-bottom:72px}
.wrap{padding:0 20px}section{padding:52px 0}h2{font-size:1.65rem;line-height:1.25}
.nav{padding:6px 16px}.nav img{height:52px}.menu-btn{font-size:24px;padding:8px 12px}
.nav ul{top:64px;padding:8px 20px 18px;box-shadow:0 12px 24px rgba(0,0,0,.12)}.nav ul li a{display:block;padding:12px 0;font-size:1.1rem;border-bottom:1px solid #eef2f5}.nav a.cta{text-align:center;margin-top:10px}
.m-only{display:block}.d-only{display:none!important}
.hero3{min-height:calc(100svh - 64px)}.hero3 .shade{background:linear-gradient(180deg,rgba(8,30,54,.55),rgba(8,30,54,.85))}
.hero3-in{flex-direction:column!important;align-items:center!important;text-align:center;justify-content:center;padding:40px 22px 80px!important;gap:18px}
.hlogo{width:62vw!important;max-width:260px!important}.htxt h1{font-size:2.1rem}.htxt .eyebrow{font-size:.75rem}
.mcta{display:flex;flex-direction:column;gap:12px;width:100%;max-width:340px;margin:8px auto 0}.mcta .btn{display:block;text-align:center;padding:16px;font-size:1.1rem;border-radius:10px;margin:0}
.dots{bottom:24px}
.hero2{min-height:60svh}.hero2 h1{font-size:2rem}.page-head{padding:36px 0}
.trust .wrap{flex-direction:column;align-items:flex-start;gap:8px;font-size:.95rem}
/* swipe carousels */
.swipe{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin:0 -20px;padding:4px 20px 14px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.swipe::-webkit-scrollbar{display:none}.swipe>*{flex:0 0 82%;scroll-snap-align:center}
.gallery.swipe img{height:240px}.split{gap:26px}.kpis{grid-template-columns:1fr 1fr}
.mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;background:#fff;border-top:1px solid #dde5ea;box-shadow:0 -6px 18px rgba(0,0,0,.08)}
.mbar a{flex:1;text-align:center;padding:10px 4px 12px;font-weight:700;font-size:.85rem;color:var(--navy);text-decoration:none}
.mbar a span{display:block;font-size:1.3rem}.mbar a.pri{background:var(--teal);color:#fff}
form input,form textarea,form select{font-size:16px;padding:14px}.btn{padding:14px 22px}
}
@media(max-width:768px){.hlogo{order:-1}.htxt{display:flex;flex-direction:column;align-items:center}}
/* ===== Mold Prevention Monitoring ===== */
.nav a.on{color:var(--teal)}
.mpm-hero{position:relative;overflow:hidden;background:radial-gradient(1200px 600px at 80% 30%,#14406b 0%,#0a213c 55%,#071a30 100%);color:#fff}
.mpm-glow{position:absolute;inset:0;background:linear-gradient(transparent 0 0),repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 64px),repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 64px)}
.mpm-hero-in{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;padding:80px 20px}
.mpm-pill{display:inline-block;border:1px solid rgba(60,196,122,.6);color:#9fe8bf;border-radius:30px;padding:6px 14px;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700}
.mpm-hero h1{color:#fff;font-size:clamp(2.4rem,5.4vw,4.4rem);line-height:1.02;margin:.35em 0 .3em;letter-spacing:-.02em}
.mpm-hero h1 span{color:#3cc47a;display:block}
.mpm-hero .lead{font-size:1.3rem;opacity:.95;max-width:560px}
.mpm-ticks{list-style:none;padding:0;margin:22px 0}.mpm-ticks li{margin:10px 0;font-size:1.05rem;opacity:.95}
.mpm-btns .btn{margin:6px 10px 6px 0}
.btn.ghost{background:transparent;border:1.5px solid rgba(255,255,255,.7);color:#fff}
.btn.ghost:hover{background:rgba(255,255,255,.1)}
.mpm-hero-art img{width:100%;border-radius:20px;box-shadow:0 30px 80px rgba(0,0,0,.45),0 0 0 1px rgba(255,255,255,.08);animation:mpmfloat 6s ease-in-out infinite}
@keyframes mpmfloat{50%{transform:translateY(-10px)}}
.mpm-center{text-align:center;max-width:760px;margin:0 auto 30px}
.mpm-chain{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin:30px 0;counter-reset:c}
.mpm-chain div{background:#fff;border:1px solid #e3e9ee;border-radius:14px;padding:20px;position:relative}
.mpm-chain i{font-style:normal;font-size:1.6rem;display:block;margin-bottom:8px}
.mpm-chain b{display:block;color:var(--navy);margin-bottom:6px}.mpm-chain span{font-size:.92rem;color:var(--muted)}
.mpm-chain .bad{border-color:#f2b8a0;background:#fff5f0}
.mpm-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.mpm-stats div{background:linear-gradient(135deg,var(--navy),#134e6f);color:#fff;border-radius:14px;padding:24px}
.mpm-stats b{font-size:2.4rem;display:block;color:#7fe0e2;line-height:1.1;margin-bottom:6px}
.mpm-shot{width:100%;border-radius:16px;box-shadow:0 18px 50px rgba(11,42,74,.2);background:#fff}
.mpm-shot.wide{margin-top:30px}
.mpm-bands div{border-left:5px solid var(--c);background:#fff;border-radius:8px;padding:10px 14px;margin:10px 0}
.mpm-bands b{color:var(--navy);margin-right:6px}
.small{font-size:.88rem;color:var(--muted)}
.mpm-zones small,.mpm-price small,.mpm-phases small{text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:700;color:var(--teal)}
.mpm-zones h3{margin:.3em 0}.muted{color:var(--muted);font-size:.92rem}
.mpm-rule{background:var(--light);border-radius:8px;padding:10px 12px;margin-top:10px}.mpm-rule b{color:var(--navy);font-size:1.4rem;margin-right:6px}
.mpm-rule.hot{background:#fff1ea}.mpm-rule.hot b{color:#d9531e}
.mpm-dark{background:linear-gradient(160deg,#0a213c,#12325a);color:#fff}.mpm-dark h2,.mpm-dark h3{color:#fff}
.mpm-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.mpm-steps div{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:22px}
.mpm-steps span{font-weight:800;color:#3cc47a;font-size:1.6rem}.mpm-steps p{opacity:.9;font-size:.95rem}
.mpm-who .card h3{margin-top:4px}
.mpm-guar{background:linear-gradient(135deg,#eaf8f0,#e6f3f8)}
.mpm-seal{max-width:340px;justify-self:center;border-radius:50%;box-shadow:0 20px 50px rgba(11,42,74,.25)}
.mpm-phases{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:20px 0}
.mpm-phases div{background:var(--navy);color:#fff;padding:12px;border-radius:8px;clip-path:polygon(0 0,90% 0,100% 50%,90% 100%,0 100%,6% 50%)}
.mpm-phases div small{color:#7fe0e2}.mpm-phases div b{display:block}
.mpm-phases .on{background:#1e9e57}
.mpm-price-wrap{align-items:start}
.mpm-price{background:linear-gradient(160deg,#0a213c,#12325a);color:#fff;border-radius:22px;padding:32px;box-shadow:0 24px 60px rgba(11,42,74,.3)}
.mpm-price h3{color:#fff;font-size:1.5rem;margin-top:0}.mpm-price small{color:#7fe0e2}
.mpm-price .row{border-top:1px solid rgba(255,255,255,.12);padding-top:16px;margin-top:16px}
.mpm-price .amt{font-size:1.5rem;font-weight:800;margin:4px 0}.mpm-price sup{color:#3cc47a;font-size:1.1rem}
.mpm-price ul{padding-left:0;list-style:none}.mpm-price li{margin:6px 0;opacity:.92}.mpm-price li::before{content:"✓ ";color:#3cc47a;font-weight:700}
.mpm-price .note{font-style:italic;font-size:.85rem;color:#b9cbe0;margin:18px 0}
details{border-bottom:1px solid #e3e9ee;padding:14px 0}summary{font-weight:700;color:var(--navy);cursor:pointer}details p{margin:.6em 0 0}
.mpm-dl{margin-left:0!important;border:1.5px solid var(--navy)}
/* homepage feature */
.mpm-feature{background:radial-gradient(900px 400px at 85% 50%,#14406b,#0a213c 70%);color:#fff;padding:0}
.mpm-feature .wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center;padding:60px 20px}
.mpm-feature h2{color:#fff;font-size:clamp(1.8rem,3.6vw,2.8rem);margin:.3em 0}.mpm-feature h2 span{color:#3cc47a}
.mpm-feature img{width:100%;border-radius:18px;box-shadow:0 24px 60px rgba(0,0,0,.4)}
.mpm-feature .btn{margin:6px 10px 6px 0}
.mpm-badge{display:inline-block;background:#3cc47a;color:#06233c;font-weight:800;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;padding:5px 12px;border-radius:30px;animation:mpmpulse 2.4s infinite}
@keyframes mpmpulse{0%{box-shadow:0 0 0 0 rgba(60,196,122,.6)}70%{box-shadow:0 0 0 14px rgba(60,196,122,0)}100%{box-shadow:0 0 0 0 rgba(60,196,122,0)}}
/* hero per-slide text */
.hero3 .htxt.mt{display:none}.hero3.mpm .htxt.mt{display:block}.hero3.mpm .htxt.dt{display:none}
.hero3 .htxt.mt h1 span{color:#3cc47a}
@media(max-width:860px){.mpm-hero-in,.mpm-feature .wrap{grid-template-columns:1fr}.mpm-chain{grid-template-columns:1fr 1fr}.mpm-steps{grid-template-columns:1fr 1fr}.mpm-stats{grid-template-columns:1fr}}
@media(max-width:768px){.mpm-hero-in{padding:44px 22px 50px}.mpm-hero-art{order:-1;max-width:100%;margin:0 auto}.mpm-chain,.mpm-steps{grid-template-columns:1fr}.mpm-phases{grid-template-columns:1fr 1fr}.mpm-btns .btn{display:block;text-align:center;margin:10px 0}.mpm-feature .wrap{padding:44px 22px}.mpm-feature .btn{display:block;text-align:center;margin:10px 0}.mpm-price{padding:24px}.hero3.mpm .htxt.mt{display:flex}}
@media(prefers-reduced-motion:reduce){.mpm-hero-art img,.mpm-badge{animation:none}}
.hero3 .shade{transition:background .8s}.hero3.mpm .shade{background:linear-gradient(100deg,rgba(7,26,48,.9) 0%,rgba(7,26,48,.72) 55%,rgba(7,26,48,.55) 100%)}
.mpm-seal{box-shadow:none;border-radius:0;mix-blend-mode:multiply;background:none}.mpm-dark .mpm-shot{background:none;box-shadow:0 18px 50px rgba(0,0,0,.35)}

/* SEO/speed pass: intrinsic sizes on logos without changing their displayed size */
.nav img{width:auto}.hlogo{height:auto}
