/*
Theme Name: NODO Astra Child
Theme URI: https://wpastra.com/
Description: Tema hijo de Astra para la Corporación NODO: Tejiendo Territorio. Cabecera y pie bilingües, formulario de contacto, patrones de página y configuración inicial en un clic (Ajustes › NODO).
Author: Corporación NODO
Template: astra
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: nodo
*/
/* ==========================================================================
   NODO · sistema visual web
   Layout: secciones a todo el ancho (.nodo-s) con contenedor central (.nodo-wrap);
   verde montaña como base, ámbar para acciones, hilos de colores como firma visual.
   ========================================================================== */
:root {
  --nodo-verde: #063C24;
  --nodo-verde-2: #0B4A2E;
  --nodo-verde-3: #04301C;
  --nodo-brote: #5E944E;
  --nodo-ambar: #E2941A;
  --nodo-terra: #CE5826;
  --nodo-terra-2: #B84A1C;
  --nodo-niebla: #EEF3EC;
  --nodo-blanco: #FFFFFF;
  --nodo-ink: #17251D;
  --nodo-muted: #52645A;
  --nodo-line: #D6E1D2;
  --nodo-on-dark: #D5E4D0;
  --nodo-font: "Poppins", "Segoe UI", system-ui, -apple-system, Arial, sans-serif;
  --nodo-radius: 18px;
  --nodo-radius-sm: 12px;
  --nodo-shadow: 0 1px 2px rgba(6, 60, 36, .06), 0 12px 32px -12px rgba(6, 60, 36, .18);
  --nodo-max: 1200px;
  --nodo-gutter: max(20px, env(safe-area-inset-left, 0px));
  --nodo-gutter-r: max(20px, env(safe-area-inset-right, 0px));
  --nodo-space: clamp(64px, 9vw, 112px);
}

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation: none !important; transition: none !important; } }
.nodo-site { font-family: var(--nodo-font); color: var(--nodo-ink); background: var(--nodo-blanco); -webkit-font-smoothing: antialiased; }
.nodo-site :focus-visible { outline: 3px solid var(--nodo-ambar); outline-offset: 3px; border-radius: 4px; }
.nodo-skip { position: absolute; left: -9999px; top: 0; z-index: 1000; background: var(--nodo-ambar); color: var(--nodo-verde); padding: 12px 18px; font-weight: 600; }
.nodo-skip:focus { left: 16px; top: 16px; }

/* Temas clásicos (Astra) envuelven los grupos en .wp-block-group__inner-container:
   lo hacemos transparente para que la rejilla y el flex funcionen igual que en el editor. */
.nodo-s .wp-block-group__inner-container, .nodo-s.wp-block-group > .wp-block-group__inner-container { display: contents; }

/* Neutraliza márgenes de flujo de WordPress/Astra dentro de nuestras secciones */
.entry-content > .nodo-s, .nodo-main > .nodo-s { margin: 0 !important; max-width: none !important; }
.nodo-s, .nodo-s * { margin-block-start: 0; margin-block-end: 0; box-sizing: border-box; }
.nodo-s { position: relative; width: 100%; padding-block: var(--nodo-space); background: var(--nodo-blanco); overflow: hidden; }
.nodo-s .nodo-wrap { position: relative; z-index: 1; max-width: var(--nodo-max); margin-inline: auto; padding-left: var(--nodo-gutter); padding-right: var(--nodo-gutter-r); display: flex; flex-direction: column; gap: 40px; }
.nodo-s.nodo-tint { background: var(--nodo-niebla); }
.nodo-s.nodo-dark { background: var(--nodo-verde); color: var(--nodo-blanco); }

/* ---------- Tipografía ---------- */
.nodo-s .nodo-kicker { font-size: .78rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--nodo-terra); }
.nodo-s .nodo-kicker--light, .nodo-dark .nodo-kicker, .nodo-sechead--light .nodo-kicker { color: var(--nodo-ambar); }
.nodo-s .nodo-h1 { font-family: var(--nodo-font); font-size: clamp(2.2rem, 5.2vw, 4.1rem); line-height: 1.06; font-weight: 700; letter-spacing: -.02em; color: var(--nodo-blanco); text-wrap: balance; }
.nodo-s .nodo-h1 em, .nodo-s .nodo-h2 em { font-style: normal; color: var(--nodo-ambar); }
.nodo-s .nodo-h2 { font-family: var(--nodo-font); font-size: clamp(1.75rem, 3.4vw, 2.6rem); line-height: 1.14; font-weight: 700; letter-spacing: -.015em; color: var(--nodo-verde); text-wrap: balance; }
.nodo-dark .nodo-h2, .nodo-cta .nodo-h2 { color: var(--nodo-blanco); }
.nodo-s .nodo-h3 { font-family: var(--nodo-font); font-size: 1.12rem; line-height: 1.3; font-weight: 600; color: var(--nodo-verde); text-wrap: balance; }
.nodo-dark .nodo-h3 { color: var(--nodo-blanco); }
.nodo-s p { font-size: 1rem; line-height: 1.65; color: inherit; }
.nodo-s .nodo-lead { font-size: clamp(1.05rem, 1.4vw, 1.2rem); line-height: 1.65; color: var(--nodo-muted); max-width: 62ch; }
.nodo-dark .nodo-lead, .nodo-hero .nodo-lead, .nodo-pagehead .nodo-lead, .nodo-cta .nodo-lead { color: var(--nodo-on-dark); }
.nodo-s .nodo-note { font-size: .82rem; color: var(--nodo-muted); }
.nodo-s .nodo-note--light { color: rgba(255,255,255,.62); }
.nodo-s a { color: var(--nodo-terra-2); text-underline-offset: 3px; }
.nodo-dark a { color: var(--nodo-ambar); }
.nodo-s .nodo-more { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; color: var(--nodo-verde); text-decoration: none; }
.nodo-s .nodo-more::after { content: ""; width: 18px; height: 18px; background: currentColor; -webkit-mask: var(--nodo-i-arrow) center/contain no-repeat; mask: var(--nodo-i-arrow) center/contain no-repeat; transition: transform .2s; }
.nodo-s .nodo-more:hover::after { transform: translateX(4px); }

/* ---------- Botones ---------- */
.nodo-s .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 12px; }
.nodo-s .wp-block-buttons.nodo-center { justify-content: center; }
.nodo-s .wp-block-button .wp-block-button__link { display: inline-flex; align-items: center; gap: 10px; font-family: var(--nodo-font); font-size: 1rem; font-weight: 600; line-height: 1.2; padding: 15px 28px; border-radius: 999px; border: 2px solid var(--nodo-ambar); background: var(--nodo-ambar); color: var(--nodo-verde); text-decoration: none; transition: transform .18s, background .18s, color .18s, border-color .18s; }
.nodo-s .wp-block-button .wp-block-button__link:hover { transform: translateY(-2px); background: #F0A32B; border-color: #F0A32B; color: var(--nodo-verde); }
.nodo-s .wp-block-button.is-style-outline .wp-block-button__link { background: transparent; color: var(--nodo-verde); border-color: var(--nodo-verde); }
.nodo-s .wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--nodo-verde); color: var(--nodo-blanco); }
.nodo-hero .wp-block-button.is-style-outline .wp-block-button__link, .nodo-dark .wp-block-button.is-style-outline .wp-block-button__link, .nodo-cta .wp-block-button.is-style-outline .wp-block-button__link { color: var(--nodo-blanco); border-color: rgba(255,255,255,.7); }
.nodo-hero .wp-block-button.is-style-outline .wp-block-button__link:hover, .nodo-dark .wp-block-button.is-style-outline .wp-block-button__link:hover, .nodo-cta .wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--nodo-blanco); color: var(--nodo-verde); border-color: var(--nodo-blanco); }
.nodo-cta .wp-block-button:not(.is-style-outline) .wp-block-button__link { background: var(--nodo-blanco); border-color: var(--nodo-blanco); color: var(--nodo-verde); }

/* ---------- Íconos (máscaras sobre círculo de color) ---------- */
.nodo-s .nodo-ico { width: 52px; height: 52px; flex: none; border-radius: 50%; background: var(--nodo-verde); display: grid; place-items: center; }
.nodo-s .nodo-ico::before { content: ""; width: 24px; height: 24px; background: var(--nodo-blanco); -webkit-mask: var(--ico) center/contain no-repeat; mask: var(--ico) center/contain no-repeat; }
.nodo-s .nodo-ico--xl { width: 76px; height: 76px; }
.nodo-s .nodo-ico--xl::before { width: 34px; height: 34px; }
:where(.nodo-grid, .nodo-grid > .wp-block-group__inner-container) > :nth-child(4n+2) .nodo-ico, :where(.nodo-values, .nodo-values > .wp-block-group__inner-container) > :nth-child(4n+2) .nodo-ico, :where(.nodo-chain, .nodo-chain > .wp-block-group__inner-container) > :nth-child(4n+2) .nodo-ico { background: var(--nodo-brote); }
:where(.nodo-grid, .nodo-grid > .wp-block-group__inner-container) > :nth-child(4n+3) .nodo-ico, :where(.nodo-values, .nodo-values > .wp-block-group__inner-container) > :nth-child(4n+3) .nodo-ico, :where(.nodo-chain, .nodo-chain > .wp-block-group__inner-container) > :nth-child(4n+3) .nodo-ico { background: var(--nodo-ambar); }
:where(.nodo-grid, .nodo-grid > .wp-block-group__inner-container) > :nth-child(4n+3) .nodo-ico::before, :where(.nodo-values, .nodo-values > .wp-block-group__inner-container) > :nth-child(4n+3) .nodo-ico::before, :where(.nodo-chain, .nodo-chain > .wp-block-group__inner-container) > :nth-child(4n+3) .nodo-ico::before { background: var(--nodo-verde); }
:where(.nodo-grid, .nodo-grid > .wp-block-group__inner-container) > :nth-child(4n+4) .nodo-ico, :where(.nodo-values, .nodo-values > .wp-block-group__inner-container) > :nth-child(4n+4) .nodo-ico, :where(.nodo-chain, .nodo-chain > .wp-block-group__inner-container) > :nth-child(4n+4) .nodo-ico { background: var(--nodo-terra); }

/* ---------- Encabezados de sección ---------- */
.nodo-sechead { display: flex; flex-direction: column; gap: 14px; max-width: 760px; }
.nodo-s .nodo-sechead .nodo-lead { margin-top: 4px; }

