/* ============================================================
   EXITUMBRA — Escuela de periodismo de investigación · estilos.css
   Estilo: redacción nocturna · terminal · tema oscuro
   ============================================================ */
:root{
  --bg:#0c0f14;
  --bg2:#11161d;
  --bg3:#1a212b;
  --linea:rgba(255,176,0,.18);
  --ambar:#ffb000;
  --ambar2:#ff8a00;
  --crema:#e8dfc8;
  --gris:#9aa3ad;
  --rojo:#ff4d4d;
  --verde:#3ddc84;
  --mono:'JetBrains Mono','Fira Code',Consolas,'Courier New',monospace;
  --serif:'Playfair Display',Georgia,serif;
  --sans:'Inter',system-ui,sans-serif;
  --som:0 16px 40px rgba(0,0,0,.5);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--crema);font-family:var(--sans);line-height:1.7;font-size:16.5px}
img{max-width:100%;display:block}
a{color:var(--ambar);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:1140px;margin:0 auto;padding:0 22px}
::selection{background:var(--ambar);color:var(--bg)}

/* ---------- BARRA SUPERIOR ---------- */
.bar{background:var(--bg2);border-bottom:1px solid var(--linea);font-family:var(--mono);font-size:12px;color:var(--gris);overflow:hidden;white-space:nowrap;padding:6px 0}
.bar span{margin:0 24px}
.bar b{color:var(--ambar)}

/* ---------- CABECERA ---------- */
.cab{background:rgba(12,15,20,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--linea);position:sticky;top:0;z-index:50}
.cab .fila{display:flex;align-items:center;gap:20px;padding:13px 0}
.marca{font-family:var(--mono);font-weight:700;font-size:19px;letter-spacing:2px;color:var(--crema);text-transform:uppercase;display:flex;align-items:center;gap:10px}
.marca:hover{text-decoration:none}
.marca .ex{color:var(--ambar)}
.marca .cur{display:inline-block;width:9px;height:16px;background:var(--ambar);animation:parp 1.1s steps(1) infinite;margin-left:2px}
@keyframes parp{50%{opacity:0}}
.marca small{display:block;font-family:var(--sans);font-size:9px;letter-spacing:4px;color:var(--gris);text-transform:uppercase}
.nav{display:flex;align-items:center;gap:2px;flex:1;overflow-x:auto;scrollbar-width:none;font-family:var(--mono)}
.nav::-webkit-scrollbar{display:none}
.nav a{flex:0 0 auto;font-size:12.5px;font-weight:600;letter-spacing:1px;color:var(--gris);padding:9px 12px;white-space:nowrap;border:1px solid transparent}
.nav a:hover{color:var(--crema);border-color:var(--linea);text-decoration:none}
.nav a.activo{color:var(--ambar);border-color:var(--ambar);background:rgba(255,176,0,.07)}
.nav a i{font-style:normal;color:var(--ambar2);margin-right:6px}
.cta{flex:0 0 auto;font-family:var(--mono);font-size:12.5px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--bg);background:var(--ambar);padding:11px 18px;transition:.2s}
.cta:hover{background:var(--crema);text-decoration:none}
@media(max-width:860px){.cab .fila{flex-wrap:wrap}.nav{order:3;width:100%}}

/* ---------- HERO ---------- */
.hero{position:relative;border-bottom:1px solid var(--linea);overflow:hidden;background:radial-gradient(ellipse at 80% 0%,rgba(255,138,0,.14),transparent 55%)}
.hero .fondo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.16;filter:grayscale(1)}
.hero .wrap{position:relative;padding:74px 22px;display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center}
.hero .cod{font-family:var(--mono);font-size:12px;letter-spacing:2.5px;color:var(--ambar);text-transform:uppercase;margin-bottom:14px}
.hero .cod::before{content:"$ ";color:var(--verde)}
.hero h1{font-family:var(--serif);font-weight:900;font-size:48px;line-height:1.1;color:#fff}
.hero h1 span{color:var(--ambar)}
.hero p{max-width:600px;margin:16px 0 26px;color:var(--gris);font-size:17px}
.btn{display:inline-block;font-family:var(--mono);font-size:13.5px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--bg);background:var(--ambar);padding:15px 26px;transition:.2s}
.btn:hover{background:var(--crema);text-decoration:none;transform:translateY(-2px)}
.btn.ghost{background:transparent;color:var(--ambar);border:1px solid var(--ambar)}
.btn.ghost:hover{background:rgba(255,176,0,.1)}
.hero figure{border:1px solid var(--linea);background:var(--bg2);box-shadow:var(--som);transform:rotate(1deg)}
.hero figure img{width:100%;height:320px;object-fit:cover;opacity:.85}
.hero figure figcaption{font-family:var(--mono);font-size:11px;color:var(--gris);padding:10px 14px;border-top:1px solid var(--linea)}
@media(max-width:860px){.hero .wrap{grid-template-columns:1fr;padding:48px 22px}.hero h1{font-size:34px}}

