/* Mold Removal Near You */
:root{
  --green:oklch(32% .06 155);--green-2:oklch(40% .07 155);--green-deep:oklch(22% .045 155);
  --lime:oklch(92% .19 118);--lime-ink:oklch(35% .09 125);
  --paper:oklch(98.5% .004 120);--tint:oklch(95.5% .008 120);
  --ink:oklch(20% .02 155);--body:oklch(40% .02 155);--line:oklch(88% .01 120);
  --on-dark:oklch(86% .02 150);--on-dark-muted:oklch(74% .025 150);
  --r:18px;--ease:cubic-bezier(.22,1,.36,1);
  --z-nav:10;--z-menu:20;
  --gutter:clamp(1.25rem,5vw,4rem);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:inherit}
img{max-width:100%;height:auto;display:block}
.wrap{width:min(1160px,100% - 2*var(--gutter));margin-inline:auto}
h1,h2,h3{font-family:"Inter Tight",Inter,system-ui,sans-serif;letter-spacing:-.03em;line-height:1;font-weight:600;text-wrap:balance}
h1{font-size:clamp(2.75rem,2rem + 4.5vw,5.25rem)}
h2{font-size:clamp(2rem,1.4rem + 2.6vw,3.4rem);letter-spacing:-.025em}
h3{font-size:1.2rem;letter-spacing:-.01em;line-height:1.2}
p{color:var(--body);text-wrap:pretty;max-width:62ch}
.lede{font-size:clamp(1.05rem,1rem + .4vw,1.25rem)}
:focus-visible{outline:3px solid var(--lime);outline-offset:3px;border-radius:4px}

