:root{
  /* Tema claro */
  --bg:#f8fafc;
  --surface:#ffffff;
  --text:#0f172a;
  --muted:#475569;
  --primary:#0a66c2;
  --primary-2:#094c91;
  --ring: rgba(10,102,194,.25);
  --gold:#d4af37;
  --silver:#c0c0c0;
  --bronze:#cd7f32;
  --border: #e2e8f0;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;height:100%;scroll-behavior:smooth}
body{
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, Helvetica, Arial;
  background: var(--bg);
  color:var(--text);
}

.container{width:min(1100px,92%);margin:0 auto}

/* Ribbon IdISSC */
.ribbon{background:#eef2f7;border-bottom:1px solid var(--border)}
.ribbon-inner{display:flex;align-items:center;justify-content:space-between;padding:.4rem 0}
.ribbon-text{font-size:.9rem;color:#1f2937}
.ribbon-logo{height:28px;object-fit:contain}

.site-header{
  position:sticky;top:0;z-index:10;
  backdrop-filter:saturate(180%) blur(8px);
  background:rgba(255,255,255,.85);
  border-bottom:1px solid var(--border);
  display:flex;align-items:center;gap:1rem;padding:.6rem 1rem;
}
.brand{color:var(--text);text-decoration:none;font-weight:700;font-size:1.1rem}
.site-nav{margin-left:auto;display:flex;gap:.8rem;align-items:center}
.site-nav a{color:var(--muted);text-decoration:none;padding:.4rem .6rem;border-radius:.6rem}
.site-nav a:hover{color:var(--text);background:#f1f5f9}
.btn-primary{background:var(--primary);color:#fff !important;border-radius:.7rem;padding:.5rem .9rem}
.btn-primary:hover{background:var(--primary-2)}
.btn-secondary{border:1px solid var(--border);border-radius:.7rem;padding:.5rem .9rem;color:var(--text);text-decoration:none;background:#fff}
.btn-lg{font-size:1.05rem;padding:.7rem 1.1rem}

.nav-toggle{display:none;margin-left:auto;background:transparent;border:0;color:var(--text);font-size:1.3rem}

.hero{
  padding:4.5rem 0 3rem;
  background:
    radial-gradient(600px 300px at 10% 10%, rgba(10,102,194,.08) 0%, transparent 60%),
    radial-gradient(600px 300px at 90% 20%, rgba(2,6,23,.06) 0%, transparent 60%);
  text-align:center;
}
.hero h1{font-size:clamp(2rem,4vw,3rem);margin:.2rem 0 .6rem}
.lead{color:var(--muted);font-size:1.05rem;max-width:900px;margin:0 auto 1rem}
.event-meta{display:flex;gap:1rem;justify-content:center;color:var(--muted);margin:.7rem 0 1.2rem}
.cta-row{display:flex;gap:.8rem;justify-content:center;margin:1rem 0 1.4rem}

.countdown{display:flex;gap:1rem;justify-content:center;margin-top:1rem}
.countdown div{
  border:1px solid var(--border);
  border-radius:1rem;padding:.6rem .9rem;min-width:70px;
  background:#fff;
}
.countdown span{font-size:1.4rem;font-weight:700;display:block}

.section{padding:3rem 0}
.section.alt{background:#f1f5f9}

h2{font-size:1.7rem;margin:.2rem 0 1rem}
h3{margin:0 0 .6rem}
.bullets{line-height:1.7;color:var(--muted)}
.steps{line-height:1.8;color:var(--muted)}
.tip{margin-top:.8rem;color:var(--muted)}

.timeline{list-style:none;padding:0;margin:0;display:grid;gap:.6rem}
.timeline li{padding:.7rem 1rem;background:#fff;border:1px solid var(--border);border-radius:.9rem}

.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}
.card{padding:1rem;border:1px solid var(--border);background:#fff;border-radius:1rem;color:var(--muted)}

/* Mentores por reto */
.mentores{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.9rem}
.mentores figure{margin:0;text-align:center}
.mentores img{
  width:64px;height:64px;object-fit:cover;border-radius:50%;
  border:2px solid #e5e7eb; background:#fff
}
.mentores figcaption{font-size:.75rem;color:#334155;margin-top:.25rem}

/* Equipo Coordinador */
.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}
.team{padding:1rem;background:#fff;border:1px solid var(--border);border-radius:1rem;text-align:center}
.team img{width:92px;height:92px;border-radius:50%;object-fit:cover;border:2px solid #e5e7eb;background:#fff}
.team.special{outline:2px dashed var(--primary);outline-offset:4px}

.tier.gold{color:var(--gold)}
.tier.silver{color:var(--silver)}
.tier.bronze{color:var(--bronze)}
.tier.colaboradores{color:var(--gold)}

.sponsor-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:1rem;margin:1rem 0 2rem;
}
.sponsor{
  display:flex;align-items:center;justify-content:center;
  aspect-ratio: 16/9;
  background:#fff;
  border:1px solid var(--border);
  border-radius:1rem;
  overflow:hidden;
}
.sponsor img{max-width:90%;max-height:90%;object-fit:contain;filter:drop-shadow(0 2px 6px rgba(0,0,0,.2))}
.sponsor .placeholder{color:var(--muted);font-size:.9rem}

.notice{
  display:none;
  padding:.6rem 1rem;text-align:center;
  border-bottom:1px solid var(--border);
  background:#eef2f7;color:#0f172a
}
.notice.show{display:block}
.notice.info{background:#e7f0fb}
.notice.warn{background:#fff6db}
.notice.critical{background:#ffe8e5}

.site-footer{
  padding:2rem 0;border-top:1px solid var(--border);
  background:#fff;color:var(--muted);text-align:center
}

/* Responsive */
@media (max-width: 860px){
  .nav-toggle{display:block}
  .site-nav{position:fixed;inset:96px 0 auto 0;display:none;flex-direction:column;background:#ffffff;border-bottom:1px solid var(--border);padding:1rem}
  .site-nav.show{display:flex}
  .event-meta{flex-direction:column}
}