/* ---------- SECCIONES ---------- */
section{padding:56px 0;border-bottom:1px solid var(--linea)}
.rot{font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--ambar);margin-bottom:12px}
.rot::before{content:"## ";color:var(--verde)}
h2{font-family:var(--serif);font-weight:900;font-size:32px;color:#fff;margin-bottom:12px}
h3{font-family:var(--serif);font-size:21px;color:#fff;margin-bottom:8px}
.lead{color:var(--gris);font-size:17.5px;max-width:720px}
.dos-col{column-count:2;column-gap:40px;column-rule:1px solid var(--linea)}
.dos-col p{color:var(--gris)}
@media(max-width:760px){.dos-col{column-count:1}}

/* ---------- REJILLAS ---------- */
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.g2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media(max-width:900px){.g3,.g4{grid-template-columns:repeat(2,1fr)}.g2{grid-template-columns:1fr}}
@media(max-width:600px){.g3,.g4{grid-template-columns:1fr}}

/* ---------- DOSSIERS (tarjetas) ---------- */
.dossier{background:var(--bg2);border:1px solid var(--linea);padding:24px;position:relative;transition:.2s;display:flex;flex-direction:column}
.dossier:hover{transform:translateY(-4px);border-color:var(--ambar)}
.dossier::before{content:attr(data-cod);position:absolute;top:-11px;left:16px;background:var(--ambar);color:var(--bg);font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:1.5px;padding:3px 10px}
.dossier h3{margin-top:10px}
.dossier p{font-size:14.5px;color:var(--gris);flex:1}
.dossier .pie{margin-top:16px;padding-top:12px;border-top:1px dashed var(--linea);font-family:var(--mono);font-size:12px;color:var(--gris);display:flex;justify-content:space-between;align-items:center}
.dossier figure{margin:-24px -24px 16px}
.dossier figure img{width:100%;height:160px;object-fit:cover;opacity:.8}
.dossier figcaption{font-family:var(--mono);font-size:10.5px;color:var(--gris);padding:7px 24px 0}

/* ---------- TERMINAL ---------- */
.term{background:#0a0d11;border:1px solid var(--linea);font-family:var(--mono);font-size:13.5px;box-shadow:var(--som);overflow:hidden}
.term .tit{background:var(--bg3);padding:9px 14px;font-size:11.5px;color:var(--gris);border-bottom:1px solid var(--linea);letter-spacing:1px}
.term .tit b{color:var(--ambar)}
.term .cuerpo{padding:18px 20px;color:var(--gris);line-height:1.9}
.term .cuerpo .p{color:var(--verde)}
.term .cuerpo .ok{color:var(--ambar)}
.term .cuerpo .cur{display:inline-block;width:8px;height:14px;background:var(--verde);animation:parp 1.1s steps(1) infinite;vertical-align:middle}

/* ---------- ESTADÍSTICAS ---------- */
.cifra{font-family:var(--serif);font-weight:900;font-size:44px;color:var(--ambar);line-height:1}
.cifra small{display:block;font-family:var(--mono);font-size:11px;color:var(--gris);letter-spacing:2px;text-transform:uppercase;margin-top:6px}

/* ---------- LISTA CHECKS ---------- */
.checks{list-style:none;margin-top:12px}
.checks li{padding:8px 0 8px 30px;position:relative;color:var(--gris);font-size:14.8px;border-bottom:1px dotted var(--linea)}
.checks li::before{content:"[✓]";position:absolute;left:0;color:var(--verde);font-family:var(--mono)}

/* ---------- TABLAS ---------- */
.tabla{width:100%;border-collapse:collapse;font-family:var(--mono);font-size:13.5px}
.tabla th{background:var(--bg3);color:var(--ambar);text-transform:uppercase;font-size:11.5px;letter-spacing:1.5px;padding:13px 15px;text-align:left;border:1px solid var(--linea)}
.tabla td{padding:12px 15px;border:1px solid var(--linea);color:var(--gris)}
.tabla tr:nth-child(even) td{background:var(--bg2)}
.tabla .dest{color:var(--crema);font-weight:700;background:rgba(255,176,0,.06)!important}

/* ---------- PRECIOS ---------- */
.precio{font-family:var(--serif);font-weight:900;font-size:36px;color:#fff}
.precio small{font-size:13px;color:var(--gris)}
.plano{background:var(--bg2);border:1px solid var(--linea);padding:28px 24px;display:flex;flex-direction:column;position:relative}
.plano.dest{border:2px solid var(--ambar);background:linear-gradient(180deg,rgba(255,176,0,.07),var(--bg2))}
.plano .sello{position:absolute;top:-12px;right:16px;background:var(--ambar);color:var(--bg);font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:2px;padding:4px 10px}
.plano ul{list-style:none;margin:18px 0;flex:1}
.plano ul li{padding:7px 0 7px 26px;position:relative;font-size:14.3px;color:var(--gris)}
.plano ul li::before{content:"+";position:absolute;left:4px;color:var(--ambar);font-family:var(--mono);font-weight:700}

/* ---------- FORMULARIO ---------- */
.formulario{background:var(--bg2);border:1px solid var(--linea);padding:32px}
.campo{margin-bottom:17px}
.campo label{display:block;font-family:var(--mono);font-size:11.5px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:6px;color:var(--ambar)}
.campo input,.campo select,.campo textarea{width:100%;padding:12px 14px;background:var(--bg);border:1px solid var(--bg3);color:var(--crema);font-family:var(--mono);font-size:14px}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:none;border-color:var(--ambar)}
.campo textarea{min-height:120px;resize:vertical}
.campo .ayuda{font-size:12px;color:var(--gris);margin-top:4px}
.legal{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:var(--gris)}
.legal input{margin-top:3px;width:auto;accent-color:var(--ambar)}

/* ---------- BLOG ---------- */
.post{display:grid;grid-template-columns:240px 1fr;gap:20px;background:var(--bg2);border:1px solid var(--linea);padding:18px;margin-bottom:18px}
.post img{width:240px;height:150px;object-fit:cover;opacity:.8}
.post .fecha{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--ambar)}
.post h3{margin:6px 0 8px}
.post p{font-size:14.3px;color:var(--gris)}
@media(max-width:700px){.post{grid-template-columns:1fr}.post img{width:100%;height:180px}}

/* ---------- DOCENTES ---------- */
.doc{display:grid;grid-template-columns:110px 1fr;gap:20px;background:var(--bg2);border:1px solid var(--linea);padding:22px}
.doc img{width:110px;height:110px;object-fit:cover;border:2px solid var(--linea);filter:grayscale(.4)}
.doc .rol{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--ambar)}
.doc h3{margin:4px 0 8px}
.doc p{font-size:14.2px;color:var(--gris)}
@media(max-width:560px){.doc{grid-template-columns:1fr;text-align:center}.doc img{margin:0 auto}}

/* ---------- FAQ ---------- */
.faq details{background:var(--bg2);border:1px solid var(--linea);margin-bottom:10px}
.faq summary{cursor:pointer;padding:15px 20px;font-family:var(--mono);font-weight:700;font-size:14.5px;color:var(--crema);list-style:none;position:relative;padding-right:46px}
.faq summary::after{content:"+";position:absolute;right:18px;top:10px;font-size:22px;color:var(--ambar);font-weight:700}
.faq details[open] summary::after{content:"–"}
.faq details p{padding:0 20px 16px;color:var(--gris);font-size:14.3px}

/* ---------- CABECERA INTERNA ---------- */
.cabecera{background:var(--bg2);border-bottom:1px solid var(--linea);padding:44px 0}
.cabecera .migas{font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--gris);margin-bottom:10px}
.cabecera .migas a{color:var(--ambar)}
.cabecera h1{font-family:var(--serif);font-weight:900;font-size:38px;color:#fff}
.cabecera .lead{color:var(--gris);font-size:17px}

/* ---------- PIE ---------- */
.pie{background:var(--bg2);border-top:1px solid var(--linea)}
.pie .sup .wrap{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:30px;padding:44px 22px}
.pie h4{font-family:var(--mono);font-size:14px;margin-bottom:12px;color:var(--ambar);letter-spacing:1px}
.pie ul{list-style:none}
.pie ul li{margin-bottom:7px;font-size:13.8px}
.pie ul a{color:var(--gris);font-weight:500}
.pie ul a:hover{color:var(--ambar)}
.pie .lema{color:var(--gris);font-size:14px;font-style:italic}
.pie .firma{font-family:var(--mono);font-size:11px;color:var(--gris);margin-top:14px}
.pie .inf{padding:15px 0;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;font-family:var(--mono);font-size:11.5px;color:var(--gris);border-top:1px solid var(--linea)}
.pie .inf a{color:var(--ambar)}
@media(max-width:900px){.pie .sup .wrap{grid-template-columns:1fr 1fr}}

/* ---------- COOKIES ---------- */
.aviso{position:fixed;left:14px;bottom:14px;right:14px;max-width:500px;background:var(--bg3);border:1px solid var(--ambar);color:var(--crema);padding:20px 22px;z-index:90;font-size:13.5px;box-shadow:var(--som)}
.aviso a{color:var(--ambar)}
.aviso .btn{padding:9px 16px;font-size:11.5px;margin-top:10px;margin-right:8px}

/* ---------- EXTRAS ---------- */
.centro{text-align:center}
.mt{margin-top:16px}
.ok-circle{width:96px;height:96px;border-radius:50%;border:3px solid var(--verde);display:flex;align-items:center;justify-content:center;margin:0 auto 18px;color:var(--verde);font-family:var(--mono);font-size:40px}
blockquote.cita{border-left:4px solid var(--ambar);background:var(--bg2);padding:22px 26px;font-family:var(--serif);font-style:italic;font-size:19px;color:var(--crema);margin-top:30px}
blockquote.cita cite{display:block;margin-top:10px;font-family:var(--mono);font-size:12px;font-style:normal;letter-spacing:1.5px;text-transform:uppercase;color:var(--ambar)}
@media(max-width:760px){h2{font-size:26px}}
