/* Lavzatech — generado desde tokens.json */
:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--space-24:96px;--radius-sm:3px;--radius-md:6px;--radius-lg:10px;--stroke-hairline:1px;--stroke-frame:6px;--container:1200px;--measure:640px;--font-sans:"Archivo", "Helvetica Neue", Arial, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, Menlo, monospace;--surface:#ffffff;--surface-alt:#f2f7fa;--surface-deep:#23394b;--ink:#16232e;--ink-muted:#4a5b68;--on-deep:#ffffff;--on-deep-muted:#b9c8d4;--line:#d5e0e7;--line-strong:#7d8f9c;--brand:#138fcb;--brand-strong:#0b6fa3;--brand-hover:#085a85;--on-brand:#ffffff;--brand-tint:#e3f2fa;--focus:#0b6fa3;--success:#1d6b45;--success-bg:#e5f4ec;--warning:#8a4b00;--warning-bg:#fbf0df;--danger:#a8261d;--danger-bg:#fbe9e7;--shadow-raise:0 1px 2px rgba(22,35,46,0.06), 0 8px 24px rgba(22,35,46,0.08);color-scheme:light}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--surface:#0f1a22;--surface-alt:#16242f;--surface-deep:#1d3242;--ink:#eef4f8;--ink-muted:#a9b8c3;--on-deep:#eef4f8;--on-deep-muted:#a9b8c3;--line:#2b3b48;--line-strong:#6c7f8d;--brand:#3aa9e0;--brand-strong:#5bb9e8;--brand-hover:#86ccef;--on-brand:#0f1a22;--brand-tint:#12303f;--focus:#86ccef;--success:#6fd3a0;--success-bg:#123326;--warning:#f0b45e;--warning-bg:#33240f;--danger:#ff8f86;--danger-bg:#3a1714;--shadow-raise:0 1px 2px rgba(0,0,0,0.4), 0 8px 24px rgba(0,0,0,0.35);color-scheme:dark}}
:root[data-theme="dark"]{--surface:#0f1a22;--surface-alt:#16242f;--surface-deep:#1d3242;--ink:#eef4f8;--ink-muted:#a9b8c3;--on-deep:#eef4f8;--on-deep-muted:#a9b8c3;--line:#2b3b48;--line-strong:#6c7f8d;--brand:#3aa9e0;--brand-strong:#5bb9e8;--brand-hover:#86ccef;--on-brand:#0f1a22;--brand-tint:#12303f;--focus:#86ccef;--success:#6fd3a0;--success-bg:#123326;--warning:#f0b45e;--warning-bg:#33240f;--danger:#ff8f86;--danger-bg:#3a1714;--shadow-raise:0 1px 2px rgba(0,0,0,0.4), 0 8px 24px rgba(0,0,0,0.35);color-scheme:dark}

body{margin:0;background:var(--surface)}
@import url("https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700&family=IBM+Plex+Mono:wght@500&display=swap");

/* Lavzatech — componentes web. Todos los valores salen de tokens.json (var(--…)). */

.lz, .lz * { box-sizing: border-box; }
.lz { font-family: var(--font-sans); font-size: 16px; line-height: 24px; color: var(--ink); background: var(--surface); -webkit-font-smoothing: antialiased; }
.lz img { max-width: 100%; display: block; }
.lz a { color: var(--brand-strong); text-underline-offset: 3px; }
.lz a:hover { color: var(--brand-hover); }
.lz :focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }

/* ---------- Tipografía ---------- */
.lz-display { font-size: 56px; line-height: 60px; font-weight: 700; letter-spacing: -0.02em; margin: 0; }
.lz-h1 { font-size: 40px; line-height: 46px; font-weight: 700; letter-spacing: -0.015em; margin: 0; }
.lz-h2 { font-size: 30px; line-height: 36px; font-weight: 700; letter-spacing: -0.01em; margin: 0; }
.lz-h3 { font-size: 20px; line-height: 28px; font-weight: 600; margin: 0; }
.lz-lead { font-size: 18px; line-height: 28px; color: var(--ink-muted); margin: 0; max-width: var(--measure); }
.lz-small { font-size: 14px; line-height: 20px; color: var(--ink-muted); }
.lz-eyebrow { font-size: 13px; line-height: 16px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--brand-strong); margin: 0; }
.lz-data { font-family: var(--font-mono); font-size: 14px; line-height: 20px; font-weight: 500; }
.lz-accent { color: var(--brand); }

