/* ==========================================================================
   VANTAGE — About page (loaded after home.css; body.home.about-page)
   ========================================================================== */

/* ---------- Hero (shared subpage height lives in home.css: .subpage .hero) ---------- */
.about-page .hero-img {
  object-position: center 45%;
}
.about-page .ab-stats .hero-feature strong {
  font-family: var(--head);
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1.1;
}
.about-page .ab-stats .hero-feature strong em {
  font-style: normal;
  color: var(--sage);
}
.about-page .ab-stats .hero-feature span {
  font-size: 0.78rem;
  margin-top: 6px;
}

/* ---------- Story ---------- */
.about-page .ab-story {
  background: var(--bg);
  border-top: 1px solid var(--line);
  padding: var(--sec-y) 0;
}
.about-page .ab-story-grid {
  --bs-gutter-x: 56px;
  --bs-gutter-y: 36px;
}
.about-page .ab-story-text {
  --fr: calc(1 / 2.15); /* 1 : 1.15 */
}
.about-page .ab-story-text p {
  max-width: 480px;
  font-size: 0.92rem;
  margin: 0.4rem 0 1rem;
}
.about-page .ab-story-text .icon-link {
  margin-top: 0.8rem;
}
.about-page .ab-story-img {
  position: relative;
  border: 1px solid var(--line2);
}
.about-page .ab-story-img img {
  display: block;
  width: 100%;
  height: 380px;
  object-fit: cover;
}

/* ---------- Team ---------- */
.about-page .ab-team {
  background: var(--surface);
  border-top: 1px solid var(--line);
  padding: var(--sec-y) 0;
}
.about-page .ab-team .sec-title {
  margin-bottom: 30px;
}
.about-page .ab-team-grid {
  --bs-gutter-x: 22px;
  --bs-gutter-y: 22px;
}
.about-page .ab-member {
  margin: 0;
}
.about-page .ab-member .ph {
  aspect-ratio: 1;
  overflow: hidden;
  border: 1px solid var(--line2);
  background: #0f1110;
  transition: border-color 0.2s;
}
.about-page .ab-member .ph img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 15%;
  transition: transform 0.6s ease;
}
.about-page .ab-member:hover .ph {
  border-color: var(--sage);
}
.about-page .ab-member:hover .ph img {
  transform: scale(1.04);
}
/* Placeholder until a portrait is added */
.about-page .ab-member .ph-empty {
  display: grid;
  place-items: center;
  background: radial-gradient(circle at 50% 35%, #1d2420 0%, #0f1110 70%);
  font-family: var(--head);
  font-size: 2.6rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: rgb(var(--v-sage-rgb) / 0.40);
  align-content: center;
  gap: 10px;
}
.about-page .ab-member .ph-empty small {
  font-family: var(--body);
  font-size: 0.66rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--muted);
}
.about-page .ab-member figcaption {
  padding-top: 16px;
}
.about-page .ab-member strong {
  display: block;
  font-size: 1rem;
}
.about-page .ab-member figcaption span {
  display: block;
  font-size: 0.8rem;
  color: var(--sage);
  margin-top: 2px;
}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 991px) {
  .about-page .ab-story-img img {
    height: 320px;
  }
  .about-page .ab-team-grid {
    --bs-gutter-y: 32px;
  }
}

@media (max-width: 575px) {
  .about-page .ab-stats .hero-feature:nth-child(odd) {
    border-left: 0;
    padding-left: 0;
  }
  .about-page .ab-stats .hero-feature:nth-child(even) {
    border-left: 1px solid #ffffff1f;
    padding-left: 20px;
  }
  .about-page .ab-stats .hero-feature strong {
    font-size: 1.4rem;
  }
  .about-page .ab-story-img img {
    height: 240px;
  }
  .about-page .ab-team-grid {
    --bs-gutter-x: 12px;
    --bs-gutter-y: 24px;
  }
  .about-page .ab-member .ph-empty {
    font-size: 2rem;
  }
}

/* Stacked (<992px): default gutter so wide desktop gutters do not overhang the container */
@media (max-width: 991px) {
  .about-page .ab-story-grid {
    --bs-gutter-x: 24px;
  }
}
