/* Kabuku AI Studio — Brand Override (espacios foto + colores Kabuku) */

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800;900&display=swap');

:root {
  --color-primary: #E8312A;
  --color-secondary: #0D0D0D;
  --color-black: #0D0D0D;
  --color-bg-1: #FFFFFF;
  --color-bg-2: #F5F0EB;
  --color-bg-3: #F5F0EB;
  --color-bg-4: #E8312A;
  --color-bg-5: #F5F0EB;
  --color-bg-dark: #0D0D0D;
  --color-bg-dark-2: #0D0D0D;
  --color-border-dark: #2C2C2C;
  --color-heading-1: #0D0D0D;
  --color-body-1: #444444;
  --color-title: #0D0D0D;
  --color-title-nav: #0D0D0D;
  --color-success: #E8312A;
  --footer-bg: linear-gradient(257deg, #F5F0EB 1.73%, rgba(232, 49, 42, 0.08) 98.79%);
  --font-primary: "Poppins", sans-serif;
  --kabuku-red: #E8312A;
  --kabuku-red-dark: #9B1611;
  --kabuku-black: #0D0D0D;
  --kabuku-cream: #F5F0EB;
  --kabuku-gray: #888888;
  --kabuku-slot-gray: #D4D4D4;
  --kabuku-slot-gray-dark: #9E9E9E;
  --kabuku-btn-radius: 9999px;
  --kabuku-btn-radius-icon: 18px;
  --kabuku-card-shadow:
    0 10px 32px rgba(13, 13, 13, 0.07),
    0 2px 10px rgba(13, 13, 13, 0.04);
  --kabuku-card-shadow-hover:
    0 24px 56px rgba(13, 13, 13, 0.13),
    0 12px 28px rgba(13, 13, 13, 0.07);
  --kabuku-card-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --kabuku-card-duration: 0.45s;
  --kabuku-space-y: 72px;
  --kabuku-space-x: 40px;
  --kabuku-space-gap: 32px;
  --kabuku-space-gap-sm: 20px;
  --kabuku-space-section-bottom: 72px;
  --kabuku-space-section-between: 0;
  --kabuku-space-after-title: 40px;
  --kabuku-btn-pad-y: 14px;
  --kabuku-btn-pad-x: 28px;
  --kabuku-btn-font: 14px;
  --kabuku-btn-min-h: 48px;
  /* Fondos unificados — superficie (contacto/problema) y oscuro (footer/CTA) */
  --kabuku-surface-bg: #f0efec;
  --kabuku-surface-grid:
    linear-gradient(rgba(13, 13, 13, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(13, 13, 13, 0.04) 1px, transparent 1px);
  --kabuku-dark-bg: var(--kabuku-black);
  --kabuku-dark-grid:
    linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
  --kabuku-grid-size: 48px 48px;
}

body.kabuku-prototype {
  background-color: #FFFFFF !important;
  font-family: var(--font-primary) !important;
}

body.kabuku-prototype.home-bg {
  background: #FFFFFF !important;
}

/* Ritmo vertical — secciones pegadas, sin franjas blancas entre bloques */
body.kabuku-prototype section,
body.kabuku-prototype section.mb--16 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

body.kabuku-prototype section,
body.kabuku-prototype section .section-inner,
body.kabuku-prototype .kabuku-problema-area,
body.kabuku-prototype .kabuku-protocolo-area,
body.kabuku-prototype .kabuku-protocolo-shell,
body.kabuku-prototype .kabuku-casos-area,
body.kabuku-prototype #auditoria,
body.kabuku-prototype .kabuku-cta-area,
body.kabuku-prototype .kabuku-contact-area,
body.kabuku-prototype .kabuku-faq-area {
  overflow: visible !important;
}

body.kabuku-prototype .kabuku-hero-v2 {
  margin-bottom: 0;
  padding-bottom: 0;
}

body.kabuku-prototype .kabuku-hero-v2__media {
  line-height: 0;
  margin: 0;
  padding: 0;
}

body.kabuku-prototype .kabuku-hero-v2__media > img {
  display: block;
  margin: 0;
  padding: 0;
  vertical-align: bottom;
}

body.kabuku-prototype .wpr-footer-area {
  margin-top: 0;
}

/* Header superior + menú: negro Kabuku + trama (igual que footer) */
body.kabuku-prototype .header-style-one {
  background-color: var(--kabuku-dark-bg) !important;
  background-image: var(--kabuku-dark-grid) !important;
  background-size: var(--kabuku-grid-size) !important;
}

body.kabuku-prototype .header-style-one .header-top {
  display: none !important;
}

body.kabuku-prototype .header-style-one .header-top .header-top-inner {
  gap: 40px;
}

body.kabuku-prototype .header-style-one .header-top .header-top-inner .text,
body.kabuku-prototype .header-style-one .header-top .header-top-inner .text span {
  color: rgba(255, 255, 255, 0.72) !important;
}

body.kabuku-prototype .header-style-one .header-top .header-top-inner .text span {
  color: var(--kabuku-red) !important;
}

body.kabuku-prototype .header-style-one .header-style-one-wrapper {
  background-color: var(--kabuku-dark-bg) !important;
  background-image: var(--kabuku-dark-grid) !important;
  background-size: var(--kabuku-grid-size) !important;
  border: none !important;
  margin-top: 0 !important;
}

body.kabuku-prototype .header-style-one {
  margin-bottom: 0 !important;
}

/* Flechas animadas del header (barra superior original) */
body.kabuku-prototype .kabuku-header-deco {
  width: auto !important;
  height: auto !important;
  background: none !important;
  flex: 0 0 auto;
}

body.kabuku-prototype .kabuku-header-deco .arrow-track {
  display: flex;
  align-items: center;
  gap: 10px;
  overflow: hidden;
}

body.kabuku-prototype .kabuku-header-deco .arrow-track .arrow {
  display: flex;
  min-width: 13px;
  height: 16px;
  opacity: 0.2;
  animation: fadeMove 1.2s infinite;
}

body.kabuku-prototype .kabuku-header-deco .arrow-track .arrow img {
  display: block !important;
  width: 13px;
  height: 16px;
  filter: brightness(0) saturate(100%) invert(27%) sepia(89%) saturate(2270%) hue-rotate(347deg) brightness(93%) contrast(93%);
}

body.kabuku-prototype .kabuku-header-deco .arrow-track.right .arrow:nth-child(1) { animation-delay: 0s; }
body.kabuku-prototype .kabuku-header-deco .arrow-track.right .arrow:nth-child(2) { animation-delay: 0.1s; }
body.kabuku-prototype .kabuku-header-deco .arrow-track.right .arrow:nth-child(3) { animation-delay: 0.2s; }
body.kabuku-prototype .kabuku-header-deco .arrow-track.right .arrow:nth-child(4) { animation-delay: 0.3s; }
body.kabuku-prototype .kabuku-header-deco .arrow-track.right .arrow:nth-child(5) { animation-delay: 0.4s; }
body.kabuku-prototype .kabuku-header-deco .arrow-track.right .arrow:nth-child(6) { animation-delay: 0.5s; }

body.kabuku-prototype .kabuku-header-deco .arrow-track.left .arrow:nth-child(1) { animation-delay: 0.5s; }
body.kabuku-prototype .kabuku-header-deco .arrow-track.left .arrow:nth-child(2) { animation-delay: 0.4s; }
body.kabuku-prototype .kabuku-header-deco .arrow-track.left .arrow:nth-child(3) { animation-delay: 0.3s; }
body.kabuku-prototype .kabuku-header-deco .arrow-track.left .arrow:nth-child(4) { animation-delay: 0.2s; }
body.kabuku-prototype .kabuku-header-deco .arrow-track.left .arrow:nth-child(5) { animation-delay: 0.1s; }
body.kabuku-prototype .kabuku-header-deco .arrow-track.left .arrow:nth-child(6) { animation-delay: 0s; }

body.kabuku-prototype .header-style-one .header-style-one-wrapper .left-area,
body.kabuku-prototype .header-style-one .header-style-one-wrapper .button-area-start {
  border: none !important;
}

body.kabuku-prototype .header-style-one .logo-area .kabuku-logo-text,
body.kabuku-prototype .header-style-one .logo-area .kabuku-logo-text .brand,
body.kabuku-prototype .header-style-one .logo-area .kabuku-logo-text .sub {
  color: #FFFFFF !important;
}

body.kabuku-prototype .header-style-one .logo-area .kabuku-logo-text .brand {
  font-size: clamp(18px, 1.5vw, 22px);
  letter-spacing: 2px;
}

body.kabuku-prototype .header-style-one .logo-area .kabuku-logo-text .sub {
  font-size: 7px;
  letter-spacing: 3px;
}

body.kabuku-prototype .header-style-one .square-shape {
  display: none !important;
}

body.kabuku-prototype .header-style-one .kabuku-logo-img {
  display: inline-flex;
  align-items: center;
  line-height: 0;
  text-decoration: none !important;
}

body.kabuku-prototype .header-style-one .kabuku-logo-img img {
  display: block;
  height: 38px;
  width: auto;
  max-width: 148px;
  object-fit: contain;
}

body.kabuku-prototype .header-style-one .menu-btn {
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  padding: 0;
  gap: 5px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: none !important;
}

body.kabuku-prototype .header-style-one .menu-btn .line {
  width: 22px;
  height: 2px;
}

body.kabuku-prototype .header-style-one .main-nav-area ul li a,
body.kabuku-prototype .header-style-one .main-nav-area ul li a.main-element {
  color: rgba(255, 255, 255, 0.82) !important;
}

body.kabuku-prototype .header-style-one .main-nav-area ul li a:hover,
body.kabuku-prototype .header-style-one .main-nav-area ul li:hover a {
  color: #FFFFFF !important;
}

body.kabuku-prototype .header-style-one .main-nav-area ul li a::after {
  background: var(--kabuku-red) !important;
}

body.kabuku-prototype .header-style-one .menu-btn .line {
  background: #FFFFFF !important;
}

body.kabuku-prototype .header-style-one .side-bar {
  background-color: var(--kabuku-dark-bg) !important;
  background-image: var(--kabuku-dark-grid) !important;
  background-size: var(--kabuku-grid-size) !important;
}

body.kabuku-prototype .header-style-one .side-bar .sidebar-inner {
  background-color: var(--kabuku-dark-bg) !important;
  background-image: var(--kabuku-dark-grid) !important;
  background-size: var(--kabuku-grid-size) !important;
}

body.kabuku-prototype .header-style-one .mobile-menu-main nav ul li .main-element,
body.kabuku-prototype .header-style-one #mobile-menu .main-element {
  color: #FFFFFF !important;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.06em;
}

body.kabuku-prototype .header-style-one .side-bar .button-area .wpr-btn {
  padding: 14px 22px !important;
  font-size: 13px;
  width: 100%;
  max-width: 100%;
  justify-content: center;
}

body.kabuku-prototype .header-style-one .square-dot .square-shape {
  background: var(--kabuku-red) !important;
}

/* Menú — proporciones equilibradas, una línea en desktop */
body.kabuku-prototype .header-style-one > .container {
  max-width: 100%;
  width: 100%;
  padding-left: clamp(20px, 3vw, 48px);
  padding-right: clamp(20px, 3vw, 48px);
}

body.kabuku-prototype .header-style-one .header-style-one-wrapper {
  width: 100%;
  min-height: 68px;
  flex-wrap: nowrap;
  align-items: center;
  margin-top: 0 !important;
}

body.kabuku-prototype .header-style-one .header-style-one-wrapper .left-area {
  padding: 14px 20px 14px 0 !important;
  flex: 0 0 auto;
}

body.kabuku-prototype .header-style-one .main-nav-area {
  flex: 1 1 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 0;
  padding: 0 12px;
}

body.kabuku-prototype .header-style-one .main-nav-area ul {
  gap: 20px;
  flex-wrap: nowrap;
}

body.kabuku-prototype .header-style-one .main-nav-area ul li a,
body.kabuku-prototype .header-style-one .main-nav-area ul li a.main-element {
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.08em;
  white-space: nowrap;
}

body.kabuku-prototype .header-style-one .header-style-one-wrapper .button-area-start {
  padding: 10px 0 10px 16px !important;
  flex: 0 0 auto;
  gap: 14px;
}

body.kabuku-prototype .header-style-one .header-style-one-wrapper .button-area-start .wpr-btn {
  padding: 12px 20px !important;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  gap: 0 !important;
  white-space: nowrap;
  box-shadow: none !important;
}

@media (min-width: 1100px) {
  body.kabuku-prototype .header-style-one .main-nav-area {
    display: flex !important;
  }

  body.kabuku-prototype .header-style-one .header-style-one-wrapper .button-area-start .menu-btn {
    display: none !important;
  }

  body.kabuku-prototype .header-style-one .header-style-one-wrapper .button-area-start .wpr-btn {
    display: flex !important;
  }
}

/* Desktop compacto: todo en una línea sin apretar */
@media (min-width: 1100px) and (max-width: 1279px) {
  body.kabuku-prototype .header-style-one .header-style-one-wrapper {
    min-height: 68px;
  }

  body.kabuku-prototype .header-style-one .main-nav-area {
    padding: 0 8px;
  }

  body.kabuku-prototype .header-style-one .main-nav-area ul {
    gap: 18px;
  }

  body.kabuku-prototype .header-style-one .main-nav-area ul li a,
  body.kabuku-prototype .header-style-one .main-nav-area ul li a.main-element {
    font-size: 11px;
    letter-spacing: 0.05em;
  }

  body.kabuku-prototype .header-style-one .header-style-one-wrapper .button-area-start {
    padding-left: 12px !important;
    gap: 10px;
  }

  body.kabuku-prototype .header-style-one .header-style-one-wrapper .button-area-start .wpr-btn {
    padding: 11px 16px !important;
    font-size: 11px;
  }
}

@media (min-width: 1280px) {
  body.kabuku-prototype .header-style-one .kabuku-logo-img img {
    height: 42px;
    max-width: 168px;
  }

  body.kabuku-prototype .header-style-one .header-style-one-wrapper {
    min-height: 72px;
  }

  body.kabuku-prototype .header-style-one .header-style-one-wrapper .left-area {
    padding-right: 28px !important;
  }

  body.kabuku-prototype .header-style-one .main-nav-area ul {
    gap: 28px;
  }

  body.kabuku-prototype .header-style-one .main-nav-area ul li a,
  body.kabuku-prototype .header-style-one .main-nav-area ul li a.main-element {
    font-size: 13px;
    letter-spacing: 0.07em;
  }

  body.kabuku-prototype .header-style-one .header-style-one-wrapper .button-area-start .wpr-btn {
    padding: 13px 22px !important;
    font-size: 13px;
  }
}

@media (min-width: 1440px) {
  body.kabuku-prototype .header-style-one .main-nav-area ul {
    gap: 36px;
  }

  body.kabuku-prototype .header-style-one .main-nav-area ul li a,
  body.kabuku-prototype .header-style-one .main-nav-area ul li a.main-element {
    font-size: 14px;
    letter-spacing: 0.08em;
  }
}

@media (max-width: 1099px) {
  body.kabuku-prototype .header-style-one .main-nav-area {
    display: none !important;
  }

  body.kabuku-prototype .header-style-one .header-style-one-wrapper .left-area {
    padding: 12px 0 !important;
  }

  body.kabuku-prototype .header-style-one .header-style-one-wrapper .button-area-start {
    padding: 10px 0 !important;
    gap: 10px;
  }

  /* Bootstrap oculta el hamburguesa desde 992px; Kabuku lo muestra hasta 1099px */
  body.kabuku-prototype .header-style-one .header-style-one-wrapper .button-area-start .menu-btn {
    display: flex !important;
  }
}

@media (max-width: 767px) {
  body.kabuku-prototype .header-style-one .header-style-one-wrapper {
    min-height: 60px;
  }

  body.kabuku-prototype .header-style-one .kabuku-logo-img img {
    height: 32px;
    max-width: 128px;
  }

  body.kabuku-prototype .header-style-one .header-style-one-wrapper .button-area-start .wpr-btn {
    display: none !important;
  }

  body.kabuku-prototype .header-style-one .menu-btn {
    width: 40px;
    height: 40px;
  }

  body.kabuku-prototype .header-style-one .menu-btn .line {
    width: 20px;
  }
}

@media (min-width: 768px) and (max-width: 1099px) {
  body.kabuku-prototype .header-style-one .kabuku-logo-img img {
    height: 36px;
    max-width: 140px;
  }

  body.kabuku-prototype .header-style-one .header-style-one-wrapper .button-area-start .wpr-btn {
    padding: 11px 16px !important;
    font-size: 11px;
  }
}

/* Fondo inicial: hero en blanco */

/* Hero Kabuku */
body.kabuku-prototype .wpr-banner-area.kabuku-hero {
  margin-top: 0 !important;
  margin-bottom: 16px;
  border: none !important;
  width: 100%;
}

body.kabuku-prototype .wpr-banner-area.kabuku-hero .banner-content-area {
  width: 100%;
  max-width: none;
  border: none !important;
}

body.kabuku-prototype .kabuku-hero-shell {
  position: relative;
  overflow: hidden;
  min-height: min(78vh, 720px);
  height: auto !important;
  padding: 0 !important;
  border: none !important;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  background: transparent !important;
  width: 100%;
}

body.kabuku-prototype .kabuku-hero-shell > .container {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1290px;
  margin-left: auto;
  margin-right: auto;
}

/* Cinta debajo del hero — sin puntos rojos de esquina */
body.kabuku-prototype .wpr-brand-area .square-shape {
  display: none !important;
}

/* Cinta debajo del hero — sin margen inferior */
body.kabuku-prototype .wpr-brand-area.mb--16,
body.kabuku-prototype .wpr-brand-area {
  margin-bottom: 0 !important;
}

/* Cinta debajo del hero — fondo blanco, movimiento lento */
body.kabuku-prototype .wpr-brand-area .section-inner {
  align-items: stretch;
  background: #FFFFFF !important;
  border: none !important;
}

body.kabuku-prototype .wpr-brand-area .section-inner .right-marquee-area {
  display: flex;
  align-items: center;
  flex: 1 1 auto;
  border-left: none !important;
  background: #FFFFFF;
}

body.kabuku-prototype .wpr-brand-area .section-inner .right-marquee-area .brand-wrapper.kabuku-brand-item {
  width: 340px !important;
  min-width: 340px !important;
  max-width: 340px !important;
  height: 96px !important;
  flex: 0 0 340px !important;
  line-height: normal;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 24px !important;
  margin: 0;
  box-sizing: border-box;
}

body.kabuku-prototype .wpr-brand-area .section-inner .right-marquee-area .brand-wrapper.kabuku-brand-item--long {
  width: 400px !important;
  min-width: 400px !important;
  max-width: 400px !important;
  flex: 0 0 400px !important;
}

body.kabuku-prototype .kabuku-brand-item__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 22px;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
}

body.kabuku-prototype .kabuku-brand-item--long .kabuku-brand-item__inner {
  gap: 28px;
}

body.kabuku-prototype .kabuku-brand-item__icon {
  display: block !important;
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  object-fit: contain;
  object-position: center;
}

body.kabuku-prototype .kabuku-brand-item__label {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 0.32em;
  flex-shrink: 0;
  min-width: max-content;
  text-align: center;
}

body.kabuku-prototype .kabuku-brand-item__line {
  display: inline;
  font-family: var(--font-primary);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: #5C4F45;
  white-space: nowrap;
}

/* Gana al template (.brand-inner { animation: marquee 20s }) */
body.kabuku-prototype .wpr-brand-area .section-inner .right-marquee-area .brand-inner,
body.kabuku-prototype .wpr-brand-area .section-inner .right-marquee-area .brand-inner.kabuku-brand-marquee {
  animation: marquee 60s linear infinite !important;
}

