:root {
  --navy: #0d1b4c;
  --navy-2: #17275b;
  --blue: #3157a6;
  --orange: #ff6a1a;
  --orange-dark: #d94c00;
  --ink: #182136;
  --muted: #5e6678;
  --line: #dfe3eb;
  --soft: #f5f6f8;
  --white: #fff;
  --success: #147a58;
  --danger: #bd2c2c;
  --shadow: 0 24px 70px rgba(13, 27, 76, .13);
  --radius: 18px;
  --container: 1180px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body { margin: 0; color: var(--ink); background: var(--white); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 16px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid rgba(255, 106, 26, .55); outline-offset: 3px; }
.container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.section { padding: 104px 0; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 1000; top: 10px; left: 10px; padding: 10px 16px; color: white; background: var(--navy); transform: translateY(-150%); border-radius: 6px; }
.skip-link:focus { transform: translateY(0); }

.site-header { position: sticky; top: 0; z-index: 100; background: rgba(255,255,255,.96); border-bottom: 1px solid rgba(223,227,235,.8); backdrop-filter: blur(12px); }
.header-inner { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.brand img { width: 190px; height: auto; }
.primary-nav { display: flex; align-items: center; gap: 27px; font-size: 14px; font-weight: 700; color: #293148; }
.primary-nav > a:not(.button) { padding: 9px 0; }
.primary-nav > a:not(.button):hover { color: var(--orange-dark); }
.menu-toggle { display: none; width: 44px; height: 44px; align-items: center; justify-content: center; flex-direction: column; gap: 5px; border: 0; border-radius: 8px; background: var(--soft); }
.menu-toggle span:not(.sr-only) { width: 20px; height: 2px; background: var(--navy); transition: transform .2s, opacity .2s; }

.button { min-height: 52px; display: inline-flex; align-items: center; justify-content: center; gap: 12px; padding: 13px 22px; color: white; background: var(--orange); border: 2px solid var(--orange); border-radius: 8px; font-weight: 800; line-height: 1.25; box-shadow: 0 12px 26px rgba(255,106,26,.22); transition: transform .2s, background .2s, border-color .2s, box-shadow .2s; cursor: pointer; }
.button:hover { background: var(--orange-dark); border-color: var(--orange-dark); transform: translateY(-2px); box-shadow: 0 16px 30px rgba(255,106,26,.28); }
.button-small { min-height: 42px; padding: 9px 16px; font-size: 13px; }
.button-white { color: var(--navy); background: white; border-color: white; box-shadow: none; }
.button-white:hover { color: white; background: transparent; border-color: white; }
.text-link { display: inline-flex; align-items: center; gap: 9px; color: var(--navy); font-weight: 750; border-bottom: 1px solid #b9bfcd; }
.text-link:hover { color: var(--orange-dark); border-color: var(--orange); }
.text-link.strong { margin-top: 20px; }
.eyebrow { display: flex; align-items: center; gap: 9px; margin: 0 0 16px; color: var(--orange-dark); font-size: 12px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.eyebrow > span { width: 26px; height: 2px; background: var(--orange); }
.eyebrow.light { color: #ffae79; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { color: var(--navy); line-height: 1.08; letter-spacing: -.035em; }
h1 { max-width: 680px; margin-bottom: 23px; font-size: clamp(3rem, 5.6vw, 5.2rem); }
h2 { margin-bottom: 22px; font-size: clamp(2.2rem, 4vw, 3.75rem); }
h3 { font-size: 1.25rem; }
.section-heading { max-width: 650px; }
.section-heading > p:not(.eyebrow) { color: var(--muted); font-size: 18px; }
.section-heading.centered { margin-inline: auto; text-align: center; }
.section-heading.centered .eyebrow { justify-content: center; }
.section-heading.narrow { max-width: 760px; }

.hero { position: relative; overflow: hidden; padding-top: 82px; padding-bottom: 86px; background: radial-gradient(circle at 78% 34%, #f3f6ff 0, rgba(243,246,255,0) 35%); }
.hero::before { content: ""; position: absolute; left: -100px; bottom: 0; width: 340px; height: 220px; opacity: .38; background-image: linear-gradient(#dfe4ee 1px, transparent 1px), linear-gradient(90deg,#dfe4ee 1px,transparent 1px); background-size: 28px 28px; mask-image: linear-gradient(to top right,#000,transparent 70%); }
.hero-grid { display: grid; grid-template-columns: 1.02fr .98fr; align-items: center; gap: 64px; }
.hero-lead { max-width: 650px; margin-bottom: 20px; color: var(--muted); font-size: 19px; line-height: 1.65; }
.hero-deal { max-width: 650px; margin: 0 0 25px; padding: 15px 18px; background: #fff7f1; border: 1px solid #ffd7bf; border-left: 4px solid var(--orange); border-radius: 9px; }
.deal-kicker { display: block; margin-bottom: 5px; color: var(--orange-dark); font-size: 11px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.price-line { display: flex; flex-wrap: wrap; gap: 5px 20px; margin-bottom: 2px; color: var(--navy); font-size: 16px; }
.price-line > span { display: inline-flex; align-items: baseline; gap: 7px; }
.price-line del { color: #858b98; font-weight: 750; text-decoration-thickness: 2px; }
.price-line strong { color: var(--navy); font-size: 21px; }
.deal-savings { margin: 2px 0 0; color: var(--success); font-size: 13px; font-weight: 850; }
.deal-savings strong { color: var(--navy); }
.hero-actions { display: flex; align-items: center; gap: 24px; }
.microproof { display: flex; flex-wrap: wrap; gap: 9px 20px; margin: 26px 0 0; padding: 0; color: #555e70; font-size: 13px; list-style: none; }
.microproof li::before { content: "✓"; margin-right: 7px; color: var(--success); font-weight: 900; }
.hero-visual { position: relative; min-width: 0; padding: 35px 0 34px 22px; }
.browser { overflow: hidden; background: white; border: 1px solid #d6dbe5; border-radius: 14px; box-shadow: var(--shadow); }
.browser-bar { height: 34px; display: flex; align-items: center; gap: 6px; padding: 0 11px; background: #eef1f5; border-bottom: 1px solid #dfe3ea; }
.browser-bar > span { width: 8px; height: 8px; border-radius: 50%; background: #c3c8d1; }
.browser-bar > span:first-child { background: #fa806d; }.browser-bar > span:nth-child(2) { background: #edbe58; }.browser-bar > span:nth-child(3) { background: #62c478; }
.address { width: 48%; margin: 0 auto; padding: 3px 8px; color: #8a91a1; background: white; border-radius: 4px; font-size: 7px; text-align: center; }
.demo-site { background: white; }
.demo-nav { height: 50px; display: flex; align-items: center; justify-content: space-between; padding: 0 17px; color: #293127; font-size: 7px; }
.demo-nav strong { display: flex; align-items: center; font-size: 10px; letter-spacing: .07em; }.demo-nav i { width: 17px; height: 17px; margin-right: 5px; background: #397f4c; border-radius: 50% 50% 15% 50%; transform: rotate(45deg); }
.demo-nav b { padding: 6px 9px; color: white; background: #447f49; border-radius: 3px; }
.demo-hero { min-height: 268px; display: flex; align-items: flex-start; justify-content: center; flex-direction: column; padding: 35px 42% 32px 35px; color: white; background: linear-gradient(90deg,rgba(19,48,27,.95),rgba(19,48,27,.62) 60%,rgba(19,48,27,.1)), linear-gradient(135deg,#729a68,#b3c59b); position: relative; overflow: hidden; }
.demo-hero::after { content:""; position:absolute; right:-28px; bottom:-55px; width:260px; height:240px; border:35px solid rgba(255,255,255,.14); border-radius:50%; }
.demo-hero p { margin-bottom: 9px; font-size: 7px; font-weight: 900; letter-spacing: .12em; }.demo-hero h2 { max-width: 260px; margin-bottom: 10px; color: white; font-family: Georgia, serif; font-size: 28px; letter-spacing: -.02em; }.demo-hero > span { max-width: 260px; font-size: 8px; line-height: 1.5; }.demo-hero > div { display: flex; align-items: center; gap: 12px; margin-top: 17px; }.demo-hero b { padding: 8px 11px; color: #213322; background: #f3d167; border-radius: 3px; font-size: 7px; }.demo-hero em { font-size: 7px; font-style: normal; }
.demo-strip { display: flex; justify-content: space-around; padding: 12px; color: #44734c; background: #f4f5ed; font-size: 7px; font-weight: 800; }
.demo-services { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; padding: 20px 28px 28px; }.demo-services i { height: 42px; background: #eef0e9; border-radius: 4px; }
.signal-card { position: absolute; z-index: 3; display: flex; align-items: center; gap: 10px; min-width: 160px; padding: 11px 13px; background: white; border: 1px solid #e2e5eb; border-radius: 10px; box-shadow: 0 14px 35px rgba(13,27,76,.14); }.signal-card-top { top: 0; right: -18px; }.signal-card-bottom { bottom: 0; left: 0; }.signal-card strong,.signal-card small { display:block; }.signal-card strong { color: var(--navy); font-size: 11px; }.signal-card small { color: var(--muted); font-size: 8px; }.signal-icon { width: 28px; height: 28px; display: grid; place-items:center; flex:0 0 auto; color:white; background:var(--success); border-radius:50%; font-weight:900; }.signal-orange { background:var(--orange); }

.trust-bar { color: white; background: var(--navy); }
.trust-grid { display: grid; grid-template-columns: repeat(4,1fr); }
.trust-grid p { position: relative; margin: 0; padding: 24px 27px; border-left: 1px solid rgba(255,255,255,.12); }.trust-grid p:last-child { border-right: 1px solid rgba(255,255,255,.12); }.trust-grid strong,.trust-grid span { display:block; }.trust-grid strong { font-size: 15px; }.trust-grid span { color: #b8c1dc; font-size: 12px; }

.problem { background: var(--soft); }
.split-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 80px; align-items: center; }
.contrast-panel { display: grid; grid-template-columns: 1fr 40px 1fr; align-items: stretch; overflow: hidden; background: white; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 20px 55px rgba(13,27,76,.08); }
.contrast-side { padding: 36px 28px; }.contrast-side > p { margin-bottom: 22px; color: var(--navy); font-size: 17px; font-weight: 900; }.contrast-side ul { display:grid; gap:13px; margin:0; padding:0; list-style:none; }.contrast-side li { color:var(--muted); font-size:14px; }.contrast-side li::before { margin-right:9px; font-weight:900; }.contrast-side.good li::before { content:"✓"; color:var(--success); }.contrast-side.weak { background:#fff8f4; }.contrast-side.weak li::before { content:"—"; color:var(--orange-dark); }
.contrast-divider { display:grid; place-items:center; position:relative; }.contrast-divider::before { content:""; position:absolute; inset:0 50%; width:1px; background:var(--line); }.contrast-divider span { z-index:1; padding:6px; color:#8b91a0; background:white; font-size:10px; font-weight:900; text-transform:uppercase; }

.offer-shell { display: grid; grid-template-columns: 1.45fr .75fr; max-width: 1050px; margin: 52px auto 0; overflow: hidden; border: 1px solid #d9dee8; border-radius: var(--radius); box-shadow: var(--shadow); }
.offer-main { padding: 42px; background: white; }.offer-title { display:flex; justify-content:space-between; gap:20px; margin-bottom:30px; padding-bottom:27px; border-bottom:1px solid var(--line); }.offer-title p,.offer-care > p:first-child { margin-bottom:6px; color:var(--navy); font-weight:900; }.offer-title h3,.offer-care h3 { margin:0; font-size:2.5rem; }.offer-title h3 small,.offer-care h3 small { color:var(--muted); font-size:14px; letter-spacing:0; }.badge { align-self:flex-start; padding:7px 11px; color:var(--success); background:#eaf8f2; border-radius:999px; font-size:11px; font-weight:900; }
.price-stack { display: flex; flex-wrap: wrap; align-items: center; gap: 5px 10px; }
.price-stack del { color: #858b98; font-size: 1.15rem; font-weight: 800; text-decoration-thickness: 2px; }
.price-stack h3 { flex: 0 0 auto; }
.savings-pill { padding: 5px 8px; color: #0d684a; background: #e9f8f2; border-radius: 999px; font-size: 10px; font-weight: 900; }
.price-stack-dark del { color: #aeb8d4; }.price-stack-dark .savings-pill { color: #ffe1cc; background: rgba(255,106,26,.18); }
.check-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px 30px; margin:0; padding:0; list-style:none; }.check-grid li,.offer-care li { font-size:14px; }.check-grid li::before,.offer-care li::before { content:"✓"; margin-right:9px; color:var(--success); font-weight:900; }
.offer-care { padding:42px 34px; color:white; background:var(--navy); }.offer-care p,.offer-care h3 { color:white; }.offer-care .care-note { margin:18px 0 24px; color:#bdc6df; font-size:13px; }.offer-care ul { display:grid; gap:13px; margin:0; padding:0; list-style:none; }.offer-care li::before { color:#ffad75; }
.scope-note { display:flex; gap:23px; max-width:1050px; margin:18px auto 0; padding:18px 22px; color:#5e6678; background:#f6f7f9; border-radius:10px; font-size:13px; }.scope-note strong { color:var(--navy); white-space:nowrap; }

.process { background: var(--soft); }
.process .section-heading { margin-bottom:50px; }
.process-list { display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin:0; padding:0; list-style:none; counter-reset:steps; }.process-list li { position:relative; padding:28px 25px 10px 0; border-top:2px solid #cbd1dd; }.process-list li:not(:last-child)::after { content:""; position:absolute; top:-5px; right:0; width:8px; height:8px; background:#cbd1dd; border-radius:50%; }.process-list > li > span { display:block; margin-bottom:26px; color:var(--orange-dark); font-size:13px; font-weight:900; letter-spacing:.12em; }.process-list h3 { margin-bottom:13px; }.process-list p { color:var(--muted); font-size:14px; }

.heading-row { max-width:none; display:grid; grid-template-columns:1.1fr .6fr; gap:100px; align-items:end; }.heading-row > p { margin-bottom:24px; }
.demo-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:46px; }
.demo-card { overflow:hidden; background:white; border:1px solid var(--line); border-radius:16px; box-shadow:0 8px 25px rgba(13,27,76,.05); transition:transform .25s, box-shadow .25s; }
.demo-card:hover { transform:translateY(-5px); box-shadow:0 22px 50px rgba(13,27,76,.13); }
.demo-preview { min-height:278px; display:flex; align-items:flex-end; padding:24px 16px 0; overflow:hidden; }
.demo-card--landscaping .demo-preview { background:#d8e2ca; }
.demo-card--painting .demo-preview { background:#d9d7f2; }
.demo-card--fencing-concrete .demo-preview { background:#d7d0c6; }
.demo-card--tree-services .demo-preview { background:#cfe0d4; }
.demo-card--pressure-washing .demo-preview { background:#c9e8f2; }
.demo-card--residential-cleaning .demo-preview { background:#eee1ef; }
.concept-frame { width:100%; height:254px; overflow:hidden; background:white; border-radius:8px 8px 0 0; box-shadow:0 14px 32px rgba(14,23,42,.18); }
.concept-chrome { height:17px; display:flex; align-items:center; gap:3px; padding:0 6px; color:#8b93a2; background:#edf0f4; }
.concept-chrome > span { width:4px; height:4px; border-radius:50%; background:#bec4cd; }
.concept-chrome small { margin:auto; padding-right:15px; font-size:4px; letter-spacing:.04em; }
.concept-frame nav { height:31px; display:flex; align-items:center; justify-content:space-between; gap:9px; padding:0 11px; font-style:normal; }
.concept-frame nav b { font-size:7px; letter-spacing:.04em; }
.concept-frame nav small { font-size:4px; font-weight:800; letter-spacing:.05em; }
.concept-frame nav em { padding:4px 6px; font-size:4px; font-style:normal; font-weight:900; }
.concept-frame p { margin:0; font-size:5px; line-height:1.5; }

/* Landscaping: calm editorial composition */
.landscape-site { color:#233126; background:#f8f7f0; font-family:Georgia,serif; }
.landscape-site nav b { color:#31553d; }.landscape-site nav b span { color:#d88345; }
.landscape-site nav small,.landscape-site nav em { font-family:Inter,sans-serif; }.landscape-site nav em { color:white; background:#31553d; }
.landscape-hero { min-height:155px; display:grid; grid-template-columns:1fr 56px; margin:0 10px; color:#f9f6e9; background:linear-gradient(115deg,#244b36 0 66%,#729166 66%); position:relative; overflow:hidden; }
.landscape-hero::after { content:""; position:absolute; right:-30px; bottom:-40px; width:110px; height:110px; border:18px solid rgba(255,255,255,.12); border-radius:50% 50% 8% 50%; transform:rotate(-20deg); }
.landscape-hero > div { z-index:1; display:flex; flex-direction:column; justify-content:center; padding:15px; }.landscape-hero small { font-family:Inter,sans-serif; font-size:4px; font-weight:900; letter-spacing:.12em; }.landscape-hero strong { margin:7px 0; font-size:18px; line-height:1; font-weight:500; }.landscape-hero p { max-width:145px; color:#d5dfd5; }.landscape-hero div > span { align-self:flex-start; margin-top:9px; padding-bottom:2px; border-bottom:1px solid #e4b37f; font-family:Inter,sans-serif; font-size:4px; font-weight:900; }
.landscape-hero aside { z-index:1; align-self:end; padding:10px 5px; text-align:center; }.landscape-hero aside b,.landscape-hero aside small { display:block; }.landscape-hero aside b { font-size:15px; }.landscape-hero aside small { font-family:Inter,sans-serif; font-size:4px; }
.landscape-services { display:grid; grid-template-columns:repeat(3,1fr); gap:4px; padding:9px 10px; font-family:Inter,sans-serif; font-size:4px; font-weight:850; }.landscape-services span { padding:6px 4px; border-bottom:1px solid #aebda7; }

/* Painting: graphic, color-led composition */
.paint-site { color:#15153f; background:#fff7ed; }
.paint-site nav { color:white; background:#29255f; }.paint-site nav b { color:#ff735d; }.paint-site nav em { color:#29255f; background:#fff1d7; }
.paint-hero { min-height:156px; display:grid; grid-template-columns:1.18fr .82fr; overflow:hidden; }
.paint-copy { display:flex; flex-direction:column; justify-content:center; padding:16px 8px 14px 14px; }.paint-copy small { color:#ef563f; font-size:4px; font-weight:900; letter-spacing:.12em; }.paint-copy strong { margin:7px 0; font-size:19px; line-height:.95; letter-spacing:-.07em; }.paint-copy p { max-width:135px; color:#4f4e71; }.paint-copy span { align-self:flex-start; margin-top:10px; padding:5px 7px; color:white; background:#f2533d; font-size:4px; font-weight:900; }
.paint-art { position:relative; background:#635bb0; }.paint-art i { position:absolute; border-radius:50%; }.paint-art i:first-child { width:95px; height:95px; top:-22px; right:-18px; background:#ff6956; }.paint-art i:nth-child(2) { width:82px; height:82px; bottom:-26px; left:-22px; background:#f6c846; }.paint-art i:nth-child(3) { width:48px; height:48px; top:48px; left:24px; border:12px solid #fadbc5; }.paint-art b,.paint-art small { z-index:2; position:absolute; right:8px; color:white; text-align:right; }.paint-art b { bottom:20px; font-size:15px; }.paint-art small { bottom:8px; font-size:3px; font-weight:900; }
.paint-swatches { height:43px; display:flex; align-items:center; gap:4px; padding:8px 12px; }.paint-swatches span { width:20px; height:20px; border-radius:50%; background:#f2543e; }.paint-swatches span:nth-child(2) { background:#5f58ab; }.paint-swatches span:nth-child(3) { background:#e9b935; }.paint-swatches small { margin-left:auto; font-size:4px; font-weight:900; }

/* Fencing and concrete: architectural grid */
.build-site { color:#f1ede6; background:#1d201f; }
.build-site nav { border-bottom:1px solid #494a47; }.build-site nav b { color:#d49a61; }.build-site nav small { color:#d1ccc4; }
.build-hero { min-height:151px; display:grid; grid-template-columns:1.35fr .65fr; }
.build-title { display:flex; flex-direction:column; justify-content:center; padding:15px; border-right:1px solid #494a47; background:linear-gradient(135deg,#272b29 0 60%,#343936 60%); }.build-title small { color:#d49a61; font-size:4px; font-weight:900; letter-spacing:.13em; }.build-title strong { margin:7px 0 11px; font-size:21px; line-height:.93; letter-spacing:-.06em; text-transform:uppercase; }.build-title span { align-self:flex-start; padding:5px 7px; color:#1d201f; background:#d49a61; font-size:4px; font-weight:900; }
.build-stat { display:flex; flex-direction:column; justify-content:flex-end; padding:12px; background:repeating-linear-gradient(135deg,#262a28 0 9px,#2e322f 9px 18px); }.build-stat b { color:#d49a61; font-size:31px; line-height:1; }.build-stat small { margin-top:4px; color:#c9c4bb; font-size:4px; font-weight:900; }
.build-services { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #494a47; }.build-services span { min-height:49px; display:flex; flex-direction:column; justify-content:center; padding:7px 10px; border-right:1px solid #494a47; font-size:5px; font-weight:900; }.build-services span:last-child { border:0; }.build-services b { margin-bottom:3px; color:#9e9d98; font-size:4px; }

/* Tree services: organic, safety-first composition */
.tree-site { color:#173f32; background:#f4f0df; }
.tree-alert { height:19px; display:flex; justify-content:space-between; align-items:center; padding:0 10px; color:white; background:#d15e39; font-size:4px; }.tree-alert b { letter-spacing:.08em; }.tree-alert span { font-weight:800; }
.tree-site nav b { font-family:Georgia,serif; font-size:9px; }.tree-site nav b span { color:#d15e39; }.tree-site nav small { color:#52695f; }
.tree-hero { min-height:150px; display:grid; grid-template-columns:1fr 66px; position:relative; overflow:hidden; }.tree-hero::before { content:""; position:absolute; right:-28px; top:-4px; width:115px; height:115px; background:#9db79c; border-radius:58% 42% 55% 45%; }
.tree-hero > div { z-index:1; display:flex; flex-direction:column; justify-content:center; padding:13px 8px 13px 16px; }.tree-hero div > small { color:#c14e2d; font-size:4px; font-weight:900; letter-spacing:.12em; }.tree-hero strong { margin:6px 0; font-family:Georgia,serif; font-size:19px; line-height:1; font-weight:500; }.tree-hero p { max-width:150px; color:#4c655b; }.tree-hero div > span { align-self:flex-start; margin-top:9px; padding:5px 7px; color:white; background:#174b38; font-size:4px; font-weight:900; }
.tree-hero aside { z-index:2; align-self:center; padding:8px; color:white; text-align:center; }.tree-hero aside i { display:block; width:25px; height:25px; margin:0 auto 5px; border:6px solid rgba(255,255,255,.55); border-radius:50% 45% 55% 40%; }.tree-hero aside b,.tree-hero aside small { display:block; }.tree-hero aside b { font-size:12px; }.tree-hero aside small { font-size:3px; }
.tree-proof { height:37px; display:flex; align-items:center; justify-content:space-around; color:#3a5b50; background:#e6ead8; font-size:4px; font-weight:900; }

/* Pressure washing: before-and-after as the hero */
.wash-site { color:#092c46; background:white; }
.wash-site nav b { font-size:8px; }.wash-site nav b span { color:#00a8dd; }.wash-site nav em { color:white; background:#093c61; }
.wash-heading { height:65px; display:grid; grid-template-columns:1fr 1fr; grid-template-rows:auto auto; align-items:end; padding:9px 11px; color:white; background:#073b5f; }.wash-heading small { color:#64d9fa; font-size:4px; font-weight:900; letter-spacing:.12em; }.wash-heading strong { grid-column:1; font-size:17px; line-height:1; }.wash-heading span { grid-column:2; grid-row:1/3; align-self:center; justify-self:end; max-width:85px; padding:6px 7px; color:#073b5f; background:#60d9f9; font-size:4px; font-weight:900; }
.wash-compare { height:105px; display:grid; grid-template-columns:1fr 1fr; position:relative; overflow:hidden; }.wash-compare > div { position:relative; padding:8px; overflow:hidden; }.wash-compare small { z-index:2; position:relative; padding:3px 5px; color:white; background:rgba(4,34,53,.66); font-size:3px; font-weight:900; }.wash-before { background:#6e7b74; }.wash-after { background:#d9eff4; }.wash-compare i { position:absolute; border-radius:3px; transform:skewY(-8deg); }.wash-before i:nth-of-type(1),.wash-after i:nth-of-type(1) { width:100px; height:58px; right:-8px; bottom:-10px; background:#4c5953; border:6px solid #8b9790; }.wash-before i:nth-of-type(2),.wash-after i:nth-of-type(2) { width:58px; height:40px; left:6px; bottom:-13px; background:#57635d; }.wash-after i:nth-of-type(1) { background:#f4fbfc; border-color:#9dd4df; }.wash-after i:nth-of-type(2) { background:#d8f2f7; }.wash-after b { z-index:3; position:absolute; left:-11px; top:40px; width:22px; height:22px; display:grid; place-items:center; color:#073b5f; background:white; border-radius:50%; box-shadow:0 2px 8px rgba(0,0,0,.2); font-size:8px; }
.wash-proof { height:36px; display:flex; align-items:center; justify-content:space-around; color:#155376; background:#e9f8fb; font-size:3px; letter-spacing:.03em; }

/* Residential cleaning: friendly booking interface */
.clean-site { color:#34234f; background:#fbf8ff; }
.clean-site nav b { color:#4b2e6f; font-family:Georgia,serif; font-size:9px; }.clean-site nav b span { color:#ed806d; }.clean-site nav em { color:white; background:#5a3b7d; border-radius:8px; }
.clean-hero { min-height:206px; display:grid; grid-template-columns:1.06fr .94fr; padding:11px; background:radial-gradient(circle at 28% 30%,#efe4f8 0 28%,transparent 29%),linear-gradient(135deg,#fbf8ff,#edf6ed); }
.clean-copy { display:flex; flex-direction:column; justify-content:center; padding:7px 7px 7px 2px; }.clean-copy > small { color:#d76058; font-size:4px; font-weight:900; letter-spacing:.1em; }.clean-copy > strong { margin:7px 0; font-family:Georgia,serif; font-size:20px; line-height:1; font-weight:500; }.clean-copy p { max-width:130px; color:#675977; }.clean-copy > div { display:flex; flex-wrap:wrap; gap:3px; margin-top:9px; }.clean-copy span { padding:4px 5px; color:#5d4674; background:white; border:1px solid #ddd1e8; border-radius:8px; font-size:3px; font-weight:850; }
.clean-hero aside { align-self:center; display:grid; gap:5px; padding:10px; background:white; border:1px solid #e2d9e8; border-radius:8px; box-shadow:0 8px 22px rgba(74,47,104,.14); }.clean-hero aside > small { color:#775b8f; font-size:4px; font-weight:900; }.clean-hero label { display:block; padding:5px; color:#95879f; background:#faf8fb; border:1px solid #ebe5ef; border-radius:3px; font-size:3px; }.clean-hero label b { display:block; margin-top:2px; color:#3e3150; font-size:4px; }.clean-hero aside > strong { padding:6px; color:white; background:#ed806d; border-radius:3px; font-size:4px; text-align:center; }.clean-hero aside em { color:#6b5e74; font-size:3px; font-style:normal; text-align:center; }

.concept-generic > div:last-child { height:237px; display:grid; place-items:center; padding:30px; color:white; background:var(--navy); text-align:center; }
.demo-card-body { padding:24px; }
.demo-industry { display:block; margin-bottom:7px; color:var(--orange-dark); font-size:10px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.demo-card-body h3 { margin-bottom:9px; }
.demo-card-body p { min-height:64px; margin-bottom:17px; color:var(--muted); font-size:13px; }
.demo-card-body a,.demo-card-body button { display:inline-flex; align-items:center; gap:8px; padding:0; color:var(--navy); background:none; border:0; border-bottom:1px solid #aeb5c4; font-weight:850; cursor:pointer; }
.demo-card-body a:hover,.demo-card-body button:hover { color:var(--orange-dark); }
.demo-disclaimer { margin:22px 0 0; color:#7b8291; font-size:12px; }

.relevance { background:#f7f9fd; border-top:1px solid #ebedf2; }.relevance-grid { display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:center; }.foundation-list { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); border-left:1px solid var(--line); }.foundation-list p { min-height:130px; display:flex; flex-direction:column; justify-content:space-between; margin:0; padding:22px; background:white; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }.foundation-list span { color:var(--orange-dark);font-size:11px;font-weight:900; }.foundation-list strong { color:var(--navy);font-size:15px;line-height:1.35; }

.roadmap { color:white; background:var(--navy); }.roadmap-grid { display:grid; grid-template-columns:1fr .92fr; gap:90px; align-items:center; }.roadmap h2 { color:white; }.roadmap .section-heading > p:not(.eyebrow) { color:#c4cce1; }.roadmap-review { display:grid; grid-template-columns:1fr 1fr; gap:10px 20px; margin:28px 0; padding:0; list-style:none; }.roadmap-review li { font-size:13px; }.roadmap-review li::before { content:"✓"; margin-right:8px; color:#ff9c5c; font-weight:900; }.roadmap-owner { padding-left:17px; border-left:3px solid var(--orange); font-size:13px!important; }
.priority-map { padding:26px; color:var(--ink); background:white; border-radius:16px; box-shadow:0 28px 65px rgba(0,0,0,.25); transform:rotate(1.5deg); }.map-header { display:flex; justify-content:space-between; margin-bottom:15px; padding-bottom:15px; border-bottom:2px solid var(--navy); }.map-header span { color:var(--orange-dark);font-size:9px;font-weight:900;letter-spacing:.1em; }.map-header b { color:var(--navy);font-size:12px; }.map-status { display:grid; grid-template-columns:8px 1fr auto; align-items:center; gap:13px; padding:13px 8px; border-bottom:1px solid var(--line); }.map-status > i { width:8px;height:8px;background:#aeb6c8;border-radius:50%; }.map-status small,.map-status strong { display:block; }.map-status small { color:#7b8291;font-size:9px; }.map-status strong { color:var(--navy);font-size:12px; }.map-status em { color:#adb4c2;font-size:10px;font-style:normal;font-weight:900; }.map-status.active { margin:5px 0; background:#fff3eb;border-radius:6px;border:0; }.map-status.active i { background:var(--orange); }.map-status.active em { color:var(--orange-dark); }
.map-timeline { display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px; }.map-timeline > div { padding:15px;background:#f4f6f9;border-radius:7px; }.map-timeline span,.map-timeline strong { display:block; }.map-timeline span { color:var(--orange-dark);font-size:8px;font-weight:900;letter-spacing:.1em; }.map-timeline strong { margin:5px 0;color:var(--navy);font-size:11px; }.map-timeline p { margin:0;color:#737b8c;font-size:8px;line-height:1.45; }

.why-grid { display:grid;grid-template-columns:.8fr 1.2fr;gap:100px; }.why-list { display:grid;grid-template-columns:1fr 1fr;gap:0;margin:0;padding:0;border-top:1px solid var(--line);border-left:1px solid var(--line);list-style:none; }.why-list li { min-height:145px;padding:24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line); }.why-list strong,.why-list span { display:block; }.why-list strong { margin-bottom:9px;color:var(--navy); }.why-list span { color:var(--muted);font-size:13px; }

.comparison { background:var(--soft); }.comparison-wrap { margin-top:46px; overflow-x:auto; border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 50px rgba(13,27,76,.07); }.comparison table { width:100%;border-collapse:collapse;background:white; }.comparison th,.comparison td { padding:17px 24px;text-align:left;border-bottom:1px solid var(--line);font-size:14px; }.comparison thead th { color:white;background:var(--navy);font-size:13px; }.comparison thead th.highlight { background:var(--orange-dark); }.comparison tbody th { color:var(--navy);font-weight:850; }.comparison tbody td:last-child { color:var(--navy);background:#fff8f3;font-weight:750; }.comparison tbody tr:last-child th,.comparison tbody tr:last-child td { border-bottom:0; }

.pricing { color:white;background:var(--navy);overflow:hidden; }.pricing-grid { display:grid;grid-template-columns:.83fr 1.17fr;gap:85px;align-items:center; }.pricing h2 { color:white; }.pricing-copy > p:not(.eyebrow) { color:#bbc4dc;font-size:18px; }.pricing-copy .button { margin-top:15px; }.price-ticket { display:grid;grid-template-columns:1fr 32px 1fr;gap:17px;align-items:center;padding:35px;color:var(--ink);background:white;border-radius:16px;box-shadow:0 26px 65px rgba(0,0,0,.22); }.price-ticket > div { text-align:center; }.price-ticket > div p { margin-bottom:5px;color:var(--navy);font-size:13px;font-weight:900; }.price-ticket > div strong { display:block;color:var(--navy);font-size:3.2rem;line-height:1;letter-spacing:-.05em; }.price-ticket > div small { color:var(--muted);font-size:11px; }.price-ticket .plus { display:grid;place-items:center;width:32px;height:32px;color:white;background:var(--orange);border-radius:50%;font-weight:900; }.price-ticket ul { grid-column:1/-1;display:flex;justify-content:center;gap:22px;margin:10px 0 0;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);list-style:none; }.price-ticket li { color:var(--muted);font-size:11px; }.price-ticket li::before { content:"✓";margin-right:5px;color:var(--success);font-weight:900; }.terms-summary { grid-column:1/-1;margin:0;color:#737b8b;font-size:10px;line-height:1.55; }.terms-summary a { color:var(--navy);font-weight:900;text-decoration:underline; }
.price-ticket > div > del { display: block; margin-bottom: 2px; color: #8c93a1; font-size: 1.1rem; font-weight: 800; text-decoration-thickness: 2px; }
.total-savings { grid-column: 1/-1; margin: 8px 0 0; padding: 13px 15px; color: #6b4a19; background: #fff6df; border: 1px solid #f0d498; border-radius: 8px; font-size: 11px; text-align: center; }
.total-savings strong { color: #734616; }

.faq-grid { display:grid;grid-template-columns:.72fr 1.28fr;gap:90px;align-items:start; }.accordion { border-top:1px solid var(--line); }.faq-item { border-bottom:1px solid var(--line); }.faq-item h3 { margin:0; }.faq-item button { width:100%;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:22px 0;color:var(--navy);background:none;border:0;text-align:left;font-weight:850;cursor:pointer; }.faq-item button span { width:28px;height:28px;display:grid;place-items:center;flex:0 0 auto;color:var(--orange-dark);background:#fff2e9;border-radius:50%;font-size:18px;transition:transform .2s; }.faq-item button[aria-expanded="true"] span { transform:rotate(45deg); }.faq-item [role="region"] { padding:0 48px 20px 0; }.faq-item [role="region"] p { margin:0;color:var(--muted);font-size:14px; }

.request { color:white;background:#15265d; }.request-grid { display:grid;grid-template-columns:.75fr 1.25fr;gap:80px;align-items:start; }.request h2 { color:white; }.request-copy > p:not(.eyebrow) { color:#c0c8df;font-size:17px; }.contact-block { margin-top:35px;padding-top:25px;border-top:1px solid rgba(255,255,255,.15); }.contact-block span,.contact-block a { display:block; }.contact-block span { color:#9da9ca;font-size:12px; }.contact-block a { color:white;font-weight:850; }
.lead-form { padding:36px;color:var(--ink);background:white;border-radius:16px;box-shadow:0 25px 65px rgba(0,0,0,.22); }.form-status:not(:empty) { margin-bottom:20px;padding:12px 14px;border-radius:7px;font-size:13px; }.form-status.success { color:#0d684a;background:#e9f8f2;border:1px solid #b9e8d6; }.form-status.error { color:#9b2424;background:#fff0f0;border:1px solid #efc1c1; }.form-grid { display:grid;grid-template-columns:1fr 1fr;gap:18px; }.field label,.field legend { display:block;margin-bottom:6px;color:var(--navy);font-size:12px;font-weight:850; }.field label span,.field legend span { color:var(--orange-dark); }.field input,.field select,.field textarea { width:100%;min-height:46px;padding:10px 12px;color:var(--ink);background:white;border:1px solid #cdd2dc;border-radius:6px; }.field textarea { min-height:105px;resize:vertical; }.field input:focus,.field select:focus,.field textarea:focus { border-color:var(--blue);box-shadow:0 0 0 3px rgba(49,87,166,.12);outline:0; }.field .invalid { border-color:var(--danger); }.error { display:block;min-height:17px;margin-top:4px;color:var(--danger);font-size:10px; }.full { grid-column:1/-1; }.field-split { display:grid;grid-template-columns:1.5fr .7fr;gap:10px; }.contact-method { margin:0;padding:0;border:0; }.contact-method label { display:inline-flex;align-items:center;gap:6px;margin:4px 22px 0 0;font-weight:650; }.contact-method input { width:16px;min-height:auto; }.consent { display:flex;gap:10px;align-items:flex-start;color:#586174;font-size:11px; }.consent input { margin-top:4px; }.consent a { color:var(--navy);font-weight:850;text-decoration:underline; }.hp-field { position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden; }.form-submit { width:100%;margin-top:23px;border:0; }.form-submit[disabled] { opacity:.65;cursor:wait;transform:none; }.form-note { margin:10px 0 0;color:#7b8291;font-size:10px;text-align:center; }

.site-footer { padding:70px 0 24px;color:#b8c1dc;background:#09163f; }.footer-grid { display:grid;grid-template-columns:1.4fr .7fr .9fr 1fr;gap:55px; }.footer-brand img { width:195px;filter:brightness(0) invert(1); }.footer-brand p { max-width:280px;margin:22px 0 14px;color:#c3cbe0;font-size:14px; }.footer-grid h2 { margin-bottom:18px;color:white;font-size:13px;letter-spacing:.04em; }.footer-grid a,.footer-grid span { display:block;margin:8px 0;font-size:12px; }.footer-grid a:hover { color:white; }.footer-bottom { display:flex;justify-content:space-between;gap:40px;margin-top:50px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12); }.footer-bottom p { margin:0;color:#8894b8;font-size:10px; }
.mobile-cta { display:none; }

.legal-page { background:var(--soft); }.legal-header { padding:26px 0;background:white;border-bottom:1px solid var(--line); }.legal-header .container { display:flex;align-items:center;justify-content:space-between;gap:30px; }.legal-header img { width:190px; }.legal-header a:last-child { color:var(--navy);font-weight:800; }.legal-main { padding:70px 0 100px; }.legal-card { max-width:860px;margin:auto;padding:52px;background:white;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 50px rgba(13,27,76,.07); }.legal-card h1 { font-size:3.2rem; }.legal-card h2 { margin-top:38px;font-size:1.55rem; }.legal-card h3 { margin-top:24px;font-size:1.1rem; }.legal-card p,.legal-card li { color:var(--muted); }.legal-card .notice { padding:16px 18px;color:#6d4b15;background:#fff8e8;border:1px solid #f0d596;border-radius:8px; }.legal-card .updated { font-size:12px; }.thank-you { min-height:100vh;display:grid;place-items:center;padding:40px;background:var(--navy); }.thank-you-card { max-width:680px;padding:55px;text-align:center;background:white;border-radius:18px;box-shadow:var(--shadow); }.thank-you-icon { width:62px;height:62px;display:grid;place-items:center;margin:0 auto 25px;color:white;background:var(--success);border-radius:50%;font-size:28px;font-weight:900; }.thank-you h1 { font-size:3.4rem; }.thank-you p { color:var(--muted);font-size:18px; }.thank-you .button { margin-top:15px; }

.reveal { opacity:0;transform:translateY(14px);transition:opacity .55s ease,transform .55s ease; }.reveal.visible { opacity:1;transform:none; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } *,*::before,*::after { scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important;animation-iteration-count:1!important; } .reveal { opacity:1;transform:none; } }

@media (max-width: 1060px) {
  .primary-nav { gap:16px; }.primary-nav > a:not(.button) { display:none; }
  .hero-grid { gap:35px; }.browser-hero { transform:scale(.95);transform-origin:center; }.signal-card-top { right:0; }
  .split-layout,.roadmap-grid,.pricing-grid,.request-grid { gap:50px; }
  .footer-grid { gap:35px; }
}
@media (max-width: 820px) {
  .section { padding:78px 0; }
  .menu-toggle { display:flex; }
  .primary-nav { position:absolute;top:75px;left:0;right:0;display:none;align-items:stretch;flex-direction:column;gap:0;padding:15px 20px 22px;background:white;border-bottom:1px solid var(--line);box-shadow:0 18px 30px rgba(13,27,76,.1); }.primary-nav.open { display:flex; }.primary-nav > a:not(.button) { display:block;padding:12px 0;border-bottom:1px solid #edf0f4; }.primary-nav .button { margin-top:14px; }
  .menu-toggle[aria-expanded="true"] span:nth-of-type(2) { transform:translateY(7px) rotate(45deg); }.menu-toggle[aria-expanded="true"] span:nth-of-type(3) { opacity:0; }.menu-toggle[aria-expanded="true"] span:nth-of-type(4) { transform:translateY(-7px) rotate(-45deg); }
  .hero { padding-top:58px; }.hero-grid,.split-layout,.relevance-grid,.roadmap-grid,.why-grid,.pricing-grid,.faq-grid,.request-grid { grid-template-columns:1fr; }.hero-grid { gap:50px; }.hero-copy { text-align:left; }.hero-visual { max-width:650px;margin:auto; }.trust-grid { grid-template-columns:1fr 1fr; }.trust-grid p:nth-child(3) { border-top:1px solid rgba(255,255,255,.12); }.trust-grid p:nth-child(4) { border-top:1px solid rgba(255,255,255,.12);border-right:1px solid rgba(255,255,255,.12); }
  .split-layout,.relevance-grid,.roadmap-grid,.why-grid,.pricing-grid,.faq-grid,.request-grid { gap:55px; }.offer-shell { grid-template-columns:1fr; }.offer-care { display:grid;grid-template-columns:1fr 1fr;column-gap:30px; }.offer-care > * { grid-column:1; }.offer-care ul { grid-column:2;grid-row:1/5; }.process-list { grid-template-columns:1fr 1fr;gap:30px 0; }.process-list li:nth-child(2)::after { display:none; }.heading-row { grid-template-columns:1fr;gap:10px; }.demo-grid { grid-template-columns:1fr 1fr; }.roadmap-grid { max-width:700px; }.priority-map { transform:none; }.why-grid { gap:35px; }.pricing-grid { max-width:750px; }.footer-grid { grid-template-columns:1.3fr 1fr 1fr; }.footer-grid > div:last-child { grid-column:2; }.legal-card { padding:40px; }
}
@media (max-width: 560px) {
  body { font-size:15px; }.container { width:min(calc(100% - 28px),var(--container)); }.section { padding:64px 0; }.site-header .button { display:none; }.header-inner { min-height:68px; }.brand img { width:166px; }.primary-nav { top:67px; }.primary-nav .button { display:flex; }
  h1 { font-size:clamp(2.65rem,13vw,3.7rem); }.hero { padding-top:42px;padding-bottom:58px; }.hero-lead { font-size:17px; }.price-line { display:grid;gap:3px; }.hero-actions { align-items:stretch;flex-direction:column;gap:17px; }.hero-actions .text-link { align-self:flex-start; }.microproof { display:grid;gap:7px; }.hero-visual { padding:20px 0 28px; }.browser-bar { height:27px; }.demo-nav { height:40px; }.demo-hero { min-height:195px;padding:28px 34% 26px 22px; }.demo-hero h2 { font-size:20px; }.signal-card { min-width:135px;padding:8px 10px; }.signal-card-top { top:0;right:-5px; }.signal-card-bottom { left:-5px; }.trust-grid { grid-template-columns:1fr; }.trust-grid p { padding:17px 20px;border-right:1px solid rgba(255,255,255,.12);border-top:1px solid rgba(255,255,255,.12); }.trust-grid p:first-child { border-top:0; }
  .contrast-panel { grid-template-columns:1fr; }.contrast-divider { height:30px; }.contrast-divider::before { inset:50% 0;width:auto;height:1px; }.contrast-side { padding:28px 24px; }.offer-main,.offer-care { padding:30px 23px; }.offer-title { align-items:flex-start; }.badge { display:none; }.check-grid { grid-template-columns:1fr; }.offer-care { display:block; }.scope-note { align-items:flex-start;flex-direction:column;gap:5px; }.process-list { grid-template-columns:1fr;gap:0; }.process-list li:not(:last-child)::after { display:none; }.demo-grid { grid-template-columns:1fr; }.heading-row > p { margin-bottom:5px; }.foundation-list,.roadmap-review,.why-list { grid-template-columns:1fr; }.foundation-list p,.why-list li { min-height:110px; }.priority-map { padding:18px; }.map-timeline { grid-template-columns:1fr; }.comparison th,.comparison td { min-width:145px;padding:15px 14px;font-size:12px; }.price-ticket { grid-template-columns:1fr; }.price-ticket .plus { margin:auto; }.price-ticket ul { align-items:flex-start;flex-direction:column;gap:6px; }.terms-summary { grid-column:1; }.form-grid { grid-template-columns:1fr; }.full { grid-column:1; }.lead-form { padding:27px 20px; }.field-split { grid-template-columns:1.35fr .65fr; }.contact-method label { margin-right:15px; }.footer-grid { grid-template-columns:1fr 1fr; }.footer-brand { grid-column:1/-1; }.footer-grid > div:last-child { grid-column:auto; }.footer-bottom { flex-direction:column;gap:9px; }.mobile-cta { position:fixed;z-index:90;left:10px;right:10px;bottom:10px;min-height:50px;display:flex;align-items:center;justify-content:center;padding:10px 18px;color:white;background:var(--orange);border-radius:8px;box-shadow:0 10px 30px rgba(13,27,76,.28);font-weight:900; }.site-footer { padding-bottom:90px; }.legal-header .container { align-items:flex-start;flex-direction:column;gap:12px; }.legal-main { padding:35px 0 80px; }.legal-card { padding:28px 21px; }.legal-card h1 { font-size:2.5rem; }.thank-you-card { padding:38px 24px; }.thank-you h1 { font-size:2.6rem; }
}
