:root {
  /* Brand palette per Purely Green Brand Guidelines */
  --sage:       #618d2a; /* PMS 4213 C */
  --sage-light: #8ab84a;
  --sage-pale:  #edf3e0;
  --sage-mid:   #d0e4a8;
  --sage-dark:  #486c1b; /* PMS 2280 C */
  --deep:       #2f490d; /* PMS 371 C */
  --cream:      #f7f3ed; /* PMS 9184 C @30% tint */
  --warm-white: #fcfcfa; /* PMS 663 C */
  --text-dark:  #1a2608;
  --text-mid:   #3a4f18;
  --text-light: #6b7a40;
  --border:     rgba(72,108,27,.14);
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
}
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline:2px solid var(--sage-dark); outline-offset:2px;
}
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:'Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; background:var(--warm-white); color:var(--text-dark); overflow-x:hidden; }

nav {
  position:fixed; top:0; left:0; right:0; z-index:300;
  display:flex; align-items:center; justify-content:space-between;
  padding:.85rem 5vw;
  background:rgba(253,252,248,.96);
  backdrop-filter:blur(16px);
  border-bottom:1px solid var(--border);
}
.nav-logo { display:flex; align-items:center; text-decoration:none; cursor:pointer; }
.nav-logo img { height:60px; width:auto; }

.nav-links { display:flex; align-items:center; gap:0; list-style:none; }
.nav-links li { position:relative; }
.nav-links a, .nav-links button {
  display:block; padding:.55rem 1.1rem;
  text-decoration:none; color:var(--text-mid);
  font-size:.88rem; font-weight:400; letter-spacing:.02em;
  background:none; border:none; cursor:pointer; font-family:inherit;
  transition:color .2s;
  white-space:nowrap;
}
.nav-links a:hover, .nav-links button:hover { color:var(--sage); }
.nav-links a.active, .nav-links button.active { color:var(--sage); font-weight:500; }

.nav-links a.active::after, .nav-links button.active::after {
  content:''; display:block; position:absolute; bottom:-2px; left:1.1rem; right:1.1rem;
  height:2px; background:var(--sage); border-radius:2px;
}

.nav-cta {
  background:var(--sage) !important; color:#fff !important;
  padding:.52rem 1.4rem !important; border-radius:50px !important;
  font-weight:500 !important; margin-left:.5rem;
  box-shadow:0 3px 14px rgba(72,108,27,.25);
  transition:background .2s, transform .15s !important;
}
.nav-cta:hover { background:var(--sage-dark) !important; transform:translateY(-1px) !important; }
.nav-cta.active::after { display:none !important; }

/* Mobile nav */
.hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:4px; background:none; border:none; }
.hamburger span { display:block; width:24px; height:2px; background:var(--sage-dark); border-radius:2px; transition:all .3s; }
.mobile-nav {
  display:none; position:fixed; top:78px; left:0; right:0; z-index:299;
  background:rgba(253,252,248,.98); backdrop-filter:blur(16px);
  border-bottom:1px solid var(--border); padding:1rem 5vw 1.5rem;
  flex-direction:column; gap:.25rem;
}
.mobile-nav a, .mobile-nav button {
  display:block; padding:.7rem 0;
  text-decoration:none; color:var(--text-mid);
  font-size:.95rem; background:none; border:none; cursor:pointer;
  font-family:inherit; text-align:left; border-bottom:1px solid var(--border);
  transition:color .2s;
}
.mobile-nav a:hover, .mobile-nav button:hover { color:var(--sage); }
.mobile-nav a.active, .mobile-nav button.active { color:var(--sage); font-weight:500; }
.mobile-nav .mob-cta {
  background:var(--sage); color:#fff !important; border-radius:50px;
  padding:.75rem 1.5rem !important; margin-top:.5rem; text-align:center !important;
  border:none !important;
}
.mobile-open { display:flex; }

main { display:block; padding-top:78px; animation:fadeIn .3s ease; }
@keyframes fadeIn { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:translateY(0)} }

.container { max-width:1120px; margin:0 auto; padding:0 5vw; }

.eyebrow { display:inline-block; font-size:.74rem; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:var(--sage); margin-bottom:.9rem; }