/* ---------- Layout ---------- */
.lz-container { max-width: var(--container); margin: 0 auto; padding: 0 var(--space-6); }
.lz-section { padding: var(--space-24) 0; }
.lz-section--alt { background: var(--surface-alt); }
.lz-section--deep { background: var(--surface-deep); color: var(--on-deep); }
.lz-section--deep .lz-lead, .lz-section--deep .lz-small { color: var(--on-deep-muted); }
.lz-section--deep .lz-eyebrow { color: var(--on-deep-muted); }
.lz-section-head { display: grid; gap: var(--space-4); margin-bottom: var(--space-12); max-width: 760px; }
.lz-grid { display: grid; gap: var(--space-8); }
.lz-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.lz-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.lz-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 960px) { .lz-grid--3, .lz-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) {
  .lz-grid--2, .lz-grid--3, .lz-grid--4 { grid-template-columns: 1fr; }
  .lz-section { padding: var(--space-16) 0; }
  .lz-container { padding: 0 var(--space-4); }
  .lz-display { font-size: 38px; line-height: 42px; }
  .lz-h1 { font-size: 30px; line-height: 36px; }
  .lz-h2 { font-size: 26px; line-height: 32px; }
}

/* ---------- Button ---------- */
.lz-btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2); font: 600 16px/20px var(--font-sans); padding: var(--space-3) var(--space-6); border-radius: var(--radius-md); border: 2px solid transparent; cursor: pointer; text-decoration: none; white-space: nowrap; transition: background-color .15s, color .15s, border-color .15s; }
.lz a.lz-btn { text-decoration: none; }
.lz-btn--primary, .lz a.lz-btn--primary { background: var(--brand-strong); color: var(--on-brand); }
.lz-btn--primary:hover, .lz a.lz-btn--primary:hover { background: var(--brand-hover); color: var(--on-brand); }
.lz-btn--secondary, .lz a.lz-btn--secondary { background: transparent; color: var(--brand-strong); border-color: var(--brand-strong); }
.lz-btn--secondary:hover, .lz a.lz-btn--secondary:hover { background: var(--brand-tint); color: var(--brand-hover); border-color: var(--brand-hover); }
.lz-btn--ondeep, .lz a.lz-btn--ondeep { background: var(--on-deep); color: var(--surface-deep); }
.lz-btn--ondeep:hover, .lz a.lz-btn--ondeep:hover { background: var(--brand-tint); color: var(--surface-deep); }
.lz-btn--lg { padding: 14px var(--space-6); font-size: 17px; }
.lz-btn[disabled] { opacity: .5; cursor: not-allowed; }
.lz-btn-row { display: flex; flex-wrap: wrap; gap: var(--space-4); align-items: center; }

/* ---------- Chip ---------- */
.lz-chip { display: inline-flex; align-items: center; gap: var(--space-2); font-size: 13px; line-height: 16px; font-weight: 600; padding: 6px 10px; border-radius: var(--radius-sm); background: var(--brand-tint); color: var(--brand-strong); }

/* ---------- Header ---------- */
.lz-header { background: var(--surface); border-bottom: var(--stroke-hairline) solid var(--line); }
.lz-header__inner { display: flex; align-items: center; gap: var(--space-8); height: 76px; }
.lz-header__logo { height: 48px; width: auto; flex: none; }
.lz-nav { display: flex; gap: var(--space-6); margin-right: auto; }
.lz-nav a { color: var(--ink); text-decoration: none; font-size: 15px; font-weight: 500; padding: var(--space-2) 0; border-bottom: 2px solid transparent; }
.lz-nav a:hover, .lz-nav a[aria-current="page"] { color: var(--brand-strong); border-bottom-color: var(--brand); }
.lz-header__menu { display: none; background: none; border: var(--stroke-hairline) solid var(--line-strong); border-radius: var(--radius-sm); color: var(--ink); font: 600 14px/20px var(--font-sans); padding: 6px 12px; margin-left: auto; }
@media (max-width: 1080px) { .lz-nav { display: none; } .lz-header__menu { display: inline-block; } .lz-header .lz-btn { display: none; } }

