/* Perfil breve: identidad, trayectoria y contacto. Hereda la identidad de Metrix. */
.profile-page h1 { white-space:normal; }
.profile-hero { position:relative; overflow:hidden; }
.profile-hero-grid { position:absolute; inset:0; background-image:linear-gradient(to right,rgba(212,210,212,.035) 1px,transparent 1px); background-size:25% 100%; pointer-events:none; }
.profile-hero-layout { position:relative; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); align-items:center; gap:95px; padding-block:58px 64px; }
.profile-role { display:flex; align-items:center; gap:12px; margin-bottom:25px; font-size:10px; color:#bcb7ca; }
.profile-page #profile-title { font-size:clamp(74px,7.7vw,112px); line-height:1.02; letter-spacing:-.065em; color:#f0edeb; }
.profile-page #profile-title>span { color:#9899a5; }
.profile-intro { font-size:21px; line-height:1.7; letter-spacing:-.025em; color:#d4d2d4; max-width:465px; margin-top:29px; }
.profile-intro strong { font-weight:500; color:#efeeec; }
.profile-hero-description { margin-top:18px; max-width:410px; color:#9ea7b2; font-size:13px; line-height:1.9; }
.profile-hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:25px 30px; margin-top:31px; }
.profile-hero-actions .button { min-width:218px; }
.profile-hero-actions .text-link { font-size:11px; }
.profile-portrait { min-width:0; width:100%; max-width:540px; margin-inline:auto; }
/* El PNG conserva su transparencia; el halo se dibuja detrás, sin recuadro. */
.portrait-stage { position:relative; isolation:isolate; width:100%; aspect-ratio:3/4; max-height:600px; }
.portrait-stage::before { content:""; position:absolute; z-index:-1; inset:-7% -23% -2%; pointer-events:none; background:radial-gradient(ellipse at 50% 43%,#f8f7f4 0%,#e0e2e3 17%,rgba(188,199,210,.68) 34%,rgba(112,132,153,.25) 51%,rgba(12,20,29,0) 70%); filter:blur(18px); }
.portrait-image { display:block; width:100%; height:100%; object-fit:contain; object-position:center bottom; -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 79%,rgba(0,0,0,.85) 87%,transparent 100%); mask-image:linear-gradient(to bottom,#000 0%,#000 79%,rgba(0,0,0,.85) 87%,transparent 100%); }
.profile-portrait figcaption { position:relative; display:flex; justify-content:space-between; gap:18px; font-size:8px; letter-spacing:.12em; color:#919ba7; padding-top:2px; }
.profile-summary-layout { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:100px; padding-top:49px; }
.profile-summary-copy h2 { font-size:clamp(36px,3.7vw,53px); }
.profile-summary-copy>p { font-size:14px; line-height:1.95; max-width:520px; color:#59616d; margin-top:28px; }
.profile-contact-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:100px; align-items:center; }
.profile-contact .eyebrow { font-size:9px; color:#9f95b2; margin-bottom:23px; }
.profile-contact h2 { font-size:clamp(48px,5.5vw,78px); }
.profile-contact-copy { max-width:400px; justify-self:end; }
.profile-contact-copy>p { color:#a8b0bc; font-size:14px; line-height:1.95; margin-bottom:27px; }
.profile-contact-copy>.button { width:100%; }
.profile-contact-copy>.text-link { margin-top:23px; font-size:11px; }
.profile-footer { padding-bottom:25px; }
@media(max-width:1100px) {
  .profile-hero-layout { gap:55px; }
  .profile-intro { font-size:19px; }
  .profile-summary-layout,.profile-contact-layout { gap:60px; }
}
@media(max-width:800px) {
  .profile-hero-layout { gap:35px; padding-top:46px; }
  .profile-page #profile-title { font-size:74px; }
  .profile-role { font-size:8px; }
  .profile-intro { font-size:17px; margin-top:24px; }
  .profile-hero-description { font-size:12px; }
  .profile-hero-actions .button { min-width:0; font-size:11px; padding-inline:17px; }
  .profile-summary-layout { gap:40px; }
  .profile-summary-copy h2 { font-size:35px; }
  .profile-contact-layout { gap:40px; }
}
@media(max-width:620px) {
  .profile-hero-layout { grid-template-columns:minmax(0,1fr); gap:36px; padding-block:42px 38px; }
  .profile-page #profile-title { font-size:clamp(70px,19vw,106px); }
  .profile-intro { font-size:19px; max-width:440px; }
  .profile-hero-description { font-size:13px; }
  .profile-hero-actions { gap:22px 25px; margin-top:27px; }
  .profile-hero-actions .button { min-width:195px; }
  .profile-portrait { max-width:390px; }
  .portrait-stage { max-height:520px; }
  .profile-portrait figcaption { font-size:7px; }
  .profile-summary-layout { grid-template-columns:minmax(0,1fr); gap:32px; padding-top:35px; }
  .profile-summary-copy h2 { font-size:35px; }
  .profile-summary-copy>p { font-size:13px; margin-top:23px; }
  .profile-contact-layout { grid-template-columns:minmax(0,1fr); gap:28px; }
  .profile-contact h2 { font-size:51px; }
  .profile-contact .eyebrow { font-size:8px; margin-bottom:19px; }
  .profile-contact-copy { justify-self:start; max-width:none; }
  .profile-contact-copy>p { font-size:13px; }
  .profile-contact-copy>.button { width:auto; min-width:240px; font-size:11px; }
  .profile-contact-copy>.text-link { display:flex; width:fit-content; font-size:11px; }
}

/* Datos de trayectoria y contacto directo. */
.profile-contact-copy>.profile-phone { display:block; width:fit-content; margin-top:21px; color:#b7bfca; font-size:13px; letter-spacing:.025em; }
.profile-phone:hover { color:#efeeec; }
@media(max-width:620px) {
  .profile-contact-copy>.button { min-width:0; width:100%; padding-inline:17px; font-size:11px; gap:15px; }
}

/* Biografía continua: una columna y énfasis en los hitos relevantes. */
.profile-summary-layout { display:block; max-width:980px; margin-inline:auto; }
.profile-page .profile-story { max-width:none; font-size:16px; line-height:2; color:#505966; }
.profile-story strong { color:#18212b; font-weight:700; }
@media(max-width:620px) {
  .profile-page .profile-story { font-size:15px; line-height:1.95; }
}
