:root{
  --green:#1B3D2F;
  --green-2:#2E6A4F;
  --green-3:#76B82A;
  --ink:#101923;
  --muted:#5d6978;
  --line:#dfe7e3;
  --soft:#f5f8f6;
  --white:#fff;
  --shadow:0 22px 60px rgba(17,38,30,.18);
  --radius:18px;
  --container:1380px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:#fff}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.site-header{position:fixed;top:0;left:0;right:0;z-index:50;background:#fff;backdrop-filter:blur(18px);border-bottom:1px solid rgba(27,61,47,.08)}
.header-inner{max-width:var(--container);height:104px;margin:auto;padding:0 clamp(22px,4vw,64px);display:flex;align-items:center;justify-content:space-between;gap:32px}
.brand{display:flex;align-items:center;gap:14px;min-width:210px}.brand-mark{width:46px;height:46px;display:grid;place-items:center}.brand-type strong{display:block;font-family:"Libre Baskerville",serif;font-size:24px;letter-spacing:.05em;color:#111b22}.brand-type small{display:block;font-size:12px;letter-spacing:.28em;color:#1b232a;margin-top:3px}.main-nav{display:flex;align-items:center;gap:34px;font-size:15px;font-weight:600;color:#1e293b}.main-nav a{position:relative;padding:36px 0}.main-nav a.active,.main-nav a:hover{color:var(--green)}.main-nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:25px;height:2px;background:var(--green)}.header-actions{display:flex;align-items:center;gap:24px}.phone{display:flex;align-items:center;gap:12px}.phone-icon{width:42px;height:42px;border-radius:999px;background:#f3f7f5;display:grid;place-items:center;color:var(--green);font-size:21px}.phone strong{display:block;font-size:15px;color:#111827}.phone small{display:block;font-size:13px;color:#64748b;margin-top:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:11px;border-radius:7px;padding:14px 24px;font-weight:800;font-size:15px;border:1px solid transparent;transition:.2s ease;white-space:nowrap}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--green-2);color:#fff;box-shadow:0 10px 20px rgba(27,61,47,.12)}.btn-primary:hover{background:var(--green)}.btn-outline{background:rgba(255,255,255,.78);border-color:var(--green-2);color:var(--green);box-shadow:0 8px 18px rgba(27,61,47,.06)}.btn-light{background:#fff;color:var(--green);border-color:#fff}.menu-button{display:none;background:none;border:none;font-size:26px;color:var(--green)}
.hero{position:relative;min-height:760px;padding-top:104px;overflow:hidden;background:#fff}.hero-media{position:absolute;inset:104px 0 0 0;z-index:0}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center center}.hero-wash{position:absolute;inset:104px 0 0 0;z-index:1;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.98) 18%,rgba(255,255,255,.86) 34%,rgba(255,255,255,.48) 50%,rgba(255,255,255,.12) 66%,rgba(255,255,255,0) 84%)}.hero-bottom-fade{position:absolute;left:0;right:0;bottom:0;height:140px;z-index:2;background:linear-gradient(0deg,#fff 0%,rgba(255,255,255,.75) 36%,rgba(255,255,255,0) 100%)}.hero-inner{position:relative;z-index:4;max-width:var(--container);margin:auto;padding:0 clamp(22px,4vw,64px) 176px;height:668px;display:flex;flex-direction:column;justify-content:center}.hero-copy{max-width:605px;margin-top:-18px;position:relative;z-index:5}.eyebrow{font-size:13px;line-height:1.1;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--green)}.hero h1{font-size:clamp(48px,5.2vw,78px);line-height:1.05;letter-spacing:-.045em;margin:18px 0 26px;color:#111923;font-weight:850}.hero h1 span{color:var(--green-2)}.lead{max-width:560px;font-size:18px;line-height:1.75;color:#536170;margin:0 0 28px}.hero-buttons{display:flex;gap:18px;flex-wrap:wrap}.metric-bar{position:absolute;left:clamp(22px,4vw,64px);bottom:34px;width:min(1040px,calc(100% - 2*clamp(22px,4vw,64px)));background:linear-gradient(135deg,#183c2d,#0f2b22);border-radius:16px;padding:30px 34px;display:grid;grid-template-columns:repeat(3,1fr);box-shadow:var(--shadow);overflow:hidden}.metric-bar:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 0%,rgba(118,184,42,.22),transparent 32%);pointer-events:none}.metric{position:relative;display:flex;align-items:center;gap:22px;color:#fff;padding:0 28px;border-right:1px solid rgba(255,255,255,.18)}.metric:first-child{padding-left:0}.metric:last-child{border-right:0;padding-right:0}.metric svg{width:52px;height:52px;stroke:#95c780;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}.metric:nth-child(2) svg{fill:none}.service-icon-img{width:54px;height:54px;object-fit:contain;display:block;margin:0 auto 18px;filter:invert(26%) sepia(19%) saturate(1298%) hue-rotate(102deg) brightness(95%) contrast(92%)}.metric strong{display:block;font-size:30px;line-height:1;font-weight:900;letter-spacing:-.04em}.metric span{display:block;font-size:14px;color:rgba(255,255,255,.78);margin-top:7px;line-height:1.35}.section{max-width:var(--container);margin:auto;padding:54px clamp(22px,4vw,64px)}.section-heading{text-align:center;margin-bottom:34px}.section-heading .line{display:flex;align-items:center;justify-content:center;gap:18px}.section-heading .line:before,.section-heading .line:after{content:"";width:110px;height:1px;background:#c9d8cf}.section-heading h2{font-size:clamp(34px,3vw,48px);line-height:1.08;letter-spacing:-.035em;margin:13px 0 0}.services{padding-top:80px}.service-row{display:grid;grid-template-columns:repeat(6,1fr);align-items:start}.service-item{text-align:center;padding:12px 26px 20px;border-right:1px solid var(--line)}.service-item:last-child{border-right:0}.service-item svg{width:54px;height:54px;margin:0 auto 18px;stroke:var(--green-2);fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.service-item h3{font-size:17px;line-height:1.12;margin:0 0 11px;font-weight:900}.service-item p{margin:0;color:#536170;font-size:14px;line-height:1.55}.centered{display:flex;width:max-content;margin:28px auto 0}.about-grid{display:grid;grid-template-columns:1.05fr 1.15fr 1.1fr .95fr;gap:18px;align-items:stretch;padding-top:30px}.copy-card,.image-card,.contact-card{border-radius:var(--radius);min-height:310px}.copy-card{background:#f8faf9;border:1px solid #eef2ef;padding:32px}.copy-card h2{font-size:clamp(26px,2vw,34px);line-height:1.08;letter-spacing:-.03em;margin:14px 0 18px}.copy-card p{color:#52606e;line-height:1.72;font-size:15px}.image-card{position:relative;overflow:hidden;box-shadow:0 8px 22px rgba(0,0,0,.07)}.image-card img{width:100%;height:100%;object-fit:cover}.floating-note{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(90deg,rgba(27,61,47,.96),rgba(46,106,79,.9));color:#fff;padding:24px 26px;display:grid;grid-template-columns:54px 1fr;column-gap:14px;align-items:center}.floating-note span{grid-row:1/3;width:54px;height:54px;border-radius:999px;background:rgba(255,255,255,.14);display:grid;place-items:center;font-size:30px}.floating-note strong{font-size:16px}.floating-note small{font-size:12px;color:rgba(255,255,255,.82);line-height:1.45;margin-top:4px}.why-list{list-style:none;padding:0;margin:10px 0 0;display:grid;gap:20px}.why-list li{display:flex;gap:14px;align-items:flex-start}.why-list span{width:38px;height:38px;border:1px solid #c9d8cf;border-radius:999px;display:grid;place-items:center;color:var(--green-2);flex:0 0 auto}.why-list strong{display:block;font-size:14px;margin-bottom:4px}.why-list small{display:block;color:#64748b;line-height:1.45;font-size:12.5px}.contact-card{background:linear-gradient(145deg,#18402f,#0f3025);color:#fff;padding:36px 32px;text-align:center;box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;justify-content:center}.headset{width:70px;height:70px;border:1px solid rgba(255,255,255,.28);border-radius:999px;display:grid;place-items:center;font-size:32px;margin-bottom:18px;color:#dfeee6}.contact-card h2{font-size:29px;line-height:1.12;letter-spacing:-.03em;margin:0 0 14px}.contact-card p{color:rgba(255,255,255,.78);line-height:1.55;margin:0 0 25px}.contact-lines{width:100%;margin-top:25px;padding-top:24px;border-top:1px solid rgba(255,255,255,.15);display:grid;gap:13px;text-align:left}.contact-lines a{font-weight:800}.contact-lines small{display:block;font-weight:500;color:rgba(255,255,255,.7);margin-left:22px;margin-top:2px}.trusted{max-width:var(--container);margin:auto;padding:45px clamp(22px,4vw,64px) 62px;text-align:center}.logo-row{display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap;margin-top:26px;filter:grayscale(1);opacity:.45}.logo-row span{font-size:28px;font-weight:900;color:#6b7280;letter-spacing:.02em}.site-footer{background:#111d22;color:#fff}.footer-grid{max-width:var(--container);margin:auto;padding:58px clamp(22px,4vw,64px);display:grid;grid-template-columns:1.7fr repeat(4,1fr);gap:46px}.footer-brand{margin-bottom:18px}.footer-brand .brand-type strong,.footer-brand .brand-type small{color:#fff}.site-footer h3{font-size:13px;text-transform:uppercase;letter-spacing:.08em;margin:0 0 18px}.site-footer p,.site-footer a{display:block;color:#b8c2c8;font-size:14px;line-height:1.7;margin:0 0 9px}.site-footer form{display:flex;border:1px solid #344148;border-radius:7px;overflow:hidden;margin-top:14px}.site-footer input{background:#17242a;color:#fff;border:0;min-width:0;width:100%;padding:13px}.site-footer button{border:0;background:var(--green-2);color:#fff;width:46px;font-size:20px}.footer-bottom{max-width:var(--container);margin:auto;padding:20px clamp(22px,4vw,64px);border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;gap:20px;color:#8a98a1;font-size:13px}
@media (max-width:1180px){.main-nav{display:none}.menu-button{display:block}.header-actions{display:none}.about-grid{grid-template-columns:1fr 1fr}.service-row{grid-template-columns:repeat(3,1fr);row-gap:26px}.service-item:nth-child(3){border-right:0}.metric-bar{grid-template-columns:1fr;max-width:560px;gap:20px}.metric{border-right:0;border-bottom:1px solid rgba(255,255,255,.15);padding:0 0 18px}.metric:last-child{border-bottom:0;padding-bottom:0}.hero{min-height:850px}.hero-inner{height:758px}}
@media (max-width:760px){.header-inner{height:78px}.brand-type strong{font-size:18px}.brand-type small{font-size:9px}.hero{padding-top:78px;min-height:auto}.hero-media,.hero-wash{inset:78px 0 0}.hero-media img{object-position:62% center;filter:saturate(1.12) contrast(1.05)}.hero-wash{background:linear-gradient(180deg,rgba(255,255,255,.93) 0%,rgba(255,255,255,.74) 40%,rgba(255,255,255,.38) 64%,rgba(255,255,255,.1) 100%)}.hero-inner{height:auto;justify-content:flex-start;padding-top:96px;padding-bottom:44px}.hero h1{font-size:40px}.lead{font-size:15.5px}.hero-buttons{display:flex;flex-direction:column;align-items:stretch;gap:12px;margin-bottom:26px}.metric-bar{position:static;left:auto;right:auto;bottom:auto;width:auto;margin-top:8px;padding:24px}.services{padding-top:55px}.section-heading .line:before,.section-heading .line:after{width:44px}.service-row{grid-template-columns:1fr 1fr}.service-item{border-right:0;border-bottom:1px solid var(--line)}.about-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.trusted{text-align:left}.logo-row{justify-content:flex-start}.logo-row span{font-size:22px}}


/* About page */
.page-hero {
  position: relative;
  min-height: 560px;
  padding-top: 104px;
  overflow: hidden;
  background: #fff;
}

.page-hero-media {
  position: absolute;
  inset: 104px 0 0;
  z-index: 0;
}

.page-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.page-hero-wash {
  position: absolute;
  inset: 104px 0 0;
  z-index: 1;
  background: linear-gradient(90deg, #fff 0%, rgba(255,255,255,.98) 20%, rgba(255,255,255,.84) 42%, rgba(255,255,255,.35) 63%, rgba(255,255,255,0) 84%);
}

.page-hero-inner {
  position: relative;
  z-index: 2;
  max-width: var(--container);
  margin: auto;
  min-height: 468px;
  padding: 0 clamp(22px,4vw,64px);
  display: flex;
  align-items: center;
}

.page-hero-copy {
  max-width: 760px;
}

.page-hero h1 {
  font-size: clamp(46px,5vw,76px);
  line-height: 1.05;
  letter-spacing: -.045em;
  margin: 18px 0 24px;
  color: #111923;
  font-weight: 850;
}

.page-hero h1 span {
  color: var(--green-2);
}

.intro-card {
  background: #f8faf9;
  border: 1px solid #eef2ef;
  border-radius: var(--radius);
  padding: clamp(30px,4vw,52px);
  display: grid;
  grid-template-columns: .95fr 1.1fr;
  gap: 46px;
  box-shadow: 0 8px 20px rgba(17, 29, 34, .04);
}

.line-left {
  display: flex;
  align-items: center;
  gap: 16px;
}

.line-left:after {
  content: "";
  width: 90px;
  height: 1px;
  background: #c9d8cf;
}

.intro-card h2 {
  font-size: clamp(30px,3vw,46px);
  line-height: 1.08;
  letter-spacing: -.035em;
  margin: 18px 0 0;
}

.intro-copy p {
  font-size: 17px;
  line-height: 1.75;
  color: #52606e;
  margin: 0 0 18px;
}

.about-split {
  display: grid;
  grid-template-columns: 1fr 1.05fr;
  gap: 20px;
  padding-top: 10px;
}

.about-story-card {
  min-height: 450px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.about-story-card p {
  font-size: 16px;
}

.about-image-tall {
  min-height: 450px;
}

.experience-band {
  background: linear-gradient(145deg,#18402f,#0f3025);
  color: #fff;
  margin: 28px 0 28px;
}

.experience-inner {
  max-width: var(--container);
  margin: auto;
  padding: 68px clamp(22px,4vw,64px);
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: 52px;
  align-items: center;
}

.experience-text h2 {
  font-size: clamp(32px,3vw,48px);
  line-height: 1.08;
  letter-spacing: -.035em;
  margin: 14px 0 18px;
}

.experience-text p {
  color: rgba(255,255,255,.78);
  line-height: 1.75;
  font-size: 16px;
}

.experience-points {
  display: grid;
  gap: 16px;
}

.experience-points div {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px;
  padding: 22px 24px;
}

.experience-points strong {
  display: block;
  font-size: 18px;
  margin-bottom: 7px;
}

.experience-points span {
  color: rgba(255,255,255,.75);
  line-height: 1.55;
  font-size: 14px;
}

.values-section {
  padding-top: 70px;
}

.value-grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 18px;
}

.value-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 28px 24px;
  box-shadow: 0 8px 20px rgba(17, 29, 34, .04);
}

.value-icon {
  width: 46px;
  height: 46px;
  border-radius: 999px;
  background: #f3f7f5;
  color: var(--green-2);
  display: grid;
  place-items: center;
  font-size: 24px;
  margin-bottom: 20px;
}

.value-card h3 {
  font-size: 18px;
  margin: 0 0 10px;
}

.value-card p {
  color: #536170;
  font-size: 14.5px;
  line-height: 1.65;
  margin: 0;
}

.scope-panel {
  background: #f8faf9;
  border: 1px solid #eef2ef;
  border-radius: var(--radius);
  padding: clamp(30px,4vw,52px);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 46px;
  align-items: center;
}

.scope-copy h2 {
  font-size: clamp(30px,3vw,46px);
  line-height: 1.08;
  letter-spacing: -.035em;
  margin: 14px 0 18px;
}

.scope-copy p {
  color: #52606e;
  line-height: 1.75;
  font-size: 16px;
}

.scope-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.scope-list span {
  background: #fff;
  border: 1px solid #e3ebe6;
  border-radius: 12px;
  padding: 16px 18px;
  font-weight: 800;
  color: #1f2d35;
}

.about-closing {
  padding-top: 18px;
}

.closing-card {
  border-radius: var(--radius);
  background: linear-gradient(145deg,#18402f,#0f3025);
  color: #fff;
  padding: clamp(34px,5vw,66px);
  text-align: center;
  box-shadow: var(--shadow);
}

.closing-card h2 {
  max-width: 820px;
  margin: 14px auto 18px;
  font-size: clamp(34px,4vw,56px);
  line-height: 1.08;
  letter-spacing: -.04em;
}

.closing-card p {
  max-width: 760px;
  margin: 0 auto 28px;
  color: rgba(255,255,255,.78);
  line-height: 1.75;
  font-size: 17px;
}

@media (max-width: 1180px) {
  .intro-card,
  .about-split,
  .experience-inner,
  .scope-panel {
    grid-template-columns: 1fr;
  }

  .value-grid {
    grid-template-columns: 1fr 1fr;
  }

  .about-image-tall {
    min-height: 380px;
  }
}

@media (max-width: 760px) {
  .page-hero {
    min-height: 560px;
    padding-top: 78px;
  }

  .page-hero-media,
  .page-hero-wash {
    inset: 78px 0 0;
  }

  .page-hero-wash {
    background: linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,255,255,.94) 46%,rgba(255,255,255,.6) 80%,rgba(255,255,255,.35));
  }

  .page-hero-inner {
    min-height: 482px;
    align-items: flex-start;
    padding-top: 74px;
  }

  .page-hero h1 {
    font-size: 44px;
  }

  .intro-card,
  .scope-panel {
    padding: 28px;
  }

  .value-grid,
  .scope-list {
    grid-template-columns: 1fr;
  }

  .experience-inner {
    padding-top: 52px;
    padding-bottom: 52px;
  }
}


/* About page v2 - editorial layout */
.about-page-v2 .site-header .header-inner {
  max-width: 1320px;
}

.about-page-v2 .main-nav {
  gap: 38px;
}

.about-editorial-hero {
  padding-top: 104px;
  background:
    radial-gradient(circle at 10% 10%, rgba(46,106,79,.08), transparent 34%),
    linear-gradient(180deg, #f9fbfa 0%, #fff 100%);
  overflow: hidden;
}

.about-hero-container {
  max-width: var(--container);
  margin: 0 auto;
  min-height: 590px;
  padding: 76px clamp(22px,4vw,64px) 62px;
  display: grid;
  grid-template-columns: .83fr 1.17fr;
  gap: clamp(34px,5vw,72px);
  align-items: center;
}

.about-hero-copy h1 {
  font-size: clamp(48px,5vw,78px);
  line-height: 1.04;
  letter-spacing: -.05em;
  margin: 18px 0 24px;
  color: #111923;
  font-weight: 850;
}

.about-hero-copy h1 span {
  color: var(--green-2);
}

.about-hero-copy .lead {
  font-size: 18px;
  line-height: 1.72;
  max-width: 620px;
}

.about-hero-image {
  position: relative;
  border-radius: 28px;
  overflow: hidden;
  min-height: 430px;
  box-shadow: 0 28px 70px rgba(17,29,34,.16);
}

.about-hero-image:before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, rgba(24,64,47,.22), rgba(255,255,255,0) 48%);
  z-index: 1;
  pointer-events: none;
}

.about-hero-image img,
.knowledge-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.about-narrative {
  padding-top: 76px;
}

.narrative-grid {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: clamp(34px,5vw,76px);
  align-items: start;
  border-bottom: 1px solid var(--line);
  padding-bottom: 70px;
}

.narrative-kicker h2 {
  font-size: clamp(32px,3.2vw,52px);
  line-height: 1.08;
  letter-spacing: -.04em;
  margin: 18px 0 0;
}

.narrative-copy {
  max-width: 780px;
}

.narrative-copy p {
  color: #52606e;
  font-size: 18px;
  line-height: 1.82;
  margin: 0 0 20px;
}

.leadership-feature {
  padding-top: 24px;
}

.leadership-card {
  background: linear-gradient(145deg,#18402f,#0f3025);
  color: #fff;
  border-radius: 28px;
  padding: clamp(34px,5vw,64px);
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: clamp(30px,4vw,58px);
  box-shadow: var(--shadow);
  position: relative;
  overflow: hidden;
}

.leadership-card:before {
  content: "";
  position: absolute;
  right: -120px;
  top: -140px;
  width: 360px;
  height: 360px;
  border-radius: 999px;
  background: rgba(118,184,42,.13);
}

.leadership-content,
.leadership-note {
  position: relative;
  z-index: 1;
}

.leadership-content h2,
.knowledge-copy h2,
.scope-panel-v2 h2,
.final-cta-card h2 {
  font-size: clamp(32px,3.3vw,52px);
  line-height: 1.08;
  letter-spacing: -.04em;
  margin: 14px 0 18px;
}

.leadership-content p,
.leadership-note p,
.scope-panel-v2 p,
.final-cta-card p {
  color: rgba(255,255,255,.78);
  font-size: 16px;
  line-height: 1.75;
}

.leadership-stat {
  margin-top: 28px;
  display: inline-flex;
  align-items: center;
  gap: 18px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.08);
  border-radius: 18px;
  padding: 18px 22px;
}

.leadership-stat strong {
  font-size: 46px;
  line-height: 1;
}

.leadership-stat span {
  max-width: 210px;
  color: rgba(255,255,255,.76);
  font-size: 14px;
  line-height: 1.4;
}

.leadership-note {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 22px;
  padding: 32px;
  align-self: center;
}

.leadership-note h3 {
  font-size: 28px;
  line-height: 1.15;
  letter-spacing: -.03em;
  margin: 0 0 14px;
}

.property-knowledge {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: clamp(30px,4vw,58px);
  align-items: center;
}

.knowledge-image {
  min-height: 560px;
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(17,29,34,.14);
}

.knowledge-copy h2 {
  color: #111923;
}

.knowledge-copy p {
  color: #52606e;
  font-size: 17px;
  line-height: 1.78;
}

.knowledge-list {
  display: grid;
  gap: 14px;
  margin-top: 26px;
}

.knowledge-list div {
  padding: 18px 20px;
  border: 1px solid #e3ebe6;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 20px rgba(17,29,34,.04);
}

.knowledge-list strong {
  display: block;
  color: #12211b;
  font-size: 17px;
  margin-bottom: 5px;
}

.knowledge-list span {
  color: #64748b;
  line-height: 1.55;
  font-size: 14px;
}

.about-values-v2 {
  padding-top: 38px;
}

.value-grid-v2 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

.value-grid-v2 article {
  border: 1px solid var(--line);
  border-radius: 22px;
  padding: 30px 26px;
  background: #fff;
  box-shadow: 0 8px 20px rgba(17,29,34,.04);
}

.value-grid-v2 span {
  color: var(--green-2);
  font-weight: 900;
  font-size: 14px;
  letter-spacing: .14em;
}

.value-grid-v2 h3 {
  font-size: 20px;
  margin: 24px 0 12px;
}

.value-grid-v2 p {
  color: #536170;
  line-height: 1.65;
  font-size: 14.5px;
  margin: 0;
}

.service-scope-v2 {
  padding-top: 18px;
}

.scope-panel-v2 {
  border-radius: 28px;
  background: #f8faf9;
  border: 1px solid #eef2ef;
  padding: clamp(34px,5vw,62px);
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: clamp(30px,4vw,60px);
  align-items: center;
}

.scope-panel-v2 h2,
.scope-panel-v2 p {
  color: #111923;
}

.scope-panel-v2 p {
  color: #52606e;
}

.scope-tags-v2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.scope-tags-v2 span {
  background: #fff;
  border: 1px solid #e3ebe6;
  border-radius: 14px;
  padding: 17px 18px;
  font-weight: 850;
  color: #1f2d35;
}

.about-final-cta {
  padding-top: 16px;
}

.final-cta-card {
  text-align: center;
  border-radius: 28px;
  background: linear-gradient(145deg,#18402f,#0f3025);
  color: #fff;
  padding: clamp(38px,5vw,70px);
  box-shadow: var(--shadow);
}

.final-cta-card h2,
.final-cta-card p {
  max-width: 850px;
  margin-left: auto;
  margin-right: auto;
}

.final-cta-card p {
  margin-bottom: 28px;
}

@media (max-width: 1180px) {
  .about-page-v2 .main-nav {
    display: none;
  }

  .about-hero-container,
  .narrative-grid,
  .leadership-card,
  .property-knowledge,
  .scope-panel-v2 {
    grid-template-columns: 1fr;
  }

  .value-grid-v2 {
    grid-template-columns: 1fr 1fr;
  }

  .about-hero-image,
  .knowledge-image {
    min-height: 390px;
  }
}

@media (max-width: 760px) {
  .about-editorial-hero {
    padding-top: 78px;
  }

  .about-hero-container {
    padding-top: 54px;
    min-height: auto;
  }

  .about-hero-copy h1 {
    font-size: 44px;
  }

  .about-hero-image,
  .knowledge-image {
    min-height: 300px;
    border-radius: 20px;
  }

  .narrative-copy p {
    font-size: 16px;
  }

  .leadership-card,
  .scope-panel-v2,
  .final-cta-card {
    border-radius: 22px;
  }

  .value-grid-v2,
  .scope-tags-v2 {
    grid-template-columns: 1fr;
  }
}


/* Winter services page */
.winter-page .site-header .main-nav a.active:after {
  background: var(--green);
}

.winter-hero {
  position: relative;
  min-height: 720px;
  padding-top: 104px;
  overflow: hidden;
  background: #fff;
}

.winter-hero-media {
  position: absolute;
  inset: 104px 0 0;
  z-index: 0;
}

.winter-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.winter-hero-wash {
  position: absolute;
  inset: 104px 0 0;
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.95) 24%, rgba(255,255,255,.72) 45%, rgba(255,255,255,.18) 70%, rgba(255,255,255,0) 100%),
    linear-gradient(0deg, rgba(255,255,255,.9) 0%, rgba(255,255,255,0) 34%);
}

.winter-hero-inner {
  position: relative;
  z-index: 2;
  max-width: var(--container);
  margin: auto;
  min-height: 628px;
  padding: 0 clamp(22px,4vw,64px);
  display: grid;
  grid-template-columns: .9fr .75fr;
  gap: 40px;
  align-items: center;
}

.winter-hero-copy {
  max-width: 650px;
}

.winter-hero h1 {
  font-size: clamp(48px,5vw,78px);
  line-height: 1.04;
  letter-spacing: -.05em;
  margin: 18px 0 24px;
  color: #111923;
  font-weight: 850;
}

.winter-dispatch-card {
  justify-self: end;
  align-self: end;
  margin-bottom: 44px;
  max-width: 420px;
  background: linear-gradient(145deg,#18402f,#0f3025);
  color: #fff;
  border-radius: 22px;
  padding: 30px;
  box-shadow: var(--shadow);
}

.dispatch-label {
  display: inline-block;
  color: #95c780;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: 12px;
  margin-bottom: 16px;
}

.winter-dispatch-card strong {
  display: block;
  font-size: 26px;
  line-height: 1.15;
  letter-spacing: -.03em;
  margin-bottom: 12px;
}

.winter-dispatch-card p {
  color: rgba(255,255,255,.76);
  line-height: 1.6;
  margin: 0;
}

.winter-intro-grid {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: clamp(34px,5vw,76px);
  padding-bottom: 28px;
  border-bottom: 1px solid var(--line);
}

.winter-intro h2,
.winter-split h2 {
  font-size: clamp(32px,3.2vw,52px);
  line-height: 1.08;
  letter-spacing: -.04em;
  margin: 18px 0 0;
}

.winter-intro p,
.winter-split p {
  color: #52606e;
  font-size: 17px;
  line-height: 1.78;
  margin: 0 0 18px;
}

.winter-image-strip {
  padding-top: 28px;
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 20px;
}

.winter-image-strip article {
  position: relative;
  border-radius: 22px;
  overflow: hidden;
  min-height: 360px;
  box-shadow: 0 18px 40px rgba(17,29,34,.12);
  background: #111923;
}

.winter-image-strip img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.winter-image-strip article:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(17,29,34,.78), rgba(17,29,34,.08) 58%);
}