.section-title { font-family:'Poppins',sans-serif; font-size:clamp(1.9rem,3vw,2.7rem); line-height:1.18; color:var(--text-dark); margin-bottom:1rem; }

.section-sub { font-size:.97rem; color:var(--text-mid); line-height:1.78; }

.btn-primary {
  display:inline-flex; align-items:center; gap:.5rem;
  background:var(--sage); color:#fff;
  padding:.82rem 2rem; border-radius:50px;
  text-decoration:none; font-weight:500; font-size:.94rem;
  border:none; cursor:pointer; font-family:inherit;
  box-shadow:0 5px 20px rgba(72,108,27,.27);
  transition:all .2s;
}
.btn-primary:hover { background:var(--sage-dark); transform:translateY(-2px); box-shadow:0 8px 26px rgba(72,108,27,.34); }

.btn-outline {
  display:inline-flex; align-items:center; gap:.5rem;
  background:transparent; color:var(--sage-dark);
  padding:.82rem 2rem; border-radius:50px;
  text-decoration:none; font-weight:500; font-size:.94rem;
  border:1.5px solid var(--sage);
  transition:all .2s; cursor:pointer; font-family:inherit;
}
.btn-outline:hover { background:var(--sage-pale); }

.pill { display:inline-flex; align-items:center; gap:.5rem; background:var(--sage-pale); color:var(--sage-dark); padding:.38rem 1rem; border-radius:50px; font-size:.76rem; font-weight:500; letter-spacing:.07em; text-transform:uppercase; }
.pill-dot { width:7px; height:7px; border-radius:50%; background:var(--sage); flex-shrink:0; }

.check-list { list-style:none; display:flex; flex-direction:column; gap:.85rem; }
.check-list li { display:flex; align-items:flex-start; gap:.75rem; font-size:.93rem; color:var(--text-mid); line-height:1.6; }
.check-icon { width:22px; height:22px; border-radius:50%; background:var(--sage-pale); flex-shrink:0; display:flex; align-items:center; justify-content:center; margin-top:1px; }
.check-icon svg { width:12px; height:12px; }

