/* ============ LEGAL — Estilo editorial compartido ============ */
.legal-hero{ background: var(--ink); color: #fff; padding: 200px 40px 120px; position: relative; overflow: hidden; }
.legal-hero::before{
  content:''; position: absolute; inset:0;
  background-image: repeating-linear-gradient(135deg, transparent 0 16px, rgba(255,255,255,.025) 16px 17px);
  pointer-events: none;
}
.legal-hero__inner{ max-width: 820px; margin: 0 auto; position: relative; z-index: 2; }
.legal-hero__crumbs{ font-size: 11px; letter-spacing: .3em; text-transform: uppercase; color: rgba(255,255,255,.5); margin-bottom: 40px; display: flex; align-items: center; gap: 14px; }
.legal-hero__crumbs a{ color: inherit; transition: color .3s var(--ease); }
.legal-hero__crumbs a:hover{ color: var(--ember); }
.legal-hero__crumbs .sep{ color: rgba(255,255,255,.25); }
.legal-hero__label{ font-size: 11px; letter-spacing: .3em; text-transform: uppercase; color: var(--ember); margin-bottom: 32px; display: flex; align-items: center; gap: 14px; }
.legal-hero__label::before{ content:''; width: 40px; height: 1px; background: var(--ember); }
.legal-hero__title{ font-weight: 200; font-size: clamp(56px, 8vw, 132px); letter-spacing: -0.025em; line-height: .98; }
.legal-hero__title em{ color: var(--ember); font-style: italic; font-weight: 300; }
.legal-hero__sub{ margin-top: 32px; font-size: 14px; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.55); }
.legal-hero__greca{ position: absolute; left: -40px; bottom: -40px; width: 280px; height: auto; opacity: .12; pointer-events: none; }

/* Body */
.legal-body{ background: var(--paper); padding: 120px 40px 160px; }
.legal-body__inner{ max-width: 820px; margin: 0 auto; overflow-wrap: anywhere; }
.legal-body h2{ font-size: clamp(22px, 2vw, 28px); font-weight: 400; letter-spacing: -0.01em; margin-top: 56px; margin-bottom: 16px; color: var(--ink); }
.legal-body h2:first-child{ margin-top: 0; }
.legal-body h2 .num{ font-family: 'IBM Plex Mono', monospace; font-size: 11px; letter-spacing: .26em; color: var(--ember); display: block; margin-bottom: 8px; font-weight: 500; }
.legal-body p{ font-size: 16px; line-height: 1.8; color: var(--ink-80); margin-bottom: 18px; }
.legal-body ul{ list-style: none; padding: 0; margin: 0 0 18px; }
.legal-body ul li{ font-size: 16px; line-height: 1.8; color: var(--ink-80); padding-left: 22px; position: relative; margin-bottom: 6px; }
.legal-body ul li::before{ content:''; position: absolute; left: 0; top: 14px; width: 10px; height: 1px; background: var(--ember); }
.legal-body strong{ color: var(--ink); font-weight: 600; }

/* Card */
.legal-card{ background: var(--paper-2); padding: 36px 40px; margin: 32px 0 48px; border-left: 2px solid var(--ember); }
.legal-card__title{ font-size: 11px; letter-spacing: .26em; text-transform: uppercase; color: var(--ink-60); margin-bottom: 16px; font-weight: 500; }
.legal-card dl{ display: grid; grid-template-columns: 200px 1fr; gap: 12px 24px; }
.legal-card dt{ font-size: 13px; color: var(--ink-60); }
.legal-card dd{ font-size: 13px; color: var(--ink); font-family: 'IBM Plex Mono', monospace; word-break: break-word; }

/* Tabla de cookies */
.cookie-table{ margin: 24px 0 32px; border-top: 1px solid var(--line); }
.cookie-row{ display: grid; grid-template-columns: 160px 1fr 140px; gap: 24px; padding: 20px 0; border-bottom: 1px solid var(--line); align-items: start; }
.cookie-row > div{ font-size: 14px; line-height: 1.65; color: var(--ink-80); }
.cookie-row strong{ color: var(--ink); }
.cookie-row--head{ background: transparent; padding: 14px 0; }
.cookie-row--head > div{ font-size: 10px; letter-spacing: .26em; text-transform: uppercase; color: var(--ink-60); font-weight: 500; }

/* Footer meta */
.legal-footer-meta{ margin-top: 80px; padding-top: 32px; border-top: 1px solid var(--line); display: flex; justify-content: space-between; align-items: center; }
.legal-footer-meta__date{ font-size: 11px; letter-spacing: .26em; text-transform: uppercase; color: var(--ink-60); font-family: 'IBM Plex Mono', monospace; }
.legal-footer-meta__related{ display: flex; gap: 24px; }
.legal-footer-meta__related a{ font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--ink-60); border-bottom: 1px solid transparent; padding-bottom: 4px; transition: color .3s var(--ease), border-color .3s var(--ease); }
.legal-footer-meta__related a:hover{ color: var(--ember); border-color: var(--ember); }

@media (max-width: 768px){
  .legal-hero{ padding: 140px 24px 80px; }
  .legal-body{ padding: 80px 24px 100px; }
  .legal-card dl{ grid-template-columns: 1fr; }
  .cookie-row, .cookie-row--head{ grid-template-columns: 1fr; gap: 8px; }
  .legal-footer-meta{ flex-direction: column; gap: 24px; align-items: flex-start; }
}