.winter-image-strip div {
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 24px;
  z-index: 1;
  color: #fff;
}

.winter-image-strip strong {
  display: block;
  font-size: 20px;
  margin-bottom: 6px;
}

.winter-image-strip span {
  color: rgba(255,255,255,.78);
  line-height: 1.45;
}

.winter-benefits {
  padding-top: 46px;
}

.benefit-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 18px;
}

.benefit-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 22px;
  padding: 30px 28px;
  box-shadow: 0 8px 20px rgba(17,29,34,.04);
}

.benefit-number {
  color: var(--green-2);
  font-weight: 900;
  letter-spacing: .14em;
  font-size: 13px;
}

.benefit-card h3 {
  font-size: 22px;
  line-height: 1.15;
  letter-spacing: -.025em;
  margin: 22px 0 14px;
}

.benefit-card p {
  color: #536170;
  line-height: 1.72;
  font-size: 15px;
  margin: 0;
}

.winter-process {
  background: linear-gradient(145deg,#18402f,#0f3025);
  color: #fff;
  margin: 30px 0;
}

.winter-process-inner {
  max-width: var(--container);
  margin: auto;
  padding: 68px clamp(22px,4vw,64px);
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: 52px;
  align-items: center;
}

.process-copy h2 {
  font-size: clamp(32px,3.3vw,52px);
  line-height: 1.08;
  letter-spacing: -.04em;
  margin: 14px 0 18px;
}

.process-copy p {
  color: rgba(255,255,255,.78);
  line-height: 1.75;
  font-size: 16px;
}

.process-steps {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.process-steps div {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 16px;
  padding: 22px;
}

.process-steps strong {
  display: block;
  font-size: 19px;
  margin-bottom: 7px;
}

.process-steps span {
  color: rgba(255,255,255,.74);
  line-height: 1.55;
  font-size: 14px;
}

.winter-split {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: clamp(30px,4vw,58px);
  align-items: center;
}

.winter-split ul {
  margin: 26px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 12px;
}

.winter-split li {
  position: relative;
  padding-left: 28px;
  color: #536170;
  line-height: 1.55;
}

.winter-split li:before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--green-2);
  font-weight: 900;
}