.stars-row { display:flex; gap:3px; }
.star { width:15px; height:15px; fill:#e8a820; }

/* Image placeholders */
.img-ph {
  width:100%; height:100%;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:.9rem; border-radius:inherit;
}
.img-ph svg { opacity:.55; }
.img-ph-label { font-size:.72rem; color:rgba(255,255,255,.55); letter-spacing:.08em; text-transform:uppercase; font-family:sans-serif; }

/* Page hero banner */
.page-banner {
  background:var(--cream);
  padding:4.5rem 5vw 4rem;
  border-bottom:1px solid var(--border);
}
.page-banner-inner { max-width:700px; }
.page-banner h1 { font-family:'Poppins',sans-serif; font-size:clamp(2.3rem,4.5vw,3.5rem); line-height:1.12; color:var(--text-dark); margin-bottom:1.1rem; }
.page-banner h1 em { font-style:italic; color:var(--sage); }
.page-banner p { font-size:1.03rem; color:var(--text-mid); line-height:1.75; max-width:560px; }

/* Section spacing */
.section { padding:5.5rem 5vw; }
.section-sm { padding:3.5rem 5vw; }
.section-alt { background:var(--cream); }
.section-dark { background:var(--sage-dark); color:white; }
.section-dark .section-title { color:white; }
.section-dark .section-sub { color:rgba(255,255,255,.78); }
.section-dark .eyebrow { color:var(--sage-light); }

/* Split layout */
.split { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
.split-img { border-radius:20px; overflow:hidden; }

/* Cards */
.card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.card {
  background:white; border-radius:18px; overflow:hidden;
  border:1.5px solid transparent; transition:all .3s;
}
.card:hover { border-color:rgba(72,108,27,.18); transform:translateY(-4px); box-shadow:0 14px 44px rgba(72,108,27,.11); }
.card-body { padding:1.6rem 1.5rem 1.8rem; }
.card-body h3 { font-family:'Poppins',sans-serif; font-size:1.12rem; color:var(--text-dark); margin-bottom:.55rem; }
.card-body p { font-size:.87rem; color:var(--text-mid); line-height:1.65; }

/* Divider */
.divider { height:1px; background:var(--border); margin:0 5vw; }

.home-hero {
  height:760px;
  display:grid; grid-template-columns:1fr 1fr;
  background:var(--cream); overflow:hidden;
}
.home-hero-right { position:relative; overflow:hidden; display:flex; align-items:center; }
.home-hero-left {
  display:flex; flex-direction:column; justify-content:center;
  padding:5rem 3.5rem 5rem 5vw;
}
.home-hero-left > * { animation:fadeUp .6s ease both; }
.home-hero-left > *:nth-child(1){animation-delay:.05s}
.home-hero-left > *:nth-child(2){animation-delay:.18s}
.home-hero-left > *:nth-child(3){animation-delay:.3s}
.home-hero-left > *:nth-child(4){animation-delay:.42s}
.home-hero-left > *:nth-child(5){animation-delay:.54s}

@keyframes fadeUp { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:translateY(0)} }

.home-hero h1 { font-family:'Poppins',sans-serif; font-size:clamp(2.6rem,4.8vw,4rem); line-height:1.11; color:var(--text-dark); margin:.9rem 0 1.4rem; }
.home-hero h1 em { font-style:italic; color:var(--sage); }
.home-hero-sub { font-size:1.02rem; color:var(--text-mid); line-height:1.75; max-width:460px; margin-bottom:2.2rem; }
.home-ctas { display:flex; gap:1rem; flex-wrap:wrap; margin-bottom:2.4rem; }
.home-trust { display:flex; align-items:center; gap:1rem; }
.trust-text { font-size:.83rem; color:var(--text-light); }
.trust-text strong { color:var(--text-mid); }

.hero-mosaic { display:grid; grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr; width:100%; height:100%; max-height:760px; gap:3px; }
.mosaic-cell { overflow:hidden; position:relative; }
.mosaic-cell.tall { grid-row:span 2; }
.mosaic-cell .img-ph { border-radius:0; }
.mosaic-overlay { position:absolute; inset:0; background:linear-gradient(160deg,rgba(47,73,13,.04),rgba(47,73,13,.2)); pointer-events:none; }

/* Home services preview */
.home-services { background:white; }
.services-intro { max-width:560px; margin:0 auto 3.5rem; text-align:center; }
.svc-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.svc-card {
  background:var(--warm-white); border-radius:18px; overflow:hidden;
  border:1.5px solid transparent; transition:all .3s; cursor:pointer;
}
.svc-card:hover { border-color:rgba(72,108,27,.2); transform:translateY(-4px); box-shadow:0 14px 44px rgba(72,108,27,.11); }
.svc-card-img { aspect-ratio: 16/9; overflow:hidden; position:relative; }
.svc-card-img .img-ph { border-radius:0; }
.svc-card-img-overlay { position:absolute; inset:0; background:linear-gradient(to bottom,transparent 50%,rgba(47,73,13,.22) 100%); pointer-events:none; }
.svc-card-body { padding:1.5rem; }
.svc-card-body h3 { font-family:'Poppins',sans-serif; font-size:1.1rem; color:var(--text-dark); margin-bottom:.5rem; }
.svc-card-body p { font-size:.85rem; color:var(--text-mid); line-height:1.6; margin-bottom:1.1rem; }
.svc-link { display:inline-flex; align-items:center; gap:.4rem; color:var(--sage); font-size:.84rem; font-weight:500; text-decoration:none; transition:gap .2s; background:none; border:none; cursor:pointer; font-family:inherit; padding:0; }
.svc-link:hover { gap:.7rem; }
.arrow-svg { width:13px; height:13px; }

/* Image strip */
.img-strip { display:grid; grid-template-columns:1fr 1fr 1fr; gap:4px; height:400px; }
.strip-col { overflow:hidden; position:relative; }
.strip-col .img-ph { border-radius:0; }
.strip-col-overlay { position:absolute; inset:0; background:linear-gradient(180deg,transparent 40%,rgba(47,73,13,.28) 100%); pointer-events:none; }
.strip-center { display:flex; flex-direction:column; align-items:center; justify-content:center; background:var(--sage); padding:2.5rem 2rem; text-align:center; gap:.9rem; }
.strip-center h3 { font-family:'Poppins',sans-serif; font-size:1.45rem; color:white; line-height:1.25; }
.strip-center p { font-size:.85rem; color:rgba(255,255,255,.8); line-height:1.65; }

/* Home why eco teaser */
.home-why { background:var(--cream); }
.why-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; margin-top:3rem; }
.why-tile { background:white; border-radius:16px; padding:1.8rem 1.6rem; }
.why-tile-icon { width:48px; height:48px; border-radius:12px; background:var(--sage-pale); display:flex; align-items:center; justify-content:center; margin-bottom:1.1rem; }
.why-tile-icon svg { width:24px; height:24px; }
.why-tile h4 { font-size:.96rem; font-weight:500; color:var(--text-dark); margin-bottom:.4rem; }
.why-tile p { font-size:.85rem; color:var(--text-mid); line-height:1.65; }

