:root {
  --bg: #f7f5ef !important;
  --panel: #ffffff !important;
  --panel-h: #eef8f7 !important;
  --line: #dce8e6 !important;
  --line2: #8bc6c1 !important;
  --cyan: #0b8f8a !important;
  --blue: #126c78 !important;
  --violet: #173b52 !important;
  --pink: #d5eee9 !important;
  --text: #364d54 !important;
  --dim: #5f7479 !important;
  --white: #102f3b !important;
  --holo: linear-gradient(120deg, #0c8e88, #196b78) !important;
  --font-display: 'Outfit', Arial, sans-serif !important;
  --font-body: 'Manrope', Arial, sans-serif !important;
  --r-card: 18px !important;
  --r-btn: 10px !important;
  --r-pill: 999px !important;
}

html { background: #f7f5ef; }
body {
  background: #f7f5ef !important;
  color: var(--text) !important;
  overflow-x: hidden;
}
#stars,.spot,.vign,.deco,#prog { display:none !important; }
.holo { background:none !important; color:#0b8f8a !important; animation:none !important; }
.wrap { width:min(100% - 48px, 1180px) !important; max-width:1180px !important; padding:0 !important; }

.announce {
  background:#123744 !important;
  border:0 !important;
  color:#fff !important;
}
.announce .wrap { color:#d8eeee !important; padding:10px 0 !important; }
.announce b { color:#fff !important; }
header {
  position:sticky; top:0; z-index:100;
  background:rgba(255,255,255,.96) !important;
  border-bottom:1px solid #dce8e6 !important;
  backdrop-filter:blur(16px) !important;
  box-shadow:0 8px 30px rgba(12,47,59,.06);
}
.nav { min-height:82px; height:auto !important; }
.brand .mark {
  width:46px !important; height:46px !important;
  background:#0b8f8a !important; border-radius:50% !important;
  box-shadow:none !important; animation:none !important;
}
.brand .mark svg { stroke:#fff !important; }
.brand b { color:#102f3b !important; font-size:19px !important; letter-spacing:.02em !important; }
.brand small { color:#668087 !important; letter-spacing:.12em !important; }
.menu { align-items:center; gap:24px !important; }
.menu>div>a,.menu>a { color:#27464e !important; font-weight:650; padding:28px 0; display:block; }
.menu a:hover { color:#0b8f8a !important; }
.dd { position:relative; }
.dd-menu {
  position:absolute; top:calc(100% - 8px); left:-24px; min-width:290px;
  background:#fff; border:1px solid #dce8e6; border-radius:14px;
  padding:12px; box-shadow:0 24px 70px rgba(17,54,65,.16);
  opacity:0; visibility:hidden; transform:translateY(8px); transition:.18s ease;
  display:grid; gap:2px; z-index:120;
}
.dd:hover .dd-menu,.dd:focus-within .dd-menu { opacity:1; visibility:visible; transform:none; }
.dd-menu.wide { grid-template-columns:1fr 1fr; min-width:470px; }
.dd-menu a { padding:10px 12px !important; border-radius:8px; color:#35535a !important; font-size:13px; }
.dd-menu a:hover { background:#eef8f7; }
.dd-menu .dd-all { border-top:1px solid #dce8e6; margin-top:6px; color:#087a76 !important; font-weight:800; }
.btn { border-radius:10px !important; box-shadow:none !important; animation:none !important; transition:.2s ease !important; }
.btn:hover { transform:translateY(-2px) !important; }
.btn-primary { background:#0b8f8a !important; color:#fff !important; }
.btn-glass { background:#fff !important; color:#153d49 !important; border:1px solid #aaccc9 !important; }

.hero { padding:82px 0 64px !important; text-align:left !important; background:#f7f5ef !important; }
.hero .badge { margin:0 0 22px !important; color:#0b7773 !important; border:1px solid #b9d9d6 !important; background:#fff !important; }
.hero h1 { color:#102f3b !important; font-size:clamp(44px,6vw,78px) !important; line-height:.98 !important; letter-spacing:-.045em !important; }
.hero h1 .holo { font:inherit !important; letter-spacing:inherit !important; }
.hero p.sub { color:#4e686e !important; font-size:19px !important; line-height:1.65 !important; }
.hbento,.hsplit,.hrev,.hoff { display:grid !important; grid-template-columns:minmax(0,1.02fr) minmax(380px,.98fr) !important; gap:44px !important; align-items:center !important; }
.hbento .bt,.hero .glass { background:transparent !important; border:0 !important; padding:0 !important; box-shadow:none !important; }
.hbento .bt.lead { grid-row:auto !important; padding:0 !important; }
.hbento>.bt:not(.lead),.core,.scene-wrap svg { display:none !important; }
.hbento::after,.hsplit::after,.hrev::before,.hoff::after {
  content:''; display:block; min-height:570px; border-radius:28px;
  background:linear-gradient(180deg,transparent 55%,rgba(8,43,54,.14)),var(--page-photo, url('/assets/images/local-air-duct-florida-team-van.jpg')) center/cover no-repeat;
  box-shadow:0 30px 70px rgba(18,55,68,.16);
}
.hero .metrics { border:0 !important; border-radius:14px !important; background:#fff !important; box-shadow:0 18px 50px rgba(17,53,63,.08) !important; margin-top:34px !important; overflow:hidden; }
.metric { border-color:#e1ecea !important; }
.metric b { color:#123744 !important; font-size:20px !important; }
.metric span { color:#698087 !important; }

.marquee { background:#123744 !important; border:0 !important; color:#fff !important; -webkit-mask:none !important; mask:none !important; }
.marquee .track { animation:none !important; color:#d9eeee !important; margin:auto; }
.marquee .track>span:nth-child(2) { display:none; }
.marquee b { color:#71cec7 !important; }

section.pad { padding:88px 0 !important; }
section.pad:nth-of-type(even) { background:#fff; }
.head { max-width:760px !important; margin-bottom:46px !important; }
.head h2,.split h2,.cta h2 { color:#102f3b !important; font-size:clamp(36px,4.3vw,56px) !important; letter-spacing:-.035em !important; }
.head p,.split p { color:#556d72 !important; }
.eyebrow { color:#0b8f8a !important; letter-spacing:.18em !important; }
.eyebrow::first-letter { color:transparent; }
.glass,.bcell,.showcase,.stat,.pcard,.zrow,.hstep,.bi {
  background:#fff !important; border:1px solid #dce8e6 !important;
  border-radius:18px !important; box-shadow:0 16px 45px rgba(17,55,65,.07) !important;
  color:#4e676d !important; transform:none !important; backdrop-filter:none !important;
}
.glass::before,.glass::after { display:none !important; }
.glass:hover,.bcell:hover,.zrow:hover { transform:translateY(-4px) !important; box-shadow:0 22px 55px rgba(17,55,65,.12) !important; }
.glass h3,.bcell h3,.zrow h3,.row b,.hstep h4,.bi b { color:#123744 !important; }
.glass p,.bcell p,.zrow p,.row span,.hstep p,.bi span { color:#60777c !important; }
.ic,.row .rc { background:#eaf7f5 !important; border:1px solid #c5e1de !important; box-shadow:none !important; }
.ic svg,.row .rc svg { stroke:#0b8f8a !important; }
.bento { gap:18px !important; }
.showcase { background:#f2faf8 !important; }
.row { border-color:#d8e8e5 !important; }
.proof { gap:20px; }
.pcard.after { background:#eaf7f5 !important; }
.band { background:#123744 !important; }
.band .bi { background:rgba(255,255,255,.07) !important; border-color:rgba(255,255,255,.13) !important; box-shadow:none !important; }
.band .bi b { color:#fff !important; }
.band .bi span { color:#c8dddd !important; }

.service-photo {
  width:min(100% - 48px,1180px); margin:16px auto 74px; position:relative;
}
.service-photo img { width:100%; height:clamp(320px,50vw,620px); object-fit:cover; display:block; border-radius:26px; box-shadow:0 30px 70px rgba(17,53,63,.15); }
.service-photo figcaption { position:absolute; left:24px; bottom:22px; max-width:590px; background:rgba(255,255,255,.93); color:#23454e; padding:14px 18px; border-radius:10px; font-size:13px; box-shadow:0 8px 30px rgba(0,0,0,.1); }
.article,.prose,.longform,.page-copy { color:#405b62 !important; }
.article h2,.article h3,.prose h2,.prose h3,.longform h2,.longform h3 { color:#123744 !important; }
.article p,.prose p,.longform p,.page-copy p { max-width:78ch; }
.stats { display:none !important; }
.b2-long {
  width:min(100% - 48px, 900px); margin:0 auto; padding:92px 0;
  color:#405b62; font-size:16px; line-height:1.82;
}
.b2-long::before {
  content:'PROPERTY OWNER RESOURCE'; display:block; margin-bottom:14px;
  color:#0b8f8a; font:700 12px/1.2 'Roboto Mono', monospace; letter-spacing:.18em;
}
.b2-long h2 { color:#123744 !important; font-size:clamp(28px,3.4vw,42px); line-height:1.12; letter-spacing:-.025em; margin:58px 0 18px; }
.b2-long h3 { color:#0b6f70 !important; font-size:22px; margin:36px 0 12px; }
.b2-long p { margin:0 0 20px; }
.b2-long .ai-label { display:none; }

.cta .box { background:#123744 !important; border:0 !important; border-radius:26px !important; box-shadow:none !important; }
.cta .box::before { display:none !important; }
.cta .box h2 { color:#fff !important; }
.cta .box p { color:#d6e7e7 !important; }
footer { background:#0d2c37 !important; border:0 !important; color:#b8cfd0 !important; }
footer h5 { color:#fff !important; }
footer a { color:#b8cfd0 !important; }
footer a:hover { color:#7fd7d0 !important; }
.foot-b { border-color:rgba(255,255,255,.1) !important; color:#8eaaad !important; }
.callbar { background:#0b8f8a !important; animation:none !important; color:#fff !important; }
.ai-note { font-size:11px; color:#789095; text-align:center; margin:26px auto; }

/* Compact city and guide templates */
.b2-nav { background:#fff !important; border-bottom:1px solid #dce8e6 !important; box-shadow:0 8px 30px rgba(12,47,59,.06); }
.b2-wrap { width:min(100% - 48px,1080px) !important; margin:0 auto !important; }
.b2-nav .b2-wrap { min-height:78px; display:flex; align-items:center; justify-content:space-between; }
.b2-brand { color:#123744 !important; font:750 18px/1.1 'Outfit',sans-serif; letter-spacing:.02em; display:flex; align-items:center; gap:10px; }
.b2-brand small { display:block; margin-top:4px; color:#698087; font:600 9px/1.2 'Roboto Mono',monospace; letter-spacing:.09em; }
.b2-logo { width:40px; height:40px; display:grid; place-items:center; border-radius:50%; background:#0b8f8a; color:#fff; font-size:28px; }
.b2-nav nav { display:flex; align-items:center; gap:20px; }
.b2-nav a { color:#36545c !important; }
.b2-menu details { position:relative; }
.b2-menu summary { list-style:none; cursor:pointer; color:#36545c; font-weight:700; padding:28px 0; }
.b2-menu summary::-webkit-details-marker { display:none; }
.b2-menu summary::after { content:' ▾'; color:#0b8f8a; }
.b2-drop { position:absolute; z-index:200; top:calc(100% - 8px); left:-18px; width:265px; padding:10px; border:1px solid #dce8e6; border-radius:14px; background:#fff; box-shadow:0 24px 70px rgba(17,54,65,.16); }
.b2-drop a { display:block; padding:10px 12px; border-radius:8px; font-size:13px; }
.b2-drop a:hover { background:#eef8f7; color:#0b8f8a !important; }
.b2-call { padding:11px 15px; border-radius:9px; background:#0b8f8a; color:#fff !important; font-weight:800; }
.b2-hero { padding:88px 0 76px !important; background:linear-gradient(135deg,#eaf7f5,#f7f5ef) !important; }
.b2-hero p:first-child { color:#0b8f8a !important; text-transform:uppercase; font:700 12px/1.2 'Roboto Mono',monospace; letter-spacing:.18em; }
.b2-hero h1 { max-width:900px; color:#102f3b !important; font-size:clamp(42px,6vw,72px); line-height:1; letter-spacing:-.04em; margin:22px 0; }
.b2-hero h1 + p { max-width:820px; color:#506a70 !important; font-size:18px; line-height:1.7; }
.b2-btn { display:inline-flex; margin-top:22px; padding:15px 22px; border-radius:10px; background:#0b8f8a !important; color:#fff !important; font-weight:800; }
.b2-cta { padding:72px 0 !important; background:#123744 !important; color:#d6e7e7 !important; }
.b2-cta h2 { color:#fff !important; font-size:clamp(32px,4vw,48px); letter-spacing:-.03em; }
.b2-cta p { max-width:720px; font-size:17px; }
.b2-cta .b2-btn { background:#fff !important; color:#123744 !important; }
.b2-foot { padding:42px 0 !important; background:#0d2c37 !important; color:#b8cfd0 !important; }
.b2-foot a { color:#fff !important; }

@media(max-width:900px) {
  .wrap,.service-photo { width:min(100% - 48px,1180px) !important; }
  .announce .wrap { padding:10px 0 !important; }
  .nav>.btn { display:none !important; }
  .navToggle { display:block !important; background:#eef8f7 !important; border:1px solid #c9e1de !important; color:#143d48 !important; border-radius:10px; padding:11px 14px; }
  .hbento,.hsplit,.hrev,.hoff { grid-template-columns:1fr !important; }
  .hbento::after,.hsplit::after,.hrev::before,.hoff::after { min-height:470px; }
  .hero { padding-top:54px !important; }
  .dd-menu { display:none !important; }
  .mnav { background:#fff !important; color:#25474f !important; }
  .mnav a { color:#25474f !important; border-color:#e2ecea !important; }
  .mgroup-label { color:#0b8f8a !important; }
}
@media(max-width:620px) {
  .wrap,.service-photo { width:calc(100% - 48px) !important; }
  .announce .wrap { justify-content:center !important; text-align:center; }
  .announce .wrap span:first-child { display:none; }
  .brand small { display:none !important; }
  .hero h1 { font-size:43px !important; }
  .hero p.sub { font-size:17px !important; }
  .hbento::after,.hsplit::after,.hrev::before,.hoff::after { min-height:360px; border-radius:20px; }
  .hero .metrics { display:grid !important; grid-template-columns:1fr 1fr; }
  .metric { border-bottom:1px solid #e1ecea !important; }
  .service-photo img { height:330px; border-radius:20px; }
  .service-photo figcaption { position:static; margin-top:12px; box-shadow:none; background:#fff; border:1px solid #dce8e6; }
  section.pad { padding:66px 0 !important; }
  .b2-wrap,.b2-long { width:calc(100% - 48px) !important; }
  .b2-brand small { display:none; }
  .b2-menu { gap:10px !important; }
  .b2-menu details { display:none; }
  .b2-call { padding:10px 11px; font-size:13px; }
  .b2-hero { padding:58px 0 !important; }
}

@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none !important; scroll-behavior:auto !important; } }