/* ---------- Rejillas y tarjetas ---------- */
.nodo-grid { display: grid; gap: 24px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); }
.nodo-grid--2 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); }
.nodo-grid--3 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }
.nodo-grid--4 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); }
.nodo-card { display: flex; flex-direction: column; gap: 14px; padding: 30px; background: var(--nodo-blanco); border: 1px solid var(--nodo-line); border-radius: var(--nodo-radius); transition: transform .2s, box-shadow .2s, border-color .2s; min-width: 0; }
.nodo-card:hover { transform: translateY(-4px); box-shadow: var(--nodo-shadow); border-color: transparent; }
.nodo-card p { color: var(--nodo-muted); }
.nodo-card .nodo-more { margin-top: auto; padding-top: 6px; }
.nodo-card--compact { padding: 24px; gap: 10px; }
.nodo-card--compact .nodo-ico { width: 44px; height: 44px; }
.nodo-card--compact .nodo-ico::before { width: 20px; height: 20px; }
.nodo-services--list .nodo-card { flex-direction: row; align-items: flex-start; gap: 20px; }
.nodo-services--list :where(.nodo-card, .nodo-card > .wp-block-group__inner-container) > :not(.nodo-ico, .wp-block-group__inner-container) { flex: 1; }
.nodo-services--list .nodo-card { display: grid; grid-template-columns: 52px 1fr; grid-template-rows: auto 1fr; column-gap: 20px; row-gap: 8px; }
.nodo-services--list .nodo-card .nodo-ico { grid-row: span 2; }

/* ---------- Hero ---------- */
.nodo-s.nodo-hero { background: var(--nodo-verde) url("assets/img/hero-territorio.svg") center bottom / cover no-repeat; color: var(--nodo-blanco); padding-block: clamp(72px, 10vw, 128px) clamp(40px, 6vw, 72px); }
.nodo-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(100deg, rgba(4,48,28,.92) 0%, rgba(4,48,28,.7) 45%, rgba(4,48,28,0) 80%); pointer-events: none; }
.nodo-hero .nodo-wrap { gap: 48px; }
.nodo-hero-copy { display: flex; flex-direction: column; gap: 22px; max-width: 760px; }
.nodo-hero-btns { margin-top: 8px; }
.nodo-hero-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: clamp(40px, 8vw, 120px) !important; }
.nodo-hero-stats .nodo-stat { padding: 20px 22px; border-radius: var(--nodo-radius-sm); background: rgba(4, 48, 28, .62); border: 1px solid rgba(255,255,255,.16); backdrop-filter: blur(6px); }
.nodo-s .nodo-stat-num { font-size: clamp(1.9rem, 3.4vw, 2.6rem); font-weight: 700; line-height: 1; color: var(--nodo-ambar); font-variant-numeric: tabular-nums; letter-spacing: -.02em; }
.nodo-s .nodo-stat-label { font-size: .9rem; line-height: 1.4; margin-top: 8px; color: var(--nodo-muted); }
.nodo-hero .nodo-stat-label, .nodo-dark .nodo-stat-label { color: var(--nodo-on-dark); }
.nodo-hero .nodo-note { margin-top: -28px; }

/* ---------- Encabezado de página interior ---------- */
.nodo-s.nodo-pagehead { background: var(--nodo-verde) center bottom / cover no-repeat; color: var(--nodo-blanco); padding-block: clamp(56px, 8vw, 96px) clamp(96px, 12vw, 150px); }
.nodo-pagehead::before { content: ""; position: absolute; inset: 0; background: linear-gradient(100deg, rgba(4,48,28,.9) 0%, rgba(4,48,28,.62) 48%, rgba(4,48,28,.05) 85%); }
.nodo-pagehead .nodo-wrap { gap: 18px; }
.nodo-s .nodo-crumbs { font-size: .85rem; color: rgba(255,255,255,.7); }
.nodo-s .nodo-crumbs a { color: rgba(255,255,255,.88); text-decoration: none; }
.nodo-s .nodo-crumbs a:hover { color: var(--nodo-ambar); }
.nodo-pagehead .nodo-kicker { color: var(--nodo-ambar); }
.nodo-pagehead .nodo-h1 { max-width: 18ch; font-size: clamp(2rem, 4.6vw, 3.4rem); }
.nodo-s.nodo-pagehead--nosotros { background-image: url("assets/img/header-nosotros.svg"); }
.nodo-s.nodo-pagehead--como-trabajamos { background-image: url("assets/img/header-como-trabajamos.svg"); }
.nodo-s.nodo-pagehead--lineas { background-image: url("assets/img/header-lineas.svg"); }
.nodo-s.nodo-pagehead--servicios { background-image: url("assets/img/header-servicios.svg"); }
.nodo-s.nodo-pagehead--territorios { background-image: url("assets/img/header-territorios.svg"); }
.nodo-s.nodo-pagehead--transparencia { background-image: url("assets/img/header-transparencia.svg"); }
.nodo-s.nodo-pagehead--noticias { background-image: url("assets/img/header-noticias.svg"); }
.nodo-s.nodo-pagehead--aliados { background-image: url("assets/img/header-aliados.svg"); }
.nodo-s.nodo-pagehead--contacto { background-image: url("assets/img/header-contacto.svg"); }
.nodo-s.nodo-pagehead--datos { background-image: url("assets/img/header-datos.svg"); }

/* ---------- Columnas divididas ---------- */
.nodo-s .wp-block-columns.nodo-split { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(32px, 6vw, 88px); align-items: center; }
.nodo-s .nodo-split--even { grid-template-columns: 1fr 1fr !important; align-items: stretch !important; }
.nodo-s .nodo-split--media { grid-template-columns: 1fr 1.1fr !important; }
.nodo-s .nodo-split--rev > :first-child { order: 2; }
.nodo-s .nodo-split--form { grid-template-columns: 1.5fr 1fr !important; align-items: start !important; }
.nodo-s .wp-block-column { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.nodo-col-text .wp-block-buttons { margin-top: 8px; }
.nodo-s .nodo-col-media .wp-block-image img { width: 100%; height: auto; border-radius: var(--nodo-radius); display: block; }
.nodo-s .nodo-map img { max-width: 440px; margin-inline: auto; border-radius: 0 !important; }
.nodo-s .nodo-brand-symbol img { max-width: 320px; margin-inline: auto; border-radius: 0 !important; }
.nodo-s .nodo-line-hero img { aspect-ratio: 4 / 3; object-fit: cover; }

/* ---------- Valores (inicio) ---------- */
.nodo-values { display: flex; flex-direction: column; gap: 12px; }
.nodo-value { display: flex; align-items: center; gap: 16px; padding: 14px 18px; background: var(--nodo-niebla); border-radius: var(--nodo-radius-sm); }
.nodo-value .nodo-ico { width: 44px; height: 44px; }
.nodo-value .nodo-ico::before { width: 20px; height: 20px; }
.nodo-s .nodo-value-name { font-weight: 600; color: var(--nodo-verde); line-height: 1.35; }

/* ---------- Líneas ---------- */
.nodo-line { display: flex; flex-direction: column; background: var(--nodo-blanco); border-radius: var(--nodo-radius); overflow: hidden; box-shadow: var(--nodo-shadow); transition: transform .2s; min-width: 0; }
.nodo-line:hover { transform: translateY(-4px); }
.nodo-s .nodo-line-img img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.nodo-line-body { display: flex; flex-direction: column; gap: 12px; padding: 26px 28px 30px; flex: 1; }
.nodo-line-body p:not(.nodo-kicker) { color: var(--nodo-muted); }
.nodo-line-body .nodo-more { margin-top: auto; }
:where(.nodo-line-body, .nodo-line-body > .wp-block-group__inner-container) > :last-child { margin-top: auto; }

/* ---------- Proceso (hilo que conecta pasos) ---------- */
.nodo-s.nodo-process { padding-bottom: calc(var(--nodo-space) + 70px); }
.nodo-process::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 110px; background: url("assets/img/trama-suave.svg") center / 100% 100% no-repeat; opacity: .9; pointer-events: none; }
.nodo-steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 20px; position: relative; }
.nodo-steps--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.nodo-steps::before { content: ""; position: absolute; top: 27px; left: 28px; right: 28px; border-top: 2px dashed rgba(226,148,26,.6); }
.nodo-step { position: relative; display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.nodo-s .nodo-step-num { width: 56px; height: 56px; border-radius: 50%; display: grid; place-items: center; background: var(--nodo-ambar); color: var(--nodo-verde); font-weight: 700; font-size: 1.05rem; box-shadow: 0 0 0 8px var(--nodo-verde); font-variant-numeric: tabular-nums; }
.nodo-step p { color: var(--nodo-on-dark); font-size: .95rem; }
.nodo-s .nodo-step-out { font-size: .88rem; padding: 12px 14px; border-radius: 10px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12); }
.nodo-s .nodo-step-out strong { color: var(--nodo-ambar); font-weight: 600; }
.nodo-process .wp-block-buttons { position: relative; z-index: 1; }

/* ---------- Chips de enfoques ---------- */
.nodo-s .nodo-chips { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 12px; }
.nodo-s .nodo-chips li { display: inline-flex; align-items: center; gap: 10px; padding: 12px 20px; border-radius: 999px; background: var(--nodo-blanco); border: 1px solid var(--nodo-line); font-weight: 600; color: var(--nodo-verde); }
.nodo-s .nodo-chips li::before { content: ""; width: 12px; height: 12px; border-radius: 50%; background: var(--nodo-brote); }
.nodo-s .nodo-chips li:nth-child(4n+2)::before { background: var(--nodo-ambar); }
.nodo-s .nodo-chips li:nth-child(4n+3)::before { background: var(--nodo-terra); }
.nodo-s .nodo-chips li:nth-child(4n+4)::before { background: var(--nodo-verde); }
.nodo-approaches { background: var(--nodo-blanco); }
.nodo-approaches::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 90px; background: url("assets/img/trama-suave.svg") center / 100% 100% no-repeat; opacity: .55; }

/* ---------- Listas con check ---------- */
.nodo-s .nodo-checks { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.nodo-s .nodo-checks li { position: relative; padding-left: 34px; line-height: 1.5; }
.nodo-s .nodo-checks li::before { content: ""; position: absolute; left: 0; top: 1px; width: 22px; height: 22px; border-radius: 50%; background: var(--nodo-brote) var(--nodo-i-check-w) center / 14px no-repeat; }

/* ---------- Noticias (Query Loop) ---------- */
.nodo-s .nodo-news .wp-block-post-template { list-style: none; padding: 0; margin: 0; display: grid; gap: 28px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); }
.nodo-s .nodo-news .wp-block-post { display: flex; flex-direction: column; gap: 12px; margin: 0; min-width: 0; }
.nodo-s .nodo-news .wp-block-post-featured-image { margin: 0 0 6px; border-radius: var(--nodo-radius); overflow: hidden; aspect-ratio: 16 / 9; background: var(--nodo-niebla); }
.nodo-s .nodo-news .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.nodo-s .nodo-news .wp-block-post:hover .wp-block-post-featured-image img { transform: scale(1.04); }
.nodo-s .nodo-news .wp-block-post-date { font-size: .8rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--nodo-terra); }
.nodo-s .nodo-news .wp-block-post-title { font-size: 1.2rem; line-height: 1.3; font-weight: 600; }
.nodo-s .nodo-news .wp-block-post-title a { color: var(--nodo-verde); text-decoration: none; }
.nodo-s .nodo-news .wp-block-post-title a:hover { color: var(--nodo-terra-2); }
.nodo-s .nodo-news .wp-block-post-excerpt__excerpt { color: var(--nodo-muted); font-size: .95rem; }
.nodo-s .nodo-news .wp-block-post-excerpt__more-text { display: none; }
.nodo-s .wp-block-query-pagination { display: flex; gap: 12px; justify-content: center; margin-top: 40px; font-weight: 600; }

