/* ── Espress web · legal ─────────────────────────────────────────────────────
   Portado de `Espress Legal.dc.html` (352 líneas) del handoff de Claude Design.
   Mismas reglas que `site.css`: los valores son los del export verbatim, lo que
   cambia es que salen de clases en vez de atributos `style` en línea.

   Esta página carga `site.css` ANTES que este archivo, y de ahí saca `.page`,
   `.gutter`, `.optic`, el header y el footer, que el export repite idénticos en
   las tres superficies. Acá solo está lo propio de legal, con prefijo `.lg-`.

   El export de esta página no tiene lógica: su `renderVals()` devuelve `{}`. No
   hay acordeón, no hay carril, no hay estado — por eso `legal/` no carga ningún
   JS y el índice lateral es `position: sticky` puro, sin scrollspy.

   ⚠️ `.page` usa `overflow-x: clip` y no `hidden` justamente por este archivo:
   un `hidden` en cualquier ancestro anula el sticky del índice, en silencio.
   ──────────────────────────────────────────────────────────────────────────── */

/* ── Hero ─────────────────────────────────────────────────────────────────── */
.lg-hero{background:var(--red-500);padding-top:clamp(40px,5vw,64px);padding-bottom:clamp(40px,4.5vw,58px)}
.lg-back{display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:10.5px;letter-spacing:1.8px;text-transform:uppercase;color:var(--black);text-decoration:none}
.lg-back:hover{color:var(--white)}
.lg-back span{display:block;font-size:13px;line-height:1;color:inherit}
.lg-hero-row{margin-top:26px;display:flex;align-items:flex-end;flex-wrap:wrap;justify-content:space-between;gap:26px 60px}
.lg-title{margin:0}
/* El titular es `8.5vw` en el export y va en una fila partida con el párrafo.
   Se midió: a 1280 tope en 88px y "& PRIVACY" cabe con el párrafo al lado. Por
   debajo de ~980 la fila envuelve sola y cada mitad usa el ancho completo. */
.lg-title span{display:block;font-family:var(--font-display);font-weight:900;font-size:clamp(32px,8.5vw,88px);line-height:.94;text-transform:uppercase;color:var(--black);white-space:nowrap}
.lg-title span.on-red{color:var(--white)}
.lg-hero-note{margin:0 0 10px;max-width:400px;font-family:var(--font-display);font-weight:400;font-size:18px;line-height:1.4;color:var(--white);text-wrap:pretty}

/* ── Cuerpo: índice + documentos ──────────────────────────────────────────── */
.lg-body{padding-top:clamp(40px,5vw,56px);padding-bottom:clamp(60px,7vw,92px);background:var(--off-white)}
.lg-cols{display:flex;flex-wrap:wrap;gap:34px clamp(28px,4vw,56px);align-items:flex-start}

.lg-toc{flex:1 1 246px;max-width:340px;position:sticky;top:24px;display:flex;flex-direction:column;gap:12px}
.lg-toc-head{margin-bottom:6px;font-family:var(--font-display);font-weight:900;font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--red-500)}
/* El export mete los cinco enlaces, la nota y el mailto en el mismo contenedor.
   Los cinco van en su propio <nav>: el mailto no es una entrada del indice y no
   tiene por que anunciarse como tal. El `gap:12px` sigue cayendo igual porque el
   <nav> ocupa el lugar que ocupaban los cinco <a>. */
.lg-toc-nav{display:flex;flex-direction:column;gap:12px}
.lg-toc-nav a{display:flex;align-items:center;gap:10px;font-weight:700;font-size:11.5px;letter-spacing:1.3px;text-transform:uppercase;color:var(--black)}
.lg-toc-nav a:hover{color:var(--red-500)}
.lg-toc-nav a::before{content:"";width:7px;height:7px;border-radius:4px;background:var(--red-500);flex:none}
/* Batch 55 · G1: the one clause with its own line in the index, under Terms (Legal 106: 10.5/1.2, gray-550, 17px in, no dot). */
.lg-toc-nav a.lg-toc-sub{margin-top:-4px;padding-left:17px;font-size:10.5px;letter-spacing:1.2px;color:var(--gray-550)}
.lg-toc-nav a.lg-toc-sub::before{display:none}
.lg-toc-nav a.lg-toc-sub:hover{color:var(--red-500)}
.lg-toc-note{margin:22px 0 0;font-size:12px;line-height:18px;color:var(--gray-550);text-wrap:pretty}
.lg-toc-mail{margin:8px 0 0;font-size:12px;line-height:18px;color:var(--gray-550)}