/* buttons */
.btn{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;padding:.95rem 1.75rem;border-radius:999px;background:var(--lime);color:var(--ink);font:inherit;font-weight:700;text-decoration:none;text-align:center;line-height:1.2;border:1.5px solid transparent;cursor:pointer;white-space:nowrap;transition:background-color .25s var(--ease),border-color .25s var(--ease)}
.btn:hover{background:oklch(88% .2 118)}
.btn small{font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--lime-ink)}
.btn.dark{background:var(--green-deep);color:#fff}
.btn.dark:hover{background:var(--green)}
.btn.sm{padding:.6rem 1.15rem;font-size:.875rem}
.btn.ghost{background:transparent;border-color:oklch(100% 0 0 / .35);color:#fff}
.btn.ghost:hover{background:oklch(100% 0 0 / .1);border-color:oklch(100% 0 0 / .6)}

/* nav */
.nav{position:sticky;top:0;z-index:var(--z-nav);background:oklch(98.5% .004 120 / .85);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:68px;gap:1rem}
.brand{display:flex;align-items:center;gap:.6rem;font-weight:700;text-decoration:none;font-size:.95rem;letter-spacing:-.01em}
.brand span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--lime);font-size:.68rem;font-weight:800;color:var(--ink)}
.nav ul{display:flex;gap:clamp(1rem,2vw,1.75rem);list-style:none;align-items:center}
.nav ul a:not(.btn){text-decoration:none;font-size:.9rem;font-weight:600;color:var(--body);transition:color .2s}
.nav ul a:not(.btn):hover{color:var(--ink)}
.menu{display:none}
.menu summary{list-style:none;cursor:pointer;width:44px;height:44px;display:grid;place-items:center;border-radius:12px;border:1px solid var(--line);background:#fff}
.menu summary::-webkit-details-marker{display:none}
.menu svg{width:20px;height:20px}
.menu .panel{position:absolute;inset:68px 0 auto 0;background:var(--paper);border-bottom:1px solid var(--line);padding:1rem var(--gutter) 1.5rem;z-index:var(--z-menu);display:grid;gap:.25rem}
.menu .panel a{display:block;padding:.85rem .5rem;text-decoration:none;font-weight:600;font-size:1.05rem;border-bottom:1px solid var(--line)}
.menu .panel .btn{margin-top:1rem;border-bottom:0}
@media(max-width:760px){.nav ul{display:none}.menu{display:block}}

/* sections */
section{padding-block:clamp(4rem,6vw + 2rem,8rem)}
.tint{background:var(--tint)}
section.dark{background:var(--green);color:#fff;position:relative;isolation:isolate}
section.dark::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(90% 80% at 15% 0%,var(--green-2),transparent 60%),radial-gradient(70% 70% at 100% 100%,var(--green-deep),transparent 60%)}
section.dark p{color:var(--on-dark);line-height:1.68}
section.dark h1,section.dark h2{color:#fff}

/* hero */
.hero{padding-block:clamp(3rem,6vw,6rem) clamp(3rem,6vw,5.5rem)}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.hero .kicker{display:inline-flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:600;color:var(--lime);margin-bottom:1.5rem}
.hero .kicker::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 4px oklch(92% .19 118 / .2)}
.hero p.lede{color:var(--on-dark);margin:1.5rem 0 2rem;max-width:46ch}
.hero .actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}
.hero .note{font-size:.82rem;color:var(--on-dark-muted);margin-top:1.5rem;max-width:36ch}
.collage{position:relative;aspect-ratio:1;max-width:560px;margin-inline:auto;width:100%}
.collage .ph{position:absolute;border-radius:var(--r);overflow:hidden;box-shadow:0 30px 60px -20px oklch(0% 0 0 / .5)}
.collage .ph img{width:100%;height:100%;object-fit:cover}
.collage .a{left:0;top:10%;width:62%;height:74%}
.collage .b{right:0;top:0;width:46%;height:40%}
.collage .c{right:0;bottom:6%;width:44%;height:34%}
.collage .cap{position:absolute;left:4%;bottom:10%;background:oklch(22% .045 155 / .85);backdrop-filter:blur(6px);color:#fff;font-size:.78rem;font-weight:600;padding:.55rem .8rem;border-radius:10px;max-width:50%}
.badge{position:absolute;left:52%;bottom:14%;width:clamp(84px,22%,110px);aspect-ratio:1;border-radius:50%;background:var(--lime);color:var(--ink);display:grid;place-content:center;text-align:center;font-weight:800;line-height:1;font-size:.62rem;padding:.4rem;box-shadow:0 16px 32px -12px oklch(0% 0 0 / .5)}
.badge b{font-size:clamp(1.2rem,5cqw,1.6rem);display:block;margin-bottom:.25rem;font-family:"Inter Tight",sans-serif;letter-spacing:-.03em}
@media(max-width:900px){.hero .wrap{grid-template-columns:1fr}.collage{max-width:460px}}

/* proof strip */
.strip{background:var(--tint);border-block:1px solid var(--line)}
.strip .wrap{display:grid;grid-template-columns:repeat(4,1fr);padding-block:1.25rem}
.strip div{padding:.5rem 1.25rem;font-size:.82rem;color:var(--body);border-left:1px solid var(--line)}
.strip div:first-child{border-left:0;padding-left:0}
.strip b{display:block;font-size:.95rem;color:var(--ink);margin-bottom:.1rem}
@media(max-width:760px){.strip .wrap{grid-template-columns:1fr 1fr;gap:1rem 0}.strip div:nth-child(3){border-left:0;padding-left:0}}

/* statement */
.statement .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,6rem);align-items:start}
.statement h2{max-width:14ch}
.statement p+p{margin-top:1.1rem}
.statement .accent{color:oklch(55% .17 35);font-weight:600;font-size:.9rem;margin-bottom:1rem;display:block}
@media(max-width:820px){.statement .wrap{grid-template-columns:1fr}}