@media only screen and (max-width: 767px) {
  body.kabuku-prototype .wpr-brand-area .section-inner .right-marquee-area .brand-wrapper.kabuku-brand-item {
    width: 240px !important;
    min-width: 240px !important;
    max-width: 240px !important;
    height: 88px !important;
    flex: 0 0 240px !important;
    padding: 20px;
  }

  body.kabuku-prototype .wpr-brand-area .section-inner .right-marquee-area .brand-wrapper.kabuku-brand-item--long {
    width: 300px !important;
    min-width: 300px !important;
    max-width: 300px !important;
    flex: 0 0 300px !important;
  }

  body.kabuku-prototype .kabuku-brand-item__icon {
    width: 40px;
    height: 40px;
    flex-basis: 40px;
  }

  body.kabuku-prototype .kabuku-brand-item__line {
    font-size: 15px;
  }

  body.kabuku-prototype .wpr-brand-area .section-inner .left-text {
    flex: 0 0 240px;
    width: 240px;
    min-width: 240px;
    max-width: 240px;
    height: 88px;
    padding: 20px;
    background: #FFFFFF;
  }

  body.kabuku-prototype .kabuku-brand-band-logo img {
    height: 40px;
    max-width: 100%;
  }
}

/* Flechas animadas del hero: arriba-derecha → y abajo-izquierda → */
body.kabuku-prototype .kabuku-hero-deco {
  position: absolute;
  z-index: 2;
  pointer-events: none;
  width: min(58%, 520px);
}

body.kabuku-prototype .kabuku-hero-deco--top {
  top: 40px;
  right: 40px;
  left: auto;
}

body.kabuku-prototype .kabuku-hero-deco--bottom {
  bottom: 40px;
  left: 40px;
  right: auto;
}

body.kabuku-prototype .kabuku-hero-deco .arrow-track {
  display: flex;
  align-items: center;
  gap: 32px;
  overflow: hidden;
  width: 100%;
}

body.kabuku-prototype .kabuku-hero-deco--top .arrow-track.right {
  justify-content: flex-end;
}

body.kabuku-prototype .kabuku-hero-deco--bottom .arrow-track.right {
  justify-content: flex-start;
}

body.kabuku-prototype .kabuku-hero-deco .arrow-track .arrow {
  display: flex;
  flex: 0 0 auto;
  min-width: 13px;
  height: 16px;
  opacity: 0.15;
}

body.kabuku-prototype .kabuku-hero-deco .arrow-track .arrow img {
  display: block !important;
  width: 13px;
  height: 16px;
  filter: brightness(0) saturate(100%) invert(27%) sepia(89%) saturate(2270%) hue-rotate(347deg) brightness(93%) contrast(93%);
}

/* Hacia adelante → */
body.kabuku-prototype .kabuku-hero-deco .arrow-track.right .arrow {
  animation: kabukuArrowForwardRight 1.2s infinite;
}

body.kabuku-prototype .kabuku-hero-deco .arrow-track.right .arrow:nth-child(1) { animation-delay: 0s; }
body.kabuku-prototype .kabuku-hero-deco .arrow-track.right .arrow:nth-child(2) { animation-delay: 0.1s; }
body.kabuku-prototype .kabuku-hero-deco .arrow-track.right .arrow:nth-child(3) { animation-delay: 0.2s; }
body.kabuku-prototype .kabuku-hero-deco .arrow-track.right .arrow:nth-child(4) { animation-delay: 0.3s; }
body.kabuku-prototype .kabuku-hero-deco .arrow-track.right .arrow:nth-child(5) { animation-delay: 0.4s; }
body.kabuku-prototype .kabuku-hero-deco .arrow-track.right .arrow:nth-child(6) { animation-delay: 0.5s; }
body.kabuku-prototype .kabuku-hero-deco .arrow-track.right .arrow:nth-child(7) { animation-delay: 0.6s; }
body.kabuku-prototype .kabuku-hero-deco .arrow-track.right .arrow:nth-child(8) { animation-delay: 0.7s; }
body.kabuku-prototype .kabuku-hero-deco .arrow-track.right .arrow:nth-child(9) { animation-delay: 0.8s; }
body.kabuku-prototype .kabuku-hero-deco .arrow-track.right .arrow:nth-child(10) { animation-delay: 0.9s; }

@keyframes kabukuArrowForwardRight {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  50% {
    opacity: 0.35;
    transform: translateX(6px);
  }
  100% {
    opacity: 0.15;
    transform: translateX(0);
  }
}

body.kabuku-prototype .kabuku-hero-body {
  position: relative;
  z-index: 1;
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  width: 100%;
  padding: 0;
  min-height: min(78vh, 720px);
}

body.kabuku-prototype .kabuku-hero-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: var(--kabuku-slot-gray) !important;
  border: none;
}

body.kabuku-prototype .kabuku-hero-bg::after {
  content: attr(data-photo-label);
  position: absolute;
  top: 14px;
  right: 16px;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(13, 13, 13, 0.35);
}

body.kabuku-prototype .kabuku-hero-bg img[src]:not([src=""]) {
  display: block !important;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body.kabuku-prototype .kabuku-hero-bg:has(img[src]:not([src=""]))::after {
  display: none;
}

body.kabuku-prototype .kabuku-hero-bg:has(img[src]:not([src=""])) {
  border: none;
}

body.kabuku-prototype .kabuku-hero-bg:has(img[src]:not([src=""]))::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    105deg,
    rgba(255, 255, 255, 0.96) 0%,
    rgba(255, 255, 255, 0.88) 42%,
    rgba(255, 255, 255, 0.35) 72%,
    rgba(255, 255, 255, 0.08) 100%
  );
  pointer-events: none;
}

body.kabuku-prototype .kabuku-hero-content {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 680px;
  margin: 0;
  padding: 56px 15px 72px;
  text-align: left;
}

@media (min-width: 1200px) {
  body.kabuku-prototype .kabuku-hero-content {
    padding-left: 0;
    padding-right: 0;
  }
}

body.kabuku-prototype .kabuku-hero-eyebrow {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(13, 13, 13, 0.55);
  margin-bottom: 20px;
}

body.kabuku-prototype .kabuku-hero-title {
  font-size: clamp(34px, 5.2vw, 62px);
  font-weight: 800;
  line-height: 1.06;
  letter-spacing: -0.03em;
  color: var(--kabuku-black);
  margin: 0 0 22px;
}

body.kabuku-prototype .kabuku-hero-title em {
  color: var(--kabuku-red);
  font-style: normal;
}

body.kabuku-prototype .kabuku-hero-lead {
  font-size: clamp(15px, 1.6vw, 18px);
  line-height: 1.7;
  color: #3a3a3a;
  max-width: 620px;
  margin: 0 0 36px;
  font-weight: 400;
}

body.kabuku-prototype .kabuku-hero-btns {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: flex-start;
  align-items: center;
}

body.kabuku-prototype .kabuku-hero-btns .wpr-btn.btn-white {
  background: #fff !important;
  color: var(--kabuku-black) !important;
  border-color: rgba(13, 13, 13, 0.14) !important;
}

body.kabuku-prototype .wpr-brand-area .section-inner .left-text {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 340px;
  width: 340px;
  min-width: 340px;
  max-width: 340px;
  height: 96px;
  padding: 24px;
  box-sizing: border-box;
  background: #FFFFFF;
}

body.kabuku-prototype .kabuku-brand-band-logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  line-height: 0;
  text-decoration: none !important;
}

body.kabuku-prototype .kabuku-brand-band-logo img {
  display: block;
  width: auto;
  height: 52px;
  max-width: 100%;
  max-height: 56px;
  margin: 0 auto;
  object-fit: contain;
  object-position: center;
}

body.kabuku-prototype .preloader {
  display: none !important;
}

/* Animaciones de plantilla: visibles en prototipo (evita hero vacío) */
body.kabuku-prototype .wow {
  visibility: visible !important;
  opacity: 1 !important;
  animation: none !important;
  transform: none !important;
}

/* Ocultar solo imágenes vacías o decorativas — NO los contenedores */
body.kabuku-prototype img[src=""],
body.kabuku-prototype img:not([src]) {
  display: none !important;
}

body.kabuku-prototype .bg-shape img,
body.kabuku-prototype .banner-shape-area img,
body.kabuku-prototype .bottom-shape-area img,
body.kabuku-prototype .top-left-shape img,
body.kabuku-prototype .top-right-shape img,
body.kabuku-prototype .section-bg-shape img,
body.kabuku-prototype .shape-one img,
body.kabuku-prototype .shape-two img,
body.kabuku-prototype .footer-logo-area .shape img,
body.kabuku-prototype .image-shape-right-bottom,
body.kabuku-prototype .portfolio .shape,
body.kabuku-prototype .why-choose-wrapper .shape,
body.kabuku-prototype .wpr-btn.with-icon .icon,
body.kabuku-prototype .wpr-btn .icon img,
body.kabuku-prototype .arrow-track .arrow img,
body.kabuku-prototype .wpr-marquee-area .title span img,
body.kabuku-prototype .pricing-body img,
body.kabuku-prototype .wrapper-list img,
body.kabuku-prototype .kabuku-problem-list .icon img,
body.kabuku-prototype .why-choose-wrapper2 .icon img,
body.kabuku-prototype .faq .bg-shape img,
body.kabuku-prototype .wpr-cta-area .arrow-track img,
body.kabuku-prototype .wpr-cta-area .bg-shape img,
body.kabuku-prototype .wpr-cta-area .section-bottom-shape img {
  display: none !important;
}

/* ── Espacios reservados para fotos (pendientes) ── */
.kabuku-photo-slot {
  position: relative;
  display: block;
  background: var(--kabuku-slot-gray) !important;
  border: none;
  border-radius: 14px;
  overflow: hidden;
}

.kabuku-photo-slot::before {
  display: none;
}

.kabuku-photo-slot::after {
  content: attr(data-photo-label);
  position: absolute;
  left: 14px;
  bottom: 12px;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--kabuku-gray);
  opacity: 0.75;
  z-index: 1;
}

/* Cuando definas la foto: solo pon el src en el <img data-slot="..."> */
.kabuku-photo-slot:has(img[src]:not([src=""])) {
  border: none;
  background: #000 !important;
}

.kabuku-photo-slot:has(img[src]:not([src=""]))::before,
.kabuku-photo-slot:has(img[src]:not([src=""]))::after {
  display: none;
}

.kabuku-photo-slot img[src]:not([src=""]) {
  display: block !important;
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  inset: 0;
}

/* Problema / Nosotros */
body.kabuku-prototype .wpr-about-area .right-area .kabuku-photo-slot {
  width: 100%;
  min-height: 420px;
  aspect-ratio: 4 / 3;
}

/* Servicios */
body.kabuku-prototype .service-wrapper > .kabuku-photo-slot {
  width: 100%;
  min-height: 200px;
  aspect-ratio: 16 / 10;
  border-radius: 0;
  border: none;
}

/* Casos */
body.kabuku-prototype .wpr-project-area .kabuku-photo-slot {
  width: 100%;
  min-height: 380px;
  aspect-ratio: 16 / 11;
  background: var(--kabuku-slot-gray-dark) !important;
  border: none;
}

body.kabuku-prototype .wpr-project-area .kabuku-photo-slot::after {
  color: rgba(13, 13, 13, 0.5);
}

/* Protocolo Buki — timeline en escalera (sin tarjetas) */
body.kabuku-prototype .kabuku-protocolo-area {
  background-color: var(--kabuku-surface-bg) !important;
  background-image: var(--kabuku-surface-grid) !important;
  background-size: var(--kabuku-grid-size) !important;
  border: none !important;
  padding-bottom: 50px !important;
  --kabuku-protocolo-stair: 36px;
  --kabuku-protocolo-icon-center: 44px;
}

body.kabuku-prototype .kabuku-protocolo-area .container,
body.kabuku-prototype .kabuku-protocolo-shell {
  background: transparent !important;
  border: none !important;
}

body.kabuku-prototype .kabuku-protocolo-area .kabuku-protocolo-shell {
  padding: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

body.kabuku-prototype .kabuku-protocolo-header {
  padding: var(--kabuku-space-y) var(--kabuku-space-x) var(--kabuku-space-after-title);
  text-align: center;
}

body.kabuku-prototype .kabuku-protocolo-lead {
  max-width: 720px;
  margin: 20px auto 0 !important;
  font-size: clamp(18px, 2vw, 22px);
  font-weight: 600;
  line-height: 1.6;
  color: var(--kabuku-black);
}

body.kabuku-prototype .kabuku-protocolo-timeline {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: var(--kabuku-space-gap) var(--kabuku-space-gap-sm);
  align-items: start;
  padding: 0 var(--kabuku-space-x) var(--kabuku-space-gap);
}

body.kabuku-prototype .kabuku-protocolo-track {
  display: none;
}

body.kabuku-prototype .kabuku-protocolo-step:nth-child(2) {
  margin-top: calc(var(--kabuku-protocolo-stair) * 4);
}

body.kabuku-prototype .kabuku-protocolo-step:nth-child(3) {
  margin-top: calc(var(--kabuku-protocolo-stair) * 3);
}

body.kabuku-prototype .kabuku-protocolo-step:nth-child(4) {
  margin-top: calc(var(--kabuku-protocolo-stair) * 2);
}

body.kabuku-prototype .kabuku-protocolo-step:nth-child(5) {
  margin-top: var(--kabuku-protocolo-stair);
}

body.kabuku-prototype .kabuku-protocolo-step:nth-child(6) {
  margin-top: 0;
}

body.kabuku-prototype .kabuku-protocolo-step:not(:last-of-type)::after {
  content: "";
  position: absolute;
  z-index: 0;
  top: calc(var(--kabuku-protocolo-icon-center) - var(--kabuku-protocolo-stair));
  left: 48px;
  width: calc(100% - 48px + var(--kabuku-space-gap));
  height: var(--kabuku-protocolo-stair);
  border-bottom: 2px dashed rgba(13, 13, 13, 0.2);
  border-right: 2px dashed rgba(13, 13, 13, 0.2);
  pointer-events: none;
}

body.kabuku-prototype .kabuku-protocolo-step {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
}

body.kabuku-prototype .kabuku-protocolo-node {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  flex-shrink: 0;
}

body.kabuku-prototype .kabuku-protocolo-node-num {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.14em;
  color: var(--kabuku-gray);
}

body.kabuku-prototype .kabuku-protocolo-node-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: var(--kabuku-black);
  color: #fff;
  box-shadow: 0 0 0 5px var(--kabuku-surface-bg);
  transition: transform var(--kabuku-card-duration) var(--kabuku-card-ease);
}

body.kabuku-prototype .kabuku-protocolo-node-icon i {
  font-size: 20px;
  line-height: 1;
}

body.kabuku-prototype .kabuku-protocolo-step:hover .kabuku-protocolo-node-icon {
  transform: translateY(-4px);
}

body.kabuku-prototype .kabuku-protocolo-copy,
body.kabuku-prototype .kabuku-protocolo-card {
  width: 100%;
  margin-top: 24px;
  padding: 0 2px 0 0;
  background: none;
  border: none;
  border-radius: 0;
  box-shadow: none;
  text-align: left;
}

body.kabuku-prototype .kabuku-protocolo-title {
  margin: 0 0 6px;
  font-family: var(--font-primary);
  font-size: clamp(15px, 1.2vw, 17px);
  font-weight: 700;
  line-height: 1.3;
  color: var(--kabuku-black);
}

body.kabuku-prototype .kabuku-protocolo-desc {
  margin: 0;
  font-size: clamp(12px, 1vw, 14px);
  line-height: 1.75;
  color: var(--color-body-1);
}

body.kabuku-prototype .kabuku-protocolo-step .kabuku-step-intent {
  margin: 0 0 8px;
  font-size: 11px;
  line-height: 1.45;
}

body.kabuku-prototype .kabuku-protocolo-cta {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: var(--kabuku-space-gap);
  padding: 0 var(--kabuku-space-x) var(--kabuku-space-section-bottom);
  text-align: center;
}

/* ── Casos / Resultados ── */
body.kabuku-prototype .kabuku-casos-area,
body.kabuku-prototype .kabuku-casos-area .container,
body.kabuku-prototype .kabuku-casos-shell {
  background: #fff !important;
  border: none !important;
}

body.kabuku-prototype .kabuku-casos-shell {
  padding: 0;
  box-shadow: none !important;
  border-radius: 0 !important;
}

body.kabuku-prototype .kabuku-casos-header {
  text-align: center;
  padding: var(--kabuku-space-y) var(--kabuku-space-x) var(--kabuku-space-after-title);
}

body.kabuku-prototype .kabuku-casos-lead {
  max-width: 640px;
  margin: 20px auto 0;
  font-size: clamp(15px, 1.6vw, 17px);
  line-height: 1.65;
  color: var(--kabuku-gray);
}

body.kabuku-prototype .kabuku-casos-trust {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 14px 18px;
  margin: 0 auto var(--kabuku-space-gap);
  padding: 0 var(--kabuku-space-x);
  max-width: 520px;
}

body.kabuku-prototype .kabuku-casos-trust-text {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.45;
  color: rgba(13, 13, 13, 0.55);
  text-align: center;
}

body.kabuku-prototype .kabuku-casos-trust-logos {
  display: inline-flex;
  align-items: center;
  gap: 0;
  padding: 6px 10px 6px 6px;
  border-radius: 9999px;
  background: #fff;
  box-shadow: 0 6px 24px rgba(13, 13, 13, 0.08);
}

body.kabuku-prototype .kabuku-casos-trust-logos img {
  display: block;
  width: 40px;
  height: 40px;
  margin-left: -8px;
  border-radius: 50%;
  border: 2px solid #fff;
  object-fit: cover;
}

body.kabuku-prototype .kabuku-casos-trust-logos img:first-child {
  margin-left: 0;
}

body.kabuku-prototype .kabuku-casos-slider-wrap {
  position: relative;
  padding: 0 var(--kabuku-space-x) 20px;
  overflow: hidden;
  user-select: none;
}

body.kabuku-prototype .kabuku-casos-slider {
  overflow: visible;
  cursor: grab;
  touch-action: pan-y;
}

body.kabuku-prototype .kabuku-casos-slider:active,
body.kabuku-prototype .kabuku-casos-slider.swiper-grabbing {
  cursor: grabbing;
}

body.kabuku-prototype .kabuku-casos-slider .swiper-slide {
  height: auto;
}

body.kabuku-prototype .kabuku-casos-slider .kabuku-caso-card {
  height: 100%;
}

/* Evita navegación accidental al soltar el arrastre */
body.kabuku-prototype .kabuku-casos-slider.swiper-grabbing .kabuku-caso-card--teaser {
  pointer-events: none;
}

body.kabuku-prototype .kabuku-casos-drag-hint {
  margin: 12px 0 0;
  text-align: center;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(13, 13, 13, 0.42);
}

body.kabuku-prototype .kabuku-casos-slider-nav {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-top: var(--kabuku-space-gap-sm);
}

body.kabuku-prototype .kabuku-casos-prev,
body.kabuku-prototype .kabuku-casos-next {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(13, 13, 13, 0.12);
  border-radius: 50%;
  background: #fff;
  color: var(--kabuku-black);
  cursor: pointer;
  transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
}

body.kabuku-prototype .kabuku-casos-prev:hover,
body.kabuku-prototype .kabuku-casos-next:hover {
  border-color: var(--kabuku-red);
  color: var(--kabuku-red);
}

body.kabuku-prototype .kabuku-caso-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: var(--kabuku-surface-bg);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: var(--kabuku-card-shadow);
  transition:
    transform var(--kabuku-card-duration) var(--kabuku-card-ease),
    box-shadow var(--kabuku-card-duration) var(--kabuku-card-ease);
  text-decoration: none;
  color: inherit;
}

body.kabuku-prototype .kabuku-caso-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--kabuku-card-shadow-hover);
}

/* —— Teaser visual (home carrusel): sin “Ver más”, imagen protagonista —— */
body.kabuku-prototype a.kabuku-caso-card--teaser,
body.kabuku-prototype .kabuku-caso-card--teaser {
  position: relative;
  display: block;
  height: 100%;
  min-height: 280px;
  border-radius: 22px;
  overflow: hidden;
  background: #1a1a1a;
  text-decoration: none;
  color: #fff;
}

