/* Keepsign PDF · keepsignpdf.com
   Papel de documento oficial, tinta verde de billete y un solo brillo tornasol: el del sello. */

@font-face { font-family: "Instrument Serif"; src: url(../fonts/instrument-serif.woff) format("woff"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Instrument Serif"; src: url(../fonts/instrument-serif-italic.woff) format("woff"); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: "Geist"; src: url(../fonts/geist.woff) format("woff"); font-weight: 100 900; font-style: normal; font-display: swap; }
@font-face { font-family: "Geist Mono"; src: url(../fonts/geist-mono.woff) format("woff"); font-weight: 100 900; font-style: normal; font-display: swap; }

:root {
  --paper: #EEF3F0; --surface: #FCFEFD; --sunk: #E3EBE7; --ink: #0B1F19; --ink-2: #44594F; --line: #D2DED8; --edge: #74897F;
  --green: #0A5C49; --green-ink: #0A5C49; --green-soft: #DCEEE6; --on-green: #FFFFFF; --danger: #B42B2B; --danger-soft: #FBE9E7;
  --note: #0A2B22; --note-ink: #EEF6F2; --note-2: #9CC3B5; --note-line: rgba(238,246,242,.16);
  --amber: #8A5300; --blue: #2D4C86; --violet: #6A3C8C; --rose: #8B2E3B; --teal: #00677A; --olive: #4C6420;
  --foil: conic-gradient(from 200deg, #FDA785, #F892A1, #9595F6, #61E6EB, #C2F4B6, #FDA785);
  --foil-line: linear-gradient(90deg, #FDA785, #F892A1, #9595F6, #61E6EB, #C2F4B6, #FDA785);
  --serif: "Instrument Serif", "Iowan Old Style", Georgia, serif;
  --sans: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  --mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;
  --r: 18px; --r-sm: 12px; --gut: 16px; --max: 1180px;
  --shadow: 0 1px 0 rgba(11,31,25,.04), 0 10px 30px -12px rgba(11,31,25,.18);
  --paper-sheet: #FFFFFF; --paper-text: #1B2B25;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --paper: #07110E; --surface: #0F1B17; --sunk: #142520; --ink: #ECF5F1; --ink-2: #A5BCB2; --line: #23332D; --edge: #5F766C;
    --green: #6FD8B4; --green-ink: #6FD8B4; --green-soft: #16362C; --on-green: #04130E; --danger: #FF8A80; --danger-soft: #3A1714;
    --note: #0C2E25; --shadow: 0 1px 0 rgba(0,0,0,.3), 0 14px 34px -14px rgba(0,0,0,.7);
    --amber: #F0B45A; --blue: #8FB0F0; --violet: #C6A2EC; --rose: #F29AA6; --teal: #6CCFE0; --olive: #B6D47A;
    --paper-sheet: #F4F7F5; --paper-text: #1B2B25;
    color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --paper: #07110E; --surface: #0F1B17; --sunk: #142520; --ink: #ECF5F1; --ink-2: #A5BCB2; --line: #23332D; --edge: #5F766C;
  --green: #6FD8B4; --green-ink: #6FD8B4; --green-soft: #16362C; --on-green: #04130E; --danger: #FF8A80; --danger-soft: #3A1714;
  --note: #0C2E25; --shadow: 0 1px 0 rgba(0,0,0,.3), 0 14px 34px -14px rgba(0,0,0,.7);
  --amber: #F0B45A; --blue: #8FB0F0; --violet: #C6A2EC; --rose: #F29AA6; --teal: #6CCFE0; --olive: #B6D47A;
  --paper-sheet: #F4F7F5; --paper-text: #1B2B25;
  color-scheme: dark;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-padding-top: 84px; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 400 1.0625rem/1.62 var(--sans); font-feature-settings: "ss01"; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
img, svg, picture { display: block; max-width: 100%; height: auto; }
a { color: var(--green-ink); text-underline-offset: .18em; text-decoration-thickness: 1px; }
a:hover { text-decoration-thickness: 2px; }
:focus-visible { outline: 3px solid var(--green); outline-offset: 3px; border-radius: 6px; }
h1, h2, h3 { font-family: var(--serif); font-weight: 400; line-height: 1.04; letter-spacing: -.012em; margin: 0; text-wrap: balance; }
h1 { font-size: clamp(2.6rem, 7vw, 5.4rem); }
h2 { font-size: clamp(2rem, 4.6vw, 3.4rem); }
h3 { font-size: clamp(1.45rem, 2.4vw, 1.8rem); line-height: 1.12; }
p { margin: 0 0 1em; }
.sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.skip { position: absolute; left: 12px; top: -60px; background: var(--ink); color: var(--paper); padding: 10px 14px; border-radius: 10px; z-index: 50; }
.skip:focus { top: 12px; }
.wrap { width: min(var(--max), 100% - 2 * var(--gut)); margin-inline: auto; }
.narrow { width: min(760px, 100% - 2 * var(--gut)); margin-inline: auto; }
.kicker, .label { font: 500 .78rem/1.3 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--ink-2); margin: 0 0 14px; }
.kicker b { color: var(--green-ink); font-weight: 600; }
.lede { font-size: clamp(1.12rem, 1.8vw, 1.32rem); color: var(--ink-2); max-width: 62ch; line-height: 1.5; }
.mono { font-family: var(--mono); }
.muted { color: var(--ink-2); }
.center { text-align: center; }

/* ── botones ── */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 0 22px; border-radius: 999px; font: 600 1rem/1 var(--sans); text-decoration: none; border: 1.5px solid transparent; cursor: pointer; transition: transform .15s ease, background .2s ease; }
.btn:hover { transform: translateY(-1px); text-decoration: none; }
.btn--primary { background: var(--green); color: var(--on-green); }
.btn--ghost { color: var(--ink); border-color: var(--edge); background: transparent; }
.btn--sm { min-height: 38px; padding: 0 16px; font-size: .92rem; }
.btn--lg { min-height: 58px; padding: 0 26px; }
.btn--store { background: var(--ink); color: var(--paper); gap: 12px; }
.btn--store span { display: flex; flex-direction: column; align-items: flex-start; font-size: 1.22rem; letter-spacing: -.01em; line-height: 1.05; }
.btn--store small { font: 500 .68rem/1.2 var(--mono); letter-spacing: .1em; text-transform: uppercase; opacity: .78; }
.btn__apple { width: 20px; height: 24px; flex: none; }
.btn--foil { background: var(--foil-line); color: #0B1F19; border-color: #0B1F19; }
.cta-row { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 28px; }

/* ── el sello tornasol ── */
.seal { position: relative; display: inline-block; width: 64px; height: 64px; flex: none; filter: drop-shadow(0 6px 10px rgba(0,0,0,.18)); }
.seal--xs { width: 28px; height: 28px; filter: none; }
.seal--sm { width: 40px; height: 40px; }
.seal--md { width: 64px; height: 64px; }
.seal--lg { width: 116px; height: 116px; }
.seal--xl { width: 168px; height: 168px; }
.seal__foil { position: absolute; inset: 0; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M59.0 32.0L60.0 32.8L60.7 33.7L60.9 34.5L60.6 35.3L59.7 36.1L58.6 36.7L57.5 37.3L56.6 37.8L56.1 38.5L56.2 39.2L56.7 40.2L57.4 41.2L58.0 42.3L58.4 43.4L58.3 44.3L57.7 44.9L56.7 45.3L55.4 45.5L54.1 45.6L53.1 45.9L52.5 46.3L52.3 47.1L52.4 48.1L52.7 49.4L52.9 50.6L52.9 51.7L52.5 52.5L51.7 52.9L50.6 52.9L49.4 52.7L48.1 52.4L47.1 52.3L46.3 52.5L45.9 53.1L45.6 54.1L45.5 55.4L45.3 56.7L44.9 57.7L44.3 58.3L43.4 58.4L42.3 58.0L41.2 57.4L40.2 56.7L39.2 56.2L38.5 56.1L37.8 56.6L37.3 57.5L36.7 58.6L36.1 59.7L35.3 60.6L34.5 60.9L33.7 60.7L32.8 60.0L32.0 59.0L31.2 58.0L30.5 57.2L29.8 56.9L29.1 57.1L28.2 57.7L27.3 58.6L26.3 59.4L25.4 60.0L24.5 60.0L23.8 59.5L23.2 58.6L22.8 57.4L22.4 56.2L22.0 55.2L21.4 54.6L20.7 54.6L19.7 54.9L18.5 55.4L17.3 55.8L16.2 56.0L15.4 55.8L14.8 55.1L14.6 54.0L14.6 52.7L14.7 51.4L14.7 50.4L14.3 49.7L13.6 49.3L12.6 49.3L11.3 49.4L10.0 49.4L8.9 49.2L8.2 48.6L8.0 47.8L8.2 46.7L8.6 45.5L9.1 44.3L9.4 43.3L9.4 42.6L8.8 42.0L7.8 41.6L6.6 41.2L5.4 40.8L4.5 40.2L4.0 39.5L4.0 38.6L4.6 37.7L5.4 36.7L6.3 35.8L6.9 34.9L7.1 34.2L6.8 33.5L6.0 32.8L5.0 32.0L4.0 31.2L3.3 30.3L3.1 29.5L3.4 28.7L4.3 27.9L5.4 27.3L6.5 26.7L7.4 26.2L7.9 25.5L7.8 24.8L7.3 23.8L6.6 22.8L6.0 21.7L5.6 20.6L5.7 19.7L6.3 19.1L7.3 18.7L8.6 18.5L9.9 18.4L10.9 18.1L11.5 17.7L11.7 16.9L11.6 15.9L11.3 14.6L11.1 13.4L11.1 12.3L11.5 11.5L12.3 11.1L13.4 11.1L14.6 11.3L15.9 11.6L16.9 11.7L17.7 11.5L18.1 10.9L18.4 9.9L18.5 8.6L18.7 7.3L19.1 6.3L19.7 5.7L20.6 5.6L21.7 6.0L22.8 6.6L23.8 7.3L24.8 7.8L25.5 7.9L26.2 7.4L26.7 6.5L27.3 5.4L27.9 4.3L28.7 3.4L29.5 3.1L30.3 3.3L31.2 4.0L32.0 5.0L32.8 6.0L33.5 6.8L34.2 7.1L34.9 6.9L35.8 6.3L36.7 5.4L37.7 4.6L38.6 4.0L39.5 4.0L40.2 4.5L40.8 5.4L41.2 6.6L41.6 7.8L42.0 8.8L42.6 9.4L43.3 9.4L44.3 9.1L45.5 8.6L46.7 8.2L47.8 8.0L48.6 8.2L49.2 8.9L49.4 10.0L49.4 11.3L49.3 12.6L49.3 13.6L49.7 14.3L50.4 14.7L51.4 14.7L52.7 14.6L54.0 14.6L55.1 14.8L55.8 15.4L56.0 16.2L55.8 17.3L55.4 18.5L54.9 19.7L54.6 20.7L54.6 21.4L55.2 22.0L56.2 22.4L57.4 22.8L58.6 23.2L59.5 23.8L60.0 24.5L60.0 25.4L59.4 26.3L58.6 27.3L57.7 28.2L57.1 29.1L56.9 29.8L57.2 30.5L58.0 31.2Z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M59.0 32.0L60.0 32.8L60.7 33.7L60.9 34.5L60.6 35.3L59.7 36.1L58.6 36.7L57.5 37.3L56.6 37.8L56.1 38.5L56.2 39.2L56.7 40.2L57.4 41.2L58.0 42.3L58.4 43.4L58.3 44.3L57.7 44.9L56.7 45.3L55.4 45.5L54.1 45.6L53.1 45.9L52.5 46.3L52.3 47.1L52.4 48.1L52.7 49.4L52.9 50.6L52.9 51.7L52.5 52.5L51.7 52.9L50.6 52.9L49.4 52.7L48.1 52.4L47.1 52.3L46.3 52.5L45.9 53.1L45.6 54.1L45.5 55.4L45.3 56.7L44.9 57.7L44.3 58.3L43.4 58.4L42.3 58.0L41.2 57.4L40.2 56.7L39.2 56.2L38.5 56.1L37.8 56.6L37.3 57.5L36.7 58.6L36.1 59.7L35.3 60.6L34.5 60.9L33.7 60.7L32.8 60.0L32.0 59.0L31.2 58.0L30.5 57.2L29.8 56.9L29.1 57.1L28.2 57.7L27.3 58.6L26.3 59.4L25.4 60.0L24.5 60.0L23.8 59.5L23.2 58.6L22.8 57.4L22.4 56.2L22.0 55.2L21.4 54.6L20.7 54.6L19.7 54.9L18.5 55.4L17.3 55.8L16.2 56.0L15.4 55.8L14.8 55.1L14.6 54.0L14.6 52.7L14.7 51.4L14.7 50.4L14.3 49.7L13.6 49.3L12.6 49.3L11.3 49.4L10.0 49.4L8.9 49.2L8.2 48.6L8.0 47.8L8.2 46.7L8.6 45.5L9.1 44.3L9.4 43.3L9.4 42.6L8.8 42.0L7.8 41.6L6.6 41.2L5.4 40.8L4.5 40.2L4.0 39.5L4.0 38.6L4.6 37.7L5.4 36.7L6.3 35.8L6.9 34.9L7.1 34.2L6.8 33.5L6.0 32.8L5.0 32.0L4.0 31.2L3.3 30.3L3.1 29.5L3.4 28.7L4.3 27.9L5.4 27.3L6.5 26.7L7.4 26.2L7.9 25.5L7.8 24.8L7.3 23.8L6.6 22.8L6.0 21.7L5.6 20.6L5.7 19.7L6.3 19.1L7.3 18.7L8.6 18.5L9.9 18.4L10.9 18.1L11.5 17.7L11.7 16.9L11.6 15.9L11.3 14.6L11.1 13.4L11.1 12.3L11.5 11.5L12.3 11.1L13.4 11.1L14.6 11.3L15.9 11.6L16.9 11.7L17.7 11.5L18.1 10.9L18.4 9.9L18.5 8.6L18.7 7.3L19.1 6.3L19.7 5.7L20.6 5.6L21.7 6.0L22.8 6.6L23.8 7.3L24.8 7.8L25.5 7.9L26.2 7.4L26.7 6.5L27.3 5.4L27.9 4.3L28.7 3.4L29.5 3.1L30.3 3.3L31.2 4.0L32.0 5.0L32.8 6.0L33.5 6.8L34.2 7.1L34.9 6.9L35.8 6.3L36.7 5.4L37.7 4.6L38.6 4.0L39.5 4.0L40.2 4.5L40.8 5.4L41.2 6.6L41.6 7.8L42.0 8.8L42.6 9.4L43.3 9.4L44.3 9.1L45.5 8.6L46.7 8.2L47.8 8.0L48.6 8.2L49.2 8.9L49.4 10.0L49.4 11.3L49.3 12.6L49.3 13.6L49.7 14.3L50.4 14.7L51.4 14.7L52.7 14.6L54.0 14.6L55.1 14.8L55.8 15.4L56.0 16.2L55.8 17.3L55.4 18.5L54.9 19.7L54.6 20.7L54.6 21.4L55.2 22.0L56.2 22.4L57.4 22.8L58.6 23.2L59.5 23.8L60.0 24.5L60.0 25.4L59.4 26.3L58.6 27.3L57.7 28.2L57.1 29.1L56.9 29.8L57.2 30.5L58.0 31.2Z'/%3E%3C/svg%3E") center / contain no-repeat; overflow: hidden; }
.seal__foil::before { content: ""; position: absolute; inset: -20%; background: var(--foil); animation: foil 60s linear infinite; }
.seal::after { content: ""; position: absolute; inset: 0; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M59.0 32.0L60.0 32.8L60.7 33.7L60.9 34.5L60.6 35.3L59.7 36.1L58.6 36.7L57.5 37.3L56.6 37.8L56.1 38.5L56.2 39.2L56.7 40.2L57.4 41.2L58.0 42.3L58.4 43.4L58.3 44.3L57.7 44.9L56.7 45.3L55.4 45.5L54.1 45.6L53.1 45.9L52.5 46.3L52.3 47.1L52.4 48.1L52.7 49.4L52.9 50.6L52.9 51.7L52.5 52.5L51.7 52.9L50.6 52.9L49.4 52.7L48.1 52.4L47.1 52.3L46.3 52.5L45.9 53.1L45.6 54.1L45.5 55.4L45.3 56.7L44.9 57.7L44.3 58.3L43.4 58.4L42.3 58.0L41.2 57.4L40.2 56.7L39.2 56.2L38.5 56.1L37.8 56.6L37.3 57.5L36.7 58.6L36.1 59.7L35.3 60.6L34.5 60.9L33.7 60.7L32.8 60.0L32.0 59.0L31.2 58.0L30.5 57.2L29.8 56.9L29.1 57.1L28.2 57.7L27.3 58.6L26.3 59.4L25.4 60.0L24.5 60.0L23.8 59.5L23.2 58.6L22.8 57.4L22.4 56.2L22.0 55.2L21.4 54.6L20.7 54.6L19.7 54.9L18.5 55.4L17.3 55.8L16.2 56.0L15.4 55.8L14.8 55.1L14.6 54.0L14.6 52.7L14.7 51.4L14.7 50.4L14.3 49.7L13.6 49.3L12.6 49.3L11.3 49.4L10.0 49.4L8.9 49.2L8.2 48.6L8.0 47.8L8.2 46.7L8.6 45.5L9.1 44.3L9.4 43.3L9.4 42.6L8.8 42.0L7.8 41.6L6.6 41.2L5.4 40.8L4.5 40.2L4.0 39.5L4.0 38.6L4.6 37.7L5.4 36.7L6.3 35.8L6.9 34.9L7.1 34.2L6.8 33.5L6.0 32.8L5.0 32.0L4.0 31.2L3.3 30.3L3.1 29.5L3.4 28.7L4.3 27.9L5.4 27.3L6.5 26.7L7.4 26.2L7.9 25.5L7.8 24.8L7.3 23.8L6.6 22.8L6.0 21.7L5.6 20.6L5.7 19.7L6.3 19.1L7.3 18.7L8.6 18.5L9.9 18.4L10.9 18.1L11.5 17.7L11.7 16.9L11.6 15.9L11.3 14.6L11.1 13.4L11.1 12.3L11.5 11.5L12.3 11.1L13.4 11.1L14.6 11.3L15.9 11.6L16.9 11.7L17.7 11.5L18.1 10.9L18.4 9.9L18.5 8.6L18.7 7.3L19.1 6.3L19.7 5.7L20.6 5.6L21.7 6.0L22.8 6.6L23.8 7.3L24.8 7.8L25.5 7.9L26.2 7.4L26.7 6.5L27.3 5.4L27.9 4.3L28.7 3.4L29.5 3.1L30.3 3.3L31.2 4.0L32.0 5.0L32.8 6.0L33.5 6.8L34.2 7.1L34.9 6.9L35.8 6.3L36.7 5.4L37.7 4.6L38.6 4.0L39.5 4.0L40.2 4.5L40.8 5.4L41.2 6.6L41.6 7.8L42.0 8.8L42.6 9.4L43.3 9.4L44.3 9.1L45.5 8.6L46.7 8.2L47.8 8.0L48.6 8.2L49.2 8.9L49.4 10.0L49.4 11.3L49.3 12.6L49.3 13.6L49.7 14.3L50.4 14.7L51.4 14.7L52.7 14.6L54.0 14.6L55.1 14.8L55.8 15.4L56.0 16.2L55.8 17.3L55.4 18.5L54.9 19.7L54.6 20.7L54.6 21.4L55.2 22.0L56.2 22.4L57.4 22.8L58.6 23.2L59.5 23.8L60.0 24.5L60.0 25.4L59.4 26.3L58.6 27.3L57.7 28.2L57.1 29.1L56.9 29.8L57.2 30.5L58.0 31.2Z' fill='none' stroke='%230B1F19' stroke-width='1.5'/%3E%3Ccircle cx='32' cy='32' r='19.5' fill='none' stroke='%230B1F19' stroke-opacity='.28' stroke-width='.8'/%3E%3Cpath d='M22.5 33l6.5 6.5 12.5-14' fill='none' stroke='%230B1F19' stroke-width='4.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat; }
@keyframes foil { to { transform: rotate(360deg); } }

/* ── cabecera ── */
.top { position: sticky; top: 0; z-index: 20; background: color-mix(in srgb, var(--paper) 86%, transparent); -webkit-backdrop-filter: saturate(1.4) blur(14px); backdrop-filter: saturate(1.4) blur(14px); border-bottom: 1px solid var(--line); }
@supports not (background: color-mix(in srgb, red 50%, blue)) { .top { background: var(--paper); } }
.top__in { width: min(var(--max), 100% - 2 * var(--gut)); margin-inline: auto; display: flex; align-items: center; gap: 18px; min-height: 64px; }
.logo { display: inline-flex; align-items: center; gap: 9px; color: var(--ink); text-decoration: none; }
.logo__word { font: 400 1.6rem/1 var(--serif); letter-spacing: -.01em; }
.logo__pdf { color: var(--ink-2); }
.top__nav { display: flex; gap: 4px; margin-left: 18px; }
.top__nav a, .top__lang { color: var(--ink); text-decoration: none; font-weight: 500; font-size: .96rem; padding: 8px 12px; border-radius: 999px; }
.top__nav a:hover, .top__lang:hover { background: var(--sunk); }
.top__nav a[aria-current] { background: var(--green-soft); color: var(--green-ink); }
.top__tools { margin-left: auto; display: flex; align-items: center; gap: 6px; }
.top__theme { width: 40px; height: 40px; border-radius: 999px; border: 1px solid var(--line); background: transparent; color: var(--ink); cursor: pointer; display: grid; place-items: center; }
.top__theme span { width: 16px; height: 16px; border-radius: 50%; background: linear-gradient(90deg, var(--ink) 50%, transparent 50%); box-shadow: inset 0 0 0 1.5px var(--ink); }
.top__menu { display: none; position: relative; }
.top__menu summary { list-style: none; width: 44px; height: 44px; display: grid; place-items: center; cursor: pointer; border-radius: 999px; }
.top__menu summary::-webkit-details-marker { display: none; }
.top__menu summary span, .top__menu summary span::before, .top__menu summary span::after { display: block; width: 20px; height: 2px; background: var(--ink); border-radius: 2px; position: relative; transition: transform .2s; }
.top__menu summary span::before, .top__menu summary span::after { content: ""; position: absolute; left: 0; }
.top__menu summary span::before { top: -6px; } .top__menu summary span::after { top: 6px; }
.top__menu[open] summary span { background: transparent; }
.top__menu[open] summary span::before { transform: translateY(6px) rotate(45deg); }
.top__menu[open] summary span::after { transform: translateY(-6px) rotate(-45deg); }
.top__sheet { position: absolute; right: 0; top: 52px; width: min(300px, calc(100vw - 32px)); background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); box-shadow: var(--shadow); padding: 8px; display: flex; flex-direction: column; }
.top__sheet a { padding: 13px 14px; border-radius: 10px; color: var(--ink); text-decoration: none; font-weight: 500; }
.top__sheet a:hover { background: var(--sunk); }
@media (max-width: 920px) {
  .top__nav, .top__lang { display: none; }
  .top__menu { display: block; }
}
@media (max-width: 420px) { .top__get { display: none; } .logo__pdf { display: none; } }

/* ── migas ── */
.crumbs { margin: 26px 0 0; font: 500 .8rem/1.4 var(--mono); letter-spacing: .06em; }
.crumbs ol { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 6px; color: var(--ink-2); }
.crumbs li + li::before { content: "/"; margin-right: 6px; color: var(--edge); }
.crumbs a { color: var(--ink-2); }

/* ── secciones ── */
.section { padding: clamp(64px, 10vw, 120px) 0; }
.section--tight { padding: clamp(40px, 6vw, 72px) 0; }
.section__head { max-width: 760px; margin-bottom: clamp(32px, 5vw, 56px); }
.section__head h2 + p { margin-top: 18px; }
.docket { display: flex; align-items: center; gap: 14px; font: 500 .78rem/1 var(--mono); letter-spacing: .16em; text-transform: uppercase; color: var(--ink-2); margin-bottom: 18px; }
.docket::after { content: ""; flex: 1; height: 1px; background: var(--line); max-width: 160px; }
.docket b { color: var(--green-ink); font-weight: 600; }
.band { background: var(--note); color: var(--note-ink); position: relative; isolation: isolate; }
.band::before { content: ""; position: absolute; inset: 0; background: url(../img/guilloche.svg) 0 0 / 320px 160px repeat; opacity: .07; z-index: -1; }
.band .docket, .band .kicker, .band .muted, .band .lede { color: var(--note-2); }
.band .docket::after { background: var(--note-line); }
.band a { color: #9FF0D2; }
.band h2, .band h3 { color: var(--note-ink); }
.rule-foil { height: 4px; border-radius: 4px; background: var(--foil-line); border: 0; margin: 0; }

/* ── portada ── */
.hero { padding: clamp(36px, 7vw, 84px) 0 clamp(56px, 8vw, 96px); position: relative; }
.hero__grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.hero h1 { margin-bottom: 22px; }
.hero h1 em { font-style: italic; color: var(--green-ink); }
.hero__meta { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 26px; font: 500 .8rem/1.4 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-2); padding: 0; list-style: none; }
.hero__meta li { display: flex; align-items: center; gap: 8px; }
.hero__meta li::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--green); }
@media (max-width: 860px) { .hero__grid { grid-template-columns: 1fr; } }

/* el documento que se firma solo */
.stage { position: relative; aspect-ratio: 5 / 5.6; max-width: 500px; width: 100%; margin-inline: auto; }
.sheet { position: absolute; left: 0; top: 4%; width: 82%; height: 88%; background: var(--paper-sheet); color: var(--paper-text); border-radius: 6px; box-shadow: 0 1px 0 rgba(0,0,0,.05), 0 30px 60px -28px rgba(7,40,32,.55), 0 0 0 1px rgba(11,31,25,.08); padding: 9% 9% 0; transform: rotate(-2.2deg); overflow: hidden; }
.sheet::after { content: ""; position: absolute; right: 0; top: 0; width: 18%; aspect-ratio: 1; background: linear-gradient(225deg, var(--paper) 50%, #E1E8E4 50%); filter: drop-shadow(-2px 2px 2px rgba(0,0,0,.08)); }
.sheet__k { font: 600 .62rem/1 var(--mono); letter-spacing: .16em; color: #5E7068; }
.sheet__t { font: 400 clamp(1.25rem, 3vw, 1.7rem)/1.05 var(--serif); margin: 8px 0 16px; color: #0B1F19; }
.sheet__l { height: 7px; border-radius: 4px; background: #DDE5E1; margin: 0 0 9px; }
.sheet__l:nth-child(4) { width: 92%; } .sheet__l:nth-child(5) { width: 84%; } .sheet__l:nth-child(6) { width: 70%; }
.sheet__fields { display: grid; grid-template-columns: auto 1fr; gap: 10px 14px; margin: 20px 0; font: 500 .7rem/1.2 var(--mono); color: #5E7068; letter-spacing: .06em; align-items: end; }
.sheet__fields span:nth-child(even) { border-bottom: 1px solid #C8D3CE; font: 500 .9rem/1.3 var(--sans); color: #0B1F19; letter-spacing: 0; padding-bottom: 2px; }
.sheet__sig { position: relative; margin-top: 8px; border-bottom: 1.5px solid #0B1F19; height: 74px; }
.sheet__sig svg { position: absolute; left: 2%; bottom: 6px; width: 78%; height: auto; overflow: visible; }
.sheet__sig path { fill: none; stroke: #123B6E; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.sheet__sigl { font: 600 .62rem/1 var(--mono); letter-spacing: .14em; color: #5E7068; margin-top: 6px; }
.sig-draw path { stroke-dasharray: 1; stroke-dashoffset: 1; animation: draw 1.7s cubic-bezier(.5,.05,.3,1) .5s forwards; }
.sig-draw path + path { animation-duration: .55s; animation-delay: 2.15s; }
@keyframes draw { to { stroke-dashoffset: 0; } }
.stage .seal { position: absolute; right: 6%; top: 34%; z-index: 3; }
.seal--stamp { animation: stamp .42s cubic-bezier(.3,1.6,.5,1) 2.75s both; }
@keyframes stamp { from { opacity: 0; transform: scale(1.9) rotate(-20deg); } to { opacity: 1; transform: scale(1) rotate(-8deg); } }
.slip { position: absolute; right: 0; bottom: 0; width: 70%; z-index: 2; background: var(--note); color: var(--note-ink); border-radius: 14px; padding: 18px 18px 14px; box-shadow: 0 24px 50px -20px rgba(4,19,14,.7); overflow: hidden; animation: slip .6s cubic-bezier(.2,.8,.2,1) 3.15s both; isolation: isolate; }
.slip::before { content: ""; position: absolute; inset: 0; background: url(../img/guilloche.svg) 0 0 / 220px 110px repeat; opacity: .09; z-index: -1; }
@keyframes slip { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: none; } }
.slip__k { font: 500 .58rem/1.3 var(--mono); letter-spacing: .14em; color: var(--note-2); text-transform: uppercase; }
.slip__t { font: 400 clamp(1.3rem, 3.2vw, 1.75rem)/1.02 var(--serif); margin: 6px 0 4px; }
.slip__s { font-size: .78rem; color: var(--note-2); margin: 0 0 10px; }
.slip .rule-foil { height: 3px; margin: 0 0 10px; }
.slip__rows { font: 500 .68rem/1.5 var(--mono); color: var(--note-ink); margin: 0; padding: 0; list-style: none; }
.slip__rows li::before { content: "— "; color: var(--note-2); }
.slip__mrz { font: 500 .6rem/1 var(--mono); color: var(--note-2); margin-top: 10px; white-space: nowrap; overflow: hidden; letter-spacing: .04em; }

/* ── tarjetas ── */
.cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 270px), 1fr)); gap: 14px; }
.card { display: flex; flex-direction: column; gap: 8px; padding: 22px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); color: var(--ink); text-decoration: none; transition: border-color .2s, transform .2s; min-height: 100%; }
.card:hover { border-color: var(--green); transform: translateY(-2px); text-decoration: none; }
.card__kicker { font: 500 .72rem/1.2 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--green-ink); }
.card__title { font: 400 1.5rem/1.1 var(--serif); }
.card__text { color: var(--ink-2); font-size: .95rem; line-height: 1.5; }
.tag { display: inline-flex; align-items: center; height: 22px; padding: 0 8px; border-radius: 999px; font: 600 .66rem/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; vertical-align: middle; border: 1px solid var(--line); color: var(--ink-2); }
.tag--free { background: var(--green-soft); color: var(--green-ink); border-color: transparent; }
.tag--pro { background: var(--foil-line); color: #0B1F19; border-color: #0B1F19; }
.tag--lang { margin-left: 6px; }

/* el problema: tres expedientes */
.cases { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; counter-reset: case; }
.case { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); padding: 24px; position: relative; }
.case__stamp { display: inline-flex; align-items: center; gap: 8px; font: 600 .7rem/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--danger); border: 1.5px solid var(--danger); border-radius: 6px; padding: 6px 9px; transform: rotate(-2deg); margin-bottom: 18px; }
.case h3 { margin-bottom: 10px; }
.case p { color: var(--ink-2); margin: 0; font-size: .98rem; }
.case__diff { margin-top: 16px; font: 500 .82rem/1.6 var(--mono); background: var(--sunk); border-radius: 10px; padding: 10px 12px; color: var(--ink); }
.case__diff del { color: var(--danger); text-decoration-thickness: 2px; }
.case__diff ins { text-decoration: none; background: color-mix(in srgb, #9EF0E4 55%, transparent); border-radius: 3px; padding: 0 2px; }
@media (max-width: 900px) { .cases { grid-template-columns: 1fr; } }

/* la promesa */
.promise { text-align: left; }
.promise__quote { font: 400 clamp(2.1rem, 5.6vw, 4.6rem)/1.02 var(--serif); letter-spacing: -.015em; max-width: 18ch; margin: 0 0 28px; }
.promise__quote span { background: var(--foil-line); -webkit-background-clip: text; background-clip: text; color: transparent; font-style: italic; }
.promise__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; margin-top: 44px; }
.promise__step b { display: block; font: 500 .78rem/1 var(--mono); letter-spacing: .14em; color: var(--note-2); margin-bottom: 12px; }
.promise__step h3 { margin-bottom: 8px; }
.promise__step p { color: var(--note-2); margin: 0; }
@media (max-width: 860px) { .promise__grid { grid-template-columns: 1fr; } }

/* el justificante explicado */
.receipt-demo { display: grid; grid-template-columns: minmax(0, 440px) minmax(0, 1fr); gap: clamp(28px, 5vw, 64px); align-items: start; }
.receipt { background: var(--note); color: var(--note-ink); border-radius: 22px; padding: 26px 24px 20px; position: relative; isolation: isolate; overflow: hidden; box-shadow: 0 30px 60px -30px rgba(4,19,14,.6); }
.receipt::before { content: ""; position: absolute; inset: 0; background: url(../img/guilloche.svg) 0 0 / 320px 160px repeat; opacity: .08; z-index: -1; }
.receipt__k { font: 500 .66rem/1.3 var(--mono); letter-spacing: .14em; color: var(--note-2); text-transform: uppercase; }
.receipt__top { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; margin: 10px 0 14px; }
.receipt__t { font: 400 2.2rem/1 var(--serif); margin: 0; }
.receipt__s { color: var(--note-2); font-size: .9rem; margin: 6px 0 0; }
.receipt h4 { font: 500 .66rem/1 var(--mono); letter-spacing: .14em; color: var(--note-2); text-transform: uppercase; margin: 18px 0 8px; }
.receipt__box { border: 1px solid var(--note-line); border-radius: 14px; padding: 12px 14px; font: 500 .8rem/1.5 var(--mono); }
.receipt__box small { display: block; color: var(--note-2); font-size: .74rem; margin-top: 4px; }
.receipt__grid { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--note-line); border-radius: 14px; margin-top: 14px; font: 500 .8rem/1.4 var(--mono); }
.receipt__grid div { padding: 10px 12px; border-bottom: 1px solid var(--note-line); }
.receipt__grid div:nth-child(odd) { border-right: 1px solid var(--note-line); }
.receipt__grid div:nth-last-child(-n+2) { border-bottom: 0; }
.receipt__grid span { display: block; color: var(--note-2); font-size: .66rem; letter-spacing: .12em; text-transform: uppercase; }
.receipt__mrz { font: 500 .7rem/1.3 var(--mono); color: var(--note-2); margin-top: 16px; word-break: break-all; }
.pin { display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--foil); color: #0B1F19; font: 700 .7rem/1 var(--mono); border: 1px solid #0B1F19; flex: none; vertical-align: middle; }
.receipt .pin { position: absolute; right: 14px; }
.notes { list-style: none; margin: 0; padding: 0; display: grid; gap: 22px; }
.notes li { display: grid; grid-template-columns: 30px 1fr; gap: 12px; }
.notes h3 { font-size: 1.4rem; margin-bottom: 4px; }
.notes p { margin: 0; color: var(--ink-2); }
@media (max-width: 860px) { .receipt-demo { grid-template-columns: 1fr; } }

/* lo que nadie tiene */
.firsts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--line); }
.first { padding: 28px 24px 30px 0; border-bottom: 1px solid var(--line); }
.first:not(:nth-child(3n)) { border-right: 1px solid var(--line); }
.first:not(:nth-child(3n+1)) { padding-left: 24px; }
.first__n { font: 500 .78rem/1 var(--mono); color: var(--green-ink); letter-spacing: .1em; }
.first h3 { margin: 12px 0 10px; }
.first p { color: var(--ink-2); margin: 0 0 10px; font-size: .98rem; }
.first a { font-weight: 600; font-size: .95rem; }
.first__src { display: block; font: 500 .72rem/1.4 var(--mono); color: var(--ink-2); margin-top: 8px; }
@media (max-width: 900px) {
  .firsts { grid-template-columns: 1fr; }
  .first { border-right: 0 !important; padding: 24px 0 !important; }
}

/* funciones por grupos */
.groups { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 330px), 1fr)); gap: 14px; }
.group { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); padding: 22px 22px 18px; border-top: 4px solid var(--c, var(--green)); }
.group h3 { font-size: 1.6rem; margin-bottom: 12px; display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.group h3 small { font: 500 .7rem/1 var(--mono); color: var(--ink-2); letter-spacing: .1em; }
.group ul { list-style: none; margin: 0; padding: 0; }
.group li { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-top: 1px dashed var(--line); font-size: .95rem; align-items: center; }
.group li a { color: var(--ink); }

/* capturas */
.shot { border-radius: 26px; overflow: hidden; box-shadow: var(--shadow); border: 1px solid var(--line); background: var(--surface); }
.shot img { width: 100%; }
.shot--phone { max-width: 320px; border-radius: 34px; border: 8px solid #0B1F19; margin-inline: auto; }
.figure figcaption { text-align: center; }
.shot--mac { border-radius: 14px; }
.duo { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 64px); align-items: center; }
.duo--flip > :first-child { order: 2; }
@media (max-width: 860px) { .duo { grid-template-columns: 1fr; } .duo--flip > :first-child { order: 0; } }
.figure { margin: 0; }
.figure figcaption { font: 500 .78rem/1.5 var(--mono); color: var(--ink-2); margin-top: 12px; letter-spacing: .02em; }
.only-light { display: block; } .only-dark { display: none; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .only-light { display: none; } :root:not([data-theme="light"]) .only-dark { display: block; } }
:root[data-theme="dark"] .only-light { display: none; } :root[data-theme="dark"] .only-dark { display: block; }

/* ilustraciones de la app hechas en HTML (mismo texto que la app) */
.mock { background: var(--surface); border: 1px solid var(--line); border-radius: 22px; padding: 20px; box-shadow: var(--shadow); font-size: .92rem; }
.mock__bar { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 14px; }
.mock__t { font: 400 1.6rem/1.05 var(--serif); }
.mock__x { font-size: .85rem; font-weight: 600; color: var(--ink-2); }
.mock__sub { color: var(--ink-2); font-size: .85rem; margin: -6px 0 14px; }
.mock__card { border: 1px solid var(--line); border-radius: 14px; padding: 12px 14px; background: var(--paper); margin-bottom: 10px; }
.mock__card h4 { margin: 0 0 4px; font: 600 .92rem/1.3 var(--sans); display: flex; gap: 8px; align-items: flex-start; }
.mock__card p { margin: 0; color: var(--ink-2); font-size: .84rem; line-height: 1.45; }
.mock__label { font: 500 .66rem/1 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--ink-2); margin: 14px 0 8px; }
.mock__chip { display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--line); border-radius: 999px; padding: 5px 10px; font: 600 .78rem/1 var(--sans); background: var(--surface); margin-top: 8px; }
.mock__warn { color: var(--danger); flex: none; }
.mock__ok { color: var(--green-ink); flex: none; }
.mock del { color: var(--danger); } .mock ins { text-decoration: none; background: color-mix(in srgb, #9EF0E4 60%, transparent); border-radius: 3px; padding: 0 2px; color: var(--ink); }
.mock__q { background: var(--green-soft); border-radius: 14px 14px 4px 14px; padding: 10px 12px; margin: 0 0 10px auto; max-width: 85%; font-weight: 500; }
.mock__a { border: 1px solid var(--line); border-radius: 14px 14px 14px 4px; padding: 12px; max-width: 95%; }
.mock__cite { display: inline-flex; gap: 6px; align-items: center; font: 600 .74rem/1 var(--mono); background: var(--sunk); border-radius: 999px; padding: 6px 9px; margin-top: 8px; color: var(--green-ink); }
.mock mark { background: color-mix(in srgb, #FFD84D 55%, transparent); color: inherit; border-radius: 2px; }
.mock__foot { font: 500 .7rem/1.4 var(--mono); color: var(--ink-2); margin-top: 12px; }

/* antes / después */
.compare-img { position: relative; border-radius: 16px; overflow: hidden; border: 1px solid var(--line); box-shadow: var(--shadow); --pos: 50%; background: #fff; }
.compare-img picture { width: 100%; }
.compare-img .compare-img__after { position: absolute; inset: 0; clip-path: inset(0 0 0 var(--pos)); }
.compare-img__line { position: absolute; top: 0; bottom: 0; left: var(--pos); width: 2px; background: var(--green); transform: translateX(-1px); pointer-events: none; }
.compare-img__line::after { content: ""; position: absolute; top: 50%; left: 50%; width: 36px; height: 36px; border-radius: 50%; transform: translate(-50%, -50%); background: var(--surface); border: 2px solid var(--green); }
.compare-img input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: ew-resize; margin: 0; }
.compare-img__tags { display: flex; justify-content: space-between; font: 500 .74rem/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--ink-2); margin-top: 10px; }

/* tablas */
.table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: var(--r); background: var(--surface); -webkit-overflow-scrolling: touch; }
table { width: 100%; border-collapse: collapse; font-size: .94rem; }
th, td { text-align: left; vertical-align: top; padding: 13px 14px; border-bottom: 1px solid var(--line); }
thead th { font: 500 .72rem/1.3 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--ink-2); background: var(--sunk); position: sticky; top: 0; }
tbody th { font-weight: 600; min-width: 170px; }
tbody tr:last-child > * { border-bottom: 0; }
td.us { background: color-mix(in srgb, var(--green-soft) 70%, transparent); }
.cmp { min-width: 820px; }
.cmp td small, .cmp th small { display: block; color: var(--ink-2); font-size: .8rem; margin-top: 3px; font-weight: 400; }
.yes { color: var(--green-ink); font-weight: 600; } .no { color: var(--danger); font-weight: 600; } .na { color: var(--ink-2); }
sup a { font: 600 .7rem/1 var(--mono); text-decoration: none; }

/* precios */
.plans { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; align-items: stretch; }
.plan { background: var(--surface); border: 1px solid var(--line); border-radius: 24px; padding: 28px 24px; display: flex; flex-direction: column; }
.plan--pro { border: 2px solid var(--ink); position: relative; }
.plan--pro::before { content: ""; position: absolute; left: 24px; right: 24px; top: -2px; height: 4px; background: var(--foil-line); border-radius: 0 0 4px 4px; }
.plan h3 { font-size: 2rem; }
.plan__price { font: 400 3.4rem/1 var(--serif); margin: 18px 0 4px; letter-spacing: -.02em; }
.plan__price small { font: 500 .8rem/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--ink-2); margin-left: 6px; }
.plan__sub { color: var(--ink-2); font-size: .95rem; min-height: 3em; }
.plan ul { list-style: none; margin: 18px 0 0; padding: 0; flex: 1; }
.plan li { padding: 8px 0 8px 26px; border-top: 1px dashed var(--line); position: relative; font-size: .95rem; }
.plan li::before { content: ""; position: absolute; left: 2px; top: 14px; width: 12px; height: 7px; border-left: 2px solid var(--green); border-bottom: 2px solid var(--green); transform: rotate(-45deg); }
.plan .btn { margin-top: 22px; }
@media (max-width: 900px) { .plans { grid-template-columns: 1fr; } }