/* ---------- Hero (el marco) ---------- */
.lz-hero { padding: var(--space-16) 0 var(--space-24); }
.lz-hero__grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: var(--space-12); align-items: center; }
.lz-hero__copy { display: grid; gap: var(--space-6); }
.lz-hero__frame { border: var(--stroke-frame) solid var(--brand); padding: var(--space-8); display: grid; gap: var(--space-4); background: var(--surface); }
.lz-hero__frame-title { font-size: 13px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--ink-muted); margin: 0; }
.lz-hero__problem { display: grid; grid-template-columns: auto 1fr; gap: var(--space-3) var(--space-4); align-items: baseline; margin: 0; padding: 0; list-style: none; }
.lz-hero__problem li { display: contents; }
.lz-hero__problem b { font-family: var(--font-mono); font-weight: 500; color: var(--brand-strong); font-size: 14px; }
.lz-hero__note { border-top: var(--stroke-hairline) solid var(--line); padding-top: var(--space-4); }
@media (max-width: 860px) { .lz-hero__grid { grid-template-columns: 1fr; } }

/* ---------- Card (dolor, vertical, modelo) ---------- */
.lz-card { background: var(--surface); border: var(--stroke-hairline) solid var(--line); border-radius: var(--radius-md); padding: var(--space-6); display: grid; gap: var(--space-3); align-content: start; }
.lz-card__kicker { font-family: var(--font-mono); font-size: 13px; font-weight: 500; color: var(--brand-strong); }
.lz-card p { margin: 0; color: var(--ink-muted); }
.lz-card__list { margin: var(--space-2) 0 0; padding: 0; list-style: none; display: grid; gap: var(--space-2); border-top: var(--stroke-hairline) solid var(--line); padding-top: var(--space-4); }
.lz-card__list li { font-size: 15px; line-height: 22px; padding-left: 18px; position: relative; }
.lz-card__list li::before { content: ""; position: absolute; left: 0; top: 8px; width: 8px; height: 8px; background: var(--brand); border-radius: 1px; }
.lz-card__foot { margin-top: var(--space-2); }
.lz-card--feature { border: var(--stroke-frame) solid var(--brand); }

/* ---------- Model (modelos de servicio) ---------- */
.lz-model { display: grid; gap: var(--space-3); padding: var(--space-6); border-top: 4px solid var(--brand); background: var(--surface); }
.lz-model__who { display: grid; grid-template-columns: auto 1fr; gap: var(--space-1) var(--space-3); font-size: 14px; line-height: 20px; margin: var(--space-2) 0 0; }
.lz-model__who dt { color: var(--ink-muted); }
.lz-model__who dd { margin: 0; font-weight: 600; }
.lz-model p { margin: 0; color: var(--ink-muted); }

/* ---------- Steps (método) ---------- */
.lz-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); counter-reset: lzstep; }
.lz-steps li { counter-increment: lzstep; position: relative; padding: var(--space-12) var(--space-4) 0 0; display: grid; gap: var(--space-2); align-content: start; }
.lz-steps li::before { content: counter(lzstep, decimal-leading-zero); position: absolute; top: 0; left: 0; font: 500 14px/20px var(--font-mono); color: var(--brand-strong); }
.lz-steps li::after { content: ""; position: absolute; top: 30px; left: 0; right: 0; height: 2px; background: var(--line); }
.lz-steps li:first-child::after { background: var(--brand); }
.lz-steps li.is-key::after { background: var(--brand); }
.lz-steps p { margin: 0; font-size: 15px; line-height: 22px; color: var(--ink-muted); }
@media (max-width: 860px) { .lz-steps { grid-template-columns: 1fr; gap: var(--space-6); } .lz-steps li { padding: 0 0 0 var(--space-12); } .lz-steps li::after { display: none; } }

