

/* =========================
   ABOUT — Hero
   ========================= */
.about-hero{
  position: relative;
  display: grid;
  place-items: center;
  overflow: hidden;
  /* Do NOT push the pill with margins; give the hero padding so it clears the fixed nav */
  margin-top: 0 !important;
  padding-block: clamp(96px, 12vh, 200px);   /* top & bottom breathing room */
  min-height: min(92vh, 900px);
}

.about-hero__img{
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
}

.about-hero__overlay{
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.52) 0%, rgba(0,0,0,.45) 50%, rgba(0,0,0,.38) 100%);
  z-index: 1;
}

.about-hero__content{
  position: relative; z-index: 2;
  text-align: center; color: #fff;
  max-width: 1100px;
  padding: clamp(16px, 3vw, 32px);
  row-gap: clamp(12px, 1.8vw, 22px);
}

.about-hero .eyebrow{
  font-weight: 800; opacity: .95; margin: 0 0 .6rem;
}

.about-hero__title{
  font-family: 'Roboto Condensed', sans-serif;
  font-weight: 900;
  line-height: 1.04;
  letter-spacing: .2px;
  font-size: clamp(2rem, 1.2rem + 3vw, 3.6rem);
  margin: 0 0 .8rem;
  color: #fff;
}

.about-hero .hero-locale{
  margin: .15rem 0 1rem;
  text-align: center;
  font-weight: 800;
  letter-spacing: .2px;
  color: #fff;
  text-shadow: 0 2px 18px rgba(0,0,0,.26);
  font-size: clamp(1.05rem, .6vw + 1rem, 1.6rem);
  opacity: .98;
}

.about-hero__lead{
  max-width: 70ch; margin: 0 auto 1.2rem;
  font-size: clamp(1rem, .2vw + 1rem, 1.08rem);
  opacity: .98;
}

.about-hero__cta{ margin-top: .4rem; }

@media (max-width: 575.98px){
  .about-hero .hero-title{ margin-bottom:.25rem; }
  .about-hero .hero-locale{ margin-bottom:.85rem; }
}

/* =========================
   Mission / Vision
   ========================= */
.mv-wrap{
  position: relative;
  padding: clamp(40px, 6vw, 96px) 0 clamp(56px, 8vw, 120px);
  overflow: hidden;
}

.mv-glow{
  position: absolute; width: 40vw; height: 40vw; filter: blur(60px);
  background: radial-gradient(ellipse at center, rgba(241,196,15,.22), rgba(241,196,15,0) 60%);
  z-index: 0; pointer-events: none;
}
.mv-glow--left{ left: -10vw; top: 10vh; }
.mv-glow--right{ right: -10vw; bottom: 0; }

.mv-grid{
  position: relative; z-index: 1;
  display: grid;
  grid-template-columns: repeat(12, minmax(0,1fr));
  gap: clamp(16px, 2vw, 28px);
  align-items: start;
}

.mv-text{
  grid-column: span 6;
  background:#fff; border:1px solid #eee;
  border-radius:24px; box-shadow:0 10px 25px rgba(0,0,0,.08);
  padding: clamp(18px, 2.2vw, 28px) clamp(18px, 2.4vw, 32px);
}

.mv-eyebrow{
  font-family:'Roboto Condensed',sans-serif;
  font-size: clamp(2rem, 1rem + 2.8vw, 3.2rem);
  font-weight: 900;
  letter-spacing: .5px; margin: 0 0 .6rem;
  color: var(--primary-dark);
}

.mv-lead{ font-weight:600; margin:.25rem 0 1rem; color:var(--primary-gray); }
.mv-p{ margin:.4rem 0; color:var(--primary-gray); }

.mv-img{
  grid-column: span 6;
  border-radius:24px; overflow:hidden; border:1px solid #eee;
  box-shadow:0 10px 25px rgba(0,0,0,.08);
}
.mv-img img{
  width:100%; height:100%; object-fit:cover; display:block;
}
.mv-img--right{ align-self:start; }
.mv-img--left{ align-self:stretch; }

@media (max-width: 991.98px){
  .mv-text, .mv-img{ grid-column: span 12; }
}