body.kabuku-prototype .kabuku-caso-card--teaser .kabuku-caso-media {
  width: 100%;
  height: 100%;
  min-height: 300px;
  aspect-ratio: 4 / 5;
  border-radius: 0;
}

@media (min-width: 640px) {
  body.kabuku-prototype .kabuku-caso-card--teaser .kabuku-caso-media {
    aspect-ratio: 3 / 4;
    min-height: 320px;
  }
}

@media (min-width: 992px) {
  body.kabuku-prototype .kabuku-caso-card--teaser .kabuku-caso-media {
    aspect-ratio: 4 / 5;
    min-height: 360px;
  }
}

body.kabuku-prototype .kabuku-caso-card--teaser .kabuku-caso-media--placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    linear-gradient(145deg, #2a2a2a 0%, #141414 55%, #0d0d0d 100%);
  position: relative;
}

/* Marca grande en el fondo del placeholder (hasta tener foto real) */
body.kabuku-prototype .kabuku-caso-card--teaser .kabuku-caso-media--placeholder::before {
  content: attr(data-teaser);
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  font-size: clamp(28px, 4.5vw, 42px);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.05;
  text-align: center;
  color: rgba(255, 255, 255, 0.08);
  text-transform: uppercase;
  pointer-events: none;
}

body.kabuku-prototype .kabuku-caso-card--teaser .kabuku-caso-media-label {
  position: relative;
  z-index: 1;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.28);
  opacity: 0;
}

body.kabuku-prototype .kabuku-caso-card--teaser .kabuku-caso-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.55s var(--kabuku-card-ease, ease);
}

body.kabuku-prototype .kabuku-caso-card--teaser:hover .kabuku-caso-media img {
  transform: scale(1.05);
}

body.kabuku-prototype .kabuku-caso-overlay {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  padding: 48px 20px 22px;
  background: linear-gradient(
    to top,
    rgba(13, 13, 13, 0.92) 0%,
    rgba(13, 13, 13, 0.55) 55%,
    rgba(13, 13, 13, 0) 100%
  );
  display: flex;
  flex-direction: column;
  gap: 6px;
  pointer-events: none;
}

body.kabuku-prototype .kabuku-caso-card--teaser .kabuku-caso-sector {
  margin: 0;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #E8312A;
}

body.kabuku-prototype .kabuku-caso-card--teaser .kabuku-caso-name {
  margin: 0;
  font-family: var(--font-primary);
  font-size: clamp(18px, 2vw, 22px);
  font-weight: 700;
  line-height: 1.2;
  color: #fff;
}

body.kabuku-prototype .kabuku-caso-card--teaser:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 40px rgba(13, 13, 13, 0.22);
}

body.kabuku-prototype .kabuku-caso-card--teaser:focus-visible {
  outline: 2px solid #E8312A;
  outline-offset: 3px;
}

/* Tarjetas de detalle (proyectos.html) — mantienen cuerpo + botón */
body.kabuku-prototype .kabuku-caso-media {
  width: 100%;
  aspect-ratio: 16 / 10;
  min-height: 0;
  border-radius: 0;
}

body.kabuku-prototype .kabuku-caso-media--placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--kabuku-slot-gray);
}

body.kabuku-prototype .kabuku-caso-media-label {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(13, 13, 13, 0.42);
}

body.kabuku-prototype .kabuku-caso-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

body.kabuku-prototype .kabuku-caso-body {
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
  padding: 22px 24px 26px;
}

body.kabuku-prototype .kabuku-casos-area .kabuku-caso-more,
body.kabuku-prototype .kabuku-casos-area button.kabuku-caso-more {
  margin-top: auto;
  align-self: flex-start;
  width: auto;
  background: var(--kabuku-black) !important;
  background-image: none !important;
  border-color: var(--kabuku-black) !important;
  color: #fff !important;
  box-shadow: none !important;
}

body.kabuku-prototype .kabuku-casos-area .kabuku-caso-more:hover,
body.kabuku-prototype .kabuku-casos-area button.kabuku-caso-more:hover {
  background: #1a1a1a !important;
  background-image: none !important;
  border-color: #1a1a1a !important;
  color: #fff !important;
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(13, 13, 13, 0.18) !important;
}

body.kabuku-prototype .kabuku-caso-sector {
  margin: 0;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--kabuku-red);
}

body.kabuku-prototype .kabuku-caso-name {
  margin: 0;
  font-family: var(--font-primary);
  font-size: clamp(20px, 2vw, 24px);
  font-weight: 700;
  line-height: 1.25;
  color: var(--kabuku-black);
}

body.kabuku-prototype .kabuku-caso-result {
  margin: 0;
  flex: 1;
  font-size: 15px;
  line-height: 1.65;
  color: var(--color-body-1);
}

body.kabuku-prototype .kabuku-caso-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 8px 0 0;
  padding: 0;
  list-style: none;
}

body.kabuku-prototype .kabuku-caso-tags li {
  margin: 0;
  padding: 6px 12px;
  font-size: 12px;
  font-weight: 600;
  color: var(--kabuku-black);
  background: #fff;
  border-radius: 999px;
}

body.kabuku-prototype .kabuku-casos-cta {
  display: flex;
  justify-content: center;
  padding: var(--kabuku-space-gap) var(--kabuku-space-x) var(--kabuku-space-section-bottom);
  text-align: center;
}

body.kabuku-prototype.kabuku-modal-open {
  overflow: hidden;
}

body.kabuku-prototype .kabuku-caso-modal {
  position: fixed;
  inset: 0;
  z-index: 10050;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.28s ease, visibility 0.28s ease;
}

body.kabuku-prototype .kabuku-caso-modal.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

body.kabuku-prototype .kabuku-caso-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(13, 13, 13, 0.62);
  backdrop-filter: blur(4px);
}

body.kabuku-prototype .kabuku-caso-modal__panel {
  position: relative;
  z-index: 1;
  width: min(920px, 100%);
  max-height: min(88vh, 900px);
  overflow-y: auto;
  padding: 32px 28px 28px;
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 24px 80px rgba(13, 13, 13, 0.22);
}

body.kabuku-prototype .kabuku-caso-modal__close {
  position: absolute;
  top: 16px;
  right: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: none;
  border-radius: 50%;
  background: var(--kabuku-surface-bg);
  color: var(--kabuku-black);
  font-size: 18px;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease;
}

body.kabuku-prototype .kabuku-caso-modal__close:hover {
  background: var(--kabuku-red);
  color: #fff;
}

body.kabuku-prototype .kabuku-caso-modal__sector {
  margin: 0 0 8px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--kabuku-red);
}

body.kabuku-prototype .kabuku-caso-modal__title {
  margin: 0 0 12px;
  font-family: var(--font-primary);
  font-size: clamp(24px, 4vw, 36px);
  font-weight: 700;
  line-height: 1.2;
  color: var(--kabuku-black);
  padding-right: 40px;
}

body.kabuku-prototype .kabuku-caso-modal__desc {
  margin: 0 0 24px;
  font-size: 15px;
  line-height: 1.65;
  color: var(--color-body-1);
}

body.kabuku-prototype .kabuku-caso-modal__gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 20px;
}

body.kabuku-prototype .kabuku-caso-modal__figure {
  margin: 0;
  border-radius: 14px;
  overflow: hidden;
  background: var(--kabuku-surface-bg);
}

body.kabuku-prototype .kabuku-caso-modal__figure img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

body.kabuku-prototype .kabuku-caso-modal__slot {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 160px;
  padding: 20px;
  background: var(--kabuku-slot-gray);
  font-size: 12px;
  font-weight: 600;
  text-align: center;
  color: rgba(13, 13, 13, 0.45);
}

body.kabuku-prototype .kabuku-caso-modal__figure figcaption {
  padding: 10px 12px;
  font-size: 12px;
  font-weight: 600;
  color: var(--kabuku-black);
  background: #fff;
}

body.kabuku-prototype .kabuku-caso-modal__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.kabuku-prototype .kabuku-caso-modal__tags li {
  padding: 6px 12px;
  font-size: 12px;
  font-weight: 600;
  color: var(--kabuku-black);
  background: var(--kabuku-surface-bg);
  border-radius: 999px;
}

@media (max-width: 767px) {
  body.kabuku-prototype .kabuku-caso-modal__gallery {
    grid-template-columns: 1fr;
  }

  body.kabuku-prototype .kabuku-caso-modal__panel {
    padding: 28px 20px 24px;
  }
}

/* Ocultar temporalmente — quitar clase kabuku-section-hidden para reactivar */
body.kabuku-prototype .kabuku-section-hidden {
  display: none !important;
}

@media (max-width: 991px) {


  body.kabuku-prototype .kabuku-protocolo-timeline {
    grid-template-columns: 1fr;
    gap: 0;
    padding: 0 20px 16px 64px;
  }

  body.kabuku-prototype .kabuku-protocolo-step:nth-child(2),
  body.kabuku-prototype .kabuku-protocolo-step:nth-child(3),
  body.kabuku-prototype .kabuku-protocolo-step:nth-child(4),
  body.kabuku-prototype .kabuku-protocolo-step:nth-child(5),
  body.kabuku-prototype .kabuku-protocolo-step:nth-child(6) {
    margin-top: 0;
  }

  body.kabuku-prototype .kabuku-protocolo-step::after {
    display: none;
  }

  body.kabuku-prototype .kabuku-protocolo-track {
    display: block;
    top: 12px;
    bottom: 12px;
    left: 23px;
    right: auto;
    width: 0;
    height: auto;
    border-top: none;
    border-left: 2px dashed rgba(13, 13, 13, 0.2);
  }

  body.kabuku-prototype .kabuku-protocolo-step {
    align-items: flex-start;
    padding-bottom: 32px;
  }

  body.kabuku-prototype .kabuku-protocolo-step:last-child {
    padding-bottom: 0;
  }

  body.kabuku-prototype .kabuku-protocolo-node {
    position: absolute;
    left: -72px;
    top: 0;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  body.kabuku-prototype .kabuku-protocolo-node-icon {
    width: 46px;
    height: 46px;
    border-radius: 14px;
  box-shadow: 0 0 0 5px var(--kabuku-surface-bg);
}

body.kabuku-prototype .kabuku-protocolo-node-icon i {
    font-size: 18px;
  }

  body.kabuku-prototype .kabuku-protocolo-copy,
  body.kabuku-prototype .kabuku-protocolo-card {
    margin-top: 0;
    padding: 0;
    text-align: left;
  }

  body.kabuku-prototype .kabuku-protocolo-cta {
    margin-top: var(--kabuku-space-gap-sm);
    padding: 0 20px 28px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.kabuku-prototype .kabuku-protocolo-step:hover .kabuku-protocolo-node-icon {
    transform: none;
  }
}

/* Testimonios — espacio retrato */
body.kabuku-prototype .testimonials-image-slider {
  display: block !important;
}

body.kabuku-prototype .testimonials-image-slider .kabuku-photo-slot {
  width: 100%;
  min-height: 480px;
  aspect-ratio: 3 / 4;
  border-radius: 0;
}

body.kabuku-prototype .bg-shape,
body.kabuku-prototype .banner-shape-area,
body.kabuku-prototype .bottom-shape-area,
body.kabuku-prototype .top-left-shape,
body.kabuku-prototype .top-right-shape,
body.kabuku-prototype .section-bg-shape,
body.kabuku-prototype .shape-one,
body.kabuku-prototype .shape-two,
body.kabuku-prototype .footer-logo-area .shape {
  display: none !important;
}



/* Logo tipográfico */
.kabuku-logo-text {
  display: inline-flex;
  flex-direction: column;
  line-height: 1;
  text-decoration: none !important;
  color: var(--kabuku-black) !important;
}

.kabuku-logo-text .brand {
  font-size: 22px;
  font-weight: 800;
  letter-spacing: 3px;
}

.kabuku-logo-text .sub {
  font-size: 8px;
  font-weight: 600;
  letter-spacing: 4px;
  margin-top: 4px;
  opacity: 0.7;
}

.kabuku-logo-text.light {
  color: #fff !important;
}

.kabuku-logo-text.light .sub {
  opacity: 0.85;
}

.kabuku-logo-text.large .brand {
  font-size: 32px;
}

/* Iconos de lista sin imagen */
body.kabuku-prototype .wrapper-list li,
body.kabuku-prototype .pricing-body li,
body.kabuku-prototype .kabuku-problem-list li.with-icon {
  padding-left: 28px;
  position: relative;
}

body.kabuku-prototype .wrapper-list.two li::before,
body.kabuku-prototype .pricing-wrapper.dark .pricing-body li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--kabuku-red);
  font-weight: 700;
}

body.kabuku-prototype .wrapper-list:not(.two) li::before {
  content: "×";
  position: absolute;
  left: 0;
  color: var(--kabuku-gray);
  font-weight: 700;
}

body.kabuku-prototype .pricing-wrapper:not(.dark) .pricing-body li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--kabuku-red);
  font-weight: 700;
}

body.kabuku-prototype .kabuku-price-offer {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

body.kabuku-prototype .kabuku-price-reference {
  margin: 0;
  font-family: var(--font-secondary);
  font-size: clamp(28px, 3vw, 40px);
  font-weight: 600;
  line-height: 1.1;
  color: var(--kabuku-black);
}

body.kabuku-prototype .kabuku-price-reference s {
  opacity: 0.45;
}

body.kabuku-prototype .kabuku-price-reference span {
  font-size: 0.45em;
  font-weight: 500;
  color: var(--kabuku-gray);
}

body.kabuku-prototype .kabuku-price-free-label {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  color: var(--kabuku-red);
  letter-spacing: 0.02em;
}

body.kabuku-prototype .pricing-wrapper.dark .kabuku-price-free-label {
  color: #fff;
}

body.kabuku-prototype #auditoria .section-mid-area {
  display: flex;
  justify-content: center;
  align-items: stretch;
  flex-wrap: wrap;
  gap: var(--kabuku-space-gap);
  padding: 0 var(--kabuku-space-x) var(--kabuku-space-section-bottom) !important;
}

body.kabuku-prototype #auditoria .section-mid-area .pricing-inner {
  display: flex;
  flex: 1 1 400px;
  width: auto !important;
  max-width: 480px;
  padding: 0 !important;
}

body.kabuku-prototype #auditoria .pricing-wrapper {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  padding: 36px 32px 40px !important;
  border-radius: 20px !important;
  background: #fff !important;
  box-shadow: var(--kabuku-card-shadow) !important;
  border: none !important;
}

body.kabuku-prototype #auditoria .pricing-wrapper .pricing-header {
  padding: 0 0 20px !important;
  background: transparent !important;
  border-radius: 0 !important;
  overflow: visible !important;
}

body.kabuku-prototype #auditoria .pricing-wrapper .pricing-header .plan-type {
  flex-direction: column;
  align-items: flex-start;
  gap: 8px !important;
  margin-bottom: 16px !important;
}

body.kabuku-prototype #auditoria .pricing-wrapper .pricing-header .plan-type .h6 {
  font-family: var(--font-primary) !important;
  font-size: clamp(24px, 2.6vw, 30px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.03em;
  color: var(--kabuku-black) !important;
}

body.kabuku-prototype #auditoria .pricing-wrapper .pricing-header .plan-type p {
  margin: 0;
  padding: 0 !important;
  background: none !important;
  color: var(--kabuku-gray) !important;
  font-size: 13px;
  font-weight: 500;
}

body.kabuku-prototype #auditoria .pricing-wrapper .pricing-header .plan-type p::after {
  display: none !important;
}

body.kabuku-prototype #auditoria .pricing-wrapper .pricing-header .title {
  margin-bottom: 0 !important;
  font-family: var(--font-primary) !important;
  font-size: clamp(18px, 1.8vw, 22px) !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
  letter-spacing: -0.01em;
  color: var(--color-body-1) !important;
}

body.kabuku-prototype #auditoria .pricing-wrapper .pricing-header .title span {
  font-weight: 500 !important;
  color: var(--kabuku-gray) !important;
}

body.kabuku-prototype #auditoria .pricing-wrapper .pricing-body {
  flex: 1;
  padding: 0 !important;
}

body.kabuku-prototype #auditoria .pricing-wrapper .pricing-body ul {
  align-items: flex-start;
  gap: 14px;
}

body.kabuku-prototype #auditoria .pricing-wrapper .pricing-body ul li {
  width: 100%;
  padding-left: 28px !important;
  line-height: 1.45;
}

body.kabuku-prototype #auditoria .pricing-wrapper .pricing-body ul li::before {
  content: "✓" !important;
  position: absolute;
  left: 0;
  top: 0;
  width: auto;
  height: auto;
  display: block;
  border-radius: 0;
  background: none !important;
  color: var(--kabuku-red) !important;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
}

body.kabuku-prototype #auditoria .kabuku-pricing-footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  margin-top: auto;
  padding: 24px 16px 8px;
  text-align: center;
}

body.kabuku-prototype #auditoria .kabuku-pricing-footer .kabuku-price-offer {
  width: 100%;
}

body.kabuku-prototype #auditoria .kabuku-pricing-footer .button-area {
  display: flex;
  justify-content: center;
  width: 100%;
}

body.kabuku-prototype #auditoria .kabuku-bottom-pricing--cta-only {
  padding-top: 24px;
}

body.kabuku-prototype #auditoria .kabuku-bottom-pricing--cta-only .button-area {
  margin-top: 0;
}

@media (max-width: 767px) {
  body.kabuku-prototype #auditoria .section-mid-area {
    gap: 24px;
    padding-inline: 20px !important;
  }

  body.kabuku-prototype #auditoria .section-mid-area .pricing-inner {
    flex: 1 1 100%;
    max-width: 520px;
  }

}

/* Sección El problema — mismo fondo que contacto (crema + trama) */
body.kabuku-prototype .kabuku-problema-area {
  background-color: var(--kabuku-surface-bg) !important;
  background-image: var(--kabuku-surface-grid) !important;
  background-size: var(--kabuku-grid-size) !important;
}

body.kabuku-prototype .kabuku-problema-area .container,
body.kabuku-prototype .kabuku-problema-area .section-inner,
body.kabuku-prototype .kabuku-problema-area .kabuku-problema-shell,
body.kabuku-prototype .kabuku-problema-area .section-top-area {
  background: transparent !important;
}

/* Sección Lo que hacemos — fondo blanco */
body.kabuku-prototype .kabuku-services-area,
body.kabuku-prototype .kabuku-services-area .container,
body.kabuku-prototype .kabuku-services-area .kabuku-services-shell {
  background: #fff !important;
  border: none !important;
}

body.kabuku-prototype .kabuku-services-area {
  padding: 0;
  overflow: visible;
}

body.kabuku-prototype .kabuku-services-shell {
  padding: 0;
  background: #fff !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

body.kabuku-prototype .kabuku-services-header {
  text-align: center;
  max-width: 100%;
  margin: 0 auto;
  padding: var(--kabuku-space-y) var(--kabuku-space-x) var(--kabuku-space-after-title);
}

body.kabuku-prototype .kabuku-services-header .sub-title {
  margin-bottom: 12px;
}

body.kabuku-prototype .kabuku-problema-area .section-title-area .section-title,
body.kabuku-prototype .kabuku-services-header .section-title,
body.kabuku-prototype .kabuku-protocolo-area .kabuku-protocolo-header .section-title,
body.kabuku-prototype .kabuku-faq-header .section-title,
body.kabuku-prototype .kabuku-contact-header .section-title,
body.kabuku-prototype .kabuku-casos-header .section-title,
body.kabuku-prototype #auditoria .section-title-area .section-title {
  font-family: var(--font-primary) !important;
  font-size: 64px !important;
  font-weight: 700 !important;
  line-height: 1.15;
  letter-spacing: -0.04em;
  text-transform: none !important;
  color: var(--kabuku-black);
}

body.kabuku-prototype .kabuku-problema-area .section-title-area .section-title,
body.kabuku-prototype .kabuku-services-header .section-title,
body.kabuku-prototype .kabuku-protocolo-area .kabuku-protocolo-header .section-title,
body.kabuku-prototype .kabuku-faq-header .section-title,
body.kabuku-prototype .kabuku-contact-header .section-title,
body.kabuku-prototype .kabuku-casos-header .section-title,
body.kabuku-prototype #auditoria .section-title-area .section-title {
  margin: 0;
}