.winter-split-image {
  min-height: 520px;
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(17,29,34,.14);
}

.winter-split-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.winter-cta {
  padding-top: 20px;
}

.winter-cta-card {
  text-align: center;
  background: linear-gradient(145deg,#18402f,#0f3025);
  color: #fff;
  border-radius: 28px;
  padding: clamp(38px,5vw,70px);
  box-shadow: var(--shadow);
}

.winter-cta-card h2 {
  font-size: clamp(34px,4vw,56px);
  line-height: 1.08;
  letter-spacing: -.04em;
  margin: 14px 0 18px;
}

.winter-cta-card p {
  max-width: 720px;
  margin: 0 auto 28px;
  color: rgba(255,255,255,.78);
  line-height: 1.75;
  font-size: 17px;
}

.winter-cta-actions {
  display: flex;
  justify-content: center;
  gap: 18px;
  flex-wrap: wrap;
  align-items: center;
}

.winter-phone {
  color: #fff;
  font-weight: 900;
  padding: 14px 20px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 8px;
}

.service-item h3 a {
  color: inherit;
}

.service-item h3 a:hover {
  color: var(--green-2);
}

@media (max-width: 1180px) {
  .winter-hero-inner,
  .winter-intro-grid,
  .winter-process-inner,
  .winter-split {
    grid-template-columns: 1fr;
  }

  .winter-dispatch-card {
    justify-self: start;
    align-self: auto;
    margin: 0 0 42px;
  }

  .winter-image-strip,
  .benefit-grid {
    grid-template-columns: 1fr;
  }

  .process-steps {
    grid-template-columns: 1fr 1fr;
  }

  .winter-split-image {
    min-height: 390px;
  }
}

@media (max-width: 760px) {
  .winter-hero {
    padding-top: 78px;
    min-height: 760px;
  }

  .winter-hero-media,
  .winter-hero-wash {
    inset: 78px 0 0;
  }

  .winter-hero-wash {
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,255,255,.9) 48%, rgba(255,255,255,.45) 100%);
  }

  .winter-hero-inner {
    min-height: 682px;
    padding-top: 54px;
    align-items: start;
  }

  .winter-hero h1 {
    font-size: 44px;
  }

  .winter-dispatch-card {
    padding: 24px;
  }

  .process-steps {
    grid-template-columns: 1fr;
  }

  .winter-split-image {
    min-height: 300px;
    border-radius: 20px;
  }
}