/* ---------- CTA ---------- */
.nodo-s.nodo-cta { background: var(--nodo-terra); color: var(--nodo-blanco); padding-block: clamp(64px, 8vw, 96px); }
.nodo-cta::before { content: ""; position: absolute; inset: 0 0 0 52%; background: url("assets/img/trama.svg") center / 100% 70% no-repeat; opacity: .3; }
@media (max-width: 960px) { .nodo-cta::before { inset: auto 0 0 0; height: 90px; opacity: .25; } }
.nodo-cta-inner { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; max-width: 760px; }
.nodo-cta .nodo-lead { color: #FBE6DA; }

/* ---------- Paneles y definiciones ---------- */
.nodo-panel { display: flex; flex-direction: column; gap: 16px; padding: clamp(28px, 4vw, 44px); border-radius: var(--nodo-radius); background: var(--nodo-niebla); height: 100%; }
.nodo-panel--dark { background: var(--nodo-verde); color: var(--nodo-blanco); }
.nodo-panel--dark .nodo-kicker { color: var(--nodo-ambar); }
.nodo-panel--dark .nodo-h3 { color: var(--nodo-blanco); }
.nodo-s .nodo-statement { font-size: clamp(1.15rem, 1.8vw, 1.4rem); line-height: 1.5; font-weight: 500; }
.nodo-panel:not(.nodo-panel--dark) .nodo-statement { color: var(--nodo-verde); }
.nodo-defs { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 0; border-top: 2px solid var(--nodo-verde); }
.nodo-def { display: flex; flex-direction: column; gap: 10px; padding: 26px 24px 26px 0; border-bottom: 1px solid var(--nodo-line); }
.nodo-defs .nodo-def { padding-right: 28px; }
.nodo-s .nodo-def-term { font-size: .8rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--nodo-terra); }
.nodo-s .nodo-def-desc { color: var(--nodo-ink); }
.nodo-col-text > .nodo-def { padding: 0 0 16px; }
.nodo-metas { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 12px; }
.nodo-metas .nodo-stat { padding: 18px; border-radius: var(--nodo-radius-sm); background: var(--nodo-blanco); border: 1px solid var(--nodo-line); }
.nodo-tint .nodo-metas .nodo-stat { border-color: transparent; }
.nodo-metas .nodo-stat-num { color: var(--nodo-verde) !important; }

/* ---------- Gobierno corporativo ---------- */
.nodo-org { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)); gap: 20px; }
.nodo-org-item { display: flex; flex-direction: column; gap: 10px; padding-top: 22px; border-top: 3px solid var(--nodo-brote); }
.nodo-org-item:nth-child(1) { border-color: var(--nodo-verde); }
.nodo-org-item:nth-child(3) { border-color: var(--nodo-ambar); }
.nodo-org-item:nth-child(4) { border-color: var(--nodo-terra); }
.nodo-s .nodo-org-num { font-size: .8rem; font-weight: 700; color: var(--nodo-muted); }
.nodo-org-item p:last-child { color: var(--nodo-muted); font-size: .95rem; }
.nodo-swatches { display: flex; gap: 14px; }
.nodo-s .nodo-swatch { width: 56px; height: 56px; border-radius: 50%; }
.nodo-swatch--verde { background: var(--nodo-verde); } .nodo-swatch--brote { background: var(--nodo-brote); } .nodo-swatch--ambar { background: var(--nodo-ambar); } .nodo-swatch--terra { background: var(--nodo-terra); }

/* ---------- Cadena teoría del cambio ---------- */
.nodo-chain { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; counter-reset: c; }
.nodo-chain-item { position: relative; display: flex; flex-direction: column; gap: 12px; padding: 26px 22px; background: var(--nodo-niebla); border-radius: var(--nodo-radius); min-width: 0; }
.nodo-chain-item:not(:last-child)::after { content: ""; position: absolute; top: 50px; right: -14px; width: 12px; height: 12px; border-top: 2px solid var(--nodo-terra); border-right: 2px solid var(--nodo-terra); transform: rotate(45deg); z-index: 2; }
.nodo-chain-item:last-child { background: var(--nodo-verde); color: var(--nodo-blanco); }
.nodo-chain-item:last-child .nodo-h3 { color: var(--nodo-blanco); }
.nodo-chain-item:last-child p { color: var(--nodo-on-dark) !important; }
.nodo-s .nodo-chain-num { font-size: .78rem; font-weight: 700; letter-spacing: .12em; color: var(--nodo-terra); }
.nodo-chain-item:last-child .nodo-chain-num { color: var(--nodo-ambar); }
:where(.nodo-chain, .nodo-chain > .wp-block-group__inner-container) > .nodo-chain-item:last-child .nodo-ico { background: var(--nodo-ambar); }
:where(.nodo-chain, .nodo-chain > .wp-block-group__inner-container) > .nodo-chain-item:last-child .nodo-ico::before { background: var(--nodo-verde); }
.nodo-chain-item p:last-child { font-size: .92rem; color: var(--nodo-muted); }
.nodo-approach-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); gap: 0 32px; }
.nodo-approach { display: flex; flex-direction: column; gap: 8px; padding: 22px 0; border-bottom: 1px solid var(--nodo-line); }
.nodo-approach p { color: var(--nodo-muted); }

/* ---------- Línea de tiempo ---------- */
.nodo-timeline { position: relative; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 20px; }
.nodo-tl-item { position: relative; display: flex; flex-direction: column; gap: 10px; padding: 26px 26px 26px 30px; background: var(--nodo-blanco); border-radius: var(--nodo-radius); min-width: 0; }
.nodo-tl-item::before { content: ""; position: absolute; left: 0; top: 26px; bottom: 26px; width: 4px; border-radius: 0 4px 4px 0; background: var(--nodo-brote); }
.nodo-tl-item:nth-child(n+3)::before { background: var(--nodo-ambar); }
.nodo-tl-item:nth-child(n+5)::before { background: var(--nodo-terra); }
.nodo-tl-item:nth-child(7)::before { background: var(--nodo-verde); }
.nodo-s .nodo-tl-when { font-size: .78rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--nodo-terra); }
.nodo-tl-item p:last-child { color: var(--nodo-muted); font-size: .95rem; }
.nodo-card--project { position: relative; }
.nodo-s .nodo-tag { align-self: flex-start; font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: 6px 12px; border-radius: 999px; background: #FCEBD0; color: #7A4A06; }
.nodo-card--project:nth-child(2) .nodo-tag { background: #E1EEDC; color: var(--nodo-verde); }

/* ---------- Transparencia ---------- */
.nodo-bigstats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.nodo-bigstats .nodo-stat { padding: 30px; border-radius: var(--nodo-radius); background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.14); }
.nodo-bigstats .nodo-stat-num { font-size: clamp(2.4rem, 5vw, 3.6rem); }
.nodo-docs { display: flex; flex-direction: column; background: var(--nodo-blanco); border-radius: var(--nodo-radius); padding: 8px 24px; }
.nodo-doc { display: grid; grid-template-columns: 40px 1fr auto; align-items: center; gap: 14px; padding: 14px 0; border-bottom: 1px solid var(--nodo-line); }
.nodo-doc:last-child { border-bottom: 0; }
.nodo-doc .nodo-ico { width: 40px; height: 40px; background: var(--nodo-niebla); }
.nodo-doc .nodo-ico::before { width: 18px; height: 18px; background: var(--nodo-verde); }
.nodo-s .nodo-doc-name { font-weight: 500; line-height: 1.35; }
.nodo-s .nodo-doc-status { font-size: .75rem; font-weight: 600; padding: 4px 10px; border-radius: 999px; background: var(--nodo-niebla); color: var(--nodo-muted); white-space: nowrap; }
.nodo-s .wp-block-columns.nodo-notice { display: grid; grid-template-columns: 76px 1fr; gap: 28px; align-items: center; padding: 32px; border-radius: var(--nodo-radius); border: 1px solid var(--nodo-line); }

/* ---------- Súmate ---------- */
.nodo-whys { display: flex; flex-direction: column; gap: 14px; }
.nodo-why { display: flex; flex-direction: column; gap: 6px; padding: 20px 24px; border-radius: var(--nodo-radius-sm); background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); }
.nodo-why p { color: var(--nodo-on-dark); }

/* ---------- Contacto ---------- */
.nodo-channels-sec { padding-block: 0 !important; background: transparent !important; overflow: visible !important; }
.nodo-channels-sec .nodo-wrap { margin-top: -76px !important; }
.nodo-channels { display: grid; grid-template-columns: 1.35fr 1fr 1fr 1.2fr; gap: 18px; }
.nodo-channel { display: flex; flex-direction: column; gap: 10px; padding: 26px; background: var(--nodo-blanco); border-radius: var(--nodo-radius); box-shadow: var(--nodo-shadow); min-width: 0; }
.nodo-channel .nodo-ico { width: 46px; height: 46px; }
.nodo-channel .nodo-ico::before { width: 22px; height: 22px; }
.nodo-channel:nth-child(2) .nodo-ico { background: var(--nodo-brote); }
.nodo-channel:nth-child(3) .nodo-ico { background: var(--nodo-ambar); }
.nodo-channel:nth-child(3) .nodo-ico::before { background: var(--nodo-verde); }
.nodo-channel:nth-child(4) .nodo-ico { background: var(--nodo-terra); }
.nodo-s .nodo-channel-label { font-size: .78rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--nodo-muted); }
.nodo-s .nodo-channel-value { font-weight: 600; color: var(--nodo-verde); line-height: 1.4; overflow-wrap: anywhere; }
.nodo-s .nodo-channel-value a { color: inherit; text-decoration: none; }
.nodo-channel-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: auto; }
.nodo-s .nodo-mini-btn { display: inline-flex; align-items: center; gap: 6px; font: 600 .8rem/1 var(--nodo-font); padding: 9px 12px; border-radius: 999px; border: 1px solid var(--nodo-line); background: var(--nodo-blanco); color: var(--nodo-verde); cursor: pointer; text-decoration: none; }
.nodo-s .nodo-mini-btn:hover { border-color: var(--nodo-verde); }
.nodo-s .nodo-mini-btn.is-done { background: var(--nodo-brote); color: var(--nodo-blanco); border-color: var(--nodo-brote); }

