/* Visual refresh for the About page */
body{overflow-x:hidden;background:linear-gradient(180deg,#fff 0,#fbfdfb 70%,#f3f8f4 100%)}
main{max-width:1240px}
.section{padding:88px 76px}
.kicker{font-size:12px;letter-spacing:2.4px}
h2{font-size:clamp(30px,3vw,42px);letter-spacing:-.5px}
.title-line{width:68px;height:4px;border-radius:4px}

.hero{height:min(610px,70vh);min-height:480px;background-position:center;background-size:cover;box-shadow:0 18px 50px rgba(4,63,43,.16)}
.hero-content{left:max(5vw,calc((100vw - 1180px)/2));bottom:76px;max-width:850px}
.hero-content .eyebrow{font-size:14px;letter-spacing:3px;text-shadow:0 2px 10px rgba(0,0,0,.65)}
.hero h1{font-size:clamp(34px,4vw,58px);line-height:1.16;letter-spacing:-1px;text-wrap:balance;text-shadow:0 3px 5px rgba(0,0,0,.9),0 8px 24px rgba(0,0,0,.6)}
.hero-line{width:64px;border-radius:4px}

.letter{margin:42px 0;background:#fff;border-radius:20px;box-shadow:0 18px 55px rgba(5,72,48,.10)}
.letter-copy p{font-size:15px;line-height:1.82}
.letter-copy strong{color:var(--green)}
.letter img{height:430px;border-radius:16px;box-shadow:0 18px 38px rgba(4,63,43,.18);transition:transform .55s ease,box-shadow .55s ease}
.letter:hover img{transform:translateY(-6px) scale(1.015);box-shadow:0 24px 48px rgba(4,63,43,.25)}

.values{border-radius:22px;background:linear-gradient(135deg,#e5f1e6 0,#f8fbf8 50%,#eef6ed 100%)}
.value-grid{gap:22px}
.value-grid article{min-height:330px;padding:38px 24px 28px;border:1px solid rgba(255,255,255,.18);border-radius:16px;box-shadow:0 14px 30px rgba(4,63,43,.16);transition:transform .35s ease,box-shadow .35s ease,background .35s ease}
.value-grid article:hover{transform:translateY(-10px);background:linear-gradient(145deg,#0d7650,#06412d);box-shadow:0 24px 42px rgba(4,63,43,.28)}
.value-grid article>b{font-size:36px}
.value-grid article>span{font-size:46px;transition:transform .35s ease}
.value-grid article:hover>span{transform:scale(1.15) rotate(5deg)}
.value-grid h3{font-size:16px;line-height:1.45}
.value-grid p{font-size:13px;line-height:1.7}

.mission{margin-top:42px;border:0;border-radius:20px;background:#fff;box-shadow:0 16px 46px rgba(5,72,48,.09)}
.mission-grid{gap:30px}
.mission-grid article{padding:30px;border:1px solid #e2ece5;border-radius:16px;background:linear-gradient(145deg,#fff,#f4f9f5);transition:transform .35s ease,box-shadow .35s ease}
.mission-grid article:hover{transform:translateY(-7px);box-shadow:0 18px 34px rgba(4,63,43,.13)}
.mission-icon{width:82px;height:82px;font-size:40px;box-shadow:inset 0 0 0 1px #dbeade}
.mission-grid h3{font-size:23px;color:var(--green)}
.mission-grid p{font-size:14px;line-height:1.8;text-align:justify;text-justify:inter-word;hyphens:auto}
.mission-grid .mission-tagline{text-align:left}
.mission-grid p+p{margin-top:12px}

.team{margin-top:42px;border-radius:20px;background:#fff}
.team-grid{gap:28px}
.team-grid article{padding:28px 16px;border-radius:18px;transition:transform .35s ease,box-shadow .35s ease,background .35s ease}
.team-grid article:hover{transform:translateY(-9px);background:#f5faf6;box-shadow:0 18px 36px rgba(4,63,43,.12)}
.team-grid img{width:190px;height:190px;border:7px solid #e8f1ea;box-shadow:0 12px 28px rgba(4,63,43,.16);transition:transform .4s ease,border-color .4s ease}
.team-grid article:hover img{transform:scale(1.045);border-color:#c9dfce}
.team-grid h3{margin-top:20px;font-size:16px;line-height:1.45}
.team-grid b{font-size:12px;letter-spacing:.4px}

.gallery{margin-top:42px;border-radius:20px;background:#f3f8f4}
.gallery-grid{gap:20px}
.gallery-grid img{height:240px;border-radius:14px;box-shadow:0 10px 26px rgba(4,63,43,.12);transition:transform .45s ease,filter .45s ease,box-shadow .45s ease}
.gallery-grid img:hover{position:relative;z-index:2;transform:scale(1.045);filter:saturate(1.12) contrast(1.04);box-shadow:0 22px 42px rgba(4,63,43,.24)}

.legal-card{width:100vw;max-width:none;margin:42px 0 0 calc(50% - 50vw);padding-left:max(42px,calc((100vw - 1100px)/2));padding-right:max(42px,calc((100vw - 1100px)/2));border-radius:0;box-shadow:0 -10px 40px rgba(4,63,43,.15)}
.legal-card h2{font-size:27px}
.legal-card ul{font-size:14px;line-height:2.1}
.map{border-radius:14px;overflow:hidden}

.section-number{animation:numberFloat 3.2s ease-in-out infinite}
@keyframes numberFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
.reveal{opacity:0;transform:translateY(32px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.75,.25,1)}
.reveal.is-visible{opacity:1;transform:none}

@media(max-width:1000px){
  .section{padding:68px 42px}
  .letter{margin:28px 18px}
  .letter img{height:360px}
  .value-grid article{min-height:285px}
  .team-grid img{width:175px;height:175px}
}
@media(max-width:680px){
  .section{padding:58px 20px}
  .hero{height:430px;min-height:430px;background-position:center}
  .hero-content{left:20px;right:20px;bottom:44px}
  .hero h1{font-size:29px;line-height:1.22}
  .letter{margin:22px 12px;border-radius:14px}
  .letter-copy p{font-size:14px;line-height:1.75}
  .letter img{height:270px}
  .value-grid article{min-height:0;padding:34px 24px}
  .value-grid h3{font-size:17px}
  .value-grid p{font-size:14px}
  .mission-grid article{display:block;padding:24px}
  .mission-icon{margin-bottom:18px}
  .mission-grid p{font-size:14px}
  .team-grid img{width:185px;height:185px}
  .team-grid h3{font-size:17px}
  .team-grid b{font-size:13px}
  .gallery-grid{grid-template-columns:1fr}
  .gallery-grid img{height:230px}
  .legal-card h2{font-size:23px}
  .legal-card ul{font-size:13px;line-height:1.8}
  .legal-card{margin-top:24px;padding:38px 20px}
}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
}