body.kabuku-prototype .kabuku-services-header .section-title {
  white-space: normal;
  text-align: center;
}

@media (max-width: 991px) {
  :root {
    --kabuku-space-y: 52px;
    --kabuku-space-x: 24px;
    --kabuku-space-gap: 24px;
    --kabuku-space-section-bottom: 52px;
    --kabuku-space-section-between: 0;
    --kabuku-space-after-title: 28px;
    --kabuku-btn-pad-y: 13px;
    --kabuku-btn-pad-x: 24px;
    --kabuku-btn-font: 13px;
    --kabuku-btn-min-h: 44px;
  }

  body.kabuku-prototype .kabuku-problema-area .section-top-area,
  body.kabuku-prototype .kabuku-services-header,
  body.kabuku-prototype .kabuku-protocolo-header,
  body.kabuku-prototype .kabuku-casos-header {
    padding: var(--kabuku-space-y) var(--kabuku-space-x) var(--kabuku-space-after-title);
  }

  body.kabuku-prototype .kabuku-problema-area .section-title-area .section-title,
  body.kabuku-prototype .kabuku-services-header .section-title,
  body.kabuku-prototype .kabuku-protocolo-area .kabuku-protocolo-header .section-title,
  body.kabuku-prototype .kabuku-faq-header .section-title,
  body.kabuku-prototype .kabuku-contact-header .section-title,
  body.kabuku-prototype .kabuku-casos-header .section-title,
  body.kabuku-prototype #auditoria .section-title-area .section-title {
    font-size: 32px !important;
  }
}

@media (max-width: 767px) {
  body.kabuku-prototype .kabuku-problema-area .section-title-area .section-title,
  body.kabuku-prototype .kabuku-services-header .section-title,
  body.kabuku-prototype .kabuku-protocolo-area .kabuku-protocolo-header .section-title,
  body.kabuku-prototype .kabuku-faq-header .section-title,
  body.kabuku-prototype .kabuku-contact-header .section-title,
  body.kabuku-prototype .kabuku-casos-header .section-title,
  body.kabuku-prototype #auditoria .section-title-area .section-title {
    font-size: 28px !important;
  }

}

body.kabuku-prototype .kabuku-title-accent {
  display: block;
  width: 72px;
  height: 3px;
  margin: 16px auto 0;
  background: var(--kabuku-red);
  border-radius: 999px;
}

body.kabuku-prototype .kabuku-services-lead {
  margin: 0;
  font-size: clamp(15px, 1.6vw, 17px);
  line-height: 1.65;
  color: var(--kabuku-gray);
}

body.kabuku-prototype .kabuku-services-stack {
  display: flex;
  flex-direction: column;
  gap: var(--kabuku-space-gap);
  padding: 0 var(--kabuku-space-x) var(--kabuku-space-section-bottom);
}

body.kabuku-prototype .kabuku-services-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--kabuku-space-gap);
  align-items: center;
  padding: calc(var(--kabuku-space-gap) + 4px);
  border-radius: 20px;
  background: #f7f7f7;
  box-shadow: var(--kabuku-card-shadow);
  transition:
    transform var(--kabuku-card-duration) var(--kabuku-card-ease),
    box-shadow var(--kabuku-card-duration) var(--kabuku-card-ease);
}

body.kabuku-prototype .kabuku-services-row:hover {
  transform: translateY(-4px);
  box-shadow: var(--kabuku-card-shadow-hover);
}

body.kabuku-prototype .kabuku-services-row--flip .kabuku-services-row-media {
  order: 2;
}

body.kabuku-prototype .kabuku-services-row--flip .kabuku-services-row-content {
  order: 1;
}

body.kabuku-prototype .kabuku-services-row-media {
  width: 100%;
  min-height: 260px;
  aspect-ratio: 16 / 10;
  border-radius: 20px;
}

body.kabuku-prototype .kabuku-services-row-content {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 8px 0;
}

body.kabuku-prototype .kabuku-services-row-title {
  margin: 0;
  font-family: var(--font-primary);
  font-size: clamp(22px, 2.4vw, 28px);
  font-weight: 700;
  line-height: 1.25;
  color: var(--kabuku-black);
}

body.kabuku-prototype .kabuku-services-row-desc {
  margin: 0;
  font-size: clamp(15px, 1.6vw, 17px);
  line-height: 1.65;
  color: var(--kabuku-gray);
}

body.kabuku-prototype .kabuku-services-cierre {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 var(--kabuku-space-x) var(--kabuku-space-section-bottom);
  padding: 0;
  text-align: center;
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
}

body.kabuku-prototype .kabuku-services-cierre-btn {
  margin: 0;
}

@media (max-width: 991px) {
  body.kabuku-prototype .kabuku-services-stack {
    gap: var(--kabuku-space-gap-sm);
    padding: 0 var(--kabuku-space-x) var(--kabuku-space-section-bottom);
  }

  body.kabuku-prototype .kabuku-services-row {
    grid-template-columns: 1fr;
    gap: var(--kabuku-space-gap-sm);
    padding: var(--kabuku-space-gap-sm) var(--kabuku-space-x);
  }

  body.kabuku-prototype .kabuku-services-row--flip .kabuku-services-row-media,
  body.kabuku-prototype .kabuku-services-row--flip .kabuku-services-row-content {
    order: unset;
  }

  body.kabuku-prototype .kabuku-services-row-media {
    min-height: 220px;
  }

  body.kabuku-prototype .kabuku-services-cierre {
    margin: 0 var(--kabuku-space-x) var(--kabuku-space-gap);
    padding: 0;
  }
}

body.kabuku-prototype .kabuku-problema-area .section-top-area {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: var(--kabuku-space-y) var(--kabuku-space-x) var(--kabuku-space-after-title);
}

body.kabuku-prototype .kabuku-problema-area .section-top-area .section-title-area {
  text-align: center;
  width: 100%;
  max-width: 100% !important;
  margin: 0;
  padding: 0;
}

body.kabuku-prototype .kabuku-problema-area .section-title-area .sub-title {
  margin-left: auto;
  margin-right: auto;
}

body.kabuku-prototype .kabuku-problema-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--kabuku-space-gap);
  padding: calc(34px + var(--kabuku-space-gap-sm)) var(--kabuku-space-x) var(--kabuku-space-section-bottom);
}

body.kabuku-prototype .kabuku-problema-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  margin-top: 34px;
  min-height: 280px;
  border: none;
  border-radius: 20px;
  padding: 52px 28px 40px;
  background: #fff;
  text-align: left;
  overflow: visible;
  box-shadow: var(--kabuku-card-shadow);
  transition:
    transform var(--kabuku-card-duration) var(--kabuku-card-ease),
    box-shadow var(--kabuku-card-duration) var(--kabuku-card-ease);
}

body.kabuku-prototype .kabuku-problema-card:hover {
  transform: translateY(-10px);
  box-shadow: var(--kabuku-card-shadow-hover);
}

@keyframes kabuku-problema-enter {
  from {
    opacity: 0;
    transform: translateY(28px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

body.kabuku-prototype .kabuku-problema-card.kabuku-problema-reveal {
  opacity: 0;
  transform: translateY(28px);
  will-change: opacity, transform;
}

body.kabuku-prototype .kabuku-problema-card.kabuku-problema-reveal.is-visible {
  animation: kabuku-problema-enter 0.85s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

/* Fallback: si el JS de reveal no corre, las tarjetas no se quedan invisibles */
body.kabuku-prototype.no-js .kabuku-problema-card.kabuku-problema-reveal,
html.no-js body.kabuku-prototype .kabuku-problema-card.kabuku-problema-reveal {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  body.kabuku-prototype .kabuku-problema-card.kabuku-problema-reveal {
    opacity: 1;
    transform: none;
  }
}

body.kabuku-prototype .kabuku-problema-icon {
  position: absolute;
  top: -26px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 68px;
  height: 68px;
  margin: 0;
  padding: 0;
  border-radius: 20px;
  background: var(--kabuku-red);
  border: none;
  box-shadow: none;
  transition: transform var(--kabuku-card-duration) var(--kabuku-card-ease);
}

body.kabuku-prototype .kabuku-problema-card:hover .kabuku-problema-icon {
  transform: translateX(-50%) translateY(-5px);
}

body.kabuku-prototype .kabuku-problema-icon i {
  font-size: 28px;
  line-height: 1;
  color: #fff;
}

body.kabuku-prototype .kabuku-problema-text {
  flex: 1;
  min-width: 0;
  padding: 36px 0 0;
  background: transparent;
  text-align: left;
}

body.kabuku-prototype .kabuku-problema-icon::after {
  content: attr(data-icon-label);
  position: absolute;
  left: 50%;
  bottom: -18px;
  transform: translateX(-50%);
  font-size: 8px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--kabuku-gray);
  opacity: 0;
  pointer-events: none;
}

body.kabuku-prototype .kabuku-problema-title {
  font-family: var(--font-primary);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.45;
  color: var(--kabuku-black) !important;
  margin: 0 0 14px;
  text-transform: none;
  letter-spacing: normal;
  text-align: left;
}

/* v1: títulos de problema sin acento rojo */
body.kabuku-prototype .kabuku-problema-title .kabuku-text-red {
  display: inline;
  color: inherit !important;
  font-weight: inherit;
}

body.kabuku-prototype .kabuku-problema-feel {
  margin: 0;
  font-size: 14px;
  line-height: 1.65;
  color: var(--kabuku-gray);
  font-style: italic;
  font-weight: 500;
  text-transform: none;
  letter-spacing: normal;
  opacity: 0.9;
}

body.kabuku-prototype .kabuku-text-red {
  color: var(--kabuku-red);
  font-weight: 700;
}

body.kabuku-prototype .kabuku-problema-feel .kabuku-text-red {
  color: var(--kabuku-gray);
  font-weight: 600;
}

body.kabuku-prototype .kabuku-problema-cierre-wrap {
  padding: var(--kabuku-space-gap-sm) var(--kabuku-space-x) var(--kabuku-space-section-bottom);
}

body.kabuku-prototype .kabuku-problema-cierre {
  margin: 0 auto;
  padding: var(--kabuku-space-gap) 24px;
  max-width: 100%;
  width: 100%;
  text-align: center;
}

body.kabuku-prototype .kabuku-problema-cierre-lead {
  margin: 0 auto 12px;
  max-width: 100%;
  font-size: clamp(18px, 1.5vw, 22px);
  line-height: 1.45;
  font-weight: 400;
  color: var(--kabuku-black);
}

body.kabuku-prototype .kabuku-problema-cierre-tagline {
  margin: 0 auto;
  max-width: 100%;
  font-size: clamp(18px, 1.5vw, 22px);
  line-height: 1.45;
  font-weight: 700;
  color: var(--kabuku-black);
  text-align: center;
}

@media (min-width: 992px) {
  body.kabuku-prototype .kabuku-problema-cierre-lead,
  body.kabuku-prototype .kabuku-problema-cierre-tagline {
    white-space: nowrap;
  }

  body.kabuku-prototype .kabuku-problema-cierre-lead {
    font-size: clamp(19px, 1.25vw, 23px);
  }

  body.kabuku-prototype .kabuku-problema-cierre-tagline {
    font-size: clamp(19px, 1.25vw, 23px);
  }
}

@media (max-width: 1199px) {
  body.kabuku-prototype .kabuku-problema-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

body.kabuku-prototype .why-choose-wrapper2 .icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: rgba(232, 49, 42, 0.1);
  border-left: 3px solid var(--kabuku-red);
}

/* Flechas del CTA y otras secciones */
body.kabuku-prototype .wpr-cta-area .arrow-track .arrow {
  width: 12px;
  height: 12px;
  border-top: 2px solid var(--kabuku-red);
  border-right: 2px solid var(--kabuku-red);
  transform: rotate(45deg);
  display: inline-block;
}

body.kabuku-prototype .wpr-cta-area .arrow-track.right .arrow {
  transform: rotate(-135deg);
}

body.kabuku-prototype .wpr-marquee-area .title span {
  display: inline-block;
  width: 10px;
  height: 10px;
  background: var(--kabuku-red);
  border-radius: 2px;
  margin: 0 16px;
  vertical-align: middle;
}

/* Colores Kabuku en componentes Agenio */

.square-shape {
  background: var(--kabuku-red) !important;
}

.sub-title {
  color: var(--kabuku-red) !important;
}

/* ── Botones Kabuku — sistema unificado, moderno ── */
body.kabuku-prototype .wpr-btn,
body.kabuku-prototype button.wpr-btn,
body.kabuku-prototype a.wpr-btn,
body.kabuku-prototype .wpr-btn.btn-primary,
body.kabuku-prototype .wpr-btn.btn-white,
body.kabuku-prototype .header-style-one .wpr-btn,
body.kabuku-prototype .side-bar .wpr-btn,
body.kabuku-prototype .wpr-contact-area form .form-btn-area button,
body.kabuku-prototype .wpr-contact-area form .form-btn-area .wpr-btn,
body.kabuku-prototype .pricing-wrapper .wpr-btn,
body.kabuku-prototype .wpr-working-process .wpr-btn,
body.kabuku-prototype .wpr-why-choose-us-area .wpr-btn,
body.kabuku-prototype .wpr-cta-area .wpr-btn,
body.kabuku-prototype .kabuku-caso-more,
body.kabuku-prototype .kabuku-services-cierre-btn {
  font-family: var(--font-primary) !important;
  font-size: var(--kabuku-btn-font) !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  letter-spacing: 0.02em;
  padding: var(--kabuku-btn-pad-y) var(--kabuku-btn-pad-x) !important;
  min-height: var(--kabuku-btn-min-h);
  gap: 8px !important;
  border: 1.5px solid transparent !important;
  border-radius: var(--kabuku-btn-radius) !important;
  box-shadow: none !important;
  background-image: none !important;
  text-transform: none !important;
  transition:
    transform 0.22s cubic-bezier(0.22, 1, 0.36, 1),
    background-color 0.22s ease,
    border-color 0.22s ease,
    color 0.22s ease,
    box-shadow 0.22s ease !important;
}

body.kabuku-prototype .wpr-btn.btn-primary,
body.kabuku-prototype .wpr-contact-area form .form-btn-area button {
  background: var(--kabuku-red) !important;
  border-color: var(--kabuku-red) !important;
  color: #fff !important;
}

body.kabuku-prototype .wpr-btn.btn-primary:hover,
body.kabuku-prototype .wpr-contact-area form .form-btn-area button:hover {
  background: var(--kabuku-red-dark) !important;
  border-color: var(--kabuku-red-dark) !important;
  color: #fff !important;
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(232, 49, 42, 0.28) !important;
}

body.kabuku-prototype .kabuku-caso-more.wpr-btn.btn-primary,
body.kabuku-prototype button.kabuku-caso-more.wpr-btn.btn-primary {
  background: var(--kabuku-black) !important;
  border-color: var(--kabuku-black) !important;
  color: #fff !important;
  box-shadow: none !important;
}

body.kabuku-prototype .kabuku-caso-more.wpr-btn.btn-primary:hover,
body.kabuku-prototype button.kabuku-caso-more.wpr-btn.btn-primary:hover {
  background: #1a1a1a !important;
  border-color: #1a1a1a !important;
  color: #fff !important;
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(13, 13, 13, 0.18) !important;
}

body.kabuku-prototype .wpr-btn.btn-white {
  background: #fff !important;
  color: var(--kabuku-black) !important;
  border-color: rgba(13, 13, 13, 0.14) !important;
}

body.kabuku-prototype .wpr-btn.btn-white:hover {
  background: #fff !important;
  border-color: rgba(13, 13, 13, 0.28) !important;
  color: var(--kabuku-black) !important;
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(13, 13, 13, 0.08) !important;
}

body.kabuku-prototype .wpr-btn.with-icon {
  border-radius: var(--kabuku-btn-radius) !important;
}

body.kabuku-prototype .wpr-btn.with-icon .icon {
  border-radius: var(--kabuku-btn-radius-icon) !important;
}

body.kabuku-prototype .wpr-services-area .service-wrapper .content .bottom .service-btn-area {
  border-radius: var(--kabuku-btn-radius-icon) !important;
}

body.kabuku-prototype #goTop {
  border-radius: 50% !important;
}

.preloader .inner-bar {
  background: var(--kabuku-red) !important;
}

.preloader .site-name span {
  color: var(--kabuku-black) !important;
}



.wpr-services-area .service-wrapper .mid h2 {
  color: var(--kabuku-red) !important;
}

.wpr-project-area .hover_mouse a svg path {
  fill: var(--kabuku-red) !important;
}

.wpr-working-process .number {
  color: var(--kabuku-red) !important;
}

.wpr-testimonials-area .testimonials-content .title {
  color: var(--kabuku-red) !important;
}

.wpr-pricing-plans-area .pricing-wrapper.dark {
  background-color: var(--kabuku-dark-bg) !important;
  background-image: var(--kabuku-dark-grid) !important;
  background-size: var(--kabuku-grid-size) !important;
}

.wpr-pricing-plans-area .price span {
  color: var(--kabuku-gray) !important;
}

.wpr-cta-area .section-inner {
  background-color: var(--kabuku-dark-bg) !important;
  background-image: var(--kabuku-dark-grid) !important;
  background-size: var(--kabuku-grid-size) !important;
}

body.kabuku-prototype .wpr-cta-area .section-title,
body.kabuku-prototype .wpr-cta-area .section-inner .section-title {
  color: #fff !important;
  background: none !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
  -webkit-text-fill-color: #fff !important;
  text-transform: none !important;
}

.wpr-cta-area .tag {
  color: var(--kabuku-red) !important;
}

.accordion-button:not(.collapsed) {
  color: var(--kabuku-red) !important;
}

/* Secciones que no aplican a Kabuku */
.search-input-area {
  display: none !important;
}

body.kabuku-prototype .kabuku-why-close {
  max-width: 720px;
  margin: 32px auto 8px;
  padding: 0 24px;
  text-align: center;
  font-size: 16px;
  line-height: 1.7;
  color: var(--color-body-1);
}

body.kabuku-prototype .kabuku-cta-lead {
  max-width: 640px;
  margin: 12px auto 28px;
  font-size: 16px;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.62);
  text-align: center;
}

body.kabuku-prototype .kabuku-cta-btns {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: center;
  margin-bottom: 24px;
}

body.kabuku-prototype .kabuku-cta-btns .wpr-btn.btn-white {
  background: transparent !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.32) !important;
}

body.kabuku-prototype .kabuku-cta-btns .wpr-btn.btn-white:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(255, 255, 255, 0.55) !important;
  color: #fff !important;
  box-shadow: none !important;
}

body.kabuku-prototype .kabuku-cta-btns .wpr-btn.btn-primary:hover {
  box-shadow: 0 10px 32px rgba(232, 49, 42, 0.38) !important;
}

/* Servicios extra 05-06 */
.kabuku-services-extra {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  border-top: none;
  padding: 24px 40px 0;
}

@media (max-width: 991px) {
  .kabuku-services-extra {
    grid-template-columns: 1fr;
  }
}

.kabuku-service-mini {
  padding: 32px 28px;
  border: none;
  background: var(--kabuku-cream);
  border-radius: 16px;
}

.kabuku-service-mini:last-child {
  border: none;
}

.kabuku-service-mini .num {
  font-family: var(--font-primary);
  font-size: 48px;
  font-weight: 700;
  color: var(--kabuku-red);
  line-height: 1;
  margin-bottom: 12px;
}

.kabuku-service-mini .tag {
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 8px;
  color: var(--kabuku-red);
}

.kabuku-service-mini .desc {
  font-size: 15px;
  line-height: 1.6;
  color: var(--color-body-1);
  margin: 0;
}

.kabuku-process-note {
  margin-top: 24px;
  padding: 20px 24px;
  background: var(--kabuku-cream);
  border: none;
  border-radius: 16px;
  font-size: 15px;
  line-height: 1.6;
}

.kabuku-audience-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  padding: 40px;
}

