/* ═══════════════════════════════════════════════════════════════════════════
   poyntia.com · páginas legales (privacidad, aviso legal, cookies) — 3-oct-2026
   Mismo lenguaje que la portada: papel #fdfcfc, tarjetas, píldoras, Geist.
   Sin una sola petición a terceros: las fuentes salen de /fonts/.
   Cada idioma vive en su propio elemento con atributo lang; sólo se ve el activo
   (html[lang] lo fija assets/legal-v1.js; sin JavaScript se ve el español).
   ═══════════════════════════════════════════════════════════════════════════ */
@font-face { font-family:"Geist"; font-style:normal; font-weight:100 900; font-display:swap;
  src:url("/fonts/geist-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:"Geist"; font-style:normal; font-weight:100 900; font-display:swap;
  src:url("/fonts/geist-latinext.woff2") format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:"Geist Mono"; font-style:normal; font-weight:100 900; font-display:swap;
  src:url("/fonts/geistmono-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:"Geist Mono"; font-style:normal; font-weight:100 900; font-display:swap;
  src:url("/fonts/geistmono-latinext.woff2") format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }

:root {
  --bg:#fdfcfc; --bg-2:#f3f2f0; --card:#f5f4f2; --card-2:#eeece9;
  --line:#e9e7e4; --line-2:#dbd8d3;
  --ink:#0a0a0a; --ink-2:#333; --ink-3:#5f5d5a; --ink-4:#a6a4a0;
  --white:#fff; --blue:#2551d6; --blue-soft:#eef2fd; --blue-line:#cfd9f7;
  --wrap:1176px; --gut:24px; --toc:252px;
  --r-xl:28px; --r-l:20px; --r-m:14px; --r-s:10px;
  --sans:"Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --mono:"Geist Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --ease:cubic-bezier(.2,.7,.2,1);
}
* { box-sizing:border-box }
html { -webkit-text-size-adjust:100%; scroll-padding-top:96px }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior:smooth } }
body { margin:0; background:var(--bg); color:var(--ink); font:400 17px/1.7 var(--sans);
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; text-rendering:optimizeLegibility }
img, svg { display:block; max-width:100% }
img { height:auto }
p { margin:0 }
a { color:inherit }
button { font:inherit; color:inherit }

/* un solo idioma a la vez */
html[lang="es"] [lang="en"], html[lang="en"] [lang="es"] { display:none !important }
/* datos que faltan (CIF, Registro Mercantil): no se ven hasta que se rellenen */
.por-completar, [hidden] { display:none !important }