/* Home CTA band */
.cta-band { background:var(--sage-dark); padding:5rem 5vw; text-align:center; }
.cta-band h2 { font-family:'Poppins',sans-serif; font-size:clamp(2rem,3.5vw,2.8rem); color:white; margin-bottom:1rem; }
.cta-band p { font-size:1rem; color:rgba(255,255,255,.75); max-width:520px; margin:0 auto 2.5rem; line-height:1.75; }
.cta-band .btn-primary { background:white !important; color:var(--sage-dark) !important; }
.cta-band .btn-primary:hover { background:var(--sage-pale) !important; }

.about-story { background:white; }
.about-float-img {
  position:relative; border-radius:24px; overflow:hidden;
  aspect-ratio:4/5;
}
.about-float-img .img-ph { border-radius:0; }
.about-stat-bubble {
  position:absolute; bottom:-18px; right:-18px;
  background:white; border-radius:18px; padding:1.2rem 1.4rem;
  box-shadow:0 8px 32px rgba(0,0,0,.1);
  text-align:center; min-width:130px;
  animation:floatY 4s ease-in-out infinite;
}
@keyframes floatY { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-8px)} }
.about-stat-bubble .stat-num { font-family:'Poppins',sans-serif; font-size:2.2rem; color:var(--sage); line-height:1; }
.about-stat-bubble .stat-label { font-size:.75rem; color:var(--text-light); margin-top:.2rem; }

.founder-card { background:var(--sage-pale); border-radius:16px; padding:1.4rem 1.5rem; display:flex; align-items:center; gap:1rem; margin-top:2rem; }
.founder-avatar { width:44px; height:44px; border-radius:50%; background:var(--sage); display:flex; align-items:center; justify-content:center; font-weight:600; font-size:.88rem; color:white; flex-shrink:0; }
.founder-avatar-info strong { display:block; font-size:.9rem; color:var(--text-dark); }
.founder-avatar-info span { font-size:.77rem; color:var(--text-light); }

/* Why choose us */
.why-choose { background:var(--cream); }
.choose-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.4rem; margin-top:2.5rem; }
.choose-tile {
  background:white; border-radius:16px; padding:1.8rem 1.6rem;
  border:1.5px solid transparent; transition:all .25s;
}
.choose-tile:hover { border-color:rgba(72,108,27,.2); box-shadow:0 8px 28px rgba(72,108,27,.09); }
.choose-tile-num { font-family:'Poppins',sans-serif; font-size:2rem; color:var(--sage-mid); line-height:1; margin-bottom:.8rem; }
.choose-tile h4 { font-size:.97rem; font-weight:500; color:var(--text-dark); margin-bottom:.4rem; }
.choose-tile p { font-size:.86rem; color:var(--text-mid); line-height:1.65; }

/* Values band */
.values-band { background:var(--sage-dark); }
.values-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; margin-top:3rem; }
.value-tile { text-align:center; padding:1rem; }
.value-icon { width:52px; height:52px; border-radius:50%; background:rgba(255,255,255,.1); display:flex; align-items:center; justify-content:center; margin:0 auto 1rem; }
.value-icon svg { width:24px; height:24px; }
.value-tile h4 { font-size:.93rem; font-weight:500; color:white; margin-bottom:.3rem; }
.value-tile p { font-size:.8rem; color:rgba(255,255,255,.65); line-height:1.55; }