/* Navbar fit + simplified CTA */
.header-inner {
  height: 86px;
  gap: 28px;
}

.brand {
  min-width: 310px;
}

.brand-mark {
  width: 46px;
  height: 46px;
}

.brand-type strong {
  font-size: 28px;
  letter-spacing: .06em;
}

.brand-type small {
  font-size: 12px;
  letter-spacing: .34em;
}

.main-nav {
  flex: 1;
  justify-content: center;
  gap: clamp(20px, 2.2vw, 34px);
  white-space: nowrap;
}

.main-nav a {
  padding: 31px 0;
  font-size: 15px;
  line-height: 1;
}

.main-nav a.active:after {
  bottom: 23px;
}

.header-actions {
  flex: 0 0 auto;
  gap: 0;
}

.header-actions .phone {
  display: none !important;
}

.header-actions .btn {
  min-width: 220px;
  padding: 15px 25px;
  font-size: 15px;
  white-space: nowrap;
}

.hero {
  padding-top: 86px;
}

.hero-media,
.hero-wash {
  inset: 86px 0 0 0;
}

.page-hero,
.winter-hero {
  padding-top: 86px;
}

.page-hero-media,
.page-hero-wash,
.winter-hero-media,
.winter-hero-wash {
  inset: 86px 0 0;
}

.about-editorial-hero {
  padding-top: 86px;
}

@media (max-width: 1240px) {
  .brand {
    min-width: 250px;
  }

  .brand-type strong {
    font-size: 24px;
  }

  .brand-type small {
    font-size: 10px;
    letter-spacing: .28em;
  }

  .main-nav {
    gap: 20px;
  }

  .header-actions .btn {
    min-width: 190px;
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media (max-width: 1080px) {
  .main-nav {
    display: none;
  }

  .menu-button {
    display: block;
  }

  .header-actions {
    display: flex;
  }
}

@media (max-width: 760px) {
  .header-inner {
    height: 78px;
  }

  .brand {
    min-width: auto;
  }

  .brand-type strong {
    font-size: 18px;
  }

  .brand-type small {
    font-size: 9px;
  }

  .brand-mark {
    width: 38px;
    height: 38px;
  }

  .header-actions {
    display: none;
  }

  .hero,
  .page-hero,
  .winter-hero {
    padding-top: 78px;
  }

  .hero-media,
  .hero-wash,
  .page-hero-media,
  .page-hero-wash,
  .winter-hero-media,
  .winter-hero-wash {
    inset: 78px 0 0;
  }

  .about-editorial-hero {
    padding-top: 78px;
  }
}


/* Contact page */
.contact-hero {
  position: relative;
  overflow: hidden;
  padding-top: 104px;
  background: linear-gradient(180deg, #f9fbfa 0%, #fff 100%);
}

.contact-hero-photo {
  position: absolute;
  top: 0;
  right: 0;
  width: 56%;
  height: 100%;
  z-index: 0;
}

.contact-hero-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.contact-hero-photo:after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, #fff 0%, rgba(255,255,255,.55) 16%, rgba(255,255,255,0) 44%),
    linear-gradient(0deg, #fff 0%, rgba(255,255,255,0) 20%);
}

.contact-hero-inner {
  position: relative;
  z-index: 1;
  max-width: var(--container);
  margin: 0 auto;
  padding: 76px clamp(22px,4vw,64px) 66px;
  min-height: 470px;
  display: flex;
  align-items: center;
}

.contact-hero-copy {
  max-width: 540px;
}

.contact-hero-copy h1 {
  font-size: clamp(44px,4.6vw,70px);
  line-height: 1.05;
  letter-spacing: -.045em;
  margin: 16px 0 0;
  color: #111923;
  font-weight: 850;
}

.contact-hero-copy h1 span {
  color: var(--green-2);
}

.contact-hero-divider {
  display: block;
  width: 66px;
  height: 4px;
  border-radius: 2px;
  background: var(--green-2);
  margin: 22px 0 24px;
}

.contact-hero-copy .lead {
  color: #52606e;
  font-size: 17px;
  line-height: 1.7;
  margin: 0;
  max-width: 468px;
}

.contact-main {
  padding-top: 24px;
}

.contact-panel {
  display: grid;
  grid-template-columns: 1.35fr .65fr;
  gap: 22px;
  align-items: start;
}

.contact-form-card,
.sidebar-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 24px;
  box-shadow: 0 8px 20px rgba(17,29,34,.04);
}

.contact-form-card {
  padding: clamp(30px,4vw,48px);
}

.contact-form-card h2 {
  font-size: clamp(32px,3vw,48px);
  line-height: 1.08;
  letter-spacing: -.04em;
  margin: 14px 0 12px;
}

.form-intro {
  color: #536170;
  font-size: 16px;
  line-height: 1.7;
  margin: 0 0 28px;
}

.contact-form {
  display: grid;
  gap: 20px;
}

.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

.contact-form label {
  display: grid;
  gap: 9px;
}

.contact-form label span {
  font-weight: 800;
  color: #17212a;
  font-size: 14px;
}

.contact-form input,
.contact-form select,
.contact-form textarea {
  width: 100%;
  border: 1px solid #dbe5df;
  border-radius: 12px;
  background: #fff;
  padding: 15px 16px;
  font: inherit;
  color: #111923;
  outline: none;
  transition: border-color .18s ease, box-shadow .18s ease;
}

.contact-form textarea {
  resize: vertical;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
  border-color: var(--green-2);
  box-shadow: 0 0 0 4px rgba(46,106,79,.10);
}

.contact-sidebar {
  display: grid;
  gap: 18px;
}

.sidebar-card {
  padding: 28px;
}

.sidebar-card h3 {
  margin: 0 0 16px;
  font-size: 21px;
  letter-spacing: -.02em;
}

.sidebar-card > p {
  color: #52606e;
  line-height: 1.7;
  font-size: 15px;
  margin: 0;
}

/* Direct contact (dark) */
.sidebar-card.primary {
  position: relative;
  overflow: hidden;
  background: linear-gradient(155deg,#18402f,#0f3025);
  color: #fff;
  border: 0;
  box-shadow: var(--shadow);
  padding: 32px;
}

.sidebar-card.primary:before {
  content: "";
  position: absolute;
  right: -80px;
  top: -80px;
  width: 200px;
  height: 200px;
  border-radius: 999px;
  background: rgba(118,184,42,.16);
}

.direct-icon {
  position: relative;
  width: 54px;
  height: 54px;
  border-radius: 999px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.18);
  display: grid;
  place-items: center;
  color: #dfeee6;
  margin-bottom: 20px;
}

.direct-icon svg { width: 26px; height: 26px; }

.sidebar-card.primary h3 {
  position: relative;
  font-size: 26px;
  margin: 0 0 12px;
  letter-spacing: -.03em;
}

.direct-divider {
  position: relative;
  display: block;
  width: 46px;
  height: 3px;
  border-radius: 2px;
  background: var(--green-2);
  margin: 0 0 22px;
}

.direct-line {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  color: #fff;
  font-weight: 800;
  font-size: 16px;
  margin-bottom: 14px;
  word-break: break-word;
}

.direct-line svg { flex: 0 0 auto; width: 20px; height: 20px; color: #95c780; }

.sidebar-card.primary p {
  position: relative;
  color: rgba(255,255,255,.74);
  line-height: 1.6;
  font-size: 14px;
  margin: 20px 0 0;
}

/* Common requests checklist */
.sidebar-card.response ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 14px;
}

.sidebar-card.response li {
  position: relative;
  padding-left: 32px;
  color: #46525f;
  line-height: 1.4;
  font-size: 15px;
}

.sidebar-card.response li:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 21px;
  height: 21px;
  border-radius: 999px;
  background: var(--green-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 12px no-repeat;
}

.contact-form .btn {
  width: 100%;
}

.form-secure {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin-top: 22px;
  padding: 18px 20px;
  background: #f2f8f4;
  border: 1px solid #e2efe7;
  border-radius: 14px;
}

.form-secure svg {
  flex: 0 0 auto;
  width: 26px;
  height: 26px;
  color: var(--green-2);
}

.form-secure strong {
  display: block;
  font-size: 14.5px;
  color: #17212a;
}

.form-secure small {
  display: block;
  color: #64748b;
  font-size: 13px;
  line-height: 1.5;
  margin-top: 3px;
}

.contact-band-section {
  padding-top: 8px;
}

@media (max-width: 1180px) {
  .contact-panel {
    grid-template-columns: 1fr;
  }
  .contact-hero-photo {
    position: relative;
    width: 100%;
    height: 300px;
  }
  .contact-hero-photo:after {
    background: linear-gradient(0deg, #fff 0%, rgba(255,255,255,0) 42%);
  }
  .contact-hero-inner {
    display: block;
    padding-top: 44px;
    padding-bottom: 44px;
    min-height: 0;
  }
  .contact-hero-copy {
    max-width: none;
  }
  .contact-hero-copy .lead {
    max-width: 620px;
  }
}

@media (max-width: 760px) {
  .contact-hero {
    padding-top: 78px;
  }
  .contact-hero-photo {
    height: 220px;
  }
  .contact-hero-copy h1 {
    font-size: 40px;
  }
  .form-row {
    grid-template-columns: 1fr;
  }
  .contact-form-card,
  .sidebar-card {
    border-radius: 20px;
  }
}


/* Credibility and expanded service updates */
.expanded-services {
  padding-top: 24px;
  padding-bottom: 26px;
}

.expanded-panel,
.credibility-panel,
.contractor-card,
.industry-card {
  border-radius: 28px;
  background: #f8faf9;
  border: 1px solid #eef2ef;
  padding: clamp(32px,5vw,58px);
  box-shadow: 0 8px 20px rgba(17,29,34,.04);
}

.expanded-panel,
.credibility-panel {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: clamp(28px,4vw,58px);
  align-items: center;
}

.expanded-panel h2,
.credibility-panel h2,
.contractor-card h2,
.industry-card h2 {
  font-size: clamp(30px,3vw,46px);
  line-height: 1.08;
  letter-spacing: -.04em;
  margin: 14px 0 18px;
}

.expanded-panel p,
.credibility-panel p,
.contractor-card p,
.industry-card p {
  color: #52606e;
  line-height: 1.75;
  font-size: 16px;
}

.expanded-tags,
.credibility-list,
.industry-row {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 14px;
}

.expanded-tags span,
.credibility-list span,
.industry-row span {
  background: #fff;
  border: 1px solid #e3ebe6;
  border-radius: 14px;
  padding: 16px 18px;
  font-weight: 850;
  color: #1f2d35;
}

.contractor-card {
  background: linear-gradient(145deg,#18402f,#0f3025);
  color: #fff;
}

.contractor-card p {
  color: rgba(255,255,255,.78);
}

.contractor-card h2 {
  max-width: 920px;
}

.about-industry {
  padding-top: 16px;
}

.industry-card {
  text-align: center;
}

.industry-card p {
  max-width: 820px;
  margin: 0 auto 28px;
}

.industry-row {
  grid-template-columns: repeat(5,1fr);
}

@media (max-width: 1180px) {
  .expanded-panel,
  .credibility-panel {
    grid-template-columns: 1fr;
  }

  .industry-row {
    grid-template-columns: repeat(3,1fr);
  }
}

@media (max-width: 760px) {
  .expanded-tags,
  .credibility-list,
  .industry-row {
    grid-template-columns: 1fr;
  }

  .expanded-panel,
  .credibility-panel,
  .contractor-card,
  .industry-card {
    border-radius: 22px;
    padding: 28px;
  }
}


/* Final navigation structure */
.header-inner {
  height: 86px;
  gap: 28px;
}

.main-nav {
  flex: 1;
  justify-content: center;
  gap: clamp(22px, 2.4vw, 38px);
  white-space: nowrap;
}

.main-nav a {
  padding: 31px 0;
  line-height: 1;
  white-space: nowrap;
}

.header-actions .phone {
  display: none !important;
}

.header-actions {
  flex: 0 0 auto;
}

.header-actions .btn {
  min-width: 220px;
  white-space: nowrap;
}

@media (max-width: 1140px) {
  .main-nav {
    display: none;
  }

  .menu-button {
    display: block;
  }

  .header-actions {
    display: flex;
  }
}

@media (max-width: 760px) {
  .header-actions {
    display: none;
  }
}


/* Final polish: footer, icons, mobile hero, metric alignment */
.site-footer {
  background: #101e24;
  color: #fff;
}

.footer-grid-v2 {
  grid-template-columns: 1.45fr 1fr .75fr 1.2fr;
  align-items: start;
}

.footer-brand-block .footer-brand {
  display: inline-flex;
  margin-bottom: 20px;
}

.footer-brand-block .brand-mark {
  width: 46px;
  height: 46px;
}

.footer-brand-block p {
  max-width: 360px;
}

.footer-contact {
  min-width: 0;
}

.footer-contact-line {
  display: grid !important;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  margin-bottom: 18px !important;
  color: #c4cdd2 !important;
}

.footer-contact-line strong {
  display: block;
  color: #fff;
  font-size: 15px;
  line-height: 1.35;
  word-break: break-word;
}

.footer-contact-line small {
  display: block;
  color: #91a0a8;
  font-size: 12px;
  margin-top: 3px;
}

.footer-icon {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 18px;
  line-height: 1;
}

.footer-icon.envelope {
  font-size: 20px;
  font-weight: 900;
}

.footer-legal {
  display: inline-flex;
  gap: 14px;
  align-items: center;
}

.footer-legal a {
  color: #8a98a1;
  margin: 0;
}

.contact-lines a,
.contact-lines div {
  overflow-wrap: anywhere;
}

.contact-lines a[href^="mailto"],
.footer-contact-line[href^="mailto"] {
  letter-spacing: -0.01em;
}

/* make email/envelope icons visually match phone icon size */
.contact-lines a[href^="mailto"]::first-letter {
  font-size: 1.25em;
}

.metric-bar {
  box-sizing: border-box;
}

.metric {
  box-sizing: border-box;
}

@media (max-width: 1180px) {
  .footer-grid-v2 {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 760px) {
  .footer-grid-v2 {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .footer-bottom {
    align-items: flex-start;
  }

  .hero {
    min-height: 820px;
  }

  .hero-media img {
    object-position: 58% center;
  }

  .hero-wash {
    background:
      linear-gradient(180deg, rgba(255,255,255,.94) 0%, rgba(255,255,255,.86) 42%, rgba(255,255,255,.50) 68%, rgba(255,255,255,.18) 100%),
      linear-gradient(90deg, rgba(255,255,255,.92) 0%, rgba(255,255,255,.50) 52%, rgba(255,255,255,0) 100%);
  }

  .hero-inner {
    height: 742px;
    padding-top: 54px;
  }

  .hero h1 {
    font-size: clamp(38px, 10vw, 48px);
    line-height: 1.03;
    letter-spacing: -.045em;
  }

  .hero-copy {
    max-width: 92vw;
  }

  .lead {
    font-size: 16px;
    line-height: 1.65;
  }

  .metric-bar {
    left: 16px;
    right: 16px;
    width: auto;
    padding: 24px 26px;
    gap: 0;
  }

  .metric {
    width: 100%;
    display: grid;
    grid-template-columns: 70px 1fr;
    align-items: center;
    gap: 18px;
    padding: 0 0 22px !important;
    margin: 0;
  }

  .metric + .metric {
    padding-top: 22px !important;
  }

  .metric svg {
    width: 54px;
    height: 54px;
    justify-self: center;
  }

  .metric strong {
    font-size: 38px;
  }

  .metric span {
    font-size: 18px;
  }

  .metric:not(:last-child) {
    border-bottom: 1px solid rgba(255,255,255,.22);
  }

  .metric:last-child {
    padding-bottom: 0 !important;
  }

  .service-item h3 {
    font-size: 15px;
  }

  .contact-big-link {
    font-size: 22px;
  }
}


/* Mobile service dividers, winter image consistency, footer link hierarchy */
@media (max-width: 760px) {
  /* Services: make dividers line up cleanly on mobile */
  .service-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    border-top: 1px solid var(--line);
  }

  .service-item {
    display: grid;
    grid-template-columns: 64px 1fr;
    column-gap: 18px;
    text-align: left;
    align-items: center;
    padding: 20px 0;
    border-right: 0 !important;
    border-bottom: 1px solid var(--line);
    min-height: 116px;
  }

  .service-item:last-child {
    border-bottom: 0;
  }

  .service-item svg,
  .service-icon-img {
    width: 48px;
    height: 48px;
    margin: 0;
    grid-row: 1 / span 2;
    justify-self: center;
  }

  .service-item h3 {
    margin: 0 0 6px;
    line-height: 1.15;
  }

  .service-item p {
    margin: 0;
    max-width: 100%;
  }

  /* Winter page: all image cards equal height and consistent crop */
  .winter-image-strip {
    gap: 18px;
  }

  .winter-image-strip article {
    min-height: 0;
    height: 280px;
    border-radius: 20px;
  }

  .winter-image-strip img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .winter-split-image {
    height: 300px;
    min-height: 0;
    border-radius: 20px;
    background: #f4f7f5;
  }

  .winter-split-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 42%;
    display: block;
  }

  /* Footer: clearer link hierarchy and smaller mobile service links */
  .site-footer h3 {
    color: #ffffff;
    font-size: 12px;
    letter-spacing: .12em;
    margin-bottom: 12px;
  }

  .site-footer a {
    font-size: 13px;
    line-height: 1.45;
    margin-bottom: 8px;
  }

  .site-footer .footer-brand-block p {
    font-size: 14px;
  }

  .footer-grid-v2 > div:not(.footer-brand-block):not(.footer-contact) a {
    color: #cbd5d9;
    font-weight: 500;
    padding: 3px 0;
    border-bottom: 1px solid rgba(255,255,255,0.04);
  }

  .footer-grid-v2 > div:not(.footer-brand-block):not(.footer-contact) a:hover {
    color: #ffffff;
    border-bottom-color: rgba(255,255,255,0.18);
  }

  .footer-contact-line {
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 10px;
    margin-bottom: 14px !important;
  }

  .footer-icon {
    width: 30px;
    height: 30px;
    font-size: 16px;
  }

  .footer-icon.envelope {
    font-size: 18px;
  }

  .footer-contact-line strong {
    font-size: 14px;
  }
}

/* Desktop/tablet winter image consistency */
.winter-image-strip article {
  height: 360px;
}

.winter-image-strip img {
  object-fit: cover;
}

.winter-split-image {
  background: #f4f7f5;
}

.winter-split-image img {
  display: block;
  object-fit: cover;
  object-position: center 42%;
}

/* Footer: make clickable service/company links visually distinct without looking noisy */
.footer-grid-v2 > div:not(.footer-brand-block):not(.footer-contact) a {
  transition: color .18s ease, transform .18s ease, border-color .18s ease;
}

.footer-grid-v2 > div:not(.footer-brand-block):not(.footer-contact) a:hover {
  transform: translateX(2px);
}

/* Keep winter split image from showing any internal whitespace */
.winter-split-image {
  overflow: hidden;
}


/* Embedded generated assets: portrait + fixed snow image */
.leadership-card {
  grid-template-columns: 1fr .78fr;
}

.leadership-portrait {
  position: relative;
  min-height: 360px;
  border-radius: 22px;
  overflow: hidden;
  align-self: stretch;
  box-shadow: 0 18px 42px rgba(0,0,0,.22);
  background: rgba(255,255,255,.08);
}

.leadership-portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
}

.leadership-portrait:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(15,43,34,.76), rgba(15,43,34,0) 58%);
  pointer-events: none;
}

.portrait-caption {
  position: absolute;
  left: 22px;
  right: 22px;
  bottom: 22px;
  z-index: 1;
  color: #fff;
}

.portrait-caption strong {
  display: block;
  font-size: 18px;
  margin-bottom: 5px;
}

.portrait-caption span {
  color: rgba(255,255,255,.78);
  line-height: 1.45;
  font-size: 14px;
}

.winter-split-image {
  background: #0f1f25 !important;
}

.winter-split-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
  transform: scale(1.03);
}

