/*
 * Pull People — 06 / FRONTEND V2
 * B10.2 — Quién está detrás · Human Profiles / portrait-ready
 *
 * Human/editorial trust. Real photos can drop into the portrait slots later.
 * No invented people, names or claims. CSS-only.
 */

.section-about {
  position: relative;
  isolation: isolate;
  overflow: clip;
  padding: clamp(5.5rem, 8vw, 8rem) 0 clamp(5.5rem, 8vw, 7.5rem);
  background:
    radial-gradient(ellipse 44rem 24rem at 14% 28%, rgba(55,137,240,.055), transparent 72%),
    radial-gradient(ellipse 38rem 22rem at 84% 60%, rgba(92,191,255,.035), transparent 74%),
    linear-gradient(180deg, #020811 0%, #03101c 48%, #020812 100%);
}

.section-about::before {
  content: "";
  position: absolute;
  z-index: -2;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(110,190,255,.012) 1px, transparent 1px),
    linear-gradient(rgba(110,190,255,.010) 1px, transparent 1px);
  background-size: 5.25rem 5.25rem;
  -webkit-mask-image: radial-gradient(ellipse at 50% 52%, #000 0 22%, rgba(0,0,0,.36) 48%, transparent 76%);
  mask-image: radial-gradient(ellipse at 50% 52%, #000 0 22%, rgba(0,0,0,.36) 48%, transparent 76%);
}

.section-about > .container {
  width: min(88rem, calc(100% - 3rem));
}

.section-about .about-intro {
  position: relative;
  display: grid;
  grid-template-columns: minmax(18rem,.84fr) minmax(24rem,1.16fr);
  gap: clamp(3rem,7vw,8rem);
  align-items: end;
  margin-bottom: clamp(4rem,6vw,6rem);
  padding-top: 1.4rem;
}

.section-about .about-intro::before {
  content: "PEOPLE / 02";
  position: absolute;
  top: 0;
  left: 0;
  color: rgba(121,197,255,.68);
  font-size: .64rem;
  font-weight: 820;
  letter-spacing: .17em;
}

.section-about .about-intro::after {
  content: "";
  position: absolute;
  top: 1.35rem;
  bottom: .25rem;
  left: calc(50% - 1px);
  width: 1px;
  background: linear-gradient(180deg, rgba(186,229,255,.08), rgba(123,201,255,.28) 30%, rgba(70,151,241,.08) 78%, transparent);
}

.section-about h2 {
  max-width: 8ch;
  margin: 0;
  color: #f7fbff;
  font-size: clamp(3.35rem,5vw,5.9rem);
  font-weight: 790;
  line-height: .91;
  letter-spacing: -.06em;
  text-wrap: balance;
}

.section-about .about-lead {
  max-width: 42rem;
  margin: 0 0 .35rem;
  padding-left: 1.4rem;
  border-left: 1px solid rgba(132,207,255,.40);
  color: rgba(207,224,241,.79);
  font-size: clamp(1rem,1vw,1.08rem);
  line-height: 1.72;
}

/* --- Human profiles --- */
.section-about .about-profiles {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: clamp(2rem,5vw,5.5rem);
  align-items: start;
  margin-top: 1rem;
}

.section-about .about-profiles::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: clamp(8rem,12vw,11rem);
  left: 48%;
  right: 48%;
  height: 1px;
  background: linear-gradient(90deg, rgba(121,202,255,.08), rgba(165,223,255,.44), rgba(121,202,255,.08));
  box-shadow: 0 0 1rem rgba(89,175,255,.10);
}

.section-about .about-profile {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(9rem,13rem) minmax(0,1fr);
  gap: clamp(1.4rem,2.5vw,2.3rem);
  align-items: center;
  min-height: clamp(21rem,27vw,25rem);
}

.section-about .about-profile--two {
  margin-top: clamp(4rem,7vw,7rem);
}

.section-about .about-profile__portrait {
  position: relative;
  z-index: 2;
  margin: 0;
  aspect-ratio: .78;
  min-width: 0;
  transform: perspective(900px) rotateY(4deg);
  transform-style: preserve-3d;
}

.section-about .about-profile--two .about-profile__portrait {
  order: 2;
  transform: perspective(900px) rotateY(-4deg);
}

.section-about .about-profile__portrait::before {
  content: "";
  position: absolute;
  inset: -.55rem -.65rem -.7rem .55rem;
  z-index: -2;
  border: 1px solid rgba(105,189,255,.07);
  border-radius: 1.6rem;
  background: linear-gradient(145deg, rgba(78,171,255,.035), rgba(3,14,28,.10));
}

.section-about .about-profile--two .about-profile__portrait::before {
  inset: -.55rem .55rem -.7rem -.65rem;
}

.section-about .about-profile__portrait-shell {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: end start;
  overflow: hidden;
  padding: 1rem;
  border: 1px solid rgba(170,224,255,.18);
  border-top-color: rgba(210,239,255,.28);
  border-radius: 1.45rem;
  background:
    radial-gradient(circle at 50% 28%, rgba(162,221,255,.12), transparent 30%),
    radial-gradient(circle at 50% 68%, rgba(68,143,236,.12), transparent 42%),
    linear-gradient(180deg, rgba(18,51,86,.48), rgba(5,18,34,.90) 66%, rgba(8,28,50,.78));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    inset 0 -1rem 1.5rem rgba(0,0,0,.10),
    0 1.6rem 3.5rem rgba(0,0,0,.16);
}

.section-about .about-profile__portrait-shell::before {
  content: "";
  position: absolute;
  top: 12%;
  left: 50%;
  width: 42%;
  aspect-ratio: 1;
  transform: translateX(-50%);
  border: 1px solid rgba(184,232,255,.14);
  border-radius: 50%;
  box-shadow: 0 0 0 1.1rem rgba(107,190,255,.025), 0 0 2.5rem rgba(73,156,255,.08);
}

.section-about .about-profile__portrait-shell::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -8%;
  width: 78%;
  height: 58%;
  transform: translateX(-50%);
  border: 1px solid rgba(164,219,255,.10);
  border-radius: 48% 48% 18% 18% / 58% 58% 18% 18%;
  background: linear-gradient(180deg, rgba(106,188,255,.045), rgba(6,22,42,.13));
}

