/* Fuentes propias, servidas desde este mismo sitio: ningún servicio de terceros */
@font-face{font-family:'Geist';src:url(fuentes/Geist-Variable.woff2) format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'Geist Mono';src:url(fuentes/GeistMono-Variable.woff2) format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'Instrument Serif';src:url(fuentes/InstrumentSerif-Regular.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Instrument Serif';src:url(fuentes/InstrumentSerif-Italic.woff2) format('woff2');font-weight:400;font-style:italic;font-display:swap}
/* ───────────── Tokens ───────────── */
:root{
  --superficie:#0E3A5C;
  --penumbra:#0A2340;
  --abismo:#050C18;     /* navy de marca */
  --fosa:#010205;
  --el:#1E90FF;         /* bioluminiscencia: único acento */
  --el-claro:#7CC0FF;
  --espuma:#F0F6FF;
  --niebla:rgba(240,246,255,.66);
  --bruma:rgba(240,246,255,.42);
  --linea:rgba(240,246,255,.12);
  --serif:'Instrument Serif','Times New Roman',serif;
  --sans:'Geist',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  --mono:'Geist Mono',ui-monospace,'SFMono-Regular',Menlo,monospace;
  --ancho:1240px;
  --margen:clamp(20px,5vw,64px);
  --curva:cubic-bezier(.16,.8,.2,1);   /* un objeto que se detiene en el agua */
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{background:var(--superficie);color:var(--espuma);-webkit-text-size-adjust:100%}
body{font-family:var(--sans);font-size:17px;line-height:1.62;font-weight:300;overflow-x:hidden;-webkit-font-smoothing:antialiased;background:transparent}
a{color:inherit}
::selection{background:rgba(30,144,255,.4)}
:focus-visible{outline:1.5px solid var(--el-claro);outline-offset:4px;border-radius:2px}
.contenedor{max-width:var(--ancho);margin:0 auto;padding:0 var(--margen)}

/* ───────────── Agua: capas fijas ───────────── */
#agua,#nieve{position:fixed;inset:0;width:100vw;height:100vh;display:block;pointer-events:none}
#agua{z-index:0}
#nieve{z-index:1}
.sin-webgl #agua{display:none}
main,.pie{position:relative;z-index:2}

/* ───────────── Medidor de profundidad ───────────── */
.sonda{position:fixed;z-index:40;right:22px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:16px;
  pointer-events:none;opacity:0;transition:opacity 1.6s ease 2.2s}
.lista .sonda{opacity:1}
.sonda-lectura{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums}
.sonda-prof{font-size:13px;color:var(--espuma);letter-spacing:.02em}
.sonda-zona{font-size:11px;color:var(--bruma);margin-top:4px}
.sonda-riel{position:relative;width:1px;height:38vh;background:var(--linea)}
.sonda-marca{position:absolute;left:-4px;top:0;width:9px;height:1px;background:var(--espuma)}
.sonda-recorrido{position:absolute;left:0;top:0;width:1px;height:0;background:linear-gradient(var(--espuma),var(--el))}

/* ───────────── Navegación ───────────── */
.nav{position:fixed;inset:0 0 auto 0;z-index:50;transition:background .6s,border-color .6s;border-bottom:1px solid transparent}
.nav.fija{background:rgba(3,9,20,.55);backdrop-filter:blur(20px) saturate(1.2);-webkit-backdrop-filter:blur(20px) saturate(1.2);border-color:var(--linea)}
.nav-fila{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:76px}
.marca{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--serif);font-size:24px;justify-self:start}
.nav-enlaces{display:flex;align-items:center;gap:34px;list-style:none}
.nav-enlaces a{text-decoration:none;font-size:13.5px;color:var(--niebla);transition:color .3s}
.nav-enlaces a:hover{color:var(--espuma)}
.nav-enlaces .secundario{color:var(--bruma)}
.nav-der{justify-self:end;display:flex;align-items:center;gap:12px}
.trazo{display:inline-flex;align-items:center;gap:14px;text-decoration:none;font-size:14px;color:var(--espuma);padding-bottom:6px;
  border-bottom:1px solid rgba(240,246,255,.38);transition:border-color .4s,gap .6s var(--curva)}
.trazo:hover{border-color:var(--espuma);gap:22px}
.trazo i{display:block;width:22px;height:1px;background:currentColor;position:relative}
.trazo i::after{content:'';position:absolute;right:0;top:-3px;width:7px;height:7px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg)}
.boton{display:inline-flex;align-items:center;height:50px;padding:0 28px;border-radius:999px;background:var(--espuma);color:#03070F;
  text-decoration:none;font-size:15px;font-weight:400;transition:background .4s,box-shadow .6s,transform .6s var(--curva)}
.boton:hover{background:#fff;transform:translateY(-1px);box-shadow:0 0 40px rgba(124,192,255,.35)}
.menu-btn{display:none;background:none;border:1px solid var(--linea);color:var(--espuma);font:inherit;font-size:14px;height:38px;padding:0 16px;border-radius:999px;cursor:pointer}
.menu-panel{display:none}

/* ───────────── Zonas ───────────── */
.zona{position:relative;padding:clamp(140px,22vh,260px) 0}
.zona-rotulo{display:flex;align-items:baseline;gap:14px;font-family:var(--mono);font-size:12px;color:var(--bruma);margin-bottom:clamp(36px,5vw,56px)}
.zona-rotulo b{font-weight:400;color:var(--el-claro)}
.zona-rotulo::after{content:'';flex:0 0 64px;height:1px;background:var(--linea);align-self:center}
h2{font-family:var(--serif);font-weight:400;font-size:clamp(42px,5.4vw,84px);line-height:1.02;letter-spacing:-.01em;max-width:16ch}
.texto{color:var(--niebla);max-width:52ch}
.ref{font-family:var(--mono);font-size:12px;color:var(--bruma);display:block}

/* aparición lenta, como algo que emerge del agua */
.emerge{opacity:0;transform:translateY(28px);filter:blur(6px);transition:opacity 1.6s ease,transform 1.8s var(--curva),filter 1.6s ease}
.emerge.visto{opacity:1;transform:none;filter:none}

/* Superficie */
.superficie{position:relative;height:100svh;min-height:640px}
.superficie-capa{height:100%;max-width:var(--ancho);margin:0 auto;padding:0 var(--margen) clamp(44px,8vh,84px);
  display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:1fr auto;align-items:end}
.titulo{grid-column:1/3;grid-row:2;font-family:var(--serif);font-weight:400;font-size:clamp(52px,6.4vw,104px);line-height:.96;letter-spacing:-.015em;white-space:nowrap}
.titulo .linea{display:block;overflow:hidden;padding-bottom:.12em;margin-bottom:-.12em}
.titulo .linea span{display:block;transform:translateY(110%);transition:transform 2.2s var(--curva)}
.lista .titulo .linea span{transform:none}
.lista .titulo .linea:nth-child(1) span{transition-delay:1.6s}
.lista .titulo .linea:nth-child(2) span{transition-delay:1.85s}
.lateral{grid-column:3;grid-row:2;justify-self:end;align-self:end;padding-bottom:.7em;max-width:270px;opacity:0;transform:translateY(10px);
  transition:opacity 1.6s ease 2.6s,transform 1.6s var(--curva) 2.6s}
.lista .lateral{opacity:1;transform:none}
.lateral p{font-size:14.5px;line-height:1.65;color:var(--niebla);margin-bottom:22px}

/* Penumbra: tesis */
.tesis-frase{font-family:var(--serif);font-size:clamp(38px,5.2vw,80px);line-height:1.08;letter-spacing:-.01em;max-width:19ch}
.tesis-frase .p{transition:opacity .9s ease,text-shadow .9s ease;opacity:.13}
.tesis-frase .p.on{opacity:1}
.hallazgos{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,4vw,64px);margin-top:clamp(80px,10vw,140px)}
.hallazgos h3{font-weight:400;font-size:17px;margin-bottom:12px;line-height:1.4}
.hallazgos p{font-size:15px;color:var(--niebla)}

/* Medianoche: Delegado */
.delegado{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(48px,8vw,128px);align-items:start}
.delegado .texto{margin-top:30px}
.delegado .ref{margin-top:26px}
.pasos{position:relative;list-style:none;padding-left:46px;margin-top:12px}
.pasos::before{content:'';position:absolute;left:5px;top:10px;bottom:10px;width:1px;background:var(--linea)}
.pasos::after{content:'';position:absolute;left:5px;top:10px;bottom:10px;width:1px;background:linear-gradient(var(--el-claro),var(--el));
  transform:scaleY(0);transform-origin:top;transition:transform 3s var(--curva)}
.pasos.on::after{transform:scaleY(1)}
.paso{position:relative;padding-bottom:58px}
.paso:last-child{padding-bottom:0}
.paso::before{content:'';position:absolute;left:-46px;top:6px;width:11px;height:11px;border-radius:50%;border:1px solid var(--bruma);background:#040A16;z-index:1;
  transition:border-color .9s,background .9s,box-shadow .9s}
.pasos.on .paso::before{border-color:var(--el-claro);background:var(--el);animation:bio 4.5s ease-in-out infinite}
.pasos.on .paso:nth-child(2)::before{transition-delay:1s;animation-delay:1.5s}
.pasos.on .paso:nth-child(3)::before{transition-delay:2s;animation-delay:3s}
@keyframes bio{0%,100%{box-shadow:0 0 8px rgba(30,144,255,.45)}50%{box-shadow:0 0 26px 4px rgba(30,144,255,.75)}}
.paso-tiempo{font-family:var(--mono);font-size:12px;color:var(--el-claro);margin-bottom:8px}
.paso h3{font-family:var(--serif);font-weight:400;font-size:29px;line-height:1.15;margin-bottom:8px}
.paso p{color:var(--niebla);font-size:15px;max-width:40ch}
.alterno{margin-top:clamp(80px,10vw,140px);padding-top:34px;border-top:1px solid var(--linea);display:flex;justify-content:space-between;align-items:baseline;gap:24px;flex-wrap:wrap}
.alterno p{font-family:var(--serif);font-size:clamp(24px,2.6vw,34px);line-height:1.2;max-width:34ch}
.alterno p span{color:var(--niebla)}

/* Abisal: servicios */
.servicios-cab{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;margin-bottom:clamp(48px,6vw,88px)}
.servicios-cab .texto{max-width:38ch}
.servicio{border-top:1px solid var(--linea)}
.servicio:last-child{border-bottom:1px solid var(--linea)}
.servicio summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:72px 1fr auto 28px;gap:24px;align-items:baseline;padding:30px 0;transition:padding .7s var(--curva)}
.servicio summary::-webkit-details-marker{display:none}
.servicio summary:hover{padding-left:14px}
.s-codigo{font-family:var(--mono);font-size:12.5px;color:var(--bruma)}
.s-nombre{font-family:var(--serif);font-size:clamp(26px,3vw,40px);line-height:1.1}
.s-ref{font-family:var(--mono);font-size:12px;color:var(--bruma);text-align:right;white-space:nowrap}
.s-mas{position:relative;width:14px;height:14px;align-self:center;justify-self:end}
.s-mas::before,.s-mas::after{content:'';position:absolute;left:0;top:50%;width:14px;height:1px;background:var(--niebla);transition:transform .6s var(--curva)}
.s-mas::after{transform:rotate(90deg)}
.servicio[open] .s-mas::after{transform:rotate(0)}
.servicio[open] .s-codigo,.servicio.destacado .s-codigo{color:var(--el-claro)}
.s-detalle{display:grid;grid-template-columns:72px 1fr;gap:24px;padding:0 0 34px}
.s-detalle p{grid-column:2;color:var(--niebla);max-width:58ch}

