:root{
  --bosque:#1E3A2C; --tinta:#22302A; --texto:#3D4A42; --suave:#5B6A60; --tenue:#667066;
  --papel:#F7F8F6; --alt:#EDF1EC; --borde:#D3DDD3;
  --pumpkin:#FF8C42; --mint:#79C99E; --lime:#C6DC3C; --salvia:#6E8377; --link:#2F5B45;
}
*{box-sizing:border-box}
body{margin:0;background:var(--papel);color:var(--tinta);
  font-family:'Work Sans',Helvetica,Arial,sans-serif;font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--link)}
a:hover{color:var(--bosque)}
.wrap{max-width:960px;margin:0 auto;padding:0 24px}
.narrow{max-width:760px;margin:0 auto}

header.top{border-bottom:1px solid var(--borde);background:var(--papel)}
.topin{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;padding:16px 24px}
.topin img{height:34px;display:block}
nav{display:flex;flex-wrap:wrap;gap:22px;font-size:15px;font-weight:500}
nav a{color:var(--texto);text-decoration:none;padding-bottom:2px;border-bottom:2px solid transparent}
nav a:hover{color:var(--tinta)}
nav a.on{border-bottom-color:var(--pumpkin);color:var(--tinta)}

.banner{background:var(--bosque);color:var(--papel);text-align:center;padding:78px 24px 70px}
.banner img.logo{width:min(420px,86vw);display:block;margin:0 auto 26px}
.banner .datos{display:flex;flex-wrap:wrap;gap:8px 26px;justify-content:center;color:#DCE8DE;font-size:17px}
.btn{display:inline-block;margin-top:28px;background:var(--pumpkin);color:#2A1B0E;text-decoration:none;
  font-weight:600;font-size:16px;padding:14px 30px;border-radius:3px}
.btn:hover{background:#F07C31;color:#2A1B0E}

.pagehead{background:var(--bosque);color:var(--papel);padding:52px 24px}
.pagehead h1{margin:0;font-size:clamp(28px,4vw,38px);font-weight:600;letter-spacing:-.02em}
.pagehead p{margin:10px 0 0;color:#C4D6C9;font-size:16px;max-width:640px}

section{padding:56px 0}
section.alt{background:var(--alt);border-top:1px solid var(--borde);border-bottom:1px solid var(--borde)}
h2{font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--tenue);margin:0 0 20px;
  display:flex;align-items:center;gap:10px}
h2 img{height:14px;display:block}
h3{font-size:20px;font-weight:600;margin:0 0 6px}
p{text-wrap:pretty}
p.lead{font-size:20px;line-height:1.62;color:var(--tinta)}
p.body{font-size:17.5px;line-height:1.68;color:var(--texto)}
.nota{background:var(--alt);border-left:3px solid var(--pumpkin);padding:18px 22px}
.nota p{margin:0;font-size:15.5px;color:var(--texto)}
.nota p + p{margin-top:10px}
.nota a {text-decoration: none;}
.nota a[href^="mailto:"] { text-decoration: underline; }
.sep{display:flex;justify-content:center;padding:8px 0 0}
.sep img{height:18px;display:block}

.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}
.card{background:#fff;border:1px solid var(--borde);border-radius:4px;padding:22px}
.card img.v{height:22px;display:block;margin-bottom:14px}
.card .inst{font-size:14.5px;line-height:1.5;color:var(--suave)}
.card .verres{display:inline-block;margin-top:10px;font-size:14.5px;font-weight:500}
.links{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}
.links a{background:var(--papel);border:1px solid var(--borde);border-radius:4px;padding:20px 22px;
  text-decoration:none;display:block;color:var(--tinta)}
.links a:hover{border-color:var(--salvia)}
.links .t{display:flex;align-items:center;gap:8px;font-size:17px;font-weight:600;margin-bottom:8px}
.links .t img{height:13px;display:block}
.links .d{font-size:14px;line-height:1.55;color:var(--suave)}

.dia{margin-bottom:44px}
.diatag{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;padding:6px 12px;border-radius:3px;margin-bottom:6px}
.dia h3.fecha{font-size:24px;font-weight:700;letter-spacing:-.02em;margin:6px 0 18px}
table.prog{width:100%;border-collapse:collapse}
table.prog td{padding:14px 12px;border-top:1px solid var(--borde);vertical-align:top}
table.prog td.h{width:130px;white-space:nowrap;color:var(--suave);font-size:15px;font-variant-numeric:tabular-nums}
table.prog td .act{font-weight:600;font-size:17px}
table.prog td .quien{font-size:15px;color:var(--suave);margin-top:3px}
table.prog tr.pausa td{background:var(--alt);color:var(--texto);font-size:15px}
table.prog tr.pausa td.h{color:var(--suave)}

/* Viernes: columna en paralelo (sala de escape) */
table.prog.doble{table-layout:fixed}
table.prog.doble col.c-h{width:130px}
table.prog.doble td.paralelo{border-left:1px solid var(--borde)}
table.prog td.paralelo .turno{font-size:15px;color:var(--suave);margin-top:3px;font-variant-numeric:tabular-nums}

/* Resúmenes desplegables en el cronograma */
.resumen{margin-top:8px}
.resumen summary{cursor:pointer;list-style:none;font-size:14.5px;font-weight:500;color:var(--link);width:max-content}
.resumen summary::-webkit-details-marker{display:none}
.resumen summary::before{content:"+ "}
.resumen[open] summary::before{content:"− "}
.resumen summary:hover{color:var(--bosque)}
.resumen p{margin:8px 0 0;max-width:62ch;font-size:15.5px;line-height:1.6;color:var(--texto)}

footer{background:var(--bosque);color:#A9BFAF;padding:34px 0;font-size:15px}
footer .fin{display:flex;flex-wrap:wrap;gap:20px 48px;justify-content:space-between;align-items:flex-end}
footer .datos-fin,
footer .contacto{display:flex;flex-direction:column;gap:2px}
footer .contacto{text-align:right}
footer .rot{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#7F9A87}
footer a{color:#C4D6C9;text-decoration:none;font-weight:500}
footer a:hover{color:#fff;text-decoration:underline}

.aranceles{border:1px solid var(--borde);border-radius:4px;overflow:hidden;background:#fff}
.aranceles .fila{display:flex;justify-content:space-between;align-items:baseline;gap:18px;padding:16px 22px;border-top:1px solid var(--borde)}
.aranceles .fila:first-child{border-top:0}
.aranceles .fila .q{font-size:16.5px;color:var(--tinta)}
.aranceles .fila .m{font-family:'Space Grotesk',system-ui,sans-serif;font-size:19px;font-weight:600;color:var(--bosque);white-space:nowrap;font-variant-numeric:tabular-nums}
.aranceles .fila.libre{background:var(--alt)}
.aranceles .fila.libre .m{color:#2F5B45}
.marca{display:flex;align-items:flex-end;gap:6px;text-decoration:none}
.marca span{font-family:'Space Grotesk',system-ui,sans-serif;font-size:23px;font-weight:500;color:var(--salvia);
  letter-spacing:.01em;line-height:1;padding-bottom:1px}

.auspis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.auspi{background:#fff;border:1px solid var(--borde);border-radius:4px;padding:22px}
.auspi img.v{height:22px;display:block;margin-bottom:16px}
.auspi .hueco,.auspi .marco{display:flex;align-items:center;justify-content:center;height:120px;padding:10px;
  border-radius:3px;overflow:hidden}
.auspi .hueco{border:1px dashed var(--salvia);color:var(--suave);font-size:14px}
.auspi .marco img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block}
.auspi .nom{margin-top:14px;font-size:16px;font-weight:600;color:var(--tinta)}
.equipo{list-style:none;margin:0;padding:0;border-top:1px solid var(--borde)}
.equipo li{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 20px;
  padding:14px 2px;border-bottom:1px solid var(--borde)}
.equipo .n{font-size:16.5px;font-weight:600;color:var(--tinta)}
.equipo .inst{font-size:14.5px;color:var(--suave)}
.pend{display:inline-block;border:1px dashed var(--salvia);color:var(--suave);font-size:14px;padding:4px 12px;border-radius:3px}

/* ---------- responsive ---------- */
.topin img{height:34px;max-width:100%}
nav{gap:14px 20px}

@media (max-width:860px){
  .banner{padding:62px 20px 56px}
  .banner .datos{font-size:16px}
  section{padding:46px 0}
}

@media (max-width:680px){
  body{font-size:16px}
  .wrap{padding:0 18px}
  .topin{flex-direction:column;align-items:flex-start;gap:12px;padding:14px 18px}
  .topin img{height:28px}
  .marca span{font-size:19px;padding-bottom:1px}
  nav{gap:10px 16px;font-size:14.5px;width:100%}
  .banner{padding:48px 18px 44px}
  .banner img.logo{width:min(320px,88vw);margin-bottom:20px}
  .banner .datos{flex-direction:column;gap:4px;font-size:15.5px}
  .btn{margin-top:22px;padding:13px 24px;font-size:15px}
  .pagehead{padding:38px 18px}
  section{padding:38px 0}
  p.lead{font-size:18px}
  p.body{font-size:16.5px}
  .cards,.links,.auspis{grid-template-columns:1fr}
  .dia h3.fecha{font-size:21px}
  table.prog td{padding:12px 0}
  table.prog td.h{width:104px;font-size:14px}
  table.prog.doble col.c-h{width:104px}
  table.prog.doble td.paralelo{padding:12px}
  footer .contacto{text-align:left}
}

@media (max-width:460px){
  nav{gap:8px 14px;font-size:14px}
  table.prog td,table.prog td.h{display:block;width:auto;border-top:none;padding:0}
  table.prog tr{display:block;border-top:1px solid var(--borde);padding:12px 0}
  table.prog tr.pausa{border-top:1px solid var(--borde)}
  table.prog tr.pausa td{background:none;padding:0}
  table.prog td.h{margin-bottom:2px}
  table.prog.doble{display:block}
  table.prog.doble colgroup{display:none}
  table.prog.doble td.paralelo{border-left:3px solid var(--borde);margin-top:10px;padding:2px 0 2px 12px}
}