/* preguntas */
.faqs { border-top: 1px solid var(--line); }
details.faq { border-bottom: 1px solid var(--line); }
details.faq summary { list-style: none; cursor: pointer; padding: 22px 44px 22px 0; font: 400 clamp(1.3rem, 2.4vw, 1.6rem)/1.2 var(--serif); position: relative; }
details.faq summary::-webkit-details-marker { display: none; }
details.faq summary::after { content: ""; position: absolute; right: 8px; top: 50%; width: 12px; height: 12px; border-right: 2px solid var(--ink-2); border-bottom: 2px solid var(--ink-2); transform: translateY(-70%) rotate(45deg); transition: transform .2s; }
details.faq[open] summary::after { transform: translateY(-30%) rotate(-135deg); }
details.faq > div { padding: 0 0 22px; color: var(--ink-2); max-width: 70ch; }
details.faq > div p:last-child { margin: 0; }

/* aviso de salida */
.notify { padding: clamp(48px, 7vw, 80px) 0; }
.notify__in { width: min(var(--max), 100% - 2 * var(--gut)); margin-inline: auto; display: grid; grid-template-columns: auto minmax(0, 1fr) minmax(0, 1fr); gap: 24px 32px; align-items: center; background: var(--surface); border: 1px solid var(--line); border-radius: 28px; padding: clamp(24px, 4vw, 40px); }
.notify__title { font-size: clamp(1.7rem, 3vw, 2.3rem); margin-bottom: 8px; }
.notify__text { color: var(--ink-2); margin: 0; }
.notify__form { display: flex; flex-wrap: wrap; gap: 10px; }
.notify__form input[type=email] { flex: 1 1 220px; min-height: 52px; border-radius: 999px; border: 1.5px solid var(--edge); background: var(--paper); color: var(--ink); padding: 0 20px; font: 500 1rem var(--sans); }
.notify__form .btn { min-height: 52px; }
.notify__status { flex-basis: 100%; margin: 0; font-weight: 600; min-height: 1.4em; }
.notify__status.is-ok { color: var(--green-ink); } .notify__status.is-err { color: var(--danger); }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 900px) { .notify__in { grid-template-columns: 1fr; } }

