/* v1 - Trust-first cleaning | dials 5/4/5 | DM Sans */
:root{
  --font:"DM Sans",system-ui,sans-serif;
  --display:"DM Sans",system-ui,sans-serif;
  --radius:12px;
}

.site-header{
  position:sticky;top:0;z-index:40;
  background:color-mix(in srgb,var(--color-bg) 92%,transparent);
  backdrop-filter:blur(10px);
}
.site-header.is-scrolled{border-bottom:1px solid var(--color-line)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 0;min-height:64px}
.brand{display:flex;align-items:center;gap:.65rem;font-weight:800;letter-spacing:-.03em}
.brand img{width:36px;height:36px}
.brand b{color:var(--color-primary)}
.nav-links{display:none;gap:1.25rem;font-weight:600;color:var(--color-muted)}
.nav-links a:hover,.nav-links a.is-active{color:var(--color-ink)}
.nav-toggle{width:42px;height:42px;border:1px solid var(--color-line);border-radius:10px;display:grid;place-items:center;background:var(--color-surface)}
.nav-toggle span{display:block;width:16px;height:2px;background:var(--color-ink);position:relative}
.nav-toggle span::before,.nav-toggle span::after{content:"";position:absolute;left:0;width:16px;height:2px;background:var(--color-ink)}
.nav-toggle span::before{top:-5px}.nav-toggle span::after{top:5px}
.nav-drawer{display:none;border-top:1px solid var(--color-line);padding:.5rem 0 1rem}
.nav-drawer.is-open{display:grid}
.nav-drawer a{padding:.85rem 0;font-weight:700;border-bottom:1px solid var(--color-line)}
@media(min-width:860px){.nav-links{display:flex}.nav-toggle{display:none}.nav-drawer{display:none!important}}
.btn{border-radius:999px}

.hero{padding:2.5rem 0 3rem;background:linear-gradient(180deg,var(--color-hero-wash),var(--color-bg))}
.hero-grid{display:grid;gap:1.75rem}
@media(min-width:900px){.hero-grid{grid-template-columns:1.1fr .9fr;align-items:center}}
.hero h1{font-family:var(--display);font-weight:800;font-size:clamp(2rem,4.5vw,3.1rem);line-height:1.12;letter-spacing:-.03em;margin:.5rem 0 1rem;max-width:16ch}
.hero .lead{color:var(--color-muted);max-width:42ch;margin-bottom:1.35rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:.65rem}
.hero-panel{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius);overflow:hidden;box-shadow:0 16px 36px color-mix(in srgb,var(--color-ink) 8%,transparent)}
.hero-panel img{width:100%;aspect-ratio:16/10;object-fit:cover}
.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;padding:1rem}
.stat-row b{display:block;font-size:1.15rem}
.stat-row span{font-size:.7rem;color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em}

.section{padding:3.25rem 0}
.section h2{font-family:var(--display);font-weight:800;font-size:clamp(1.55rem,3vw,2.1rem);letter-spacing:-.02em;margin-bottom:.55rem}
.section .sub{color:var(--color-muted);max-width:48ch;margin-bottom:1.5rem}

/* Zigzag services - not three equal cards */
.zigzag{display:grid;gap:1.25rem}
.zigzag-row{
  display:grid;gap:1.25rem;align-items:center;
  background:var(--color-surface);border:1px solid var(--color-line);
  border-radius:var(--radius);overflow:hidden;
}
@media(min-width:760px){
  .zigzag-row{grid-template-columns:1fr 1fr}
  .zigzag-row:nth-child(even) .zigzag-media{order:2}
}
.zigzag-media{aspect-ratio:4/3;overflow:hidden}
.zigzag-media img{width:100%;height:100%;object-fit:cover}
.zigzag-body{padding:1.35rem 1.4rem}
.zigzag-body .tag{
  display:inline-block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;
  color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 12%,transparent);
  padding:.3rem .6rem;border-radius:6px;margin-bottom:.65rem;
}
.zigzag-body h3{font-size:1.15rem;margin-bottom:.4rem}
.zigzag-body p{color:var(--color-muted);font-size:.95rem;margin-bottom:.85rem}
.zigzag-body a{font-weight:700;color:var(--color-primary-dark)}

/* Featured service list */
.featured-list{display:grid;gap:.75rem}
@media(min-width:700px){.featured-list{grid-template-columns:1fr 1fr}}
.featured-item{
  display:flex;gap:1rem;align-items:flex-start;
  background:var(--color-surface);border:1px solid var(--color-line);
  border-radius:var(--radius);padding:1.1rem 1.15rem;
}
.featured-item .icon{
  width:44px;height:44px;border-radius:10px;flex-shrink:0;
  background:color-mix(in srgb,var(--color-primary) 14%,transparent);
  color:var(--color-primary);display:grid;place-items:center;font-weight:800;font-size:.85rem;
}
.featured-item h3{font-size:1rem;margin-bottom:.25rem}
.featured-item p{color:var(--color-muted);font-size:.9rem}

.band{background:var(--color-ink);color:var(--color-bg);border-radius:var(--radius);padding:clamp(1.35rem,3vw,2rem);display:grid;gap:1rem;align-items:center}
@media(min-width:720px){.band{grid-template-columns:1fr auto}}
.band h2{font-family:var(--display);font-weight:800;font-size:clamp(1.35rem,2.8vw,1.85rem);color:inherit}
.band p{color:color-mix(in srgb,var(--color-bg) 75%,transparent);max-width:42ch}

