/* V3.5 — About portrait. Replaces the decorative asterisk; no new JS/GSAP.
   Monochrome photo matches the professional profiles and remains light to load. */
.about__portrait {
  width: min(100%, 340px);
  margin: clamp(35px, 4.5vw, 65px) 0 0;
}
.about__portrait-frame {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  aspect-ratio: 1;
  background: #151e2c;
  border: 1px solid rgba(117, 166, 225, .35);
}
.about__portrait-frame::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.07);
}
.about__portrait img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.about__portrait figcaption {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 6px 12px;
  padding-top: 13px;
  font: 600 10px/1.5 var(--body);
  letter-spacing: .105em;
  color: #a2b5ce;
}
.about__portrait figcaption span:first-child {color: var(--cyan)}
@media (max-width: 760px) {
  .about__portrait {width: min(100%, 265px);margin-top: 30px}
}
@media (max-width: 450px) {
  .about__portrait {width: min(78vw, 265px)}
  .about__portrait figcaption {font-size: 9px}
}