/* About image grid */
.about-img-grid { display:grid; grid-template-columns:1fr 1fr; grid-template-rows:auto auto; gap:14px; }
.aig-cell { border-radius:14px; overflow:hidden; }
.aig-cell.aig-tall { grid-row:span 2; }
.aig-cell .img-ph { border-radius:0; }
.aig-short { height:210px; }

.eco-hero-split { background:var(--cream); }

/* Products section */
.products-section { background:white; }
.product-list { display:flex; flex-direction:column; gap:2.5rem; margin-top:3rem; }
.product-item { display:grid; grid-template-columns:80px 1fr; gap:1.6rem; align-items:flex-start; padding:1.8rem; background:var(--warm-white); border-radius:16px; border:1.5px solid var(--border); transition:border-color .25s; }
.product-item:hover { border-color:var(--sage-mid); }
.product-icon { width:64px; height:64px; border-radius:14px; background:var(--sage-pale); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.product-icon svg { width:32px; height:32px; }
.product-body h3 { font-size:1.05rem; font-weight:500; color:var(--text-dark); margin-bottom:.4rem; }
.product-body p { font-size:.88rem; color:var(--text-mid); line-height:1.65; }
.product-tags { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:.8rem; }
.ptag { background:var(--sage-pale); color:var(--sage-dark); padding:.28rem .75rem; border-radius:50px; font-size:.74rem; font-weight:500; }

/* Services full list */
.services-full { background:var(--cream); }
.svc-full-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; margin-top:3rem; }
.svc-full-card {
  background:white; border-radius:18px; overflow:hidden;
  border:1.5px solid transparent; transition:all .3s;
}
.svc-full-card:hover { border-color:rgba(72,108,27,.2); transform:translateY(-4px); box-shadow:0 14px 44px rgba(72,108,27,.11); }
.svc-full-img { aspect-ratio: 16/9; position:relative; overflow:hidden; }
.svc-full-img .img-ph { border-radius:0; }
.svc-full-img-overlay { position:absolute; inset:0; background:linear-gradient(to bottom,transparent 50%,rgba(47,73,13,.25) 100%); }
.svc-full-body { padding:1.5rem; }
.svc-full-body h3 { font-family:'Poppins',sans-serif; font-size:1.1rem; color:var(--text-dark); margin-bottom:.5rem; }
.svc-full-body p { font-size:.86rem; color:var(--text-mid); line-height:1.65; margin-bottom:1rem; }
.svc-includes { list-style:none; display:flex; flex-direction:column; gap:.4rem; margin-top:.8rem; }
.svc-includes li { font-size:.8rem; color:var(--text-mid); display:flex; align-items:center; gap:.5rem; }
.svc-includes li::before { content:''; display:block; width:5px; height:5px; border-radius:50%; background:var(--sage); flex-shrink:0; }

/* Commitment section */
.commitment { background:white; }
.commitment-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.2rem; margin-top:3rem; }
.commit-tile { padding:1.6rem 1.3rem; background:var(--sage-pale); border-radius:16px; text-align:center; }
.commit-num { font-family:'Poppins',sans-serif; font-size:2.4rem; color:var(--sage); line-height:1; margin-bottom:.4rem; }
.commit-label { font-size:.82rem; color:var(--text-mid); line-height:1.45; font-weight:500; }

.quote-page { background:var(--cream); min-height:80vh; }
.quote-inner { display:grid; grid-template-columns:1fr 1.2fr; gap:5rem; align-items:flex-start; padding:5rem 5vw; }

.quote-info h2 { font-family:'Poppins',sans-serif; font-size:clamp(1.8rem,2.8vw,2.4rem); color:var(--text-dark); line-height:1.2; margin-bottom:1rem; }
.quote-info p { font-size:.95rem; color:var(--text-mid); line-height:1.75; margin-bottom:2rem; }