@media (max-width: 991px) {
  .kabuku-audience-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 575px) {
  .kabuku-audience-grid {
    grid-template-columns: 1fr;
  }
}

.kabuku-audience-card {
  padding: 28px;
  border: none;
  background: var(--kabuku-cream);
  border-radius: 16px;
  box-shadow: var(--kabuku-card-shadow);
  transition:
    transform var(--kabuku-card-duration) var(--kabuku-card-ease),
    box-shadow var(--kabuku-card-duration) var(--kabuku-card-ease);
}

.kabuku-audience-card:hover {
  transform: translateY(-8px);
  box-shadow: var(--kabuku-card-shadow-hover);
}

.kabuku-audience-card h3 {
  font-size: 16px;
  margin-bottom: 8px;
}

.kabuku-audience-card p {
  font-size: 14px;
  line-height: 1.55;
  margin: 0;
  opacity: 0.85;
}

/* Solución modular */
body.kabuku-prototype .kabuku-modular-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  border-top: none;
  margin-top: 40px;
  padding: 0 40px;
}

body.kabuku-prototype .kabuku-modular-card {
  padding: 40px;
  border: none;
  background: #fff;
  border-radius: 16px;
  box-shadow: var(--kabuku-card-shadow);
  transition:
    transform var(--kabuku-card-duration) var(--kabuku-card-ease),
    box-shadow var(--kabuku-card-duration) var(--kabuku-card-ease);
}

body.kabuku-prototype .kabuku-modular-card:hover {
  transform: translateY(-8px);
  box-shadow: var(--kabuku-card-shadow-hover);
}

@media (prefers-reduced-motion: reduce) {
  body.kabuku-prototype .kabuku-problema-card,
  body.kabuku-prototype .kabuku-problema-icon,
  body.kabuku-prototype .kabuku-modular-card,
  body.kabuku-prototype .kabuku-protocolo-node-icon,
  body.kabuku-prototype .kabuku-services-row,
  .kabuku-audience-card {
    transition: box-shadow 0.2s ease;
  }

  body.kabuku-prototype .kabuku-problema-card.wow,
  body.kabuku-prototype .kabuku-problema-card.kabuku-problema-reveal {
    visibility: visible !important;
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }

  body.kabuku-prototype .kabuku-problema-card:hover,
  body.kabuku-prototype .kabuku-modular-card:hover,
  body.kabuku-prototype .kabuku-protocolo-step:hover .kabuku-protocolo-node-icon,
  body.kabuku-prototype .kabuku-services-row:hover,
  .kabuku-audience-card:hover {
    transform: none;
  }

  body.kabuku-prototype .kabuku-problema-card:hover .kabuku-problema-icon {
    transform: translateX(-50%);
  }
}

body.kabuku-prototype .kabuku-modular-card--accent {
  background: var(--kabuku-cream);
  border: none;
}

body.kabuku-prototype .kabuku-modular-card .modular-tag {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--kabuku-red);
  margin-bottom: 12px;
}

body.kabuku-prototype .kabuku-modular-card .modular-title {
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 12px;
  font-family: var(--font-primary);
}

body.kabuku-prototype .kabuku-modular-card .modular-desc {
  font-size: 15px;
  line-height: 1.6;
  margin: 0;
  opacity: 0.85;
}

body.kabuku-prototype .kabuku-modular-cierre {
  padding: 24px 40px 40px;
  font-size: 15px;
  font-weight: 500;
  text-align: center;
  margin: 0;
  opacity: 0.8;
  border-top: none;
}

/* Protocolo Buki — intención */
body.kabuku-prototype .kabuku-step-intent {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.06em;
  color: var(--kabuku-red);
  margin: 4px 0 8px;
  font-style: italic;
}

/* Casos — etiquetas de sector/servicio */
body.kabuku-prototype .feature-project .product-intro .bottom {
  display: block;
  margin-top: 20px;
  padding-top: 0;
  border-top: none;
}

body.kabuku-prototype .feature-project .product-intro .bottom ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  list-style: none;
  margin: 0;
  padding: 0;
}

body.kabuku-prototype .feature-project .product-intro .bottom ul li {
  flex: 0 0 auto;
  margin: 0;
  padding: 10px 14px;
  background: var(--kabuku-cream);
  border: none;
  border-radius: 8px;
  min-width: 0;
}

body.kabuku-prototype .feature-project .product-intro .bottom ul li h3,
body.kabuku-prototype .feature-project .product-intro .bottom ul li h5 {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--kabuku-red);
  margin: 0 0 4px;
}

body.kabuku-prototype .feature-project .product-intro .bottom ul li p {
  font-size: 13px;
  font-weight: 500;
  color: var(--kabuku-black);
  margin: 0;
  line-height: 1.35;
}

/* Footer logo */
body.kabuku-prototype .kabuku-footer-area .footer-logo-area > a {
  display: block;
  line-height: 0;
}

body.kabuku-prototype .kabuku-footer-area .footer-logo-area > a img {
  display: block;
  width: auto;
  height: auto;
  max-width: min(380px, 78vw);
  margin: 0 auto;
  object-fit: contain;
}

@media (max-width: 767px) {
  :root {
    --kabuku-space-y: 44px;
    --kabuku-space-section-bottom: 44px;
    --kabuku-space-after-title: 24px;
  }

  body.kabuku-prototype .kabuku-problema-grid {
    grid-template-columns: 1fr;
    gap: 40px;
    padding: calc(34px + 16px) 20px var(--kabuku-space-section-bottom);
  }

  body.kabuku-prototype .kabuku-problema-card {
    min-height: 0;
    padding: 48px 24px 36px;
  }

  body.kabuku-prototype .kabuku-problema-text {
    padding-top: 32px;
  }

  body.kabuku-prototype .kabuku-problema-cierre-wrap {
    padding: 4px 20px 36px;
  }

  body.kabuku-prototype .kabuku-problema-cierre {
    padding: var(--kabuku-space-gap-sm) 20px;
  }

  body.kabuku-prototype .kabuku-problema-cierre-lead {
    font-size: 18px;
    margin-bottom: 14px;
    white-space: normal;
  }

  body.kabuku-prototype .kabuku-problema-cierre-tagline {
    font-size: 18px;
    white-space: normal;
  }

  body.kabuku-prototype .kabuku-modular-grid {
    grid-template-columns: 1fr;
  }

  body.kabuku-prototype .kabuku-modular-card {
    border-right: none;
    padding: 28px 24px;
  }

  body.kabuku-prototype .kabuku-modular-cierre {
    padding: 20px 24px 32px;
  }

  body.kabuku-prototype .kabuku-hero-deco {
    width: min(72%, 320px);
  }

  body.kabuku-prototype .kabuku-hero-deco--top {
    top: 20px;
    right: 20px;
  }

  body.kabuku-prototype .kabuku-hero-deco--bottom {
    bottom: 20px;
    left: 20px;
  }

  body.kabuku-prototype .kabuku-hero-deco .arrow-track {
    gap: 20px;
  }

  body.kabuku-prototype .kabuku-hero-deco .arrow-track .arrow:nth-child(n+8) {
    display: none;
  }

  body.kabuku-prototype .header-style-one .header-top .header-top-inner {
    gap: 16px;
  }

  body.kabuku-prototype .header-style-one .header-top .header-top-inner .text {
    font-size: 11px;
  }

  body.kabuku-prototype .kabuku-header-deco .arrow-track {
    gap: 6px;
  }

  body.kabuku-prototype .kabuku-header-deco .arrow-track .arrow:nth-child(n+5) {
    display: none;
  }
}

/* Formulario contacto → WhatsApp */
body.kabuku-prototype .kabuku-form-note {
  font-size: 13px;
  line-height: 1.55;
  color: rgba(13, 13, 13, 0.65);
  margin: 14px 0 0;
}

body.kabuku-prototype .kabuku-form-note a {
  color: var(--kabuku-red);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}

body.kabuku-prototype #form-messages.success {
  color: #1a6b3c;
}

body.kabuku-prototype #form-messages.error {
  color: var(--kabuku-red);
}

/* Sin líneas punteadas ni discontinuas (template + placeholders) */
body.kabuku-prototype .wpr-banner-area .banner-content-area .top-shape,
body.kabuku-prototype .wpr-banner-area .banner-content-area .section-title .left-area,
body.kabuku-prototype .wpr-banner-area .banner-content-area .section-title .right-area {
  border: none !important;
}

body.kabuku-prototype .kabuku-hero-bg,
body.kabuku-prototype .kabuku-photo-slot,
body.kabuku-prototype .testimonials-image-slider .kabuku-photo-slot,
body.kabuku-prototype .kabuku-protocolo-media.kabuku-photo-slot {
  outline: none !important;
}

/* Espaciado minimalista — secciones Agenio */
body.kabuku-prototype .wpr-pricing-plans-area .section-inner .section-top-area {
  padding: var(--kabuku-space-y) 0 var(--kabuku-space-after-title) !important;
}

body.kabuku-prototype #auditoria,
body.kabuku-prototype #auditoria .container,
body.kabuku-prototype #auditoria .section-inner {
  background-color: var(--kabuku-dark-bg) !important;
  background-image: var(--kabuku-dark-grid) !important;
  background-size: var(--kabuku-grid-size) !important;
  border: none !important;
}

body.kabuku-prototype #auditoria .square-shape,
body.kabuku-prototype #auditoria .bottom-shape-area {
  display: none !important;
}

body.kabuku-prototype #auditoria .section-title-area .section-title {
  white-space: nowrap;
  color: #fff !important;
}

body.kabuku-prototype #auditoria .section-title-area .kabuku-title-accent {
  margin-top: 16px;
}

body.kabuku-prototype #auditoria .section-mid-area {
  border-top: none !important;
}

@media (max-width: 575px) {
  body.kabuku-prototype #auditoria .section-title-area .section-title {
    white-space: normal;
  }
}

body.kabuku-prototype .wpr-pricing-plans-area .section-inner .section-mid-area .pricing-inner {
  padding: var(--kabuku-space-gap) var(--kabuku-space-x) !important;
}

body.kabuku-prototype #auditoria .section-inner .section-mid-area .pricing-inner {
  padding: 0 !important;
}

body.kabuku-prototype .wpr-pricing-plans-area .pricing-wrapper {
  padding: 10px 10px 28px !important;
  border-radius: 20px !important;
}

body.kabuku-prototype #auditoria .wpr-pricing-plans-area .pricing-wrapper,
body.kabuku-prototype #auditoria .pricing-wrapper {
  background: #fff !important;
  box-shadow: var(--kabuku-card-shadow) !important;
}

body.kabuku-prototype .wpr-pricing-plans-area .pricing-wrapper .pricing-header {
  border-radius: 16px !important;
}

body.kabuku-prototype #auditoria .pricing-wrapper .pricing-header {
  border-radius: 0 !important;
}

body.kabuku-prototype .wpr-pricing-plans-area .pricing-wrapper .pricing-header {
  padding: 20px 18px !important;
}

body.kabuku-prototype .wpr-pricing-plans-area .pricing-wrapper .pricing-header .plan-type {
  margin-bottom: 16px !important;
}

/* ── FAQ ── */
body.kabuku-prototype .kabuku-faq-area {
  background: #fff !important;
}

body.kabuku-prototype .kabuku-contact-area + .kabuku-faq-area .section-inner .section-content-area {
  padding-top: var(--kabuku-space-gap) !important;
}

body.kabuku-prototype .kabuku-faq-area .section-inner,
body.kabuku-prototype .kabuku-faq-area .section-content-area {
  background: transparent !important;
}

body.kabuku-prototype .kabuku-faq-area .section-inner .section-content-area {
  padding: var(--kabuku-space-y) var(--kabuku-space-x) var(--kabuku-space-section-bottom) !important;
}

body.kabuku-prototype .kabuku-faq-area .section-inner .section-content-area .accordion-one {
  margin-top: var(--kabuku-space-after-title) !important;
  border-radius: 0 !important;
  overflow: visible !important;
}

body.kabuku-prototype .kabuku-faq-area .section-inner .section-content-area .accordion-one .accordion-item {
  padding: 22px 28px !important;
  margin-bottom: 12px !important;
  background: var(--kabuku-surface-bg) !important;
  border-radius: 16px !important;
  box-shadow: none !important;
  border: 1px solid rgba(13, 13, 13, 0.06) !important;
}

body.kabuku-prototype .kabuku-faq-area .section-inner .section-content-area .accordion-one .accordion-item:last-child {
  margin-bottom: 0 !important;
}

body.kabuku-prototype .kabuku-faq-area .section-inner .section-content-area .accordion-one .accordion-header button {
  font-family: var(--font-primary) !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  color: var(--kabuku-black) !important;
}

body.kabuku-prototype .kabuku-faq-area .section-inner .section-content-area .accordion-one .accordion-header button::after {
  background: rgba(232, 49, 42, 0.12) !important;
  background-image: none !important;
  color: var(--kabuku-red) !important;
  border-radius: 999px !important;
  font-size: 16px !important;
  line-height: 32px !important;
  box-shadow: none !important;
}

body.kabuku-prototype .kabuku-faq-area .section-inner .section-content-area .accordion-one .accordion-header button.collapsed::after {
  font-size: 18px !important;
}

body.kabuku-prototype .kabuku-faq-area .section-inner .section-content-area .accordion-one .accordion-body {
  padding-top: 16px !important;
}

body.kabuku-prototype .kabuku-faq-area .section-inner .section-content-area .accordion-one .accordion-body p {
  font-weight: 400 !important;
  color: var(--color-body-1) !important;
  line-height: 1.65 !important;
}

/* ── CTA ── */
body.kabuku-prototype .kabuku-cta-area {
  background-color: var(--kabuku-dark-bg) !important;
  background-image: var(--kabuku-dark-grid) !important;
  background-size: var(--kabuku-grid-size) !important;
}

body.kabuku-prototype .kabuku-cta-area .container {
  background-color: var(--kabuku-dark-bg) !important;
  background-image: var(--kabuku-dark-grid) !important;
  background-size: var(--kabuku-grid-size) !important;
}

body.kabuku-prototype .kabuku-cta-area .section-inner {
  padding: var(--kabuku-space-y) var(--kabuku-space-x) !important;
  background: transparent !important;
  border-radius: 0 !important;
  overflow: visible;
}

body.kabuku-prototype #auditoria + .kabuku-cta-area .section-inner {
  padding-top: var(--kabuku-space-y) !important;
}

body.kabuku-prototype .kabuku-cta-area .section-title-area {
  text-align: center;
  max-width: 760px;
  margin: 0 auto;
  padding: 0 !important;
}

body.kabuku-prototype .kabuku-cta-area .section-title,
body.kabuku-prototype .kabuku-cta-area .section-inner .section-title {
  font-family: var(--font-primary) !important;
  font-size: clamp(32px, 4.5vw, 52px) !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.03em;
  margin-bottom: 0 !important;
  color: #fff !important;
  background: none !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
  -webkit-text-fill-color: #fff !important;
  text-transform: none !important;
}

body.kabuku-prototype .kabuku-cta-area .kabuku-cta-lead {
  margin-top: 24px;
}

body.kabuku-prototype .kabuku-cta-area .kabuku-cta-btns {
  margin-top: 8px;
  margin-bottom: 0;
}

/* ── Contacto ── */
body.kabuku-prototype .kabuku-contact-area {
  padding: var(--kabuku-space-y) 0 var(--kabuku-space-section-bottom) !important;
  background-color: var(--kabuku-surface-bg) !important;
  background-image: var(--kabuku-surface-grid) !important;
  background-size: var(--kabuku-grid-size) !important;
}

body.kabuku-prototype .kabuku-contact-area .section-inner,
body.kabuku-prototype .kabuku-contact-area .kabuku-contact-shell {
  background: #fff !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  align-items: center;
  gap: clamp(32px, 5vw, 64px);
  padding: clamp(36px, 5vw, 56px) clamp(28px, 4vw, 52px) !important;
  border-radius: 28px !important;
  box-shadow: 0 24px 64px rgba(13, 13, 13, 0.07) !important;
  border: 1px solid rgba(13, 13, 13, 0.05) !important;
}

body.kabuku-prototype .kabuku-contact-area:has(+ .kabuku-faq-area) .section-inner,
body.kabuku-prototype .kabuku-contact-area:has(+ .kabuku-faq-area) .kabuku-contact-shell {
  padding-bottom: clamp(36px, 5vw, 56px) !important;
}

body.kabuku-prototype .kabuku-contact-intro {
  display: flex;
  flex-direction: column;
  gap: 18px;
  max-width: 520px;
}

body.kabuku-prototype .kabuku-contact-eyebrow {
  margin: 0;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(13, 13, 13, 0.42);
}

body.kabuku-prototype .kabuku-contact-title {
  margin: 0;
  font-family: var(--font-primary);
  font-size: clamp(34px, 4.2vw, 52px);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -0.03em;
  color: var(--kabuku-black);
}

body.kabuku-prototype .kabuku-contact-lead {
  margin: 0;
  font-size: 15px;
  line-height: 1.7;
  color: rgba(13, 13, 13, 0.58);
  max-width: 460px;
}

body.kabuku-prototype .kabuku-contact-channels {
  display: flex;
  flex-direction: column;
  gap: 18px;
  margin-top: 8px;
}

body.kabuku-prototype .kabuku-contact-channel {
  display: flex;
  align-items: center;
  gap: 16px;
  text-decoration: none;
  color: inherit;
  transition: transform 0.22s cubic-bezier(0.22, 1, 0.36, 1);
}

body.kabuku-prototype .kabuku-contact-channel:hover {
  transform: translateX(4px);
}

body.kabuku-prototype .kabuku-contact-channel-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 52px;
  height: 52px;
  border-radius: 14px;
  background: rgba(232, 49, 42, 0.1);
  color: var(--kabuku-red);
  font-size: 20px;
}