.section-about .about-profile__portrait-mark {
  position: relative;
  z-index: 3;
  display: inline-grid;
  place-items: center;
  min-width: 2.7rem;
  min-height: 2.7rem;
  border: 1px solid rgba(188,231,255,.18);
  border-radius: .85rem;
  background: rgba(6,22,42,.76);
  color: rgba(184,222,247,.58);
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .08em;
}

.section-about .about-profile__content {
  position: relative;
  padding: clamp(1.4rem,2vw,2rem) 0;
}

.section-about .about-profile__content::before {
  content: "";
  position: absolute;
  top: .15rem;
  left: 0;
  width: 3.2rem;
  height: 1px;
  background: linear-gradient(90deg, rgba(204,239,255,.84), rgba(92,182,255,.24), transparent);
  box-shadow: 0 0 .6rem rgba(90,180,255,.10);
}

.section-about .about-profile__eyebrow {
  margin: 0 0 .7rem;
  color: rgba(125,198,244,.64);
  font-size: .64rem;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.section-about .about-profile__title {
  max-width: 12ch;
  margin: 0 0 1rem;
  color: #f5fbff;
  font-size: clamp(1.9rem,2.3vw,2.85rem);
  line-height: .98;
  letter-spacing: -.045em;
}

.section-about .about-profile__text {
  max-width: 30rem;
  margin: 0;
  color: rgba(199,218,237,.76);
  font-size: .98rem;
  line-height: 1.66;
}

.section-about .about-profile--one::after,
.section-about .about-profile--two::after {
  content: "";
  position: absolute;
  top: 50%;
  width: .66rem;
  height: .66rem;
  border: 1px solid rgba(205,240,255,.42);
  border-radius: 50%;
  background: rgba(117,201,255,.92);
  box-shadow: 0 0 .7rem rgba(102,190,255,.28);
}

.section-about .about-profile--one::after { right: -1.45rem; }
.section-about .about-profile--two::after { left: -1.45rem; }

/* --- Support copy --- */
.section-about .about-support {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: clamp(2rem,5vw,5rem);
  align-items: start;
  margin-top: clamp(4rem,6vw,6rem);
  padding-top: clamp(2.5rem,4vw,4rem);
  border-top: 1px solid rgba(120,198,255,.08);
}

.section-about .about-collaborators,
.section-about .about-closing {
  position: relative;
  margin: 0;
  color: rgba(179,201,224,.69);
  font-size: .92rem;
  line-height: 1.6;
}

.section-about .about-collaborators { padding-left: 1.4rem; }

.section-about .about-collaborators::before {
  content: "";
  position: absolute;
  top: .5rem;
  left: 0;
  width: .48rem;
  height: .48rem;
  border-radius: 50%;
  background: rgba(124,203,255,.74);
  box-shadow: 0 0 .7rem rgba(100,186,255,.20);
}

.section-about .about-closing { text-align: right; }

@media (hover:hover) and (pointer:fine) {
  .section-about .about-profile__portrait {
    transition: transform 320ms cubic-bezier(.22,1,.36,1), filter 320ms ease;
  }

  .section-about .about-profile--one:hover .about-profile__portrait {
    transform: perspective(900px) rotateY(1.5deg) translateY(-.35rem);
    filter: brightness(1.04);
  }

  .section-about .about-profile--two:hover .about-profile__portrait {
    transform: perspective(900px) rotateY(-1.5deg) translateY(-.35rem);
    filter: brightness(1.04);
  }
}

@supports (animation-timeline:view()) {
  @media (prefers-reduced-motion:no-preference) {
    .section-about .about-intro,
    .section-about .about-profile,
    .section-about .about-support {
      animation: pp-about-human-reveal linear both;
      animation-timeline: view();
      animation-range: entry 6% entry 40%;
    }
  }
}

@keyframes pp-about-human-reveal {
  from { opacity: .25; translate: 0 1rem; }
  to { opacity: 1; translate: 0 0; }
}

@media (max-width:64rem) {
  .section-about > .container { width: min(100% - 2rem,72rem); }

  .section-about .about-intro {
    grid-template-columns: 1fr;
    gap: 1.35rem;
    margin-bottom: 3.4rem;
  }

  .section-about .about-intro::after { display: none; }

  .section-about h2 {
    max-width: 9ch;
    font-size: clamp(3rem,7.5vw,4.8rem);
  }

  .section-about .about-lead { max-width: 42rem; }

  .section-about .about-profile {
    grid-template-columns: minmax(8rem,11rem) minmax(0,1fr);
    gap: 1.5rem;
  }

  .section-about .about-profile--two { margin-top: 3rem; }
}

@media (max-width:48rem) {
  .section-about { padding: 4.5rem 0 5rem; }

  .section-about > .container { width: min(100% - 1.25rem,34rem); }

  .section-about .about-intro {
    margin-bottom: 2.5rem;
    padding-top: 1.15rem;
  }

  .section-about .about-intro::before { font-size: .58rem; }

  .section-about h2 {
    max-width: 8.4ch;
    font-size: clamp(2.75rem,12vw,3.9rem);
  }

  .section-about .about-lead {
    padding-left: 1rem;
    font-size: .93rem;
    line-height: 1.6;
  }

  .section-about .about-profiles {
    grid-template-columns: 1fr;
    gap: 2.4rem;
  }

  .section-about .about-profiles::before {
    top: 2rem;
    bottom: 2rem;
    left: 1rem;
    right: auto;
    width: 1px;
    height: auto;
    background: linear-gradient(180deg, rgba(132,207,255,.10), rgba(132,207,255,.30) 22%, rgba(76,159,244,.16) 78%, transparent);
  }

  .section-about .about-profile,
  .section-about .about-profile--two {
    display: grid;
    grid-template-columns: 6.6rem minmax(0,1fr);
    gap: 1.1rem;
    min-height: 0;
    margin-top: 0;
    padding-left: 1.65rem;
  }

  .section-about .about-profile--two .about-profile__portrait { order: 0; }

  .section-about .about-profile__portrait,
  .section-about .about-profile--two .about-profile__portrait { transform: none; }

  .section-about .about-profile__content { padding: .8rem 0; }

  .section-about .about-profile__eyebrow {
    font-size: .58rem;
    margin-bottom: .55rem;
  }

  .section-about .about-profile__title {
    max-width: 14ch;
    font-size: clamp(1.5rem,6.8vw,1.95rem);
  }

  .section-about .about-profile__text {
    font-size: .89rem;
    line-height: 1.55;
  }

  .section-about .about-profile--one::after,
  .section-about .about-profile--two::after {
    top: 2.2rem;
    left: .7rem;
    right: auto;
    width: .56rem;
    height: .56rem;
  }

  .section-about .about-support {
    grid-template-columns: 1fr;
    gap: 1rem;
    margin-top: 3rem;
    padding-top: 2rem;
  }

  .section-about .about-closing { text-align: left; }
}

@media (max-width:25rem) {
  .section-about > .container { width: min(100% - .9rem,31rem); }

  .section-about .about-profile,
  .section-about .about-profile--two {
    grid-template-columns: 5.8rem minmax(0,1fr);
    padding-left: 1.4rem;
  }

  .section-about .about-profile__title {
    font-size: clamp(1.38rem,6.5vw,1.7rem);
  }

  .section-about .about-profile__text { font-size: .86rem; }
}

@media (prefers-reduced-motion:reduce) {
  .section-about .about-intro,
  .section-about .about-profile,
  .section-about .about-support,
  .section-about .about-profile__portrait {
    animation: none !important;
    transition: none !important;
    translate: none !important;
    transform: none !important;
  }
}


/* ==========================================================================
   B10.3 — Profile copy + image-ready slots
   - real names and approved profile copy;
   - portrait paths are prewired for later edited WebP assets;
   - neutral placeholders remain until those files exist.
   ========================================================================== */

.section-about .about-profile__portrait-shell {
  padding: 0;
}

.section-about .about-profile__portrait-image,
.section-about .about-profile__portrait-placeholder {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
}

.section-about .about-profile__portrait-image {
  z-index: 2;
  object-fit: cover;
  object-position: 50% 28%;
  filter:
    saturate(.86)
    contrast(1.04)
    brightness(.92);
}

.section-about .about-profile__portrait-shell::before {
  z-index: 3;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(196, 232, 255, .035), transparent 30%),
    radial-gradient(circle at 50% 12%, rgba(137, 208, 255, .06), transparent 40%);
  border-radius: inherit;
}