/* páginas de función */
.fhero { padding: clamp(28px, 5vw, 56px) 0 clamp(48px, 7vw, 80px); }
.fhero__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(28px, 5vw, 64px); align-items: center; }
.fhero h1 { font-size: clamp(2.4rem, 6vw, 4.6rem); margin-bottom: 20px; }
@media (max-width: 860px) { .fhero__grid { grid-template-columns: 1fr; } }
.points { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); gap: 28px 32px; }
.point h3 { font-size: 1.5rem; margin-bottom: 8px; }
.point p { color: var(--ink-2); margin: 0; }
.point__n { font: 500 .74rem/1 var(--mono); color: var(--green-ink); letter-spacing: .12em; display: block; margin-bottom: 10px; }
.steps { counter-reset: s; list-style: none; padding: 0; margin: 0; display: grid; gap: 16px; }
.steps > li { counter-increment: s; display: grid; grid-template-columns: 44px 1fr; gap: 14px; align-items: start; }
.steps > li::before { content: counter(s); display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; border: 1.5px solid var(--green); color: var(--green-ink); font: 600 .9rem/1 var(--mono); }
.steps h3 { font-size: 1.3rem; margin: 4px 0 4px; }
.steps p { margin: 0; color: var(--ink-2); }
.honest { border-left: 4px solid var(--amber); background: var(--surface); padding: 18px 20px; border-radius: 0 14px 14px 0; }
.honest h3 { font-size: 1.3rem; margin-bottom: 6px; }
.honest p:last-child, .honest ul:last-child { margin-bottom: 0; }
.plan-line { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; font-size: .95rem; color: var(--ink-2); margin-top: 18px; }

