/* About page contrast + readability polish */
main.about-page {
  --about-green-950:#123426;
  --about-green-900:#173f2e;
  --about-green-800:#24563f;
  --about-green-700:#2f6b4e;
  --about-text:#27342e;
  --about-muted:#56645e;
  --about-line:#cfded4;
  --about-soft:#f3f7f4;
}

/* Make every regular content block safely readable */
main.about-page > section:not(#home):not(#partner-growth) {
  color:var(--about-text) !important;
}
main.about-page > section:not(#home):not(#partner-growth) .section-title {
  color:var(--about-green-950) !important;
  text-shadow:none !important;
}
main.about-page > section:not(#home):not(#partner-growth) .section-label {
  color:#2f684c !important;
  opacity:1 !important;
}
main.about-page > section:not(#home):not(#partner-growth) .section-desc,
main.about-page > section:not(#home):not(#partner-growth) p {
  color:var(--about-muted) !important;
  opacity:1 !important;
}

/* Hero contrast */
main.about-page #home {
  isolation:isolate;
}
main.about-page #home::after {
  content:'';
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(8,27,19,.22),rgba(8,27,19,.05) 48%,rgba(8,27,19,.12));
}
main.about-page #home > * { position:relative; z-index:1; }
main.about-page #home .section-title,
main.about-page #home .hero-subtitle,
main.about-page #home .about-hero-lead,
main.about-page #home .about-hero-points li {
  opacity:1 !important;
}
main.about-page #home .section-title { color:#fff !important; }
main.about-page #home .hero-subtitle { color:#e9f5ed !important; }
main.about-page #home .about-hero-lead { color:#f2f7f4 !important; }
main.about-page #home .about-hero-lead strong { color:#fff !important; }
main.about-page #home .section-label {
  color:#fff !important;
  border-color:rgba(255,255,255,.42) !important;
  background:rgba(9,34,23,.34) !important;
}
main.about-page #home .about-hero-points li {
  color:#fff !important;
  border-color:rgba(255,255,255,.38) !important;
  background:rgba(8,33,22,.34) !important;
}

/* Buttons: explicit contrast against global button rules */
main.about-page #home .btn-primary,
main.about-page #partner-growth .btn-primary {
  background:#fff !important;
  color:#17412e !important;
  border:2px solid #fff !important;
  font-weight:800 !important;
}
main.about-page #home .btn-primary:hover,
main.about-page #partner-growth .btn-primary:hover {
  background:#eef7f1 !important;
  color:#123426 !important;
}
main.about-page #home .btn-outline,
main.about-page #partner-growth .btn-outline {
  background:rgba(8,33,22,.22) !important;
  color:#fff !important;
  border:2px solid rgba(255,255,255,.72) !important;
  font-weight:800 !important;
}
main.about-page #home .btn-outline:hover,
main.about-page #partner-growth .btn-outline:hover {
  background:#fff !important;
  color:#17412e !important;
}

/* Cards need stronger separation from pale sections */
main.about-page .about-overview-panel,
main.about-page .about-overview-card,
main.about-page .about-highlight-card,
main.about-page .about-principle-item,
main.about-page #about-story .section-inner,
main.about-page .logo-story-visual {
  border-color:var(--about-line) !important;
}
main.about-page .about-overview-card,
main.about-page .about-highlight-card,
main.about-page .about-principle-item {
  background:#fff !important;
  box-shadow:0 10px 28px rgba(20,58,40,.075) !important;
}
main.about-page .about-overview-card h3,
main.about-page .about-highlight-card h3,
main.about-page .about-principle-item h3 {
  color:#1d4934 !important;
}
main.about-page .about-overview-card p,
main.about-page .about-highlight-card p,
main.about-page .about-principle-item p {
  color:#53635b !important;
}
main.about-page .about-overview-card::before,
main.about-page .about-principle-item::before {
  background:#dfeee4 !important;
  color:#215b3e !important;
  border:1px solid #c7ddcf;
}

/* Alternating sections: slightly clearer distinction */
main.about-page > section:nth-of-type(even):not(#home):not(#partner-growth) {
  background:#f0f5f1 !important;
}
main.about-page > section:nth-of-type(odd):not(#home):not(#partner-growth) {
  background:#fbfcfa;
}
main.about-page .about-overview {
  background:#e8f1eb !important;
}

/* Story statement */
main.about-page #about-story .section-inner {
  background:#fff !important;
  border-left-color:#337453 !important;
}
main.about-page #about-story .section-title { color:#163d2b !important; }