body.kabuku-prototype .kabuku-contact-channel-body {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

body.kabuku-prototype .kabuku-contact-channel-label {
  font-size: 12px;
  font-weight: 600;
  color: rgba(13, 13, 13, 0.45);
}

body.kabuku-prototype .kabuku-contact-channel-value {
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 700;
  color: var(--kabuku-black);
  line-height: 1.3;
  word-break: break-word;
}

body.kabuku-prototype .kabuku-contact-channel:hover .kabuku-contact-channel-value {
  color: var(--kabuku-red);
}

body.kabuku-prototype .kabuku-contact-location {
  margin: 4px 0 0;
  font-size: 14px;
  line-height: 1.6;
  color: rgba(13, 13, 13, 0.52);
}

body.kabuku-prototype .kabuku-contact-location a {
  color: var(--kabuku-red);
  font-weight: 600;
  text-decoration: none;
}

body.kabuku-prototype .kabuku-contact-location a:hover {
  text-decoration: underline;
  text-underline-offset: 2px;
}

body.kabuku-prototype .kabuku-contact-area .contact-form-area,
body.kabuku-prototype .kabuku-contact-form-card {
  flex: none;
  max-width: none !important;
  width: 100%;
  margin: 0 !important;
  padding: clamp(28px, 3.5vw, 36px) clamp(24px, 3vw, 32px) !important;
  background: #fff !important;
  border-radius: 24px !important;
  box-shadow: 0 16px 48px rgba(13, 13, 13, 0.08) !important;
  border: 1px solid rgba(13, 13, 13, 0.05) !important;
}

body.kabuku-prototype .kabuku-contact-area .contact-form-area form .single-input {
  margin-bottom: 18px !important;
}

body.kabuku-prototype .kabuku-contact-area .contact-form-area form .single-input label {
  display: block;
  color: var(--kabuku-black) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  margin-bottom: 8px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

body.kabuku-prototype .kabuku-contact-area .contact-form-area form .single-input input,
body.kabuku-prototype .kabuku-contact-area .contact-form-area form .single-input textarea,
body.kabuku-prototype .kabuku-contact-area .contact-form-area form .single-input select {
  width: 100%;
  color: var(--kabuku-black) !important;
  background: #f4f4f4 !important;
  border: 1px solid rgba(13, 13, 13, 0.06) !important;
  border-radius: 12px !important;
  padding: 14px 16px !important;
  font-family: var(--font-primary) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
  appearance: none;
}

body.kabuku-prototype .kabuku-contact-area .contact-form-area form .single-input select {
  cursor: pointer;
  background-image:
    linear-gradient(45deg, transparent 50%, rgba(13, 13, 13, 0.45) 50%),
    linear-gradient(135deg, rgba(13, 13, 13, 0.45) 50%, transparent 50%) !important;
  background-position:
    calc(100% - 22px) calc(50% + 2px),
    calc(100% - 16px) calc(50% + 2px) !important;
  background-size: 6px 6px, 6px 6px !important;
  background-repeat: no-repeat !important;
  padding-right: 40px !important;
}

body.kabuku-prototype .kabuku-contact-area .contact-form-area form .single-input textarea {
  min-height: 120px;
  resize: vertical;
}

body.kabuku-prototype .kabuku-contact-area .contact-form-area form .single-input input::placeholder,
body.kabuku-prototype .kabuku-contact-area .contact-form-area form .single-input textarea::placeholder {
  color: rgba(13, 13, 13, 0.38) !important;
  font-weight: 400 !important;
}

body.kabuku-prototype .kabuku-contact-area .contact-form-area form .single-input input:focus,
body.kabuku-prototype .kabuku-contact-area .contact-form-area form .single-input textarea:focus,
body.kabuku-prototype .kabuku-contact-area .contact-form-area form .single-input select:focus {
  outline: none !important;
  border-color: rgba(232, 49, 42, 0.35) !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(232, 49, 42, 0.08) !important;
}

body.kabuku-prototype .kabuku-contact-area .contact-form-area form .form-btn-area {
  margin-top: 24px !important;
}

body.kabuku-prototype .kabuku-contact-submit.wpr-btn {
  display: inline-flex !important;
  align-items: center;
  gap: 14px;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 54px;
  padding: 10px 22px 10px 10px !important;
  border-radius: 999px !important;
  justify-content: flex-start !important;
}

body.kabuku-prototype .kabuku-contact-submit-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #fff;
  color: var(--kabuku-red);
  font-size: 14px;
}

/* ── Footer ── */
body.kabuku-prototype .kabuku-footer-area {
  background-color: var(--kabuku-dark-bg) !important;
  background-image: var(--kabuku-dark-grid) !important;
  background-size: var(--kabuku-grid-size) !important;
}

body.kabuku-prototype .kabuku-footer-area .section-inner {
  background: transparent !important;
}

body.kabuku-prototype .kabuku-footer-area .footer-top {
  padding: var(--kabuku-space-y) var(--kabuku-space-x) !important;
}

body.kabuku-prototype .kabuku-footer-area .footer-top ul {
  justify-content: center !important;
  gap: 32px !important;
}

body.kabuku-prototype .kabuku-footer-area .footer-top ul li a {
  font-size: 16px !important;
  font-weight: 600 !important;
  color: rgba(255, 255, 255, 0.88) !important;
}

body.kabuku-prototype .kabuku-footer-area .footer-top ul li a:hover {
  color: #fff !important;
}

body.kabuku-prototype .kabuku-footer-area .footer-top ul li a::after {
  background: var(--kabuku-red) !important;
}

body.kabuku-prototype .kabuku-footer-area .footer-logo-area {
  padding: 56px 0 !important;
  border: none !important;
}

body.kabuku-prototype .kabuku-footer-area .copyright-area {
  padding: var(--kabuku-space-gap) var(--kabuku-space-x) calc(var(--kabuku-space-y) + 8px) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

body.kabuku-prototype .kabuku-footer-area .copyright-area .left-social-area ul li a {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: rgba(255, 255, 255, 0.72) !important;
}

body.kabuku-prototype .kabuku-footer-area .copyright-area .left-social-area ul li a:hover {
  color: #fff !important;
}

body.kabuku-prototype .kabuku-footer-area .copyright-area .left-social-area ul li a::after {
  background: var(--kabuku-red) !important;
}

body.kabuku-prototype .kabuku-footer-area .copyright-area p.copyright {
  font-size: 13px !important;
  color: rgba(255, 255, 255, 0.5) !important;
}

body.kabuku-prototype .kabuku-footer-area .copyright-area .scroll-top-btn {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #fff !important;
  background: transparent !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  border-radius: var(--kabuku-btn-radius) !important;
  padding: 8px 16px !important;
}

body.kabuku-prototype .kabuku-footer-area .copyright-area .scroll-top-btn:hover {
  border-color: rgba(255, 255, 255, 0.4) !important;
  color: #fff !important;
}

body.kabuku-prototype .kabuku-footer-area .copyright-area .scroll-top-btn svg path {
  fill: #fff !important;
}

body.kabuku-prototype .wpr-brand-area .section-inner {
  padding: var(--kabuku-space-gap-sm) 0 !important;
}

/* Sin líneas divisorias — secciones, grillas y template Agenio */
body.kabuku-prototype section,
body.kabuku-prototype section .section-inner,
body.kabuku-prototype section .section-inner.border-1,
body.kabuku-prototype .border-1,
body.kabuku-prototype .border-top,
body.kabuku-prototype .border-bottom,
body.kabuku-prototype .border-left,
body.kabuku-prototype .border-right,
body.kabuku-prototype .wpr-content-area.border-1,
body.kabuku-prototype .wpr-why-choose-us-area .wpr-content-area {
  border: none !important;
}

body.kabuku-prototype .wpr-brand-area .section-inner,
body.kabuku-prototype .wpr-brand-area .section-inner .right-marquee-area,
body.kabuku-prototype .wpr-brand-area .section-inner .right-marquee-area .brand-wrapper,
body.kabuku-prototype .wpr-brand-area .section-inner .right-marquee-area .brand-wrapper.kabuku-brand-item {
  border: none !important;
}

body.kabuku-prototype .wpr-services-area .section-bottom-content,
body.kabuku-prototype .wpr-services-area .section-bottom-content .service-wrapper,
body.kabuku-prototype .wpr-services-area .section-bottom-content .service-wrapper .content .bottom ul {
  border: none !important;
}

body.kabuku-prototype .wpr-pricing-plans-area .section-mid-area,
body.kabuku-prototype .wpr-pricing-plans-area .pricing-inner {
  border: none !important;
}

body.kabuku-prototype .wpr-contact-area .section-inner .contact-form-area {
  border-left: none !important;
}

body.kabuku-prototype .wpr-footer-area .footer-top ul li.square-dot {
  display: none !important;
}

body.kabuku-prototype .wpr-project-area .swiper-navigation .swiper-btn,
body.kabuku-prototype .wpr-testimonials-area .swiper-navigation .swiper-btn {
  border: none !important;
}

body.kabuku-prototype .why-choose-wrapper2 {
  border: none !important;
}

body.kabuku-prototype .wpr-cta-area .section-bottom-shape {
  border: none !important;
}

@media (max-width: 1440px) {
  body.kabuku-prototype section {
    border: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.kabuku-prototype .wpr-btn,
  body.kabuku-prototype .wpr-btn.btn-primary,
  body.kabuku-prototype .wpr-btn.btn-white {
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
  }

  body.kabuku-prototype .wpr-btn:hover {
    transform: none !important;
  }
}

@media (max-width: 991px) {
  body.kabuku-prototype .kabuku-modular-grid {
    padding: 0 24px;
  }

  body.kabuku-prototype .kabuku-services-extra {
    padding: 24px 24px 0;
  }

  body.kabuku-prototype .kabuku-contact-area .section-inner,
  body.kabuku-prototype .kabuku-contact-area .kabuku-contact-shell {
    grid-template-columns: 1fr;
  }

  body.kabuku-prototype .kabuku-contact-area .contact-form-area,
  body.kabuku-prototype .kabuku-contact-form-card {
    max-width: 100% !important;
  }

  body.kabuku-prototype .kabuku-footer-area .copyright-area {
    flex-wrap: wrap;
    gap: 16px;
    justify-content: center;
    text-align: center;
  }

  body.kabuku-prototype .kabuku-footer-area .copyright-area .left-social-area {
    width: 100%;
    justify-content: center;
  }

  body.kabuku-prototype .kabuku-footer-area .copyright-area .left-social-area ul {
    justify-content: center;
    flex-wrap: wrap;
  }
}

/* Casos — «Ver más» siempre negro (por encima del sistema btn-primary) */
body.kabuku-prototype .kabuku-casos-area .kabuku-caso-more.wpr-btn,
body.kabuku-prototype .kabuku-casos-area button.kabuku-caso-more.wpr-btn,
body.kabuku-prototype .kabuku-casos-area .kabuku-caso-more.wpr-btn.btn-primary,
body.kabuku-prototype .kabuku-casos-area button.kabuku-caso-more.wpr-btn.btn-primary {
  background: var(--kabuku-black) !important;
  background-image: none !important;
  border-color: var(--kabuku-black) !important;
  color: #fff !important;
  box-shadow: none !important;
}

body.kabuku-prototype .kabuku-casos-area .kabuku-caso-more.wpr-btn:hover,
body.kabuku-prototype .kabuku-casos-area button.kabuku-caso-more.wpr-btn:hover,
body.kabuku-prototype .kabuku-casos-area .kabuku-caso-more.wpr-btn.btn-primary:hover,
body.kabuku-prototype .kabuku-casos-area button.kabuku-caso-more.wpr-btn.btn-primary:hover {
  background: #1a1a1a !important;
  background-image: none !important;
  border-color: #1a1a1a !important;
  color: #fff !important;
  box-shadow: 0 10px 28px rgba(13, 13, 13, 0.18) !important;
}

/* ── Mobile polish ── */
@media (max-width: 767px) {
  body.kabuku-prototype.kabuku-hero-v2-page,
  body.kabuku-prototype {
    overflow-x: hidden;
  }

  body.kabuku-prototype .wpr-brand-area.kabuku-brand-band .section-inner .left-text {
    flex: 0 0 112px;
    width: 112px;
    min-width: 112px;
    max-width: 112px;
    height: 72px;
    padding: 12px;
  }

  body.kabuku-prototype .kabuku-brand-band-logo img {
    height: 32px;
  }

  body.kabuku-prototype .kabuku-protocolo-timeline {
    padding: 0 16px 8px 56px;
  }

  body.kabuku-prototype .kabuku-protocolo-node {
    left: -56px;
  }

  body.kabuku-prototype .kabuku-protocolo-track {
    left: 19px;
  }

  body.kabuku-prototype .kabuku-protocolo-lead {
    font-size: 16px;
    margin-top: 16px !important;
  }

  body.kabuku-prototype .kabuku-cta-area .section-inner {
    padding: 44px 20px !important;
  }

  body.kabuku-prototype .kabuku-cta-area .section-title,
  body.kabuku-prototype .kabuku-cta-area .section-inner .section-title {
    font-size: clamp(26px, 7vw, 34px) !important;
    line-height: 1.2 !important;
  }

  body.kabuku-prototype .kabuku-cta-lead {
    font-size: 15px;
    margin: 16px auto 20px;
    line-height: 1.6;
  }

  body.kabuku-prototype .kabuku-cta-btns {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    gap: 12px;
    margin-top: 4px;
  }

  body.kabuku-prototype .kabuku-cta-btns .wpr-btn {
    width: 100% !important;
    max-width: 100% !important;
    justify-content: center;
  }

  body.kabuku-prototype .kabuku-casos-slider-wrap {
    padding: 0 16px 16px;
  }

  body.kabuku-prototype .kabuku-caso-body {
    padding: 18px 18px 22px;
  }

  body.kabuku-prototype .kabuku-services-row {
    padding: 16px;
  }

  body.kabuku-prototype .kabuku-services-row-media {
    min-height: 180px;
  }

  body.kabuku-prototype .kabuku-services-cierre-btn,
  body.kabuku-prototype #auditoria .wpr-btn.btn-primary {
    width: 100%;
    max-width: 100%;
    justify-content: center;
  }

  body.kabuku-prototype #auditoria .pricing-wrapper {
    padding: 28px 20px 32px !important;
  }

  body.kabuku-prototype #auditoria .pricing-wrapper .pricing-header .title {
    font-size: clamp(20px, 5.5vw, 26px) !important;
    line-height: 1.3 !important;
  }

  body.kabuku-prototype .kabuku-contact-area {
    padding: 48px 0 64px !important;
  }

  body.kabuku-prototype .kabuku-contact-area .section-inner,
  body.kabuku-prototype .kabuku-contact-area .kabuku-contact-shell {
    padding: 28px 20px !important;
    border-radius: 22px !important;
  }

  body.kabuku-prototype .kabuku-contact-area .contact-form-area,
  body.kabuku-prototype .kabuku-contact-form-card {
    padding: 24px 18px !important;
    border-radius: 18px !important;
  }

  body.kabuku-prototype .kabuku-contact-area .contact-form-area form .single-input input,
  body.kabuku-prototype .kabuku-contact-area .contact-form-area form .single-input textarea {
    font-size: 16px !important;
  }

  body.kabuku-prototype .kabuku-contact-area .contact-form-area form .form-btn-area button {
    width: 100% !important;
    max-width: 100% !important;
    justify-content: center;
  }

  body.kabuku-prototype .kabuku-faq-area .section-inner .section-content-area .accordion-one .accordion-item {
    padding: 18px 20px !important;
  }

  body.kabuku-prototype .kabuku-faq-area .section-inner .section-content-area .accordion-one .accordion-header button {
    font-size: 15px !important;
    line-height: 1.4 !important;
  }

  body.kabuku-prototype .kabuku-footer-area .footer-top ul {
    gap: 12px 18px !important;
    flex-wrap: wrap;
    justify-content: center !important;
  }

  body.kabuku-prototype .kabuku-footer-area .footer-top ul li a {
    font-size: 13px;
  }

  body.kabuku-prototype .kabuku-footer-area .footer-logo-area {
    padding: 40px 20px !important;
  }

  body.kabuku-prototype .kabuku-footer-area .footer-logo-area > a img {
    max-width: min(280px, 72vw);
  }

  body.kabuku-prototype .kabuku-footer-area .copyright-area {
    padding: 24px 20px 36px !important;
  }

  body.kabuku-prototype .kabuku-footer-area .copyright-area .scroll-top-btn {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 575px) {
  body.kabuku-prototype .wpr-brand-area.kabuku-brand-band .section-inner {
    flex-direction: column;
    align-items: stretch;
  }

  body.kabuku-prototype .wpr-brand-area.kabuku-brand-band .section-inner .left-text {
    flex: 0 0 auto;
    width: 100%;
    min-width: 0;
    max-width: none;
    height: auto;
    padding: 14px 16px;
    border-bottom: 1px solid rgba(13, 13, 13, 0.06);
  }

  body.kabuku-prototype .wpr-brand-area.kabuku-brand-band .section-inner .right-marquee-area {
    width: 100%;
    min-height: 72px;
  }

  body.kabuku-prototype .kabuku-problema-title {
    font-size: clamp(18px, 5vw, 22px) !important;
  }
}


/* ========== Casos grid (home + proyectos) ========== */
body.kabuku-prototype .kabuku-casos-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  padding: 8px var(--kabuku-space-x, 24px) 8px;
}

body.kabuku-prototype .kabuku-casos-grid--page {
  padding-top: 0;
}

body.kabuku-prototype .kabuku-casos-grid .kabuku-caso-card {
  height: 100%;
}

body.kabuku-prototype .kabuku-casos-cta {
  flex-wrap: wrap;
  gap: 12px 16px;
}

body.kabuku-prototype .kabuku-casos-cta .wpr-btn {
  margin: 0;
}

