/* V14 · Credencial compacta. Base 940×530, flujo adaptable a nombres y alcances largos.
   Clases gc13 conservadas para el contrato de perfiles. Canvas: credencial-v14.js. */
:root{--gc13-card:#0a1420;--gc13-head:#07101a;--gc13-text:#fff;--gc13-soft:#d5dce3;--gc13-muted:#a9b4bf;--gc13-faint:#8e9aa6;--gc13-accent:#ff6a5e;--gc13-red:#d6000c;--gc13-champ:#d8c49a;--gc13-champ-bar:#b89a62;--gc13-foot:#f3f1eb;--gc13-foot-ink:#0a1420;--gc13-foot-muted:#4b5761;--gc13-font:Hanken,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}

/* V14 conserva gc13 como contrato del renderer y del perfil real. */
.profile-hero{display:block!important}
.gc13{position:relative;isolation:isolate;box-sizing:border-box;width:100%;max-width:940px;margin:0 auto;display:grid;grid-template-rows:70px auto 84px;background:var(--gc13-card);color:var(--gc13-text);font-family:var(--gc13-font);border-radius:6px;overflow:hidden;box-shadow:0 28px 56px -32px #07101ca6,0 0 0 1px #07101c;text-align:left}
.gc13 *{box-sizing:border-box}
.gc13:focus-visible{outline:3px solid var(--gc13-accent);outline-offset:4px}
.gc13 p,.gc13 h1,.gc13 dl,.gc13 dd,.gc13 ul{margin:0;padding:0}
.gc13-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.gc13-head{display:flex;align-items:center;justify-content:space-between;padding:0 32px;background:var(--gc13-head);border-top:2px solid var(--gc13-red);border-bottom:1px solid #ffffff14}
.gc13-head img{display:block;width:190px!important;height:52px!important;max-width:none}
.gc13-kind{display:flex;flex-direction:column;align-items:flex-end;gap:5px;line-height:1.2}
.gc13-kind span:first-child{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#d5dce3}
.gc13-kind span:last-child{font-size:11px;font-weight:500;color:var(--gc13-faint)}
.gc13-body{position:relative;display:grid;grid-template-columns:170px minmax(0,1fr);gap:28px;padding:24px 32px;min-height:376px;align-items:start}
.gc13.no-portrait .gc13-body{grid-template-columns:minmax(0,1fr)}
.gc13-globe{position:absolute;z-index:-1;pointer-events:none;right:-90px;top:-14px;width:430px;height:430px;background:url(assets/globo-certificado.svg) center/contain no-repeat;filter:grayscale(1) brightness(1.6);opacity:.27;mask-image:linear-gradient(90deg,transparent,#000 52%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 52%)}
.gc13-photo{position:relative;width:170px;height:240px;border-radius:4px;overflow:hidden;background:#101c29;box-shadow:inset 0 0 0 1px #ffffff24}
.gc13-photo>img{display:block;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;object-position:center 22%;transform:none!important}
.gc13-sprite{background-image:url(assets/retratos-directorio-v6.png);background-repeat:no-repeat;background-size:auto 100%}
.gc13-panel-0{background-position:0 0}.gc13-panel-1{background-position:50% 0}.gc13-panel-2{background-position:100% 0}
.gc13-id{min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.gc13 .gc13-kicker{font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gc13-soft);line-height:1.1}
.gc13.is-lider .gc13-kicker{color:var(--gc13-champ)}
.gc13 h1{font-family:var(--gc13-font)!important;font-style:normal!important;font-size:38px!important;font-weight:600!important;line-height:1.08!important;letter-spacing:-.015em;color:var(--gc13-text)!important;margin-top:9px!important;overflow-wrap:anywhere}
.gc13-prof{font-size:16px;line-height:1.25;color:var(--gc13-soft);margin-top:6px!important;overflow-wrap:anywhere}
.gc13-sector{font-size:13px;line-height:1.3;color:var(--gc13-muted);margin-top:5px!important}
.gc13 .gc13-dist{display:flex;flex-direction:column;gap:3px;margin-top:12px!important;padding-left:10px;border-left:2px solid var(--gc13-champ-bar);line-height:1.3;overflow-wrap:anywhere}
.gc13-dist strong{font-size:12px;font-weight:600;color:var(--gc13-soft)}
.gc13-dist span{font-size:12px;color:var(--gc13-muted)}
.gc13-signals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px;margin-top:12px!important;width:100%;max-width:590px}
.gc13-signals div{min-width:0}
.gc13-signals dt{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gc13-faint);line-height:1.2}
.gc13-signals dd{font-size:12px;color:#dfe5ea;line-height:1.3;margin-top:3px!important;white-space:normal;overflow-wrap:anywhere}
.gc13 .gc13-label{font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gc13-faint);margin-top:16px!important;line-height:1.2}
.gc13-seals{list-style:none;display:flex;gap:18px;margin-top:8px!important;flex-wrap:nowrap;width:100%}
.gc13-seals li{flex:0 1 124px;min-width:0}
.gc13-seal{display:flex;flex-direction:column;align-items:center;width:100%;min-width:44px;min-height:44px;padding:0;margin:0;background:none;border:0;border-radius:6px;color:inherit;font:inherit;cursor:pointer;transition:transform .18s ease}
.gc13-seal img{display:block;width:80px!important;height:80px!important;max-width:100%!important;aspect-ratio:1/1;border-radius:50%;transition:box-shadow .18s ease}
.gc13-seal:hover{transform:translateY(-2px)}
.gc13-seal:focus-visible{outline:2px solid var(--gc13-accent);outline-offset:4px}
.gc13-seal:hover img{box-shadow:0 0 0 2px var(--gc13-card),0 0 0 4px #ffffff55}
.gc13-seal-norm{margin-top:4px;font-size:12px;font-weight:600;color:#e4e9ed;line-height:1.2;white-space:nowrap}
.gc13-seal-ed{font-size:12px;font-weight:500;color:var(--gc13-muted);line-height:1.25}
.gc13.is-lider .gc13-seal-ed{color:var(--gc13-champ)}
.gc13-seal-en{font-size:12px;font-weight:400;line-height:1.2;color:var(--gc13-muted);text-align:center;margin-top:3px;max-width:124px;overflow-wrap:anywhere}
.gc13-foot{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 32px;background:var(--gc13-foot);color:var(--gc13-foot-ink)}
.gc13-foot .demo-identification{display:flex!important;align-items:center;gap:12px;margin:0!important;padding:0!important;background:none!important;border:0!important;width:auto!important;grid-template-columns:none!important}
.gc13-foot .demo-identification>img{width:54px!important;height:54px!important;min-width:0!important;max-width:54px!important;background:none!important;display:block;image-rendering:pixelated}
.gc13-foot .demo-identification-meta{display:grid!important;grid-template-columns:auto auto;align-items:baseline;gap:2px 8px;padding-bottom:12px}
.gc13-foot .demo-identification-label{grid-column:1/-1;font-size:9px!important;font-weight:600;letter-spacing:.08em;color:var(--gc13-foot-muted)!important}
.gc13-foot .demo-identification-meta code{font-family:var(--gc13-font)!important;font-size:14px!important;font-weight:700;color:var(--gc13-foot-ink)!important;background:none!important;padding:0!important}
.gc13-foot .demo-identification-meta button{min-height:24px;padding:0;background:none!important;border:0;color:var(--gc13-foot-muted)!important;font:500 11px var(--gc13-font);text-decoration:underline;text-underline-offset:2px;cursor:pointer;position:relative}
.gc13-foot .demo-identification-meta button::after{content:"";position:absolute;inset:-10px -6px}
.gc13-legend{position:absolute;left:98px;top:54px;font-size:10.5px;color:var(--gc13-foot-muted);line-height:1.2}
.gc13-refs{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.gc13-logos{display:flex;align-items:center;gap:18px;height:28px}
.gc13-logos img{display:block;height:28px!important;width:auto!important;max-width:none!important;object-fit:contain}
.gc13-logos img[src*="gct-original"]{mix-blend-mode:multiply}
.gc13-refs-label{font-size:10.5px;font-weight:500;color:var(--gc13-foot-muted)!important;text-decoration:none;line-height:1.2;position:relative}
.gc13-refs-label::after{content:"";position:absolute;inset:-14px -4px}
.gc13-refs-label:hover,.gc13-refs-label:focus-visible{text-decoration:underline;text-underline-offset:2px}

/* Entorno mínimo: la tarjeta como pieza principal, acciones claras debajo */
.profile-hero{padding-top:8px}
.profile-hero .profile-actions{max-width:940px;margin:18px auto 0!important;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.profile-hero .spatial-controls{display:none}

/* Movimiento útil: entrada leve de la tarjeta */
@keyframes gc13-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.gc13{animation:gc13-in .45s cubic-bezier(.2,.7,.2,1) both}
@media (prefers-reduced-motion:reduce){.gc13{animation:none}.gc13-seal,.gc13-seal img{transition:none}.gc13-seal:hover{transform:none}}

/* Móvil: identidad compacta, cuatro sellos visibles y pie sin altura vacía. */
@media (max-width:700px){
 .gc13{grid-template-rows:auto auto auto;border-radius:4px}
 .gc13-head{height:64px;padding-inline:16px;gap:12px}
 .gc13-head img{width:146px!important;height:40px!important}
 .gc13-kind span:first-child{font-size:10px;letter-spacing:.05em;text-align:right;max-width:120px}
 .gc13-kind span:last-child{font-size:10px}
 .gc13-body{grid-template-columns:82px minmax(0,1fr);column-gap:14px;row-gap:0;padding:18px 16px;min-height:0}
 .gc13-photo{width:82px;height:116px;grid-row:1/span 3}
 .gc13-id{display:contents}
 .gc13-kicker,.gc13 h1,.gc13-prof,.gc13-sector{grid-column:2}
 .gc13.no-portrait .gc13-kicker,.gc13.no-portrait h1,.gc13.no-portrait .gc13-prof,.gc13.no-portrait .gc13-sector{grid-column:1}
 .gc13 .gc13-kicker{padding-top:3px;font-size:11px}
 .gc13 h1{font-size:28px!important;line-height:1.08!important;margin-top:7px!important}
 .gc13-prof{font-size:13px;margin-top:6px!important;align-self:start}
 .gc13-dist,.gc13-signals,.gc13-label,.gc13-sr,.gc13-seals{grid-column:1/-1}
 .gc13 .gc13-dist{margin-top:14px!important}
 .gc13-signals{column-gap:14px;margin-top:14px!important}
 .gc13 .gc13-label{margin-top:16px!important}
 .gc13-seals{gap:8px;justify-content:flex-start}
 .gc13-seals li{flex:0 1 calc((100% - 24px)/4);max-width:88px}
 .gc13-seal img{width:100%!important;height:auto!important;max-width:76px!important;aspect-ratio:1}
 .gc13-seal-norm{font-size:12px;white-space:normal;text-align:center}
 .gc13-seal-en{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
 .gc13-globe{right:-38%;top:0;width:88%;height:auto;aspect-ratio:1;opacity:.22}
 .gc13-foot{display:grid;grid-template-columns:1fr;gap:9px;padding:12px 16px}
 .gc13-foot .demo-identification{gap:10px}
 .gc13-foot .demo-identification-meta{padding-bottom:0}
 .gc13-foot .demo-identification>img{width:46px!important;height:46px!important;max-width:46px!important}
 .gc13-legend{position:static;font-size:10.5px}
 .gc13-refs{align-items:flex-start;gap:6px}
 .gc13-logos{gap:16px;height:24px}
 .gc13-logos img{height:24px!important}
}

/* ================= Tarjetas de la portada (hero, simulador y perfil embebido) ================= */
.passport.spatial-card:is(.hero-passport,.album-passport){position:relative;isolation:isolate;overflow:hidden;max-width:540px;background:var(--gc13-card)!important;color:var(--gc13-text)!important;border:0!important;border-top:0!important;border-radius:6px!important;box-shadow:0 30px 60px -34px #07101cb3!important;font-family:var(--gc13-font)}
.embedded-profile{position:relative;isolation:isolate;overflow:hidden;border-radius:6px!important}
.passport.spatial-card:is(.hero-passport,.album-passport)::before,.embedded-profile::before{content:""!important;display:block!important;position:absolute!important;z-index:-1!important;pointer-events:none;inset:auto!important;width:min(70%,380px)!important;height:auto!important;aspect-ratio:1;right:-22%!important;top:9%!important;left:auto!important;bottom:auto!important;background:url(assets/globo-certificado.svg) center/contain no-repeat!important;opacity:.27!important;filter:grayscale(1) brightness(1.6)!important;transform:none!important;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 48%);mask-image:linear-gradient(90deg,transparent,#000 48%)}
.passport.spatial-card:is(.hero-passport,.album-passport)::after{display:none!important}
:is(.hero-passport,.album-passport) .passport-top{border-top:2px solid var(--gc13-red)!important}
:is(.hero-passport,.album-passport) :is(p,span,strong,b,small,h2,h3,dt,dd,li){color:var(--gc13-soft)!important}
:is(.hero-passport,.album-passport) :is(.passport-person strong,.passport-person h3,.passport-person h2,.identity-name,strong.credential-name){color:var(--gc13-text)!important}
:is(.hero-passport,.album-passport) .profile-signals span,:is(.hero-passport,.album-passport) .medal-grade,:is(.hero-passport,.album-passport) [class*="heading"] span{color:var(--gc13-faint)!important}
:is(.hero-passport,.album-passport) .profile-signals strong{color:#dfe5ea!important;font-weight:500}
:is(.hero-passport,.album-passport) :is(.profile-signals,.profile-signals>div,hr,.passport-foot,.medal-grade){border-color:#ffffff1a!important;background:none!important}
:is(.hero-passport,.album-passport) a:not(.v12-refs-label){color:var(--gc13-text)!important}
:is(.hero-passport,.album-passport) .identity-portrait,:is(.hero-passport,.album-passport) .passport-person img{border-radius:4px}
:is(.hero-passport,.album-passport) .passport-foot{background:var(--gc13-card)!important;color:var(--gc13-faint)!important}
.hero .hero-earned,.hero-passport .hero-earned,.album-passport .hero-earned,.embedded-specialties,.personal-earned{display:flex!important;justify-content:flex-start!important;gap:14px!important;overflow:visible!important;padding:8px 0 12px!important}
.hero-earned .hero-seal,.embedded-specialties button,.personal-earned button{flex:0 1 92px!important;min-width:44px!important;min-height:44px!important}
.hero .hero-earned .hero-seal img,.hero-earned .hero-seal img,.embedded-specialties img,.personal-earned img{width:100%!important;max-width:92px!important;height:auto!important;aspect-ratio:1/1!important;object-fit:contain}
.hero-passport .medal-copy b,.album-passport .medal-copy b{color:#e4e9ed!important}
.hero-passport .medal-copy small,.album-passport .medal-copy small{color:var(--gc13-muted)!important}
.hero-passport .passport-foot,.album-passport .passport-foot{background:none!important;color:var(--gc13-faint)!important;border-color:#ffffff1a!important}
/* pie claro con identificación y referencias, como en la credencial */
:is(.hero-passport,.album-passport) .demo-identification{background:var(--gc13-foot)!important;border-top:0!important;margin:14px -24px 0!important;padding:14px 24px 6px!important;width:auto!important;max-width:none!important;grid-template-columns:62px minmax(0,1fr)!important}
:is(.hero-passport,.album-passport) .demo-identification>img{width:62px!important;height:62px!important;min-width:0!important;max-width:62px!important;background:none!important}
:is(.hero-passport,.album-passport) .demo-identification *{color:var(--gc13-foot-ink)!important}
:is(.hero-passport,.album-passport) .demo-identification-label{color:var(--gc13-foot-muted)!important;font-size:9px!important;letter-spacing:.1em}
:is(.hero-passport,.album-passport) .demo-identification-meta{display:flex!important;flex-wrap:wrap;align-items:baseline;gap:2px 10px}
:is(.hero-passport,.album-passport) .demo-identification-meta .demo-identification-label{flex-basis:100%}
:is(.hero-passport,.album-passport) .v12-refs{margin:0 -24px!important;padding:6px 24px 12px!important;border-top:0!important;box-shadow:none;clip-path:none}
:is(.hero-passport,.album-passport,.embedded-profile) .v12-refs-label{color:var(--gc13-foot-muted)!important}
.v12-refs{display:flex;align-items:center;justify-content:space-between;gap:10px 18px;flex-wrap:wrap;padding:10px 0!important;background:var(--gc13-foot);color:var(--gc13-foot-muted);box-shadow:0 0 0 100vmax var(--gc13-foot);clip-path:inset(0 -100vmax)}
.v12-refs-label{font-size:11px;color:var(--gc13-foot-muted)!important;text-decoration:underline;text-underline-offset:3px;min-height:44px;display:inline-flex;align-items:center}
.v12-refs-logos{display:flex;align-items:center;gap:18px}
.v12-refs-logos img{display:block;height:30px!important;width:auto!important;max-width:none!important;object-fit:contain;background:none!important;padding:0!important}
.v12-refs-logos img[src*="gct-original"]{mix-blend-mode:multiply!important}
@media (max-width:760px){
  .hero-earned .hero-seal,.embedded-specialties button,.personal-earned button{flex:1 1 0!important}
  .hero .hero-earned,.hero-passport .hero-earned,.album-passport .hero-earned,.embedded-specialties,.personal-earned{gap:clamp(4px,2vw,12px)!important}
  .v12-refs-logos{gap:12px}.v12-refs-logos img{height:28px!important}
}

/* ================= Directorio: miniaturas coherentes y livianas ================= */
.directory-row .portrait-frame{border-radius:4px;box-shadow:0 0 0 1px #0a142026}
.directory-specialties{gap:12px!important;justify-content:flex-start!important}
.directory-specialty img{width:64px!important;height:64px!important;aspect-ratio:1/1}
.directory-row h2{color:var(--gc13-card)}

/* reduced-motion: sin giro en tarjetas con movimiento heredado */
@media (prefers-reduced-motion:reduce){.spatial-card{transform:none!important}.spatial-card{transition:none!important;animation:none!important}}

/* ---------- Listado: medallas agrupadas bajo la identidad, sin repartir ---------- */
.directory-row .directory-specialties{display:flex!important;flex-wrap:wrap!important;justify-content:flex-start!important;align-items:center;gap:14px!important;grid-template-columns:none!important;width:auto!important;overflow:visible!important;padding:0!important}
.directory-row .directory-specialty{flex:0 0 auto!important;width:auto!important;min-width:44px;min-height:44px;margin:0!important;justify-self:auto!important}
.directory-row .directory-specialty img{width:64px!important;height:64px!important;aspect-ratio:1}
@media (min-width:761px){.directory-row .directory-specialties{padding-left:139px!important}}
@media (max-width:760px){.directory-row .directory-specialties{gap:8px!important}.directory-row .directory-specialty img{width:56px!important;height:56px!important}}
.directory-row .institutional-distinction{background:none!important;border:0!important;border-left:2px solid var(--gc13-champ-deep,#B89A62)!important;padding:2px 0 2px 12px!important;margin-top:8px!important}

/* Perfil real: pie flexible y sin los elementos exclusivos de la muestra. */
.gc13-real .gc13-foot{min-height:84px;height:auto;flex-wrap:wrap;padding-block:16px}
.gc13-register-label{font-size:12px;font-weight:600;color:var(--gc13-foot-muted)}
.gc13-real .gc13-seal{text-decoration:none}
@media(max-width:700px){.gc13-real .gc13-foot{min-height:0;padding-block:14px}}