/* Logo block */
main.about-page .logo-story-visual {
  background:linear-gradient(145deg,#fff,#edf5f0) !important;
}
main.about-page .logo-story-visual .logo-text { color:#17462f !important; }
main.about-page .logo-story-caption { color:#315f48 !important; }

/* Final dark CTA: override generic paragraph selectors */
main.about-page #partner-growth {
  color:#fff !important;
  background:linear-gradient(135deg,#123426 0%,#1f5139 55%,#2c684b 100%) !important;
}
main.about-page #partner-growth .partner-growth-panel {
  background:rgba(255,255,255,.10) !important;
  border-color:rgba(255,255,255,.30) !important;
}
main.about-page #partner-growth .section-label { color:#c8ead4 !important; }
main.about-page #partner-growth .section-title { color:#fff !important; }
main.about-page #partner-growth .section-desc,
main.about-page #partner-growth p {
  color:rgba(255,255,255,.90) !important;
  opacity:1 !important;
}

/* Closing statement: strong, calm, fully readable */
main.about-page #contact {
  position:relative;
  background:linear-gradient(180deg,#f7faf8 0%,#edf4ef 100%) !important;
  color:#14271d !important;
  text-align:center;
}
main.about-page #contact .section-inner {
  max-width:900px !important;
  padding:clamp(2rem,5vw,3.5rem) clamp(1.25rem,4vw,3rem);
  border:1px solid #b8cec0;
  border-radius:28px;
  background:#fff;
  box-shadow:0 18px 48px rgba(23,63,46,.09);
}
main.about-page #contact .section-label {
  color:#24563f !important;
  font-weight:900 !important;
  opacity:1 !important;
}
main.about-page #contact .section-title {
  max-width:820px !important;
  margin-left:auto;
  margin-right:auto;
  color:#0d281a !important;
  font-size:clamp(1.95rem,4vw,3rem) !important;
  line-height:1.34 !important;
  letter-spacing:-.035em !important;
  font-weight:800 !important;
  opacity:1 !important;
}
html body main.about-page #contact .section-desc,
html body main.about-page #contact .contact-lead-line {
  max-width:760px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  color:#1d3026 !important;
  font-size:1.04rem !important;
  font-weight:650 !important;
  line-height:1.85 !important;
  opacity:1 !important;
}
html body main.about-page #contact .contact-lead-line strong {
  color:#0d281a !important;
  font-weight:900 !important;
}
html body main.about-page #contact .contact-closing-line {
  max-width:720px !important;
  margin:1.6rem auto 0 !important;
  padding:1.2rem 1.3rem;
  border:1px solid #b7cebf !important;
  border-radius:18px;
  background:#e2eee6 !important;
  color:#183326 !important;
  font-size:1.04rem !important;
  font-weight:650 !important;
  line-height:1.8 !important;
  opacity:1 !important;
}
html body main.about-page #contact .contact-closing-line strong {
  display:inline-block;
  margin-bottom:.18rem;
  color:#092416 !important;
  font-size:1.14em;
  font-weight:900 !important;
}
main.about-page #contact .hero-btns {
  justify-content:center;
  margin-top:1.7rem;
  gap:.7rem;
}
main.about-page #contact .btn-primary {
  background:#24563f !important;
  color:#fff !important;
  border:2px solid #24563f !important;
  font-weight:800 !important;
}
main.about-page #contact .btn-primary:hover {
  background:#173f2e !important;
  border-color:#173f2e !important;
  color:#fff !important;
}
main.about-page #contact .btn-outline {
  background:#fff !important;
  color:#24563f !important;
  border:2px solid #8fb3a0 !important;
  font-weight:800 !important;
}
main.about-page #contact .btn-outline:hover {
  background:#edf5f0 !important;
  color:#173f2e !important;
  border-color:#5f8f73 !important;
}

/* Keyboard/accessibility visibility */
main.about-page a:focus-visible {
  outline:3px solid rgba(244,162,97,.8);
  outline-offset:3px;
}

@media(max-width:760px){
  main.about-page #home {
    background-position:center 58% !important;
  }
  main.about-page #home .about-hero-lead {
    font-size:.96rem;
    line-height:1.75;
  }
  main.about-page #home .about-hero-points {
    gap:.42rem;
  }
  main.about-page #home .about-hero-points li {
    font-size:.76rem;
  }
  main.about-page > section:not(#home) .section-title {
    font-size:1.65rem !important;
  }
  main.about-page .about-overview-panel,
  main.about-page #partner-growth .partner-growth-panel,
  main.about-page #contact .section-inner {
    border-radius:20px;
  }
  main.about-page #contact .section-title {
    font-size:1.75rem !important;
  }
  html body main.about-page #contact .contact-lead-line,
  html body main.about-page #contact .contact-closing-line {
    font-size:1rem !important;
  }
  main.about-page #contact .hero-btns {
    width:100%;
  }
  main.about-page #contact .btn-primary,
  main.about-page #contact .btn-outline {
    width:100%;
  }
}