.contact-methods { display:flex; flex-direction:column; gap:1rem; margin-bottom:2.5rem; }
.contact-method { display:flex; align-items:center; gap:1rem; padding:1rem 1.2rem; background:white; border-radius:14px; text-decoration:none; border:1px solid var(--border); transition:border-color .2s; }
.contact-method:hover { border-color:var(--sage-mid); }
.cm-icon { width:40px; height:40px; border-radius:10px; background:var(--sage-pale); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.cm-icon svg { width:20px; height:20px; }
.cm-text strong { display:block; font-size:.9rem; color:var(--text-dark); }
.cm-text span { font-size:.82rem; color:var(--text-light); }

.quote-promises { display:flex; flex-direction:column; gap:.8rem; }
.quote-promise { display:flex; align-items:center; gap:.7rem; font-size:.88rem; color:var(--text-mid); }
.qp-dot { width:8px; height:8px; border-radius:50%; background:var(--sage); flex-shrink:0; }

/* Form */
.quote-form-wrap { background:white; border-radius:24px; padding:2.8rem 2.5rem; box-shadow:0 4px 30px rgba(0,0,0,.06); }
.quote-form-wrap h3 { font-family:'Poppins',sans-serif; font-size:1.55rem; color:var(--sage-dark); margin-bottom:.5rem; }
.quote-form-wrap > p { font-size:.88rem; color:var(--text-light); margin-bottom:2rem; }

.form { display:flex; flex-direction:column; gap:.9rem; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:.9rem; }
.form-group { display:flex; flex-direction:column; gap:.4rem; }
.form-group label { font-size:.8rem; font-weight:500; color:var(--text-mid); letter-spacing:.03em; }
.form-group input,
.form-group select,
.form-group textarea {
  padding:.78rem 1rem;
  border:1.5px solid rgba(72,108,27,.2);
  border-radius:10px;
  font-family:'Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; font-size:.9rem;
  color:var(--text-dark); background:white; outline:none;
  transition:border-color .2s, box-shadow .2s;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  border-color:var(--sage);
  box-shadow:0 0 0 3px rgba(72,108,27,.1);
}
.form-group input::placeholder,
.form-group textarea::placeholder { color:var(--text-light); }
.form-group textarea { resize:vertical; min-height:120px; }

.form-checkboxes { display:flex; flex-direction:column; gap:.6rem; }
.form-cb { display:flex; align-items:center; gap:.7rem; cursor:pointer; font-size:.86rem; color:var(--text-mid); }
.form-cb input[type=checkbox] { width:16px; height:16px; accent-color:var(--sage); cursor:pointer; }

.form-submit {
  background:var(--sage); color:white; border:none;
  padding:.9rem 2rem; border-radius:50px;
  font-family:'Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; font-size:.96rem; font-weight:500;
  cursor:pointer; width:100%; transition:all .2s; margin-top:.4rem;
}
.form-submit:hover { background:var(--sage-dark); transform:translateY(-1px); }

.form-success {
  display:none; text-align:center; padding:2rem;
}
.form-success svg { width:56px; height:56px; margin-bottom:1rem; }
.form-success h4 { font-family:'Poppins',sans-serif; font-size:1.4rem; color:var(--sage-dark); margin-bottom:.5rem; }
.form-success p { font-size:.9rem; color:var(--text-mid); line-height:1.7; }


/* Review stats */
.review-stats { background:var(--sage-dark); padding:4rem 5vw; }
.stats-inner { display:grid; grid-template-columns:auto 1fr; gap:4rem; align-items:center; max-width:900px; margin:0 auto; }
.overall-score { text-align:center; }
.score-num { font-family:'Poppins',sans-serif; font-size:5rem; color:white; line-height:1; }
.score-stars { display:flex; gap:4px; justify-content:center; margin:.5rem 0; }
.score-star { width:22px; height:22px; fill:#f5c430; }
.score-label { font-size:.82rem; color:rgba(255,255,255,.6); }
.score-bars { display:flex; flex-direction:column; gap:.7rem; }
.score-bar-row { display:flex; align-items:center; gap:1rem; }
.score-bar-label { font-size:.82rem; color:rgba(255,255,255,.75); width:40px; text-align:right; flex-shrink:0; }
.score-bar-track { flex:1; height:8px; background:rgba(255,255,255,.12); border-radius:4px; overflow:hidden; }
.score-bar-fill { height:100%; background:var(--sage-light); border-radius:4px; }
.score-bar-count { font-size:.78rem; color:rgba(255,255,255,.5); width:20px; flex-shrink:0; }

/* Review cards */
.reviews-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.review-card { background:white; border-radius:18px; padding:2rem; border:1px solid var(--border); transition:box-shadow .25s; }
.review-card:hover { box-shadow:0 8px 28px rgba(0,0,0,.07); }
.review-header { display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:1rem; }
.reviewer-info { display:flex; align-items:center; gap:.75rem; }
.reviewer-avatar { width:42px; height:42px; border-radius:50%; background:var(--sage); display:flex; align-items:center; justify-content:center; font-weight:600; font-size:.88rem; color:white; flex-shrink:0; }
.reviewer-name strong { display:block; font-size:.9rem; color:var(--text-dark); }
.reviewer-name span { font-size:.76rem; color:var(--text-light); }
.review-platform { font-size:.72rem; color:var(--text-light); }
.review-text { font-size:.9rem; color:var(--text-mid); line-height:1.72; font-style:italic; margin-bottom:1rem; }
.review-service-tag { display:inline-block; background:var(--sage-pale); color:var(--sage-dark); padding:.25rem .7rem; border-radius:50px; font-size:.73rem; font-weight:500; }

/* Leave a review CTA */
.leave-review { background:var(--cream); text-align:center; }
.leave-review h2 { font-family:'Poppins',sans-serif; font-size:2rem; color:var(--text-dark); margin-bottom:.8rem; }
.leave-review p { font-size:.97rem; color:var(--text-mid); max-width:480px; margin:0 auto 2rem; line-height:1.75; }

/* Home Organisation page */
.home-organisation-hero { background:var(--cream); padding:5rem 0 4rem; }
.org-hero-inner { display:grid; grid-template-columns:1.05fr .95fr; gap:4rem; align-items:center; }
.org-hero-text h1 { font-family:'Poppins',sans-serif; font-size:clamp(2.2rem,4vw,3.4rem); line-height:1.12; color:var(--text-dark); margin:.9rem 0 1.4rem; }
.org-hero-text h1 em { font-style:italic; color:var(--sage); }
.org-hero-img { aspect-ratio:5/4; border-radius:20px; overflow:hidden; }
.org-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; }
.org-card { background:white; border-radius:16px; overflow:hidden; box-shadow:0 2px 12px rgba(47,73,13,.06); transition:transform .25s ease, box-shadow .25s ease; }
.org-card:hover { transform:translateY(-4px); box-shadow:0 10px 30px rgba(47,73,13,.12); }
.org-card-img { aspect-ratio:4/3; position:relative; overflow:hidden; }
.org-card-img-overlay { position:absolute; inset:0; background:linear-gradient(to bottom,transparent 50%,rgba(47,73,13,.18) 100%); pointer-events:none; }
.org-card-body { padding:1.4rem 1.4rem 1.6rem; }
.org-card-body h3 { font-family:'Poppins',sans-serif; font-size:1.15rem; color:var(--text-dark); margin-bottom:.6rem; font-weight:600; }
.org-card-body p { font-size:.92rem; line-height:1.65; color:var(--text-mid); }

footer { background:var(--deep); color:rgba(255,255,255,.65); padding:4rem 5vw 2rem; }
.footer-grid { display:grid; grid-template-columns:1.8fr 1.4fr; gap:4rem; margin-bottom:3rem; }
.footer-logo { height:72px; width:auto; margin-bottom:1rem; }
.footer-brand p { font-size:.87rem; line-height:1.75; max-width:280px; margin-bottom:1.3rem; }
.footer-social { display:flex; gap:.7rem; }
.fsoc { width:34px; height:34px; border-radius:50%; background:rgba(255,255,255,.1); display:flex; align-items:center; justify-content:center; text-decoration:none; color:white; transition:background .2s; }
.fsoc:hover { background:var(--sage); }
.fsoc svg { width:14px; height:14px; }
.footer-col h4 { color:white; font-size:.8rem; font-weight:500; letter-spacing:.1em; text-transform:uppercase; margin-bottom:1.1rem; }
.footer-links { list-style:none; display:flex; flex-direction:column; gap:.55rem; }
.footer-links a { color:rgba(255,255,255,.55); text-decoration:none; font-size:.86rem; transition:color .2s; background:none; border:none; cursor:pointer; font-family:inherit; text-align:left; }
.footer-links a:hover, .footer-links button:hover { color:var(--sage-light); }
.footer-links button { color:rgba(255,255,255,.55); text-decoration:none; font-size:.86rem; transition:color .2s; background:none; border:none; cursor:pointer; font-family:inherit; text-align:left; padding:0; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.08); padding-top:1.5rem; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:.8rem; font-size:.78rem; color:rgba(255,255,255,.35); }
.footer-badges { display:flex; gap:1rem; }
.f-badge { display:inline-flex; align-items:center; gap:.4rem; font-size:.75rem; color:var(--sage-light); }

