/* Ubermach · sitio v7, páginas B: noticias, empleo, empresa, contacto, inversores, privacidad.
   Se carga después de site.css. Sin estilos inline (CSP estricta). */

/* ---------- Cabeceras de lista (News / Contact / Privacy) ---------- */
.list-head { padding-top: 96px; padding-bottom: 40px; }
.list-head h1 { margin: 14px 0 0; font-size: clamp(40px, 5.6vw, 80px); font-weight: var(--h-weight); line-height: 1; letter-spacing: -.035em; }
.list-head .lede { margin-top: 18px; }
.list-body { padding-top: 24px; }
.page-hero .btn { margin-top: 28px; }

/* ---------- Lista de noticias ---------- */
.nl { border-top: 1px solid var(--line); }
.nl-item { display: grid; grid-template-columns: 240px 1fr auto; gap: 32px; align-items: start; padding: 36px 0; border-bottom: 1px solid var(--line); transition: background .15s; }
.nl-item:hover { background: rgba(255, 255, 255, .02); }
.nl-item .meta { display: grid; gap: 8px; font: 500 11px var(--mono); letter-spacing: .14em; color: var(--mute); }
.nl-item .meta .k { color: var(--accent); }
.nl-item h2 { margin: 0 0 10px; font-size: clamp(24px, 2.6vw, 36px); font-weight: var(--h-weight); line-height: 1.12; letter-spacing: -.02em; }
.nl-item p { margin: 0; color: var(--mute); max-width: 60ch; }
.nl-item .link-arrow { align-self: center; }
@media (max-width: 800px) { .nl-item { grid-template-columns: 1fr; gap: 14px; padding: 28px 0; } .nl-item .meta { display: flex; gap: 14px; } }

/* ---------- Empleo ---------- */
.values .card h3 { font-size: 18px; }
.roles .row-list .role { font-size: 18px; font-weight: 500; }
.roles .row-list a { grid-template-columns: 1.6fr 1fr .7fr auto; }
.roles .row-list .link-arrow { justify-self: end; }
@media (max-width: 720px) { .roles .row-list a { grid-template-columns: 1fr; } .roles .row-list .link-arrow { justify-self: start; margin-top: 6px; } }
.roles-foot { display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; margin-top: 48px; }
.roles-foot p { margin: 0; font-size: 20px; color: var(--fg-2); }

.job { padding: 96px var(--pad) 40px; }
.job .head { max-width: 680px; margin: 0 auto 56px; }
.job .back { display: inline-flex; color: var(--mute); font-size: 14px; margin-bottom: 26px; }
.job h1 { margin: 0 0 22px; font-size: clamp(36px, 4.8vw, 64px); font-weight: var(--h-weight); line-height: 1.05; letter-spacing: -.03em; }
.job .tags { display: flex; flex-wrap: wrap; gap: 10px; }
.job .tags span { font: 500 12px var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--fg-2); border: 1px solid #262c35; padding: 6px 12px; }
.job .prose h2:first-child { margin-top: 0; }
.ticks { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.ticks li { position: relative; padding-left: 28px; }
.ticks li::before { content: ''; position: absolute; left: 0; top: .72em; width: 12px; height: 1.5px; background: var(--accent); }
.job .cta-box { max-width: 680px; }

/* ---------- Empresa / Contacto ---------- */
.split { display: grid; grid-template-columns: 1fr 1.5fr; gap: 64px; align-items: start; }
.split h2 { margin-top: 0; }
.split .body p { margin: 0 0 22px; font-size: 20px; line-height: 1.65; color: var(--fg-2); }
@media (max-width: 800px) { .split { grid-template-columns: 1fr; gap: 24px; } }
.channels-sec { padding-top: 24px; padding-bottom: 24px; }
.card.link { display: flex; flex-direction: column; gap: 10px; transition: border-color .15s, background .15s; }
.card.link:hover { border-color: #2f3744; background: #0e1116; }
.card.link .link-arrow { margin-top: auto; padding-top: 18px; color: var(--fg-2); }
.card .mail, .mail { font: 500 14px var(--mono); letter-spacing: .02em; color: var(--fg-2); }
.mail a { text-decoration: underline; text-underline-offset: 4px; }
.demo { padding-top: 56px; }
.demo .cta-box, .deck .cta-box { margin-top: 0; }
.cta-box h2 { margin: 0 0 8px; font-size: clamp(28px, 3vw, 40px); font-weight: var(--h-weight); letter-spacing: -.02em; line-height: 1.05; }
.cta-box .hint { margin-top: 14px; font-size: 14px; color: var(--dim); max-width: 60ch; }
.cta-box > div { max-width: 640px; }

/* ---------- Inversores ---------- */
.why .card { min-height: 220px; }
.why .num { display: block; margin-bottom: 36px; font: 500 12px var(--mono); letter-spacing: .14em; color: var(--accent); }
.deck { padding-top: 40px; }
.deck .mail { margin-top: 14px; }
.fine { margin: 28px 0 0; font-size: 13px; color: var(--dim); max-width: 70ch; }

/* ---------- Privacidad ---------- */
.legal-page { display: grid; grid-template-columns: 240px 1fr; gap: 64px; align-items: start; padding-top: 56px; }
.toc { position: sticky; top: 96px; }
.toc ul { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 10px; font-size: 14px; }
.toc a { color: var(--fg-2); }
.toc a:hover { color: var(--fg); text-decoration: underline; text-underline-offset: 4px; }
.doc { max-width: 680px; }
.doc section { padding-bottom: 36px; margin-bottom: 36px; border-bottom: 1px solid var(--line); scroll-margin-top: 96px; }
.doc section:last-child { border-bottom: 0; }
.doc h2 { margin: 0 0 12px; font-size: 24px; font-weight: var(--h-weight); letter-spacing: -.01em; }
.doc p { margin: 0; color: var(--fg-2); font-size: 17px; line-height: 1.7; }
.doc p a { text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 800px) { .legal-page { grid-template-columns: 1fr; gap: 32px; } .toc { position: static; } }