.wrap { width:min(100% - 2*var(--gut), var(--wrap)); margin-inline:auto }
.skip { position:absolute; left:-9999px; top:8px; z-index:100; background:#000; color:#fff; padding:10px 14px; border-radius:10px }
.skip:focus { left:12px }
:focus-visible { outline:2px solid var(--blue); outline-offset:3px; border-radius:8px }

/* ── píldoras (iguales que las de la portada) ─────────────────────────── */
.pill { display:inline-flex; align-items:center; justify-content:center; gap:8px; height:42px; padding:0 18px;
  border-radius:999px; border:1px solid transparent; font-size:16px; font-weight:400; line-height:1;
  text-decoration:none; white-space:nowrap; cursor:pointer; background:none;
  transition:background-color .2s, border-color .2s, color .2s }
.pill-white { background:#fff; color:#000; border-color:var(--line-2) }
.pill-white:hover { border-color:#000 }
.pill-black { background:#000; color:#fff }
.pill-black:hover { background:#262626 }
.pill svg { width:18px; height:18px; flex:none }

/* ── cabecera ─────────────────────────────────────────────────────────── */
.bar { position:sticky; top:0; z-index:50; background:rgba(253,252,252,.92); border-bottom:1px solid var(--line);
  -webkit-backdrop-filter:saturate(1.6) blur(14px); backdrop-filter:saturate(1.6) blur(14px) }
.bar-row { display:flex; align-items:center; gap:28px; min-height:72px }
.logo { display:flex; align-items:center; flex:none }
.logo img { height:27px; width:auto }
.subnav { display:flex; gap:6px; font-size:16px }
.subnav a { text-decoration:none; padding:8px 14px; border-radius:999px; color:var(--ink-3); transition:color .2s, background-color .2s }
.subnav a:hover { color:var(--ink) }
.subnav a[aria-current="page"] { color:var(--ink); background:#fff; box-shadow:0 0 0 1px var(--line-2) }
.bar-end { margin-left:auto; display:flex; align-items:center; gap:10px }
.lang { display:inline-flex; gap:4px; background:var(--bg-2); border-radius:999px; padding:3px }
.lang button { all:unset; cursor:pointer; font-size:14px; padding:7px 13px; border-radius:999px; color:var(--ink-3); letter-spacing:.04em }
.lang button:focus-visible { outline:2px solid var(--blue); outline-offset:2px }
.lang button[aria-pressed="true"] { background:#fff; color:var(--ink); box-shadow:0 0 0 1px var(--line) }

/* ── portada de la página ─────────────────────────────────────────────── */
.hero { padding:64px 0 8px }
.eyebrow { font:500 13px/1 var(--mono); letter-spacing:.1em; text-transform:uppercase; color:var(--ink-3) }
h1 { font-weight:300; font-size:clamp(36px, 4.6vw, 58px); line-height:1.05; letter-spacing:-.03em; margin:18px 0 0; max-width:15em; text-wrap:balance }
.lede { margin-top:20px; font-size:19px; line-height:1.6; color:var(--ink-2); max-width:40em }
.meta { display:flex; flex-wrap:wrap; align-items:center; gap:12px 14px; margin-top:28px; font-size:15px; color:var(--ink-3) }
.badge { display:inline-flex; align-items:center; gap:8px; border:1px solid var(--line-2); background:#fff; border-radius:999px; padding:7px 14px; font-size:14px; color:var(--ink-2) }
.badge i { width:8px; height:8px; border-radius:50%; background:var(--blue); flex:none }

/* ── cuerpo: índice lateral + columna de lectura ──────────────────────── */
.layout { display:grid; grid-template-columns:var(--toc) minmax(0, 1fr); gap:72px; align-items:start; padding:40px 0 112px }
.side { position:sticky; top:96px; align-self:start }
.toc { font-size:15px; max-height:calc(100vh - 128px); overflow:auto; padding-right:4px }
.toc summary { display:none; list-style:none; cursor:pointer; font-size:16px; font-weight:500; padding:14px 18px }
.toc summary::-webkit-details-marker { display:none }
.toc ol { list-style:none; margin:0; padding:0; counter-reset:t }
.toc li { counter-increment:t }
.toc li.nonum { counter-increment:none }
.toc a { display:flex; gap:12px; align-items:baseline; padding:7px 12px; border-left:2px solid var(--line); color:var(--ink-3);
  text-decoration:none; border-radius:0 10px 10px 0; line-height:1.35; transition:color .2s, background-color .2s, border-color .2s }
.toc a::before { content:counter(t, decimal-leading-zero); font:500 12px/1 var(--mono); opacity:.75; flex:none; min-width:1.6em }
.toc li.nonum a::before { content:"\2022" }
.toc a:hover { color:var(--ink) }
.toc a[aria-current="true"] { color:var(--ink); border-left-color:var(--blue); background:var(--card) }

.doc { counter-reset:sec; min-width:0 }
.doc > section { margin-top:64px; scroll-margin-top:96px }
.doc > section:first-child { margin-top:0 }
.doc > section > *:not(.wide):not(.cards) { max-width:72ch }
.doc h2 { font-weight:400; font-size:clamp(26px, 2.6vw, 33px); line-height:1.15; letter-spacing:-.02em; margin:0 0 20px; display:flex; gap:14px; align-items:baseline; text-wrap:balance }
.doc > section:not(.nonum) > h2::before { counter-increment:sec; content:counter(sec); flex:none; font:500 14px/1 var(--mono); color:var(--blue);
  background:var(--blue-soft); border-radius:999px; padding:6px 11px; position:relative; top:-4px }
.doc h3 { font-size:19px; font-weight:500; line-height:1.35; margin:30px 0 8px; letter-spacing:-.005em }
.doc p { margin:0 0 16px; color:var(--ink-2) }
.doc ul, .doc ol { margin:0 0 18px; padding-left:1.25em; color:var(--ink-2) }
.doc li { margin:7px 0; padding-left:.2em }
.doc li::marker { color:var(--ink-4) }
.doc strong { color:var(--ink); font-weight:500 }
.doc a { color:var(--blue); text-decoration-thickness:1px; text-underline-offset:3px }
.doc a:hover { text-decoration-thickness:2px }
.doc code { font:400 .88em var(--mono); background:var(--card); border:1px solid var(--line); border-radius:6px; padding:1px 6px }
.doc .small { font-size:15px; color:var(--ink-3) }
.doc .nota { font-size:15px; color:var(--ink-3); border-left:2px solid var(--line-2); padding-left:14px; margin:0 0 18px }

/* tarjetas «En resumen» */
.cards { display:grid; grid-template-columns:repeat(6, 1fr); gap:12px; margin:0 0 8px }
.card { grid-column:span 2; background:var(--card); border:1px solid var(--line); border-radius:var(--r-l); padding:22px 22px 20px }
.card:nth-child(n+4) { grid-column:span 3 }
.card .k { font:500 12px/1 var(--mono); letter-spacing:.1em; text-transform:uppercase; color:var(--blue) }
.card h3 { margin:12px 0 8px; font-size:20px; font-weight:500; letter-spacing:-.01em }
.card p { margin:0; font-size:15px; line-height:1.55; color:var(--ink-2) }
.card p + p { margin-top:8px }

.callout { background:#fff; border:1px solid var(--line-2); border-radius:var(--r-l); padding:20px 22px; margin:0 0 22px }
.callout.blue { background:var(--blue-soft); border-color:var(--blue-line) }
.callout p:last-child { margin-bottom:0 }
.callout h3 { margin-top:0 }
.big { font-size:clamp(22px, 2.4vw, 28px); line-height:1.25; font-weight:300; letter-spacing:-.02em; color:var(--ink); margin:0 0 10px }

/* ficha clave-valor (titular, responsable) */
.kv { margin:0 0 22px; border:1px solid var(--line); border-radius:var(--r-l); background:#fff; overflow:hidden }
.kv > div { display:grid; grid-template-columns:minmax(120px, 210px) 1fr; gap:16px; padding:14px 20px; border-top:1px solid var(--line) }
.kv > div:first-child { border-top:0 }
.kv dt { color:var(--ink-3); font-size:15px }
.kv dd { margin:0; color:var(--ink); overflow-wrap:anywhere }
.kv a { color:var(--blue) }

/* tablas: tarjetas apiladas en móvil */
.wide { margin:0 0 24px }
.tbl { width:100%; border-collapse:separate; border-spacing:0; border:1px solid var(--line); border-radius:var(--r-l); overflow:hidden; background:#fff; font-size:15px; line-height:1.5 }
.tbl th { text-align:left; font-weight:500; font-size:13px; letter-spacing:.04em; text-transform:uppercase; color:var(--ink-3); background:var(--card); padding:13px 16px; border-bottom:1px solid var(--line) }
.tbl td { padding:15px 16px; vertical-align:top; border-top:1px solid var(--line); color:var(--ink-2) }
.tbl tbody tr:first-child td { border-top:0 }
.tbl td:first-child { color:var(--ink); font-weight:500 }
.tbl td p { margin:0 0 8px; color:inherit }
.tbl td p:last-child { margin-bottom:0 }
.tbl ul { margin:0; padding-left:1.1em }
.tbl li { margin:3px 0 }
.tbl a { color:var(--blue) }

/* ── botón imprimir y pie ─────────────────────────────────────────────── */
.actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:20px }
footer { border-top:1px solid var(--line); background:var(--bg) }
.foot { display:flex; flex-wrap:wrap; gap:28px 48px; justify-content:space-between; align-items:flex-start; padding:48px 0 32px }
.foot img { height:24px; width:auto }
.foot .tag { margin-top:14px; font-size:15px; color:var(--ink-3); max-width:22em; line-height:1.55 }
.foot h4 { margin:0 0 12px; font-size:15px; font-weight:400; color:var(--ink-3) }
.foot ul { list-style:none; margin:0; padding:0; display:grid; gap:8px; font-size:15px }
.foot ul a { text-decoration:none } .foot ul a:hover { color:var(--ink-3) }
.foot ul a[aria-current="page"] { color:var(--blue) }
.legal-line { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px 16px; padding:20px 0 40px; border-top:1px solid var(--line); font-size:14px; color:var(--ink-3) }

/* ── pantallas pequeñas ───────────────────────────────────────────────── */
@media (max-width: 1060px) {
  .layout { grid-template-columns:minmax(0, 1fr); gap:28px; padding-top:28px }
  .side { position:static }
  .toc { max-height:none; overflow:visible; padding:0; background:var(--card); border:1px solid var(--line); border-radius:var(--r-l) }
  .toc summary { display:block }
  .toc details[open] summary { border-bottom:1px solid var(--line) }
  .toc ol { padding:8px 8px 10px }
  .toc a { border-left:0; border-radius:10px }
  .toc a[aria-current="true"] { background:#fff; box-shadow:0 0 0 1px var(--line) }
}
@media (max-width: 760px) {
  :root { --gut:16px }
  body { font-size:17px }
  .bar-row { flex-wrap:wrap; gap:0 12px; min-height:0; padding-top:10px }
  .logo { height:48px }
  .bar-end { height:48px }
  .subnav { order:3; flex:0 0 100%; overflow-x:auto; padding:2px 0 10px; gap:4px; font-size:15px; scrollbar-width:none }
  .subnav::-webkit-scrollbar { display:none }
  .subnav a { white-space:nowrap; padding:7px 12px }
  .hero { padding-top:40px }
  .lede { font-size:18px }
  .cards { grid-template-columns:1fr }
  .card, .card:nth-child(n+4) { grid-column:auto }
  .kv > div { grid-template-columns:1fr; gap:2px; padding:12px 16px }
  .doc > section { margin-top:52px }
  .tbl, .tbl tbody, .tbl tr, .tbl td { display:block }
  .tbl thead { display:none }
  .tbl tr { padding:6px 0 10px; border-top:1px solid var(--line) }
  .tbl tbody tr:first-child { border-top:0 }
  .tbl td { border:0; padding:6px 16px }
  .tbl td::before { content:attr(data-label); display:block; font:500 12px/1.4 var(--mono); letter-spacing:.06em; text-transform:uppercase; color:var(--ink-3); margin-bottom:2px }
  .tbl td:first-child { padding-top:12px; font-size:16px }
  .tbl td:first-child::before { display:none }
  .foot { padding-top:36px }
}

/* ── impresión: documento limpio ──────────────────────────────────────── */
@media print {
  @page { margin:18mm 16mm }
  html { scroll-padding-top:0 }
  body { background:#fff; color:#000; font-size:11pt; line-height:1.5 }
  .bar, .side, .actions, .skip, .foot nav, .lang { display:none !important }
  .hero { padding:0 0 6mm }
  h1 { font-size:24pt; max-width:none }
  .lede { font-size:11.5pt }
  .layout { display:block; padding:0 }
  .doc > section { margin-top:9mm; break-inside:auto }
  .doc h2 { font-size:15pt; break-after:avoid }
  .doc h3 { break-after:avoid }
  .doc > section > *:not(.wide):not(.cards) { max-width:none }
  .doc a { color:#000; text-decoration:underline }
  .doc a[href^="http"]::after { content:" (" attr(href) ")"; font-size:9pt; color:#444; word-break:break-all }
  .card, .callout, .kv, .tbl tr { break-inside:avoid }
  .cards { grid-template-columns:repeat(2, 1fr) }
  .card, .card:nth-child(n+4) { grid-column:auto; background:#fff }
  .tbl { font-size:9.5pt }
  .tbl th { background:#eee !important; -webkit-print-color-adjust:exact; print-color-adjust:exact }
  footer { border:0 }
  .foot { padding:8mm 0 0 }
  .foot > div:not(:first-child) { display:none }
  .legal-line { border-top:1px solid #999; padding:4mm 0 0; font-size:9pt }
}