.split{display:grid;gap:1.5rem}
@media(min-width:860px){.split{grid-template-columns:1fr 1fr;align-items:center}}
.media-frame{border-radius:var(--radius);overflow:hidden;border:1px solid var(--color-line);aspect-ratio:5/4}
.media-frame img{width:100%;height:100%;object-fit:cover}
.checklist{list-style:none;display:grid;gap:.6rem;margin-top:1rem}
.checklist li{display:flex;gap:.65rem;color:var(--color-muted)}
.checklist li::before{content:"";width:.65rem;height:.65rem;margin-top:.4rem;border-radius:50%;background:var(--color-ok);flex-shrink:0}

.quotes{display:grid;gap:1rem}
@media(min-width:800px){.quotes{grid-template-columns:repeat(3,1fr)}}
.quote{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius);padding:1.15rem}
.quote p{font-size:1.02rem;line-height:1.45;margin-bottom:.75rem}
.quote cite{font-style:normal;font-size:.85rem;color:var(--color-muted)}

.faq details{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius);padding:1rem 1.1rem;margin-bottom:.6rem}
.faq summary{font-weight:700;cursor:pointer}
.faq details[open] summary{margin-bottom:.45rem;color:var(--color-primary-dark)}
.faq p{color:var(--color-muted)}

.page-hero{padding:2.5rem 0 1.35rem;background:linear-gradient(180deg,var(--color-hero-wash),var(--color-bg))}
.page-hero h1{font-family:var(--display);font-weight:800;font-size:clamp(1.75rem,3.8vw,2.5rem);letter-spacing:-.02em}
.crumbs{display:flex;flex-wrap:wrap;gap:.4rem;color:var(--color-muted);font-size:.85rem;margin-bottom:1rem}

.form{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius);padding:1.25rem;display:grid;gap:.85rem;max-width:560px}
.form label{display:grid;gap:.3rem;font-weight:600;font-size:.9rem}
.form input,.form textarea,.form select{padding:.75rem 1rem;border-radius:var(--radius);border:1px solid var(--color-line);background:var(--color-bg)}
.form input:focus,.form textarea:focus,.form select:focus{outline:2px solid color-mix(in srgb,var(--color-primary) 35%,transparent);border-color:var(--color-primary)}
.form-note{font-size:.85rem;color:var(--color-muted)}
.form-row{display:grid;gap:.85rem}
@media(min-width:560px){.form-row{grid-template-columns:1fr 1fr}}
.form--quote{max-width:none;width:100%}

.quote-layout{padding-top:0}
.quote-grid{display:grid;gap:1.25rem;align-items:start}
@media(min-width:900px){.quote-grid{grid-template-columns:1.15fr .85fr;gap:1.5rem}}
.quote-aside{display:grid;gap:1rem}
.quote-aside__urgent{
  background:var(--color-ink);color:var(--color-bg);border-radius:var(--radius);
  padding:1.35rem 1.25rem;display:grid;gap:.85rem;
}
.quote-aside__urgent h2{font-family:var(--display);font-weight:800;font-size:1.35rem;color:inherit;margin:0}
.quote-aside__urgent p{color:color-mix(in srgb,var(--color-bg) 75%,transparent);margin:0;font-size:.95rem}
.quote-aside__card{
  background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius);
  padding:1.15rem 1.2rem;
}
.quote-aside__card h3{font-size:1rem;margin:0 0 .65rem}
.quote-aside__card p{color:var(--color-muted);margin:0;font-size:.95rem}
.quote-aside__card .checklist{margin-top:.35rem}

.team{display:grid;gap:1rem}
@media(min-width:700px){.team{grid-template-columns:repeat(3,1fr)}}
.person{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius);padding:1.15rem}
.avatar{width:72px;height:72px;border-radius:50%;margin-bottom:.75rem;background:linear-gradient(135deg,var(--color-primary),var(--color-accent))}
.person h3{font-size:1rem;margin-bottom:.2rem}
.person p{color:var(--color-muted);font-size:.9rem}

.ba-grid{display:grid;gap:1rem}
@media(min-width:700px){.ba-grid{grid-template-columns:1fr 1fr}}
.ba-card{border:1px solid var(--color-line);border-radius:var(--radius);overflow:hidden;background:var(--color-surface)}
.ba-visual{display:grid;grid-template-columns:1fr 1fr;min-height:150px}
.ba-visual .before{background:linear-gradient(135deg,#8A9A94,var(--color-accent))}
.ba-visual .after{background:linear-gradient(135deg,var(--color-primary),var(--color-accent))}
.ba-visual span{display:grid;place-items:end start;padding:.75rem;color:#fff;font-size:.72rem;font-weight:700;text-transform:uppercase}
.ba-card .body{padding:1rem 1.1rem}
.ba-card h3{font-size:1.05rem;margin-bottom:.3rem}
.ba-card p{color:var(--color-muted);font-size:.92rem}

.trust-strip{
  display:grid;gap:.75rem;
  background:color-mix(in srgb,var(--color-primary) 8%,var(--color-bg));
  border:1px solid var(--color-line);border-radius:var(--radius);
  padding:1.25rem 1.35rem;
}
@media(min-width:700px){.trust-strip{grid-template-columns:repeat(3,1fr);gap:1rem}}
.trust-strip div{text-align:center}
.trust-strip b{display:block;font-size:1.1rem;margin-bottom:.15rem}
.trust-strip span{font-size:.82rem;color:var(--color-muted)}

.site-footer{border-top:1px solid var(--color-line);padding:2.35rem 0 2rem;margin-top:1rem;color:var(--color-muted);font-size:.9rem}
.footer-grid{display:grid;gap:1.5rem}
@media(min-width:700px){.footer-grid{grid-template-columns:1.4fr 1fr 1fr}}
.footer-bottom{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--color-line);display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;justify-content:space-between;font-size:.85rem}
.credit a{color:var(--color-primary-dark);font-weight:700}