/* artículos */
.article__head { width: min(980px, 100% - 2 * var(--gut)); margin-inline: auto; padding: 4px 0 28px; }
.article__head h1 { font-size: clamp(2.3rem, 5.6vw, 4.2rem); margin: 6px 0 18px; }
.article__head .crumbs { margin-bottom: 30px; }
.byline { font: 500 .78rem/1.5 var(--mono); color: var(--ink-2); letter-spacing: .04em; margin-top: 18px; }
.article__grid { width: min(1080px, 100% - 2 * var(--gut)); margin-inline: auto; display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 56px; padding-bottom: 40px; }
.toc { position: sticky; top: 92px; align-self: start; font-size: .9rem; border-top: 4px solid var(--green); padding-top: 14px; }
.toc h2 { font: 500 .72rem/1 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--ink-2); margin-bottom: 12px; }
.toc ol { padding-left: 18px; margin: 0; color: var(--ink-2); }
.toc li { margin-bottom: 8px; }
.toc a { color: var(--ink); text-decoration: none; }
.toc a:hover { text-decoration: underline; }
@media (max-width: 960px) { .article__grid { grid-template-columns: 1fr; gap: 24px; } .toc { position: static; } }
.prose { max-width: 70ch; font-size: 1.08rem; }
.prose h2 { font-size: clamp(1.8rem, 3.4vw, 2.4rem); margin: 2em 0 .5em; scroll-margin-top: 90px; }
.prose h3 { font-size: 1.45rem; margin: 1.6em 0 .4em; }
.prose ul, .prose ol { padding-left: 1.3em; margin: 0 0 1.2em; }
.prose li { margin-bottom: .45em; }
.prose blockquote { margin: 1.4em 0; padding: 4px 0 4px 20px; border-left: 3px solid var(--green); font: italic 400 1.4rem/1.35 var(--serif); color: var(--ink); }
.prose code, .prose kbd { font: 500 .88em var(--mono); background: var(--sunk); border-radius: 6px; padding: 1px 6px; }
.prose .table-wrap { margin: 1.4em 0; }
.prose table { font-size: .92rem; }
.prose figure { margin: 1.8em 0; }
.prose .box { background: var(--surface); border: 1px solid var(--line); border-radius: 18px; padding: 20px 22px; margin: 1.6em 0; }
.prose .box h3 { margin-top: 0; }
.prose .box--keepsign { border-color: var(--green); border-width: 2px; position: relative; padding-top: 24px; }
.prose .box--keepsign::before { content: attr(data-label); position: absolute; top: -12px; left: 18px; background: var(--paper); padding: 0 8px; font: 600 .72rem/24px var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--green-ink); }
.prose .sources { font-size: .88rem; color: var(--ink-2); border-top: 1px solid var(--line); padding-top: 18px; margin-top: 2.4em; }
.prose .sources h2 { font: 500 .78rem/1 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--ink-2); margin: 0 0 12px; }
.prose .sources li { margin-bottom: .5em; overflow-wrap: anywhere; }
.related { width: min(var(--max), 100% - 2 * var(--gut)); margin: 20px auto 0; }
.related h2 { font-size: 2rem; margin-bottom: 18px; }
.answer { background: var(--green-soft); border-radius: 18px; padding: 18px 22px; margin: 0 0 1.6em; }
.answer p:last-child { margin: 0; }
.answer b:first-child { font: 600 .72rem/1 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--green-ink); display: block; margin-bottom: 8px; }

