/* Tipografía y colores */
:root{
  --bg:#fff8fb;
  --text:#1f2937;
  --muted:#6b7280;
  --brand:#e85d9b;
  --brand-2:#c04c82;
  --card:#ffffff;
  --border:#e5e7eb;
  --shadow:0 10px 25px rgba(0,0,0,.06);
  --radius:14px;
}
@media (prefers-color-scheme: dark){
  :root{
    --bg:#0f1014;
    --text:#e5e7eb;
    --muted:#9ca3af;
    --brand:#f472b6;
    --brand-2:#db2777;
    --card:#14151b;
    --border:#1f2937;
    --shadow:0 10px 25px rgba(0,0,0,.4);
  }
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
}

/* Layout básico */
.wrap{ max-width: 1100px; padding: 0 20px; margin: 0 auto; }

.topbar{
  border-bottom:1px solid var(--border);
  background:linear-gradient(90deg,var(--brand),var(--brand-2));
  color:#fff;
}
.topbar .wrap{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 20px;
}
.brand{ color:#fff; text-decoration:none; font-weight:800; letter-spacing:.2px; }
.topbar nav a{
  color:#fff; margin-left:16px; text-decoration:none; font-weight:600; opacity:.95;
}
.topbar nav a[aria-current="page"]{ text-decoration:underline; }

.hero{
  padding: 40px 0 10px;
  background:
    radial-gradient(80% 100% at 20% 0%, rgba(232,93,155,.15), transparent 60%),
    radial-gradient(80% 100% at 80% 0%, rgba(192,76,130,.12), transparent 60%);
}
.hero-grid{ display:grid; gap:24px; align-items:center; grid-template-columns: 1.1fr .9fr; }
.hero h1{ margin:0 0 .25rem; font-size: clamp(1.6rem, 2.5vw, 2.2rem); }
.hero p{ max-width:55ch; }
.hero-img img{ width:100%; height:auto; border-radius:var(--radius); box-shadow:var(--shadow); }

.grid3{ display:grid; gap:18px; grid-template-columns: repeat(3, 1fr); margin:32px auto; }
.grid2{ display:grid; gap:18px; grid-template-columns: repeat(2, 1fr); }

.card{
  background:var(--card); border:1px solid var(--border); border-radius:var(--radius);
  padding:18px; box-shadow:var(--shadow);
}
.page-head{ margin:28px 0 10px; }
.page-head h1{ margin:0 0 .25rem; }

.btn{
  display:inline-block; background:var(--brand); color:#fff; padding:10px 14px;
  border-radius:10px; text-decoration:none; font-weight:700;
}
.btn:hover{ background:var(--brand-2); }

.link{ color:var(--brand-2); font-weight:700; text-decoration:none; }
.link:hover{ text-decoration:underline; }

.muted{ color:var(--muted); }

/* Video responsive con aspect-ratio */
.video{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  background:#000;
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow);
}
.video iframe{
  position:absolute; inset:0; width:100%; height:100%; border:0;
}

/* Lista de enlaces */
.links{ display:grid; gap:.5rem; padding-left:1rem; }
.links a{ color:var(--brand-2); }

/* Footer */
.foot{ border-top:1px solid var(--border); margin-top:40px; }
.foot .wrap{ padding:16px 20px; text-align:center; }

/* Responsivo */
@media (max-width: 900px){
  .hero-grid{ grid-template-columns: 1fr; }
  .grid3{ grid-template-columns: 1fr; }
  .grid2{ grid-template-columns: 1fr; }
}
