:root {
  --ink: #050505;
  --green: #74b900;
  --lime: #99e600;
  --mint: #edf3e4;
  --paper: #f5f5f3;
  --white: #ffffff;
  --line: #d2d2cf;
}

/* Blue, green and white palette taken from the Eco Blast service van. */
:root {
  --ink: #07345b;
  --green: #58a62c;
  --lime: #80c341;
  --mint: #eaf5f7;
  --paper: #f6f9fa;
  --line: #cbdde5;
}
.site-header { background: #fff; border-bottom-color: #d7e4e9; }
.site-header nav a { color: #07345b; }
.site-header nav a:hover { color: #0782bd; }
.button-small { background: #087db8; color: white; }
.hero {
  background: linear-gradient(125deg, #052c50 0%, #076c9f 62%, #0798c9 100%);
}
.hero h1 em, .hero .eyebrow { color: #9bd552; }
.hero .button { background: #82c63e; }
.team-portrait { border-color: #63b5d7; box-shadow: 20px 22px 0 #76bd39; }
.service-grid { grid-template-columns: repeat(3, 1fr); }
.service-card.featured { background: #e8f5f9; }
.service-card .icon, .service-card a { color: #087db8; }
.service-card:hover { border-color: #0782bd; }
.pricing { background: linear-gradient(125deg, #052f55, #087db8); }
.pricing .price-list div { border-bottom-color: rgba(255,255,255,.25); }
.coverage { background: #e7f3f7; }
.county-list { box-shadow: 14px 14px 0 #68b437; }
.whatsapp-inline { color: #087db8; border-bottom-color: #68b437; }
.why-stat { background: linear-gradient(145deg, #06335a, #087daf); box-shadow: 16px 16px 0 #71bb37; }
.quote { background: linear-gradient(125deg, #06335a, #075f8c); }
.quote .button { background: #82c63e; }
@media (max-width: 900px) { .service-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .service-grid { grid-template-columns: 1fr; } }

/* Consistent section heading hierarchy. */
.services .eyebrow,
.pricing .eyebrow,
.coverage .eyebrow,
.why .eyebrow,
.quote .eyebrow {
  font-size: 1rem;
  letter-spacing: .1em;
  margin-bottom: 16px;
}

.section-heading h2,
.pricing h2,
.coverage h2,
.why h2,
.quote h2 {
  font-size: clamp(2rem, 3vw, 3.1rem);
  line-height: 1.1;
  letter-spacing: -.04em;
}

@media (max-width: 560px) {
  .services .eyebrow,
  .pricing .eyebrow,
  .coverage .eyebrow,
  .why .eyebrow,
  .quote .eyebrow { font-size: .92rem; }

  .section-heading h2,
  .pricing h2,
  .coverage h2,
  .why h2,
  .quote h2 { font-size: 2rem; }
}

body { background: var(--paper); }

.site-header {
  max-width: none;
  padding-inline: max(28px, calc((100vw - 1184px) / 2));
  background: #050505;
  border-bottom-color: #2b2b2b;
}

.brand img {
  display: block;
  width: 68px;
  height: 68px;
  object-fit: contain;
}

.site-header nav a { color: #f5f5f5; }
.site-header nav a:hover { color: var(--lime); }
.button-small { background: var(--lime); color: #050505; }

.hero {
  max-width: none;
  padding-inline: max(28px, calc((100vw - 1184px) / 2));
  background: radial-gradient(circle at 82% 38%, #243000 0, #111500 16%, #050505 43%);
  color: white;
}
.hero h1 em { color: var(--lime); }
.hero-lead, .hero .trust-row { color: #c4c7c0; }
.hero .text-link { color: white; }
.hero .text-link:hover { color: var(--lime); }
.eyebrow { color: var(--green); }

.team-portrait {
  height: 520px;
  max-width: 470px;
  justify-self: end;
  border: 1px solid #343434;
  border-radius: 6px;
  box-shadow: 20px 22px 0 #78bb00;
}
.team-portrait > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 32%;
  border-radius: 5px;
}
.team-portrait .result-card { left: -34px; bottom: 30px; }

.house-scene {
  background: linear-gradient(150deg, #252525, #090909);
  box-shadow: 20px 22px 0 #78bb00;
}
.sun { background: var(--lime); }
.house { background: #f4f4f4; box-shadow: inset 0 -18px #c9c9c9; }
.roof { background: #6d6d6d; }
.hedge { background: #5e9600; }
.drive { background: #aeb0ad; }
.door { background: #609800; }

.services { background: #fafafa; }
.service-card.featured { background: #eaf4da; }
.service-card:hover { border-color: var(--lime); }

.pricing { background: linear-gradient(125deg, #050505, #171717); }
.pricing .price-list div { border-bottom-color: #3b3b3b; }
.pricing .price-list span, .pricing > div > p:last-child { color: #c6c6c6; }

.coverage { background: #e7e7e5; }
.county-list { box-shadow: 14px 14px 0 var(--lime); }
.whatsapp-inline { color: #4f8000; }

.why-stat {
  background: linear-gradient(145deg, #101010, #2c2c2c);
  box-shadow: 16px 16px 0 var(--lime);
}

.quote { background: #090909; }
.quote input, .quote select, .quote textarea { border-color: #747474; }
.quote > div > p:last-child, .form-note { color: #cacaca; }
.quote .button { background: var(--lime); }

footer .brand img {
  width: 78px;
  height: 78px;
  border-radius: 4px;
}

@media (max-width: 560px) {
  .site-header { padding-inline: 18px; }
  .brand img { width: 58px; height: 58px; }
  .team-portrait { height: 430px; width: calc(100% - 16px); }
  .team-portrait .result-card { left: 12px; bottom: 14px; }
}