.section-about .about-profile__portrait-shell::after {
  z-index: 3;
  pointer-events: none;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 55%;
  transform: none;
  border: 0;
  border-radius: 0;
  background:
    linear-gradient(180deg, transparent 0%, rgba(2, 10, 20, .08) 38%, rgba(2, 9, 18, .52) 100%);
}

.section-about .about-profile__portrait-placeholder {
  z-index: 1;
  place-items: center;
  background:
    radial-gradient(circle at 50% 28%, rgba(162, 221, 255, .12), transparent 30%),
    radial-gradient(circle at 50% 68%, rgba(68, 143, 236, .12), transparent 42%),
    linear-gradient(180deg, rgba(18, 51, 86, .48), rgba(5, 18, 34, .90) 66%, rgba(8, 28, 50, .78));
}

.section-about .about-profile__portrait-placeholder::before {
  content: "";
  position: absolute;
  top: 13%;
  left: 50%;
  width: 42%;
  aspect-ratio: 1;
  transform: translateX(-50%);
  border: 1px solid rgba(184, 232, 255, .14);
  border-radius: 50%;
  box-shadow:
    0 0 0 1.1rem rgba(107, 190, 255, .025),
    0 0 2.5rem rgba(73, 156, 255, .08);
}

.section-about .about-profile__portrait-placeholder::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -8%;
  width: 78%;
  height: 58%;
  transform: translateX(-50%);
  border: 1px solid rgba(164, 219, 255, .10);
  border-radius: 48% 48% 18% 18% / 58% 58% 18% 18%;
  background:
    linear-gradient(180deg, rgba(106, 188, 255, .045), rgba(6, 22, 42, .13));
}

