/* Cristco V13 · hotfix de estructura/hero/equipo. Mantener después de estilo.css. */

/* Hero: visual tecnológico, nunca una persona del equipo. */
.hero-code-visual{
  position:relative;z-index:3;width:min(540px,88%);overflow:hidden;
  border:1px solid rgba(255,255,255,.16);border-radius:24px;
  background:linear-gradient(180deg,rgba(16,24,39,.96),rgba(7,12,21,.97));
  box-shadow:0 36px 100px rgba(0,0,0,.42),0 0 0 1px rgba(100,244,255,.025) inset;
  backdrop-filter:blur(16px)
}
.hero-code-head{min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 19px;border-bottom:1px solid var(--line);color:#6f7d91;font:800 .57rem ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.11em;text-transform:uppercase}
.hero-code-head::before{content:"● ● ●";color:#ffb06f;letter-spacing:.28em;margin-right:5px}.hero-code-head>span{margin-right:auto}.hero-code-head b{padding:6px 9px;border-radius:999px;background:rgba(101,240,180,.1);color:var(--mint);font-size:.54rem}
.hero-code-body{position:relative;min-height:330px;padding:54px 34px 38px;background:radial-gradient(circle at 75% 20%,rgba(146,119,255,.08),transparent 34%)}
.hero-code-body ol{margin:0;padding:0;list-style:none;counter-reset:code;color:#8291a7;font:600 clamp(.68rem,1vw,.83rem)/2 ui-monospace,SFMono-Regular,Consolas,monospace}
.hero-code-body li{position:relative;padding-left:42px;white-space:nowrap}.hero-code-body li::before{counter-increment:code;content:counter(code,decimal-leading-zero);position:absolute;left:0;color:#344155;font-size:.62rem}.hero-code-body li span{color:#d390ff}.hero-code-body li b{color:#81bfff;font-weight:700}
.hero-code-caret{position:absolute;left:52%;top:204px;width:3px;height:22px;background:var(--cyan);box-shadow:0 0 15px rgba(100,244,255,.7);animation:heroCaret 1s steps(1,end) infinite}
.hero-code-status{display:grid;gap:9px;padding:17px 20px 20px;border-top:1px solid var(--line);background:rgba(4,8,14,.52)}
.hero-code-status>span{display:flex;align-items:center;gap:8px;color:#758399;font:750 .55rem ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.09em;text-transform:uppercase}.hero-code-status>span i{width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 15px rgba(101,240,180,.6)}
.hero-code-status code{color:#bac5d4;font:650 .65rem/1.75 ui-monospace,SFMono-Regular,Consolas,monospace}.hero-code-status code b{color:var(--mint)}
@keyframes heroCaret{0%,48%{opacity:1}49%,100%{opacity:0}}

/* La landing queda más compacta sin convertirla en una página interminable. */
.section{padding:90px 0}.conversation{padding:92px 0}.contact-section{padding:92px 0 105px}.hero-shell{min-height:660px}.hero-visual{min-height:590px}.section-heading{margin-bottom:42px}.team-deck{min-height:470px}.process-grid article{min-height:250px}.process-grid h3{margin-top:58px}

/* Servicios: iconos administrables y proporcionados. */
.service-card-media{width:82px;height:82px}.service-card-media img{width:100%;height:100%;object-fit:contain;object-position:center}

/* Proyectos: jamás recortar una captura, incluso 4K, vertical o ultrawide. */
.project-image{display:flex!important;align-items:center;justify-content:center;min-height:0!important;height:auto!important;aspect-ratio:auto!important;padding:clamp(6px,.8vw,12px);background:radial-gradient(circle at 18% 15%,rgba(100,244,255,.08),transparent 32%),radial-gradient(circle at 82% 82%,rgba(146,119,255,.08),transparent 30%),#0b101b}
.project-image img{display:block!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:min(72vh,720px)!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important;padding:0!important;margin:auto!important}
.project-card:hover .project-image img{transform:scale(1.008)!important}
.empty-public{margin:26px 0 0;padding:22px;border:1px dashed var(--line-strong);border-radius:18px;color:var(--muted);text-align:center}

/* Habilidades: porcentaje aislado del nombre, sin superposición. */
.skill-bars .skill-row{display:grid;grid-template-columns:minmax(0,1fr);gap:13px;padding:20px}
.skill-bars .skill-row .skill-meta{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:18px;padding:0;margin:0;border:0;min-width:0}
.skill-bars .skill-row .skill-copy{display:grid;grid-template-columns:minmax(0,1fr);gap:5px;min-width:0}.skill-bars .skill-row .skill-copy>span{display:block}.skill-bars .skill-row .skill-copy>strong{display:block;overflow-wrap:anywhere}.skill-bars .skill-row .skill-meta>b{display:block;min-width:3.2ch;justify-self:end;white-space:nowrap;text-align:right}

/* Equipo: ambas imágenes ocupan exactamente el mismo marco y las grandes se adaptan. */
.team-person-media,.team-person-media .team-person-image{width:100%;height:100%}.team-person-media .team-person-image{object-fit:cover;object-position:center top}.team-person-media.has-hover-media .team-person-image{will-change:opacity,transform}.team-person-media.has-hover-media .team-person-image-hover{opacity:0}.team-person-media.has-hover-media .team-person-image-base{opacity:1}

/* En mouse fino NO hay autoplay: la segunda imagen aparece sólo al hover/foco. */
@media(pointer:fine){
  .team-person.is-active:not(:hover):not(:focus-visible):not(:focus-within){flex:1 1 0;transform:none;border-color:var(--line);filter:none}
  .team-person.is-active:not(:hover):not(:focus-visible):not(:focus-within)::before{opacity:0}
  .team-person.is-active:not(:hover):not(:focus-visible):not(:focus-within) .team-person-image-hover{opacity:0!important}
  .team-person.is-active:not(:hover):not(:focus-visible):not(:focus-within) .team-person-image-base{opacity:1!important}
  .team-person.is-active:not(:hover):not(:focus-visible):not(:focus-within) .team-person-copy{transform:translateY(84px)}
  .team-person.is-active:not(:hover):not(:focus-visible):not(:focus-within) .team-person-copy p{opacity:0;transform:translateY(8px)}
}

/* Verificación técnica pública: no se presenta como certificación oficial. */
.trust-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;color:#7e8da2;font-size:.7rem}.trust-actions .text-link{margin:0;text-decoration:none}.trust-grid strong{font-variant-numeric:tabular-nums}

/* El signo final nunca queda cortado. */
.contact-inner h2{overflow:visible!important;padding-inline:.25em!important}.contact-inner h2 em{display:inline-block;overflow:visible;padding-right:.22em;margin-right:-.06em}

@media(max-width:1080px){.hero-code-visual{width:min(500px,92%)}.hero-shell{gap:38px}}
@media(max-width:900px){.hero-shell{grid-template-columns:1fr}.hero-visual{min-height:520px;margin-top:0}.hero-code-visual{width:min(620px,94%)}.section{padding:78px 0}.trust-actions{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.hero{padding-top:96px;padding-bottom:55px}.hero-copy{padding-bottom:8px}.hero-visual{min-height:430px}.hero-code-visual{width:100%;border-radius:18px}.hero-code-head{padding:0 13px}.hero-code-head::before{display:none}.hero-code-body{min-height:260px;padding:38px 15px 24px}.hero-code-body ol{font-size:.61rem}.hero-code-body li{padding-left:31px}.hero-code-caret{top:164px}.floating-card{display:none}.section,.conversation{padding:68px 0}.contact-section{padding:78px 0 96px}.team-deck{min-height:405px}.project-image{margin:7px!important;padding:5px!important}.project-image img{max-height:min(64vh,540px)!important}.trust-grid{gap:10px}}
@media(prefers-reduced-motion:reduce){.hero-code-caret{animation:none;opacity:1}.team-person-media.has-hover-media .team-person-image{transition:none!important}}
