:root {
  --papel: #FBF8F2;
  --tinta: #3A3532;
  --tinta-suave: #6E665F;
  --tinta-tenue: #9A918A;
  --salvia: #A8BCA1;
  --salvia-honda: #5F7A5A;
  --linea: #E7DFD3;
  --superficie: #FFFDF9;
  color-scheme: light dark;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --papel: #201E1C; --tinta: #EDE7DE; --tinta-suave: #B5ADA4;
    --tinta-tenue: #857D75; --salvia: #7C9575; --salvia-honda: #A8BCA1;
    --linea: #3A3532; --superficie: #282523;
  }
}
:root[data-theme="dark"] {
  --papel: #201E1C; --tinta: #EDE7DE; --tinta-suave: #B5ADA4;
  --tinta-tenue: #857D75; --salvia: #7C9575; --salvia-honda: #A8BCA1;
  --linea: #3A3532; --superficie: #282523;
}
* { box-sizing: border-box; }
body {
  background: var(--papel); color: var(--tinta);
  font-family: "Nunito Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.65; margin: 0;
}
.hoja { max-width: 40rem; margin: 0 auto; padding: 4rem 1.5rem 6rem; }
.marca { text-align: center; margin-bottom: 3.5rem; }
.marca a { text-decoration: none; color: inherit; display: inline-block; }
.marca b {
  display: block; font-weight: 400; font-size: 1.7rem;
  letter-spacing: 0.42em; text-indent: 0.42em;
}
.marca span {
  display: block; font-size: 0.72rem; letter-spacing: 0.5em;
  text-indent: 0.5em; color: var(--tinta-suave); margin-top: 0.4rem;
}
h1 { font-size: 1.9rem; font-weight: 600; line-height: 1.25; text-wrap: balance; margin: 0 0 0.6rem; }
.fecha { color: var(--tinta-tenue); font-size: 0.82rem; letter-spacing: 0.06em; text-transform: uppercase; }
.promesa {
  background: var(--superficie); border: 1px solid var(--linea);
  border-radius: 14px; padding: 1.5rem 1.6rem; margin: 2.2rem 0 3rem;
}
.promesa p { margin: 0 0 0.7rem; }
.promesa p:last-child { margin-bottom: 0; }
.promesa strong { color: var(--salvia-honda); font-weight: 600; }
h2 {
  font-size: 1.05rem; font-weight: 600; margin: 2.6rem 0 0.7rem;
  padding-top: 1.6rem; border-top: 1px solid var(--linea);
}
h2:first-of-type { border-top: none; padding-top: 0; }
p { margin: 0 0 1rem; }
ul { margin: 0 0 1rem; padding-left: 1.15rem; }
li { margin-bottom: 0.5rem; }
.apunte { color: var(--tinta-suave); font-size: 0.93rem; }
a { color: var(--salvia-honda); }
.tabla { width: 100%; border-collapse: collapse; margin: 0.4rem 0 1.2rem; font-size: 0.94rem; }
.tabla th, .tabla td { text-align: left; padding: 0.6rem 0.8rem 0.6rem 0; border-bottom: 1px solid var(--linea); vertical-align: top; }
.tabla th { font-weight: 600; color: var(--tinta-suave); font-size: 0.8rem; letter-spacing: 0.06em; text-transform: uppercase; }
.envoltorio { overflow-x: auto; }
footer {
  margin-top: 3.5rem; padding-top: 1.6rem; border-top: 1px solid var(--linea);
  color: var(--tinta-tenue); font-size: 0.88rem;
}
footer a + a { margin-left: 0.9rem; }