.section-about .about-profile__portrait-mark {
  position: absolute;
  z-index: 4;
  left: .85rem;
  bottom: .85rem;
}

.section-about .about-profile__content::before {
  top: 0;
}

.section-about .about-profile__name {
  max-width: 12ch;
  margin: 0 0 .45rem;
  color: #f7fbff;
  font-size: clamp(2rem, 2.5vw, 3rem);
  font-weight: 790;
  line-height: .96;
  letter-spacing: -.045em;
}

.section-about .about-profile__role {
  max-width: 23rem;
  margin: 0 0 1.15rem;
  color: rgba(129, 205, 249, .84);
  font-size: .72rem;
  font-weight: 820;
  line-height: 1.45;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.section-about .about-profile__text {
  max-width: 32rem;
}

@media (hover:hover) and (pointer:fine) {
  .section-about .about-profile:hover .about-profile__portrait-image {
    filter:
      saturate(.91)
      contrast(1.05)
      brightness(.97);
  }
}

@media (max-width:48rem) {
  .section-about .about-profile__name {
    font-size: clamp(1.55rem, 7vw, 2rem);
  }

  .section-about .about-profile__role {
    margin-bottom: .8rem;
    font-size: .58rem;
    letter-spacing: .08em;
  }

  .section-about .about-profile__portrait-image {
    object-position: 50% 24%;
  }
}
