/*!
 * Nexus Theme — Redesign Layer
 * Capa de refinamiento sobre main.css. Minimalismo + detalles premium.
 * Cargada después de main.css y responsive.css.
 */

/* =============================================================================
   1. TOKENS REFINADOS (extiende los del main.css sin romperlos)
   ============================================================================= */
:root {
  /* Sombras más sutiles y modernas */
  --rd-shadow-xs: 0 1px 2px rgba(17, 24, 39, .04);
  --rd-shadow-sm: 0 4px 12px rgba(17, 24, 39, .06);
  --rd-shadow-md: 0 12px 32px -8px rgba(17, 24, 39, .12);
  --rd-shadow-lg: 0 24px 56px -12px rgba(17, 24, 39, .18);
  --rd-shadow-glow: 0 0 0 1px rgba(76,200,99, .12), 0 24px 56px -16px rgba(45,174,67, .25);

  /* Bordes / radius más afinados */
  --rd-radius-card: 18px;
  --rd-radius-sm: 8px;

  /* Transiciones */
  --rd-ease: cubic-bezier(.2, .7, .2, 1);
  --rd-dur-fast: 180ms;
  --rd-dur: 280ms;
  --rd-dur-slow: 480ms;

  /* Color tokens auxiliares */
  --rd-ink: 17, 24, 39;
  --rd-primary: 45, 174, 67;
  --rd-secondary: 76, 200, 99;
  --rd-accent: 244, 162, 97;
  --rd-line: rgba(17, 24, 39, .08);
  --rd-line-strong: rgba(17, 24, 39, .14);

  /* Tipografía display fluida */
  --rd-display-xl: clamp(2.75rem, 6.5vw, 5.25rem);
  --rd-display-lg: clamp(2.25rem, 5vw, 3.75rem);
  --rd-display-md: clamp(1.65rem, 3.4vw, 2.5rem);
}

/* =============================================================================
   2. BASE — selección, focus accesible, scrollbar fina
   ============================================================================= */
::selection { background: rgba(var(--rd-secondary), .25); color: #2dae43; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid rgba(var(--rd-secondary), .65);
  outline-offset: 3px;
  border-radius: 4px;
}

/* Scrollbar moderna (WebKit) */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: rgba(var(--rd-ink), .02); }
::-webkit-scrollbar-thumb { background: rgba(var(--rd-ink), .18); border-radius: 999px; }
::-webkit-scrollbar-thumb:hover { background: rgba(var(--rd-ink), .32); }

/* =============================================================================
   3. HEADER — sticky con blur, espaciado del menú, hover refinado
   ============================================================================= */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255, 255, 255, .72);
  backdrop-filter: saturate(180%) blur(14px);
  -webkit-backdrop-filter: saturate(180%) blur(14px);
  border-bottom: 1px solid transparent;
  transition: background var(--rd-dur) var(--rd-ease),
              border-color var(--rd-dur) var(--rd-ease),
              box-shadow var(--rd-dur) var(--rd-ease);
}

.site-header.is-scrolled {
  background: rgba(255, 255, 255, .92);
  border-bottom-color: var(--rd-line);
  box-shadow: var(--rd-shadow-xs);
}

/* Logo con sutil tracking + hover */
.site-name-link {
  position: relative;
  transition: opacity var(--rd-dur) var(--rd-ease);
}
.site-name-link:hover { opacity: .8; }

/* FIX MENÚ PEGADO: aplicar padding a TODOS los <a> directos del menú */
.nexus-menu > li > a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 16px;
  font-family: var(--nexus-font-body);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .02em;
  color: var(--nexus-text);
  text-decoration: none;
  border-radius: 8px;
  transition: color var(--rd-dur-fast) var(--rd-ease),
              background var(--rd-dur-fast) var(--rd-ease);
  white-space: nowrap;
  position: relative;
}
.nexus-menu > li > a::after {
  content: "";
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 6px;
  height: 2px;
  background: rgb(var(--rd-secondary));
  border-radius: 2px;
  transform: scaleX(0);
  transform-origin: 50% 50%;
  transition: transform var(--rd-dur) var(--rd-ease);
}
.nexus-menu > li > a:hover,
.nexus-menu > li.current-menu-item > a,
.nexus-menu > li.current-menu-ancestor > a {
  color: rgb(var(--rd-primary));
}
.nexus-menu > li > a:hover::after,
.nexus-menu > li.current-menu-item > a::after,
.nexus-menu > li.current-menu-ancestor > a::after {
  transform: scaleX(1);
}

/* Botón "Get Started" del header — más refinado */
.header-cta-btn,
.header-actions .btn,
.header-cta .btn {
  padding: 10px 20px !important;
  border-radius: 999px !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  letter-spacing: .02em !important;
  background: rgb(var(--rd-primary)) !important;
  color: #fff !important;
  box-shadow: var(--rd-shadow-sm);
  transition: transform var(--rd-dur) var(--rd-ease),
              box-shadow var(--rd-dur) var(--rd-ease),
              background var(--rd-dur) var(--rd-ease) !important;
}
.header-cta-btn:hover,
.header-actions .btn:hover,
.header-cta .btn:hover {
  transform: translateY(-1px);
  box-shadow: var(--rd-shadow-md);
  background: #1f8a32 !important;
}

/* =============================================================================
   4. HERO DE PÁGINA / BLOG — gradiente con noise + entrada suave
   ============================================================================= */
.page-hero,
.archive-hero,
.blog-hero,
.single-post-hero-static,
.page-header-hero {
  position: relative;
  padding: clamp(3.5rem, 8vw, 6.5rem) 0 clamp(3rem, 7vw, 5.5rem);
  background:
    radial-gradient(ellipse 70% 60% at 20% 30%, rgba(var(--rd-secondary), .35), transparent 60%),
    radial-gradient(ellipse 60% 50% at 80% 70%, rgba(var(--rd-accent), .18), transparent 65%),
    linear-gradient(135deg, rgb(var(--rd-primary)) 0%, #1f8a32 60%, rgb(var(--rd-secondary)) 130%);
  color: #fff;
  overflow: hidden;
}
.page-hero::after,
.archive-hero::after,
.blog-hero::after,
.single-post-hero-static::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .14 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  opacity: .35;
  pointer-events: none;
  mix-blend-mode: overlay;
}
.page-hero > *,
.archive-hero > *,
.blog-hero > * { position: relative; z-index: 1; }

.page-hero h1,
.archive-hero h1,
.blog-hero h1 {
  font-size: var(--rd-display-xl);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -.02em;
  margin: 0 0 .5rem;
  color: #fff;
  text-wrap: balance;
}
.page-hero .breadcrumbs,
.archive-hero .breadcrumbs,
.blog-hero .breadcrumbs {
  font-size: 13px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .72);
  margin-bottom: 1rem;
}
.page-hero .breadcrumbs a,
.archive-hero .breadcrumbs a,
.blog-hero .breadcrumbs a { color: inherit; opacity: .9; }
.page-hero .breadcrumbs a:hover { opacity: 1; }

/* =============================================================================
   5. CARDS DE BLOG — minimalismo con foto, hover wow
   ============================================================================= */
.posts-grid,
.archive-posts,
.blog-posts {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr));
  gap: clamp(1.25rem, 2vw, 2rem);
  padding: clamp(2rem, 5vw, 4rem) 0;
}

.post-card,
article.post-preview,
article.post-card-item {
  position: relative;
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--rd-line);
  border-radius: var(--rd-radius-card);
  overflow: hidden;
  box-shadow: var(--rd-shadow-xs);
  transition: transform var(--rd-dur) var(--rd-ease),
              box-shadow var(--rd-dur) var(--rd-ease),
              border-color var(--rd-dur) var(--rd-ease);
}
.post-card:hover,
article.post-preview:hover,
article.post-card-item:hover {
  transform: translateY(-4px);
  box-shadow: var(--rd-shadow-lg);
  border-color: var(--rd-line-strong);
}

/* Imagen destacada o placeholder elegante */
.post-card-thumb,
.post-thumbnail-wrap,
.post-card .post-thumbnail {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(var(--rd-primary), .06), rgba(var(--rd-secondary), .12)),
    repeating-linear-gradient(45deg, rgba(var(--rd-primary), .03) 0 12px, transparent 12px 24px);
}
.post-card-thumb img,
.post-thumbnail-wrap img,
.post-card .post-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 700ms var(--rd-ease), filter var(--rd-dur) var(--rd-ease);
}
.post-card:hover .post-card-thumb img,
article.post-preview:hover .post-thumbnail-wrap img,
.post-card:hover .post-thumbnail img {
  transform: scale(1.05);
  filter: saturate(1.08);
}

/* Placeholder visible cuando no hay imagen */
.post-card-thumb:empty::before,
.post-thumbnail-wrap:empty::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 30% 30%, rgba(var(--rd-secondary), .35), transparent 55%),
    linear-gradient(135deg, rgba(var(--rd-primary), .12), rgba(var(--rd-accent), .08));
}

/* Cuerpo de la card */
.post-card-body,
.post-card-content,
.post-card .post-meta-bar + * {
  padding: clamp(1.1rem, 2vw, 1.5rem);
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: .65rem;
}

/* Categoría badge */
.post-category-badge,
.post-card .post-categories a,
.post-card-categories a {
  display: inline-block;
  padding: 4px 10px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgb(var(--rd-primary));
  background: rgba(var(--rd-primary), .08);
  border-radius: 999px;
  text-decoration: none;
  transition: background var(--rd-dur-fast) var(--rd-ease);
}
.post-category-badge:hover { background: rgba(var(--rd-primary), .14); }

/* Título */
.post-card-title,
.post-card .entry-title,
article.post-preview h2,
article.post-preview h3 {
  font-family: var(--nexus-font-heading);
  font-size: clamp(1.05rem, 1.6vw, 1.3rem);
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -.005em;
  color: var(--nexus-heading);
  margin: 0;
}
.post-card-title a {
  color: inherit;
  text-decoration: none;
  background-image: linear-gradient(currentColor, currentColor);
  background-size: 0 1px;
  background-position: 0 100%;
  background-repeat: no-repeat;
  transition: background-size var(--rd-dur) var(--rd-ease);
}
.post-card-title a:hover { background-size: 100% 1px; }

/* Excerpt */
.post-card-excerpt,
.post-excerpt {
  font-size: 14.5px;
  line-height: 1.65;
  color: rgba(var(--rd-ink), .68);
}

/* Meta + Read more */
.post-card-meta,
.post-card-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: .75rem;
  border-top: 1px solid var(--rd-line);
  font-size: 13px;
  color: rgba(var(--rd-ink), .55);
  margin-top: auto;
}

.read-more,
.read-more-btn,
a[class*="read-more"] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 600;
  font-size: 13px;
  color: rgb(var(--rd-primary));
  text-decoration: none;
  letter-spacing: .02em;
  transition: gap var(--rd-dur) var(--rd-ease);
}
.read-more:hover,
.read-more-btn:hover,
a[class*="read-more"]:hover { gap: 12px; }

/* =============================================================================
   6. SINGLE POST — tipografía premium de lectura
   ============================================================================= */
.entry-content,
.single-post-content,
.post-content {
  max-width: 740px;
  margin: clamp(2rem, 5vw, 3.5rem) auto;
  padding: 0 1.25rem;
  font-size: clamp(16.5px, 1.1vw, 18px);
  line-height: 1.8;
  color: rgba(var(--rd-ink), .82);
}

.entry-content > p:first-of-type::first-letter,
.single-post-content > p:first-of-type::first-letter {
  font-family: var(--nexus-font-heading);
  float: left;
  font-size: 4.4em;
  line-height: .85;
  font-weight: 700;
  margin: .12em .12em -.05em 0;
  color: rgb(var(--rd-primary));
}

.entry-content h2,
.single-post-content h2 {
  font-family: var(--nexus-font-heading);
  font-size: clamp(1.5rem, 2.4vw, 1.95rem);
  font-weight: 700;
  letter-spacing: -.01em;
  margin: 2.2em 0 .55em;
  line-height: 1.25;
  text-wrap: balance;
}

.entry-content h3,
.single-post-content h3 {
  font-family: var(--nexus-font-heading);
  font-size: clamp(1.2rem, 1.8vw, 1.45rem);
  font-weight: 600;
  margin: 1.8em 0 .4em;
  line-height: 1.3;
}

.entry-content p { margin: 0 0 1.25em; }

.entry-content a,
.single-post-content a {
  color: rgb(var(--rd-primary));
  text-decoration: none;
  background-image: linear-gradient(rgba(var(--rd-secondary), .55), rgba(var(--rd-secondary), .55));
  background-size: 100% 1px;
  background-position: 0 100%;
  background-repeat: no-repeat;
  transition: background-size var(--rd-dur) var(--rd-ease), color var(--rd-dur-fast) var(--rd-ease);
}
.entry-content a:hover,
.single-post-content a:hover {
  background-size: 100% 2px;
  color: rgb(var(--rd-secondary));
}

.entry-content blockquote,
.single-post-content blockquote {
  position: relative;
  margin: 2.2em 0;
  padding: .25em 1.5em;
  border-left: 3px solid rgb(var(--rd-secondary));
  font-family: var(--nexus-font-heading);
  font-style: italic;
  font-size: 1.15em;
  line-height: 1.55;
  color: rgba(var(--rd-ink), .75);
}

.entry-content img,
.single-post-content img {
  border-radius: 14px;
  box-shadow: var(--rd-shadow-md);
  margin: 1.6em auto;
  display: block;
}

.entry-content code,
.single-post-content code {
  background: rgba(var(--rd-ink), .05);
  padding: 2px 8px;
  border-radius: 6px;
  font-size: .92em;
  font-family: ui-monospace, SFMono-Regular, "SF Mono", Consolas, monospace;
  color: rgb(var(--rd-primary));
}
.entry-content pre,
.single-post-content pre {
  background: #0e1426;
  color: #e7eaf3;
  padding: 1.25em 1.5em;
  border-radius: 14px;
  overflow-x: auto;
  font-size: 14px;
  line-height: 1.65;
  margin: 2em 0;
  box-shadow: var(--rd-shadow-md);
}
.entry-content pre code { background: transparent; padding: 0; color: inherit; }

/* =============================================================================
   7. AUTHOR BOX / TAGS / NAV POSTS — refinados
   ============================================================================= */
.author-box {
  display: flex;
  gap: 1.25rem;
  align-items: center;
  margin: 3rem auto;
  max-width: 740px;
  padding: 1.5rem;
  background: linear-gradient(135deg, rgba(var(--rd-primary), .025), rgba(var(--rd-secondary), .04));
  border: 1px solid var(--rd-line);
  border-radius: var(--rd-radius-card);
}
.author-box img.avatar { border-radius: 999px; width: 64px; height: 64px; box-shadow: var(--rd-shadow-sm); }
.author-box__name { font-weight: 700; margin: 0 0 4px; }
.author-box__bio { color: rgba(var(--rd-ink), .65); margin: 0; font-size: 14px; line-height: 1.6; }

.post-tags {
  max-width: 740px;
  margin: 2rem auto;
  padding: 0 1.25rem;
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  align-items: center;
  font-size: 13px;
}
.post-tags .tag {
  display: inline-block;
  padding: 5px 12px;
  border-radius: 999px;
  background: rgba(var(--rd-ink), .04);
  color: rgba(var(--rd-ink), .68);
  text-decoration: none;
  transition: all var(--rd-dur-fast) var(--rd-ease);
}
.post-tags .tag:hover {
  background: rgba(var(--rd-primary), .08);
  color: rgb(var(--rd-primary));
  transform: translateY(-1px);
}

.post-navigation {
  max-width: 1100px;
  margin: 3rem auto;
  padding: 0 1.25rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
}
.post-navigation .nav-previous a,
.post-navigation .nav-next a {
  display: block;
  padding: 1.25rem 1.5rem;
  border: 1px solid var(--rd-line);
  border-radius: var(--rd-radius-card);
  background: #fff;
  text-decoration: none;
  transition: all var(--rd-dur) var(--rd-ease);
  font-weight: 600;
  color: var(--nexus-heading);
}
.post-navigation .nav-previous a:hover,
.post-navigation .nav-next a:hover {
  border-color: rgba(var(--rd-secondary), .5);
  box-shadow: var(--rd-shadow-md);
  transform: translateY(-2px);
}
.post-navigation .nav-label {
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(var(--rd-ink), .5);
  font-weight: 600;
}
.post-navigation .nav-next { text-align: right; }

/* =============================================================================
   8. FOOTER — más legible y completo (cuando hay default branding)
   ============================================================================= */
.site-footer {
  background: linear-gradient(180deg, #0a1733 0%, #050b1d 100%);
  color: rgba(255, 255, 255, .82);
  padding-top: clamp(3rem, 6vw, 5rem) !important;
}
.site-footer .footer-site-name,
.site-footer .footer-logo-wrap a,
.site-footer .footer-brand a {
  color: #fff !important;
  font-family: var(--nexus-font-heading);
  font-size: 1.6rem;
  font-weight: 700;
  text-decoration: none;
  letter-spacing: -.01em;
}
.site-footer .footer-brand-description {
  color: rgba(255, 255, 255, .58);
  font-size: 14px;
  line-height: 1.7;
  margin-top: .75rem;
  max-width: 36ch;
}
.site-footer .footer-widget h2,
.site-footer .footer-widget h3,
.site-footer .footer-widget .widget-title {
  color: #fff !important;
  font-family: var(--nexus-font-body) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .12em;
  text-transform: uppercase;
  margin-bottom: 1rem;
  opacity: .85;
}
.site-footer a {
  color: rgba(255, 255, 255, .68);
  text-decoration: none;
  transition: color var(--rd-dur-fast) var(--rd-ease);
}
.site-footer a:hover { color: #fff; }

.footer-social {
  display: flex;
  gap: .5rem;
  margin-top: 1.25rem;
}
.footer-social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(255, 255, 255, .08);
  color: rgba(255, 255, 255, .85);
  transition: all var(--rd-dur) var(--rd-ease);
}
.footer-social a:hover {
  background: rgb(var(--rd-secondary));
  color: #fff;
  transform: translateY(-2px);
  border-color: transparent;
}

.footer-bottom,
.site-footer .copyright {
  border-top: 1px solid rgba(255, 255, 255, .08);
  margin-top: clamp(2rem, 4vw, 3rem);
  padding: 1.5rem 0;
  text-align: center;
  font-size: 13px;
  color: rgba(255, 255, 255, .5);
}

/* =============================================================================
   9. COOKIE BANNER — discreto, fixed bottom-right, no tapa contenido
   ============================================================================= */
.cookie-banner,
.nexus-cookie-banner,
[class*="cookie-notice"],
[id*="cookie-banner"] {
  position: fixed !important;
  bottom: 1rem !important;
  right: 1rem !important;
  left: auto !important;
  max-width: 360px !important;
  background: rgba(14, 20, 38, .94) !important;
  color: #fff !important;
  padding: 1rem 1.25rem !important;
  border-radius: 16px !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
  box-shadow: var(--rd-shadow-lg) !important;
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,.06);
  z-index: 200 !important;
}
.cookie-banner a,
[class*="cookie-notice"] a { color: rgb(var(--rd-secondary)) !important; }

/* =============================================================================
   10. PAGINATION — minimalista
   ============================================================================= */
.pagination,
.nav-links.pagination,
.posts-pagination {
  display: flex;
  justify-content: center;
  gap: .4rem;
  margin: 3rem 0;
  flex-wrap: wrap;
}
.pagination a, .pagination span,
.posts-pagination a, .posts-pagination span,
.nav-links .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 12px;
  border-radius: 10px;
  background: #fff;
  border: 1px solid var(--rd-line);
  color: var(--nexus-heading);
  font-weight: 600;
  font-size: 14px;
  text-decoration: none;
  transition: all var(--rd-dur-fast) var(--rd-ease);
}
.pagination a:hover, .posts-pagination a:hover,
.nav-links .page-numbers:hover {
  border-color: rgba(var(--rd-secondary), .5);
  color: rgb(var(--rd-primary));
  transform: translateY(-1px);
}
.pagination .current,
.pagination span.current,
.nav-links .page-numbers.current {
  background: rgb(var(--rd-primary));
  color: #fff;
  border-color: transparent;
}

/* =============================================================================
   11. REVEAL ON SCROLL — simple, sin librerías
   ============================================================================= */
[data-rd-reveal] {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity var(--rd-dur-slow) var(--rd-ease),
              transform var(--rd-dur-slow) var(--rd-ease);
}
[data-rd-reveal].is-visible {
  opacity: 1;
  transform: none;
}

/* =============================================================================
   12. UTILIDADES
   ============================================================================= */
.rd-balanced { text-wrap: balance; }
.rd-prose { max-width: 65ch; }

/* Back-to-top */
.back-to-top,
.scroll-top-btn,
.nexus-back-to-top {
  width: 44px !important;
  height: 44px !important;
  border-radius: 999px !important;
  background: rgb(var(--rd-primary)) !important;
  color: #fff !important;
  box-shadow: var(--rd-shadow-md) !important;
  transition: transform var(--rd-dur) var(--rd-ease) !important;
}
.back-to-top:hover { transform: translateY(-3px) !important; }

/* Responsive: cards a 1 columna en móvil ya lo da auto-fill */
@media (max-width: 640px) {
  .post-navigation { grid-template-columns: 1fr; }
  .post-navigation .nav-next { text-align: left; }
  .author-box { flex-direction: column; text-align: center; }
}

/* =============================================================================
   13. CONTACT PAGE — minimalismo limpio
   ============================================================================= */
.rd-contact-hero {
  position: relative;
  padding: clamp(4rem, 9vw, 7rem) 0 clamp(3rem, 7vw, 5.5rem);
  background:
    radial-gradient(ellipse 70% 60% at 20% 30%, rgba(76,200,99, .35), transparent 60%),
    radial-gradient(ellipse 60% 50% at 80% 70%, rgba(244, 162, 97, .18), transparent 65%),
    linear-gradient(135deg, #2dae43 0%, #1f8a32 60%, #4cc863 130%);
  color: #fff;
  overflow: hidden;
  text-align: center;
}
.rd-contact-hero::after {
  content: "";
  position: absolute; inset: 0;
  background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .14 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  opacity: .35;
  pointer-events: none;
  mix-blend-mode: overlay;
}
.rd-contact-hero > * { position: relative; z-index: 1; }
.rd-contact-hero .rd-eyebrow {
  font-size: 12px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .72);
  margin: 0 0 .75rem;
}
.rd-contact-hero h1 {
  font-size: clamp(2.5rem, 6vw, 4.5rem);
  line-height: 1.05;
  letter-spacing: -.02em;
  margin: 0 auto .75rem;
  color: #fff;
  text-wrap: balance;
}
.rd-contact-hero .rd-lead {
  font-size: clamp(15px, 1.4vw, 18px);
  max-width: 56ch;
  margin: 0 auto;
  color: rgba(255, 255, 255, .82);
  line-height: 1.6;
}

.rd-contact-body {
  padding: clamp(3rem, 6vw, 5rem) 0 clamp(4rem, 8vw, 6rem);
  background: #fafbfd;
}
.rd-contact-grid {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: clamp(1.5rem, 4vw, 4rem);
  align-items: start;
}
@media (max-width: 880px) {
  .rd-contact-grid { grid-template-columns: 1fr; }
}

.rd-contact-info h2 {
  font-family: var(--nexus-font-heading);
  font-size: clamp(1.4rem, 2.4vw, 2rem);
  font-weight: 700;
  letter-spacing: -.01em;
  margin: 0 0 1rem;
  color: #111827;
}
.rd-contact-info > p {
  color: rgba(17, 24, 39, .68);
  line-height: 1.7;
  margin: 0 0 2rem;
}

.rd-contact-list {
  list-style: none;
  margin: 0 0 2rem;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.rd-contact-list li {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  padding: 1.1rem 1.25rem;
  background: #fff;
  border: 1px solid rgba(17, 24, 39, .08);
  border-radius: 14px;
  transition: transform 280ms cubic-bezier(.2,.7,.2,1), box-shadow 280ms cubic-bezier(.2,.7,.2,1), border-color 280ms;
}
.rd-contact-list li:hover {
  transform: translateY(-2px);
  border-color: rgba(76,200,99, .35);
  box-shadow: 0 12px 32px -8px rgba(17, 24, 39, .12);
}
.rd-contact-icon {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(45,174,67, .08), rgba(76,200,99, .15));
  color: #2dae43;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
}
.rd-contact-list strong {
  display: block;
  font-size: 13px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(17, 24, 39, .55);
  margin-bottom: 4px;
  font-weight: 600;
}
.rd-contact-list a, .rd-contact-list span {
  color: #111827;
  text-decoration: none;
  font-weight: 500;
  font-size: 15px;
}
.rd-contact-list a:hover { color: #2dae43; }

.rd-contact-socials {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: 1.5rem;
}
.rd-contact-socials a {
  display: inline-flex;
  align-items: center;
  padding: 8px 16px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(17, 24, 39, .08);
  color: #111827;
  text-decoration: none;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .02em;
  transition: all 200ms cubic-bezier(.2,.7,.2,1);
}
.rd-contact-socials a:hover {
  background: #2dae43;
  color: #fff;
  border-color: transparent;
  transform: translateY(-1px);
}

/* Form */
.rd-contact-form {
  background: #fff;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  border-radius: 22px;
  border: 1px solid rgba(17, 24, 39, .08);
  box-shadow: 0 24px 56px -16px rgba(45,174,67, .08);
  display: flex;
  flex-direction: column;
  gap: 1.1rem;
}
.rd-field { display: flex; flex-direction: column; gap: 6px; }
.rd-field label {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(17, 24, 39, .58);
}
.rd-field input,
.rd-field textarea {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid rgba(17, 24, 39, .12);
  border-radius: 10px;
  font: inherit;
  font-size: 15px;
  color: #111827;
  background: #fafbfd;
  transition: border-color 180ms, box-shadow 180ms, background 180ms;
}
.rd-field textarea { resize: vertical; min-height: 130px; line-height: 1.55; }
.rd-field input::placeholder,
.rd-field textarea::placeholder { color: rgba(17, 24, 39, .38); }
.rd-field input:focus,
.rd-field textarea:focus {
  outline: none;
  border-color: rgba(76,200,99, .55);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(76,200,99, .12);
}

.rd-btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 14px 24px;
  border: 0;
  border-radius: 999px;
  background: #2dae43;
  color: #fff;
  font-weight: 600;
  font-size: 14px;
  letter-spacing: .02em;
  cursor: pointer;
  transition: transform 240ms cubic-bezier(.2,.7,.2,1),
              background 240ms,
              box-shadow 240ms;
  margin-top: 4px;
  align-self: flex-start;
  box-shadow: 0 12px 32px -8px rgba(45,174,67, .35);
}
.rd-btn-primary:hover { background: #1f8a32; transform: translateY(-2px); box-shadow: 0 16px 40px -8px rgba(45,174,67, .5); }

.rd-form-note {
  font-size: 12.5px;
  color: rgba(17, 24, 39, .5);
  line-height: 1.55;
  margin: 6px 0 0;
}
.rd-form-note a { color: #2dae43; font-weight: 600; text-decoration: none; }

/* =============================================================================
   14. FOOTER WIDGETS — layout en columnas con respiración
   ============================================================================= */
.site-footer .footer-widgets {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: clamp(1.5rem, 4vw, 4rem);
  padding-bottom: clamp(2rem, 4vw, 3rem);
}
.site-footer .footer-widgets.cols-1 { grid-template-columns: 1fr; }
.site-footer .footer-widgets.cols-2 { grid-template-columns: 2fr 1fr; }
.site-footer .footer-widgets.cols-3 { grid-template-columns: 2fr 1fr 1fr; }
@media (max-width: 880px) {
  .site-footer .footer-widgets,
  .site-footer .footer-widgets.cols-2,
  .site-footer .footer-widgets.cols-3,
  .site-footer .footer-widgets.cols-4 { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 540px) {
  .site-footer .footer-widgets,
  .site-footer .footer-widgets.cols-2,
  .site-footer .footer-widgets.cols-3,
  .site-footer .footer-widgets.cols-4 { grid-template-columns: 1fr; }
}

.site-footer .footer-widget ul {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-direction: column; gap: 8px;
}
.site-footer .footer-widget ul li a {
  font-size: 14px;
  display: inline-block;
  padding: 2px 0;
  position: relative;
}
.site-footer .footer-widget ul li a::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -1px;
  height: 1px; background: rgba(255,255,255,.5);
  transform: scaleX(0); transform-origin: 0 50%;
  transition: transform 240ms cubic-bezier(.2,.7,.2,1);
}
.site-footer .footer-widget ul li a:hover::after { transform: scaleX(1); }

/* Página Contact: ocultar el page-hero del tema (usamos el rd-contact-hero del contenido) */
.page-id-400 .page-header,
.page-id-400 .page-hero,
.page-id-400 .archive-hero,
.page-id-400 > main > .page-banner,
body.page-template-default.page-id-400 .nexus-page-banner,
body.page-id-400 .single-page-header { display: none !important; }

/* =============================================================================
   15. ABOUT / PAGE — container y respiración para contenido sin builder
   ============================================================================= */
.page:not(.page-id-400) .entry-content,
.page:not(.page-id-400) .page-content,
body.page .site-content > article > .post-content,
body.page-template-default .single-page > .entry-content {
  max-width: 1100px;
  margin: clamp(2rem, 4vw, 3rem) auto;
  padding: 0 clamp(1.25rem, 4vw, 2rem);
}
.page .entry-content > h1,
.page .entry-content > h2 {
  text-wrap: balance;
  margin-top: 1.5em;
}
.page .entry-content > p {
  max-width: 70ch;
}
.page .entry-content img {
  border-radius: 16px;
  box-shadow: var(--rd-shadow-md);
  margin: 1.5em 0;
}

/* =============================================================================
   16. LOGO — añadir mark visual al lado del texto
   ============================================================================= */
.site-name-link::before {
  content: "";
  display: inline-block;
  width: 28px;
  height: 28px;
  margin-right: 10px;
  vertical-align: -7px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><defs><linearGradient id='g' x1='0' y1='0' x2='1' y2='1'><stop offset='0' stop-color='%230a2463'/><stop offset='1' stop-color='%233e92cc'/></linearGradient></defs><rect width='32' height='32' rx='9' fill='url(%23g)'/><path d='M11 9.5v13M21 9.5v13M11 16h10' stroke='white' stroke-width='2.6' stroke-linecap='round'/><circle cx='16' cy='16' r='1.8' fill='%23F4A261'/></svg>");
  background-size: contain;
  background-repeat: no-repeat;
  transition: transform 600ms cubic-bezier(.2,.7,.2,1);
}
.site-name-link:hover::before { transform: rotate(-8deg) scale(1.06); }
.site-name {
  font-family: var(--nexus-font-heading);
  letter-spacing: -.01em;
}

/* =============================================================================
   17. DARK MODE — automático + toggle manual
   ============================================================================= */
:root {
  color-scheme: light;
}
html[data-theme="dark"] {
  color-scheme: dark;
  --rd-line: rgba(255, 255, 255, .08);
  --rd-line-strong: rgba(255, 255, 255, .14);
}

/* Estilos dark — solo cuando data-theme=dark */
html[data-theme="dark"] body { background: #0b1020; color: rgba(255, 255, 255, .82); }
html[data-theme="dark"] .site-header { background: rgba(11, 16, 32, .72); }
html[data-theme="dark"] .site-header.is-scrolled { background: rgba(11, 16, 32, .92); border-bottom-color: rgba(255,255,255,.06); }
html[data-theme="dark"] .nexus-menu > li > a { color: rgba(255, 255, 255, .82); }
html[data-theme="dark"] .nexus-menu > li > a:hover,
html[data-theme="dark"] .nexus-menu > li.current-menu-item > a { color: #7ad88d; }
html[data-theme="dark"] .site-name-link,
html[data-theme="dark"] .site-name { color: #fff; }

html[data-theme="dark"] .post-card,
html[data-theme="dark"] article.post-preview,
html[data-theme="dark"] article.post-card-item {
  background: #131a30;
  border-color: rgba(255, 255, 255, .07);
  box-shadow: 0 4px 12px rgba(0,0,0,.25);
}
html[data-theme="dark"] .post-card:hover { box-shadow: 0 24px 56px -12px rgba(0,0,0,.5); border-color: rgba(255,255,255,.12); }
html[data-theme="dark"] .post-card-title,
html[data-theme="dark"] .post-card .entry-title,
html[data-theme="dark"] article.post-preview h2,
html[data-theme="dark"] article.post-preview h3 { color: #fff; }
html[data-theme="dark"] .post-card-excerpt,
html[data-theme="dark"] .post-excerpt { color: rgba(255,255,255,.62); }
html[data-theme="dark"] .post-category-badge,
html[data-theme="dark"] .post-card .post-categories a {
  background: rgba(76,200,99,.16); color: #7ad88d;
}
html[data-theme="dark"] .post-card-meta { border-top-color: rgba(255,255,255,.06); color: rgba(255,255,255,.5); }
html[data-theme="dark"] .read-more,
html[data-theme="dark"] .read-more-btn,
html[data-theme="dark"] a[class*="read-more"] { color: #7ad88d; }

html[data-theme="dark"] .entry-content,
html[data-theme="dark"] .single-post-content { color: rgba(255,255,255,.8); }
html[data-theme="dark"] .entry-content h2,
html[data-theme="dark"] .entry-content h3,
html[data-theme="dark"] .single-post-content h2,
html[data-theme="dark"] .single-post-content h3 { color: #fff; }
html[data-theme="dark"] .entry-content > p:first-of-type::first-letter { color: #7ad88d; }
html[data-theme="dark"] .entry-content blockquote { color: rgba(255,255,255,.78); border-left-color: #7ad88d; }
html[data-theme="dark"] .entry-content code { background: rgba(255,255,255,.08); color: #7ad88d; }

html[data-theme="dark"] .pagination a, html[data-theme="dark"] .pagination span:not(.current) {
  background: #131a30; color: #fff; border-color: rgba(255,255,255,.08);
}

html[data-theme="dark"] .author-box {
  background: linear-gradient(135deg, rgba(76,200,99,.06), rgba(244,162,97,.04));
  border-color: rgba(255,255,255,.06);
}
html[data-theme="dark"] .author-box__bio { color: rgba(255,255,255,.6); }
html[data-theme="dark"] .author-box__name a,
html[data-theme="dark"] .author-box__name { color: #fff; }

html[data-theme="dark"] .post-tags .tag {
  background: rgba(255,255,255,.06); color: rgba(255,255,255,.7);
}
html[data-theme="dark"] .post-tags .tag:hover { background: rgba(76,200,99,.18); color: #7ad88d; }

html[data-theme="dark"] .post-navigation .nav-previous a,
html[data-theme="dark"] .post-navigation .nav-next a {
  background: #131a30;
  color: #fff;
  border-color: rgba(255,255,255,.08);
}
html[data-theme="dark"] .post-navigation .nav-label { color: rgba(255,255,255,.45); }

html[data-theme="dark"] .rd-contact-body { background: #0e1326; }
html[data-theme="dark"] .rd-contact-info h2 { color: #fff; }
html[data-theme="dark"] .rd-contact-info > p { color: rgba(255,255,255,.62); }
html[data-theme="dark"] .rd-contact-list li { background: #131a30; border-color: rgba(255,255,255,.07); }
html[data-theme="dark"] .rd-contact-list a, html[data-theme="dark"] .rd-contact-list span { color: #fff; }
html[data-theme="dark"] .rd-contact-form {
  background: #131a30;
  border-color: rgba(255,255,255,.07);
}
html[data-theme="dark"] .rd-field input,
html[data-theme="dark"] .rd-field textarea {
  background: #0e1326;
  border-color: rgba(255,255,255,.1);
  color: #fff;
}
html[data-theme="dark"] .rd-field input::placeholder,
html[data-theme="dark"] .rd-field textarea::placeholder { color: rgba(255,255,255,.35); }
html[data-theme="dark"] .rd-contact-socials a {
  background: #131a30;
  border-color: rgba(255,255,255,.08);
  color: #fff;
}

/* =============================================================================
   18. THEME TOGGLE BUTTON
   ============================================================================= */
.rd-theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  margin-left: 10px;
  border: 1px solid var(--rd-line);
  background: rgba(255,255,255,.6);
  border-radius: 999px;
  cursor: pointer;
  color: var(--nexus-heading);
  transition: all var(--rd-dur) var(--rd-ease);
  flex-shrink: 0;
}
.rd-theme-toggle:hover {
  background: rgba(var(--rd-primary), .08);
  border-color: rgba(var(--rd-secondary), .35);
  transform: rotate(20deg);
}
.rd-theme-toggle svg { width: 18px; height: 18px; }
.rd-theme-toggle .icon-sun { display: none; }
.rd-theme-toggle .icon-moon { display: block; }
html[data-theme="dark"] .rd-theme-toggle {
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.1);
  color: #fff;
}
html[data-theme="dark"] .rd-theme-toggle .icon-sun { display: block; }
html[data-theme="dark"] .rd-theme-toggle .icon-moon { display: none; }

/* =============================================================================
   19. PLACEHOLDER MEJORADO PARA POSTS SIN IMAGEN
   ============================================================================= */
.post-card-thumb.is-empty,
.post-thumbnail-wrap.is-empty,
.post-thumbnail.is-empty,
article.post-preview:not(:has(img)) .post-thumbnail-wrap,
article.post-card-item:not(:has(img)) .post-card-thumb {
  position: relative;
  background:
    radial-gradient(circle at 25% 25%, rgba(76,200,99,.4), transparent 55%),
    radial-gradient(circle at 75% 75%, rgba(244,162,97,.25), transparent 55%),
    linear-gradient(135deg, #2dae43 0%, #1f8a32 100%);
  display: flex;
  align-items: center;
  justify-content: center;
}
.post-card-thumb.is-empty::after,
.post-thumbnail-wrap.is-empty::after,
.post-thumbnail.is-empty::after,
article.post-preview:not(:has(img)) .post-thumbnail-wrap::after {
  content: attr(data-initials);
  font-family: var(--nexus-font-heading);
  font-size: clamp(2.5rem, 6vw, 4rem);
  font-weight: 800;
  color: rgba(255, 255, 255, .42);
  letter-spacing: .04em;
  text-shadow: 0 4px 12px rgba(0,0,0,.25);
}

/* =============================================================================
   20. FOOTER COLUMN HACK — when we have less widgets, distribute sensibly
   ============================================================================= */
.site-footer .footer-widget h4.footer-widget-title {
  color: #fff;
  font-family: var(--nexus-font-body);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  margin: 0 0 1rem;
  opacity: .85;
}

/* Newsletter widget styling */
.rd-newsletter {
  display: flex;
  flex-direction: column;
  gap: .75rem;
}
.rd-newsletter p {
  color: rgba(255,255,255,.6);
  font-size: 14px;
  line-height: 1.55;
  margin: 0;
}
.rd-newsletter form {
  display: flex;
  gap: .35rem;
  margin-top: .35rem;
}
.rd-newsletter input {
  flex: 1;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.1);
  background: rgba(255,255,255,.06);
  color: #fff;
  font-size: 13px;
}
.rd-newsletter input::placeholder { color: rgba(255,255,255,.42); }
.rd-newsletter input:focus { outline: none; border-color: rgba(76,200,99,.55); background: rgba(255,255,255,.1); }
.rd-newsletter button {
  padding: 10px 16px;
  border-radius: 999px;
  border: 0;
  background: rgb(var(--rd-secondary));
  color: #fff;
  font-weight: 600;
  font-size: 13px;
  cursor: pointer;
  transition: background var(--rd-dur);
}
.rd-newsletter button:hover { background: #7ad88d; }

/* =============================================================================
   FONT OVERRIDE — Space Grotesk para TODO
   ============================================================================= */
:root {
  --nexus-font-heading: "Space Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif !important;
  --nexus-font-body:    "Space Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif !important;
}
html, body,
h1, h2, h3, h4, h5, h6,
p, a, li, span, strong, em, blockquote, button, input, textarea, select,
.site-name, .site-name-link,
.post-card-title, .post-card .entry-title,
.entry-content, .single-post-content,
.entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4,
.single-post-content h1, .single-post-content h2, .single-post-content h3,
.elementor-widget-heading h1, .elementor-widget-heading h2,
.elementor-widget-heading h3, .elementor-widget-heading h4,
.elementor-element h1, .elementor-element h2, .elementor-element h3 {
  font-family: "Space Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif !important;
}

/* Drop cap también */
.entry-content > p:first-of-type::first-letter,
.single-post-content > p:first-of-type::first-letter {
  font-family: "Space Grotesk", system-ui, sans-serif !important;
  font-weight: 700 !important;
}

/* Body más afinado por la nueva fuente */
body { font-feature-settings: "ss01" on, "ss02" on; letter-spacing: -.005em; }
h1, h2, h3 { letter-spacing: -.025em; font-weight: 700; }

/* =============================================================================
   ABOUT / ELEMENTOR — container y respiración cuando es Elementor
   ============================================================================= */
body.page-id-235 .elementor-section.elementor-section-boxed > .elementor-container,
body.page-id-235 .elementor-section > .e-con-inner,
body.page-id-235 .elementor-section > .elementor-container {
  max-width: 1140px !important;
  padding-left: clamp(1rem, 4vw, 2rem) !important;
  padding-right: clamp(1rem, 4vw, 2rem) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
body.page-id-235 .elementor-widget-container,
body.page-id-235 .elementor-widget-text-editor,
body.page-id-235 .elementor-widget-heading {
  max-width: 100% !important;
}
body.page-id-235 .elementor-widget-heading > .elementor-widget-container > * {
  text-wrap: balance;
  letter-spacing: -.025em;
}
body.page-id-235 .elementor-section { padding-block: clamp(2.5rem, 5vw, 4rem); }

/* También para cualquier página Elementor sin layout específico (servicios futuros, etc.) */
body.elementor-page:not(.page-id-400) .elementor-section.elementor-section-stretched > .elementor-container { max-width: 1140px; }

/* =============================================================================
   THEME TOGGLE — asegurar visibilidad y posición correcta
   ============================================================================= */
.header-cta .rd-theme-toggle,
.header-actions .rd-theme-toggle {
  margin-left: 12px;
  width: 42px;
  height: 42px;
}

/* Si el header-cta solo tiene el toggle (sin botón Get Started visible), mantener flex */
.header-cta { display: flex !important; align-items: center; gap: .5rem; }

/* Container real para .elementor-page-content (lo que usa About y otras pages simples) */
.elementor-page-content {
  max-width: 1100px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: clamp(1.25rem, 4vw, 2rem) !important;
  padding-right: clamp(1.25rem, 4vw, 2rem) !important;
  padding-top: clamp(2rem, 5vw, 3.5rem) !important;
  padding-bottom: clamp(2rem, 5vw, 4rem) !important;
}
.elementor-page-content > h1,
.elementor-page-content > h2 {
  text-wrap: balance;
  letter-spacing: -.025em;
  margin-top: 1.4em;
}
.elementor-page-content > h1:first-child { margin-top: 0; }
.elementor-page-content > p {
  max-width: 70ch;
  font-size: clamp(15.5px, 1.05vw, 17px);
  line-height: 1.7;
  color: rgba(17, 24, 39, .82);
}
.elementor-page-content > img,
.elementor-page-content img {
  max-width: 100% !important;
  height: auto !important;
  border-radius: 16px;
  box-shadow: 0 12px 32px -8px rgba(17, 24, 39, .12);
  margin: 1.5em 0;
  display: block;
}
.elementor-page-content > ul,
.elementor-page-content > ol {
  max-width: 70ch;
  line-height: 1.7;
}

/* =============================================================================
   21. HEADER COMPACTO — reducir alturas y padding excesivo
   ============================================================================= */
:root {
  --nexus-header-height: 64px !important;
}
.site-header { height: 64px !important; }
.site-header.is-scrolled { height: 56px !important; }
.header-inner { gap: clamp(.75rem, 2vw, 1.5rem); }

/* Reducir padding de section-padding cuando hay hero arriba */
.single-post-hero + section.section-padding,
.nexus-page-header + section.section-padding {
  padding-top: clamp(2rem, 4vw, 3.5rem) !important;
  padding-bottom: clamp(2rem, 4vw, 3.5rem) !important;
}

/* Reducir el espacio en blanco entre hero y cards en blog/archive */
.archive-hero + .archive-content,
.blog-hero + .blog-content,
.archive .site-main > .container > .archive-posts,
.blog .site-main > .container > .blog-posts {
  padding-top: clamp(1.5rem, 3vw, 2.5rem) !important;
}

/* Single-post-hero más compacto */
.single-post-hero { height: 460px !important; }
@media (max-width: 768px) {
  .single-post-hero { height: 360px !important; }
}

/* =============================================================================
   22. SINGLE POST GRID — article + sidebar
   ============================================================================= */
.single-post .with-sidebar,
body.single .with-sidebar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: clamp(2rem, 4vw, 3.5rem);
  align-items: start;
  max-width: 1200px;
  margin: 0 auto;
}
@media (max-width: 1024px) {
  .single-post .with-sidebar,
  body.single .with-sidebar {
    grid-template-columns: 1fr;
  }
}

/* La article ocupa columna 1, los nav-related y author quedan también en col 1 */
.single-post .with-sidebar > article.single-article,
.single-post .with-sidebar > .author-box,
.single-post .with-sidebar > .related-posts,
.single-post .with-sidebar > .nav-links {
  grid-column: 1;
  max-width: 100%;
}

/* La sidebar va en columna 2, sticky */
.single-post .with-sidebar > .rd-sidebar,
.single-post .with-sidebar > #secondary {
  grid-column: 2;
  grid-row: 1 / span 99;
  position: sticky;
  top: 88px;
  align-self: start;
  max-height: calc(100vh - 100px);
  overflow-y: auto;
  padding-right: 4px;
}
.single-post .with-sidebar > .rd-sidebar::-webkit-scrollbar { width: 4px; }
.single-post .with-sidebar > .rd-sidebar::-webkit-scrollbar-thumb { background: rgba(17,24,39,.15); border-radius: 4px; }

/* Quitar los max-width forzados del entry-content cuando hay sidebar */
.single-post .with-sidebar .entry-content,
body.single .with-sidebar .entry-content {
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* =============================================================================
   23. SIDEBAR WIDGETS
   ============================================================================= */
.rd-sidebar {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.rd-widget {
  background: #fff;
  border: 1px solid rgba(17,24,39,.07);
  border-radius: 16px;
  padding: 1.25rem 1.35rem;
  transition: box-shadow var(--rd-dur) var(--rd-ease);
}
.rd-widget:hover { box-shadow: 0 8px 28px -10px rgba(17,24,39,.08); }
.rd-widget__title {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: rgba(17,24,39,.55) !important;
  margin: 0 0 1rem !important;
  font-family: "Space Grotesk", sans-serif !important;
}

/* TOC */
.rd-widget--toc { position: relative; }
.rd-toc ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.rd-toc li { line-height: 1.45; }
.rd-toc li.rd-toc-h3 { padding-left: 16px; }
.rd-toc a {
  display: block;
  padding: 6px 8px 6px 12px;
  font-size: 13.5px;
  color: rgba(17,24,39,.7);
  text-decoration: none;
  border-left: 2px solid transparent;
  border-radius: 0 8px 8px 0;
  transition: all 200ms cubic-bezier(.2,.7,.2,1);
}
.rd-toc a:hover {
  color: rgb(var(--rd-primary));
  border-left-color: rgba(var(--rd-secondary), .6);
  background: rgba(var(--rd-secondary), .04);
}
.rd-toc a.is-active {
  color: rgb(var(--rd-primary));
  border-left-color: rgb(var(--rd-secondary));
  background: rgba(var(--rd-secondary), .06);
  font-weight: 600;
}
.rd-widget--toc:has(.rd-toc ul:empty) { display: none; }

/* Share buttons */
.rd-share { display: flex; gap: .5rem; flex-wrap: wrap; }
.rd-share__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 12px;
  background: rgba(17,24,39,.04);
  color: rgba(17,24,39,.65);
  text-decoration: none;
  transition: all 200ms cubic-bezier(.2,.7,.2,1);
}
.rd-share__btn:hover { transform: translateY(-2px); color: #fff; }
.rd-share__x:hover { background: #000; }
.rd-share__linkedin:hover { background: #0A66C2; }
.rd-share__facebook:hover { background: #1877F2; }
.rd-share__whatsapp:hover { background: #25D366; }

/* Author mini */
.rd-author-mini { display: flex; gap: .85rem; align-items: flex-start; }
.rd-author-mini__avatar { width: 48px; height: 48px; border-radius: 999px; flex-shrink: 0; }
.rd-author-mini__name {
  font-weight: 600;
  font-size: 14.5px;
  color: rgb(var(--rd-primary));
  text-decoration: none;
  display: block;
  margin-bottom: 4px;
}
.rd-author-mini__name:hover { color: rgb(var(--rd-secondary)); }
.rd-author-mini__bio {
  font-size: 13px;
  line-height: 1.5;
  color: rgba(17,24,39,.6);
  margin: 0;
}

/* Newsletter widget en sidebar */
.rd-widget--newsletter,
.rd-widget--cta {
  background: linear-gradient(135deg, rgba(var(--rd-primary),.04), rgba(var(--rd-secondary),.08));
  border-color: rgba(var(--rd-secondary),.2);
}
.rd-widget__copy {
  font-size: 13.5px;
  line-height: 1.55;
  color: rgba(17,24,39,.7);
  margin: 0 0 .85rem;
}
.rd-widget__form { display: flex; flex-direction: column; gap: .5rem; }
.rd-widget__form input {
  padding: 10px 14px;
  border-radius: 10px;
  border: 1px solid rgba(17,24,39,.1);
  background: #fff;
  font-size: 13.5px;
  font-family: inherit;
}
.rd-widget__form input:focus {
  outline: none;
  border-color: rgba(var(--rd-secondary),.6);
  box-shadow: 0 0 0 3px rgba(var(--rd-secondary),.12);
}
.rd-widget__form button {
  padding: 10px 14px;
  border-radius: 10px;
  border: 0;
  background: rgb(var(--rd-primary));
  color: #fff;
  font-weight: 600;
  font-size: 13.5px;
  cursor: pointer;
  transition: background 200ms;
}
.rd-widget__form button:hover { background: #1f8a32; }

/* Categorías list */
.rd-cats { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.rd-cats li a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 10px;
  font-size: 13.5px;
  color: rgba(17,24,39,.78);
  text-decoration: none;
  border-radius: 8px;
  transition: all 180ms;
}
.rd-cats li a:hover {
  background: rgba(var(--rd-secondary),.06);
  color: rgb(var(--rd-primary));
  padding-left: 14px;
}
.rd-cats li a span {
  font-size: 11px;
  font-weight: 600;
  background: rgba(17,24,39,.06);
  padding: 2px 8px;
  border-radius: 999px;
  color: rgba(17,24,39,.55);
}
.rd-cats li a:hover span {
  background: rgba(var(--rd-primary),.1);
  color: rgb(var(--rd-primary));
}

/* Popular posts */
.rd-popular { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .85rem; }
.rd-popular li a {
  display: flex;
  gap: .75rem;
  align-items: center;
  text-decoration: none;
  color: var(--nexus-heading);
  transition: transform 200ms;
}
.rd-popular li a:hover { transform: translateX(2px); }
.rd-popular li img {
  width: 56px;
  height: 56px;
  border-radius: 10px;
  object-fit: cover;
  flex-shrink: 0;
}
.rd-popular__placeholder {
  width: 56px;
  height: 56px;
  border-radius: 10px;
  background: linear-gradient(135deg, rgb(var(--rd-primary)), rgb(var(--rd-secondary)));
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 18px;
  flex-shrink: 0;
}
.rd-popular__title {
  font-size: 13.5px;
  line-height: 1.4;
  font-weight: 500;
  color: rgba(17,24,39,.85);
}
.rd-popular li a:hover .rd-popular__title { color: rgb(var(--rd-primary)); }

/* =============================================================================
   24. DARK MODE para el sidebar
   ============================================================================= */
html[data-theme="dark"] .rd-widget {
  background: #131a30;
  border-color: rgba(255,255,255,.07);
}
html[data-theme="dark"] .rd-widget__title { color: rgba(255,255,255,.55) !important; }
html[data-theme="dark"] .rd-toc a { color: rgba(255,255,255,.65); }
html[data-theme="dark"] .rd-toc a:hover { color: #7ad88d; }
html[data-theme="dark"] .rd-share__btn { background: rgba(255,255,255,.05); color: rgba(255,255,255,.7); }
html[data-theme="dark"] .rd-author-mini__name { color: #7ad88d; }
html[data-theme="dark"] .rd-author-mini__bio { color: rgba(255,255,255,.6); }
html[data-theme="dark"] .rd-widget--newsletter,
html[data-theme="dark"] .rd-widget--cta {
  background: linear-gradient(135deg, rgba(76,200,99,.08), rgba(244,162,97,.05));
}
html[data-theme="dark"] .rd-widget__copy { color: rgba(255,255,255,.7); }
html[data-theme="dark"] .rd-widget__form input {
  background: #0e1326; color: #fff; border-color: rgba(255,255,255,.1);
}
html[data-theme="dark"] .rd-cats li a { color: rgba(255,255,255,.75); }
html[data-theme="dark"] .rd-cats li a:hover { background: rgba(76,200,99,.1); color: #7ad88d; }
html[data-theme="dark"] .rd-cats li a span { background: rgba(255,255,255,.06); color: rgba(255,255,255,.5); }
html[data-theme="dark"] .rd-popular li a { color: #fff; }
html[data-theme="dark"] .rd-popular__title { color: rgba(255,255,255,.85); }

/* =============================================================================
   25. MEGA MENU
   ============================================================================= */
.rd-mega-trigger {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 16px;
  font-family: "Space Grotesk", sans-serif;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .02em;
  color: var(--nexus-text);
  background: transparent;
  border: 0;
  border-radius: 8px;
  cursor: pointer;
  position: relative;
  white-space: nowrap;
  transition: color var(--rd-dur-fast) var(--rd-ease);
}
.rd-mega-trigger:hover { color: rgb(var(--rd-primary)); }
.rd-mega-trigger svg {
  width: 12px;
  height: 12px;
  transition: transform var(--rd-dur) var(--rd-ease);
}
.rd-mega-trigger.is-open svg { transform: rotate(180deg); }
.rd-mega-trigger::after {
  content: "";
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 6px;
  height: 2px;
  background: rgb(var(--rd-secondary));
  border-radius: 2px;
  transform: scaleX(0);
  transition: transform var(--rd-dur) var(--rd-ease);
}
.rd-mega-trigger.is-open::after,
.rd-mega-trigger:hover::after { transform: scaleX(1); }

/* Backdrop */
.rd-mega-backdrop {
  position: fixed;
  inset: 0;
  top: var(--nexus-header-height, 64px);
  background: rgba(7, 12, 24, .35);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--rd-dur) var(--rd-ease);
  z-index: 90;
}
.rd-mega-backdrop.is-open {
  opacity: 1;
  pointer-events: auto;
}

/* Panel */
.rd-mega-panel {
  position: fixed;
  top: var(--nexus-header-height, 64px);
  left: 50%;
  transform: translateX(-50%) translateY(-12px);
  width: min(1240px, calc(100vw - 40px));
  max-height: calc(100vh - 80px);
  overflow-y: auto;
  background: #fff;
  border-radius: 0 0 22px 22px;
  box-shadow: 0 32px 80px -20px rgba(45,174,67, .25);
  border: 1px solid rgba(17, 24, 39, .07);
  border-top: 0;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
  transition: opacity 280ms var(--rd-ease),
              transform 320ms var(--rd-ease),
              visibility 0s linear 320ms;
  z-index: 100;
}
.rd-mega-panel.is-open {
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
  transition-delay: 0s;
}

.rd-mega-grid {
  display: grid;
  grid-template-columns: 2.4fr 1fr;
  gap: clamp(1.5rem, 3vw, 3rem);
  align-items: start;
}
@media (max-width: 900px) {
  .rd-mega-grid { grid-template-columns: 1fr; }
}

/* Section heading */
.rd-mega-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(17, 24, 39, .55);
  margin: 0 0 1.25rem;
}

/* Categorías grid */
.rd-mega-cats {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 230px), 1fr));
  gap: 1rem;
}
.rd-mega-card {
  position: relative;
  display: block;
  border-radius: 14px;
  overflow: hidden;
  background: #f4f6fa;
  text-decoration: none;
  color: inherit;
  aspect-ratio: 16 / 11;
  transition: transform 320ms var(--rd-ease),
              box-shadow 320ms var(--rd-ease);
}
.rd-mega-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 24px 56px -16px rgba(45,174,67, .35);
}
.rd-mega-card__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 600ms var(--rd-ease), filter 320ms;
}
.rd-mega-card:hover .rd-mega-card__img {
  transform: scale(1.06);
  filter: saturate(1.1);
}
.rd-mega-card__placeholder {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(135deg, rgb(var(--rd-primary)) 0%, rgb(var(--rd-secondary)) 100%),
    radial-gradient(circle at 30% 20%, rgba(255,255,255,.18), transparent 55%);
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,.4);
  font-size: 3rem;
  font-weight: 800;
  font-family: "Space Grotesk", sans-serif;
}
.rd-mega-card__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.85) 0%, rgba(0,0,0,.35) 50%, transparent 75%);
}
.rd-mega-card__body {
  position: absolute;
  inset: auto 0 0 0;
  padding: 14px 16px 16px;
  color: #fff;
}
.rd-mega-card__title {
  font-family: "Space Grotesk", sans-serif;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -.01em;
  line-height: 1.2;
  margin: 0 0 4px;
  color: #fff !important;
}
.rd-mega-card__meta {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11.5px;
  letter-spacing: .04em;
  color: rgba(255,255,255,.78);
  margin: 0 0 6px;
}
.rd-mega-card__meta .rd-dot { width: 3px; height: 3px; background: currentColor; border-radius: 50%; opacity: .5; }
.rd-mega-card__desc {
  font-size: 12.5px;
  line-height: 1.45;
  color: rgba(255,255,255,.85);
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Recent posts column */
.rd-mega-recent {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  border-left: 1px solid rgba(17,24,39,.08);
  padding-left: clamp(1rem, 2vw, 2rem);
}
@media (max-width: 900px) {
  .rd-mega-recent { border-left: 0; padding-left: 0; border-top: 1px solid rgba(17,24,39,.08); padding-top: 1.5rem; }
}
.rd-mega-recent__item {
  display: flex;
  gap: 12px;
  text-decoration: none;
  color: inherit;
  transition: transform 240ms var(--rd-ease);
}
.rd-mega-recent__item:hover { transform: translateX(3px); }
.rd-mega-recent__img {
  flex-shrink: 0;
  width: 64px;
  height: 64px;
  border-radius: 10px;
  object-fit: cover;
}
.rd-mega-recent__placeholder {
  width: 64px;
  height: 64px;
  border-radius: 10px;
  background: linear-gradient(135deg, rgb(var(--rd-primary)), rgb(var(--rd-secondary)));
  flex-shrink: 0;
}
.rd-mega-recent__cat {
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgb(var(--rd-secondary));
  margin: 0 0 3px;
}
.rd-mega-recent__title {
  font-size: 13.5px;
  font-weight: 600;
  line-height: 1.4;
  color: var(--nexus-heading);
  margin: 0 0 3px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.rd-mega-recent__date {
  font-size: 11.5px;
  color: rgba(17,24,39,.5);
  margin: 0;
}

.rd-mega-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 16px;
  background: rgb(var(--rd-primary));
  color: #fff !important;
  font-weight: 600;
  font-size: 13px;
  border-radius: 999px;
  text-decoration: none;
  margin-top: .5rem;
  transition: all var(--rd-dur) var(--rd-ease);
  align-self: flex-start;
}
.rd-mega-cta:hover { background: #1f8a32; transform: translateY(-1px); }

/* Mobile: panel ocupa toda la pantalla */
@media (max-width: 720px) {
  .rd-mega-panel {
    width: calc(100vw - 16px);
    border-radius: 16px;
  }
}

/* Dark mode */
html[data-theme="dark"] .rd-mega-trigger { color: rgba(255,255,255,.82); }
html[data-theme="dark"] .rd-mega-trigger:hover { color: #7ad88d; }
html[data-theme="dark"] .rd-mega-panel {
  background: #0e1326;
  border-color: rgba(255,255,255,.06);
  color: #fff;
}
html[data-theme="dark"] .rd-mega-eyebrow { color: rgba(255,255,255,.55); }
html[data-theme="dark"] .rd-mega-recent { border-left-color: rgba(255,255,255,.06); }
html[data-theme="dark"] .rd-mega-recent__title { color: #fff; }
html[data-theme="dark"] .rd-mega-recent__date { color: rgba(255,255,255,.5); }


/* =============================================================================
   26. HOME — HERO IMPRESIONANTE
   ============================================================================= */
.rd-home-hero {
  position: relative;
  min-height: clamp(440px, 65vh, 640px);
  padding: clamp(3rem, 8vw, 6rem) 1.5rem clamp(3rem, 6vw, 4rem);
  overflow: hidden;
  isolation: isolate;
  display: flex;
  align-items: center;
  color: #fff;
  background:
    radial-gradient(ellipse 75% 65% at 18% 25%, rgba(76,200,99, .42), transparent 60%),
    radial-gradient(ellipse 60% 55% at 82% 75%, rgba(244, 162, 97, .28), transparent 65%),
    linear-gradient(135deg, #0a1733 0%, #2dae43 40%, #1f8a32 75%, #4cc863 130%);
}
.rd-home-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-image:
    url("data:image/svg+xml;utf8,<svg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .14 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  opacity: .4;
  mix-blend-mode: overlay;
  pointer-events: none;
}
/* Floating orbs decorativos */
.rd-home-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 500px;
  height: 500px;
  right: -120px;
  top: -120px;
  background: radial-gradient(circle, rgba(244, 162, 97, .35) 0%, transparent 65%);
  border-radius: 50%;
  filter: blur(40px);
  animation: rd-float 16s ease-in-out infinite;
}
@keyframes rd-float {
  0%, 100% { transform: translate(0, 0) scale(1); }
  50% { transform: translate(-30px, 30px) scale(1.05); }
}

.rd-home-hero__inner {
  max-width: 1200px;
  margin: 0 auto;
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(2rem, 5vw, 5rem);
  align-items: center;
}
@media (max-width: 900px) {
  .rd-home-hero__inner { grid-template-columns: 1fr; }
}

.rd-home-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  background: rgba(255, 255, 255, .12);
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .9);
  margin-bottom: 1.25rem;
  backdrop-filter: blur(10px);
}
.rd-home-hero__eyebrow::before {
  content: "";
  width: 6px;
  height: 6px;
  background: #4ade80;
  border-radius: 50%;
  box-shadow: 0 0 8px #4ade80;
  animation: rd-pulse 2s ease-in-out infinite;
}
@keyframes rd-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: .4; }
}

.rd-home-hero__title {
  font-size: clamp(2.5rem, 6vw, 4.75rem);
  font-weight: 700;
  line-height: 1.02;
  letter-spacing: -.035em;
  margin: 0 0 1.25rem;
  text-wrap: balance;
}
.rd-home-hero__title .rd-grad {
  background: linear-gradient(135deg, #f4a261 0%, #ff7e5f 50%, #7ad88d 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.rd-home-hero__lead {
  font-size: clamp(15px, 1.4vw, 19px);
  line-height: 1.65;
  color: rgba(255, 255, 255, .82);
  max-width: 50ch;
  margin: 0 0 2rem;
}

.rd-home-hero__ctas {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-bottom: 2.5rem;
}
.rd-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 22px;
  border-radius: 999px;
  font-weight: 600;
  font-size: 14px;
  letter-spacing: .01em;
  text-decoration: none;
  border: 0;
  cursor: pointer;
  transition: transform var(--rd-dur) var(--rd-ease),
              background var(--rd-dur) var(--rd-ease),
              box-shadow var(--rd-dur) var(--rd-ease);
}
.rd-btn--white { background: #fff; color: rgb(var(--rd-primary)); }
.rd-btn--white:hover { transform: translateY(-2px); box-shadow: 0 16px 40px -10px rgba(0,0,0,.35); }
.rd-btn--ghost {
  background: rgba(255,255,255,.1);
  color: #fff;
  border: 1px solid rgba(255,255,255,.18);
  backdrop-filter: blur(10px);
}
.rd-btn--ghost:hover { background: rgba(255,255,255,.18); transform: translateY(-2px); }

/* Stats bar */
.rd-home-hero__stats {
  display: flex;
  gap: clamp(1rem, 3vw, 2.5rem);
  flex-wrap: wrap;
}
.rd-stat__num {
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -.02em;
  display: block;
  margin-bottom: 4px;
}
.rd-stat__label {
  font-size: 12px;
  color: rgba(255, 255, 255, .65);
  letter-spacing: .04em;
}

/* Right side: collage de tarjetas flotantes */
.rd-home-hero__collage {
  position: relative;
  height: clamp(360px, 50vh, 480px);
}
@media (max-width: 900px) {
  .rd-home-hero__collage { display: none; }
}
.rd-home-hero__collage-card {
  position: absolute;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 24px 56px -16px rgba(0, 0, 0, .5);
  background: #fff;
  border: 1px solid rgba(255, 255, 255, .12);
  transition: transform 600ms var(--rd-ease);
}
.rd-home-hero__collage-card img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.rd-home-hero__collage-card.c1 {
  width: 60%;
  height: 70%;
  top: 5%;
  left: 5%;
  transform: rotate(-3deg);
  animation: rd-collage-1 12s ease-in-out infinite;
}
.rd-home-hero__collage-card.c2 {
  width: 50%;
  height: 60%;
  top: 25%;
  right: 0;
  transform: rotate(4deg);
  animation: rd-collage-2 14s ease-in-out infinite;
}
.rd-home-hero__collage-card.c3 {
  width: 35%;
  height: 35%;
  bottom: 0;
  left: 30%;
  transform: rotate(-2deg);
  animation: rd-collage-3 10s ease-in-out infinite;
}
@keyframes rd-collage-1 {
  0%, 100% { transform: rotate(-3deg) translateY(0); }
  50% { transform: rotate(-2deg) translateY(-8px); }
}
@keyframes rd-collage-2 {
  0%, 100% { transform: rotate(4deg) translateY(0); }
  50% { transform: rotate(5deg) translateY(10px); }
}
@keyframes rd-collage-3 {
  0%, 100% { transform: rotate(-2deg) translateY(0); }
  50% { transform: rotate(-3deg) translateY(-6px); }
}

/* =============================================================================
   27. HOME — TOPICS SHOWCASE (entre hero y blog)
   ============================================================================= */
.rd-topics {
  padding: clamp(3rem, 6vw, 5rem) 1.5rem 1rem;
  max-width: 1200px;
  margin: 0 auto;
}
.rd-topics__head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 2rem;
}
.rd-topics__title {
  font-family: "Space Grotesk", sans-serif;
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  font-weight: 700;
  letter-spacing: -.02em;
  margin: 0;
  color: var(--nexus-heading);
}
.rd-topics__sub {
  font-size: 14px;
  color: rgba(17,24,39,.6);
  margin: 4px 0 0;
}
.rd-topics__link {
  font-size: 14px;
  font-weight: 600;
  color: rgb(var(--rd-primary));
  text-decoration: none;
}
.rd-topics__link:hover { color: rgb(var(--rd-secondary)); }

.rd-topics__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 180px), 1fr));
  gap: .85rem;
}

/* Cards de temas más compactas */
.rd-topics .rd-mega-card { aspect-ratio: 1 / 1; border-radius: 14px; }
.rd-topics .rd-mega-card__body { padding: 14px; }
.rd-topics .rd-mega-card__title { font-size: 1rem; line-height: 1.25; margin: 4px 0 2px; }
.rd-topics .rd-mega-card__meta { font-size: 11px; }
.rd-topics .rd-mega-card__desc { display: none; }

@media (min-width: 1200px) {
  .rd-topics__grid { grid-template-columns: repeat(6, 1fr); }
}
@media (max-width: 600px) {
  .rd-topics__grid { grid-template-columns: repeat(2, 1fr); }
  .rd-topics .rd-mega-card__title { font-size: .9rem; }
}

/* Blog list label arriba */
.rd-blog-section-label {
  text-align: center;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: rgba(17,24,39,.55);
  margin: clamp(2.5rem, 5vw, 4rem) 0 1rem;
}
.rd-blog-section-label::before,
.rd-blog-section-label::after {
  content: "—";
  margin: 0 14px;
  color: rgba(17,24,39,.3);
}

/* Dark mode home */
html[data-theme="dark"] .rd-topics__title { color: #fff; }
html[data-theme="dark"] .rd-topics__sub { color: rgba(255,255,255,.6); }
html[data-theme="dark"] .rd-blog-section-label { color: rgba(255,255,255,.55); }

/* =============================================================================
   PROFESSIONAL HEADER POLISH (final overrides)
   ============================================================================= */

/* Header container — refined */
.site-header {
  height: 72px !important;
  background: rgba(255,255,255,0.92) !important;
  backdrop-filter: saturate(180%) blur(14px) !important;
  -webkit-backdrop-filter: saturate(180%) blur(14px) !important;
  border-bottom: 1px solid rgba(15,23,42,0.06) !important;
  box-shadow: 0 1px 0 rgba(15,23,42,0.02);
}
.site-header.is-scrolled {
  height: 60px !important;
  background: rgba(255,255,255,0.96) !important;
  box-shadow: 0 6px 20px -10px rgba(15,23,42,0.18) !important;
}
.site-header .container {
  max-width: 1280px;
  padding-left: 28px;
  padding-right: 28px;
}
.site-header .header-inner {
  gap: 28px;
}

/* Brand */
.site-branding .site-name-link { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; }
.site-branding .site-name {
  font-family: "Space Grotesk", "Inter", system-ui, sans-serif;
  font-size: 19px;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: #0f172a;
}
.site-branding .custom-logo,
.site-branding .custom-logo-link img {
  height: 36px !important;
  width: auto !important;
}

/* Primary nav links — clean */
.nexus-menu { gap: 4px; }
.nexus-menu > li > a {
  font-family: "Inter", "Space Grotesk", system-ui, sans-serif;
  font-size: 14.5px !important;
  font-weight: 500 !important;
  color: #475569 !important;
  padding: 10px 14px !important;
  border-radius: 8px;
  transition: color .2s ease, background .2s ease;
}
.nexus-menu > li > a:hover {
  color: #2dae43 !important;
  background: rgba(45,174,67,0.04);
}
.nexus-menu > li.current-menu-item > a,
.nexus-menu > li.current-menu-ancestor > a { color: #2dae43 !important; font-weight: 600 !important; }
.nexus-menu > li > a::after { display: none !important; }

/* Explorar trigger — neutralize and unify */
button.rd-mega-trigger,
.rd-mega-trigger {
  -webkit-appearance: none !important;
  appearance: none !important;
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #475569 !important;
  font-family: "Inter", "Space Grotesk", system-ui, sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 500 !important;
  padding: 10px 14px !important;
  border-radius: 8px !important;
  letter-spacing: 0 !important;
  transition: color .2s ease, background .2s ease !important;
}
.rd-mega-trigger:hover,
.rd-mega-trigger.is-open {
  color: #2dae43 !important;
  background: rgba(45,174,67,0.04) !important;
}
.rd-mega-trigger::after { display: none !important; }
.rd-mega-trigger svg { width: 11px !important; height: 11px !important; opacity: .7; }

/* CTA + theme toggle area */
.header-cta { display: flex; align-items: center; gap: 12px; }

.header-cta .btn,
.header-cta .btn-primary,
.header-cta .btn-sm {
  display: inline-flex !important;
  align-items: center;
  height: 40px;
  padding: 0 20px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #2dae43 0%, #1f8a32 100%) !important;
  color: #fff !important;
  border: 0 !important;
  box-shadow: 0 6px 16px -6px rgba(45,174,67,0.45) !important;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease !important;
  letter-spacing: 0 !important;
}
.header-cta .btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 24px -8px rgba(45,174,67,0.55) !important;
  filter: brightness(1.08);
}

/* Theme toggle — pulido */
.rd-theme-toggle {
  width: 38px !important;
  height: 38px !important;
  margin-left: 0 !important;
  background: #fff !important;
  border: 1px solid rgba(15,23,42,0.08) !important;
  color: #475569 !important;
  box-shadow: 0 1px 2px rgba(15,23,42,0.04);
}
.rd-theme-toggle:hover {
  background: #f8fafc !important;
  border-color: rgba(45,174,67,0.18) !important;
  color: #2dae43 !important;
  transform: none !important;
}
.rd-theme-toggle svg { width: 16px !important; height: 16px !important; }

/* Header CTA on dark mode */
html[data-theme="dark"] .site-header {
  background: rgba(11,16,32,0.85) !important;
  border-bottom-color: rgba(255,255,255,0.06) !important;
}
html[data-theme="dark"] .site-branding .site-name { color: #fff; }
html[data-theme="dark"] .nexus-menu > li > a { color: rgba(255,255,255,0.78) !important; }
html[data-theme="dark"] .nexus-menu > li > a:hover,
html[data-theme="dark"] .nexus-menu > li.current-menu-item > a { color: #7ad88d !important; background: rgba(255,255,255,0.05); }
html[data-theme="dark"] .rd-mega-trigger { color: rgba(255,255,255,0.78) !important; }
html[data-theme="dark"] .rd-mega-trigger:hover,
html[data-theme="dark"] .rd-mega-trigger.is-open { color: #7ad88d !important; background: rgba(255,255,255,0.05) !important; }
html[data-theme="dark"] .rd-theme-toggle { background: rgba(255,255,255,0.06) !important; border-color: rgba(255,255,255,0.1) !important; color: #fff !important; }

/* Reduce excess space below header */
:root { --nexus-header-height: 72px; }
.page-wrapper { padding-top: 72px !important; }
body.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .site-header { top: 46px; } }

/* Hide page-header for the home if redundant */
.home .nexus-page-header,
.blog .nexus-page-header { display: none; }

/* Mobile */
@media (max-width: 992px) {
  .site-header { height: 64px !important; }
  .site-header .container { padding-left: 18px; padding-right: 18px; }
  .header-cta .btn { display: none !important; }
  .nexus-menu, .rd-mega-trigger-li { display: none !important; }
  .menu-toggle { display: inline-flex !important; }
}

/* =============================================================================
   LOGO — PRESENCIA
   ============================================================================= */
.site-header { height: 84px !important; }
.site-header.is-scrolled { height: 70px !important; }
:root { --nexus-header-height: 84px; }
.page-wrapper { padding-top: 84px !important; }

.site-branding .custom-logo,
.site-branding .custom-logo-link img {
  height: 48px !important;
  width: auto !important;
  max-width: 320px !important;
  display: block;
  transition: height .3s ease, transform .3s ease;
}
.site-header.is-scrolled .site-branding .custom-logo,
.site-header.is-scrolled .site-branding .custom-logo-link img {
  height: 38px !important;
}
.site-branding .custom-logo-link { display: inline-flex; align-items: center; }
.site-branding .custom-logo-link:hover img { transform: translateY(-1px); }

/* Si el logo está activo, oculta el nombre textual */
.site-branding .custom-logo-link ~ .site-name,
.site-branding .custom-logo-link ~ .site-name-link,
body:has(.custom-logo) .site-branding .site-name { display: none !important; }

@media (max-width: 992px) {
  .site-header { height: 68px !important; }
  .site-branding .custom-logo,
  .site-branding .custom-logo-link img { height: 34px !important; max-width: 220px !important; }
}

/* =============================================================================
   HERO — CONTRASTE FIX
   ============================================================================= */

/* Texto principal del hero en blanco puro (era oscuro sobre verde) */
.rd-home-hero__title { color: #ffffff !important; text-shadow: 0 2px 12px rgba(0,0,0,.18); }

/* Span resaltado: cream→white sólido y legible sobre verde */
.rd-home-hero__title .rd-grad {
  background: linear-gradient(135deg, #fde68a 0%, #fef3c7 50%, #ffffff 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  text-shadow: none !important;
  filter: drop-shadow(0 2px 8px rgba(0,0,0,.18));
}

/* Lead/párrafo — más opacidad para mejor lectura */
.rd-home-hero__lead { color: rgba(255,255,255,.95) !important; }

/* Eyebrow chip — más contraste */
.rd-home-hero__eyebrow {
  background: rgba(255,255,255,.18) !important;
  border-color: rgba(255,255,255,.35) !important;
  color: #fff !important;
  backdrop-filter: blur(8px);
}
.rd-home-hero__eyebrow::before { background: #fde68a !important; box-shadow: 0 0 10px #fde68a !important; }

/* CTA primario — verde profundo sobre blanco para que destaque */
.rd-btn--white { background: #fff !important; color: #1f8a32 !important; font-weight: 700 !important; box-shadow: 0 8px 24px -8px rgba(0,0,0,.35); }
.rd-btn--white:hover { background: #fff !important; color: #176b27 !important; transform: translateY(-2px); }

/* CTA fantasma — borde claro visible */
.rd-btn--ghost {
  background: rgba(255,255,255,.1) !important;
  border: 1.5px solid rgba(255,255,255,.55) !important;
  color: #ffffff !important;
  backdrop-filter: blur(8px);
}
.rd-btn--ghost:hover { background: rgba(255,255,255,.18) !important; border-color: #fff !important; transform: translateY(-2px); }

/* Stats — números en blanco, etiquetas en cream */
.rd-home-hero__stats .rd-stat__num { color: #ffffff !important; }
.rd-home-hero__stats .rd-stat__label { color: rgba(255,255,255,.75) !important; }

/* Profundizar el bg verde para más contraste con texto */
.rd-home-hero {
  background: linear-gradient(135deg, #1f8a32 0%, #2dae43 55%, #176b27 100%) !important;
}
.rd-home-hero::before {
  background: radial-gradient(ellipse 80% 60% at 80% 20%, rgba(253,230,138,.18), transparent 60%),
              radial-gradient(ellipse 70% 60% at 10% 80%, rgba(255,255,255,.12), transparent 60%) !important;
}

/* =============================================================================
   FOOTER — REDISEÑO MODERNO Y PROFESIONAL
   ============================================================================= */

.site-footer {
  position: relative;
  background: linear-gradient(180deg, #0b1426 0%, #050a18 100%) !important;
  color: rgba(255,255,255,0.7);
  padding-top: 0 !important;
  margin-top: clamp(60px, 8vw, 100px);
  overflow: hidden;
}
/* Línea superior con gradiente verde */
.site-footer::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, #2dae43 20%, #4cc863 50%, #2dae43 80%, transparent);
  opacity: .8;
}
/* Glow decorativo */
.site-footer::after {
  content: "";
  position: absolute;
  top: -150px; left: 50%;
  transform: translateX(-50%);
  width: 600px; height: 300px;
  background: radial-gradient(ellipse, rgba(45,174,67,0.15), transparent 70%);
  pointer-events: none;
}

.site-footer .footer-main {
  padding: clamp(48px, 7vw, 80px) 0 clamp(32px, 5vw, 56px) !important;
  position: relative;
  z-index: 1;
}

.site-footer .footer-widgets {
  display: grid !important;
  grid-template-columns: 1.5fr 1fr 1fr 1.4fr;
  gap: clamp(32px, 5vw, 64px);
}
@media (max-width: 992px) {
  .site-footer .footer-widgets { grid-template-columns: 1fr 1fr; gap: 40px; }
}
@media (max-width: 600px) {
  .site-footer .footer-widgets { grid-template-columns: 1fr; gap: 32px; }
}

/* Brand column */
.site-footer .footer-brand .footer-logo-wrap { margin-bottom: 18px; }
.site-footer .footer-brand .custom-logo,
.site-footer .footer-brand .custom-logo-link img {
  height: 38px !important;
  width: auto !important;
  max-width: 240px !important;
  filter: brightness(1.1);
}
.site-footer .footer-brand-description {
  color: rgba(255,255,255,0.55) !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  max-width: 38ch !important;
  margin: 0 0 24px !important;
}

/* Section titles */
.site-footer .footer-widget-title,
.site-footer .footer-widget h2,
.site-footer .footer-widget h3,
.site-footer .footer-widget h4,
.site-footer .footer-widget .widget-title {
  position: relative;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  margin: 0 0 22px !important;
  padding-bottom: 12px !important;
  border-bottom: 0 !important;
  opacity: 1 !important;
}
.site-footer .footer-widget-title::after,
.site-footer .footer-widget h4::after {
  content: "";
  position: absolute;
  left: 0; bottom: 0;
  width: 28px; height: 2px;
  background: #2dae43;
  border-radius: 2px;
}

/* Link lists */
.site-footer .footer-widget ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.site-footer .footer-widget ul li { margin: 0; }
.site-footer .footer-widget ul li a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: rgba(255,255,255,0.6) !important;
  font-size: 14.5px;
  text-decoration: none;
  transition: color .2s ease, transform .2s ease, padding-left .2s ease;
  position: relative;
}
.site-footer .footer-widget ul li a::before {
  content: "→";
  font-size: 12px;
  opacity: 0;
  transform: translateX(-6px);
  transition: opacity .2s ease, transform .2s ease;
  color: #2dae43;
}
.site-footer .footer-widget ul li a:hover {
  color: #fff !important;
  padding-left: 4px;
}
.site-footer .footer-widget ul li a:hover::before {
  opacity: 1;
  transform: translateX(0);
}

/* Social icons */
.site-footer .footer-social {
  display: flex !important;
  gap: 10px !important;
  margin-top: 8px !important;
}
.site-footer .footer-social a {
  width: 40px !important;
  height: 40px !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  color: rgba(255,255,255,0.7) !important;
  font-size: 15px;
  transition: all .25s ease !important;
}
.site-footer .footer-social a:hover {
  background: #2dae43 !important;
  border-color: #2dae43 !important;
  color: #fff !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 20px -6px rgba(45,174,67,0.5);
}

/* Newsletter */
.site-footer .rd-newsletter p {
  color: rgba(255,255,255,0.6);
  font-size: 14px;
  line-height: 1.65;
  margin: 0 0 18px;
}
.site-footer .rd-newsletter form {
  display: flex !important;
  gap: 8px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 999px;
  padding: 5px 5px 5px 18px;
  transition: border-color .25s ease, background .25s ease;
}
.site-footer .rd-newsletter form:focus-within {
  border-color: rgba(45,174,67,0.5);
  background: rgba(255,255,255,0.06);
  box-shadow: 0 0 0 3px rgba(45,174,67,0.12);
}
.site-footer .rd-newsletter input[type="email"] {
  flex: 1;
  min-width: 0;
  background: transparent !important;
  border: 0 !important;
  outline: none !important;
  color: #fff !important;
  font-size: 14px;
  padding: 0 !important;
}
.site-footer .rd-newsletter input[type="email"]::placeholder { color: rgba(255,255,255,0.35); }
.site-footer .rd-newsletter button[type="submit"] {
  background: linear-gradient(135deg, #2dae43, #1f8a32) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 10px 20px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
  white-space: nowrap;
  letter-spacing: .01em;
}
.site-footer .rd-newsletter button[type="submit"]:hover {
  transform: translateY(-1px);
  filter: brightness(1.08);
  box-shadow: 0 8px 20px -6px rgba(45,174,67,0.55);
}

/* Bottom bar */
.site-footer .footer-bottom {
  border-top: 1px solid rgba(255,255,255,0.06) !important;
  margin-top: 0 !important;
  padding: 22px 0 !important;
  background: rgba(0,0,0,0.2);
}
.site-footer .footer-bottom-inner {
  display: flex !important;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
}
.site-footer .footer-copyright-text {
  margin: 0 !important;
  color: rgba(255,255,255,0.4) !important;
  font-size: 13px !important;
  text-align: left !important;
}
.site-footer .footer-bottom-menu {
  display: flex;
  gap: 20px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.site-footer .footer-bottom-menu li a {
  color: rgba(255,255,255,0.5) !important;
  font-size: 13px;
  text-decoration: none;
}
.site-footer .footer-bottom-menu li a:hover { color: #fff !important; }

/* Back to top */
.back-to-top {
  background: linear-gradient(135deg, #2dae43, #1f8a32) !important;
  border: 0 !important;
  width: 46px !important;
  height: 46px !important;
  border-radius: 50% !important;
  color: #fff !important;
  box-shadow: 0 8px 20px -6px rgba(45,174,67,0.5) !important;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.back-to-top:hover {
  transform: translateY(-3px) !important;
  filter: brightness(1.08);
  box-shadow: 0 12px 28px -8px rgba(45,174,67,0.7) !important;
}

@media (max-width: 600px) {
  .site-footer .footer-bottom-inner { flex-direction: column; align-items: flex-start; gap: 12px; }
  .site-footer .footer-copyright-text { text-align: center; width: 100%; }
}

/* =============================================================================
   FIX ESPACIO HEADER↔CONTENIDO
   ============================================================================= */

/* Asegurar oculto el page-header redundante en home, blog, archives y singles */
.home .nexus-page-header,
.blog .nexus-page-header,
.archive .nexus-page-header,
.single .nexus-page-header,
.search .nexus-page-header { display: none !important; }

/* Reducir el padding-top de la sección bajo el header para blog/archive/single */
.blog .section-padding,
.archive .section-padding,
.single .section-padding {
  padding-top: 32px !important;
}

/* En home, dejar que el hero ocupe el primer espacio sin extra */
.home .site-content.page-wrapper { padding-top: 84px !important; }

/* Single post: si tiene su propio hero (single-post-hero), pegarlo al header */
.single .single-post-hero { margin-top: 0 !important; }

/* Category hero: pegado al header */
.archive .nexus-cat-hero { padding-top: 60px !important; padding-bottom: 50px !important; }

/* Eliminar gap entre header y main en general */
.site-content.page-wrapper > .nexus-page-header:first-child + .section-padding,
.site-content.page-wrapper > main > .nexus-page-header:first-child + .section-padding { padding-top: 32px !important; }

/* Logo 30% más pequeño (override final) */
.site-branding .custom-logo,
.site-branding .custom-logo-link img { height: 34px !important; max-width: 224px !important; }
.site-header.is-scrolled .site-branding .custom-logo,
.site-header.is-scrolled .site-branding .custom-logo-link img { height: 27px !important; }
@media (max-width: 992px) {
  .site-branding .custom-logo,
  .site-branding .custom-logo-link img { height: 24px !important; max-width: 154px !important; }
}

/* =============================================================================
   QUITAR ESPACIO HEADER ↔ HERO
   ============================================================================= */
.home .site-content.page-wrapper { padding-top: 0 !important; }
.home .rd-home-hero { margin-top: 0 !important; padding-top: 84px !important; }
.home .site-header {
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-bottom-color: transparent !important;
  box-shadow: none !important;
}
.home .site-header.is-scrolled {
  background: rgba(11,16,32,0.92) !important;
  backdrop-filter: saturate(180%) blur(14px) !important;
  -webkit-backdrop-filter: saturate(180%) blur(14px) !important;
  border-bottom-color: rgba(255,255,255,0.06) !important;
}
/* Texto del header sobre hero verde: blanco */
.home .site-header:not(.is-scrolled) .nexus-menu > li > a,
.home .site-header:not(.is-scrolled) .rd-mega-trigger { color: #fff !important; }
.home .site-header:not(.is-scrolled) .nexus-menu > li > a:hover,
.home .site-header:not(.is-scrolled) .rd-mega-trigger:hover {
  color: #fff !important;
  background: rgba(255,255,255,0.12) !important;
}
.home .site-header:not(.is-scrolled) .rd-theme-toggle {
  background: rgba(255,255,255,0.12) !important;
  border-color: rgba(255,255,255,0.25) !important;
  color: #fff !important;
}
.home .site-header:not(.is-scrolled) .header-cta .btn {
  background: #fff !important;
  color: #1f8a32 !important;
}

/* =============================================================================
   POLISH GLOBAL — DESKTOP & MOBILE
   ============================================================================= */

/* Logo retina-crisp */
.site-branding .custom-logo,
.site-branding .custom-logo-link img,
.site-footer .footer-brand .custom-logo,
.site-footer .footer-brand .custom-logo-link img {
  image-rendering: -webkit-optimize-contrast;
  image-rendering: crisp-edges;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  transform: translateZ(0);
}

/* Selección de texto */
::selection { background: rgba(45,174,67,.25); color: #0f172a; }

/* Smooth scroll global */
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

/* Imágenes responsivas y nítidas */
img { max-width: 100%; height: auto; }

/* Focus visible accesible (verde) */
:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 2px solid #2dae43 !important;
  outline-offset: 2px;
  border-radius: 6px;
}

/* Container máximo y padding consistente */
.container { max-width: 1280px; margin: 0 auto; padding-left: clamp(16px, 3vw, 28px); padding-right: clamp(16px, 3vw, 28px); }

/* Tipografía hero más balanceada en mobile */
@media (max-width: 600px) {
  .rd-home-hero { min-height: auto !important; padding: 96px 0 60px !important; }
  .rd-home-hero__title { font-size: clamp(2rem, 9vw, 3rem) !important; }
  .rd-home-hero__lead { font-size: 15px !important; }
  .rd-home-hero__inner { grid-template-columns: 1fr !important; gap: 24px; }
  .rd-home-hero__collage { display: none !important; }
  .rd-home-hero__ctas .rd-btn { flex: 1; justify-content: center; }
  .rd-home-hero__stats { gap: 18px !important; }
  .rd-home-hero__stats .rd-stat__num { font-size: 22px !important; }
}

/* Cards: hover desactivado en touch para evitar flicker */
@media (hover: none) {
  .card-blog--modern:hover { transform: none; box-shadow: 0 4px 16px rgba(15,23,42,0.04); }
  .card-blog--modern:hover .blog-card-image img { transform: none; }
}

/* Sección padding más coherente */
section.section-padding { padding-top: clamp(48px, 7vw, 96px); padding-bottom: clamp(48px, 7vw, 96px); }

/* Mobile menu — hamburger pulido */
.menu-toggle {
  width: 42px; height: 42px;
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(15,23,42,0.08) !important;
  border-radius: 10px !important;
  display: none;
  align-items: center; justify-content: center;
  flex-direction: column; gap: 5px;
  cursor: pointer;
  transition: background .2s ease, border-color .2s ease;
}
.menu-toggle:hover { background: rgba(45,174,67,0.08) !important; border-color: rgba(45,174,67,0.25) !important; }
.menu-toggle .hamburger-line { display: block; width: 18px; height: 2px; background: #0f172a; border-radius: 2px; transition: transform .25s ease, opacity .25s ease; }
.menu-toggle[aria-expanded="true"] .hamburger-line:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] .hamburger-line:nth-child(2) { opacity: 0; }
.menu-toggle[aria-expanded="true"] .hamburger-line:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.home .site-header:not(.is-scrolled) .menu-toggle .hamburger-line { background: #fff; }
.home .site-header:not(.is-scrolled) .menu-toggle { background: rgba(255,255,255,0.12) !important; border-color: rgba(255,255,255,0.25) !important; }

/* Mobile nav drawer */
.mobile-nav-wrap {
  position: fixed; inset: 0;
  background: rgba(11,16,32,0.98);
  backdrop-filter: blur(14px);
  z-index: 1000;
  padding: 90px 24px 24px;
  display: flex; flex-direction: column;
  transform: translateX(-100%);
  transition: transform .35s cubic-bezier(.22,1,.36,1);
  overflow-y: auto;
}
.mobile-nav-wrap.is-open { transform: translateX(0); }
.mobile-nav-wrap .mobile-menu { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.mobile-nav-wrap .mobile-menu li a {
  display: block;
  padding: 14px 16px;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  border-radius: 10px;
  transition: background .2s ease;
}
.mobile-nav-wrap .mobile-menu li a:hover { background: rgba(45,174,67,0.18); }
.mobile-nav-wrap .sub-menu { list-style: none; margin: 4px 0 0 16px; padding: 0; display: flex; flex-direction: column; gap: 2px; border-left: 2px solid rgba(255,255,255,0.08); padding-left: 12px; }
.mobile-nav-wrap .sub-menu a { font-size: 14px; font-weight: 500; color: rgba(255,255,255,0.75); padding: 10px 12px; }

@media (min-width: 993px) {
  .menu-toggle, .mobile-nav-wrap { display: none !important; }
}
@media (max-width: 992px) {
  .menu-toggle { display: inline-flex !important; }
}

/* Topics grid mobile: cards más pequeñas */
@media (max-width: 600px) {
  .rd-topics__head { flex-direction: column; align-items: flex-start; gap: 12px; }
  .rd-topics__title { font-size: 1.5rem !important; }
  .rd-topics .rd-mega-card__title { font-size: .85rem !important; }
}

/* Blog grid: gap más cómodo en mobile */
@media (max-width: 600px) {
  .blog-grid { gap: 20px !important; }
  .card-blog--modern .blog-card-body { padding: 18px 18px 16px; }
  .card-blog--modern .blog-card-title { font-size: 1.05rem; }
}

/* Footer mobile */
@media (max-width: 600px) {
  .site-footer .footer-brand-description { max-width: none !important; }
  .site-footer .rd-newsletter form { flex-direction: column; border-radius: 16px; padding: 12px; gap: 10px; align-items: stretch; }
  .site-footer .rd-newsletter input[type="email"] { padding: 10px 12px !important; background: rgba(255,255,255,0.04) !important; border-radius: 10px !important; }
  .site-footer .rd-newsletter button[type="submit"] { width: 100%; }
  .site-footer .footer-bottom-inner { flex-direction: column; gap: 10px; text-align: center; }
}

/* Category hero mobile */
@media (max-width: 600px) {
  .nexus-cat-hero { padding: 72px 0 48px !important; }
  .nexus-cat-hero__title { font-size: 1.8rem !important; }
}

/* Single post mobile */
@media (max-width: 600px) {
  .single-post-hero { height: 280px !important; }
  .single .entry-title, .single h1 { font-size: 1.6rem !important; line-height: 1.25 !important; }
}

/* Botones generales: tap target 44px en mobile */
@media (max-width: 600px) {
  .btn, .rd-btn, .nexus-loadmore { min-height: 44px; }
}

/* Tablas responsivas básicas */
.entry-content table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }

/* Quitar scroll horizontal accidental */
html, body { overflow-x: hidden; }

/* =============================================================================
   DYNAMIC FEATURES — Search modal, TOC, Reading bar, Share, WhatsApp FAB
   ============================================================================= */

/* Helper: lock scroll while modal open */
body.nx-no-scroll { overflow: hidden; }

/* ----------- Reading progress bar ----------- */
.nexus-scroll-progress {
  position: fixed;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, #2dae43, #4cc863);
  transform-origin: 0 50%;
  transform: scaleX(0);
  z-index: 9999;
  transition: transform .15s linear;
  pointer-events: none;
}
body.admin-bar .nexus-scroll-progress { top: 32px; }
@media (max-width: 782px) { body.admin-bar .nexus-scroll-progress { top: 46px; } }

/* ----------- Back to top circular ----------- */
.back-to-top {
  position: fixed;
  bottom: 24px; right: 24px;
  width: 50px; height: 50px;
  border-radius: 50%;
  background: linear-gradient(135deg, #2dae43, #1f8a32) !important;
  color: #fff;
  border: 0;
  cursor: pointer;
  z-index: 90;
  box-shadow: 0 8px 22px -6px rgba(45,174,67,0.55);
  display: flex; align-items: center; justify-content: center;
  opacity: 0; transform: translateY(10px) scale(.9); pointer-events: none;
  transition: opacity .25s ease, transform .25s ease, box-shadow .2s ease;
}
.back-to-top.is-visible { opacity: 1; transform: translateY(0) scale(1); pointer-events: auto; }
.back-to-top:hover { transform: translateY(-3px) scale(1.04); box-shadow: 0 14px 32px -8px rgba(45,174,67,0.7) !important; }
.back-to-top .nx-bt-ring { position: absolute; inset: 0; width: 100%; height: 100%; }
.back-to-top .nx-bt-arc { transition: stroke-dashoffset .15s linear; }
.back-to-top .nx-bt-arrow { position: relative; z-index: 1; }

/* ----------- WhatsApp FAB ----------- */
.nx-wa {
  position: fixed;
  bottom: 90px; right: 24px;
  width: 56px; height: 56px;
  border-radius: 50%;
  background: #25d366;
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 10px 24px -6px rgba(37,211,102,0.55);
  z-index: 89;
  text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease;
}
.nx-wa:hover { transform: translateY(-3px) scale(1.05); box-shadow: 0 16px 32px -8px rgba(37,211,102,0.7); }
.nx-wa__pulse {
  position: absolute; inset: 0;
  border-radius: 50%;
  background: #25d366;
  opacity: .6;
  animation: nx-wa-pulse 2.4s ease-out infinite;
}
@keyframes nx-wa-pulse {
  0% { transform: scale(1); opacity: .6; }
  80%, 100% { transform: scale(1.7); opacity: 0; }
}
@media (max-width: 600px) {
  .back-to-top { bottom: 18px; right: 18px; width: 44px; height: 44px; }
  .nx-wa { bottom: 76px; right: 18px; width: 50px; height: 50px; }
}

/* ----------- Quick Search FAB & Modal ----------- */
.nx-search-fab {
  position: fixed;
  bottom: 24px; left: 24px;
  display: inline-flex; align-items: center; gap: 8px;
  padding: 10px 14px;
  background: rgba(255,255,255,0.95);
  border: 1px solid rgba(15,23,42,0.08);
  color: #475569;
  border-radius: 999px;
  box-shadow: 0 10px 26px -10px rgba(15,23,42,0.25);
  cursor: pointer;
  font: 500 13px/1 "Inter", system-ui, sans-serif;
  backdrop-filter: blur(10px);
  z-index: 88;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.nx-search-fab:hover { transform: translateY(-2px); border-color: rgba(45,174,67,0.35); box-shadow: 0 16px 32px -10px rgba(15,23,42,0.3); }
.nx-search-fab kbd {
  font-family: inherit;
  background: #f1f5f9;
  padding: 2px 7px;
  border-radius: 6px;
  font-size: 11px;
  color: #64748b;
}
@media (max-width: 600px) {
  .nx-search-fab { left: 18px; bottom: 18px; padding: 10px; }
  .nx-search-fab span, .nx-search-fab kbd { display: none; }
  .nx-search-fab { width: 44px; height: 44px; justify-content: center; padding: 0; }
}

.nx-cmdk { position: fixed; inset: 0; z-index: 9999; display: none; }
.nx-cmdk.is-open { display: block; }
.nx-cmdk__backdrop { position: absolute; inset: 0; background: rgba(8,12,24,0.6); backdrop-filter: blur(4px); animation: nx-fade .2s ease; }
.nx-cmdk__panel {
  position: relative;
  margin: 12vh auto 0;
  max-width: 620px;
  width: calc(100% - 32px);
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 30px 60px -10px rgba(0,0,0,0.4);
  overflow: hidden;
  animation: nx-pop .25s cubic-bezier(.22,1,.36,1);
  border: 1px solid rgba(15,23,42,0.06);
}
@keyframes nx-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes nx-pop { from { opacity: 0; transform: translateY(8px) scale(.98); } to { opacity: 1; transform: translateY(0) scale(1); } }
.nx-cmdk__head {
  display: flex; align-items: center; gap: 12px;
  padding: 16px 18px;
  border-bottom: 1px solid #f1f5f9;
  color: #94a3b8;
}
.nx-cmdk__input {
  flex: 1; min-width: 0;
  border: 0; outline: none;
  background: transparent;
  font: 500 16px/1.4 "Inter", system-ui, sans-serif;
  color: #0f172a;
  padding: 4px 0;
}
.nx-cmdk__input::placeholder { color: #94a3b8; }
.nx-cmdk__esc {
  background: #f1f5f9;
  border-radius: 6px;
  padding: 3px 8px;
  font: 500 11px/1 "Inter", system-ui, sans-serif;
  color: #64748b;
  text-transform: uppercase;
}
.nx-cmdk__body { max-height: 60vh; overflow-y: auto; padding: 8px; }
.nx-cmdk__hint { padding: 30px 16px; text-align: center; color: #94a3b8; font-size: 14px; }
.nx-cmdk__list { list-style: none; margin: 0; padding: 0; }
.nx-cmdk__list li a {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 10px 14px;
  text-decoration: none;
  border-radius: 10px;
  color: #0f172a;
  font-size: 14px;
}
.nx-cmdk__list li.is-active a,
.nx-cmdk__list li a:hover { background: #f0fdf4; color: #1f8a32; }
.nx-cmdk__t { font-weight: 500; }
.nx-cmdk__b { font-size: 11px; text-transform: uppercase; letter-spacing: .1em; color: #94a3b8; }
.nx-cmdk__loading,
.nx-cmdk__empty { padding: 16px; color: #94a3b8; font-size: 14px; text-align: center; }
.nx-cmdk__foot {
  display: flex; gap: 18px;
  padding: 10px 16px;
  background: #fafbfd;
  border-top: 1px solid #f1f5f9;
  font-size: 12px; color: #64748b;
  flex-wrap: wrap;
}
.nx-cmdk__foot kbd { background: #fff; border: 1px solid #e2e8f0; border-radius: 4px; padding: 2px 6px; font-family: inherit; font-size: 11px; }

/* Dark mode for cmdk */
html[data-theme="dark"] .nx-cmdk__panel { background: #131a30; border-color: rgba(255,255,255,0.06); }
html[data-theme="dark"] .nx-cmdk__head { border-bottom-color: rgba(255,255,255,0.05); }
html[data-theme="dark"] .nx-cmdk__input { color: #fff; }
html[data-theme="dark"] .nx-cmdk__list li a { color: rgba(255,255,255,.85); }
html[data-theme="dark"] .nx-cmdk__list li.is-active a,
html[data-theme="dark"] .nx-cmdk__list li a:hover { background: rgba(45,174,67,0.15); color: #4cc863; }
html[data-theme="dark"] .nx-cmdk__esc,
html[data-theme="dark"] .nx-cmdk__foot { background: rgba(255,255,255,0.04); color: rgba(255,255,255,0.6); }
html[data-theme="dark"] .nx-cmdk__foot kbd { background: rgba(255,255,255,0.08); border-color: rgba(255,255,255,0.1); color: rgba(255,255,255,0.85); }

/* ----------- Toast ----------- */
.nx-toast {
  position: fixed;
  bottom: 100px; left: 50%;
  transform: translate(-50%, 12px);
  background: #0f172a;
  color: #fff;
  padding: 10px 18px;
  border-radius: 999px;
  font: 500 13px/1 "Inter", system-ui, sans-serif;
  box-shadow: 0 12px 28px -8px rgba(0,0,0,0.4);
  opacity: 0; pointer-events: none;
  transition: opacity .2s ease, transform .2s ease;
  z-index: 10000;
}
.nx-toast.is-show { opacity: 1; transform: translate(-50%, 0); }

/* ----------- Auto TOC ----------- */
.nx-toc {
  background: #f0fdf4;
  border: 1px solid rgba(45,174,67,0.18);
  border-left: 4px solid #2dae43;
  border-radius: 12px;
  padding: 16px 20px;
  margin: 24px 0 32px;
  font-size: 14px;
}
.nx-toc__head {
  display: flex; align-items: center; justify-content: space-between;
  width: 100%;
  background: transparent; border: 0; padding: 0;
  font: 700 12px/1 "Inter", system-ui, sans-serif;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #1f8a32;
  cursor: pointer;
}
.nx-toc__head svg { transition: transform .25s ease; }
.nx-toc.is-collapsed .nx-toc__head svg { transform: rotate(-90deg); }
.nx-toc.is-collapsed .nx-toc__list { display: none; }
.nx-toc__list {
  list-style: none;
  margin: 14px 0 0;
  padding: 0;
  counter-reset: toc;
}
.nx-toc__item {
  counter-increment: toc;
  position: relative;
  padding-left: 26px;
  margin: 6px 0;
}
.nx-toc__item::before {
  content: counter(toc, decimal-leading-zero);
  position: absolute; left: 0; top: 4px;
  font: 600 10px/1 "Inter", system-ui, sans-serif;
  color: rgba(45,174,67,0.65);
}
.nx-toc__item--h3 { padding-left: 42px; }
.nx-toc__item--h3::before { left: 16px; opacity: .5; }
.nx-toc__list a {
  color: #334155;
  text-decoration: none;
  transition: color .2s ease;
  display: inline-block;
}
.nx-toc__list a:hover,
.nx-toc__list a.is-active { color: #1f8a32; font-weight: 600; }

/* TOC sticky on desktop singles if room */
@media (min-width: 1200px) {
  .single .nx-toc {
    float: right;
    margin: 0 0 24px 24px;
    width: 280px;
    position: sticky;
    top: 100px;
  }
}

html[data-theme="dark"] .nx-toc { background: rgba(45,174,67,0.08); border-color: rgba(45,174,67,0.25); }
html[data-theme="dark"] .nx-toc__list a { color: rgba(255,255,255,.75); }

/* ----------- Share buttons ----------- */
.nx-share {
  display: flex; align-items: center; gap: 10px;
  padding: 18px 0;
  margin: 32px 0 0;
  border-top: 1px solid #e5e7eb;
  flex-wrap: wrap;
}
.nx-share__label { font-size: 13px; font-weight: 600; color: #64748b; margin-right: 6px; }
.nx-share__btn {
  display: inline-flex; align-items: center; justify-content: center;
  width: 38px; height: 38px;
  border-radius: 10px;
  background: #f1f5f9;
  color: #475569;
  border: 0;
  cursor: pointer;
  text-decoration: none;
  transition: background .2s ease, color .2s ease, transform .2s ease;
}
.nx-share__btn:hover { background: #2dae43; color: #fff; transform: translateY(-2px); }

html[data-theme="dark"] .nx-share { border-top-color: rgba(255,255,255,0.08); }
html[data-theme="dark"] .nx-share__btn { background: rgba(255,255,255,0.06); color: rgba(255,255,255,0.85); }
html[data-theme="dark"] .nx-share__btn:hover { background: #2dae43; color: #fff; }

/* =============================================================================
   HOVERCARDS — link previews
   ============================================================================= */
.nx-hovercard {
  position: absolute;
  z-index: 9990;
  width: 340px;
  background: #fff;
  border: 1px solid rgba(15,23,42,0.08);
  border-radius: 14px;
  box-shadow: 0 24px 48px -12px rgba(15,23,42,0.25);
  overflow: hidden;
  opacity: 0;
  transform: translateY(6px) scale(.98);
  transform-origin: top center;
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
  font-family: "Inter", system-ui, sans-serif;
}
.nx-hovercard.is-visible { opacity: 1; transform: translateY(0) scale(1); pointer-events: auto; }
.nx-hovercard--top { transform-origin: bottom center; transform: translateY(-100%) translateY(-6px) scale(.98); }
.nx-hovercard--top.is-visible { transform: translateY(-100%) scale(1); }

.nx-hovercard__img {
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #f3f4f6 center/cover no-repeat;
}
.nx-hovercard__body { padding: 14px 16px 14px; }
.nx-hovercard__cat {
  display: inline-block;
  background: rgba(45,174,67,0.1);
  color: #1f8a32;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 999px;
  margin-bottom: 8px;
}
.nx-hovercard__title {
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  color: #0f172a !important;
  margin: 0 0 6px !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.nx-hovercard__excerpt {
  font-size: 13px;
  line-height: 1.55;
  color: #64748b;
  margin: 0 0 10px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.nx-hovercard__meta {
  display: flex; align-items: center; justify-content: space-between;
  font-size: 12px;
  color: #94a3b8;
  border-top: 1px solid #f1f5f9;
  padding-top: 10px;
}
.nx-hovercard__arrow { color: #2dae43; font-weight: 600; }

.nx-hovercard__loading {
  height: 200px;
  background: linear-gradient(90deg, #f3f4f6 0%, #f9fafb 50%, #f3f4f6 100%);
  background-size: 200% 100%;
  animation: nx-shimmer 1.2s infinite linear;
}
@keyframes nx-shimmer { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }

/* Dark mode */
html[data-theme="dark"] .nx-hovercard { background: #131a30; border-color: rgba(255,255,255,0.06); box-shadow: 0 24px 48px -12px rgba(0,0,0,0.5); }
html[data-theme="dark"] .nx-hovercard__title { color: #fff !important; }
html[data-theme="dark"] .nx-hovercard__excerpt { color: rgba(255,255,255,0.7); }
html[data-theme="dark"] .nx-hovercard__meta { border-top-color: rgba(255,255,255,0.05); color: rgba(255,255,255,0.5); }

/* Mobile: hovercards desactivados via JS, pero por seguridad: */
@media (max-width: 768px) { .nx-hovercard { display: none !important; } }

/* =============================================================================
   OCULTAR FEATURES REMOVIDAS
   ============================================================================= */
.nx-search-fab,
.nx-cmdk,
.nx-wa,
.nx-toc { display: none !important; }

/* =============================================================================
   CATEGORY LABELS — verde tintado (bg) + verde 100% (texto)
   ============================================================================= */

/* Card de categoría flotante en posts del blog */
.blog-card-category-floating,
.card-blog--modern .blog-card-category-floating {
  background: rgba(45,174,67,0.15) !important;
  color: #2dae43 !important;
  border: 1px solid rgba(45,174,67,0.25);
  backdrop-filter: blur(8px);
  text-shadow: none;
  box-shadow: 0 4px 12px rgba(45,174,67,0.15);
}

/* Badge "X posts" + nombre en cards de "Explora por tema" */
.rd-mega-card__meta {
  background: rgba(45,174,67,0.18);
  color: #2dae43 !important;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  display: inline-flex;
  align-items: center;
  width: fit-content;
}
.rd-mega-card__title {
  color: #2dae43 !important;
  font-weight: 800 !important;
}

/* Badge en cards de blog (variantes existentes) */
.blog-card-category {
  background: rgba(45,174,67,0.15) !important;
  color: #2dae43 !important;
}

/* Badge de "X entradas" en hero de categoría */
.nexus-cat-hero__badge {
  background: rgba(45,174,67,0.18) !important;
  border-color: rgba(45,174,67,0.4) !important;
  color: #fff !important;
}
.nexus-cat-hero__badge i { color: #4cc863 !important; }

/* Hovercard category chip */
.nx-hovercard__cat {
  background: rgba(45,174,67,0.12) !important;
  color: #2dae43 !important;
}

/* En dark mode mantener contraste */
html[data-theme="dark"] .blog-card-category-floating,
html[data-theme="dark"] .blog-card-category,
html[data-theme="dark"] .rd-mega-card__meta {
  background: rgba(45,174,67,0.22) !important;
  color: #4cc863 !important;
  border-color: rgba(45,174,67,0.35);
}
html[data-theme="dark"] .rd-mega-card__title { color: #4cc863 !important; }

/* =============================================================================
   CATEGORY CARDS — íconos atenuados, título blanco, badge verde
   ============================================================================= */

/* Atenuar imagen/ícono de fondo para que no compita con el texto */
.rd-topics .rd-mega-card__img,
.rd-mega-card .rd-mega-card__img {
  opacity: .55;
  transition: opacity .35s ease, transform .8s cubic-bezier(.22,1,.36,1);
}
.rd-topics .rd-mega-card:hover .rd-mega-card__img,
.rd-mega-card:hover .rd-mega-card__img { opacity: .75; }

/* Overlay más oscuro para mejor lectura */
.rd-mega-card__overlay {
  background: linear-gradient(180deg, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.55) 60%, rgba(0,0,0,0.85) 100%) !important;
}

/* Título de categoría: BLANCO 100% para máxima legibilidad */
.rd-mega-card__title,
.rd-topics .rd-mega-card__title {
  color: #ffffff !important;
  text-shadow: 0 2px 8px rgba(0,0,0,0.35);
  font-weight: 800 !important;
}

/* Badge "X posts" mantiene verde tintado (acento) */
.rd-mega-card__meta {
  background: rgba(45,174,67,0.22) !important;
  color: #6ee78a !important;
  border: 1px solid rgba(45,174,67,0.4);
  backdrop-filter: blur(6px);
}

/* =============================================================================
   FIX FINAL: gap blanco entre header y hero (front page = .blog body)
   ============================================================================= */

/* Tu front page tiene class .blog, no .home */
.blog .site-content.page-wrapper,
.home .site-content.page-wrapper { padding-top: 0 !important; }

.blog .rd-home-hero,
.home .rd-home-hero { margin-top: 0 !important; padding-top: 100px !important; }

/* Header transparente sobre el hero verde, sólido al scroll */
.blog .site-header:not(.is-scrolled),
.home .site-header:not(.is-scrolled) {
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-bottom-color: transparent !important;
  box-shadow: none !important;
}
.blog .site-header.is-scrolled,
.home .site-header.is-scrolled {
  background: rgba(11,16,32,0.92) !important;
  backdrop-filter: saturate(180%) blur(14px) !important;
}
/* Texto blanco sobre el hero, vuelve normal al scroll */
.blog .site-header:not(.is-scrolled) .nexus-menu > li > a,
.blog .site-header:not(.is-scrolled) .rd-mega-trigger,
.home .site-header:not(.is-scrolled) .nexus-menu > li > a,
.home .site-header:not(.is-scrolled) .rd-mega-trigger { color: #fff !important; }
.blog .site-header:not(.is-scrolled) .rd-theme-toggle,
.home .site-header:not(.is-scrolled) .rd-theme-toggle {
  background: rgba(255,255,255,0.12) !important;
  border-color: rgba(255,255,255,0.25) !important;
  color: #fff !important;
}

/* Si por alguna razón body no tiene .blog/.home, garantizar 0 padding cuando hay hero */
.site-content.page-wrapper > .rd-home-hero:first-child,
.site-content.page-wrapper > main > .rd-home-hero:first-child { margin-top: -84px !important; padding-top: 184px !important; }

/* Quitar toggle de dark mode */
.rd-theme-toggle { display: none !important; }

/* =============================================================================
   LOGO SWAP — versión clara para fondos oscuros
   Default (theme custom_logo): variante full-color (verde + azul oscuro)
   Cuando el header está sobre un fondo oscuro (hero verde, scrolled, footer):
   intercambiamos por el logo solo-verde via background-image.
   ============================================================================= */

/* Reservamos un wrapper visible con la imagen de fondo cuando se necesita */
.site-branding .custom-logo-link {
  position: relative;
}

/* Variante clara (verde sobre transparente) — solo aparece en contexto oscuro */
.blog .site-header:not(.is-scrolled) .site-branding .custom-logo-link img,
.home .site-header:not(.is-scrolled) .site-branding .custom-logo-link img,
.site-header.is-scrolled .site-branding .custom-logo-link img,
.site-footer .footer-brand .custom-logo-link img {
  visibility: hidden;
}
.blog .site-header:not(.is-scrolled) .site-branding .custom-logo-link::after,
.home .site-header:not(.is-scrolled) .site-branding .custom-logo-link::after,
.site-header.is-scrolled .site-branding .custom-logo-link::after,
.site-footer .footer-brand .custom-logo-link::after {
  content: "";
  position: absolute;
  inset: 0;
  background: url("https://hectorcito.com/wp-content/uploads/2026/04/hectorcito-logo-dark-bg.png") no-repeat center / contain;
  pointer-events: none;
}

/* =============================================================================
   FIX LOGO SWAP — usar content: url() para mantener tamaño correcto
   ============================================================================= */

/* Anular el método anterior */
.site-branding .custom-logo-link::after,
.site-footer .footer-brand .custom-logo-link::after { content: none !important; }
.blog .site-header:not(.is-scrolled) .site-branding .custom-logo-link img,
.home .site-header:not(.is-scrolled) .site-branding .custom-logo-link img,
.site-header.is-scrolled .site-branding .custom-logo-link img,
.site-footer .footer-brand .custom-logo-link img { visibility: visible !important; }

/* Nuevo método: reemplazar la imagen completa */
.blog .site-header:not(.is-scrolled) .site-branding .custom-logo,
.home .site-header:not(.is-scrolled) .site-branding .custom-logo,
.site-header.is-scrolled .site-branding .custom-logo,
.site-footer .footer-brand .custom-logo {
  content: url("https://hectorcito.com/wp-content/uploads/2026/04/hectorcito-logo-dark-bg.png");
  object-fit: contain;
}

/* El footer ya tiene height 38px max-width 240px definido — content: url respeta esos tamaños */

/* =============================================================================
   HEADER NIVEL DIOS — contraste, mega menú premium, CTA con presencia
   ============================================================================= */

/* Header sobre hero (transparente): texto BLANCO con sombra para legibilidad */
.blog .site-header:not(.is-scrolled) .nexus-menu > li > a,
.home .site-header:not(.is-scrolled) .nexus-menu > li > a,
.blog .site-header:not(.is-scrolled) .rd-mega-trigger,
.home .site-header:not(.is-scrolled) .rd-mega-trigger {
  color: rgba(255,255,255,0.95) !important;
  text-shadow: 0 1px 8px rgba(0,0,0,0.25);
  font-weight: 600 !important;
}
.blog .site-header:not(.is-scrolled) .nexus-menu > li > a:hover,
.home .site-header:not(.is-scrolled) .nexus-menu > li > a:hover,
.blog .site-header:not(.is-scrolled) .rd-mega-trigger:hover,
.blog .site-header:not(.is-scrolled) .rd-mega-trigger.is-open,
.home .site-header:not(.is-scrolled) .rd-mega-trigger:hover,
.home .site-header:not(.is-scrolled) .rd-mega-trigger.is-open {
  color: #fff !important;
  background: rgba(255,255,255,0.14) !important;
  text-shadow: none;
}

/* Item activo: subrayado verde brillante */
.blog .site-header:not(.is-scrolled) .nexus-menu > li.current-menu-item > a,
.home .site-header:not(.is-scrolled) .nexus-menu > li.current-menu-item > a {
  color: #fff !important;
  background: rgba(255,255,255,0.14) !important;
}
.blog .site-header:not(.is-scrolled) .nexus-menu > li.current-menu-item > a::after,
.home .site-header:not(.is-scrolled) .nexus-menu > li.current-menu-item > a::after {
  content: "" !important;
  display: block !important;
  position: absolute;
  bottom: -2px; left: 14px; right: 14px;
  height: 2px;
  background: linear-gradient(90deg, #6ee78a, #fff);
  border-radius: 2px;
}
.nexus-menu > li > a { position: relative; }

/* Header SCROLLED (fondo oscuro con blur): texto blanco igualmente legible */
.site-header.is-scrolled .nexus-menu > li > a,
.site-header.is-scrolled .rd-mega-trigger {
  color: rgba(255,255,255,0.85) !important;
  text-shadow: none;
  font-weight: 600 !important;
}
.site-header.is-scrolled .nexus-menu > li > a:hover,
.site-header.is-scrolled .rd-mega-trigger:hover,
.site-header.is-scrolled .rd-mega-trigger.is-open {
  color: #fff !important;
  background: rgba(110,231,138,0.15) !important;
}
.site-header.is-scrolled .nexus-menu > li.current-menu-item > a {
  color: #6ee78a !important;
  background: rgba(110,231,138,0.12) !important;
}

/* Páginas internas (header blanco): contraste limpio */
body:not(.blog):not(.home) .site-header .nexus-menu > li > a,
body:not(.blog):not(.home) .site-header .rd-mega-trigger {
  color: #475569 !important;
}
body:not(.blog):not(.home) .site-header .nexus-menu > li > a:hover,
body:not(.blog):not(.home) .site-header .rd-mega-trigger:hover,
body:not(.blog):not(.home) .site-header .rd-mega-trigger.is-open {
  color: #1f8a32 !important;
  background: rgba(45,174,67,0.08) !important;
}
body:not(.blog):not(.home) .site-header .nexus-menu > li.current-menu-item > a {
  color: #1f8a32 !important;
  background: rgba(45,174,67,0.08) !important;
}

/* Tipografía del menú: tracking y tamaño consistentes */
.nexus-menu > li > a,
.rd-mega-trigger {
  font-family: "Inter","Space Grotesk",system-ui,sans-serif !important;
  font-size: 14.5px !important;
  letter-spacing: -0.005em !important;
  padding: 10px 14px !important;
  border-radius: 10px !important;
  transition: color .22s ease, background .22s ease, transform .22s ease !important;
}
.nexus-menu > li > a:active, .rd-mega-trigger:active { transform: scale(.97); }

/* CTA "Suscríbete" — gradiente verde con halo y micro-pulse */
.header-cta .btn,
.header-cta .btn-primary,
.header-cta .btn-sm {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  height: 42px;
  padding: 0 22px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: .005em;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #2dae43 0%, #1f8a32 100%) !important;
  color: #fff !important;
  border: 0 !important;
  box-shadow: 0 6px 18px -6px rgba(45,174,67,0.55), 0 0 0 0 rgba(45,174,67,0.5) !important;
  transition: transform .22s ease, box-shadow .25s ease, filter .2s ease !important;
  overflow: hidden;
}
.header-cta .btn::before {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(120deg, transparent 30%, rgba(255,255,255,0.35) 50%, transparent 70%);
  transform: translateX(-120%);
  transition: transform .7s ease;
}
.header-cta .btn:hover::before { transform: translateX(120%); }
.header-cta .btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px -6px rgba(45,174,67,0.65), 0 0 0 6px rgba(45,174,67,0.12) !important;
  filter: brightness(1.08);
}
.header-cta .btn::after {
  content: "→";
  display: inline-block;
  font-size: 16px;
  transition: transform .22s ease;
}
.header-cta .btn:hover::after { transform: translateX(3px); }
/* Sobre fondo blanco (páginas internas), mantener gradiente verde */

/* CTA invertido sobre el hero verde: blanco con texto verde para máxima visibilidad */
.blog .site-header:not(.is-scrolled) .header-cta .btn,
.home .site-header:not(.is-scrolled) .header-cta .btn {
  background: #fff !important;
  color: #1f8a32 !important;
  box-shadow: 0 8px 22px -6px rgba(0,0,0,0.18), 0 0 0 0 rgba(255,255,255,0.4) !important;
}
.blog .site-header:not(.is-scrolled) .header-cta .btn:hover,
.home .site-header:not(.is-scrolled) .header-cta .btn:hover {
  box-shadow: 0 14px 32px -8px rgba(0,0,0,0.28), 0 0 0 6px rgba(255,255,255,0.18) !important;
}

/* Mega menú "Explorar" — panel premium */
.rd-mega-panel {
  background: rgba(255,255,255,0.98) !important;
  backdrop-filter: saturate(180%) blur(16px) !important;
  border: 1px solid rgba(15,23,42,0.06) !important;
  border-radius: 18px !important;
  box-shadow: 0 30px 60px -12px rgba(15,23,42,0.25) !important;
  overflow: hidden;
}
.rd-mega-card { border-radius: 14px !important; transition: transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s ease !important; }
.rd-mega-card:hover { transform: translateY(-4px); box-shadow: 0 18px 40px -10px rgba(15,23,42,0.28) !important; }

/* Page wrapper: anchor offset para que #newsletter no quede oculto bajo el header */
#newsletter { scroll-margin-top: 100px; }

/* =============================================================================
   ABOUT PAGE — diseño autor profesional
   ============================================================================= */
.hb-container { max-width: 1200px; margin: 0 auto; padding: 0 clamp(20px, 4vw, 32px); }
.hb-eyebrow { display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: .18em; color: #2dae43; padding: 6px 14px; background: rgba(45,174,67,0.1); border-radius: 999px; margin-bottom: 18px; }

/* Hero */
.hb-hero { position: relative; padding: clamp(80px, 12vw, 140px) 0 clamp(60px, 10vw, 100px); overflow: hidden; background: linear-gradient(180deg, #0a1426 0%, #0f1f3a 100%); color: #fff; }
.hb-hero__bg { position: absolute; inset: 0; background: radial-gradient(ellipse 60% 50% at 20% 30%, rgba(45,174,67,0.25), transparent 70%), radial-gradient(ellipse 60% 50% at 80% 70%, rgba(76,200,99,0.18), transparent 70%); pointer-events: none; }
.hb-hero__inner { position: relative; display: grid; grid-template-columns: 1.3fr 1fr; gap: 60px; align-items: center; }
.hb-hero__title { font-size: clamp(2rem, 5vw, 3.6rem); font-weight: 800; line-height: 1.05; letter-spacing: -0.025em; color: #fff !important; margin: 0 0 20px; }
.hb-grad { background: linear-gradient(135deg, #2dae43, #6ee78a); -webkit-background-clip: text; background-clip: text; color: transparent; }
.hb-hero__lead { font-size: clamp(15px, 1.4vw, 18px); line-height: 1.7; color: rgba(255,255,255,0.78); max-width: 56ch; margin: 0 0 28px; }
.hb-hero__lead strong { color: #fff; }
.hb-hero__ctas { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 32px; }
.hb-btn { display: inline-flex; align-items: center; gap: 8px; padding: 12px 22px; border-radius: 999px; font-weight: 600; font-size: 14.5px; text-decoration: none; transition: transform .2s ease, background .2s ease, box-shadow .25s ease; border: 0; cursor: pointer; }
.hb-btn--primary { background: linear-gradient(135deg, #2dae43, #1f8a32); color: #fff; box-shadow: 0 8px 22px -6px rgba(45,174,67,0.55); }
.hb-btn--primary:hover { transform: translateY(-2px); box-shadow: 0 14px 32px -8px rgba(45,174,67,0.7); }
.hb-btn--ghost { background: rgba(255,255,255,0.08); color: #fff; border: 1px solid rgba(255,255,255,0.18); backdrop-filter: blur(8px); }
.hb-btn--ghost:hover { background: rgba(255,255,255,0.14); }
.hb-stats { display: flex; gap: 32px; flex-wrap: wrap; }
.hb-stat { display: flex; flex-direction: column; }
.hb-stat__num { font-size: 28px; font-weight: 800; color: #fff; line-height: 1; }
.hb-stat__label { font-size: 12px; color: rgba(255,255,255,0.6); text-transform: uppercase; letter-spacing: .12em; margin-top: 6px; }

/* Hero art (cards flotantes) */
.hb-hero__art { position: relative; height: 420px; }
.hb-card { position: absolute; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.12); border-radius: 16px; padding: 18px; backdrop-filter: blur(12px); box-shadow: 0 30px 60px -10px rgba(0,0,0,0.5); transition: transform .3s ease; }
.hb-card:hover { transform: translateY(-4px); }
.hb-card--code { top: 30px; left: 0; width: 90%; font-family: ui-monospace, "SF Mono", Menlo, monospace; }
.hb-card--code .hb-dot { display: inline-block; width: 10px; height: 10px; border-radius: 50%; margin-right: 6px; background: #ff5f57; }
.hb-card--code .hb-dot:nth-child(2) { background: #febc2e; }
.hb-card--code .hb-dot:nth-child(3) { background: #28c840; }
.hb-card--code pre { margin: 14px 0 0; color: #6ee78a; font-size: 13px; line-height: 1.6; white-space: pre-wrap; }
.hb-card--drone, .hb-card--photo { display: flex; align-items: center; gap: 10px; font-weight: 600; color: #fff; font-size: 14px; }
.hb-card--drone { bottom: 60px; right: 0; padding: 14px 22px; }
.hb-card--photo { bottom: 0; left: 40px; padding: 14px 22px; }
.hb-card--drone span, .hb-card--photo span { font-size: 16px; }

/* Sections */
.hb-section { padding: clamp(60px, 8vw, 100px) 0; }
.hb-h2 { font-size: clamp(1.75rem, 3vw, 2.4rem); font-weight: 800; letter-spacing: -0.02em; color: #0f172a; margin: 0 0 8px; }
.hb-h2-sub { font-size: 16px; color: #64748b; margin: 0 0 40px; }

/* What I do */
.hb-grid { display: grid; gap: 24px; }
.hb-grid--4 { grid-template-columns: repeat(4, 1fr); }
.hb-grid--3 { grid-template-columns: repeat(3, 1fr); }
.hb-feature { background: #fff; border: 1px solid rgba(15,23,42,0.06); border-radius: 16px; padding: 28px 24px; transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.hb-feature:hover { transform: translateY(-4px); box-shadow: 0 20px 40px -12px rgba(15,23,42,0.18); border-color: rgba(45,174,67,0.25); }
.hb-feature__icon { width: 52px; height: 52px; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center; font-size: 22px; font-weight: 700; margin-bottom: 16px; color: #fff; }
.hb-feature__icon--1 { background: linear-gradient(135deg, #2dae43, #1f8a32); font-family: ui-monospace, monospace; font-size: 18px; }
.hb-feature__icon--2 { background: linear-gradient(135deg, #06b6d4, #0891b2); }
.hb-feature__icon--3 { background: linear-gradient(135deg, #ec4899, #db2777); }
.hb-feature__icon--4 { background: linear-gradient(135deg, #f59e0b, #d97706); }
.hb-feature h3 { font-size: 18px; font-weight: 700; color: #0f172a; margin: 0 0 8px; }
.hb-feature p { font-size: 14.5px; line-height: 1.65; color: #64748b; margin: 0; }

/* Industries */
.hb-industries { background: #f8fafc; }
.hb-industry { background: #fff; border-radius: 16px; padding: 28px 24px; border: 1px solid rgba(15,23,42,0.05); transition: transform .3s ease, box-shadow .3s ease; }
.hb-industry:hover { transform: translateY(-4px); box-shadow: 0 20px 40px -12px rgba(15,23,42,0.15); }
.hb-industry__pill { display: inline-block; background: rgba(45,174,67,0.1); color: #1f8a32; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; padding: 5px 12px; border-radius: 999px; margin-bottom: 14px; }
.hb-industry h4 { font-size: 18px; font-weight: 700; color: #0f172a; margin: 0 0 8px; }
.hb-industry p { font-size: 14.5px; line-height: 1.65; color: #64748b; margin: 0; }

/* Stack */
.hb-tags { display: flex; flex-wrap: wrap; gap: 10px; }
.hb-tag { background: #fff; border: 1px solid rgba(15,23,42,0.08); padding: 10px 18px; border-radius: 999px; font-size: 14px; font-weight: 500; color: #334155; transition: all .2s ease; }
.hb-tag:hover { border-color: #2dae43; color: #1f8a32; transform: translateY(-2px); }

/* CTA */
.hb-cta { background: linear-gradient(135deg, #0a1426 0%, #1f8a32 60%, #2dae43 100%); color: #fff; }
.hb-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; flex-wrap: wrap; }
.hb-cta .hb-h2 { color: #fff; margin: 0 0 8px; }
.hb-cta p { font-size: 16px; color: rgba(255,255,255,0.85); margin: 0; }
.hb-cta__actions { display: flex; gap: 12px; flex-wrap: wrap; }
.hb-cta .hb-btn--primary { background: #fff; color: #1f8a32; }
.hb-cta .hb-btn--primary:hover { background: #fff; color: #176b27; }
.hb-cta .hb-btn--ghost { background: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.3); }

/* Responsive */
@media (max-width: 992px) {
  .hb-hero__inner { grid-template-columns: 1fr; gap: 40px; }
  .hb-hero__art { display: none; }
  .hb-grid--4 { grid-template-columns: repeat(2, 1fr); }
  .hb-grid--3 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .hb-grid--4, .hb-grid--3 { grid-template-columns: 1fr; }
  .hb-stats { gap: 20px; }
  .hb-stat__num { font-size: 24px; }
  .hb-cta__inner { flex-direction: column; align-items: flex-start; }
}

/* Page de about: ocultar título de la plantilla por defecto si lo agrega */
.page-id-235 .nexus-page-header { display: none !important; }
.page-id-235 .site-content.page-wrapper { padding-top: 0 !important; }
.page-id-235 .entry-content > h1:first-child { display: none; }

/* =============================================================================
   HEADER BLANCO STICKY (override final) + LOGO COLORFUL
   ============================================================================= */

/* Header SIEMPRE blanco con backdrop, sticky */
.site-header,
.blog .site-header,
.home .site-header,
.blog .site-header:not(.is-scrolled),
.home .site-header:not(.is-scrolled) {
  background: rgba(255,255,255,0.96) !important;
  backdrop-filter: saturate(180%) blur(14px) !important;
  -webkit-backdrop-filter: saturate(180%) blur(14px) !important;
  border-bottom: 1px solid rgba(15,23,42,0.06) !important;
  box-shadow: 0 1px 0 rgba(15,23,42,0.02) !important;
}
.site-header.is-scrolled,
.blog .site-header.is-scrolled,
.home .site-header.is-scrolled {
  background: rgba(255,255,255,0.98) !important;
  box-shadow: 0 6px 20px -10px rgba(15,23,42,0.18) !important;
}

/* Texto del nav: SIEMPRE oscuro sobre blanco */
.nexus-menu > li > a,
.rd-mega-trigger,
.blog .site-header .nexus-menu > li > a,
.home .site-header .nexus-menu > li > a,
.blog .site-header .rd-mega-trigger,
.home .site-header .rd-mega-trigger {
  color: #475569 !important;
  text-shadow: none !important;
  font-weight: 600 !important;
}
.nexus-menu > li > a:hover,
.rd-mega-trigger:hover,
.rd-mega-trigger.is-open,
.blog .site-header .nexus-menu > li > a:hover,
.home .site-header .nexus-menu > li > a:hover,
.blog .site-header .rd-mega-trigger:hover,
.home .site-header .rd-mega-trigger:hover {
  color: #1f8a32 !important;
  background: rgba(45,174,67,0.08) !important;
}
.nexus-menu > li.current-menu-item > a,
.blog .site-header .nexus-menu > li.current-menu-item > a,
.home .site-header .nexus-menu > li.current-menu-item > a {
  color: #1f8a32 !important;
  background: rgba(45,174,67,0.08) !important;
}

/* CTA verde con gradiente (no más blanco invertido) */
.header-cta .btn,
.header-cta .btn-primary,
.header-cta .btn-sm,
.blog .site-header .header-cta .btn,
.home .site-header .header-cta .btn,
.blog .site-header:not(.is-scrolled) .header-cta .btn,
.home .site-header:not(.is-scrolled) .header-cta .btn {
  background: linear-gradient(135deg, #2dae43 0%, #1f8a32 100%) !important;
  color: #fff !important;
  box-shadow: 0 6px 18px -6px rgba(45,174,67,0.55) !important;
}

/* LOGO: usar siempre el colorful (revertir swap), excepto footer */
.blog .site-header:not(.is-scrolled) .site-branding .custom-logo,
.home .site-header:not(.is-scrolled) .site-branding .custom-logo,
.site-header.is-scrolled .site-branding .custom-logo,
.site-branding .custom-logo {
  content: normal !important;
}
/* Footer: mantener variante verde sobre fondo oscuro */
.site-footer .footer-brand .custom-logo {
  content: url("https://hectorcito.com/wp-content/uploads/2026/04/hectorcito-logo-dark-bg.png") !important;
  object-fit: contain;
}

/* Espacio entre header y hero: hero respeta el header sticky con padding interno */
.blog .site-content.page-wrapper,
.home .site-content.page-wrapper { padding-top: 0 !important; }
.blog .rd-home-hero,
.home .rd-home-hero { margin-top: 0 !important; padding-top: 100px !important; }

/* Para páginas sin hero, page-wrapper sí necesita el offset */
body:not(.blog):not(.home):not(.page-id-235) .site-content.page-wrapper { padding-top: 84px !important; }

/* =============================================================================
   FIX FINAL CONTRASTE MENÚ (alta especificidad)
   ============================================================================= */
html body.blog .site-header .nexus-menu > li > a,
html body.home .site-header .nexus-menu > li > a,
html body.blog .site-header .rd-mega-trigger,
html body.home .site-header .rd-mega-trigger,
html body.blog .site-header:not(.is-scrolled) .nexus-menu > li > a,
html body.home .site-header:not(.is-scrolled) .nexus-menu > li > a,
html body.blog .site-header:not(.is-scrolled) .rd-mega-trigger,
html body.home .site-header:not(.is-scrolled) .rd-mega-trigger {
  color: #334155 !important;
  text-shadow: none !important;
  font-weight: 600 !important;
}
html body.blog .site-header .nexus-menu > li > a:hover,
html body.home .site-header .nexus-menu > li > a:hover,
html body.blog .site-header .rd-mega-trigger:hover,
html body.home .site-header .rd-mega-trigger:hover {
  color: #1f8a32 !important;
  background: rgba(45,174,67,0.08) !important;
}
html body.blog .site-header .nexus-menu > li.current-menu-item > a,
html body.home .site-header .nexus-menu > li.current-menu-item > a {
  color: #1f8a32 !important;
  background: rgba(45,174,67,0.08) !important;
}

/* Header siempre sticky/fixed */
.site-header,
html body.blog .site-header,
html body.home .site-header {
  position: fixed !important;
  top: 0; left: 0; right: 0;
  width: 100% !important;
  z-index: 999 !important;
}
body.admin-bar .site-header { top: 32px !important; }
@media (max-width: 782px) { body.admin-bar .site-header { top: 46px !important; } }

/* =============================================================================
   ABOUT — versión creativa: blobs, marquee, timeline, quote, now
   ============================================================================= */

/* Hero blobs animados */
.hb-blob { position: absolute; border-radius: 50%; filter: blur(80px); pointer-events: none; opacity: .55; z-index: 0; animation: hbBlob 18s ease-in-out infinite; }
.hb-blob--1 { width: 500px; height: 500px; top: -100px; left: -100px; background: radial-gradient(circle, #2dae43, transparent 70%); }
.hb-blob--2 { width: 600px; height: 600px; bottom: -200px; right: -150px; background: radial-gradient(circle, #06b6d4, transparent 70%); animation-delay: -9s; }
@keyframes hbBlob { 0%,100% { transform: translate(0,0) scale(1); } 50% { transform: translate(40px,-30px) scale(1.08); } }
.hb-noise { position: absolute; inset: 0; background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence baseFrequency='.85'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='.3'/></svg>"); opacity: .06; mix-blend-mode: overlay; pointer-events: none; }
.hb-hero__inner { position: relative; z-index: 2; }

/* Status pill */
.hb-status { display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px; background: rgba(45,174,67,0.18); border: 1px solid rgba(110,231,138,0.4); border-radius: 999px; color: #6ee78a; font-size: 12px; font-weight: 600; margin-bottom: 22px; }
.hb-status__dot { width: 8px; height: 8px; border-radius: 50%; background: #6ee78a; box-shadow: 0 0 10px #6ee78a; animation: hbPulse 1.8s ease-in-out infinite; }
@keyframes hbPulse { 0%,100% { opacity: 1; } 50% { opacity: .35; } }

/* Stats con + flotante */
.hb-stat { position: relative; display: inline-flex; flex-direction: column; }
.hb-stat__num { font-size: 36px; font-weight: 800; color: #fff; line-height: 1; font-variant-numeric: tabular-nums; }
.hb-stat__plus { position: absolute; top: 0; left: calc(100% + 4px); font-size: 24px; font-weight: 800; color: #6ee78a; line-height: 1; }

/* Hero art mejorado: orbital + cards */
.hb-hero__art { position: relative; height: 460px; }
.hb-orbit { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .8; }
.hb-orbit__planet { transform-origin: 200px 200px; animation: hbSpin 18s linear infinite; }
@keyframes hbSpin { to { transform: rotate(360deg); } }

/* Code card */
.hb-card--code { width: 92%; top: 40px; left: 0; padding: 0; overflow: hidden; }
.hb-card__bar { display: flex; align-items: center; gap: 8px; padding: 12px 14px; background: rgba(255,255,255,0.04); border-bottom: 1px solid rgba(255,255,255,0.06); }
.hb-card__file { margin-left: 8px; font-size: 12px; color: rgba(255,255,255,0.55); font-family: ui-monospace, monospace; }
.hb-card--code pre { padding: 14px 18px; margin: 0; }
.hb-c-key { color: #c084fc; }
.hb-c-var { color: #67e8f9; }
.hb-c-prop { color: #6ee78a; }
.hb-c-str { color: #fde047; }
.hb-c-num { color: #fb923c; }
.hb-c-bool { color: #f472b6; }

/* Floating cards animadas */
.hb-card--drone, .hb-card--photo { display: flex; align-items: center; gap: 12px; padding: 14px 18px; }
.hb-card--drone { bottom: 50px; right: -10px; }
.hb-card--photo { bottom: -10px; left: 30px; }
.hb-card__emoji { font-size: 26px; }
.hb-card--drone strong, .hb-card--photo strong { display: block; color: #fff; font-size: 14px; }
.hb-card--drone small, .hb-card--photo small { color: rgba(255,255,255,0.6); font-size: 12px; }
.hb-float { animation: hbFloat 5s ease-in-out infinite; }
.hb-float-delay { animation: hbFloat 6s ease-in-out infinite; animation-delay: -3s; }
@keyframes hbFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }

/* Marquee de stack */
.hb-marquee-wrap { padding: 24px 0; background: #0f172a; color: rgba(255,255,255,0.55); overflow: hidden; }
.hb-marquee { overflow: hidden; }
.hb-marquee__track { display: inline-flex; gap: 24px; white-space: nowrap; animation: hbMarquee 35s linear infinite; font-size: 18px; font-weight: 600; padding-left: 24px; }
.hb-marquee__track span { font-family: "Inter", sans-serif; }
@keyframes hbMarquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* Bullets en features */
.hb-feature__bullets { list-style: none; padding: 0; margin: 14px 0 0; display: flex; flex-direction: column; gap: 6px; }
.hb-feature__bullets li { font-size: 13px; color: #475569; padding-left: 18px; position: relative; }
.hb-feature__bullets li::before { content: "✓"; position: absolute; left: 0; top: 0; color: #2dae43; font-weight: 700; }

/* Timeline */
.hb-timeline { background: #fff; }
.hb-tl { list-style: none; padding: 0; margin: 0; position: relative; }
.hb-tl::before { content: ""; position: absolute; left: 90px; top: 0; bottom: 0; width: 2px; background: linear-gradient(180deg, transparent, #2dae43 10%, #2dae43 90%, transparent); }
.hb-tl li { display: flex; gap: 28px; padding: 18px 0; align-items: flex-start; position: relative; }
.hb-tl__year { width: 80px; flex-shrink: 0; font-size: 18px; font-weight: 800; color: #2dae43; padding-top: 4px; text-align: right; }
.hb-tl li::after { content: ""; position: absolute; left: 84px; top: 26px; width: 14px; height: 14px; border-radius: 50%; background: #fff; border: 3px solid #2dae43; box-shadow: 0 0 0 4px rgba(45,174,67,0.15); }
.hb-tl__body { padding-left: 24px; }
.hb-tl__body h4 { font-size: 17px; font-weight: 700; color: #0f172a; margin: 0 0 4px; }
.hb-tl__body p { font-size: 14.5px; color: #64748b; line-height: 1.6; margin: 0; }

/* Industries con bg gradient sutil */
.hb-industries { background: #f8fafc; }
.hb-industry { position: relative; overflow: hidden; }
.hb-industry__bg { position: absolute; top: 0; right: 0; width: 120px; height: 120px; border-radius: 50%; opacity: .15; filter: blur(20px); }
.hb-industry__bg--1 { background: #2dae43; }
.hb-industry__bg--2 { background: #ec4899; }
.hb-industry__bg--3 { background: #06b6d4; }
.hb-industry__bg--4 { background: #f59e0b; }
.hb-industry__bg--5 { background: #8b5cf6; }
.hb-industry__bg--6 { background: #14b8a6; }

/* Quote section */
.hb-quote { background: #0f172a; color: #fff; text-align: center; }
.hb-quote__mark { width: 56px; height: 42px; color: #2dae43; opacity: .8; margin-bottom: 24px; }
.hb-quote__text { font-size: clamp(1.3rem, 3vw, 2rem); font-weight: 600; line-height: 1.4; max-width: 800px; margin: 0 auto 16px; color: #fff; letter-spacing: -0.01em; }
.hb-quote__by { font-size: 14px; color: rgba(255,255,255,0.55); }

/* Now section */
.hb-now { background: #fff; }
.hb-now-card { background: linear-gradient(135deg, #f0fdf4 0%, #ecfeff 100%); border: 1px solid rgba(45,174,67,0.15); border-radius: 16px; padding: 22px 24px; transition: transform .25s ease, box-shadow .25s ease; }
.hb-now-card:hover { transform: translateY(-3px); box-shadow: 0 14px 30px -10px rgba(45,174,67,0.25); }
.hb-now-card__tag { display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: .08em; color: #1f8a32; margin-bottom: 12px; }
.hb-now-card strong { display: block; font-size: 16px; color: #0f172a; margin-bottom: 6px; }
.hb-now-card p { font-size: 13.5px; color: #64748b; margin: 0; line-height: 1.55; }

.hb-eyebrow--light { background: rgba(255,255,255,0.18); color: #fff; }

/* Responsive */
@media (max-width: 992px) {
  .hb-hero__art { display: none; }
  .hb-tl::before { left: 24px; }
  .hb-tl__year { width: auto; text-align: left; }
  .hb-tl li::after { left: 18px; }
  .hb-tl__body { padding-left: 40px; }
  .hb-tl li { flex-direction: column; gap: 4px; }
}

/* =============================================================================
   ABOUT — full width: secciones rompen el container del tema
   ============================================================================= */
.page-id-235 .site-main,
.page-id-235 .entry-content,
.page-id-235 main,
.page-id-235 .site-content { max-width: none !important; padding: 0 !important; margin: 0 !important; width: 100% !important; }
.page-id-235 .site-main > article,
.page-id-235 .entry-content > * { max-width: none !important; }

/* Sections siempre ocupan 100vw aunque estén dentro de un container */
.page-id-235 .hb-hero,
.page-id-235 .hb-section {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

/* Container interno más ancho */
.hb-container { max-width: min(1480px, 92vw) !important; }

/* Hero del home: padding generoso arriba y abajo para que respire */
.blog .rd-home-hero,
.home .rd-home-hero {
  padding-top: clamp(140px, 14vw, 200px) !important;
  padding-bottom: clamp(100px, 10vw, 160px) !important;
}
@media (max-width: 600px) {
  .blog .rd-home-hero,
  .home .rd-home-hero {
    padding-top: 130px !important;
    padding-bottom: 80px !important;
  }
}

/* Hero: solo padding arriba, abajo normal */
.blog .rd-home-hero,
.home .rd-home-hero {
  padding-top: clamp(140px, 14vw, 200px) !important;
  padding-bottom: clamp(48px, 6vw, 80px) !important;
}
@media (max-width: 600px) {
  .blog .rd-home-hero,
  .home .rd-home-hero {
    padding-top: 130px !important;
    padding-bottom: 40px !important;
  }
}

/* Hero TOP padding final con máxima especificidad */
html body.blog .rd-home-hero,
html body.home .rd-home-hero,
.site-content.page-wrapper .rd-home-hero {
  padding-top: clamp(180px, 16vw, 240px) !important;
}
@media (max-width: 600px) {
  html body.blog .rd-home-hero,
  html body.home .rd-home-hero { padding-top: 150px !important; }
}

/* =============================================================================
   CONTACT PAGE — diseño full-width premium
   ============================================================================= */
.page-id-400 .nexus-page-header { display: none !important; }
.page-id-400 .site-content.page-wrapper { padding-top: 0 !important; }
.page-id-400 .site-main, .page-id-400 .entry-content, .page-id-400 main { max-width: none !important; padding: 0 !important; margin: 0 !important; width: 100% !important; }
.page-id-400 .hc-hero, .page-id-400 .hc-section { width: 100vw !important; max-width: 100vw !important; margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important; }

.hc-container { max-width: min(1280px, 92vw); margin: 0 auto; padding: 0 clamp(20px, 4vw, 32px); }
.hc-eyebrow { display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: .18em; color: #2dae43; padding: 6px 14px; background: rgba(45,174,67,.1); border-radius: 999px; margin-bottom: 14px; }
.hc-h2 { font-size: clamp(1.75rem, 3vw, 2.4rem); font-weight: 800; letter-spacing: -.02em; color: #0f172a; margin: 0 0 12px; }
.hc-section { padding: clamp(60px, 8vw, 100px) 0; }

/* HERO */
.hc-hero { position: relative; padding: clamp(140px, 14vw, 200px) 0 clamp(60px, 8vw, 100px); overflow: hidden; background: linear-gradient(180deg, #0a1426 0%, #0f1f3a 100%); color: #fff; }
.hc-blob { position: absolute; border-radius: 50%; filter: blur(80px); opacity: .5; pointer-events: none; }
.hc-blob--1 { width: 500px; height: 500px; top: -100px; left: -100px; background: radial-gradient(circle, #2dae43, transparent 70%); }
.hc-blob--2 { width: 600px; height: 600px; bottom: -200px; right: -100px; background: radial-gradient(circle, #06b6d4, transparent 70%); }
.hc-hero__inner { position: relative; z-index: 2; max-width: 800px; }
.hc-status { display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px; background: rgba(45,174,67,.18); border: 1px solid rgba(110,231,138,.4); border-radius: 999px; color: #6ee78a; font-size: 12px; font-weight: 600; margin-bottom: 22px; }
.hc-status__dot { width: 8px; height: 8px; border-radius: 50%; background: #6ee78a; box-shadow: 0 0 10px #6ee78a; animation: hcPulse 1.8s ease-in-out infinite; }
@keyframes hcPulse { 0%,100% { opacity: 1; } 50% { opacity: .35; } }
.hc-hero__title { font-size: clamp(2rem, 5vw, 3.6rem); font-weight: 800; line-height: 1.05; letter-spacing: -.025em; color: #fff; margin: 0 0 18px; }
.hc-grad { background: linear-gradient(135deg, #2dae43, #6ee78a); -webkit-background-clip: text; background-clip: text; color: transparent; }
.hc-hero__lead { font-size: clamp(15px, 1.4vw, 18px); line-height: 1.7; color: rgba(255,255,255,.78); margin: 0; max-width: 60ch; }
.hc-hero__lead strong { color: #fff; }

/* CHANNELS */
.hc-grid { display: grid; gap: 22px; }
.hc-grid--3 { grid-template-columns: repeat(3, 1fr); }
.hc-channel { display: block; background: #fff; border: 1px solid rgba(15,23,42,.06); border-radius: 18px; padding: 28px 26px; text-decoration: none; color: inherit; transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; position: relative; overflow: hidden; }
.hc-channel::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, transparent, #2dae43, transparent); transform: scaleX(0); transition: transform .35s ease; }
.hc-channel:hover { transform: translateY(-6px); box-shadow: 0 20px 40px -12px rgba(15,23,42,.18); border-color: rgba(45,174,67,.3); }
.hc-channel:hover::before { transform: scaleX(1); }
.hc-channel__icon { width: 56px; height: 56px; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center; font-size: 26px; color: #fff; margin-bottom: 16px; }
.hc-channel--email .hc-channel__icon { background: linear-gradient(135deg, #2dae43, #1f8a32); }
.hc-channel--wa .hc-channel__icon { background: linear-gradient(135deg, #25d366, #128c7e); }
.hc-channel--cal .hc-channel__icon { background: linear-gradient(135deg, #06b6d4, #0891b2); }
.hc-channel h3 { font-size: 20px; font-weight: 700; color: #0f172a; margin: 0 0 8px; }
.hc-channel p { font-size: 14.5px; color: #64748b; line-height: 1.6; margin: 0 0 14px; }
.hc-channel__action { display: inline-block; font-size: 14px; font-weight: 600; color: #1f8a32; }

/* FORM SECTION */
.hc-form-section { background: #f8fafc; }
.hc-form-grid { display: grid; grid-template-columns: 1fr 1.4fr; gap: 60px; align-items: start; }
.hc-form-aside__lead { color: #64748b; font-size: 15.5px; line-height: 1.65; margin: 0 0 28px; }
.hc-bullets { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 18px; }
.hc-bullets li { display: flex; gap: 14px; align-items: flex-start; }
.hc-bullets li > span { font-size: 22px; flex-shrink: 0; }
.hc-bullets li strong { color: #0f172a; font-size: 14.5px; }
.hc-bullets li small { color: #64748b; font-size: 13px; }

.hc-form { background: #fff; border-radius: 20px; padding: 36px; border: 1px solid rgba(15,23,42,.06); box-shadow: 0 10px 40px -20px rgba(15,23,42,.15); }
.hc-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-bottom: 18px; }
.hc-field { display: block; margin-bottom: 18px; }
.hc-field__label { display: block; font-size: 13px; font-weight: 600; color: #334155; margin-bottom: 8px; }
.hc-field__label em { color: #ef4444; font-style: normal; }
.hc-field input, .hc-field select, .hc-field textarea {
  width: 100%; padding: 12px 14px; border-radius: 10px; border: 1px solid #e2e8f0; background: #fafbfd; font: 400 14.5px/1.5 inherit; color: #0f172a;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.hc-field input:focus, .hc-field select:focus, .hc-field textarea:focus { outline: none; border-color: #2dae43; background: #fff; box-shadow: 0 0 0 3px rgba(45,174,67,.12); }
.hc-field textarea { resize: vertical; min-height: 120px; }

.hc-fieldset { border: 0; padding: 0; margin: 0 0 18px; }
.hc-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.hc-chips label { cursor: pointer; }
.hc-chips input { position: absolute; opacity: 0; pointer-events: none; }
.hc-chips span { display: inline-block; padding: 8px 14px; border-radius: 999px; border: 1px solid #e2e8f0; font-size: 13px; color: #475569; transition: all .2s ease; background: #fafbfd; }
.hc-chips input:checked + span { background: #2dae43; color: #fff; border-color: #2dae43; }
.hc-chips label:hover span { border-color: #2dae43; color: #1f8a32; }
.hc-chips input:checked + span:hover { color: #fff; }

.hc-checkbox { display: flex; align-items: flex-start; gap: 10px; font-size: 13px; color: #64748b; margin: 8px 0 18px; line-height: 1.5; }
.hc-checkbox input { margin-top: 2px; accent-color: #2dae43; }
.hc-checkbox a { color: #1f8a32; }

.hc-honeypot { position: absolute; left: -9999px; }

.hc-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 14px 28px; border-radius: 999px; font-weight: 700; font-size: 15px; border: 0; cursor: pointer; transition: transform .2s ease, box-shadow .25s ease, filter .2s ease; }
.hc-btn--primary { background: linear-gradient(135deg, #2dae43, #1f8a32); color: #fff; box-shadow: 0 8px 22px -6px rgba(45,174,67,.55); position: relative; }
.hc-btn--primary:hover { transform: translateY(-2px); box-shadow: 0 14px 32px -8px rgba(45,174,67,.7); filter: brightness(1.08); }
.hc-btn__spinner { display: none; width: 16px; height: 16px; border: 2px solid rgba(255,255,255,.4); border-top-color: #fff; border-radius: 50%; animation: hcSpin .7s linear infinite; }
.hc-btn.is-loading .hc-btn__spinner { display: inline-block; }
.hc-btn.is-loading .hc-btn__arrow { display: none; }
.hc-btn:disabled { opacity: .85; cursor: not-allowed; }
@keyframes hcSpin { to { transform: rotate(360deg); } }

.hc-form__msg { margin-top: 14px; padding: 12px 16px; border-radius: 10px; font-size: 14px; display: none; }
.hc-form__msg.is-success { display: block; background: rgba(45,174,67,.1); color: #1f8a32; border: 1px solid rgba(45,174,67,.3); }
.hc-form__msg.is-error { display: block; background: rgba(239,68,68,.08); color: #b91c1c; border: 1px solid rgba(239,68,68,.25); }

/* FAQ */
.hc-faq__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.hc-faq__item { background: #fff; border: 1px solid rgba(15,23,42,.06); border-radius: 14px; padding: 20px 24px; transition: border-color .25s ease, box-shadow .25s ease; }
.hc-faq__item[open] { border-color: rgba(45,174,67,.3); box-shadow: 0 8px 24px -8px rgba(15,23,42,.12); }
.hc-faq__item summary { cursor: pointer; font-weight: 700; color: #0f172a; font-size: 15.5px; list-style: none; position: relative; padding-right: 24px; }
.hc-faq__item summary::-webkit-details-marker { display: none; }
.hc-faq__item summary::after { content: "+"; position: absolute; right: 0; top: -2px; font-size: 22px; color: #2dae43; transition: transform .2s ease; line-height: 1; }
.hc-faq__item[open] summary::after { transform: rotate(45deg); }
.hc-faq__item p { color: #64748b; font-size: 14.5px; line-height: 1.65; margin: 12px 0 0; }

/* Responsive */
@media (max-width: 992px) {
  .hc-grid--3 { grid-template-columns: 1fr; }
  .hc-form-grid { grid-template-columns: 1fr; gap: 36px; }
  .hc-faq__grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .hc-form { padding: 24px; }
  .hc-form__row { grid-template-columns: 1fr; gap: 0; }
}

/* =============================================================================
   PORTAFOLIO PAGE
   ============================================================================= */
.hp-container { max-width: min(1280px, 92vw); margin: 0 auto; padding: 0 clamp(20px, 4vw, 32px); }
.hp-eyebrow { display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: .18em; color: #2dae43; padding: 6px 14px; background: rgba(45,174,67,.1); border-radius: 999px; margin-bottom: 14px; }
.hp-eyebrow--light { background: rgba(255,255,255,.18); color: #fff; }
.hp-h2 { font-size: clamp(1.75rem, 3vw, 2.4rem); font-weight: 800; letter-spacing: -.02em; color: #0f172a; margin: 0 0 12px; }
.hp-h2-sub { font-size: 16px; color: #64748b; margin: 0 0 32px; }
.hp-section { padding: clamp(60px, 8vw, 100px) 0; }

.hp-hero { position: relative; padding: clamp(140px, 14vw, 200px) 0 clamp(60px, 8vw, 100px); overflow: hidden; background: linear-gradient(180deg, #0a1426 0%, #0f1f3a 100%); color: #fff; }
.hp-blob { position: absolute; border-radius: 50%; filter: blur(80px); opacity: .5; pointer-events: none; }
.hp-blob--1 { width: 500px; height: 500px; top: -100px; left: -100px; background: radial-gradient(circle, #2dae43, transparent 70%); }
.hp-blob--2 { width: 600px; height: 600px; bottom: -200px; right: -100px; background: radial-gradient(circle, #06b6d4, transparent 70%); }
.hp-hero__inner { position: relative; z-index: 2; max-width: 850px; }
.hp-hero__title { font-size: clamp(2rem, 5vw, 3.6rem); font-weight: 800; line-height: 1.05; letter-spacing: -.025em; color: #fff; margin: 0 0 18px; }
.hp-grad { background: linear-gradient(135deg, #2dae43, #6ee78a); -webkit-background-clip: text; background-clip: text; color: transparent; }
.hp-hero__lead { font-size: clamp(15px, 1.4vw, 18px); line-height: 1.7; color: rgba(255,255,255,.78); margin: 0; max-width: 60ch; }

/* Services */
.hp-services { background: #f8fafc; }
.hp-svc-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.hp-svc { background: #fff; border: 1px solid rgba(15,23,42,.06); border-radius: 16px; padding: 24px 22px; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.hp-svc:hover { transform: translateY(-4px); box-shadow: 0 18px 38px -12px rgba(15,23,42,.18); border-color: rgba(45,174,67,.25); }
.hp-svc__ic { width: 48px; height: 48px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; font-size: 22px; color: #fff; margin-bottom: 14px; }
.hp-svc__ic--1 { background: linear-gradient(135deg, #2dae43, #1f8a32); }
.hp-svc__ic--2 { background: linear-gradient(135deg, #ec4899, #db2777); }
.hp-svc__ic--3 { background: linear-gradient(135deg, #06b6d4, #0891b2); }
.hp-svc__ic--4 { background: linear-gradient(135deg, #8b5cf6, #7c3aed); }
.hp-svc__ic--5 { background: linear-gradient(135deg, #f59e0b, #d97706); }
.hp-svc__ic--6 { background: linear-gradient(135deg, #14b8a6, #0d9488); }
.hp-svc__ic--7 { background: linear-gradient(135deg, #3b82f6, #2563eb); }
.hp-svc__ic--8 { background: linear-gradient(135deg, #64748b, #475569); }
.hp-svc h3 { font-size: 17px; font-weight: 700; color: #0f172a; margin: 0 0 6px; }
.hp-svc p { font-size: 14px; color: #64748b; line-height: 1.55; margin: 0; }

/* Portfolio grid (rendered by shortcode) */
.hpf-wrap { margin-top: 16px; }
.hpf-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 28px; }
.hpf-chip { background: #fff; border: 1px solid #e2e8f0; padding: 9px 16px; border-radius: 999px; font: 600 13px/1 Inter, sans-serif; color: #475569; cursor: pointer; transition: all .2s ease; display: inline-flex; align-items: center; gap: 6px; }
.hpf-chip span { font-size: 11px; opacity: .7; background: #f1f5f9; padding: 1px 7px; border-radius: 999px; }
.hpf-chip:hover { border-color: #2dae43; color: #1f8a32; }
.hpf-chip.is-active { background: #2dae43; color: #fff; border-color: #2dae43; }
.hpf-chip.is-active span { background: rgba(255,255,255,.22); color: #fff; opacity: 1; }
.hpf-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.hpf-card { background: #fff; border: 1px solid rgba(15,23,42,.06); border-radius: 18px; overflow: hidden; transition: transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s ease, border-color .35s ease; display: flex; flex-direction: column; }
.hpf-card:hover { transform: translateY(-6px); box-shadow: 0 24px 50px -12px rgba(15,23,42,.2); border-color: rgba(45,174,67,.3); }
.hpf-card.is-hidden { display: none; }
.hpf-card__img { display: block; aspect-ratio: 16/10; overflow: hidden; position: relative; background: #f3f4f6; }
.hpf-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.22,1,.36,1); }
.hpf-card:hover .hpf-card__img img { transform: scale(1.04); }
.hpf-card__overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0) 50%, rgba(0,0,0,.55) 100%); opacity: 0; transition: opacity .35s ease; }
.hpf-card:hover .hpf-card__overlay { opacity: 1; }
.hpf-card__cta { position: absolute; bottom: 16px; left: 18px; right: 18px; color: #fff; font-weight: 600; font-size: 13.5px; opacity: 0; transform: translateY(8px); transition: all .35s ease; }
.hpf-card:hover .hpf-card__cta { opacity: 1; transform: translateY(0); }
.hpf-card__body { padding: 20px 22px; flex: 1; display: flex; flex-direction: column; }
.hpf-card__meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; font-size: 12px; }
.hpf-pill { background: rgba(45,174,67,.12); color: #1f8a32; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: 4px 10px; border-radius: 999px; font-size: 10.5px; }
.hpf-year { color: #94a3b8; font-weight: 600; }
.hpf-card__title { font-size: 17px; font-weight: 700; color: #0f172a; margin: 0 0 6px; line-height: 1.3; }
.hpf-card__excerpt { font-size: 13.5px; color: #64748b; line-height: 1.55; margin: 0 0 12px; }
.hpf-stack { margin-top: auto; display: flex; flex-wrap: wrap; gap: 5px; }
.hpf-stack span { background: #f1f5f9; color: #475569; font-size: 11px; padding: 3px 8px; border-radius: 6px; font-weight: 500; }

/* CTA */
.hp-cta { background: linear-gradient(135deg, #0a1426 0%, #1f8a32 60%, #2dae43 100%); color: #fff; }
.hp-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; flex-wrap: wrap; }
.hp-cta .hp-h2 { color: #fff; }
.hp-cta p { color: rgba(255,255,255,.85); }
.hp-cta__actions { display: flex; gap: 12px; flex-wrap: wrap; }
.hp-btn { display: inline-flex; align-items: center; gap: 8px; padding: 12px 22px; border-radius: 999px; font-weight: 700; font-size: 14.5px; text-decoration: none; transition: transform .2s ease, box-shadow .25s ease; }
.hp-btn--primary { background: #fff; color: #1f8a32; box-shadow: 0 8px 22px -6px rgba(0,0,0,.3); }
.hp-btn--primary:hover { transform: translateY(-2px); }
.hp-btn--ghost { background: rgba(255,255,255,.1); color: #fff; border: 1px solid rgba(255,255,255,.3); backdrop-filter: blur(8px); }

/* Page wrappers */
.page-template-portafolio .nexus-page-header,
body.page .nexus-page-header { display: none; }
body.page .site-content.page-wrapper { padding-top: 0 !important; }
body.page .site-main, body.page .entry-content, body.page main { max-width: none !important; padding: 0 !important; margin: 0 !important; width: 100% !important; }
body.page .hp-hero, body.page .hp-section { width: 100vw !important; max-width: 100vw !important; margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important; }

/* Responsive */
@media (max-width: 992px) {
  .hp-svc-grid { grid-template-columns: repeat(2, 1fr); }
  .hpf-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .hp-svc-grid { grid-template-columns: 1fr; }
  .hpf-grid { grid-template-columns: 1fr; }
  .hp-cta__inner { flex-direction: column; align-items: flex-start; }
}

/* =============================================================================
   SINGLE PORTFOLIO PROJECT
   ============================================================================= */
.hps-container { max-width: min(1200px, 92vw); margin: 0 auto; padding: 0 clamp(20px, 4vw, 32px); }

.hps-hero { position: relative; padding: clamp(140px, 14vw, 200px) 0 clamp(40px, 5vw, 70px); overflow: hidden; background: linear-gradient(180deg, #0a1426 0%, #0f1f3a 100%); color: #fff; }
.hps-blob { position: absolute; border-radius: 50%; filter: blur(80px); opacity: .45; pointer-events: none; }
.hps-blob--1 { width: 500px; height: 500px; top: -100px; left: -100px; background: radial-gradient(circle, #2dae43, transparent 70%); }
.hps-blob--2 { width: 600px; height: 600px; bottom: -200px; right: -100px; background: radial-gradient(circle, #06b6d4, transparent 70%); }
.hps-hero__inner { position: relative; z-index: 2; max-width: 800px; }
.hps-crumbs { margin-bottom: 18px; font-size: 13px; }
.hps-crumbs a { color: rgba(255,255,255,0.65); text-decoration: none; transition: color .2s ease; }
.hps-crumbs a:hover { color: #6ee78a; }
.hps-hero__top { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; flex-wrap: wrap; }
.hps-pill { display: inline-block; background: rgba(45,174,67,0.2); color: #6ee78a; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; padding: 5px 12px; border-radius: 999px; text-decoration: none; border: 1px solid rgba(110,231,138,0.3); }
.hps-year { color: rgba(255,255,255,0.55); font-size: 13px; font-weight: 600; }
.hps-hero__title { font-size: clamp(2.2rem, 5vw, 3.6rem); font-weight: 800; letter-spacing: -.025em; line-height: 1.05; color: #fff; margin: 0 0 18px; }
.hps-hero__lead { font-size: clamp(15px, 1.4vw, 18px); line-height: 1.7; color: rgba(255,255,255,0.78); margin: 0 0 26px; max-width: 60ch; }

.hps-btn { display: inline-flex; align-items: center; gap: 8px; padding: 13px 26px; border-radius: 999px; font-weight: 700; font-size: 14.5px; text-decoration: none; transition: transform .2s ease, box-shadow .25s ease; cursor: pointer; border: 0; white-space: nowrap; }
.hps-btn--primary { background: linear-gradient(135deg, #2dae43, #1f8a32); color: #fff; box-shadow: 0 8px 22px -6px rgba(45,174,67,0.55); }
.hps-btn--primary:hover { transform: translateY(-2px); box-shadow: 0 14px 30px -8px rgba(45,174,67,0.7); filter: brightness(1.08); }
.hps-btn--ghost { background: rgba(255,255,255,0.08); color: #1f8a32; border: 1px solid rgba(15,23,42,0.1); }
.hps-hero .hps-btn--ghost { color: #fff; border-color: rgba(255,255,255,0.25); background: rgba(255,255,255,0.08); }

/* Browser-frame screenshot */
.hps-shot-wrap { background: linear-gradient(180deg, #0f1f3a 0%, #f8fafc 50%); padding: 0 0 clamp(40px, 6vw, 80px); }
.hps-shot { background: #1f2937; border-radius: 14px; overflow: hidden; box-shadow: 0 30px 60px -12px rgba(15,23,42,0.4); margin-top: -40px; }
.hps-shot__bar { display: flex; align-items: center; gap: 6px; padding: 10px 14px; background: #1f2937; }
.hps-shot__bar > span:not(.hps-shot__url) { width: 11px; height: 11px; border-radius: 50%; background: #ef4444; }
.hps-shot__bar > span:nth-child(2) { background: #f59e0b; }
.hps-shot__bar > span:nth-child(3) { background: #22c55e; }
.hps-shot__url { margin-left: 18px; font-size: 12px; color: rgba(255,255,255,0.55); font-family: ui-monospace, monospace; }
.hps-shot img { width: 100%; height: auto; display: block; }

/* Body grid: meta sidebar + content */
.hps-body { padding: clamp(40px, 5vw, 70px) 0 clamp(60px, 8vw, 100px); background: #f8fafc; }
.hps-body__grid { display: grid; grid-template-columns: 320px 1fr; gap: 50px; align-items: start; }
.hps-meta { background: #fff; border: 1px solid rgba(15,23,42,0.06); border-radius: 16px; padding: 28px 26px; position: sticky; top: 100px; }
.hps-meta__title { font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #2dae43; margin: 0 0 18px; }
.hps-meta__list { margin: 0 0 24px; padding: 0; }
.hps-meta__list dt { font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #94a3b8; margin: 0 0 4px; }
.hps-meta__list dd { font-size: 14.5px; color: #0f172a; margin: 0 0 16px; font-weight: 500; }
.hps-meta__url { color: #1f8a32; text-decoration: none; word-break: break-all; }
.hps-meta__url:hover { text-decoration: underline; }
.hps-meta__stack { display: flex; flex-wrap: wrap; gap: 5px; }
.hps-meta__stack span { background: #f1f5f9; color: #475569; font-size: 11.5px; padding: 3px 9px; border-radius: 6px; font-weight: 500; }
.hps-meta .hps-btn { width: 100%; justify-content: center; margin-top: 8px; }
.hps-meta .hps-btn--ghost { background: #f1f5f9; color: #1f8a32; margin-bottom: 8px; }

.hps-content { background: #fff; border-radius: 16px; padding: 40px 44px; border: 1px solid rgba(15,23,42,0.06); }
.hps-content h2 { font-size: 1.6rem; font-weight: 800; letter-spacing: -.02em; color: #0f172a; margin: 28px 0 12px; }
.hps-content h2:first-child { margin-top: 0; }
.hps-content h3 { font-size: 1.2rem; font-weight: 700; color: #0f172a; margin: 24px 0 10px; }
.hps-content p { font-size: 16px; line-height: 1.75; color: #334155; margin: 0 0 16px; }
.hps-content ul, .hps-content ol { margin: 0 0 16px 22px; }
.hps-content li { font-size: 16px; line-height: 1.75; color: #334155; margin: 4px 0; }
.hps-content img { max-width: 100%; height: auto; border-radius: 10px; margin: 16px 0; }

/* Related */
.hps-related { padding: clamp(60px, 8vw, 100px) 0; background: #fff; }
.hps-related__title { font-size: clamp(1.5rem, 2.4vw, 2rem); font-weight: 800; letter-spacing: -.02em; color: #0f172a; margin: 0 0 28px; }
.hps-related__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.hps-related__card { display: block; background: #fff; border: 1px solid rgba(15,23,42,0.06); border-radius: 16px; overflow: hidden; text-decoration: none; transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.hps-related__card:hover { transform: translateY(-4px); box-shadow: 0 18px 40px -12px rgba(15,23,42,0.18); border-color: rgba(45,174,67,0.25); }
.hps-related__img { aspect-ratio: 16/10; overflow: hidden; background: #f3f4f6; }
.hps-related__img img { width: 100%; height: 100%; object-fit: cover; }
.hps-related__body { padding: 18px 20px; }
.hps-related__body h3 { font-size: 16px; font-weight: 700; color: #0f172a; margin: 8px 0 0; line-height: 1.35; }

/* CTA */
.hps-cta { background: linear-gradient(135deg, #0a1426 0%, #1f8a32 60%, #2dae43 100%); color: #fff; padding: clamp(48px, 6vw, 80px) 0; }
.hps-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; flex-wrap: wrap; }
.hps-cta h2 { font-size: clamp(1.5rem, 2.4vw, 2rem); font-weight: 800; color: #fff; margin: 0 0 6px; }
.hps-cta p { color: rgba(255,255,255,0.85); margin: 0; font-size: 15.5px; }
.hps-cta__actions { display: flex; gap: 12px; flex-wrap: wrap; }
.hps-cta .hps-btn--primary { background: #fff; color: #1f8a32; }
.hps-cta .hps-btn--primary:hover { background: #fff; color: #176b27; }
.hps-cta .hps-btn--ghost { color: #fff; border-color: rgba(255,255,255,0.3); background: rgba(255,255,255,0.08); }

/* Page wrapper full-width */
.single-hc_portfolio .nexus-page-header { display: none !important; }
.single-hc_portfolio .site-content.page-wrapper { padding-top: 0 !important; }
.single-hc_portfolio .site-main, .single-hc_portfolio main { max-width: none !important; padding: 0 !important; margin: 0 !important; width: 100% !important; }

/* Responsive */
@media (max-width: 992px) {
  .hps-body__grid { grid-template-columns: 1fr; }
  .hps-meta { position: static; }
  .hps-related__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .hps-shot { margin-top: -20px; }
  .hps-content { padding: 28px 24px; }
  .hps-related__grid { grid-template-columns: 1fr; }
  .hps-cta__inner { flex-direction: column; align-items: flex-start; }
}

/* =============================================================================
   NEW HOME PAGE — premium con parallax + reveal + animaciones
   ============================================================================= */

/* Container/utils */
.hh-container { max-width: min(1280px, 92vw); margin: 0 auto; padding: 0 clamp(20px, 4vw, 32px); }
.hh-eyebrow { display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: .18em; color: #2dae43; padding: 6px 14px; background: rgba(45,174,67,0.1); border-radius: 999px; margin-bottom: 14px; }
.hh-eyebrow--light { background: rgba(255,255,255,0.18); color: #fff; }
.hh-h2-wrap { margin-bottom: 40px; }
.hh-h2-wrap--row { display: flex; align-items: end; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.hh-h2 { font-size: clamp(1.85rem, 3.4vw, 2.8rem); font-weight: 800; letter-spacing: -.025em; color: #0f172a; line-height: 1.1; margin: 0 0 10px; }
.hh-h2--light { color: #fff; }
.hh-h2-sub { font-size: 16px; color: #64748b; margin: 0; }
.hh-grad { background: linear-gradient(135deg, #2dae43, #6ee78a 50%, #06b6d4); -webkit-background-clip: text; background-clip: text; color: transparent; }
.hh-section { padding: clamp(80px, 9vw, 130px) 0; }

/* Reveal on scroll */
[data-rd-reveal] { opacity: 0; transform: translateY(30px); transition: opacity .8s cubic-bezier(.22,1,.36,1), transform .8s cubic-bezier(.22,1,.36,1); transition-delay: calc(var(--i, 0) * 80ms); }
[data-rd-reveal].is-revealed { opacity: 1; transform: translateY(0); }

/* ==================== HERO ==================== */
.hh-hero { position: relative; min-height: 100vh; display: flex; align-items: center; padding: 140px 0 80px; overflow: hidden; background: linear-gradient(180deg, #050a18 0%, #0a1426 50%, #0f1f3a 100%); color: #fff; }
.hh-hero__bg { position: absolute; inset: 0; pointer-events: none; }
.hh-blob { position: absolute; border-radius: 50%; filter: blur(90px); }
.hh-blob--1 { width: 600px; height: 600px; top: -150px; left: -150px; background: radial-gradient(circle, rgba(45,174,67,.45), transparent 70%); animation: hhBlob 22s ease-in-out infinite; }
.hh-blob--2 { width: 700px; height: 700px; bottom: -250px; right: -200px; background: radial-gradient(circle, rgba(6,182,212,.4), transparent 70%); animation: hhBlob 26s ease-in-out infinite reverse; animation-delay: -8s; }
.hh-blob--3 { width: 400px; height: 400px; top: 30%; right: 20%; background: radial-gradient(circle, rgba(110,231,138,.25), transparent 70%); animation: hhBlob 18s ease-in-out infinite; animation-delay: -4s; }
@keyframes hhBlob { 0%,100% { transform: translate(0,0) scale(1); } 33% { transform: translate(30px,-20px) scale(1.05); } 66% { transform: translate(-20px,30px) scale(.95); } }
.hh-grid { position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px); background-size: 60px 60px; mask-image: radial-gradient(ellipse at center, black 30%, transparent 70%); }
.hh-noise { position: absolute; inset: 0; background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence baseFrequency='.85'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/></svg>"); opacity: .07; mix-blend-mode: overlay; }
.hh-hero__inner { position: relative; z-index: 2; max-width: 1000px; }

.hh-status { display: inline-flex; align-items: center; gap: 8px; padding: 7px 16px; background: rgba(45,174,67,.18); border: 1px solid rgba(110,231,138,.4); border-radius: 999px; color: #6ee78a; font-size: 12.5px; font-weight: 600; margin-bottom: 28px; backdrop-filter: blur(10px); }
.hh-status__dot { width: 8px; height: 8px; border-radius: 50%; background: #6ee78a; box-shadow: 0 0 12px #6ee78a; animation: hhPulse 1.8s ease-in-out infinite; }
@keyframes hhPulse { 0%,100% { opacity: 1; transform: scale(1); } 50% { opacity: .35; transform: scale(.85); } }

.hh-hero__title { font-size: clamp(2.4rem, 6.5vw, 5rem); font-weight: 800; line-height: 1.02; letter-spacing: -.035em; color: #fff; margin: 0 0 28px; }
.hh-hero__title .hh-line { display: block; opacity: 0; transform: translateY(20px); animation: hhLineIn .9s cubic-bezier(.22,1,.36,1) forwards; }
.hh-hero__title .hh-line:nth-child(1) { animation-delay: .15s; }
.hh-hero__title .hh-line:nth-child(2) { animation-delay: .3s; }
.hh-hero__title .hh-line:nth-child(3) { animation-delay: .45s; }
.hh-hero__title .hh-line:nth-child(4) { animation-delay: .6s; }
@keyframes hhLineIn { to { opacity: 1; transform: translateY(0); } }

.hh-hero__lead { font-size: clamp(15px, 1.4vw, 18px); line-height: 1.7; color: rgba(255,255,255,.78); max-width: 60ch; margin: 0 0 36px; }
.hh-hero__lead strong { color: #fff; }
.hh-hero__ctas { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 56px; }

.hh-btn { display: inline-flex; align-items: center; gap: 10px; padding: 14px 28px; border-radius: 999px; font-weight: 700; font-size: 14.5px; text-decoration: none; transition: transform .25s ease, box-shadow .3s ease, filter .25s ease; cursor: pointer; border: 0; position: relative; overflow: hidden; }
.hh-btn--primary { background: linear-gradient(135deg, #2dae43, #1f8a32); color: #fff; box-shadow: 0 10px 26px -8px rgba(45,174,67,.55); }
.hh-btn--primary::before { content: ""; position: absolute; inset: 0; background: linear-gradient(120deg, transparent 30%, rgba(255,255,255,.35) 50%, transparent 70%); transform: translateX(-120%); transition: transform .8s ease; }
.hh-btn--primary:hover::before { transform: translateX(120%); }
.hh-btn--primary:hover { transform: translateY(-3px); box-shadow: 0 16px 40px -10px rgba(45,174,67,.7); filter: brightness(1.08); }
.hh-btn--ghost { background: rgba(255,255,255,.08); color: #fff; border: 1px solid rgba(255,255,255,.2); backdrop-filter: blur(10px); }
.hh-btn--ghost:hover { background: rgba(255,255,255,.16); transform: translateY(-3px); border-color: rgba(255,255,255,.4); }
.hh-btn--ghost-light { background: #fff; color: #1f8a32; }
.hh-btn--ghost-light:hover { background: #f8fafc; }
.hh-arrow { transition: transform .25s ease; }
.hh-btn:hover .hh-arrow { transform: translateX(4px); }

/* Hero stats */
.hh-hero__stats { display: flex; gap: clamp(24px, 4vw, 56px); flex-wrap: wrap; }
.hh-stat { position: relative; display: inline-flex; flex-direction: column; }
.hh-stat__num { font-size: clamp(28px, 3.5vw, 42px); font-weight: 800; color: #fff; line-height: 1; font-variant-numeric: tabular-nums; }
.hh-stat__plus { position: absolute; top: 0; left: calc(100% + 4px); font-size: 22px; font-weight: 800; color: #6ee78a; line-height: 1; }
.hh-stat__label { font-size: 12px; font-weight: 600; color: rgba(255,255,255,.55); text-transform: uppercase; letter-spacing: .14em; margin-top: 8px; }

/* Scroll hint */
.hh-scroll-hint { position: absolute; bottom: 30px; left: 50%; transform: translateX(-50%); color: rgba(255,255,255,.4); font-size: 11px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; display: flex; flex-direction: column; align-items: center; gap: 10px; animation: hhFloat 2.4s ease-in-out infinite; }
.hh-scroll-line { width: 1px; height: 40px; background: linear-gradient(to bottom, transparent, #6ee78a, transparent); }
@keyframes hhFloat { 0%,100% { transform: translateX(-50%) translateY(0); } 50% { transform: translateX(-50%) translateY(8px); } }

/* ==================== SERVICES ==================== */
.hh-services { background: #fff; }
.hh-svc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.hh-svc { position: relative; background: #fff; border: 1px solid rgba(15,23,42,.06); border-radius: 18px; padding: 32px 28px; transition: transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s ease, border-color .35s ease; overflow: hidden; }
.hh-svc::before { content: ""; position: absolute; inset: -1px; border-radius: 18px; padding: 1px; background: linear-gradient(135deg, #2dae43, #06b6d4); -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite: xor; mask-composite: exclude; opacity: 0; transition: opacity .35s ease; pointer-events: none; }
.hh-svc:hover { transform: translateY(-8px); box-shadow: 0 24px 50px -12px rgba(15,23,42,.18); }
.hh-svc:hover::before { opacity: 1; }
.hh-svc__num { position: absolute; top: 22px; right: 24px; font-size: 13px; font-weight: 800; color: rgba(45,174,67,.4); letter-spacing: .1em; }
.hh-svc__ic { width: 56px; height: 56px; border-radius: 16px; display: inline-flex; align-items: center; justify-content: center; font-size: 26px; background: linear-gradient(135deg, rgba(45,174,67,.1), rgba(6,182,212,.08)); margin-bottom: 18px; transition: transform .35s ease; }
.hh-svc:hover .hh-svc__ic { transform: scale(1.08) rotate(-4deg); }
.hh-svc h3 { font-size: 20px; font-weight: 700; color: #0f172a; margin: 0 0 8px; }
.hh-svc p { font-size: 14.5px; line-height: 1.65; color: #64748b; margin: 0 0 16px; }
.hh-svc__more { font-size: 13px; font-weight: 600; color: #1f8a32; transition: gap .25s ease; display: inline-flex; align-items: center; gap: 4px; }
.hh-svc:hover .hh-svc__more { gap: 8px; }

/* ==================== PORTFOLIO PREVIEW (uses [hc_portfolio_grid]) ==================== */
.hh-portfolio { background: #f8fafc; }
.hh-portfolio .hpf-filters { display: none; }
.hh-portfolio .hpf-grid { grid-template-columns: repeat(3, 1fr); }
.hh-link-arrow { display: inline-flex; align-items: center; gap: 8px; color: #1f8a32; font-weight: 700; text-decoration: none; font-size: 14.5px; transition: gap .25s ease; }
.hh-link-arrow:hover { gap: 14px; }

/* ==================== ABOUT ==================== */
.hh-about { background: #fff; }
.hh-about__grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 70px; align-items: center; }
.hh-about__lead { font-size: 16px; line-height: 1.75; color: #475569; margin: 0 0 22px; max-width: 56ch; }
.hh-about__bullets { list-style: none; padding: 0; margin: 0 0 32px; display: flex; flex-direction: column; gap: 12px; }
.hh-about__bullets li { font-size: 14.5px; color: #475569; padding-left: 26px; position: relative; line-height: 1.6; }
.hh-about__bullets li::before { content: "✓"; position: absolute; left: 0; top: 0; width: 18px; height: 18px; background: rgba(45,174,67,.15); color: #1f8a32; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 800; }
.hh-about__bullets strong { color: #0f172a; }

.hh-about__visual { position: relative; height: 480px; }
.hh-card { background: rgba(255,255,255,.95); border: 1px solid rgba(15,23,42,.08); border-radius: 18px; padding: 18px; backdrop-filter: blur(10px); box-shadow: 0 24px 50px -12px rgba(15,23,42,.2); position: absolute; transition: transform .4s ease; }
.hh-about__visual .hh-card:hover { transform: translateY(-6px); }
.hh-card--orb { top: 20px; left: 0; width: 230px; }
.hh-orb { width: 100%; height: auto; }
.hh-orb circle:last-child { transform-origin: 100px 100px; animation: hhSpin 16s linear infinite; }
@keyframes hhSpin { to { transform: rotate(360deg); } }
.hh-card__label { position: absolute; bottom: 14px; left: 50%; transform: translateX(-50%); font-size: 13px; font-weight: 800; color: #1f8a32; }

.hh-card--code { width: 92%; bottom: 60px; right: 0; padding: 0; overflow: hidden; }
.hh-card__bar { display: flex; align-items: center; gap: 6px; padding: 10px 14px; background: #1f2937; }
.hh-card__bar > span:not(small) { width: 11px; height: 11px; border-radius: 50%; background: #ef4444; }
.hh-card__bar > span:nth-child(2) { background: #f59e0b; }
.hh-card__bar > span:nth-child(3) { background: #22c55e; }
.hh-card__bar small { margin-left: 14px; font-size: 12px; color: rgba(255,255,255,.55); font-family: ui-monospace, monospace; }
.hh-card--code pre { padding: 14px 18px; margin: 0; background: #0f172a; color: #e5e7eb; font: 13px/1.65 ui-monospace, Menlo, monospace; }
.hh-card--code .c-key { color: #c084fc; } .hh-card--code .c-var { color: #67e8f9; } .hh-card--code .c-prop { color: #6ee78a; } .hh-card--code .c-bool { color: #f472b6; }

.hh-card--badges { bottom: 0; left: 30px; padding: 12px 14px; display: flex; flex-direction: column; gap: 6px; }
.hh-card--badges span { font-size: 12.5px; font-weight: 600; color: #475569; padding: 6px 12px; background: #f1f5f9; border-radius: 999px; white-space: nowrap; }

/* ==================== PROCESS ==================== */
.hh-process { background: linear-gradient(135deg, #050a18 0%, #0a1426 50%, #0f1f3a 100%); color: #fff; position: relative; overflow: hidden; }
.hh-process::before { content: ""; position: absolute; top: 50%; left: 10%; width: 400px; height: 400px; background: radial-gradient(circle, rgba(45,174,67,.2), transparent 70%); filter: blur(60px); pointer-events: none; }
.hh-process__list { list-style: none; counter-reset: hhp; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; position: relative; }
.hh-process__list li { background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); border-radius: 16px; padding: 28px 24px; backdrop-filter: blur(10px); transition: transform .35s ease, border-color .35s ease, background .35s ease; }
.hh-process__list li:hover { transform: translateY(-6px); border-color: rgba(110,231,138,.4); background: rgba(110,231,138,.06); }
.hh-process__num { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 50%; background: linear-gradient(135deg, #2dae43, #1f8a32); color: #fff; font-weight: 800; font-size: 14px; margin-bottom: 16px; box-shadow: 0 8px 20px -6px rgba(45,174,67,.55); }
.hh-process__list h3 { font-size: 17px; font-weight: 700; color: #fff; margin: 0 0 6px; }
.hh-process__list p { font-size: 14px; line-height: 1.6; color: rgba(255,255,255,.7); margin: 0; }

/* ==================== BLOG PREVIEW ==================== */
.hh-blog { background: #fff; }
.hh-blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.hh-bcard { background: #fff; border: 1px solid rgba(15,23,42,.06); border-radius: 18px; overflow: hidden; transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease; display: flex; flex-direction: column; }
.hh-bcard:hover { transform: translateY(-6px); box-shadow: 0 24px 50px -12px rgba(15,23,42,.18); border-color: rgba(45,174,67,.25); }
.hh-bcard__img { position: relative; display: block; aspect-ratio: 16/10; overflow: hidden; background: #f3f4f6; }
.hh-bcard__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.22,1,.36,1); }
.hh-bcard:hover .hh-bcard__img img { transform: scale(1.06); }
.hh-bcard__overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0) 50%, rgba(0,0,0,.4) 100%); }
.hh-bcard__cat { position: absolute; top: 14px; left: 14px; background: rgba(255,255,255,.95); color: #1f8a32; font-size: 10.5px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; padding: 5px 11px; border-radius: 999px; }
.hh-bcard__body { padding: 22px 24px; flex: 1; display: flex; flex-direction: column; }
.hh-bcard__body time { font-size: 12px; color: #94a3b8; font-weight: 600; }
.hh-bcard__body h3 { font-size: 18px; font-weight: 700; color: #0f172a; line-height: 1.35; margin: 8px 0 10px; }
.hh-bcard__body h3 a { color: inherit; text-decoration: none; }
.hh-bcard__body h3 a:hover { color: #1f8a32; }
.hh-bcard__body p { font-size: 14px; color: #64748b; line-height: 1.6; margin: 0 0 16px; }
.hh-bcard__link { margin-top: auto; font-size: 13.5px; font-weight: 700; color: #1f8a32; text-decoration: none; transition: gap .25s ease; display: inline-flex; gap: 4px; }
.hh-bcard:hover .hh-bcard__link { gap: 10px; }

/* ==================== CTA ==================== */
.hh-cta { background: linear-gradient(135deg, #0a1426 0%, #1f8a32 60%, #2dae43 100%); color: #fff; padding: clamp(60px, 7vw, 100px) 0; }
.hh-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; flex-wrap: wrap; }
.hh-cta__copy h2 { color: #fff; margin: 0 0 6px; }
.hh-cta__copy p { color: rgba(255,255,255,.85); margin: 0; font-size: 15.5px; }
.hh-cta__actions { display: flex; gap: 12px; flex-wrap: wrap; }
.hh-cta .hh-btn--primary { background: #fff; color: #1f8a32; }

/* Page wrapper full-width */
.page-id-538 .nexus-page-header { display: none !important; }
.page-id-538 .site-content.page-wrapper { padding-top: 0 !important; }
.page-id-538 .site-main, .page-id-538 .entry-content, .page-id-538 main { max-width: none !important; padding: 0 !important; margin: 0 !important; width: 100% !important; }
.page-id-538 .hh-hero, .page-id-538 .hh-section { width: 100vw !important; max-width: 100vw !important; margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important; }

/* Hide previous home (rd-home-hero) since we have new home */
.page-id-538 .rd-home-hero { display: none !important; }

/* Responsive */
@media (max-width: 1100px) {
  .hh-svc-grid { grid-template-columns: repeat(2, 1fr); }
  .hh-process__list { grid-template-columns: repeat(2, 1fr); }
  .hh-portfolio .hpf-grid { grid-template-columns: repeat(2, 1fr); }
  .hh-blog-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px) {
  .hh-about__grid { grid-template-columns: 1fr; gap: 40px; }
  .hh-about__visual { display: none; }
}
@media (max-width: 600px) {
  .hh-hero { min-height: auto; padding: 130px 0 60px; }
  .hh-hero__title { font-size: clamp(2rem, 9vw, 3rem); }
  .hh-svc-grid { grid-template-columns: 1fr; }
  .hh-portfolio .hpf-grid { grid-template-columns: 1fr; }
  .hh-process__list { grid-template-columns: 1fr; }
  .hh-blog-grid { grid-template-columns: 1fr; }
  .hh-cta__inner { flex-direction: column; align-items: flex-start; }
  .hh-hero__ctas .hh-btn { flex: 1; justify-content: center; }
}

/* =============================================================================
   HERO HOME — fixes defensivos
   ============================================================================= */

/* Asegurar título visible incluso si JS no corre */
.hh-hero__title .hh-line { opacity: 1 !important; transform: none !important; animation: none !important; }

/* Reducir altura excesiva */
.hh-hero { min-height: auto !important; padding: clamp(150px, 16vw, 200px) 0 clamp(80px, 9vw, 120px) !important; }

/* Evitar overflow horizontal de blobs */
.hh-hero { overflow: hidden; }
.hh-hero__bg { overflow: hidden; }

/* Title más legible */
.hh-hero__title { font-size: clamp(2.2rem, 5.5vw, 4.4rem) !important; line-height: 1.05 !important; }
.hh-hero__title .hh-line { display: block; }

/* Asegurar centrado vertical */
.hh-hero { display: block !important; }

/* Stats apilados en mobile */
@media (max-width: 600px) {
  .hh-hero__stats { gap: 16px; }
  .hh-stat__num { font-size: 26px !important; }
  .hh-hero__title { font-size: clamp(1.85rem, 8.5vw, 2.6rem) !important; }
  .hh-hero__lead { font-size: 15px; }
}

/* Header sobre hero (transparente) — letras blancas para que se vean */
html body.page-id-538 .site-header:not(.is-scrolled) {
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-bottom-color: transparent !important;
  box-shadow: none !important;
}
html body.page-id-538 .site-header:not(.is-scrolled) .nexus-menu > li > a,
html body.page-id-538 .site-header:not(.is-scrolled) .rd-mega-trigger {
  color: rgba(255,255,255,.95) !important;
}
html body.page-id-538 .site-header:not(.is-scrolled) .nexus-menu > li > a:hover,
html body.page-id-538 .site-header:not(.is-scrolled) .rd-mega-trigger:hover {
  background: rgba(255,255,255,.12) !important;
  color: #fff !important;
}
/* Logo claro sobre hero oscuro */
html body.page-id-538 .site-header:not(.is-scrolled) .site-branding .custom-logo {
  content: url("https://hectorcito.com/wp-content/uploads/2026/04/hectorcito-logo-dark-bg.png") !important;
}
/* CTA blanco sobre hero */
html body.page-id-538 .site-header:not(.is-scrolled) .header-cta .btn {
  background: #fff !important;
  color: #1f8a32 !important;
}

/* Page wrapper sin padding que tape hero */
html body.page-id-538 .site-content.page-wrapper { padding-top: 0 !important; }

/* Quitar scroll hint en mobile (estorba) */
@media (max-width: 768px) { .hh-scroll-hint { display: none !important; } }

/* =============================================================================
   FOOTER PREMIUM — creativo con watermark, marquee, CTA
   ============================================================================= */

/* Reset/override viejo footer */
.site-footer { display: none !important; }
.hf-footer { background: #050a18 !important; color: rgba(255,255,255,.78); position: relative; overflow: hidden; padding: 0 !important; margin-top: 0 !important; }
.hf-footer::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, transparent, #2dae43 20%, #4cc863 50%, #2dae43 80%, transparent); }

.hf-container { max-width: min(1280px, 92vw); margin: 0 auto; padding: 0 clamp(20px, 4vw, 32px); }
.hf-eyebrow { display: inline-block; font-size: 11px; font-weight: 800; letter-spacing: .22em; color: #6ee78a; padding: 5px 12px; background: rgba(45,174,67,.14); border-radius: 999px; margin-bottom: 14px; border: 1px solid rgba(110,231,138,.3); }
.hf-grad { background: linear-gradient(135deg, #6ee78a, #4cc863, #06b6d4); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* ============== Marquee top ============== */
.hf-marquee { background: linear-gradient(90deg, #0a1426 0%, #0f1f3a 100%); border-bottom: 1px solid rgba(255,255,255,.04); padding: 18px 0; overflow: hidden; }
.hf-marquee__track { display: inline-flex; gap: 18px; white-space: nowrap; animation: hfMq 38s linear infinite; font: 600 14px/1 "Inter", sans-serif; color: rgba(255,255,255,.55); padding-left: 18px; }
.hf-marquee__track > span { transition: color .25s ease; }
.hf-marquee:hover .hf-marquee__track > span:not(.hf-mq-dot) { color: #6ee78a; }
.hf-mq-dot { color: rgba(255,255,255,.2); }
@keyframes hfMq { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ============== CTA bar ============== */
.hf-cta { padding: clamp(50px, 6vw, 80px) 0 clamp(30px, 4vw, 50px); position: relative; }
.hf-cta::before { content: ""; position: absolute; top: 30%; left: 10%; width: 400px; height: 400px; background: radial-gradient(circle, rgba(45,174,67,.15), transparent 70%); filter: blur(60px); pointer-events: none; }
.hf-cta__row { display: flex; justify-content: space-between; align-items: center; gap: 32px; flex-wrap: wrap; position: relative; }
.hf-cta__title { font-size: clamp(1.8rem, 3.5vw, 2.8rem); font-weight: 800; letter-spacing: -.02em; line-height: 1.1; color: #fff; margin: 0; }
.hf-cta__actions { display: flex; gap: 12px; flex-wrap: wrap; }

.hf-btn { display: inline-flex; align-items: center; gap: 10px; padding: 13px 24px; border-radius: 999px; font: 700 14px/1 Inter, sans-serif; text-decoration: none; transition: transform .25s ease, box-shadow .25s ease, filter .25s ease, background .25s ease; cursor: pointer; border: 0; position: relative; overflow: hidden; }
.hf-btn--primary { background: linear-gradient(135deg, #2dae43, #1f8a32); color: #fff; box-shadow: 0 10px 26px -8px rgba(45,174,67,.55); }
.hf-btn--primary::before { content: ""; position: absolute; inset: 0; background: linear-gradient(120deg, transparent 30%, rgba(255,255,255,.35) 50%, transparent 70%); transform: translateX(-120%); transition: transform .8s ease; }
.hf-btn--primary:hover::before { transform: translateX(120%); }
.hf-btn--primary:hover { transform: translateY(-3px); box-shadow: 0 16px 40px -10px rgba(45,174,67,.7); filter: brightness(1.08); }
.hf-btn--ghost { background: rgba(255,255,255,.06); color: rgba(255,255,255,.9); border: 1px solid rgba(255,255,255,.12); backdrop-filter: blur(8px); }
.hf-btn--ghost:hover { background: rgba(255,255,255,.12); border-color: rgba(110,231,138,.4); color: #6ee78a; }
.hf-btn svg { transition: transform .25s ease; }
.hf-btn--primary:hover svg { transform: translateX(3px); }

/* ============== Main grid + watermark ============== */
.hf-main { position: relative; padding: 30px 0 clamp(50px, 6vw, 80px); }
.hf-watermark { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); font: 900 clamp(140px, 22vw, 320px)/.9 "Inter", sans-serif; letter-spacing: -.04em; color: transparent; -webkit-text-stroke: 1px rgba(255,255,255,.04); pointer-events: none; user-select: none; white-space: nowrap; z-index: 0; }
.hf-main > .hf-container { position: relative; z-index: 1; }

.hf-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.4fr; gap: clamp(28px, 4vw, 56px); }

/* Brand col */
.hf-col--brand .custom-logo, .hf-col--brand .custom-logo-link img { height: 42px !important; width: auto !important; max-width: 240px !important; margin-bottom: 18px; }
.hf-bio { color: rgba(255,255,255,.6); font-size: 14px; line-height: 1.65; margin: 0 0 20px; max-width: 38ch; }
.hf-status { display: inline-flex; align-items: center; gap: 10px; background: rgba(45,174,67,.1); border: 1px solid rgba(45,174,67,.25); padding: 8px 14px; border-radius: 999px; font-size: 13px; color: rgba(255,255,255,.85); margin-bottom: 18px; }
.hf-status strong { color: #6ee78a; }
.hf-status__dot { width: 8px; height: 8px; border-radius: 50%; background: #6ee78a; box-shadow: 0 0 10px #6ee78a; animation: hfPulse 1.8s ease-in-out infinite; }
@keyframes hfPulse { 0%,100% { opacity: 1; } 50% { opacity: .35; } }
.hf-meta { display: flex; gap: 18px; flex-wrap: wrap; font-size: 13px; color: rgba(255,255,255,.5); margin-bottom: 22px; }
.hf-meta span { display: inline-flex; align-items: center; gap: 6px; }
.hf-meta svg { opacity: .7; }

/* Socials */
.hf-socials { display: flex; gap: 10px; }
.hf-social { width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; border-radius: 12px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); color: rgba(255,255,255,.7); text-decoration: none; transition: all .25s ease; }
.hf-social:hover { transform: translateY(-3px); border-color: transparent; color: #fff; box-shadow: 0 8px 20px -6px rgba(45,174,67,.5); }
.hf-social--twitter:hover { background: #000; }
.hf-social--linkedin:hover { background: #0a66c2; }
.hf-social--youtube:hover { background: #ff0000; }
.hf-social--whatsapp:hover { background: #25d366; }

/* Section headers */
.hf-h { color: #fff; font-size: 12px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; margin: 6px 0 22px; position: relative; padding-bottom: 12px; }
.hf-h::after { content: ""; position: absolute; left: 0; bottom: 0; width: 28px; height: 2px; background: linear-gradient(90deg, #2dae43, #6ee78a); border-radius: 2px; }

/* Lists */
.hf-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.hf-list li a { display: inline-flex; align-items: center; gap: 10px; color: rgba(255,255,255,.65); font-size: 14.5px; text-decoration: none; transition: color .2s ease, transform .2s ease, padding-left .2s ease; }
.hf-list li a > span:first-child { font-size: 14px; }
.hf-list li a:hover { color: #fff; padding-left: 4px; }
.hf-list li a::after { content: "→"; opacity: 0; margin-left: -10px; color: #6ee78a; transition: all .25s ease; font-size: 12px; }
.hf-list li a:hover::after { opacity: 1; margin-left: 4px; }

/* Newsletter form */
.hf-news__lead { color: rgba(255,255,255,.6); font-size: 14px; line-height: 1.65; margin: 0 0 18px; }
.hf-news__form { display: flex; gap: 6px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); border-radius: 999px; padding: 5px 5px 5px 18px; transition: border-color .25s ease, background .25s ease; margin-bottom: 10px; }
.hf-news__form:focus-within { border-color: rgba(45,174,67,.5); background: rgba(45,174,67,.06); box-shadow: 0 0 0 3px rgba(45,174,67,.1); }
.hf-news__form input { flex: 1; min-width: 0; background: transparent; border: 0; outline: 0; color: #fff; font: 400 14px/1.4 Inter, sans-serif; padding: 9px 0; }
.hf-news__form input::placeholder { color: rgba(255,255,255,.35); }
.hf-news__form button { display: inline-flex; align-items: center; gap: 6px; background: linear-gradient(135deg, #2dae43, #1f8a32); color: #fff; border: 0; border-radius: 999px; padding: 9px 18px; font: 700 13px/1 Inter, sans-serif; cursor: pointer; transition: filter .2s ease, transform .2s ease; white-space: nowrap; }
.hf-news__form button:hover { filter: brightness(1.1); transform: translateY(-1px); }
.hf-news__small { color: rgba(255,255,255,.4); font-size: 11.5px; margin: 0; }

/* Bottom strip */
.hf-bottom { border-top: 1px solid rgba(255,255,255,.06); background: rgba(0,0,0,.3); }
.hf-bottom__inner { display: flex; justify-content: space-between; align-items: center; gap: 18px; flex-wrap: wrap; padding: 20px 0; }
.hf-copy { margin: 0; color: rgba(255,255,255,.4); font-size: 13px; }
.hf-bottom__nav { display: flex; gap: 22px; align-items: center; flex-wrap: wrap; }
.hf-bottom__nav a { color: rgba(255,255,255,.5); font-size: 13px; text-decoration: none; transition: color .2s ease; }
.hf-bottom__nav a:hover { color: #fff; }
.hf-pulse { color: rgba(255,255,255,.5); font-size: 13px; }
.hf-heart { color: #ef4444; display: inline-block; animation: hfBeat 1.2s ease-in-out infinite; }
@keyframes hfBeat { 0%,100% { transform: scale(1); } 25% { transform: scale(1.2); } 50% { transform: scale(1); } 75% { transform: scale(1.15); } }

/* Responsive */
@media (max-width: 1024px) {
  .hf-grid { grid-template-columns: 1fr 1fr; }
  .hf-col--brand, .hf-col--news { grid-column: span 2; }
  .hf-watermark { font-size: clamp(100px, 18vw, 200px); }
}
@media (max-width: 600px) {
  .hf-grid { grid-template-columns: 1fr; }
  .hf-col--brand, .hf-col--news { grid-column: span 1; }
  .hf-cta__row { flex-direction: column; align-items: flex-start; }
  .hf-bottom__inner { flex-direction: column; align-items: flex-start; gap: 10px; }
  .hf-btn--ghost { font-size: 13px; }
  .hf-watermark { font-size: 100px; }
}

/* =============================================================================
   LOAD MORE BUTTON — más visible y premium
   ============================================================================= */
.nexus-loadmore-wrap {
  margin-top: clamp(40px, 6vw, 70px) !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  padding-bottom: 20px;
}
.nexus-loadmore-wrap::before {
  content: "Pagina " counter(currentpage) " de más artículos";
  display: block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .18em;
  color: rgba(45,174,67,.6);
  text-transform: uppercase;
  margin-bottom: 4px;
}
.nexus-loadmore {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 18px 42px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #2dae43, #1f8a32) !important;
  color: #fff !important;
  border: 0 !important;
  cursor: pointer;
  box-shadow: 0 12px 30px -8px rgba(45,174,67,.55) !important;
  transition: transform .25s ease, box-shadow .25s ease, filter .2s ease !important;
  position: relative;
  overflow: hidden;
  min-width: 260px;
  justify-content: center;
}
.nexus-loadmore::before {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(120deg, transparent 30%, rgba(255,255,255,.35) 50%, transparent 70%);
  transform: translateX(-120%);
  transition: transform .8s ease;
}
.nexus-loadmore:hover::before { transform: translateX(120%); }
.nexus-loadmore:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 40px -10px rgba(45,174,67,.7) !important;
  filter: brightness(1.08);
}
.nexus-loadmore::after {
  content: "↓";
  font-size: 16px;
  display: inline-block;
  transition: transform .25s ease;
}
.nexus-loadmore:hover::after { transform: translateY(3px); }
.nexus-loadmore.is-loading::after { display: none; }
.nexus-loadmore .nexus-spinner {
  width: 18px !important;
  height: 18px !important;
}
.nexus-loadmore-end {
  font-size: 14px !important;
  color: #94a3b8 !important;
  padding: 18px !important;
  font-weight: 500;
}
.nexus-loadmore-end::before { content: "✓ "; color: #2dae43; font-weight: 800; }

/* Service icons en footer (SVG line) */
.hf-list .hf-ic { width: 22px; height: 22px; display: inline-flex; align-items: center; justify-content: center; color: #6ee78a; opacity: .85; transition: opacity .25s ease, transform .25s ease; flex-shrink: 0; }
.hf-list .hf-ic svg { width: 18px; height: 18px; stroke: currentColor; }
.hf-list li a:hover .hf-ic { opacity: 1; transform: scale(1.1); color: #2dae43; }

/* Footer logo: blanco + verde (mismo PNG generado) */
.hf-col--brand .custom-logo,
.hf-col--brand .custom-logo-link img,
.site-footer .footer-brand .custom-logo,
.site-footer .footer-brand .custom-logo-link img {
  content: url("https://hectorcito.com/wp-content/uploads/2026/04/white-green.png") !important;
  height: 42px !important;
  width: auto !important;
  max-width: 240px !important;
}

/* =============================================================================
   ICONS de categoría (cards Explora por tema)
   ============================================================================= */
.rd-mega-card__icon {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 3;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.18);
  backdrop-filter: blur(10px);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  transition: transform .35s ease, background .35s ease, border-color .35s ease;
}
.rd-mega-card__icon svg { width: 18px; height: 18px; stroke: currentColor; }
.rd-mega-card:hover .rd-mega-card__icon {
  transform: scale(1.08);
  background: rgba(110,231,138,0.25);
  border-color: rgba(110,231,138,0.5);
  color: #6ee78a;
}

/* Móvil: ícono más pequeño */
@media (max-width: 600px) {
  .rd-mega-card__icon { width: 30px; height: 30px; top: 10px; left: 10px; }
  .rd-mega-card__icon svg { width: 16px; height: 16px; }
}

/* =============================================================================
   ICONS GENÉRICOS — .hi-ic (mismo nivel que footer/categorías)
   ============================================================================= */

/* Reemplazo de emojis: SVG centrado en pill verde sutil */
.hi-ic {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.2em;
  height: 1.2em;
  color: currentColor;
}
.hi-ic svg { width: 100%; height: 100%; stroke: currentColor; }

/* Servicios del portafolio (.hp-svc) — pills verdes con hover */
.hp-svc__ic {
  background: rgba(45,174,67,0.1) !important;
  color: #1f8a32 !important;
  width: 56px !important;
  height: 56px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(45,174,67,0.18);
  transition: transform .35s ease, background .35s ease, border-color .35s ease, color .35s ease;
}
.hp-svc__ic .hi-ic { width: 24px; height: 24px; }
.hp-svc:hover .hp-svc__ic {
  background: linear-gradient(135deg, #2dae43, #1f8a32) !important;
  color: #fff !important;
  border-color: transparent;
  transform: scale(1.06) rotate(-3deg);
}

/* Servicios de la home (.hh-svc) */
.hh-svc__ic {
  background: rgba(45,174,67,0.1) !important;
  color: #1f8a32 !important;
  width: 56px !important;
  height: 56px !important;
  border-radius: 16px !important;
  border: 1px solid rgba(45,174,67,0.18);
}
.hh-svc__ic .hi-ic { width: 26px; height: 26px; }
.hh-svc:hover .hh-svc__ic {
  background: linear-gradient(135deg, #2dae43, #1f8a32) !important;
  color: #fff !important;
  border-color: transparent;
  transform: scale(1.06) rotate(-3deg);
}

/* Cards de "Lo que hago" en about (.hb-feature) */
.hb-feature__icon {
  background: rgba(45,174,67,0.1) !important;
  color: #1f8a32 !important;
  border: 1px solid rgba(45,174,67,0.18);
}
.hb-feature__icon .hi-ic { width: 22px; height: 22px; }
.hb-feature:hover .hb-feature__icon {
  background: linear-gradient(135deg, #2dae43, #1f8a32) !important;
  color: #fff !important;
  border-color: transparent;
}

/* Hero cards en about (drone, photo) */
.hb-card__emoji.hi-ic,
.hb-card .hi-ic {
  width: 24px !important;
  height: 24px !important;
  color: #6ee78a;
}

/* "Ahora" cards (now) */
.hb-now-card__tag .hi-ic {
  width: 16px;
  height: 16px;
  color: #1f8a32;
  vertical-align: -3px;
  margin-right: 4px;
}

/* Hero badges (hb-card--drone, photo) - el span emoji original era 26px */
.hb-card--drone .hi-ic, .hb-card--photo .hi-ic {
  width: 24px; height: 24px; color: #6ee78a;
}

/* About v2 — full-width + apply hh-* design */
.page-id-235 .nexus-page-header { display: none !important; }
.page-id-235 .site-content.page-wrapper { padding-top: 0 !important; }
.page-id-235 .site-main, .page-id-235 .entry-content, .page-id-235 main { max-width: none !important; padding: 0 !important; margin: 0 !important; width: 100% !important; }
.page-id-235 .hh-hero, .page-id-235 .hh-section { width: 100vw !important; max-width: 100vw !important; margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important; }

/* Service bullets en about */
.hh-svc__bullets { list-style: none; padding: 0; margin: 14px 0 0; display: flex; flex-direction: column; gap: 6px; }
.hh-svc__bullets li { font-size: 13px; color: #475569; padding-left: 18px; position: relative; }
.hh-svc__bullets li::before { content: "✓"; position: absolute; left: 0; top: 0; color: #2dae43; font-weight: 700; }

/* Hero variant for about (slightly less tall) */
.hh-hero--about { min-height: auto !important; }

/* About v2: forzar full-width en TODOS los wrappers parents */
.page-id-235 .site-main,
.page-id-235 .page-article,
.page-id-235 .entry-content,
.page-id-235 .page-content,
.page-id-235 article.page,
.page-id-235 main,
.page-id-235 .site-content {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent;
}
.page-id-235 .hh-hero,
.page-id-235 .hh-section,
.page-id-235 .hh-marquee-wrap,
.page-id-235 > * {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  position: relative;
}
/* Marquee dark bg */
.page-id-235 .hh-marquee-wrap { background: #0f172a; }

/* ============================================================================
   MOBILE PERFECTION — auditoría completa
   Orden: header → home → blog → portafolio → sobre-mi → contact → single → footer
   ============================================================================ */

@media (max-width: 992px) {

  /* ============== HEADER + MENÚ ============== */
  html body .site-header { height: 64px !important; padding: 0 !important; }
  html body .site-header .container { padding: 0 16px !important; max-width: none !important; }
  html body .site-header .header-inner { gap: 12px !important; }
  html body .site-branding .custom-logo,
  html body .site-branding .custom-logo-link img {
    height: 32px !important; max-width: 180px !important; width: auto !important;
  }
  /* Ocultar nav primario, mostrar hamburger */
  html body .site-header .nexus-menu,
  html body .site-header .rd-mega-trigger-li,
  html body .site-header .rd-theme-toggle { display: none !important; }
  html body .site-header .menu-toggle {
    display: inline-flex !important;
    width: 42px; height: 42px;
    background: rgba(255,255,255,0.06) !important;
    border: 1px solid rgba(15,23,42,0.08) !important;
    border-radius: 10px !important;
    align-items: center; justify-content: center;
    flex-direction: column; gap: 5px;
    cursor: pointer; padding: 0;
  }
  /* CTA visible en mobile (compacto) */
  html body .site-header .header-cta { display: flex !important; align-items: center; gap: 8px; }
  html body .site-header .header-cta .btn {
    display: inline-flex !important;
    height: 36px !important;
    padding: 0 14px !important;
    font-size: 13px !important;
    border-radius: 999px !important;
  }
  /* Logo en hero oscuro de home → claro */
  html body.blog .site-header .site-branding .custom-logo,
  html body.home .site-header .site-branding .custom-logo {
    /* El logo se mantiene colorful (header siempre blanco en mobile) */
  }

  /* Mobile drawer — premium */
  .mobile-nav-wrap {
    position: fixed !important;
    inset: 0 !important;
    background: rgba(11,16,32,0.98) !important;
    backdrop-filter: blur(16px) !important;
    z-index: 1000 !important;
    padding: 80px 24px 32px !important;
    display: flex !important;
    flex-direction: column !important;
    transform: translateX(-100%) !important;
    transition: transform .35s cubic-bezier(.22,1,.36,1) !important;
    overflow-y: auto !important;
  }
  .mobile-nav-wrap.is-open { transform: translateX(0) !important; }
  .mobile-nav-wrap .mobile-menu {
    list-style: none; padding: 0; margin: 0;
    display: flex; flex-direction: column; gap: 4px;
  }
  .mobile-nav-wrap .mobile-menu li a {
    display: block !important;
    padding: 16px 18px !important;
    color: #fff !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    border-radius: 12px !important;
    transition: background .2s ease !important;
    border-left: 3px solid transparent;
  }
  .mobile-nav-wrap .mobile-menu li a:hover,
  .mobile-nav-wrap .mobile-menu li a:active {
    background: rgba(45,174,67,0.18) !important;
    border-left-color: #6ee78a;
    color: #6ee78a !important;
  }
  .mobile-nav-wrap .sub-menu {
    list-style: none; margin: 4px 0 0 14px; padding: 0 0 0 14px;
    display: flex; flex-direction: column; gap: 2px;
    border-left: 2px solid rgba(255,255,255,0.08);
  }
  .mobile-nav-wrap .sub-menu a {
    font-size: 14px !important;
    font-weight: 500 !important;
    color: rgba(255,255,255,0.7) !important;
    padding: 10px 14px !important;
  }
  /* Hamburger animation */
  .menu-toggle .hamburger-line { display: block; width: 18px; height: 2px; background: #0f172a; border-radius: 2px; transition: transform .25s ease, opacity .25s ease; }
  .menu-toggle[aria-expanded="true"] .hamburger-line:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] .hamburger-line:nth-child(2) { opacity: 0; }
  .menu-toggle[aria-expanded="true"] .hamburger-line:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
}

@media (max-width: 768px) {

  /* ============== HOME (page-id-538) ============== */
  body.page-id-538 .hh-hero {
    min-height: auto !important;
    padding: 110px 0 60px !important;
  }
  body.page-id-538 .hh-hero__title {
    font-size: clamp(2rem, 9vw, 2.8rem) !important;
    line-height: 1.1 !important;
  }
  body.page-id-538 .hh-hero__lead { font-size: 15px !important; line-height: 1.65 !important; }
  body.page-id-538 .hh-hero__ctas { gap: 10px; flex-direction: column; align-items: stretch; }
  body.page-id-538 .hh-hero__ctas .hh-btn { justify-content: center; width: 100%; height: 48px; }
  body.page-id-538 .hh-hero__stats { gap: 18px; flex-wrap: wrap; }
  body.page-id-538 .hh-hero__stats .hh-stat { width: calc(50% - 9px); }
  body.page-id-538 .hh-stat__num { font-size: 26px !important; }
  body.page-id-538 .hh-stat__plus { font-size: 18px !important; }
  body.page-id-538 .hh-stat__label { font-size: 11px !important; }
  body.page-id-538 .hh-blob { filter: blur(60px) !important; }
  body.page-id-538 .hh-blob--1 { width: 320px; height: 320px; }
  body.page-id-538 .hh-blob--2 { width: 380px; height: 380px; }
  body.page-id-538 .hh-blob--3 { display: none; }
  body.page-id-538 .hh-scroll-hint { display: none !important; }

  /* Sections genéricos */
  .hh-section { padding: 60px 0 !important; }
  .hh-h2 { font-size: clamp(1.5rem, 6.5vw, 2rem) !important; line-height: 1.2 !important; }
  .hh-h2-sub { font-size: 14.5px !important; }
  .hh-h2-wrap--row { flex-direction: column; align-items: flex-start; gap: 12px; }
  .hh-svc-grid { grid-template-columns: 1fr !important; gap: 14px !important; }
  .hh-svc { padding: 24px 22px !important; }
  .hh-svc h3 { font-size: 18px !important; }

  /* Process */
  .hh-process__list { grid-template-columns: 1fr !important; gap: 12px !important; }

  /* Blog preview */
  .hh-blog-grid { grid-template-columns: 1fr !important; gap: 16px !important; }

  /* About visual oculto */
  body.page-id-538 .hh-about__grid { grid-template-columns: 1fr !important; }
  body.page-id-538 .hh-about__visual { display: none !important; }

  /* CTA */
  .hh-cta__inner { flex-direction: column; align-items: flex-start; gap: 20px; }
  .hh-cta__actions { width: 100%; }
  .hh-cta__actions .hh-btn { flex: 1; justify-content: center; min-height: 48px; }

  /* ============== BLOG (body.blog) ============== */
  body.blog .blog-grid { grid-template-columns: 1fr !important; gap: 18px !important; }
  body.blog .card-blog--modern .blog-card-body { padding: 18px 18px 16px !important; }
  body.blog .card-blog--modern .blog-card-title { font-size: 1.1rem !important; line-height: 1.3 !important; -webkit-line-clamp: 3 !important; }
  body.blog .card-blog--modern .blog-card-excerpt { font-size: 14px !important; -webkit-line-clamp: 3 !important; }
  body.blog .blog-card-image { aspect-ratio: 16/9 !important; }
  body.blog .blog-card-category-floating { font-size: 10px !important; padding: 5px 12px !important; }
  body.blog .blog-card-meta { font-size: 11px !important; gap: 10px !important; }
  body.blog .nexus-loadmore { min-width: auto !important; width: 100%; padding: 16px 24px !important; font-size: 15px !important; }

  /* ============== PORTAFOLIO (page-id-521) ============== */
  body.page-id-521 .hp-hero { padding: 110px 0 60px !important; }
  body.page-id-521 .hp-hero__title { font-size: clamp(1.75rem, 8vw, 2.4rem) !important; line-height: 1.1 !important; }
  body.page-id-521 .hp-hero__lead { font-size: 15px !important; }
  body.page-id-521 .hp-svc-grid { grid-template-columns: 1fr !important; gap: 14px !important; }
  body.page-id-521 .hp-svc { padding: 22px 20px !important; }
  body.page-id-521 .hpf-grid { grid-template-columns: 1fr !important; gap: 18px !important; }
  body.page-id-521 .hpf-filters { gap: 6px !important; overflow-x: auto; flex-wrap: nowrap; padding-bottom: 8px; -webkit-overflow-scrolling: touch; }
  body.page-id-521 .hpf-chip { white-space: nowrap; flex-shrink: 0; padding: 8px 14px !important; font-size: 12.5px !important; }
  body.page-id-521 .hp-cta__inner { flex-direction: column; align-items: flex-start; gap: 20px; }
  body.page-id-521 .hp-cta__actions { width: 100%; }
  body.page-id-521 .hp-cta__actions .hp-btn { flex: 1; justify-content: center; min-height: 48px; }

  /* ============== SOBRE MÍ (page-id-235) ============== */
  body.page-id-235 .hh-hero { padding: 110px 0 60px !important; }
  body.page-id-235 .hh-hero__title { font-size: clamp(1.85rem, 8vw, 2.6rem) !important; }
  body.page-id-235 .hh-hero__lead { font-size: 15px !important; }
  body.page-id-235 .hh-hero__stats .hh-stat { width: calc(50% - 9px); }
  /* Marquee height */
  body.page-id-235 .hb-marquee { padding: 14px 0 !important; }
  body.page-id-235 .hb-marquee__track { font-size: 14px !important; gap: 14px !important; }
  /* Industries grid 1 col */
  body.page-id-235 .hb-grid--3 { grid-template-columns: 1fr !important; gap: 14px !important; }
  body.page-id-235 .hb-industry { padding: 22px 20px !important; }
  /* Quote */
  body.page-id-235 .hb-quote__text { font-size: 1.15rem !important; line-height: 1.45 !important; }
  body.page-id-235 .hb-quote__mark { width: 40px !important; }
  /* Now cards */
  body.page-id-235 .hb-now-card { padding: 18px 20px !important; }
  /* Timeline */
  body.page-id-235 .hb-tl::before { left: 20px !important; }
  body.page-id-235 .hb-tl li { flex-direction: column; gap: 4px; padding-left: 0; }
  body.page-id-235 .hb-tl__year { width: auto !important; text-align: left !important; padding-left: 50px; font-size: 14px !important; }
  body.page-id-235 .hb-tl li::after { left: 14px !important; top: 22px !important; }
  body.page-id-235 .hb-tl__body { padding-left: 50px !important; }
  body.page-id-235 .hb-tl__body h4 { font-size: 16px !important; }
  body.page-id-235 .hb-tl__body p { font-size: 14px !important; }

  /* ============== CONTACT (page-id-400) ============== */
  body.page-id-400 .hc-hero { padding: 110px 0 50px !important; }
  body.page-id-400 .hc-hero__title { font-size: clamp(1.85rem, 8vw, 2.6rem) !important; }
  body.page-id-400 .hc-hero__lead { font-size: 15px !important; }
  body.page-id-400 .hc-grid--3 { grid-template-columns: 1fr !important; gap: 14px !important; }
  body.page-id-400 .hc-channel { padding: 24px 22px !important; }
  body.page-id-400 .hc-contact-grid { grid-template-columns: 1fr !important; gap: 30px !important; }
  body.page-id-400 .rd-contact-list { gap: 16px !important; }
  body.page-id-400 .rd-contact-list li { font-size: 14.5px !important; }

  /* ============== SINGLE POST ============== */
  body.single-post .single-post-content { padding: 0 4px !important; }
  body.single-post h1.entry-title,
  body.single-post .single h1 { font-size: clamp(1.5rem, 6vw, 2rem) !important; line-height: 1.2 !important; }
  body.single-post .entry-content p { font-size: 16px !important; line-height: 1.7 !important; }
  body.single-post .entry-content h2 { font-size: 1.4rem !important; margin-top: 2em !important; }
  body.single-post .entry-content h3 { font-size: 1.15rem !important; }
  body.single-post .entry-content img,
  body.single-post .entry-content .wp-block-image { margin: 1.5em 0 !important; border-radius: 12px; }
  body.single-post .entry-content figure { margin: 1.5em 0 !important; }
  body.single-post .entry-content figcaption { font-size: 13px !important; margin-top: 8px !important; }
  body.single-post .single-post-hero { height: 240px !important; }
  body.single-post .nx-share { gap: 8px !important; flex-wrap: wrap; }
  body.single-post .nx-share__btn { width: 36px !important; height: 36px !important; }

  /* ============== SINGLE PORTFOLIO ============== */
  body.single-hc_portfolio .hps-hero { padding: 110px 0 40px !important; }
  body.single-hc_portfolio .hps-hero__title { font-size: clamp(1.75rem, 7vw, 2.4rem) !important; }
  body.single-hc_portfolio .hps-hero__lead { font-size: 15px !important; }
  body.single-hc_portfolio .hps-shot { margin-top: -20px !important; border-radius: 10px !important; }
  body.single-hc_portfolio .hps-shot__url { font-size: 11px !important; max-width: 60%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  body.single-hc_portfolio .hps-body__grid { grid-template-columns: 1fr !important; gap: 24px !important; }
  body.single-hc_portfolio .hps-meta { position: static !important; padding: 22px 20px !important; }
  body.single-hc_portfolio .hps-content { padding: 24px 20px !important; }
  body.single-hc_portfolio .hps-content h2 { font-size: 1.25rem !important; }
  body.single-hc_portfolio .hps-related__grid { grid-template-columns: 1fr !important; gap: 16px !important; }
  body.single-hc_portfolio .hps-cta__inner { flex-direction: column; align-items: flex-start; gap: 18px; }
  body.single-hc_portfolio .hps-cta__actions { width: 100%; }
  body.single-hc_portfolio .hps-btn { flex: 1; justify-content: center; min-height: 46px; }

  /* ============== CATEGORY HERO ============== */
  .nexus-cat-hero { padding: 80px 0 50px !important; }
  .nexus-cat-hero__title { font-size: clamp(1.6rem, 7vw, 2.2rem) !important; }
  .nexus-cat-hero__desc { font-size: 14.5px !important; }
  .nexus-cat-hero__badge { font-size: 12px !important; padding: 6px 14px !important; }

  /* ============== EXPLORA POR TEMA cards ============== */
  .rd-topics__grid { grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; }
  .rd-mega-card__title { font-size: .85rem !important; }
  .rd-mega-card__icon { width: 28px !important; height: 28px !important; top: 10px !important; left: 10px !important; }
  .rd-mega-card__icon svg { width: 14px !important; height: 14px !important; }

  /* ============== FOOTER ============== */
  .hf-marquee__track { font-size: 12.5px !important; gap: 14px !important; }
  .hf-cta__title { font-size: clamp(1.4rem, 6vw, 1.85rem) !important; }
  .hf-cta__row { flex-direction: column; align-items: flex-start; }
  .hf-cta__actions { width: 100%; }
  .hf-cta__actions .hf-btn { flex: 1; justify-content: center; min-height: 46px; }
  .hf-grid { grid-template-columns: 1fr !important; gap: 32px !important; }
  .hf-col--brand .custom-logo { height: 36px !important; }
  .hf-bio { max-width: none !important; }
  .hf-meta { gap: 14px !important; font-size: 12.5px !important; }
  .hf-news__form { flex-direction: column; border-radius: 14px !important; padding: 12px !important; gap: 10px !important; align-items: stretch !important; }
  .hf-news__form input { padding: 10px 14px !important; background: rgba(255,255,255,0.04) !important; border-radius: 10px !important; }
  .hf-news__form button { width: 100% !important; height: 44px !important; justify-content: center; }
  .hf-bottom__inner { flex-direction: column; gap: 14px !important; padding: 20px 0 !important; align-items: flex-start; }
  .hf-bottom__nav { gap: 16px !important; flex-wrap: wrap; }
  .hf-watermark { font-size: 100px !important; }

  /* ============== UNIVERSAL ============== */
  /* Tap targets ≥ 44px en cualquier botón/link inline */
  a.hh-btn, a.hp-btn, a.hps-btn, a.hf-btn, button.hh-btn, button.nexus-loadmore { min-height: 44px; }
  /* No overflow horizontal */
  html, body { overflow-x: hidden !important; }
  /* Imágenes responsive */
  img { max-width: 100% !important; height: auto !important; }
  /* Tablas con scroll horizontal */
  .entry-content table, .hps-content table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  /* Pre/code con overflow */
  .entry-content pre, .hps-content pre { overflow-x: auto; -webkit-overflow-scrolling: touch; max-width: 100%; }
  /* Quitar transform en :hover (no aplica en touch) */
  @media (hover: none) {
    .hh-svc:hover, .hpf-card:hover, .hps-related__card:hover, .hf-social:hover {
      transform: none !important;
    }
  }
  /* Toast position en mobile */
  .nx-toast { bottom: 80px !important; max-width: calc(100vw - 40px); }
  /* Back to top size */
  .back-to-top { width: 46px !important; height: 46px !important; bottom: 18px !important; right: 18px !important; }
}

/* Mobile small (≤480px) ajustes finos */
@media (max-width: 480px) {
  .hh-container, .hp-container, .hps-container, .hb-container, .hc-container, .hf-container { padding: 0 16px !important; }
  body.page-id-538 .hh-hero__title,
  body.page-id-235 .hh-hero__title,
  body.page-id-521 .hp-hero__title { font-size: 1.85rem !important; }
  body.page-id-538 .hh-hero__stats .hh-stat { width: 100%; }
  .hh-stat__num { font-size: 24px !important; }
  .hp-svc__ic, .hh-svc__ic { width: 48px !important; height: 48px !important; }
  .hpf-card__body { padding: 16px 18px !important; }
  .hpf-card__title { font-size: 16px !important; }
  .hps-shot__url { display: none; }
}

/* =============================================================================
   FIX: Sidebar fantasma + espacio blanco + comentarios profesionales
   ============================================================================= */

/* Si .with-sidebar NO contiene <aside>/<sidebar> visible, vuelve a 1 col */
.single .with-sidebar:not(:has(aside.sidebar, .widget-area)) ,
.blog .with-sidebar:not(:has(aside.sidebar, .widget-area)),
.archive .with-sidebar:not(:has(aside.sidebar, .widget-area)),
.search .with-sidebar:not(:has(aside.sidebar, .widget-area)) {
  display: block !important;
}

/* Mobile: forzar 1 col siempre */
@media (max-width: 992px) {
  .with-sidebar { display: block !important; grid-template-columns: 1fr !important; gap: 0 !important; }
}

/* Single: limitar ancho del contenido + reducir padding bottom */
.single-post .section-padding,
.blog .section-padding,
.archive .section-padding {
  padding-top: clamp(40px, 5vw, 70px) !important;
  padding-bottom: clamp(40px, 5vw, 70px) !important;
}
.single-post .single-article {
  max-width: 760px;
  margin: 0 auto;
}
.single-post .entry-content { max-width: 760px; margin: 0 auto; }
.single-post .author-box,
.single-post .entry-footer,
.single-post .nexus-related-posts,
.single-post .related-posts,
.single-post .nx-share { max-width: 760px; margin-left: auto; margin-right: auto; }

/* Author box premium */
.author-box {
  background: linear-gradient(135deg, #f0fdf4 0%, #ecfeff 100%);
  border: 1px solid rgba(45,174,67,0.15);
  border-radius: 18px;
  padding: 28px;
  display: flex; gap: 22px; align-items: center;
  margin-top: 40px;
}
.author-box-avatar {
  width: 80px !important; height: 80px !important;
  border-radius: 50% !important;
  object-fit: cover;
  border: 3px solid #fff;
  box-shadow: 0 6px 20px -6px rgba(45,174,67,0.4);
  flex-shrink: 0;
}
.author-box-content { flex: 1; }
.author-box-name { font-size: 18px !important; font-weight: 700 !important; margin: 0 0 4px !important; }
.author-box-name a { color: #0f172a !important; text-decoration: none !important; }
.author-box-name a:hover { color: #1f8a32 !important; }
.author-box-role { font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #2dae43; margin: 0 0 8px !important; }
.author-box-bio { font-size: 14.5px !important; line-height: 1.65 !important; color: #475569 !important; margin: 0 !important; }

/* =============================================================================
   COMMENTS — premium / profesional
   ============================================================================= */
.comments-section {
  margin-top: 60px !important;
  padding: 50px 0 80px !important;
  border-top: 1px solid #f1f5f9 !important;
  background: #fafbfd;
}
.comments-section .container { max-width: 760px !important; }
.comments-title {
  font-size: clamp(1.5rem, 3vw, 1.85rem) !important;
  font-weight: 800 !important;
  letter-spacing: -.02em;
  color: #0f172a !important;
  margin: 0 0 28px !important;
  display: flex; align-items: center; gap: 12px;
}
.comments-title::before {
  content: "";
  width: 6px; height: 28px;
  background: linear-gradient(180deg, #2dae43, #1f8a32);
  border-radius: 3px;
  display: inline-block;
}

/* Comment list */
.comment-list { padding: 0 !important; margin: 0 0 36px !important; list-style: none; }
.comment-list .comment, .comment-list li.comment {
  background: #fff;
  border: 1px solid rgba(15,23,42,0.06);
  border-radius: 14px;
  padding: 22px 24px !important;
  margin-bottom: 14px !important;
  box-shadow: 0 4px 12px rgba(15,23,42,0.04);
  display: grid !important;
  grid-template-columns: 48px 1fr !important;
  gap: 16px !important;
  align-items: start;
}
.comment-avatar img,
.comment .avatar { width: 48px !important; height: 48px !important; border-radius: 50% !important; }
.comment-meta { margin-bottom: 8px !important; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.comment-author-name { font-weight: 700 !important; color: #0f172a !important; font-size: 14.5px !important; margin: 0 !important; }
.comment-date { font-size: 12px !important; color: #94a3b8 !important; }
.comment-date::before { content: "·"; margin-right: 8px; color: #cbd5e1; }
.comment-body p { font-size: 14.5px !important; line-height: 1.6 !important; color: #334155 !important; margin: 0 0 10px !important; }
.comment-reply-link {
  display: inline-flex; align-items: center; gap: 4px;
  font-size: 13px !important; font-weight: 600 !important;
  color: #1f8a32 !important;
  text-decoration: none !important;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(45,174,67,0.08);
  transition: all .2s ease;
}
.comment-reply-link:hover { background: #2dae43 !important; color: #fff !important; }
.children {
  padding-left: 0 !important;
  margin-top: 14px !important;
  margin-left: 22px;
  border-left: 2px solid #e5e7eb;
  padding-left: 22px !important;
}

/* Comment form premium */
.comment-form-wrap, .comment-respond {
  background: #fff !important;
  border: 1px solid rgba(15,23,42,0.06);
  border-radius: 18px !important;
  padding: 32px !important;
  box-shadow: 0 8px 24px -8px rgba(15,23,42,0.08);
}
.comment-form-title, .comment-reply-title {
  font-size: 1.4rem !important;
  font-weight: 800 !important;
  letter-spacing: -.02em;
  color: #0f172a !important;
  margin: 0 0 8px !important;
}
.comment-notes, .logged-in-as { font-size: 13.5px !important; color: #64748b !important; margin: 0 0 20px !important; }
.comment-form { display: flex; flex-direction: column; gap: 14px; }
.comment-form-fields, .comment-form > p:not(.form-submit):not(.comment-notes):not(.logged-in-as):not(.comment-form-cookies-consent) {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.comment-form label { display: block; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #475569; margin-bottom: 6px; }
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
  width: 100% !important;
  padding: 12px 16px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 10px !important;
  font: 400 14.5px/1.4 Inter, system-ui, sans-serif !important;
  color: #0f172a !important;
  background: #fafbfd !important;
  transition: border-color .2s ease, background .2s ease, box-shadow .2s ease !important;
  box-sizing: border-box;
}
.comment-form input:focus,
.comment-form textarea:focus {
  outline: none !important;
  border-color: #2dae43 !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(45,174,67,0.12) !important;
}
.comment-form textarea { min-height: 140px; resize: vertical; }
.comment-form .comment-form-comment,
.comment-form-cookies-consent { grid-column: 1 / -1; }
.comment-form-cookies-consent { display: flex; align-items: center; gap: 10px; font-size: 13px; color: #64748b; }
.comment-form-cookies-consent input[type="checkbox"] { width: 16px; height: 16px; accent-color: #2dae43; }
.form-submit { margin: 8px 0 0 !important; }
.comment-form input[type="submit"], .form-submit input {
  display: inline-flex !important; align-items: center; gap: 8px;
  padding: 14px 30px !important;
  background: linear-gradient(135deg, #2dae43, #1f8a32) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 999px !important;
  font: 700 14.5px/1 Inter, system-ui, sans-serif !important;
  cursor: pointer !important;
  box-shadow: 0 8px 22px -6px rgba(45,174,67,0.55) !important;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease !important;
}
.comment-form input[type="submit"]:hover { transform: translateY(-2px); filter: brightness(1.08); box-shadow: 0 14px 30px -8px rgba(45,174,67,0.7) !important; }

/* Mobile: comments compactos */
@media (max-width: 600px) {
  .comments-section { padding: 36px 0 60px !important; margin-top: 40px !important; }
  .comments-section .container { padding: 0 16px !important; }
  .comment-list .comment, .comment-list li.comment { padding: 18px 18px !important; grid-template-columns: 40px 1fr !important; gap: 12px !important; }
  .comment-avatar img, .comment .avatar { width: 40px !important; height: 40px !important; }
  .comment-form-wrap, .comment-respond { padding: 22px 18px !important; }
  .comment-form-fields, .comment-form > p:not(.form-submit) { grid-template-columns: 1fr !important; }
  .author-box { flex-direction: column; text-align: center; align-items: center; padding: 24px; }
  .children { margin-left: 12px; padding-left: 14px !important; }
}

/* Asegurar single article ocupa el ancho disponible y no genera "doble columna" si no hay sidebar */
.single-post .section-padding > .container > div:not(.with-sidebar),
.single-post .section-padding > .container > .with-sidebar { display: block; }

/* Forzar sidebar oculto en single si no hay widgets */
body.no-sidebar .with-sidebar { display: block !important; grid-template-columns: 1fr !important; }
body.no-sidebar .with-sidebar > aside,
body.no-sidebar .sidebar { display: none !important; }

/* =============================================================================
   FIX: Active menu item visible al inicio (sin scroll)
   ============================================================================= */
html body.blog .site-header:not(.is-scrolled) .nexus-menu > li.current-menu-item > a,
html body.blog .site-header:not(.is-scrolled) .nexus-menu > li.current-menu-ancestor > a,
html body.home .site-header:not(.is-scrolled) .nexus-menu > li.current-menu-item > a,
html body.home .site-header:not(.is-scrolled) .nexus-menu > li.current-menu-ancestor > a,
html body.archive .site-header:not(.is-scrolled) .nexus-menu > li.current-menu-item > a,
html body.archive .site-header:not(.is-scrolled) .nexus-menu > li.current-menu-ancestor > a,
html body .site-header .nexus-menu > li.current-menu-item > a,
html body .site-header .nexus-menu > li.current-menu-ancestor > a {
  color: #1f8a32 !important;
  background: rgba(45,174,67,0.1) !important;
  text-shadow: none !important;
  font-weight: 700 !important;
}
html body .site-header .nexus-menu > li.current-menu-item > a::after,
html body .site-header .nexus-menu > li.current-menu-ancestor > a::after {
  background: linear-gradient(90deg, #2dae43, #6ee78a) !important;
}

/* =============================================================================
   PAGINACIÓN NUMERADA — premium, antes del Cargar más
   ============================================================================= */
.nexus-blog-pagination,
.nexus-pagination,
.posts-pagination,
.pagination,
.nav-links {
  display: flex !important;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 6px;
  margin: clamp(40px, 6vw, 60px) 0 0;
  padding: 16px 0;
}
.nexus-blog-pagination a,
.nexus-blog-pagination span,
.nav-links .page-numbers,
.pagination .page-numbers {
  display: inline-flex !important;
  align-items: center; justify-content: center;
  min-width: 42px; height: 42px;
  padding: 0 14px;
  border-radius: 10px;
  background: #fff;
  border: 1px solid rgba(15,23,42,0.08);
  color: #475569 !important;
  font: 600 14px/1 Inter, system-ui, sans-serif;
  text-decoration: none !important;
  transition: all .2s ease;
}
.nexus-blog-pagination a:hover,
.nav-links .page-numbers:hover,
.pagination .page-numbers:hover {
  border-color: #2dae43;
  color: #1f8a32 !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 14px -4px rgba(45,174,67,0.25);
}
.nexus-blog-pagination .current,
.nav-links .page-numbers.current,
.pagination .page-numbers.current,
.nexus-blog-pagination span.current {
  background: linear-gradient(135deg, #2dae43, #1f8a32) !important;
  color: #fff !important;
  border-color: transparent !important;
  box-shadow: 0 6px 16px -4px rgba(45,174,67,0.5);
}
.nexus-blog-pagination .dots,
.nav-links .page-numbers.dots {
  background: transparent !important;
  border: 0 !important;
  color: #94a3b8 !important;
}
.nexus-blog-pagination .prev,
.nexus-blog-pagination .next,
.nav-links .prev, .nav-links .next {
  font-weight: 700;
  padding: 0 18px;
}

/* Mobile: paginación compacta */
@media (max-width: 600px) {
  .nexus-blog-pagination, .nav-links, .pagination { gap: 4px !important; }
  .nexus-blog-pagination a, .nexus-blog-pagination span,
  .nav-links .page-numbers, .pagination .page-numbers {
    min-width: 38px; height: 38px; padding: 0 10px; font-size: 13px;
  }
}

/* =============================================================================
   SINGLE POST PREMIUM (.hsp-*)
   ============================================================================= */
.hsp-container { max-width: min(1240px, 92vw); margin: 0 auto; padding: 0 clamp(20px, 4vw, 32px); }
.hsp-eyebrow { display: inline-block; font-size: 12px; font-weight: 800; letter-spacing: .18em; color: #2dae43; padding: 5px 12px; background: rgba(45,174,67,.1); border-radius: 999px; }

/* Hero — featured image como background con overlay */
.hsp-hero {
  position: relative;
  padding: clamp(140px, 14vw, 200px) 0 clamp(60px, 7vw, 100px);
  overflow: hidden;
  color: #fff;
  background: #0a1426;
}
.hsp-hero__bg {
  position: absolute; inset: 0;
  background-image: var(--hsp-bg, none);
  background-size: cover;
  background-position: center;
  filter: blur(2px) saturate(1.1);
  transform: scale(1.06);
  opacity: .55;
}
.hsp-hero__overlay {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(10,20,38,0.85) 0%, rgba(15,31,58,0.75) 50%, rgba(31,138,50,0.6) 100%);
}
.hsp-hero__inner { position: relative; z-index: 2; max-width: 880px; }
.hsp-crumbs { font-size: 13px; color: rgba(255,255,255,0.7); margin-bottom: 18px; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.hsp-crumbs a { color: rgba(255,255,255,0.85); text-decoration: none; transition: color .2s ease; }
.hsp-crumbs a:hover { color: #6ee78a; }
.hsp-crumbs span { color: rgba(255,255,255,0.4); }
.hsp-cat-pill {
  display: inline-block;
  background: rgba(45,174,67,.2);
  color: #6ee78a;
  font: 700 11px/1 Inter, system-ui, sans-serif;
  letter-spacing: .14em;
  text-transform: uppercase;
  padding: 6px 14px;
  border-radius: 999px;
  text-decoration: none;
  border: 1px solid rgba(110,231,138,.35);
  margin-bottom: 18px;
  transition: all .2s ease;
}
.hsp-cat-pill:hover { background: rgba(45,174,67,.32); }
.hsp-title {
  font-size: clamp(2rem, 5vw, 3.4rem);
  font-weight: 800;
  letter-spacing: -.025em;
  line-height: 1.1;
  color: #fff !important;
  margin: 0 0 18px;
}
.hsp-lead { font-size: clamp(15px, 1.5vw, 18px); line-height: 1.6; color: rgba(255,255,255,.85); margin: 0 0 24px; max-width: 60ch; }
.hsp-meta { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; font-size: 13.5px; color: rgba(255,255,255,.75); }
.hsp-meta__author { display: inline-flex; align-items: center; gap: 8px; color: #fff !important; text-decoration: none !important; font-weight: 600; }
.hsp-meta__avatar { width: 36px !important; height: 36px !important; border-radius: 50% !important; border: 2px solid rgba(255,255,255,0.2); }
.hsp-meta__sep { color: rgba(255,255,255,.35); }
.hsp-meta__time { display: inline-flex; align-items: center; gap: 5px; }

/* ============== BODY: 2-col grid ============== */
.hsp-body { background: #fafbfd; padding: clamp(40px, 6vw, 80px) 0; }
.hsp-grid {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 50px;
  align-items: start;
}

/* Article */
.hsp-article {
  background: #fff;
  border-radius: 18px;
  padding: clamp(28px, 4vw, 50px);
  border: 1px solid rgba(15,23,42,0.05);
  box-shadow: 0 6px 20px -6px rgba(15,23,42,0.06);
}
.hsp-article .entry-content { max-width: none !important; padding: 0 !important; margin: 0 !important; }
.hsp-article .entry-content > *:first-child { margin-top: 0 !important; }
.hsp-article .entry-content > *:last-child { margin-bottom: 0 !important; }
.hsp-article .entry-content p { font-size: 17px; line-height: 1.8; color: #334155; margin: 0 0 18px; }
.hsp-article .entry-content h2 { font-size: 1.65rem; font-weight: 800; letter-spacing: -.02em; color: #0f172a; margin: 36px 0 14px; line-height: 1.25; scroll-margin-top: 100px; }
.hsp-article .entry-content h3 { font-size: 1.25rem; font-weight: 700; color: #0f172a; margin: 28px 0 12px; line-height: 1.3; scroll-margin-top: 100px; }
.hsp-article .entry-content h2 + h3 { margin-top: 18px; }
.hsp-article .entry-content ul, .hsp-article .entry-content ol { margin: 0 0 20px 22px; padding: 0; }
.hsp-article .entry-content li { font-size: 16.5px; line-height: 1.75; color: #334155; margin: 6px 0; }
.hsp-article .entry-content strong { color: #0f172a; }
.hsp-article .entry-content a { color: #1f8a32; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; transition: color .2s ease; }
.hsp-article .entry-content a:hover { color: #176b27; }
.hsp-article .entry-content blockquote {
  margin: 24px 0;
  padding: 20px 24px;
  background: #f0fdf4;
  border-left: 4px solid #2dae43;
  border-radius: 8px;
  font-size: 17px;
  font-style: italic;
  color: #1f2937;
}
.hsp-article .entry-content figure { margin: 28px 0; border-radius: 12px; overflow: hidden; }
.hsp-article .entry-content figure img { display: block; width: 100%; height: auto; }
.hsp-article .entry-content figcaption { font-size: 13px; color: #64748b; padding: 10px 14px; background: #f8fafc; }
.hsp-article .entry-content pre {
  background: #0f172a;
  color: #e5e7eb;
  padding: 20px;
  border-radius: 12px;
  overflow-x: auto;
  font: 14px/1.6 ui-monospace, Menlo, monospace;
  margin: 20px 0;
}
.hsp-article .entry-content code {
  background: #f1f5f9;
  padding: 2px 6px;
  border-radius: 4px;
  font: 14px ui-monospace, monospace;
  color: #1f8a32;
}
.hsp-article .entry-content pre code { background: transparent; padding: 0; color: inherit; }
.hsp-article .entry-content table { width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 14.5px; }
.hsp-article .entry-content th, .hsp-article .entry-content td { padding: 12px 14px; text-align: left; border-bottom: 1px solid #e5e7eb; }
.hsp-article .entry-content th { background: #f8fafc; font-weight: 700; color: #0f172a; }

/* Tags */
.hsp-tags { margin-top: 36px; padding-top: 24px; border-top: 1px solid #f1f5f9; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.hsp-tags__label { font-size: 11px; font-weight: 800; letter-spacing: .14em; color: #94a3b8; text-transform: uppercase; margin-right: 4px; }
.hsp-tags a {
  background: #f1f5f9;
  color: #475569 !important;
  font-size: 13px;
  font-weight: 500;
  padding: 6px 14px;
  border-radius: 999px;
  text-decoration: none !important;
  transition: all .2s ease;
}
.hsp-tags a:hover { background: rgba(45,174,67,0.12); color: #1f8a32 !important; }

/* Bottom share */
.hsp-share-bottom {
  margin-top: 32px;
  padding: 28px;
  background: linear-gradient(135deg, #f0fdf4 0%, #ecfeff 100%);
  border-radius: 14px;
  text-align: center;
}
.hsp-share-bottom h3 { margin: 0 0 4px; font-size: 1.15rem; color: #0f172a; }
.hsp-share-bottom p { margin: 0 0 16px; color: #64748b; font-size: 14px; }
.hsp-share { display: inline-flex; gap: 10px; flex-wrap: wrap; justify-content: center; margin-bottom: 24px; padding-bottom: 24px; border-bottom: 1px solid #f1f5f9; }
.hsp-share--big { margin: 0; padding: 0; border: 0; }
.hsp-share__btn {
  display: inline-flex; align-items: center; justify-content: center;
  width: 40px; height: 40px;
  border-radius: 12px;
  background: #f1f5f9;
  color: #475569;
  border: 0;
  cursor: pointer;
  text-decoration: none !important;
  transition: all .2s ease;
}
.hsp-share__btn:hover { background: #2dae43; color: #fff; transform: translateY(-2px); }

/* Author box premium */
.hsp-author {
  margin-top: 40px;
  background: linear-gradient(135deg, #0a1426 0%, #0f1f3a 100%);
  border-radius: 18px;
  padding: 32px;
  display: flex; gap: 24px; align-items: center;
  color: #fff;
  box-shadow: 0 14px 40px -12px rgba(15,23,42,0.25);
}
.hsp-author__avatar { width: 96px !important; height: 96px !important; border-radius: 50% !important; border: 3px solid rgba(110,231,138,.4); flex-shrink: 0; }
.hsp-author__role { font-size: 11px; font-weight: 800; letter-spacing: .14em; color: #6ee78a; text-transform: uppercase; }
.hsp-author__name { margin: 4px 0 8px; font-size: 1.3rem; font-weight: 700; color: #fff; }
.hsp-author__name a { color: #fff !important; text-decoration: none !important; }
.hsp-author__name a:hover { color: #6ee78a !important; }
.hsp-author__bio { color: rgba(255,255,255,.78); font-size: 14.5px; line-height: 1.65; margin: 0 0 14px; }
.hsp-author__socials { display: flex; gap: 14px; }
.hsp-author__socials a { color: #6ee78a !important; font-size: 13px; font-weight: 600; text-decoration: none !important; }
.hsp-author__socials a:hover { color: #fff !important; }

/* ============== SIDEBAR ============== */
.hsp-side { display: flex; flex-direction: column; gap: 16px; position: sticky; top: 100px; }
.hsp-side-card {
  background: #fff;
  border: 1px solid rgba(15,23,42,0.06);
  border-radius: 14px;
  padding: 22px;
  box-shadow: 0 4px 14px rgba(15,23,42,0.04);
}
.hsp-side-card__head { margin-bottom: 14px; }
.hsp-side-card__eyebrow { font-size: 11px; font-weight: 800; letter-spacing: .14em; color: #2dae43; text-transform: uppercase; }

/* Mini author */
.hsp-side-author { display: flex; align-items: center; gap: 12px; }
.hsp-side-author__avatar { width: 56px !important; height: 56px !important; border-radius: 50% !important; flex-shrink: 0; }
.hsp-side-author__by { font-size: 12px; color: #94a3b8; }
.hsp-side-author__name { display: block; font-size: 15px; font-weight: 700; color: #0f172a !important; text-decoration: none !important; margin-top: 2px; }
.hsp-side-author__name:hover { color: #1f8a32 !important; }

/* TOC */
.hsp-toc-list { list-style: none; padding: 0; margin: 0; counter-reset: htoc; display: flex; flex-direction: column; gap: 6px; }
.hsp-toc-list li { counter-increment: htoc; position: relative; padding-left: 22px; }
.hsp-toc-list li::before {
  content: counter(htoc, decimal-leading-zero);
  position: absolute; left: 0; top: 4px;
  font: 700 10px/1 Inter, sans-serif; color: rgba(45,174,67,.55);
}
.hsp-toc-list li a {
  display: block;
  padding: 6px 8px;
  color: #475569 !important;
  font-size: 13.5px;
  text-decoration: none !important;
  border-radius: 6px;
  transition: all .2s ease;
  line-height: 1.4;
}
.hsp-toc-list li a:hover, .hsp-toc-list li a.is-active {
  color: #1f8a32 !important;
  background: rgba(45,174,67,.08);
  font-weight: 600;
}
.hsp-toc-list li.toc-h3 { padding-left: 38px; }
.hsp-toc-list li.toc-h3::before { left: 16px; opacity: .5; }
.hsp-toc-list li.toc-h3 a { font-size: 13px; }
.hsp-side-toc:empty, .hsp-side-toc.is-empty { display: none; }

/* Newsletter side */
.hsp-side-news h4 { font-size: 1.05rem; font-weight: 700; color: #0f172a; margin: 6px 0 4px; }
.hsp-side-news p { font-size: 13.5px; color: #64748b; margin: 0 0 14px; }
.hsp-side-news__btn {
  display: block; text-align: center;
  background: linear-gradient(135deg, #2dae43, #1f8a32);
  color: #fff !important;
  padding: 11px 16px;
  border-radius: 999px;
  text-decoration: none !important;
  font-weight: 700;
  font-size: 14px;
  box-shadow: 0 6px 16px -6px rgba(45,174,67,.5);
  transition: transform .2s ease, box-shadow .2s ease;
}
.hsp-side-news__btn:hover { transform: translateY(-2px); }

/* Más en categoría */
.hsp-more-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.hsp-more-list li a { display: flex; gap: 12px; align-items: center; text-decoration: none !important; padding: 8px; border-radius: 8px; transition: background .2s ease; }
.hsp-more-list li a:hover { background: #f8fafc; }
.hsp-more-list li img { width: 50px; height: 50px; object-fit: cover; border-radius: 8px; flex-shrink: 0; }
.hsp-more-list li span { font-size: 13.5px; line-height: 1.4; color: #0f172a !important; font-weight: 500; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* ============== Related ============== */
.hsp-related { background: #fff; padding: clamp(60px, 7vw, 90px) 0; }
.hsp-related__head { text-align: center; margin-bottom: 40px; }
.hsp-related__head h2 { font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 800; letter-spacing: -.02em; color: #0f172a; margin: 10px 0 0; }
.hsp-related__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.hsp-related__card { background: #fff; border: 1px solid rgba(15,23,42,0.06); border-radius: 16px; overflow: hidden; transition: all .35s ease; }
.hsp-related__card:hover { transform: translateY(-4px); box-shadow: 0 22px 44px -16px rgba(15,23,42,0.18); border-color: rgba(45,174,67,0.2); }
.hsp-related__img { display: block; aspect-ratio: 16/10; overflow: hidden; background: #f3f4f6; }
.hsp-related__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.22,1,.36,1); }
.hsp-related__card:hover .hsp-related__img img { transform: scale(1.06); }
.hsp-related__body { padding: 18px 22px 22px; }
.hsp-related__cat { display: inline-block; background: rgba(45,174,67,.1); color: #1f8a32; font-size: 10.5px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; padding: 4px 11px; border-radius: 999px; margin-bottom: 8px; }
.hsp-related__body h3 { font-size: 17px; font-weight: 700; line-height: 1.3; margin: 0 0 8px; }
.hsp-related__body h3 a { color: #0f172a !important; text-decoration: none !important; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.hsp-related__body h3 a:hover { color: #1f8a32 !important; }
.hsp-related__body time { font-size: 12.5px; color: #94a3b8; }

/* ============== Single full-width wrapper ============== */
.single-post .nexus-page-header { display: none !important; }
.single-post .site-content.page-wrapper { padding-top: 0 !important; }
.single-post .site-main, .single-post main, .single-post .entry-content.page-content,
.single-post .single-article, .single-post .with-sidebar { max-width: none !important; padding: 0 !important; margin: 0 !important; width: 100% !important; }
.single-post .hsp-hero, .single-post .hsp-body, .single-post .hsp-related, .single-post .comments-section {
  width: 100vw !important; max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important;
  position: relative;
}
/* Quita section-padding viejo si quedó */
.single-post .section-padding { padding: 0 !important; }

/* ============== Responsive ============== */
@media (max-width: 992px) {
  .hsp-grid { grid-template-columns: 1fr !important; gap: 28px !important; }
  .hsp-side { position: static !important; }
  .hsp-related__grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 600px) {
  .hsp-hero { padding: 110px 0 40px !important; }
  .hsp-title { font-size: clamp(1.65rem, 8vw, 2.2rem) !important; }
  .hsp-lead { font-size: 14.5px !important; }
  .hsp-meta { font-size: 12.5px !important; }
  .hsp-article { padding: 24px 22px !important; }
  .hsp-article .entry-content p { font-size: 16px !important; line-height: 1.7 !important; }
  .hsp-article .entry-content h2 { font-size: 1.35rem !important; }
  .hsp-author { flex-direction: column; text-align: center; padding: 24px; }
  .hsp-author__socials { justify-content: center; }
  .hsp-related__grid { grid-template-columns: 1fr !important; }
}

/* Updated badge en single posts */
.hsp-updated-badge {
  display: inline-block;
  background: rgba(45,174,67,.1);
  color: #1f8a32;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .04em;
  padding: 6px 12px;
  border-radius: 6px;
  margin: 0 0 24px;
  border-left: 3px solid #2dae43;
}
.hsp-updated-badge strong { color: #176b27; margin-right: 4px; }

/* =============================================================================
   FIX FINAL: Single post premium con máxima especificidad + clean overrides
   ============================================================================= */

/* 0. Reset wrappers del tema en single */
html body.single-post .site-content,
html body.single-post .site-main,
html body.single-post main#main-content,
html body.single-post article.page-article,
html body.single-post article.single-article,
html body.single-post .with-sidebar,
html body.single-post .section-padding {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  display: block !important;
}
html body.single-post .site-content.page-wrapper { padding-top: 0 !important; }
html body.single-post .nexus-page-header,
html body.single-post .single-post-hero,
html body.single-post .single-post-meta-bar,
html body.single-post .author-box,
html body.single-post .entry-footer,
html body.single-post .nexus-related-posts { display: none !important; }

/* Article wrapper full width */
html body.single-post article.hsp { display: block; width: 100%; }

/* 1. Hero — forzar visualmente */
html body.single-post .hsp-hero {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  padding: clamp(140px, 14vw, 200px) 0 clamp(60px, 7vw, 100px) !important;
  background: #0a1426 !important;
  color: #fff !important;
  overflow: hidden !important;
}
html body.single-post .hsp-hero__bg {
  position: absolute !important; inset: 0 !important;
  background-image: var(--hsp-bg) !important;
  background-size: cover !important;
  background-position: center !important;
  filter: blur(2px) saturate(1.1);
  opacity: .55;
  z-index: 0;
}
html body.single-post .hsp-hero__overlay {
  position: absolute !important; inset: 0 !important;
  background: linear-gradient(135deg, rgba(10,20,38,0.85) 0%, rgba(15,31,58,0.75) 50%, rgba(31,138,50,0.6) 100%) !important;
  z-index: 1;
}
html body.single-post .hsp-hero__inner { position: relative; z-index: 2; max-width: 880px; }
html body.single-post .hsp-title {
  font-size: clamp(2rem, 5vw, 3.4rem) !important;
  font-weight: 800 !important;
  letter-spacing: -.025em !important;
  line-height: 1.1 !important;
  color: #fff !important;
  margin: 0 0 18px !important;
}
html body.single-post .hsp-lead {
  font-size: clamp(15px, 1.5vw, 18px) !important;
  color: rgba(255,255,255,.85) !important;
  margin: 0 0 24px !important;
}

/* 2. Body 2 col real */
html body.single-post .hsp-body {
  display: block !important;
  background: #fafbfd !important;
  padding: clamp(40px, 6vw, 80px) 0 !important;
}
html body.single-post .hsp-grid {
  display: grid !important;
  grid-template-columns: 1fr 320px !important;
  gap: 40px !important;
  align-items: start !important;
  width: 100%;
}
@media (max-width: 992px) {
  html body.single-post .hsp-grid { grid-template-columns: 1fr !important; }
  html body.single-post .hsp-side { position: static !important; }
}
html body.single-post .hsp-article {
  background: #fff !important;
  border-radius: 18px !important;
  padding: clamp(28px, 4vw, 50px) !important;
  border: 1px solid rgba(15,23,42,0.05) !important;
  box-shadow: 0 6px 20px -6px rgba(15,23,42,0.06) !important;
  min-width: 0;
}

/* 3. Quitar drop-cap heredado del tema */
html body.single-post .entry-content > p:first-child::first-letter,
html body.single-post .hsp-article p::first-letter {
  initial-letter: unset !important;
  -webkit-initial-letter: unset !important;
  font-size: inherit !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  color: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
}

/* 4. Share row arriba: que sea horizontal */
html body.single-post .hsp-share {
  display: inline-flex !important;
  flex-direction: row !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  margin: 0 0 24px !important;
  padding: 0 0 18px !important;
  border-bottom: 1px solid #f1f5f9 !important;
}
html body.single-post .hsp-share--big {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  justify-content: center;
}
html body.single-post .hsp-share__btn {
  display: inline-flex !important;
  align-items: center !important; justify-content: center !important;
  width: 40px !important; height: 40px !important;
  border-radius: 12px !important;
  background: #f1f5f9 !important;
  color: #475569 !important;
  border: 0 !important;
  cursor: pointer !important;
  text-decoration: none !important;
}
html body.single-post .hsp-share__btn:hover {
  background: #2dae43 !important;
  color: #fff !important;
}
html body.single-post .hsp-share__btn svg { width: 16px !important; height: 16px !important; }

/* =============================================================================
   FIX: Comments — el grid real está en article.comment-body, no en li.comment
   ============================================================================= */

/* Reset previous wrong grid */
html body .comments-section .comment-list .comment,
html body .comments-section .comment-list li.comment {
  display: block !important;
  grid-template-columns: none !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 0 14px !important;
  box-shadow: none !important;
}

/* The real grid: article.comment-body */
html body .comments-section .comment-list .comment > article.comment-body,
html body .comments-section .comment-list .comment > .comment-body {
  display: grid !important;
  grid-template-columns: 48px 1fr !important;
  gap: 16px !important;
  align-items: start !important;
  background: #fff !important;
  border: 1px solid rgba(15,23,42,0.06) !important;
  border-radius: 14px !important;
  padding: 22px 24px !important;
  box-shadow: 0 4px 12px rgba(15,23,42,0.04) !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Avatar column */
html body .comments-section .comment-avatar {
  width: 48px; height: 48px;
  flex-shrink: 0;
}
html body .comments-section .comment-avatar img,
html body .comments-section .comment .avatar {
  width: 48px !important;
  height: 48px !important;
  border-radius: 50% !important;
  display: block !important;
  margin: 0 !important;
}

/* Content column */
html body .comments-section .comment-content-wrap {
  min-width: 0;
  display: block !important;
  width: 100% !important;
}

/* Meta header inline */
html body .comments-section .comment-meta {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  border: 0 !important;
  font-size: inherit !important;
}
html body .comments-section .comment-meta > * {
  display: inline-flex !important;
  align-items: center;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  flex: 0 0 auto !important;
}
html body .comments-section .comment-author-name {
  font-weight: 700 !important;
  color: #0f172a !important;
  font-size: 14.5px !important;
  white-space: nowrap;
}
html body .comments-section .comment-author-name a {
  color: #0f172a !important;
  text-decoration: none !important;
}
html body .comments-section .comment-author-name a:hover {
  color: #1f8a32 !important;
}
html body .comments-section .comment-date {
  font-size: 12.5px !important;
  color: #94a3b8 !important;
  white-space: nowrap;
}
html body .comments-section .comment-date::before {
  content: "·";
  margin-right: 8px;
  color: #cbd5e1;
}
html body .comments-section .comment-date a {
  color: #94a3b8 !important;
  text-decoration: none !important;
  white-space: nowrap;
}
html body .comments-section .comment-date a:hover { color: #1f8a32 !important; }

/* Inner body (text) */
html body .comments-section .comment-body[itemprop="text"],
html body .comments-section .comment-content-wrap > .comment-body {
  margin: 0 0 10px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  display: block !important;
}
html body .comments-section .comment-body p {
  font-size: 14.5px !important;
  line-height: 1.6 !important;
  color: #334155 !important;
  margin: 0 0 8px !important;
}

/* Reply link */
html body .comments-section .comment-footer { margin: 0 !important; padding: 0 !important; }
html body .comments-section .reply-link-wrap { display: inline-block; margin: 0; }
html body .comments-section .comment-reply-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #1f8a32 !important;
  text-decoration: none !important;
  padding: 4px 12px !important;
  border-radius: 999px !important;
  background: rgba(45,174,67,0.08) !important;
  transition: all .2s ease !important;
  margin: 0 !important;
}
html body .comments-section .comment-reply-link:hover {
  background: #2dae43 !important;
  color: #fff !important;
}

/* Title */
html body .comments-section .comments-title {
  display: block !important;
  font-size: clamp(1.4rem, 3vw, 1.85rem) !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  margin: 0 0 28px !important;
  padding-left: 16px !important;
  border-left: 4px solid #2dae43 !important;
  line-height: 1.3 !important;
}
html body .comments-section .comments-title::before { content: none !important; }
html body .comments-section .comments-title span { font-weight: 800; }

/* Children/replies indented */
html body .comments-section .children {
  list-style: none !important;
  margin: 14px 0 0 22px !important;
  padding: 0 0 0 22px !important;
  border-left: 2px solid #e5e7eb !important;
}

/* Mobile: avatar más pequeño */
@media (max-width: 600px) {
  html body .comments-section .comment-list .comment > article.comment-body,
  html body .comments-section .comment-list .comment > .comment-body {
    grid-template-columns: 40px 1fr !important;
    gap: 12px !important;
    padding: 18px !important;
  }
  html body .comments-section .comment-avatar,
  html body .comments-section .comment-avatar img,
  html body .comments-section .comment .avatar { width: 40px !important; height: 40px !important; }
  html body .comments-section .comments-title { font-size: 1.2rem !important; padding-left: 12px !important; }
  html body .comments-section .children { margin-left: 12px !important; padding-left: 12px !important; }
}

/* =============================================================================
   MENÚ NIVEL DIOS — desktop + mobile (override final, alta especificidad)
   ============================================================================= */

/* ============== DESKTOP (≥993px) ============== */
@media (min-width: 993px) {

  html body .site-header {
    height: 76px !important;
    background: rgba(255,255,255,0.85) !important;
    backdrop-filter: saturate(180%) blur(20px) !important;
    -webkit-backdrop-filter: saturate(180%) blur(20px) !important;
    border-bottom: 1px solid rgba(15,23,42,0.05) !important;
    box-shadow: 0 1px 0 rgba(15,23,42,0.02);
    transition: height .3s ease, background .3s ease, box-shadow .3s ease !important;
  }
  html body .site-header.is-scrolled {
    height: 64px !important;
    background: rgba(255,255,255,0.95) !important;
    box-shadow: 0 4px 20px -8px rgba(15,23,42,0.15) !important;
  }

  /* Header inner — alineación premium */
  html body .site-header .container {
    max-width: 1320px !important;
    padding: 0 32px !important;
  }
  html body .site-header .header-inner {
    display: flex !important;
    align-items: center;
    gap: 32px;
    width: 100%;
  }

  /* Branding */
  html body .site-branding { flex-shrink: 0; margin-right: auto; }
  html body .site-branding .custom-logo,
  html body .site-branding .custom-logo-link img {
    height: 38px !important;
    transition: height .3s ease !important;
  }
  html body .site-header.is-scrolled .site-branding .custom-logo,
  html body .site-header.is-scrolled .site-branding .custom-logo-link img {
    height: 32px !important;
  }

  /* Nav: centered */
  html body .primary-nav { flex: 1; display: flex; justify-content: center; }
  html body .nexus-menu {
    display: inline-flex !important;
    align-items: center !important;
    gap: 2px !important;
    list-style: none;
    padding: 4px;
    margin: 0;
    background: transparent;
    border-radius: 999px;
  }
  html body .nexus-menu > li { position: relative; }
  html body .nexus-menu > li > a,
  html body .nexus-menu > li > .rd-mega-trigger,
  html body .rd-mega-trigger {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px;
    padding: 9px 16px !important;
    font-family: "Inter","Space Grotesk",system-ui,sans-serif !important;
    font-size: 14.5px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    letter-spacing: -.005em !important;
    color: #475569 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 999px !important;
    text-decoration: none !important;
    cursor: pointer;
    transition: color .25s cubic-bezier(.4,0,.2,1), background .25s cubic-bezier(.4,0,.2,1), transform .15s ease !important;
    white-space: nowrap;
  }
  /* Hover: pill verde sutil + texto verde */
  html body .nexus-menu > li > a:hover,
  html body .nexus-menu > li > .rd-mega-trigger:hover,
  html body .nexus-menu > li > .rd-mega-trigger.is-open,
  html body .rd-mega-trigger:hover {
    color: #1f8a32 !important;
    background: rgba(45,174,67,0.1) !important;
  }
  html body .nexus-menu > li > a:active { transform: scale(.97); }
  /* Active item — fondo verde gradient sutil + texto verde oscuro */
  html body .nexus-menu > li.current-menu-item > a,
  html body .nexus-menu > li.current-menu-ancestor > a {
    color: #1f8a32 !important;
    background: linear-gradient(135deg, rgba(45,174,67,0.12), rgba(110,231,138,0.08)) !important;
    font-weight: 700 !important;
  }
  /* Quitar subrayados/dots viejos */
  html body .nexus-menu > li > a::before,
  html body .nexus-menu > li > a::after,
  html body .rd-mega-trigger::before,
  html body .rd-mega-trigger::after { display: none !important; }
  /* Caret en items con dropdown */
  html body .rd-mega-trigger svg {
    width: 11px !important;
    height: 11px !important;
    opacity: .6;
    transition: transform .25s cubic-bezier(.4,0,.2,1), opacity .25s ease !important;
  }
  html body .rd-mega-trigger:hover svg,
  html body .rd-mega-trigger.is-open svg { opacity: 1; }
  html body .rd-mega-trigger.is-open svg { transform: rotate(180deg); }

  /* CTA Suscríbete — pill verde gradient con shimmer */
  html body .header-cta { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
  html body .header-cta .btn,
  html body .header-cta .btn-primary,
  html body .header-cta .btn-sm {
    position: relative;
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    height: 42px !important;
    padding: 0 22px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, #2dae43, #1f8a32) !important;
    color: #fff !important;
    border: 0 !important;
    box-shadow: 0 8px 22px -6px rgba(45,174,67,0.5) !important;
    transition: transform .25s cubic-bezier(.4,0,.2,1), box-shadow .3s ease, filter .25s ease !important;
    overflow: hidden;
    text-decoration: none !important;
  }
  html body .header-cta .btn::before {
    content: "";
    position: absolute; inset: 0;
    background: linear-gradient(120deg, transparent 30%, rgba(255,255,255,0.4) 50%, transparent 70%);
    transform: translateX(-120%);
    transition: transform .8s ease;
  }
  html body .header-cta .btn:hover::before { transform: translateX(120%); }
  html body .header-cta .btn::after {
    content: "→";
    font-size: 15px;
    transition: transform .25s ease;
  }
  html body .header-cta .btn:hover::after { transform: translateX(3px); }
  html body .header-cta .btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 32px -8px rgba(45,174,67,0.7) !important;
    filter: brightness(1.08);
  }
}

/* ============== MOBILE (≤992px) ============== */
@media (max-width: 992px) {

  /* Header compacto */
  html body .site-header {
    height: 64px !important;
    background: rgba(255,255,255,0.95) !important;
    backdrop-filter: saturate(180%) blur(16px) !important;
    border-bottom: 1px solid rgba(15,23,42,0.06) !important;
  }
  html body .site-header .container { padding: 0 18px !important; }
  html body .site-header .header-inner { gap: 12px !important; }
  html body .site-branding .custom-logo,
  html body .site-branding .custom-logo-link img { height: 30px !important; max-width: 160px !important; }

  /* Hide desktop nav */
  html body .site-header .primary-nav,
  html body .site-header .nexus-menu,
  html body .site-header .rd-mega-trigger-li { display: none !important; }

  /* CTA + hamburger en flex compacto */
  html body .site-header .header-cta {
    display: flex !important;
    align-items: center;
    gap: 10px;
    margin-left: auto;
  }
  html body .site-header .header-cta .btn {
    display: inline-flex !important;
    height: 38px !important;
    padding: 0 16px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, #2dae43, #1f8a32) !important;
    color: #fff !important;
    border: 0 !important;
    box-shadow: 0 6px 16px -4px rgba(45,174,67,0.45) !important;
    text-decoration: none !important;
    align-items: center;
    gap: 4px;
  }

  /* Hamburger button */
  html body .menu-toggle {
    display: inline-flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    width: 42px;
    height: 42px;
    padding: 0;
    background: rgba(15,23,42,0.04) !important;
    border: 1px solid rgba(15,23,42,0.08) !important;
    border-radius: 12px !important;
    cursor: pointer;
    transition: background .2s ease, border-color .2s ease;
  }
  html body .menu-toggle:hover { background: rgba(45,174,67,0.08) !important; border-color: rgba(45,174,67,0.2) !important; }
  html body .menu-toggle .hamburger-line {
    display: block !important;
    width: 18px;
    height: 2px;
    background: #0f172a;
    border-radius: 2px;
    transition: transform .3s cubic-bezier(.4,0,.2,1), opacity .3s ease, width .3s ease;
  }
  html body .menu-toggle[aria-expanded="true"] .hamburger-line { background: #fff !important; }
  html body .menu-toggle[aria-expanded="true"] .hamburger-line:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  html body .menu-toggle[aria-expanded="true"] .hamburger-line:nth-child(2) { opacity: 0; }
  html body .menu-toggle[aria-expanded="true"] .hamburger-line:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

  /* ========== Mobile drawer (overlay completo) ========== */
  html body .mobile-nav-wrap {
    position: fixed !important;
    inset: 0 !important;
    background: linear-gradient(135deg, #050a18 0%, #0a1426 50%, #0f1f3a 100%) !important;
    backdrop-filter: blur(20px) !important;
    z-index: 1000 !important;
    padding: 90px 24px 40px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    transform: translateX(-100%) !important;
    transition: transform .4s cubic-bezier(.22,1,.36,1) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
  }
  html body .mobile-nav-wrap.is-open { transform: translateX(0) !important; }

  /* Decorative blob */
  html body .mobile-nav-wrap::before {
    content: "";
    position: absolute;
    top: -150px; left: -150px;
    width: 400px; height: 400px;
    background: radial-gradient(circle, rgba(45,174,67,0.4), transparent 70%);
    filter: blur(70px);
    pointer-events: none;
    z-index: 0;
  }
  html body .mobile-nav-wrap::after {
    content: "";
    position: absolute;
    bottom: -200px; right: -100px;
    width: 500px; height: 500px;
    background: radial-gradient(circle, rgba(6,182,212,0.3), transparent 70%);
    filter: blur(80px);
    pointer-events: none;
    z-index: 0;
  }

  /* Mobile menu list */
  html body .mobile-nav-wrap .mobile-menu {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    position: relative;
    z-index: 1;
  }
  html body .mobile-nav-wrap .mobile-menu > li {
    opacity: 0;
    transform: translateX(-20px);
    animation: nxMobileItem .5s cubic-bezier(.22,1,.36,1) forwards;
  }
  html body .mobile-nav-wrap.is-open .mobile-menu > li:nth-child(1) { animation-delay: .1s; }
  html body .mobile-nav-wrap.is-open .mobile-menu > li:nth-child(2) { animation-delay: .15s; }
  html body .mobile-nav-wrap.is-open .mobile-menu > li:nth-child(3) { animation-delay: .2s; }
  html body .mobile-nav-wrap.is-open .mobile-menu > li:nth-child(4) { animation-delay: .25s; }
  html body .mobile-nav-wrap.is-open .mobile-menu > li:nth-child(5) { animation-delay: .3s; }
  html body .mobile-nav-wrap.is-open .mobile-menu > li:nth-child(6) { animation-delay: .35s; }
  @keyframes nxMobileItem { to { opacity: 1; transform: translateX(0); } }

  html body .mobile-nav-wrap .mobile-menu > li > a {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between;
    padding: 18px 20px !important;
    color: #fff !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    border-radius: 14px !important;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.06);
    transition: all .25s ease !important;
    position: relative;
  }
  html body .mobile-nav-wrap .mobile-menu > li > a::after {
    content: "→";
    font-size: 20px;
    color: rgba(255,255,255,0.3);
    transition: transform .25s ease, color .25s ease;
  }
  html body .mobile-nav-wrap .mobile-menu > li > a:hover,
  html body .mobile-nav-wrap .mobile-menu > li > a:active {
    background: rgba(45,174,67,0.18) !important;
    border-color: rgba(110,231,138,0.4);
    color: #6ee78a !important;
    transform: translateX(4px);
  }
  html body .mobile-nav-wrap .mobile-menu > li > a:hover::after {
    color: #6ee78a;
    transform: translateX(4px);
  }
  html body .mobile-nav-wrap .mobile-menu > li.current-menu-item > a {
    background: linear-gradient(135deg, rgba(45,174,67,0.25), rgba(110,231,138,0.15)) !important;
    border-color: rgba(110,231,138,0.5);
    color: #6ee78a !important;
  }

  /* Sub-menus */
  html body .mobile-nav-wrap .sub-menu {
    list-style: none !important;
    margin: 6px 0 0 14px !important;
    padding: 0 0 0 14px !important;
    border-left: 2px solid rgba(110,231,138,0.2);
    display: flex;
    flex-direction: column;
    gap: 2px;
  }
  html body .mobile-nav-wrap .sub-menu a {
    padding: 12px 16px !important;
    color: rgba(255,255,255,0.7) !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    border-radius: 10px !important;
    background: transparent !important;
    border: 0 !important;
    transition: all .2s ease;
  }
  html body .mobile-nav-wrap .sub-menu a:hover {
    color: #6ee78a !important;
    background: rgba(45,174,67,0.1) !important;
  }

  /* Footer del drawer: socials + copyright */
  html body .mobile-nav-wrap::before,
  html body .mobile-nav-wrap::after { z-index: 0; }

  /* Lock body scroll cuando drawer abierto */
  body.nx-no-scroll { overflow: hidden !important; position: fixed; width: 100%; }
}

/* =============================================================================
   MOBILE DRAWER — header (logo + close) + footer (CTA + socials + copy)
   ============================================================================= */
@media (max-width: 992px) {

  /* Drawer ahora con padding-top menor (el head tiene su propio espacio) */
  html body .mobile-nav-wrap {
    padding: 0 !important;
    flex-direction: column;
    justify-content: flex-start;
  }

  /* Head: logo + close button */
  html body .mobile-nav__head {
    position: relative;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 22px;
    background: rgba(255,255,255,0.03);
    border-bottom: 1px solid rgba(255,255,255,0.06);
    backdrop-filter: blur(10px);
    flex-shrink: 0;
  }
  html body .mobile-nav__logo {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
  }
  html body .mobile-nav__logo img { height: 32px; width: auto; max-width: 180px; display: block; }
  html body .mobile-nav__logo span { color: #fff; font-size: 18px; font-weight: 800; }
  html body .mobile-nav__close {
    width: 42px; height: 42px;
    display: inline-flex;
    align-items: center; justify-content: center;
    background: rgba(255,255,255,0.06) !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    border-radius: 12px !important;
    color: #fff !important;
    cursor: pointer;
    transition: all .25s ease;
    padding: 0;
  }
  html body .mobile-nav__close:hover,
  html body .mobile-nav__close:active {
    background: rgba(45,174,67,0.2) !important;
    border-color: rgba(110,231,138,0.4) !important;
    color: #6ee78a !important;
    transform: rotate(90deg);
  }

  /* Lista de items con padding propio */
  html body .mobile-nav-wrap .mobile-menu {
    padding: 28px 22px !important;
    flex: 1;
    overflow-y: auto;
  }

  /* CTA inferior */
  html body .mobile-nav__cta {
    position: relative; z-index: 1;
    padding: 0 22px 20px;
  }
  html body .mobile-nav__cta-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 16px 22px;
    background: linear-gradient(135deg, #2dae43, #1f8a32) !important;
    color: #fff !important;
    text-decoration: none !important;
    border-radius: 14px !important;
    font: 700 15px/1 Inter, system-ui, sans-serif !important;
    box-shadow: 0 12px 30px -8px rgba(45,174,67,0.55) !important;
    transition: transform .25s ease, box-shadow .25s ease, filter .25s ease;
    position: relative;
    overflow: hidden;
  }
  html body .mobile-nav__cta-btn::before {
    content: ""; position: absolute; inset: 0;
    background: linear-gradient(120deg, transparent 30%, rgba(255,255,255,0.35) 50%, transparent 70%);
    transform: translateX(-120%);
    transition: transform .8s ease;
  }
  html body .mobile-nav__cta-btn:hover::before { transform: translateX(120%); }
  html body .mobile-nav__cta-btn:active { transform: scale(.98); }

  /* Socials */
  html body .mobile-nav__socials {
    position: relative; z-index: 1;
    padding: 22px;
    border-top: 1px solid rgba(255,255,255,0.06);
    background: rgba(0,0,0,0.25);
    text-align: center;
  }
  html body .mobile-nav__socials-label {
    display: block;
    font: 700 11px/1 Inter, sans-serif;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.5);
    margin-bottom: 14px;
  }
  html body .mobile-nav__socials-row {
    display: flex;
    justify-content: center;
    gap: 12px;
  }
  html body .mobile-nav__social {
    display: inline-flex;
    align-items: center; justify-content: center;
    width: 44px; height: 44px;
    border-radius: 12px;
    background: rgba(255,255,255,0.05) !important;
    border: 1px solid rgba(255,255,255,0.08) !important;
    color: rgba(255,255,255,0.8) !important;
    text-decoration: none !important;
    transition: all .25s ease;
  }
  html body .mobile-nav__social:hover { transform: translateY(-3px); color: #fff !important; }
  html body .mobile-nav__social--x:hover  { background: #000 !important; border-color: transparent !important; }
  html body .mobile-nav__social--in:hover { background: #0a66c2 !important; border-color: transparent !important; }
  html body .mobile-nav__social--yt:hover { background: #ff0000 !important; border-color: transparent !important; }
  html body .mobile-nav__social--wa:hover { background: #25d366 !important; border-color: transparent !important; }

  /* Copy bottom */
  html body .mobile-nav__copy {
    padding: 14px 22px 22px;
    text-align: center;
    color: rgba(255,255,255,0.4);
    font-size: 12px;
    background: rgba(0,0,0,0.25);
    position: relative; z-index: 1;
  }
}

/* =============================================================================
   PORTFOLIO CARDS — botones dobles "Ver caso" + "Sitio en vivo"
   ============================================================================= */
.hpf-card__title a { color: inherit !important; text-decoration: none !important; transition: color .2s ease; }
.hpf-card__title a:hover { color: #1f8a32 !important; }

.hpf-card__actions {
  display: flex;
  gap: 8px;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid #f1f5f9;
  flex-wrap: wrap;
}
.hpf-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 10px 16px;
  font: 700 13px/1 Inter, system-ui, sans-serif !important;
  border-radius: 999px;
  text-decoration: none !important;
  transition: all .25s ease;
  flex: 1;
  min-height: 38px;
}
.hpf-btn--primary {
  background: linear-gradient(135deg, #2dae43, #1f8a32) !important;
  color: #fff !important;
  box-shadow: 0 6px 16px -6px rgba(45,174,67,0.5);
}
.hpf-btn--primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 26px -8px rgba(45,174,67,0.65);
  filter: brightness(1.08);
}
.hpf-btn--primary svg { transition: transform .25s ease; }
.hpf-btn--primary:hover svg { transform: translateX(3px); }

.hpf-btn--ghost {
  background: #f1f5f9 !important;
  color: #475569 !important;
  border: 1px solid transparent;
}
.hpf-btn--ghost:hover {
  background: #fff !important;
  border-color: rgba(45,174,67,0.4);
  color: #1f8a32 !important;
  transform: translateY(-2px);
}

/* Mobile: botones full-width apilados si caben angostos */
@media (max-width: 480px) {
  .hpf-card__actions { flex-direction: row; }
  .hpf-btn { font-size: 12.5px !important; padding: 9px 12px; }
}

/* Quitar el CTA flotante viejo del overlay (ya no lo usamos) */
.hpf-card__cta { display: none !important; }

/* =============================================================================
   SEARCH BAR — buscador en blog/archive
   ============================================================================= */
.nx-search-bar {
  margin: 0 0 32px;
  position: relative;
}
.nx-search-bar__inner {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #fff;
  border: 1px solid rgba(15,23,42,0.08);
  border-radius: 999px;
  padding: 8px 8px 8px 22px;
  box-shadow: 0 4px 16px -4px rgba(15,23,42,0.06);
  transition: border-color .25s ease, box-shadow .25s ease, background .25s ease;
}
.nx-search-bar__inner:focus-within {
  border-color: rgba(45,174,67,0.5);
  box-shadow: 0 0 0 4px rgba(45,174,67,0.12), 0 8px 24px -8px rgba(45,174,67,0.2);
  background: #fff;
}
.nx-search-bar__icon { color: #94a3b8; flex-shrink: 0; transition: color .2s ease; }
.nx-search-bar__inner:focus-within .nx-search-bar__icon { color: #2dae43; }
.nx-search-bar__inner input[type="search"] {
  flex: 1;
  min-width: 0;
  background: transparent;
  border: 0;
  outline: 0;
  font: 500 15.5px/1.4 Inter, system-ui, sans-serif;
  color: #0f172a;
  padding: 10px 0;
  -webkit-appearance: none;
  appearance: none;
}
.nx-search-bar__inner input::placeholder { color: #94a3b8; }
.nx-search-bar__inner input::-webkit-search-decoration,
.nx-search-bar__inner input::-webkit-search-cancel-button { -webkit-appearance: none; }
.nx-search-bar__clear {
  width: 36px; height: 36px;
  background: #f1f5f9;
  border: 0;
  border-radius: 50%;
  color: #475569;
  cursor: pointer;
  display: inline-flex;
  align-items: center; justify-content: center;
  transition: background .2s ease, color .2s ease;
  flex-shrink: 0;
}
.nx-search-bar__clear:hover { background: #2dae43; color: #fff; }
.nx-search-bar__hint {
  margin-top: 10px;
  font-size: 12.5px;
  color: #94a3b8;
  text-align: center;
}
.nx-search-bar__hint kbd {
  background: #f1f5f9;
  border-radius: 6px;
  padding: 2px 7px;
  font-family: inherit;
  font-size: 11px;
  color: #475569;
}

/* Results dropdown (live) */
.nx-search-bar__results {
  position: absolute;
  top: calc(100% + 10px);
  left: 0; right: 0;
  background: #fff;
  border: 1px solid rgba(15,23,42,0.08);
  border-radius: 18px;
  box-shadow: 0 24px 50px -12px rgba(15,23,42,0.2);
  max-height: 60vh;
  overflow-y: auto;
  z-index: 50;
  padding: 8px;
}
.nx-search-bar__results[hidden] { display: none !important; }
.nx-sr-item {
  display: flex;
  gap: 14px;
  padding: 12px;
  border-radius: 12px;
  text-decoration: none !important;
  color: #0f172a !important;
  transition: background .2s ease;
  align-items: center;
}
.nx-sr-item:hover, .nx-sr-item.is-active { background: #f0fdf4; }
.nx-sr-item__img {
  width: 60px; height: 60px;
  border-radius: 10px;
  object-fit: cover;
  background: #f3f4f6;
  flex-shrink: 0;
}
.nx-sr-item__body { flex: 1; min-width: 0; }
.nx-sr-item__cat {
  display: inline-block;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #1f8a32;
  background: rgba(45,174,67,0.1);
  padding: 3px 8px;
  border-radius: 999px;
  margin-bottom: 4px;
}
.nx-sr-item__title {
  font-size: 14.5px;
  font-weight: 700;
  color: #0f172a;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.nx-sr-empty, .nx-sr-loading {
  text-align: center;
  padding: 30px 16px;
  color: #94a3b8;
  font-size: 14px;
}

@media (max-width: 600px) {
  .nx-search-bar__inner { padding: 6px 6px 6px 18px; }
  .nx-search-bar__inner input[type="search"] { font-size: 15px; padding: 9px 0; }
  .nx-search-bar__hint kbd, .nx-search-bar__hint { font-size: 11.5px; }
}

/* =============================================================================
   FIX: About v2 — el ".page-id-235 > *" estaba estirando back-to-top y otros fixed
   ============================================================================= */

/* Reset el selector universal que rompía elementos fixed */
.page-id-235 > * {
  width: auto !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Solo aplica full-width a las secciones del about */
html body.page-id-235 .hh-hero,
html body.page-id-235 .hh-section,
html body.page-id-235 .hh-marquee-wrap,
html body.page-id-235 .hb-marquee {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  position: relative;
}

/* Restaurar back-to-top a su forma circular fija */
html body.page-id-235 .back-to-top,
html body .back-to-top {
  position: fixed !important;
  bottom: 24px !important;
  right: 24px !important;
  left: auto !important;
  width: 50px !important;
  height: 50px !important;
  max-width: 50px !important;
  border-radius: 50% !important;
  margin: 0 !important;
  transform: translate3d(0,0,0);
  z-index: 90;
}
@media (max-width: 600px) {
  html body .back-to-top { width: 44px !important; height: 44px !important; bottom: 18px !important; right: 18px !important; }
}

/* Quitar cualquier white space residual al final de la página */
html body.page-id-235 main#main-content { min-height: 0 !important; }
html body.page-id-235 article.page-article,
html body.page-id-235 .entry-content { min-height: 0 !important; }

/* =============================================================================
   ADS SLOTS — Hectorcito Ads
   ============================================================================= */
.hca-slot {
  display: block;
  margin: 28px auto;
  max-width: 100%;
  text-align: center;
  position: relative;
}
.hca-slot__tag {
  display: block;
  font: 700 10px/1 Inter, system-ui, sans-serif;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: #94a3b8;
  margin-bottom: 8px;
}
.hca-slot__body {
  display: inline-block;
  max-width: 100%;
  overflow: hidden;
  border-radius: 8px;
}
.hca-slot__body img,
.hca-slot__body iframe,
.hca-slot__body ins { max-width: 100% !important; height: auto; display: block; margin: 0 auto; border-radius: 8px; }

/* Slot específicos */
.hca-slot--blog_top      { margin: 0 0 32px; padding: 18px; background: #fafbfd; border: 1px dashed rgba(15,23,42,0.08); border-radius: 14px; }
.hca-slot--single_top    { margin: 0 0 28px; padding: 16px; background: #fafbfd; border-radius: 12px; }
.hca-slot--single_mid    { margin: 36px auto; padding: 18px; background: #f0fdf4; border: 1px solid rgba(45,174,67,0.12); border-radius: 14px; }
.hca-slot--single_bottom { margin: 36px auto 0; padding: 16px; background: #fafbfd; border-radius: 12px; }
.hca-slot--blog_inline   { margin: 0; padding: 22px; background: linear-gradient(135deg, #f0fdf4 0%, #ecfeff 100%); border: 1px dashed rgba(45,174,67,0.2); border-radius: 18px; min-height: 280px; display: flex; align-items: center; justify-content: center; flex-direction: column; }

.hca-slot--sidebar_top, .hca-slot--sidebar_bottom {
  background: #fff;
  border: 1px solid rgba(15,23,42,0.06);
  border-radius: 14px;
  padding: 18px;
  margin: 0;
}
.hca-slot--sidebar_top { margin-bottom: 0; }
.hca-slot--sidebar_bottom { margin-top: 0; }

/* Inline card en el grid (ocupa una celda del grid) */
.hca-inline-card {
  background: linear-gradient(135deg, #f0fdf4 0%, #ecfeff 100%);
  border: 1px dashed rgba(45,174,67,0.25);
  border-radius: 18px;
  padding: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.hca-inline-card .hca-slot { margin: 0; }

/* Wrapper blog top */
.hca-blog-top {
  margin: 0 0 28px;
}

@media (max-width: 600px) {
  .hca-slot { margin: 22px auto; }
  .hca-slot--single_mid, .hca-slot--blog_inline { padding: 16px; }
}

/* Si el slot está vacío, no ocupa espacio */
.hca-slot:empty,
.hca-slot__body:empty { display: none !important; }

/* =============================================================================
   FIX FINAL: Sobre Mí — limpieza completa
   ============================================================================= */

/* Quita cualquier padding/margin/min-height residual del wrapper page-id-235 */
html body.page-id-235 .site-content,
html body.page-id-235 main#main-content,
html body.page-id-235 article.page-article,
html body.page-id-235 .entry-content {
  padding: 0 !important;
  margin: 0 !important;
  min-height: 0 !important;
  max-width: none !important;
  width: 100% !important;
  background: transparent !important;
}

/* Hide any "no-thumbnail" fallback or empty placeholder */
html body.page-id-235 .single-post-hero,
html body.page-id-235 .nexus-page-header,
html body.page-id-235 .post-thumbnail-placeholder,
html body.page-id-235 .author-box,
html body.page-id-235 .entry-footer,
html body.page-id-235 .nexus-related-posts,
html body.page-id-235 .nexus-team,
html body.page-id-235 .section-padding:empty,
html body.page-id-235 .with-sidebar:empty,
html body.page-id-235 aside.sidebar:empty,
html body.page-id-235 .widget-area:empty {
  display: none !important;
}

/* La última sección hh-cta no debe tener margin-bottom */
html body.page-id-235 .hh-cta { margin-bottom: 0 !important; }

/* Site footer bien pegado sin gap */
html body.page-id-235 .site-footer,
html body.page-id-235 footer.hf-footer { margin-top: 0 !important; }

/* Elementos fixed/back-to-top NO deben estirarse */
html body .back-to-top,
html body .nx-toast,
html body .hca-slot,
html body .nx-search-fab {
  position: fixed; left: auto;
  margin-left: 0 !important; margin-right: 0 !important;
}
html body.page-id-235 > div:not(.site):not(.mobile-nav-wrap),
html body.page-id-235 > script,
html body.page-id-235 > style { display: none !important; }

/* Asegurar que el body no tenga padding-bottom extra */
html body.page-id-235 { padding-bottom: 0 !important; margin-bottom: 0 !important; }

/* CTA actions full-width en mobile */
@media (max-width: 600px) {
  html body.page-id-235 .hh-hero__ctas { flex-direction: column; }
  html body.page-id-235 .hh-hero__ctas .hh-btn { width: 100%; justify-content: center; min-height: 48px; }
}

/* =============================================================================
   LANG SWITCH ES/EN
   ============================================================================= */
.hcl-switch {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 5px 8px;
  background: rgba(15,23,42,0.04);
  border: 1px solid rgba(15,23,42,0.08);
  border-radius: 999px;
  cursor: pointer;
  transition: all .2s ease;
  font: 700 11px/1 Inter, system-ui, sans-serif;
}
.hcl-switch:hover { background: rgba(45,174,67,0.08); border-color: rgba(45,174,67,0.3); }
.hcl-switch__opt {
  padding: 5px 9px;
  border-radius: 999px;
  color: #94a3b8;
  letter-spacing: .08em;
  transition: all .2s ease;
  cursor: pointer;
}
.hcl-switch__opt.is-active {
  background: linear-gradient(135deg, #2dae43, #1f8a32);
  color: #fff;
  box-shadow: 0 4px 10px -2px rgba(45,174,67,0.45);
}
.hcl-switch__sep { width: 1px; height: 14px; background: rgba(15,23,42,0.1); }

/* En el drawer mobile */
.mobile-nav__head .hcl-switch {
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.12);
}
.mobile-nav__head .hcl-switch__opt:not(.is-active) { color: rgba(255,255,255,0.6); }
.mobile-nav__head .hcl-switch__sep { background: rgba(255,255,255,0.15); }

@media (max-width: 600px) {
  .header-cta .hcl-switch { display: none; } /* Solo en drawer en mobile */
}

/* =============================================================================
   FIX: Active menu underline removido
   ============================================================================= */
html body .site-header .nexus-menu > li.current-menu-item > a::after,
html body .site-header .nexus-menu > li.current-menu-ancestor > a::after,
html body .site-header .nexus-menu > li > a::after,
html body .site-header .nav-link::after {
  display: none !important;
  content: none !important;
  background: transparent !important;
}

/* También verificar que no haya iconos faltantes */
.hh-svc__ic { color: #1f8a32 !important; }
.hh-svc__ic svg { width: 26px !important; height: 26px !important; stroke: currentColor !important; }
.hh-svc__ic .hi-ic { width: auto; height: auto; color: inherit; }
.hh-svc:hover .hh-svc__ic svg { stroke: #fff !important; }

/* =============================================================================
   FIX FINAL: Active underline + EN switcher contraste
   ============================================================================= */

/* Eliminar SIEMPRE el ::after del item activo (todos los contextos) */
html body .nexus-menu > li > a::after,
html body .nexus-menu > li > a::before,
html body .nexus-menu li.current-menu-item > a::after,
html body .nexus-menu li.current-menu-ancestor > a::after,
html body.blog .site-header .nexus-menu > li > a::after,
html body.home .site-header .nexus-menu > li > a::after,
html body .site-header.is-scrolled .nexus-menu > li > a::after {
  display: none !important;
  content: none !important;
  background: transparent !important;
  border: 0 !important;
  height: 0 !important;
  width: 0 !important;
}

/* EN switcher: contraste en estado normal */
.hcl-switch__opt:not(.is-active) { color: #475569 !important; opacity: 1 !important; }
.hcl-switch__opt.is-active { color: #fff !important; }
.mobile-nav__head .hcl-switch__opt:not(.is-active) { color: rgba(255,255,255,0.85) !important; }

/* Sobre el hero verde (header transparent), letras blancas en switcher */
html body.blog .site-header:not(.is-scrolled) .hcl-switch,
html body.home .site-header:not(.is-scrolled) .hcl-switch {
  background: rgba(255,255,255,0.14) !important;
  border-color: rgba(255,255,255,0.22) !important;
}
html body.blog .site-header:not(.is-scrolled) .hcl-switch__opt:not(.is-active),
html body.home .site-header:not(.is-scrolled) .hcl-switch__opt:not(.is-active) { color: rgba(255,255,255,0.85) !important; }

/* =============================================================================
   BLOG HERO REDISEÑADO — featured post + mini list
   ============================================================================= */

/* Reset old collage */
.rd-home-hero__collage,
.rd-home-hero__collage-card { display: none !important; }

/* Hero base */
.rd-home-hero {
  position: relative !important;
  padding: clamp(140px, 14vw, 200px) 0 clamp(70px, 9vw, 110px) !important;
  background: linear-gradient(135deg, #0a1426 0%, #0f1f3a 35%, #1f8a32 75%, #2dae43 100%) !important;
  color: #fff;
  overflow: hidden;
  min-height: auto !important;
}

/* Background FX */
.rd-home-hero__bgfx { position: absolute; inset: 0; pointer-events: none; z-index: 0; }
.rd-home-hero__bgfx .rd-blob { position: absolute; border-radius: 50%; filter: blur(90px); opacity: .55; }
.rd-home-hero__bgfx .rd-blob--1 { width: 600px; height: 600px; top: -150px; left: -120px; background: radial-gradient(circle, rgba(110,231,138,.6), transparent 70%); animation: rdBlobA 20s ease-in-out infinite; }
.rd-home-hero__bgfx .rd-blob--2 { width: 700px; height: 700px; bottom: -250px; right: -180px; background: radial-gradient(circle, rgba(6,182,212,.4), transparent 70%); animation: rdBlobA 26s ease-in-out infinite reverse; }
@keyframes rdBlobA { 0%,100% { transform: translate(0,0); } 50% { transform: translate(30px,-20px) scale(1.05); } }
.rd-home-hero__bgfx .rd-grid-bg { position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px); background-size: 60px 60px; mask-image: radial-gradient(ellipse 80% 60% at 30% 50%, black, transparent 75%); }

/* Inner grid */
.rd-home-hero__inner {
  position: relative; z-index: 1;
  max-width: min(1280px, 92vw); margin: 0 auto; padding: 0 clamp(20px, 4vw, 32px);
  display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 60px; align-items: center;
}

/* Eyebrow with pulsing dot */
.rd-home-hero__eyebrow {
  display: inline-flex !important; align-items: center; gap: 8px !important;
  padding: 7px 16px !important;
  background: rgba(255,255,255,.1) !important;
  border: 1px solid rgba(255,255,255,.2) !important;
  border-radius: 999px !important;
  font: 700 12px/1 Inter, system-ui, sans-serif !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.95) !important;
  backdrop-filter: blur(10px);
  margin-bottom: 24px !important;
}
.rd-eyebrow-dot { width: 8px; height: 8px; border-radius: 50%; background: #6ee78a; box-shadow: 0 0 12px #6ee78a; animation: rdPulse 1.6s ease-in-out infinite; flex-shrink: 0; }
@keyframes rdPulse { 0%,100% { opacity: 1; transform: scale(1); } 50% { opacity: .35; transform: scale(.8); } }

/* Title */
.rd-home-hero__title {
  font-size: clamp(2.2rem, 5.5vw, 4.4rem) !important;
  font-weight: 800 !important;
  line-height: 1.05 !important;
  letter-spacing: -.03em !important;
  color: #fff !important;
  margin: 0 0 18px !important;
  text-shadow: 0 2px 16px rgba(0,0,0,.18);
}
.rd-home-hero__title .rd-grad {
  background: linear-gradient(135deg, #6ee78a 0%, #fde68a 50%, #fef3c7 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  text-shadow: none !important;
}

/* Lead */
.rd-home-hero__lead {
  font-size: clamp(15px, 1.4vw, 18px) !important;
  line-height: 1.7 !important;
  color: rgba(255,255,255,.85) !important;
  max-width: 52ch;
  margin: 0 0 30px !important;
}

/* CTAs */
.rd-home-hero__ctas { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 36px; }
.rd-btn {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 14px 28px;
  border-radius: 999px;
  font: 700 14.5px/1 Inter, system-ui, sans-serif;
  text-decoration: none !important;
  transition: transform .25s ease, box-shadow .25s ease, filter .2s ease, background .2s ease;
  cursor: pointer;
  border: 0;
  position: relative;
  overflow: hidden;
}
.rd-btn--white { background: #fff !important; color: #1f8a32 !important; box-shadow: 0 12px 30px -10px rgba(255,255,255,.4); }
.rd-btn--white::before { content: ""; position: absolute; inset: 0; background: linear-gradient(120deg, transparent 30%, rgba(45,174,67,.2) 50%, transparent 70%); transform: translateX(-120%); transition: transform .8s ease; }
.rd-btn--white:hover::before { transform: translateX(120%); }
.rd-btn--white:hover { transform: translateY(-3px); box-shadow: 0 18px 40px -10px rgba(255,255,255,.55); }
.rd-btn--ghost { background: rgba(255,255,255,.08) !important; color: #fff !important; border: 1px solid rgba(255,255,255,.25) !important; backdrop-filter: blur(10px); }
.rd-btn--ghost:hover { background: rgba(255,255,255,.16) !important; border-color: rgba(255,255,255,.5) !important; transform: translateY(-3px); }
.rd-btn__arrow { transition: transform .25s ease; }
.rd-btn:hover .rd-btn__arrow { transform: translateX(4px); }

/* Stats inline */
.rd-home-hero__stats { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.rd-home-hero__stats .rd-stat { display: inline-flex; flex-direction: column; }
.rd-home-hero__stats .rd-stat__num { font: 800 28px/1 Inter, sans-serif !important; color: #fff !important; font-variant-numeric: tabular-nums; }
.rd-home-hero__stats .rd-stat__label { font-size: 11.5px; font-weight: 600; color: rgba(255,255,255,.6); letter-spacing: .14em; text-transform: uppercase; margin-top: 6px; }
.rd-stat__sep { width: 1px; height: 32px; background: rgba(255,255,255,.18); }

/* Feature column (right side) */
.rd-home-hero__feature { display: flex; flex-direction: column; gap: 16px; }

/* Featured post card */
.rd-home-hero__featured {
  position: relative;
  display: block;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 20px;
  overflow: hidden;
  text-decoration: none !important;
  backdrop-filter: blur(14px);
  transition: transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s ease, border-color .35s ease;
}
.rd-home-hero__featured:hover { transform: translateY(-4px); border-color: rgba(110,231,138,.4); box-shadow: 0 30px 60px -16px rgba(0,0,0,.4); }
.rd-home-hero__featured-img { position: relative; aspect-ratio: 16/10; overflow: hidden; background: rgba(255,255,255,.04); }
.rd-home-hero__featured-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.22,1,.36,1); }
.rd-home-hero__featured:hover .rd-home-hero__featured-img img { transform: scale(1.06); }
.rd-home-hero__featured-badge {
  position: absolute; top: 14px; left: 14px;
  background: rgba(45,174,67,.95);
  color: #fff;
  font: 800 10.5px/1 Inter, sans-serif;
  letter-spacing: .14em;
  text-transform: uppercase;
  padding: 6px 12px;
  border-radius: 999px;
  backdrop-filter: blur(10px);
  box-shadow: 0 6px 14px -4px rgba(45,174,67,.6);
}
.rd-home-hero__featured-body { padding: 18px 20px; }
.rd-home-hero__featured-cat { display: inline-block; font-size: 10.5px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: #6ee78a; margin-bottom: 8px; }
.rd-home-hero__featured-title { font-size: 17px; font-weight: 700; color: #fff !important; line-height: 1.35; margin: 0 0 10px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.rd-home-hero__featured-meta { display: flex; align-items: center; justify-content: space-between; font-size: 13px; color: rgba(255,255,255,.6); }
.rd-home-hero__featured-arrow { color: #6ee78a; font-weight: 700; transition: transform .25s ease; }
.rd-home-hero__featured:hover .rd-home-hero__featured-arrow { transform: translateX(4px); }

/* Mini list (3 next posts) */
.rd-home-hero__mini { display: flex; flex-direction: column; gap: 6px; }
.rd-home-hero__mini-item {
  display: flex; gap: 12px; align-items: center;
  padding: 10px 12px;
  border-radius: 12px;
  text-decoration: none !important;
  transition: background .2s ease;
}
.rd-home-hero__mini-item:hover { background: rgba(255,255,255,.08); }
.rd-home-hero__mini-item img,
.rd-home-hero__mini-img {
  width: 56px; height: 56px;
  border-radius: 10px;
  object-fit: cover;
  background: rgba(255,255,255,.06);
  flex-shrink: 0;
}
.rd-home-hero__mini-info { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.rd-home-hero__mini-cat { font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #6ee78a; }
.rd-home-hero__mini-title { font-size: 13.5px; font-weight: 600; color: #fff; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* Mobile */
@media (max-width: 992px) {
  .rd-home-hero__inner { grid-template-columns: 1fr !important; gap: 36px; }
  .rd-home-hero__feature { order: 2; }
}
@media (max-width: 600px) {
  .rd-home-hero { padding: 110px 0 60px !important; }
  .rd-home-hero__title { font-size: clamp(1.85rem, 9vw, 2.6rem) !important; }
  .rd-home-hero__lead { font-size: 15px !important; }
  .rd-home-hero__ctas .rd-btn { flex: 1; justify-content: center; min-height: 48px; }
  .rd-home-hero__stats { gap: 14px; }
  .rd-stat__sep { display: none; }
  .rd-home-hero__stats .rd-stat__num { font-size: 22px !important; }
}

/* =============================================================================
   FIX: Buscador del blog — lupa verde sin fondo
   ============================================================================= */

/* Lupa izquierda en verde brillante */
html body .nx-search-bar__icon {
  color: #2dae43 !important;
  flex-shrink: 0;
  transition: color .2s ease, transform .2s ease;
}
html body .nx-search-bar__inner:focus-within .nx-search-bar__icon {
  color: #1f8a32 !important;
  transform: scale(1.05);
}

/* Botón clear (X): transparente, sin fondo, verde solo en el ícono */
html body .nx-search-bar__clear {
  background: transparent !important;
  border: 0 !important;
  color: #94a3b8 !important;
  width: auto !important;
  height: 38px !important;
  padding: 8px 12px !important;
  border-radius: 8px !important;
  transition: color .2s ease, background .2s ease;
}
html body .nx-search-bar__clear:hover {
  background: rgba(45,174,67,.08) !important;
  color: #1f8a32 !important;
}

/* Quitar cualquier elemento Google Translate que esté metiendo bola verde */
html body .skiptranslate,
html body iframe.skiptranslate,
html body .goog-te-banner-frame,
html body .goog-te-balloon-frame,
html body .goog-te-spinner-pos,
html body div.skiptranslate {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  width: 0 !important;
  position: absolute !important;
  left: -9999px !important;
}

/* Si la lupa es muy chica, agrandarla */
html body .nx-search-bar__icon svg {
  width: 22px !important;
  height: 22px !important;
}

/* =============================================================================
   BLOG POST CARDS — REDISEÑO V3 (más premium)
   ============================================================================= */

/* Reset look anterior y aplicar nuevo */
.card-blog.card-blog--modern {
  background: #fff !important;
  border: 1px solid rgba(15,23,42,0.04) !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  transition: transform .4s cubic-bezier(.22,1,.36,1), box-shadow .4s ease, border-color .4s ease !important;
  box-shadow: 0 1px 3px rgba(15,23,42,0.04);
}
.card-blog.card-blog--modern:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 28px 56px -16px rgba(15,23,42,0.18) !important;
  border-color: rgba(45,174,67,0.18) !important;
}

/* Imagen + overlay gradient al hover */
.card-blog--modern .blog-card-image {
  position: relative !important;
  display: block !important;
  aspect-ratio: 16/10 !important;
  overflow: hidden !important;
  background: #f3f4f6 !important;
}
.card-blog--modern .blog-card-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 1s cubic-bezier(.22,1,.36,1) !important;
}
.card-blog--modern:hover .blog-card-image img { transform: scale(1.08) !important; }

/* Overlay con gradiente (verde sutil al hover) */
.card-blog--modern .blog-card-image__overlay {
  position: absolute !important; inset: 0 !important;
  background: linear-gradient(180deg, rgba(0,0,0,0) 60%, rgba(15,23,42,0.45) 100%) !important;
  opacity: 1 !important;
  transition: opacity .4s ease !important;
  pointer-events: none;
}
.card-blog--modern:hover .blog-card-image__overlay {
  background: linear-gradient(180deg, rgba(45,174,67,0.1) 0%, rgba(15,23,42,0.65) 100%) !important;
}

/* Categoría flotante: chip más premium */
.card-blog--modern .blog-card-category-floating {
  position: absolute !important;
  top: 16px !important;
  left: 16px !important;
  z-index: 2 !important;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255,255,255,0.95) !important;
  color: #1f8a32 !important;
  font: 800 10px/1 Inter, system-ui, sans-serif !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  padding: 7px 14px !important;
  border-radius: 999px !important;
  text-decoration: none !important;
  backdrop-filter: blur(10px);
  box-shadow: 0 6px 16px -4px rgba(15,23,42,0.18);
  border: 1px solid rgba(255,255,255,0.4);
  transition: all .25s ease;
}
.card-blog--modern .blog-card-category-floating::before {
  content: "";
  width: 6px; height: 6px;
  border-radius: 50%;
  background: #2dae43;
}
.card-blog--modern:hover .blog-card-category-floating {
  background: #2dae43 !important;
  color: #fff !important;
  border-color: #2dae43;
}
.card-blog--modern:hover .blog-card-category-floating::before { background: #fff; }

/* Body */
.card-blog--modern .blog-card-body {
  padding: 24px 24px 22px !important;
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Meta superior: fecha + reading time, simple e inline */
.card-blog--modern .blog-card-meta {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  font-size: 12px !important;
  color: #64748b !important;
  margin-bottom: 14px !important;
}
.card-blog--modern .blog-card-meta time,
.card-blog--modern .blog-card-meta .reading-time {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  font-weight: 500 !important;
}
.card-blog--modern .blog-card-meta i {
  font-size: 11px !important;
  opacity: .65 !important;
  margin: 0 !important;
}
.card-blog--modern .blog-card-meta time::after {
  content: "·";
  margin-left: 16px;
  color: #cbd5e1;
  font-weight: 700;
}

/* Título: más impactante, mejor jerarquía */
.card-blog--modern .blog-card-title {
  font-size: 1.25rem !important;
  font-weight: 800 !important;
  letter-spacing: -.018em !important;
  line-height: 1.3 !important;
  color: #0f172a !important;
  margin: 0 0 12px !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
.card-blog--modern .blog-card-title a {
  color: inherit !important;
  text-decoration: none !important;
  transition: color .2s ease !important;
}
.card-blog--modern:hover .blog-card-title a { color: #1f8a32 !important; }

/* Excerpt: más legible */
.card-blog--modern .blog-card-excerpt {
  font-size: 14.5px !important;
  color: #475569 !important;
  line-height: 1.65 !important;
  margin: 0 0 20px !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* Footer: avatar + "Leer más" más sutil */
.card-blog--modern .blog-card-footer {
  margin-top: auto !important;
  padding-top: 18px !important;
  border-top: 1px solid rgba(15,23,42,0.06) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}
.card-blog--modern .blog-card-author {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-size: 13px !important;
  color: #475569 !important;
  font-weight: 600 !important;
}
.card-blog--modern .blog-card-author img,
.card-blog--modern .blog-card-author .author-avatar {
  width: 30px !important;
  height: 30px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  border: 2px solid #fff;
  box-shadow: 0 2px 6px rgba(15,23,42,0.08);
}
.card-blog--modern .read-more-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  color: #1f8a32 !important;
  text-decoration: none !important;
  background: rgba(45,174,67,0.08);
  padding: 8px 14px;
  border-radius: 999px;
  transition: all .25s ease !important;
}
.card-blog--modern .read-more-link:hover {
  background: #2dae43 !important;
  color: #fff !important;
}
.card-blog--modern .read-more-link i,
.card-blog--modern .read-more-link svg { transition: transform .25s ease; }
.card-blog--modern .read-more-link:hover i,
.card-blog--modern .read-more-link:hover svg { transform: translateX(3px); }
.card-blog--modern .read-more-link span { display: inline; }

/* Card "Featured/Sticky" — primer post en la grilla más grande */
.blog-grid > article:first-child:not(.is-loading-card) {
  /* opcional: si user pone post sticky, lo agrandamos */
}

/* =============================================================================
   "EXPLORA POR TEMA" — REDISEÑO de cards de categoría
   ============================================================================= */
.rd-topics__head { margin-bottom: 28px; }
.rd-topics__title { font-size: clamp(1.75rem, 3.4vw, 2.5rem) !important; font-weight: 800 !important; letter-spacing: -.025em; color: #0f172a; }
.rd-topics__sub { color: #64748b !important; font-size: 15px; margin-top: 6px; }
.rd-topics__link {
  color: #1f8a32 !important;
  font-weight: 700;
  text-decoration: none !important;
  display: inline-flex; align-items: center; gap: 8px;
  transition: gap .25s ease;
}
.rd-topics__link:hover { gap: 14px; }

.rd-topics__grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr)) !important;
  gap: 14px !important;
}
.rd-topics .rd-mega-card {
  position: relative;
  aspect-ratio: 1 / 1 !important;
  border-radius: 18px !important;
  overflow: hidden;
  cursor: pointer;
  transition: transform .4s cubic-bezier(.22,1,.36,1), box-shadow .4s ease;
}
.rd-topics .rd-mega-card:hover {
  transform: translateY(-6px) scale(1.02);
  box-shadow: 0 28px 50px -16px rgba(15,23,42,0.3);
}
.rd-topics .rd-mega-card__img {
  width: 100% !important; height: 100% !important;
  object-fit: cover !important;
  opacity: .55 !important;
  transition: opacity .4s ease, transform .8s cubic-bezier(.22,1,.36,1);
}
.rd-topics .rd-mega-card:hover .rd-mega-card__img {
  opacity: .75 !important;
  transform: scale(1.08);
}
.rd-topics .rd-mega-card__overlay {
  position: absolute !important; inset: 0 !important;
  background: linear-gradient(180deg, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.4) 50%, rgba(0,0,0,0.85) 100%) !important;
  z-index: 1;
}
.rd-topics .rd-mega-card__icon {
  top: 16px !important;
  left: 16px !important;
  width: 38px !important;
  height: 38px !important;
  background: rgba(255,255,255,0.18) !important;
  border: 1px solid rgba(255,255,255,0.3) !important;
}
.rd-topics .rd-mega-card__icon svg { width: 18px !important; height: 18px !important; color: #fff !important; }
.rd-topics .rd-mega-card__body {
  position: absolute !important;
  bottom: 0; left: 0; right: 0;
  padding: 18px 18px 18px !important;
  z-index: 2;
}
.rd-topics .rd-mega-card__meta {
  background: rgba(45,174,67,0.95) !important;
  color: #fff !important;
  font: 800 10px/1 Inter, sans-serif !important;
  letter-spacing: .14em;
  text-transform: uppercase;
  padding: 5px 11px !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  margin-bottom: 8px !important;
  width: fit-content;
  box-shadow: 0 4px 10px -2px rgba(45,174,67,0.5);
}
.rd-topics .rd-mega-card__title {
  color: #fff !important;
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: -.015em;
  text-shadow: 0 2px 8px rgba(0,0,0,0.3);
  margin: 0 !important;
}

/* =============================================================================
   PÁGINA DE CATEGORÍA — REDISEÑO HERO + FEATURED LAYOUT
   ============================================================================= */

/* Hero más impactante */
.nexus-cat-hero {
  position: relative;
  padding: clamp(140px, 14vw, 200px) 0 clamp(60px, 7vw, 90px) !important;
  background: linear-gradient(135deg, #0a1426 0%, #0f1f3a 40%, #1f8a32 100%) !important;
  color: #fff;
  overflow: hidden;
  text-align: center;
}
.nexus-cat-hero.has-image::before {
  content: "";
  position: absolute; inset: 0;
  background-image: var(--cat-hero-image);
  background-size: cover;
  background-position: center;
  filter: blur(8px) saturate(1.2);
  transform: scale(1.08);
  opacity: .35;
}
.nexus-cat-hero__overlay {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(10,20,38,0.88) 0%, rgba(15,31,58,0.78) 50%, rgba(31,138,50,0.7) 100%);
  z-index: 1;
}
.nexus-cat-hero .container { position: relative; z-index: 2; max-width: 900px; }
.nexus-cat-hero__content { padding: 0 16px; }
.nexus-cat-hero__badge {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(45,174,67,0.2);
  color: #6ee78a;
  font: 800 11px/1 Inter, sans-serif;
  letter-spacing: .16em;
  text-transform: uppercase;
  padding: 7px 16px;
  border-radius: 999px;
  border: 1px solid rgba(110,231,138,0.35);
  backdrop-filter: blur(10px);
  margin-bottom: 22px;
}
.nexus-cat-hero__badge::before {
  content: "";
  width: 6px; height: 6px;
  border-radius: 50%;
  background: #6ee78a;
  box-shadow: 0 0 8px #6ee78a;
}
.nexus-cat-hero__title {
  font-size: clamp(2.2rem, 6vw, 4rem) !important;
  font-weight: 800;
  letter-spacing: -.03em;
  line-height: 1.05;
  color: #fff !important;
  margin: 0 0 18px !important;
}
.nexus-cat-hero__title span { color: #6ee78a; }
.nexus-cat-hero__desc {
  font-size: clamp(15px, 1.5vw, 18px) !important;
  line-height: 1.7;
  color: rgba(255,255,255,0.85) !important;
  max-width: 60ch;
  margin: 0 auto !important;
}
.nexus-cat-hero__desc p { margin: 0 0 .5em; }

/* Breadcrumbs centradas en hero */
.nexus-cat-hero .breadcrumbs,
.nexus-cat-hero .nexus-breadcrumbs {
  margin-top: 22px;
  font-size: 13px;
  color: rgba(255,255,255,0.6);
}

/* Sección posts dentro de categoría */
.archive .section-padding,
.category .section-padding {
  background: #fafbfd;
  padding: clamp(50px, 6vw, 80px) 0 clamp(60px, 8vw, 100px) !important;
}

/* Mobile */
@media (max-width: 600px) {
  .card-blog--modern .blog-card-body { padding: 20px 20px 18px !important; }
  .card-blog--modern .blog-card-title { font-size: 1.1rem !important; }
  .card-blog--modern .blog-card-author span { display: none; }
  .nexus-cat-hero__title { font-size: clamp(1.8rem, 8vw, 2.5rem) !important; }
}

/* =============================================================================
   "EXPLORA POR TEMA" V4 — Bento layout, cards limpias, no más fondo gris pesado
   ============================================================================= */

/* Reset todo lo anterior */
.rd-topics .rd-mega-card {
  background: #fff !important;
  aspect-ratio: auto !important;
  height: auto !important;
  border: 1px solid rgba(15,23,42,0.06) !important;
  box-shadow: 0 2px 8px rgba(15,23,42,0.04) !important;
  padding: 22px 22px !important;
  border-radius: 18px !important;
  position: relative;
  overflow: hidden;
  text-decoration: none !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between;
  min-height: 180px;
  transition: transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s ease, border-color .35s ease, background .35s ease;
}
.rd-topics .rd-mega-card:hover {
  transform: translateY(-6px) !important;
  border-color: rgba(45,174,67,0.3) !important;
  box-shadow: 0 24px 50px -12px rgba(45,174,67,0.2) !important;
  background: linear-gradient(135deg, #f0fdf4 0%, #ecfeff 100%) !important;
}

/* Quitar la imagen de fondo y overlay (no la usamos en V4) */
.rd-topics .rd-mega-card__img,
.rd-topics .rd-mega-card__overlay { display: none !important; }

/* Ícono: círculo verde con SVG line */
.rd-topics .rd-mega-card__icon {
  position: relative !important;
  inset: auto !important;
  top: auto !important; left: auto !important;
  width: 52px !important;
  height: 52px !important;
  background: linear-gradient(135deg, rgba(45,174,67,0.12), rgba(6,182,212,0.08)) !important;
  border: 1px solid rgba(45,174,67,0.2) !important;
  border-radius: 14px !important;
  margin-bottom: 14px !important;
  align-self: flex-start !important;
  transition: all .35s ease !important;
}
.rd-topics .rd-mega-card__icon svg {
  width: 24px !important; height: 24px !important;
  color: #1f8a32 !important;
  stroke: currentColor !important;
}
.rd-topics .rd-mega-card:hover .rd-mega-card__icon {
  background: linear-gradient(135deg, #2dae43, #1f8a32) !important;
  border-color: transparent !important;
  transform: rotate(-4deg) scale(1.06);
}
.rd-topics .rd-mega-card:hover .rd-mega-card__icon svg { color: #fff !important; }

/* Body al final: nombre + meta + arrow */
.rd-topics .rd-mega-card__body {
  position: relative !important;
  inset: auto !important;
  padding: 0 !important;
  z-index: 1;
}

/* Meta arriba del título (más sutil) */
.rd-topics .rd-mega-card__meta {
  position: absolute !important;
  top: 22px !important;
  right: 22px !important;
  background: transparent !important;
  color: #94a3b8 !important;
  border: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
  font: 700 11px/1 Inter, sans-serif !important;
  letter-spacing: .08em;
  text-transform: uppercase;
  display: inline-flex !important;
  align-items: center;
  gap: 5px;
}
.rd-topics .rd-mega-card__meta::before {
  content: "";
  width: 5px; height: 5px;
  border-radius: 50%;
  background: #2dae43;
  display: inline-block;
}
.rd-topics .rd-mega-card:hover .rd-mega-card__meta {
  color: #1f8a32 !important;
}

/* Título: limpio y oscuro, NO blanco */
.rd-topics .rd-mega-card__title {
  color: #0f172a !important;
  font-size: 1.15rem !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  letter-spacing: -.01em !important;
  text-shadow: none !important;
  margin: 0 !important;
}

/* Flecha indicador al hover */
.rd-topics .rd-mega-card::after {
  content: "→";
  position: absolute;
  bottom: 22px;
  right: 22px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(45,174,67,0.1);
  color: #2dae43;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 700;
  opacity: 0;
  transform: translateX(-6px);
  transition: opacity .25s ease, transform .25s ease, background .25s ease;
}
.rd-topics .rd-mega-card:hover::after {
  opacity: 1;
  transform: translateX(0);
  background: #2dae43;
  color: #fff;
}

/* Bento: primer card más grande */
.rd-topics__grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 14px !important;
}
.rd-topics .rd-mega-card:nth-child(1) {
  grid-column: span 2;
  grid-row: span 2;
  min-height: 380px;
  background: linear-gradient(135deg, #0a1426 0%, #0f1f3a 50%, #1f8a32 100%) !important;
  border-color: transparent !important;
}
.rd-topics .rd-mega-card:nth-child(1):hover {
  background: linear-gradient(135deg, #0f1f3a 0%, #1f8a32 50%, #2dae43 100%) !important;
}
.rd-topics .rd-mega-card:nth-child(1) .rd-mega-card__icon {
  width: 72px !important; height: 72px !important;
  background: rgba(255,255,255,0.12) !important;
  border-color: rgba(255,255,255,0.2) !important;
}
.rd-topics .rd-mega-card:nth-child(1) .rd-mega-card__icon svg {
  width: 32px !important; height: 32px !important;
  color: #fff !important;
}
.rd-topics .rd-mega-card:nth-child(1) .rd-mega-card__title {
  color: #fff !important;
  font-size: 1.85rem !important;
  text-shadow: 0 2px 12px rgba(0,0,0,0.2);
}
.rd-topics .rd-mega-card:nth-child(1) .rd-mega-card__meta {
  background: rgba(110,231,138,0.18) !important;
  color: #6ee78a !important;
  padding: 5px 12px !important;
  border-radius: 999px !important;
  letter-spacing: .14em;
}
.rd-topics .rd-mega-card:nth-child(1) .rd-mega-card__meta::before { background: #6ee78a; }
.rd-topics .rd-mega-card:nth-child(1)::after {
  background: rgba(255,255,255,0.15);
  color: #fff;
  width: 40px; height: 40px;
}
.rd-topics .rd-mega-card:nth-child(1):hover::after {
  background: #fff;
  color: #1f8a32;
}

/* Responsive */
@media (max-width: 992px) {
  .rd-topics__grid { grid-template-columns: repeat(2, 1fr) !important; }
  .rd-topics .rd-mega-card:nth-child(1) { grid-column: span 2; grid-row: auto; min-height: 200px; }
}
@media (max-width: 600px) {
  .rd-topics__grid { grid-template-columns: 1fr !important; gap: 10px !important; }
  .rd-topics .rd-mega-card { min-height: 140px !important; padding: 20px !important; }
  .rd-topics .rd-mega-card:nth-child(1) { grid-column: span 1; min-height: 180px; }
  .rd-topics .rd-mega-card:nth-child(1) .rd-mega-card__title { font-size: 1.4rem !important; }
}

/* =============================================================================
   IDIOMA REMOVIDO — ocultar cualquier switcher residual
   ============================================================================= */
html body .hcl-switch,
html body .hcl-switch__opt,
html body .hcl-switch__sep,
html body #google_translate_element,
html body .skiptranslate,
html body .goog-te-banner-frame,
html body iframe.goog-te-banner-frame,
html body .goog-te-balloon-frame,
html body .goog-te-spinner-pos {
  display: none !important;
  visibility: hidden !important;
}

/* Asegurar que el body no se quede con el offset top de Google Translate */
html, body { top: 0 !important; position: static !important; }
html.translated-ltr, body.translated-ltr { margin-top: 0 !important; }

/* =============================================================================
   "EXPLORA POR TEMA" V5 — compacto, sin solapes, layout vertical limpio
   ============================================================================= */

/* Reset bento — todas las cards iguales */
.rd-topics .rd-mega-card,
.rd-topics .rd-mega-card:nth-child(1) {
  grid-column: auto !important;
  grid-row: auto !important;
  min-height: auto !important;
  height: auto !important;
  background: #fff !important;
  border: 1px solid rgba(15,23,42,0.06) !important;
  box-shadow: 0 1px 3px rgba(15,23,42,0.04) !important;
  padding: 18px !important;
  border-radius: 14px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  text-decoration: none !important;
  position: relative !important;
  overflow: hidden;
  transition: transform .3s cubic-bezier(.22,1,.36,1), box-shadow .3s ease, border-color .3s ease, background .3s ease !important;
}
.rd-topics .rd-mega-card:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(45,174,67,0.4) !important;
  box-shadow: 0 14px 30px -10px rgba(45,174,67,0.2) !important;
  background: #fff !important;
}

/* Quitar bg/imagen/overlays */
.rd-topics .rd-mega-card__img,
.rd-topics .rd-mega-card__overlay { display: none !important; }

/* Ícono compacto arriba-izquierda */
.rd-topics .rd-mega-card__icon {
  position: relative !important;
  inset: auto !important;
  top: auto !important; left: auto !important;
  width: 40px !important;
  height: 40px !important;
  background: linear-gradient(135deg, rgba(45,174,67,0.12), rgba(6,182,212,0.08)) !important;
  border: 1px solid rgba(45,174,67,0.2) !important;
  border-radius: 10px !important;
  margin: 0 !important;
  align-self: flex-start !important;
  flex-shrink: 0;
  transition: all .3s ease !important;
}
.rd-topics .rd-mega-card__icon svg {
  width: 18px !important; height: 18px !important;
  color: #1f8a32 !important;
}
.rd-topics .rd-mega-card:hover .rd-mega-card__icon {
  background: linear-gradient(135deg, #2dae43, #1f8a32) !important;
  border-color: transparent !important;
}
.rd-topics .rd-mega-card:hover .rd-mega-card__icon svg { color: #fff !important; }

/* Body: siempre vertical, sin position absolute */
.rd-topics .rd-mega-card__body {
  position: relative !important;
  inset: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  margin-top: auto !important;
}

/* Título compacto */
.rd-topics .rd-mega-card__title {
  color: #0f172a !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  letter-spacing: -.005em !important;
  text-shadow: none !important;
  margin: 0 !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Meta inline debajo del título: "X artículos →" */
.rd-topics .rd-mega-card__meta {
  position: relative !important;
  top: auto !important;
  right: auto !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  font: 600 12px/1.4 Inter, sans-serif !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #64748b !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  width: fit-content;
}
.rd-topics .rd-mega-card__meta::before { display: none !important; }
.rd-topics .rd-mega-card__meta::after {
  content: "→";
  font-weight: 700;
  color: #2dae43;
  transition: transform .25s ease;
}
.rd-topics .rd-mega-card:hover .rd-mega-card__meta {
  color: #1f8a32 !important;
}
.rd-topics .rd-mega-card:hover .rd-mega-card__meta::after { transform: translateX(3px); }

/* QUITAR la flecha grande absolute (solo el → inline ahora) */
.rd-topics .rd-mega-card::after { display: none !important; }

/* Grid: 4 columnas equal, gap pequeño */
.rd-topics__grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)) !important;
  gap: 10px !important;
}

/* Mobile */
@media (max-width: 600px) {
  .rd-topics__grid { grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; }
  .rd-topics .rd-mega-card { padding: 14px !important; }
  .rd-topics .rd-mega-card__title { font-size: 0.88rem !important; }
}

/* Avatar fallback en sidebar single: si Gravatar es blank, mostrar iniciales */
.hsp-side-author { position: relative; }
.hsp-side-author__avatar { position: relative; z-index: 1; }
.hsp-side-author > div { flex: 1; min-width: 0; }
.hsp-side-author__by { color: #94a3b8; font-size: 12px; }
.hsp-side-author__name { display: block !important; font-size: 15px !important; font-weight: 700 !important; color: #0f172a !important; line-height: 1.3; word-break: break-word; }

/* =============================================================================
   FIX FINAL: Topics grid mobile — forzar layout limpio
   ============================================================================= */

/* Anular cualquier aspect-ratio o min-height de versiones previas */
html body .rd-topics .rd-mega-card,
html body .rd-topics .rd-mega-card:nth-child(1),
html body .rd-topics .rd-mega-card:nth-child(n) {
  aspect-ratio: auto !important;
  min-height: 0 !important;
  height: auto !important;
  background: #fff !important;
  border: 1px solid rgba(15,23,42,0.08) !important;
  border-radius: 14px !important;
  padding: 16px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  text-decoration: none !important;
  position: relative !important;
  overflow: hidden !important;
  text-align: left !important;
}

/* Quitar imagen y overlays */
html body .rd-topics .rd-mega-card__img,
html body .rd-topics .rd-mega-card__overlay,
html body .rd-topics .rd-mega-card__placeholder {
  display: none !important;
}

/* Ícono compacto siempre visible */
html body .rd-topics .rd-mega-card__icon {
  position: relative !important;
  inset: auto !important;
  top: auto !important; left: auto !important; right: auto !important; bottom: auto !important;
  width: 36px !important;
  height: 36px !important;
  background: rgba(45,174,67,0.1) !important;
  border: 1px solid rgba(45,174,67,0.2) !important;
  border-radius: 10px !important;
  margin: 0 !important;
  flex-shrink: 0;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #1f8a32 !important;
}
html body .rd-topics .rd-mega-card__icon svg {
  width: 18px !important;
  height: 18px !important;
  color: #1f8a32 !important;
  stroke: currentColor !important;
}

/* Body wrapper inline */
html body .rd-topics .rd-mega-card__body {
  position: relative !important;
  inset: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  width: 100% !important;
}

/* Título visible */
html body .rd-topics .rd-mega-card__title {
  color: #0f172a !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  letter-spacing: -.005em !important;
  text-shadow: none !important;
  margin: 0 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  word-wrap: break-word;
}

/* Meta sutil */
html body .rd-topics .rd-mega-card__meta {
  position: relative !important;
  top: auto !important; right: auto !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  font: 600 12px/1 Inter, sans-serif !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #64748b !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  width: fit-content !important;
}
html body .rd-topics .rd-mega-card__meta::before { display: none !important; }
html body .rd-topics .rd-mega-card__meta::after {
  content: "→" !important;
  font-weight: 700;
  color: #2dae43;
  margin-left: 2px;
}

/* Quitar la flecha grande de versiones anteriores */
html body .rd-topics .rd-mega-card::after {
  content: none !important;
  display: none !important;
}

/* Hover */
html body .rd-topics .rd-mega-card:hover {
  transform: translateY(-3px) !important;
  border-color: rgba(45,174,67,0.4) !important;
  box-shadow: 0 12px 26px -10px rgba(45,174,67,0.2) !important;
}
html body .rd-topics .rd-mega-card:hover .rd-mega-card__icon {
  background: linear-gradient(135deg, #2dae43, #1f8a32) !important;
  border-color: transparent !important;
  color: #fff !important;
}
html body .rd-topics .rd-mega-card:hover .rd-mega-card__icon svg { color: #fff !important; }
html body .rd-topics .rd-mega-card:hover .rd-mega-card__meta { color: #1f8a32 !important; }

/* Grid: forzar columnas correctas */
html body .rd-topics__grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)) !important;
  gap: 10px !important;
}
@media (max-width: 600px) {
  html body .rd-topics__grid { grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; }
  html body .rd-topics .rd-mega-card { padding: 14px !important; }
  html body .rd-topics .rd-mega-card__title { font-size: 0.88rem !important; }
}

/* =============================================================================
   "EXPLORA POR TEMA" V6 — horizontal cards limpias (icon left + text right)
   ============================================================================= */

/* Reset todo agresivamente */
html body .rd-topics__grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 12px !important;
}
@media (max-width: 992px) { html body .rd-topics__grid { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 600px) { html body .rd-topics__grid { grid-template-columns: 1fr !important; } }

/* Card horizontal compacta */
html body .rd-topics .rd-mega-card,
html body .rd-topics .rd-mega-card:nth-child(1),
html body .rd-topics .rd-mega-card:nth-child(n) {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 14px 16px !important;
  background: #fff !important;
  border: 1px solid rgba(15,23,42,0.06) !important;
  border-radius: 14px !important;
  text-decoration: none !important;
  position: relative !important;
  overflow: hidden !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  box-shadow: 0 1px 3px rgba(15,23,42,0.04) !important;
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease, background .25s ease !important;
  text-align: left !important;
}
html body .rd-topics .rd-mega-card:hover {
  transform: translateX(2px) !important;
  border-color: rgba(45,174,67,0.4) !important;
  box-shadow: 0 8px 22px -8px rgba(45,174,67,0.2) !important;
  background: linear-gradient(135deg, #f0fdf4 0%, #fff 100%) !important;
}

/* Imagen y overlays fuera */
html body .rd-topics .rd-mega-card__img,
html body .rd-topics .rd-mega-card__overlay,
html body .rd-topics .rd-mega-card__placeholder { display: none !important; }
html body .rd-topics .rd-mega-card::after { content: none !important; display: none !important; }

/* Ícono verde a la izquierda */
html body .rd-topics .rd-mega-card__icon {
  position: relative !important;
  inset: auto !important;
  top: auto !important; left: auto !important;
  width: 44px !important;
  height: 44px !important;
  background: linear-gradient(135deg, rgba(45,174,67,0.12), rgba(6,182,212,0.06)) !important;
  border: 1px solid rgba(45,174,67,0.2) !important;
  border-radius: 12px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #1f8a32 !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
  transition: all .25s ease !important;
}
html body .rd-topics .rd-mega-card__icon svg {
  width: 20px !important; height: 20px !important;
  color: #1f8a32 !important;
  stroke: currentColor !important;
}
html body .rd-topics .rd-mega-card:hover .rd-mega-card__icon {
  background: linear-gradient(135deg, #2dae43, #1f8a32) !important;
  border-color: transparent !important;
  color: #fff !important;
}
html body .rd-topics .rd-mega-card:hover .rd-mega-card__icon svg { color: #fff !important; }

/* Body: nombre + meta apilados */
html body .rd-topics .rd-mega-card__body {
  position: relative !important;
  inset: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  flex: 1 !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
}
html body .rd-topics .rd-mega-card__title {
  color: #0f172a !important;
  font: 700 14.5px/1.3 Inter, sans-serif !important;
  letter-spacing: -.005em !important;
  text-shadow: none !important;
  margin: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
html body .rd-topics .rd-mega-card__meta {
  position: relative !important;
  top: auto !important; right: auto !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  font: 500 12px/1.3 Inter, sans-serif !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #64748b !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  width: fit-content !important;
}
html body .rd-topics .rd-mega-card__meta::before { display: none !important; }
html body .rd-topics .rd-mega-card__meta::after { content: none !important; display: none !important; }

/* Flecha al final, indicando "ir a" */
html body .rd-topics .rd-mega-card::before {
  content: "→";
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 16px;
  font-weight: 700;
  color: #cbd5e1;
  transition: color .2s ease, transform .2s ease;
}
html body .rd-topics .rd-mega-card:hover::before {
  color: #2dae43;
  transform: translateY(-50%) translateX(3px);
}

/* =============================================================================
   PORTFOLIO V2 — filtros minimales + cards más editorial
   ============================================================================= */

/* ============ Filtros (chips) ============ */
.hpf-filters {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  margin-bottom: 26px !important;
  padding: 0 !important;
}
.hpf-chip {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 8px 14px !important;
  background: transparent !important;
  border: 1px solid rgba(15,23,42,0.08) !important;
  border-radius: 999px !important;
  color: #475569 !important;
  font: 600 13px/1 Inter, system-ui, sans-serif !important;
  cursor: pointer !important;
  transition: all .2s ease !important;
}
.hpf-chip span {
  font: 600 11px/1 Inter, sans-serif !important;
  color: #94a3b8 !important;
  background: transparent !important;
  padding: 0 !important;
  margin-left: 2px;
  opacity: .8;
}
.hpf-chip:hover {
  border-color: rgba(45,174,67,0.4) !important;
  color: #1f8a32 !important;
  background: rgba(45,174,67,0.04) !important;
}
.hpf-chip.is-active {
  background: #0f172a !important;
  border-color: #0f172a !important;
  color: #fff !important;
}
.hpf-chip.is-active span {
  color: rgba(255,255,255,0.7) !important;
}

/* ============ Cards de proyecto ============ */
.hpf-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 18px !important;
}
@media (max-width: 992px) { .hpf-grid { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 600px) { .hpf-grid { grid-template-columns: 1fr !important; } }

.hpf-card {
  background: #fff !important;
  border: 1px solid rgba(15,23,42,0.06) !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  transition: transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s ease, border-color .35s ease !important;
  display: flex !important;
  flex-direction: column !important;
  position: relative;
}
.hpf-card:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(45,174,67,0.25) !important;
  box-shadow: 0 22px 44px -16px rgba(15,23,42,0.18) !important;
}

/* Imagen del proyecto */
.hpf-card__img {
  display: block;
  position: relative;
  aspect-ratio: 16/10 !important;
  overflow: hidden !important;
  background: #f3f4f6 !important;
  margin: 0 !important;
}
.hpf-card__img img {
  width: 100% !important; height: 100% !important;
  object-fit: cover !important;
  transition: transform .8s cubic-bezier(.22,1,.36,1) !important;
}
.hpf-card:hover .hpf-card__img img { transform: scale(1.06) !important; }

/* Sticker "Sitio en vivo" arriba a la derecha de la imagen (solo hover) */
.hpf-card__overlay {
  position: absolute !important;
  top: 14px !important; right: 14px !important;
  background: rgba(15,23,42,0.85) !important;
  color: #fff !important;
  font: 700 10.5px/1 Inter, sans-serif !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  padding: 7px 12px !important;
  border-radius: 999px !important;
  backdrop-filter: blur(10px) !important;
  opacity: 0;
  transform: translateY(-6px);
  transition: opacity .25s ease, transform .25s ease;
  pointer-events: none;
  inset: auto 14px auto auto !important;
  display: inline-flex !important;
  align-items: center;
  gap: 5px;
}
.hpf-card__overlay::before { content: "▸"; color: #6ee78a; }
.hpf-card:hover .hpf-card__overlay { opacity: 1; transform: translateY(0); }

/* CTA flotante grande removido */
.hpf-card__cta { display: none !important; }

/* Body compacto */
.hpf-card__body {
  padding: 18px 20px 18px !important;
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

/* Meta: industria + año en línea sutil */
.hpf-card__meta {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  margin: 0 !important;
}
.hpf-pill {
  background: rgba(45,174,67,0.1) !important;
  color: #1f8a32 !important;
  font: 800 10px/1 Inter, sans-serif !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  padding: 4px 10px !important;
  border-radius: 999px !important;
  display: inline-flex;
  border: 0 !important;
}
.hpf-year {
  color: #94a3b8 !important;
  font: 600 12px/1 Inter, sans-serif !important;
}

/* Título compacto */
.hpf-card__title {
  font: 700 1.05rem/1.3 Inter, sans-serif !important;
  letter-spacing: -.01em !important;
  color: #0f172a !important;
  margin: 0 !important;
}
.hpf-card__title a {
  color: inherit !important;
  text-decoration: none !important;
  transition: color .2s ease;
}
.hpf-card:hover .hpf-card__title a { color: #1f8a32 !important; }

/* Excerpt: 2 líneas max */
.hpf-card__excerpt {
  font-size: 13.5px !important;
  color: #64748b !important;
  line-height: 1.55 !important;
  margin: 0 !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Stack chips inline pequeños */
.hpf-stack {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
  margin: 0 !important;
}
.hpf-stack span {
  background: #f1f5f9 !important;
  color: #475569 !important;
  font: 500 10.5px/1 Inter, sans-serif !important;
  padding: 4px 8px !important;
  border-radius: 6px !important;
}

/* Acciones: una sola línea con el botón principal y un link icono */
.hpf-card__actions {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  margin-top: 4px !important;
  padding-top: 14px !important;
  border-top: 1px solid #f1f5f9 !important;
  flex-wrap: nowrap !important;
}
.hpf-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 0 !important;
  font: 700 13.5px/1 Inter, sans-serif !important;
  border-radius: 0 !important;
  text-decoration: none !important;
  transition: all .25s ease !important;
  flex: initial !important;
  min-height: 0 !important;
  background: transparent !important;
  border: 0 !important;
}
.hpf-btn--primary {
  color: #1f8a32 !important;
  box-shadow: none !important;
}
.hpf-btn--primary:hover {
  color: #0f172a !important;
  transform: none !important;
  box-shadow: none !important;
}
.hpf-btn--primary svg { transition: transform .25s ease; }
.hpf-btn--primary:hover svg { transform: translateX(4px); }
.hpf-btn--ghost {
  color: #94a3b8 !important;
  background: transparent !important;
  border: 0 !important;
  width: 32px !important;
  height: 32px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 !important;
  border-radius: 50% !important;
  flex: 0 0 32px !important;
}
.hpf-btn--ghost span { display: none !important; }
.hpf-btn--ghost::before {
  content: "↗";
  font-size: 16px;
  font-weight: 700;
}
.hpf-btn--ghost:hover {
  background: rgba(45,174,67,0.1) !important;
  color: #1f8a32 !important;
  transform: none !important;
}
.hpf-btn--ghost svg { display: none !important; }

@media (max-width: 600px) {
  .hpf-card__body { padding: 16px !important; }
  .hpf-card__title { font-size: 1rem !important; }
}

/* =============================================================================
   "EXPLORA POR TEMA" V6.1 — fix: ocultar desc, reservar espacio para flecha,
   permitir wrap del título y evitar solape (especialmente primera card IA)
   ============================================================================= */

/* Ocultar la descripción larga: en cards horizontales compactas no cabe */
html body .rd-topics .rd-mega-card__desc {
  display: none !important;
}

/* Reservar padding-right para que el título no se solape con la flecha → absoluta */
html body .rd-topics .rd-mega-card {
  padding-right: 38px !important;
}

/* Título: permitir 2 líneas con line-clamp en lugar de nowrap+ellipsis,
   así "Inteligencia Artificial" siempre se ve completo */
html body .rd-topics .rd-mega-card__title {
  white-space: normal !important;
  overflow: hidden !important;
  text-overflow: clip !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  word-break: break-word !important;
  line-height: 1.25 !important;
}

/* Body: que pueda crecer en altura sin centrarse contra el ícono */
html body .rd-topics .rd-mega-card {
  align-items: center !important;
  min-height: 64px !important;
}
