/* =========================================================================
   TCC 2026 · Hoja de estilos del sitio
   Tinta #141A33 · Azul noche #1E2649 · Marfil #F5F3EE · Azul TCC #1D3B7A
   Cian #00A8D4 · Ámbar #F09034
   ========================================================================= */
:root {
	--tinta: #141A33; --noche: #1E2649; --azul: #1D3B7A; --cian: #00A8D4; --ambar: #F09034;
	--acero: #A8C8D4; --marfil: #F5F3EE; --grafito: #1F2330; --gris: #646B7A; --linea: #DAD7CF;
	--texto2: #3A3F4C; --claro: #D6DDE6;
	--f-tit: "Encode Sans Semi Condensed", "Arial Narrow", sans-serif;
	--f-txt: "Encode Sans", Arial, sans-serif;
	--f-cita: "Source Serif 4", Georgia, serif;
	--ancho: 1200px;
	--canal: max(24px, calc((100% - var(--ancho)) / 2));
	--sec-y: 110px;
}
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: clip; }
.tcc-main { min-height: 40vh; }
.wp-site-blocks > * { margin-block-start: 0; }
.tcc-main .entry-content, .tcc-main > .wp-block-post-content { margin: 0; }
img { max-width: 100%; height: auto; }
.wp-block-image > a { display: block; }
strong, b { font-weight: 600; }
a { text-underline-offset: 3px; }
h1, h2, h3, h4, h5, h6 { margin: 0; }
p { margin: 0; }

/* El vértice: triángulo ámbar del logotipo */
.tcc-eyebrow::before, .tcc-quote blockquote::before, .wp-block-quote.tcc-cita::before, .tcc-list li::before, .tcc-cred li::before {
	content: ""; display: inline-block; width: 0; height: 0; border-left: 7px solid transparent; border-right: 7px solid transparent; border-bottom: 12px solid var(--ambar);
}

