/* V13 · Credencial institucional grafito. Capa FINAL única: reemplaza a v12.css.
   Composición maestra 940×572 (cabecera 64 · cuerpo 418 · pie 90), idéntica a
   credencial-v13.js, que dibuja la exportación PNG con las mismas medidas. */
: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:#eef1f3;--gc13-foot-ink:#0a1420;--gc13-foot-muted:#4b5761;--gc13-font:Hanken,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}

/* ================= Tarjeta de perfil (web) ================= */
.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:64px auto 90px;background:var(--gc13-card);color:var(--gc13-text);font-family:var(--gc13-font);border-radius:6px;overflow:hidden;box-shadow:0 30px 60px -34px #07101cb3,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:146px!important;height:40px!important;max-width:none}
.gc13-kind{display:flex;flex-direction:column;align-items:flex-end;gap:3px;line-height:1.2}
.gc13-kind span:first-child{font-size:10.5px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:#c3cbd3}
.gc13-kind span:last-child{font-size:11px;font-weight:500;color:var(--gc13-faint)}

.gc13-body{position:relative;display:grid;grid-template-columns:240px minmax(0,1fr);column-gap:32px;padding:28px 32px;min-height:418px}
.gc13.no-portrait .gc13-body{grid-template-columns:minmax(0,1fr)}
.gc13-globe{position:absolute;z-index:-1;pointer-events:none;left:590px;top:6px;width:470px;height:470px;background:url(assets/globo-certificado.svg) center/contain no-repeat;opacity:.5;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 51%),linear-gradient(180deg,#000 72%,#0003 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0,#000 51%),linear-gradient(180deg,#000 72%,#0003 100%);mask-composite:intersect}

.gc13-photo{position:relative;width:240px;height:362px;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}
.gc13 .gc13-kicker{font-size:10.5px;font-weight:700;letter-spacing:.155em;text-transform:uppercase;color:var(--gc13-accent);line-height:1;padding-top:0}
.gc13 h1{font-family:var(--gc13-font)!important;font-style:normal!important;font-size:44px!important;font-weight:600!important;line-height:1!important;letter-spacing:-.01em;color:var(--gc13-text)!important;margin-top:20px!important}
.gc13-prof{font-size:17px;line-height:1.2;color:var(--gc13-soft);margin-top:8px!important}
.gc13-sector{font-size:14px;line-height:1.2;color:var(--gc13-muted);margin-top:7px!important}
.gc13 .gc13-dist{display:flex;flex-direction:column;gap:4px;margin-top:16px!important;padding-left:12px;border-left:2px solid var(--gc13-champ-bar);line-height:1.25}
.gc13-dist strong{font-size:13.5px;font-weight:600;color:var(--gc13-champ)}
.gc13-dist span{font-size:12px;color:var(--gc13-muted)}
.gc13-signals{display:grid;grid-template-columns:repeat(3,max-content);row-gap:8px;column-gap:28px;margin-top:14px!important}
.gc13-signals div{min-width:0}
.gc13-signals dt{font-size:9.5px;font-weight:600;letter-spacing:.1em;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:4px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gc13 .gc13-label{font-size:9.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gc13-faint);margin-top:auto!important;padding-top:16px;line-height:1}
.gc13-seals{list-style:none;display:flex;gap:14px;margin-top:10px!important;flex-wrap:nowrap}
.gc13-seals li{flex:0 0 86px;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:100%!important;height:auto!important;max-width:none!important;aspect-ratio:1/1;border-radius:50%;transition:box-shadow .18s ease}
.gc13-seal:hover{transform:translateY(-2px)}
.gc13-seal:hover img,.gc13-seal:focus-visible img{box-shadow:0 0 0 2px var(--gc13-card),0 0 0 4px #ffffff55}
.gc13-seal:focus-visible{outline:none}
.gc13-seal:focus-visible img{box-shadow:0 0 0 2px var(--gc13-card),0 0 0 4px var(--gc13-accent)}
.gc13-seal-norm{margin-top:5px;font-size:10.5px;font-weight:600;color:#e4e9ed;line-height:1.2;white-space:nowrap}
.gc13-seal-ed{font-size:10px;font-weight:500;color:var(--gc13-muted);line-height:1.25}
.gc13.is-lider .gc13-seal-ed{color:var(--gc13-champ)}

.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:flex-start;gap:14px;margin:0!important;padding:0!important;background:none!important;border:0!important;align-self:flex-start;padding-top:14px!important}
.gc13-foot .demo-identification{width:auto!important;grid-template-columns:none!important}
.gc13-foot .demo-identification>img{width:62px!important;height:62px!important;min-width:0!important;max-width:62px!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;column-gap:10px;row-gap:2px;padding-top:9px}
.gc13-foot .demo-identification-label{grid-column:1/-1;font-size:9px!important;font-weight:600;letter-spacing:.1em;color:var(--gc13-foot-muted)!important}
.gc13-foot .demo-identification-meta code{font-family:var(--gc13-font)!important;font-size:15px!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:108px;top:58px;font-size:11.5px;color:var(--gc13-foot-muted);line-height:1.2}
.gc13-refs{display:flex;flex-direction:column;align-items:flex-end;gap:8px;align-self:flex-start;padding-top:16px}
.gc13-logos{display:flex;align-items:center;gap:22px;height:30px}
.gc13-logos img{display:block;height:30px!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}}

/* Tabletas: misma composición, menos columna de retrato */
@media (max-width:960px){
  .gc13-body{grid-template-columns:200px minmax(0,1fr);column-gap:24px;padding:24px}
  .gc13-photo{width:200px;height:302px}
  .gc13-signals{grid-template-columns:repeat(2,max-content)}
  .gc13-head,.gc13-foot{padding-inline:24px}
  .gc13-legend{left:100px}
}
/* Móvil: la tarjeta refluye; cuatro medallas en una fila sin deslizar */
@media (max-width:700px){
  .gc13{grid-template-rows:auto auto auto;border-radius:4px}
  .gc13-head{height:56px;padding-inline:16px}
  .gc13-head img{width:117px!important;height:32px!important}
  .gc13-kind span:first-child{font-size:9.5px;letter-spacing:.1em}
  .gc13-body{grid-template-columns:104px minmax(0,1fr);column-gap:16px;row-gap:0;padding:18px 16px 20px;min-height:0}
  .gc13-photo{width:104px;height:157px}
  .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-photo{grid-row:1/span 4}
  .gc13 .gc13-kicker{padding-top:4px;font-size:9.5px}
  .gc13-body{grid-template-rows:auto auto auto 1fr}
  .gc13 h1{font-size:30px!important;margin-top:10px!important}
  .gc13-prof{font-size:15px}
  .gc13-sector{font-size:13px;align-self:start}
  .gc13-dist,.gc13-signals,.gc13-label,.gc13-sr,.gc13-seals{grid-column:1/-1}
  .gc13-dist{margin-top:16px!important}
  .gc13-signals{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px;margin-top:16px!important}
  .gc13-signals dd{white-space:normal}
  .gc13 .gc13-label{padding-top:18px}
  .gc13-seals{gap:clamp(6px,2.4vw,14px)}
  .gc13-seals li{flex:1 1 0;max-width:86px}
  .gc13-seal-norm{font-size:10px;white-space:normal;text-align:center}
  .gc13-globe{left:auto;right:-38%;top:0;width:88%;height:auto;aspect-ratio:1;opacity:.32}
  .gc13-foot{flex-direction:column;align-items:flex-start;gap:12px;padding:14px 16px 16px}
  .gc13-foot .demo-identification{padding-top:0!important}
  .gc13-legend{position:static}
  .gc13-refs{align-items:flex-start;padding-top:0}
  .gc13-logos{gap:18px}
  .gc13-logos img{height:28px!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:.42!important;filter:none!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}
