
:root{
  --bg:#08111f; --bg2:#0e1728; --ink:#0d1726; --text:#f8fafc; --muted:#cbd5e1;
  --soft:#eef6fb; --card:#ffffff; --teal:#00B4D8; --teal2:#18d1f5; --green:#25D366;
  --line:rgba(255,255,255,.12); --darkLine:rgba(13,23,38,.10); --shadow:0 24px 70px rgba(0,0,0,.28);
  --shadow2:0 14px 34px rgba(0,0,0,.16); --radius:24px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'Montserrat',system-ui,sans-serif;background:radial-gradient(circle at 15% 5%,rgba(0,180,216,.24),transparent 32%),radial-gradient(circle at 90% 12%,rgba(37,211,102,.10),transparent 30%),linear-gradient(180deg,var(--bg),var(--bg2));color:var(--text)}
a{color:inherit}.wrap{max-width:1180px;margin:0 auto;padding:0 18px}.top-banner{background:linear-gradient(90deg,var(--teal),#009ecf);text-align:center;font-weight:900;padding:10px 14px;color:#fff}.site-header{position:sticky;top:0;z-index:50;background:rgba(8,17,31,.88);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.nav{max-width:1180px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 18px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.logo{height:70px;width:auto}.brand-name{font-weight:900}.brand-sub{font-size:.8rem;color:var(--muted);font-weight:700}.nav-links{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.nav-links a{text-decoration:none;font-weight:900;font-size:.9rem;padding:10px 13px;border-radius:999px;background:rgba(255,255,255,.08)}.nav-links a.primary{background:var(--teal);box-shadow:0 12px 30px rgba(0,180,216,.28)}
.hero{padding:86px 0 54px;position:relative;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:34px;align-items:center}.eyebrow{display:inline-flex;gap:8px;align-items:center;border:1px solid var(--line);background:rgba(255,255,255,.08);padding:8px 12px;border-radius:999px;font-weight:900;color:#dff9ff}.hero h1{font-size:clamp(2.4rem,6vw,5.3rem);line-height:.96;margin:18px 0 16px;letter-spacing:-.06em}.hero p{font-size:1.1rem;line-height:1.75;color:var(--muted);max-width:680px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;border-radius:999px;padding:14px 22px;font-weight:900;border:1px solid transparent}.btn.teal{background:var(--teal);color:#fff;box-shadow:0 18px 42px rgba(0,180,216,.28)}.btn.green{background:var(--green);color:#fff;box-shadow:0 18px 42px rgba(37,211,102,.22)}.btn.ghost{background:rgba(255,255,255,.08);border-color:var(--line);color:#fff}.trust-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.trust-row span{background:rgba(255,255,255,.08);border:1px solid var(--line);border-radius:999px;padding:8px 12px;font-weight:900;color:#dbeafe;font-size:.9rem}.hero-card{background:rgba(255,255,255,.10);border:1px solid var(--line);border-radius:32px;padding:16px;box-shadow:var(--shadow)}.hero-photo{min-height:330px;border-radius:24px;background:linear-gradient(135deg,rgba(0,180,216,.25),rgba(255,255,255,.06)),url('/img/driveway-cleaning-closeup.jpg') center/cover}.quote-mini{margin-top:14px;background:#fff;color:var(--ink);border-radius:22px;padding:18px;box-shadow:var(--shadow2)}.quote-mini h3{margin:0 0 8px}.quote-mini ul{margin:0;padding-left:18px;color:#435064;font-weight:700;line-height:1.7}
.section{padding:66px 0}.section.alt{background:rgba(255,255,255,.035);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-head{text-align:center;max-width:760px;margin:0 auto 28px}.section-head h2{font-size:clamp(1.9rem,4vw,3.1rem);margin:0 0 10px;letter-spacing:-.04em}.section-head p{color:var(--muted);line-height:1.7;margin:0}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.card{background:#fff;color:var(--ink);border-radius:var(--radius);padding:20px;border:1px solid var(--darkLine);box-shadow:var(--shadow2);text-decoration:none;display:flex;flex-direction:column;gap:10px}.card:hover{transform:translateY(-4px);transition:.2s;box-shadow:0 20px 46px rgba(0,180,216,.17)}.card h3{margin:0;font-size:1.2rem}.card p{margin:0;color:#5b6473;line-height:1.6;font-weight:650}.card .icon{font-size:2rem}.learn{margin-top:auto;color:#008fb0;font-weight:900}.image-card{padding:0;overflow:hidden}.image-card .img{height:180px;background:#122}.image-card.drive .img{background:url('/img/driveway-cleaning-closeup.jpg') center/cover}.image-card.patio .img{background:url('/img/patio-cleaning.jpg') center/cover}.image-card.gutter .img{background:url('/img/gutters.jpg') center/cover}.image-card .body{padding:20px;display:flex;flex-direction:column;gap:10px;flex:1}.package{background:linear-gradient(135deg,#fff,#eefbff);color:var(--ink);border-radius:32px;padding:30px;box-shadow:var(--shadow);display:grid;grid-template-columns:1fr .95fr;gap:24px;align-items:start}.package h2{font-size:clamp(2rem,4vw,3.3rem);letter-spacing:-.05em;margin:0 0 12px}.package p{color:#506074;line-height:1.7;font-weight:700}.tick-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.tick{background:#fff;border:1px solid var(--darkLine);border-radius:16px;padding:12px;font-weight:900}.package-box{background:var(--ink);color:#fff;border-radius:24px;padding:22px}.package-box h3{margin:0 0 12px}.package-box p{color:#dbeafe}.steps .step{counter-increment:step}.step h3:before{content:counter(step);display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--teal);color:#fff;margin-right:8px}.footer{border-top:1px solid var(--line);padding:38px 0;color:#cbd5e1}.footer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:24px}.footer h3{color:#fff;margin:0 0 10px}.footer a{display:block;text-decoration:none;margin:8px 0;color:#e5f6fb;font-weight:800}.whatsapp-float{position:fixed;right:18px;bottom:18px;width:62px;height:62px;border-radius:50%;background:var(--green);display:flex;align-items:center;justify-content:center;text-decoration:none;font-size:28px;box-shadow:0 18px 40px rgba(37,211,102,.28);z-index:60}
@media(max-width:940px){.hero-grid,.package{grid-template-columns:1fr}.grid3,.grid4{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.nav{align-items:flex-start;flex-direction:column}.hero{padding-top:56px}}@media(max-width:620px){.grid3,.grid4,.tick-list,.footer-grid{grid-template-columns:1fr}.hero-card{display:none}.nav-links a{font-size:.82rem;padding:9px 11px}.section{padding:48px 0}}

/* Detail/service pages */
.page-hero{padding:70px 0 44px}.page-hero .wrap{max-width:980px}.breadcrumbs{color:#9bdff0;font-weight:900;margin-bottom:14px;font-size:.9rem}.breadcrumbs a{text-decoration:none}.page-hero h1{font-size:clamp(2.2rem,5vw,4.4rem);line-height:1;margin:0 0 16px;letter-spacing:-.05em}.page-hero p{color:var(--muted);line-height:1.75;font-size:1.08rem;max-width:780px}.split{display:grid;grid-template-columns:1fr .82fr;gap:24px;align-items:start}.info-panel{background:#fff;color:var(--ink);border-radius:28px;padding:26px;box-shadow:var(--shadow2)}.info-panel h2,.info-panel h3{margin-top:0}.info-panel p,.info-panel li{color:#536173;line-height:1.7;font-weight:650}.clean-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}.clean-list li{background:#f4fbfe;border:1px solid #d7eef6;border-radius:14px;padding:12px 14px;color:#263244;font-weight:800}.aside-cta{position:sticky;top:110px;background:linear-gradient(135deg,#fff,#ecfbff);color:var(--ink);border-radius:28px;padding:24px;box-shadow:var(--shadow)}.aside-cta p{color:#536173;line-height:1.65;font-weight:700}.mini-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.mini-card{background:#fff;color:var(--ink);border:1px solid var(--darkLine);border-radius:18px;padding:16px;box-shadow:var(--shadow2)}.mini-card h3{margin:0 0 8px}.mini-card p{margin:0;color:#5b6473;line-height:1.55;font-weight:650}.note-box{background:rgba(0,180,216,.12);border:1px solid rgba(0,180,216,.26);border-radius:22px;padding:20px;color:#e9fbff}.note-box p{color:#d9f5fb}.service-links{display:flex;gap:10px;flex-wrap:wrap}.service-links a{background:rgba(255,255,255,.09);border:1px solid var(--line);border-radius:999px;padding:10px 13px;text-decoration:none;font-weight:900;color:#e6f7fb}@media(max-width:860px){.split{grid-template-columns:1fr}.aside-cta{position:static}.mini-grid{grid-template-columns:1fr}}

/* Conversion upgrades */
.quote-strip{background:linear-gradient(135deg,#ffffff,#eafaff);color:var(--ink);border-radius:30px;padding:28px;box-shadow:var(--shadow);display:grid;grid-template-columns:1.1fr .9fr;gap:22px;align-items:center}.quote-strip h2{margin:0 0 10px}.quote-strip p{color:#536173;line-height:1.65;font-weight:700}.quote-steps{display:grid;gap:10px}.quote-step{background:#f3fbfe;border:1px solid #d7eef6;border-radius:16px;padding:12px 14px;font-weight:900;color:#1a2a3e}.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.trust-card{background:rgba(255,255,255,.07);border:1px solid var(--line);border-radius:22px;padding:18px}.trust-card h3{margin:0 0 8px}.trust-card p{margin:0;color:var(--muted);line-height:1.55}.coming-soon{border:1px dashed rgba(0,180,216,.55);background:rgba(0,180,216,.10);border-radius:24px;padding:22px;text-align:left;margin-top:18px}.coming-soon p{color:#dff8fd;line-height:1.65}.area-card a{color:inherit;text-decoration:none;display:block}.search-console-box{background:#fff;color:var(--ink);border-radius:28px;padding:24px;box-shadow:var(--shadow2);text-align:left}.search-console-box p,.search-console-box li{color:#536173;line-height:1.65;font-weight:700}@media(max-width:860px){.quote-strip{grid-template-columns:1fr}.trust-grid{grid-template-columns:1fr}}

/* Quote funnel and local SEO upgrades */
.quote-page-hero{padding:72px 18px;background:radial-gradient(circle at top left,rgba(0,180,216,.26),transparent 36%),linear-gradient(180deg,#0b1525,#08111f);}.quote-funnel{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}.quote-panel{background:#fff;color:var(--ink);border-radius:28px;padding:26px;box-shadow:var(--shadow2)}.quote-panel h1,.quote-panel h2,.quote-panel h3{color:var(--ink);margin-top:0}.quote-panel p,.quote-panel li{color:#536173;line-height:1.65;font-weight:700}.quote-checklist{display:grid;gap:10px;margin:18px 0}.quote-checklist div{background:#f2fbfe;border:1px solid #d4eef7;border-radius:16px;padding:12px 14px;font-weight:900;color:#17304b}.quote-form{display:grid;gap:12px}.quote-form label{display:grid;gap:6px;color:#17304b;font-weight:900}.quote-form input,.quote-form select,.quote-form textarea{width:100%;box-sizing:border-box;border:1px solid #d5e4ee;border-radius:14px;padding:13px 14px;font:inherit;font-weight:700;color:#102033;background:#fbfdff}.quote-form textarea{min-height:120px;resize:vertical}.form-note{background:#edfaff;border:1px solid #c9edf8;border-radius:16px;padding:12px;color:#31556f;font-weight:800}.mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}.mini-card{background:rgba(255,255,255,.08);border:1px solid var(--line);border-radius:18px;padding:14px}.mini-card h3{margin:0 0 6px}.mini-card p{margin:0;color:var(--muted);line-height:1.55}.local-links{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.local-links a{background:rgba(255,255,255,.08);border:1px solid var(--line);border-radius:999px;color:#fff;text-decoration:none;font-weight:900;padding:11px 15px}.faq-grid{display:grid;gap:12px}.faq-grid details{background:rgba(255,255,255,.07);border:1px solid var(--line);border-radius:18px;padding:16px;text-align:left}.faq-grid summary{cursor:pointer;font-weight:900}.faq-grid p{color:var(--muted);line-height:1.65}@media(max-width:860px){.quote-funnel,.mini-grid{grid-template-columns:1fr}}

/* Accessibility contrast pass: make teal/blue writing easier to read */
:root{
  --teal-readable:#00c8ef;
  --teal-deep:#006f8a;
  --navy-on-teal:#031521;
  --link-blue-readable:#bff6ff;
}
.top-banner,
.nav-links a.primary,
.btn.teal{
  background:linear-gradient(90deg,var(--teal-readable),#48e5ff);
  color:var(--navy-on-teal) !important;
  text-shadow:none;
}
.btn.green{
  color:#032012 !important;
  text-shadow:none;
}
.learn{
  color:var(--teal-deep);
}
.breadcrumbs,
.breadcrumbs a,
.service-links a,
.local-links a{
  color:var(--link-blue-readable) !important;
}
.service-links a,
.local-links a{
  background:rgba(0,180,216,.18);
  border-color:rgba(191,246,255,.42);
}
.eyebrow,
.trust-row span,
.note-box,
.note-box p,
.coming-soon p{
  color:#f2fdff;
}
.card a,
.info-panel a,
.quote-panel a,
.search-console-box a{
  color:#005f78;
  font-weight:900;
}

/* Stronger readability overrides */
body,
.section,
.section.alt,
.hero,
.page-hero,
.quote-page-hero{
  color:#f8fafc;
}
.section-head h2,
.section > .wrap > h2,
.hero h1,
.page-hero h1,
.quote-page-hero h1,
.final-cta h2{
  color:#ffffff !important;
}
.section-head p,
.section > .wrap > p,
.hero p,
.page-hero p,
.quote-page-hero p{
  color:#e2edf7 !important;
}
.card,
.quote-strip,
.quote-panel,
.info-panel,
.search-console-box,
.package,
.quote-mini,
.aside-cta{
  color:#0d1726 !important;
}
.card h2,.card h3,
.quote-strip h2,.quote-strip h3,
.quote-panel h1,.quote-panel h2,.quote-panel h3,
.info-panel h2,.info-panel h3,
.search-console-box h2,.search-console-box h3,
.package h2,.package h3,
.quote-mini h3,
.aside-cta h2,.aside-cta h3{
  color:#0d1726 !important;
}
.card p,
.quote-strip p,
.quote-panel p,.quote-panel li,
.info-panel p,.info-panel li,
.search-console-box p,.search-console-box li,
.package p,
.quote-mini li,
.aside-cta p{
  color:#334155 !important;
}
.package-box,
.package-box h3,
.package-box p,
.package-box a{
  color:#ffffff !important;
}
.nav-links a:not(.primary),
.btn.ghost{
  color:#ffffff !important;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.22);
}
.nav-links a.primary,
.btn.teal,
.btn.green,
.top-banner{
  color:#02131d !important;
  font-weight:900;
}
.learn,
.card .learn{
  color:#005f78 !important;
}
.faq-grid details{
  background:rgba(255,255,255,.10);
}
.faq-grid summary{
  color:#ffffff !important;
}
.faq-grid p{
  color:#e2edf7 !important;
}
.quote-panel .faq-grid details,
.card .faq-grid details,
.info-panel .faq-grid details{
  background:#f8fbff;
  border-color:#dbe7f0;
}
.quote-panel .faq-grid summary,
.card .faq-grid summary,
.info-panel .faq-grid summary{
  color:#0d1726 !important;
}
.quote-panel .faq-grid p,
.card .faq-grid p,
.info-panel .faq-grid p{
  color:#334155 !important;
}

/* Final small-text readability polish */
.faq-grid summary{
  font-size:1.02rem;
  line-height:1.45;
}
.faq-grid p,
.trust-card p,
.result-card p,
.coming-soon p{
  font-size:1rem;
  line-height:1.7;
}
.trust-card,
.result-card,
.coming-soon{
  background:rgba(255,255,255,.11);
}
.trust-card h3,
.result-card h3,
.coming-soon h3{
  color:#ffffff !important;
}
.trust-card p,
.result-card p,
.coming-soon p{
  color:#edf7ff !important;
}
.card p{
  line-height:1.7;
}
.whatsapp-float{
  color:#032012 !important;
}

/* Full Exterior Refresh package contrast fix */
.package{
  background:linear-gradient(135deg,#ffffff,#f1fbff) !important;
  color:#0b1726 !important;
}
.package .eyebrow{
  background:#08324a !important;
  border-color:#0b5e7a !important;
  color:#ffffff !important;
}
.package h2,
.package > div > h2{
  color:#071827 !important;
}
.package p,
.package > div > p{
  color:#26384f !important;
}
.package .tick{
  background:#ffffff !important;
  color:#071827 !important;
  border:1px solid #bfd7e6 !important;
}
.package .package-box{
  background:#071827 !important;
  color:#ffffff !important;
  border:1px solid rgba(255,255,255,.18) !important;
}
.package .package-box h3,
.package .package-box p,
.package .package-box li{
  color:#ffffff !important;
}
.package .package-box .btn,
.package .package-box a{
  color:#02131d !important;
}
.package .package-box .btn.ghost{
  color:#ffffff !important;
}

/* Extra-strong Full Exterior Refresh visibility */
#packages .package{
  background:#ffffff !important;
  box-shadow:0 26px 80px rgba(0,0,0,.34) !important;
}
#packages .package *{
  text-shadow:none !important;
}
#packages .package .eyebrow{
  display:inline-flex;
  background:#082238 !important;
  color:#ffffff !important;
  border:2px solid #00B4D8 !important;
}
#packages .package h2{
  color:#061525 !important;
}
#packages .package p{
  color:#1f3046 !important;
}
#packages .tick{
  background:#eef9fd !important;
  color:#061525 !important;
  border:2px solid #a7d8e8 !important;
}
#packages .package-box{
  background:#061525 !important;
}
#packages .package-box h3,
#packages .package-box p{
  color:#ffffff !important;
}
#packages .package-box .btn.teal,
#packages .package-box .btn.green{
  background:#3fe5ff !important;
  color:#061525 !important;
  border:2px solid #9ff4ff !important;
}
#packages .package-box .btn.ghost{
  background:rgba(255,255,255,.14) !important;
  color:#ffffff !important;
  border:2px solid rgba(255,255,255,.34) !important;
}


/* Best-site upgrade: proof, seasonal, premium trust */
.premium-trust{grid-template-columns:repeat(3,1fr)}
.result-card.link-card{display:flex;flex-direction:column;text-decoration:none;color:#fff;min-height:100%}
.result-card.link-card .learn{margin-top:auto;color:#bff6ff !important}
.result-card{border:1px solid var(--line);border-radius:24px;padding:18px;background:rgba(255,255,255,.10);box-shadow:var(--shadow2)}
.result-card:hover{transform:translateY(-4px);transition:.2s;box-shadow:0 20px 46px rgba(0,180,216,.18)}
.clean-list + h2{margin-top:30px}
.footer-grid a[href="/before-after-gallery.html"],.footer-grid a[href="/reviews.html"],.footer-grid a[href="/seasonal-exterior-cleaning-southport.html"]{color:#e9fbff;font-weight:900}
@media(max-width:860px){.premium-trust{grid-template-columns:1fr}}

/* Honest launch / introductory offer section */
.startup-offer{background:linear-gradient(135deg,#ffffff,#eefbff);color:#0d1726;border-radius:32px;padding:30px;box-shadow:var(--shadow);text-align:left}
.startup-offer h2{font-size:clamp(1.8rem,4vw,3rem);line-height:1.05;letter-spacing:-.045em;margin:12px 0;color:#071827!important}
.startup-offer p{color:#334155!important;line-height:1.7;font-weight:700}.startup-offer .eyebrow{background:#08324a!important;border-color:#0b5e7a!important;color:#fff!important}
.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0}.offer-grid>div{background:#f8fbff;border:1px solid #dbe7f0;border-radius:20px;padding:18px}.offer-grid h3{margin:0 0 8px;color:#0d1726!important}.offer-grid p{margin:0;color:#334155!important}@media(max-width:860px){.offer-grid{grid-template-columns:1fr}}

/* Compact homepage areas + FAQ split */
.compact-info-section{padding:58px 0}
.areas-faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:stretch}
.compact-panel{background:rgba(255,255,255,.96);color:var(--ink);border:1px solid rgba(13,23,38,.10);border-radius:28px;padding:24px;box-shadow:var(--shadow2);height:100%;display:flex;flex-direction:column}
.compact-panel .faq{flex:1}
.compact-head{margin:0 0 18px;text-align:left}
.compact-head h2{color:var(--ink)!important;font-size:clamp(1.65rem,3vw,2.35rem);margin:0 0 8px}
.compact-head p{color:#536173!important;font-weight:700;line-height:1.6}
.area-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.area-list a{display:block;text-decoration:none;background:#eef9fc;border:1px solid #d3edf5;color:#0d1726!important;border-radius:999px;padding:11px 13px;font-weight:900;text-align:center}
.area-list a:hover{background:#dff6fd;transform:translateY(-1px)}
.faq-panel .faq details{margin-bottom:10px}
.faq-panel .faq details:last-child{margin-bottom:0}
@media(max-width:940px){.areas-faq-grid{grid-template-columns:1fr}}
@media(max-width:620px){.compact-info-section{padding:44px 0}.compact-panel{padding:18px;border-radius:22px}.area-list{grid-template-columns:1fr}}
/* Uniform Areas/FAQ panels with larger area labels */
.areas-faq-grid{grid-template-columns:1fr 1fr;align-items:stretch}
.compact-panel{height:100%;display:flex;flex-direction:column}
.compact-panel .faq{flex:1}
.area-list{gap:14px}
.area-list a{font-size:1.08rem;padding:16px 14px;min-height:58px;display:flex;align-items:center;justify-content:center;line-height:1.15}
@media(max-width:620px){.area-list a{font-size:1rem;min-height:50px;padding:13px 14px}}
/* More covered areas: denser uniform area list */
.area-list{grid-template-columns:repeat(3,1fr);gap:10px}
.area-list a{font-size:.96rem;min-height:48px;padding:11px 10px}
@media(max-width:940px){.area-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.area-list{grid-template-columns:1fr}.area-list a{font-size:1rem;min-height:50px;padding:13px 14px}}

/* Problem/solution cards: common homeowner pain points */
.problem-section{position:relative;overflow:hidden}
.problem-grid{align-items:stretch}
.problem-card{display:flex;flex-direction:column;gap:10px;text-decoration:none;background:linear-gradient(180deg,rgba(255,255,255,.98),#eefaff);color:#0d1726;border:1px solid #ccecf5;border-radius:24px;padding:20px;box-shadow:var(--shadow2);min-height:100%}
.problem-card:hover{transform:translateY(-4px);transition:.2s;box-shadow:0 22px 52px rgba(0,180,216,.20)}
.problem-icon{width:48px;height:48px;border-radius:16px;background:#dff7ff;display:flex;align-items:center;justify-content:center;font-size:1.6rem;border:1px solid #bdebf7}
.problem-card h3{margin:0;color:#071827!important;font-size:1.15rem}.problem-card p{margin:0;color:#334155!important;line-height:1.6;font-weight:700}.problem-card span{margin-top:auto;color:#006f8a;font-weight:900}
@media(max-width:940px){.problem-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.problem-grid{grid-template-columns:1fr}}

/* Legal/footer links */
.footer-legal-links{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin:18px auto 0}.footer-legal-links a{color:#cbd5e1;text-decoration:none;font-weight:800}.footer-legal-links a:hover{color:#fff}.legal-page{max-width:900px;margin:0 auto;padding-left:18px;padding-right:18px}.legal-page .faq-card{text-align:left}


/* Honest service guidance: quote, frequency and soft-wash information */
.guidance-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:stretch}
.guidance-card{background:#fff;color:#0d1726;border:1px solid rgba(13,23,38,.10);border-radius:22px;padding:20px;box-shadow:var(--shadow2);text-align:left}
.guidance-card h3{margin:0 0 10px;color:#0d1726!important}
.guidance-card p,.guidance-card li{color:#334155!important;line-height:1.65;font-weight:700}
.guidance-card ul{margin:0;padding-left:20px}
.chemical-note{background:linear-gradient(135deg,#ffffff,#ecfbff);color:#0d1726;border:1px solid #bfeaf6;border-radius:26px;padding:24px;box-shadow:var(--shadow2);text-align:left}
.chemical-note h2,.chemical-note h3{color:#0d1726!important;margin-top:0}
.chemical-note p,.chemical-note li{color:#334155!important;line-height:1.7;font-weight:700}
.chemical-note strong{color:#071827}
.frequency-list{display:grid;gap:10px;margin-top:12px}
.frequency-list div{background:#f2fbfe;border:1px solid #ccecf5;border-radius:14px;padding:12px 14px;color:#17304b;font-weight:900}
@media(max-width:940px){.guidance-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.guidance-grid{grid-template-columns:1fr}}


/* Accessibility contrast override - fixes dark/low-contrast writing across the site */
.section-head h2,.section-head h3{color:#ffffff!important}
.section-head p{color:#e2edf7!important}
.mini-card,.service-card,.info-card,.result-card,.coming-soon{background:linear-gradient(180deg,rgba(255,255,255,.98),#eefaff)!important;color:#0d1726!important;border:1px solid #ccecf5!important;box-shadow:var(--shadow2)!important}
.mini-card h2,.mini-card h3,.service-card h2,.service-card h3,.info-card h2,.info-card h3,.result-card h2,.result-card h3,.coming-soon h2,.coming-soon h3{color:#071827!important}
.mini-card p,.mini-card li,.service-card p,.service-card li,.info-card p,.info-card li,.result-card p,.result-card li,.coming-soon p,.coming-soon li{color:#334155!important;line-height:1.65!important;font-weight:700!important}
.mini-card a,.service-card a,.info-card a,.result-card a,.coming-soon a{color:#005f78!important;font-weight:900!important}
.card{background:#ffffff!important;color:#0d1726!important;border-color:rgba(13,23,38,.12)!important}
.card h2,.card h3,.card strong{color:#071827!important}
.card p,.card li{color:#334155!important}
.card .learn{color:#005f78!important}
.faq details{background:#ffffff!important;color:#0d1726!important;border:1px solid rgba(13,23,38,.12)!important}
.faq summary{color:#071827!important}
.faq p{color:#334155!important}
/* Keep deliberately dark hero/footer/nav text light */
.hero h1,.hero h2,.page-hero h1,.page-hero h2,.site-header a,footer,footer a,.top-banner{color:#ffffff!important}


/* Mobile logo/header optimisation - stronger brand visibility and cleaner small-screen navigation */
.site-header{background:rgba(7,18,32,.96)!important;box-shadow:0 10px 30px rgba(0,0,0,.28)}
.brand{position:relative;gap:14px!important;min-width:0}
.logo{height:82px!important;width:auto!important;max-width:150px;object-fit:contain;background:#ffffff;border:2px solid rgba(0,180,216,.55);border-radius:20px;padding:7px;box-shadow:0 0 0 4px rgba(0,180,216,.12),0 16px 34px rgba(0,0,0,.32),0 0 28px rgba(0,180,216,.26);filter:drop-shadow(0 4px 10px rgba(0,0,0,.35))}
.brand-name{font-size:1.12rem;line-height:1.05;color:#ffffff!important;text-shadow:0 2px 10px rgba(0,0,0,.55)}
.brand-sub{font-size:.84rem;color:#d9f7ff!important;font-weight:800;line-height:1.25}
.nav-links a{min-height:42px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}
@media(max-width:860px){
  .top-banner{font-size:.82rem;line-height:1.25;padding:9px 12px}
  .site-header{position:sticky;top:0}
  .nav{padding:10px 12px!important;gap:10px!important;align-items:stretch!important;flex-direction:column!important}
  .brand{width:100%;justify-content:flex-start;gap:12px!important}
  .logo{height:74px!important;max-width:118px;border-radius:18px;padding:6px}
  .brand>div{min-width:0;flex:1}
  .brand-name{font-size:1rem;line-height:1.08;white-space:normal}
  .brand-sub{font-size:.75rem;line-height:1.25;max-width:210px}
  .nav-links{width:100%;display:flex!important;gap:8px;overflow-x:auto;flex-wrap:nowrap!important;padding:2px 0 4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .nav-links::-webkit-scrollbar{display:none}
  .nav-links a{flex:0 0 auto;font-size:.82rem!important;padding:10px 12px!important;border-radius:999px;min-height:40px}
  .nav-links a.primary{box-shadow:0 8px 22px rgba(0,180,216,.34)}
}
@media(max-width:430px){
  .logo{height:66px!important;max-width:104px;border-radius:16px;padding:5px}
  .brand-name{font-size:.94rem}
  .brand-sub{font-size:.70rem;max-width:180px}
  .nav-links a{font-size:.78rem!important;padding:9px 10px!important}
}


/* Final mobile fix: stop Areas covered chips/panels overflowing on phones */
@media (max-width: 940px){
  #areas .areas-faq-grid{
    grid-template-columns:1fr !important;
    width:100%;
    max-width:100%;
  }
}

@media (max-width: 620px){
  #areas.compact-info-section,
  #areas.section{
    overflow-x:hidden;
  }

  #areas .wrap,
  #areas .compact-panel,
  #areas .area-list{
    width:100%;
    max-width:100%;
    min-width:0;
    box-sizing:border-box;
  }

  #areas .compact-panel{
    padding:18px 14px;
    border-radius:22px;
  }

  #areas .compact-head{
    text-align:center;
  }

  #areas .area-list{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px;
  }

  #areas .area-list a{
    width:100%;
    max-width:100%;
    min-width:0;
    box-sizing:border-box;
    white-space:normal;
    overflow-wrap:anywhere;
    font-size:.98rem;
    min-height:48px;
    padding:12px 10px;
  }
}


/* Final quote page mobile fix: stop local area chips overflowing */
@media (max-width: 620px){
  .section .local-links{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px;
    width:100%;
    max-width:100%;
    min-width:0;
    box-sizing:border-box;
    justify-content:stretch;
    overflow-x:hidden;
  }

  .section .local-links a{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    max-width:100%;
    min-width:0;
    box-sizing:border-box;
    white-space:normal;
    overflow-wrap:anywhere;
    text-align:center;
    padding:12px 10px;
    min-height:48px;
    line-height:1.15;
  }
}


/* Quote form preferred date/time calendar panel */
.preferred-slot-card{
  background:linear-gradient(180deg,#f2fbfe,#eafaff);
  border:1px solid #c7edf7;
  border-radius:20px;
  padding:16px;
  box-shadow:0 10px 22px rgba(0,180,216,.12);
}
.preferred-slot-card h3{
  margin:0 0 6px;
  color:#0d1726;
  font-size:1.05rem;
}
.preferred-slot-card p{
  margin:0 0 14px;
  color:#39566c !important;
  font-weight:800;
  line-height:1.55;
}
.slot-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.slot-status{
  margin-top:12px;
}
.slot-status.success{
  background:#e8fff4;
  border-color:#b7efd5;
  color:#123d2a;
}
.slot-status.error{
  background:#fff1f2;
  border-color:#fecdd3;
  color:#8a1020;
}
.booking-request-form input[type="date"]{
  min-height:48px;
}
@media(max-width:720px){
  .slot-grid{
    grid-template-columns:1fr;
  }
  .preferred-slot-card{
    padding:14px;
    border-radius:18px;
  }
}


/* Hidden admin login shortcut */
.admin-hidden-link{
  position:fixed;
  top:6px;
  left:6px;
  z-index:9999;
  width:34px;
  height:34px;
  overflow:hidden;
  border-radius:999px;
  opacity:.04;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  color:transparent;
  text-decoration:none;
  font-size:1px;
  line-height:34px;
  text-align:center;
  transition:opacity .2s ease, background .2s ease, color .2s ease, width .2s ease, font-size .2s ease;
}
.admin-hidden-link:hover,
.admin-hidden-link:focus{
  opacity:1;
  width:auto;
  min-width:86px;
  padding:0 12px;
  color:#fff;
  font-size:12px;
  font-weight:900;
  background:rgba(0,180,216,.95);
  outline:2px solid rgba(255,255,255,.35);
}

/* Final desktop Areas/FAQ polish: compact equal area chips so the left panel balances with FAQ */
#areas .areas-faq-grid{
  align-items:start !important;
}

#areas .area-list{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:9px !important;
  align-content:start;
}

#areas .area-list a{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100%;
  min-width:0;
  min-height:46px !important;
  box-sizing:border-box;
  text-align:center;
  font-size:.88rem !important;
  line-height:1.12 !important;
  padding:10px 8px !important;
  white-space:normal;
  overflow-wrap:anywhere;
}

@media(max-width:1120px){
  #areas .area-list{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}

@media(max-width:940px){
  #areas .area-list{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:620px){
  #areas .area-list{
    grid-template-columns:1fr !important;
  }
  #areas .area-list a{
    font-size:1rem !important;
    min-height:50px !important;
    padding:13px 14px !important;
  }
}


/* Final Areas/FAQ readability fix: darken helper copy on light panels */
#areas .compact-panel,
#areas .compact-head,
#areas .compact-head p,
#areas .faq-panel .faq p,
#areas .faq-panel .faq summary{
  color:#0d1726 !important;
}

#areas .compact-head p{
  font-size:1rem !important;
  line-height:1.55 !important;
  font-weight:900 !important;
  opacity:1 !important;
  text-shadow:none !important;
}

#areas .faq-panel .faq p{
  color:#1f3348 !important;
  font-weight:800 !important;
}


/* FINAL OVERRIDE 20260606-1705: dark readable Areas/FAQ panels + favicon deploy marker */
#areas.compact-info-section {
  background:#071827 !important;
}
#areas .areas-faq-grid {
  align-items:stretch !important;
}
#areas .compact-panel {
  background:linear-gradient(180deg,#102033,#071827) !important;
  color:#ffffff !important;
  border:1px solid rgba(255,255,255,.18) !important;
  box-shadow:0 18px 48px rgba(0,0,0,.38), 0 0 28px rgba(0,180,216,.14) !important;
}
#areas .compact-head h2,
#areas .compact-head p,
#areas .faq-panel .faq summary,
#areas .faq-panel .faq p {
  color:#ffffff !important;
  opacity:1 !important;
  text-shadow:0 2px 10px rgba(0,0,0,.45) !important;
}
#areas .compact-head p,
#areas .faq-panel .faq p {
  font-weight:900 !important;
  line-height:1.6 !important;
}
#areas .area-list a {
  background:#ffffff !important;
  color:#071827 !important;
  border:1px solid rgba(0,180,216,.45) !important;
  box-shadow:0 8px 18px rgba(0,0,0,.22) !important;
}
#areas .faq-panel .faq details {
  background:#ffffff !important;
  color:#071827 !important;
  border:1px solid rgba(0,180,216,.35) !important;
}
#areas .faq-panel .faq details p,
#areas .faq-panel .faq details summary {
  color:#071827 !important;
  text-shadow:none !important;
}

/* FINAL OVERRIDE 20260606-1718: darker blue accents + WhatsApp green CTAs */
:root{
  --teal:#007fa3 !important;
  --teal2:#0098bd !important;
  --teal-readable:#007fa3 !important;
  --teal-deep:#005f78 !important;
  --green:#25D366 !important;
}
body{
  background:radial-gradient(circle at 15% 5%,rgba(0,127,163,.20),transparent 32%),radial-gradient(circle at 90% 12%,rgba(37,211,102,.10),transparent 30%),linear-gradient(180deg,var(--bg),var(--bg2)) !important;
}
.top-banner{
  background:linear-gradient(90deg,#007fa3,#005f78) !important;
  color:#ffffff !important;
}
.btn.teal,
.nav-links a.primary{
  background:linear-gradient(90deg,#25D366,#18b957) !important;
  color:#031b10 !important;
  box-shadow:0 16px 38px rgba(37,211,102,.30) !important;
}
.btn.green,
.whatsapp-float{
  background:#25D366 !important;
  color:#031b10 !important;
  border:2px solid rgba(255,255,255,.72) !important;
  box-shadow:0 16px 38px rgba(37,211,102,.32) !important;
}
.btn.green:hover,
.btn.teal:hover,
.nav-links a.primary:hover,
.whatsapp-float:hover{
  background:#1ebe5d !important;
}
.card:hover{
  box-shadow:0 20px 46px rgba(0,127,163,.22) !important;
}
.learn,
.card .learn{
  color:#005f78 !important;
}
#packages .package .eyebrow{
  border-color:#007fa3 !important;
}
#areas .compact-panel{
  box-shadow:0 18px 48px rgba(0,0,0,.38),0 0 28px rgba(0,127,163,.16) !important;
}
#areas .area-list a,
#areas .faq-panel .faq details{
  border-color:rgba(0,127,163,.42) !important;
}
/* Google review QR card - 20260606 */
.review-qr-card{margin:26px auto 0;max-width:720px;display:flex;gap:22px;align-items:center;justify-content:center;text-align:left;background:rgba(255,255,255,.96);color:#0d1726;border:1px solid rgba(0,180,216,.28);border-radius:28px;padding:22px;box-shadow:var(--shadow2)}
.review-qr-card img{width:180px;height:180px;border-radius:18px;background:#fff;padding:10px;box-shadow:0 12px 30px rgba(0,0,0,.16);flex-shrink:0}
.review-qr-card h2{margin:0 0 8px;color:#071827!important;font-size:clamp(1.45rem,3vw,2rem)}
.review-qr-card p{margin:0;color:#334155!important;line-height:1.6;font-weight:700}
@media(max-width:620px){.review-qr-card{flex-direction:column;text-align:center;padding:18px}.review-qr-card img{width:210px;height:210px}}