/* ---------- Encabezado ---------- */
.tcc-site-header { position: sticky; top: var(--wp-admin--admin-bar--height, 0px); z-index: 100; transition: box-shadow .2s ease; }
.tcc-site-header.is-fijo { box-shadow: 0 2px 18px rgba(20,26,51,.14); }
html:root { scroll-padding-top: calc(var(--wp-admin--admin-bar--height, 0px) + 96px); }
@media screen and (max-width: 600px) { .admin-bar .tcc-site-header { top: 0; } }
.tcc-header { min-height: 84px; padding: 0 max(24px, calc((100% - 1200px) / 2)); background: #fff; border-bottom: 1px solid var(--linea); gap: 30px; }
.tcc-header.is-oscuro { background: var(--tinta); border-bottom-color: rgba(255,255,255,.08); }
.tcc-header .tcc-logo { margin: 0; flex: none; }
.tcc-header .tcc-logo img { height: 44px !important; width: auto !important; display: block; }
.tcc-nav { font-family: var(--f-tit); font-size: 17px; font-weight: 500; gap: 34px; }
.tcc-nav .wp-block-navigation__container { gap: 34px; align-items: center; }
.tcc-nav .wp-block-navigation-item__content { color: var(--grafito); text-decoration: none; padding: 4px 0; border-bottom: 2px solid transparent; }
.tcc-nav .wp-block-navigation-item__content:hover { color: var(--azul); text-decoration: none; }
.tcc-nav .is-actual > .wp-block-navigation-item__content { color: var(--azul); border-bottom-color: var(--ambar); }
.is-oscuro .tcc-nav .wp-block-navigation-item__content { color: #fff; }
.is-oscuro .tcc-nav .wp-block-navigation-item__content:hover { color: var(--cian); }
.is-oscuro .tcc-nav .is-actual > .wp-block-navigation-item__content { color: var(--cian); border-bottom-color: transparent; }
.tcc-nav .tcc-nav-cta > .wp-block-navigation-item__content { background: var(--ambar); color: var(--tinta) !important; padding: 10px 20px; border-radius: 2px; font-weight: 600; font-size: 15px; letter-spacing: .02em; border: 0; }
.tcc-nav .tcc-nav-cta > .wp-block-navigation-item__content:hover { background: #F5A55A; }
.tcc-nav .wp-block-navigation__responsive-container-open, .tcc-nav .wp-block-navigation__responsive-container-close { color: inherit; }
.is-oscuro .tcc-nav .wp-block-navigation__responsive-container-open { color: #fff; }
.tcc-nav .wp-block-navigation__responsive-container.is-menu-open { background: var(--tinta) !important; color: #fff !important; padding: 28px 24px; }
.tcc-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { color: #fff; font-size: 24px; padding: 8px 0; }
.tcc-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 10px; align-items: flex-start; }
.tcc-nav .wp-block-navigation__responsive-container.is-menu-open .tcc-nav-cta > .wp-block-navigation-item__content { color: var(--tinta) !important; font-size: 18px; margin-top: 14px; padding: 12px 22px; }

/* ---------- Secciones ---------- */
.tcc-sec { padding: var(--sec-y) var(--canal); background: #fff; position: relative; }
.tcc-sec.is-marfil { background: var(--marfil); }
.tcc-sec.is-noche { background: var(--noche); color: #fff; }
.tcc-sec.is-tinta { background: var(--tinta); color: #fff; }
.tcc-sec.is-compacta { padding-top: 70px; padding-bottom: 70px; }
.tcc-sec.sin-arriba { padding-top: 0; }
.tcc-sec > * + * { margin-block-start: 0; }
.tcc-sec h2, .tcc-cta h2 { font-size: 52px; line-height: 1.08; letter-spacing: -.005em; margin: 18px 0 22px; color: var(--tinta); }
.tcc-sec.is-noche h2, .tcc-sec.is-tinta h2 { color: #fff; }
.tcc-eyebrow { font-family: var(--f-tit); font-size: 14px; letter-spacing: .14em; text-transform: uppercase; font-weight: 600; color: var(--azul); display: flex; align-items: center; gap: 12px; line-height: 1.3; }
.is-noche .tcc-eyebrow, .is-tinta .tcc-eyebrow, .tcc-hero .tcc-eyebrow, .tcc-sello .tcc-eyebrow, .tcc-pagehead .tcc-eyebrow { color: var(--cian); }
.tcc-sub { font-size: 21px; color: var(--gris); max-width: 760px; font-weight: 300; line-height: 1.6; }
.is-noche .tcc-sub, .is-tinta .tcc-sub { color: var(--acero); }
.tcc-sec .tcc-sub + * { margin-top: 0; }
.tcc-nota { margin-top: 30px !important; font-family: var(--f-tit); font-weight: 600; color: var(--azul); font-size: 19px; }
.tcc-nota a { color: inherit; }
.tcc-more, .tcc-ver { font-family: var(--f-tit); font-weight: 600; color: var(--azul); font-size: 17px; }
.tcc-more a, .tcc-ver a { color: inherit; text-decoration: none; }
.tcc-ver a { border-bottom: 2px solid var(--ambar); padding-bottom: 1px; font-size: 16px; letter-spacing: .02em; }
.tcc-more a:hover, .tcc-ver a:hover { color: var(--tinta); text-decoration: none; }

/* Botones */
.wp-block-button .wp-block-button__link { transition: background .15s ease, color .15s ease; }
.wp-block-button.is-style-contorno-claro .wp-block-button__link { background: transparent; color: #fff; border: 1.5px solid rgba(255,255,255,.55); padding: 13.5px 26.5px; }
.wp-block-button.is-style-contorno-claro .wp-block-button__link:hover { border-color: #fff; background: rgba(255,255,255,.06); }
.wp-block-button.is-style-contorno-azul .wp-block-button__link { background: transparent; color: var(--azul); border: 1.5px solid var(--azul); padding: 13.5px 26.5px; }
.wp-block-button.is-style-contorno-azul .wp-block-button__link:hover { background: var(--azul); color: #fff; }
.wp-block-buttons { gap: 16px; }

/* ---------- Portada (Inicio) ---------- */
.wp-block-cover.tcc-hero { min-height: 880px; padding: 0; align-items: stretch; background: var(--tinta); overflow: hidden; }
.tcc-hero .wp-block-cover__image-background { left: auto !important; right: 0; width: 760px !important; max-width: 56%; filter: saturate(.8) brightness(.92) contrast(1.02); }
.tcc-hero::after { content: ""; position: absolute; top: 0; bottom: 0; right: 0; width: 760px; max-width: 56%; background: linear-gradient(90deg, var(--tinta) 0%, rgba(20,26,51,.55) 35%, rgba(20,26,51,.05) 75%); z-index: 1; pointer-events: none; }
.tcc-hero > .wp-block-cover__background { opacity: 0 !important; }
.tcc-hero .wp-block-cover__inner-container { z-index: 2; width: 100%; max-width: none; display: flex; flex-direction: column; padding: 120px 0 0 var(--canal); color: #fff; }
.tcc-hero .wp-block-cover__inner-container > * { max-width: 740px; }
.tcc-hero h1 { font-size: 78px; line-height: 1.02; letter-spacing: -.01em; color: #fff; margin: 26px 0 30px !important; }
.tcc-lead { font-size: 23px; line-height: 1.55; color: var(--claro); max-width: 660px !important; font-weight: 300; }
.tcc-hero .wp-block-buttons { margin-top: 44px !important; }
.tcc-stats { margin-top: auto !important; max-width: none !important; display: flex; flex-wrap: wrap; border-top: 1px solid rgba(255,255,255,.15); }
.tcc-stats > .tcc-stat { margin: 0 !important; padding: 26px 40px 30px 0; color: var(--acero); font-size: 16px; line-height: 1.4; white-space: nowrap; }
.tcc-stat strong { display: block; color: #fff; font-family: var(--f-tit); font-size: 34px; font-weight: 600; margin-bottom: 4px; line-height: 1.2; }

/* ---------- Franja de clientes ---------- */
.tcc-logos { padding: 44px var(--canal) 46px; border-bottom: 1px solid var(--linea); background: #fff; }
.tcc-logos .tcc-label { font-family: var(--f-tit); font-size: 14px; letter-spacing: .14em; text-transform: uppercase; color: var(--gris); font-weight: 600; margin-bottom: 22px; }
.tcc-logogrid { display: grid; grid-template-columns: repeat(10, 1fr); gap: 26px 30px; align-items: center; justify-items: center; }
.tcc-logogrid > * { margin: 0 !important; }
.tcc-logogrid .wp-block-image { display: flex; align-items: center; justify-content: center; width: 100%; }
.tcc-logogrid img { max-height: 46px; width: auto; max-width: 100%; opacity: .9; object-fit: contain; }

/* ---------- Tarjetas ---------- */
.tcc-grid4 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px; margin-top: 56px !important; }
.tcc-grid4 > *, .tcc-grid3 > *, .tcc-dist > *, .tcc-sol > *, .tcc-met > *, .tcc-cases > *, .tcc-socias > *, .tcc-persp > *, .tcc-hist > *, .tcc-princ > *, .tcc-qps > *, .tcc-dims > *, .tcc-tl > *, .tcc-nums > *, .tcc-fort > *, .tcc-otras > *, .tcc-steps > * { margin: 0 !important; }
.tcc-card { background: #fff; border: 1px solid var(--linea); padding: 40px 40px 36px; display: flex; flex-direction: column; }
.tcc-card > * { margin: 0; }
.tcc-num { font-family: var(--f-tit); font-weight: 600; color: var(--ambar); font-size: 16px; letter-spacing: .1em; }
.tcc-card h3 { font-size: 29px; line-height: 1.15; margin: 14px 0 !important; }
.tcc-card p:not(.tcc-num):not(.tcc-more) { font-size: 18px; color: var(--texto2); }
.tcc-card .tcc-more { margin-top: 20px !important; }

/* ---------- Nuestro sello ---------- */
.wp-block-media-text.tcc-sello { background: var(--tinta); color: #fff; min-height: 620px; grid-template-columns: 44% 1fr; }
.tcc-sello .wp-block-media-text__media { align-self: stretch; }
.tcc-sello .wp-block-media-text__media img { filter: saturate(.85); }
.tcc-sello .wp-block-media-text__content { padding: 90px var(--canal-d, 110px) 80px 80px; }
.tcc-sello h2 { color: #fff; font-size: 64px; margin: 20px 0 26px !important; }
.tcc-sello p:not(.tcc-eyebrow) { font-size: 20px; color: var(--claro); font-weight: 300; margin-bottom: 18px !important; max-width: 600px; }
.tcc-proof { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 34px !important; border-top: 1px solid rgba(255,255,255,.18); max-width: 720px; }
.tcc-proof > p { padding: 20px 22px 0 0; font-size: 15px !important; color: var(--acero) !important; line-height: 1.45; margin: 0 !important; font-weight: 400 !important; }
.tcc-proof strong { display: block; font-family: var(--f-tit); color: var(--ambar); font-size: 30px; font-weight: 600; margin-bottom: 4px; line-height: 1.2; }

/* ---------- Cita ---------- */
.wp-block-cover.tcc-quote { padding: 130px var(--canal); min-height: 0; background: var(--tinta); justify-content: flex-start; }
.tcc-quote .wp-block-cover__image-background { filter: grayscale(1); }
.tcc-quote .wp-block-cover__inner-container { width: 100%; max-width: 1000px; margin: 0; color: #fff; }
.tcc-quote .wp-block-quote { border: 0; padding: 0; margin: 0; }
.tcc-quote blockquote::before { display: block; border-left-width: 12px; border-right-width: 12px; border-bottom-width: 20px; margin-bottom: 34px; }
.tcc-quote .wp-block-quote p { font-family: var(--f-cita); font-size: 46px; line-height: 1.28; font-weight: 400; color: #fff; }
.tcc-quote .wp-block-quote cite { display: block; margin-top: 30px; font-style: normal; font-family: var(--f-tit); font-size: 18px; color: var(--acero); letter-spacing: .04em; text-transform: uppercase; }

/* ---------- Lo que nos distingue ---------- */
.tcc-dist { display: grid; grid-template-columns: repeat(4, 1fr); gap: 40px; margin-top: 56px !important; align-items: start; }
.tcc-dist > div { border-top: 2px solid var(--tinta); padding-top: 22px; }
.tcc-dist > div.is-hl { background: var(--marfil); border-top: 3px solid var(--ambar); padding: 22px 22px 24px; margin-top: -22px !important; }
.tcc-dist h4 { font-size: 24px; line-height: 1.2; margin-bottom: 12px !important; }
.tcc-dist p { font-size: 17px; color: var(--texto2); margin: 0 !important; }

/* ---------- Cómo trabajamos ---------- */
.wp-block-media-text.tcc-mov { grid-template-columns: 1fr 1fr; gap: 70px; align-items: stretch; }
.tcc-mov .wp-block-media-text__content { padding: 0; }
.tcc-mov .wp-block-media-text__media { min-height: 560px; }
.tcc-mov .wp-block-media-text__media img { filter: saturate(.8); }
.tcc-steps { display: grid; grid-template-columns: 1fr 1fr; gap: 0 30px; margin-top: 30px !important; }
.tcc-steps > div { border-top: 1px solid rgba(255,255,255,.2); padding: 20px 0 18px; }
.tcc-steps .tcc-num { font-size: 15px; letter-spacing: .12em; }
.tcc-steps h4 { font-size: 24px; color: #fff; margin: 8px 0 10px !important; }
.tcc-steps p:not(.tcc-num) { font-size: 16px; color: var(--acero); line-height: 1.55; margin: 0 !important; }

/* ---------- Soluciones ---------- */
.tcc-sol { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 56px !important; border-top: 1px solid var(--linea); border-left: 1px solid var(--linea); }
.tcc-sol > div { border-right: 1px solid var(--linea); border-bottom: 1px solid var(--linea); padding: 38px 34px 40px; background: #fff; display: flex; flex-direction: column; }
.tcc-sol h4 { font-size: 25px; line-height: 1.18; margin: 12px 0 10px !important; }
.tcc-sol h4 a { color: var(--tinta); text-decoration: none; }
.tcc-sol h4 a:hover { color: var(--azul); }
.tcc-sol p:not(.tcc-ic):not(.tcc-more):not(.tcc-sol-met) { font-size: 17px; color: var(--texto2); margin: 0 !important; }
.tcc-sol .tcc-more { margin-top: auto !important; padding-top: 18px; font-size: 16px; }
.tcc-ic { width: 34px; height: 34px; border: 1.5px solid var(--azul); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: var(--f-tit); font-weight: 600; color: var(--azul); font-size: 14px; line-height: 1; }

/* ---------- Metodologías ---------- */
.tcc-met { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; margin-top: 50px !important; }
.tcc-met > div { background: var(--noche); color: #fff; padding: 34px 30px 32px; min-height: 330px; display: flex; flex-direction: column; }
.tcc-met .tcc-yr { font-family: var(--f-tit); font-size: 14px; letter-spacing: .12em; color: var(--ambar); font-weight: 600; text-transform: uppercase; }
.tcc-met h4 { font-size: 30px; line-height: 1.1; margin: 12px 0 12px !important; color: #fff; }
.tcc-met h4 a { color: #fff; text-decoration: none; }
.tcc-met p:not(.tcc-yr):not(.tcc-more) { font-size: 16px; color: var(--acero); line-height: 1.55; margin: 0 !important; }
.tcc-met .tcc-more { margin-top: auto !important; padding-top: 22px; }
.tcc-met .tcc-more a { color: var(--cian); }

/* ---------- Casos (tarjetas) ---------- */
.tcc-cases { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; margin-top: 56px !important; }
.tcc-case { background: #fff; border: 1px solid var(--linea); display: flex; flex-direction: column; }
.tcc-case > * { margin: 0 !important; }
.tcc-case .wp-block-image img { width: 100%; height: 250px; object-fit: cover; filter: saturate(.75); display: block; }
.tcc-case-body { padding: 28px 30px 32px; display: flex; flex-direction: column; flex: 1; }
.tcc-case-body > * { margin: 0 !important; }
.tcc-tag { font-family: var(--f-tit); font-size: 14px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--azul); line-height: 1.55; }
.tcc-tag a { color: inherit; text-decoration: none; }
.tcc-big { font-family: var(--f-tit); font-weight: 600; color: var(--azul); font-size: 34px; line-height: 1; margin: 10px 0 4px !important; }
.tcc-bigl { font-size: 14px; color: var(--gris); margin-bottom: 10px !important; line-height: 1.45; }
.tcc-case h4 { font-size: 24px; line-height: 1.2; margin-top: 4px !important; }
.tcc-case h4 a { color: var(--tinta); text-decoration: none; }
.tcc-case h4 a:hover { color: var(--azul); }

/* ---------- Socias ---------- */
.tcc-socias { display: grid; grid-template-columns: repeat(3, 1fr); gap: 36px; margin-top: 56px !important; }
.tcc-socia { display: flex; flex-direction: column; }
.tcc-socia > * { margin: 0 !important; }
.tcc-socia .wp-block-image img { width: 210px; height: 250px; object-fit: cover; object-position: center 20%; filter: grayscale(1); display: block; }
.tcc-socia h4 { font-size: 27px; margin: 20px 0 2px !important; }
.tcc-socia h4 a, .tcc-otra h4 a { color: var(--tinta); text-decoration: none; }
.tcc-socia h4 a:hover, .tcc-otra h4 a:hover { color: var(--azul); }
.tcc-rol { font-family: var(--f-tit); font-size: 15px; letter-spacing: .1em; text-transform: uppercase; color: var(--azul); font-weight: 600; }
.tcc-socia p:not(.tcc-rol):not(.tcc-ver) { font-size: 17px; color: var(--texto2); margin-top: 10px !important; }
.tcc-socia .tcc-ver { margin-top: auto !important; padding-top: 24px; }

/* ---------- Perspectivas (lista de artículos) ---------- */
.tcc-persp-q { margin-top: 50px !important; }
.tcc-persp-q .wp-block-post-template, .tcc-persp { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 50px 28px; margin: 0; padding: 0; list-style: none; }
.tcc-persp-q .wp-block-post { display: flex; flex-direction: column; margin: 0 !important; }
.tcc-persp-q .wp-block-post > * { margin: 0 !important; }
.tcc-persp-q .wp-block-post-featured-image img { height: 220px !important; width: 100%; object-fit: cover; filter: saturate(.75); display: block; }
.tcc-persp-q .wp-block-post-terms { font-family: var(--f-tit); font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: var(--azul); font-weight: 600; margin-top: 18px !important; }
.tcc-persp-q .wp-block-post-terms a { color: inherit; text-decoration: none; }
.tcc-persp-q .wp-block-post-title { font-family: var(--f-cita); font-weight: 400; font-size: 26px; line-height: 1.25; margin: 8px 0 !important; }
.tcc-persp-q .wp-block-post-title a { color: var(--tinta); text-decoration: none; }
.tcc-persp-q .wp-block-post-title a:hover { color: var(--azul); }
.tcc-persp-q .wp-block-post-excerpt { font-size: 16px; color: var(--texto2); }
.tcc-persp-q .wp-block-post-excerpt__excerpt { margin: 0; }
.tcc-persp-q .wp-block-post-excerpt__more-text { display: none; }
.tcc-by { font-family: var(--f-tit); font-size: 14px; color: var(--gris); margin-top: auto !important; padding-top: 12px; }
.tcc-persp-q.is-lista .wp-block-post-template { gap: 60px 28px; }

/* ---------- Cierre (llamado a la acción) ---------- */
.tcc-cta { background: var(--noche); color: #fff; padding: 120px var(--canal); }
.tcc-cta > * { margin-block: 0; }
.tcc-cta h2 { color: #fff; font-size: 56px; }
.tcc-cta p:not(.tcc-eyebrow) { color: var(--acero); font-size: 21px; max-width: 760px; margin-bottom: 40px !important; font-weight: 300; }

/* ---------- Pie de página ---------- */
.tcc-footer { background: var(--tinta); color: var(--acero); padding: 70px var(--canal) 40px; font-size: 16px; line-height: 1.75; }
.tcc-footer a { color: var(--acero); text-decoration: none; }
.tcc-footer a:hover { color: #fff; text-decoration: none; }
.tcc-footer-cols { display: grid; grid-template-columns: 2fr 1fr 1fr 1.3fr; gap: 40px; }
.tcc-footer-cols > * { margin: 0 !important; }
.tcc-footer .tcc-logo { margin: 0 0 20px !important; }
.tcc-footer .tcc-logo img { height: 46px !important; width: auto !important; }
.tcc-footer h5 { font-family: var(--f-tit); color: #fff; font-size: 15px; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 14px !important; }
.tcc-footer-legal { border-top: 1px solid rgba(255,255,255,.12); margin-top: 50px !important; padding-top: 24px; font-size: 14px; display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.tcc-footer-legal > * { margin: 0 !important; }

/* ---------- Encabezado de páginas interiores ---------- */
.wp-block-cover.tcc-pagehead, .tcc-pagehead { background: var(--tinta); color: #fff; padding: 110px var(--canal) 96px; position: relative; overflow: hidden; min-height: 0; align-items: flex-start; justify-content: flex-start; }
.tcc-pagehead .wp-block-cover__image-background { left: auto !important; right: 0; width: 640px !important; max-width: 46%; filter: saturate(.85); }
.tcc-pagehead.has-imagen::after { content: ""; position: absolute; top: 0; bottom: 0; right: 0; width: 640px; max-width: 46%; background: linear-gradient(90deg, var(--tinta), rgba(20,26,51,.1)); z-index: 1; pointer-events: none; }
.tcc-pagehead > .wp-block-cover__background { opacity: 0 !important; }
.tcc-pagehead.is-luz::after { background: linear-gradient(90deg, var(--tinta) 0%, rgba(20,26,51,0) 38%); }
.tcc-pagehead .wp-block-cover__inner-container { z-index: 2; width: 100%; max-width: none; margin: 0; color: #fff; }
.tcc-pagehead .wp-block-cover__inner-container > *, .tcc-pagehead.is-simple > * { margin-block: 0; }
.tcc-crumb { font-family: var(--f-tit); font-size: 15px; color: var(--acero); letter-spacing: .06em; }
.tcc-crumb a { color: var(--acero); text-decoration: none; }
.tcc-crumb a:hover { color: #fff; }
.tcc-pagehead h1 { font-size: 60px; line-height: 1.06; margin: 22px 0 24px !important; max-width: 720px; color: #fff; }
.tcc-pagehead.has-imagen h1 { max-width: min(720px, 52%); }
.tcc-pagehead p:not(.tcc-crumb):not(.tcc-eyebrow) { font-size: 21px; color: var(--claro); max-width: 660px; font-weight: 300; }
.tcc-pagehead.has-imagen p:not(.tcc-crumb) { max-width: min(660px, 50%); }
.tcc-pagehead .wp-block-buttons { margin-top: 34px !important; }
.tcc-pagehead.is-compacta { padding-top: 80px; padding-bottom: 70px; }

/* ---------- Bloques de contenido interior ---------- */
.tcc-two { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; }
.tcc-two > * { margin: 0 !important; }
.tcc-two h2 { margin-bottom: 0 !important; }
.tcc-prose > * + * { margin-top: 18px !important; }
.tcc-prose p, .tcc-prose li { font-size: 19px; }
.tcc-prose h3 { font-size: 26px; margin-top: 38px !important; }
.tcc-prose h3:first-child { margin-top: 0 !important; }
.tcc-hist { display: grid; grid-template-columns: repeat(5, 1fr); gap: 22px; margin-top: 50px !important; }
.tcc-hist > div > * { margin: 0 !important; }
.tcc-hist .wp-block-image img { width: 100%; height: 170px; object-fit: cover; filter: saturate(.7); display: block; }
.tcc-hist .tcc-yr { font-family: var(--f-tit); font-size: 15px; letter-spacing: .1em; color: var(--ambar); font-weight: 600; margin-top: 16px !important; }
.tcc-hist h4 { font-size: 20px; margin: 4px 0 6px !important; line-height: 1.2; }
.tcc-hist p:not(.tcc-yr) { font-size: 15px; color: var(--texto2); line-height: 1.5; }
.tcc-princ { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 50px !important; border-top: 1px solid var(--linea); border-left: 1px solid var(--linea); }
.tcc-princ > div { padding: 34px 32px; border-right: 1px solid var(--linea); border-bottom: 1px solid var(--linea); background: #fff; }
.tcc-princ > div > * { margin: 0 !important; }
.tcc-princ h4 { font-family: var(--f-cita); font-size: 26px; line-height: 1.25; font-weight: 400; margin: 10px 0 !important; }
.tcc-princ p:not(.tcc-num) { font-size: 16px; color: var(--texto2); }
.wp-block-image.tcc-franja { margin: 0; }
.wp-block-image.tcc-franja img { width: 100%; height: 520px; object-fit: cover; object-position: center 60%; filter: saturate(.85); display: block; }
.wp-block-image.tcc-foto-chica { margin: 30px 0 0 !important; }
.wp-block-image.tcc-foto-chica img { width: 360px; height: 220px; object-fit: cover; filter: saturate(.8); display: block; }

.tcc-auth { display: grid; grid-template-columns: 1.1fr 1fr; gap: 70px; align-items: center; }
.tcc-auth > * { margin: 0 !important; }
.tcc-auth .tcc-sub { font-size: 19px; }
.tcc-nums { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; }
.tcc-nums > p { border-top: 2px solid var(--tinta); padding-top: 14px; font-size: 16px; color: var(--texto2); }
.tcc-nums strong { display: block; font-family: var(--f-tit); font-size: 38px; color: var(--azul); font-weight: 600; line-height: 1.05; margin-bottom: 4px; }
.is-noche .tcc-nums > p, .is-tinta .tcc-nums > p { border-top-color: rgba(255,255,255,.3); color: var(--acero); }
.is-noche .tcc-nums strong { color: var(--cian); }
.tcc-qps { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 50px !important; }
.tcc-qps > div { padding: 40px 36px; border: 1px solid rgba(255,255,255,.18); margin-right: -1px !important; }
.tcc-qps > div > * { margin: 0 !important; }
.tcc-qps h3 { font-size: 40px; color: var(--cian); margin-bottom: 10px !important; }
.tcc-qps p { color: var(--acero); font-size: 18px; }
.tcc-dims { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 50px !important; }
.tcc-dims > div { background: #fff; border: 1px solid var(--linea); padding: 28px 28px 30px; }
.tcc-dims > div > * { margin: 0 !important; }
.tcc-dims .tcc-num { font-size: 15px; }
.tcc-dims h4 { font-size: 22px; margin: 6px 0 8px !important; }
.tcc-dims p:not(.tcc-num) { font-size: 16px; color: var(--texto2); }
.tcc-dims > .is-wide { grid-column: 1 / -1; background: var(--noche); color: #fff; border: none; }
.tcc-dims > .is-wide h4 { color: #fff; }
.tcc-dims > .is-wide p:not(.tcc-num) { color: var(--acero); }
.tcc-tl { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 50px !important; border-top: 2px solid var(--tinta); }
.tcc-tl > div { padding: 24px 26px 0 0; }
.tcc-tl > div > * { margin: 0 !important; }
.tcc-tl .tcc-num { font-size: 15px; letter-spacing: .12em; }
.tcc-tl h4 { font-size: 22px; margin: 6px 0 8px !important; }
.tcc-tl p:not(.tcc-num) { font-size: 16px; color: var(--texto2); }
.is-noche .tcc-tl { border-top-color: rgba(255,255,255,.3); }
.is-noche .tcc-tl h4 { color: #fff; }
.is-noche .tcc-tl p:not(.tcc-num) { color: var(--acero); }
.tcc-list, ul.tcc-list { list-style: none; padding: 0; margin: 0; }
.tcc-list li { padding: 14px 0 14px 30px; border-bottom: 1px solid var(--linea); position: relative; font-size: 18px; line-height: 1.55; }
.tcc-list li::before { position: absolute; left: 4px; top: 22px; border-left-width: 6px; border-right-width: 6px; border-bottom-width: 10px; }
.is-noche .tcc-list li { border-bottom-color: rgba(255,255,255,.15); color: var(--claro); }
.tcc-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.tcc-chips > p, .tcc-chips .tcc-chip { margin: 0 !important; display: inline-block; border: 1px solid var(--linea); background: #fff; padding: 7px 14px; font-family: var(--f-tit); font-size: 15px; font-weight: 500; color: var(--azul); line-height: 1.4; }
.tcc-filtro .tcc-chip { cursor: pointer; user-select: none; }
.tcc-filtro .tcc-chip.is-activo { background: var(--noche); color: #fff; border-color: var(--noche); }
.tcc-grid3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; margin-top: 50px !important; }
.tcc-bloque h3 { font-size: 26px; margin-bottom: 18px !important; }
.tcc-col2 { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; margin-top: 50px !important; align-items: start; }
.tcc-col2 > * { margin: 0 !important; }
.tcc-col2 h3 { font-size: 26px; margin-bottom: 14px !important; }
.tcc-ref { margin-top: 40px !important; padding: 26px 30px; border-left: 3px solid var(--ambar); background: var(--marfil); }
.tcc-ref > * { margin: 0 !important; }
.tcc-ref p:not(.tcc-eyebrow) { font-size: 17px; }
.tcc-ref .tcc-eyebrow { margin-bottom: 6px !important; }
.tcc-ref .tcc-more { margin-top: 8px !important; }
.is-marfil .tcc-ref { background: #fff; }

/* ---------- Casos (página completa) ----------
   Encabezado: foto en su proporción (4:3; 3:4 en las verticales) junto al título y las cifras.
   Cuerpo: el reto como entrada y, debajo, lo que hicimos y lo que quedó operando. */
.tcc-filtro { margin-bottom: 4px !important; }
.tcc-caso { background: #fff; border: 1px solid var(--linea); margin-top: 40px !important; scroll-margin-top: 24px; }
.tcc-caso > * { margin: 0 !important; }
.tcc-caso-top { display: grid; grid-template-columns: 7fr 5fr; }
.tcc-caso.is-vertical .tcc-caso-top { grid-template-columns: 340px 1fr; }
.tcc-caso-top > * { margin: 0 !important; }
.tcc-caso-top > .wp-block-image { position: relative; overflow: hidden; background: var(--marfil); }
.tcc-caso-top > .wp-block-image img { display: block; width: 100%; height: 100%; aspect-ratio: 4 / 3; object-fit: cover; filter: saturate(.8); }
.tcc-caso.is-vertical .tcc-caso-top > .wp-block-image img { aspect-ratio: 3 / 4; }
.tcc-caso-top > .wp-block-image figcaption { position: absolute; left: 0; bottom: 10px; background: rgba(20,26,51,.72); color: #fff; padding: 3px 10px; margin: 0 !important; font-size: 13px; font-style: italic; }
.tcc-caso-head { padding: 44px 48px 40px; display: flex; flex-direction: column; }
.tcc-caso-head > * { margin: 0 !important; }
.tcc-caso h3 { font-size: 31px; line-height: 1.17; margin: 12px 0 0 !important; color: var(--tinta); }
.tcc-kpi { margin-top: auto !important; padding-top: 30px; display: grid; grid-template-columns: max-content 1fr; column-gap: 20px; }
.tcc-kpi > p { grid-column: 1 / -1; display: grid; grid-template-columns: subgrid; align-items: baseline; margin: 0 !important; padding: 13px 0; border-top: 1px solid var(--linea); font-size: 15px; color: var(--gris); line-height: 1.4; }
.tcc-kpi strong { white-space: nowrap; font-family: var(--f-tit); font-size: 29px; color: var(--ambar); font-weight: 600; line-height: 1; }
.tcc-caso-body { padding: 40px 48px 46px; border-top: 1px solid var(--linea); }
.tcc-caso-body > * { margin: 0 !important; }
.tcc-caso-reto > *, .tcc-caso-cols > div > * { margin: 0 !important; }
.tcc-klabel { font-family: var(--f-tit); font-weight: 600; color: var(--azul); font-size: 14px; letter-spacing: .1em; text-transform: uppercase; line-height: 1.4; margin-bottom: 12px !important; }
.tcc-caso-reto { padding-bottom: 32px; border-bottom: 1px solid var(--linea); }
.tcc-caso-reto p:not(.tcc-klabel) { font-size: 19px; line-height: 1.6; color: var(--texto2); max-width: 900px; }
.tcc-caso-cols { display: grid; grid-template-columns: 1.25fr 1fr; gap: 60px; padding-top: 32px; }
.tcc-caso-cols > div > .tcc-klabel { margin-bottom: 14px !important; }
.tcc-caso-cols ul { margin: 0 !important; padding-left: 18px; font-size: 16px; color: var(--texto2); }
.tcc-caso-cols li { margin-bottom: 9px; line-height: 1.5; }
.tcc-caso-cols li::marker { color: var(--ambar); }
.tcc-clave { margin-top: 28px !important; font-family: var(--f-cita); font-style: italic; font-size: 21px; color: var(--tinta); border-left: 3px solid var(--ambar); padding-left: 18px; line-height: 1.45; }
.tcc-caso.is-oculto { display: none; }

/* ---------- Perfil de socia ---------- */
.tcc-phero { background: var(--tinta); color: #fff; padding: 84px var(--canal) 88px; display: grid; grid-template-columns: 1fr 340px; gap: 90px; align-items: center; }
.tcc-phero > * { margin: 0 !important; }
.tcc-phero-txt > * { margin: 0 !important; }
.tcc-phero h1 { font-size: 64px; line-height: 1.05; margin: 18px 0 14px !important; color: #fff; }
.tcc-rolline { font-family: var(--f-tit); font-size: 15px; letter-spacing: .14em; text-transform: uppercase; color: var(--ambar); font-weight: 600; }
.tcc-esp { font-size: 23px; color: var(--claro); font-weight: 300; margin-top: 22px !important; max-width: 620px; line-height: 1.5; }
.tcc-phero .wp-block-buttons { margin-top: 34px !important; gap: 14px; }
.tcc-phero .wp-block-button .wp-block-button__link { font-size: 15px; padding: 9px 16px; }
.tcc-retrato img { width: 340px; height: 420px; object-fit: cover; object-position: center 20%; filter: grayscale(1); box-shadow: 18px 18px 0 var(--noche); display: block; }
.wp-block-quote.tcc-cita { border: 0; margin: 26px 0 0; padding: 0 0 0 34px; border-left: 4px solid var(--ambar); max-width: 1040px; }
.wp-block-quote.tcc-cita::before { display: none; }
.wp-block-quote.tcc-cita p { font-family: var(--f-cita); font-style: italic; font-size: 36px; line-height: 1.38; color: var(--tinta); }
.tcc-sec.is-prop { padding-bottom: 40px; }
.tcc-pcols { display: grid; grid-template-columns: 1.15fr 1fr; gap: 90px; }
.tcc-pcols > * { margin: 0 !important; }
.tcc-pcols h3 { font-size: 30px; margin: 16px 0 22px !important; }
.tcc-pcols .tcc-prose p { font-size: 19px; color: #2A2F3C; }
.tcc-cred h5 { font-family: var(--f-tit); font-size: 14px; letter-spacing: .14em; color: var(--azul); margin: 30px 0 12px !important; }
.tcc-cred h3 + h5 { margin-top: 6px !important; }
.tcc-cred ul { list-style: none; padding: 0; margin: 0; }
.tcc-cred li { position: relative; padding-left: 22px; font-size: 17px; line-height: 1.5; margin-bottom: 10px; color: #2A2F3C; }
.tcc-cred li::before { position: absolute; left: 0; top: 7px; border-left-width: 5px; border-right-width: 5px; border-bottom-width: 9px; }
.tcc-fort { display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px; margin-top: 34px !important; }
.tcc-fort > p { background: #fff; border: 1px solid var(--linea); padding: 26px 24px; font-family: var(--f-tit); font-size: 21px; color: var(--tinta); font-weight: 600; line-height: 1.25; }
.tcc-fort strong { display: block; font-size: 34px; color: var(--ambar); line-height: 1; margin-bottom: 12px; }
.tcc-fort-nota { font-size: 16px; color: var(--gris); margin-top: 22px !important; }
.tcc-otras { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin-top: 30px !important; }
.tcc-otra { display: flex !important; gap: 24px; align-items: center; border: 1px solid var(--linea); padding: 22px; }
.tcc-otra > * { margin: 0 !important; }
.tcc-otra .wp-block-image { flex: none; }
.tcc-otra .wp-block-image img { width: 96px; height: 118px; object-fit: cover; object-position: center 20%; filter: grayscale(1); display: block; }
.tcc-otra h4 { font-size: 24px; }
.tcc-otra .tcc-rol { font-size: 14px; }
.tcc-otra .tcc-ver { margin-top: 10px !important; }
.tcc-otra-txt > * { margin: 0 !important; }

/* ---------- Artículo ---------- */
.tcc-art-head { background: var(--tinta); color: #fff; padding: 90px var(--canal) 70px; }
.tcc-art-head > * { margin-block: 0 !important; max-width: 900px; }
.tcc-art-head .wp-block-post-terms { font-family: var(--f-tit); font-size: 14px; letter-spacing: .14em; text-transform: uppercase; color: var(--cian); font-weight: 600; }
.tcc-art-head .wp-block-post-terms a { color: inherit; text-decoration: none; }
.tcc-art-head .wp-block-post-title { font-size: 60px; line-height: 1.06; color: #fff; margin: 18px 0 20px !important; }
.tcc-art-head .wp-block-post-excerpt { font-size: 22px; color: var(--claro); font-weight: 300; line-height: 1.5; max-width: 760px; }
.tcc-art-head .wp-block-post-excerpt p { margin: 0; }
.tcc-art-head .wp-block-post-excerpt__more-text { display: none; }
.tcc-art-meta { margin-top: 28px !important; display: flex; gap: 10px 26px; flex-wrap: wrap; align-items: baseline; font-family: var(--f-tit); font-size: 15px; color: var(--acero); letter-spacing: .04em; }
.tcc-art-meta > * { margin: 0 !important; }
.tcc-art-meta .tcc-by { color: #fff; font-weight: 600; font-size: 16px; padding: 0; }
.tcc-art-foto { padding: 0 var(--canal); background: linear-gradient(var(--tinta) 0 50%, #fff 50% 100%); }
.tcc-art-foto .wp-block-post-featured-image { margin: 0 auto; max-width: 1000px; }
.tcc-art-foto img { width: 100%; height: auto !important; aspect-ratio: 16 / 9; object-fit: cover; filter: saturate(.85); display: block; }
.tcc-art-body { padding: 70px var(--canal) 90px; }
.tcc-art-body .wp-block-post-content { max-width: 760px; margin: 0 auto; }
.tcc-art-body .wp-block-post-content > * + * { margin-top: 1.1em !important; }
.tcc-art-body .wp-block-post-content p { font-size: 19px; line-height: 1.75; color: #2A2F3C; }
.tcc-art-body .wp-block-post-content h3 { font-size: 28px; margin-top: 1.8em !important; }
.tcc-art-body .wp-block-post-content strong { color: var(--tinta); }
.tcc-art-body .wp-block-post-content ul { padding-left: 1.2em; }
.tcc-cierre { background: var(--marfil); border-left: 4px solid var(--ambar); padding: 28px 32px; margin-top: 2.2em !important; }
.tcc-cierre > * { margin: 0 !important; }
.tcc-cierre .tcc-eyebrow, .tcc-art-body .tcc-eyebrow { margin-bottom: 10px !important; font-size: 14px !important; line-height: 1.3 !important; }
.tcc-cierre p:not(.tcc-eyebrow) { font-family: var(--f-cita); font-style: italic; font-size: 24px !important; line-height: 1.45 !important; color: var(--tinta) !important; }
.tcc-autora { max-width: 760px; margin: 50px auto 0 !important; display: flex; gap: 20px; align-items: center; border-top: 1px solid var(--linea); padding-top: 26px; flex-wrap: wrap; }
.tcc-autora > * { margin: 0 !important; }
.tcc-autora .tcc-by { font-size: 17px; color: var(--tinta); padding: 0; font-weight: 600; }

/* ---------- Contacto ---------- */
/* Contacto: la foto acompaña la promesa a la izquierda (fija al desplazarse); el formulario a la derecha. */
.tcc-contacto { display: grid; grid-template-columns: 5fr 6fr; gap: 80px; align-items: start; background: var(--marfil); padding: 72px var(--canal) 96px; }
.tcc-contacto-info .wp-block-image.tcc-contacto-foto { margin: 0 0 40px !important; }
.tcc-contacto-foto img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; filter: saturate(.9); }
.tcc-contacto > * { margin: 0 !important; }
.tcc-contacto-info { position: sticky; top: calc(var(--wp-admin--admin-bar--height, 0px) + 112px); }
.tcc-contacto-info > * { margin: 0 !important; }
.tcc-contacto-info h3 { font-size: 30px; margin: 14px 0 22px !important; }
.tcc-contacto-info p:not(.tcc-eyebrow) { font-size: 18px; color: var(--texto2); max-width: 520px; margin-bottom: 16px !important; }
.tcc-contacto-form { padding: 0; }
.tcc-contacto-form > * { margin: 0 !important; }
.tcc-contacto-form h2 { font-size: 56px; margin: 18px 0 22px !important; }
.tcc-contacto-form .tcc-sub { margin-bottom: 30px !important; }
.tcc-datos { font-size: 17px; line-height: 1.9; margin-top: 26px !important; }

/* Formulario (Contact Form 7) */
.tcc-form, .tcc-contacto .wpcf7 { background: #fff; border: 1px solid var(--linea); padding: 34px; }
.wpcf7 form > p, .wpcf7 .tcc-f { margin: 0 0 20px; }
.wpcf7 label, .tcc-f label { display: block; font-family: var(--f-tit); font-weight: 600; font-size: 15px; color: var(--tinta); margin-bottom: 6px; letter-spacing: .02em; }
.wpcf7 input[type=text], .wpcf7 input[type=email], .wpcf7 input[type=tel], .wpcf7 select, .wpcf7 textarea { width: 100%; border: 1px solid #C9C5BB; background: #FBFAF7; font-family: var(--f-txt); font-size: 16px; color: var(--grafito); padding: 12px 14px; border-radius: 0; box-sizing: border-box; margin-top: 6px; }
.wpcf7 input[type=text], .wpcf7 input[type=email], .wpcf7 input[type=tel], .wpcf7 select { height: 50px; }
.wpcf7 textarea { height: 110px; resize: vertical; }
.wpcf7 input:focus, .wpcf7 select:focus, .wpcf7 textarea:focus { outline: 2px solid var(--cian); outline-offset: 0; border-color: var(--azul); }
.tcc-f2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
.tcc-aviso-form { font-size: 13.5px; line-height: 1.55; color: var(--gris); background: var(--marfil); border-left: 3px solid var(--linea); padding: 12px 14px; margin: 6px 0 14px; }
.tcc-aviso-form a { color: var(--azul); }
.wpcf7 .wpcf7-list-item { margin: 0; }
.wpcf7 .wpcf7-acceptance label, .wpcf7 .wpcf7-checkbox label { font-family: var(--f-txt); font-weight: 400; font-size: 15px; color: #2B303C; display: flex; gap: 10px; align-items: flex-start; letter-spacing: 0; }
.wpcf7 input[type=checkbox] { margin-top: 4px; width: 16px; height: 16px; accent-color: var(--azul); }
.wpcf7 input[type=submit] { background: var(--ambar); color: var(--tinta); border: 0; font-family: var(--f-tit); font-weight: 600; font-size: 17px; padding: 15px 34px; border-radius: 2px; cursor: pointer; letter-spacing: .02em; }
.wpcf7 input[type=submit]:hover { background: #F5A55A; }
.wpcf7 .wpcf7-spinner { vertical-align: middle; }
.wpcf7 .wpcf7-not-valid-tip { font-size: 14px; color: #B3261E; margin-top: 4px; }
.wpcf7 form .wpcf7-response-output { margin: 18px 0 0; padding: 12px 14px; border-width: 1px; font-size: 15px; }
.wpcf7 form.sent .wpcf7-response-output { border-color: var(--azul); color: var(--azul); }

/* ---------- Aviso de privacidad ---------- */
.tcc-legal { max-width: 860px; }
.tcc-legal > * + * { margin-top: 16px !important; }
.tcc-legal h2 { font-size: 30px; margin: 46px 0 6px !important; }
.tcc-legal h3 { font-size: 22px; margin: 34px 0 4px !important; }
.tcc-legal p, .tcc-legal li { font-size: 17px; line-height: 1.7; color: #2A2F3C; }
.tcc-legal ul { padding-left: 1.2em; }
.tcc-legal li + li { margin-top: 6px; }
.tcc-legal table { border-collapse: collapse; width: 100%; font-size: 15px; }
.tcc-legal td, .tcc-legal th { border: 1px solid var(--linea); padding: 10px 12px; vertical-align: top; text-align: left; }
.tcc-legal th { background: var(--marfil); font-family: var(--f-tit); font-weight: 600; }
.tcc-legal .tcc-fecha { color: var(--gris); font-size: 15px; }

/* ---------- Aviso de cookies ---------- */
.tcc-cookies { position: fixed; left: 0; right: 0; bottom: 0; z-index: 9999; background: #0D1122; border-top: 3px solid var(--ambar); color: var(--claro); font-family: var(--f-txt); font-size: 15px; line-height: 1.55; padding: 16px var(--canal); box-shadow: 0 -4px 20px rgba(0,0,0,.2); display: flex; justify-content: space-between; align-items: center; gap: 30px; }
.tcc-cookies[hidden] { display: none; }
.tcc-cookies a { color: #fff; text-decoration: underline; }
.tcc-cookies .tcc-cookies-btns { display: flex; gap: 10px; flex-shrink: 0; flex-wrap: wrap; }
.tcc-cookies button { font-family: var(--f-tit); font-weight: 600; font-size: 15px; padding: 10px 16px; border-radius: 2px; border: 1px solid #6B717E; background: transparent; color: #fff; cursor: pointer; letter-spacing: .02em; }
.tcc-cookies button.is-principal { background: var(--ambar); border-color: var(--ambar); color: var(--tinta); }
.tcc-cookies-panel { flex-basis: 100%; display: none; border-top: 1px solid rgba(255,255,255,.12); padding-top: 12px; }
.tcc-cookies.is-config { flex-wrap: wrap; }
.tcc-cookies.is-config .tcc-cookies-panel { display: block; }
.tcc-cookies-panel label { display: flex; gap: 10px; align-items: center; margin: 6px 0; }


/* ---------- Variantes y páginas interiores (2) ---------- */
.tcc-f3 { display: grid; grid-template-columns: 1fr 1.6fr; gap: 0 20px; }
.tcc-nums.is-3 { grid-template-columns: repeat(3, 1fr); margin-top: 30px !important; }
.tcc-tl.is-5 { grid-template-columns: repeat(5, 1fr); }
.tcc-tl.is-7 { grid-template-columns: repeat(7, 1fr); }
.tcc-tl.is-7 > div, .tcc-tl.is-5 > div { padding-right: 18px; }
.tcc-tl.is-7 h4 { font-size: 20px; }
.tcc-dims.is-ruta { grid-template-columns: repeat(5, 1fr); gap: 18px; }
.tcc-sec > .tcc-dims.is-caja { margin-top: 40px !important; }
.tcc-dims.is-caja > div { padding: 28px 28px 26px; }
.tcc-dims.is-caja h4 { margin-bottom: 14px !important; }
ul.tcc-caja-list { list-style: none; margin: 0 !important; padding: 0; }
.tcc-caja-list li { position: relative; padding: 9px 0 9px 18px; border-top: 1px solid var(--linea); font-size: 15.5px; line-height: 1.45; color: var(--texto2); }
.tcc-caja-list li::before { content: ""; position: absolute; left: 2px; top: 17px; width: 6px; height: 6px; background: var(--ambar); }
.tcc-dims.is-ruta > div { padding: 22px 20px; }
.tcc-dims.is-ruta h4 { font-size: 19px; }
.tcc-cases.is-1 { grid-template-columns: repeat(3, 1fr); }
.tcc-cases.is-2 { grid-template-columns: repeat(3, 1fr); }
.wp-block-image.tcc-franja.is-abajo img { object-position: center 85%; }
.tcc-two .tcc-ref { margin-top: 30px !important; }
.tcc-two > div > .tcc-list + * { margin-top: 30px !important; }
.tcc-two .tcc-nums { margin-top: 34px !important; }
.tcc-sec > .tcc-fort-nota { margin-top: 26px !important; }
.tcc-bloque > p:not(.tcc-eyebrow) { font-size: 17px; color: var(--texto2); margin-bottom: 10px !important; }
.tcc-bloque > .tcc-eyebrow + h3 { margin-top: 14px !important; }
.tcc-col2 + .tcc-ref { margin-top: 40px !important; }
.tcc-grid3 .tcc-card p:not(.tcc-num) { font-size: 17px; }
.tcc-col2 .tcc-card h3 a { color: var(--tinta); text-decoration: none; }
.tcc-sec.is-casos > .tcc-filtro { margin-bottom: 4px !important; }
.wp-block-image figcaption { font-size: 13px; color: var(--gris); margin: 6px 12px 0 !important; font-style: italic; }
.tcc-aviso { display: grid; grid-template-columns: 280px 1fr; gap: 70px; align-items: start; }
.tcc-aviso > * { margin: 0 !important; }
.tcc-aviso-idx { position: sticky; top: 30px; }
.tcc-aviso-idx > * { margin: 0 !important; }
.tcc-aviso-idx .tcc-eyebrow { margin-bottom: 14px !important; }
.tcc-aviso-idx p:not(.tcc-eyebrow) { font-size: 15px; line-height: 1.4; padding: 7px 0; border-bottom: 1px solid var(--linea); }
.tcc-aviso-idx p a { color: var(--azul); text-decoration: none; }
.tcc-aviso-idx .tcc-ref { margin-top: 26px !important; background: #fff; padding: 18px 20px; }
.tcc-aviso-idx .tcc-ref p { border: 0; padding: 0; }
.tcc-legal h3 { scroll-margin-top: 24px; }
.tcc-legal h3:first-child { margin-top: 0 !important; }
.tcc-datos-firma { background: #fff; border: 1px solid var(--linea); padding: 26px 30px; margin-top: 46px !important; }
.tcc-datos-firma > * { margin: 0 !important; }
.tcc-datos-firma .tcc-eyebrow { margin-bottom: 12px !important; }
.tcc-datos-firma p:not(.tcc-eyebrow) { display: grid; grid-template-columns: 200px 1fr; gap: 18px; padding: 9px 0; border-top: 1px solid var(--linea); font-size: 16px; }
.tcc-datos-firma strong { font-family: var(--f-tit); color: var(--tinta); }
.tcc-contacto-form h1 { font-size: 56px; line-height: 1.08; margin: 18px 0 22px !important; color: var(--tinta); }
.tcc-phero .wp-block-button.is-style-contorno-claro .wp-block-button__link { padding: 9px 16px; }

/* ---------- Editor ---------- */
.editor-styles-wrapper .tcc-caso.is-oculto { display: block; }
.editor-styles-wrapper .tcc-hero .wp-block-cover__inner-container { padding-left: 40px; }

/* =========================================================================
   Pantallas medianas
   ========================================================================= */
@media (max-width: 1240px) {
	.tcc-tl.is-7 { grid-template-columns: repeat(4, 1fr); }
	.tcc-tl.is-5, .tcc-dims.is-ruta { grid-template-columns: repeat(3, 1fr); }
	:root { --sec-y: 90px; }
	.tcc-hero h1 { font-size: 64px; }
	.tcc-hero .wp-block-cover__image-background, .tcc-hero::after { max-width: 50%; }
	.tcc-logogrid { grid-template-columns: repeat(6, 1fr); }
	.tcc-dist { grid-template-columns: repeat(2, 1fr); gap: 46px 40px; }
	.tcc-dist > div.is-hl { margin-top: 0 !important; }
	.tcc-met { grid-template-columns: repeat(2, 1fr); }
	.tcc-met > div { min-height: 0; }
	.tcc-hist { grid-template-columns: repeat(3, 1fr); gap: 34px 22px; }
	.tcc-caso-head { padding: 34px 34px 30px; }
	.tcc-caso h3 { font-size: 27px; }
	.tcc-caso-body { padding: 34px 34px 40px; }
	.tcc-caso-cols { gap: 40px; }
	.tcc-fort { grid-template-columns: repeat(3, 1fr); }
	.tcc-sello .wp-block-media-text__content { padding: 70px 48px; }
	.tcc-sello h2 { font-size: 52px; }
	.tcc-tl { grid-template-columns: repeat(2, 1fr); }
	.tcc-tl > div { padding-bottom: 24px; }
}

@media (max-width: 1000px) {
	.tcc-nav .wp-block-navigation__container { gap: 22px; }
	.tcc-nav { font-size: 16px; }
}

/* =========================================================================
   Celular y tableta vertical
   ========================================================================= */
@media (max-width: 860px) {
	:root { --sec-y: 64px; --canal: 22px; }
	body { font-size: 17px; }
	.tcc-header { min-height: 68px; }
	.tcc-header .tcc-logo img { height: 36px !important; }
	.tcc-sec h2, .tcc-cta h2 { font-size: 34px; margin: 14px 0 16px; }
	.tcc-sub { font-size: 18px; }
	.wp-block-cover.tcc-hero { min-height: 0; }
	.tcc-hero .wp-block-cover__image-background { position: relative !important; inset: auto !important; width: 100% !important; max-width: none; height: 230px !important; order: -1; }
	.tcc-hero::after { display: none; }
	.tcc-hero { flex-direction: column; }
	.tcc-hero .wp-block-cover__inner-container { padding: 30px var(--canal) 0; box-sizing: border-box; }
	.tcc-hero .wp-block-cover__inner-container > * { max-width: 100%; }
	.tcc-hero .wp-block-button.is-style-contorno-claro { display: none; }
	.tcc-hero h1 { font-size: 40px; margin: 16px 0 16px !important; }
	.tcc-lead { font-size: 18px; }
	.tcc-hero .wp-block-buttons { margin-top: 26px !important; flex-direction: column; align-items: stretch; }
	.tcc-hero .wp-block-button__link { width: 100%; text-align: center; }
	.tcc-stats { margin-top: 34px !important; display: grid; grid-template-columns: 1fr 1fr; }
	.tcc-stats > .tcc-stat { white-space: normal; padding: 18px 12px 18px 0; font-size: 14px; }
	.tcc-stat strong { font-size: 26px; }
	.tcc-logogrid { display: flex; overflow-x: auto; gap: 34px; justify-content: flex-start; padding-bottom: 8px; scroll-snap-type: x proximity; }
	.tcc-logogrid .wp-block-image { flex: 0 0 auto; width: auto; scroll-snap-align: start; }
	.tcc-logogrid img { max-height: 34px; max-width: 120px; }
	.tcc-grid4, .tcc-grid3, .tcc-dist, .tcc-sol, .tcc-met, .tcc-cases, .tcc-socias, .tcc-hist, .tcc-princ, .tcc-qps, .tcc-dims, .tcc-tl, .tcc-two, .tcc-auth, .tcc-pcols, .tcc-otras, .tcc-col2, .tcc-contacto, .tcc-footer-cols, .tcc-persp-q .wp-block-post-template, .tcc-persp { grid-template-columns: 1fr !important; }
	.tcc-grid4, .tcc-dist, .tcc-sol, .tcc-met, .tcc-cases, .tcc-socias, .tcc-hist, .tcc-princ, .tcc-qps, .tcc-dims, .tcc-tl, .tcc-col2, .tcc-persp-q { margin-top: 34px !important; }
	.tcc-two, .tcc-auth, .tcc-pcols { gap: 30px; }
	.tcc-card { padding: 28px 24px; }
	.tcc-card h3 { font-size: 24px; }
	.wp-block-media-text.tcc-sello, .wp-block-media-text.tcc-mov { grid-template-columns: 100% !important; min-height: 0; gap: 0; }
	.tcc-sello .wp-block-media-text__media, .tcc-mov .wp-block-media-text__media { min-height: 0; height: 260px; grid-row: 1 !important; }
	.tcc-sello .wp-block-media-text__content { padding: 44px var(--canal) 54px; grid-row: 2 !important; }
	.tcc-mov .wp-block-media-text__content { grid-row: 2 !important; padding-top: 34px; }
	.tcc-sello h2 { font-size: 40px; }
	.tcc-sello p:not(.tcc-eyebrow) { font-size: 18px; }
	.tcc-proof { grid-template-columns: 1fr; }
	.tcc-steps { grid-template-columns: 1fr; }
	.wp-block-cover.tcc-quote { padding: 80px var(--canal); }
	.tcc-quote .wp-block-quote p { font-size: 30px; }
	.tcc-dist > div.is-hl { margin-top: 0 !important; }
	.tcc-met > div { min-height: 0; }
	.tcc-case .wp-block-image img { height: 210px; }
	.tcc-socia .wp-block-image img { width: 100%; max-width: 320px; height: 340px; }
	.tcc-cta { padding: 80px var(--canal); }
	.tcc-cta h2 { font-size: 34px; }
	.tcc-footer-cols { gap: 28px; }
	.wp-block-cover.tcc-pagehead, .tcc-pagehead { padding: 56px var(--canal) 50px; flex-direction: column; }
	.tcc-pagehead .wp-block-cover__image-background { position: relative !important; inset: auto !important; width: calc(100% + 44px) !important; max-width: none; height: auto !important; aspect-ratio: 4 / 3; margin: -56px -22px 34px; order: -1; }
	.tcc-pagehead.has-imagen::after { display: none; }
	.tcc-pagehead h1, .tcc-pagehead.has-imagen h1 { font-size: 38px; max-width: none; margin: 14px 0 16px !important; }
	.tcc-pagehead p:not(.tcc-crumb):not(.tcc-eyebrow), .tcc-pagehead.has-imagen p:not(.tcc-crumb) { font-size: 18px; max-width: none; }
	.wp-block-image.tcc-franja img { height: 240px; }
	.wp-block-image.tcc-foto-chica img { width: 100%; height: 200px; }
	.tcc-nums strong { font-size: 30px; }
	.tcc-qps > div { margin-right: 0 !important; margin-bottom: -1px !important; }
	.tcc-caso-top, .tcc-caso.is-vertical .tcc-caso-top { grid-template-columns: 1fr; }
	.tcc-caso.is-vertical .tcc-caso-top > .wp-block-image img { aspect-ratio: 1 / 1; }
	.tcc-caso-head { padding: 26px 22px 24px; }
	.tcc-caso h3 { font-size: 26px; }
	.tcc-kpi { padding-top: 20px; }
	.tcc-kpi strong { font-size: 25px; }
	.tcc-caso-body { padding: 26px 22px 30px; }
	.tcc-caso-reto { padding-bottom: 24px; }
	.tcc-caso-reto p:not(.tcc-klabel) { font-size: 17px; }
	.tcc-caso-cols { grid-template-columns: 1fr; gap: 26px; padding-top: 24px; }
	.tcc-clave { font-size: 19px; }
	.tcc-phero { grid-template-columns: 1fr; gap: 36px; padding: 50px var(--canal) 56px; }
	.tcc-phero h1 { font-size: 42px; }
	.tcc-esp { font-size: 19px; }
	.tcc-retrato img { width: 240px; height: 296px; }
	.wp-block-quote.tcc-cita p { font-size: 25px; }
	.tcc-fort { grid-template-columns: 1fr 1fr; }
	.tcc-otra { flex-direction: row; }
	.tcc-art-head { padding: 54px var(--canal) 46px; }
	.tcc-art-head .wp-block-post-title { font-size: 38px; }
	.tcc-art-head .wp-block-post-excerpt { font-size: 19px; }
	.tcc-art-body { padding: 44px var(--canal) 60px; }
	.tcc-art-body .wp-block-post-content p { font-size: 18px; }
	.tcc-cierre p:not(.tcc-eyebrow) { font-size: 21px !important; }
	.tcc-contacto { gap: 36px; padding: 28px var(--canal) 60px; }
	.tcc-contacto-info { position: static; }
	.tcc-contacto-info .wp-block-image.tcc-contacto-foto { margin-bottom: 28px !important; }
	.tcc-contacto-form h2 { font-size: 38px; }
	.tcc-form, .tcc-contacto .wpcf7 { padding: 22px; }
	.tcc-f2 { grid-template-columns: 1fr; }
	.tcc-cookies { flex-direction: column; align-items: stretch; gap: 12px; font-size: 14px; }
	.tcc-legal h2 { font-size: 26px; }

	.tcc-f3, .tcc-nums.is-3, .tcc-aviso, .tcc-tl.is-5, .tcc-tl.is-7, .tcc-dims.is-ruta, .tcc-cases.is-1, .tcc-cases.is-2 { grid-template-columns: 1fr !important; }
	.tcc-aviso { gap: 30px; }
	.tcc-aviso-idx { position: static; }
	.tcc-datos-firma p:not(.tcc-eyebrow) { grid-template-columns: 1fr; gap: 2px; }
	.tcc-contacto-form h1 { font-size: 38px; }
}

/* ---------- Logotipos en celular: desfile continuo ----------
   tcc.js duplica los logotipos y agrega .is-desfile solo en pantallas chicas
   y cuando la persona no pidió reducir el movimiento. Sin JS queda el carrusel manual. */
.tcc-logogrid [data-clon] { display: none; }
@keyframes tcc-desfile { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (max-width: 860px) {
	.tcc-logos.has-desfile { overflow: hidden; }
	.tcc-logogrid.is-desfile { display: flex; flex-wrap: nowrap; width: max-content; overflow: visible; gap: 0; padding-bottom: 0; scroll-snap-type: none; animation: tcc-desfile var(--tcc-dur, 70s) linear infinite; will-change: transform; }
	.tcc-logogrid.is-desfile .wp-block-image { padding-right: 40px; scroll-snap-align: none; }
	.tcc-logogrid.is-desfile [data-clon] { display: flex; }
	.tcc-logogrid.is-desfile.is-pausa { animation-play-state: paused; }
}
@media (prefers-reduced-motion: reduce) {
	.tcc-logogrid.is-desfile { animation: none; }
}

/* Coaching asistido con caballos (Coaching, fortalezas y carrera) */
.tcc-grid4 .tcc-card p:not(.tcc-num):not(.tcc-more) { font-size: 17px; }
.tcc-caballos h2 { max-width: 880px; }
.tcc-caballos .tcc-two { margin-top: 46px !important; }
.tcc-caballos .tcc-two p:not(.tcc-klabel) { color: var(--claro); font-size: 18px; line-height: 1.65; }
.tcc-caballos .tcc-two p + p { margin-top: 18px !important; }
.tcc-caballos .tcc-two strong { color: #fff; font-weight: 600; }
.tcc-caballos .tcc-klabel { color: var(--cian); }
.tcc-caballos .tcc-list + p { margin-top: 26px !important; }
.tcc-fotos2 { display: grid; grid-template-columns: 7fr 5fr; gap: 24px; margin-top: 56px !important; }
.tcc-fotos2 > * { margin: 0 !important; }
.tcc-fotos2 img { display: block; width: 100%; height: 440px; object-fit: cover; }
.tcc-fotos2 > *:last-child img { object-position: 50% 62%; }
@media (max-width: 860px) {
	.tcc-fotos2 { grid-template-columns: 1fr; gap: 16px; margin-top: 34px !important; }
	.tcc-fotos2 img { height: auto; aspect-ratio: 3 / 2; }
	.tcc-caballos .tcc-two { margin-top: 30px !important; }
}

/* Inicio simplificado: metodología dentro de cada solución y cita al cierre del sello */
.tcc-sol p.tcc-sol-met { margin: 14px 0 0 !important; font-family: var(--f-tit); font-size: 15px; font-weight: 600; color: var(--azul); line-height: 1.4; }
.tcc-sol p.tcc-sol-met a { color: var(--azul); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.tcc-sol p.tcc-sol-met a:hover { color: var(--tinta); }
.tcc-sec > .tcc-sub + .tcc-sol { margin-top: 40px !important; }
.tcc-sello p.tcc-sello-cita { font-family: var(--f-cita); font-style: italic; font-weight: 400; font-size: 22px; line-height: 1.45; color: #fff; max-width: 640px; margin: 38px 0 0 !important; padding-top: 28px; border-top: 1px solid rgba(255,255,255,.18); }
.tcc-sello p.tcc-sello-cita span { display: block; margin-top: 12px; font-family: var(--f-tit); font-style: normal; font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--ambar); }
@media (max-width: 860px) { .tcc-sello p.tcc-sello-cita { font-size: 19px; margin-top: 28px !important; } }