@media(max-width:1000px){
  .home-hero, .split { grid-template-columns:1fr; }
  .home-hero { height:auto; max-height:none; min-height:0; }
  .home-hero-right, .hero-mosaic { height:55vw; max-height:380px; }
  .card-grid, .svc-grid, .svc-full-grid, .why-grid, .services-grid { grid-template-columns:1fr 1fr; }
  .values-grid, .commitment-grid { grid-template-columns:1fr 1fr; }
  .reviews-grid { grid-template-columns:1fr 1fr; }
  .quote-inner { grid-template-columns:1fr; gap:3rem; padding:4rem 5vw; }
  .stats-inner { grid-template-columns:1fr; gap:2rem; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .choose-grid { grid-template-columns:1fr; }
  .about-img-grid { display:none; }
  .split-img { display:none; }
  .org-hero-inner { grid-template-columns:1fr; gap:2.5rem; }
  .org-grid { grid-template-columns:1fr 1fr; gap:1.5rem; }
}
@media(max-width:700px){
  nav { padding:.75rem 4vw; }
  .nav-links { display:none; }
  .hamburger { display:flex; }
  section, .section, .section-sm { padding:3rem 4vw; }
  .page-banner { padding:2.5rem 4vw; }
  .page-banner h1 { font-size:2rem; }
  .card-grid, .svc-grid, .svc-full-grid, .why-grid, .values-grid, .commitment-grid, .choose-grid, .reviews-grid { grid-template-columns:1fr; }
  .org-grid { grid-template-columns:1fr; gap:1.2rem; }
  .form-row { grid-template-columns:1fr; }
  .img-strip { height:280px; grid-template-columns:1fr; }
  .strip-center { display:none; }
  .img-strip .strip-col:last-child { display:none; }
  .footer-grid { grid-template-columns:1fr; gap:2rem; }
  .footer-bottom { flex-direction:column; text-align:center; }

  /* Eco page mobile fixes */
  .product-item { grid-template-columns:1fr; gap:1rem; padding:1.2rem; }
  .product-icon { width:48px; height:48px; }
  .product-icon svg { width:24px; height:24px; }
  .product-body h3 { font-size:.95rem; }
  .product-body p { font-size:.84rem; }
  .product-tags { gap:.4rem; }
  .ptag { font-size:.72rem; padding:.22rem .6rem; }
  .svc-full-grid { grid-template-columns:1fr; gap:1.2rem; }
  .svc-full-body { padding:1.2rem; }
  .svc-full-body h3 { font-size:1.05rem; }
  .commitment-grid { grid-template-columns:1fr 1fr; gap:1rem; }
  .commit-num { font-size:2rem; }
  .commit-label { font-size:.78rem; }
  .eco-hero-split .split { grid-template-columns:1fr; }
  .values-grid { grid-template-columns:1fr 1fr; gap:1rem; }
  .value-tile { padding:.8rem; }
  .section-title { font-size:1.7rem; }
  .product-list { gap:1.5rem; margin-top:2rem; }
