/* ==========================================================================
   Trazos Creativos — bloques del contenido (clases tc-*)
   Los usan las páginas que crea el importador y la plantilla «secciones».
   Solo usan las variables de variables.css: si cambia la paleta, cambia todo.
   ========================================================================== */

.tc-secciones{ overflow-x:clip; }
.tc-secciones img{ max-width:100%; height:auto; display:block; }

/* ---------- Bandas ---------- */
.tc-seccion{ padding-block:clamp(48px, 7vw, 88px); }
.tc-fondo-suave{ background:var(--tz-fondo-100); }
.tc-verde{ background:var(--tz-verde-osc); color:var(--tz-fondo); position:relative; overflow:hidden; }
.tc-verde::before{ content:""; position:absolute; left:-90px; top:-40px; width:260px; height:260px; border-radius:999px;
  border:1px solid rgba(252,252,249,.22); pointer-events:none; }

/* ---------- Tipografía de sección ---------- */
.tc-eyebrow{
  display:inline-block; font-family:var(--fuente-titulos); font-size:11px; font-weight:700;
  text-transform:uppercase; letter-spacing:.24em; color:var(--tz-verde-700);
}
.tc-titulo{
  margin:14px 0 0; max-width:20ch; font-size:clamp(1.75rem, 3.4vw, 2.6rem); line-height:1.12;
  letter-spacing:-.01em; color:var(--tz-tinta);
}
.tc-intro{ margin:16px 0 0; max-width:60ch; color:var(--tz-tinta-800); }
.tc-parrafo{ margin:16px 0 0; color:var(--tz-tinta-800); }
.tc-subtitulo{ font-size:1.35rem; margin:36px 0 14px; }
.tc-verde .tc-eyebrow{ color:rgba(11,10,7,.7); }
.tc-verde .tc-titulo{ color:#fff; }
.tc-verde .tc-intro{ color:rgba(252,252,249,.88); }

.tc-cabeza{ display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:20px 40px; margin-bottom:40px; }
.tc-cabeza > p{ margin:0; }
.tc-cabeza .tc-intro{ max-width:38ch; font-size:.95rem; color:var(--tz-gris); }

/* ---------- Botones ---------- */
.tc-botones{ display:flex; flex-wrap:wrap; gap:12px; margin:28px 0 0; }
.tz-btn-oscuro{ background:var(--tz-tinta); color:var(--tz-fondo) !important; }
.tz-btn-oscuro:hover{ background:var(--tz-verde-700); }

/* ---------- Rejillas ---------- */
.tc-dos{ display:grid; gap:40px; align-items:center; }
.tc-dos-compacto{ gap:20px; align-items:start; margin-top:28px; }
@media (min-width:960px){
  .tc-dos{ grid-template-columns:1fr 1fr; gap:64px; }
  .tc-dos-compacto{ gap:24px; }
}
.tc-rejilla{ display:grid; gap:16px; grid-template-columns:1fr; }
@media (min-width:640px){ .tc-rejilla-2, .tc-rejilla-3, .tc-rejilla-4{ grid-template-columns:repeat(2, 1fr); } }
@media (min-width:1024px){
  .tc-rejilla-3{ grid-template-columns:repeat(3, 1fr); }
  .tc-rejilla-4{ grid-template-columns:repeat(4, 1fr); }
}

/* ---------- Tarjetas ---------- */
.tc-tarjeta{
  display:flex; flex-direction:column; gap:10px; height:100%;
  padding:24px; border:1px solid var(--tz-fondo-200); border-radius:var(--radio);
  background:var(--tz-fondo); color:var(--tz-tinta-900); text-decoration:none !important;
  transition:border-color .25s ease, transform .25s ease, box-shadow .25s ease;
}
a.tc-tarjeta:hover{ border-color:var(--tz-verde-300); transform:translateY(-2px); box-shadow:var(--sombra-media); }
.tc-tarjeta strong{ font-family:var(--fuente-titulos); font-size:1.12rem; line-height:1.25; color:var(--tz-tinta); display:flex; gap:8px; align-items:flex-start; }
.tc-tarjeta-texto{ font-size:.92rem; line-height:1.6; color:var(--tz-gris); }
.tc-tarjeta-meta{ font-family:var(--fuente-titulos); font-size:9.5px; font-weight:700; text-transform:uppercase; letter-spacing:.14em; color:var(--tz-gris); }
.tc-mas{
  margin-top:auto; padding-top:12px; display:inline-flex; align-items:center; gap:6px;
  font-family:var(--fuente-titulos); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.16em; color:var(--tz-verde-700);
}
.tc-flecha{ display:inline-block; font-family:system-ui, sans-serif; font-weight:700; line-height:1; transition:transform .2s ease; }
.tz-btn .tc-flecha{ font-size:1.1em; }
a.tc-tarjeta:hover .tc-flecha, .tz-btn:hover .tc-flecha, .tc-siguiente:hover .tc-flecha{ transform:translateX(3px); }
.tc-tarjeta-fija{ background:var(--tz-fondo); }
.tc-icono{ display:flex; width:56px; height:56px; align-items:center; justify-content:center; border-radius:999px; background:#eef6e5; }
.tc-icono img{ width:34px; height:34px; object-fit:contain; }

.tc-check{ display:inline-block; flex:none; width:1.15em; font-family:system-ui, sans-serif; font-weight:800; line-height:1.35; color:var(--tz-verde-700); }

/* ---------- Portada (hero de inicio) ---------- */
.tc-hero{ position:relative; overflow:hidden; background:var(--tz-fondo); padding-block:clamp(40px, 7vw, 88px); }
.tc-hero::before, .tc-hero::after{ content:""; position:absolute; border-radius:999px; filter:blur(70px); pointer-events:none; }
.tc-hero::before{ right:-100px; top:-100px; width:380px; height:380px; background:rgba(177,220,136,.45); }
.tc-hero::after{ left:-120px; bottom:0; width:320px; height:320px; background:rgba(241,184,77,.3); }
.tc-hero .contenedor{ position:relative; z-index:1; }
@media (min-width:960px){ .tc-hero-fila{ grid-template-columns:1.05fr .95fr; } }
.tc-pastilla{
  display:inline-flex; align-items:center; gap:8px; padding:6px 16px; border-radius:999px;
  border:1px solid var(--tz-verde-300); background:#f3f9ec; color:var(--tz-verde-900);
  font-family:var(--fuente-titulos); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.2em;
}
.tc-pastilla::before{ content:""; width:6px; height:6px; border-radius:99px; background:var(--tz-verde); }
.tc-hero-titulo{ margin:24px 0 0; font-size:clamp(2.4rem, 6vw, 4.2rem); line-height:1.02; letter-spacing:-.02em; color:var(--tz-tinta); }
.tc-resaltado{ position:relative; display:inline-block; color:var(--tz-verde-700); }
.tc-resaltado::after{ content:""; position:absolute; left:0; right:0; bottom:-6px; height:6px; border-radius:99px; background:rgba(241,184,77,.75); }
.tc-hero-texto{ margin:26px 0 0; max-width:36rem; font-size:1.08rem; color:var(--tz-tinta-800); }
.tc-hero-lema{ margin:18px 0 0; font-family:var(--fuente-titulos); font-style:italic; font-size:1.2rem; color:var(--tz-verde-900); }
.tc-hero-imagen{ position:relative; }
.tc-hero-imagen figure{ margin:0; padding:12px; border:1px solid var(--tz-fondo-200); border-radius:var(--radio); background:var(--tz-fondo); }
.tc-hero-imagen img{ width:100%; height:clamp(220px, 32vw, 340px); object-fit:contain; border-radius:6px; }
.tc-hero-sello{
  position:absolute; left:-12px; bottom:-22px; margin:0; padding:14px 20px; border-radius:var(--radio);
  background:var(--tz-verde-osc); color:var(--tz-fondo); box-shadow:var(--sombra-media);
}
.tc-hero-sello strong{ display:block; font-family:var(--fuente-titulos); font-size:1.6rem; line-height:1; }
.tc-hero-sello span{ display:block; margin-top:4px; font-family:var(--fuente-titulos); font-size:10px; text-transform:uppercase; letter-spacing:.16em; color:#e3f1d3; }

/* ---------- Datos y métricas ---------- */
.tc-datos{ display:grid; gap:16px; margin:32px 0 0; }
.tc-datos-3{ grid-template-columns:repeat(3, 1fr); }
.tc-datos-4{ grid-template-columns:repeat(2, 1fr); }
@media (min-width:900px){ .tc-datos-4{ grid-template-columns:repeat(4, 1fr); } }
.tc-datos dt{ font-family:var(--fuente-titulos); font-weight:600; font-size:clamp(1.8rem, 3vw, 2.4rem); line-height:1; color:var(--tz-tinta); }
.tc-datos dd{ margin:6px 0 0; font-size:11px; text-transform:uppercase; letter-spacing:.12em; line-height:1.4; color:var(--tz-gris); }
.tc-datos-linea{ padding-top:26px; border-top:1px solid var(--tz-fondo-200); }
.tc-datos-caja{ margin-top:56px; gap:1px; background:var(--tz-fondo-200); border:1px solid var(--tz-fondo-200); border-radius:var(--radio); overflow:hidden; }
.tc-datos-caja > div{ background:var(--tz-fondo); padding:24px 26px; }

.tc-metricas{ display:grid; gap:14px; margin:0; }
.tc-metricas > div{ display:flex; align-items:center; gap:22px; padding:20px 24px; border-radius:var(--radio); background:rgba(11,10,7,.14); }
.tc-metricas dt{ font-family:var(--fuente-titulos); font-size:2.6rem; font-weight:600; line-height:1; color:#fff; min-width:3.2ch; }
.tc-metricas dd{ margin:0; color:rgba(252,252,249,.82); font-size:.92rem; }
.tc-metricas dd strong{ display:block; color:#fff; font-size:1rem; }

.tc-emblema{ display:flex; align-items:center; gap:14px; margin:28px 0 0; padding:12px 16px; border-radius:var(--radio); background:rgba(11,10,7,.14); max-width:28rem; }
.tc-emblema img{ width:84px; height:48px; object-fit:contain; flex:none; background:var(--tz-fondo); border-radius:4px; padding:4px; }
.tc-emblema span{ font-size:.85rem; line-height:1.4; }
.tc-emblema strong{ display:block; font-family:var(--fuente-titulos); }
.tc-emblema-claro{ background:#fdf5e4; border:1px solid #f4d9a3; color:var(--tz-tinta-800); }

/* ---------- Mosaico, fotos, portadas ---------- */
.tc-mosaico{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.tc-mosaico figure{ margin:0; overflow:hidden; border-radius:var(--radio); }
.tc-mosaico figure:first-child{ grid-column:1 / -1; }
.tc-mosaico img{ width:100%; height:100%; aspect-ratio:16/10; object-fit:cover; }
.tc-mosaico figure:not(:first-child) img{ aspect-ratio:1; }

.tc-foto-marco{ position:relative; }
.tc-foto-marco figure{ margin:0; padding:12px; border:1px solid var(--tz-fondo-200); border-radius:var(--radio); background:var(--tz-fondo); }
.tc-foto-marco img{ width:100%; height:clamp(260px, 36vw, 420px); object-fit:cover; object-position:top; border-radius:6px; }
.tc-foto-sello{
  position:absolute; right:-10px; top:24px; margin:0; padding:12px 16px; border-radius:6px; background:var(--tz-dorado);
  color:var(--tz-tinta); font-family:var(--fuente-titulos); font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.16em; line-height:1.7;
}
.tc-portada{ margin:0 0 8px; overflow:hidden; border-radius:var(--radio); border:1px solid var(--tz-fondo-200); }
.tc-portada img{ width:100%; max-height:460px; object-fit:cover; }

.tc-pilares{ display:grid; gap:12px; margin-top:28px; }
@media (min-width:640px){ .tc-pilares{ grid-template-columns:repeat(3, 1fr); } }
.tc-pilar{ padding:16px; border:1px solid var(--tz-fondo-200); border-radius:var(--radio); background:var(--tz-fondo-100); }
.tc-pilar strong{ display:flex; gap:8px; font-family:var(--fuente-titulos); }
.tc-pilar span{ display:block; margin-top:6px; font-size:.82rem; line-height:1.55; color:var(--tz-gris); }

/* ---------- Proceso ---------- */
.tc-pasos{ list-style:none; margin:40px 0 0; padding:0; display:grid; gap:16px; }
@media (min-width:640px){ .tc-pasos{ grid-template-columns:repeat(2, 1fr); } }
@media (min-width:1024px){ .tc-pasos{ grid-template-columns:repeat(4, 1fr); } }
.tc-pasos li{ display:flex; flex-direction:column; gap:8px; padding:24px; border:1px solid var(--tz-fondo-200); border-radius:var(--radio); background:var(--tz-fondo); }
.tc-paso-num{ font-family:var(--fuente-titulos); font-size:1.6rem; font-weight:600; color:var(--tz-verde-claro); }
.tc-pasos strong{ font-family:var(--fuente-titulos); font-size:1.05rem; }
.tc-pasos li > span:last-child{ font-size:.9rem; color:var(--tz-gris); }

.tc-aviso{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:18px;
  margin-top:40px; padding:24px 28px; border:1px solid var(--tz-verde-300); border-radius:var(--radio); background:#f3f9ec;
}
.tc-aviso strong{ display:block; font-family:var(--fuente-titulos); font-size:1.15rem; color:var(--tz-tinta); }
.tc-aviso span{ display:block; margin-top:4px; font-size:.92rem; color:var(--tz-gris); }

/* ---------- Llamada a la acción ---------- */
.tc-cta{ position:relative; overflow:hidden; background:var(--tz-tinta); }
.tc-cta-fondo{ position:absolute; inset:0; width:100%; height:100% !important; object-fit:cover; opacity:.2; }
.tc-cta-caja{ position:relative; z-index:1; max-width:900px; text-align:center; padding-block:clamp(72px, 10vw, 112px); }
.tc-cta .tc-eyebrow{ color:var(--tz-verde-300); }
.tc-cta .tc-titulo{ max-width:none; color:var(--tz-fondo); }
.tc-cta .tc-intro{ margin-inline:auto; color:rgba(252,252,249,.82); }
.tc-cta .tc-botones{ justify-content:center; }
.tc-cta .tz-btn-contorno{ background:transparent; border-color:rgba(252,252,249,.4); color:var(--tz-fondo) !important; }
.tc-cta .tz-btn-contorno:hover{ border-color:var(--tz-verde-claro); color:var(--tz-verde-claro) !important; }

/* ---------- Casos ---------- */
.tc-caso{ display:flex; flex-direction:column; color:var(--tz-tinta-900); text-decoration:none !important; }
.tc-caso figure{ margin:0 0 16px; overflow:hidden; border-radius:var(--radio); background:var(--tz-fondo-200); }
.tc-caso img{ width:100%; aspect-ratio:4/3; object-fit:cover; transition:transform .5s ease; }
.tc-caso:hover img{ transform:scale(1.04); }
.tc-caso-meta{ font-family:var(--fuente-titulos); font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.16em; color:var(--tz-verde-700); }
.tc-caso-cliente{ margin-top:6px; font-family:var(--fuente-titulos); font-size:1.25rem; color:var(--tz-tinta); }
.tc-caso-proyecto{ margin-top:2px; font-size:.92rem; color:var(--tz-gris); }
.tc-caso[hidden]{ display:none; }

.tc-filtros{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:32px; }
.tc-filtros button{
  border:1px solid var(--tz-fondo-200); background:var(--tz-fondo); color:var(--tz-tinta-800); cursor:pointer;
  border-radius:999px; padding:8px 16px; font-family:var(--fuente-titulos); font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.12em;
}
.tc-filtros button:hover{ border-color:var(--tz-verde-claro); color:var(--tz-verde-900); }
.tc-filtros button.activo{ background:var(--tz-verde); border-color:var(--tz-verde); color:var(--tz-tinta); }
.tc-filtros-cuenta{ margin-left:auto; font-size:.85rem; color:var(--tz-gris); }

/* ---------- Ficha de servicio y de caso ---------- */
.tc-detalle{ display:grid; gap:40px; align-items:start; }
@media (min-width:1024px){ .tc-detalle{ grid-template-columns:minmax(0, 1.7fr) minmax(0, 1fr); gap:56px; } }
.tc-resumen{ margin:24px 0 0; font-family:var(--fuente-titulos); font-size:1.25rem; line-height:1.5; color:var(--tz-tinta); }
.tc-bloque{ padding:22px; border-radius:var(--radio); background:var(--tz-fondo-100); border:1px solid var(--tz-fondo-200); }
.tc-bloque h2{ margin:0 0 8px; font-size:1.1rem; }
.tc-bloque p{ margin:0; font-size:.95rem; color:var(--tz-tinta-800); }
.tc-ficha{
  position:sticky; top:calc(var(--alto-cabecera) + 20px);
  padding:28px; border:1px solid var(--tz-fondo-200); border-radius:var(--radio-grande); background:var(--tz-fondo-100);
}
.tc-ficha h2{ margin:14px 0 16px; font-size:1.2rem; }
.tc-ficha .tc-icono{ background:var(--tz-fondo); }
.tc-ficha > p{ margin:22px 0 0; }
.tc-ficha .tz-btn{ width:100%; justify-content:center; }
.tc-nota{ margin-top:10px !important; text-align:center; font-size:.8rem; color:var(--tz-gris); }
.tc-lista{ list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.tc-lista li{ display:flex; gap:10px; align-items:flex-start; font-size:.95rem; }
.tc-ficha-datos{ margin:0; display:grid; gap:0; }
.tc-ficha-datos > div{ display:flex; justify-content:space-between; gap:16px; padding:10px 0; border-bottom:1px solid var(--tz-fondo-200); }
.tc-ficha-datos dt{ font-size:11px; text-transform:uppercase; letter-spacing:.12em; color:var(--tz-gris); }
.tc-ficha-datos dd{ margin:0; font-weight:600; text-align:right; }
.tc-ficha-etiqueta{ margin:20px 0 10px !important; font-size:11px; text-transform:uppercase; letter-spacing:.12em; color:var(--tz-gris); }
.tc-etiquetas{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:6px; }
.tc-etiquetas li{ padding:5px 12px; border-radius:999px; background:var(--tz-fondo); border:1px solid var(--tz-fondo-200); font-size:.8rem; }

.tc-chips{ list-style:none; margin:24px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.tc-chips li{ display:inline-flex; align-items:center; gap:6px; padding:7px 14px; border-radius:999px; background:var(--tz-fondo); border:1px solid var(--tz-verde-300); font-size:.85rem; }
.tc-chips .tc-check{ width:auto; }

.tc-galeria{ display:grid; gap:16px; }
@media (min-width:768px){ .tc-galeria{ grid-template-columns:1fr 1fr; } }
.tc-galeria figure{ margin:0; overflow:hidden; border-radius:var(--radio); }
.tc-galeria img{ width:100%; aspect-ratio:4/3; object-fit:cover; }
.tc-navegacion{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; margin-top:36px; }
.tc-siguiente{ text-align:right; color:var(--tz-tinta) !important; text-decoration:none !important; }
.tc-siguiente span{ display:block; font-size:11px; text-transform:uppercase; letter-spacing:.14em; color:var(--tz-gris); }
.tc-siguiente strong{ display:inline-flex; align-items:center; gap:8px; font-family:var(--fuente-titulos); font-size:1.3rem; }
.tc-siguiente .tc-flecha{ color:var(--tz-verde-700); }

/* ---------- Clientes ---------- */
.tc-mapa{ margin:40px 0 0; overflow:hidden; border-radius:var(--radio-grande); border:1px solid var(--tz-fondo-200); }
.tc-mapa img{ width:100%; }
.tc-logos-titulo{ display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin:0 0 14px; }
.tc-logos-titulo:not(:first-child){ margin-top:44px; }
.tc-logos-titulo h2{ margin:0; font-size:1.2rem; }
.tc-logos-titulo span{ font-size:11px; text-transform:uppercase; letter-spacing:.14em; color:var(--tz-gris); }
.tc-logos{
  display:flex; overflow:hidden; border:1px solid var(--tz-fondo-200); border-radius:var(--radio); background:var(--tz-fondo);
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
          mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.tc-logos-pista{ display:flex; flex:none; gap:16px; margin:0; padding:18px 8px; list-style:none; animation:tc-desliza 55s linear infinite; }
.tc-logos-reversa .tc-logos-pista{ animation-direction:reverse; }
.tc-logos:hover .tc-logos-pista{ animation-play-state:paused; }
.tc-logos-pista li{ flex:none; width:150px; height:84px; display:flex; align-items:center; justify-content:center; }
.tc-logos-pista img{ max-width:100%; max-height:84px; object-fit:contain; }
@keyframes tc-desliza{ to{ transform:translateX(calc(-100% - 16px)); } }
@media (prefers-reduced-motion:reduce){
  .tc-logos-pista{ animation:none; flex-wrap:wrap; justify-content:center; }
  .tc-logos-pista[aria-hidden="true"]{ display:none; }
  .tc-logos{ -webkit-mask-image:none; mask-image:none; }
}

/* ---------- Contacto ---------- */
.tc-contacto{ display:grid; gap:40px; align-items:start; }
@media (min-width:1024px){ .tc-contacto{ grid-template-columns:.9fr 1.1fr; gap:64px; } }
.tc-datos-contacto{ list-style:none; margin:32px 0 0; padding:0; display:grid; gap:12px; }
.tc-datos-contacto li{ padding:16px 18px; border:1px solid var(--tz-fondo-200); border-radius:var(--radio); background:var(--tz-fondo-100); display:flex; flex-direction:column; gap:2px; }
.tc-datos-contacto li > span:first-child{ font-family:var(--fuente-titulos); font-size:10.5px; font-weight:700; text-transform:uppercase; letter-spacing:.16em; color:var(--tz-verde-700); }
.tc-datos-contacto a{ color:var(--tz-tinta-900); }
.tc-redes{ display:flex; flex-wrap:wrap; gap:14px; }
.tc-formulario{ padding:clamp(22px, 4vw, 36px); border:1px solid var(--tz-fondo-200); border-radius:var(--radio-grande); background:var(--tz-fondo); box-shadow:var(--sombra); }
.tc-formulario h2{ margin:0 0 18px; font-size:1.35rem; }
.tc-mapa-embebido{ overflow:hidden; border-radius:var(--radio-grande); border:1px solid var(--tz-fondo-200); min-height:320px; }
.tc-mapa-embebido .mapa-bloque{ height:100%; }
.tc-mapa-embebido iframe{ display:block; width:100%; height:100%; min-height:320px; border:0; }
.tc-faq details{ border-bottom:1px solid var(--tz-fondo-200); padding:18px 0; }
.tc-faq details:first-child{ border-top:1px solid var(--tz-fondo-200); }
.tc-faq summary{ cursor:pointer; list-style:none; display:flex; justify-content:space-between; gap:16px; font-family:var(--fuente-titulos); font-weight:600; font-size:1.02rem; }
.tc-faq summary::-webkit-details-marker{ display:none; }
.tc-faq summary::after{ content:"+"; flex:none; width:26px; height:26px; border-radius:99px; display:grid; place-items:center; background:#eef6e5; color:var(--tz-verde-700); transition:transform .2s; }
.tc-faq details[open] summary::after{ transform:rotate(45deg); }
.tc-faq details p{ margin:12px 0 0; color:var(--tz-tinta-800); font-size:.95rem; }

/* ---------- Avisos legales ---------- */
.tc-legal{ display:grid; gap:32px; align-items:start; }
@media (min-width:960px){ .tc-legal{ grid-template-columns:240px minmax(0, 1fr); gap:56px; } }
.tc-indice{ position:sticky; top:calc(var(--alto-cabecera) + 20px); padding:20px; border:1px solid var(--tz-fondo-200); border-radius:var(--radio); background:var(--tz-fondo-100); }
.tc-indice strong{ font-family:var(--fuente-titulos); font-size:11px; text-transform:uppercase; letter-spacing:.16em; color:var(--tz-gris); }
.tc-indice ol{ margin:10px 0 0; padding-left:1.2em; display:grid; gap:6px; font-size:.95rem; }
.tc-legal .contenido{ max-width:760px; }
.tc-legal .contenido h2{ scroll-margin-top:calc(var(--alto-cabecera) + 20px); }
.tc-legal .contenido h2:first-child{ margin-top:0; }

/* ---------- Blog dentro de la portada ---------- */
.tc-blog{ margin-top:-8px; }

/* ---------- Artículo: cierre ---------- */
.tc-aviso-articulo{ margin-top:2.4em; }
.tc-aviso-articulo .tz-btn{ text-decoration:none !important; }

/* ---------- Pie: columna «Servicios» (widget Contenido) ---------- */
.sitio-pie .widget-contenido h2{
  margin:0 0 16px; font-family:var(--fuente-titulos); font-size:12px; font-weight:600;
  text-transform:uppercase; letter-spacing:.16em; color:var(--tz-verde-300);
}

/* ---------- Crédito de la agencia (centro de la franja inferior) ---------- */
.pie-barra .credito-agencia{ margin:0; font-family:var(--fuente-titulos); font-size:10px; text-transform:uppercase; letter-spacing:.14em; color:rgba(247,246,241,.5); }
.pie-barra .credito-agencia a{ font-weight:700; color:var(--tz-verde-300); text-decoration:none; }
.pie-barra .credito-agencia a:hover{ text-decoration:underline; }