/* textos legales */
.legal { width: min(760px, 100% - 2 * var(--gut)); margin-inline: auto; padding: 20px 0 80px; }
.legal h1 { font-size: clamp(2.4rem, 6vw, 3.8rem); margin: 14px 0 10px; }
.legal h2 { font-size: 1.9rem; margin: 1.8em 0 .5em; }
.legal h3 { font-size: 1.35rem; margin: 1.4em 0 .3em; }
.legal .short { background: var(--surface); border: 1px solid var(--line); border-left: 4px solid var(--green); border-radius: 0 16px 16px 0; padding: 18px 22px; margin: 24px 0; }
.legal ul { padding-left: 1.2em; }
.legal li { margin-bottom: .5em; }
.legal table { font-size: .9rem; }

/* pie */
.foot { margin-top: 40px; border-top: 1px solid var(--line); background: var(--surface); }
.foot__in { width: min(var(--max), 100% - 2 * var(--gut)); margin-inline: auto; display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); gap: 32px; padding: 56px 0 32px; }
.foot__brand p { color: var(--ink-2); font-size: .95rem; max-width: 34ch; margin-top: 14px; }
.foot__col h2 { font: 500 .74rem/1 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--ink-2); margin-bottom: 14px; }
.foot__col ul { list-style: none; padding: 0; margin: 0; }
.foot__col li { margin-bottom: 9px; }
.foot__col a { color: var(--ink); text-decoration: none; font-size: .95rem; }
.foot__col a:hover { text-decoration: underline; }
.foot__base { width: min(var(--max), 100% - 2 * var(--gut)); margin-inline: auto; border-top: 1px solid var(--line); padding: 18px 0 40px; font-size: .82rem; color: var(--ink-2); }
.mrz { font: 500 .78rem/1 var(--mono); letter-spacing: .12em; color: var(--edge); white-space: nowrap; overflow: hidden; margin-bottom: 14px; }
@media (max-width: 860px) { .foot__in { grid-template-columns: 1fr 1fr; } .foot__brand { grid-column: 1 / -1; } }