body.kabuku-prototype a.wpr-btn.kabuku-btn-outline,
body.kabuku-prototype .wpr-btn.kabuku-btn-outline {
  background: transparent !important;
  color: var(--kabuku-black, #0D0D0D) !important;
  border: 1.5px solid var(--kabuku-black, #0D0D0D) !important;
  box-shadow: none !important;
}

body.kabuku-prototype a.wpr-btn.kabuku-btn-outline:hover,
body.kabuku-prototype .wpr-btn.kabuku-btn-outline:hover {
  background: var(--kabuku-black, #0D0D0D) !important;
  color: #fff !important;
}

body.kabuku-prototype .kabuku-casos-area .kabuku-casos-cta a.wpr-btn.kabuku-btn-outline {
  background: transparent !important;
  color: var(--kabuku-black, #0D0D0D) !important;
  border: 1.5px solid var(--kabuku-black, #0D0D0D) !important;
}

body.kabuku-prototype .kabuku-casos-area .kabuku-casos-cta a.wpr-btn.kabuku-btn-outline:hover {
  background: var(--kabuku-black, #0D0D0D) !important;
  color: #fff !important;
}

/* ========== Blog home ========== */
body.kabuku-prototype .kabuku-blog-area,
body.kabuku-prototype .kabuku-blog-area .container,
body.kabuku-prototype .kabuku-blog-shell {
  width: 100%;
}

body.kabuku-prototype .kabuku-blog-shell {
  background: #fff;
  border: 1px solid rgba(13, 13, 13, 0.06);
}

body.kabuku-prototype .kabuku-blog-header {
  text-align: center;
  padding: var(--kabuku-space-section-top, 48px) var(--kabuku-space-x, 24px) 12px;
}

body.kabuku-prototype .kabuku-blog-lead,
body.kabuku-prototype .kabuku-casos-lead {
  max-width: 560px;
  margin: 14px auto 0;
  font-size: 16px;
  line-height: 1.55;
  color: rgba(13, 13, 13, 0.72);
}

body.kabuku-prototype .kabuku-blog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  padding: 20px var(--kabuku-space-x, 24px) 8px;
}

body.kabuku-prototype .kabuku-blog-card {
  display: flex;
  flex-direction: column;
  background: #f7f7f7;
  border: 1px solid rgba(13, 13, 13, 0.06);
  border-radius: 16px;
  overflow: hidden;
  height: 100%;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

body.kabuku-prototype .kabuku-blog-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(13, 13, 13, 0.08);
}

body.kabuku-prototype .kabuku-blog-card__media {
  aspect-ratio: 16 / 10;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  padding: 16px 18px;
  background: #0D0D0D;
  color: #fff;
}

body.kabuku-prototype .kabuku-blog-card__media span {
  font-size: 28px;
  font-weight: 700;
  letter-spacing: -0.03em;
  color: #E8312A;
}

body.kabuku-prototype .kabuku-blog-card__body {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 20px 18px 22px;
  flex: 1;
}

body.kabuku-prototype .kabuku-blog-card__meta {
  margin: 0;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(13, 13, 13, 0.5);
}

body.kabuku-prototype .kabuku-blog-card__title {
  margin: 0;
  font-size: 18px;
  line-height: 1.3;
  font-weight: 700;
  color: #0D0D0D;
}

body.kabuku-prototype .kabuku-blog-card__excerpt {
  margin: 0;
  font-size: 14px;
  line-height: 1.55;
  color: rgba(13, 13, 13, 0.72);
  flex: 1;
}

body.kabuku-prototype .kabuku-blog-card__link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 4px;
  font-size: 14px;
  font-weight: 600;
  color: #E8312A;
  text-decoration: none;
}

body.kabuku-prototype .kabuku-blog-card__link:hover {
  text-decoration: underline;
}

body.kabuku-prototype .kabuku-blog-cta {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px 16px;
  padding: 28px var(--kabuku-space-x, 24px) var(--kabuku-space-section-bottom, 48px);
  text-align: center;
}

/* ========== Subpages hero + blog page ========== */
body.kabuku-prototype.kabuku-subpage .kabuku-page-hero {
  padding: 48px 0 28px;
  background:
    linear-gradient(rgba(13, 13, 13, 0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(13, 13, 13, 0.03) 1px, transparent 1px),
    #f7f7f7;
  background-size: 48px 48px, 48px 48px, auto;
  border-bottom: 1px solid rgba(13, 13, 13, 0.06);
}

body.kabuku-prototype .kabuku-page-hero__eyebrow {
  margin: 0 0 10px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #E8312A;
}

body.kabuku-prototype .kabuku-page-hero__title {
  margin: 0 0 12px;
  font-size: clamp(28px, 4vw, 42px);
  line-height: 1.15;
  font-weight: 800;
  color: #0D0D0D;
}

body.kabuku-prototype .kabuku-page-hero__lead {
  margin: 0;
  max-width: 640px;
  font-size: 17px;
  line-height: 1.55;
  color: rgba(13, 13, 13, 0.72);
}

body.kabuku-prototype .kabuku-blog-page {
  padding: 40px 0 24px;
}

body.kabuku-prototype .kabuku-blog-list {
  display: flex;
  flex-direction: column;
  gap: 28px;
  max-width: 760px;
  margin: 0 auto;
}

body.kabuku-prototype .kabuku-blog-post {
  background: #fff;
  border: 1px solid rgba(13, 13, 13, 0.08);
  border-radius: 18px;
  padding: 28px 28px 32px;
  scroll-margin-top: 100px;
}

body.kabuku-prototype .kabuku-blog-post__meta {
  margin: 0 0 10px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(13, 13, 13, 0.5);
}

body.kabuku-prototype .kabuku-blog-post__title {
  margin: 0 0 16px;
  font-size: clamp(22px, 3vw, 28px);
  line-height: 1.25;
  font-weight: 800;
  color: #0D0D0D;
}

body.kabuku-prototype .kabuku-blog-post__body p,
body.kabuku-prototype .kabuku-blog-post__body li {
  font-size: 16px;
  line-height: 1.65;
  color: rgba(13, 13, 13, 0.82);
}

body.kabuku-prototype .kabuku-blog-post__body p {
  margin: 0 0 14px;
}

body.kabuku-prototype .kabuku-blog-post__body ul,
body.kabuku-prototype .kabuku-blog-post__body ol {
  margin: 0 0 16px;
  padding-left: 1.25rem;
}

body.kabuku-prototype .kabuku-blog-post__body li {
  margin-bottom: 6px;
}

body.kabuku-prototype .main-nav-area a.is-current {
  color: #E8312A !important;
}

@media (max-width: 991px) {
  body.kabuku-prototype .kabuku-blog-grid {
    grid-template-columns: 1fr;
  }

  body.kabuku-prototype .kabuku-casos-grid {
    grid-template-columns: 1fr;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  body.kabuku-prototype .kabuku-casos-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575px) {
  body.kabuku-prototype .kabuku-blog-post {
    padding: 22px 18px 26px;
  }

  body.kabuku-prototype .kabuku-casos-cta .wpr-btn,
  body.kabuku-prototype .kabuku-blog-cta .wpr-btn {
    width: 100%;
    justify-content: center;
  }
}

/* ==========================================================================
   Kabuku v1 — Spacing / size / text placement polish (2026-07-20)
   No palette or brand-style changes. Backup: Web/backups/pre-spacing-opt-*
   ========================================================================== */

/* --- Section vertical rhythm --- */
body.kabuku-prototype .kabuku-problema-area,
body.kabuku-prototype .kabuku-services-area,
body.kabuku-prototype .kabuku-protocolo-area,
body.kabuku-prototype .kabuku-cta-area,
body.kabuku-prototype .kabuku-faq-area,
body.kabuku-prototype #auditoria {
  padding-top: 0 !important;
}

/* Contacto: aire arriba/abajo FUERA de la card blanca (fondo trama) */
body.kabuku-prototype .kabuku-contact-area {
  padding-top: 72px !important;
  padding-bottom: 72px !important;
}

body.kabuku-prototype .kabuku-problema-area .section-inner,
body.kabuku-prototype .kabuku-services-shell,
body.kabuku-prototype .kabuku-protocolo-shell {
  padding-top: 72px !important;
  padding-bottom: 72px !important;
}

/* Card blanca de contacto: padding interno equilibrado (no sustituye el margen de sección) */
body.kabuku-prototype .kabuku-contact-area .section-inner,
body.kabuku-prototype .kabuku-contact-area .kabuku-contact-shell {
  padding-top: clamp(36px, 5vw, 56px) !important;
  padding-bottom: clamp(36px, 5vw, 56px) !important;
  padding-left: clamp(28px, 4vw, 52px) !important;
  padding-right: clamp(28px, 4vw, 52px) !important;
}

body.kabuku-prototype .kabuku-cta-area .section-inner {
  padding-top: 88px !important;
  padding-bottom: 88px !important;
}

body.kabuku-prototype #auditoria .section-inner {
  padding-top: 72px !important;
  padding-bottom: 80px !important;
}

body.kabuku-prototype .kabuku-faq-area .section-inner {
  padding-top: 72px !important;
  padding-bottom: 80px !important;
}

/* Unified section H2 scale + accent gap */
body.kabuku-prototype .kabuku-problema-area .section-title,
body.kabuku-prototype .kabuku-services-header .section-title,
body.kabuku-prototype .kabuku-protocolo-header .section-title,
body.kabuku-prototype .kabuku-faq-header .section-title,
body.kabuku-prototype #auditoria .section-title {
  font-size: clamp(28px, 4vw, 40px) !important;
  line-height: 1.15 !important;
  margin-bottom: 0 !important;
}

body.kabuku-prototype .kabuku-title-accent {
  display: block;
  margin: 12px auto 0 !important;
}

/* --- Problema --- */
body.kabuku-prototype .kabuku-problema-area .section-top-area {
  margin-bottom: 40px !important;
}

body.kabuku-prototype .kabuku-problema-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 28px !important;
  align-items: stretch !important;
}

body.kabuku-prototype .kabuku-problema-card {
  min-height: 100% !important;
  height: 100% !important;
  padding-top: 48px !important;
  padding-bottom: 28px !important;
  padding-left: 22px !important;
  padding-right: 22px !important;
}

body.kabuku-prototype .kabuku-problema-title {
  font-size: 16px !important;
  line-height: 1.4 !important;
  margin-bottom: 14px !important;
  min-height: 4.2em; /* alinear filas de tarjetas */
}

body.kabuku-prototype .kabuku-problema-feel {
  font-size: 13px !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}

body.kabuku-prototype .kabuku-problema-cierre-wrap {
  margin-top: 48px !important;
  display: flex !important;
  justify-content: center !important;
}

body.kabuku-prototype .kabuku-problema-cierre {
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

body.kabuku-prototype .kabuku-problema-cierre-lead {
  font-size: 17px !important;
  line-height: 1.55 !important;
  margin-bottom: 12px !important;
}

body.kabuku-prototype .kabuku-problema-cierre-tagline {
  font-size: 15px !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

/* --- Brand band (cinta) --- */
body.kabuku-prototype .wpr-brand-area .section-inner .left-text {
  flex: 0 0 300px !important;
  width: 300px !important;
  min-width: 280px !important;
  max-width: 320px !important;
  height: 96px !important;
  padding: 16px 20px !important;
}

body.kabuku-prototype .kabuku-brand-band-logo img {
  height: 52px !important;
  max-height: 56px !important;
  max-width: 100% !important;
  width: auto !important;
  object-fit: contain !important;
}

/* --- Servicios --- */
body.kabuku-prototype .kabuku-services-header {
  margin-bottom: 48px !important;
  text-align: center !important;
}

body.kabuku-prototype .kabuku-services-stack {
  display: flex !important;
  flex-direction: column !important;
  gap: 56px !important;
}

body.kabuku-prototype .kabuku-services-row {
  gap: 40px !important;
  align-items: center !important;
}

body.kabuku-prototype .kabuku-services-row-media {
  min-height: 220px !important;
  aspect-ratio: 16 / 10;
  border-radius: 16px !important;
}

body.kabuku-prototype .kabuku-services-row-content {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  max-width: 42ch;
}

body.kabuku-prototype .kabuku-services-row-title {
  font-size: clamp(22px, 2.2vw, 26px) !important;
  line-height: 1.25 !important;
  margin-bottom: 12px !important;
}

body.kabuku-prototype .kabuku-services-row-desc {
  font-size: 15px !important;
  line-height: 1.65 !important;
  margin: 0 !important;
}

body.kabuku-prototype .kabuku-services-cierre {
  margin-top: 56px !important;
  display: flex !important;
  justify-content: center !important;
}

/* --- Protocolo --- */
body.kabuku-prototype .kabuku-protocolo-header {
  margin-bottom: 48px !important;
  text-align: center !important;
}

body.kabuku-prototype .kabuku-protocolo-lead {
  max-width: 640px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-top: 16px !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
}

body.kabuku-prototype .kabuku-protocolo-step {
  margin-bottom: 8px !important;
}

body.kabuku-prototype .kabuku-protocolo-copy {
  padding-left: 8px !important;
}

body.kabuku-prototype .kabuku-protocolo-title {
  margin-bottom: 6px !important;
  font-size: 20px !important;
  line-height: 1.25 !important;
}

body.kabuku-prototype .kabuku-step-intent {
  margin-bottom: 8px !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
}

body.kabuku-prototype .kabuku-protocolo-desc {
  font-size: 14px !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}

body.kabuku-prototype .kabuku-protocolo-area {
  padding-bottom: 56px !important;
}

/* --- CTA negro --- */
body.kabuku-prototype .kabuku-cta-area .section-title {
  max-width: 820px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  line-height: 1.2 !important;
}

body.kabuku-prototype .kabuku-cta-lead {
  max-width: 600px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-top: 20px !important;
  margin-bottom: 32px !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
}

body.kabuku-prototype .kabuku-cta-btns {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 16px !important;
}

/* --- Auditoría / pricing cards --- */
body.kabuku-prototype #auditoria .section-top-area {
  margin-bottom: 40px !important;
}

body.kabuku-prototype #auditoria .section-mid-area {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 32px !important;
  justify-content: center !important;
  align-items: stretch !important;
}

body.kabuku-prototype #auditoria .pricing-inner {
  display: flex !important;
  flex: 1 1 420px !important;
  max-width: 520px !important;
}

body.kabuku-prototype #auditoria .pricing-wrapper {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  min-height: 100% !important;
  padding: 32px !important;
  box-sizing: border-box !important;
}

body.kabuku-prototype #auditoria .pricing-body ul {
  margin: 0 0 8px !important;
  padding-left: 1.1em !important;
}

body.kabuku-prototype #auditoria .pricing-body li {
  margin-bottom: 10px !important;
  line-height: 1.55 !important;
  font-size: 14px !important;
}

body.kabuku-prototype #auditoria .kabuku-pricing-footer {
  margin-top: auto !important;
  padding-top: 20px !important;
}

body.kabuku-prototype #auditoria .kabuku-price-offer {
  margin-bottom: 16px !important;
}

/* --- Contacto --- */
body.kabuku-prototype .kabuku-contact-area .kabuku-contact-shell {
  gap: 48px 64px !important;
  align-items: flex-start !important;
}

body.kabuku-prototype .kabuku-contact-title {
  margin-bottom: 16px !important;
  line-height: 1.2 !important;
}

body.kabuku-prototype .kabuku-contact-lead {
  font-size: 15px !important;
  line-height: 1.6 !important;
  margin-bottom: 28px !important;
  max-width: 42ch;
}

body.kabuku-prototype .kabuku-contact-channels {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
}

body.kabuku-prototype .kabuku-contact-channel {
  min-height: 48px !important;
}

body.kabuku-prototype .kabuku-contact-form-card .single-input {
  margin-bottom: 18px !important;
}

body.kabuku-prototype .kabuku-contact-form-card input,
body.kabuku-prototype .kabuku-contact-form-card select,
body.kabuku-prototype .kabuku-contact-form-card textarea {
  min-height: 48px !important;
  font-size: 16px !important; /* evita zoom iOS */
}

body.kabuku-prototype .kabuku-contact-form-card textarea {
  min-height: 120px !important;
}

body.kabuku-prototype .kabuku-form-note {
  margin-top: 14px !important;
  line-height: 1.5 !important;
}

/* --- FAQ --- */
body.kabuku-prototype .kabuku-faq-header {
  margin-bottom: 36px !important;
  text-align: center !important;
}

body.kabuku-prototype .kabuku-faq-area .accordion-one {
  max-width: 860px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.kabuku-prototype .kabuku-faq-area .accordion-item {
  margin-bottom: 14px !important;
}

body.kabuku-prototype .kabuku-faq-area .accordion-button {
  min-height: 52px !important;
  padding-top: 16px !important;
  padding-bottom: 16px !important;
  line-height: 1.35 !important;
}

body.kabuku-prototype .kabuku-faq-area .accordion-body {
  padding-top: 8px !important;
  padding-bottom: 18px !important;
}

body.kabuku-prototype .kabuku-faq-area .accordion-body .desc {
  font-size: 15px !important;
  line-height: 1.65 !important;
  margin: 0 !important;
}

/* --- Header / footer touch --- */
body.kabuku-prototype .header-style-one .wpr-btn {
  min-height: 44px !important;
}

body.kabuku-prototype .kabuku-footer-area .footer-top ul {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 12px 24px !important;
}

body.kabuku-prototype .kabuku-footer-area .copyright {
  margin-top: 24px !important;
  line-height: 1.5 !important;
}

/* --- Responsive --- */
@media (max-width: 1199px) {
  body.kabuku-prototype .kabuku-problema-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
  }

  body.kabuku-prototype .kabuku-problema-title {
    min-height: 0;
  }
}

@media (max-width: 991px) {
  body.kabuku-prototype .kabuku-services-stack {
    gap: 40px !important;
  }

  body.kabuku-prototype .kabuku-services-row {
    gap: 20px !important;
  }

  body.kabuku-prototype .kabuku-services-row-media {
    min-height: 180px !important;
  }

  body.kabuku-prototype .kabuku-services-row-content {
    max-width: none;
  }

  body.kabuku-prototype .kabuku-contact-area .kabuku-contact-shell {
    gap: 36px !important;
  }

  body.kabuku-prototype .wpr-brand-area .section-inner .left-text {
    flex: 0 0 240px !important;
    width: 240px !important;
    min-width: 200px !important;
    max-width: 260px !important;
  }
}

@media (max-width: 767px) {
  body.kabuku-prototype .kabuku-problema-area .section-inner,
  body.kabuku-prototype .kabuku-services-shell,
  body.kabuku-prototype .kabuku-protocolo-shell,
  body.kabuku-prototype .kabuku-contact-shell,
  body.kabuku-prototype #auditoria .section-inner,
  body.kabuku-prototype .kabuku-faq-area .section-inner {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }

  body.kabuku-prototype .kabuku-cta-area .section-inner {
    padding-top: 56px !important;
    padding-bottom: 56px !important;
  }

  body.kabuku-prototype .kabuku-problema-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  body.kabuku-prototype .kabuku-problema-card {
    padding: 40px 18px 22px !important;
  }

  body.kabuku-prototype .kabuku-problema-cierre-wrap {
    margin-top: 32px !important;
  }

  body.kabuku-prototype .kabuku-problema-cierre-lead {
    font-size: 15px !important;
  }

  body.kabuku-prototype .kabuku-services-stack {
    gap: 36px !important;
  }

  body.kabuku-prototype .kabuku-services-cierre {
    margin-top: 40px !important;
  }

  body.kabuku-prototype .kabuku-services-cierre .wpr-btn,
  body.kabuku-prototype .kabuku-cta-btns .wpr-btn {
    width: 100% !important;
    justify-content: center !important;
  }

  body.kabuku-prototype .kabuku-cta-btns {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
  }

  body.kabuku-prototype #auditoria .pricing-wrapper {
    padding: 24px 20px !important;
  }

  body.kabuku-prototype .kabuku-faq-area .accordion-one {
    max-width: 100% !important;
  }

  body.kabuku-prototype .wpr-brand-area .section-inner .left-text {
    flex: 0 0 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    padding: 16px 20px !important;
  }

  body.kabuku-prototype .kabuku-brand-band-logo img {
    height: 40px !important;
  }

  body.kabuku-prototype .kabuku-footer-area .footer-top ul {
    gap: 10px 16px !important;
  }
}

/* --- FAQ: título alineado a otras secciones --- */
body.kabuku-prototype .kabuku-faq-area .section-inner {
  padding-top: 72px !important;
  padding-bottom: 72px !important;
}

body.kabuku-prototype .kabuku-faq-header {
  margin-bottom: 40px !important;
  text-align: center !important;
}

body.kabuku-prototype .kabuku-faq-header .section-title {
  font-size: clamp(28px, 4vw, 40px) !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  opacity: 1 !important;
  color: var(--kabuku-black) !important;
}

body.kabuku-prototype .kabuku-faq-header .kabuku-title-accent {
  width: auto !important;
  height: auto !important;
  margin: 12px auto 0 !important;
  opacity: 1 !important;
}

body.kabuku-prototype .kabuku-faq-area .accordion-one {
  max-width: 720px !important;
}

body.kabuku-prototype .kabuku-faq-area .accordion-item {
  margin-bottom: 8px !important;
  border: 1px solid rgba(13,13,13,0.08) !important;
  background: #fafafa !important;
  box-shadow: none !important;
}

body.kabuku-prototype .kabuku-faq-area .accordion-button {
  min-height: 44px !important;
  padding: 12px 16px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  background: transparent !important;
}

body.kabuku-prototype .kabuku-faq-area .accordion-body {
  padding: 0 16px 12px !important;
}

body.kabuku-prototype .kabuku-faq-area .accordion-body .desc {
  font-size: 13.5px !important;
  line-height: 1.55 !important;
  color: rgba(13,13,13,0.65) !important;
}

@media (max-width: 767px) {
  body.kabuku-prototype .kabuku-faq-area .section-inner {
    padding-top: 32px !important;
    padding-bottom: 36px !important;
  }
}

/* --- FAQ finer containers + chevron down arrow --- */
body.kabuku-prototype .kabuku-faq-area .accordion-one {
  max-width: 680px !important;
}

