/* =========================================================================
   Evology — estilos del tema
   Colores y tipografía vienen de theme.json; acá van los componentes.
   ========================================================================= */

:root {
	--evo-ink: #262616;
	--evo-brown: #4F301B;
	--evo-orange: #F9AD6E;
	--evo-peach: #F9C79D;
	--evo-olive-l: #B8BC7D;
	--evo-olive: #8A8F4F;
	--evo-rust: #C46A1F;
	--evo-orange-d: #E08A45;
	--evo-body: #4A4A3A;
	--evo-muted: #5B5B48;
	--evo-line: #ECECE4;
	--evo-rule: #DCDCD0;
	--evo-off: #FAFAF5;
	--evo-t-olive: #F4F5E8;
	--evo-t-orange: #FEF3E8;
	--evo-t-brown: #F3EEEA;
	--evo-wrap: 1200px;
}

body { -webkit-font-smoothing: antialiased; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }
.wp-site-blocks { padding-top: 0; padding-bottom: 0; }

/* --- Subrayado de marca: el "Resaltar" del editor se ve como en la web --- */
mark,
mark.has-inline-color {
	background: linear-gradient(to top, var(--evo-peach) 0.3em, transparent 0.3em) !important;
	color: inherit;
	padding: 0 0.04em;
}
.evo-dark mark, .evo-dark mark.has-inline-color { background: linear-gradient(to top, #6A4429 0.3em, transparent 0.3em) !important; }
.evo-hl-olive mark { background: linear-gradient(to top, #D9DCB0 0.3em, transparent 0.3em) !important; }

/* --- Antetítulo con punto --- */
.evo-eyebrow {
	font-size: 0.75rem !important;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--evo-muted);
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
}
.evo-eyebrow.has-dot::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--evo-orange); flex: 0 0 10px; }
.evo-eyebrow.dot-olive::before { background: var(--evo-olive-l); }
.evo-dark .evo-eyebrow { color: #D9DCB0; }
.evo-on-brown .evo-eyebrow { color: var(--evo-peach); }

/* --- Números grandes --- */
.evo-num {
	font-weight: 300 !important;
	font-size: clamp(4rem, 8vw, 6.5rem) !important;
	line-height: 0.9 !important;
	letter-spacing: -0.05em;
	margin: 0;
	color: var(--evo-olive);
}
.evo-num.is-md { font-size: clamp(3.5rem, 6vw, 5rem) !important; }
.evo-num.is-sm { font-size: 3.5rem !important; }
.evo-num.c-olive { color: var(--evo-olive); }
.evo-num.c-orange { color: var(--evo-orange-d); }
.evo-num.c-rust { color: var(--evo-rust); }
.evo-num.c-brown { color: var(--evo-brown); }
.evo-num.c-olive-l { color: var(--evo-olive-l); }
.evo-num.c-orange-l { color: var(--evo-orange); }
.evo-num.c-peach { color: var(--evo-peach); }
.evo-num.c-white { color: #fff; }

/* --- Secciones --- */
.evo-section { padding-top: clamp(4rem, 8vw, 7rem) !important; padding-bottom: clamp(4rem, 8vw, 7rem) !important; }
.evo-section.pt-0 { padding-top: 0 !important; }
.evo-section.pb-0 { padding-bottom: 0 !important; }
.evo-band { background: var(--evo-off); border-top: 1px solid var(--evo-line); border-bottom: 1px solid var(--evo-line); }
.evo-dark { background: var(--evo-ink); color: #fff; position: relative; overflow: hidden; }
.evo-dark h1, .evo-dark h2, .evo-dark h3, .evo-dark h4 { color: #fff; }
.evo-dark p { color: #D6D6CC; }
.evo-dark a:not(.wp-element-button) { color: #fff; }
.evo-on-brown { background: var(--evo-brown); color: #fff; position: relative; overflow: hidden; }
.evo-on-brown h2, .evo-on-brown h3 { color: #fff; }
.evo-on-brown p { color: #EADBCF; }
.evo-lead { font-size: clamp(1.0625rem, 1.6vw, 1.1875rem) !important; line-height: 1.6; color: var(--evo-body); max-width: 600px; }
.evo-muted { color: var(--evo-body); }
.evo-small { font-size: 0.875rem !important; color: var(--evo-muted); }

/* Trazo decorativo */
.evo-swirl { position: absolute !important; pointer-events: none; z-index: 0; margin: 0 !important; }
.evo-swirl img { width: 100%; height: auto; display: block; }
.evo-dark > *:not(.evo-swirl), .evo-on-brown > *:not(.evo-swirl), .evo-panel > *:not(.evo-swirl) { position: relative; z-index: 1; }
.evo-swirl.is-hero { left: -84px; bottom: -48px; width: 280px; }
.evo-swirl.is-dark-tr { right: -120px; top: -60px; width: 720px; }
.evo-swirl.is-brown-bl { left: -140px; bottom: -90px; width: 620px; }
.evo-swirl.is-panel-tr { right: -40px; top: -30px; width: 380px; }
@keyframes evo-draw { from { stroke-dashoffset: 900; } to { stroke-dashoffset: 0; } }

/* --- Hero --- */
.evo-hero-photo { position: relative; max-width: 480px; margin-left: auto !important; }
.evo-hero-photo::before { content: ""; position: absolute; left: 28px; top: 28px; right: -28px; bottom: -28px; border-radius: 32px; background: var(--evo-peach); }
.evo-hero-photo img { position: relative; border-radius: 32px; width: 100%; aspect-ratio: 6 / 5; object-fit: cover; object-position: 50% 40%; display: block; }
.evo-hero-photo .evo-swirl { z-index: 2; }

/* --- Botones --- */
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent !important;
	color: var(--evo-ink) !important;
	border: 1.5px solid var(--evo-ink) !important;
	padding: 13.5px 26px;
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--evo-ink) !important; color: #fff !important; }
.wp-block-button.is-style-orange > .wp-block-button__link,
.evo-btn--orange { background: var(--evo-orange) !important; color: var(--evo-ink) !important; }
.wp-block-button.is-style-orange > .wp-block-button__link:hover { background: var(--evo-peach) !important; }
.evo-btn { display: inline-block; text-decoration: none; background: var(--evo-ink); color: #fff; padding: 15px 28px; border-radius: 999px; font-size: 0.9375rem; font-weight: 600; white-space: nowrap; }
.evo-btn:hover { background: var(--evo-brown); color: #fff; }
.evo-dark .wp-block-button.is-style-outline > .wp-block-button__link { color: #fff !important; border-color: #fff !important; }

/* --- Diferenciales --- */
.evo-rule-top { border-top: 1px solid var(--evo-ink); padding-top: 2rem; }
.evo-diff h3 { font-size: 1.1875rem !important; }
.evo-diff p:not(.evo-num) { font-size: 0.9375rem; color: var(--evo-body); }

/* --- Tarjetas --- */
.evo-card {
	background: #fff;
	border: 1px solid var(--evo-line);
	border-radius: 20px;
	padding: 28px !important;
	height: 100%;
}
.evo-card p { font-size: 1.0625rem; line-height: 1.5; font-weight: 500; }
.evo-card .evo-card__link { margin-top: auto !important; font-size: 0.8125rem; font-weight: 600; }
.evo-card .evo-card__link a { text-decoration: underline; }
.evo-icon { margin: 0 !important; }
.evo-icon img { width: 52px; height: 52px; display: block; }
.evo-icon.is-sm img { width: 44px; height: 44px; }

/* --- Ejes --- */
.evo-level { border-top: 4px solid var(--evo-olive-l); padding-top: 20px !important; }
.evo-level.is-orange { border-top-color: var(--evo-orange); }
.evo-level.is-olive { border-top-color: var(--evo-olive); }
.evo-level__name { font-size: 0.75rem !important; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; margin: 0; }
.evo-level__desc { font-size: 0.875rem !important; color: var(--evo-muted); margin: 0; }
.evo-eje { border-bottom: 1px solid var(--evo-rule); padding: 40px 0 !important; }
.evo-eje h3 { font-size: clamp(1.375rem, 2.2vw, 1.625rem) !important; }
.evo-eje .evo-num { font-size: clamp(4.5rem, 8vw, 7.5rem) !important; line-height: 0.85 !important; letter-spacing: -0.06em; }
.evo-result { font-size: 0.9375rem; }
.evo-note { font-size: 0.875rem; background: var(--evo-t-olive); border-radius: 12px; padding: 14px 18px !important; }

/* Desplegable "¿Cómo lo hacemos?" */
.wp-block-details.evo-more { margin-top: 0.5rem; }
.wp-block-details.evo-more > summary {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
	list-style: none;
	font-size: 0.875rem;
	font-weight: 600;
	border: 1.5px solid var(--evo-ink);
	border-radius: 999px;
	padding: 11px 20px;
	min-height: 44px;
	box-sizing: border-box;
}
.wp-block-details.evo-more > summary::-webkit-details-marker { display: none; }
.wp-block-details.evo-more > summary::after { content: ""; width: 8px; height: 8px; border-right: 1.8px solid currentColor; border-bottom: 1.8px solid currentColor; transform: rotate(45deg) translateY(-2px); transition: transform .2s; }
.wp-block-details.evo-more[open] > summary::after { transform: rotate(-135deg) translateY(-2px); }
.wp-block-details.evo-more[open] > summary { margin-bottom: 1rem; }
.evo-service { border-radius: 16px; padding: 22px !important; background: var(--evo-t-olive); }
.evo-service h4 { font-size: 0.9375rem !important; line-height: 1.35; margin: 0; }
.evo-service p { font-size: 0.875rem; color: var(--evo-body); margin: 0.5rem 0 0; }
.evo-tint-orange .evo-service { background: var(--evo-t-orange); }
.evo-tint-peach .evo-service { background: #FDEFE3; }
.evo-tint-brown .evo-service { background: var(--evo-t-brown); }
.evo-tint-olive2 .evo-service { background: #EEF0DF; }

/* --- Programas --- */
.evo-program {
	border: 1px solid var(--evo-line);
	border-top: 6px solid var(--evo-olive-l);
	border-radius: 0 0 24px 24px;
	padding: 40px !important;
	height: 100%;
}
.evo-program.is-orange { border-top-color: var(--evo-orange); }
.evo-program h3 { font-size: clamp(1.5rem, 2.4vw, 1.75rem) !important; }
.evo-program ul { padding-left: 0; list-style: none; }
.evo-program li { position: relative; padding-left: 20px; margin-bottom: 12px; font-size: 0.9375rem; }
.evo-program li::before { content: ""; position: absolute; left: 0; top: 0.55em; width: 8px; height: 8px; border-radius: 50%; background: var(--evo-olive); }
.evo-program.is-orange li::before { background: var(--evo-orange-d); }
.evo-program .evo-facts { font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.04em; color: var(--evo-muted); }
.evo-program .evo-note { background: var(--evo-t-olive); }
.evo-program.is-orange .evo-note { background: var(--evo-t-orange); }

/* --- Pasos (cómo trabajamos) --- */
.evo-step { border-top: 2px solid var(--evo-olive-l); padding-top: 24px !important; }
.evo-step.is-orange { border-top-color: var(--evo-orange); }
.evo-step.is-peach { border-top-color: var(--evo-peach); }
.evo-step.is-white { border-top-color: #fff; }
.evo-step.is-brown { border-top-color: var(--evo-brown); }
.evo-step h3 { font-size: 1.25rem !important; }
.evo-step p:not(.evo-num) { font-size: 0.9375rem; }

/* --- Testimonios --- */
.evo-quote {
	margin: 0 !important;
	border-top: 4px solid var(--evo-olive-l);
	background: var(--evo-off);
	border-radius: 0 0 20px 20px;
	padding: 32px !important;
	height: 100%;
}
.evo-quote.is-orange { border-top-color: var(--evo-orange); }
.evo-quote.is-brown { border-top-color: var(--evo-brown); }
.evo-quote .evo-quote__text { font-size: 1.125rem; line-height: 1.55; font-weight: 500; }
.evo-quote .evo-quote__who { font-size: 0.875rem; margin-top: auto !important; }

/* --- Equipo --- */
.evo-person img { border-radius: 160px 160px 20px 20px; aspect-ratio: 4 / 5; object-fit: cover; width: 100%; background: var(--evo-t-olive); }
.evo-person h3 { font-size: 1.125rem !important; margin-top: 0.75rem; }
.evo-person p { font-size: 0.875rem; color: var(--evo-muted); margin-top: 0.25rem; }
.evo-reasons { list-style: none; padding-left: 0; }
.evo-reasons li { position: relative; padding-left: 24px; margin-bottom: 16px; font-size: 0.9375rem; line-height: 1.55; }
.evo-reasons li::before { content: ""; position: absolute; left: 0; top: 0.45em; width: 10px; height: 10px; border-radius: 50%; background: var(--evo-olive-l); }
.evo-reasons li:nth-child(2)::before { background: var(--evo-orange); }
.evo-reasons li:nth-child(3)::before { background: var(--evo-peach); }
.evo-reasons li:nth-child(4)::before { background: var(--evo-brown); }

/* --- Panel durazno (Conversemos / cierre) --- */
.evo-panel { background: var(--evo-peach); border-radius: 32px; padding: clamp(32px, 5vw, 64px) clamp(24px, 4.5vw, 56px) !important; position: relative; overflow: hidden; }
.evo-panel p { color: var(--evo-body); }
.evo-form-slot { background: rgba(255, 255, 255, 0.55); border: 1.5px dashed #C9CBA8; border-radius: 16px; padding: 28px !important; }

/* Formularios (Contact Form 7 / WPForms) dentro del panel */
.evo-panel input[type="text"], .evo-panel input[type="email"], .evo-panel input[type="tel"], .evo-panel input[type="url"], .evo-panel input[type="number"], .evo-panel textarea, .evo-panel select {
	font-family: inherit; font-size: 15px; padding: 14px 16px; border: 1px solid #C9CBA8; border-radius: 12px; background: #fff; width: 100%; box-sizing: border-box;
}
.evo-panel input[type="submit"], .evo-panel button[type="submit"] {
	font-family: inherit; background: var(--evo-ink); color: #fff; border: 0; padding: 16px 30px; border-radius: 999px; font-size: 15px; font-weight: 600; cursor: pointer;
}

/* --- Franja/caja de diagnóstico (shortcode) --- */
.evo-cta-band, .evo-cta-box { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px 32px; }
.evo-cta-band { background: var(--evo-brown); color: #fff; padding: 64px max(32px, calc((100% - var(--evo-wrap)) / 2)); }
.evo-cta-band p { color: #EADBCF; margin: 0.5rem 0 0; }
.evo-cta-band .evo-cta__title { color: #fff; font-size: clamp(1.5rem, 2.6vw, 2rem); font-weight: 600; line-height: 1.2; letter-spacing: -0.02em; margin: 0; }
.evo-cta-box { background: var(--evo-t-olive); border-radius: 24px; padding: 36px; }
.evo-cta-box .evo-cta__title { font-size: 1.5rem; font-weight: 600; line-height: 1.25; margin: 0; }
.evo-cta-box p { margin: 0.5rem 0 0; color: var(--evo-body); }
.evo-cta__text { flex: 1 1 420px; min-width: 0; }

/* --- Preguntas frecuentes --- */
.evo-faq { border-top: 1px solid var(--evo-ink); }
.evo-faq .wp-block-details { border-bottom: 1px solid var(--evo-rule); padding: 22px 0; margin: 0; }
.evo-faq .wp-block-details > summary { font-size: 1.125rem; font-weight: 600; cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 16px; }
.evo-faq .wp-block-details > summary::-webkit-details-marker { display: none; }
.evo-faq .wp-block-details > summary::after { content: "+"; color: var(--evo-rust); font-weight: 500; font-size: 1.25rem; line-height: 1; }
.evo-faq .wp-block-details[open] > summary::after { content: "–"; }
.evo-faq .wp-block-details p { color: var(--evo-body); margin-top: 14px; }

/* --- Encabezado --- */
.evo-header { border-bottom: 1px solid var(--evo-line); background: #fff; }
.evo-header__inner { max-width: var(--evo-wrap); margin: 0 auto; padding: 18px 32px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.evo-header__logo img { height: 32px; width: auto; display: block; }
.evo-nav { display: flex; align-items: center; gap: 28px; font-size: 14px; font-weight: 500; }
.evo-menu { display: flex; align-items: center; gap: 28px; list-style: none; margin: 0; padding: 0; }
.evo-menu a, .evo-lang a { text-decoration: none; }
.evo-menu .current-menu-item > a, .evo-menu a[aria-current] { font-weight: 600; }
.evo-header__cta { text-decoration: none; background: var(--evo-ink); color: #fff !important; padding: 12px 22px; border-radius: 999px; font-weight: 600; }
.evo-header__cta:hover { background: var(--evo-brown); }
.evo-lang { display: flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; }
.evo-lang span { color: var(--evo-olive-l); }
.evo-lang a:not(.is-current) { color: #8A8A78; }
.evo-nav-toggle { display: none; background: none; border: 0; width: 44px; height: 44px; cursor: pointer; padding: 0; }
.evo-burger, .evo-burger::before, .evo-burger::after { display: block; width: 22px; height: 2px; background: var(--evo-ink); position: relative; margin: 0 auto; transition: transform .2s; }
.evo-burger::before, .evo-burger::after { content: ""; position: absolute; left: 0; }
.evo-burger::before { top: -7px; }
.evo-burger::after { top: 7px; }
.evo-nav-toggle[aria-expanded="true"] .evo-burger { background: transparent; }
.evo-nav-toggle[aria-expanded="true"] .evo-burger::before { transform: translateY(7px) rotate(45deg); }
.evo-nav-toggle[aria-expanded="true"] .evo-burger::after { transform: translateY(-7px) rotate(-45deg); }

@media (max-width: 960px) {
	.evo-nav-toggle { display: block; }
	.evo-header__inner { flex-wrap: wrap; padding: 14px 20px; }
	.evo-nav { display: none; width: 100%; flex-direction: column; align-items: flex-start; gap: 18px; padding: 12px 0 8px; font-size: 16px; }
	.evo-nav.is-open { display: flex; }
	.evo-menu { flex-direction: column; align-items: flex-start; gap: 16px; }
}

/* --- Pie --- */
.evo-footer { border-top: 1px solid var(--evo-line); }
.evo-footer__inner { max-width: var(--evo-wrap); margin: 0 auto; padding: 40px 32px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; }
.evo-footer__brand { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; font-size: 13px; color: var(--evo-muted); letter-spacing: 0.04em; }
.evo-footer__brand img { height: 26px; width: auto; }
.evo-footer__meta { margin: 0; font-size: 13px; color: var(--evo-muted); display: flex; flex-wrap: wrap; gap: 20px; }
.evo-footer__meta a { color: var(--evo-muted); }

/* --- Blog --- */
.evo-blog-head { padding-top: 72px !important; padding-bottom: 48px !important; }
.evo-posts .wp-block-post { display: flex; flex-direction: column; gap: 14px; }
.evo-posts .wp-block-post-featured-image img { border-radius: 20px; aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }
.evo-posts .wp-block-post-featured-image { margin: 0; }
.evo-posts .wp-block-post-title { font-size: 1.3125rem !important; line-height: 1.3; margin: 0; }
.evo-posts .wp-block-post-title a { text-decoration: none; }
.evo-posts .wp-block-post-excerpt { font-size: 0.9375rem; color: var(--evo-body); margin: 0; }
.evo-posts .wp-block-post-excerpt__more-text { display: none; }
.evo-posts .wp-block-post-terms, .evo-posts .wp-block-post-date { font-size: 0.8125rem; font-weight: 600; color: var(--evo-muted); }
.evo-posts .wp-block-post-terms a { text-decoration: none; color: var(--evo-rust); }
.evo-noimg .wp-block-post-featured-image:empty { display: none; }
.evo-meta { font-size: 0.8125rem; font-weight: 600; color: var(--evo-muted); }
.evo-chip a, .evo-chip { display: inline-block; background: var(--evo-t-orange); color: #8A4A12 !important; border-radius: 999px; padding: 5px 12px; font-size: 0.8125rem; font-weight: 600; text-decoration: none; }
.evo-chip .wp-block-post-terms__separator { display: none; }

/* Nota */
.evo-article-head { padding-top: 64px !important; }
.evo-article-head .wp-block-post-title { font-size: clamp(2.125rem, 4.4vw, 3rem) !important; line-height: 1.12; letter-spacing: -0.03em; }
.evo-article-image img { border-radius: 28px; width: 100%; aspect-ratio: 16 / 7; object-fit: cover; }
.evo-article { font-size: 1.125rem; line-height: 1.75; }
.evo-article > * { max-width: 720px; margin-left: auto !important; margin-right: auto !important; }
.evo-article h2 { font-size: 1.75rem !important; margin-top: 2.5rem; }
.evo-article p { color: var(--evo-body); }
.evo-article ul li { margin-bottom: 0.5rem; color: var(--evo-body); }
.evo-backlink a { font-size: 0.8125rem; font-weight: 500; color: var(--evo-muted); }

/* --- Página legal --- */
.evo-legal h2 { font-size: 1.375rem !important; margin-top: 2rem; }
.evo-legal p { color: var(--evo-body); }
.evo-draft { background: var(--evo-t-orange); color: #8A4A12; border-radius: 12px; padding: 14px 16px !important; font-size: 0.875rem; }

/* --- Utilidades responsive --- */
@media (max-width: 781px) {
	.evo-hero-photo { margin: 2rem auto 0 !important; }
	.evo-swirl.is-hero { left: -30px; width: 200px; }
	.evo-program { padding: 28px !important; }
	.evo-panel { border-radius: 24px; }
}
@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; animation: none !important; }
}
.evo-on-brown .evo-small, .evo-dark .evo-small { color: #EADBCF; }
.evo-dark .evo-small { color: #D6D6CC; }
.evo-on-brown .evo-step p.evo-small { margin-top: 0.5rem; }
.evo-facts-row .evo-step p.evo-small { margin-top: 0.5rem; }
.evo-topic { border: 1px solid #3A3A26; border-radius: 16px; padding: 22px 24px !important; }
.evo-topic p { margin: 0; color: #fff !important; font-size: 1.0625rem; font-weight: 500; }
.evo-topic p strong { color: var(--evo-olive-l); font-size: 0.875rem; margin-right: 12px; }
.evo-breadcrumb { font-size: 0.8125rem !important; font-weight: 500; color: var(--evo-muted); }
.evo-breadcrumb a { color: var(--evo-muted); }
/* Secciones a ancho completo pegadas entre sí */
.wp-block-post-content > .alignfull { margin-block-start: 0 !important; margin-block-end: 0 !important; }
.evo-blog-head > * { margin-left: 0 !important; }
.evo-article-head .evo-lead { max-width: 720px; }


/* ===== Evology v2 · octubre 2026 ===== */

/* Base de secciones */
.evo2 { padding-top: 72px !important; padding-bottom: 72px !important; position: relative; }
.evo2.pt-s { padding-top: 24px !important; }
.evo2.pb-s { padding-bottom: 24px !important; }
.evo2.pb-0 { padding-bottom: 0 !important; }
.evo2.is-band { background: #FAFAF5; border-top: 1px solid #ECECE4; border-bottom: 1px solid #ECECE4; }
.evo2-g { display: grid; gap: 24px; }
.evo2-g > *, .evo2-f > * { margin-block-start: 0 !important; margin-block-end: 0 !important; }
.evo2-f { display: flex; flex-direction: column; gap: 18px; }
.evo2 h2.evo2-h2 { font-size: clamp(2rem, 4vw, 3.25rem) !important; line-height: 1.1; letter-spacing: -0.035em; }
.evo2 h2.evo2-h2s { font-size: clamp(1.75rem, 3vw, 2.25rem) !important; line-height: 1.2; letter-spacing: -0.03em; }
.evo2-lead { font-size: 1.125rem !important; line-height: 1.6; color: #4A4A3A; }
.evo2-label { font-size: 0.75rem !important; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: #5B5B48; }
.evo-eyebrow.dot-brown::before { background: #4F301B; }
.evo-eyebrow.dot-olive-d::before { background: #8A8F4F; }
.evo2 .evo-hl-olive mark, .evo2 mark.is-olive { background: linear-gradient(to top, #D9DCB0 0.3em, transparent 0.3em) !important; }
.evo2-hl2 mark:nth-of-type(2) { background: linear-gradient(to top, #D9DCB0 0.3em, transparent 0.3em) !important; }

/* Encabezado de sección: título a la izquierda, texto a la derecha */
.evo2-head { display: grid; grid-template-columns: 7fr 5fr; gap: 24px 64px; align-items: end; margin-bottom: 40px; }
.evo2-head > * { margin: 0 !important; }

/* Botones grandes */
.evo2-btns .wp-block-button__link { padding: 20px 32px !important; font-size: 1.0625rem !important; }
.evo2-btns.is-equal { flex-wrap: nowrap; }
.evo2-btns.is-equal .wp-block-button { flex: 1 1 0; }
.evo2-btns.is-equal .wp-block-button__link { width: 100%; text-align: center; box-sizing: border-box; }

/* ---------- PORTADA ---------- */
.evo2-hero { overflow: hidden; padding-top: 56px !important; padding-bottom: 56px !important; }
.evo2-hero::before { content: ""; position: absolute; right: -170px; top: -30px; width: 760px; height: 510px; pointer-events: none; z-index: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 200' fill='none'%3E%3Cpath d='M10 150 C 60 40, 170 30, 180 100 C 190 160, 110 170, 120 110 C 130 50, 240 30, 290 70' stroke='%23F9C79D' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center / contain; }
.evo2-hero > * { position: relative; z-index: 1; }
.evo2-hero h1 { font-size: clamp(2.5rem, 5.4vw, 4.875rem) !important; font-weight: 600; line-height: 1.12 !important; letter-spacing: -0.045em !important; margin-block: 0 !important; }
.evo2-hero .evo2-sub { font-size: clamp(1.375rem, 2.2vw, 1.875rem) !important; line-height: 1.3; letter-spacing: -0.02em; color: #4F301B; margin-top: 28px !important; }
.evo2-hero-foot { margin-top: 44px !important; border-top: 1px solid #262616; padding-top: 36px; grid-template-columns: 7fr 5fr; align-items: center; column-gap: 64px; }
.evo2-hero-foot p { font-size: 1.1875rem !important; line-height: 1.6; color: #4A4A3A; }

/* ---------- SERVICIOS ---------- */
.evo2-lvl { border-top: 4px solid #B8BC7D; padding-top: 18px; margin-top: 48px !important; font-size: 0.8125rem !important; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; }
.evo2-lvl.is-orange { border-top-color: #F9AD6E; }
.evo2-lvl.is-brown { border-top-color: #4F301B; }
.evo2-lvl span { font-weight: 500; color: #5B5B48; }
.evo2-eje { display: grid; grid-template-columns: 2fr 5fr 5fr; gap: 20px 24px; padding: 32px 0; border-bottom: 1px solid #DCDCD0; margin-block: 0 !important; }
.evo2-eje > * { margin: 0 !important; }
.evo2-eje > .wp-block-details { grid-column: 2 / -1; }
.evo2-eje > :nth-child(1) { grid-column: 1; grid-row: 1 / 3; }
.evo2-eje > :nth-child(2) { display: contents; }
.evo2-eje > :nth-child(2) > h3 { grid-column: 2; grid-row: 1; margin: 0 !important; }
.evo2-eje > :nth-child(2) > .evo2-sit { grid-column: 2; grid-row: 2; align-self: start; margin: 0 !important; }
.evo2-eje > :nth-child(3) { grid-column: 3; grid-row: 2; }
.evo2-eje > .wp-block-details { grid-row: 3; }
.evo2-eje:has(+ .evo2-lvl), .evo2-eje:last-child { border-bottom: 0; }
.evo2-num { font-weight: 300 !important; font-size: clamp(4rem, 7.5vw, 7rem) !important; line-height: 0.85 !important; letter-spacing: -0.06em; color: #8A8F4F; }
.t-orange .evo2-num { color: #C46A1F; }
.t-brown .evo2-num { color: #4F301B; }
.evo2-eje h3 { font-size: clamp(1.375rem, 2.2vw, 1.625rem) !important; line-height: 1.2; display: flex; align-items: center; gap: 14px; }
.evo2-sit { border-radius: 12px; padding: 14px 18px !important; font-size: 0.9375rem !important; line-height: 1.55; background: #F4F5E8; }
.t-orange .evo2-sit, .t-orange .evo-service { background: #FEF3E8; }
.t-brown .evo2-sit, .t-brown .evo-service { background: #F3EEEA; }
.evo2-desc { font-size: 1.0625rem !important; line-height: 1.6; color: #4A4A3A; }
.evo2-res { font-size: 1.0625rem !important; line-height: 1.6; color: #4A4A3A; }
.evo2-svcs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.evo2-svcs > * { margin: 0 !important; }

/* Íconos (círculo de color + trazo) */
.evo2-ico::before { content: ""; flex: 0 0 52px; width: 52px; height: 52px; background: no-repeat center / contain; }
.ico-liderazgo::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 52 52'%3E%3Ccircle cx='26' cy='26' r='26' fill='%23B8BC7D'/%3E%3Cg transform='translate(13 13) scale(1.0833)' fill='none' stroke='%23262616' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3a9 9 0 1 0 0 18a9 9 0 1 0 0-18 M15.5 8.5 L13.4 13.4 L8.5 15.5 L10.6 10.6 Z'/%3E%3C/g%3E%3C/svg%3E"); }
.ico-equipos::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 52 52'%3E%3Ccircle cx='26' cy='26' r='26' fill='%23F9AD6E'/%3E%3Cg transform='translate(13 13) scale(1.0833)' fill='none' stroke='%23262616' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 10a4.5 4.5 0 1 0 9 0a4.5 4.5 0 1 0 -9 0 M10.5 10a4.5 4.5 0 1 0 9 0a4.5 4.5 0 1 0 -9 0 M7.5 15a4.5 4.5 0 1 0 9 0a4.5 4.5 0 1 0 -9 0'/%3E%3C/g%3E%3C/svg%3E"); }
.ico-cultura::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 52 52'%3E%3Ccircle cx='26' cy='26' r='26' fill='%23F9AD6E'/%3E%3Cg transform='translate(13 13) scale(1.0833)' fill='none' stroke='%23262616' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21V11 M12 11C12 7 9 5 5 5c0 4 3 6 7 6 M12 14c0-3 2.5-5 6-5c0 3.5-2.5 5-6 5 M8 21h8'/%3E%3C/g%3E%3C/svg%3E"); }
.ico-operacion::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 52 52'%3E%3Ccircle cx='26' cy='26' r='26' fill='%23F9AD6E'/%3E%3Cg transform='translate(13 13) scale(1.0833)' fill='none' stroke='%23262616' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 4.5h6v5h-6z M14.5 14.5h6v5h-6z M6.5 9.5v5.5a2 2 0 0 0 2 2h6 M9.5 7h5a2 2 0 0 1 2 2v5.5'/%3E%3C/g%3E%3C/svg%3E"); }
.ico-comunidad::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 52 52'%3E%3Ccircle cx='26' cy='26' r='26' fill='%23EAD9CB'/%3E%3Cg transform='translate(13 13) scale(1.0833)' fill='none' stroke='%23262616' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 20V11l5-4 5 4v9 M13 20v-6l4-3 4 3v6 M2 20h20 M7 20v-4h2v4'/%3E%3C/g%3E%3C/svg%3E"); }
.ico-academia::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 52 52'%3E%3Ccircle cx='26' cy='26' r='26' fill='%23B8BC7D'/%3E%3Cg transform='translate(13 13) scale(1.0833)' fill='none' stroke='%23262616' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%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 M22 10v6 M6 12.5V16a6 3 0 0 0 12 0v-3.5'/%3E%3C/g%3E%3C/svg%3E"); }
.ico-busqueda::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 52 52'%3E%3Ccircle cx='26' cy='26' r='26' fill='%23F9AD6E'/%3E%3Cg transform='translate(13 13) scale(1.0833)' fill='none' stroke='%23262616' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 4a5 5 0 1 0 0 10a5 5 0 1 0 0-10 M13.6 13.6L20 20 M10 7.5a1.7 1.7 0 1 0 0 3.4a1.7 1.7 0 1 0 0-3.4 M7.2 12.4c.6-1 1.6-1.5 2.8-1.5s2.2.5 2.8 1.5'/%3E%3C/g%3E%3C/svg%3E"); }
.evo2-ico.is-xl::before { flex-basis: 240px; width: 240px; height: 240px; }
.evo2-ico.is-xl { display: flex; justify-content: flex-end; margin: 0 !important; }

/* ---------- PROGRAMAS ---------- */
.evo2-progs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
.evo2-prog { background: #fff; border: 1px solid #ECECE4; border-top: 6px solid #B8BC7D; border-radius: 0 0 24px 24px; padding: 40px !important; gap: 20px; }
.evo2-prog.is-orange { border-top-color: #F9AD6E; }
.evo2-prog h3 { font-size: clamp(1.5rem, 2.4vw, 1.875rem) !important; }
.evo2-prog .evo2-tag { display: flex; align-items: center; justify-content: space-between; font-size: 0.75rem !important; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: #6B6F33; }
.evo2-prog.is-orange .evo2-tag { color: #A4561A; }
.evo2-prog .evo2-tag::before { order: 2; }
.evo2-for { border-radius: 12px; padding: 14px 18px !important; font-size: 0.875rem !important; line-height: 1.55; background: #F4F5E8; }
.evo2-prog.is-orange .evo2-for { background: #FEF3E8; }
.evo2-dots { list-style: none; padding-left: 0 !important; display: flex; flex-direction: column; gap: 12px; }
.evo2-dots li { position: relative; padding-left: 20px; font-size: 0.9375rem; line-height: 1.55; }
.evo2-dots li::before { content: ""; position: absolute; left: 0; top: 0.5em; width: 8px; height: 8px; border-radius: 50%; background: #8A8F4F; }
.is-orange .evo2-dots li::before { background: #E08A45; }
.evo2-prog .wp-block-buttons { margin-top: auto !important; padding-top: 8px; }

/* ---------- CÓMO TRABAJAMOS ---------- */
.evo2-diffs { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 64px; row-gap: 0; }
.evo2-diff { border-top: 1px solid #262616; padding: 24px 0 28px 44px !important; position: relative; gap: 10px; }
.evo2-diff::before { content: ""; position: absolute; left: 0; top: 33px; width: 14px; height: 14px; background: #B8BC7D; }
.evo2-diff:nth-child(2)::before { background: #F9AD6E; }
.evo2-diff:nth-child(3)::before { background: #F9C79D; }
.evo2-diff:nth-child(4)::before { background: #4F301B; }
.evo2-diff h3 { font-size: 1.375rem !important; line-height: 1.3; }
.evo2-diff p { font-size: 1rem; line-height: 1.6; color: #4A4A3A; }
.evo2-tl { margin-top: 36px !important; background: #FAFAF5; border: 1px solid #ECECE4; border-radius: 32px; padding: 40px 48px !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; position: relative; }
.evo2-tl::before { content: ""; position: absolute; left: 72px; right: 72px; top: 64px; height: 2px; background: linear-gradient(to right, #B8BC7D, #F9AD6E, #F9C79D, #4F301B); }
.evo2-tl > * { position: relative; gap: 14px; }
.evo2-tl .evo2-n { width: 48px; height: 48px; border-radius: 50%; background: #B8BC7D; display: flex; align-items: center; justify-content: center; font-size: 1rem !important; font-weight: 700; }
.evo2-tl > :nth-child(2) .evo2-n { background: #F9AD6E; }
.evo2-tl > :nth-child(3) .evo2-n { background: #F9C79D; }
.evo2-tl > :nth-child(4) .evo2-n { background: #4F301B; color: #fff; }
.evo2-tl h3 { font-size: 1.25rem !important; margin-top: 10px !important; }
.evo2-tl p:not(.evo2-n) { font-size: 0.9375rem; line-height: 1.6; color: #4A4A3A; }

/* ---------- QUIÉNES SOMOS ---------- */
.evo2-qhead { grid-template-columns: 4fr 8fr; column-gap: 64px; align-items: start; margin-bottom: 44px !important; }
.evo2-qhead h2 { font-size: clamp(2.25rem, 4.2vw, 3.5rem) !important; }
.evo2-quote { font-size: clamp(1.5rem, 2.6vw, 2.125rem) !important; font-weight: 600; line-height: 1.3; letter-spacing: -0.025em; }
.evo2-quote.is-light { font-weight: 300; }
.evo2-qhead .evo2-g { gap: 0; }
.evo2-mb { margin-bottom: 40px !important; }
.evo2-mb h2 { max-width: 820px; }
.evo2-quote mark:nth-of-type(1) { background: linear-gradient(to top, #D9DCB0 0.3em, transparent 0.3em) !important; }
.evo2-quote mark:nth-of-type(3) { background: linear-gradient(to top, #EAD9CB 0.3em, transparent 0.3em) !important; }
.evo2-person { grid-template-columns: 3fr 3fr 6fr; padding: 32px 0; border-top: 1px solid #DCDCD0; margin: 0 !important; }
.evo2-person:first-of-type { border-top-color: #262616; }
.evo2-person:last-child { border-bottom: 1px solid #DCDCD0; }
.evo2-person .wp-block-image img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 160px 160px 20px 20px; background: #F4F5E8; display: block; }
.evo2-person .wp-block-image { margin: 0 !important; }
.evo2-person h3 { font-size: 1.5rem !important; }
.evo2-role { font-size: 0.875rem !important; font-weight: 600; line-height: 1.45; color: #4F301B; }
.evo2-person .evo2-cred { font-size: 1.0625rem !important; font-weight: 600; line-height: 1.5; }
.evo2-person .evo2-bio { font-size: 1rem; line-height: 1.65; color: #4A4A3A; }
.evo2-person a { font-size: 0.875rem; font-weight: 600; }

/* ---------- EXPERIENCIAS ---------- */
.evo2-quotes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.evo2-quotes:has(> :nth-child(5)) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.evo2-q { border-top: 4px solid #B8BC7D; background: #FAFAF5; border-radius: 0 0 20px 20px; padding: 32px !important; gap: 24px; }
.evo2-q:nth-child(4n+2) { border-top-color: #F9AD6E; }
.evo2-q:nth-child(4n+3) { border-top-color: #4F301B; }
.evo2-q:nth-child(4n+4) { border-top-color: #F9C79D; }
.evo2-q .evo2-qt { font-size: 1.125rem !important; font-weight: 500; line-height: 1.55; }
.evo2-q .evo2-who { font-size: 0.875rem !important; color: #4A4A3A; margin-top: auto !important; }

/* ---------- DIAGNÓSTICO ---------- */
.evo2-diag { background: #F4F5E8; border-radius: 32px; padding: 48px !important; grid-template-columns: 7fr 5fr; column-gap: 64px; align-items: center; }
.evo2-diag h2 { font-size: clamp(1.75rem, 3vw, 2.5rem) !important; line-height: 1.15; }
.evo2-facts { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; border-top: 1px solid #262616; padding-top: 20px; }
.evo2-facts p { font-size: 0.8125rem !important; font-weight: 600; line-height: 1.3; }
.evo2-facts strong { display: block; font-size: 3.5rem; font-weight: 300; line-height: 0.95; letter-spacing: -0.05em; color: #6B6F33; }
.evo2-conf { font-size: 0.8125rem !important; line-height: 1.5; color: #5B5B48; }
.evo2-diag .wp-block-button, .evo2-diag .wp-block-button__link { width: 100%; text-align: center; box-sizing: border-box; }

/* ---------- CONVERSEMOS ---------- */
.evo2-contact { grid-template-columns: 6fr 5fr; column-gap: 64px; align-items: start; padding: 48px !important; }
.evo2 .evo2-contact h2 { font-size: clamp(1.375rem, 2.2vw, 1.875rem) !important; line-height: 1.25; }
.evo2-contact .evo2-links { border-top: 1px solid rgba(38, 38, 22, 0.25); padding-top: 20px; font-size: 0.9375rem; font-weight: 600; }
.evo2-form { background: rgba(255, 255, 255, 0.55); border-radius: 20px; padding: 32px !important; }
.evo2-form .wpcf7-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.evo2-form .wpcf7-form > p { margin: 0; }
.evo2-form label { display: block; font-size: 0.8125rem; font-weight: 600; }
.evo2-form .wpcf7-form > p:has([name="empresa"]), .evo2-form .wpcf7-form > p:has(textarea), .evo2-form .wpcf7-form > p:has(select), .evo2-form .wpcf7-form > p:has(input[type="submit"]) { grid-column: 1 / -1; }
.evo2-form .wpcf7-response-output, .evo2-form .wpcf7-form > div { grid-column: 1 / -1; }
.evo2-form label input, .evo2-form label select, .evo2-form label textarea { margin-top: 6px; }

/* ---------- PÁGINAS INTERNAS ---------- */
.evo2-page-hero { padding-top: 48px !important; }
.evo2-page-hero h1 { font-size: clamp(2.5rem, 5vw, 4.5rem) !important; line-height: 1.05; letter-spacing: -0.045em; }
.evo2-page-hero .evo2-heroin { grid-template-columns: 8fr 3fr; column-gap: 64px; align-items: center; margin-top: 40px !important; }
.evo2-split { grid-template-columns: 5fr 6fr; column-gap: 96px; align-items: start; }
.evo2-split p { font-size: 1.125rem; line-height: 1.7; color: #4A4A3A; }
.evo2-cards3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.evo2-card { border-radius: 20px; padding: 28px !important; background: #F4F5E8; font-size: 1.0625rem !important; font-weight: 500; line-height: 1.5; }
.is-orange .evo2-card { background: #FEF3E8; }
.evo2-rule { border-top: 1px solid #262616; padding-top: 56px !important; }
.evo2-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.evo2-steps.is-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.evo2-steps > * { gap: 14px; }
.evo2-steps h3 { font-size: 1.25rem !important; margin-top: 8px !important; }
.evo2-steps p:not(.evo2-num) { font-size: 1rem; line-height: 1.6; color: #4A4A3A; }
.evo2-steps .evo2-num { font-size: 6rem !important; }
.is-orange .evo2-steps .evo2-num { color: #C46A1F; }
.evo2-panel { background: #FAFAF5; border: 1px solid #ECECE4; border-radius: 32px; padding: 48px !important; }
.evo2-rows > * { display: grid; grid-template-columns: 4fr 8fr; column-gap: 24px; padding: 24px 0; border-top: 1px solid #DCDCD0; align-items: baseline; margin: 0 !important; }
.evo2-rows > * > * { margin: 0 !important; }
.evo2-rows h3 { font-size: 1.375rem !important; display: flex; align-items: center; gap: 12px; }
.evo2-rows h3::before { content: ""; width: 14px; height: 14px; border-radius: 50%; flex: 0 0 14px; background: #D9DCB0; }
.evo2-rows > :nth-child(2) h3::before { background: #B8BC7D; }
.evo2-rows > :nth-child(3) h3::before { background: #8A8F4F; }
.is-orange .evo2-rows > :nth-child(1) h3::before { background: #F9C79D; }
.is-orange .evo2-rows > :nth-child(2) h3::before { background: #F9AD6E; }
.is-orange .evo2-rows > :nth-child(3) h3::before { background: #C46A1F; }
.evo2-rows p { font-size: 1.0625rem; line-height: 1.6; color: #4A4A3A; }
.evo2-results { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.evo2-results > * { border-top: 4px solid #B8BC7D; padding-top: 22px !important; gap: 10px; }
.is-orange .evo2-results > * { border-top-color: #F9AD6E; }
.evo2-results h3 { font-size: 1.25rem !important; }
.evo2-results p { font-size: 1rem; line-height: 1.6; color: #4A4A3A; }
.evo2-faqgrid { grid-template-columns: 4fr 7fr; column-gap: 96px; }
.evo2-close { grid-template-columns: 7fr 4fr; column-gap: 64px; align-items: center; }
.evo2-close h2 { font-size: clamp(2rem, 3.2vw, 2.5rem) !important; }
.evo2-tally { border-radius: 24px; min-height: 200px; margin-top: 48px !important; }
.evo2-diag-page { grid-template-columns: 7fr 4fr; column-gap: 96px; align-items: end; margin-top: 40px !important; }
.evo2-diag-page h1 { font-size: clamp(2.25rem, 4vw, 3.5rem) !important; line-height: 1.08; letter-spacing: -0.04em; }

/* ---------- CELULAR ---------- */
@media (max-width: 900px) {
  .evo2 { padding-top: 48px !important; padding-bottom: 48px !important; }
  .evo2-head, .evo2-hero-foot, .evo2-eje, .evo2-progs, .evo2-diffs, .evo2-qhead, .evo2-person, .evo2-quotes, .evo2-quotes:has(> :nth-child(5)),
  .evo2-diag, .evo2-contact, .evo2-split, .evo2-diag-page, .evo2-cards3, .evo2-steps, .evo2-steps.is-4, .evo2-results, .evo2-faqgrid, .evo2-close, .evo2-page-hero .evo2-heroin, .evo2-rows > * { grid-template-columns: 1fr; }
  .evo2-eje > .wp-block-details { grid-column: auto; }
  .evo2-eje > :nth-child(1), .evo2-eje > :nth-child(2) > h3, .evo2-eje > :nth-child(2) > .evo2-sit, .evo2-eje > :nth-child(3), .evo2-eje > .wp-block-details { grid-column: 1; grid-row: auto; }
  .evo2-svcs, .evo2-tl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .evo2-tl::before { display: none; }
  .evo2-btns.is-equal { flex-wrap: wrap; }
  .evo2-hero::before { width: 420px; height: 280px; right: -140px; }
  .evo2-ico.is-xl { display: none; }
  .evo2-person .wp-block-image { max-width: 260px; }
  .evo2-contact, .evo2-diag, .evo2-panel, .evo2-prog { padding: 28px !important; }
  .evo2-form .wpcf7-form { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .evo2-svcs, .evo2-tl { grid-template-columns: 1fr; }
}


/* =========================================================================
   v1.2 · 28 oct 2026
   Escala tipográfica más chica, Servicios por niveles, tarjetas del equipo.
   ========================================================================= */

/* Escala más chica */
.evo2 { padding-top: 64px !important; padding-bottom: 64px !important; }
.evo2.pt-s { padding-top: 24px !important; }
.evo2.pb-s { padding-bottom: 24px !important; }
.evo-eyebrow { font-size: 0.6875rem !important; }
.evo2 h2.evo2-h2 { font-size: clamp(1.625rem, 2.8vw, 2.375rem) !important; letter-spacing: -0.03em; }
.evo2 h2.evo2-h2s { font-size: clamp(1.5rem, 2.4vw, 1.875rem) !important; }
.evo2-lead { font-size: 1.0625rem !important; }
.evo2-head { margin-bottom: 36px; column-gap: 56px; }
.evo2-btns .wp-block-button__link { padding: 16px 28px !important; font-size: 0.9375rem !important; }
.evo2-hero { padding-top: 48px !important; padding-bottom: 48px !important; }
.evo2-hero::before { width: 640px; height: 430px; right: -150px; top: -20px; }
.evo2-hero h1 { font-size: clamp(2.125rem, 4.2vw, 3.375rem) !important; letter-spacing: -0.04em !important; }
.evo2-hero .evo2-sub { font-size: clamp(1.1875rem, 1.9vw, 1.5rem) !important; margin-top: 22px !important; }
.evo2-hero-foot { margin-top: 36px !important; padding-top: 30px; column-gap: 56px; }
.evo2-hero-foot p { font-size: 1.0625rem !important; }
.evo2-progs { gap: 28px; }
.evo2-prog { padding: 34px !important; gap: 16px; border-radius: 0 0 22px 22px; }
.evo2-prog h3 { font-size: clamp(1.3125rem, 2vw, 1.5625rem) !important; }
.evo2-prog p { font-size: 0.9375rem; }
.evo2-for { font-size: 0.8125rem !important; padding: 12px 16px !important; }
.evo2-dots li { font-size: 0.875rem; }
.evo2-diffs { column-gap: 56px; }
.evo2-diff { padding: 22px 0 24px 40px !important; gap: 8px; }
.evo2-diff::before { top: 29px; width: 13px; height: 13px; }
.evo2-diff h3 { font-size: 1.125rem !important; }
.evo2-diff p { font-size: 0.9375rem; }
.evo2-tl { margin-top: 32px !important; border-radius: 28px; padding: 36px 40px !important; gap: 28px; }
.evo2-tl::before { left: 62px; right: 62px; top: 56px; }
.evo2-tl .evo2-n { width: 42px; height: 42px; font-size: 0.875rem !important; }
.evo2-tl h3 { font-size: 1.0625rem !important; margin-top: 8px !important; }
.evo2-tl p:not(.evo2-n) { font-size: 0.875rem; }
.evo2-qhead { column-gap: 56px; margin-bottom: 40px !important; }
.evo2-qhead h2 { font-size: clamp(1.875rem, 3.4vw, 2.75rem) !important; }
.evo2-quote { font-size: clamp(1.25rem, 2.1vw, 1.6875rem) !important; }
.evo2-quotes { gap: 24px; }
.evo2-q { padding: 28px !important; gap: 20px; border-radius: 0 0 18px 18px; }
.evo2-q .evo2-qt { font-size: 1rem !important; }
.evo2-q .evo2-who { font-size: 0.8125rem !important; }
.evo2-contact { padding: 44px !important; column-gap: 56px; border-radius: 28px; }
.evo2 .evo2-contact h2 { font-size: clamp(1.25rem, 2vw, 1.625rem) !important; }
.evo2-contact .evo2-links { font-size: 0.875rem; }
.evo2-form { padding: 28px !important; border-radius: 18px; }
.evo-nav { font-size: 14px; gap: 26px; }
.evo-lang .is-soon { color: #8A8A78; }

/* Servicios por niveles: número del nivel a la izquierda, servicios en tarjetas */
.evo3-level { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 24px 48px; padding: 32px 0; border-top: 1px solid var(--evo-rule); margin-block: 0 !important; }
.evo3-level:first-of-type, .evo2-head + .evo3-level { border-top: 2px solid var(--evo-olive); }
.evo3-level > *, .evo3-lv > *, .evo3-svcs > *, .evo3-svc > *, .evo3-team > *, .evo3-member > * { margin-block: 0 !important; }
.evo3-lv { align-self: start; position: sticky; top: 24px; display: grid; gap: 8px; }
.evo3-num { font-weight: 300 !important; font-size: clamp(2.75rem, 4.6vw, 3.75rem) !important; line-height: 0.9 !important; letter-spacing: -0.05em; color: var(--evo-olive); }
.t-orange .evo3-num { color: var(--evo-orange-d); }
.t-brown .evo3-num { color: var(--evo-brown); }
.evo3-lv h3.evo3-lvname { font-size: 1rem !important; text-transform: uppercase; letter-spacing: 0.08em; line-height: 1.3; }
.evo3-lvsub { font-size: 0.875rem !important; color: var(--evo-muted); line-height: 1.45; }
.evo3-svcs { display: grid; gap: 18px; min-width: 0; }
.evo3-svc { display: grid; gap: 12px; padding: 22px !important; border: 1px solid var(--evo-line); border-radius: 14px; background: #fff; }
.evo3-svc h4 { font-size: 1.125rem !important; line-height: 1.3; letter-spacing: -0.01em; }
.evo3-ico { display: flex; align-items: center; gap: 12px; }
.evo3-ico::before { content: ""; flex: 0 0 26px; width: 26px; height: 26px; background: no-repeat center / contain; }
.icol-liderazgo::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%238A8F4F' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='16' cy='9' r='4.5'/%3E%3Cpath d='M7 27c0-5 4-9 9-9s9 4 9 9'/%3E%3Cpath d='M16 18v4'/%3E%3C/svg%3E"); }
.icol-equipos::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%238A8F4F' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='10' cy='11' r='3.5'/%3E%3Ccircle cx='22' cy='11' r='3.5'/%3E%3Cpath d='M3 25c0-4 3-7 7-7 2 0 3.6.7 4.8 1.9M29 25c0-4-3-7-7-7-2 0-3.6.7-4.8 1.9'/%3E%3Cpath d='M12 27c0-2.5 1.8-4.5 4-4.5s4 2 4 4.5'/%3E%3C/svg%3E"); }
.icol-cultura::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%238A8F4F' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 14a10 10 0 0 1 17.5-5.5L26 11'/%3E%3Cpath d='M26 5v6h-6'/%3E%3Cpath d='M26 18a10 10 0 0 1-17.5 5.5L6 21'/%3E%3Cpath d='M6 27v-6h6'/%3E%3C/svg%3E"); }
.icol-operacion::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%238A8F4F' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='12' y='4' width='8' height='6' rx='1.2'/%3E%3Crect x='3' y='22' width='8' height='6' rx='1.2'/%3E%3Crect x='12' y='22' width='8' height='6' rx='1.2'/%3E%3Crect x='21' y='22' width='8' height='6' rx='1.2'/%3E%3Cpath d='M16 10v6M7 22v-6h18v6'/%3E%3C/svg%3E"); }
.icol-comunidad::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%238A8F4F' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 27V15l6-5 6 5v12'/%3E%3Cpath d='M16 27V12l6-5 6 5v15'/%3E%3Cpath d='M2 27h28'/%3E%3Cpath d='M8 27v-5h4v5M20 18h4M20 22h4'/%3E%3C/svg%3E"); }
.evo3-sit { font-size: 0.875rem !important; line-height: 1.55; background: var(--evo-t-olive); border-radius: 8px; padding: 10px 12px !important; color: var(--evo-body); }
.evo3-sit strong, .evo3-res strong { color: var(--evo-ink); font-weight: 600; }
.evo3-desc, .evo3-res { font-size: 0.9375rem !important; line-height: 1.6; color: var(--evo-body); }
.wp-block-details.evo3-how { border-top: 1px solid var(--evo-line); padding-top: 12px; }
.wp-block-details.evo3-how > summary { list-style: none; cursor: pointer; font-weight: 600; font-size: 0.875rem; display: inline-flex; align-items: center; gap: 8px; }
.wp-block-details.evo3-how > summary::-webkit-details-marker { display: none; }
.wp-block-details.evo3-how > summary::after { content: "+"; font-weight: 400; font-size: 1.1rem; line-height: 1; color: var(--evo-rust); }
.wp-block-details.evo3-how[open] > summary::after { content: "–"; }
.wp-block-details.evo3-how[open] > summary { margin-bottom: 14px; }
.evo3-subi { position: relative; padding-left: 16px; font-size: 0.875rem !important; line-height: 1.55; color: var(--evo-body); margin: 12px 0 0 !important; }
.evo3-subi::before { content: ""; position: absolute; left: 0; top: 0.6em; width: 6px; height: 6px; border-radius: 50%; background: var(--evo-orange); }
.evo3-subi strong { display: block; color: var(--evo-ink); font-weight: 600; }

/* Quiénes somos: tarjetas */
.evo3-team { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; align-items: stretch; }
.evo3-member { border: 1px solid var(--evo-line); border-radius: 6px; padding: 30px 30px 26px !important; display: flex; flex-direction: column; box-shadow: 0 1px 3px rgba(38, 38, 22, 0.05); background: #fff; }
.evo3-avatar { margin: 0 0 20px !important; }
.evo3-avatar img { width: 104px !important; height: 104px !important; border-radius: 50%; object-fit: cover; filter: grayscale(1); background: #D9D9D3; display: block; }
.evo3-member h3.evo3-name { font-size: 1.125rem !important; letter-spacing: -0.01em; }
.evo3-role { font-size: 0.9375rem !important; color: var(--evo-muted); margin-top: 4px !important; }
.evo3-spec { font-size: 0.9375rem !important; font-weight: 600; color: #A4561A; line-height: 1.45; margin-top: 12px !important; }
.evo3-bio { font-size: 0.875rem !important; color: var(--evo-muted); line-height: 1.7; margin-top: 14px !important; flex: 1; }
.evo3-bio strong { color: var(--evo-body); font-weight: 600; }
.evo3-li { margin-top: 18px !important; font-size: 0.875rem !important; font-weight: 600; }
.evo3-li a { color: #A4561A; text-decoration: none; }
.evo3-li a:hover { text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 900px) {
  .evo2 { padding-top: 48px !important; padding-bottom: 48px !important; }
  .evo2-hero::before { width: 400px; height: 270px; right: -140px; }
  .evo3-level { grid-template-columns: 1fr; }
  .evo3-lv { position: static; grid-template-columns: auto 1fr; align-items: end; column-gap: 16px; }
  .evo3-lvsub { grid-column: 1 / -1; }
  .evo3-team { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .evo2-contact, .evo2-prog { padding: 26px !important; }
}
@media (max-width: 560px) {
  .evo3-team { grid-template-columns: 1fr; }
}

/* v1.2.2 · botones: mismo alto y sin cortes en celular. Botones rellenos con el mismo borde que los de contorno, para que tengan igual alto */
.wp-block-button:not(.is-style-outline) > .wp-block-button__link { border: 1.5px solid var(--evo-ink) !important; }
.wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover { border-color: var(--evo-brown) !important; }
.evo2-btns .wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; min-height: 54px; line-height: 1.2 !important; white-space: nowrap; }
/* En celular, "Conversemos" no se corta */
@media (max-width: 600px) {
  .evo2-btns.is-equal { gap: 12px; }
  .evo2-btns .wp-block-button__link { padding: 14px 16px !important; }
}

/* v1.3.2 · páginas internas con la misma escala tipográfica que la home */
.evo2-page-hero { padding-top: 40px !important; }
.evo2-page-hero h1 { font-size: clamp(2.125rem, 4.2vw, 3.375rem) !important; letter-spacing: -0.04em; }
.evo2-page-hero .evo2-heroin { column-gap: 56px; margin-top: 32px !important; }
.evo2-ico.is-xl::before { flex-basis: 190px; width: 190px; height: 190px; }
.evo2-label { font-size: 0.6875rem !important; }
.evo2-split { column-gap: 72px; }
.evo2-split p { font-size: 1rem; }
.evo2-cards3 { gap: 20px; }
.evo2-card { padding: 24px !important; font-size: 0.9375rem !important; border-radius: 18px; }
.evo2-rule { padding-top: 44px !important; }
.evo2-steps { gap: 28px; }
.evo2-steps .evo2-num { font-size: clamp(2.75rem, 4.6vw, 3.75rem) !important; }
.evo2-steps h3 { font-size: 1.0625rem !important; }
.evo2-steps p:not(.evo2-num) { font-size: 0.9375rem; }
.evo2-panel { padding: 36px !important; border-radius: 28px; }
.evo2-rows > * { padding: 20px 0; }
.evo2-rows h3 { font-size: 1.125rem !important; }
.evo2-rows p { font-size: 0.9375rem; }
.evo2-results { gap: 28px; }
.evo2-results h3 { font-size: 1.0625rem !important; }
.evo2-results p { font-size: 0.9375rem; }
.evo2-faqgrid { column-gap: 72px; }
.evo-faq .wp-block-details > summary { font-size: 1rem; }
.evo-faq .wp-block-details p { font-size: 0.9375rem; }
.evo2-close h2 { font-size: clamp(1.625rem, 2.6vw, 2rem) !important; }
.evo-legal h1 { font-size: clamp(1.875rem, 3.4vw, 2.5rem) !important; }
.evo-legal h2 { font-size: 1.125rem !important; }
.evo-legal p { font-size: 0.9375rem; }
@media (max-width: 900px) {
  .evo2-panel { padding: 26px !important; }
}

/* v1.3.3 · menú fijo arriba al hacer scroll */
.wp-site-blocks > header.wp-block-template-part { position: sticky; top: 0; z-index: 100; background: #fff; }
.admin-bar .wp-site-blocks > header.wp-block-template-part { top: 32px; }
@media (max-width: 782px) { .admin-bar .wp-site-blocks > header.wp-block-template-part { top: 46px; } }
@media (max-width: 600px) { .admin-bar .wp-site-blocks > header.wp-block-template-part { top: 0; } }
.evo-header { background: #fff; }
/* las secciones no quedan tapadas por el menú al usar los enlaces del menú */
main [id] { scroll-margin-top: 88px; }
/* menú del celular: si es largo, se desplaza dentro de la pantalla */
@media (max-width: 960px) {
  .evo-nav.is-open { max-height: calc(100vh - 80px); overflow-y: auto; }
}
