:root {
  --bg:#000; --text:#fff;
  --text-soft:rgba(255,255,255,0.6); --text-mute:rgba(255,255,255,0.3);
  --line:rgba(255,255,255,0.15);
  --accent:#C8482E;
  --accent-soft:rgba(200,72,46,0.18);
  --serif:'Times New Roman',serif;
  --sans:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --mono:ui-monospace,monospace;
  --ease:cubic-bezier(.22,1,.36,1);
}
*, *::before, *::after { box-sizing:border-box; }
html, body { margin:0; padding:0; }
body {
  background:var(--bg); color:var(--text);
  font-family:var(--sans); line-height:1.6;
  overflow-x:hidden; padding-bottom:64px;
}
@media (min-width:769px) { body { padding-bottom:0; } }
img { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
::selection { background:var(--accent); color:var(--text); }

.wrap { max-width:820px; margin:0 auto; padding:0 1.5rem; }

.noise-overlay {
  position:fixed; inset:0; pointer-events:none; z-index:9999;
  opacity:0.035;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}

.kicker {
  font-family:var(--mono); font-size:0.74rem;
  letter-spacing:0.28em; text-transform:uppercase;
  color:var(--accent)!important; margin:0 0 1.5rem!important;
}

/* ───── HERO ───── */
.hero {
  position:relative; min-height:100vh;
  padding:2rem 1.5rem 2.5rem;
  display:flex; flex-direction:column; justify-content:space-between;
  overflow:hidden;
}
.hero__bg { position:absolute; inset:0; z-index:0; }
.hero__bg img {
  width:100%; height:100%; object-fit:cover;
  filter:brightness(0.55) contrast(1.05) saturate(0.9);
}
.hero__bg::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg,
    rgba(0,0,0,0.6) 0%,
    rgba(0,0,0,0.3) 30%,
    rgba(0,0,0,0.5) 70%,
    rgba(0,0,0,0.92) 100%);
}
.hero__top, .hero__bottom {
  position:relative; z-index:2;
  display:flex; justify-content:space-between;
  font-family:var(--mono); font-size:0.76rem;
  letter-spacing:0.22em; text-transform:uppercase;
  color:var(--text-soft);
}
.hero__center {
  position:relative; z-index:2;
  flex:1; display:flex; flex-direction:column; justify-content:center;
  max-width:760px; margin:0 auto; width:100%;
  padding:3rem 0; text-align:center;
}
.hero__eyebrow {
  font-family:var(--mono); font-size:1.5rem;
  letter-spacing:0.32em; text-transform:uppercase;
  color:var(--accent); margin:0 0 1.5rem;
}
.hero__title {
  font-family:var(--serif); font-weight:400;
  font-size:clamp(3.6rem,14.4vw,106px);
  line-height:0.88; letter-spacing:-0.045em;
  margin:0 0 1.75rem;
}
.hero__sub {
  font-family:var(--serif); font-style:italic;
  font-size:clamp(1.25rem,2.6vw,1.75rem);
  line-height:1.3; color:var(--text-soft);
  margin:0 0 2.5rem;
}
.hero__meta {
  display:flex; flex-wrap:wrap; gap:2.5rem; justify-content:center;
  margin-bottom:2.5rem;
  font-family:var(--mono); font-size:0.78rem;
  letter-spacing:0.18em; text-transform:uppercase;
  color:var(--text-soft);
}
.hero__meta span { display:block; color:var(--text-mute); margin-bottom:0.4rem; }
.hero__meta strong { color:var(--text); font-weight:400; }

/* ───── BOTONES ───── */
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:0.75rem;
  padding:1rem 2rem;
  border:1px solid var(--text);
  font-family:var(--mono); font-size:1.1rem; font-weight:700;
  letter-spacing:0.22em; text-transform:uppercase;
  transition:background 400ms var(--ease), color 400ms var(--ease), border-color 400ms var(--ease);
}
.btn:hover { background:var(--text); color:var(--bg); }
.btn--accent {
  background:var(--accent); border-color:var(--accent); color:var(--text);
}
.btn--accent:hover { background:transparent; color:var(--text); border-color:var(--text); }
.btn--big { padding:1.25rem 2.5rem; font-size:1.1rem; }

/* ───── SECCIONES COMUNES ───── */
.recibir, .antologia, .temario, .imparte, .precio {
  padding:6rem 0; border-top:1px solid var(--line);
}
.recibir h2, .antologia h2, .temario h2, .imparte h2, .precio h2 {
  font-family:var(--serif); font-weight:400;
  font-size:clamp(2rem,5vw,3.25rem);
  line-height:1.05; letter-spacing:-0.02em;
  margin:0 0 2.5rem;
}
.recibir h2 em, .antologia h2 em, .temario h2 em, .imparte h2 em {
  font-style:italic; color:var(--accent);
}

.recibir, .antologia, .temario, .imparte { text-align:center; }

/* ───── QUÉ RECIBES ───── */
.recibir ul {
  list-style:none; padding:0; margin:0;
  display:flex; flex-direction:column; gap:1.25rem;
}
.recibir li {
  font-family:var(--sans); font-size:1.0625rem;
  line-height:1.55; color:var(--text-soft);
}
.recibir li::before {
  content:''; display:block; width:1rem; height:1px; background:var(--accent);
  margin:0 auto 0.5rem;
}
.recibir strong { color:var(--text); font-weight:500; }