body.kabuku-prototype .kabuku-faq-area .accordion-item,
body.kabuku-prototype .kabuku-faq-area .section-inner .section-content-area .accordion-one .accordion-item {
  margin-bottom: 6px !important;
  padding: 0 !important;
  border: 1px solid rgba(13, 13, 13, 0.07) !important;
  border-radius: 8px !important;
  background: #fbfbfb !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

body.kabuku-prototype .kabuku-faq-area .accordion-button,
body.kabuku-prototype .kabuku-faq-area .section-inner .section-content-area .accordion-one .accordion-header button {
  min-height: 40px !important;
  padding: 10px 40px 10px 14px !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  color: var(--kabuku-black) !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.kabuku-prototype .kabuku-faq-area .accordion-button:not(.collapsed) {
  background: transparent !important;
  box-shadow: none !important;
  color: var(--kabuku-black) !important;
}

/* Flecha abierta hacia abajo (chevron) en vez de + */
body.kabuku-prototype .kabuku-faq-area .accordion-button::after,
body.kabuku-prototype .kabuku-faq-area .section-inner .section-content-area .accordion-one .accordion-header button::after {
  content: "" !important;
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  margin-left: 0 !important;
  position: absolute !important;
  right: 14px !important;
  top: 50% !important;
  transform: translateY(-50%) rotate(0deg) !important;
  background-color: transparent !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M3.5 5.75L8 10.25L12.5 5.75' stroke='%230D0D0D' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 16px 16px !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;
  transition: transform 0.2s ease !important;
}

/* Abierto: flecha hacia arriba */
body.kabuku-prototype .kabuku-faq-area .accordion-button:not(.collapsed)::after,
body.kabuku-prototype .kabuku-faq-area .section-inner .section-content-area .accordion-one .accordion-header button:not(.collapsed)::after {
  transform: translateY(-50%) rotate(180deg) !important;
  background: transparent !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M3.5 5.75L8 10.25L12.5 5.75' stroke='%23E8312A' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 16px 16px !important;
}

body.kabuku-prototype .kabuku-faq-area .section-inner .section-content-area .accordion-one .accordion-header button.collapsed::after {
  font-size: 0 !important;
}

body.kabuku-prototype .kabuku-faq-area .accordion-body,
body.kabuku-prototype .kabuku-faq-area .section-inner .section-content-area .accordion-one .accordion-body {
  padding: 0 14px 12px !important;
}

body.kabuku-prototype .kabuku-faq-area .accordion-body .desc,
body.kabuku-prototype .kabuku-faq-area .section-inner .section-content-area .accordion-one .accordion-body p {
  font-size: 13px !important;
  line-height: 1.55 !important;
  color: rgba(13, 13, 13, 0.62) !important;
  margin: 0 !important;
}

body.kabuku-prototype .kabuku-faq-area .accordion-button {
  position: relative !important;
}

/* --- FAQ: más anchos (a los extremos) + texto legible --- */
body.kabuku-prototype .kabuku-faq-area .accordion-one,
body.kabuku-prototype .kabuku-faq-area .section-inner .section-content-area .accordion-one {
  max-width: 100% !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.kabuku-prototype .kabuku-faq-area .section-inner .section-content-area {
  padding-left: clamp(16px, 3vw, 32px) !important;
  padding-right: clamp(16px, 3vw, 32px) !important;
}

body.kabuku-prototype .kabuku-faq-area .accordion-item,
body.kabuku-prototype .kabuku-faq-area .section-inner .section-content-area .accordion-one .accordion-item {
  margin-bottom: 8px !important;
  border-radius: 10px !important;
}

body.kabuku-prototype .kabuku-faq-area .accordion-button,
body.kabuku-prototype .kabuku-faq-area .section-inner .section-content-area .accordion-one .accordion-header button {
  min-height: 52px !important;
  padding: 16px 48px 16px 22px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
}

body.kabuku-prototype .kabuku-faq-area .accordion-button::after,
body.kabuku-prototype .kabuku-faq-area .section-inner .section-content-area .accordion-one .accordion-header button::after {
  right: 18px !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  background-size: 18px 18px !important;
}

body.kabuku-prototype .kabuku-faq-area .accordion-body,
body.kabuku-prototype .kabuku-faq-area .section-inner .section-content-area .accordion-one .accordion-body {
  padding: 0 22px 18px !important;
}

body.kabuku-prototype .kabuku-faq-area .accordion-body .desc,
body.kabuku-prototype .kabuku-faq-area .section-inner .section-content-area .accordion-one .accordion-body p {
  font-size: 15px !important;
  line-height: 1.65 !important;
  color: rgba(13, 13, 13, 0.68) !important;
}

/* FAQ H2: mismo estándar que Problema / Servicios / Protocolo */
body.kabuku-prototype .kabuku-faq-header .section-title,
body.kabuku-prototype .kabuku-faq-area .kabuku-faq-header .section-title {
  font-size: clamp(28px, 4vw, 40px) !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  opacity: 1 !important;
}

@media (max-width: 767px) {
  body.kabuku-prototype .kabuku-faq-area .accordion-button,
  body.kabuku-prototype .kabuku-faq-area .section-inner .section-content-area .accordion-one .accordion-header button {
    min-height: 48px !important;
    padding: 14px 42px 14px 16px !important;
    font-size: 15px !important;
  }

  body.kabuku-prototype .kabuku-faq-area .accordion-body .desc,
  body.kabuku-prototype .kabuku-faq-area .section-inner .section-content-area .accordion-one .accordion-body p {
    font-size: 14.5px !important;
  }

  body.kabuku-prototype .kabuku-faq-header .section-title {
    font-size: clamp(28px, 7vw, 36px) !important;
  }
}

/* Fix final: Conversemos — margen superior de sección */
body.kabuku-prototype section#contact.kabuku-contact-area,
body.kabuku-prototype .wpr-contact-area.kabuku-contact-area {
  padding-top: 72px !important;
  padding-bottom: 72px !important;
  margin-top: 0 !important;
}

@media (max-width: 767px) {
  body.kabuku-prototype section#contact.kabuku-contact-area,
  body.kabuku-prototype .wpr-contact-area.kabuku-contact-area {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }
}

/* Rojo en palabra clave de títulos de servicios: hereda peso del h3 */
body.kabuku-prototype .kabuku-services-row-title .kabuku-text-red {
  color: var(--kabuku-red, #E8312A) !important;
  font-weight: inherit;
}

/* Títulos de servicios en 2 líneas: ritmo limpio */
body.kabuku-prototype .kabuku-services-row-title {
  line-height: 1.2 !important;
}

body.kabuku-prototype .kabuku-services-row-title br {
  display: block;
  content: "";
  margin: 0;
}

/* Eyebrow de una palabra en filas de servicios */
body.kabuku-prototype .kabuku-services-row-eyebrow {
  margin: 0 0 10px !important;
  padding: 0 !important;
  font-family: var(--font-primary) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  line-height: 1.2 !important;
  color: var(--kabuku-red, #E8312A) !important;
}

/* --- Cierre problema: jerarquía visual fuerte y centrada --- */
body.kabuku-prototype .kabuku-problema-cierre-wrap {
  margin-top: 56px !important;
  margin-bottom: 8px !important;
  display: flex !important;
  justify-content: center !important;
  padding-left: clamp(16px, 4vw, 40px) !important;
  padding-right: clamp(16px, 4vw, 40px) !important;
}

body.kabuku-prototype .kabuku-problema-cierre {
  width: 100% !important;
  max-width: 720px !important;
  margin: 0 auto !important;
  padding: 36px 28px 40px !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 0 !important;
  background: #fff !important;
  border: 1px solid rgba(13, 13, 13, 0.06) !important;
  border-radius: 20px !important;
  box-shadow: 0 16px 48px rgba(13, 13, 13, 0.05) !important;
}

body.kabuku-prototype .kabuku-problema-cierre-kicker {
  margin: 0 0 16px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--kabuku-red, #E8312A) !important;
  line-height: 1.2 !important;
}

body.kabuku-prototype .kabuku-problema-cierre-lead {
  margin: 0 0 20px !important;
  max-width: 34em !important;
  font-size: clamp(22px, 2.8vw, 30px) !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  color: var(--kabuku-black, #0D0D0D) !important;
  text-align: center !important;
  white-space: normal !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 8px !important;
}

body.kabuku-prototype .kabuku-problema-cierre-lead-main {
  display: block !important;
  font-weight: 800 !important;
  font-size: 1.05em !important;
  letter-spacing: -0.02em !important;
  line-height: 1.2 !important;
}

body.kabuku-prototype .kabuku-problema-cierre-lead-em {
  display: block !important;
  font-weight: 500 !important;
  font-size: 0.92em !important;
  color: rgba(13, 13, 13, 0.72) !important;
  line-height: 1.4 !important;
  max-width: 22em !important;
}

body.kabuku-prototype .kabuku-problema-cierre-accent,
body.kabuku-prototype .kabuku-problema-cierre .kabuku-title-accent {
  display: block !important;
  width: 40px !important;
  height: 3px !important;
  margin: 4px auto 20px !important;
  background: var(--kabuku-red, #E8312A) !important;
  border-radius: 2px !important;
}

body.kabuku-prototype .kabuku-problema-cierre-tagline {
  margin: 0 auto !important;
  max-width: 36em !important;
  font-size: clamp(15px, 1.35vw, 17px) !important;
  font-weight: 500 !important;
  line-height: 1.65 !important;
  color: rgba(13, 13, 13, 0.62) !important;
  text-align: center !important;
  white-space: normal !important;
}

@media (max-width: 767px) {
  body.kabuku-prototype .kabuku-problema-cierre-wrap {
    margin-top: 36px !important;
  }

  body.kabuku-prototype .kabuku-problema-cierre {
    padding: 28px 20px 32px !important;
    border-radius: 16px !important;
  }

  body.kabuku-prototype .kabuku-problema-cierre-lead {
    font-size: clamp(20px, 5.5vw, 24px) !important;
    margin-bottom: 16px !important;
  }

  body.kabuku-prototype .kabuku-problema-cierre-tagline {
    font-size: 15px !important;
  }
}

/* --- Cierre problema: mismo ancho que grid de tarjetas + textos más chicos + contraste negro --- */
body.kabuku-prototype .kabuku-problema-cierre-wrap {
  margin-top: 28px !important;
  margin-bottom: 0 !important;
  padding-left: var(--kabuku-space-x, 24px) !important;
  padding-right: var(--kabuku-space-x, 24px) !important;
  padding-bottom: var(--kabuku-space-section-bottom, 48px) !important;
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

body.kabuku-prototype .kabuku-problema-cierre {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 28px clamp(20px, 3vw, 40px) 32px !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  background: var(--kabuku-black, #0D0D0D) !important;
  border: 1px solid rgba(255, 255, 255, 0.06) !important;
  border-radius: 20px !important;
  box-shadow: 0 18px 48px rgba(13, 13, 13, 0.18) !important;
  box-sizing: border-box !important;
}

body.kabuku-prototype .kabuku-problema-cierre-kicker {
  margin: 0 0 12px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--kabuku-red, #E8312A) !important;
  line-height: 1.2 !important;
}

body.kabuku-prototype .kabuku-problema-cierre-lead {
  margin: 0 0 14px !important;
  max-width: 40em !important;
  font-size: clamp(18px, 2vw, 24px) !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  color: #fff !important;
  text-align: center !important;
  white-space: normal !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 6px !important;
}

body.kabuku-prototype .kabuku-problema-cierre-lead-main {
  display: block !important;
  font-weight: 800 !important;
  font-size: 1.04em !important;
  letter-spacing: -0.02em !important;
  line-height: 1.2 !important;
  color: #fff !important;
}

body.kabuku-prototype .kabuku-problema-cierre-lead-em {
  display: block !important;
  font-weight: 500 !important;
  font-size: 0.88em !important;
  color: rgba(255, 255, 255, 0.72) !important;
  line-height: 1.4 !important;
  max-width: 28em !important;
}

body.kabuku-prototype .kabuku-problema-cierre-accent,
body.kabuku-prototype .kabuku-problema-cierre .kabuku-title-accent {
  display: block !important;
  width: 36px !important;
  height: 3px !important;
  margin: 2px auto 16px !important;
  background: var(--kabuku-red, #E8312A) !important;
  border-radius: 2px !important;
}

body.kabuku-prototype .kabuku-problema-cierre-tagline {
  margin: 0 auto !important;
  max-width: 42em !important;
  font-size: clamp(13.5px, 1.15vw, 15px) !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
  color: rgba(255, 255, 255, 0.62) !important;
  text-align: center !important;
  white-space: normal !important;
}

@media (max-width: 767px) {
  body.kabuku-prototype .kabuku-problema-cierre-wrap {
    margin-top: 20px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  body.kabuku-prototype .kabuku-problema-cierre {
    padding: 24px 18px 28px !important;
    border-radius: 16px !important;
  }

  body.kabuku-prototype .kabuku-problema-cierre-lead {
    font-size: clamp(17px, 4.8vw, 20px) !important;
    margin-bottom: 12px !important;
  }

  body.kabuku-prototype .kabuku-problema-cierre-tagline {
    font-size: 13.5px !important;
  }
}

/* --- Cierre problema: dos pasos abiertos (sin caja) + flecha --- */
body.kabuku-prototype .kabuku-problema-cierre-wrap {
  margin-top: 40px !important;
  margin-bottom: 0 !important;
  padding: 8px var(--kabuku-space-x, 24px) var(--kabuku-space-section-bottom, 48px) !important;
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  background: transparent !important;
}

body.kabuku-prototype .kabuku-problema-cierre,
body.kabuku-prototype .kabuku-problema-cierre--open {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 8px 0 0 !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 0 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.kabuku-prototype .kabuku-problema-cierre-step {
  width: 100% !important;
  max-width: 720px !important;
  margin: 0 auto !important;
  text-align: center !important;
}

body.kabuku-prototype .kabuku-problema-cierre-kicker {
  display: none !important;
}

body.kabuku-prototype .kabuku-problema-cierre-lead {
  margin: 0 !important;
  max-width: 28em !important;
  margin-left: auto !important;
  margin-right: auto !important;
  font-size: clamp(20px, 2.4vw, 28px) !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  color: var(--kabuku-black, #0D0D0D) !important;
  text-align: center !important;
  white-space: normal !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 8px !important;
  background: transparent !important;
}

body.kabuku-prototype .kabuku-problema-cierre-lead-main {
  display: block !important;
  font-weight: 800 !important;
  font-size: 1.06em !important;
  letter-spacing: -0.02em !important;
  line-height: 1.2 !important;
  color: var(--kabuku-black, #0D0D0D) !important;
}

body.kabuku-prototype .kabuku-problema-cierre-lead-em {
  display: block !important;
  font-weight: 500 !important;
  font-size: 0.9em !important;
  color: rgba(13, 13, 13, 0.7) !important;
  line-height: 1.4 !important;
  max-width: 22em !important;
}

body.kabuku-prototype .kabuku-problema-cierre-arrow {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 18px auto 16px !important;
  width: 40px !important;
  height: 40px !important;
  color: var(--kabuku-red, #E8312A) !important;
  font-size: 18px !important;
  line-height: 1 !important;
  opacity: 0.9;
}

body.kabuku-prototype .kabuku-problema-cierre-arrow i {
  display: block !important;
  animation: kabukuCierreArrow 1.8s ease-in-out infinite;
}

body.kabuku-prototype .kabuku-problema-cierre-tagline {
  margin: 0 auto !important;
  max-width: 36em !important;
  font-size: clamp(15px, 1.35vw, 17px) !important;
  font-weight: 500 !important;
  line-height: 1.65 !important;
  color: rgba(13, 13, 13, 0.68) !important;
  text-align: center !important;
  white-space: normal !important;
  background: transparent !important;
}

body.kabuku-prototype .kabuku-problema-cierre-brand {
  display: inline !important;
  color: var(--kabuku-red, #E8312A) !important;
  font-weight: 700 !important;
}

body.kabuku-prototype .kabuku-problema-cierre-accent,
body.kabuku-prototype .kabuku-problema-cierre .kabuku-title-accent {
  display: none !important;
}

@keyframes kabukuCierreArrow {
  0%, 100% { transform: translateY(0); opacity: 0.75; }
  50% { transform: translateY(5px); opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
  body.kabuku-prototype .kabuku-problema-cierre-arrow i {
    animation: none !important;
  }
}

@media (max-width: 767px) {
  body.kabuku-prototype .kabuku-problema-cierre-wrap {
    margin-top: 28px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  body.kabuku-prototype .kabuku-problema-cierre-lead {
    font-size: clamp(18px, 5vw, 22px) !important;
  }

  body.kabuku-prototype .kabuku-problema-cierre-arrow {
    margin: 14px auto 12px !important;
    font-size: 16px !important;
  }

  body.kabuku-prototype .kabuku-problema-cierre-tagline {
    font-size: 14.5px !important;
  }
}

/* --- Cierre problema: dos columnas (insight | flecha | Kabuku) --- */
body.kabuku-prototype .kabuku-problema-cierre-wrap {
  margin-top: 44px !important;
  margin-bottom: 0 !important;
  padding: 12px var(--kabuku-space-x, 24px) var(--kabuku-space-section-bottom, 48px) !important;
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  background: transparent !important;
}

body.kabuku-prototype .kabuku-problema-cierre,
body.kabuku-prototype .kabuku-problema-cierre--open {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 8px 0 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
  align-items: center !important;
  gap: clamp(16px, 3vw, 36px) !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-align: left !important;
}

body.kabuku-prototype .kabuku-problema-cierre-step {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

body.kabuku-prototype .kabuku-problema-cierre-step--insight {
  text-align: right !important;
}

body.kabuku-prototype .kabuku-problema-cierre-step--action {
  text-align: left !important;
}

body.kabuku-prototype .kabuku-problema-cierre-lead {
  margin: 0 !important;
  margin-left: auto !important;
  margin-right: 0 !important;
  max-width: 22em !important;
  font-size: clamp(18px, 2vw, 24px) !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  color: var(--kabuku-black, #0D0D0D) !important;
  text-align: right !important;
  white-space: normal !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  gap: 6px !important;
  background: transparent !important;
}

body.kabuku-prototype .kabuku-problema-cierre-lead-main {
  display: block !important;
  font-weight: 800 !important;
  font-size: 1.06em !important;
  letter-spacing: -0.02em !important;
  line-height: 1.2 !important;
  color: var(--kabuku-black, #0D0D0D) !important;
  text-align: right !important;
}

body.kabuku-prototype .kabuku-problema-cierre-lead-em {
  display: block !important;
  font-weight: 500 !important;
  font-size: 0.88em !important;
  color: rgba(13, 13, 13, 0.7) !important;
  line-height: 1.4 !important;
  max-width: 18em !important;
  text-align: right !important;
}

body.kabuku-prototype .kabuku-problema-cierre-arrow {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  width: 44px !important;
  height: 44px !important;
  flex: 0 0 44px !important;
  color: var(--kabuku-red, #E8312A) !important;
  font-size: 20px !important;
  line-height: 1 !important;
  opacity: 0.95;
}

body.kabuku-prototype .kabuku-problema-cierre-arrow i {
  display: block !important;
  /* flecha a la derecha en desktop */
  transform: rotate(-90deg);
  animation: kabukuCierreArrowSide 1.8s ease-in-out infinite;
}

body.kabuku-prototype .kabuku-problema-cierre-tagline {
  margin: 0 !important;
  max-width: 22em !important;
  font-size: clamp(14.5px, 1.25vw, 16.5px) !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
  color: rgba(13, 13, 13, 0.68) !important;
  text-align: left !important;
  white-space: normal !important;
  background: transparent !important;
}

body.kabuku-prototype .kabuku-problema-cierre-brand {
  display: inline !important;
  color: var(--kabuku-red, #E8312A) !important;
  font-weight: 700 !important;
}

@keyframes kabukuCierreArrowSide {
  0%, 100% { transform: rotate(-90deg) translateY(0); opacity: 0.75; }
  50% { transform: rotate(-90deg) translateY(4px); opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
  body.kabuku-prototype .kabuku-problema-cierre-arrow i {
    animation: none !important;
  }
}

/* Móvil: vuelve a apilar (insight → flecha abajo → Kabuku) */
@media (max-width: 767px) {
  body.kabuku-prototype .kabuku-problema-cierre,
  body.kabuku-prototype .kabuku-problema-cierre--open {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    text-align: center !important;
  }

  body.kabuku-prototype .kabuku-problema-cierre-step--insight,
  body.kabuku-prototype .kabuku-problema-cierre-step--action {
    text-align: center !important;
  }

  body.kabuku-prototype .kabuku-problema-cierre-lead {
    margin-left: auto !important;
    margin-right: auto !important;
    align-items: center !important;
    text-align: center !important;
    font-size: clamp(18px, 5vw, 22px) !important;
  }

  body.kabuku-prototype .kabuku-problema-cierre-lead-main,
  body.kabuku-prototype .kabuku-problema-cierre-lead-em {
    text-align: center !important;
    max-width: 20em !important;
  }

  body.kabuku-prototype .kabuku-problema-cierre-arrow {
    margin: 4px auto !important;
  }

  body.kabuku-prototype .kabuku-problema-cierre-arrow i {
    transform: none !important;
    animation: kabukuCierreArrow 1.8s ease-in-out infinite !important;
  }

  body.kabuku-prototype .kabuku-problema-cierre-tagline {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
    max-width: 28em !important;
    font-size: 14.5px !important;
  }
}

@keyframes kabukuCierreArrow {
  0%, 100% { transform: translateY(0); opacity: 0.75; }
  50% { transform: translateY(5px); opacity: 1; }
}

/* Flecha nativa a la derecha (sin rotar el icono down) */
body.kabuku-prototype .kabuku-problema-cierre-arrow i {
  transform: none !important;
  animation: kabukuCierreArrowSideX 1.8s ease-in-out infinite !important;
}

@keyframes kabukuCierreArrowSideX {
  0%, 100% { transform: translateX(0); opacity: 0.75; }
  50% { transform: translateX(5px); opacity: 1; }
}

@media (max-width: 767px) {
  body.kabuku-prototype .kabuku-problema-cierre-arrow i {
    transform: rotate(90deg) !important;
    animation: kabukuCierreArrowMobile 1.8s ease-in-out infinite !important;
  }
}

@keyframes kabukuCierreArrowMobile {
  0%, 100% { transform: rotate(90deg) translateX(0); opacity: 0.75; }
  50% { transform: rotate(90deg) translateX(4px); opacity: 1; }
}