.lg-docs{flex:1 1 560px;min-width:0;display:flex;flex-direction:column;gap:22px}
.lg-doc{scroll-margin-top:24px;background:var(--white);border-radius:34px;padding:clamp(28px,3.4vw,44px) clamp(22px,3vw,46px) clamp(30px,3.4vw,46px)}
.lg-doc-head{display:flex;align-items:flex-end;flex-wrap:wrap;justify-content:space-between;gap:10px 30px;padding-bottom:22px;border-bottom:1px solid var(--line-strong)}
.lg-doc-title{margin:0}
.lg-doc-title span{display:block;font-family:var(--font-display);font-weight:900;font-size:clamp(24px,3.4vw,34px);line-height:1.06;text-transform:uppercase;color:var(--black)}
.lg-doc-title span.red{color:var(--red-500)}
.lg-doc-date{flex:none;padding-bottom:5px;font-weight:700;font-size:10.5px;letter-spacing:1.4px;text-transform:uppercase;color:var(--gray-550)}
.lg-lede{margin:22px 0 0;font-size:16px;line-height:24px;color:var(--black);text-wrap:pretty}

.lg-clauses{margin-top:30px;display:flex;flex-direction:column;gap:22px}
.lg-clause{display:flex;gap:18px}
.lg-n{flex:none;width:26px;font-family:var(--font-display);font-weight:900;font-size:13px;line-height:20px;color:var(--red-500)}
.lg-c{flex:1;min-width:0}
/* En el export estos dos son `<span>` con `display:block`. Acá son `<h3>` y `<p>`
   con los mismos números: un documento legal se navega con lector de pantalla y
   con la búsqueda del navegador, y una lista de 30 cláusulas sin un solo heading
   no se navega. No cambia un píxel. */
.lg-c-t{margin:0;font-weight:700;font-size:14.5px;line-height:20px;letter-spacing:.4px;text-transform:uppercase;color:var(--black)}
.lg-c-b{margin:6px 0 0;font-size:14.5px;line-height:22px;color:var(--gray-550);text-wrap:pretty}

/* ── Cierre ───────────────────────────────────────────────────────────────── */
.lg-closer{margin-top:6px;border-radius:34px;background:var(--black);padding:38px clamp(24px,3vw,46px);display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:24px 40px}
.lg-closer-t{margin:0;font-family:var(--font-display);font-weight:900;font-size:26px;line-height:1.06;text-transform:uppercase;color:var(--white)}
.lg-closer p{margin:10px 0 0;max-width:420px;font-size:14.5px;line-height:22px;color:var(--gray-400);text-wrap:pretty}
.lg-closer a{flex:none;display:flex;align-items:center;height:56px;padding:0 34px;border-radius:28px;background:var(--red-500);text-decoration:none}
.lg-closer a:hover{background:var(--red-600)}
.lg-closer a span{font-family:var(--font-display);font-weight:900;font-size:12px;letter-spacing:1.6px;color:var(--white)}

/* ── LOS HUECOS ───────────────────────────────────────────────────────────────
   Todo lo que el diseño rellenó con un dato inventado y que hoy no existe. NO se
   dejaron los valores del export: "Espress Labs S.L.", "NIF B-12345678" y "Calle
   Serrano 41" son placeholders de Claude Design, y un aviso LSSI-CE con un NIF
   inventado es una declaración legal falsa, no un lorem ipsum. Van como huecos
   visibles para que sea imposible publicarlos sin verlos.

   Se encuentran todos de un grep:  grep -o 'data-legal-gap="[^"]*"' legal/index.html
   Y los que no bloquean pero hay que revisar:  data-legal-review="…"
   ──────────────────────────────────────────────────────────────────────────── */
.gap{background:#fff3cf;box-shadow:inset 0 -2px 0 var(--red-500);padding:0 4px;border-radius:2px;font-weight:700;color:var(--black);white-space:nowrap}

.lg-draft{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 14px;padding:11px var(--gut);background:var(--black);font-weight:700;font-size:11px;line-height:16px;letter-spacing:1.3px;text-transform:uppercase;color:var(--white);text-align:center}
.lg-draft span+span{color:var(--gray-400)}


/* ── Bajo la cabecera fija del teléfono (tanda 43 · 5, tanda 44 · C2) ─────────
   Hasta 720px la cabecera es una fila fija de 64px. El export lo resuelve así: las anclas
   caen a 88px (64 + 24) y el índice deja de ser sticky en cuanto se apila (`static`):
   pegado arriba cabalgaría sobre los artículos que tiene debajo. En escritorio nada cambia
   (24px de ancla, índice pegado a 24px). */
@media (max-width:720px){
  .lg-toc{position:static}
  .lg-doc{scroll-margin-top:88px}
}