/* ---------- RFID panel ---------- */
.lz-rfid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-12); align-items: center; }
.lz-rfid__log { background: var(--surface); color: var(--ink); border-radius: var(--radius-lg); padding: var(--space-6); display: grid; gap: var(--space-2); }
.lz-rfid__row { display: grid; grid-template-columns: 1fr auto auto; gap: var(--space-4); padding: var(--space-2) 0; border-bottom: var(--stroke-hairline) solid var(--line); font-family: var(--font-mono); font-size: 13px; line-height: 20px; }
.lz-rfid__row:last-child { border-bottom: 0; }
.lz-rfid__row--head { color: var(--ink-muted); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.lz-rfid__ok { color: var(--success); font-weight: 500; }
.lz-rfid__miss { color: var(--danger); font-weight: 500; }
.lz-rfid__claims { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-4); }
.lz-rfid__claims li { padding-left: var(--space-6); position: relative; }
.lz-rfid__claims li::before { content: ""; position: absolute; left: 0; top: 7px; width: 10px; height: 10px; border: 2px solid var(--brand); }
@media (max-width: 860px) { .lz-rfid { grid-template-columns: 1fr; } }

/* ---------- Photo slot (fotos reales pendientes) ---------- */
.lz-photo { aspect-ratio: 4 / 3; border: 2px dashed var(--line-strong); border-radius: var(--radius-md); display: grid; place-items: center; text-align: center; padding: var(--space-6); color: var(--ink-muted); font-size: 14px; line-height: 20px; background: var(--surface-alt); }

/* ---------- Form ---------- */
.lz-form { background: var(--surface); border-radius: var(--radius-lg); box-shadow: var(--shadow-raise); padding: var(--space-8); display: grid; gap: var(--space-4); }
.lz-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-4); }
@media (max-width: 640px) { .lz-form__row { grid-template-columns: 1fr; } .lz-form { padding: var(--space-6); } }
.lz-field { display: grid; gap: var(--space-2); }
.lz-field label { font-size: 14px; line-height: 20px; font-weight: 600; color: var(--ink); }
.lz-field input, .lz-field select { font: 400 16px/24px var(--font-sans); color: var(--ink); background: var(--surface-alt); border: 1px solid var(--line-strong); border-radius: var(--radius-sm); padding: 10px 12px; width: 100%; }
.lz-field input:focus, .lz-field select:focus { outline: 2px solid var(--focus); outline-offset: 1px; background: var(--surface); }
.lz-field__help { font-size: 13px; line-height: 18px; color: var(--ink-muted); }
.lz-field--error input, .lz-field--error select { border-color: var(--danger); border-width: 2px; padding: 9px 11px; }
.lz-field__error { font-size: 13px; line-height: 18px; color: var(--danger); font-weight: 600; }
.lz-consent { display: flex; gap: var(--space-3); align-items: flex-start; font-size: 14px; line-height: 20px; color: var(--ink-muted); }
.lz-consent input { width: 18px; height: 18px; margin-top: 1px; accent-color: var(--brand-strong); flex: none; }

/* ---------- Alert (estados del formulario) ---------- */
.lz-alert { display: grid; grid-template-columns: auto 1fr; gap: var(--space-1) var(--space-3); padding: var(--space-4); border-radius: var(--radius-sm); font-size: 15px; line-height: 22px; }
.lz-alert b { font-weight: 700; }
.lz-alert__tag { font: 500 12px/22px var(--font-mono); letter-spacing: .08em; text-transform: uppercase; }
.lz-alert--success { background: var(--success-bg); color: var(--success); }
.lz-alert--warning { background: var(--warning-bg); color: var(--warning); }
.lz-alert--danger { background: var(--danger-bg); color: var(--danger); }
.lz-alert--info { background: var(--brand-tint); color: var(--brand-strong); }
.lz-alert p { margin: 0; color: var(--ink); }

/* ---------- Footer ---------- */
.lz-footer { background: var(--surface-deep); color: var(--on-deep); padding: var(--space-16) 0 var(--space-8); }
.lz-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: var(--space-8); }
.lz-footer h4 { margin: 0 0 var(--space-3); font-size: 13px; letter-spacing: .16em; text-transform: uppercase; color: var(--on-deep-muted); font-weight: 600; }
.lz-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-2); }
.lz-footer a { color: var(--on-deep); text-decoration: none; font-size: 15px; }
.lz-footer a:hover { text-decoration: underline; color: var(--on-deep); }
.lz-footer__logo { width: 132px; height: auto; }
.lz-footer__legal { margin-top: var(--space-12); padding-top: var(--space-6); border-top: 1px solid rgba(255,255,255,.18); display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-4); font-size: 14px; color: var(--on-deep-muted); }
.lz-footer p { color: var(--on-deep-muted); font-size: 15px; line-height: 22px; margin: var(--space-4) 0 0; }
@media (max-width: 860px) { .lz-footer__grid { grid-template-columns: 1fr 1fr; } }