.nodo-form { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 20px; padding: clamp(24px, 4vw, 40px); background: var(--nodo-blanco); border-radius: var(--nodo-radius); box-shadow: var(--nodo-shadow); }
.nodo-field { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.nodo-field--full { grid-column: 1 / -1; }
.nodo-form label { font-size: .88rem; font-weight: 600; color: var(--nodo-verde); }
.nodo-form label .req { color: var(--nodo-terra); }
.nodo-form input[type="text"], .nodo-form input[type="email"], .nodo-form input[type="tel"], .nodo-form select, .nodo-form textarea { width: 100%; font: 400 1rem/1.4 var(--nodo-font); color: var(--nodo-ink); padding: 14px 16px; border: 1.5px solid var(--nodo-line); border-radius: 12px; background: #FBFCFA; transition: border-color .15s, box-shadow .15s; }
.nodo-form textarea { min-height: 150px; resize: vertical; }
.nodo-form input:focus, .nodo-form select:focus, .nodo-form textarea:focus { outline: none; border-color: var(--nodo-brote); box-shadow: 0 0 0 4px rgba(94,148,78,.18); background: var(--nodo-blanco); }
.nodo-form .nodo-help { font-size: .8rem; color: var(--nodo-muted); }
.nodo-check { display: flex; gap: 12px; align-items: flex-start; font-size: .9rem; line-height: 1.5; color: var(--nodo-ink); }
.nodo-check input { width: 20px; height: 20px; margin-top: 2px; accent-color: var(--nodo-verde); flex: none; }
.nodo-form label.nodo-check { font-weight: 400; color: var(--nodo-ink); }
.nodo-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.nodo-form-actions { grid-column: 1 / -1; display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.nodo-submit { display: inline-flex; align-items: center; gap: 10px; font: 600 1rem/1 var(--nodo-font); padding: 16px 30px; border-radius: 999px; border: 0; background: var(--nodo-verde); color: var(--nodo-blanco); cursor: pointer; transition: transform .18s, background .18s; }
.nodo-submit:hover { background: var(--nodo-verde-2); transform: translateY(-2px); }
.nodo-submit::after { content: ""; width: 18px; height: 18px; background: currentColor; -webkit-mask: var(--nodo-i-send) center/contain no-repeat; mask: var(--nodo-i-send) center/contain no-repeat; }
.nodo-alert { grid-column: 1 / -1; padding: 16px 18px; border-radius: 12px; font-size: .95rem; line-height: 1.5; }
.nodo-alert--ok { background: #E1EEDC; color: var(--nodo-verde); border: 1px solid #BFD8B6; }
.nodo-alert--err { background: #FBE4DA; color: #8A2E0C; border: 1px solid #F1C2AE; }
.nodo-field.has-error input, .nodo-field.has-error select, .nodo-field.has-error textarea { border-color: var(--nodo-terra); }
.nodo-field .nodo-err { font-size: .8rem; color: #A23A10; }
.nodo-after { display: flex; flex-direction: column; gap: 18px; }
.nodo-after-item { display: flex; gap: 16px; align-items: flex-start; }
.nodo-s .nodo-after-num { width: 34px; height: 34px; flex: none; border-radius: 50%; display: grid; place-items: center; background: var(--nodo-ambar); color: var(--nodo-verde); font-weight: 700; font-size: .9rem; }
.nodo-after-text { display: flex; flex-direction: column; gap: 2px; }
.nodo-s .nodo-after-title { font-weight: 600; color: var(--nodo-blanco); }
.nodo-after-text p:last-child { color: var(--nodo-on-dark); font-size: .92rem; }
.nodo-col-aside > .nodo-panel { height: auto; }
.nodo-faqs { display: flex; flex-direction: column; border-top: 1px solid var(--nodo-line); max-width: 880px; }
.nodo-s .nodo-faq { border-bottom: 1px solid var(--nodo-line); padding: 0; }
.nodo-s .nodo-faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 22px 0; font-weight: 600; font-size: 1.05rem; color: var(--nodo-verde); }
.nodo-s .nodo-faq summary::-webkit-details-marker { display: none; }
.nodo-s .nodo-faq summary::after { content: ""; width: 28px; height: 28px; flex: none; border-radius: 50%; background: var(--nodo-niebla) var(--nodo-i-plus) center / 16px no-repeat; transition: transform .2s; }
.nodo-s .nodo-faq[open] summary::after { transform: rotate(45deg); }
.nodo-s .nodo-faq > p { padding: 0 48px 22px 0; color: var(--nodo-muted); }

/* ---------- Legal ---------- */
.nodo-legal { display: flex; flex-direction: column; gap: 28px; max-width: 820px; }
.nodo-legal-item { display: flex; flex-direction: column; gap: 10px; }
.nodo-legal-item p { color: var(--nodo-muted); }

/* ==========================================================================
   Cabecera y pie (plantillas del tema hijo)
   ========================================================================== */
.nodo-topbar { background: var(--nodo-verde-3); color: var(--nodo-on-dark); font: 400 .8rem/1.2 var(--nodo-font); }
.nodo-topbar-in { max-width: var(--nodo-max); margin-inline: auto; padding: 9px var(--nodo-gutter-r) 9px var(--nodo-gutter); display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
.nodo-topbar a { color: var(--nodo-on-dark); text-decoration: none; }
.nodo-topbar a:hover { color: var(--nodo-ambar); }
.nodo-topbar-links { display: flex; gap: 18px; align-items: center; flex-wrap: wrap; }
.nodo-a11y { display: inline-flex; gap: 2px; align-items: center; }
.nodo-a11y button { font: 600 .78rem/1 var(--nodo-font); color: var(--nodo-on-dark); background: transparent; border: 1px solid rgba(255,255,255,.2); border-radius: 6px; padding: 5px 7px; cursor: pointer; }
.nodo-a11y button:hover { border-color: var(--nodo-ambar); color: var(--nodo-ambar); }
.nodo-lang { display: inline-flex; border: 1px solid rgba(255,255,255,.25); border-radius: 999px; overflow: hidden; }
.nodo-lang a, .nodo-lang span { padding: 5px 11px; font-weight: 600; letter-spacing: .04em; }
.nodo-lang .is-current { background: var(--nodo-ambar); color: var(--nodo-verde); }

.nodo-header { position: sticky; top: env(safe-area-inset-top, 0px); z-index: 100; background: var(--nodo-blanco); border-bottom: 1px solid transparent; transition: border-color .2s, box-shadow .2s; font-family: var(--nodo-font); }
.admin-bar .nodo-header { top: 32px; }
.nodo-header.is-scrolled { border-color: var(--nodo-line); box-shadow: 0 6px 24px -18px rgba(6,60,36,.5); }
.nodo-header-in { max-width: var(--nodo-max); margin-inline: auto; padding: 14px var(--nodo-gutter-r) 14px var(--nodo-gutter); display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.nodo-logo { display: inline-flex; flex: none; }
.nodo-logo img { height: 52px; width: auto; display: block; }
.nodo-nav { display: flex; align-items: center; gap: 28px; }
.nodo-menu, .nodo-menu ul { list-style: none; margin: 0; padding: 0; }
.nodo-menu { display: flex; align-items: center; gap: 4px; }
.nodo-menu > li { position: relative; }
.nodo-menu a { display: flex; align-items: center; gap: 6px; padding: 10px 14px; border-radius: 10px; font-size: .95rem; font-weight: 500; color: var(--nodo-ink); text-decoration: none; transition: background .15s, color .15s; }
.nodo-menu > li > a:hover, .nodo-menu > li:focus-within > a, .nodo-menu > .current-menu-item > a, .nodo-menu > .current-menu-ancestor > a { color: var(--nodo-verde); background: var(--nodo-niebla); }
.nodo-menu .menu-item-has-children > a::after { content: ""; width: 14px; height: 14px; background: currentColor; -webkit-mask: var(--nodo-i-chevron) center/contain no-repeat; mask: var(--nodo-i-chevron) center/contain no-repeat; }
.nodo-menu .sub-menu { position: absolute; top: calc(100% + 8px); left: 0; min-width: 250px; padding: 10px; background: var(--nodo-blanco); border-radius: 14px; box-shadow: 0 18px 40px -16px rgba(6,60,36,.35); border: 1px solid var(--nodo-line); opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .18s, transform .18s, visibility .18s; }
.nodo-menu .sub-menu::before { content: ""; position: absolute; left: 0; right: 0; top: -10px; height: 10px; }
.nodo-menu li:hover > .sub-menu, .nodo-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.nodo-menu .sub-menu a { padding: 11px 14px; font-size: .92rem; }
.nodo-menu .sub-menu a:hover { background: var(--nodo-niebla); color: var(--nodo-verde); }
.nodo-header-cta { display: inline-flex; align-items: center; gap: 8px; padding: 12px 22px; border-radius: 999px; background: var(--nodo-verde); color: var(--nodo-blanco) !important; font-weight: 600; font-size: .92rem; text-decoration: none; white-space: nowrap; transition: background .15s, transform .15s; }
.nodo-header-cta:hover { background: var(--nodo-terra); transform: translateY(-1px); }
.nodo-burger { display: none; width: 46px; height: 46px; border-radius: 12px; border: 1px solid var(--nodo-line); background: var(--nodo-blanco); cursor: pointer; place-items: center; }
.nodo-burger span { width: 22px; height: 22px; background: var(--nodo-verde); -webkit-mask: var(--nodo-i-menu) center/contain no-repeat; mask: var(--nodo-i-menu) center/contain no-repeat; }
.nodo-header.is-open .nodo-burger span { -webkit-mask-image: var(--nodo-i-x); mask-image: var(--nodo-i-x); }

.nodo-footer { position: relative; background: var(--nodo-verde-3); color: var(--nodo-on-dark); font-family: var(--nodo-font); padding-top: 110px; overflow: hidden; }
.nodo-footer::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 90px; background: url("assets/img/trama.svg") center / 100% 100% no-repeat; opacity: .55; }
.nodo-footer a { color: var(--nodo-on-dark); text-decoration: none; }
.nodo-footer a:hover { color: var(--nodo-ambar); }
.nodo-footer-in { max-width: var(--nodo-max); margin-inline: auto; padding-left: var(--nodo-gutter); padding-right: var(--nodo-gutter-r); display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 40px; padding-bottom: 56px; }
.nodo-footer h2 { font: 600 .8rem/1.2 var(--nodo-font); letter-spacing: .14em; text-transform: uppercase; color: var(--nodo-ambar); margin: 0 0 18px; }
.nodo-footer ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; font-size: .93rem; }
.nodo-footer p { margin: 0; font-size: .93rem; line-height: 1.6; }
.nodo-footer-brand { display: flex; flex-direction: column; gap: 18px; }
.nodo-footer-brand img { width: 210px; height: auto; }
.nodo-social { display: flex; gap: 10px; flex-wrap: wrap; }
.nodo-social a { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.22); }
.nodo-social a span { width: 18px; height: 18px; background: var(--nodo-on-dark); -webkit-mask: var(--ico) center/contain no-repeat; mask: var(--ico) center/contain no-repeat; }
.nodo-social a:hover { border-color: var(--nodo-ambar); }
.nodo-social a:hover span { background: var(--nodo-ambar); }
.nodo-footer-contact li { display: grid; grid-template-columns: 20px 1fr; gap: 10px; align-items: start; overflow-wrap: anywhere; }
.nodo-footer-contact li > span:first-child { width: 18px; height: 18px; margin-top: 3px; background: var(--nodo-ambar); -webkit-mask: var(--ico) center/contain no-repeat; mask: var(--ico) center/contain no-repeat; }
.nodo-footer-bottom { border-top: 1px solid rgba(255,255,255,.12); }
.nodo-footer-bottom-in { max-width: var(--nodo-max); margin-inline: auto; padding: 20px var(--nodo-gutter-r) 24px var(--nodo-gutter); display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; font-size: .82rem; color: rgba(213,228,208,.75); }
.nodo-wa { position: fixed; right: calc(20px + env(safe-area-inset-right, 0px)); bottom: calc(20px + env(safe-area-inset-bottom, 0px)); z-index: 90; width: 58px; height: 58px; border-radius: 50%; display: grid; place-items: center; background: var(--nodo-brote); box-shadow: 0 10px 26px -8px rgba(6,60,36,.55); transition: transform .18s; }
.nodo-wa:hover { transform: scale(1.06); }
.nodo-wa span { width: 28px; height: 28px; background: var(--nodo-blanco); -webkit-mask: var(--nodo-i-whatsapp) center/contain no-repeat; mask: var(--nodo-i-whatsapp) center/contain no-repeat; }

/* Entradas individuales (Astra) */
.single-post .entry-content { font-family: var(--nodo-font); font-size: 1.05rem; line-height: 1.75; }
.single-post .entry-title { font-family: var(--nodo-font); color: var(--nodo-verde); font-weight: 700; }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1080px) {
  .nodo-chain { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nodo-chain-item:not(:last-child)::after { display: none; }
  .nodo-chain-item:last-child { grid-column: 1 / -1; }
  .nodo-steps, .nodo-steps--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 36px; }
  .nodo-steps::before { display: none; }
  .nodo-channels { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nodo-footer-in { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 960px) {
  .nodo-burger { display: grid; }
  .nodo-nav { position: fixed; inset: 0 0 0 auto; top: 0; width: min(380px, 88vw); padding: calc(84px + env(safe-area-inset-top, 0px)) max(24px, env(safe-area-inset-right, 0px)) 32px 24px; flex-direction: column; align-items: stretch; gap: 18px; background: var(--nodo-blanco); box-shadow: -20px 0 50px -20px rgba(6,60,36,.4); transform: translateX(105%); visibility: hidden; transition: transform .25s, visibility .25s; overflow-y: auto; z-index: 99; }
  .nodo-header.is-open .nodo-nav { transform: none; visibility: visible; }
  .nodo-burger { position: relative; z-index: 101; }
  .nodo-menu { flex-direction: column; align-items: stretch; gap: 2px; }
  .nodo-menu a { padding: 13px 12px; font-size: 1rem; }
  .nodo-menu .sub-menu { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: 0; padding: 0 0 6px 14px; min-width: 0; }
  .nodo-menu .menu-item-has-children > a::after { display: none; }
  .nodo-header-cta { justify-content: center; }
  .nodo-s .wp-block-columns.nodo-split, .nodo-s .nodo-split--even, .nodo-s .nodo-split--media, .nodo-s .nodo-split--form { grid-template-columns: 1fr !important; }
  .nodo-s .nodo-split--rev > :first-child { order: 0; }
  .nodo-hero-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nodo-bigstats { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .nodo-logo img { height: 42px; }
  .nodo-topbar-note { display: none; }
  .nodo-topbar-in { justify-content: flex-end; }
  .nodo-chain, .nodo-steps, .nodo-steps--4, .nodo-channels { grid-template-columns: 1fr; }
  .nodo-form { grid-template-columns: 1fr; }
  .nodo-footer-in { grid-template-columns: 1fr; }
  .nodo-s .wp-block-columns.nodo-notice { grid-template-columns: 1fr; }
  .nodo-doc { grid-template-columns: 40px 1fr; }
  .nodo-doc .nodo-doc-status { grid-column: 2; justify-self: start; }
  .nodo-hero-stats .nodo-stat { padding: 16px; }
}

/* Entrada individual en la vista previa */
.nodo-s.nodo-article > .nodo-wrap { max-width: 820px; gap: 22px; }
.nodo-article .wp-block-image img { width: 100%; border-radius: var(--nodo-radius); display: block; }
.nodo-article h2 { font-size: 1.5rem; color: var(--nodo-verde); font-weight: 700; }
.nodo-article p { font-size: 1.08rem; line-height: 1.75; }

/* Guía de instalación (vista previa) */
.nodo-s.nodo-guide > .nodo-wrap, .nodo-guide .nodo-wrap { max-width: 860px; gap: 16px; }
.nodo-guide h2 { font-size: 1.5rem; font-weight: 700; color: var(--nodo-verde); margin-top: 28px !important; }
.nodo-guide p, .nodo-guide li { line-height: 1.7; }
.nodo-guide ol, .nodo-guide ul { padding-left: 1.3em; display: flex; flex-direction: column; gap: 8px; }
.nodo-guide code { font-size: .88em; background: var(--nodo-niebla); padding: 2px 6px; border-radius: 6px; overflow-wrap: anywhere; }
.nodo-guide table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.nodo-guide th, .nodo-guide td { text-align: left; padding: 12px; border-bottom: 1px solid var(--nodo-line); vertical-align: top; }
.nodo-guide th { color: var(--nodo-verde); }
.nodo-preview-note a { color: inherit; font-weight: 600; }
.nodo-guide table { display: block; overflow-x: auto; }

/* ==========================================================================
   Marco normativo
   ========================================================================== */
.nodo-s.nodo-pagehead--normativo { background-image: url("assets/img/header-normativo.svg"); }
.nodo-site [hidden] { display: none !important; }
.nodo-milestones { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr)); gap: 0; position: relative; }
.nodo-ms { position: relative; display: flex; flex-direction: column; gap: 8px; padding: 34px 18px 0 0; border-top: 2px solid var(--nodo-line); }
.nodo-ms::before { content: ""; position: absolute; top: -9px; left: 0; width: 16px; height: 16px; border-radius: 50%; background: var(--nodo-brote); box-shadow: 0 0 0 5px var(--nodo-niebla); }
.nodo-ms:nth-child(2)::before { background: var(--nodo-verde); } .nodo-ms:nth-child(3)::before { background: var(--nodo-ambar); }
.nodo-ms:nth-child(4)::before { background: var(--nodo-terra); } .nodo-ms:nth-child(5)::before { background: var(--nodo-verde); } .nodo-ms:nth-child(6)::before { background: var(--nodo-ambar); }
.nodo-s .nodo-ms-year { font-size: 2rem; font-weight: 700; color: var(--nodo-verde); line-height: 1; font-variant-numeric: tabular-nums; }
.nodo-s .nodo-ms-text { font-size: .92rem; color: var(--nodo-muted); line-height: 1.45; }

.nodo-normativo .nodo-wrap { gap: 28px; }
.nodo-norm-tools { position: relative; z-index: 2; display: flex; flex-direction: column; gap: 12px; padding: 18px 20px; background: rgba(255,255,255,.97); border: 1px solid var(--nodo-line); border-radius: var(--nodo-radius); box-shadow: 0 10px 30px -24px rgba(6,60,36,.5); }
.nodo-norm-ui { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.nodo-norm-search { flex: 1 1 260px; min-width: 0; position: relative; }
.nodo-norm-search input { width: 100%; font: 400 1rem/1.3 var(--nodo-font); padding: 13px 16px 13px 44px; border: 1.5px solid var(--nodo-line); border-radius: 999px; background: #FBFCFA var(--nodo-i-search-g) 16px center / 18px no-repeat; color: var(--nodo-ink); }
.nodo-norm-search input:focus { outline: none; border-color: var(--nodo-brote); box-shadow: 0 0 0 4px rgba(94,148,78,.18); background-color: #fff; }
.nodo-norm-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.nodo-norm-chips button, .nodo-norm-toggle { font: 600 .82rem/1 var(--nodo-font); padding: 10px 14px; border-radius: 999px; border: 1px solid var(--nodo-line); background: var(--nodo-blanco); color: var(--nodo-verde); cursor: pointer; transition: background .15s, color .15s, border-color .15s; }
.nodo-norm-chips button:hover, .nodo-norm-toggle:hover { border-color: var(--nodo-verde); }
.nodo-norm-chips button[aria-pressed="true"] { background: var(--nodo-verde); color: var(--nodo-blanco); border-color: var(--nodo-verde); }
.nodo-norm-chips button span { opacity: .6; margin-left: 4px; }
.nodo-norm-status { font-size: .85rem; color: var(--nodo-muted); }
.nodo-s .nodo-norm-tools .nodo-note { font-size: .78rem; }
.nodo-s .nodo-norm-tools-slot:empty { display: none; }
.nodo-norm-group { display: grid; grid-template-columns: minmax(0, 300px) minmax(0, 1fr); gap: 36px; padding-top: 28px; border-top: 1px solid var(--nodo-line); scroll-margin-top: 220px; }
.nodo-norm-head { display: flex; flex-direction: column; gap: 12px; align-self: start; position: sticky; top: 120px; }
.nodo-s .nodo-norm-title { font-size: 1.3rem; }
.nodo-s .nodo-norm-count { font-size: .82rem; font-weight: 600; color: var(--nodo-terra); text-transform: uppercase; letter-spacing: .1em; }
.nodo-norm-list { display: flex; flex-direction: column; }
.nodo-s .nodo-norma { border-bottom: 1px solid var(--nodo-line); transition: background .2s; border-radius: 12px; }
.nodo-s .nodo-norma:first-child { border-top: 1px solid var(--nodo-line); border-radius: 0 0 12px 12px; }
.nodo-s .nodo-norma summary { list-style: none; cursor: pointer; display: grid; grid-template-columns: minmax(150px, 220px) minmax(0, 1fr) 28px; gap: 18px; align-items: center; padding: 18px 12px; font-size: 1rem; line-height: 1.45; color: var(--nodo-ink); }
.nodo-s .nodo-norma summary::-webkit-details-marker { display: none; }
.nodo-s .nodo-norma summary strong { color: var(--nodo-verde); }
.nodo-s .nodo-norma summary::after { content: ""; width: 28px; height: 28px; flex: none; border-radius: 50%; background: var(--nodo-niebla) var(--nodo-i-plus) center / 16px no-repeat; transition: transform .25s; }
.nodo-s .nodo-norma[open] summary::after { transform: rotate(45deg); }
.nodo-s .nodo-norma:hover, .nodo-s .nodo-norma[open] { background: #F7FAF6; }
.nodo-s .nodo-norma > :not(summary) { padding: 0 52px 12px 12px; }
.nodo-s .nodo-norma > :last-child { padding-bottom: 22px; }
.nodo-s .nodo-norm-meta { font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--nodo-terra); }
.nodo-s .nodo-norm-why { margin: 0 52px 12px 12px !important; padding: 14px 16px !important; background: var(--nodo-niebla); border-radius: 12px; font-size: .95rem; }
.nodo-s .nodo-norm-link a { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; color: var(--nodo-verde); text-decoration: none; }
.nodo-s .nodo-norm-link a::after { content: ""; width: 16px; height: 16px; background: currentColor; -webkit-mask: var(--nodo-i-arrow) center/contain no-repeat; mask: var(--nodo-i-arrow) center/contain no-repeat; }
.nodo-s .nodo-norma mark { background: #FCEBD0; color: inherit; border-radius: 3px; padding: 0 2px; }
.nodo-norm-empty { padding: 28px; text-align: center; color: var(--nodo-muted); border: 1px dashed var(--nodo-line); border-radius: var(--nodo-radius); }

/* Banda de derechos en Inicio */
.nodo-laws { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.nodo-law { display: flex; flex-direction: column; gap: 6px; padding: 22px; border-radius: var(--nodo-radius-sm); background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.14); transition: transform .2s, background .2s; }
.nodo-law:hover { transform: translateY(-3px); background: rgba(255,255,255,.1); }
.nodo-s .nodo-law-id { font-weight: 700; color: var(--nodo-ambar); }
.nodo-s .nodo-law-name { font-size: .92rem; color: var(--nodo-on-dark); line-height: 1.45; }
.nodo-rights::after { content: ""; position: absolute; right: -120px; top: -120px; width: 420px; height: 420px; border-radius: 50%; border: 2px dashed rgba(226,148,26,.25); pointer-events: none; animation: nodoSpin 60s linear infinite; }

/* ==========================================================================
   Movimiento
   ========================================================================== */
/* Cinta de temas */
.nodo-ticker { position: relative; overflow: hidden; background: var(--nodo-ambar); padding-block: 16px; margin: 0 !important; max-width: none !important; }
.nodo-ticker .nodo-ticker-track { display: flex; width: max-content; }
.nodo-ticker .nodo-ticker-list { list-style: none; margin: 0; padding: 0; display: flex; flex: none; gap: 0; }
.nodo-ticker .nodo-ticker-list li { display: inline-flex; align-items: center; gap: 22px; padding-right: 22px; font: 600 1.05rem/1 var(--nodo-font); color: var(--nodo-verde); white-space: nowrap; }
.nodo-ticker .nodo-ticker-list li::after { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--nodo-verde); }
.nodo-ticker.is-running .nodo-ticker-track { animation: nodoMarquee 38s linear infinite; }
.nodo-ticker:hover .nodo-ticker-track { animation-play-state: paused; }
@keyframes nodoMarquee { to { transform: translateX(-50%); } }
@keyframes nodoSpin { to { transform: rotate(360deg); } }

/* Aparición al desplazarse: el contenido es visible sin JavaScript; la animación solo se reproduce al entrar en pantalla */
@keyframes nodoRise { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: none; } }
.nodo-in { animation: nodoRise .7s cubic-bezier(.2,.7,.2,1) both; animation-delay: var(--nodo-d, 0ms); }
.nodo-steps::before { transform-origin: left; }
.nodo-steps.nodo-in::before { animation: nodoDraw 1.4s .2s cubic-bezier(.6,.1,.2,1) both; }
@keyframes nodoDraw { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.nodo-steps.nodo-in { animation: none; }

/* Barra de progreso de lectura y botón volver arriba */
.nodo-progress { position: absolute; left: 0; bottom: -1px; height: 3px; width: 100%; background: linear-gradient(90deg, var(--nodo-brote), var(--nodo-ambar), var(--nodo-terra)); transform-origin: left; transform: scaleX(var(--nodo-p, 0)); }
.nodo-top { position: fixed; right: calc(28px + env(safe-area-inset-right, 0px)); bottom: calc(92px + env(safe-area-inset-bottom, 0px)); z-index: 90; width: 42px; height: 42px; border-radius: 50%; border: 0; background: var(--nodo-verde); cursor: pointer; display: grid; place-items: center; opacity: 0; transform: translateY(10px); pointer-events: none; transition: opacity .2s, transform .2s; box-shadow: 0 8px 20px -8px rgba(6,60,36,.6); }
.nodo-top.is-visible { opacity: 1; transform: none; pointer-events: auto; }
.nodo-top span { width: 20px; height: 20px; background: var(--nodo-blanco); -webkit-mask: var(--nodo-i-up) center/contain no-repeat; mask: var(--nodo-i-up) center/contain no-repeat; }

/* Tarjetas con leve inclinación al pasar el puntero */
.nodo-line { transform-style: preserve-3d; will-change: transform; }
.nodo-hero .nodo-h1 em { background: linear-gradient(90deg, var(--nodo-ambar), #F6C25C, var(--nodo-ambar)); background-size: 200% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: nodoShine 6s ease-in-out infinite; }
@keyframes nodoShine { 0%, 100% { background-position: 0% 0; } 50% { background-position: 100% 0; } }

@media (max-width: 960px) {
  .nodo-norm-group { grid-template-columns: 1fr; gap: 16px; }
  .nodo-norm-head { position: static; flex-direction: row; align-items: center; flex-wrap: wrap; }
  .nodo-norm-tools { position: static; }
  .nodo-laws { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .nodo-s .nodo-norma summary { display: block; position: relative; padding-right: 56px; }
  .nodo-s .nodo-norma summary strong { display: block; margin-bottom: 4px; }
  .nodo-s .nodo-norma summary::after { position: absolute; right: 12px; top: 18px; }
  .nodo-s .nodo-norma > :not(summary) { padding-right: 12px; }
  .nodo-s .nodo-norm-why { margin-right: 12px !important; }
}
@media (prefers-reduced-motion: reduce) { .nodo-in { animation: none; } .nodo-ticker.is-running .nodo-ticker-track { animation: none; } }

/* ==========================================================================
   Ilustraciones de página y 404
   ========================================================================== */
.nodo-s .nodo-split--illu { grid-template-columns: 1fr 1fr !important; }
.nodo-s .nodo-illu img { display: block; width: 100%; height: auto; border-radius: var(--nodo-radius); }
.nodo-s .nodo-illu--map img { max-width: 440px; margin-inline: auto; border-radius: 50%; box-shadow: 0 0 0 10px var(--nodo-niebla), 0 0 0 12px var(--nodo-line); }
.nodo-s .nodo-split--faq { grid-template-columns: 1.4fr 1fr !important; align-items: start !important; }
.nodo-s .nodo-split--faq .nodo-col-media { position: sticky; top: 120px; align-items: center; text-align: center; }
.nodo-s .nodo-split--legal { grid-template-columns: 1.6fr 1fr !important; align-items: start !important; }
.nodo-s .nodo-illu--sticky { position: sticky; top: 120px; }
.nodo-s .nodo-banner img { display: block; width: 100%; height: auto; border-radius: var(--nodo-radius); }
.nodo-s.nodo-404 { padding-block: clamp(56px, 8vw, 110px); }
.nodo-404 .nodo-wrap { align-items: center; text-align: center; gap: 22px; }
.nodo-404 .nodo-404-art { width: min(520px, 100%); height: auto; }
.nodo-404 .nodo-h1 { color: var(--nodo-verde); }
.nodo-404 .nodo-lead { margin-inline: auto; }
.nodo-404 .search-form { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; }
.nodo-404 .search-field { font: 400 1rem var(--nodo-font); padding: 12px 16px; border: 1.5px solid var(--nodo-line); border-radius: 999px; min-width: min(320px, 100%); }
.nodo-404 .search-submit { font: 600 .95rem var(--nodo-font); padding: 12px 22px; border-radius: 999px; border: 0; background: var(--nodo-verde); color: #fff; cursor: pointer; }
@media (max-width: 960px) {
  .nodo-s .nodo-split--illu, .nodo-s .nodo-split--faq, .nodo-s .nodo-split--legal { grid-template-columns: 1fr !important; }
  .nodo-s .nodo-split--faq .nodo-col-media, .nodo-s .nodo-illu--sticky { position: static; }
  .nodo-s .nodo-split--illu .nodo-col-media { order: -1; }
  .nodo-s .nodo-illu img { max-width: 520px; margin-inline: auto; }
}

/* Galería de piezas (vista previa) */
.nodo-kit { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); gap: 22px; }
.nodo-kit-item { margin: 0; display: flex; flex-direction: column; gap: 10px; }
.nodo-kit-item--wide { grid-column: 1 / -1; }
.nodo-kit-item img { width: 100%; height: auto; border-radius: 14px; background: #fff; box-shadow: var(--nodo-shadow); display: block; }
.nodo-kit-item figcaption { font-size: .85rem; font-weight: 600; color: var(--nodo-verde); }
.nodo-s .nodo-split--faq .nodo-col-media .nodo-illu { width: 100%; }
.nodo-s .nodo-illu--map img { width: 100%; }
.nodo-404 form { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; align-items: center; }
.nodo-404 form label { display: flex; }
.nodo-404 form input[type="search"], .nodo-404 form input[type="text"] { font: 400 1rem var(--nodo-font); padding: 12px 18px; border: 1.5px solid var(--nodo-line); border-radius: 999px; min-width: min(320px, 100%); }
.nodo-404 form input[type="submit"], .nodo-404 form button { font: 600 .95rem var(--nodo-font); padding: 12px 22px; border-radius: 999px; border: 0; background: var(--nodo-verde); color: #fff; cursor: pointer; }
.nodo-404 .screen-reader-text { position: absolute; left: -9999px; }

/* Íconos: Lucide (ISC) y Simple Icons (CC0). Uso: clase nodo-ico nodo-ico--nombre */
:root {
  --nodo-i-arrow: url("data:image/svg+xml,%3Csvg stroke='currentColor' fill='none' stroke-width='2' viewBox='0 0 24 24' stroke-linecap='round' stroke-linejoin='round' color='%23000' height='24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 12h14'%3E%3C/path%3E%3Cpath d='m12 5 7 7-7 7'%3E%3C/path%3E%3C/svg%3E");
  --nodo-i-chevron: url("data:image/svg+xml,%3Csvg stroke='currentColor' fill='none' stroke-width='2' viewBox='0 0 24 24' stroke-linecap='round' stroke-linejoin='round' color='%23000' height='24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m6 9 6 6 6-6'%3E%3C/path%3E%3C/svg%3E");
  --nodo-i-menu: url("data:image/svg+xml,%3Csvg stroke='currentColor' fill='none' stroke-width='2' viewBox='0 0 24 24' stroke-linecap='round' stroke-linejoin='round' color='%23000' height='24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cline x1='4' x2='20' y1='12' y2='12'%3E%3C/line%3E%3Cline x1='4' x2='20' y1='6' y2='6'%3E%3C/line%3E%3Cline x1='4' x2='20' y1='18' y2='18'%3E%3C/line%3E%3C/svg%3E");
  --nodo-i-x: url("data:image/svg+xml,%3Csvg stroke='currentColor' fill='none' stroke-width='2' viewBox='0 0 24 24' stroke-linecap='round' stroke-linejoin='round' color='%23000' height='24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18 6 6 18'%3E%3C/path%3E%3Cpath d='m6 6 12 12'%3E%3C/path%3E%3C/svg%3E");
  --nodo-i-plus: url("data:image/svg+xml,%3Csvg stroke='currentColor' fill='none' stroke-width='2' viewBox='0 0 24 24' stroke-linecap='round' stroke-linejoin='round' color='%23063C24' height='24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 12h14'%3E%3C/path%3E%3Cpath d='M12 5v14'%3E%3C/path%3E%3C/svg%3E");
  --nodo-i-send: url("data:image/svg+xml,%3Csvg stroke='currentColor' fill='none' stroke-width='2' viewBox='0 0 24 24' stroke-linecap='round' stroke-linejoin='round' color='%23000' height='24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z'%3E%3C/path%3E%3Cpath d='m21.854 2.147-10.94 10.939'%3E%3C/path%3E%3C/svg%3E");
  --nodo-i-whatsapp: url("data:image/svg+xml,%3Csvg stroke='currentColor' fill='currentColor' stroke-width='0' role='img' viewBox='0 0 24 24' color='%23000' height='24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413Z'%3E%3C/path%3E%3C/svg%3E");
  --nodo-i-check-w: url("data:image/svg+xml,%3Csvg stroke='currentColor' fill='none' stroke-width='2' viewBox='0 0 24 24' stroke-linecap='round' stroke-linejoin='round' color='%23ffffff' height='24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 6 9 17l-5-5'%3E%3C/path%3E%3C/svg%3E");
  --nodo-i-up: url("data:image/svg+xml,%3Csvg stroke='currentColor' fill='none' stroke-width='2' viewBox='0 0 24 24' stroke-linecap='round' stroke-linejoin='round' color='%23000' height='24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m5 12 7-7 7 7'%3E%3C/path%3E%3Cpath d='M12 19V5'%3E%3C/path%3E%3C/svg%3E");
  --nodo-i-search-g: url("data:image/svg+xml,%3Csvg stroke='currentColor' fill='none' stroke-width='2' viewBox='0 0 24 24' stroke-linecap='round' stroke-linejoin='round' color='%2352645A' height='24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cpath d='m21 21-4.3-4.3'%3E%3C/path%3E%3C/svg%3E");
}
.nodo-ico--flask { --ico: url("data:image/svg+xml,%3Csvg stroke='currentColor' fill='none' stroke-width='2' viewBox='0 0 24 24' stroke-linecap='round' stroke-linejoin='round' color='%23000' height='24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 2v7.527a2 2 0 0 1-.211.896L4.72 20.55a1 1 0 0 0 .9 1.45h12.76a1 1 0 0 0 .9-1.45l-5.069-10.127A2 2 0 0 1 14 9.527V2'%3E%3C/path%3E%3Cpath d='M8.5 2h7'%3E%3C/path%3E%3Cpath d='M7 16h10'%3E%3C/path%3E%3C/svg%3E"); }
.nodo-ico--scale { --ico: url("data:image/svg+xml,%3Csvg stroke='currentColor' fill='none' stroke-width='2' viewBox='0 0 24 24' stroke-linecap='round' stroke-linejoin='round' color='%23000' height='24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m16 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z'%3E%3C/path%3E%3Cpath d='m2 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z'%3E%3C/path%3E%3Cpath d='M7 21h10'%3E%3C/path%3E%3Cpath d='M12 3v18'%3E%3C/path%3E%3Cpath d='M3 7h2c2 0 5-1 7-2 2 1 5 2 7 2h2'%3E%3C/path%3E%3C/svg%3E"); }
.nodo-ico--handshake { --ico: url("data:image/svg+xml,%3Csvg stroke='currentColor' fill='none' stroke-width='2' viewBox='0 0 24 24' stroke-linecap='round' stroke-linejoin='round' color='%23000' height='24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m11 17 2 2a1 1 0 1 0 3-3'%3E%3C/path%3E%3Cpath d='m14 14 2.5 2.5a1 1 0 1 0 3-3l-3.88-3.88a3 3 0 0 0-4.24 0l-.88.88a1 1 0 1 1-3-3l2.81-2.81a5.79 5.79 0 0 1 7.06-.87l.47.28a2 2 0 0 0 1.42.25L21 4'%3E%3C/path%3E%3Cpath d='m21 3 1 11h-2'%3E%3C/path%3E%3Cpath d='M3 3 2 14l6.5 6.5a1 1 0 1 0 3-3'%3E%3C/path%3E%3Cpath d='M3 4h8'%3E%3C/path%3E%3C/svg%3E"); }
.nodo-ico--shield { --ico: url("data:image/svg+xml,%3Csvg stroke='currentColor' fill='none' stroke-width='2' viewBox='0 0 24 24' stroke-linecap='round' stroke-linejoin='round' color='%23000' height='24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z'%3E%3C/path%3E%3C/svg%3E"); }
.nodo-ico--sprout { --ico: url("data:image/svg+xml,%3Csvg stroke='currentColor' fill='none' stroke-width='2' viewBox='0 0 24 24' stroke-linecap='round' stroke-linejoin='round' color='%23000' height='24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 20h10'%3E%3C/path%3E%3Cpath d='M10 20c5.5-2.5.8-6.4 3-10'%3E%3C/path%3E%3Cpath d='M9.5 9.4c1.1.8 1.8 2.2 2.3 3.7-2 .4-3.5.4-4.8-.3-1.2-.6-2.3-1.9-3-4.2 2.8-.5 4.4 0 5.5.8z'%3E%3C/path%3E%3Cpath d='M14.1 6a7 7 0 0 0-1.1 4c1.9-.1 3.3-.6 4.3-1.4 1-1 1.6-2.3 1.7-4.6-2.7.1-4 1-4.9 2z'%3E%3C/path%3E%3C/svg%3E"); }
.nodo-ico--search { --ico: url("data:image/svg+xml,%3Csvg stroke='currentColor' fill='none' stroke-width='2' viewBox='0 0 24 24' stroke-linecap='round' stroke-linejoin='round' color='%23000' height='24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cpath d='m21 21-4.3-4.3'%3E%3C/path%3E%3C/svg%3E"); }
.nodo-ico--graduation { --ico: url("data:image/svg+xml,%3Csvg stroke='currentColor' fill='none' stroke-width='2' viewBox='0 0 24 24' stroke-linecap='round' stroke-linejoin='round' color='%23000' height='24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z'%3E%3C/path%3E%3Cpath d='M22 10v6'%3E%3C/path%3E%3Cpath d='M6 12.5V16a6 3 0 0 0 12 0v-3.5'%3E%3C/path%3E%3C/svg%3E"); }
.nodo-ico--clipboard { --ico: url("data:image/svg+xml,%3Csvg stroke='currentColor' fill='none' stroke-width='2' viewBox='0 0 24 24' stroke-linecap='round' stroke-linejoin='round' color='%23000' height='24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='8' height='4' x='8' y='2' rx='1' ry='1'%3E%3C/rect%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'%3E%3C/path%3E%3Cpath d='M12 11h4'%3E%3C/path%3E%3Cpath d='M12 16h4'%3E%3C/path%3E%3Cpath d='M8 11h.01'%3E%3C/path%3E%3Cpath d='M8 16h.01'%3E%3C/path%3E%3C/svg%3E"); }
.nodo-ico--book { --ico: url("data:image/svg+xml,%3Csvg stroke='currentColor' fill='none' stroke-width='2' viewBox='0 0 24 24' stroke-linecap='round' stroke-linejoin='round' color='%23000' height='24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 7v14'%3E%3C/path%3E%3Cpath d='M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z'%3E%3C/path%3E%3C/svg%3E"); }
.nodo-ico--map { --ico: url("data:image/svg+xml,%3Csvg stroke='currentColor' fill='none' stroke-width='2' viewBox='0 0 24 24' stroke-linecap='round' stroke-linejoin='round' color='%23000' height='24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z'%3E%3C/path%3E%3Cpath d='M15 5.764v15'%3E%3C/path%3E%3Cpath d='M9 3.236v15'%3E%3C/path%3E%3C/svg%3E"); }
.nodo-ico--network { --ico: url("data:image/svg+xml,%3Csvg stroke='currentColor' fill='none' stroke-width='2' viewBox='0 0 24 24' stroke-linecap='round' stroke-linejoin='round' color='%23000' height='24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='16' y='16' width='6' height='6' rx='1'%3E%3C/rect%3E%3Crect x='2' y='16' width='6' height='6' rx='1'%3E%3C/rect%3E%3Crect x='9' y='2' width='6' height='6' rx='1'%3E%3C/rect%3E%3Cpath d='M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3'%3E%3C/path%3E%3Cpath d='M12 12V8'%3E%3C/path%3E%3C/svg%3E"); }
.nodo-ico--landmark { --ico: url("data:image/svg+xml,%3Csvg stroke='currentColor' fill='none' stroke-width='2' viewBox='0 0 24 24' stroke-linecap='round' stroke-linejoin='round' color='%23000' height='24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cline x1='3' x2='21' y1='22' y2='22'%3E%3C/line%3E%3Cline x1='6' x2='6' y1='18' y2='11'%3E%3C/line%3E%3Cline x1='10' x2='10' y1='18' y2='11'%3E%3C/line%3E%3Cline x1='14' x2='14' y1='18' y2='11'%3E%3C/line%3E%3Cline x1='18' x2='18' y1='18' y2='11'%3E%3C/line%3E%3Cpolygon points='12 2 20 7 4 7'%3E%3C/polygon%3E%3C/svg%3E"); }
.nodo-ico--users { --ico: url("data:image/svg+xml,%3Csvg stroke='currentColor' fill='none' stroke-width='2' viewBox='0 0 24 24' stroke-linecap='round' stroke-linejoin='round' color='%23000' height='24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'%3E%3C/path%3E%3Ccircle cx='9' cy='7' r='4'%3E%3C/circle%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87'%3E%3C/path%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'%3E%3C/path%3E%3C/svg%3E"); }
.nodo-ico--alert { --ico: url("data:image/svg+xml,%3Csvg stroke='currentColor' fill='none' stroke-width='2' viewBox='0 0 24 24' stroke-linecap='round' stroke-linejoin='round' color='%23000' height='24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3'%3E%3C/path%3E%3Cpath d='M12 9v4'%3E%3C/path%3E%3Cpath d='M12 17h.01'%3E%3C/path%3E%3C/svg%3E"); }
.nodo-ico--chart { --ico: url("data:image/svg+xml,%3Csvg stroke='currentColor' fill='none' stroke-width='2' viewBox='0 0 24 24' stroke-linecap='round' stroke-linejoin='round' color='%23000' height='24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 3v16a2 2 0 0 0 2 2h16'%3E%3C/path%3E%3Cpath d='m19 9-5 5-4-4-3 3'%3E%3C/path%3E%3C/svg%3E"); }
.nodo-ico--leaf { --ico: url("data:image/svg+xml,%3Csvg stroke='currentColor' fill='none' stroke-width='2' viewBox='0 0 24 24' stroke-linecap='round' stroke-linejoin='round' color='%23000' height='24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 20A7 7 0 0 1 9.8 6.1C15.5 5 17 4.48 19 2c1 2 2 4.18 2 8 0 5.5-4.78 10-10 10Z'%3E%3C/path%3E%3Cpath d='M2 21c0-3 1.85-5.36 5.08-6C9.5 14.52 12 13 13 12'%3E%3C/path%3E%3C/svg%3E"); }
.nodo-ico--file { --ico: url("data:image/svg+xml,%3Csvg stroke='currentColor' fill='none' stroke-width='2' viewBox='0 0 24 24' stroke-linecap='round' stroke-linejoin='round' color='%23000' height='24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'%3E%3C/path%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4'%3E%3C/path%3E%3Cpath d='M10 9H8'%3E%3C/path%3E%3Cpath d='M16 13H8'%3E%3C/path%3E%3Cpath d='M16 17H8'%3E%3C/path%3E%3C/svg%3E"); }
.nodo-ico--globe { --ico: url("data:image/svg+xml,%3Csvg stroke='currentColor' fill='none' stroke-width='2' viewBox='0 0 24 24' stroke-linecap='round' stroke-linejoin='round' color='%23000' height='24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpath d='M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20'%3E%3C/path%3E%3Cpath d='M2 12h20'%3E%3C/path%3E%3C/svg%3E"); }
.nodo-ico--building { --ico: url("data:image/svg+xml,%3Csvg stroke='currentColor' fill='none' stroke-width='2' viewBox='0 0 24 24' stroke-linecap='round' stroke-linejoin='round' color='%23000' height='24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z'%3E%3C/path%3E%3Cpath d='M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2'%3E%3C/path%3E%3Cpath d='M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2'%3E%3C/path%3E%3Cpath d='M10 6h4'%3E%3C/path%3E%3Cpath d='M10 10h4'%3E%3C/path%3E%3Cpath d='M10 14h4'%3E%3C/path%3E%3Cpath d='M10 18h4'%3E%3C/path%3E%3C/svg%3E"); }
.nodo-ico--briefcase { --ico: url("data:image/svg+xml,%3Csvg stroke='currentColor' fill='none' stroke-width='2' viewBox='0 0 24 24' stroke-linecap='round' stroke-linejoin='round' color='%23000' height='24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16'%3E%3C/path%3E%3Crect width='20' height='14' x='2' y='6' rx='2'%3E%3C/rect%3E%3C/svg%3E"); }
.nodo-ico--heart { --ico: url("data:image/svg+xml,%3Csvg stroke='currentColor' fill='none' stroke-width='2' viewBox='0 0 24 24' stroke-linecap='round' stroke-linejoin='round' color='%23000' height='24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z'%3E%3C/path%3E%3C/svg%3E"); }
.nodo-ico--sparkle { --ico: url("data:image/svg+xml,%3Csvg stroke='currentColor' fill='none' stroke-width='2' viewBox='0 0 24 24' stroke-linecap='round' stroke-linejoin='round' color='%23000' height='24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z'%3E%3C/path%3E%3Cpath d='M20 3v4'%3E%3C/path%3E%3Cpath d='M22 5h-4'%3E%3C/path%3E%3Cpath d='M4 17v2'%3E%3C/path%3E%3Cpath d='M5 18H3'%3E%3C/path%3E%3C/svg%3E"); }
.nodo-ico--message { --ico: url("data:image/svg+xml,%3Csvg stroke='currentColor' fill='none' stroke-width='2' viewBox='0 0 24 24' stroke-linecap='round' stroke-linejoin='round' color='%23000' height='24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'%3E%3C/path%3E%3C/svg%3E"); }
.nodo-ico--mail { --ico: url("data:image/svg+xml,%3Csvg stroke='currentColor' fill='none' stroke-width='2' viewBox='0 0 24 24' stroke-linecap='round' stroke-linejoin='round' color='%23000' height='24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='20' height='16' x='2' y='4' rx='2'%3E%3C/rect%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'%3E%3C/path%3E%3C/svg%3E"); }
.nodo-ico--phone { --ico: url("data:image/svg+xml,%3Csvg stroke='currentColor' fill='none' stroke-width='2' viewBox='0 0 24 24' stroke-linecap='round' stroke-linejoin='round' color='%23000' height='24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'%3E%3C/path%3E%3C/svg%3E"); }
.nodo-ico--pin { --ico: url("data:image/svg+xml,%3Csvg stroke='currentColor' fill='none' stroke-width='2' viewBox='0 0 24 24' stroke-linecap='round' stroke-linejoin='round' color='%23000' height='24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0'%3E%3C/path%3E%3Ccircle cx='12' cy='10' r='3'%3E%3C/circle%3E%3C/svg%3E"); }
.nodo-ico--clock { --ico: url("data:image/svg+xml,%3Csvg stroke='currentColor' fill='none' stroke-width='2' viewBox='0 0 24 24' stroke-linecap='round' stroke-linejoin='round' color='%23000' height='24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E"); }
.nodo-ico--whatsapp { --ico: url("data:image/svg+xml,%3Csvg stroke='currentColor' fill='currentColor' stroke-width='0' role='img' viewBox='0 0 24 24' color='%23000' height='24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413Z'%3E%3C/path%3E%3C/svg%3E"); }
.nodo-ico--facebook { --ico: url("data:image/svg+xml,%3Csvg stroke='currentColor' fill='currentColor' stroke-width='0' role='img' viewBox='0 0 24 24' color='%23000' height='24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.101 23.691v-7.98H6.627v-3.667h2.474v-1.58c0-4.085 1.848-5.978 5.858-5.978.401 0 .955.042 1.468.103a8.68 8.68 0 0 1 1.141.195v3.325a8.623 8.623 0 0 0-.653-.036 26.805 26.805 0 0 0-.733-.009c-.707 0-1.259.096-1.675.309a1.686 1.686 0 0 0-.679.622c-.258.42-.374.995-.374 1.752v1.297h3.919l-.386 2.103-.287 1.564h-3.246v8.245C19.396 23.238 24 18.179 24 12.044c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.628 3.874 10.35 9.101 11.647Z'%3E%3C/path%3E%3C/svg%3E"); }
.nodo-ico--instagram { --ico: url("data:image/svg+xml,%3Csvg stroke='currentColor' fill='currentColor' stroke-width='0' role='img' viewBox='0 0 24 24' color='%23000' height='24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.0301.084c-1.2768.0602-2.1487.264-2.911.5634-.7888.3075-1.4575.72-2.1228 1.3877-.6652.6677-1.075 1.3368-1.3802 2.127-.2954.7638-.4956 1.6365-.552 2.914-.0564 1.2775-.0689 1.6882-.0626 4.947.0062 3.2586.0206 3.6671.0825 4.9473.061 1.2765.264 2.1482.5635 2.9107.308.7889.72 1.4573 1.388 2.1228.6679.6655 1.3365 1.0743 2.1285 1.38.7632.295 1.6361.4961 2.9134.552 1.2773.056 1.6884.069 4.9462.0627 3.2578-.0062 3.668-.0207 4.9478-.0814 1.28-.0607 2.147-.2652 2.9098-.5633.7889-.3086 1.4578-.72 2.1228-1.3881.665-.6682 1.0745-1.3378 1.3795-2.1284.2957-.7632.4966-1.636.552-2.9124.056-1.2809.0692-1.6898.063-4.948-.0063-3.2583-.021-3.6668-.0817-4.9465-.0607-1.2797-.264-2.1487-.5633-2.9117-.3084-.7889-.72-1.4568-1.3876-2.1228C21.2982 1.33 20.628.9208 19.8378.6165 19.074.321 18.2017.1197 16.9244.0645 15.6471.0093 15.236-.005 11.977.0014 8.718.0076 8.31.0215 7.0301.0839m.1402 21.6932c-1.17-.0509-1.8053-.2453-2.2287-.408-.5606-.216-.96-.4771-1.3819-.895-.422-.4178-.6811-.8186-.9-1.378-.1644-.4234-.3624-1.058-.4171-2.228-.0595-1.2645-.072-1.6442-.079-4.848-.007-3.2037.0053-3.583.0607-4.848.05-1.169.2456-1.805.408-2.2282.216-.5613.4762-.96.895-1.3816.4188-.4217.8184-.6814 1.3783-.9003.423-.1651 1.0575-.3614 2.227-.4171 1.2655-.06 1.6447-.072 4.848-.079 3.2033-.007 3.5835.005 4.8495.0608 1.169.0508 1.8053.2445 2.228.408.5608.216.96.4754 1.3816.895.4217.4194.6816.8176.9005 1.3787.1653.4217.3617 1.056.4169 2.2263.0602 1.2655.0739 1.645.0796 4.848.0058 3.203-.0055 3.5834-.061 4.848-.051 1.17-.245 1.8055-.408 2.2294-.216.5604-.4763.96-.8954 1.3814-.419.4215-.8181.6811-1.3783.9-.4224.1649-1.0577.3617-2.2262.4174-1.2656.0595-1.6448.072-4.8493.079-3.2045.007-3.5825-.006-4.848-.0608M16.953 5.5864A1.44 1.44 0 1 0 18.39 4.144a1.44 1.44 0 0 0-1.437 1.4424M5.8385 12.012c.0067 3.4032 2.7706 6.1557 6.173 6.1493 3.4026-.0065 6.157-2.7701 6.1506-6.1733-.0065-3.4032-2.771-6.1565-6.174-6.1498-3.403.0067-6.156 2.771-6.1496 6.1738M8 12.0077a4 4 0 1 1 4.008 3.9921A3.9996 3.9996 0 0 1 8 12.0077'%3E%3C/path%3E%3C/svg%3E"); }
.nodo-ico--linkedin { --ico: url("data:image/svg+xml,%3Csvg stroke='currentColor' fill='none' stroke-width='2' viewBox='0 0 24 24' stroke-linecap='round' stroke-linejoin='round' color='%23000' height='24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z'%3E%3C/path%3E%3Crect width='4' height='12' x='2' y='9'%3E%3C/rect%3E%3Ccircle cx='4' cy='4' r='2'%3E%3C/circle%3E%3C/svg%3E"); }
.nodo-ico--youtube { --ico: url("data:image/svg+xml,%3Csvg stroke='currentColor' fill='currentColor' stroke-width='0' role='img' viewBox='0 0 24 24' color='%23000' height='24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z'%3E%3C/path%3E%3C/svg%3E"); }
.nodo-ico--x { --ico: url("data:image/svg+xml,%3Csvg stroke='currentColor' fill='currentColor' stroke-width='0' role='img' viewBox='0 0 24 24' color='%23000' height='24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.234 10.162 22.977 0h-2.072l-7.591 8.824L7.251 0H.258l9.168 13.343L.258 24H2.33l8.016-9.318L16.749 24h6.993zm-2.837 3.299-.929-1.329L3.076 1.56h3.182l5.965 8.532.929 1.329 7.754 11.09h-3.182z'%3E%3C/path%3E%3C/svg%3E"); }