/* Hadal: portal y cifras */
.portal{display:grid;grid-template-columns:1fr 1fr;gap:clamp(48px,8vw,120px);align-items:center}
.portal .texto{margin-top:30px}
.ilustrativo{font-size:13px;color:var(--bruma);margin-top:14px}
.cifras{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,4vw,64px)}
.cifra{border-top:1px solid var(--linea);padding-top:28px}
.cifra-num{font-family:var(--serif);font-size:clamp(64px,7.6vw,124px);line-height:1;letter-spacing:-.02em}
.cifra-num small{font-family:var(--sans);font-size:.2em;font-weight:300;letter-spacing:0;color:var(--niebla);margin-left:.4em;vertical-align:.35em}
.cifra p{color:var(--niebla);font-size:15px;margin-top:18px;max-width:30ch}
.cifra .ref{margin-top:10px}

/* Fondo de la fosa: contacto */
.fondo{overflow:hidden;text-align:center;padding-bottom:clamp(160px,24vh,280px)}
.fondo .zona-rotulo{justify-content:center}
.fondo .zona-rotulo::after{display:none}
.latido{position:absolute;left:50%;top:60%;width:min(760px,130vw);aspect-ratio:1;transform:translate(-50%,-50%);pointer-events:none;
  background:radial-gradient(circle,rgba(30,144,255,.24) 0%,rgba(30,144,255,.08) 22%,transparent 60%);animation:latido 4s ease-in-out infinite}