/* ---------- Pendiente (dato por confirmar) ---------- */
.lz-pending { font-family: var(--font-mono); font-size: .88em; background: var(--warning-bg); color: var(--warning); padding: 1px 6px; border-radius: var(--radius-sm); white-space: nowrap; }

/* Superficies claras dentro de bandas oscuras: restablecen la tinta */
.lz-section--deep .lz-form, .lz-section--deep .lz-rfid__log { color: var(--ink); }
.lz-section--deep .lz-form .lz-eyebrow { color: var(--brand-strong); }
.lz-section--deep .lz-form .lz-small, .lz-section--deep .lz-rfid__log .lz-small { color: var(--ink-muted); }

@media (max-width: 640px) {
  .lz-btn { white-space: normal; text-align: center; }
  .lz-btn-row > .lz-btn { width: 100%; }
  .lz-footer__grid { grid-template-columns: 1fr; }
  .lz-rfid__row { gap: var(--space-2); font-size: 12px; }
  .lz-hero__frame { padding: var(--space-6); }
}
.lz-grid > * { min-width: 0; }
@media (max-width: 640px) { .lz-pending { white-space: normal; } }

/* ---------- Coverage (municipios atendidos) ---------- */
.lz-coverage { border: var(--stroke-frame) solid var(--brand); background: var(--surface); padding: var(--space-8); display: grid; gap: var(--space-4); }
.lz-coverage__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-2) var(--space-4); }
.lz-coverage__list li { font-size: 15px; line-height: 22px; padding-left: 16px; position: relative; }
.lz-coverage__list li::before { content: ""; position: absolute; left: 0; top: 8px; width: 7px; height: 7px; background: var(--brand); border-radius: 1px; }
.lz-coverage__list li.is-plant { font-weight: 700; color: var(--brand-strong); }
.lz-coverage__list li.is-plant::after { content: " · planta"; font-weight: 500; font-family: var(--font-mono); font-size: 12px; }
@media (max-width: 640px) { .lz-coverage__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } .lz-coverage { padding: var(--space-6); } }

/* ---------- FAQ (objeciones) ---------- */
.lz-faq { display: grid; border-top: var(--stroke-hairline) solid var(--line); }
.lz-faq__item { border-bottom: var(--stroke-hairline) solid var(--line); }
.lz-faq__item summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: var(--space-4); padding: var(--space-4) 0; font-size: 18px; line-height: 26px; font-weight: 600; color: var(--ink); }
.lz-faq__item summary::-webkit-details-marker { display: none; }
.lz-faq__item summary::after { content: "+"; font-family: var(--font-mono); font-weight: 500; color: var(--brand-strong); font-size: 20px; flex: none; }
.lz-faq__item[open] summary::after { content: "−"; }
.lz-faq__item p { margin: 0 0 var(--space-4); color: var(--ink-muted); max-width: var(--measure); }

/* ---------- Comparison table ---------- */
.lz-table-wrap { overflow-x: auto; border: var(--stroke-hairline) solid var(--line); border-radius: var(--radius-md); background: var(--surface); }
.lz-table { width: 100%; border-collapse: collapse; font-size: 15px; line-height: 22px; min-width: 760px; }
.lz-table caption { text-align: left; padding: var(--space-4) var(--space-6) 0; caption-side: top; }
.lz-table th, .lz-table td { text-align: left; vertical-align: top; padding: var(--space-4) var(--space-6); border-bottom: var(--stroke-hairline) solid var(--line); }
.lz-table thead th { font-size: 12px; line-height: 16px; letter-spacing: .14em; text-transform: uppercase; color: var(--ink-muted); font-weight: 600; }
.lz-table tbody th { font-weight: 700; color: var(--ink); white-space: nowrap; border-left: 4px solid var(--brand); }
.lz-table td { color: var(--ink-muted); }
.lz-table tbody tr:last-child th, .lz-table tbody tr:last-child td { border-bottom: 0; }
.lz-arrow { font-family: var(--font-sans) !important; font-size: inherit !important; font-weight: 600 !important; color: var(--brand-strong); white-space: nowrap; }
.lz-steps--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 860px) { .lz-steps--3 { grid-template-columns: 1fr; } }