/* services */
.services h2{max-width:16ch}
.services .head{display:flex;justify-content:space-between;align-items:end;gap:2rem;flex-wrap:wrap;margin-bottom:clamp(2rem,4vw,3.5rem)}
.services .head p{max-width:40ch}
.svc{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.svc article{background:var(--paper);padding:clamp(1.5rem,3vw,2.25rem);transition:background .3s var(--ease)}
.svc article:hover{background:#fff}
.svc .ico{width:38px;height:38px;border-radius:10px;background:var(--tint);display:grid;place-items:center;margin-bottom:1.4rem;color:var(--green)}
.svc .ico svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.svc p{font-size:.95rem;margin-top:.5rem}

/* feature */
.feature .wrap{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.feature figure{border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;box-shadow:0 30px 60px -30px oklch(0% 0 0 / .35)}
.feature figure img{width:100%;height:100%;object-fit:cover}
.feature h2{max-width:15ch}
.feature .lede{margin:1.25rem 0 1.75rem}
.feature .link{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;text-decoration:none;border-bottom:2px solid var(--lime);padding-bottom:.15rem}
.feature .link:hover{border-color:var(--green)}
@media(max-width:820px){.feature .wrap{grid-template-columns:1fr}}

/* coverage */
.coverage .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.coverage h2{max-width:14ch}
.coverage .lede{margin-top:1.25rem}
.chips{display:flex;flex-wrap:wrap;gap:.6rem}
.chips span{border:1px solid oklch(100% 0 0 / .18);background:oklch(100% 0 0 / .06);border-radius:999px;padding:.6rem 1.1rem;font-size:.85rem;font-weight:600;color:#fff}
@media(max-width:820px){.coverage .wrap{grid-template-columns:1fr}}

/* faq */
.faq .wrap{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,5vw,5rem)}
.faq h2{max-width:12ch}
.faq .side p{margin-top:1rem}
.faq details{border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;font-weight:600;font-size:1.05rem;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.25rem 0;letter-spacing:-.01em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:28px;height:28px;border-radius:50%;background:var(--lime);background-image:linear-gradient(var(--ink),var(--ink)),linear-gradient(var(--ink),var(--ink));background-size:12px 2px,2px 12px;background-position:center;background-repeat:no-repeat;transition:transform .4s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 3rem 1.4rem 0;font-size:.98rem}
@media(max-width:820px){.faq .wrap{grid-template-columns:1fr}}

/* cta */
.cta .box{background:var(--green);color:#fff;border-radius:calc(var(--r) + 8px);padding:clamp(3rem,7vw,6rem) var(--gutter);text-align:center;position:relative;isolation:isolate;overflow:hidden}
.cta .box::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 80% at 50% 0%,var(--green-2),transparent 70%)}
.cta h2{max-width:18ch;margin-inline:auto}
.cta p{color:var(--on-dark);max-width:46ch;margin:1.25rem auto 2rem}

/* footer */
footer{background:var(--tint);border-top:1px solid var(--line);padding:clamp(3rem,5vw,4.5rem) 0 2rem;font-size:.9rem}
footer .cols{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:2.5rem}
footer h4{font-size:.9rem;margin-bottom:.8rem}
footer p{font-size:.9rem;max-width:36ch}
footer ul{list-style:none}
footer li{margin:.4rem 0}
footer a{text-decoration:none;color:var(--body)}
footer a:hover{color:var(--ink)}
footer .tel{font-family:"Inter Tight",sans-serif;font-size:1.4rem;font-weight:600;color:var(--ink);letter-spacing:-.02em}
footer .disclaimer{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--line);font-size:.76rem;line-height:1.6;color:var(--body);max-width:none}
footer .fine{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem 1.5rem;margin-top:1.25rem;font-size:.76rem;color:var(--body)}
@media(max-width:720px){footer .cols{grid-template-columns:1fr 1fr}footer .cols>div:first-child{grid-column:1/-1}}

/* inner pages */
.page{padding-block:clamp(3rem,6vw,5.5rem)}
.page .wrap{max-width:760px}
.page h1{font-size:clamp(2.4rem,1.8rem + 3vw,4rem);margin-bottom:1.25rem}
.page h2{font-size:1.45rem;margin:2.25rem 0 .6rem;line-height:1.2}
.page p,.page li{margin-bottom:.85rem}
.page ul{padding-left:1.2rem}
.page .meta{font-size:.85rem;margin-bottom:2rem}
.page .btn{margin-top:.5rem}
form{display:grid;gap:1.1rem;margin-top:2rem}
.row{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
@media(max-width:560px){.row{grid-template-columns:1fr}}
label{font-weight:600;font-size:.875rem;display:grid;gap:.4rem}
input,textarea,select{font:inherit;padding:.8rem .95rem;border:1px solid var(--line);border-radius:12px;background:#fff;width:100%;color:var(--ink);transition:border-color .2s,box-shadow .2s}
input:focus,textarea:focus,select:focus{outline:0;border-color:var(--green);box-shadow:0 0 0 3px oklch(92% .19 118 / .5)}
input::placeholder,textarea::placeholder{color:oklch(55% .02 155)}
textarea{min-height:140px;resize:vertical}
form .consent{font-size:.8rem}

/* motion */
.rv{opacity:1;transform:none}
@media(prefers-reduced-motion:no-preference){
  .rv{opacity:0;transform:translateY(18px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
  .rv.in{opacity:1;transform:none}
  .hero .rv{transition-delay:calc(var(--i,0)*90ms)}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}