.latido::after{content:'';position:absolute;left:50%;top:50%;width:6px;height:6px;border-radius:50%;background:#BFE0FF;transform:translate(-50%,-50%);
  box-shadow:0 0 18px 6px rgba(124,192,255,.8)}
@keyframes latido{0%,100%{opacity:.35;transform:translate(-50%,-50%) scale(.92)}45%{opacity:1;transform:translate(-50%,-50%) scale(1.04)}}
.fondo h2{position:relative;margin:0 auto;max-width:13ch;font-size:clamp(48px,7.4vw,120px);line-height:.98}
.contacto-pie{position:relative;display:flex;justify-content:center;align-items:center;gap:32px;flex-wrap:wrap;margin-top:clamp(40px,5vw,64px)}
.correo{font-size:15px;color:var(--niebla)}
.correo a{color:var(--espuma);text-decoration:none;border-bottom:1px solid var(--linea);padding-bottom:2px;transition:border-color .4s}
.correo a:hover{border-color:var(--espuma)}

/* Pie */
.pie{border-top:1px solid var(--linea);padding:32px 0 40px;font-size:13px;color:var(--bruma);background:var(--fosa)}
.pie .contenedor{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
.pie nav{display:flex;gap:28px;flex-wrap:wrap}
.pie a{text-decoration:none;transition:color .3s}
.pie a:hover{color:var(--espuma)}

/* ───────────── Responsive ───────────── */
@media (max-width:1060px){
  .nav-fila{grid-template-columns:1fr auto}
  .nav-enlaces,.nav-der .trazo{display:none}
  .menu-btn{display:inline-flex;align-items:center}
  .menu-panel{display:block;position:fixed;inset:76px 0 auto 0;z-index:49;background:rgba(3,9,20,.94);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
    border-bottom:1px solid var(--linea);clip-path:inset(0 0 100% 0);transition:clip-path .8s var(--curva);visibility:hidden}
  .menu-panel.abierto{clip-path:inset(0 0 0 0);visibility:visible}
  .menu-panel ul{list-style:none;padding:12px var(--margen) 28px}
  .menu-panel li a{display:block;padding:16px 0;border-bottom:1px solid var(--linea);text-decoration:none;font-family:var(--serif);font-size:26px}
  .menu-panel li:last-child a{border:none;margin-top:20px;font-family:var(--sans);font-size:15px}
  .menu-panel .boton{display:flex;justify-content:center}
}
@media (max-width:1360px){
  .sonda{top:auto;bottom:16px;transform:none;gap:0;padding:8px 12px;border-radius:10px;background:rgba(3,9,20,.45);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
  .sonda-riel{display:none}
}
@media (max-width:860px){
  .superficie-capa{grid-template-columns:1fr;grid-template-rows:1fr auto auto}
  .titulo{grid-column:1;grid-row:2;margin-bottom:22px;white-space:normal}
  .lateral{grid-column:1;grid-row:3;justify-self:start;max-width:34ch;padding-bottom:0}
  .hallazgos,.cifras,.delegado,.portal,.instrumento{grid-template-columns:1fr}
  .anillos{margin:0 auto}
  .sonda-prof{font-size:12px}
  .sonda-zona{font-size:10px}
}
@media (max-width:640px){
  body{font-size:16px}
  .sonda{right:12px;bottom:12px;padding:6px 10px}
  .sonda-zona{display:none}
  .sonda-falta{font-size:10px}
  .servicio summary{grid-template-columns:44px 1fr 20px;gap:14px}
  .s-ref{display:none}
  .s-detalle{grid-template-columns:44px 1fr;gap:14px}
  .s-detalle p::after{content:attr(data-ref);display:block;font-family:var(--mono);font-size:12px;color:var(--bruma);margin-top:12px}
  .servicio summary:hover{padding-left:0}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:.01ms!important;transition-delay:0s!important;animation:none!important}
  .emerge{opacity:1;transform:none;filter:none}
}
/* ───────────── Pregunta de portada ───────────── */
.lateral .pregunta{display:block;font-family:var(--serif);font-size:clamp(24px,2.1vw,30px);line-height:1.15;color:var(--espuma);text-decoration:none;margin-bottom:10px;
  background:none;border:0;text-align:left;cursor:pointer;padding:0}
.lateral .pregunta:hover{color:#fff}
.lateral .pregunta-pie{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;font-family:var(--mono);font-size:11.5px;color:var(--bruma);margin-bottom:26px}
.lateral .pregunta-pie button{background:none;border:0;border-bottom:1px solid rgba(240,246,255,.38);color:var(--espuma);font:inherit;font-family:var(--sans);font-size:13.5px;
  padding:0 0 4px;cursor:pointer;transition:border-color .4s;white-space:nowrap}
.lateral .pregunta-pie button:hover{border-color:var(--espuma)}
.sonda-falta{font-size:10.5px;color:var(--bruma);margin-top:2px}

/* ───────────── Inmersión de prueba ───────────── */
html.bloqueado{overflow:hidden}
html.bloqueado main,html.bloqueado .nav,html.bloqueado .sonda,html.bloqueado .pie,html.bloqueado .menu-panel{opacity:0;visibility:hidden;transition:opacity .6s ease,visibility 0s linear .6s}
main,.pie{transition:opacity .8s ease}
.inmersion{position:fixed;inset:0;z-index:70;display:grid;grid-template-columns:minmax(280px,1fr) minmax(0,1.35fr);grid-template-rows:minmax(0,1fr);
  background:linear-gradient(90deg,rgba(1,4,10,.55),rgba(1,4,10,.86) 46%);opacity:0;visibility:hidden;transition:opacity .9s ease,visibility 0s linear .9s}
.inmersion.abierta{opacity:1;visibility:visible;transition:opacity .9s ease}
.inm-cerrar{position:absolute;top:22px;right:var(--margen);z-index:2;background:none;border:1px solid var(--linea);color:var(--niebla);font:inherit;font-size:13px;
  height:38px;padding:0 16px;border-radius:999px;cursor:pointer;transition:color .3s,border-color .3s}
.inm-cerrar:hover{color:var(--espuma);border-color:var(--bruma)}
.inm-medidor{display:flex;flex-direction:column;justify-content:center;padding:0 var(--margen);border-right:1px solid var(--linea)}
.inm-etq{font-family:var(--mono);font-size:11.5px;color:var(--bruma);margin-bottom:14px}
.inm-prof{font-family:var(--serif);font-size:clamp(68px,9.4vw,156px);line-height:.95;letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap}
.inm-zona{font-family:var(--mono);font-size:12.5px;color:var(--el-claro);margin-top:18px}
.inm-falta{font-size:13.5px;color:var(--bruma);margin-top:8px;max-width:30ch}
.inm-riel{position:relative;height:3px;background:var(--linea);margin-top:30px;max-width:340px;border-radius:2px;overflow:hidden}
.inm-riel i{position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(90deg,var(--el-claro),var(--el));transition:width 1.4s var(--curva)}
.inm-cuerpo{display:flex;flex-direction:column;min-height:0;padding:88px var(--margen) 48px;overflow-y:auto;max-width:820px}
.inm-cuerpo > div{margin-block:auto}
.inm-progreso{display:grid;grid-template-columns:repeat(11,1fr);gap:5px;margin-bottom:38px;max-width:520px}
.inm-progreso span{height:2px;background:var(--linea);border-radius:1px;transition:background .8s ease}
.inm-progreso span.hecho{background:var(--el-claro)}
.inm-paso{font-family:var(--mono);font-size:12px;color:var(--bruma);margin-bottom:18px}
.inm-paso b{font-weight:400;color:var(--el-claro)}
.inm-pregunta{font-family:var(--serif);font-weight:400;font-size:clamp(30px,3.3vw,50px);line-height:1.1;letter-spacing:-.005em;max-width:22ch}
.inm-ayuda{color:var(--niebla);font-size:15px;max-width:52ch;margin-top:16px}
.inm-regalo{display:flex;gap:12px;align-items:baseline;margin-top:28px;font-size:14.5px;color:var(--niebla);max-width:52ch}
.inm-regalo::before{content:'';flex:0 0 8px;height:8px;border-radius:50%;background:var(--el);box-shadow:0 0 12px rgba(30,144,255,.8);transform:translateY(-1px)}
.inm-opciones{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:36px;max-width:560px}
.inm-opcion{background:rgba(240,246,255,.035);border:1px solid var(--linea);color:var(--espuma);font:inherit;font-size:15.5px;text-align:left;
  padding:17px 20px;border-radius:12px;cursor:pointer;transition:border-color .4s,background .4s,transform .5s var(--curva)}
.inm-opcion:hover,.inm-opcion:focus-visible{border-color:var(--el-claro);background:rgba(30,144,255,.09)}
.inm-opcion:active{transform:scale(.985)}
.inm-opcion small{display:block;font-size:12.5px;color:var(--bruma);margin-top:3px}
.inm-acciones{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-top:38px}
.inm-volver{background:none;border:0;color:var(--bruma);font:inherit;font-size:13.5px;cursor:pointer;padding:0;transition:color .3s}
.inm-volver:hover{color:var(--espuma)}
.inm-aviso{font-size:12.5px;color:var(--bruma);margin-top:30px;max-width:56ch}
.inm-entra{animation:inmEntra 1s var(--curva) both}
@keyframes inmEntra{from{opacity:0;transform:translateY(16px);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}
.inm-brecha{margin-top:30px;padding:22px 0 0;border-top:1px solid var(--linea);max-width:56ch}
.inm-brecha .etq{font-family:var(--mono);font-size:11.5px;color:var(--bruma);margin-bottom:8px}
.inm-brecha h3{font-family:var(--serif);font-weight:400;font-size:clamp(26px,2.6vw,34px);line-height:1.15}
.inm-brecha p{color:var(--niebla);font-size:15px;margin-top:8px}
.inm-lista{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 28px;margin-top:26px;max-width:620px}
.inm-lista li{display:flex;align-items:baseline;gap:10px;font-size:13.5px;color:var(--niebla);padding:7px 0;border-bottom:1px solid var(--linea)}
.inm-lista li::before{content:'';flex:0 0 7px;height:7px;border-radius:50%;background:var(--bruma);transform:translateY(-1px)}
.inm-lista li.si::before{background:var(--el-claro)}
.inm-lista li.parte::before{background:#F2B33D}
.inm-lista li.no::before{background:#FF5A4E}
.inm-lista li span{margin-left:auto;font-family:var(--mono);font-size:11px;color:var(--bruma);white-space:nowrap}

/* Registro en el fondo */
.registro-final{position:relative;margin:clamp(56px,7vw,88px) auto 0;padding-top:28px;border-top:1px solid var(--linea);max-width:560px;font-size:14.5px;color:var(--niebla)}
.registro-final b{font-weight:400;color:var(--espuma)}
.registro-final .etq{display:block;font-family:var(--mono);font-size:11.5px;color:var(--el-claro);margin-bottom:10px}
.registro-final button{background:none;border:0;border-bottom:1px solid rgba(240,246,255,.38);color:var(--espuma);font:inherit;padding:0 0 3px;cursor:pointer;margin-top:12px}

@media (max-width:860px){
  .inmersion{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);background:rgba(1,4,10,.84)}
  .inm-medidor{border-right:0;border-bottom:1px solid var(--linea);padding-top:76px;padding-bottom:18px}
  .inm-prof{font-size:60px}
  .inm-falta,.inm-etq{display:none}
  .inm-riel{margin-top:16px}
  .inm-cuerpo{padding-top:28px;padding-bottom:40px}
  .inm-cuerpo > div{margin-block:0 auto}
  .inm-opciones,.inm-lista{grid-template-columns:1fr}
}

/* ───────────── El portal: vista de ejemplo, sobria ───────────── */
.portal-cab{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap}
.portal-cab .texto{margin-top:0;max-width:44ch}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.trazo-boton{background:none;border-top:0;border-left:0;border-right:0;cursor:pointer;font:inherit;font-size:14px}
.ventana{margin-top:clamp(48px,6vw,80px);border-radius:20px;background:rgba(5,12,24,.82);border:1px solid rgba(240,246,255,.12);box-shadow:0 40px 120px rgba(0,0,0,.55);overflow:hidden}
.v-barra{display:flex;align-items:center;gap:14px;padding:12px 18px;border-bottom:1px solid var(--linea);font-size:13px;color:var(--niebla)}
.v-marca{font-family:var(--serif);font-size:20px;color:var(--espuma)}
.v-org{padding-left:14px;border-left:1px solid var(--linea);white-space:nowrap}
.v-chip{font-size:11.5px;padding:2px 9px;border-radius:999px;border:1px solid rgba(240,246,255,.2);color:var(--bruma);white-space:nowrap}
.v-margen{margin-left:auto;display:inline-flex;align-items:center;gap:10px;padding:6px 12px;border-radius:9px;border:1px solid rgba(245,184,65,.45);background:rgba(245,184,65,.06);white-space:nowrap;min-width:0}
.v-margen small{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;color:var(--bruma)}
.v-margen b{font-weight:500;color:#F5B841}
.v-margen i{display:block;width:48px;height:4px;border-radius:2px;background:rgba(240,246,255,.12);position:relative;overflow:hidden;flex:0 0 48px}
.v-margen i::after{content:'';position:absolute;left:0;top:0;bottom:0;width:19%;background:#F5B841;border-radius:2px}
.v-cuerpo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(24px,4vw,56px);padding:clamp(22px,3vw,36px)}
.v-titulo{font-family:var(--serif);font-size:clamp(34px,3.6vw,54px);line-height:1.02;letter-spacing:-.01em}
.v-titulo em{font-style:italic;color:#F5B841}
.v-lead{color:var(--niebla);font-size:14.5px;margin-top:14px;max-width:44ch}
.v-escala{display:flex;gap:4px;margin-top:20px}
.v-escala span{padding:6px 12px;border-radius:7px;border:1px solid var(--linea);font-size:12.5px;color:var(--bruma)}
.v-escala span.actual{background:#F5B841;border-color:#F5B841;color:#2A1A00;font-weight:500}
.v-matriz{display:grid;grid-template-columns:96px repeat(3,minmax(0,1fr));font-size:13px;align-self:start}
.v-matriz .h{padding:0 10px 10px;font-size:12px}
.v-matriz .h.ok{color:#3DDC97}
.v-matriz .h.curso{color:#F5B841}
.v-matriz .h.brecha{color:#FF7366}
.v-matriz .f{padding:12px 8px 12px 0;border-top:1px solid var(--linea);color:var(--espuma);line-height:1.3}
.v-matriz .f small{display:block;font-family:var(--mono);font-size:10.5px;color:var(--bruma);margin-top:3px}
.v-matriz .c{display:flex;flex-wrap:wrap;gap:6px;align-content:flex-start;padding:10px;border-top:1px solid var(--linea);border-left:1px solid var(--linea);min-height:56px}
.v-matriz .z{background:repeating-linear-gradient(135deg,rgba(255,115,102,.10) 0 1px,transparent 1px 9px),rgba(255,115,102,.04)}
.v-letra{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:7px;font-family:var(--mono);font-size:13px;font-style:normal}
.v-letra.ok{background:rgba(61,220,151,.12);color:#3DDC97}
.v-letra.curso{background:rgba(245,184,65,.13);color:#F5B841}
.v-letra.brecha{background:rgba(255,115,102,.13);color:#FF7366}
.v-letra.foco{box-shadow:0 0 0 1px rgba(255,115,102,.75)}
.v-pie{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--linea)}
.v-celda{padding:20px clamp(18px,2.4vw,30px);border-left:1px solid var(--linea)}
.v-celda:first-child{border-left:0}
.v-celda .e{display:block;font-size:12px;color:var(--bruma)}
.v-celda b{display:block;font-weight:400;font-size:15px;color:var(--espuma);margin-top:6px;line-height:1.4}
.v-celda .d{display:inline-block;margin-top:10px;font-family:var(--mono);font-size:11.5px;padding:2px 8px;border-radius:6px;background:rgba(245,184,65,.13);color:#F5B841}
.v-celda .n{display:block;font-size:30px;font-weight:500;letter-spacing:-.02em;color:var(--espuma);margin-top:4px;line-height:1.1}
.beneficios{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,56px);margin-top:clamp(44px,5vw,72px)}
.beneficios li{border-top:1px solid var(--linea);padding-top:22px;color:var(--niebla);font-size:15px}
.beneficios b{display:block;font-weight:400;color:var(--espuma);font-size:18px;margin-bottom:8px}
.portal-acc{display:flex;align-items:center;gap:20px 28px;flex-wrap:wrap;margin-top:clamp(40px,5vw,64px)}
.portal-acc p{font-size:13.5px;color:var(--bruma);max-width:56ch}
@media (max-width:960px){
  .v-cuerpo{grid-template-columns:1fr}
  .v-pie,.beneficios{grid-template-columns:1fr}
  .v-celda{border-left:0;border-top:1px solid var(--linea)}
  .v-celda:first-child{border-top:0}
}
@media (max-width:640px){
  .v-org,.v-chip,.v-margen small,.v-que{display:none}
  .v-matriz{grid-template-columns:74px repeat(3,minmax(0,1fr));font-size:12px}
  .v-matriz .h{padding:0 6px 8px;font-size:11px}
  .v-matriz .c{padding:6px;gap:4px}
  .v-letra{width:24px;height:24px;font-size:12px}
}

/* ───────────── Delegado: dos modalidades y requisitos de la IG N° 3 ───────────── */
.modalidades{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3vw,40px);margin-top:40px}
.modalidad{border-top:1px solid var(--linea);padding-top:20px}
.modalidad h3{font-family:var(--serif);font-weight:400;font-size:26px;line-height:1.15;margin-bottom:8px}
.modalidad p{color:var(--niebla);font-size:15px}
.delegado .modalidades + .ref{margin-top:30px}
.pasos-cab{font-family:var(--mono);font-size:12px;color:var(--bruma);margin:8px 0 30px}
.requisitos{margin-top:clamp(72px,9vw,120px)}
.requisitos-cab{display:flex;align-items:baseline;justify-content:space-between;gap:10px 24px;flex-wrap:wrap;font-family:var(--serif);font-size:clamp(26px,2.8vw,36px);line-height:1.2;padding-bottom:22px;border-bottom:1px solid var(--linea)}
.requisitos-cab span{font-family:var(--mono);font-size:12px;color:var(--bruma)}
.requisitos ul{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(24px,3vw,48px);margin-top:28px}
.requisitos h3{font-weight:400;font-size:17px;line-height:1.4;margin-bottom:10px}
.requisitos li:last-child h3{color:var(--el-claro)}
.requisitos li p{font-size:15px;color:var(--niebla)}
@media (max-width:1060px){
  .requisitos ul{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .modalidades,.requisitos ul{grid-template-columns:1fr}
}

/* ───────────── Página 404 (Cloudflare la sirve para rutas inexistentes) ───────────── */
.pagina-404{min-height:100vh;display:grid;align-content:center;background:var(--abismo);padding:80px 0}
.pagina-404 .texto{margin-top:26px}
.enlaces-404{display:flex;flex-wrap:wrap;gap:20px 40px;margin-top:40px}