/* ---------- Menú móvil (sitio) ---------- */
.lz-header { position: relative; }
@media (max-width: 1080px) {
  .lz-header.is-open .lz-nav { display: flex; flex-direction: column; gap: 0; position: absolute; top: 76px; left: 0; right: 0; background: var(--surface); border-bottom: var(--stroke-hairline) solid var(--line); box-shadow: var(--shadow-raise); padding: var(--space-2) var(--space-6) var(--space-4); z-index: 10; }
  .lz-header.is-open .lz-nav a { padding: var(--space-3) 0; border-bottom: var(--stroke-hairline) solid var(--line); }
}

/* ---------- Texto legal ---------- */
.lz-legal { max-width: 800px; display: grid; gap: var(--space-4); }
.lz-legal p { margin: 0; color: var(--ink); max-width: none; }
.lz-legal h2 { margin-top: var(--space-6); }
.lz-legal .lz-card__list { border-top: 0; padding-top: 0; margin: 0; }
.lz-legal .lz-card__list li { font-size: 16px; line-height: 24px; }

/* ---------- Figure (foto con leyenda) ---------- */
.lz-figure { margin: 0; display: grid; gap: var(--space-2); }
.lz-figure img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--radius-md); background: var(--surface-alt); }
.lz-figure--contain img { object-fit: contain; background: #ffffff; padding: var(--space-4); }
.lz-figure figcaption { display: flex; justify-content: space-between; gap: var(--space-3); font-size: 14px; line-height: 20px; color: var(--ink); }
.lz-figure__tag { font-family: var(--font-mono); font-size: 12px; color: var(--ink-muted); white-space: nowrap; }

/* ---------- Timeline (historia) ---------- */
.lz-timeline { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; border-left: 2px solid var(--line); margin-left: 6px; }
.lz-timeline__item { position: relative; padding: 0 0 var(--space-8) var(--space-8); display: grid; gap: var(--space-2); max-width: 760px; }
.lz-timeline__item:last-child { padding-bottom: 0; }
.lz-timeline__item::before { content: ""; position: absolute; left: -8px; top: 4px; width: 14px; height: 14px; background: var(--brand); border-radius: 1px; }
.lz-timeline__item:last-child::before { background: var(--surface); border: 3px solid var(--brand); width: 14px; height: 14px; box-sizing: border-box; }
.lz-timeline__year { font: 500 14px/20px var(--font-mono); color: var(--brand-strong); }
.lz-timeline__item p { margin: 0; color: var(--ink-muted); }
.lz-header__inner .lz-nav { gap: var(--space-4); }
@media (max-width: 1240px) { .lz-nav { display: none; } .lz-header__menu { display: inline-block; } .lz-header .lz-btn { display: none; } .lz-header.is-open .lz-nav { display: flex; flex-direction: column; gap: 0; position: absolute; top: 76px; left: 0; right: 0; background: var(--surface); border-bottom: var(--stroke-hairline) solid var(--line); box-shadow: var(--shadow-raise); padding: var(--space-2) var(--space-6) var(--space-4); z-index: 10; } .lz-header.is-open .lz-nav a { padding: var(--space-3) 0; border-bottom: var(--stroke-hairline) solid var(--line); } }
.lz-nav a { white-space: nowrap; }

/* ---------- Stats (datos de planta) ---------- */
.lz-stats-band { background: var(--surface-deep); color: var(--on-deep); padding: var(--space-12) 0; }
.lz-stats { margin: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-8); }
.lz-stat { display: flex; flex-direction: column-reverse; gap: var(--space-2); border-left: 4px solid var(--brand); padding-left: var(--space-6); }
.lz-stat dt { font-size: 13px; line-height: 16px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--on-deep-muted); }
.lz-stat dd { margin: 0; font-size: 48px; line-height: 52px; font-weight: 700; letter-spacing: -0.02em; color: var(--on-deep); }
.lz-stat dd span { font-size: 18px; line-height: 24px; font-weight: 500; letter-spacing: 0; color: var(--on-deep-muted); }
@media (max-width: 860px) { .lz-stats { grid-template-columns: 1fr; gap: var(--space-6); } .lz-stat dd { font-size: 40px; line-height: 44px; } }
