/* ============================================================
   HOLEVIEW — páginas legales. Mismo papel, misma tipografía y el
   mismo verde que la web comercial, sin nada de su coreografía:
   aquí lo que toca es leer.
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; }

:root {
  --verde:  oklch(0.376 0.071 168);
  --tinta:  oklch(0.285 0.055 168);
  --arena-honda: oklch(0.640 0.075 82);
  --papel:  oklch(0.968 0.013 91);
  --papel-hondo: oklch(0.949 0.017 91);
  --linea:  oklch(0.376 0.071 168 / .16);
  color-scheme: light;
}

body {
  background: var(--papel); color: var(--tinta);
  font-family: 'Archivo', system-ui, sans-serif;
  font-size: 16px; line-height: 1.65;
}
h1, h2 { font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 300; margin: 0; line-height: 1.1; }
p, li { text-wrap: pretty; }
a { color: var(--verde); }

.wrap { width: min(760px, 100% - 10vw); margin-inline: auto; }

.legal-nav { border-bottom: 1px solid var(--linea); background: var(--papel); }
.legal-nav .wrap { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.1rem 0; }
.legal-nav a { text-decoration: none; }
.legal-nav .marca { font-family: 'Cormorant Garamond', serif; font-size: 1.5rem; color: var(--verde); }
.legal-nav .volver { font-size: .8rem; color: var(--tinta); opacity: .7; }

.legal-head { padding: 5rem 0 2.5rem; }
.legal-head .et {
  text-transform: uppercase; letter-spacing: .22em; font-size: .7rem;
  color: var(--arena-honda); margin: 0 0 1rem;
}
.legal-head h1 { font-size: clamp(2rem, 5vw, 3rem); color: var(--verde); }
.legal-head .updated { margin-top: 1rem; font-size: .82rem; opacity: .6; }

.legal-toc {
  margin: 0 0 3.5rem; padding: 1.6rem 1.8rem;
  background: var(--papel-hondo); border: 1px solid var(--linea);
}
.legal-toc p { margin: 0 0 .8rem; font-size: .68rem; letter-spacing: .2em; text-transform: uppercase; color: var(--arena-honda); }
.legal-toc ol { margin: 0; padding-left: 1.2rem; columns: 2; column-gap: 2rem; font-size: .9rem; }
@media (max-width: 620px) { .legal-toc ol { columns: 1; } }
.legal-toc li { margin-bottom: .35rem; break-inside: avoid; }

.legal-body section { margin-bottom: 3rem; scroll-margin-top: 5rem; }
.legal-body .sec-idx {
  display: block; font-size: .68rem; letter-spacing: .2em;
  color: var(--arena-honda); margin-bottom: .5rem;
}
.legal-body h2 { font-size: clamp(1.35rem, 3vw, 1.8rem); color: var(--verde); margin-bottom: .9rem; }
.legal-body p { margin: 0 0 1rem; }
.legal-body ul { margin: 0 0 1rem; padding-left: 1.2rem; }
.legal-body li { margin-bottom: .5rem; }

.datos { border: 1px solid var(--linea); background: var(--papel-hondo); padding: 1.4rem 1.6rem; }
.datos dl { display: grid; grid-template-columns: auto 1fr; gap: .5rem 1.2rem; margin: 0; font-size: .94rem; }
.datos dt { color: var(--arena-honda); font-size: .8rem; letter-spacing: .04em; }
.datos dd { margin: 0; }
@media (max-width: 560px) { .datos dl { grid-template-columns: 1fr; gap: .1rem 0; } .datos dd { margin-bottom: .7rem; } }

.legal-footer { border-top: 1px solid var(--linea); margin-top: 4rem; padding: 2rem 0 4rem; }
.foot-links { display: flex; flex-wrap: wrap; gap: 1.4rem; font-size: .85rem; }
.legal-footer .sello { margin-top: 1.2rem; font-size: .78rem; opacity: .55; }