@media (max-width: 1180px) {
  .leadership-card { grid-template-columns: 1fr; }
  .leadership-portrait { min-height: 430px; }
}

@media (max-width: 760px) {
  .leadership-portrait { min-height: 340px; border-radius: 18px; }
  .winter-split-image { height: 310px !important; min-height: 0 !important; }
  .winter-split-image img { object-position: center center !important; transform: scale(1.06); }
}


/* Who We Serve */
.section-sub {
  max-width: 620px;
  margin: 14px auto 0;
  color: #64748b;
  font-size: 17px;
  line-height: 1.6;
  text-align: center;
}
.serve-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 22px;
  padding-top: 30px;
}
.serve-card {
  position: relative;
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid #edf1ee;
  border-radius: 20px;
  padding: 30px 30px 0;
  box-shadow: 0 12px 34px rgba(16, 40, 30, .07);
  overflow: hidden;
}
.serve-body {
  display: flex;
  gap: 18px;
  align-items: flex-start;
  padding-bottom: 26px;
}
.serve-icon {
  flex: 0 0 auto;
  width: 62px;
  height: 62px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--green-2);
  color: #fff;
}
.serve-icon svg { width: 30px; height: 30px; }
.serve-card:nth-child(1) .serve-icon,
.serve-card:nth-child(4) .serve-icon {
  background: #e9f1ec;
  color: var(--green-2);
}
.serve-text { flex: 1; min-width: 0; }
.serve-num {
  display: inline-block;
  background: var(--green-2);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .06em;
  padding: 3px 12px;
  border-radius: 999px;
  margin-bottom: 12px;
}
.serve-card h3 {
  font-size: 24px;
  line-height: 1.1;
  letter-spacing: -.025em;
  margin: 0 0 13px;
}
.serve-divider {
  display: block;
  width: 46px;
  height: 3px;
  border-radius: 2px;
  background: var(--green-2);
  margin: 0 0 15px;
}
.serve-text p {
  margin: 0;
  color: #52606e;
  font-size: 15px;
  line-height: 1.6;
}
.serve-photo { margin: auto -30px 0; }
.serve-photo img {
  display: block;
  width: 100%;
  height: 215px;
  object-fit: cover;
  clip-path: ellipse(140% 100% at 50% 100%);
}
.serve-corner {
  position: absolute;
  z-index: 3;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--green-2);
  color: #fff;
  box-shadow: 0 6px 16px rgba(16, 40, 30, .18);
}
.serve-corner svg { width: 24px; height: 24px; }
.serve-corner.light { background: #eef3f0; color: var(--green-2); }
.serve-corner.tr { top: 20px; right: 20px; }
.serve-corner.bl { left: 22px; bottom: 130px; }
.serve-corner.br { right: 22px; bottom: 130px; }

/* Who We Serve footer band */
.serve-band {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  gap: 20px;
  margin-top: 22px;
  padding: 24px 30px;
  background: #f4f8f5;
  border: 1px solid #e7efe9;
  border-radius: 16px;
}
.serve-band-icon {
  flex: 0 0 auto;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #e3eee7;
  color: var(--green-2);
}
.serve-band-icon svg { width: 26px; height: 26px; }
.serve-band-text { position: relative; z-index: 2; }
.serve-band-text strong { display: block; font-size: 16px; margin-bottom: 4px; }
.serve-band-text p { margin: 0; color: #64748b; font-size: 14px; line-height: 1.5; max-width: 620px; }
.serve-skyline {
  position: absolute;
  right: 14px;
  bottom: 4px;
  height: 82px;
  width: auto;
  max-width: 58%;
  object-fit: contain;
  object-position: right bottom;
  opacity: .55;
  mix-blend-mode: multiply;
  pointer-events: none;
}

/* Photo + contact CTA row */
.cta-row {
  display: grid;
  grid-template-columns: 1fr 1.1fr .95fr;
  gap: 18px;
  align-items: stretch;
}

@media (max-width: 1180px) {
  .serve-grid { grid-template-columns: 1fr 1fr; }
  .cta-row { grid-template-columns: 1fr 1fr; }
  .cta-row .contact-card { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
  .serve-grid { grid-template-columns: 1fr; }
  .cta-row { grid-template-columns: 1fr; }
  .cta-row .contact-card { grid-column: auto; }
  .section-sub { font-size: 15.5px; }
  .serve-band { flex-direction: column; align-items: flex-start; gap: 14px; padding: 22px; }
  .serve-skyline {
    position: relative;
    right: auto;
    bottom: auto;
    width: 100%;
    max-width: 100%;
    height: auto;
    margin-top: 4px;
    opacity: .5;
  }
}

/* New Lexington logo asset */
.logo-brand {
  display: inline-flex;
  align-items: center;
  min-width: 0 !important;
  gap: 0 !important;
}

.logo-brand img {
  display: block;
  width: clamp(250px, 22vw, 380px);
  height: auto;
  object-fit: contain;
}

.site-header .logo-brand img {
  width: auto;
  height: 80px;
  max-height: 84px;
}

.site-footer .footer-brand.logo-brand {
  background: transparent;
  padding: 0;
  width: max-content;
  max-width: 100%;
}

.site-footer .footer-brand.logo-brand img {
  width: min(300px, 78vw);
}

@media (max-width: 760px) {
  .site-header .logo-brand img {
    width: auto;
    height: 70px;
    max-height: 74px;
  }

  /* Compact trust/metric cards on mobile */
  .metric-bar { padding: 20px 22px; gap: 0; }
  .metric { gap: 16px; padding: 14px 0; }
  .metric:first-child { padding-top: 0; }
  .metric:last-child { padding-bottom: 0; }
  .metric svg { width: 38px; height: 38px; }
  .metric strong { font-size: 24px; }
  .metric span { font-size: 12.5px; margin-top: 4px; }
}

/* ===== Value: hierarchy pyramid (About) ===== */
.value-pyramid { display: grid; gap: 16px; padding-top: 28px; }
.vtier { display: grid; gap: 16px; margin: 0 auto; width: 100%; }
.vtier-1 { max-width: 480px; }
.vtier-2 { max-width: 760px; grid-template-columns: 1fr 1fr; }
.vtier-3 { max-width: 910px; grid-template-columns: 1fr 1fr; }
.vtier-4 { max-width: 1040px; grid-template-columns: 1fr 1fr; }
.vblock {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  background: #f8faf9;
  border: 1px solid #eef2ef;
  border-radius: 16px;
  padding: 22px 24px;
}
.vblock .vicon {
  flex: 0 0 auto;
  width: 46px;
  height: 46px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: #e9f1ec;
  color: var(--green-2);
}
.vblock .vicon svg { width: 24px; height: 24px; }
.vtext strong { display: block; font-size: 17px; letter-spacing: -.01em; margin-bottom: 5px; color: #111923; }
.vtext span { display: block; color: #52606e; font-size: 13.5px; line-height: 1.55; }
.vblock.apex {
  background: linear-gradient(155deg,#18402f,#0f3025);
  border: 0;
  color: #fff;
  box-shadow: var(--shadow);
  padding: 26px 28px;
}
.vblock.apex .vicon { background: rgba(255,255,255,.12); color: #cfe6d8; }
.vblock.apex .vtext strong { font-size: 20px; color: #fff; }
.vblock.apex .vtext span { color: rgba(255,255,255,.82); font-size: 14px; }
.value-closing {
  max-width: 800px;
  margin: 34px auto 0;
  text-align: center;
  color: #3f4a55;
  font-size: 18px;
  line-height: 1.6;
}
.value-closing strong { color: var(--green-2); }

/* ===== Value teaser (Home) ===== */
.value-teaser {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: clamp(28px,5vw,60px);
  align-items: center;
  background: linear-gradient(150deg,#18402f,#0f2b22);
  border-radius: 24px;
  padding: clamp(34px,4vw,58px);
  color: #fff;
  box-shadow: var(--shadow);
}
.value-teaser:before {
  content: "";
  position: absolute;
  right: -90px;
  top: -90px;
  width: 260px;
  height: 260px;
  border-radius: 999px;
  background: rgba(118,184,42,.14);
}
.value-teaser .eyebrow.light { color: #95c780; }
.value-teaser h2 {
  position: relative;
  font-size: clamp(30px,3.2vw,46px);
  line-height: 1.08;
  letter-spacing: -.03em;
  margin: 12px 0 16px;
}
.value-teaser h2 span { color: #95c780; }
.value-teaser-copy > p {
  position: relative;
  color: rgba(255,255,255,.8);
  line-height: 1.7;
  font-size: 16px;
  margin: 0 0 26px;
  max-width: 520px;
}
.value-teaser-list {
  position: relative;
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 14px;
}
.value-teaser-list li {
  position: relative;
  padding-left: 32px;
  color: rgba(255,255,255,.92);
  font-weight: 600;
  font-size: 15px;
}
.value-teaser-list li:before {
  content: "";
  position: absolute;
  left: 0;
  top: -1px;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: var(--green-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 12px no-repeat;
}

@media (max-width: 900px) {
  .value-teaser { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .vtier-2, .vtier-3, .vtier-4 { grid-template-columns: 1fr; max-width: 480px; }
  .value-closing { font-size: 16px; }
}

/* ===== About v3 (mockup) ===== */
.about2-hero {
  padding-top: 104px;
  background: linear-gradient(180deg,#f8fbf9 0%,#fff 100%);
}
.about2-hero-inner {
  max-width: var(--container);
  margin: 0 auto;
  padding: 60px clamp(22px,4vw,64px) 64px;
  display: grid;
  grid-template-columns: 1fr 1.02fr;
  gap: clamp(30px,4vw,60px);
  align-items: center;
}
.about2-copy h1 {
  font-size: clamp(38px,4vw,58px);
  line-height: 1.06;
  letter-spacing: -.04em;
  margin: 14px 0 22px;
  color: #111923;
  font-weight: 850;
}
.about2-copy .lead {
  color: #52606e;
  font-size: 17px;
  line-height: 1.7;
  margin: 0 0 16px;
  max-width: 520px;
}
.about2-about {
  color: #64727f;
  font-size: 15px;
  line-height: 1.75;
  margin: 0 0 30px;
  max-width: 540px;
}
.about2-tags { display: flex; flex-wrap: wrap; gap: 26px; }
.about2-tag { display: flex; align-items: center; gap: 12px; }
.about2-tag .ic {
  width: 44px; height: 44px; border-radius: 999px;
  background: #e9f1ec; color: var(--green-2);
  display: grid; place-items: center; flex: 0 0 auto;
}
.about2-tag .ic svg { width: 22px; height: 22px; }
.about2-tag strong { display: block; font-size: 15px; color: #111923; line-height: 1.15; }
.about2-tag > div span { display: block; font-size: 13px; color: #64748b; }

.about2-media {
  position: relative;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 18px 44px rgba(16,40,30,.14);
  min-height: 420px;
}
.about2-media img { width: 100%; height: 100%; min-height: 420px; object-fit: cover; display: block; }
.about2-stats {
  position: absolute;
  left: 16px; right: 16px; bottom: 16px;
  background: linear-gradient(150deg,rgba(20,52,38,.94),rgba(15,43,34,.94));
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 16px;
  padding: 18px 20px;
  color: #fff;
  backdrop-filter: blur(4px);
}
.about2-stats-title { display: block; font-size: 15px; margin-bottom: 14px; }
.about2-stats-grid { display: grid; grid-template-columns: repeat(4,1fr); }
.about2-stat { padding: 0 14px; border-left: 1px solid rgba(255,255,255,.14); }
.about2-stat:first-child { padding-left: 0; border-left: 0; }
.about2-stat .ic { color: #9fca7f; display: block; margin-bottom: 8px; }
.about2-stat .ic svg { width: 20px; height: 20px; }
.about2-stat .lbl { display: block; font-size: 11.5px; color: rgba(255,255,255,.62); margin-bottom: 5px; }
.about2-stat .val { display: flex; align-items: center; gap: 6px; font-size: 13.5px; font-weight: 800; color: #fff; }
.about2-stat .val i { width: 7px; height: 7px; border-radius: 50%; background: #76b82a; flex: 0 0 auto; }

/* Who We Are slogan */
.weare { text-align: center; padding-bottom: 8px; }
.weare .eyebrow { color: var(--green-2); }
.weare-title {
  max-width: 780px;
  margin: 12px auto 0;
  font-size: clamp(26px,2.6vw,38px);
  line-height: 1.16;
  letter-spacing: -.03em;
}

/* Six Ways grid */
.protect-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 20px;
  padding-top: 30px;
}
.protect-card {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  background: #fff;
  border: 1px solid #edf1ee;
  border-radius: 18px;
  padding: 26px 24px;
  box-shadow: 0 10px 26px rgba(16,40,30,.05);
}
.protect-ic {
  flex: 0 0 auto;
  width: 52px; height: 52px; border-radius: 50%;
  background: var(--green-2); color: #fff;
  display: grid; place-items: center;
}
.protect-ic svg { width: 26px; height: 26px; }
.protect-text h3 { font-size: 17px; line-height: 1.22; letter-spacing: -.01em; margin: 2px 0 9px; }
.protect-text p { margin: 0; color: #52606e; font-size: 14px; line-height: 1.55; }

/* Asset protection band */
.asset-band {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  gap: 22px;
  margin-top: 26px;
  padding: 30px clamp(26px,3vw,44px);
  background: linear-gradient(150deg,#18402f,#0f2b22);
  border-radius: 20px;
  color: #fff;
  box-shadow: var(--shadow);
}
.asset-band:before {
  content: "";
  position: absolute; right: -80px; top: -80px;
  width: 240px; height: 240px; border-radius: 999px;
  background: rgba(118,184,42,.14);
}
.asset-band-ic {
  position: relative;
  flex: 0 0 auto;
  width: 66px; height: 66px; border-radius: 999px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.18);
  display: grid; place-items: center; color: #cfe6d8;
}
.asset-band-ic svg { width: 32px; height: 32px; }
.asset-band-text { position: relative; }
.asset-band-text strong { display: block; font-size: clamp(19px,2vw,26px); line-height: 1.2; letter-spacing: -.02em; margin-bottom: 8px; }
.asset-band-text p { margin: 0; color: rgba(255,255,255,.78); line-height: 1.55; font-size: 14.5px; max-width: 780px; }

/* Proof row */
.proof-row {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  margin-top: 22px;
  background: #f6f9f7;
  border: 1px solid #e8efe9;
  border-radius: 20px;
  overflow: hidden;
}
.proof-item { padding: 26px 28px; border-left: 1px solid #e3ece6; }
.proof-item:first-child { border-left: 0; }
.proof-ic {
  display: grid; place-items: center;
  width: 46px; height: 46px; border-radius: 999px;
  background: #e6f0e9; color: var(--green-2);
  margin-bottom: 16px;
}
.proof-ic svg { width: 23px; height: 23px; }
.proof-item strong { display: block; font-size: 16px; line-height: 1.3; letter-spacing: -.01em; margin-bottom: 8px; }
.proof-item p { margin: 0; color: #64748b; font-size: 13.5px; line-height: 1.5; }

/* About final CTA */
.about2-cta { text-align: center; }
.about2-cta-card { max-width: 760px; margin: 0 auto; }
.about2-cta-card h2 {
  font-size: clamp(28px,3vw,42px);
  line-height: 1.12;
  letter-spacing: -.03em;
  margin: 0 0 12px;
}
.about2-cta-card > p { color: #52606e; font-size: 16px; margin: 0 0 26px; }
.about2-cta-actions { display: flex; justify-content: center; gap: 14px; flex-wrap: wrap; }
.about2-cta-actions .btn-outline { border-color: #cdd9d1; color: #17402e; }

@media (max-width: 980px) {
  .about2-hero-inner { grid-template-columns: 1fr; }
  .about2-media { min-height: 340px; }
  .protect-grid { grid-template-columns: 1fr 1fr; }
  .proof-row { grid-template-columns: 1fr; }
  .proof-item { border-left: 0; border-top: 1px solid #e3ece6; }
  .proof-item:first-child { border-top: 0; }
}
@media (max-width: 760px) {
  .about2-media, .about2-media img { min-height: 280px; }
  .about2-stats-grid { grid-template-columns: 1fr 1fr; gap: 14px 0; }
  .about2-stat:nth-child(3) { border-left: 0; padding-left: 0; }
  .protect-grid { grid-template-columns: 1fr; }
  .asset-band { flex-direction: column; align-items: flex-start; text-align: left; }
}

/* Custom SVG icons inside the Six Ways cards (tint white on green) */
.protect-ic img {
  width: 26px;
  height: 26px;
  object-fit: contain;
  filter: brightness(0) invert(1);
}

/* About v3 — tighter section spacing + tag img tint */
.about-page-v2 .about2-hero-inner { padding-bottom: 34px; }
.about-page-v2 .weare { padding-top: 40px; padding-bottom: 2px; }
.about2-tag .ic img {
  width: 22px; height: 22px; object-fit: contain;
  filter: invert(26%) sepia(19%) saturate(1298%) hue-rotate(102deg) brightness(95%) contrast(92%);
}

/* Property Knowledge without image (centered) */
.property-knowledge--noimg { display: block; text-align: center; }
.property-knowledge--noimg .knowledge-copy { max-width: none; }
.property-knowledge--noimg .eyebrow { color: var(--green-2); }
.property-knowledge--noimg .knowledge-copy > p { max-width: 760px; margin: 0 auto; }
.property-knowledge--noimg .knowledge-list {
  grid-template-columns: repeat(3, 1fr);
  margin-top: 30px;
  text-align: left;
}
@media (max-width: 760px) {
  .property-knowledge--noimg .knowledge-list { grid-template-columns: 1fr; }
}

/* Contact form status message */
.form-status { margin: 14px 0 0; font-size: 14.5px; font-weight: 600; line-height: 1.5; }
.form-status:empty { display: none; }
.form-status.ok { color: #1c7c46; }
.form-status.err { color: #c0392b; }

/* Mobile nav (hamburger) open state */
@media (max-width: 1180px) {
  .site-header.nav-open .header-inner {
    flex-wrap: wrap;
    height: auto;
    row-gap: 2px;
    padding-bottom: 16px;
  }
  .site-header.nav-open .main-nav {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    order: 5;
    gap: 0;
    margin-top: 10px;
    padding-top: 6px;
    border-top: 1px solid rgba(27,61,47,.10);
  }
  .site-header.nav-open .main-nav a {
    padding: 14px 2px;
    font-size: 16px;
    border-bottom: 1px solid rgba(27,61,47,.06);
  }
  .site-header.nav-open .main-nav a.active:after { display: none; }
  .site-header.nav-open .header-actions {
    display: flex;
    width: 100%;
    order: 6;
    margin-top: 14px;
  }
  .site-header.nav-open .header-actions .btn { width: 100%; justify-content: center; }
}

/* ============ Services: nav dropdown / mobile accordion ============ */
.nav-dropdown { position: relative; display: flex; align-items: center; }
.nav-dd-head { display: inline-flex; align-items: center; }
.nav-caret { background: none; border: 0; color: inherit; cursor: pointer; padding: 0 0 0 5px; line-height: 1; display: inline-flex; align-items: center; }
.nav-caret svg { width: 12px; height: 12px; transition: transform .2s ease; }
.nav-caret[aria-expanded="true"] svg { transform: rotate(180deg); }
.nav-submenu { display: none; }

@media (min-width: 1181px) {
  .nav-submenu {
    position: absolute; top: calc(100% - 24px); left: -16px;
    min-width: 320px; background: #fff;
    border: 1px solid #e7efe9; border-radius: 14px;
    box-shadow: 0 20px 44px rgba(16,40,30,.16); padding: 8px; z-index: 60;
  }
  .nav-dropdown:hover .nav-submenu,
  .nav-dropdown:focus-within .nav-submenu { display: block; }
  .nav-submenu a {
    display: block; padding: 11px 14px; border-radius: 9px;
    font-size: 14.5px; font-weight: 600; color: #1e293b; white-space: nowrap;
  }
  .nav-submenu a:hover { background: #eef4f0; color: var(--green); }
  .nav-submenu a.sub-all { color: var(--green-2); border-bottom: 1px solid #eef2ef; border-radius: 9px 9px 0 0; margin-bottom: 4px; }
}
@media (max-width: 1180px) {
  .site-header.nav-open .nav-dropdown { flex-direction: column; align-items: stretch; width: 100%; }
  .site-header.nav-open .nav-dd-head { display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(27,61,47,.06); }
  .site-header.nav-open .nav-dd-head .nav-parent { flex: 1; border-bottom: 0 !important; }
  .site-header.nav-open .nav-caret { padding: 14px 6px; color: var(--green-2); }
  .site-header.nav-open .nav-caret svg { width: 15px; height: 15px; }
  .site-header.nav-open .nav-submenu.open { display: block; padding: 4px 0 10px 14px; }
  .site-header.nav-open .nav-submenu a { display: block; padding: 12px 2px; font-size: 15px; color: #46525f; border-bottom: 1px solid rgba(27,61,47,.05); }
  .site-header.nav-open .nav-submenu a.sub-all { color: var(--green-2); font-weight: 700; }
}

/* ============ Service page hero ============ */
.svc-hero { background: linear-gradient(160deg,#18402f,#0f2b22); }
.svc-hero-img { position: relative; height: clamp(230px, 32vw, 400px); }
.svc-hero-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.svc-hero-img:after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(15,43,34,0) 52%, rgba(15,43,34,.9) 100%); }
.svc-hero-copy { max-width: var(--container); margin: 0 auto; padding: 24px clamp(22px,4vw,64px) 44px; color: #fff; }
.svc-hero-copy .eyebrow { color: #95c780; }
.svc-hero-copy h1 { font-size: clamp(30px,3.4vw,46px); line-height: 1.08; letter-spacing: -.03em; margin: 12px 0 16px; font-weight: 850; }
.svc-hero-copy > p { color: rgba(255,255,255,.82); font-size: 16px; line-height: 1.65; max-width: 640px; margin: 0; }

/* overview hero (text over image) */
.svc-hero--overview .svc-hero-img { height: clamp(320px, 42vw, 480px); }
.svc-hero--overview .svc-hero-img:after { background: linear-gradient(180deg, rgba(9,24,18,.15) 0%, rgba(9,24,18,.55) 55%, rgba(9,24,18,.82) 100%); }
.svc-hero--overview { position: relative; }
.svc-hero--overview .svc-hero-copy { position: absolute; left: 0; right: 0; bottom: 0; padding-bottom: 40px; }
.svc-hero--overview h1 { font-size: clamp(34px,4vw,58px); margin: 0 0 12px; }
.svc-hero--overview > .svc-hero-img > .svc-hero-copy p { color: rgba(255,255,255,.9); }

/* ============ Service page body ============ */
.svc-intro { max-width: var(--container); margin: 0 auto; padding: 34px clamp(22px,4vw,64px) 6px; }
.svc-intro p { font-size: 17px; line-height: 1.7; color: #52606e; max-width: 720px; margin: 0; }
.svc-body h2 { font-size: clamp(24px,2.4vw,32px); letter-spacing: -.03em; margin: 0 0 8px; }
.svc-divider { display: block; width: 52px; height: 3px; border-radius: 2px; background: var(--green-2); margin: 0 0 26px; }
.svc-list { display: grid; gap: 22px; grid-template-columns: 1fr; padding-top: 4px; }
.svc-item { display: flex; gap: 14px; align-items: flex-start; }
.svc-item .svc-ic { flex: 0 0 auto; width: 44px; height: 44px; border-radius: 11px; background: #e9f1ec; color: var(--green-2); display: grid; place-items: center; }
.svc-item .svc-ic svg { width: 22px; height: 22px; }
.svc-item strong { display: block; font-size: 16px; margin-bottom: 5px; letter-spacing: -.01em; }
.svc-item p { margin: 0; color: #52606e; font-size: 14px; line-height: 1.55; }

/* checklist card */
.svc-checklist { background: #f6f9f7; border: 1px solid #e8efe9; border-radius: 18px; padding: 26px 28px; margin-top: 34px; }
.svc-checklist h3 { font-size: 18px; margin: 0 0 16px; letter-spacing: -.02em; }
.svc-checklist ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; grid-template-columns: 1fr; }
.svc-checklist li { position: relative; padding-left: 30px; color: #46525f; font-size: 14.5px; line-height: 1.4; }
.svc-checklist li:before { content: ""; position: absolute; left: 0; top: 0; width: 19px; height: 19px; border-radius: 999px; background: var(--green-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 11px no-repeat; }
.svc-checklist .more { color: #64748b; font-style: italic; margin: 14px 0 0; font-size: 14px; }

/* callout / closing */
.svc-callout { display: flex; align-items: center; gap: 18px; background: #f4f8f5; border: 1px solid #e7efe9; border-radius: 16px; padding: 24px 28px; margin-top: 32px; }
.svc-callout .ic { flex: 0 0 auto; width: 52px; height: 52px; border-radius: 999px; background: #e3eee7; color: var(--green-2); display: grid; place-items: center; }
.svc-callout .ic svg { width: 26px; height: 26px; }
.svc-callout strong { font-size: 16px; line-height: 1.4; }
.svc-callout strong span { display: block; }

/* ============ Services overview ============ */
.svc-cards { display: grid; gap: 14px; grid-template-columns: 1fr; }
.svc-card { position: relative; display: flex; align-items: flex-start; gap: 16px; background: #fff; border: 1px solid #edf1ee; border-radius: 16px; padding: 22px 46px 22px 22px; box-shadow: 0 8px 20px rgba(16,40,30,.05); text-decoration: none; color: inherit; transition: box-shadow .18s ease, transform .18s ease; }
.svc-card:hover { box-shadow: 0 16px 32px rgba(16,40,30,.12); transform: translateY(-2px); }
.svc-card .svc-card-ic { flex: 0 0 auto; width: 50px; height: 50px; border-radius: 13px; background: #e9f1ec; color: var(--green-2); display: grid; place-items: center; }
.svc-card .svc-card-ic svg { width: 26px; height: 26px; }
.svc-card h3 { font-size: 17px; margin: 2px 0 7px; letter-spacing: -.01em; }
.svc-card p { margin: 0; color: #52606e; font-size: 14px; line-height: 1.5; }
.svc-card .svc-chevron { position: absolute; right: 18px; top: 50%; transform: translateY(-50%); color: #9fb2a6; }
.svc-closing { display: flex; align-items: center; gap: 20px; background: linear-gradient(150deg,#18402f,#0f2b22); border-radius: 20px; padding: 28px 30px; color: #fff; margin-top: 22px; }
.svc-closing .ic { flex: 0 0 auto; width: 58px; height: 58px; border-radius: 999px; background: rgba(255,255,255,.10); border: 1px solid rgba(255,255,255,.18); color: #cfe6d8; display: grid; place-items: center; }
.svc-closing .ic svg { width: 28px; height: 28px; }
.svc-closing strong { font-size: clamp(18px,2vw,24px); letter-spacing: -.02em; }

@media (min-width: 820px) {
  .svc-list { grid-template-columns: 1fr 1fr; gap: 26px 44px; }
  .svc-checklist ul { grid-template-columns: 1fr 1fr; gap: 12px 26px; }
  .svc-cards { grid-template-columns: 1fr 1fr; gap: 18px; }
}

/* ===== Maintenance: high-use areas + specialty support ===== */
.maint-highuse {
  background: #f6f8f7; border: 1px solid #eef2ef; border-radius: 24px;
  padding: clamp(28px,4vw,48px);
  display: grid; grid-template-columns: 1fr 1.15fr; gap: clamp(28px,4vw,54px);
  align-items: center;
}
.maint-highuse .eyebrow { color: #64748b; }
.maint-highuse h2 { font-size: clamp(28px,3.2vw,44px); line-height: 1.08; letter-spacing: -.03em; margin: 12px 0 16px; }
.maint-highuse-copy > p { color: #52606e; font-size: 16px; line-height: 1.65; margin: 0; max-width: 460px; }
.highuse-photos { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.highuse-photo { margin: 0; background: #fff; border-radius: 16px; overflow: hidden; box-shadow: 0 12px 28px rgba(16,40,30,.10); }
.highuse-photo img { width: 100%; height: 230px; object-fit: cover; display: block; }
.highuse-photo strong { display: block; padding: 16px 18px; font-size: 15px; letter-spacing: -.01em; }

.maint-specialty {
  background: linear-gradient(150deg,#18402f,#0f2b22); border-radius: 24px;
  padding: clamp(28px,4vw,50px);
  display: grid; grid-template-columns: 1fr 1.35fr; gap: clamp(28px,4vw,50px);
  color: #fff;
}
.maint-specialty .eyebrow { color: #95c780; }
.maint-specialty h2 { font-size: clamp(28px,3.4vw,46px); line-height: 1.08; letter-spacing: -.03em; margin: 12px 0 18px; }
.maint-specialty-copy > p { color: rgba(255,255,255,.8); font-size: 15px; line-height: 1.65; margin: 0; max-width: 420px; }
.specialty-cards { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.specialty-card { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.10); border-radius: 16px; padding: 24px 22px; }
.specialty-card .ic { display: block; margin-bottom: 16px; }
.specialty-card .ic img { width: 34px; height: 34px; object-fit: contain; filter: brightness(0) invert(1); }
.specialty-card strong { display: block; font-size: 17px; margin-bottom: 10px; letter-spacing: -.01em; }
.specialty-card p { color: rgba(255,255,255,.72); font-size: 13.5px; line-height: 1.5; margin: 0; }

@media (max-width: 900px) {
  .maint-highuse, .maint-specialty { grid-template-columns: 1fr; }
  .specialty-cards { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  .highuse-photos { grid-template-columns: 1fr; }
}

/* Service-page bottom CTA (reuses homepage contact-card) */
.svc-cta .contact-card { max-width: 480px; margin: 0 auto; }

/* Two-column hero on desktop for service detail pages (fixes awkward image crop) */
@media (min-width: 900px) {
  .svc-hero:not(.svc-hero--overview) { display: grid; grid-template-columns: 1.05fr 1fr; align-items: stretch; }
  .svc-hero:not(.svc-hero--overview) .svc-hero-img { height: auto; min-height: 480px; }
  .svc-hero:not(.svc-hero--overview) .svc-hero-img:after { display: none; }
  .svc-hero:not(.svc-hero--overview) .svc-hero-copy {
    max-width: 600px; margin: 0;
    display: flex; flex-direction: column; justify-content: center;
    padding: 120px clamp(30px,4vw,64px) 60px;
  }
}

/* Header logo left indent (desktop) to mimic reference placement */
@media (min-width: 1181px) {
  .site-header .logo-brand { margin-left: 26px; }
}

/* Fix: mobile trust/metric bar was clipped (flex-shrink + overflow) */
@media (max-width: 760px) {
  .hero { min-height: auto; height: auto; }
  .hero-inner { height: auto; min-height: 0; }
  .metric-bar { overflow: visible; height: auto; flex-shrink: 0; }
  .metric { flex-shrink: 0; }
}

/* Services overview hero: lighter overlay + crisp white text (above overlay) */
.svc-hero--overview .svc-hero-img:after {
  z-index: 1;
  background: linear-gradient(180deg, rgba(9,24,18,0) 22%, rgba(9,24,18,.30) 66%, rgba(9,24,18,.64) 100%);
}
.svc-hero--overview .svc-hero-copy { z-index: 2; }
.svc-hero--overview h1 { color: #fff; text-shadow: 0 2px 14px rgba(0,0,0,.5); }
.svc-hero--overview .svc-hero-copy p { color: #fff; text-shadow: 0 1px 10px rgba(0,0,0,.55); }

/* ---------- Legal pages (Privacy Policy / Terms of Service) ---------- */
.legal-hero{background:linear-gradient(145deg,#18402f,#0f3025);color:#fff;padding:150px clamp(22px,4vw,64px) 54px}
.legal-hero-inner{max-width:860px;margin:0 auto}
.legal-hero .eyebrow{color:#95c780}
.legal-hero h1{font-family:"Libre Baskerville",serif;font-size:clamp(32px,4vw,46px);line-height:1.1;letter-spacing:-.02em;margin:14px 0 12px;font-weight:700}
.legal-updated{color:rgba(255,255,255,.72);font-size:14px;margin:0}
.legal-body{background:#fff;padding:52px clamp(22px,4vw,64px) 74px}
.legal-wrap{max-width:820px;margin:0 auto}
.legal-intro{font-size:16px;color:#52606e;line-height:1.78;border-left:3px solid var(--green-3);padding-left:18px;margin:0 0 8px}
.legal-toc{background:var(--soft);border:1px solid #eef2ef;border-radius:14px;padding:22px 26px;margin:28px 0 34px}
.legal-toc h2{margin:0 0 12px;font-size:13px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}
.legal-toc ol{margin:0;padding-left:20px;columns:2;column-gap:34px}
.legal-toc li{margin-bottom:7px;font-size:14.5px;break-inside:avoid}
.legal-toc a{color:var(--green);font-weight:600;text-decoration:none}
.legal-toc a:hover{text-decoration:underline}
.legal-wrap h2{font-size:22px;color:var(--green);letter-spacing:-.02em;margin:40px 0 12px;scroll-margin-top:120px}
.legal-wrap h3{font-size:16px;color:var(--ink);margin:22px 0 6px}
.legal-wrap p{color:#4a5560;line-height:1.78;font-size:15.5px;margin:0 0 14px}
.legal-wrap ul{margin:0 0 16px;padding-left:22px}
.legal-wrap li{color:#4a5560;line-height:1.72;font-size:15.5px;margin-bottom:8px}
.legal-wrap strong{color:var(--ink)}
.legal-wrap a{color:var(--green-2);font-weight:600;text-decoration:underline}
.legal-note{background:#f8faf9;border:1px solid #eef2ef;border-radius:12px;padding:18px 22px;margin:30px 0 0;font-size:14px;color:#64748b;line-height:1.7}
@media (max-width:760px){.legal-hero{padding-top:118px}.legal-toc ol{columns:1}}

/* Contact form consent line */
.form-consent{margin:12px 0 0;font-size:13px;color:var(--muted);line-height:1.55}
.form-consent a{color:var(--green-2);font-weight:600;text-decoration:underline}
