/* Diseño de biografía editorial, aislado bajo .ekade-bio. No modifica el resto de EKADE. */
.ekade-bio{--bio-ink:#234c68;--bio-deep:#003c78;--bio-blue:#003c78;--bio-soft:#f1f5f8;--bio-lime:#c6ff37;--bio-line:#d7dfdf;--bio-muted:#536f84;--bio-paper:#fff; color:var(--bio-ink);background:var(--bio-paper);font-family:inherit;letter-spacing:normal;overflow:clip;}
.ekade-bio *, .ekade-bio *::before,.ekade-bio *::after{box-sizing:border-box}
.ekade-bio h1,.ekade-bio h2,.ekade-bio h3,.ekade-bio h4,.ekade-bio p{margin-top:0}
.ekade-bio a{color:inherit}
.ekade-bio a:focus-visible,.ekade-bio summary:focus-visible{outline:3px solid #4673ae;outline-offset:5px;border-radius:3px}
.bio-progress{height:3px;position:sticky;top:0;z-index:55;background:transparent;pointer-events:none}
.bio-progress span{display:block;width:0;height:100%;background:var(--bio-lime);box-shadow:0 1px 8px #9cbb65b3;transition:width .1s linear}
.bio-hero{background:var(--bio-deep);color:#fff;position:relative}
.bio-hero::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 84% 19%,#4c778633,transparent 45%);}
.bio-hero-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:clamp(32px,6vw,90px);align-items:center;position:relative;z-index:1}
.bio-eyebrow{font-weight:780;font-size:.74rem;letter-spacing:.20em!important;color:var(--bio-lime);text-transform:uppercase;margin-bottom:20px!important}
.bio-hero h1{font-size:clamp(3.5rem,7vw,6.1rem);line-height:.99;letter-spacing:-.06em;max-width:780px;margin-bottom:36px!important;font-weight:850}
.bio-hero h1 em{display:block;font-style:normal;color:var(--bio-lime)}
.bio-standfirst{font-size:clamp(1.28rem,2.2vw,1.75rem);font-weight:600;line-height:1.44;max-width:34ch;margin-bottom:30px!important;color:#f6f7f3}
.bio-role-tags{display:flex;flex-wrap:wrap;gap:8px}
.bio-role-tags span{display:inline-flex;padding:9px 14px;border-radius:30px;border:1px solid #78929b;background:#fff0;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.bio-portrait{position:relative;aspect-ratio:4/5;background:linear-gradient(140deg,#446278,#243d4a);border-radius:4px;overflow:hidden;box-shadow:20px 20px 0 #c6ff3717;border:1px solid #ffffff20}
.bio-monogram{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:clamp(4rem,9vw,9rem);font-weight:900;letter-spacing:-.09em;color:#c6ff3777;user-select:none}.bio-portrait img{position:relative;display:block;width:100%;height:100%;object-fit:cover;object-position:center 25%}
.bio-portrait-caption{position:absolute;left:0;bottom:0;padding:14px 20px;background:#003c78cf;color:#fff;font-size:.65rem;font-weight:800;letter-spacing:.17em;width:100%;text-transform:uppercase}
.bio-hero-data{border-top:1px solid #ffffff35;margin-top:56px;padding-top:24px;display:flex;position:relative;z-index:1;gap:clamp(26px,6vw,94px);flex-wrap:wrap}
.bio-hero-data div{display:flex;flex-direction:column;gap:5px}.bio-hero-data strong{font-size:clamp(1.28rem,2.8vw,2.2rem);font-weight:850;letter-spacing:-.035em;color:#fff}.bio-hero-data span{font-size:.78rem;color:#d6e0e1}
.bio-layout{max-width:1220px;margin:auto;padding:0 28px;display:grid;grid-template-columns:238px minmax(0,1fr);column-gap:clamp(48px,6vw,100px)}
.bio-sidebar{border-right:1px solid var(--bio-line);}.bio-sidebar-inner{position:sticky;top:36px;padding-top:55px;padding-right:32px;padding-bottom:24px;max-height:calc(100vh - 36px);overflow:auto;scrollbar-width:thin}
.bio-sidebar-inner>p{font-size:.65rem;letter-spacing:.18em;font-weight:850;color:var(--bio-muted);margin-bottom:20px}.bio-sidebar nav{display:grid;gap:2px}
.bio-sidebar nav a{display:block;text-decoration:none;font-size:.82rem;line-height:1.45;color:#556772;padding:9px 12px;border-left:2px solid transparent;transition:.15s}
.bio-sidebar nav a:hover,.bio-sidebar nav a[aria-current="location"]{color:var(--bio-deep);background:#f0f4f2;border-left-color:var(--bio-blue);font-weight:750}
.bio-sidebar-contact{display:flex;justify-content:space-between;text-decoration:none;background:var(--bio-deep);color:white!important;padding:14px;margin-top:24px;font-size:.86rem;font-weight:750}
.bio-sidebar-contact:hover{background:var(--bio-blue)}
.bio-main{min-width:0;max-width:760px;padding-bottom:120px}
.bio-intro{padding-top:68px;padding-bottom:80px;border-bottom:1px solid var(--bio-line)}
.bio-body{max-width:66ch}
.bio-body p{font-size:clamp(1rem,1.22vw,1.075rem);line-height:1.79;margin:0 0 17px;letter-spacing:-.006em}
.bio-body p strong{font-weight:790;color:#102b3b}
.profile33 .ekade-bio .bio-body p strong.bio-inline{font-weight:700;color:#16394f}
.profile33 .ekade-bio .bio-body p strong.bio-key{font-weight:700;color:var(--bio-blue)}
.profile33 .ekade-bio .bio-chapter--end .bio-body p strong.bio-inline{color:#fff}
.profile33 .ekade-bio .bio-chapter--end .bio-body p strong.bio-key{color:var(--bio-lime)}
.bio-intro .bio-body p:nth-child(1){font-size:1.25rem;line-height:1.6}
.bio-body p.bio-emphasis .bio-emphasis-line{display:block}.bio-body p.bio-emphasis .bio-emphasis-line+.bio-emphasis-line{margin-top:10px}.bio-body p.bio-emphasis{font-size:clamp(1.16rem,1.65vw,1.47rem);font-weight:800;line-height:1.48;letter-spacing:-.02em;background:linear-gradient(90deg,var(--bio-soft),#fff);border-left:4px solid var(--bio-lime);padding:25px 24px;margin:34px 0;max-width:65ch}
.bio-chapter{position:relative;border-bottom:1px solid var(--bio-line);padding:74px 0 80px;scroll-margin-top:20px}
.bio-chapter-header{margin:0 0 34px;position:relative}.bio-chapter-meta{display:flex;align-items:center;gap:14px;color:var(--bio-blue);font-size:.81rem;font-weight:900;letter-spacing:.15em;margin-bottom:18px}
.bio-dot{width:9px;height:9px;background:var(--bio-lime);border:2px solid var(--bio-deep);box-shadow:0 0 0 5px #e7efce;display:inline-block;border-radius:50%}
.bio-chapter-no{margin-left:auto;color:#becacb;font-size:2.1rem;letter-spacing:-.05em;font-weight:850}
.bio-chapter h2{font-size:clamp(2.1rem,4.3vw,3.7rem);line-height:1.08;letter-spacing:-.045em;font-weight:850;color:var(--bio-deep);max-width:18ch;margin:0}
.bio-chapter--end{padding:80px 30px;margin:50px -30px 0;background:var(--bio-deep);color:white;border-radius:4px;border:none}
.bio-chapter--end h2{color:#fff}.bio-chapter--end .bio-chapter-meta{color:var(--bio-lime)}.bio-chapter--end .bio-body p strong{color:var(--bio-lime)}.bio-chapter--end .bio-body p{color:#e8eef0}
.bio-chapter--end .bio-body p.bio-emphasis{color:var(--bio-deep);background:#f1f5f8}.bio-chapter--end .bio-body p.bio-emphasis strong{color:var(--bio-deep)}
.bio-credentials{margin:34px 0 0;border:1px solid var(--bio-line);border-radius:2px;background:#f8faf8}.bio-credentials summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:21px 22px;font-size:.84rem;font-weight:800;letter-spacing:.08em;color:var(--bio-deep)}
.bio-credentials summary::-webkit-details-marker{display:none}.bio-credentials summary small{display:block;font-size:.63rem;font-weight:750;letter-spacing:.16em;color:var(--bio-muted);margin-bottom:5px}.bio-chev{font-size:1.3rem;font-weight:450;transition:transform .25s}.bio-credentials[open] .bio-chev{transform:rotate(45deg)}
.bio-credentials-body{border-top:1px solid var(--bio-line);padding:22px}.bio-credentials-body p{font-size:.92rem;line-height:1.7;color:#3e4f5a;margin:0}.bio-norm-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 28px}.bio-norm-grid h3{font-size:.88rem;margin-bottom:12px}.bio-norm-grid dl{margin:0}.bio-norm-grid dt{font-weight:800;margin:12px 0 2px;font-size:.86rem}.bio-norm-grid dd{margin:0;color:#52636b;font-size:.84rem;line-height:1.55}
.bio-next{margin-top:30px;text-align:right}.bio-next a{display:inline-flex;gap:14px;align-items:center;text-decoration:none;font-size:.83rem;font-weight:780;color:var(--bio-blue);padding-bottom:7px;border-bottom:1px solid var(--bio-blue)}.bio-next a:hover{color:#111c27;border-bottom-color:#111c27}
.bio-teaser{background:#eef4ee;border-left:5px solid var(--bio-lime);padding:28px;margin:40px 0}.bio-teaser span{font-size:.69rem;letter-spacing:.12em;font-weight:850;color:var(--bio-blue)}.bio-teaser h3{font-size:1.8rem;margin:9px 0}.bio-teaser p{font-size:1rem;line-height:1.6}.bio-teaser a{font-size:.89rem;font-weight:790;text-decoration:underline}
.bio-newsletter{padding:54px 36px;margin:50px -36px;background:#eff4f3;border-top:3px solid var(--bio-deep);scroll-margin-top:25px}.bio-newsletter .bio-eyebrow{color:var(--bio-blue)}.bio-newsletter h2{color:var(--bio-deep);font-size:clamp(1.9rem,3vw,2.75rem);line-height:1.16;letter-spacing:-.04em;max-width:20ch;margin-bottom:26px}
.bio-button{display:inline-flex;text-decoration:none;align-items:center;justify-content:space-between;gap:20px;padding:17px 20px;margin-top:20px;font-weight:850;font-size:.85rem;letter-spacing:.02em;line-height:1.4;transition:transform .2s,background .2s}.bio-button:hover{transform:translateY(-2px)}.bio-button--ghost{background:var(--bio-deep);color:white!important}.bio-button--primary{background:var(--bio-lime);color:var(--bio-deep)!important;min-height:60px;width:100%;max-width:560px}
.bio-signature{font-size:1rem;margin-top:32px;font-weight:750}.bio-mobile-index{display:none}
@media(max-width:960px){.bio-layout{grid-template-columns:1fr;max-width:780px}.bio-sidebar{display:none}.bio-main{max-width:none}.bio-mobile-index{display:block;margin-top:26px;border:1px solid var(--bio-line)}.bio-mobile-index summary{cursor:pointer;padding:14px 18px;font-size:.9rem;font-weight:800;list-style:none;display:flex;justify-content:space-between}.bio-mobile-index summary::-webkit-details-marker{display:none}.bio-mobile-index nav{padding:5px 18px 18px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.bio-mobile-index nav a{font-size:.81rem;color:var(--bio-blue);text-decoration:none;padding:5px}.bio-intro{padding-top:35px}.bio-hero{padding:60px 28px}.bio-chapter{scroll-margin-top:20px}}
@media(max-width:640px){.bio-hero-grid{grid-template-columns:1fr}.bio-portrait{max-width:280px;aspect-ratio:5/4;justify-self:start}.bio-hero h1{font-size:clamp(2.8rem,12vw,4.6rem)}.bio-hero-data{gap:20px 28px;margin-top:35px}.bio-hero-data div{min-width:35%}.bio-layout{padding:0 22px}.bio-body p{line-height:1.69;margin-bottom:15px}.bio-chapter{padding:52px 0}.bio-chapter h2{font-size:clamp(2rem,9vw,3.2rem)}.bio-chapter-no{font-size:1.5rem}.bio-newsletter{padding:35px 20px;margin:45px -10px}.bio-chapter--end{padding:46px 22px;margin:36px -18px 0}.bio-body p.bio-emphasis .bio-emphasis-line{display:block}.bio-body p.bio-emphasis .bio-emphasis-line+.bio-emphasis-line{margin-top:10px}.bio-body p.bio-emphasis{font-size:1.18rem;padding:20px;margin:25px 0}.bio-norm-grid{grid-template-columns:1fr}.bio-mobile-index nav{grid-template-columns:1fr}.bio-credentials summary{padding:18px 16px}.bio-credentials-body{padding:17px}}
@media(prefers-reduced-motion:reduce){.ekade-bio *{scroll-behavior:auto!important;transition:none!important}}

/* Integration with the existing EKADE header and typography; this route only. */
.ekade-bio{--bio-header-offset:90px}
.ekade-bio .bio-hero{background:var(--bio-deep)}
.ekade-bio .bio-hero::before{display:none}
.profile33 .ekade-bio .bio-hero h1{color:#fff;text-wrap:balance}
.ekade-bio .bio-hero h1 em{text-decoration:none}
.profile33 .ekade-bio .bio-hero-data strong{color:white}
.profile33 .ekade-bio .bio-chapter--end h2{color:white}
.profile33 .ekade-bio .bio-chapter--end .bio-body strong{color:var(--bio-lime)}
.profile33 .ekade-bio .bio-chapter--end .bio-emphasis strong{color:var(--bio-deep)}
.ekade-bio :is(h1,h2,h3,h4){font-family:Manrope,sans-serif;font-weight:800}
.ekade-bio .bio-body p{font-size:1.125rem;line-height:1.8}
.ekade-bio .bio-hero-grid{grid-template-columns:minmax(0,1fr) 240px}
.ekade-bio .bio-portrait{width:240px;aspect-ratio:1/1;box-shadow:none;border-radius:0}
.ekade-bio .bio-portrait img{object-position:center}
.ekade-bio .bio-portrait-caption{font-size:.6rem;padding:10px 12px}
.ekade-bio .bio-chapter h2{max-width:22ch;text-wrap:balance}
.ekade-bio .bio-progress{position:sticky;top:var(--bio-header-offset);z-index:10;box-shadow:none}
.ekade-bio .bio-progress span{box-shadow:none}
.ekade-bio .bio-sidebar-inner{top:calc(var(--bio-header-offset) + 16px);max-height:calc(100dvh - var(--bio-header-offset) - 32px);padding-top:32px}
.ekade-bio section[id],.ekade-bio details[id]{scroll-margin-top:calc(var(--bio-header-offset) + 24px)}
.ekade-bio .bio-sidebar nav a{min-height:38px}
.ekade-bio .bio-mobile-index nav a{min-height:44px;display:flex;align-items:center}
.ekade-bio .bio-mobile-index{position:sticky;top:calc(var(--bio-header-offset) + 3px);z-index:15;background:white}
.ekade-bio .bio-mobile-index[open]{max-height:calc(100dvh - var(--bio-header-offset) - 24px);overflow-y:auto;box-shadow:0 8px 24px #003c7814}
.ekade-bio .bio-chapter-meta{border-top:2px solid var(--bio-deep);padding-top:20px}
.ekade-bio .bio-chapter--end .bio-chapter-meta{border-color:var(--bio-lime)}
.ekade-bio .bio-body .bio-emphasis{background:#f1f5f8;border-left-color:var(--bio-lime);font-size:clamp(1.2rem,1.7vw,1.5rem);line-height:1.5}
.ekade-bio .bio-body .bio-emphasis:nth-of-type(even){background:transparent;padding-left:24px}
.ekade-bio .bio-chapter--end .bio-body .bio-emphasis{background:#f1f5f8}
.ekade-bio .bio-button{white-space:normal}
.ekade-bio .bio-button span{flex-shrink:0}
.profile33 .ekade-bio :is(a,summary):focus-visible{outline:3px solid #003c78;outline-offset:5px}
.profile33 .ekade-bio .bio-chapter--end a:focus-visible{outline-color:#fff}
@media(max-width:960px){.ekade-bio{--bio-header-offset:80px}.ekade-bio .bio-main{padding-bottom:64px}}
@media(max-width:640px){
 .ekade-bio .bio-hero{padding:44px 22px}
 .ekade-bio .bio-hero-grid{grid-template-columns:1fr;gap:30px}
 .ekade-bio .bio-portrait{width:180px;aspect-ratio:1/1;justify-self:start}
 .ekade-bio .bio-hero h1{font-size:clamp(2.65rem,11.8vw,4rem);line-height:1.04;letter-spacing:-.055em}
 .ekade-bio .bio-standfirst{font-size:1.25rem}
 .ekade-bio .bio-body p{font-size:1.0625rem;line-height:1.75}
 .ekade-bio .bio-chapter h2{font-size:clamp(1.85rem,8.1vw,3rem);overflow-wrap:break-word}
 .ekade-bio .bio-body p.bio-emphasis{font-size:1.2rem;line-height:1.55;padding:20px}
 .ekade-bio .bio-chapter--end .bio-body p.bio-emphasis{padding:18px}
 .ekade-bio .bio-chapter-meta{letter-spacing:.09em}
 .ekade-bio .bio-credentials summary{letter-spacing:.04em}
}
@media(prefers-reduced-motion:reduce){html:has(.ekade-bio){scroll-behavior:auto}.ekade-bio *{transition:none!important}}

@media(max-width:640px){
 .ekade-bio .bio-portrait{width:150px}
 .ekade-bio .bio-hero-data{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
 .ekade-bio .bio-hero-data strong{font-size:1.25rem;white-space:nowrap}
 .ekade-bio .bio-hero-data span{font-size:.72rem}
 .ekade-bio .bio-hero h1{margin-bottom:28px!important}
}

/* The legacy .bio-hero has a max-width. Keep this full-width background and
   calculate its inset from the actual container, never the outer viewport. */
.ekade-bio .bio-hero {
  width:100%;
  max-width:none;
  margin:0;
  padding:72px max(28px,calc((100% - 1164px)/2));
}
.ekade-bio .bio-hero-grid {
  grid-template-columns:minmax(0,1fr) 240px;
  gap:64px;
}
.ekade-bio .bio-hero-copy { min-width:0; }
.ekade-bio .bio-hero h1 {
  font-size:clamp(3.25rem,5.4vw,5.25rem);
  line-height:1.06;
  letter-spacing:-.04em;
  margin:0 0 28px!important;
}
.ekade-bio .bio-hero-data { margin-top:40px; }
.ekade-bio .bio-monogram { display:none; }
.ekade-bio .bio-role-tags { gap:10px 22px; }
.ekade-bio .bio-role-tags span {
  border:0;
  border-radius:0;
  padding:0;
  font-size:.78rem;
  line-height:1.6;
  letter-spacing:.06em;
}
.ekade-bio .bio-portrait-caption { letter-spacing:.1em; }
.ekade-bio .bio-next a { text-align:left; line-height:1.6; min-height:44px; }
.ekade-bio .bio-mobile-index summary { min-height:48px; align-items:center; }
.ekade-bio .bio-chapter h2 { letter-spacing:-.03em; }
@media(max-width:960px) {
  .ekade-bio .bio-hero { padding:48px 28px; }
  .ekade-bio .bio-hero-grid { grid-template-columns:minmax(0,1fr) 180px; gap:32px; }
  .ekade-bio .bio-portrait { width:180px; }
  .ekade-bio .bio-hero h1 { font-size:clamp(2.5rem,5.5vw,3.5rem); }
  .ekade-bio section[id],.ekade-bio details[id] { scroll-margin-top:calc(var(--bio-header-offset) + 64px); }
}
@media(max-width:640px) {
  .ekade-bio .bio-hero { padding:28px 22px 32px; }
  .ekade-bio .bio-hero-grid { grid-template-columns:minmax(0,1fr) 80px; gap:22px 16px; }
  .ekade-bio .bio-hero-copy { display:contents; }
  .ekade-bio .bio-eyebrow { font-size:.67rem; line-height:1.65; letter-spacing:.13em!important; }
  .ekade-bio .bio-hero .bio-eyebrow { grid-column:1; grid-row:1; align-self:center; margin:0!important; max-width:25ch; }
  .ekade-bio .bio-portrait { grid-column:2; grid-row:1; width:80px; max-width:100%; }
  .ekade-bio .bio-portrait-caption { display:none; }
  .ekade-bio .bio-hero h1 { grid-column:1/-1; font-size:clamp(2.15rem,10vw,3.75rem); line-height:1.1; letter-spacing:-.035em; margin:0!important; text-wrap:balance; }
  .ekade-bio .bio-standfirst { grid-column:1/-1; font-size:1.125rem; line-height:1.55; margin:0!important; }
  .ekade-bio .bio-role-tags { grid-column:1/-1; gap:10px 20px; }
  .ekade-bio .bio-role-tags span { font-size:.7rem; letter-spacing:.04em; }
  .ekade-bio .bio-hero-data { margin-top:28px; padding-top:20px; gap:10px; grid-template-columns:.9fr .9fr 1.3fr; }
  .ekade-bio .bio-hero-data strong { font-size:clamp(1rem,4.2vw,1.4rem); white-space:normal; }
  .ekade-bio .bio-hero-data span { font-size:.73rem; line-height:1.45; }
  .ekade-bio .bio-body p.bio-emphasis { padding:18px 16px; }
  .ekade-bio .bio-credentials summary { gap:12px; font-size:.8rem; line-height:1.5; }
  .ekade-bio .bio-chev { flex-shrink:0; }
}