/* ───── ANTOLOGÍA ───── */
.antologia__grid {
  display:grid; grid-template-columns:1.2fr 1fr;
  gap:4rem; align-items:center; justify-items:center;
  max-width:980px; margin:0 auto;
}
.antologia__txt p { color:var(--text-soft); max-width:32rem; margin:0 auto 1.25rem; }
.antologia__pull {
  font-family:var(--serif); font-style:italic;
  font-size:1.125rem; color:var(--text);
  border-top:2px solid var(--accent);
  padding-top:1.25rem; margin:1.5rem auto 0;
}
.antologia__visual { position:relative; }
.antologia__visual img {
  width:384px; max-width:100%; aspect-ratio:3/4; object-fit:cover;
  filter:grayscale(0.3) contrast(1.05);
}
.antologia__caption {
  display:block; margin-top:0.75rem;
  font-family:var(--mono); font-size:0.71rem;
  letter-spacing:0.22em; text-transform:uppercase;
  color:var(--text-mute);
}
@media (max-width:760px) {
  .antologia__grid { grid-template-columns:1fr; gap:2.5rem; }
}

/* ───── TEMARIO ───── */
.temario__grid {
  display:grid; grid-template-columns:0.85fr 1fr;
  gap:4rem; align-items:center; justify-items:center;
  max-width:1100px; margin:0 auto;
}
.temario__visual {
  position:static;
}
.temario__visual img {
  width:384px; max-width:100%; aspect-ratio:3/4; object-fit:cover;
  filter:grayscale(0.3) contrast(1.05);
}
.temario__list ol {
  list-style:none; padding:0; margin:0;
  display:flex; flex-direction:column;
}
.temario__list li {
  display:flex; align-items:baseline; justify-content:center; gap:1.5rem;
  padding:1.1rem 0;
  border-top:1px solid var(--line);
  font-family:var(--serif); font-size:1.15rem;
  line-height:1.3; color:var(--text);
  position:relative; transition:color 400ms var(--ease);
}
.temario__list li:last-child { border-bottom:1px solid var(--line); }
.temario__list li::before {
  content:''; position:absolute; left:-1.5rem; top:50%;
  width:0; height:1px; background:var(--accent);
  transition:width 400ms var(--ease);
}
.temario__list li:hover::before { width:1rem; }
.temario__list li:hover { color:var(--accent); }
.temario__list span {
  font-family:var(--mono); font-size:0.70rem;
  letter-spacing:0.18em; color:var(--text-mute);
  min-width: 1rem;
}
@media (max-width:760px) {
  .temario__grid { grid-template-columns:1fr; gap:2rem; }
  .temario__visual { position:static; }
  .temario__visual img { aspect-ratio:3/4; }
}

/* ───── IMPARTE ───── */
.imparte__grid {
  display:grid; grid-template-columns:1fr 1.4fr;
  gap:4rem; align-items:center; justify-items:center;
  max-width:980px; margin:0 auto;
}
.imparte__portrait img {
  width:384px; max-width:100%; aspect-ratio:3/4; object-fit:cover;
  filter:grayscale(0.2) contrast(1.05);
}
.imparte__bio p { color:var(--text-soft); max-width:34rem; margin:0 auto 1.25rem; }
.imparte__bio em { color:var(--text); font-style:italic; }
@media (max-width:760px) {
  .imparte__grid { grid-template-columns:1fr; gap:2.5rem; }
}

/* ───── PRECIO + CTA ───── */
.precio { text-align:center; }
.precio__num {
  font-family:var(--serif); font-weight:400;
  font-size:clamp(3.5rem,10vw,6rem);
  line-height:1; letter-spacing:-0.035em;
  margin:0 0 1rem;
}
.precio__num span {
  font-size:0.4em;
  color:var(--accent); margin-left:0.4rem;
}
.precio__note {
  color:var(--text-soft); margin:0 0 2.5rem;
}
.precio .btn { margin-bottom:2rem; }
.precio .mini {
  font-family:var(--mono); font-size:0.74rem;
  letter-spacing:0.18em; text-transform:uppercase;
  color:var(--text-mute);
}

/* ───── MOBILE STICKY CTA ───── */
.mobile-cta {
  position:fixed; bottom:0; left:0; right:0; z-index:1000;
  background:rgba(0,0,0,0.95);
  border-top:1px solid var(--line);
  padding:0.75rem 1rem;
  display:flex; align-items:center; justify-content:space-between;
  gap:1rem;
  backdrop-filter:blur(8px);
}
.mobile-cta__price { display:flex; flex-direction:column; line-height:1.1; }
.mobile-cta__price span {
  font-family:var(--serif); font-size:1.25rem; color:var(--text);
}
.mobile-cta__price small {
  font-family:var(--mono); font-size:0.66rem;
  letter-spacing:0.18em; text-transform:uppercase;
  color:var(--text-mute);
}
.mobile-cta__btn {
  background:var(--accent); color:var(--text);
  padding:0.75rem 1.25rem;
  font-family:var(--mono); font-size:0.78rem;
  letter-spacing:0.22em; text-transform:uppercase;
  transition:background 300ms var(--ease);
}
.mobile-cta__btn:hover { background:#a83a23; }
@media (min-width:769px) { .mobile-cta { display:none; } }

/* ───── FOOTER ───── */
footer { padding:2.5rem 0; border-top:1px solid var(--line); }
footer .wrap {
  display:flex; justify-content:center;
  font-family:var(--mono); font-size:0.71rem;
  letter-spacing:0.2em; text-transform:uppercase;
  color:var(--text-mute);
}
@media (max-width:806px) {
  .hero__top span:last-child { display:none; }
}
@media (max-width:560px) {
  footer .wrap { flex-direction:column; gap:0.75rem; }
  .hero__meta { gap:1.5rem; }
}

@media (prefers-reduced-motion:reduce) {
  * { transition:none !important; animation:none !important; }
}