/* 404 */
.lost { min-height: 60vh; display: grid; place-items: center; text-align: center; padding: 60px 0; }
.lost h1 { font-size: clamp(2.4rem, 7vw, 4.6rem); margin: 22px 0 14px; }
.lost .seal { margin-inline: auto; transform: rotate(-8deg); filter: grayscale(1) drop-shadow(0 6px 10px rgba(0,0,0,.18)); }

/* revelar al bajar (solo si hay JS y movimiento) */
.js .reveal { opacity: 0; transform: translateY(18px); transition: opacity .7s ease, transform .7s cubic-bezier(.2,.8,.2,1); }
.js .reveal.is-in { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-delay: 0s !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
  .seal__foil::before { animation: none; }
  .js .reveal { opacity: 1; transform: none; }
}
@media print { .top, .foot, .notify, .toc { display: none; } body { background: #fff; color: #000; } }

/* ── navegación (v2): menú de funciones, hoja del iPhone ── */
.ico { width: 22px; height: 22px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.top__nav { align-items: center; gap: 2px; margin-left: 22px; }
.nav__link { display: inline-flex; align-items: center; gap: 4px; color: var(--ink); text-decoration: none; font-weight: 500; font-size: .96rem; padding: 8px 12px; border-radius: 999px; cursor: pointer; list-style: none; }
.nav__link::-webkit-details-marker { display: none; }
.nav__link:hover { background: var(--sunk); text-decoration: none; }
.nav__link[aria-current] { color: var(--green-ink); background: var(--green-soft); }
.nav__link svg { width: 12px; height: 12px; fill: none; stroke: currentColor; stroke-width: 1.6; transition: transform .2s; }
.mega { position: relative; }
.mega[open] > summary svg { transform: rotate(180deg); }
.mega__panel { position: absolute; left: -12px; top: calc(100% + 12px); width: min(760px, calc(100vw - 48px)); background: var(--surface); border: 1px solid var(--line); border-radius: 22px; box-shadow: 0 30px 60px -24px rgba(7,40,32,.35), 0 0 0 1px rgba(0,0,0,.02); padding: 12px; display: grid; grid-template-columns: 1fr 1fr; gap: 2px; animation: drop .18s ease-out; }
@keyframes drop { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
.mega__item { display: flex; gap: 12px; align-items: flex-start; padding: 12px; border-radius: 14px; color: var(--ink); text-decoration: none; }
.mega__item:hover, .mega__item[aria-current] { background: var(--sunk); text-decoration: none; }
.mega__item .ico { color: var(--green-ink); margin-top: 1px; background: var(--green-soft); border-radius: 10px; padding: 7px; width: 36px; height: 36px; }
.mega__item b { display: block; font-weight: 600; font-size: .95rem; }
.mega__item small { display: block; color: var(--ink-2); font-size: .82rem; line-height: 1.4; margin-top: 2px; }
.mega__foot { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px 24px; border-top: 1px solid var(--line); margin-top: 6px; padding: 12px 12px 4px; }
.mega__foot a { font-weight: 600; font-size: .92rem; }
.top__lang { font: 600 .78rem/1 var(--mono); letter-spacing: .08em; border: 1px solid var(--line); }
.top__get { gap: 8px; padding: 0 14px; }
.top__get span { font-size: .95rem; }
.top__get small { font-size: .56rem; }
.top__sheet { position: fixed; left: 12px; right: 12px; top: 72px; width: auto; max-height: calc(100vh - 88px); max-height: calc(100dvh - 88px); overflow-y: auto; padding: 14px; gap: 10px; border-radius: 24px; box-shadow: 0 30px 80px -20px rgba(4,19,14,.55); animation: drop .2s ease-out; }
.top__sheet-k { font: 500 .72rem/1 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--ink-2); margin: 4px 4px 0; }
.top__sheet-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.top__sheet-grid a { display: flex; flex-direction: column; gap: 8px; padding: 12px; background: var(--paper); border-radius: 14px; font-size: .88rem; line-height: 1.25; font-weight: 600; }
.top__sheet-grid .ico { color: var(--green-ink); }
.top__sheet-main { display: flex; flex-direction: column; border-top: 1px solid var(--line); padding-top: 6px; }
.top__sheet-main a { padding: 12px 6px; font-size: 1.05rem; border-bottom: 1px solid var(--line); border-radius: 0; }
.top__sheet .btn { width: 100%; margin-top: 4px; }
@media (max-width: 1040px) { .top__nav .nav__link { padding: 8px 9px; } }
@media (max-width: 960px) {
  .top__nav, .top__lang { display: none; }
  .top__menu { display: block; }
  .top__get { display: none; }
}
.foot__in { grid-template-columns: 1.5fr repeat(4, 1fr); }
.foot__lang { display: inline-flex; border: 1px solid var(--line); border-radius: 999px; padding: 3px; margin-top: 6px; }
.foot__lang a { padding: 6px 12px; border-radius: 999px; font-size: .85rem; color: var(--ink); text-decoration: none; }
.foot__lang a[aria-current] { background: var(--ink); color: var(--paper); }
@media (max-width: 960px) { .foot__in { grid-template-columns: 1fr 1fr; } }

/* cifras de la portada */
.stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.stat { display: flex; flex-direction: column; gap: 10px; padding: 24px 22px; border: 1px solid var(--note-line); border-radius: 22px; color: var(--note-ink); text-decoration: none; background: rgba(255,255,255,.03); transition: background .2s, transform .2s; }
.stat:hover { background: rgba(255,255,255,.07); transform: translateY(-2px); text-decoration: none; }
.stat__n { font: 400 clamp(2.8rem, 5vw, 3.8rem)/1 var(--serif); background: var(--foil-line); -webkit-background-clip: text; background-clip: text; color: transparent; letter-spacing: -.02em; }
.stat__n small { font: 500 .8rem/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; margin-left: 6px; -webkit-text-fill-color: var(--note-2); }
.stat__t { font-size: .98rem; line-height: 1.45; }
.stat__s { font: 500 .7rem/1.4 var(--mono); color: var(--note-2); margin-top: auto; letter-spacing: .02em; }
@media (max-width: 960px) { .stats { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .stats { grid-template-columns: 1fr; } }

.band .docket b, .band .kicker b { color: #6FD8B4; }
.band .btn--ghost { color: var(--note-ink); border-color: var(--note-2); }
.sheet__k { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; padding-right: 14%; }
@media (max-width: 520px) { .stage { aspect-ratio: 5 / 6.6; } .sheet { height: 74%; } .slip { width: 82%; } }
