/* Sitio legal ligero, sin scripts, imágenes remotas ni tipografías externas. */
:root {
  color-scheme: light;
  --bg: #f5f1eb;
  --paper: #fffdf9;
  --ink: #292923;
  --muted: #6e645b;
  --line: #d8c7b8;
  --accent: #71523e;
  --warn-bg: #fff2d9;
  --warn-line: #ba7e3e;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--bg); color: var(--ink); font: 16px/1.7 system-ui, -apple-system, Segoe UI, sans-serif; }
a { color: var(--accent); text-underline-offset: 3px; }
a:hover { text-decoration-thickness: 2px; }
a:focus-visible { outline: 3px solid var(--warn-line); outline-offset: 4px; }
.site-header { display: flex; justify-content: space-between; gap: 24px; align-items: center; padding: 20px max(24px, calc((100vw - 1020px)/2)); border-bottom: 1px solid var(--line); background: var(--paper); }
.brand { font-size: 15px; font-weight: 850; letter-spacing: .12em; text-decoration: none; color: var(--ink); }
.brand span { color: var(--accent); }
nav { display: flex; flex-wrap: wrap; gap: 22px; font-size: 14px; }
.page { max-width: 1020px; margin: 40px auto 76px; padding: 0 22px; }
.warning { padding: 18px 24px; background: var(--warn-bg); border-left: 5px solid var(--warn-line); border-radius: 6px; margin-bottom: 24px; font-size: 14px; }
.warning strong { letter-spacing: .08em; font-size: 12px; }
.warning p { margin: 4px 0 0; }
.document { background: var(--paper); border: 1px solid var(--line); border-radius: 16px; padding: clamp(24px, 5vw, 58px); overflow-wrap: anywhere; box-shadow: 0 5px 30px #382f2010; }
h1,h2,h3 { font-weight: 760; line-height: 1.32; letter-spacing: -.025em; }
h1 { font-size: clamp(30px, 5vw, 42px); margin-top: 0; }
h2 { font-size: clamp(21px, 3vw, 26px); margin-top: 40px; padding-top: 15px; border-top: 1px solid var(--line); }
h3 { font-size: 19px; }
p,li { max-width: 82ch; }
li { margin: 7px 0; }
table { border-collapse: collapse; display: block; width: 100%; overflow-x: auto; font-size: 14px; }
td,th { border: 1px solid var(--line); padding: 9px 14px; text-align: left; vertical-align: top; }
th { background: #efe7de; }
blockquote { border-left: 3px solid var(--line); margin: 20px 0; padding: 5px 20px; background: #f7f1ea; }
code { font: 0.92em/1.5 ui-monospace, SFMono-Regular, Consolas, monospace; background: #f3ede6; padding: 2px 5px; border-radius: 4px; }
pre { overflow-x: auto; padding: 14px; background: #f3ede6; }
.tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; margin-top: 32px; }
.tile { display: grid; gap: 6px; color: var(--ink); text-decoration: none; padding: 24px; background: #f7f1e9; border: 1px solid var(--line); border-radius: 12px; }
.tile:hover { border-color: var(--accent); }
.tile span { font-size: 14px; color: var(--accent); }
footer { text-align: center; padding: 25px; color: var(--muted); font-size: 13px; }
@media(max-width:580px) { .site-header { flex-direction: column; align-items: start; gap: 10px; } .page { margin-top: 22px; } .document { padding: 24px 18px; } }
/* ES/EN locale switch: two real links, no scripts or stored preferences. */
.locale-switch { display: flex; border: 1px solid var(--line); padding: 3px; gap: 4px; border-radius: 10px; }
.locale-switch a { border-radius: 7px; text-align: center; font-size: 13px; font-weight: 750; padding: 7px 11px; min-width: 39px; text-decoration: none; }
.locale-switch a.active { background: var(--accent); color: var(--paper); }
.locale-switch a:not(.active):hover { background: var(--bg); }
