

:root {
  
  --shadow: 0 30px 90px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 22%, transparent);
  --header: 84px;
  --font-main: "Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-secondary: "Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --text-label: var(--micro);
  --text-small: var(--small);
  --text-body: var(--body);
  --text-h3: var(--h3);
  --text-card: var(--card);
  --text-h2: var(--h2);
  --text-stat: var(--h1);
  --text-h1: var(--h1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--color-dark);
  color: var(--color-white);
  font-family: var(--font-main);
  font-size: var(--body);
  line-height: 1.78;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}
a { color: inherit; text-decoration: none; }
button,input,textarea,select { font: inherit; }
p,h1,h2,h3 { margin-top: 0; }
h1,h2,h3 {
  margin: 0;
  font-family: var(--font-main);
  font-weight: 700;
  color: var(--color-white);
}
h1 { font-size: var(--h1); line-height: .98; letter-spacing: -.065em; }
h2 { font-size: var(--h2); line-height: 1.1; letter-spacing: -.045em; }
h3 { font-size: var(--h3); line-height: 1.25; letter-spacing: -.025em; }
p { margin: 0; font-size: var(--body); line-height: 1.8; color: var(--color-line); }

.page {
  width: 100%;
  min-height: 100vh;
  overflow-x: clip;
}

.page-hero {
  width: 100%;
  padding: 54px 42px 50px;
  background: var(--color-dark);
  border-bottom: 1px solid var(--color-line);
}
.page-hero-inner {
  width: 100%;
}
.page-hero h2 { margin-top: 16px; }
.hero-note {
  max-width: 1040px;
  margin-top: 18px;
  color: var(--color-line);
  font-size: var(--small);
  line-height: 1.65;
}

.menu-list { width: 100%; }
.menu-section {
  width: 100%;
  padding-top: 20px;
  background: var(--color-dark);
  border-bottom: 1px solid var(--color-line);
}
.menu-row {
  width: 100%;
  padding-left: 42px;
  padding-right: 42px;
}
.row-number { padding-bottom: 8px; }
.menu-number {
  display: block;
  color: var(--color-key);
  font-size: var(--micro);
  font-weight: 400;
  letter-spacing: .16em;
  line-height: 1.45;
  text-transform: uppercase;
}
.row-info {
  display: grid;
  grid-template-columns: minmax(280px, 35%) minmax(420px, 1fr);
  column-gap: 42px;
  align-items: start;
  padding-bottom: 20px;
}
.row-info h3 {
  max-width: 620px;
}
.request-copy {
  max-width: 980px;
  color: var(--color-line);
  font-size: var(--small);
  line-height: 1.65;
}
.request-copy strong {
  color: var(--color-white);
  font-weight: 700;
}

.menu-real {
  width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
}
.site-header {
  width: 100%;
  min-height: var(--header);
  position: relative;
  top: auto;
  z-index: 5;
  background: var(--color-white);
  border-top: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);
}
.header-inner {
  width: min(1440px, 100%);
  min-height: var(--header);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 28px;
  padding: 0 42px;
}
.header-zone {
  min-width: 0;
  min-height: var(--header);
  display: flex;
  align-items: center;
  gap: 18px;
}
.zone-left { justify-content: flex-start; justify-self: stretch; }
.zone-center { justify-content: center; justify-self: center; }
.zone-right { justify-content: flex-end; justify-self: stretch; }

.logo {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  flex: 0 0 auto;
  min-width: 0;
  color: var(--color-dark);
  font-size: var(--small);
  font-weight: 900;
  letter-spacing: -.035em;
  line-height: 1;
  white-space: nowrap;
}
.logo-mark {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  flex: 0 0 38px;
  background: var(--color-key);
  color:var(--pb-theme-white,var(--color-white));
  font-size: var(--small);
  font-weight: 900;
}
.main-nav {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  flex: 0 1 auto;
  min-width: 0;
}
.main-nav a {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 0 13px;
  color: var(--color-dark);
  font-size: var(--small);
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  transition: color .25s ease, background .25s ease;
}
.main-nav a::after {
  display: none;
}
.main-nav a:hover {
  color: var(--color-dark);
  background: var(--color-light);
}
.main-nav a:hover::after {
  transform: none;
}
.phone-card {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  min-height: 48px;
  color: var(--color-dark);
  font-size: var(--body);
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  white-space: nowrap;
}
.phone-card:hover {
  color: var(--color-key);
}

.contact-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-height: 48px;
  padding: 0 22px;
  border: 1px solid transparent;
  background: var(--color-key);
  color:var(--pb-theme-white,var(--color-white));
  font-size: var(--small);
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  transition: transform .25s ease, background .25s ease, border-color .25s ease, color .25s ease;
}
.contact-btn:hover {
  transform: translateY(-2px);
  background: var(--color-dark);
  color: var(--color-white);
}
.menu-toggle {
  display: none;
  align-items: center;
  justify-content: center;
  justify-self: end;
  width: 46px;
  height: 46px;
  border: 1px solid var(--color-line);
  background: transparent;
  color: var(--color-dark);
  cursor: pointer;
}
.menu-toggle span,
.menu-toggle span::before,
.menu-toggle span::after {
  content: "";
  display: block;
  width: 20px;
  height: 2px;
  background: currentColor;
  transition: transform .25s ease, opacity .25s ease;
}
.menu-toggle span::before { transform: translateY(-7px); }
.menu-toggle span::after { transform: translateY(5px); }
.site-header.is-open .menu-toggle span { transform: rotate(45deg); }
.site-header.is-open .menu-toggle span::before { transform: translateY(0) rotate(90deg); }
.site-header.is-open .menu-toggle span::after { opacity: 0; }


.row-info.long-copy {
  padding-bottom: 28px;
  row-gap: 16px;
}
.row-info.long-copy .request-copy {
  max-width: 1180px;
}

.header-split-centered .header-inner {
  grid-template-columns: 1fr auto 1fr;
}
.header-split-centered .zone-left,
.header-split-centered .zone-right {
  width: 100%;
}
.header-split-centered .zone-right .main-nav {
  justify-content: flex-end;
}

.menu-stage {
  width: 100%;
  background: var(--color-white);
  color: var(--color-dark);
  border-top: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);
}
.side-layout-demo {
  display: grid;
  grid-template-columns: 280px 1fr;
  min-height: 420px;
}
.left-sidebar-demo,
.icon-rail {
  background: var(--color-white);
  color: var(--color-dark);
}
.left-sidebar-demo {
  min-height: 420px;
  padding: 28px 24px;
  border-right: 1px solid var(--color-line);
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.side-nav {
  display: grid;
  gap: 6px;
}
.side-nav a {
  min-height: 44px;
  display: flex;
  align-items: center;
  padding: 0 10px;
  color: var(--color-dark);
  font-size: var(--small);
  font-weight: 700;
  transition: background .25s ease, color .25s ease;
}
.side-nav a:hover {
  background: var(--color-light);
  color: var(--color-dark);
}
.side-layout-demo .contact-btn,
.side-layout-demo .side-cta {
  margin-top: auto;
  align-self: flex-start;
}
.side-content-demo {
  padding: 36px 42px;
  display: grid;
  align-content: start;
  gap: 24px;
  background: linear-gradient(180deg, var(--color-white) 0%, var(--color-white) 100%);
}
.content-placeholder {
  padding-bottom: 18px;
  border-bottom: 1px solid var(--color-line);
}
.content-placeholder:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}
.content-kicker {
  display: block;
  margin-bottom: 10px;
  color: var(--color-key);
  font-size: var(--micro);
  letter-spacing: .16em;
  text-transform: uppercase;
}
.content-title {
  margin: 0 0 8px;
  color: var(--color-dark);
  font-size: var(--h3);
  line-height: 1.2;
  font-weight: 700;
}
.content-placeholder p,
.rail-content-demo p,
.sticky-copy p,
.floating-canvas p,
.radial-copy p {
  color: var(--color-muted);
}

.icon-rail-demo {
  display: grid;
  grid-template-columns: 96px 1fr;
  min-height: 360px;
}
.icon-rail {
  min-height: 360px;
  padding: 22px 14px;
  border-right: 1px solid var(--color-line);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}
.rail-logo {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  background: var(--color-key);
  color:var(--pb-theme-white,var(--color-white));
  font-size: var(--small);
  font-weight: 900;
}
.rail-link {
  position: relative;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  color: var(--color-dark);
}
.rail-ico {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 1px solid var(--color-line);
  font-size: var(--small);
  font-weight: 900;
  transition: background .25s ease, color .25s ease, border-color .25s ease;
}
.rail-label {
  position: absolute;
  left: calc(100% + 12px);
  top: 50%;
  transform: translateY(-50%);
  opacity: 0;
  pointer-events: none;
  white-space: nowrap;
  padding: 8px 12px;
  background: var(--color-dark);
  color: var(--color-white);
  font-size: var(--small);
  line-height: 1;
  transition: opacity .25s ease, transform .25s ease;
}
.rail-link:hover .rail-ico {
  background: var(--color-light);
  border-color: var(--color-line);
}
.rail-link:hover .rail-label {
  opacity: 1;
  transform: translateY(-50%) translateX(0);
}
.rail-content-demo {
  padding: 34px 42px;
  display: grid;
  align-content: start;
  gap: 22px;
  background: linear-gradient(180deg, var(--color-white) 0%, var(--color-white) 100%);
}

.bottom-sticky-demo {
  min-height: 360px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: linear-gradient(180deg, var(--color-white) 0%, var(--color-white) 100%);
}
.sticky-copy {
  padding: 34px 42px 18px;
}
.bottom-bar {
  min-height: 88px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 24px;
  padding: 0 42px;
  background: var(--color-white);
  border-top: 1px solid var(--color-line);
}
.bottom-bar .main-nav {
  justify-content: center;
}

.floating-right-demo {
  position: relative;
  min-height: 420px;
  padding: 38px 160px 38px 42px;
  background: linear-gradient(180deg, var(--color-white) 0%, var(--color-white) 100%);
}
.floating-canvas {
  max-width: 760px;
}
.floating-menu {
  position: absolute;
  top: 24px;
  right: 24px;
  bottom: 24px;
  width: 112px;
  padding: 18px 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
  background: var(--color-white);
  border: 1px solid var(--color-line);
  box-shadow: 0 18px 50px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 8%, transparent);
}
.floating-logo {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  background: var(--color-key);
  color:var(--pb-theme-white,var(--color-white));
  font-size: var(--small);
  font-weight: 900;
}
.floating-nav {
  margin: auto 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}
.floating-nav a {
  color: var(--color-dark);
  font-size: var(--micro);
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  transition: color .25s ease;
}
.floating-nav a:hover {
  color: var(--color-key);
}
.floating-menu .contact-btn {
  width: 100%;
  min-height: 44px;
  padding: 0 12px;
}

.radial-demo {
  position: relative;
  min-height: 420px;
  padding: 38px 42px;
  background: linear-gradient(180deg, var(--color-white) 0%, var(--color-white) 100%);
}
.radial-copy {
  max-width: 760px;
}
.radial-menu {
  position: absolute;
  right: 58px;
  bottom: 52px;
  width: 280px;
  height: 280px;
}
.radial-center {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 88px;
  height: 88px;
  border: 0;
  border-radius: 999px;
  background: var(--color-key);
  color:var(--pb-theme-white,var(--color-white));
  font-size: var(--small);
  font-weight: 900;
  box-shadow: 0 18px 48px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 28%, transparent);
}
.radial-item {
  position: absolute;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 88px;
  height: 44px;
  padding: 0 14px;
  background: var(--color-white);
  border: 1px solid var(--color-line);
  color: var(--color-dark);
  font-size: var(--small);
  font-weight: 700;
  box-shadow: 0 12px 28px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 6%, transparent);
}
.radial-item.item-1 { left: 96px; top: 0; }
.radial-item.item-2 { right: 0; top: 72px; }
.radial-item.item-3 { right: 18px; bottom: 54px; }
.radial-item.item-4 { left: 96px; bottom: 0; }
.radial-item.item-5 { left: 0; top: 72px; }
.radial-item:hover {
  background: var(--color-light);
}

@media (max-width: 1100px) {
  .side-layout-demo,
  .icon-rail-demo { grid-template-columns: 1fr; }
  .left-sidebar-demo {
    min-height: auto;
    border-right: 0;
    border-bottom: 1px solid var(--color-line);
  }
  .icon-rail {
    min-height: auto;
    border-right: 0;
    border-bottom: 1px solid var(--color-line);
    flex-direction: row;
    justify-content: flex-start;
    flex-wrap: wrap;
  }
  .rail-link { width: auto; }
  .rail-label {
    position: static;
    opacity: 1;
    pointer-events: auto;
    transform: none;
    margin-left: 10px;
    padding: 0;
    background: transparent;
    color: var(--color-dark);
  }
  .bottom-bar {
    grid-template-columns: 1fr;
    justify-items: start;
    padding-top: 18px;
    padding-bottom: 18px;
  }
  .bottom-bar .main-nav { justify-content: flex-start; flex-wrap: wrap; }
  .floating-right-demo {
    padding: 34px 28px 170px;
  }
  .floating-menu {
    left: 28px;
    right: 28px;
    top: auto;
    bottom: 24px;
    width: auto;
    min-height: 108px;
    flex-direction: row;
    justify-content: space-between;
  }
  .floating-nav {
    flex-direction: row;
    gap: 14px;
    margin: 0;
  }
  .floating-nav a {
    writing-mode: initial;
    transform: none;
  }
  .radial-demo {
    padding-bottom: 360px;
  }
  .radial-menu {
    left: 50%;
    right: auto;
    transform: translateX(-50%);
  }
}

@media (max-width: 720px) {
  .side-content-demo,
  .rail-content-demo,
  .sticky-copy,
  .floating-right-demo,
  .radial-demo { padding-left: 18px; padding-right: 18px; }
  .bottom-bar { padding-left: 18px; padding-right: 18px; }
  .content-title { font-size: var(--h5); }
  .radial-demo {
    min-height: 520px;
    padding-bottom: 320px;
  }
  .radial-menu {
    width: 240px;
    height: 240px;
    bottom: 28px;
  }
  .radial-center { width: 78px; height: 78px; }
  .radial-item { min-width: 74px; font-size: var(--small); }
  .radial-item.item-1 { left: 82px; }
  .radial-item.item-2 { top: 58px; }
  .radial-item.item-3 { right: 8px; bottom: 44px; }
  .radial-item.item-4 { left: 82px; }
  .radial-item.item-5 { top: 58px; }
}





.web-menu-title {
  width: 100%;
  padding: 56px 0 18px;
  background: var(--color-dark);
  border-bottom: 1px solid var(--color-line);
}

.topbar-item {
  width: 100%;
  padding-top: 20px;
  background: var(--color-dark);
  border-bottom: 1px solid var(--color-line);
}
.topbar-item .topbar-example {
  margin-top: 0;
}

.topbar-group {
  display: grid;
  gap: 18px;
  padding: 0;
}
.topbar-example {
  width: 100%;
}
.topbar-example-title {
  width: min(1440px, 100%);
  margin: 0 auto;
  padding: 0 42px 10px;
  color: var(--color-line);
  font-size: var(--small);
  font-weight: 700;
  line-height: 1.4;
}
@media (max-width: 900px) {
  .topbar-example-title {
    padding-left: 28px;
    padding-right: 28px;
  }
}
@media (max-width: 520px) {
  .topbar-example-title {
    padding-left: 18px;
    padding-right: 18px;
  }
}

.topbar-header {
  width: 100%;
}
.utility-bar {
  width: 100%;
  min-height: 38px;
  background: var(--color-key);
  color:var(--pb-theme-white,var(--color-white));
  border-top: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);
}
.utility-inner {
  width: min(1440px, 100%);
  min-height: 38px;
  margin: 0 auto;
  padding: 0 42px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 20px;
  align-items: center;
}
.utility-item {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 14px;
  color: var(--color-white);
  font-size: var(--small);
  line-height: 1.35;
  font-weight: 500;
}
.utility-item.center {
  justify-content: center;
  text-align: center;
}
.utility-item.right {
  justify-content: flex-end;
  text-align: right;
}
.utility-item a {
  color: inherit;
}
.utility-social {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.utility-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  padding: 0 7px;
  border: 1px solid var(--color-line);
  color: var(--color-white);
  font-size: var(--micro);
  line-height: 1;
  font-weight:500;
}
.utility-item.seo {
  grid-column: 1 / -1;
  justify-content: center;
  text-align: center;
  padding: 9px 0;
}
.utility-label {
  color: var(--color-line);
  font-weight: 500;
  letter-spacing: .08em;
  text-transform: uppercase;
}
@media (max-width: 900px) {
  .utility-inner {
    grid-template-columns: 1fr;
    padding-top: 9px;
    padding-bottom: 9px;
    row-gap: 6px;
  }
  .utility-item,
  .utility-item.center,
  .utility-item.right,
  .utility-item.seo {
    justify-content: flex-start;
    text-align: left;
    grid-column: auto;
    padding: 0;
  }
}


.utility-inner.utility-two {
  grid-template-columns: 1fr auto;
}
.social-icons {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.social-icon {
  width: 24px;
  height: 24px;
  display: inline-grid;
  place-items: center;
  border: 1px solid var(--color-line);
  color: var(--color-white);
  transition: background .25s ease, color .25s ease, border-color .25s ease;
}
.social-icon svg {
  width: 15px;
  height: 15px;
  display: block;
}
.social-icon svg path,
.social-icon svg rect,
.social-icon svg circle {
  fill: currentColor;
  stroke: none;
}
.social-icon[aria-label="Instagram"] svg rect,
.social-icon[aria-label="Instagram"] svg circle {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}
.social-icon:hover {
  background: var(--color-white);
  color: var(--color-key);
  border-color: var(--color-white);
}
@media (max-width: 900px) {
  .utility-inner.utility-two {
    grid-template-columns: 1fr;
  }
}


.hamburger-menu-title {
  width: 100%;
  padding: 56px 0 18px;
  background: var(--color-dark);
  border-bottom: 1px solid var(--color-line);
}

.hamburger-stage {
  width: 100%;
  min-height: 430px;
  position: relative;
  overflow: hidden;
  background: var(--color-white);
  color: var(--color-dark);
  border-top: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);
}

.hamburger-demo {
  position: relative;
  min-height: 430px;
  overflow: hidden;
  background:
    linear-gradient(180deg, var(--color-white), var(--color-white));
}

.hamburger-demo-header {
  min-height: 78px;
  width: min(1440px, 100%);
  margin: 0 auto;
  padding: 0 42px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  background: var(--color-white);
  border-bottom: 1px solid var(--color-line);
}

.hamburger-trigger,
.hamburger-close,
.hamburger-main-button {
  border: 0;
  cursor: pointer;
}

.hamburger-trigger {
  width: 48px;
  height: 48px;
  display: inline-grid;
  place-items: center;
  background: var(--color-dark);
  color: var(--color-white);
  transition: background .25s ease, color .25s ease, transform .25s ease;
}

.hamburger-trigger:hover {
  background: var(--color-key);
  color:var(--pb-theme-white,var(--color-white));
  transform: translateY(-2px);
}

.hamburger-lines,
.hamburger-lines::before,
.hamburger-lines::after {
  content: "";
  display: block;
  width: 22px;
  height: 2px;
  background: currentColor;
  transition: transform .25s ease, opacity .25s ease;
}

.hamburger-lines::before { transform: translateY(-7px); }
.hamburger-lines::after { transform: translateY(5px); }

.hamburger-demo.is-open .hamburger-lines { transform: rotate(45deg); }
.hamburger-demo.is-open .hamburger-lines::before { transform: translateY(0) rotate(90deg); }
.hamburger-demo.is-open .hamburger-lines::after { opacity: 0; }

.hamburger-content {
  width: min(1440px, 100%);
  margin: 0 auto;
  min-height: 350px;
  padding: 42px;
  display: grid;
  align-content: start;
  gap: 16px;
}

.hamburger-content .content-kicker {
  display: block;
  margin-bottom: 8px;
  color: var(--color-key);
  font-size: var(--micro);
  letter-spacing: .16em;
  text-transform: uppercase;
}

.hamburger-content h4 {
  margin: 0;
  color: var(--color-dark);
  font-size: var(--card);
  line-height: 1.14;
  letter-spacing: -.045em;
}

.hamburger-content p {
  max-width: 720px;
  color: var(--color-muted);
}

.hamburger-panel {
  position: absolute;
  z-index: 10;
  background: var(--color-white);
  color: var(--color-dark);
  border: 1px solid var(--color-line);
  box-shadow: 0 30px 90px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 18%, transparent);
  transition: transform .32s ease, opacity .32s ease, visibility .32s ease;
}

.hamburger-panel-inner {
  min-height: 100%;
  padding: 30px;
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.hamburger-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.hamburger-close {
  width: 42px;
  height: 42px;
  display: inline-grid;
  place-items: center;
  background: var(--color-light);
  color: var(--color-dark);
  font-size: var(--h5);
  line-height: 1;
  transition: background .25s ease, color .25s ease;
}

.hamburger-close:hover {
  background: var(--color-dark);
  color: var(--color-white);
}

.hamburger-links {
  display: grid;
  gap: 4px;
}

.hamburger-links a {
  min-height: 48px;
  display: flex;
  align-items: center;
  padding: 0 10px;
  color: var(--color-dark);
  font-size: var(--h3);
  line-height: 1.1;
  font-weight: 700;
  letter-spacing: -.035em;
  transition: background .25s ease, color .25s ease, padding .25s ease;
}

.hamburger-links a:hover {
  background: var(--color-light);
  color: var(--color-key);
  padding-left: 18px;
}

.hamburger-panel .contact-btn {
  align-self: flex-start;
  margin-top: auto;
}

.panel-left {
  left: 0;
  top: 0;
  bottom: 0;
  width: min(380px, 88%);
  transform: translateX(-110%);
  opacity: 0;
  visibility: hidden;
}

.panel-right {
  right: 0;
  top: 0;
  bottom: 0;
  width: min(380px, 88%);
  transform: translateX(110%);
  opacity: 0;
  visibility: hidden;
}

.hamburger-demo.is-open .panel-left,
.hamburger-demo.is-open .panel-right {
  transform: translateX(0);
  opacity: 1;
  visibility: visible;
}

.panel-fullscreen {
  inset: 0;
  background: var(--color-dark);
  color: var(--color-white);
  border: 0;
  transform: scale(.98);
  opacity: 0;
  visibility: hidden;
}

.panel-fullscreen .hamburger-panel-inner {
  width: min(1440px, 100%);
  margin: 0 auto;
  padding: 44px 42px;
}

.panel-fullscreen .logo,
.panel-fullscreen .hamburger-links a {
  color: var(--color-white);
}

.panel-fullscreen .hamburger-links a {
  min-height: 70px;
  font-size: var(--h1);
}

.panel-fullscreen .hamburger-links a:hover {
  background: var(--color-line);
  color: var(--color-white);
}

.panel-fullscreen .hamburger-close {
  background: var(--color-line);
  color: var(--color-white);
}

.hamburger-demo.is-open .panel-fullscreen {
  transform: scale(1);
  opacity: 1;
  visibility: visible;
}

.panel-fixed-cta .hamburger-panel-inner {
  padding-bottom: 108px;
}

.panel-bottom-cta {
  position: absolute;
  left: 30px;
  right: 30px;
  bottom: 30px;
}

.mobile-first-demo {
  width: min(420px, calc(100% - 36px));
  min-height: 520px;
  margin: 28px auto;
  border: 1px solid var(--color-line);
  background: var(--color-white);
  position: relative;
  overflow: hidden;
  box-shadow: 0 30px 80px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 12%, transparent);
}

.mobile-first-demo .hamburger-demo-header {
  width: 100%;
  padding: 0 22px;
  min-height: 72px;
}

.mobile-first-demo .hamburger-content {
  width: 100%;
  padding: 28px 22px 112px;
  min-height: 360px;
}

.mobile-first-demo .hamburger-content h4 {
  font-size: var(--h3);
}

.mobile-bottom-cta {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 18px;
  z-index: 8;
}

.mobile-bottom-cta .contact-btn {
  width: 100%;
}

.panel-overlay {
  inset: 0;
  background: color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 74%, transparent);
  border: 0;
  box-shadow: none;
  opacity: 0;
  visibility: hidden;
}

.overlay-card {
  position: absolute;
  top: 28px;
  right: 28px;
  width: min(420px, calc(100% - 56px));
  min-height: calc(100% - 56px);
  background: var(--color-white);
  transform: translateY(-16px);
  transition: transform .32s ease;
}

.panel-overlay .hamburger-panel-inner {
  padding: 30px;
}

.hamburger-demo.is-open .panel-overlay {
  opacity: 1;
  visibility: visible;
}

.hamburger-demo.is-open .overlay-card {
  transform: translateY(0);
}

.panel-editorial {
  inset: 0;
  background: var(--color-white);
  border: 0;
  transform: translateY(-100%);
  opacity: 0;
  visibility: hidden;
}

.panel-editorial .hamburger-panel-inner {
  width: min(1440px, 100%);
  margin: 0 auto;
  padding: 42px;
  display: grid;
  grid-template-columns: .7fr 1.3fr;
  align-items: start;
  gap: 48px;
}

.editorial-meta {
  display: grid;
  gap: 18px;
}

.editorial-meta p {
  color: var(--color-muted);
}

.panel-editorial .hamburger-links a {
  min-height: 76px;
  border-bottom: 1px solid var(--color-line);
  font-size: var(--h1);
}

.hamburger-demo.is-open .panel-editorial {
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
}

@media (max-width: 900px) {
  .hamburger-demo-header,
  .hamburger-content,
  .panel-fullscreen .hamburger-panel-inner,
  .panel-editorial .hamburger-panel-inner {
    padding-left: 28px;
    padding-right: 28px;
  }

  .panel-editorial .hamburger-panel-inner {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .hamburger-links a {
    font-size: var(--h5);
  }
}

@media (max-width: 520px) {
  .hamburger-demo-header,
  .hamburger-content,
  .panel-fullscreen .hamburger-panel-inner,
  .panel-editorial .hamburger-panel-inner {
    padding-left: 18px;
    padding-right: 18px;
  }

  .hamburger-content h4 {
    font-size: var(--h3);
  }

  .panel-left,
  .panel-right {
    width: 100%;
  }

  .hamburger-panel-inner {
    padding: 24px 18px;
  }

  .overlay-card {
    top: 18px;
    right: 18px;
    width: calc(100% - 36px);
    min-height: calc(100% - 36px);
  }
}


/* Menú hamburguesa global superior derecho */
.global-menu-button {
  position: fixed;
  top: 22px;
  right: 22px;
  z-index: 1200;
  width: 54px;
  height: 54px;
  display: inline-grid;
  place-items: center;
  border: 1px solid var(--color-line);
  background: var(--color-key);
  color:var(--pb-theme-white,var(--color-white));
  cursor: pointer;
  box-shadow: 0 18px 48px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 28%, transparent);
  transition: background .25s ease, color .25s ease, transform .25s ease;
}
.global-menu-button:hover {
  background: var(--color-dark);
  color: var(--color-white);
  transform: translateY(-2px);
}
.global-menu-lines,
.global-menu-lines::before,
.global-menu-lines::after {
  content: "";
  display: block;
  width: 24px;
  height: 2px;
  background: currentColor;
  transition: transform .25s ease, opacity .25s ease;
}
.global-menu-lines::before { transform: translateY(-8px); }
.global-menu-lines::after { transform: translateY(6px); }
body.global-menu-open .global-menu-lines { transform: rotate(45deg); }
body.global-menu-open .global-menu-lines::before { transform: translateY(0) rotate(90deg); }
body.global-menu-open .global-menu-lines::after { opacity: 0; }


body.global-menu-open .global-menu-button {
  background: var(--color-white);
  color: var(--color-dark);
  border-color: var(--color-line);
}
body.global-menu-open .global-menu-button:hover {
  background: var(--color-light);
  color: var(--color-dark);
}
.global-fullscreen-inner {
  width: min(1440px, 100%);
  min-height: 100vh;
  margin: 0 auto;
  padding: 0 42px;
  display: grid;
  align-items: center;
  justify-items: center;
}
.global-fullscreen-links {
  width: min(920px, 100%);
  display: grid;
  align-content: center;
  justify-items: stretch;
  gap: 0;
}

.global-fullscreen-menu {
  position: fixed;
  inset: 0;
  z-index: 1100;
  background: var(--color-dark);
  color: var(--color-white);
  opacity: 0;
  visibility: hidden;
  transform: scale(.985);
  transition: opacity .32s ease, visibility .32s ease, transform .32s ease;
}
body.global-menu-open .global-fullscreen-menu {
  opacity: 1;
  visibility: visible;
  transform: scale(1);
}
.global-fullscreen-inner {
  width: min(1440px, 100%);
  min-height: 100vh;
  margin: 0 auto;
  padding: 54px 42px;
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 48px;
}
.global-fullscreen-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding-right: 78px;
}
.global-fullscreen-head .logo {
  color: var(--color-white);
}
.global-fullscreen-note {
  max-width: 420px;
  color: var(--color-line);
  font-size: var(--small);
  line-height: 1.6;
  text-align: right;
}
.global-fullscreen-links {
  display: grid;
  align-content: center;
  gap: 0;
}
.global-fullscreen-links a {
  width: 100%;
  min-height: 88px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  text-align: left;
  border-bottom: 1px solid var(--color-line);
  color: var(--color-white);
  font-family: var(--font-main);
  font-size: var(--h1);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -.065em;
  transition: color .25s ease, padding .25s ease, background .25s ease;
}
.global-fullscreen-links a:first-child {
  border-top: 1px solid var(--color-line);
}
.global-fullscreen-links a:hover {
  padding-left: 24px;
  background: var(--color-line);
  color: var(--color-white);
}
.global-fullscreen-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  color: var(--color-line);
  font-size: var(--small);
}
.global-fullscreen-foot .contact-btn {
  background: var(--color-key);
  color:var(--pb-theme-white,var(--color-white));
}
.global-fullscreen-foot .contact-btn:hover {
  background: var(--color-white);
  color: var(--color-dark);
}

@media (max-width: 720px) {
  .global-fullscreen-inner {
    padding: 0 18px;
  }
  .global-menu-button {
    top: 14px;
    right: 14px;
    width: 50px;
    height: 50px;
  }
  .global-fullscreen-inner {
    padding: 42px 18px 28px;
    gap: 34px;
  }
  .global-fullscreen-head {
    display: grid;
    padding-right: 64px;
  }
  .global-fullscreen-note {
    text-align: left;
  }
  .global-fullscreen-links a {
    min-height: 72px;
    font-size: var(--h1);
  }
  .global-fullscreen-foot {
    align-items: stretch;
    flex-direction: column;
  }
  .global-fullscreen-foot .contact-btn {
    width: 100%;
  }
}

.footer-note {
  width: 100%;
  margin: 0;
  padding: 20px 42px 42px;
  color: var(--color-line);
  font-size: var(--small);
  line-height: 1.65;
}

@media (max-width: 1180px) {
  h1 { font-size: var(--h1); }
  h2 { font-size: var(--h3); }
  .page-hero,
  .menu-row,
  .header-inner,
  .footer-note { padding-left: 28px; padding-right: 28px; }
  .row-info { grid-template-columns: 1fr; row-gap: 14px; }
  .header-inner { gap: 18px; }
  .header-zone { gap: 12px; }
  .main-nav { gap: 0; }
  .main-nav a { padding: 0 9px; }
}

@media (max-width: 900px) {
  :root { --header: 74px; }
  h1 { font-size: var(--h1); }
  h2 { font-size: var(--h4); }
  h3 { font-size: var(--h5); }
  .page-hero { padding-top: 34px; padding-bottom: 38px; }
  .menu-section { padding-top: 20px; }
  .row-info { padding-bottom: 20px; }
  .site-header { position: relative; top: auto; }
  .header-inner {
    grid-template-columns: 1fr auto;
    gap: 16px;
  }
  .header-zone { display: contents; }
  .logo {
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
  }
  .menu-toggle {
    display: inline-flex;
    grid-column: 2;
    grid-row: 1;
  }
  .main-nav {
    display: none;
    grid-column: 1 / -1;
    width: 100%;
    padding-top: 14px;
    border-top: 1px solid var(--color-line);
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0;
  }
  .main-nav a {
    width: 100%;
    min-height: 46px;
    padding: 0;
  }
  .main-nav a::after { left: 0; right: 0; }

  .phone-card {
    grid-column: 1 / -1;
    display: none;
    width: 100%;
    min-height: 46px;
    padding-top: 12px;
    border-top: 1px solid var(--color-line);
    font-size: var(--body);
    font-weight: 400;
  }
  .site-header.is-open .phone-card { display: flex; }

  .contact-btn {
    display: none;
    grid-column: 1 / -1;
    width: 100%;
    margin: 12px 0 18px;
  }
  .site-header.is-open .main-nav,
  .site-header.is-open .contact-btn { display: flex; }
}

@media (max-width: 520px) {
  .page-hero,
  .menu-row,
  .header-inner,
  .footer-note { padding-left: 18px; padding-right: 18px; }
  .logo-mark { width: 34px; height: 34px; flex-basis: 34px; }
  .logo span:last-child { max-width: 180px; overflow: hidden; text-overflow: ellipsis; }
}

/* Ajuste final: menú hamburguesa global centrado verticalmente */
.global-fullscreen-menu {
  display: grid;
  place-items: center;
}

.global-fullscreen-inner {
  width: min(1440px, 100%) !important;
  height: 100vh !important;
  min-height: 100vh !important;
  margin: 0 auto !important;
  padding: 0 42px !important;
  display: grid !important;
  place-items: center !important;
  align-content: center !important;
  justify-content: center !important;
  grid-template-rows: none !important;
  gap: 0 !important;
}

.global-fullscreen-links {
  width: min(920px, 100%) !important;
  margin: 0 auto !important;
  display: grid !important;
  align-content: center !important;
  justify-items: stretch !important;
}

@supports (height: 100dvh) {
  .global-fullscreen-inner {
    height: 100dvh !important;
    min-height: 100dvh !important;
  }
}

@media (max-width: 720px) {
  .global-fullscreen-inner {
    padding: 0 18px !important;
  }
}



/* Sección Footers */

.footer-menu-title {
  width: 100%;
  padding: 56px 0 18px;
  background: var(--color-dark);
  border-bottom: 1px solid var(--color-line);
}

.footer-list { width: 100%; }
.footer-section {
  width: 100%;
  padding-top: 34px;
  background: var(--color-dark);
  border-bottom: 1px solid var(--color-line);
}
.menu-row {
  width: min(1440px, 100%);
  margin: 0 auto;
  padding-left: 42px;
  padding-right: 42px;
}
.row-number { padding-bottom: 8px; }
.menu-number {
  display: block;
  color: var(--color-key);
  font-size: var(--micro);
  font-weight: 400;
  letter-spacing: .16em;
  line-height: 1.45;
  text-transform: uppercase;
}
.row-info {
  display: grid;
  grid-template-columns: minmax(280px, 35%) minmax(420px, 1fr);
  column-gap: 42px;
  align-items: start;
  padding-bottom: 24px;
}
.request-copy {
  max-width: 1180px;
  color: var(--color-line);
  font-size: var(--small);
  line-height: 1.65;
}
.request-copy strong {
  color: var(--color-white);
  font-weight: 700;
}

.footer-real {
  width: 100%;
  margin: 0;
  padding: 0;
}
.site-footer {
  width: 100%;
  background: var(--color-white);
  color: var(--color-dark);
  border-top: 1px solid var(--color-line);
}
.footer-inner {
  width: min(1440px, 100%);
  margin: 0 auto;
  padding: 56px 42px;
}
.footer-bottom {
  width: min(1440px, 100%);
  margin: 0 auto;
  padding: 18px 42px;
  border-top: 1px solid var(--color-line);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  color: var(--color-muted);
  font-size: var(--small);
  line-height: 1.45;
}
.footer-bottom-links {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 18px;
}
.footer-bottom a,
.footer-link,
.footer-nav a,
.footer-social a {
  color: var(--color-dark);
  transition: color .25s ease, background .25s ease, transform .25s ease;
}
.footer-bottom a:hover,
.footer-link:hover,
.footer-nav a:hover,
.footer-social a:hover {
  color: var(--color-key);
}

.footer-logo {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--color-dark);
  font-size: var(--small);
  font-weight: 900;
  letter-spacing: -.035em;
  line-height: 1;
  white-space: nowrap;
}
.footer-logo-mark {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  flex: 0 0 38px;
  background: var(--color-key);
  color:var(--pb-theme-white,var(--color-white));
  font-size: var(--small);
  font-weight: 900;
}
.footer-title {
  margin: 0 0 14px;
  color: var(--color-dark);
  font-size: var(--small);
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.footer-copy {
  color: var(--color-muted);
  font-size: var(--small);
  line-height: 1.7;
}
.footer-nav {
  display: grid;
  gap: 10px;
}
.footer-nav a {
  font-size: var(--small);
  font-weight: 700;
  line-height: 1.4;
}
.footer-social {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.footer-social a {
  min-width: 34px;
  height: 34px;
  display: inline-grid;
  place-items: center;
  border: 1px solid var(--color-line);
  font-size: var(--small);
  font-weight: 900;
}
.footer-social a:hover {
  background: var(--color-light);
}
.footer-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 22px;
  border: 1px solid transparent;
  background: var(--color-key);
  color:var(--pb-theme-white,var(--color-white));
  font-size: var(--small);
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  transition: transform .25s ease, background .25s ease, color .25s ease;
}
.footer-cta:hover {
  transform: translateY(-2px);
  background: var(--color-dark);
  color: var(--color-white);
}
.footer-input {
  width: 100%;
  min-height: 50px;
  border: 1px solid var(--color-line);
  background: var(--color-white);
  color: var(--color-dark);
  padding: 0 16px;
  outline: 0;
}
.footer-input:focus {
  border-color: var(--color-key);
}
.footer-form {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
}
.footer-divider {
  width: 100%;
  height: 1px;
  background: var(--color-line);
}

/* 01 */
.footer-classic-grid {
  display: grid;
  grid-template-columns: 1.2fr repeat(3, 1fr);
  gap: 42px;
}

/* 02 */
.footer-newsletter {
  display: grid;
  grid-template-columns: 1fr .95fr;
  gap: 48px;
  align-items: end;
}
.footer-newsletter h4 {
  color: var(--color-dark);
  font-size: var(--h2);
  line-height: 1.05;
  letter-spacing: -.055em;
}
.footer-newsletter-panel {
  display: grid;
  gap: 16px;
}

/* 03 */
.footer-minimal {
  min-height: 94px;
}
.footer-minimal .footer-inner {
  min-height: 94px;
  padding-top: 0;
  padding-bottom: 0;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 28px;
}
.footer-minimal .footer-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 22px;
}

/* 04 */
.footer-branches {
  display: grid;
  grid-template-columns: .9fr 1.35fr;
  gap: 42px;
}
.branch-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.branch-card {
  min-height: 150px;
  padding: 18px;
  border: 1px solid var(--color-line);
  background: var(--color-light);
}
.branch-card strong {
  display: block;
  margin-bottom: 8px;
  color: var(--color-dark);
  font-size: var(--small);
  font-weight: 900;
}

/* 05 */
.footer-mega-grid {
  display: grid;
  grid-template-columns: 1fr 2.2fr;
  gap: 42px;
}
.footer-mega-links {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px;
}

/* 06 */
.footer-cta-block {
  padding: 52px 42px;
  background: var(--color-key);
  color:var(--pb-theme-white,var(--color-white));
}
.footer-cta-block-inner {
  width: min(1440px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 28px;
}
.footer-cta-block h4 {
  color: var(--color-white);
  font-size: var(--h2);
  line-height: 1.05;
  letter-spacing: -.055em;
}
.footer-cta-block p {
  margin-top: 12px;
  color: var(--color-line);
}
.footer-cta-block .footer-cta {
  background: var(--color-white);
  color: var(--color-dark);
}
.footer-cta-block .footer-cta:hover {
  background: var(--color-dark);
  color: var(--color-white);
}
.footer-cta-main-grid {
  display: grid;
  grid-template-columns: 1.1fr repeat(3, 1fr);
  gap: 34px;
}

/* 07 */
.footer-legal-grid {
  display: grid;
  grid-template-columns: 1.2fr 1.8fr;
  gap: 42px;
}
.legal-list {
  display: grid;
  gap: 12px;
}
.legal-item {
  display: grid;
  grid-template-columns: 130px 1fr;
  gap: 18px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--color-line);
}
.legal-item strong {
  color: var(--color-dark);
  font-size: var(--small);
}

/* 08 */
.footer-contact-large {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 42px;
  align-items: end;
}
.footer-contact-large h4 {
  color: var(--color-dark);
  font-size: var(--h2);
  line-height: 1.05;
  letter-spacing: -.055em;
}
.big-contact {
  display: grid;
  gap: 10px;
}
.big-contact a {
  color: var(--color-dark);
  font-size: var(--card);
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: -.05em;
}
.big-contact a:hover {
  color: var(--color-key);
}

/* 09 */
.footer-ecommerce-grid {
  display: grid;
  grid-template-columns: 1.1fr repeat(4, 1fr);
  gap: 28px;
}
.payment-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.payment-tag {
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  padding: 0 10px;
  border: 1px solid var(--color-line);
  color: var(--color-dark);
  font-size: var(--micro);
  font-weight:500;
}

/* 10 */
.footer-editorial {
  background: var(--color-dark);
  color: var(--color-white);
  border-top: 1px solid var(--color-line);
}
.footer-editorial .footer-inner {
  padding-top: 68px;
  padding-bottom: 68px;
}
.footer-editorial-grid {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 48px;
  align-items: end;
}
.footer-editorial-logo {
  color: var(--color-white);
  font-size: var(--h1);
  line-height: .86;
  letter-spacing: -.085em;
  font-weight: 900;
}
.footer-editorial .footer-copy,
.footer-editorial .footer-nav a,
.footer-editorial .footer-bottom {
  color: var(--color-line);
}
.footer-editorial .footer-title,
.footer-editorial .footer-logo {
  color: var(--color-white);
}
.footer-editorial .footer-bottom {
  border-top-color: var(--color-line);
}
.footer-editorial .footer-nav a:hover {
  color: var(--color-white);
}
.footer-editorial .footer-bottom a {
  color: var(--color-line);
}
.footer-editorial .footer-bottom a:hover {
  color: var(--color-white);
}
.footer-editorial-side {
  display: grid;
  gap: 24px;
}



@media (max-width: 1100px) {
  .footer-inner,
  .footer-bottom { padding-left: 28px; padding-right: 28px; }
  .row-info,
  .footer-newsletter,
  .footer-branches,
  .footer-mega-grid,
  .footer-legal-grid,
  .footer-contact-large,
  .footer-editorial-grid { grid-template-columns: 1fr; }
  .footer-classic-grid,
  .footer-cta-main-grid,
  .footer-ecommerce-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-mega-links,
  .branch-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-cta-block-inner { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .footer-inner,
  .footer-bottom { padding-left: 18px; padding-right: 18px; }
  .row-info,
  .footer-classic-grid,
  .footer-cta-main-grid,
  .footer-ecommerce-grid,
  .footer-mega-links,
  .branch-grid,
  .footer-minimal .footer-inner { grid-template-columns: 1fr; }
  .footer-form { grid-template-columns: 1fr; }
  .footer-bottom {
    align-items: flex-start;
    flex-direction: column;
  }
  .footer-minimal .footer-inner {
    min-height: auto;
    padding-top: 28px;
    padding-bottom: 28px;
    gap: 18px;
  }
  .footer-minimal .footer-nav {
    justify-content: flex-start;
  }
  .legal-item { grid-template-columns: 1fr; gap: 4px; }
  .big-contact a { font-size: var(--h3); }
  .footer-cta-block { padding-left: 18px; padding-right: 18px; }
}


/* Íconos de redes sociales en footers */
.footer-social a svg {
  width: 15px;
  height: 15px;
  display: block;
}
.footer-social a svg path,
.footer-social a svg rect,
.footer-social a svg circle {
  fill: currentColor;
  stroke: none;
}
.footer-social a[aria-label="Instagram"] svg rect,
.footer-social a[aria-label="Instagram"] svg circle {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}


/* Sección: Diagramaciones para web */
.section-layout-title {
  width: 100%;
  padding: 56px 0 18px;
  background: var(--color-dark);
  border-bottom: 1px solid var(--color-line);
}

.layout-section {
  width: 100%;
  padding-top: 34px;
  background: var(--color-dark);
  border-bottom: 1px solid var(--color-line);
}

.layout-real {
  width: 100%;
  margin: 0;
  padding: 0;
}

.about-layout-demo {
  width: 100%;
  background: var(--color-white);
  color: var(--color-dark);
  border-top: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);
}

.about-layout-inner {
  width: min(1440px, 100%);
  margin: 0 auto;
  padding: 72px 42px;
  display: grid;
  grid-template-columns: .92fr 1.08fr;
  gap: 56px;
  align-items: center;
}

.about-image-demo {
  min-height: 520px;
  position: relative;
  overflow: hidden;
  background: var(--color-light);
}


.about-image-demo img {
  width: 100%;
  height: 520px;
  display: block;
  object-fit: cover;
  object-position: center center;
}

.about-content-demo {
  display: grid;
  gap: 20px;
}

.about-label-demo {
  display: block;
  color: var(--color-key);
  font-size: var(--micro);
  font-weight: 700;
  letter-spacing: .16em;
  line-height: 1.45;
  text-transform: uppercase;
}

.about-content-demo h3 {
  color: var(--color-dark);
  font-size: var(--h2);
  line-height: 1.05;
  letter-spacing: -.055em;
}

.about-content-demo p {
  color: var(--color-muted);
  font-size: var(--body);
  line-height: 1.78;
}

.about-feature-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: 12px;
}

.about-feature-grid article {
  min-height: 150px;
  padding: 18px;
  background: var(--color-light);
  border: 1px solid var(--color-line);
}

.about-feature-grid span {
  display: block;
  margin-bottom: 12px;
  color: var(--color-key);
  font-size: var(--micro);
  font-weight: 700;
  letter-spacing: .12em;
}

.about-feature-grid h4 {
  margin: 0 0 8px;
  color: var(--color-dark);
  font-size: var(--small);
  line-height: 1.35;
  font-weight: 900;
}

.about-feature-grid p {
  color: var(--color-muted);
  font-size: var(--small);
  line-height: 1.55;
}

@media (max-width: 1100px) {
  .about-layout-inner {
    grid-template-columns: 1fr;
    padding-left: 28px;
    padding-right: 28px;
  }
  .about-image-demo {
    min-height: 360px;
  }
  .about-image-demo img {
    height: 360px;
  }
}

@media (max-width: 720px) {
  .about-layout-inner {
    padding: 48px 18px;
  }
  .about-image-demo img {
    height: 320px;
  }
  .about-content-demo h3 {
    font-size: var(--h4);
  }
  .about-feature-grid {
    grid-template-columns: 1fr;
  }
}


/* Ajuste final 01 · Nosotros: medidas originales */
#seccion-nosotros-01 .about-layout-demo {
  width: 100%;
  background: var(--color-white);
  color: var(--color-dark);
  border-top: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);
}

#seccion-nosotros-01 .about-layout-inner {
  width: min(100% - 96px, 1440px) !important;
  margin-inline: auto !important;
  padding: 118px 0 !important;
  display: grid !important;
  grid-template-columns: .92fr 1.08fr !important;
  gap: 78px !important;
  align-items: center !important;
}

#seccion-nosotros-01 .about-image-demo {
  min-height: 720px !important;
  overflow: hidden !important;
  background: transparent !important;
  box-shadow: var(--shadow) !important;
}

#seccion-nosotros-01 .about-image-demo::before,
#seccion-nosotros-01 .about-image-demo::after {
  display: none !important;
  content: none !important;
}

#seccion-nosotros-01 .about-image-demo img {
  width: 100% !important;
  height: 720px !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;
  filter: saturate(.86) !important;
}

#seccion-nosotros-01 .about-content-demo {
  display: block !important;
}

#seccion-nosotros-01 .about-label-demo {
  display: block !important;
  margin: 0 0 11px !important;
  color: var(--color-key) !important;
  font-size: var(--micro) !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
}

#seccion-nosotros-01 .about-content-demo h3 {
  margin: 0 !important;
  color: var(--color-dark) !important;
  font-size: var(--h2) !important;
  line-height: 1.1 !important;
  letter-spacing: -.045em !important;
}

#seccion-nosotros-01 .about-content-demo > p {
  margin: 11px 0 0 !important;
  color: var(--color-muted) !important;
  font-size: var(--body) !important;
  line-height: 1.8 !important;
}

#seccion-nosotros-01 .about-feature-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 18px !important;
  margin-top: 42px !important;
  background: transparent !important;
}

#seccion-nosotros-01 .about-feature-grid article {
  min-height: auto !important;
  padding: 22px 0 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--color-line) !important;
  background: transparent !important;
}

#seccion-nosotros-01 .about-feature-grid span {
  display: block !important;
  margin: 0 0 11px !important;
  color: var(--color-key) !important;
  font-size: var(--micro) !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  letter-spacing: .16em !important;
}

#seccion-nosotros-01 .about-feature-grid h4 {
  margin: 12px 0 8px !important;
  color: var(--color-dark) !important;
  font-size: var(--h3) !important;
  line-height: 1.25 !important;
  letter-spacing: -.025em !important;
  font-weight: 700 !important;
}

#seccion-nosotros-01 .about-feature-grid p {
  margin: 0 !important;
  color: var(--color-muted) !important;
  font-size: var(--body) !important;
  line-height: 1.72 !important;
}

@media (max-width: 1100px) {
  #seccion-nosotros-01 .about-layout-inner {
    width: min(100% - 56px, 1440px) !important;
    grid-template-columns: 1fr !important;
    gap: 42px !important;
    padding: 88px 0 !important;
  }
  #seccion-nosotros-01 .about-image-demo {
    min-height: 520px !important;
  }
  #seccion-nosotros-01 .about-image-demo img {
    height: 520px !important;
  }
}

@media (max-width: 720px) {
  #seccion-nosotros-01 .about-layout-inner {
    width: min(100% - 36px, 1440px) !important;
    padding: 64px 0 !important;
  }
  #seccion-nosotros-01 .about-image-demo {
    min-height: 360px !important;
  }
  #seccion-nosotros-01 .about-image-demo img {
    height: 360px !important;
  }
  #seccion-nosotros-01 .about-content-demo h3 {
    font-size: var(--h4) !important;
  }
  #seccion-nosotros-01 .about-feature-grid {
    grid-template-columns: 1fr !important;
  }
}


/* Ajuste final 02 · Nosotros invertido */
#seccion-nosotros-02 .about-layout-demo {
  width: 100%;
  background: var(--color-white);
  color: var(--color-dark);
  border-top: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);
}

#seccion-nosotros-02 .about-layout-inner {
  width: min(100% - 96px, 1440px) !important;
  margin-inline: auto !important;
  padding: 118px 0 !important;
  display: grid !important;
  grid-template-columns: 1.08fr .92fr !important;
  gap: 78px !important;
  align-items: center !important;
}

#seccion-nosotros-02 .about-image-demo {
  min-height: 720px !important;
  overflow: hidden !important;
  background: transparent !important;
  box-shadow: var(--shadow) !important;
}

#seccion-nosotros-02 .about-image-demo::before,
#seccion-nosotros-02 .about-image-demo::after {
  display: none !important;
  content: none !important;
}

#seccion-nosotros-02 .about-image-demo img {
  width: 100% !important;
  height: 720px !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;
  filter: saturate(.86) !important;
}

#seccion-nosotros-02 .about-content-demo {
  display: block !important;
}

#seccion-nosotros-02 .about-label-demo {
  display: block !important;
  margin: 0 0 11px !important;
  color: var(--color-key) !important;
  font-size: var(--micro) !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
}

#seccion-nosotros-02 .about-content-demo h3 {
  margin: 0 !important;
  color: var(--color-dark) !important;
  font-size: var(--h2) !important;
  line-height: 1.1 !important;
  letter-spacing: -.045em !important;
}

#seccion-nosotros-02 .about-content-demo > p {
  margin: 11px 0 0 !important;
  color: var(--color-muted) !important;
  font-size: var(--body) !important;
  line-height: 1.8 !important;
}

#seccion-nosotros-02 .about-feature-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 18px !important;
  margin-top: 42px !important;
  background: transparent !important;
}

#seccion-nosotros-02 .about-feature-grid article {
  min-height: auto !important;
  padding: 22px 0 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--color-line) !important;
  background: transparent !important;
}

#seccion-nosotros-02 .about-feature-grid span {
  display: block !important;
  margin: 0 0 11px !important;
  color: var(--color-key) !important;
  font-size: var(--micro) !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  letter-spacing: .16em !important;
}

#seccion-nosotros-02 .about-feature-grid h4 {
  margin: 12px 0 8px !important;
  color: var(--color-dark) !important;
  font-size: var(--h3) !important;
  line-height: 1.25 !important;
  letter-spacing: -.025em !important;
  font-weight: 700 !important;
}

#seccion-nosotros-02 .about-feature-grid p {
  margin: 0 !important;
  color: var(--color-muted) !important;
  font-size: var(--body) !important;
  line-height: 1.72 !important;
}

@media (max-width: 1100px) {
  #seccion-nosotros-02 .about-layout-inner {
    width: min(100% - 56px, 1440px) !important;
    grid-template-columns: 1fr !important;
    gap: 42px !important;
    padding: 88px 0 !important;
  }
  #seccion-nosotros-02 .about-image-demo {
    min-height: 520px !important;
  }
  #seccion-nosotros-02 .about-image-demo img {
    height: 520px !important;
  }
}

@media (max-width: 720px) {
  #seccion-nosotros-02 .about-layout-inner {
    width: min(100% - 36px, 1440px) !important;
    padding: 64px 0 !important;
  }
  #seccion-nosotros-02 .about-image-demo {
    min-height: 360px !important;
  }
  #seccion-nosotros-02 .about-image-demo img {
    height: 360px !important;
  }
  #seccion-nosotros-02 .about-content-demo h3 {
    font-size: var(--h4) !important;
  }
  #seccion-nosotros-02 .about-feature-grid {
    grid-template-columns: 1fr !important;
  }
}


/* Diagramaciones Nosotros con foto cuadrada */
:root {
  --about-square-img: url("../images/demo-landscape.webp");
}

#seccion-nosotros-square-01 .about-square-demo,
#seccion-nosotros-square-02 .about-square-demo {
  width: 100%;
  background: var(--color-white);
  color: var(--color-dark);
  border-top: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);
}

#seccion-nosotros-square-01 .about-square-inner,
#seccion-nosotros-square-02 .about-square-inner {
  width: min(100% - 96px, 1440px);
  margin-inline: auto;
  padding: 96px 0;
  display: grid;
  gap: 72px;
  align-items: center;
}

#seccion-nosotros-square-01 .about-square-inner {
  grid-template-columns: 520px 1fr;
}

#seccion-nosotros-square-02 .about-square-inner {
  grid-template-columns: 1fr 520px;
}

.about-square-image {
  width: 520px;
  aspect-ratio: 1 / 1;
  background-image: var(--about-square-img);
  background-size: cover;
  background-position: center center;
  box-shadow: var(--shadow);
}

.about-square-content {
  display: block;
}

.about-square-label {
  display: block;
  margin: 0 0 11px;
  color: var(--color-key);
  font-size: var(--micro);
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.about-square-content h3 {
  margin: 0;
  color: var(--color-dark);
  font-size: var(--h2);
  line-height: 1.1;
  letter-spacing: -.045em;
}

.about-square-content > p {
  margin: 11px 0 0;
  color: var(--color-muted);
  font-size: var(--body);
  line-height: 1.8;
}

.about-square-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}

.about-square-actions a {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 22px;
  border: 1px solid var(--color-line);
  color: var(--color-dark);
  font-size: var(--small);
  font-weight: 900;
  line-height: 1;
  transition: background .25s ease, color .25s ease, border-color .25s ease, transform .25s ease;
}

.about-square-actions a:first-child {
  background: var(--color-key);
  border-color: var(--color-key);
  color:var(--pb-theme-white,var(--color-white));
}

.about-square-actions a:hover {
  transform: translateY(-2px);
  background: var(--color-dark);
  border-color: var(--color-dark);
  color: var(--color-white);
}

@media (max-width: 1100px) {
  #seccion-nosotros-square-01 .about-square-inner,
  #seccion-nosotros-square-02 .about-square-inner {
    width: min(100% - 56px, 1440px);
    grid-template-columns: 1fr;
    gap: 42px;
    padding: 80px 0;
  }

  #seccion-nosotros-square-02 .about-square-image {
    order: -1;
  }

  .about-square-image {
    width: min(520px, 100%);
  }
}

@media (max-width: 720px) {
  #seccion-nosotros-square-01 .about-square-inner,
  #seccion-nosotros-square-02 .about-square-inner {
    width: min(100% - 36px, 1440px);
    padding: 58px 0;
  }

  .about-square-content h3 {
    font-size: var(--h4);
  }

  .about-square-actions {
    align-items: stretch;
    flex-direction: column;
  }
}


/* Diagramaciones Nosotros 50% / 50% pantalla completa */
#seccion-nosotros-half-01,
#seccion-nosotros-half-02 {
  padding-top: 34px;
}

.about-half-demo {
  width: 100%;
  min-height: 100vh;
  background: var(--color-white);
  color: var(--color-dark);
  border-top: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);
}

.about-half-inner {
  width: 100%;
  min-height: 100vh;
  display: grid;
  grid-template-columns: 50% 50%;
}

.about-half-content {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 72px clamp(42px, 6vw, 96px);
}

.about-half-copy {
  width: min(100%, 620px);
}

.about-half-label {
  display: block;
  margin: 0 0 11px;
  color: var(--color-key);
  font-size: var(--micro);
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.about-half-copy h3 {
  margin: 0;
  color: var(--color-dark);
  font-size: var(--h1);
  line-height: .98;
  letter-spacing: -.065em;
}

.about-half-copy p {
  margin: 18px 0 0;
  color: var(--color-muted);
  font-size: var(--body);
  line-height: 1.8;
}

.about-half-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 32px;
}

.about-half-actions a {
  min-height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 22px;
  border: 1px solid var(--color-line);
  color: var(--color-dark);
  font-size: var(--small);
  font-weight: 900;
  line-height: 1;
  transition: background .25s ease, color .25s ease, border-color .25s ease, transform .25s ease;
}

.about-half-actions a:first-child {
  background: var(--color-key);
  border-color: var(--color-key);
  color:var(--pb-theme-white,var(--color-white));
}

.about-half-actions a:hover {
  transform: translateY(-2px);
  background: var(--color-dark);
  border-color: var(--color-dark);
  color: var(--color-white);
}

.about-half-image {
  width: 100%;
  min-height: 100vh;
  background-image: var(--about-square-img);
  background-size: cover;
  background-position: center center;
}

@supports (min-height: 100dvh) {
  .about-half-demo,
  .about-half-inner,
  .about-half-content,
  .about-half-image {
    min-height: 100dvh;
  }
}

@media (max-width: 900px) {
  .about-half-inner {
    grid-template-columns: 1fr;
  }

  .about-half-content {
    min-height: auto;
    padding: 64px 28px;
  }

  .about-half-image {
    min-height: 70vh;
  }

  #seccion-nosotros-half-02 .about-half-image {
    order: -1;
  }
}

@media (max-width: 720px) {
  .about-half-content {
    padding: 54px 18px;
  }

  .about-half-copy h3 {
    font-size: var(--h3);
  }

  .about-half-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .about-half-image {
    min-height: 62vh;
  }
}


/* Diagramaciones Nosotros 50% / 50% dentro de 1440px */
#seccion-nosotros-contained-01,
#seccion-nosotros-contained-02 {
  padding-top: 34px;
}

.about-contained-demo {
  width: 100%;
  background: var(--color-white);
  color: var(--color-dark);
  border-top: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);
}

.about-contained-inner {
  width: min(100% - 96px, 1440px);
  margin-inline: auto;
  padding: 96px 0;
  display: grid;
  grid-template-columns: 50% 50%;
  align-items: stretch;
}

.about-contained-content {
  display: grid;
  place-items: center;
  padding: 56px clamp(42px, 5vw, 84px);
  background: var(--color-white);
}

.about-contained-copy {
  width: min(100%, 560px);
}

.about-contained-label {
  display: block;
  margin: 0 0 11px;
  color: var(--color-key);
  font-size: var(--micro);
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.about-contained-copy h3 {
  margin: 0;
  color: var(--color-dark);
  font-size: var(--h2);
  line-height: 1.1;
  letter-spacing: -.045em;
}

.about-contained-copy p {
  margin: 14px 0 0;
  color: var(--color-muted);
  font-size: var(--body);
  line-height: 1.8;
}

.about-contained-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 30px;
}

.about-contained-actions a {
  min-height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 22px;
  border: 1px solid var(--color-line);
  color: var(--color-dark);
  font-size: var(--small);
  font-weight: 900;
  line-height: 1;
  transition: background .25s ease, color .25s ease, border-color .25s ease, transform .25s ease;
}

.about-contained-actions a:first-child {
  background: var(--color-key);
  border-color: var(--color-key);
  color:var(--pb-theme-white,var(--color-white));
}

.about-contained-actions a:hover {
  transform: translateY(-2px);
  background: var(--color-dark);
  border-color: var(--color-dark);
  color: var(--color-white);
}

.about-contained-image {
  width: 100%;
  min-height: 640px;
  background-image: var(--about-square-img);
  background-size: cover;
  background-position: center center;
  box-shadow: var(--shadow);
}

@media (max-width: 1100px) {
  .about-contained-inner {
    width: min(100% - 56px, 1440px);
    grid-template-columns: 1fr;
    padding: 80px 0;
  }

  .about-contained-content {
    padding: 56px 0 0;
    place-items: start;
  }

  #seccion-nosotros-contained-02 .about-contained-image {
    order: -1;
  }

  .about-contained-image {
    min-height: 520px;
  }
}

@media (max-width: 720px) {
  .about-contained-inner {
    width: min(100% - 36px, 1440px);
    padding: 58px 0;
  }

  .about-contained-content {
    padding-top: 42px;
  }

  .about-contained-copy h3 {
    font-size: var(--h4);
  }

  .about-contained-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .about-contained-image {
    min-height: 360px;
  }
}


/* Ajuste títulos H2 en 09 y 10 · Nosotros 50/50 fullscreen */
#seccion-nosotros-half-01 .about-half-copy h3,
#seccion-nosotros-half-02 .about-half-copy h3 {
  font-size: var(--h2) !important;
  line-height: 1.1 !important;
  letter-spacing: -.045em !important;
}

@media (max-width: 720px) {
  #seccion-nosotros-half-01 .about-half-copy h3,
  #seccion-nosotros-half-02 .about-half-copy h3 {
    font-size: var(--h4) !important;
  }
}


/* Diagramación Nosotros 50% / 50% con galería de 3 imágenes dentro de 1440px */
#seccion-nosotros-gallery-01 {
  padding-top: 34px;
}

#seccion-nosotros-gallery-01 .about-contained-demo {
  width: 100%;
  background: var(--color-white);
  color: var(--color-dark);
  border-top: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);
}

#seccion-nosotros-gallery-01 .about-contained-inner {
  width: min(100% - 96px, 1440px);
  margin-inline: auto;
  padding: 96px 0;
  display: grid;
  grid-template-columns: 50% 50%;
  align-items: stretch;
}

#seccion-nosotros-gallery-01 .about-contained-content {
  display: grid;
  place-items: center;
  padding: 56px clamp(42px, 5vw, 84px);
  background: var(--color-white);
}

#seccion-nosotros-gallery-01 .about-contained-copy {
  width: min(100%, 560px);
}

#seccion-nosotros-gallery-01 .about-contained-label {
  display: block;
  margin: 0 0 11px;
  color: var(--color-key);
  font-size: var(--micro);
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: .16em;
  text-transform: uppercase;
}

#seccion-nosotros-gallery-01 .about-contained-copy h3 {
  margin: 0;
  color: var(--color-dark);
  font-size: var(--h2);
  line-height: 1.1;
  letter-spacing: -.045em;
}

#seccion-nosotros-gallery-01 .about-contained-copy p {
  margin: 14px 0 0;
  color: var(--color-muted);
  font-size: var(--body);
  line-height: 1.8;
}

.about-gallery-grid {
  width: 100%;
  min-height: 640px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 18px;
}

.about-gallery-img {
  background-image: var(--about-square-img);
  background-size: cover;
  background-position: center center;
  box-shadow: var(--shadow);
}

.about-gallery-img.vertical {
  grid-row: span 2;
  min-height: 640px;
}

.about-gallery-img.square {
  aspect-ratio: 1 / 1;
  min-height: 0;
}

@media (max-width: 1100px) {
  #seccion-nosotros-gallery-01 .about-contained-inner {
    width: min(100% - 56px, 1440px);
    grid-template-columns: 1fr;
    padding: 80px 0;
  }

  #seccion-nosotros-gallery-01 .about-contained-content {
    padding: 56px 0 0;
    place-items: start;
  }

  .about-gallery-grid {
    min-height: 520px;
  }

  .about-gallery-img.vertical {
    min-height: 520px;
  }
}

@media (max-width: 720px) {
  #seccion-nosotros-gallery-01 .about-contained-inner {
    width: min(100% - 36px, 1440px);
    padding: 58px 0;
  }

  #seccion-nosotros-gallery-01 .about-contained-content {
    padding-top: 42px;
  }

  #seccion-nosotros-gallery-01 .about-contained-copy h3 {
    font-size: var(--h4);
  }

  .about-gallery-grid {
    grid-template-columns: 1fr;
    grid-template-rows: none;
    min-height: auto;
  }

  .about-gallery-img.vertical {
    grid-row: auto;
    min-height: 420px;
  }

  .about-gallery-img.square {
    min-height: 280px;
    aspect-ratio: auto;
  }
}


/* Diagramación Nosotros 50% / 50% con galería invertida de 3 imágenes dentro de 1440px */
#seccion-nosotros-gallery-02 {
  padding-top: 34px;
}

#seccion-nosotros-gallery-02 .about-contained-demo {
  width: 100%;
  background: var(--color-white);
  color: var(--color-dark);
  border-top: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);
}

#seccion-nosotros-gallery-02 .about-contained-inner {
  width: min(100% - 96px, 1440px);
  margin-inline: auto;
  padding: 96px 0;
  display: grid;
  grid-template-columns: 50% 50%;
  align-items: stretch;
}

#seccion-nosotros-gallery-02 .about-contained-content {
  display: grid;
  place-items: center;
  padding: 56px clamp(42px, 5vw, 84px);
  background: var(--color-white);
}

#seccion-nosotros-gallery-02 .about-contained-copy {
  width: min(100%, 560px);
}

#seccion-nosotros-gallery-02 .about-contained-label {
  display: block;
  margin: 0 0 11px;
  color: var(--color-key);
  font-size: var(--micro);
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: .16em;
  text-transform: uppercase;
}

#seccion-nosotros-gallery-02 .about-contained-copy h3 {
  margin: 0;
  color: var(--color-dark);
  font-size: var(--h2);
  line-height: 1.1;
  letter-spacing: -.045em;
}

#seccion-nosotros-gallery-02 .about-contained-copy p {
  margin: 14px 0 0;
  color: var(--color-muted);
  font-size: var(--body);
  line-height: 1.8;
}

.about-gallery-grid.reverse {
  width: 100%;
  min-height: 640px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 18px;
}

.about-gallery-grid.reverse .vertical {
  grid-column: 2;
  grid-row: 1 / span 2;
  min-height: 640px;
}

.about-gallery-grid.reverse .square {
  grid-column: 1;
  aspect-ratio: 1 / 1;
  min-height: 0;
}

@media (max-width: 1100px) {
  #seccion-nosotros-gallery-02 .about-contained-inner {
    width: min(100% - 56px, 1440px);
    grid-template-columns: 1fr;
    padding: 80px 0;
  }

  #seccion-nosotros-gallery-02 .about-contained-content {
    padding: 56px 0 0;
    place-items: start;
  }

  .about-gallery-grid.reverse {
    min-height: 520px;
  }

  .about-gallery-grid.reverse .vertical {
    min-height: 520px;
  }
}

@media (max-width: 720px) {
  #seccion-nosotros-gallery-02 .about-contained-inner {
    width: min(100% - 36px, 1440px);
    padding: 58px 0;
  }

  #seccion-nosotros-gallery-02 .about-contained-content {
    padding-top: 42px;
  }

  #seccion-nosotros-gallery-02 .about-contained-copy h3 {
    font-size: var(--h4);
  }

  .about-gallery-grid.reverse {
    grid-template-columns: 1fr;
    grid-template-rows: none;
    min-height: auto;
  }

  .about-gallery-grid.reverse .square,
  .about-gallery-grid.reverse .vertical {
    grid-column: auto;
    grid-row: auto;
  }

  .about-gallery-grid.reverse .vertical {
    min-height: 420px;
  }

  .about-gallery-grid.reverse .square {
    min-height: 280px;
    aspect-ratio: auto;
  }
}


/* Ajuste 05-08: conservar diagramación original y extender texto superior a 1440px */
#seccion-nosotros-contained-01 .row-info,
#seccion-nosotros-contained-02 .row-info,
#seccion-nosotros-gallery-01 .row-info,
#seccion-nosotros-gallery-02 .row-info {
  grid-template-columns: 1fr !important;
  row-gap: 12px !important;
}

#seccion-nosotros-contained-01 .row-info h3,
#seccion-nosotros-contained-02 .row-info h3,
#seccion-nosotros-gallery-01 .row-info h3,
#seccion-nosotros-gallery-02 .row-info h3,
#seccion-nosotros-contained-01 .request-copy,
#seccion-nosotros-contained-02 .request-copy,
#seccion-nosotros-gallery-01 .request-copy,
#seccion-nosotros-gallery-02 .request-copy {
  width: 100% !important;
  max-width: 1440px !important;
}


/* Corrección real 05-08: texto superior hasta el límite útil del bloque 1440px */
#seccion-nosotros-contained-01 > .menu-row,
#seccion-nosotros-contained-02 > .menu-row,
#seccion-nosotros-gallery-01 > .menu-row,
#seccion-nosotros-gallery-02 > .menu-row {
  width: min(1440px, 100%) !important;
  max-width: 1440px !important;
}

#seccion-nosotros-contained-01 > .row-info,
#seccion-nosotros-contained-02 > .row-info,
#seccion-nosotros-gallery-01 > .row-info,
#seccion-nosotros-gallery-02 > .row-info {
  display: grid !important;
  grid-template-columns: 1fr !important;
  row-gap: 12px !important;
}

#seccion-nosotros-contained-01 > .row-info h3,
#seccion-nosotros-contained-02 > .row-info h3,
#seccion-nosotros-gallery-01 > .row-info h3,
#seccion-nosotros-gallery-02 > .row-info h3,
#seccion-nosotros-contained-01 > .row-info .request-copy,
#seccion-nosotros-contained-02 > .row-info .request-copy,
#seccion-nosotros-gallery-01 > .row-info .request-copy,
#seccion-nosotros-gallery-02 > .row-info .request-copy {
  width: 100% !important;
  max-width: none !important;
}


/* Corrección final 05-08: encabezados superiores alineados al mismo 1440px del bloque visual */
#seccion-nosotros-contained-01 > .menu-row,
#seccion-nosotros-contained-02 > .menu-row,
#seccion-nosotros-gallery-01 > .menu-row,
#seccion-nosotros-gallery-02 > .menu-row {
  width: min(100% - 96px, 1440px) !important;
  max-width: 1440px !important;
  margin-inline: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

#seccion-nosotros-contained-01 > .row-number,
#seccion-nosotros-contained-02 > .row-number,
#seccion-nosotros-gallery-01 > .row-number,
#seccion-nosotros-gallery-02 > .row-number {
  padding-bottom: 8px !important;
}

#seccion-nosotros-contained-01 > .row-info,
#seccion-nosotros-contained-02 > .row-info,
#seccion-nosotros-gallery-01 > .row-info,
#seccion-nosotros-gallery-02 > .row-info {
  display: block !important;
  padding-bottom: 24px !important;
}

#seccion-nosotros-contained-01 > .row-info h3,
#seccion-nosotros-contained-02 > .row-info h3,
#seccion-nosotros-gallery-01 > .row-info h3,
#seccion-nosotros-gallery-02 > .row-info h3 {
  width: 100% !important;
  max-width: none !important;
  margin-bottom: 12px !important;
}

#seccion-nosotros-contained-01 > .row-info .request-copy,
#seccion-nosotros-contained-02 > .row-info .request-copy,
#seccion-nosotros-gallery-01 > .row-info .request-copy,
#seccion-nosotros-gallery-02 > .row-info .request-copy {
  width: 100% !important;
  max-width: none !important;
  display: block !important;
}

@media (max-width: 1100px) {
  #seccion-nosotros-contained-01 > .menu-row,
  #seccion-nosotros-contained-02 > .menu-row,
  #seccion-nosotros-gallery-01 > .menu-row,
  #seccion-nosotros-gallery-02 > .menu-row {
    width: min(100% - 56px, 1440px) !important;
  }
}

@media (max-width: 720px) {
  #seccion-nosotros-contained-01 > .menu-row,
  #seccion-nosotros-contained-02 > .menu-row,
  #seccion-nosotros-gallery-01 > .menu-row,
  #seccion-nosotros-gallery-02 > .menu-row {
    width: min(100% - 36px, 1440px) !important;
  }
}


/* Corrección 05-08: texto interno del bloque visual hasta el límite del 1440px */
#seccion-nosotros-contained-01 .about-contained-copy,
#seccion-nosotros-contained-02 .about-contained-copy,
#seccion-nosotros-gallery-01 .about-contained-copy,
#seccion-nosotros-gallery-02 .about-contained-copy {
  width: 100% !important;
  max-width: none !important;
}

/* 05 y 07: texto en la columna izquierda, alineado al borde izquierdo del contenedor 1440px */
#seccion-nosotros-contained-01 .about-contained-content,
#seccion-nosotros-gallery-01 .about-contained-content {
  padding-left: 0 !important;
  padding-right: clamp(42px, 5vw, 84px) !important;
}

/* 06 y 08: texto en la columna derecha, alineado al borde derecho del contenedor 1440px */
#seccion-nosotros-contained-02 .about-contained-content,
#seccion-nosotros-gallery-02 .about-contained-content {
  padding-left: clamp(42px, 5vw, 84px) !important;
  padding-right: 0 !important;
}

@media (max-width: 1100px) {
  #seccion-nosotros-contained-01 .about-contained-content,
  #seccion-nosotros-contained-02 .about-contained-content,
  #seccion-nosotros-gallery-01 .about-contained-content,
  #seccion-nosotros-gallery-02 .about-contained-content {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}


/* Sección Cards */
.cards-menu-title {
  width: 100%;
  padding: 56px 0 18px;
  background: var(--color-dark);
  border-bottom: 1px solid var(--color-line);
}

.cards-layout-section {
  width: 100%;
  padding-top: 34px;
  background: var(--color-dark);
  border-bottom: 1px solid var(--color-line);
}

.cards-real {
  width: 100%;
  margin: 0;
  padding: 0;
  background: var(--color-white);
  border-top: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);
}

.cards-demo-inner {
  width: min(100% - 96px, 1440px);
  margin-inline: auto;
  padding: 72px 0;
}

.cards-grid {
  display: grid;
  gap: 22px;
}

.cards-grid.two {
  grid-template-columns: repeat(2, 1fr);
}

.cards-grid.three {
  grid-template-columns: repeat(3, 1fr);
}

.cards-grid.feature {
  grid-template-columns: 2fr 1fr 1fr;
}

.cards-grid.four {
  grid-template-columns: repeat(4, 1fr);
}

.cards-grid.five {
  grid-template-columns: repeat(5, 1fr);
}

.cards-grid.six {
  grid-template-columns: repeat(3, 1fr);
}

.demo-card {
  position: relative;
  min-height: 420px;
  overflow: hidden;
  cursor: pointer;
  background: var(--color-dark);
  box-shadow: 0 18px 48px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 12%, transparent);
}

.cards-grid.five .demo-card,
.cards-grid.four .demo-card {
  min-height: 360px;
}

.cards-grid.six .demo-card {
  min-height: 340px;
}

.demo-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--about-square-img);
  background-size: cover;
  background-position: center center;
  filter: saturate(.86) contrast(1.06);
  transform: scale(1.02);
  transition: transform .55s ease, filter .55s ease;
}

.demo-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 8%, transparent), color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 86%, transparent));
  transition: background .35s ease;
}

.demo-card-content {
  position: absolute;
  z-index: 2;
  left: 28px;
  right: 28px;
  bottom: 26px;
  color: var(--color-white);
}

.demo-card-content h3 {
  margin: 0;
  max-width: 360px;
  color: var(--color-white);
  font-size: var(--card);
  line-height: 1.14;
  letter-spacing: -.04em;
}

.cards-grid.five .demo-card-content h3,
.cards-grid.six .demo-card-content h3 {
  font-size: var(--h3);
}

.demo-card-content ul {
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-height .35s ease, opacity .35s ease;
}

.demo-card-content li {
  padding: 7px 0;
  border-top: 1px solid var(--color-line);
  color: var(--color-line);
  font-size: var(--body);
  line-height: 1.68;
}

.cards-grid.five .demo-card-content li,
.cards-grid.six .demo-card-content li {
  font-size: var(--small);
}

.demo-card:hover::before {
  transform: scale(1.09);
  filter: saturate(.95) contrast(1.08);
}

.demo-card:hover::after {
  background: linear-gradient(180deg, transparent, var(--color-dark));
}

.demo-card:hover ul {
  max-height: 180px;
  opacity: 1;
}

@media (max-width: 1200px) {
  .cards-grid.five {
    grid-template-columns: repeat(3, 1fr);
  }

  .cards-grid.four,
  .cards-grid.six {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 900px) {
  .cards-demo-inner {
    width: min(100% - 56px, 1440px);
  }

  .cards-grid.two,
  .cards-grid.three,
  .cards-grid.feature,
  .cards-grid.five {
    grid-template-columns: 1fr 1fr;
  }

  .demo-card {
    min-height: 360px;
  }
}

@media (max-width: 640px) {
  .cards-demo-inner {
    width: min(100% - 36px, 1440px);
    padding: 54px 0;
  }

  .cards-grid.two,
  .cards-grid.three,
  .cards-grid.feature,
  .cards-grid.four,
  .cards-grid.five,
  .cards-grid.six {
    grid-template-columns: 1fr;
  }

  .demo-card,
  .cards-grid.five .demo-card,
  .cards-grid.four .demo-card,
  .cards-grid.six .demo-card {
    min-height: 340px;
  }

  .demo-card-content h3,
  .cards-grid.five .demo-card-content h3,
  .cards-grid.six .demo-card-content h3 {
    font-size: var(--h3);
  }
}


/* Cards con íconos */
.icon-cards-title {
  width: 100%;
  padding: 56px 0 18px;
  background: var(--color-dark);
  border-bottom: 1px solid var(--color-line);
}

.icon-cards-section {
  width: 100%;
  padding-top: 34px;
  background: var(--color-dark);
  border-bottom: 1px solid var(--color-line);
}

.icon-cards-real {
  width: 100%;
  margin: 0;
  padding: 0;
  background: var(--color-white);
  border-top: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);
}

.icon-cards-inner {
  width: min(100% - 96px, 1440px);
  margin-inline: auto;
  padding: 72px 0;
}

.icon-card-grid {
  display: grid;
  gap: 22px;
}

.icon-card-grid.two {
  grid-template-columns: repeat(2, 1fr);
}

.icon-card-grid.three {
  grid-template-columns: repeat(3, 1fr);
}

.icon-card-grid.feature {
  grid-template-columns: 2fr 1fr 1fr;
}

.icon-card-grid.four {
  grid-template-columns: repeat(4, 1fr);
}

.icon-card-grid.five {
  grid-template-columns: repeat(5, 1fr);
}

.icon-card-grid.six {
  grid-template-columns: repeat(6, 1fr);
}

.icon-card {
  min-height: 300px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 30px;
  background: var(--color-white);
  border: 1px solid var(--color-line);
  color: var(--color-dark);
  transition: transform .28s ease, background .28s ease, color .28s ease, border-color .28s ease, box-shadow .28s ease;
}

.icon-card:hover {
  transform: translateY(-8px);
  background: var(--color-dark);
  color: var(--color-white);
  border-color: var(--color-dark);
  box-shadow: 0 24px 70px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 22%, transparent);
}

.icon-card-icon {
  width: 58px;
  height: 58px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: var(--color-key);
  color:var(--pb-theme-white,var(--color-white));
  flex: 0 0 auto;
  transition: background .28s ease, color .28s ease;
}

.icon-card-icon svg {
  width: 26px;
  height: 26px;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.icon-card h3 {
  margin: 2px 0 0;
  color: var(--color-dark);
  font-size: var(--h3);
  line-height: 1.22;
  letter-spacing: -.025em;
  transition: color .28s ease;
}

.icon-card p {
  margin: 0;
  color: var(--color-muted);
  font-size: var(--small);
  line-height: 1.7;
  transition: color .28s ease;
}

.icon-card-tag {
  margin-top: auto;
  padding-top: 18px;
  border-top: 1px solid var(--color-line);
  color: var(--color-key);
  font-size: var(--micro);
  font-weight:500;
  letter-spacing: .14em;
  line-height: 1.35;
  text-transform: uppercase;
  transition: border-color .28s ease, color .28s ease;
}

.icon-card:hover h3,
.icon-card:hover p {
  color: var(--color-white);
}

.icon-card:hover .icon-card-tag {
  border-top-color: var(--color-key);
  color: var(--color-key);
}

.icon-card-grid.five .icon-card,
.icon-card-grid.six .icon-card {
  min-height: 280px;
  padding: 24px;
}

.icon-card-grid.five .icon-card h3,
.icon-card-grid.six .icon-card h3 {
  font-size: var(--card);
}

.icon-card-grid.five .icon-card p,
.icon-card-grid.six .icon-card p {
  font-size: var(--small);
  line-height: 1.62;
}

.icon-card-grid.six {
  gap: 16px;
}

.icon-card-grid.six .icon-card-icon {
  width: 50px;
  height: 50px;
}

.icon-card-grid.six .icon-card-icon svg {
  width: 23px;
  height: 23px;
}

@media (max-width: 1280px) {
  .icon-card-grid.six {
    grid-template-columns: repeat(3, 1fr);
  }

  .icon-card-grid.five {
    grid-template-columns: repeat(3, 1fr);
  }

  .icon-card-grid.four {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 900px) {
  .icon-cards-inner {
    width: min(100% - 56px, 1440px);
  }

  .icon-card-grid.two,
  .icon-card-grid.three,
  .icon-card-grid.feature,
  .icon-card-grid.five,
  .icon-card-grid.six {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .icon-cards-inner {
    width: min(100% - 36px, 1440px);
    padding: 54px 0;
  }

  .icon-card-grid.two,
  .icon-card-grid.three,
  .icon-card-grid.feature,
  .icon-card-grid.four,
  .icon-card-grid.five,
  .icon-card-grid.six {
    grid-template-columns: 1fr;
  }

  .icon-card,
  .icon-card-grid.five .icon-card,
  .icon-card-grid.six .icon-card {
    min-height: 260px;
    padding: 26px;
  }

  .icon-card h3,
  .icon-card-grid.five .icon-card h3,
  .icon-card-grid.six .icon-card h3 {
    font-size: var(--h3);
  }
}


/* FORMULARIOS */
.forms-menu-title {
  width: 100%;
  padding: 56px 0 18px;
  background: var(--color-dark);
  border-bottom: 1px solid var(--color-line);
}

.form-section {
  width: 100%;
  padding-top: 34px;
  background: var(--color-dark);
  border-bottom: 1px solid var(--color-line);
}

.form-real {
  width: 100%;
  margin: 0;
  padding: 0;
  background: var(--color-light);
  border-top: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);
}

.contact-form-inner {
  width: min(100% - 96px, 1440px);
  margin-inline: auto;
  padding: 86px 0;
  display: grid;
  grid-template-columns: .88fr 1.12fr;
  gap: 42px;
  align-items: stretch;
}

.contact-info-card {
  min-height: 640px;
  padding: 48px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: var(--color-dark);
  color: var(--color-white);
  box-shadow: var(--shadow);
}

.contact-info-main {
  display: grid;
  gap: 18px;
}

.contact-label {
  display: block;
  color: var(--color-key);
  font-size: var(--micro);
  font-weight: 700;
  letter-spacing: .16em;
  line-height: 1.45;
  text-transform: uppercase;
}

.contact-info-card h3 {
  margin: 0;
  max-width: 520px;
  color: var(--color-white);
  font-size: var(--h2);
  line-height: 1.05;
  letter-spacing: -.055em;
}

.contact-info-card p {
  margin: 0;
  max-width: 560px;
  color: var(--color-line);
  font-size: var(--body);
  line-height: 1.8;
}

.contact-data-list {
  display: grid;
  gap: 14px;
  margin-top: 42px;
}

.contact-data-item {
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 14px;
  align-items: start;
  padding-top: 18px;
  border-top: 1px solid var(--color-line);
}

.contact-data-icon {
  width: 46px;
  height: 46px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: var(--color-light);
  color: var(--color-key);
}

.contact-data-icon svg {
  width: 22px;
  height: 22px;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.contact-data-item strong {
  display: block;
  color: var(--color-white);
  font-size: var(--small);
  font-weight: 900;
  line-height: 1.35;
}

.contact-data-item span {
  display: block;
  margin-top: 4px;
  color: var(--color-line);
  font-size: var(--small);
  line-height: 1.55;
}

.contact-form-card {
  padding: 48px;
  background: var(--color-white);
  color: var(--color-dark);
  box-shadow: var(--shadow);
}

.contact-form-card h3 {
  margin: 0 0 12px;
  color: var(--color-dark);
  font-size: var(--card);
  line-height: 1.1;
  letter-spacing: -.045em;
}

.contact-form-card > p {
  margin: 0 0 30px;
  color: var(--color-muted);
  font-size: var(--body);
  line-height: 1.75;
}

.whatsapp-form {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}

.form-field {
  display: grid;
  gap: 8px;
}

.form-field.full {
  grid-column: 1 / -1;
}

.form-field label {
  color: var(--color-dark);
  font-size: var(--micro);
  font-weight: 900;
  letter-spacing: .12em;
  line-height: 1.35;
  text-transform: uppercase;
}

.form-field input,
.form-field select,
.form-field textarea {
  width: 100%;
  min-height: 52px;
  border: 1px solid var(--color-line);
  background: var(--color-light);
  color: var(--color-dark);
  padding: 0 16px;
  outline: none;
  border-radius: 0;
  font-size: var(--body);
  line-height: 1.4;
  transition: border-color .22s ease, background .22s ease, box-shadow .22s ease;
}

.form-field textarea {
  min-height: 142px;
  padding-top: 15px;
  resize: vertical;
}

.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus {
  border-color: var(--color-key);
  background: var(--color-white);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 10%, transparent);
}

.whatsapp-submit {
  min-height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  padding: 0 24px;
  background: var(--color-key);
  color:var(--pb-theme-white,var(--color-white));
  font-size: var(--small);
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
  transition: background .25s ease, transform .25s ease;
}

.whatsapp-submit:hover {
  background: var(--color-dark);
  transform: translateY(-2px);
}

.form-note {
  color: var(--color-muted);
  font-size: var(--small);
  line-height: 1.65;
}

@media (max-width: 1100px) {
  .contact-form-inner {
    width: min(100% - 56px, 1440px);
    grid-template-columns: 1fr;
  }

  .contact-info-card {
    min-height: auto;
  }
}

@media (max-width: 720px) {
  .contact-form-inner {
    width: min(100% - 36px, 1440px);
    padding: 58px 0;
  }

  .contact-info-card,
  .contact-form-card {
    padding: 30px;
  }

  .contact-info-card h3 {
    font-size: var(--h4);
  }

  .whatsapp-form {
    grid-template-columns: 1fr;
  }
}


/* Ajuste formulario 01: bloques compactos y columnas 50% / 50% */
#formulario-01 .contact-form-inner {
  grid-template-columns: 50% 50% !important;
  gap: 0 !important;
  align-items: stretch !important;
}

#formulario-01 .contact-info-card,
#formulario-01 .contact-form-card {
  min-height: auto !important;
  height: auto !important;
  padding: 32px !important;
}

#formulario-01 .contact-info-card {
  justify-content: flex-start !important;
  gap: 26px !important;
}

#formulario-01 .contact-info-main {
  gap: 12px !important;
}

#formulario-01 .contact-info-card h3 {
  font-size: var(--card) !important;
  line-height: 1.1 !important;
  letter-spacing: -.045em !important;
}

#formulario-01 .contact-info-card p,
#formulario-01 .contact-form-card > p {
  font-size: var(--small) !important;
  line-height: 1.65 !important;
}

#formulario-01 .contact-data-list {
  gap: 10px !important;
  margin-top: 18px !important;
}

#formulario-01 .contact-data-item {
  grid-template-columns: 38px 1fr !important;
  gap: 12px !important;
  padding-top: 12px !important;
}

#formulario-01 .contact-data-icon {
  width: 38px !important;
  height: 38px !important;
}

#formulario-01 .contact-data-icon svg {
  width: 19px !important;
  height: 19px !important;
}

#formulario-01 .contact-form-card h3 {
  margin-bottom: 8px !important;
  font-size: var(--h3) !important;
}

#formulario-01 .contact-form-card > p {
  margin-bottom: 20px !important;
}

#formulario-01 .whatsapp-form {
  gap: 12px !important;
}

#formulario-01 .form-field {
  gap: 6px !important;
}

#formulario-01 .form-field input,
#formulario-01 .form-field select {
  min-height: 44px !important;
}

#formulario-01 .form-field textarea {
  min-height: 92px !important;
  padding-top: 12px !important;
}

#formulario-01 .whatsapp-submit {
  min-height: 46px !important;
}

#formulario-01 .form-note {
  margin: 0 !important;
  font-size: var(--small) !important;
  line-height: 1.5 !important;
}

@media (max-width: 900px) {
  #formulario-01 .contact-form-inner {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }
}


/* Ajuste formulario 01: título H2 y separación estándar */
#formulario-01 .contact-form-inner {
  grid-template-columns: 50% 50% !important;
  gap: 42px !important;
  align-items: stretch !important;
}

#formulario-01 .contact-info-card h3 {
  font-size: var(--h2) !important;
  line-height: 1.1 !important;
  letter-spacing: -.045em !important;
}

@media (max-width: 900px) {
  #formulario-01 .contact-form-inner {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
}


/* Ajuste formulario 01: misma separación visual que cards */
#formulario-01 .contact-form-inner {
  gap: 22px !important;
}

#formulario-01 .contact-form-card {
  display: grid !important;
  align-content: start !important;
}

#formulario-01 .whatsapp-form {
  margin-top: 0 !important;
}

@media (max-width: 900px) {
  #formulario-01 .contact-form-inner {
    gap: 22px !important;
  }
}


/* Ajuste formulario 01: íconos centrados y formulario ligeramente más amplio */
#formulario-01 .contact-data-icon {
  width: 46px !important;
  height: 46px !important;
  display: grid !important;
  place-items: center !important;
  align-items: center !important;
  justify-items: center !important;
  line-height: 1 !important;
}

#formulario-01 .contact-data-icon svg {
  width: 25px !important;
  height: 25px !important;
  display: block !important;
  margin: auto !important;
}

#formulario-01 .contact-form-card {
  padding-top: 36px !important;
  padding-bottom: 36px !important;
}

#formulario-01 .whatsapp-form {
  gap: 14px !important;
}

#formulario-01 .form-field input,
#formulario-01 .form-field select {
  min-height: 48px !important;
}

#formulario-01 .form-field textarea {
  min-height: 118px !important;
}

#formulario-01 .whatsapp-submit {
  min-height: 50px !important;
}


/* Ajuste formulario 01: menos alto en bloque derecho y contacto mejor alineado */
#formulario-01 .contact-form-card {
  padding-top: 28px !important;
  padding-bottom: 28px !important;
}

#formulario-01 .whatsapp-form {
  gap: 10px 14px !important;
}

#formulario-01 .form-field {
  gap: 5px !important;
}

#formulario-01 .form-field input,
#formulario-01 .form-field select {
  min-height: 42px !important;
}

#formulario-01 .form-field textarea {
  min-height: 82px !important;
  padding-top: 10px !important;
}

#formulario-01 .whatsapp-submit {
  min-height: 44px !important;
}

#formulario-01 .contact-data-item {
  grid-template-columns: 46px 1fr !important;
  gap: 18px !important;
  align-items: center !important;
}

#formulario-01 .contact-data-item > div {
  align-self: center !important;
}

#formulario-01 .contact-data-item strong,
#formulario-01 .contact-data-item span {
  line-height: 1.45 !important;
}


/* Ajuste formulario 01: campos más altos sin superar el contenedor actual */
#formulario-01 .contact-form-card {
  padding-top: 24px !important;
  padding-bottom: 24px !important;
}

#formulario-01 .whatsapp-form {
  gap: 8px 14px !important;
}

#formulario-01 .form-field {
  gap: 4px !important;
}

#formulario-01 .form-field label {
  line-height: 1.2 !important;
}

#formulario-01 .form-field input,
#formulario-01 .form-field select {
  min-height: 50px !important;
  height: 50px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

#formulario-01 .form-field textarea {
  min-height: 104px !important;
  height: 104px !important;
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}

#formulario-01 .whatsapp-submit {
  min-height: 50px !important;
  height: 50px !important;
}


/* Corrección formulario 01: volver al alto anterior y alinear bordes superiores */
#formulario-01 .contact-form-card {
  padding-top: 24px !important;
  padding-bottom: 24px !important;
  overflow: visible !important;
}

#formulario-01 .whatsapp-form {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 8px 14px !important;
  align-items: start !important;
}

#formulario-01 .form-field {
  display: grid !important;
  grid-template-rows: 14px auto !important;
  gap: 4px !important;
  align-items: start !important;
}

#formulario-01 .form-field.full {
  grid-column: 1 / -1 !important;
}

#formulario-01 .form-field label {
  min-height: 14px !important;
  display: flex !important;
  align-items: flex-end !important;
  line-height: 1 !important;
}

#formulario-01 .form-field input,
#formulario-01 .form-field select {
  min-height: 50px !important;
  height: 50px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

#formulario-01 .form-field textarea {
  min-height: 104px !important;
  height: 104px !important;
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}

#formulario-01 .whatsapp-submit {
  min-height: 50px !important;
  height: 50px !important;
}

@media (max-width: 720px) {
  #formulario-01 .whatsapp-form {
    grid-template-columns: 1fr !important;
  }
}


/* Ajuste formulario 01: Nombre y Empresa alineados con 01 · Contacto */
#formulario-01 .contact-form-card {
  padding-top: 32px !important;
}


/* Ajuste formulario 01: espacio superior en campos y textarea más amplio */
#formulario-01 .whatsapp-form .form-field:nth-child(3),
#formulario-01 .whatsapp-form .form-field:nth-child(4),
#formulario-01 .whatsapp-form .form-field:nth-child(5),
#formulario-01 .whatsapp-form .form-field:nth-child(6) {
  margin-top: 8px !important;
}

#formulario-01 .form-field textarea {
  min-height: 126px !important;
  height: 126px !important;
}


/* Ajuste formulario 01: doble espacio superior y textarea más amplio */
#formulario-01 .whatsapp-form .form-field:nth-child(3),
#formulario-01 .whatsapp-form .form-field:nth-child(4),
#formulario-01 .whatsapp-form .form-field:nth-child(5),
#formulario-01 .whatsapp-form .form-field:nth-child(6) {
  margin-top: 16px !important;
}

#formulario-01 .form-field textarea {
  min-height: 148px !important;
  height: 148px !important;
}


/* Ajuste formulario 01: más espacio y labels sin negrita */
#formulario-01 .whatsapp-form .form-field:nth-child(3),
#formulario-01 .whatsapp-form .form-field:nth-child(4),
#formulario-01 .whatsapp-form .form-field:nth-child(5),
#formulario-01 .whatsapp-form .form-field:nth-child(6) {
  margin-top: 22px !important;
}

#formulario-01 .form-field textarea {
  min-height: 158px !important;
  height: 158px !important;
}

#formulario-01 .form-field label {
  font-weight: 400 !important;
}


/* Ajuste formulario 01: espacio moderado y labels regulares */
#formulario-01 .whatsapp-form .form-field:nth-child(3),
#formulario-01 .whatsapp-form .form-field:nth-child(4),
#formulario-01 .whatsapp-form .form-field:nth-child(5),
#formulario-01 .whatsapp-form .form-field:nth-child(6) {
  margin-top: 12px !important;
}

#formulario-01 .form-field textarea {
  min-height: 136px !important;
  height: 136px !important;
}

#formulario-01 .form-field label {
  font-weight: 400 !important;
}


/* Ajuste formulario 01: labels en mayúsculas y minúsculas */
#formulario-01 .form-field label {
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-weight: 400 !important;
}


/* Ajuste formulario 01: reducir 2px espacio superior de campos secundarios */
#formulario-01 .whatsapp-form .form-field:nth-child(3),
#formulario-01 .whatsapp-form .form-field:nth-child(4),
#formulario-01 .whatsapp-form .form-field:nth-child(5),
#formulario-01 .whatsapp-form .form-field:nth-child(6) {
  margin-top: 10px !important;
}


/* GRILLA 1440 */
.grid-menu-title {
  width: 100%;
  padding: 56px 0 18px;
  background: var(--color-dark);
  border-bottom: 1px solid var(--color-line);
}

.grid-section {
  width: 100%;
  padding-top: 34px;
  background: var(--color-dark);
  border-bottom: 1px solid var(--color-line);
}

.grid-real {
  width: 100%;
  margin: 0;
  padding: 0;
  background: var(--color-white);
  border-top: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);
}

.grid-demo-inner {
  width: min(100% - 96px, 1440px);
  margin-inline: auto;
  padding: 72px 0;
}

.grid-demo-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 24px;
  color: var(--color-dark);
}

.grid-demo-head h3 {
  margin: 0;
  color: var(--color-dark);
  font-size: var(--h3);
  line-height: 1.2;
  letter-spacing: -.025em;
}

.grid-demo-head span {
  color: var(--color-muted);
  font-size: var(--small);
  line-height: 1.5;
}

.grid-visual {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 22px;
  min-height: 360px;
}

.grid-col {
  min-height: 360px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 14px 6px;
  background: var(--color-light);
  border: 1px solid var(--color-key);
  color: var(--color-key);
  font-size: var(--micro);
  font-weight: 900;
  letter-spacing: .08em;
}

.grid-samples {
  display: grid;
  grid-template-columns: 6fr 3fr 3fr;
  gap: 22px;
  margin-top: 22px;
}

.grid-sample {
  min-height: 128px;
  display: flex;
  align-items: flex-end;
  padding: 18px;
  background: var(--color-light);
  border: 1px solid var(--color-line);
  color: var(--color-dark);
  font-size: var(--small);
  font-weight: 700;
  line-height: 1.35;
}

@media (max-width: 1100px) {
  .grid-demo-inner {
    width: min(100% - 56px, 1440px);
  }

  .grid-visual {
    grid-template-columns: repeat(6, 1fr);
  }

  .grid-col {
    min-height: 180px;
  }
}

@media (max-width: 720px) {
  .grid-demo-inner {
    width: min(100% - 36px, 1440px);
    padding: 54px 0;
  }

  .grid-demo-head {
    align-items: start;
    flex-direction: column;
  }

  .grid-visual {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
  }

  .grid-samples {
    grid-template-columns: 1fr;
    gap: 14px;
  }
}


/* TOP BAR título de sección */
.topbar-menu-title {
  width: 100%;
  padding: 56px 0 18px;
  background: var(--color-dark);
  border-bottom: 1px solid var(--color-line);
}


/* GRILLA 1440: alto reducido y nuevos modelos */
#grilla-01 .grid-demo-inner {
  padding: 48px 0 !important;
}

#grilla-01 .grid-visual,
#grilla-01 .grid-col {
  min-height: 220px !important;
}

.grid-full-real,
.grid-layout-real {
  width: 100%;
  margin: 0;
  padding: 0;
  background: var(--color-white);
  border-top: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);
}

.grid-full-inner {
  width: 100%;
  padding: 48px clamp(28px, 4vw, 72px);
}

.grid-full-visual {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 22px;
  min-height: 220px;
}

.grid-full-col {
  min-height: 220px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 14px 6px;
  background: var(--color-light);
  border: 1px solid var(--color-key);
  color: var(--color-key);
  font-size: var(--micro);
  font-weight: 900;
  letter-spacing: .08em;
}

.grid-layout-inner {
  width: min(100% - 96px, 1440px);
  margin-inline: auto;
  padding: 48px 0;
}

.grid-layout-visual {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 22px;
}

.grid-layout-block {
  min-height: 220px;
  display: flex;
  align-items: flex-end;
  padding: 22px;
  background: var(--color-light);
  border: 1px solid var(--color-line);
  color: var(--color-dark);
  font-size: var(--small);
  font-weight: 900;
  line-height: 1.35;
}

.grid-layout-block:first-child {
  background: var(--color-light);
  border-color: var(--color-key);
  color: var(--color-key);
}

@media (max-width: 1100px) {
  .grid-full-visual {
    grid-template-columns: repeat(6, 1fr);
  }

  .grid-full-col {
    min-height: 160px;
  }

  .grid-layout-inner {
    width: min(100% - 56px, 1440px);
  }

  .grid-layout-visual {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .grid-full-inner {
    padding: 42px 18px;
  }

  .grid-full-visual {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
  }

  .grid-layout-inner {
    width: min(100% - 36px, 1440px);
    padding: 42px 0;
  }

  .grid-layout-visual {
    gap: 14px;
  }
}


/* HERO integrado después de Menús hamburguesa */
.hero-section-title {
  width: 100%;
  padding: 56px 0 18px;
  background: var(--color-dark);
  border-bottom: 1px solid var(--color-line);
}

.hero-section-block {
  width: 100%;
  padding-top: 34px;
  background: var(--color-dark);
  border-bottom: 1px solid var(--color-line);
}

.hero-section-example {
  width: 100%;
  margin: 0;
  padding: 0;
  background: var(--color-light);
  border-top: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);
  overflow: hidden;
}

.hero-embed {
  width: 100%;
  background: var(--color-light);
  color: var(--color-dark);
  isolation: isolate;
}

.hero-embed {--color-dark: inherit;
  --color-key: inherit;
  --color-light: inherit;
  --color-white: inherit;
  --color-muted: inherit;
  --color-line: inherit;
  --shadow: 0 30px 90px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 22%, transparent);
  --header: 84px;
  --font-main: "Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-secondary: "Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --text-label: var(--micro);
  --text-small: var(--small);
  --text-body: var(--body);
  --text-h3: var(--h3);
  --text-card: var(--card);
  --text-h2: var(--h2);
  --text-stat: var(--h1);
  --text-h1: var(--h1);
  --sidebar: 300px;}
.hero-embed * {box-sizing: border-box;}
.hero-embed {scroll-behavior: smooth;}
.hero-embed {margin: 0;
  background: var(--color-light);
  color: var(--color-dark);
  font-family: var(--font-main);
  font-size: var(--body);
  line-height: 1.78;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;}
.hero-embed a {color: inherit; text-decoration: none;}
.hero-embed button, .hero-embed input, .hero-embed textarea, .hero-embed select {font: inherit;}
.hero-embed p, .hero-embed h1, .hero-embed h2, .hero-embed h3 {margin-top: 0;}
.hero-embed h1, .hero-embed h2, .hero-embed h3 {margin: 0;
  font-family: var(--font-main);
  font-weight: 700;
  color: var(--color-dark);}
.hero-embed h1 {font-size: var(--h1); line-height: .98; letter-spacing: -.065em;}
.hero-embed h2 {font-size: var(--h2); line-height: 1.1; letter-spacing: -.045em;}
.hero-embed h3 {font-size: var(--h3); line-height: 1.25; letter-spacing: -.025em;}
.hero-embed p {margin: 0; font-size: var(--body); line-height: 1.8; color: var(--color-muted);}
.hero-embed .app {display: grid; grid-template-columns: var(--sidebar) 1fr; min-height: 100vh;}
.hero-embed .sidebar {position: sticky;
  top: 0;
  height: 100vh;
  padding: 28px 24px;
  background: var(--color-dark);
  color: var(--color-white);
  overflow: auto;}
.hero-embed .brand {display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 0 28px;
  border-bottom: 1px solid var(--color-line);
  font-weight: 700;
  letter-spacing: -.02em;}
.hero-embed .brand-mark {width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  background: var(--color-key);
  color:var(--pb-theme-white,var(--color-white));
  font-weight: 900;}
.hero-embed .side-label {margin: 28px 0 12px;
  color: var(--color-line);
  font-size: var(--micro);
  font-weight: 400;
  letter-spacing: .16em;
  text-transform: uppercase;}
.hero-embed .nav-list {display: grid; gap: 6px; margin: 0; padding: 0; list-style: none;}
.hero-embed .nav-list a {display: flex;
  align-items: center;
  gap: 10px;
  min-height: 40px;
  padding: 0 10px;
  color: var(--color-line);
  font-size: var(--small);
  font-weight: 500;}
.hero-embed .nav-list a:hover {color: var(--color-white); background: var(--color-line);}
.hero-embed .nav-dot {width: 6px;
  height: 6px;
  border-radius: 999px;
  background: var(--color-key);
  flex: 0 0 auto;}
.hero-embed .main {min-width: 0;}
.hero-embed .content {width: min(1480px, calc(100% - 84px)); margin: 0 auto; padding: 42px 0 96px;}
.hero-embed .page-head {padding: 34px 0 42px;
  border-bottom: 1px solid var(--color-line);}
.hero-embed .page-head .section-number {margin-bottom: 14px;}
.hero-embed .page-head p {max-width: 820px; margin-top: 18px;}
.hero-embed .section {scroll-margin-top: 36px; padding: 88px 0 0;}
.hero-embed .section-head {display: flex; justify-content: space-between; align-items: end; gap: 28px; margin-bottom: 28px;}
.hero-embed .section-number {display: block;
  color: var(--color-key);
  font-size: var(--micro);
  font-weight: 500;
  letter-spacing: .16em;
  text-transform: uppercase;}
.hero-embed .section-head h2 {margin-top: 8px;}
.hero-embed .section-note {max-width: 420px;
  color: var(--color-muted);
  font-size: var(--small);
  line-height: 1.65;}
.hero-embed .btn-row {display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px;}
.hero-embed .btn {display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 24px;
  border: 1px solid transparent;
  font-size: var(--small);
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  transition: transform .25s ease, background .25s ease, border-color .25s ease, color .25s ease;}
.hero-embed .btn.primary {background: var(--color-key); color:var(--pb-theme-white,var(--color-white));}
.hero-embed .btn.dark {background: var(--color-dark); color: var(--color-white);}
.hero-embed .btn.ghost {border-color: var(--color-line); color: var(--color-dark); background: transparent;}
.hero-embed .btn.light {border-color: var(--color-line); color: var(--color-white); background: var(--color-line);}
.hero-embed .btn:hover {transform: translateY(-2px);}
.hero-embed .hero {position: relative;
  overflow: hidden;
  min-height: 620px;
  background: var(--color-white);
  border: 1px solid var(--color-line);
  box-shadow: 0 18px 48px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 8%, transparent);}
.hero-embed .hero.dark {background: var(--color-dark);
  color: var(--color-white);
  border-color: var(--color-line);}
.hero-embed .hero.dark h1, .hero-embed .hero.dark h2, .hero-embed .hero.dark h3 {color: var(--color-white);}
.hero-embed .hero.dark p {color: var(--color-line);}
.hero-embed .hero-inner {position: relative;
  z-index: 2;
  width: min(1220px, calc(100% - 72px));
  margin: 0 auto;}
.hero-embed .eyebrow {display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
  color: var(--color-key);
  font-size: var(--micro);
  font-weight:500;
  line-height: 1;
  letter-spacing: .16em;
  text-transform: uppercase;}
.hero-embed .eyebrow::before {content: "";
  width: 32px;
  height: 1px;
  background: currentColor;}
.hero-embed .hero h1, .hero-embed .hero h2 {max-width: 760px;}
.hero-embed .hero p {max-width: 600px; margin-top: 22px;}
.hero-embed .visual {position: relative;
  min-height: 420px;
  background:
    radial-gradient(circle at 24% 18%, transparent, transparent 32%),
    linear-gradient(135deg, var(--color-light) 0%, var(--color-white) 38%, var(--color-light) 100%);
  overflow: hidden;}
.hero-embed .visual.dark-visual {background:
    radial-gradient(circle at 28% 20%, transparent, transparent 32%),
    linear-gradient(135deg, var(--color-dark), var(--color-dark));}
.hero-embed .visual::after {content: "";
  position: absolute;
  inset: 32px;
  border: 1px solid var(--color-line);}
.hero-embed .visual.dark-visual::after {border-color: var(--color-line);}
.hero-embed .visual-lines {position: absolute;
  inset: 0;
  opacity: .34;
  background-image:
    linear-gradient(transparent 1px, transparent 1px),
    linear-gradient(90deg, transparent 1px, transparent 1px);
  background-size: 42px 42px;}
.hero-embed .visual.dark-visual .visual-lines {background-image:
    linear-gradient(transparent 1px, transparent 1px),
    linear-gradient(90deg, transparent 1px, transparent 1px);}
.hero-embed .visual-label {position: absolute;
  left: 38px;
  bottom: 34px;
  z-index: 2;
  max-width: 300px;
  color: var(--color-dark);
  font-size: var(--small);
  font-weight: 700;
  line-height: 1.35;}
.hero-embed .dark-visual .visual-label {color: var(--color-white);}
.hero-embed .kpi-row {display: flex; flex-wrap: wrap; gap: 22px; margin-top: 34px;}
.hero-embed .kpi {min-width: 138px;
  padding-left: 18px;
  border-left: 1px solid var(--color-line);}
.hero-embed .dark .kpi {border-color: var(--color-line);}
.hero-embed .kpi strong {display: block;
  color: var(--color-key);
  font-size: var(--h4);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -.04em;}
.hero-embed .kpi span {display: block;
  margin-top: 8px;
  color: var(--color-muted);
  font-size: var(--small);
  line-height: 1.35;}
.hero-embed .dark .kpi span {color: var(--color-line);}
.hero-embed .hero-image-side {display: grid;
  align-items: center;
  grid-template-columns: .95fr 1.05fr;
  gap: 48px;
  padding: 72px 0;}
.hero-embed .hero-image-side .visual {min-height: 500px;}
.hero-embed .hero-fullscreen {min-height: calc(100vh - 84px);
  display: flex;
  align-items: flex-end;
  background:
    linear-gradient(180deg, transparent 0%, var(--color-line) 48%, var(--color-dark) 100%),
    radial-gradient(circle at 72% 24%, var(--color-key), transparent 28%),
    linear-gradient(135deg, var(--color-muted), var(--color-dark));}
.hero-embed .hero-fullscreen .hero-inner {padding: 0 0 76px;}
.hero-embed .hero-fullscreen h1 {max-width: 920px; color: var(--color-white);}
.hero-embed .hero-fullscreen p {color: var(--color-line);}
.hero-embed .hero-fullscreen .eyebrow {color: var(--color-white);}
.hero-embed .hero-floating {min-height: 680px;
  display: grid;
  align-items: center;
  padding: 72px 0;}
.hero-embed .floating-layout {display: grid;
  grid-template-columns: .82fr 1.18fr;
  gap: 60px;
  align-items: center;}
.hero-embed .floating-stage {position: relative;
  min-height: 520px;}
.hero-embed .floating-core {position: absolute;
  inset: 54px 74px;
  background: linear-gradient(135deg, var(--color-light), var(--color-white));
  border: 1px solid var(--color-line);
  box-shadow: var(--shadow);}
.hero-embed .float-card {position: absolute;
  z-index: 3;
  width: 220px;
  padding: 20px;
  background: var(--color-white);
  border: 1px solid var(--color-line);
  box-shadow: 0 18px 56px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 14%, transparent);}
.hero-embed .float-card strong {display: block;
  font-size: var(--h3);
  line-height: 1.12;
  letter-spacing: -.04em;}
.hero-embed .float-card span {display: block;
  margin-top: 10px;
  color: var(--color-muted);
  font-size: var(--small);
  line-height: 1.45;}
.hero-embed .float-card:nth-child(2) {top: 22px; left: 0;}
.hero-embed .float-card:nth-child(3) {top: 142px; right: 0;}
.hero-embed .float-card:nth-child(4) {left: 42px; bottom: 16px;}
.hero-embed .hero-split {display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 680px;}
.hero-embed .hero-split .split-copy {display: grid;
  align-content: center;
  padding: 72px;}
.hero-embed .hero-split .visual {min-height: 100%; border-left: 1px solid var(--color-line);}
.hero-embed .trust-chips {display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 22px 0 28px;}
.hero-embed .trust-pill {display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 36px;
  padding: 8px 12px;
  border: 1px solid var(--color-line);
  background: transparent;
  color: var(--color-muted);
  font-size: var(--small);
  font-weight:500;
  line-height: 1;}
.hero-embed .trust-pill::before {content: "";
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: var(--color-key);
  flex: 0 0 auto;}
.hero-embed .hero-split-meta {margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid var(--color-line);}
.hero-embed .hero-split-stats {display: flex;
  flex-wrap: wrap;
  gap: 26px;}
.hero-embed .hero-split-stat {min-width: 110px;}
.hero-embed .hero-split-stat strong {display: block;
  color: var(--color-key);
  font-size: var(--h4);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -.04em;}
.hero-embed .hero-split-stat span {display: block;
  margin-top: 8px;
  color: var(--color-muted);
  font-size: var(--small);
  line-height: 1.35;
  font-weight: 700;}
.hero-embed .hero-slider {min-height: 680px; background: var(--color-dark); color: var(--color-white);}
.hero-embed .slider-track {display: flex;
  min-height: 680px;
  transition: transform .55s ease;}
.hero-embed .slide {position: relative;
  min-width: 100%;
  display: grid;
  align-items: end;
  overflow: hidden;}
.hero-embed .slide::before {content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 92%, transparent) 0%, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 68%, transparent) 46%, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 20%, transparent) 100%),
    radial-gradient(circle at var(--x, 74%) var(--y, 28%), color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 72%, transparent), transparent 28%),
    linear-gradient(135deg, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 16%, transparent), color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 16%, transparent));}
.hero-embed .slide .hero-inner {padding: 0 0 74px;}
.hero-embed .slide h1 {color: var(--color-white);}
.hero-embed .slide p {color: var(--color-line);}
.hero-embed .slider-controls {position: absolute;
  right: 48px;
  bottom: 48px;
  z-index: 4;
  display: flex;
  align-items: center;
  gap: 12px;}
.hero-embed .slider-btn {width: 46px;
  height: 46px;
  border: 1px solid var(--color-line);
  background: var(--color-line);
  color: var(--color-white);
  cursor: pointer;}
.hero-embed .slider-dots {display: flex; gap: 8px; margin-left: 10px;}
.hero-embed .slider-dot {width: 9px;
  height: 9px;
  border: 0;
  border-radius: 999px;
  background: var(--color-line);
  cursor: pointer;}
.hero-embed .slider-dot.active {background: var(--color-key);}
.hero-embed .hero-video-layout {display: grid;
  grid-template-columns: .82fr 1.18fr;
  gap: 54px;
  align-items: center;
  padding: 72px 0;}
.hero-embed .video-frame {position: relative;
  min-height: 520px;
  background:
    linear-gradient(180deg, transparent, var(--color-dark)),
    radial-gradient(circle at 66% 22%, var(--color-key), transparent 32%),
    linear-gradient(135deg, var(--color-muted), var(--color-dark));
  overflow: hidden;}
.hero-embed .video-frame::before {content: "";
  position: absolute;
  inset: 28px;
  border: 1px solid var(--color-line);}
.hero-embed .play-btn {position: absolute;
  left: 50%;
  top: 50%;
  z-index: 3;
  width: 92px;
  height: 92px;
  display: grid;
  place-items: center;
  transform: translate(-50%, -50%);
  border-radius: 999px;
  background: var(--color-white);
  color: var(--color-dark);
  box-shadow: var(--shadow);}
.hero-embed .play-btn::before {content: "";
  width: 0;
  height: 0;
  margin-left: 7px;
  border-top: 14px solid transparent;
  border-bottom: 14px solid transparent;
  border-left: 22px solid var(--color-key);}
.hero-embed .video-caption {position: absolute;
  left: 38px;
  right: 38px;
  bottom: 34px;
  z-index: 2;
  color: var(--color-line);
  font-size: var(--small);
  line-height: 1.5;}
.hero-embed .hero-editorial {padding: 72px 0;}
.hero-embed .editorial-grid {display: grid;
  grid-template-columns: 1.25fr .75fr;
  gap: 54px;
  align-items: end;}
.hero-embed .editorial-title {max-width: 980px;
  font-size: var(--h1);
  line-height: .82;
  letter-spacing: -.085em;}
.hero-embed .editorial-aside {display: grid;
  gap: 24px;
  padding-bottom: 14px;}
.hero-embed .editorial-rule {height: 1px; background: var(--color-line);}
.hero-embed .editorial-columns {display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 22px;
  margin-top: 58px;
  padding-top: 28px;
  border-top: 1px solid var(--color-line);}
.hero-embed .editorial-columns article {padding-right: 20px;
  border-right: 1px solid var(--color-line);}
.hero-embed .editorial-columns article:last-child {border-right: 0;}
.hero-embed .editorial-columns h3 {margin-bottom: 10px;}
.hero-embed .hero-saas {padding: 72px 0 0;
  background:
    radial-gradient(circle at 50% 0%, transparent, transparent 32%),
    var(--color-white);}
.hero-embed .saas-copy {text-align: center;}
.hero-embed .saas-copy h1, .hero-embed .saas-copy p {margin-left: auto; margin-right: auto;}
.hero-embed .saas-copy .eyebrow {justify-content: center;}
.hero-embed .saas-dashboard {width: min(1120px, calc(100% - 72px));
  margin: 54px auto -1px;
  padding: 18px;
  background: var(--color-dark);
  border: 1px solid var(--color-line);
  box-shadow: var(--shadow);}
.hero-embed .dashboard-top {display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 10px 12px 18px;
  color: var(--color-line);
  font-size: var(--small);}
.hero-embed .dashboard-grid {display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 14px;}
.hero-embed .dashboard-panel {min-height: 260px;
  padding: 22px;
  background: var(--color-line);
  border: 1px solid var(--color-line);}
.hero-embed .dashboard-chart {height: 160px;
  margin-top: 34px;
  background:
    linear-gradient(135deg, transparent 0 45%, var(--color-key) 45% 52%, transparent 52%),
    linear-gradient(90deg, transparent 1px, transparent 1px);
  background-size: 100% 100%, 42px 100%;}
.hero-embed .dashboard-list {display: grid; gap: 12px; margin-top: 18px;}
.hero-embed .dashboard-item {display: grid;
  grid-template-columns: 36px 1fr;
  gap: 12px;
  align-items: center;
  padding: 12px;
  background: var(--color-line);}
.hero-embed .dashboard-bullet {width: 36px; height: 36px; background: var(--color-key);}
.hero-embed .hero-form {display: grid;
  grid-template-columns: 1fr .85fr;
  gap: 54px;
  align-items: center;
  padding: 72px 0;}
.hero-embed .form-card {padding: 34px;
  background: var(--color-white);
  border: 1px solid var(--color-line);
  box-shadow: var(--shadow);}
.hero-embed .form-grid {display: grid; gap: 14px; margin-top: 24px;}
.hero-embed .form-grid label {display: grid;
  gap: 8px;
  color: var(--color-dark);
  font-size: var(--micro);
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;}
.hero-embed .form-grid input, .hero-embed .form-grid select, .hero-embed .form-grid textarea {width: 100%;
  min-height: 50px;
  padding: 0 14px;
  border: 1px solid var(--color-line);
  background: var(--color-light);
  color: var(--color-dark);
  outline: 0;}
.hero-embed .form-grid textarea {min-height: 118px; padding: 14px; resize: vertical;}
.hero-embed .form-grid .btn {width: 100%; margin-top: 4px;}
.hero-embed .hero-benefits {padding: 72px 0;}
.hero-embed .benefit-layout {display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 54px;
  align-items: center;}
.hero-embed .benefit-grid {display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;}
.hero-embed .benefit-card {min-height: 210px;
  padding: 24px;
  background: var(--color-white);
  border: 1px solid var(--color-line);}
.hero-embed .benefit-number {display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  margin-bottom: 24px;
  background: var(--color-key);
  color:var(--pb-theme-white,var(--color-white));
  font-size: var(--small);
  font-weight: 700;}
.hero-embed .benefit-card h3 {margin-bottom: 10px;}
.hero-embed .hero-stats {display: grid;
  align-items: center;
  padding: 72px 0;}
.hero-embed .stats-hero-grid {display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 56px;
  align-items: center;}
.hero-embed .stat-wall {display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border-top: 1px solid var(--color-line);
  border-left: 1px solid var(--color-line);}
.hero-embed .stat-box {min-height: 220px;
  padding: 30px;
  border-right: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);
  background: var(--color-white);}
.hero-embed .stat-box strong {display: block;
  color: var(--color-key);
  font-size: var(--h1);
  line-height: 1;
  letter-spacing: -.06em;}
.hero-embed .stat-box span {display: block;
  margin-top: 18px;
  color: var(--color-muted);
  font-size: var(--small);
  line-height: 1.45;
  font-weight: 700;}
.hero-embed .hero-minimal {min-height: 560px;
  display: grid;
  place-items: center;
  padding: 72px 0;
  text-align: center;}
.hero-embed .hero-minimal .hero-inner {width: min(980px, calc(100% - 72px));}
.hero-embed .hero-minimal h1 {margin: 0 auto;}
.hero-embed .hero-minimal p {margin-left: auto; margin-right: auto;}
.hero-embed .mini-nav {display: inline-flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-top: 34px;}
.hero-embed .mini-nav span {padding: 8px 12px;
  border: 1px solid var(--color-line);
  color: var(--color-muted);
  font-size: var(--small);
  font-weight: 700;}
.hero-embed .hero-product {min-height: 720px;
  display: grid;
  align-items: center;
  padding: 72px 0;
  background:
    radial-gradient(circle at 50% 52%, transparent, transparent 30%),
    var(--color-white);}
.hero-embed .product-layout {display: grid;
  grid-template-columns: .75fr 1fr .75fr;
  gap: 34px;
  align-items: center;}
.hero-embed .product-object {position: relative;
  height: 500px;}
.hero-embed .product-pack {position: absolute;
  inset: 42px 78px;
  background: linear-gradient(135deg, var(--color-white) 0%, var(--color-light) 100%);
  border: 1px solid var(--color-line);
  box-shadow: var(--shadow);
  transform: perspective(700px) rotateY(-10deg);}
.hero-embed .product-pack::before {content: "PRODUCTO";
  position: absolute;
  left: 28px;
  right: 28px;
  top: 34px;
  padding-bottom: 22px;
  border-bottom: 1px solid var(--color-line);
  color: var(--color-dark);
  font-size: var(--micro);
  font-weight: 700;
  letter-spacing: .18em;}
.hero-embed .product-pack::after {content: "";
  position: absolute;
  left: 28px;
  right: 28px;
  bottom: 34px;
  height: 190px;
  background:
    radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 16%, transparent), transparent 36%),
    linear-gradient(135deg, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 10%, transparent), transparent);}
.hero-embed .product-side {display: grid; gap: 24px;}
.hero-embed .product-point {padding-top: 18px;
  border-top: 1px solid var(--color-line);}
.hero-embed .product-point h3 {margin-bottom: 8px;}
.hero-embed .hero-dark-bg {min-height: 680px;
  display: grid;
  align-items: center;
  background:
    radial-gradient(circle at 80% 16%, transparent, transparent 30%),
    linear-gradient(135deg, var(--color-dark) 0%, var(--color-dark) 52%, var(--color-dark) 100%);}
.hero-embed .dark-grid {display: grid;
  grid-template-columns: 1fr .9fr;
  gap: 54px;
  align-items: center;
  padding: 72px 0;}
.hero-embed .dark-card-stack {display: grid;
  gap: 16px;}
.hero-embed .dark-feature {padding: 24px;
  background: var(--color-line);
  border: 1px solid var(--color-line);
  backdrop-filter: blur(12px);}
.hero-embed .dark-feature h3 {color: var(--color-white); margin-bottom: 8px;}
.hero-embed .dark-feature p {color: var(--color-line);}
.hero-embed .hero-campaign {min-height: 720px;
  display: grid;
  align-items: end;
  padding: 72px 0;
  background:
    linear-gradient(180deg, transparent, transparent),
    var(--color-white);}
.hero-embed .campaign-wrap {position: relative;
  min-height: 580px;
  display: grid;
  align-content: space-between;}
.hero-embed .campaign-badge {position: absolute;
  right: 0;
  top: 0;
  width: 170px;
  height: 170px;
  display: grid;
  place-items: center;
  text-align: center;
  padding: 22px;
  border-radius: 999px;
  background: var(--color-key);
  color:var(--pb-theme-white,var(--color-white));
  font-size: var(--small);
  font-weight:500;
  line-height: 1.25;
  letter-spacing: .06em;
  text-transform: uppercase;}
.hero-embed .campaign-title {max-width: 1080px;
  font-size: var(--h1);
  line-height: .86;
  letter-spacing: -.085em;}
.hero-embed .campaign-bottom {display: grid;
  grid-template-columns: .85fr 1fr;
  gap: 42px;
  align-items: end;}
.hero-embed .campaign-bar {min-height: 120px;
  display: flex;
  align-items: center;
  gap: 26px;
  padding: 26px;
  background: var(--color-dark);
  color: var(--color-white);}
.hero-embed .campaign-bar strong {font-size: var(--card);
  line-height: 1;
  letter-spacing: -.04em;}
.hero-embed .campaign-bar span {color: var(--color-line);
  font-size: var(--small);
  line-height: 1.45;}
.hero-embed .campaign-bar .btn {white-space: nowrap;
  flex: 0 0 auto;}
.hero-embed .footer-note {margin-top: 56px;
  padding: 32px 0 0;
  border-top: 1px solid var(--color-line);
  color: var(--color-muted);}
@media (max-width: 1180px) {
.hero-embed {--text-h1: var(--h1);
    --text-h2: var(--h2);
    --text-stat: var(--h1);}
.hero-embed .app {display: block;}
.hero-embed .sidebar {position: relative; height: auto;}
.hero-embed .content {width: min(100% - 48px, 1480px);}
.hero-embed .section-head {display: block;}
.hero-embed .section-note {margin-top: 14px;}
.hero-embed .hero-image-side, .hero-embed .floating-layout, .hero-embed .hero-video-layout, .hero-embed .hero-form, .hero-embed .benefit-layout, .hero-embed .stats-hero-grid, .hero-embed .dark-grid, .hero-embed .campaign-bottom {grid-template-columns: 1fr;}
.hero-embed .hero-split {grid-template-columns: 1fr;}
.hero-embed .hero-split .visual {min-height: 460px; border-left: 0; border-top: 1px solid var(--color-line);}
.hero-embed .editorial-grid, .hero-embed .product-layout, .hero-embed .dashboard-grid {grid-template-columns: 1fr;}
.hero-embed .product-object {order: -1;}
.hero-embed .product-pack {inset: 24px 20%;}
}
@media (max-width: 720px) {
.hero-embed {--header: 72px;
    --text-h1: var(--h1);
    --text-h2: var(--h2);
    --text-h3: var(--h3);
    --text-card: var(--card);
    --text-stat: var(--h1);}
.hero-embed .content {width: min(100% - 32px, 1480px); padding-top: 24px;}
.hero-embed .hero {min-height: auto;}
.hero-embed .hero-inner {width: min(100% - 32px, 1220px);}
.hero-embed .hero-image-side, .hero-embed .floating-layout, .hero-embed .hero-video-layout, .hero-embed .hero-form, .hero-embed .benefit-layout, .hero-embed .stats-hero-grid, .hero-embed .dark-grid, .hero-embed .hero-editorial, .hero-embed .hero-product, .hero-embed .hero-campaign {padding: 42px 0;}
.hero-embed .hero-split .split-copy {padding: 42px 24px;}
.hero-embed .visual, .hero-embed .video-frame, .hero-embed .floating-stage, .hero-embed .product-object {min-height: 380px; height: auto;}
.hero-embed .floating-core {inset: 70px 20px;}
.hero-embed .float-card {position: relative; width: auto; left: auto !important; right: auto !important; top: auto !important; bottom: auto !important; margin-bottom: 12px;}
.hero-embed .benefit-grid, .hero-embed .editorial-columns, .hero-embed .stat-wall {grid-template-columns: 1fr;}
.hero-embed .editorial-columns article {border-right: 0; border-bottom: 1px solid var(--color-line); padding-bottom: 18px;}
.hero-embed .editorial-title, .hero-embed .campaign-title {font-size: var(--h1);}
.hero-embed .campaign-badge {position: relative; margin-bottom: 24px; width: 132px; height: 132px;}
.hero-embed .campaign-wrap {min-height: auto;}
.hero-embed .slider-controls {position: relative; right: auto; bottom: auto; padding: 0 16px 28px;}
.hero-embed .slide .hero-inner {padding: 54px 0;}
.hero-embed .slide {min-height: 580px;}
.hero-embed .slider-track {min-height: 580px;}
}
.hero-embed {--sample-image: url("../images/demo-landscape.webp");
  --menu-size: 64px;}
.hero-embed {background: var(--color-light);}
.hero-embed .app {display: block;}
.hero-embed .sidebar, .hero-embed .page-head, .hero-embed .section-head {display: none !important;}
.hero-embed .main {min-width: 0;}
.hero-embed .content {width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;}
.hero-embed .screen-section {min-height: 100vh;
  padding: 0;
  scroll-margin-top: 0;
  display: grid;
  align-items: stretch;}
.hero-embed .screen-section > .hero {width: 100%;
  min-height: 100vh;
  border: 0;
  box-shadow: none;}
.hero-embed .hero-inner {width: min(1480px, calc(100% - 112px));}
.hero-embed .library-float {position: fixed;
  z-index: 1000;
  inset: 24px 28px auto 28px;
  pointer-events: none;}
.hero-embed .library-word, .hero-embed .hamburger {pointer-events: auto;
  position: fixed;
  top: 24px;
  min-height: var(--menu-size);
  border: 1px solid var(--color-line);
  background: var(--color-white);
  color: var(--color-dark);
  box-shadow: 0 18px 50px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 12%, transparent);
  backdrop-filter: blur(18px);}
.hero-embed .library-word {left: 28px;
  display: inline-flex;
  align-items: center;
  padding: 0 24px;
  font-family: var(--font-main);
  font-size: var(--small);
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;}
.hero-embed .hamburger {right: 28px;
  width: 58px;
  height: 58px;
  min-height: 58px;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0;
  cursor: pointer;}
.hero-embed .hamburger span {display: block;
  width: 24px;
  height: 2px;
  margin: 0;
  border-radius: 999px;
  background: var(--color-dark);}
.hero-embed .menu-backdrop {position: fixed;
  inset: 0;
  z-index: 1090;
  background: color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 42%, transparent);
  backdrop-filter: blur(4px);}
.hero-embed body.menu-open .menu-backdrop {display: block;}
.hero-embed .menu-panel {position: fixed;
  z-index: 1100;
  top: 0;
  right: 0;
  width: min(440px, 100vw);
  height: 100vh;
  padding: 28px;
  background: var(--color-dark);
  color: var(--color-white);
  transform: translateX(101%);
  transition: transform .32s ease;
  overflow: auto;}
.hero-embed body.menu-open .menu-panel {transform: translateX(0);}
.hero-embed .menu-panel-head {display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--color-line);}
.hero-embed .menu-panel-head strong {font-family: var(--font-main);
  font-size: var(--h5);
  letter-spacing: -.02em;}
.hero-embed .menu-close {width: 44px;
  height: 44px;
  border: 1px solid var(--color-line);
  background: var(--color-line);
  color: var(--color-white);
  font-size: var(--h4);
  line-height: 1;
  cursor: pointer;}
.hero-embed .menu-list {list-style: none;
  margin: 24px 0 0;
  padding: 0;
  display: grid;
  gap: 2px;}
.hero-embed .menu-list a {display: flex;
  align-items: center;
  min-height: 52px;
  padding: 0 8px;
  border-bottom: 1px solid var(--color-line);
  color: var(--color-line);
  font-size: var(--small);
  font-weight: 700;}
.hero-embed .menu-list a:hover {color: var(--color-white);}
.hero-embed .visual, .hero-embed .video-frame, .hero-embed .floating-core {background-image:
    linear-gradient(180deg, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 4%, transparent), color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 24%, transparent)),
    var(--sample-image) !important;
  background-size: cover, cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;}
.hero-embed .visual.dark-visual {background-image:
    linear-gradient(180deg, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 20%, transparent), color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 58%, transparent)),
    var(--sample-image) !important;}
.hero-embed .visual-lines {opacity: .16;}
.hero-embed .visual-label {display: none;}
.hero-embed .hero-fullscreen {min-height: 100vh;
  background-image:
    linear-gradient(180deg, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 10%, transparent) 0%, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 58%, transparent) 52%, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 94%, transparent) 100%),
    var(--sample-image) !important;
  background-size: cover, cover !important;
  background-position: center center !important;}
.hero-embed .slide::before {background-image:
    linear-gradient(90deg, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 92%, transparent) 0%, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 66%, transparent) 44%, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 18%, transparent) 100%),
    var(--sample-image) !important;
  background-size: cover, cover !important;
  background-position: center center !important;}
.hero-embed .video-frame {background-image:
    linear-gradient(180deg, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 18%, transparent), color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 78%, transparent)),
    var(--sample-image) !important;}
.hero-embed .product-pack {background-image:
    linear-gradient(180deg, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 8%, transparent), color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 18%, transparent)),
    var(--sample-image) !important;
  background-size: cover, cover !important;
  background-position: center center !important;}
.hero-embed .product-pack::after {display: none;}
.hero-embed .hero-image-side, .hero-embed .hero-floating, .hero-embed .hero-video-layout, .hero-embed .hero-form, .hero-embed .hero-benefits, .hero-embed .hero-stats, .hero-embed .dark-grid, .hero-embed .hero-product, .hero-embed .hero-campaign {min-height: 100vh;
  padding-top: 108px;
  padding-bottom: 72px;}
.hero-embed .hero-split {min-height: 100vh;}
.hero-embed .hero-split .split-copy {padding-top: 108px;}
.hero-embed .hero-fullscreen .hero-inner {padding-bottom: 76px;}
.hero-embed .hero-video-bg {min-height: 100vh;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  text-align: center;
  background-image:
    linear-gradient(180deg, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 10%, transparent) 0%, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 52%, transparent) 44%, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 92%, transparent) 100%),
    var(--sample-image) !important;
  background-size: cover, cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;}
.hero-embed .hero-video-bg .hero-inner {padding: 0 0 76px;
  display: grid;
  justify-items: center;}
.hero-embed .hero-video-bg .eyebrow {color: var(--color-white);
  justify-content: center;}
.hero-embed .hero-video-bg .eyebrow::before {background: currentColor;}
.hero-embed .hero-video-bg h1 {max-width: 920px;
  color: var(--color-white);}
.hero-embed .hero-video-bg p {max-width: 760px;
  margin-left: auto;
  margin-right: auto;
  color: var(--color-line);}
.hero-embed .video-bg-actions {display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
  margin-top: 30px;}
.hero-embed .video-play-inline {width: 56px;
  height: 56px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  border: 1px solid var(--color-line);
  background: var(--color-line);
  backdrop-filter: blur(10px);
  cursor: pointer;}
.hero-embed .video-play-top {width: 74px;
  height: 74px;
  margin-bottom: 24px;}
.hero-embed .video-play-inline::before {content: "";
  width: 0;
  height: 0;
  margin-left: 4px;
  border-top: 9px solid transparent;
  border-bottom: 9px solid transparent;
  border-left: 14px solid var(--color-white);}
.hero-embed .video-play-top::before {border-top-width: 12px;
  border-bottom-width: 12px;
  border-left-width: 19px;}
.hero-embed .hero-slider, .hero-embed .slider-track, .hero-embed .slide {min-height: 100vh;}
.hero-embed .slide .hero-inner {padding-top: 108px; padding-bottom: 74px;}
.hero-embed .hero-editorial, .hero-embed .hero-saas, .hero-embed .hero-minimal {min-height: 100vh;
  display: grid;
  align-items: center;
  padding-top: 108px;
  padding-bottom: 72px;}
.hero-embed .hero-saas {align-items: end;}
.hero-embed .saas-dashboard {margin-bottom: 0;}
.hero-embed .editorial-title {max-width: 1100px;}
.hero-embed .hero p {max-width: 760px;}
.hero-embed .eyebrow {max-width: 100%;}
.hero-embed .eyebrow::before {width: 42px;}
@media (max-width: 1180px) {
.hero-embed .hero-inner {width: min(100% - 48px, 1480px);}
.hero-embed .screen-section > .hero {min-height: auto;}
.hero-embed .screen-section {min-height: auto;}
}
@media (max-width: 720px) {
.hero-embed {--menu-size: 54px;}
.hero-embed .library-word {left: 16px; top: 16px; min-height: var(--menu-size); padding: 0 16px;}
.hero-embed .hamburger {right: 16px; top: 16px; width: 54px; height: 54px; min-height: 54px; gap: 6px;}
.hero-embed .hamburger span {width: 22px;}
.hero-embed .hero-inner {width: min(100% - 32px, 1220px);}
.hero-embed .hero-image-side, .hero-embed .hero-floating, .hero-embed .hero-video-layout, .hero-embed .hero-form, .hero-embed .hero-benefits, .hero-embed .hero-stats, .hero-embed .dark-grid, .hero-embed .hero-product, .hero-embed .hero-campaign, .hero-embed .hero-editorial, .hero-embed .hero-saas, .hero-embed .hero-minimal {min-height: auto;
    padding-top: 96px;
    padding-bottom: 46px;}
.hero-embed .hero-split .split-copy {padding-top: 96px;}
.hero-embed .menu-panel {width: 100vw;}
}
.hero-embed #hero-01 .visual::after, .hero-embed #hero-04 .visual::after {display: none;}
.hero-embed .screen-section {min-height: 100vh;
  min-height: 100svh;
  padding: 0;
  display: grid;
  align-items: stretch;}
.hero-embed .screen-section > .hero {min-height: 100vh;
  min-height: 100svh;
  height: auto;
  position: relative;}
.hero-embed .hero-fullscreen, .hero-embed .hero-slider, .hero-embed .slider-track, .hero-embed .slide {min-height: 100vh;
  min-height: 100svh;}
@media (max-width: 1180px) {
.hero-embed .screen-section, .hero-embed .screen-section > .hero, .hero-embed .hero-fullscreen, .hero-embed .hero-slider, .hero-embed .slider-track, .hero-embed .slide {min-height: 100vh;
    min-height: 100svh;}
}
.hero-embed .hero-grid-showcase {min-height: 100vh;
  display: grid;
  align-items: center;
  padding: 108px 0 72px;}
.hero-embed .grid-showcase-layout {display: grid;
  grid-template-columns: .84fr 1.16fr;
  gap: 54px;
  align-items: stretch;
  min-height: calc(100vh - 180px);}
.hero-embed .showcase-grid {display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(3, 1fr);
  gap: 0;
  justify-self: end;
  align-self: stretch;
  width: min(100%, calc(100vh - 180px));
  height: calc(100vh - 180px);
  overflow: hidden;
  background: var(--color-dark);}
.hero-embed .showcase-tile {position: relative;
  min-width: 0;
  min-height: 0;
  margin: 0;
  background-image:
    linear-gradient(180deg, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 5%, transparent), color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 72%, transparent)),
    var(--sample-image);
  background-size: cover, cover;
  background-position: center center;
  overflow: hidden;}
.hero-embed .showcase-tile:nth-child(2) {background-position: 30% center;}
.hero-embed .showcase-tile:nth-child(3) {background-position: 55% center;}
.hero-embed .showcase-tile:nth-child(4) {background-position: 70% center;}
.hero-embed .showcase-tile:nth-child(5) {background-position: 42% center;}
.hero-embed .showcase-tile:nth-child(6) {background-position: 82% center;}
.hero-embed .showcase-tile:nth-child(7) {background-position: 18% center;}
.hero-embed .showcase-tile:nth-child(8) {background-position: 62% center;}
.hero-embed .showcase-tile:nth-child(9) {background-position: 90% center;}
.hero-embed .showcase-tile span {position: absolute;
  left: 16px;
  right: 16px;
  bottom: 16px;
  color: var(--color-white);
  font-size: var(--small);
  font-weight: 900;
  line-height: 1.22;
  letter-spacing: -.01em;}
.hero-embed .hero-before-after {min-height: 100vh;
  overflow: hidden;}
.hero-embed .before-after-layout {position: relative;
  min-height: 100vh;
  display: grid;
  grid-template-columns: 1fr 1fr;}
.hero-embed .ba-side {display: grid;
  align-content: center;
  min-height: 100vh;
  padding: 108px 72px 72px;}
.hero-embed .ba-before {background:
    linear-gradient(135deg, var(--color-dark), var(--color-dark)),
    var(--color-dark);
  color: var(--color-white);}
.hero-embed .ba-before h1, .hero-embed .ba-before h2, .hero-embed .ba-before h3 {color: var(--color-white);}
.hero-embed .ba-before p {color: var(--color-line);}
.hero-embed .ba-after {background:
    linear-gradient(135deg, var(--color-white), var(--color-white)),
    var(--color-light);
  color: var(--color-dark);}
.hero-embed .ba-after h1, .hero-embed .ba-after h2, .hero-embed .ba-after h3 {color: var(--color-dark);}
.hero-embed .ba-after p {color: var(--color-muted);}
.hero-embed .ba-title-large {max-width: 620px;
  font-size: var(--h1);
  line-height: .95;
  letter-spacing: -.072em;}
.hero-embed .ba-title-large .muted-title {color: var(--color-line);}
.hero-embed .ba-after .ba-title-large .muted-title {color: var(--color-muted);}
.hero-embed .ba-side > p {max-width: 620px;
  margin-top: 20px;
  font-size: var(--body);
  line-height: 1.8;
  font-weight: 400;}
.hero-embed .ba-side > p + p {margin-top: 14px;}
.hero-embed .ba-center-action {position: absolute;
  z-index: 5;
  left: 50%;
  top: 50%;
  display: grid;
  justify-items: center;
  gap: 0;
  transform: translate(-50%, -50%);}
.hero-embed .ba-vs {width: 104px;
  height: 104px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: var(--color-key);
  color:var(--pb-theme-white,var(--color-white));
  font-size: var(--card);
  font-weight: 900;
  line-height: 1;
  letter-spacing: -.04em;
  box-shadow: 20px 20px 42px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 18%, transparent);}
@media (max-width: 1180px) {
.hero-embed .grid-showcase-layout, .hero-embed .before-after-layout {grid-template-columns: 1fr;}
.hero-embed .showcase-grid {justify-self: stretch;
    width: 100%;
    height: calc(100vh - 180px);}
.hero-embed .hero-grid-showcase, .hero-embed .hero-before-after, .hero-embed .before-after-layout, .hero-embed .ba-side {min-height: 100vh; min-height: 100svh;}
.hero-embed .ba-side {padding: 108px 48px 72px;}
.hero-embed .ba-center-action {position: relative; left: auto; top: auto; transform: none; margin: -52px auto;}
}
@media (max-width: 720px) {
.hero-embed .hero-grid-showcase {padding: 96px 0 46px;}
.hero-embed .grid-showcase-layout {gap: 32px;}
.hero-embed .showcase-grid {grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(3, 1fr);
    height: calc(100vh - 142px);}
.hero-embed .showcase-tile span {left: 10px; right: 10px; bottom: 10px; font-size: var(--micro);}
.hero-embed .ba-side {padding: 96px 24px 46px;}
.hero-embed .ba-vs {width: 82px; height: 82px;}
}
.hero-embed {scroll-snap-type: y mandatory;}
.hero-embed .screen-section {scroll-snap-align: start;
  scroll-snap-stop: always;}
.hero-embed #hero-04 .trust-chips {margin: 20px 0 18px;}
.hero-embed #hero-04 .btn-row {margin-top: 0;}
.hero-embed #hero-17 .hero-grid-showcase {padding: 0;
  align-items: stretch;}
.hero-embed #hero-17 .grid-showcase-layout {width: 100%;
  max-width: none;
  min-height: 100vh;
  min-height: 100svh;
  margin: 0;
  display: grid;
  grid-template-columns: 50vw 50vw;
  gap: 0;
  align-items: stretch;}
.hero-embed #hero-17 .grid-showcase-layout > div:first-child {display: grid;
  align-content: center;
  padding: 108px 56px 72px max(56px, 6vw);}
.hero-embed #hero-17 .showcase-grid {width: 50vw;
  height: 100vh;
  height: 100svh;
  justify-self: stretch;
  align-self: stretch;
  aspect-ratio: auto;}
@media (max-width: 1180px) {
.hero-embed #hero-17 .grid-showcase-layout {grid-template-columns: 1fr;}
.hero-embed #hero-17 .grid-showcase-layout > div:first-child {padding: 108px 48px 48px;}
.hero-embed #hero-17 .showcase-grid {width: 100%;
    height: 100vh;
    height: 100svh;}
}
@media (max-width: 720px) {
.hero-embed #hero-17 .grid-showcase-layout > div:first-child {padding: 96px 24px 38px;}
}

/* Menú hamburguesa principal: tamaño H3 */
.global-fullscreen-links a {
  font-size: var(--h3) !important;
  line-height: 1.25 !important;
}


/* Menú hamburguesa principal: ancho 1080 y menor espaciado */
.global-fullscreen-links {
  width: min(1080px, 100%) !important;
}

.global-fullscreen-links a {
  min-height: 58px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  line-height: 1.15 !important;
}


/* Menú hamburguesa principal: ancho mínimo 1080px */
.global-fullscreen-links {
  width: 1080px !important;
  min-width: 1080px !important;
  max-width: none !important;
}

@media (max-width: 1180px) {
  .global-fullscreen-links {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
}


/* Cards con íconos 07: contenido centrado y cambio de color del ícono en hover */
.icon-cards-centered-hover .icon-card {
  align-items: center !important;
  text-align: center !important;
}

.icon-cards-centered-hover .icon-card-icon {
  margin-left: auto !important;
  margin-right: auto !important;
}

.icon-cards-centered-hover .icon-card-tag {
  width: 100% !important;
  text-align: center !important;
}

.icon-cards-centered-hover .icon-card:hover .icon-card-icon {
  background: var(--color-white) !important;
  color: var(--color-key) !important;
}


/* RECURSOS VISUALES · integración corregida */
.visual-resources-embed {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  background: var(--color-dark);
  color: var(--color-white);
  isolation: isolate;
  overflow: hidden;
}

.visual-resources-embed a {
  color: inherit;
  text-decoration: none;
}

.visual-resources-embed button,
.visual-resources-embed input,
.visual-resources-embed textarea,
.visual-resources-embed select {
  font: inherit;
}

/* Mantiene las explicaciones en el formato maestro */
.visual-resources-embed .template-title,
.visual-resources-embed .template-item {
  background: var(--color-dark);
}

/* Mantiene los ejemplos visuales con su estilo original */
.visual-resources-embed .template-demo {
  width: 100%;
}
/* CSS original de la plantilla de recursos */
.visual-resources-embed * {box-sizing: border-box;}
.visual-resources-embed {margin: 0;
      min-height: 100vh;
      font-family: var(--font-main);
      background: var(--color-dark);
      color: var(--color-white);
      padding: 0;}
.visual-resources-embed .section {max-width: 1180px;
      margin: auto;}
.visual-resources-embed h1 {font-size: var(--h2);
      margin: 0 0 12px;
      line-height: 1;}
.visual-resources-embed .intro {max-width: 680px;
      color: var(--color-line);
      font-size: var(--body);
      line-height: 1.6;
      margin-bottom: 48px;}
.visual-resources-embed .options {display: grid;
      gap: 32px;}
.visual-resources-embed .item {display: flex;
      flex-direction: column;
      gap: 12px;
      padding-bottom: 20px;
      border-bottom: 1px solid var(--color-line);}
.visual-resources-embed .label-name {max-width: 980px;
      font-size: var(--small);
      color: var(--color-line);
      text-transform: none;
      letter-spacing: 0.2px;
      line-height: 1.55;}
.visual-resources-embed .tag {display: inline-flex;
      align-items: center;
      width: fit-content;
      max-width: 100%;
      font-size: var(--micro);
      letter-spacing: 4px;
      text-transform: uppercase;
      font-weight: 500;
      color: var(--color-white);
      white-space: nowrap;}
.visual-resources-embed .tag.soft {text-transform: none;
      letter-spacing: 0.3px;
      font-size: var(--small);
      font-weight: 500;}
.visual-resources-embed .tag.soft strong {font-weight: 700;}
.visual-resources-embed .dot {width: 6px;
      height: 6px;
      background: var(--color-support);
      border-radius: 50%;
      margin-right: 14px;
      flex-shrink: 0;}
.visual-resources-embed .icon {width: 18px;
      height: 18px;
      margin-right: 10px;
      flex-shrink: 0;
      color: var(--color-support);}
.visual-resources-embed .icon-box {width: 26px;
      height: 26px;
      border-radius: 50%;
      background: var(--color-light);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      margin-right: 10px;
      flex-shrink: 0;}
.visual-resources-embed .icon-box svg {width: 15px;
      height: 15px;
      color: var(--color-support);}
.visual-resources-embed .divider {width: 1px;
      height: 14px;
      background: var(--color-line);
      margin: 0 12px;
      flex-shrink: 0;}
.visual-resources-embed .mini-badge {font-size: var(--micro);
      letter-spacing: 1.6px;
      text-transform: uppercase;
      padding: 5px 8px;
      border-radius: 999px;
      background: var(--color-light);
      color: var(--color-support);
      margin-left: 12px;}
/* OPCIÓN 1 */
.visual-resources-embed .tag-1 {padding: 11px 22px;
      border: 1px solid var(--color-line);
      border-radius: 999px;
      background: var(--color-line);
      backdrop-filter: blur(8px);}
/* OPCIÓN 2 */
.visual-resources-embed .tag-2 {padding-bottom: 10px;
      border-bottom: 1px solid var(--color-line);}
/* OPCIÓN 3 */
.visual-resources-embed .tag-3 {padding: 11px 18px;
      background: var(--color-light);
      border-left: 3px solid var(--color-support);}
/* OPCIÓN 4 */
.visual-resources-embed .tag-4 {padding: 10px 20px;
      border: 1px solid var(--color-support);
      color: var(--color-support);
      border-radius: 4px;}
/* OPCIÓN 5 */
.visual-resources-embed .tag-5 {color: var(--color-line);}
.visual-resources-embed .tag-5::before, .visual-resources-embed .tag-5::after {content: "";
      width: 52px;
      height: 1px;
      background: var(--color-line);
      margin: 0 18px;
      flex-shrink: 0;}
/* OPCIÓN 6 */
.visual-resources-embed .tag-6 {padding: 11px 22px;
      border: 1px solid var(--color-line);
      background: linear-gradient(
        90deg,
        transparent,
        transparent
      );
      border-radius: 999px;}
/* OPCIÓN 7 */
.visual-resources-embed .tag-7 {padding: 9px 0;
      color: var(--color-support);}
.visual-resources-embed .tag-7 span {color: var(--color-white);
      margin-left: 14px;}
/* OPCIÓN 8 */
.visual-resources-embed .tag-8 {padding: 10px 20px;
      background: var(--color-white);
      color: var(--color-dark);
      border-radius: 999px;}
.visual-resources-embed .tag-8 .dot {background: var(--color-dark);}
/* OPCIÓN 9 */
.visual-resources-embed .tag-9 {padding: 9px 16px;
      border-radius: 999px;
      background: var(--color-line);
      border: 1px solid var(--color-line);
      color: var(--color-line);}
/* OPCIÓN 10 */
.visual-resources-embed .tag-10 {padding: 8px 0;
      color: var(--color-line);}
.visual-resources-embed .tag-10 .icon {margin-right: 8px;}
/* OPCIÓN 11 */
.visual-resources-embed .tag-11 {padding: 8px 14px 8px 8px;
      border-radius: 999px;
      background: var(--color-light);
      color: var(--color-line);}
/* OPCIÓN 12 */
.visual-resources-embed .tag-12 {padding: 10px 16px;
      border-radius: 6px;
      background: var(--color-line);
      border: 1px solid var(--color-line);
      color: var(--color-line);}
/* OPCIÓN 13 */
.visual-resources-embed .tag-13 {padding: 10px 18px;
      border-radius: 999px;
      background: var(--color-white);
      color: var(--color-dark);}
.visual-resources-embed .tag-13 .icon-box {background: var(--color-light);}
/* OPCIÓN 14 */
.visual-resources-embed .tag-14 {padding: 8px 0;
      color: var(--color-line);}
.visual-resources-embed .tag-14 .line {width: 38px;
      height: 1px;
      background: var(--color-support);
      margin-right: 12px;}
/* MARQUEE 7 */
.visual-resources-embed .marquee-7 {transform: rotate(1.5deg);
      margin: 18px 0 24px;
      background: var(--color-white);
      border: none;
      box-shadow: 0 18px 40px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 18%, transparent);}
.visual-resources-embed .marquee-7 .marquee-track {animation: marquee-right 24s linear infinite;}
.visual-resources-embed .marquee-7 span {color: var(--color-dark);
      font-size: var(--card);
      padding: 18px 32px;}
.visual-resources-embed .marquee-7 span::after {background: var(--color-support);}
@media (max-width: 768px) {
.visual-resources-embed {padding: 36px 22px;}
.visual-resources-embed .tag {white-space: normal;
        line-height: 1.7;
        letter-spacing: 2px;
        font-size: var(--micro);}
.visual-resources-embed .tag.soft {font-size: var(--small);
        line-height: 1.5;}
.visual-resources-embed .tag-5::before, .visual-resources-embed .tag-5::after {width: 24px;
        margin: 0 10px;}
}
/* SECCIÓN MARQUEE */
.visual-resources-embed .marquee-section {width: 100vw;
      max-width: none;
      margin: 80px 0 0;
      margin-left: calc(50% - 50vw);
      margin-right: calc(50% - 50vw);
      padding-top: 54px;
      border-top: 1px solid var(--color-line);
      overflow: hidden;}
.visual-resources-embed .marquee-section h2 {max-width: 1180px;
      margin: 0 auto 12px;
      padding: 0 60px;
      font-size: var(--h3);
      line-height: 1;}
.visual-resources-embed .marquee-intro {max-width: 1180px;
      margin: 0 auto 42px;
      padding: 0 60px;
      color: var(--color-line);
      font-size: var(--body);
      line-height: 1.6;}
.visual-resources-embed .marquee-intro span {display: block;
      max-width: 720px;}
.visual-resources-embed .marquee-group {display: grid;
      gap: 38px;
      width: 100%;}
.visual-resources-embed .marquee-item {display: flex;
      flex-direction: column;
      gap: 12px;
      padding-bottom: 22px;
      border-bottom: 1px solid var(--color-line);
      width: 100%;}
.visual-resources-embed .marquee-title {max-width: 1180px;
      width: 100%;
      margin: 0 auto;
      padding: 0 60px;
      font-size: var(--small);
      color: var(--color-line);
      line-height: 1.55;}
.visual-resources-embed .marquee {position: relative;
      width: 100vw;
      overflow: hidden;
      background: var(--color-dark);
      border-top: 1px solid var(--color-line);
      border-bottom: 1px solid var(--color-line);
      border-left: 0;
      border-right: 0;}
.visual-resources-embed .marquee-track {display: flex;
      width: max-content;
      animation: marquee-left 22s linear infinite;
      will-change: transform;}
.visual-resources-embed .marquee-content {display: flex;
      align-items: center;
      flex-shrink: 0;}
.visual-resources-embed .marquee span {display: inline-flex;
      align-items: center;
      padding: 18px 34px;
      font-size: var(--h5);
      line-height: 1;
      font-weight: 700;
      letter-spacing: -0.5px;
      text-transform: uppercase;
      color: var(--color-white);
      white-space: nowrap;}
.visual-resources-embed .marquee span::after {content: "";
      width: 8px;
      height: 8px;
      margin-left: 34px;
      border-radius: 50%;
      background: var(--color-support);
      flex-shrink: 0;}
@keyframes marquee-left {from {
        transform: translateX(0);
      }
      to {
        transform: translateX(-50%);
      }}
@keyframes marquee-right {from {
        transform: translateX(-50%);
      }
      to {
        transform: translateX(0);
      }}
.visual-resources-embed .marquee:hover .marquee-track {animation-play-state: paused;}
/* MARQUEE 1 */
.visual-resources-embed .marquee-1 {border-radius: 0;}
/* MARQUEE 2 */
.visual-resources-embed .marquee-2 {border-radius: 999px;
      background: var(--color-line);
      backdrop-filter: blur(8px);}
.visual-resources-embed .marquee-2 span {font-size: var(--card);
      letter-spacing: 2px;
      padding: 15px 28px;}
.visual-resources-embed .marquee-2 span::after {width: 6px;
      height: 6px;
      margin-left: 28px;}
/* MARQUEE 3 */
.visual-resources-embed .marquee-3 {background: transparent;
      border-top: 1px solid var(--color-support);
      border-bottom: 1px solid var(--color-support);
      border-left: 0;
      border-right: 0;}
.visual-resources-embed .marquee-3 span {color: transparent;
      -webkit-text-stroke: 1px var(--color-line);
      font-size: var(--h4);
      padding: 20px 36px;}
.visual-resources-embed .marquee-3 span::after {background: transparent;
      border: 1px solid var(--color-support);}
/* MARQUEE 4 */
.visual-resources-embed .marquee-4 {background: var(--color-white);
      border-radius: 0;}
.visual-resources-embed .marquee-4 .marquee-track {animation: marquee-right 24s linear infinite;}
.visual-resources-embed .marquee-4 span {color: var(--color-dark);
      font-size: var(--card);
      padding: 17px 32px;}
.visual-resources-embed .marquee-4 span::after {background: var(--color-support);}
/* MARQUEE 5 */
.visual-resources-embed .marquee-5 {transform: rotate(-1.5deg);
      margin: 14px 0;
      background: var(--color-support);
      border: none;
      box-shadow: 0 18px 40px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 20%, transparent);}
.visual-resources-embed .marquee-5 span {color: var(--color-dark);
      font-size: var(--card);
      padding: 18px 32px;}
.visual-resources-embed .marquee-5 span::after {background: var(--color-dark);}
/* MARQUEE 6 */
.visual-resources-embed .marquee-6 {border-radius: 8px;
      background:
        linear-gradient(90deg, transparent, transparent),
        var(--pb-theme-dark,var(--color-dark));}
.visual-resources-embed .marquee-6::before, .visual-resources-embed .marquee-6::after {content: "";
      position: absolute;
      top: 0;
      width: 90px;
      height: 100%;
      z-index: 2;
      pointer-events: none;}
.visual-resources-embed .marquee-6::before {left: 0;
      background: linear-gradient(90deg, var(--pb-theme-dark,var(--color-dark)), transparent);}
.visual-resources-embed .marquee-6::after {right: 0;
      background: linear-gradient(270deg, var(--pb-theme-dark,var(--color-dark)), transparent);}
.visual-resources-embed .marquee-6 span {font-size: var(--body);
      font-weight: 700;
      letter-spacing: 3px;
      padding: 16px 30px;}
.visual-resources-embed .marquee-6 span::after {width: 5px;
      height: 5px;
      margin-left: 30px;}
/* MARQUEE 7 */
.visual-resources-embed .marquee-7 {transform: rotate(1.5deg);
      margin: 18px 0 24px;
      background: var(--color-white);
      border: none;
      box-shadow: 0 18px 40px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 18%, transparent);}
.visual-resources-embed .marquee-7 .marquee-track {animation: marquee-right 24s linear infinite;}
.visual-resources-embed .marquee-7 span {color: var(--color-dark);
      font-size: var(--card);
      padding: 18px 32px;}
.visual-resources-embed .marquee-7 span::after {background: var(--color-support);}
@media (max-width: 768px) {
.visual-resources-embed .marquee-section {margin-top: 54px;
        padding-top: 38px;}
.visual-resources-embed .marquee-section h2, .visual-resources-embed .marquee-intro, .visual-resources-embed .marquee-title {padding-left: 22px;
        padding-right: 22px;}
.visual-resources-embed .marquee span {font-size: var(--body);
        padding: 15px 24px;}
.visual-resources-embed .marquee span::after {margin-left: 24px;}
.visual-resources-embed .marquee-3 span {font-size: var(--h5);}
.visual-resources-embed .marquee-5 {transform: rotate(-1deg);}
.visual-resources-embed .marquee-7 {transform: rotate(1deg);}
}
/* SECCIÓN CURSORES PERSONALIZADOS */
.visual-resources-embed .cursor-section {max-width: 1180px;
      margin: 90px auto 0;
      padding-top: 54px;
      border-top: 1px solid var(--color-line);}
.visual-resources-embed .cursor-section h2 {font-size: var(--h3);
      margin: 0 0 12px;
      line-height: 1;}
.visual-resources-embed .cursor-intro {max-width: 760px;
      color: var(--color-line);
      font-size: var(--body);
      line-height: 1.6;
      margin-bottom: 42px;}
.visual-resources-embed .cursor-grid {display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 26px;}
.visual-resources-embed .cursor-card {display: grid;
      gap: 12px;}
.visual-resources-embed .cursor-title {font-size: var(--small);
      color: var(--color-line);
      line-height: 1.55;}
.visual-resources-embed .cursor-demo {position: relative;
      min-height: 220px;
      overflow: hidden;
      border: 1px solid var(--color-line);
      background:
        linear-gradient(var(--pb-theme-dark,var(--color-dark)), var(--pb-theme-dark,var(--color-dark))),
        linear-gradient(90deg, transparent 1px, transparent 1px),
        linear-gradient(transparent 1px, transparent 1px);
      background-size: auto, 42px 42px, 42px 42px;
      padding: 26px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      cursor: none;}
.visual-resources-embed .cursor-demo::before {content: "Pasa el mouse por esta zona";
      position: absolute;
      left: 26px;
      top: 24px;
      color: var(--color-line);
      font-size: var(--micro);
      letter-spacing: 1.4px;
      text-transform: uppercase;
      font-weight: 700;}
.visual-resources-embed .cursor-demo-title {position: relative;
      z-index: 2;
      margin-top: auto;
      font-size: var(--h3);
      line-height: 0.95;
      font-weight: 900;
      letter-spacing: -1.5px;
      max-width: 420px;}
.visual-resources-embed .cursor-demo-title span {color: var(--color-support);}
.visual-resources-embed .cursor-demo-button {position: relative;
      z-index: 2;
      width: fit-content;
      margin-top: 22px;
      padding: 12px 18px;
      border-radius: 999px;
      background: var(--color-white);
      color: var(--color-dark);
      font-size: var(--micro);
      letter-spacing: 1.4px;
      text-transform: uppercase;
      font-weight: 900;}
.visual-resources-embed .native-cursors {display: flex;
      flex-wrap: wrap;
      gap: 10px;
      position: relative;
      z-index: 2;
      margin-top: 62px;}
.visual-resources-embed .native-cursors span {padding: 10px 12px;
      border-radius: 999px;
      border: 1px solid var(--color-line);
      background: var(--color-line);
      color: var(--color-line);
      font-size: var(--micro);
      letter-spacing: 1px;
      text-transform: uppercase;
      font-weight: 700;}
.visual-resources-embed .native-cursors span:nth-child(1) {cursor: pointer;}
.visual-resources-embed .native-cursors span:nth-child(2) {cursor: crosshair;}
.visual-resources-embed .native-cursors span:nth-child(3) {cursor: grab;}
.visual-resources-embed .native-cursors span:nth-child(4) {cursor: zoom-in;}
.visual-resources-embed .native-cursors span:nth-child(5) {cursor: help;}
.visual-resources-embed .custom-cursor {position: fixed;
      left: 0;
      top: 0;
      width: 18px;
      height: 18px;
      pointer-events: none;
      z-index: 9999;
      opacity: 0;
      transform: translate(-50%, -50%);
      transition: opacity 160ms ease;}
.visual-resources-embed .custom-cursor.is-active {opacity: 1;}
.visual-resources-embed .cursor-dot {position: absolute;
      left: 50%;
      top: 50%;
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: var(--color-support);
      transform: translate(-50%, -50%);}
.visual-resources-embed .cursor-ring {position: absolute;
      left: 50%;
      top: 50%;
      width: 42px;
      height: 42px;
      border-radius: 50%;
      border: 1px solid var(--color-support);
      transform: translate(-50%, -50%);
      transition: width 180ms ease, height 180ms ease, border-radius 180ms ease, background 180ms ease, transform 180ms ease;}
.visual-resources-embed .cursor-label {position: absolute;
      left: 24px;
      top: -12px;
      min-width: max-content;
      padding: 8px 12px;
      border-radius: 999px;
      background: var(--color-support);
      color: var(--color-dark);
      font-size: var(--micro);
      letter-spacing: 1px;
      text-transform: uppercase;
      font-weight: 900;
      opacity: 0;
      transform: translateY(4px);
      transition: opacity 160ms ease, transform 160ms ease;}
.visual-resources-embed .custom-cursor.cursor-circle .cursor-dot {opacity: 0;}
.visual-resources-embed .custom-cursor.cursor-dot-ring .cursor-dot {opacity: 1;}
.visual-resources-embed .custom-cursor.cursor-cross .cursor-dot {opacity: 0;}
.visual-resources-embed .custom-cursor.cursor-cross .cursor-ring {width: 34px;
      height: 34px;
      border-radius: 0;
      border-color: var(--color-line);
      background:
        linear-gradient(var(--color-support), var(--color-support)) center / 34px 1px no-repeat,
        linear-gradient(var(--color-support), var(--color-support)) center / 1px 34px no-repeat;}
.visual-resources-embed .custom-cursor.cursor-label-mode .cursor-ring {width: 20px;
      height: 20px;
      background: var(--color-light);}
.visual-resources-embed .custom-cursor.cursor-label-mode .cursor-label {opacity: 1;
      transform: translateY(0);}
.visual-resources-embed .custom-cursor.cursor-magnetic .cursor-ring {width: 64px;
      height: 64px;
      background: var(--color-light);
      border-color: var(--color-support);}
.visual-resources-embed .custom-cursor.cursor-drag .cursor-ring {width: 76px;
      height: 32px;
      border-radius: 999px;
      background: var(--color-white);
      border-color: var(--color-line);}
.visual-resources-embed .custom-cursor.cursor-drag .cursor-dot {opacity: 0;}
.visual-resources-embed .custom-cursor.cursor-drag .cursor-label {left: 50%;
      top: 50%;
      opacity: 1;
      transform: translate(-50%, -50%);
      background: transparent;
      color: var(--color-dark);
      padding: 0;}
.visual-resources-embed .custom-cursor.cursor-blend {mix-blend-mode: difference;}
.visual-resources-embed .custom-cursor.cursor-blend .cursor-dot {width: 0;
      height: 0;}
.visual-resources-embed .custom-cursor.cursor-blend .cursor-ring {width: 54px;
      height: 54px;
      border: 0;
      background: var(--color-white);}
.visual-resources-embed .cursor-trail {position: fixed;
      left: 0;
      top: 0;
      width: 9px;
      height: 9px;
      border-radius: 50%;
      background: var(--color-support);
      pointer-events: none;
      z-index: 9998;
      opacity: 0;
      transform: translate(-50%, -50%);}
.visual-resources-embed .cursor-demo[data-cursor="svg"] {cursor:crosshair;}
.visual-resources-embed .cursor-demo[data-cursor="svg"]::after {content: "Cursor SVG personalizado";
      position: absolute;
      right: 22px;
      bottom: 20px;
      color: var(--color-line);
      font-size: var(--micro);
      letter-spacing: 1.2px;
      text-transform: uppercase;
      font-weight: 700;}
/* CURSOR 11: PUNTO CON ARO SUAVE PREMIUM */
.visual-resources-embed .bounded-cursor {position: fixed;
      left: 0;
      top: 0;
      pointer-events: none;
      z-index: 10000;
      opacity: 0;
      transition: opacity 220ms ease;
      mix-blend-mode: screen;}
.visual-resources-embed .bounded-cursor.is-active {opacity: 1;}
.visual-resources-embed .bounded-ring {position: fixed;
      left: 0;
      top: 0;
      width: 42px;
      height: 42px;
      border: 1px solid var(--color-line);
      border-radius: 50%;
      transform: translate(-50%, -50%);
      box-shadow: none;
      background: transparent;
      backdrop-filter: none;}
.visual-resources-embed .bounded-dot {position: fixed;
      left: 0;
      top: 0;
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: var(--color-white);
      transform: translate(-50%, -50%);
      box-shadow:
        0 0 0 3px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 18%, transparent),
        0 0 22px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 72%, transparent);}
.visual-resources-embed .bounded-note {position: absolute;
      right: 22px;
      bottom: 20px;
      color: var(--color-line);
      font-size: var(--micro);
      letter-spacing: 1.2px;
      text-transform: uppercase;
      font-weight: 700;}
@media (max-width: 768px) {
.visual-resources-embed .cursor-section {margin-top: 60px;
        padding-top: 38px;}
.visual-resources-embed .cursor-grid {grid-template-columns: 1fr;}
.visual-resources-embed .cursor-demo {cursor: auto;}
.visual-resources-embed .custom-cursor, .visual-resources-embed .cursor-trail {display: none;}
}
/* SECCIÓN INDICADORES DE SLIDER */
.visual-resources-embed .slider-indicators-section {max-width: 1180px;
      margin: 90px auto 0;
      padding-top: 54px;
      border-top: 1px solid var(--color-line);}
.visual-resources-embed .slider-indicators-section h2 {font-size: var(--h3);
      margin: 0 0 12px;
      line-height: 1;}
.visual-resources-embed .slider-indicators-intro {max-width: 820px;
      color: var(--color-line);
      font-size: var(--body);
      line-height: 1.6;
      margin-bottom: 42px;}
.visual-resources-embed .slider-options-grid {display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 28px;}
.visual-resources-embed .slider-option {display: grid;
      gap: 12px;}
.visual-resources-embed .slider-option-title {font-size: var(--small);
      color: var(--color-line);
      line-height: 1.55;}
.visual-resources-embed .mock-slider {position: relative;
      min-height: 230px;
      overflow: hidden;
      border: 1px solid var(--color-line);
      background:
        linear-gradient(var(--pb-theme-dark,var(--color-dark)), var(--pb-theme-dark,var(--color-dark))),
        linear-gradient(90deg, transparent 1px, transparent 1px),
        linear-gradient(transparent 1px, transparent 1px);
      background-size: auto, 44px 44px, 44px 44px;
      padding: 24px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;}
.visual-resources-embed .mock-slider::after {content: "";
      position: absolute;
      inset: auto 0 0 0;
      height: 46%;
      background: linear-gradient(transparent, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 88%, transparent));
      pointer-events: none;}
.visual-resources-embed .mock-slider-content {position: relative;
      z-index: 2;
      max-width: 380px;}
.visual-resources-embed .mock-slider-kicker {display: inline-flex;
      align-items: center;
      gap: 8px;
      margin-bottom: 12px;
      color: var(--color-support);
      font-size: var(--micro);
      letter-spacing: 1.8px;
      text-transform: uppercase;
      font-weight:500;}
.visual-resources-embed .mock-slider-kicker::before {content: "";
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: var(--color-support);}
.visual-resources-embed .mock-slider h3 {margin: 0;
      color: var(--color-white);
      font-size: var(--h3);
      line-height: 0.95;
      letter-spacing: -1.6px;}
.visual-resources-embed .mock-slider h3 span {color: var(--color-support);}
.visual-resources-embed .indicator-area {position: relative;
      z-index: 3;
      min-height: 44px;
      display: flex;
      align-items: center;
      gap: 12px;}
/* 1. Barras con crecimiento */
.visual-resources-embed .ind-bars {justify-content: center;}
.visual-resources-embed .ind-bars .bar {position: relative;
      width: 72px;
      height: 4px;
      background: var(--color-line);
      overflow: hidden;}
.visual-resources-embed .ind-bars .bar::before {content: "";
      position: absolute;
      inset: 0;
      width: 0;
      background: var(--color-white);}
.visual-resources-embed .mock-slider[data-active="0"] .ind-bars .bar:nth-child(1)::before, .visual-resources-embed .mock-slider[data-active="1"] .ind-bars .bar:nth-child(2)::before, .visual-resources-embed .mock-slider[data-active="2"] .ind-bars .bar:nth-child(3)::before, .visual-resources-embed .mock-slider[data-active="3"] .ind-bars .bar:nth-child(4)::before {animation: growIndicator 2.4s linear forwards;}
@keyframes growIndicator {from { width: 0; }
      to { width: 100%; }}
/* 2. Bolitas clásicas */
.visual-resources-embed .ind-dots {justify-content: center;}
.visual-resources-embed .ind-dots .dot-ind {width: 8px;
      height: 8px;
      border-radius: 50%;
      background: var(--color-line);
      transition: transform 240ms ease, background 240ms ease;}
.visual-resources-embed .mock-slider[data-active="0"] .ind-dots .dot-ind:nth-child(1), .visual-resources-embed .mock-slider[data-active="1"] .ind-dots .dot-ind:nth-child(2), .visual-resources-embed .mock-slider[data-active="2"] .ind-dots .dot-ind:nth-child(3), .visual-resources-embed .mock-slider[data-active="3"] .ind-dots .dot-ind:nth-child(4) {background: var(--color-support);
      transform: scale(1.55);}
/* 3. Punto activo expandido */
.visual-resources-embed .ind-expand-dots {justify-content: center;}
.visual-resources-embed .ind-expand-dots .expand-dot {width: 7px;
      height: 7px;
      border-radius: 999px;
      background: var(--color-line);
      transition: width 260ms ease, background 260ms ease;}
.visual-resources-embed .mock-slider[data-active="0"] .ind-expand-dots .expand-dot:nth-child(1), .visual-resources-embed .mock-slider[data-active="1"] .ind-expand-dots .expand-dot:nth-child(2), .visual-resources-embed .mock-slider[data-active="2"] .ind-expand-dots .expand-dot:nth-child(3), .visual-resources-embed .mock-slider[data-active="3"] .ind-expand-dots .expand-dot:nth-child(4) {width: 34px;
      background: var(--color-support);}
/* 4. Cápsulas segmentadas */
.visual-resources-embed .ind-pills {justify-content: center;}
.visual-resources-embed .ind-pills .pill {width: 50px;
      height: 12px;
      border-radius: 999px;
      border: 1px solid var(--color-line);
      background: var(--color-line);
      transition: background 240ms ease, border-color 240ms ease;}
.visual-resources-embed .mock-slider[data-active="0"] .ind-pills .pill:nth-child(1), .visual-resources-embed .mock-slider[data-active="1"] .ind-pills .pill:nth-child(2), .visual-resources-embed .mock-slider[data-active="2"] .ind-pills .pill:nth-child(3), .visual-resources-embed .mock-slider[data-active="3"] .ind-pills .pill:nth-child(4) {background: var(--color-support);
      border-color: var(--color-support);}
/* 5. Números */
.visual-resources-embed .ind-numbers {justify-content: center;
      gap: 18px;}
.visual-resources-embed .ind-numbers .number {color: var(--color-line);
      font-size: var(--small);
      font-weight: 900;
      letter-spacing: 1.2px;
      transition: color 240ms ease, transform 240ms ease;}
.visual-resources-embed .mock-slider[data-active="0"] .ind-numbers .number:nth-child(1), .visual-resources-embed .mock-slider[data-active="1"] .ind-numbers .number:nth-child(2), .visual-resources-embed .mock-slider[data-active="2"] .ind-numbers .number:nth-child(3), .visual-resources-embed .mock-slider[data-active="3"] .ind-numbers .number:nth-child(4) {color: var(--color-white);
      transform: translateY(-2px);}
.visual-resources-embed .ind-numbers .number::after {content: "";
      display: block;
      width: 0;
      height: 2px;
      margin-top: 6px;
      background: var(--color-support);
      transition: width 240ms ease;}
.visual-resources-embed .mock-slider[data-active="0"] .ind-numbers .number:nth-child(1)::after, .visual-resources-embed .mock-slider[data-active="1"] .ind-numbers .number:nth-child(2)::after, .visual-resources-embed .mock-slider[data-active="2"] .ind-numbers .number:nth-child(3)::after, .visual-resources-embed .mock-slider[data-active="3"] .ind-numbers .number:nth-child(4)::after {width: 100%;}
/* 6. Línea con punto móvil */
.visual-resources-embed .ind-line-dot {width: min(280px, 100%);
      height: 2px;
      margin: 0 auto;
      background: var(--color-line);
      position: relative;}
.visual-resources-embed .ind-line-dot .moving-dot {position: absolute;
      top: 50%;
      left: 0;
      width: 10px;
      height: 10px;
      border-radius: 50%;
      background: var(--color-support);
      transform: translate(-50%, -50%);
      transition: left 380ms ease;}
.visual-resources-embed .mock-slider[data-active="0"] .ind-line-dot .moving-dot {left: 0%;}
.visual-resources-embed .mock-slider[data-active="1"] .ind-line-dot .moving-dot {left: 33.333%;}
.visual-resources-embed .mock-slider[data-active="2"] .ind-line-dot .moving-dot {left: 66.666%;}
.visual-resources-embed .mock-slider[data-active="3"] .ind-line-dot .moving-dot {left: 100%;}
/* 7. Thumbnails */
.visual-resources-embed .ind-thumbs {justify-content: center;}
.visual-resources-embed .ind-thumbs .thumb {width: 52px;
      height: 34px;
      border: 1px solid var(--color-line);
      background:
        linear-gradient(135deg, transparent, transparent),
        transparent;
      opacity: 0.45;
      transition: opacity 240ms ease, transform 240ms ease, border-color 240ms ease;}
.visual-resources-embed .mock-slider[data-active="0"] .ind-thumbs .thumb:nth-child(1), .visual-resources-embed .mock-slider[data-active="1"] .ind-thumbs .thumb:nth-child(2), .visual-resources-embed .mock-slider[data-active="2"] .ind-thumbs .thumb:nth-child(3), .visual-resources-embed .mock-slider[data-active="3"] .ind-thumbs .thumb:nth-child(4) {opacity: 1;
      transform: translateY(-4px);
      border-color: var(--color-support);}
/* 8. Vertical */
.visual-resources-embed .indicator-vertical {position: absolute;
      right: 22px;
      top: 50%;
      transform: translateY(-50%);
      z-index: 3;
      flex-direction: column;
      min-height: auto;}
.visual-resources-embed .indicator-vertical .v-dot {width: 7px;
      height: 7px;
      border-radius: 50%;
      background: var(--color-line);
      transition: height 260ms ease, background 260ms ease, border-radius 260ms ease;}
.visual-resources-embed .mock-slider[data-active="0"] .indicator-vertical .v-dot:nth-child(1), .visual-resources-embed .mock-slider[data-active="1"] .indicator-vertical .v-dot:nth-child(2), .visual-resources-embed .mock-slider[data-active="2"] .indicator-vertical .v-dot:nth-child(3), .visual-resources-embed .mock-slider[data-active="3"] .indicator-vertical .v-dot:nth-child(4) {height: 34px;
      border-radius: 999px;
      background: var(--color-support);}
/* 9. Aro activo */
.visual-resources-embed .ind-ring-dots {justify-content: center;}
.visual-resources-embed .ind-ring-dots .ring-dot {width: 18px;
      height: 18px;
      border-radius: 50%;
      border: 1px solid transparent;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      transition: border-color 240ms ease;}
.visual-resources-embed .ind-ring-dots .ring-dot::before {content: "";
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: var(--color-line);
      transition: background 240ms ease;}
.visual-resources-embed .mock-slider[data-active="0"] .ind-ring-dots .ring-dot:nth-child(1), .visual-resources-embed .mock-slider[data-active="1"] .ind-ring-dots .ring-dot:nth-child(2), .visual-resources-embed .mock-slider[data-active="2"] .ind-ring-dots .ring-dot:nth-child(3), .visual-resources-embed .mock-slider[data-active="3"] .ind-ring-dots .ring-dot:nth-child(4) {border-color: var(--color-support);}
.visual-resources-embed .mock-slider[data-active="0"] .ind-ring-dots .ring-dot:nth-child(1)::before, .visual-resources-embed .mock-slider[data-active="1"] .ind-ring-dots .ring-dot:nth-child(2)::before, .visual-resources-embed .mock-slider[data-active="2"] .ind-ring-dots .ring-dot:nth-child(3)::before, .visual-resources-embed .mock-slider[data-active="3"] .ind-ring-dots .ring-dot:nth-child(4)::before {background: var(--color-support);}
/* 10. Fracción + progreso */
.visual-resources-embed .ind-fraction {justify-content: space-between;
      align-items: center;
      gap: 18px;}
.visual-resources-embed .fraction-number {min-width: 68px;
      color: var(--color-line);
      font-size: var(--small);
      font-weight: 900;
      letter-spacing: 1.4px;}
.visual-resources-embed .fraction-number span {color: var(--color-support);}
.visual-resources-embed .fraction-line {position: relative;
      flex: 1;
      height: 3px;
      background: var(--color-line);
      overflow: hidden;}
.visual-resources-embed .fraction-progress {position: absolute;
      inset: 0 auto 0 0;
      width: 0;
      height: 100%;
      background: var(--color-support);
      transform-origin: left center;
      animation: fractionProgress 2.4s linear forwards;}
@keyframes fractionProgress {from { width: 0%; }
      to { width: 100%; }}
@media (max-width: 768px) {
.visual-resources-embed .slider-indicators-section {margin-top: 60px;
        padding-top: 38px;}
.visual-resources-embed .slider-options-grid {grid-template-columns: 1fr;}
.visual-resources-embed .mock-slider {min-height: 210px;}
.visual-resources-embed .ind-bars .bar {width: 48px;}
}
/* CSS del formato maestro */
.visual-resources-embed {--color-dark: inherit;
  --color-key: inherit;
  --color-light: inherit;
  --color-white: inherit;
  --color-muted: inherit;
  --color-line: inherit;

  --font-main: "Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-secondary: "Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;

  --text-label: var(--micro);
  --text-small: var(--small);
  --text-body: var(--body);
  --text-h3: var(--h3);
  --text-h2: var(--h2);}
.visual-resources-embed * {box-sizing: border-box;}
.visual-resources-embed {scroll-behavior: smooth;}
.visual-resources-embed {margin: 0;
  background: var(--color-dark);
  color: var(--color-white);
  font-family: var(--font-main);
  font-size: var(--body);
  line-height: 1.7;}
/* ===============================
   FORMATO MAESTRO PARA EXPLICACIONES
================================ */
.visual-resources-embed .template-title {width: 100%;
  padding: 56px 0 18px;
  background: var(--color-dark);
  border-bottom: 1px solid var(--color-line);}
.visual-resources-embed .template-item {width: 100%;
  padding-top: 20px;
  background: var(--color-dark);
  border-bottom: 1px solid var(--color-line);}
.visual-resources-embed .menu-row {width: 100%;
  padding-left: 42px;
  padding-right: 42px;}
.visual-resources-embed .row-number {padding-bottom: 8px;}
.visual-resources-embed .menu-number {display: block;
  color: var(--color-key);
  font-size: var(--micro);
  font-weight: 400;
  letter-spacing: .16em;
  line-height: 1.45;
  text-transform: uppercase;}
.visual-resources-embed .row-info {display: grid;
  grid-template-columns: minmax(280px, 35%) minmax(420px, 1fr);
  column-gap: 42px;
  align-items: start;
  padding-bottom: 20px;}
.visual-resources-embed .row-info h3 {max-width: 620px;
  margin: 0;
  color: var(--color-white);
  font-family: var(--font-main);
  font-size: var(--h3);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -.025em;}
.visual-resources-embed .request-copy {max-width: 980px;
  margin: 0;
  color: var(--color-line);
  font-size: var(--small);
  line-height: 1.65;}
.visual-resources-embed .request-copy strong {color: var(--color-white);
  font-weight: 700;}
/* ===============================
   CONTENEDOR DE DEMO ORIGINAL
================================ */
.visual-resources-embed .template-demo {width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: var(--color-white);
  color: var(--color-dark);
  border-top: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);}
/* ===============================
   RESPONSIVE
================================ */
@media (max-width: 900px) {
.visual-resources-embed .menu-row {padding-left: 24px;
    padding-right: 24px;}
.visual-resources-embed .row-info {grid-template-columns: 1fr;
    row-gap: 12px;}
}
/* ===============================
   AJUSTES PARA ESTA ALINEACIÓN
================================ */
.visual-resources-embed .template-title h2 {max-width: 980px;
  margin: 0;
  color: var(--color-white);
  font-family: var(--font-main);
  font-size: var(--h4);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -.045em;}
.visual-resources-embed .template-title .section-description {max-width: 860px;
  margin: 14px 0 0;
  color: var(--color-line);
  font-size: var(--small);
  line-height: 1.7;}
.visual-resources-embed .template-demo.recursos-original-demo {position: relative;
  min-height: 180px;
  padding: 54px 42px;
  background:
    radial-gradient(circle at 80% 10%, transparent, transparent 28%),
    linear-gradient(135deg, var(--color-dark) 0%, var(--color-dark) 58%, var(--color-dark) 100%);
  background-size: auto;
  background-position: center;
  color: var(--color-white);
  font-family: var(--font-main);}
.visual-resources-embed .template-demo.recursos-original-demo.demo-light {background: var(--color-light);
  color: var(--color-dark);}
.visual-resources-embed .template-demo.recursos-original-demo.demo-plain-dark {background: var(--color-dark);
  color: var(--color-white);}
.visual-resources-embed .template-demo.recursos-original-demo .demo-inner {width: min(100%, 1180px);
  margin: 0 auto;}
.visual-resources-embed .template-demo.recursos-original-demo .demo-inner.demo-full {width: 100%;
  max-width: none;}
.visual-resources-embed .template-demo.recursos-original-demo .tag-demo-standalone {min-height: 96px;
  display: flex;
  align-items: center;
  justify-content: flex-start;}
.visual-resources-embed .template-demo.recursos-original-demo .marquee {width: 100%;}
.visual-resources-embed .template-demo.recursos-original-demo .cursor-demo, .visual-resources-embed .template-demo.recursos-original-demo .mock-slider {margin: 0;}



@media (max-width: 768px) {
.visual-resources-embed .template-demo.recursos-original-demo {padding: 38px 22px;}
}
/* Corrección solicitada: el documento maestro manda el layout general.
   Los demos usan un escenario neutro propio; no se reutiliza el fondo general fotográfico de Recursos. */
.visual-resources-embed {padding: 0 !important;
  background: var(--color-dark) !important;}
.visual-resources-embed .template-demo.recursos-original-demo {box-shadow: none;}
.visual-resources-embed .template-demo.recursos-original-demo:not(.demo-light) {background:
    radial-gradient(circle at 82% 12%, transparent, transparent 30%),
    linear-gradient(135deg, var(--color-dark) 0%, var(--color-dark) 60%, var(--color-dark) 100%) !important;}
/* Agrupación compacta para etiquetas superiores sin cards */
.visual-resources-embed .combined-tags-demo {padding: 18px 42px 24px;}
.visual-resources-embed .combined-tag-grid {display: grid;
  grid-template-columns: 1fr;
  gap: 0;}
.visual-resources-embed .combined-tag-card {display: grid;
  grid-template-columns: minmax(340px, 1fr) minmax(360px, 44%);
  column-gap: 36px;
  align-items: center;
  min-width: 0;
  padding: 8px 0;
  border-bottom: 1px solid var(--color-line);
  background: transparent;
  border-radius: 0;}
.visual-resources-embed .combined-tag-card:first-child {padding-top: 0;}
.visual-resources-embed .combined-tag-card:last-child {border-bottom: 0;
  padding-bottom: 0;}
.visual-resources-embed .combined-tag-meta {display: grid;
  grid-template-columns: 92px 1fr;
  gap: 18px;
  align-items: start;}
.visual-resources-embed .combined-tag-number {color: var(--color-key);
  font-size: var(--micro);
  font-weight:500;
  letter-spacing: .14em;
  line-height: 1.25;
  text-transform: uppercase;
  white-space: nowrap;}
.visual-resources-embed .combined-tag-request {margin: 0;
  color: var(--color-line);
  font-size: var(--small);
  line-height: 1.35;}
.visual-resources-embed .combined-tag-request strong {color: var(--color-white);}
.visual-resources-embed .combined-tag-card .tag-demo-standalone {min-height: 44px;
  width: 100%;
  align-items: center;
  justify-content: flex-end;
  padding: 0;
  border-radius: 0;
  border: 0;
  background: transparent;}
.visual-resources-embed .combined-tag-card .tag {max-width: 100%;}
.visual-resources-embed .combined-tag-card .tag-5 {width: 100%;
  justify-content: center;}
.visual-resources-embed .combined-tag-card .tag-10, .visual-resources-embed .combined-tag-card .tag-12 {white-space: normal;}
.visual-resources-embed .combined-tag-card .tag-7 {flex-wrap: wrap;
  row-gap: 6px;}
@media (max-width: 1080px) {
.visual-resources-embed .combined-tag-card {grid-template-columns: 1fr;
    row-gap: 14px;}
.visual-resources-embed .combined-tag-card .tag-demo-standalone {justify-content: flex-start;}
}
@media (max-width: 768px) {
.visual-resources-embed .combined-tags-demo {padding: 18px 22px 24px;}
.visual-resources-embed .combined-tag-card {padding: 9px 0;}
.visual-resources-embed .combined-tag-meta {grid-template-columns: 1fr;
    gap: 7px;}
.visual-resources-embed .combined-tag-card .tag-demo-standalone {min-height: 42px;}
}
/* Agrupación compacta para marquees horizontales sin cards */
.visual-resources-embed .combined-marquees-demo {padding: 18px 0 24px;
  overflow: hidden;}
.visual-resources-embed .combined-marquee-list {display: grid;
  grid-template-columns: 1fr;
  gap: 0;}
.visual-resources-embed .combined-marquee-item {display: grid;
  grid-template-columns: minmax(340px, 1fr) minmax(420px, 46%);
  column-gap: 36px;
  row-gap: 12px;
  align-items: center;
  min-width: 0;
  padding: 16px 42px 18px;
  border-bottom: 1px solid var(--color-line);
  background: transparent;}
.visual-resources-embed .combined-marquee-item:first-child {padding-top: 0;}
.visual-resources-embed .combined-marquee-item:last-child {border-bottom: 0;
  padding-bottom: 0;}
.visual-resources-embed .combined-marquee-meta {display: grid;
  grid-template-columns: 92px 1fr;
  gap: 18px;
  align-items: start;}
.visual-resources-embed .combined-marquee-number {color: var(--color-key);
  font-size: var(--micro);
  font-weight: 700;
  letter-spacing: .14em;
  line-height: 1.25;
  text-transform: uppercase;
  white-space: nowrap;}
.visual-resources-embed .combined-marquee-request {margin: 0;
  color: var(--color-line);
  font-size: var(--small);
  line-height: 1.35;}
.visual-resources-embed .combined-marquee-request strong {color: var(--color-white);}
.visual-resources-embed .combined-marquee-visual {grid-column: 1 / -1;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 0;
  overflow: hidden;}
.visual-resources-embed .combined-marquee-visual .marquee {width: 100vw;
  margin-left: 0;
  margin-right: 0;}
.visual-resources-embed .combined-marquee-visual .marquee-2, .visual-resources-embed .combined-marquee-visual .marquee-6 {border-radius: 0;}
.visual-resources-embed .combined-marquee-visual .marquee-5, .visual-resources-embed .combined-marquee-visual .marquee-7 {width: 112vw;
  margin-left: -6vw;
  margin-right: -6vw;}
@media (max-width: 1080px) {
.visual-resources-embed .combined-marquee-item {grid-template-columns: 1fr;
    row-gap: 12px;}
}
/* Ajustes puntuales solicitados para marquees */
.visual-resources-embed .combined-marquee-item[data-option="2"] .combined-marquee-visual {padding-left: 42px;
  padding-right: 42px;}
.visual-resources-embed .combined-marquee-item[data-option="2"] .marquee-2 {width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
  border-radius: 999px !important;
  border: 1px solid var(--color-line);
  background: var(--color-line);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  overflow: hidden;}
.visual-resources-embed .combined-marquee-item[data-option="5"] .marquee-5, .visual-resources-embed .combined-marquee-item[data-option="7"] .marquee-7 {width: 128vw;
  margin-left: -14vw;
  margin-right: -14vw;}
@media (max-width: 768px) {
.visual-resources-embed .combined-marquee-item[data-option="2"] .combined-marquee-visual {padding-left: 22px;
    padding-right: 22px;}
.visual-resources-embed .combined-marquee-item[data-option="5"] .marquee-5, .visual-resources-embed .combined-marquee-item[data-option="7"] .marquee-7 {width: 144vw;
    margin-left: -22vw;
    margin-right: -22vw;}
}
@media (max-width: 768px) {
.visual-resources-embed .combined-marquees-demo {padding: 18px 0 24px;}
.visual-resources-embed .combined-marquee-item {padding: 14px 22px 16px;}
.visual-resources-embed .combined-marquee-meta {grid-template-columns: 1fr;
    gap: 7px;}
}
/* Agrupación compacta para opciones de cursor personalizado sin cards externos */
.visual-resources-embed .combined-cursors-demo {padding: 12px 0 22px;
  overflow: visible;}
.visual-resources-embed .combined-cursor-list {display: grid;
  grid-template-columns: 1fr;
  gap: 0;}
.visual-resources-embed .combined-cursor-item {display: grid;
  grid-template-columns: minmax(360px, 42%) minmax(420px, 1fr);
  column-gap: 36px;
  row-gap: 14px;
  align-items: center;
  min-width: 0;
  padding: 22px 42px;
  border-bottom: 1px solid var(--color-line);
  background: transparent;}
.visual-resources-embed .combined-cursor-item:first-child {padding-top: 0;}
.visual-resources-embed .combined-cursor-item:last-child {border-bottom: 0;
  padding-bottom: 0;}
.visual-resources-embed .combined-cursor-meta {display: grid;
  grid-template-columns: 96px 1fr;
  gap: 18px;
  align-items: start;}
.visual-resources-embed .combined-cursor-number {color: var(--color-key);
  font-size: var(--micro);
  font-weight: 700;
  letter-spacing: .14em;
  line-height: 1.25;
  text-transform: uppercase;
  white-space: nowrap;}
.visual-resources-embed .combined-cursor-copy {display: grid;
  gap: 6px;}
.visual-resources-embed .combined-cursor-copy h3 {margin: 0;
  color: var(--color-white);
  font-family: var(--font-main);
  font-size: var(--h3);
  font-weight: 700;
  line-height: 1.18;
  letter-spacing: -.025em;}
.visual-resources-embed .combined-cursor-request {margin: 0;
  color: var(--color-line);
  font-size: var(--small);
  line-height: 1.4;}
.visual-resources-embed .combined-cursor-request strong {color: var(--color-white);}
.visual-resources-embed .combined-cursor-visual {min-width: 0;
  overflow: visible;}
.visual-resources-embed .combined-cursor-visual .demo-inner, .visual-resources-embed .combined-cursor-visual .demo-inner.demo-full {width: 100%;
  max-width: none;
  padding: 0;
  margin: 0;}
.visual-resources-embed .combined-cursor-visual .cursor-demo {min-height: 168px;
  border: 0 !important;
  border-radius: 0 !important;
  background-color: transparent;}
.visual-resources-embed .combined-cursor-visual .cursor-demo-title {max-width: 520px;}
.visual-resources-embed .combined-cursor-visual .native-cursors {margin-top: 46px;}
@media (max-width: 1080px) {
.visual-resources-embed .combined-cursor-item {grid-template-columns: 1fr;}
}
@media (max-width: 768px) {
.visual-resources-embed .combined-cursors-demo {padding: 12px 0 20px;}
.visual-resources-embed .combined-cursor-item {padding: 18px 22px;}
.visual-resources-embed .combined-cursor-meta {grid-template-columns: 1fr;
    gap: 8px;}
.visual-resources-embed .combined-cursor-visual .cursor-demo {min-height: 150px;}
}
/* Agrupación compacta para indicadores de slider sin cards externos */
.visual-resources-embed .combined-indicators-demo {padding: 12px 0 22px;
  overflow: hidden;}
.visual-resources-embed .combined-indicator-list {display: grid;
  grid-template-columns: 1fr;
  gap: 0;}
.visual-resources-embed .combined-indicator-item {display: grid;
  grid-template-columns: minmax(360px, 42%) minmax(420px, 1fr);
  column-gap: 36px;
  row-gap: 14px;
  align-items: center;
  min-width: 0;
  padding: 22px 42px;
  border-bottom: 1px solid var(--color-line);
  background: transparent;}
.visual-resources-embed .combined-indicator-item:first-child {padding-top: 0;}
.visual-resources-embed .combined-indicator-item:last-child {border-bottom: 0;
  padding-bottom: 0;}
.visual-resources-embed .combined-indicator-meta {display: grid;
  grid-template-columns: 96px 1fr;
  gap: 18px;
  align-items: start;}
.visual-resources-embed .combined-indicator-number {color: var(--color-key);
  font-size: var(--micro);
  font-weight: 700;
  letter-spacing: .14em;
  line-height: 1.25;
  text-transform: uppercase;
  white-space: nowrap;}
.visual-resources-embed .combined-indicator-copy {display: grid;
  gap: 6px;}
.visual-resources-embed .combined-indicator-copy h3 {margin: 0;
  color: var(--color-white);
  font-family: var(--font-main);
  font-size: var(--h3);
  font-weight: 700;
  line-height: 1.18;
  letter-spacing: -.025em;}
.visual-resources-embed .combined-indicator-request {margin: 0;
  color: var(--color-line);
  font-size: var(--small);
  line-height: 1.4;}
.visual-resources-embed .combined-indicator-request strong {color: var(--color-white);}
.visual-resources-embed .combined-indicator-visual {min-width: 0;
  overflow: visible;}
.visual-resources-embed .combined-indicator-visual .demo-inner, .visual-resources-embed .combined-indicator-visual .demo-inner.demo-full {width: 100%;
  max-width: none;
  padding: 0;
  margin: 0;}
.visual-resources-embed .combined-indicator-visual .mock-slider {min-height: 188px;
  border: 0 !important;
  border-radius: 0 !important;
  background-color: transparent;}
.visual-resources-embed .combined-indicator-visual .mock-slider h3 {font-size: var(--h3);}
@media (max-width: 1080px) {
.visual-resources-embed .combined-indicator-item {grid-template-columns: 1fr;}
}
@media (max-width: 768px) {
.visual-resources-embed .combined-indicators-demo {padding: 12px 0 20px;}
.visual-resources-embed .combined-indicator-item {padding: 18px 22px;}
.visual-resources-embed .combined-indicator-meta {grid-template-columns: 1fr;
    gap: 8px;}
.visual-resources-embed .combined-indicator-visual .mock-slider {min-height: 164px;}
}
/* Corrección: mantener visibles y funcionales los efectos de cursor dentro del bloque adaptado */
.visual-resources-embed .combined-cursor-visual .cursor-demo[data-cursor="none"] {cursor: auto;}
.visual-resources-embed .combined-cursor-visual .cursor-demo[data-cursor="svg"] {cursor:crosshair;}
.visual-resources-embed .custom-cursor, .visual-resources-embed .bounded-cursor, .visual-resources-embed .cursor-trail {pointer-events: none;}
/* Ajuste final de indicadores */
.visual-resources-embed .combined-indicator-item {align-items: center;
  padding-top: 18px;
  padding-bottom: 18px;}
.visual-resources-embed .combined-indicator-visual {width: 100%;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: stretch;}
.visual-resources-embed .combined-indicator-visual .demo-inner {width: 100%;
  max-width: none;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: stretch;
  padding: 0 !important;
  margin: 0 !important;}
.visual-resources-embed .combined-indicator-visual .mock-slider {width: 100%;
  min-height: 172px;
  height: 172px;
  padding: 22px 24px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-sizing: border-box;}
.visual-resources-embed .combined-indicator-visual .mock-slider-content {max-width: 420px;}
.visual-resources-embed .combined-indicator-visual .indicator-area {margin-top: 16px;}
@media (max-width: 1080px) {
.visual-resources-embed .combined-indicator-visual .mock-slider {height: auto;
    min-height: 168px;}
}
@media (max-width: 768px) {
.visual-resources-embed .combined-indicator-item {padding-top: 16px;
    padding-bottom: 16px;}
.visual-resources-embed .combined-indicator-visual .mock-slider {height: auto;
    min-height: 158px;}
}
/* Limpieza final: indicadores sin contenido duplicado dentro del demo */
.visual-resources-embed .combined-indicator-visual .mock-slider-content, .visual-resources-embed .combined-indicator-visual .mock-slider-kicker, .visual-resources-embed .combined-indicator-visual .mock-slider > h3 {display: none !important;}
.visual-resources-embed .combined-indicator-visual .mock-slider {min-height: 112px !important;
  height: 112px !important;
  padding: 20px 24px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid var(--color-line) !important;
  background:
    linear-gradient(transparent, transparent),
    linear-gradient(90deg, transparent 1px, transparent 1px),
    linear-gradient(transparent 1px, transparent 1px) !important;
  background-size: auto, 40px 40px, 40px 40px !important;
  overflow: hidden !important;}
.visual-resources-embed .combined-indicator-visual .mock-slider::after {display: none !important;}
.visual-resources-embed .combined-indicator-visual .indicator-area {width: 100%;
  margin-top: 0 !important;
  min-height: 36px;
  justify-content: center;}
.visual-resources-embed .combined-indicator-visual .indicator-vertical {width: auto;
  min-height: auto;
  right: 24px;}
@media (max-width: 768px) {
.visual-resources-embed .combined-indicator-visual .mock-slider {min-height: 96px !important;
    height: 96px !important;
    padding: 16px 18px !important;}
}
/* Menú hamburguesa principal: tamaño párrafo en negrita */
.global-fullscreen-links a {
  font-size: var(--body) !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
}


/* Menú hamburguesa principal: alto mínimo */
.global-fullscreen-inner {
  padding-top: 24px !important;
  padding-bottom: 24px !important;
  gap: 0 !important;
}

.global-fullscreen-links {
  gap: 0 !important;
  align-content: center !important;
}

.global-fullscreen-links a {
  min-height: 34px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  line-height: 1.15 !important;
}


/* NOTICIAS · integración debajo de Cards con íconos */
.news-embed {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  background: var(--color-dark);
  color: var(--color-white);
  isolation: isolate;
  overflow: hidden;
}

.news-embed a {
  color: inherit;
  text-decoration: none;
}

.news-embed button,
.news-embed input,
.news-embed textarea,
.news-embed select {
  font: inherit;
}

/* Conserva el formato maestro en las explicaciones */
.news-embed .template-title,
.news-embed .template-item {
  background: var(--color-dark);
}

/* Conserva la ejecución visual original */
.news-embed .template-demo {
  width: 100%;
}
.news-embed {--color-dark: inherit;
  --color-key: inherit;
  --color-light: inherit;
  --color-white: inherit;
  --color-muted: inherit;
  --color-line: inherit;

  --font-main: "Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-secondary: "Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;

  --text-label: var(--micro);
  --text-small: var(--small);
  --text-body: var(--body);
  --text-h3: var(--h3);
  --text-h2: var(--h2);}
.news-embed * {box-sizing: border-box;}
.news-embed {scroll-behavior: smooth;}
.news-embed {margin: 0;
  background: var(--color-dark);
  color: var(--color-white);
  font-family: var(--font-main);
  font-size: var(--body);
  line-height: 1.7;}
/* ===============================
   FORMATO MAESTRO PARA EXPLICACIONES
================================ */
.news-embed .template-title {width: 100%;
  padding: 56px 0 18px;
  background: var(--color-dark);
  border-bottom: 1px solid var(--color-line);}
.news-embed .template-item {width: 100%;
  padding-top: 20px;
  background: var(--color-dark);
  border-bottom: 1px solid var(--color-line);}
.news-embed .menu-row {width: 100%;
  padding-left: 42px;
  padding-right: 42px;}
.news-embed .row-number {padding-bottom: 8px;}
.news-embed .menu-number {display: block;
  color: var(--color-key);
  font-size: var(--micro);
  font-weight: 400;
  letter-spacing: .16em;
  line-height: 1.45;
  text-transform: uppercase;}
.news-embed .row-info {display: grid;
  grid-template-columns: minmax(280px, 35%) minmax(420px, 1fr);
  column-gap: 42px;
  align-items: start;
  padding-bottom: 20px;}
.news-embed .row-info h3 {max-width: 620px;
  margin: 0;
  color: var(--color-white);
  font-family: var(--font-main);
  font-size: var(--h3);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -.025em;}
.news-embed .request-copy {max-width: 980px;
  margin: 0;
  color: var(--color-line);
  font-size: var(--small);
  line-height: 1.65;}
.news-embed .request-copy strong {color: var(--color-white);
  font-weight: 700;}
/* ===============================
   CONTENEDOR DEL EJEMPLO ORIGINAL
================================ */
.news-embed .template-demo {width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: var(--color-white);
  color: var(--color-dark);
  border-top: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);}
/* ===============================
   RESPONSIVE
================================ */
@media (max-width: 900px) {
.news-embed .menu-row {padding-left: 24px;
    padding-right: 24px;}
.news-embed .row-info {grid-template-columns: 1fr;
    row-gap: 12px;}
}
/* ===============================
   EJEMPLO VISUAL SOLO DE REFERENCIA
   Reemplazar por el CSS original de la plantilla.
================================ */
.news-embed #DEMO-UNICO-01 .hero-demo-placeholder {min-height: 420px;
  display: grid;
  place-items: center;
  padding: 64px 42px;
  background:
    radial-gradient(circle at 70% 25%, transparent, transparent 28%),
    linear-gradient(135deg, var(--color-light) 0%, var(--color-white) 55%, var(--color-light) 100%);}
.news-embed #DEMO-UNICO-01 .hero-demo-box {width: min(100%, 1080px);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 42px;
  align-items: center;}
.news-embed #DEMO-UNICO-01 .hero-demo-box h1 {margin: 0;
  color: var(--color-dark);
  font-size: var(--h2);
  line-height: .98;
  letter-spacing: -.055em;}
.news-embed #DEMO-UNICO-01 .hero-demo-box p {margin: 18px 0 0;
  color: var(--color-muted);
  font-size: var(--body);
  line-height: 1.7;}
.news-embed #DEMO-UNICO-01 .hero-demo-image {min-height: 300px;
  background:
    linear-gradient(135deg, transparent, transparent),
    var(--color-white);
  border: 1px solid var(--color-line);}
@media (max-width: 800px) {
.news-embed #DEMO-UNICO-01 .hero-demo-box {grid-template-columns: 1fr;}
.news-embed #DEMO-UNICO-01 .hero-demo-box h1 {font-size: var(--h3);}
}
/* ===============================
   AJUSTES PARA RECURSOS 2 COMPLETO
================================ */
.news-embed .template-title h2 {margin:0;
  color:var(--color-white);
  font-family:var(--font-main);
  font-size:var(--h2);
  line-height:1.05;
  letter-spacing:-.045em;}
.news-embed .template-demo {overflow:visible;
  background:var(--color-white);}
.news-embed .template-demo.demo-full-page {border-top:1px solid var(--color-line);
  border-bottom:1px solid var(--color-line);}
.news-embed .original-resource {width:100%;
  background:var(--color-light);
  color:var(--color-dark);
  overflow:hidden;}
.news-embed .original-resource.resource-hidden-shell {position:absolute;
  left:-99999px;
  top:0;
  width:1px;
  height:1px;
  overflow:hidden;
  pointer-events:none;}
.news-embed .original-resource .view {display:block !important;
  animation:none !important;}
.news-embed .original-resource #view-detalle {display:none !important;}
.news-embed .original-resource footer.site {display:block;}
/* El maestro ya aporta la explicación; el demo conserva la página original completa. */
.news-embed .resource-note {display:none !important;}
/* ============================================================
   PLANTILLA · DESIGN SYSTEM
   Sistema visual de referencia para una web corporativa con catálogo
   Paleta: navy corporativo + acento cobre
   ============================================================ */
.news-embed .original-resource {/* Paleta y tipografía del Formato maestro */
  --navy-950:var(--color-dark);
  --navy-900:var(--color-dark);
  --navy-800:var(--color-dark);
  --navy-700:var(--color-key);
  --navy-600:var(--color-key);
  --navy-500:var(--color-key);
  --navy-400:var(--color-key);
  --navy-300:var(--color-dark);
  --navy-200:var(--color-dark);
  --navy-100:var(--color-light);
  --navy-50:var(--color-light);

  --copper:var(--color-key);
  --copper-light:var(--color-key);
  --copper-dark:var(--color-key);
  --copper-50:var(--color-key);

  --bg:var(--color-light);
  --paper:var(--color-white);
  --ink:var(--color-dark);
  --ink-soft:var(--color-muted);
  --ink-mute:var(--color-muted);
  --line:var(--color-line);
  --line-strong:var(--color-line);

  --serif:var(--font-main);
  --sans:var(--font-main);

  --radius:0;
  --radius-lg:0;
  --shadow-sm:0 1px 3px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 6%, transparent), 0 1px 2px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 4%, transparent);
  --shadow-md:0 8px 24px -10px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 18%, transparent), 0 3px 8px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 6%, transparent);
  --shadow-lg:0 28px 56px -22px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 28%, transparent), 0 10px 20px -8px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 12%, transparent);
  --shadow-xl:0 40px 80px -30px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 35%, transparent);

  --container:1280px;}
.news-embed .original-resource *, .news-embed .original-resource *::before, .news-embed .original-resource *::after {box-sizing:border-box}
.news-embed .original-resource {scroll-behavior:smooth}
.news-embed .original-resource {margin:0;
  font-family:var(--font-main);
  background:var(--bg);
  color:var(--color-dark);
  font-size:var(--body);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;}
.news-embed .original-resource img {max-width:100%;display:block}
.news-embed .original-resource a {color:var(--navy-700);text-decoration:none;transition:color .25s}
.news-embed .original-resource a:hover {color:var(--color-key)}
.news-embed .original-resource button {font-family:inherit;cursor:pointer;border:none;background:none}
.news-embed .original-resource h1, .news-embed .original-resource h2, .news-embed .original-resource h3, .news-embed .original-resource h4, .news-embed .original-resource h5 {font-family:var(--font-main);color:var(--color-dark);line-height:1.15;margin:0;letter-spacing:-.015em;font-weight:500}
.news-embed .original-resource h1 {font-size:var(--h1);font-weight:400}
.news-embed .original-resource h2 {font-size:var(--h2)}
.news-embed .original-resource h3 {font-size:var(--h5)}
.news-embed .original-resource h4 {font-size:var(--card);font-family:var(--font-main);font-weight:500;letter-spacing:0}
.news-embed .original-resource .container {max-width:var(--container);margin:0 auto;padding:0 28px}
/* ============== TOPBAR ============== */
.news-embed .original-resource .topbar {background:var(--color-dark);
  color:var(--color-line);
  font-size:var(--small);
  padding:9px 0;
  border-bottom:1px solid var(--color-line);}
.news-embed .original-resource .topbar .container {display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.news-embed .original-resource .topbar a {color:var(--color-line)}
.news-embed .original-resource .topbar a:hover {color:var(--color-key)}
.news-embed .original-resource .topbar-info {display:flex;gap:28px;flex-wrap:wrap}
.news-embed .original-resource .topbar-info span {display:inline-flex;align-items:center;gap:8px}
.news-embed .original-resource .topbar-info svg {width:13px;height:13px;opacity:.7}
.news-embed .original-resource .topbar-social {display:flex;gap:14px;align-items:center}
.news-embed .original-resource .topbar-social a {display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:3px;transition:all .2s}
.news-embed .original-resource .topbar-social a:hover {background:var(--color-line);color:var(--color-key)}
.news-embed .original-resource .topbar-social svg {width:14px;height:14px}
/* ============== HEADER ============== */
.news-embed .original-resource header.site {background:var(--color-white);
  position:sticky;top:0;z-index:80;
  box-shadow:0 1px 0 var(--line);
  transition:box-shadow .3s, padding .3s;}
.news-embed .original-resource header.site.scrolled {box-shadow:var(--shadow-md)}
.news-embed .original-resource .nav {display:flex;align-items:center;justify-content:space-between;
  padding:18px 0;gap:32px;}
.news-embed .original-resource .brand {display:flex;align-items:center}
.news-embed .original-resource .brand img {height:64px;width:auto;transition:height .3s}
.news-embed .original-resource header.site.scrolled .brand img {height:48px}
.news-embed .original-resource nav.menu>ul {list-style:none;display:flex;gap:2px;margin:0;padding:0;align-items:center;}
.news-embed .original-resource .menu-item {position:relative}
.news-embed .original-resource .nav-link {display:inline-flex;align-items:center;gap:6px;padding:10px 16px;
  font-size:var(--small);font-weight:500;letter-spacing:.005em;
  color:var(--color-dark);border-radius:6px;cursor:pointer;
  transition:all .2s;}
.news-embed .original-resource .nav-link:hover {color:var(--color-key);background:var(--color-light)}
.news-embed .original-resource .nav-link.active {color:var(--color-key)}
.news-embed .original-resource .nav-link.active::after {content:"";position:absolute;left:16px;right:16px;bottom:-1px;
  height:2px;background:var(--color-key);}
.news-embed .original-resource .nav-link svg.chev {width:11px;height:11px;opacity:.6;transition:transform .2s}
.news-embed .original-resource .menu-item:hover .nav-link svg.chev {transform:rotate(180deg)}
/* MEGA MENU */
.news-embed .original-resource .megamenu {position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(-8px);
  width:680px;background:var(--color-white);border-radius:var(--radius-lg);
  box-shadow:var(--shadow-xl);border:1px solid var(--line);
  padding:28px;opacity:0;pointer-events:none;
  transition:all .25s cubic-bezier(.4,0,.2,1);z-index:90;}
.news-embed .original-resource .menu-item:hover .megamenu {opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0);}
.news-embed .original-resource .megamenu::before {content:"";position:absolute;top:-6px;left:50%;transform:translateX(-50%) rotate(45deg);
  width:12px;height:12px;background:var(--color-white);border-left:1px solid var(--line);border-top:1px solid var(--line);}
.news-embed .original-resource .mm-title {font-size:var(--small);letter-spacing:.18em;text-transform:uppercase;
  color:var(--color-key);font-weight:500;margin-bottom:16px;}
.news-embed .original-resource .mm-grid {display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}
.news-embed .original-resource .mm-item {display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:6px;
  font-size:var(--small);color:var(--color-dark);transition:all .15s;
  cursor:pointer;}
.news-embed .original-resource .mm-item:hover {background:var(--color-light);color:var(--color-key)}
.news-embed .original-resource .mm-item .icn {width:32px;height:32px;border-radius:6px;background:var(--color-light);
  display:flex;align-items:center;justify-content:center;color:var(--navy-700);
  flex-shrink:0;}
.news-embed .original-resource .mm-item:hover .icn {background:var(--color-key);color:var(--pb-theme-white,var(--color-white))}
.news-embed .original-resource .mm-item svg {width:16px;height:16px}
.news-embed .original-resource .cta-quote {background:var(--color-key);color:var(--pb-theme-white,var(--color-white));
  padding:12px 24px;border-radius:6px;font-weight:500;font-size:var(--small);
  display:inline-flex;align-items:center;gap:8px;
  transition:all .2s;letter-spacing:.01em;
  box-shadow:0 4px 14px -2px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 40%, transparent);}
.news-embed .original-resource .cta-quote:hover {background:var(--color-key);transform:translateY(-1px);box-shadow:0 6px 20px -4px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 55%, transparent)}
.news-embed .original-resource .burger {display:none;padding:8px;color:var(--color-dark);z-index:90}
.news-embed .original-resource .burger svg {width:28px;height:28px}
@media (max-width:1100px) {
.news-embed .original-resource nav.menu {position:fixed;top:0;right:-100%;
    height:100vh;width:min(85%,360px);
    background:var(--color-white);
    box-shadow:-12px 0 40px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 18%, transparent);
    padding:90px 20px 24px;
    transition:right .35s ease;overflow-y:auto;z-index:75;}
.news-embed .original-resource nav.menu.open {right:0}
.news-embed .original-resource nav.menu>ul {flex-direction:column;align-items:stretch;gap:0;width:100%}
.news-embed .original-resource .nav-link {padding:14px 12px;border-bottom:1px solid var(--line);border-radius:0;font-size:var(--body);width:100%;justify-content:space-between}
.news-embed .original-resource .nav-link.active::after {display:none}
.news-embed .original-resource .nav-link.active {background:var(--color-light)}
.news-embed .original-resource .megamenu {display:none}
.news-embed .original-resource .burger {display:inline-flex}
.news-embed .original-resource .cta-quote {display:none}
.news-embed .original-resource .menu-overlay {position:fixed;inset:0;background:color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 50%, transparent);
    opacity:0;pointer-events:none;transition:opacity .3s;z-index:70;}
.news-embed .original-resource .menu-overlay.show {opacity:1;pointer-events:auto}
}
/* ============== HERO SLIDER ============== */
.news-embed .original-resource .hero {position:relative;
  height:min(720px, 90vh);min-height:560px;
  overflow:hidden;
  background:var(--color-dark);}
.news-embed .original-resource .hero-slide {position:absolute;inset:0;opacity:0;
  transition:opacity 1s ease;}
.news-embed .original-resource .hero-slide.active {opacity:1;z-index:2}
.news-embed .original-resource .hero-bg {position:absolute;inset:0;
  background-size:cover;background-position:center;
  filter:brightness(.55);
  transform:scale(1.05);
  transition:transform 8s ease-out;}
.news-embed .original-resource .hero-slide.active .hero-bg {transform:scale(1)}
.news-embed .original-resource .hero-overlay {position:absolute;inset:0;
  background:
    linear-gradient(120deg, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 85%, transparent) 0%, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 60%, transparent) 45%, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 30%, transparent) 100%),
    radial-gradient(circle at 90% 80%, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 18%, transparent), transparent 50%);}
.news-embed .original-resource .hero-grid-overlay {position:absolute;inset:0;
  background-image:
    linear-gradient(color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 3%, transparent) 1px, transparent 1px),
    linear-gradient(90deg, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 3%, transparent) 1px, transparent 1px);
  background-size:60px 60px;
  mask-image:radial-gradient(ellipse 80% 60% at 30% 50%, var(--color-dark), transparent);}
.news-embed .original-resource .hero-content {position:relative;z-index:3;height:100%;
  display:flex;align-items:center;}
.news-embed .original-resource .hero-content .container {width:100%}
.news-embed .original-resource .hero-text {max-width:680px;color:var(--color-white)}
.news-embed .original-resource .hero-eyebrow {display:inline-flex;align-items:center;gap:14px;
  font-size:var(--small);letter-spacing:.22em;text-transform:uppercase;
  color:var(--color-key);margin-bottom:24px;font-weight:500;
  opacity:0;transform:translateY(20px);
  animation:news-fadeUp .8s .2s ease forwards;}
.news-embed .original-resource .hero-eyebrow::before {content:"";width:40px;height:1px;background:var(--color-key)}
.news-embed .original-resource .hero-text h1 {color:var(--color-white);margin-bottom:24px;
  opacity:0;transform:translateY(30px);
  animation:news-fadeUp .9s .35s ease forwards;}
.news-embed .original-resource .hero-text h1 em {font-style:italic;color:var(--color-key);font-weight:400}
.news-embed .original-resource .hero-text p {font-size:var(--card);color:var(--color-line);max-width:580px;margin-bottom:36px;
  font-weight:400;line-height:1.7;
  opacity:0;transform:translateY(30px);
  animation:news-fadeUp 1s .55s ease forwards;}
.news-embed .original-resource .hero-actions {display:flex;gap:14px;flex-wrap:wrap;
  opacity:0;transform:translateY(30px);
  animation:news-fadeUp 1s .75s ease forwards;}
@keyframes news-fadeUp {to{opacity:1;transform:none}}
.news-embed .original-resource .btn-primary {background:var(--color-key);color:var(--pb-theme-white,var(--color-white));
  padding:14px 30px;border-radius:6px;font-weight:500;font-size:var(--body);
  display:inline-flex;align-items:center;gap:10px;
  transition:all .2s;letter-spacing:.01em;
  box-shadow:0 4px 14px -2px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 40%, transparent);}
.news-embed .original-resource .btn-primary:hover {background:var(--color-key);transform:translateY(-1px);color:var(--pb-theme-white,var(--color-white));box-shadow:0 8px 24px -4px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 55%, transparent)}
.news-embed .original-resource .btn-secondary {background:var(--color-line);color:var(--color-white);backdrop-filter:blur(4px);
  border:1px solid var(--color-line);
  padding:13px 28px;border-radius:6px;font-weight:500;font-size:var(--body);
  display:inline-flex;align-items:center;gap:10px;
  transition:all .2s;}
.news-embed .original-resource .btn-secondary:hover {background:var(--color-line);border-color:var(--color-line);color:var(--color-white)}
/* HERO PAGINATION */
.news-embed .original-resource .hero-nav {position:absolute;bottom:32px;left:50%;transform:translateX(-50%);
  z-index:5;display:flex;gap:12px;align-items:center;}
.news-embed .original-resource .hero-dot {width:42px;height:3px;background:var(--color-line);
  cursor:pointer;border-radius:2px;transition:all .3s;
  position:relative;overflow:hidden;}
.news-embed .original-resource .hero-dot.active {background:var(--color-line)}
.news-embed .original-resource .hero-dot.active::after {content:"";position:absolute;left:0;top:0;height:100%;
  background:var(--color-key);
  animation:news-dotProgress 6s linear;}
@keyframes news-dotProgress {from{width:0}to{width:100%}}
/* HERO FLOATING CARD */
.news-embed .original-resource .hero-floating {position:absolute;right:5%;bottom:80px;z-index:4;
  background:var(--color-line);backdrop-filter:blur(20px);
  border:1px solid var(--color-line);
  border-radius:var(--radius-lg);
  padding:22px 26px;color:var(--color-white);
  display:flex;gap:18px;align-items:center;
  opacity:0;animation:news-fadeUp 1s 1s ease forwards;}
.news-embed .original-resource .hero-floating .icn {width:48px;height:48px;border-radius:10px;
  background:var(--color-key);display:flex;align-items:center;justify-content:center;}
.news-embed .original-resource .hero-floating .icn svg {width:24px;height:24px;color:var(--color-white)}
.news-embed .original-resource .hero-floating .label {font-size:var(--small);letter-spacing:.15em;text-transform:uppercase;color:var(--color-line);margin-bottom:2px}
.news-embed .original-resource .hero-floating .val {font-family:var(--font-main);font-size:var(--h5);color:var(--color-white);line-height:1}
@media (max-width:880px) {
.news-embed .original-resource .hero {height:auto;min-height:auto;padding:80px 0 60px}
.news-embed .original-resource .hero-floating {display:none}
.news-embed .original-resource .hero-text h1 {font-size:var(--h3)}
}
/* ============== MARQUEE BRANDS ============== */
.news-embed .original-resource .marquee-section {background:var(--color-white);border-bottom:1px solid var(--line);
  padding:36px 0;overflow:hidden;}
.news-embed .original-resource .marquee-label {text-align:center;font-size:var(--small);letter-spacing:.22em;text-transform:uppercase;
  color:var(--ink-mute);margin-bottom:22px;font-weight:500;}
.news-embed .original-resource .marquee-track {display:flex;gap:80px;align-items:center;
  animation:news-scroll 38s linear infinite;
  width:max-content;}
@keyframes news-scroll {from{transform:translateX(0)}
  to{transform:translateX(-50%)}}
.news-embed .original-resource .marquee-track .brand-name {font-family:var(--font-main);font-size:var(--h4);font-style:italic;
  color:var(--navy-700);white-space:nowrap;letter-spacing:-.01em;
  opacity:.55;font-weight:500;transition:opacity .3s;
  display:flex;align-items:center;gap:80px;}
.news-embed .original-resource .marquee-track .brand-name::after {content:"·";color:var(--color-key);font-style:normal;}
/* ============== SECTION ============== */
.news-embed .original-resource section.block {padding:100px 0;position:relative}
.news-embed .original-resource section.block.tight {padding:72px 0}
.news-embed .original-resource section.block.dark {background:var(--color-dark);color:var(--color-white)}
.news-embed .original-resource section.block.tinted {background:var(--color-light)}
.news-embed .original-resource .section-head {margin-bottom:64px;max-width:740px}
.news-embed .original-resource .section-head.center {margin-left:auto;margin-right:auto;text-align:center}
.news-embed .original-resource .section-eyebrow {display:inline-flex;align-items:center;gap:10px;
  font-size:var(--small);letter-spacing:.22em;text-transform:uppercase;
  color:var(--color-key);margin-bottom:18px;font-weight:500;}
.news-embed .original-resource .section-eyebrow::before {content:"";width:24px;height:1px;background:var(--color-key)}
.news-embed .original-resource .dark .section-eyebrow {color:var(--color-key)}
.news-embed .original-resource .dark .section-head h2 {color:var(--color-white)}
.news-embed .original-resource .dark .section-head p {color:var(--color-line)}
.news-embed .original-resource .section-head h2 {margin-bottom:18px;color:var(--color-dark)}
.news-embed .original-resource .section-head h2 em {font-style:italic;color:var(--color-key);font-weight:400}
.news-embed .original-resource .section-head p {color:var(--color-muted);font-size:var(--card);max-width:660px;line-height:1.7}
/* ============== ESPECIALIDADES (estilo Roca) ============== */
.news-embed .original-resource .spec-grid {display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px;}
.news-embed .original-resource .spec-card {background:var(--color-white);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:32px 22px;cursor:pointer;text-align:center;
  position:relative;overflow:hidden;
  transition:all .35s cubic-bezier(.4,0,.2,1);}
.news-embed .original-resource .spec-card::before {content:"";position:absolute;inset:0;
  background:linear-gradient(135deg, var(--color-dark), var(--navy-700));
  opacity:0;transition:opacity .35s;}
.news-embed .original-resource .spec-card:hover {transform:translateY(-6px);
  box-shadow:0 24px 48px -16px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 25%, transparent);
  border-color:transparent;}
.news-embed .original-resource .spec-card:hover::before {opacity:1}
.news-embed .original-resource .spec-card>* {position:relative;z-index:2}
.news-embed .original-resource .spec-icon {width:72px;height:72px;border-radius:50%;
  background:var(--color-light);color:var(--navy-700);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 18px;transition:all .35s;}
.news-embed .original-resource .spec-card:hover .spec-icon {background:var(--color-key);color:var(--pb-theme-white,var(--color-white));transform:scale(1.05)}
.news-embed .original-resource .spec-icon svg {width:36px;height:36px}
.news-embed .original-resource .spec-card h3 {font-family:var(--font-main);font-size:var(--body);font-weight:500;
  color:var(--color-dark);margin-bottom:8px;letter-spacing:0;
  transition:color .35s;}
.news-embed .original-resource .spec-card:hover h3 {color:var(--color-white)}
.news-embed .original-resource .spec-card p {font-size:var(--small);color:var(--ink-mute);margin:0;line-height:1.5;
  transition:color .35s;}
.news-embed .original-resource .spec-card:hover p {color:var(--color-line)}
.news-embed .original-resource .spec-card .count {display:inline-block;margin-top:14px;font-size:var(--small);
  color:var(--color-key);font-weight:500;letter-spacing:.05em;text-transform:uppercase;
  transition:color .35s;}
.news-embed .original-resource .spec-card:hover .count {color:var(--color-key)}
/* ============== PRODUCTOS DESTACADOS ============== */
.news-embed .original-resource .featured-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;}
.news-embed .original-resource .product-card {background:var(--color-white);border-radius:var(--radius-lg);overflow:hidden;
  border:1px solid var(--line);transition:all .3s;cursor:pointer;
  display:flex;flex-direction:column;}
.news-embed .original-resource .product-card:hover {transform:translateY(-4px);
  box-shadow:var(--shadow-lg);border-color:transparent;}
.news-embed .original-resource .product-img {aspect-ratio:4/3;background:var(--color-light);overflow:hidden;
  position:relative;}
.news-embed .original-resource .product-img img {width:100%;height:100%;object-fit:cover;
  transition:transform .6s cubic-bezier(.4,0,.2,1);}
.news-embed .original-resource .product-card:hover .product-img img {transform:scale(1.05)}
.news-embed .original-resource .product-img .brand-tag {position:absolute;top:14px;left:14px;
  background:var(--color-white);color:var(--color-dark);
  padding:5px 12px;border-radius:3px;
  font-size:var(--small);font-weight:500;letter-spacing:.08em;text-transform:uppercase;
  box-shadow:0 1px 3px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 6%, transparent), 0 1px 2px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 4%, transparent);}
.news-embed .original-resource .product-info {padding:24px;flex:1;display:flex;flex-direction:column}
.news-embed .original-resource .product-cat {font-size:var(--small);color:var(--color-key);font-weight:500;
  letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px;}
.news-embed .original-resource .product-info h3 {font-family:var(--font-main);font-size:var(--card);font-weight:500;
  color:var(--color-dark);margin-bottom:10px;letter-spacing:0;}
.news-embed .original-resource .product-info p {font-size:var(--small);color:var(--ink-mute);margin:0 0 18px;
  line-height:1.55;flex:1;}
.news-embed .original-resource .product-actions {display:flex;gap:10px;margin-top:auto}
.news-embed .original-resource .product-actions .btn-quote-sm {flex:1;background:var(--color-dark);color:var(--color-white);
  padding:10px;border-radius:5px;font-size:var(--small);font-weight:500;
  transition:background .2s;}
.news-embed .original-resource .product-actions .btn-quote-sm:hover {background:var(--color-dark)}
.news-embed .original-resource .product-actions .btn-info-sm {flex:1;background:transparent;color:var(--color-dark);
  border:1px solid var(--color-line);
  padding:10px;border-radius:5px;font-size:var(--small);font-weight:500;
  transition:all .2s;}
.news-embed .original-resource .product-actions .btn-info-sm:hover {border-color:var(--color-dark);background:var(--color-light)}
/* ============== STATS BAR ============== */
.news-embed .original-resource .stats-bar {background:linear-gradient(135deg, var(--color-dark) 0%, var(--navy-700) 100%);
  color:var(--color-white);padding:80px 0;position:relative;overflow:hidden;}
.news-embed .original-resource .stats-bar::before {content:"";position:absolute;inset:0;
  background-image:
    radial-gradient(circle at 20% 30%, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 15%, transparent), transparent 40%),
    radial-gradient(circle at 80% 70%, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 25%, transparent), transparent 50%);}
.news-embed .original-resource .stats-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:0;position:relative;z-index:2;
  border-top:1px solid var(--color-line);
  border-bottom:1px solid var(--color-line);}
.news-embed .original-resource .stat-item {padding:48px 32px;text-align:center;
  border-right:1px solid var(--color-line);}
.news-embed .original-resource .stat-item:last-child {border-right:none}
.news-embed .original-resource .stat-num {font-family:var(--font-main);font-size:var(--h1);color:var(--color-white);
  font-weight:400;line-height:1;margin-bottom:8px;
  background:linear-gradient(180deg, var(--color-white) 0%, var(--color-key) 130%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.news-embed .original-resource .stat-label {font-size:var(--small);letter-spacing:.18em;text-transform:uppercase;
  color:var(--color-line);font-weight:500;}
@media (max-width:760px) {
.news-embed .original-resource .stat-item {border-right:none;border-bottom:1px solid var(--color-line);padding:36px 20px}
.news-embed .original-resource .stat-item:last-child {border-bottom:none}
}
/* ============== CATÁLOGO COMPLETO ============== */
.news-embed .original-resource .cat-hero {background:linear-gradient(135deg, var(--color-dark), var(--navy-700));
  color:var(--color-white);padding:100px 0 80px;position:relative;overflow:hidden;}
.news-embed .original-resource .cat-hero::before {content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 80% 20%, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 20%, transparent), transparent 50%);}
.news-embed .original-resource .cat-hero .container {position:relative;z-index:2}
.news-embed .original-resource .cat-hero h1 {color:var(--color-white);font-size:var(--h1)}
.news-embed .original-resource .cat-hero h1 em {color:var(--color-key);font-style:italic;font-weight:400}
.news-embed .original-resource .cat-hero .crumb {display:flex;gap:10px;font-size:var(--small);color:var(--color-line);margin-bottom:18px}
.news-embed .original-resource .cat-hero .crumb a {color:var(--color-line)}
.news-embed .original-resource .cat-hero .crumb a:hover {color:var(--color-key)}
.news-embed .original-resource .cat-hero p {color:var(--color-line);font-size:var(--card);max-width:680px;margin-top:18px;font-weight:400}
.news-embed .original-resource .cat-layout {display:grid;grid-template-columns:300px 1fr;gap:48px;align-items:start;}
.news-embed .original-resource .cat-sidebar {position:sticky;top:120px;
  background:var(--color-white);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:28px;box-shadow:var(--shadow-sm);}
.news-embed .original-resource .cat-sidebar h4 {font-size:var(--small);text-transform:uppercase;letter-spacing:.18em;
  color:var(--ink-mute);margin-bottom:14px;font-weight:500;}
.news-embed .original-resource .cat-sidebar h4:not(:first-child) {margin-top:28px}
.news-embed .original-resource .cat-search {width:100%;padding:11px 14px;border:1px solid var(--line);
  border-radius:6px;font-family:inherit;font-size:var(--small);color:var(--color-dark);
  transition:all .2s;}
.news-embed .original-resource .cat-search:focus {outline:none;border-color:var(--color-key);box-shadow:0 0 0 3px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 16%, transparent)}
.news-embed .original-resource .filter-list {list-style:none;padding:0;margin:0;max-height:280px;overflow-y:auto}
.news-embed .original-resource .filter-list::-webkit-scrollbar {width:5px}
.news-embed .original-resource .filter-list::-webkit-scrollbar-thumb {background:var(--navy-200);border-radius:3px}
.news-embed .original-resource .filter-list button {width:100%;text-align:left;padding:9px 12px;font-size:var(--small);
  color:var(--color-muted);border-radius:5px;transition:all .15s;
  display:flex;justify-content:space-between;align-items:center;}
.news-embed .original-resource .filter-list button:hover {background:var(--color-light);color:var(--color-dark)}
.news-embed .original-resource .filter-list button.active {background:var(--color-dark);color:var(--color-white);font-weight:500}
.news-embed .original-resource .filter-list button.active .badge {background:var(--color-key);color:var(--pb-theme-white,var(--color-white))}
.news-embed .original-resource .filter-list .badge {background:var(--color-light);color:var(--color-key);
  font-size:var(--small);padding:2px 9px;border-radius:10px;font-weight:500;}
.news-embed .original-resource .cat-content {min-height:600px}
.news-embed .original-resource .cat-toolbar {display:flex;justify-content:space-between;align-items:center;
  margin-bottom:26px;padding-bottom:20px;border-bottom:1px solid var(--line);
  flex-wrap:wrap;gap:12px;}
.news-embed .original-resource .cat-toolbar .result-count {font-size:var(--body);color:var(--ink-mute)}
.news-embed .original-resource .cat-toolbar .result-count strong {color:var(--color-dark);font-weight:700;font-size:var(--body)}
.news-embed .original-resource .cat-products {display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px;}
@media (max-width:1000px) {
.news-embed .original-resource .cat-layout {grid-template-columns:1fr}
.news-embed .original-resource .cat-sidebar {position:static}
}
/* ============== BRANDS PAGE (Representaciones) ============== */
.news-embed .original-resource .brand-hero {background:linear-gradient(135deg, var(--color-light), var(--color-white));
  padding:80px 0;border-bottom:1px solid var(--line);}
.news-embed .original-resource .brands-grid-big {display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px;}
.news-embed .original-resource .brand-card-big {background:var(--color-white);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:0;cursor:pointer;text-align:center;overflow:hidden;
  transition:all .3s;position:relative;}
.news-embed .original-resource .brand-card-big:hover {transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:transparent}
.news-embed .original-resource .brand-card-big .head {height:140px;
  background:linear-gradient(135deg, var(--color-light), var(--color-white));
  display:flex;align-items:center;justify-content:center;
  border-bottom:1px solid var(--line);
  position:relative;overflow:hidden;}
.news-embed .original-resource .brand-card-big:hover .head {background:linear-gradient(135deg, var(--copper-50), var(--color-white))}
.news-embed .original-resource .brand-card-big .head::before {content:"";position:absolute;inset:0;
  background-image:radial-gradient(circle at 20% 80%, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 8%, transparent), transparent 60%);}
.news-embed .original-resource .brand-card-big .name {font-family:var(--font-main);font-size:var(--h4);color:var(--color-dark);
  font-weight:500;letter-spacing:-.02em;position:relative;z-index:2;}
.news-embed .original-resource .brand-card-big .body {padding:26px 24px}
.news-embed .original-resource .brand-card-big .tagline {font-size:var(--small);color:var(--color-key);letter-spacing:.12em;
  font-weight:500;text-transform:uppercase;margin-bottom:12px;}
.news-embed .original-resource .brand-card-big .desc {font-size:var(--small);color:var(--color-muted);line-height:1.55;margin:0 0 16px;}
.news-embed .original-resource .brand-card-big .link {font-size:var(--small);color:var(--color-key);font-weight:500;
  letter-spacing:.05em;display:inline-flex;gap:6px;align-items:center;}
.news-embed .original-resource .brand-card-big .link::after {content:"→";transition:transform .2s}
.news-embed .original-resource .brand-card-big:hover .link::after {transform:translateX(4px)}
/* ============== SERVICIOS PROFESIONALES ============== */
.news-embed .original-resource .services-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:0;
  background:var(--color-white);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;
  box-shadow:var(--shadow-sm);}
.news-embed .original-resource .service-cell {padding:44px 36px;border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  position:relative;transition:all .3s;}
.news-embed .original-resource .service-cell:hover {background:var(--color-light)}
.news-embed .original-resource .service-cell .icn {width:56px;height:56px;border-radius:14px;
  background:var(--copper-50);color:var(--color-key);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:20px;transition:all .3s;}
.news-embed .original-resource .service-cell:hover .icn {background:var(--color-key);color:var(--pb-theme-white,var(--color-white));transform:rotate(-5deg) scale(1.05)}
.news-embed .original-resource .service-cell .icn svg {width:28px;height:28px}
.news-embed .original-resource .service-cell h3 {font-family:var(--font-main);font-size:var(--card);font-weight:500;
  margin-bottom:10px;letter-spacing:0;color:var(--color-dark);}
.news-embed .original-resource .service-cell p {font-size:var(--small);color:var(--color-muted);margin:0;line-height:1.6}
/* ============== TIMELINE / PROCESS ============== */
.news-embed .original-resource .process {display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative}
.news-embed .original-resource .process-step {position:relative;text-align:center;padding:0 18px;}
.news-embed .original-resource .process-step::after {content:"";position:absolute;top:32px;right:-50%;width:100%;height:1px;
  background:linear-gradient(to right, var(--line), var(--color-key) 50%, var(--line));}
.news-embed .original-resource .process-step:last-child::after {display:none}
.news-embed .original-resource .process-num {width:64px;height:64px;border-radius:50%;
  background:var(--color-white);border:2px solid var(--color-key);
  color:var(--color-key);font-family:var(--font-main);font-size:var(--h5);font-weight:500;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 18px;position:relative;z-index:2;
  transition:all .3s;}
.news-embed .original-resource .process-step:hover .process-num {background:var(--color-key);color:var(--pb-theme-white,var(--color-white));transform:scale(1.1)}
.news-embed .original-resource .process-step h4 {margin-bottom:8px}
.news-embed .original-resource .process-step p {font-size:var(--small);color:var(--ink-mute);margin:0;line-height:1.5}
@media (max-width:880px) {
.news-embed .original-resource .process {grid-template-columns:1fr;gap:32px}
.news-embed .original-resource .process-step::after {display:none}
}
/* ============== TESTIMONIALS / NEWS ============== */
.news-embed .original-resource .news-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;}
.news-embed .original-resource .news-card {background:var(--color-white);border:1px solid var(--line);border-radius:var(--radius-lg);
  overflow:hidden;transition:all .3s;cursor:pointer;
  display:flex;flex-direction:column;}
.news-embed .original-resource .news-card:hover {transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:transparent}
.news-embed .original-resource .news-img {aspect-ratio:16/10;background:var(--color-light);overflow:hidden}
.news-embed .original-resource .news-img img {width:100%;height:100%;object-fit:cover;transition:transform .5s}
.news-embed .original-resource .news-card:hover .news-img img {transform:scale(1.05)}
.news-embed .original-resource .news-body {padding:24px}
.news-embed .original-resource .news-meta {display:flex;gap:12px;font-size:var(--small);color:var(--ink-mute);margin-bottom:10px;letter-spacing:.04em}
.news-embed .original-resource .news-meta .tag {color:var(--color-key);font-weight:700;text-transform:uppercase;letter-spacing:.1em}
.news-embed .original-resource .news-card h3 {font-family:var(--font-main);font-size:var(--card);font-weight:500;margin-bottom:10px;letter-spacing:0;color:var(--color-dark);line-height:1.35}
.news-embed .original-resource .news-card p {font-size:var(--small);color:var(--color-muted);margin:0 0 14px;line-height:1.55}
.news-embed .original-resource .news-card .read {font-size:var(--small);color:var(--color-key);font-weight:500}
/* ============== CTA STRIPE ============== */
.news-embed .original-resource .cta-strip {background:linear-gradient(110deg, var(--color-dark) 0%, var(--navy-700) 100%);
  color:var(--color-white);padding:80px 0;position:relative;overflow:hidden;}
.news-embed .original-resource .cta-strip::before {content:"";position:absolute;right:-80px;top:50%;transform:translateY(-50%);
  width:500px;height:500px;border-radius:50%;
  background:radial-gradient(circle, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 25%, transparent), transparent 70%);}
.news-embed .original-resource .cta-strip::after {content:"";position:absolute;left:-100px;bottom:-100px;
  width:300px;height:300px;border-radius:50%;
  background:radial-gradient(circle, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 20%, transparent), transparent 70%);}
.news-embed .original-resource .cta-strip .container {display:flex;align-items:center;justify-content:space-between;gap:40px;
  flex-wrap:wrap;position:relative;z-index:1;}
.news-embed .original-resource .cta-strip h2 {color:var(--color-white);max-width:660px;margin-bottom:8px}
.news-embed .original-resource .cta-strip h2 em {color:var(--color-key);font-style:italic;font-weight:400}
.news-embed .original-resource .cta-strip p {color:var(--color-line);font-size:var(--body);margin:0;max-width:600px;font-weight:400}
/* ============== CONTACT ============== */
.news-embed .original-resource .contact-layout {display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:start}
.news-embed .original-resource .contact-info-card {background:linear-gradient(135deg, var(--color-dark), var(--navy-700));
  color:var(--color-white);border-radius:var(--radius-lg);padding:42px;
  position:relative;overflow:hidden;}
.news-embed .original-resource .contact-info-card::before {content:"";position:absolute;right:-60px;top:-60px;
  width:200px;height:200px;border-radius:50%;
  background:radial-gradient(circle, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 25%, transparent), transparent 70%);}
.news-embed .original-resource .contact-info-card h3 {color:var(--color-white);font-size:var(--h5);margin-bottom:8px}
.news-embed .original-resource .contact-info-card .sub {color:var(--color-line);font-size:var(--body);margin-bottom:32px;font-weight:400}
.news-embed .original-resource .contact-info-card dl {margin:0;display:grid;gap:24px;position:relative;z-index:2}
.news-embed .original-resource .contact-info-card dt {font-size:var(--small);letter-spacing:.18em;text-transform:uppercase;
  color:var(--color-key);font-weight:500;margin-bottom:6px;
  display:flex;align-items:center;gap:8px;}
.news-embed .original-resource .contact-info-card dt svg {width:14px;height:14px}
.news-embed .original-resource .contact-info-card dd {margin:0;font-size:var(--body);color:var(--color-white);line-height:1.5;font-weight:400}
.news-embed .original-resource .contact-info-card dd a {color:var(--color-white)}
.news-embed .original-resource .contact-info-card dd a:hover {color:var(--color-key)}
.news-embed .original-resource .contact-info-card .social-row {margin-top:36px;padding-top:26px;border-top:1px solid var(--color-line);
  display:flex;gap:12px;}
.news-embed .original-resource .contact-info-card .social-row a {width:40px;height:40px;border-radius:50%;
  background:var(--color-line);
  display:flex;align-items:center;justify-content:center;color:var(--color-white);
  transition:all .25s;}
.news-embed .original-resource .contact-info-card .social-row a:hover {background:var(--color-key);transform:translateY(-2px)}
.news-embed .original-resource .contact-info-card .social-row svg {width:18px;height:18px}
.news-embed .original-resource .contact-form {background:var(--color-white);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:42px;box-shadow:var(--shadow-md);}
.news-embed .original-resource .contact-form h3 {font-family:var(--font-main);font-size:var(--h5);margin-bottom:8px}
.news-embed .original-resource .contact-form p.sub {font-size:var(--body);color:var(--ink-mute);margin:0 0 26px}
.news-embed .original-resource .form-grid {display:grid;grid-template-columns:1fr 1fr;gap:14px}
.news-embed .original-resource .form-grid .full {grid-column:1/-1}
.news-embed .original-resource .field {display:block;margin-bottom:14px}
.news-embed .original-resource .field label {display:block;font-size:var(--small);font-weight:500;color:var(--color-muted);
  margin-bottom:6px;letter-spacing:.02em;}
.news-embed .original-resource .field input, .news-embed .original-resource .field select, .news-embed .original-resource .field textarea {width:100%;padding:12px 14px;border:1px solid var(--line-strong);
  border-radius:6px;font-family:inherit;font-size:var(--small);color:var(--color-dark);
  background:var(--color-white);transition:all .2s;}
.news-embed .original-resource .field input:focus, .news-embed .original-resource .field select:focus, .news-embed .original-resource .field textarea:focus {outline:none;border-color:var(--color-key);box-shadow:0 0 0 3px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 16%, transparent);}
.news-embed .original-resource .field textarea {min-height:120px;resize:vertical}
.news-embed .original-resource .contact-form button {width:100%;background:var(--color-key);color:var(--pb-theme-white,var(--color-white));
  padding:14px;border-radius:6px;font-weight:500;font-size:var(--body);
  transition:all .2s;
  box-shadow:0 4px 14px -2px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 40%, transparent);}
.news-embed .original-resource .contact-form button:hover {background:var(--color-key);transform:translateY(-1px)}
@media (max-width:880px) {
.news-embed .original-resource .contact-layout {grid-template-columns:1fr}
}
/* ============== FOOTER ============== */
.news-embed .original-resource footer.site {background:var(--color-dark);color:var(--color-muted);padding:72px 0 28px;}
.news-embed .original-resource .footer-grid {display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:56px;
  padding-bottom:48px;border-bottom:1px solid var(--color-line);}
.news-embed .original-resource .footer-brand img {height:54px;margin-bottom:22px;filter:brightness(0) invert(1) opacity(.95)}
.news-embed .original-resource .footer-brand p {font-size:var(--small);line-height:1.65;color:var(--color-muted);max-width:340px;margin:0 0 22px}
.news-embed .original-resource .footer-brand .social {display:flex;gap:10px}
.news-embed .original-resource .footer-brand .social a {width:36px;height:36px;border-radius:50%;background:var(--color-line);
  display:flex;align-items:center;justify-content:center;color:var(--color-muted);
  transition:all .25s;}
.news-embed .original-resource .footer-brand .social a:hover {background:var(--color-key);color:var(--pb-theme-white,var(--color-white))}
.news-embed .original-resource .footer-brand .social svg {width:16px;height:16px}
.news-embed .original-resource footer.site h5 {font-family:var(--font-main);font-size:var(--small);letter-spacing:.18em;
  text-transform:uppercase;color:var(--color-white);margin:0 0 18px;font-weight:500;}
.news-embed .original-resource footer.site ul {list-style:none;padding:0;margin:0;display:grid;gap:10px}
.news-embed .original-resource footer.site a {color:var(--color-muted);font-size:var(--small);transition:color .2s}
.news-embed .original-resource footer.site a:hover {color:var(--color-key)}
.news-embed .original-resource .footer-bottom {padding-top:28px;display:flex;justify-content:space-between;
  font-size:var(--small);color:var(--color-muted);flex-wrap:wrap;gap:14px;}
@media (max-width:880px) {
.news-embed .original-resource .footer-grid {grid-template-columns:1fr 1fr;gap:40px}
}
/* ============== VIEW SWITCHING ============== */
.news-embed .original-resource .view {display:block;animation:news-fadeView .5s ease both}
.news-embed .original-resource #view-detalle {display:none}
.news-embed .original-resource .view.active {display:block}
@keyframes news-fadeView {from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
/* ============== MODAL ============== */
.news-embed .original-resource .modal-bg {position:fixed;inset:0;background:color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 65%, transparent);
  display:none;align-items:center;justify-content:center;
  z-index:200;padding:20px;backdrop-filter:blur(6px);}
.news-embed .original-resource .modal-bg.show {display:flex;animation:news-modalFade .25s ease}
@keyframes news-modalFade {from{opacity:0}to{opacity:1}}
.news-embed .original-resource .modal {background:var(--color-white);border-radius:var(--radius-lg);
  max-width:560px;width:100%;padding:42px;box-shadow:var(--shadow-xl);
  position:relative;animation:news-modalSlide .35s cubic-bezier(.4,0,.2,1);}
@keyframes news-modalSlide {from{transform:translateY(30px) scale(.96);opacity:0}to{transform:none;opacity:1}}
.news-embed .original-resource .modal-close {position:absolute;top:14px;right:14px;
  font-size:var(--h5);color:var(--ink-mute);width:38px;height:38px;
  display:flex;align-items:center;justify-content:center;border-radius:50%;
  transition:all .2s;}
.news-embed .original-resource .modal-close:hover {background:var(--color-light);color:var(--color-dark)}
.news-embed .original-resource .modal h3 {font-family:var(--font-main);font-size:var(--h4);margin-bottom:6px}
.news-embed .original-resource .modal p.sub {color:var(--ink-mute);margin:0 0 22px;font-size:var(--small)}
.news-embed .original-resource .modal .product-tag {background:var(--color-light);color:var(--color-key);
  padding:12px 16px;border-radius:6px;font-size:var(--small);
  margin-bottom:22px;border-left:3px solid var(--color-key);font-weight:500;}
/* ============== DETAIL PAGE ============== */
.news-embed .original-resource .detail-hero {background:linear-gradient(135deg, var(--color-light), var(--color-white));
  padding:64px 0 48px;border-bottom:1px solid var(--line);}
.news-embed .original-resource .detail-hero .container {display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.news-embed .original-resource .detail-img-wrap {background:var(--color-white);border:1px solid var(--line);border-radius:var(--radius-lg);
  overflow:hidden;aspect-ratio:1;
  box-shadow:var(--shadow-md);}
.news-embed .original-resource .detail-img-wrap img {width:100%;height:100%;object-fit:cover}
.news-embed .original-resource .detail-info .crumb {font-size:var(--small);color:var(--ink-mute);margin-bottom:18px;
  display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.news-embed .original-resource .detail-info .crumb a {color:var(--ink-mute)}
.news-embed .original-resource .detail-info .crumb a:hover {color:var(--color-key)}
.news-embed .original-resource .detail-info .crumb span.current {color:var(--color-key)}
.news-embed .original-resource .detail-info .brand-pill {display:inline-block;font-size:var(--small);font-weight:500;letter-spacing:.18em;
  text-transform:uppercase;color:var(--pb-theme-white,var(--color-white));background:var(--color-key);
  padding:6px 14px;border-radius:3px;margin-bottom:20px;}
.news-embed .original-resource .detail-info h1 {font-size:var(--h2);margin-bottom:16px}
.news-embed .original-resource .detail-info p.lead {color:var(--color-muted);font-size:var(--card);margin-bottom:28px;line-height:1.7}
.news-embed .original-resource .detail-features {list-style:none;padding:0;margin:0 0 32px;display:grid;gap:12px;}
.news-embed .original-resource .detail-features li {display:flex;align-items:flex-start;gap:12px;font-size:var(--body);color:var(--color-dark);}
.news-embed .original-resource .detail-features li svg {width:20px;height:20px;color:var(--color-key);flex-shrink:0;margin-top:2px;}
.news-embed .original-resource .detail-actions {display:flex;gap:14px;flex-wrap:wrap}
@media (max-width:880px) {
.news-embed .original-resource .detail-hero .container {grid-template-columns:1fr;gap:36px}
}
/* ============== UTILS ============== */
.news-embed .original-resource .no-results {text-align:center;padding:80px 24px;color:var(--ink-mute);
  background:var(--color-white);border:1px dashed var(--line-strong);border-radius:var(--radius-lg);}
.news-embed .original-resource .no-results svg {width:64px;height:64px;color:var(--navy-200);margin:0 auto 16px}
/* ============== ANIMATIONS REVEAL ============== */
.news-embed .original-resource .reveal {opacity:0;transform:translateY(30px);transition:all .8s cubic-bezier(.4,0,.2,1)}
.news-embed .original-resource .reveal.visible {opacity:1;transform:none}
/* ============================================================
   SISTEMA DE SECCIONES PARALLAX · actualizado
   Fondo full screen por sección, respetando el .container interno.
   Se eliminaron los chips/etiquetas de tipo de sección.
   ============================================================ */
.news-embed .original-resource .parallax-section {position:relative;
  isolation:isolate;
  overflow:hidden;
  background-color:transparent;}
.news-embed .original-resource .parallax-section > .section-parallax-bg {position:absolute;
  top:-24%;
  bottom:-24%;
  left:50%;
  width:100vw;
  margin-left:-50vw;
  z-index:0;
  pointer-events:none;
  opacity:.92;
  transform:translate3d(0,0,0) scale(1.08);
  will-change:transform;
  background:
    radial-gradient(circle at 15% 20%, transparent, transparent 34%),
    radial-gradient(circle at 88% 22%, transparent, transparent 32%),
    linear-gradient(135deg, var(--color-white), var(--color-white));}
.news-embed .original-resource .parallax-section.parallax-dark > .section-parallax-bg {opacity:.82;
  background:
    radial-gradient(circle at 18% 24%, transparent, transparent 34%),
    radial-gradient(circle at 88% 18%, transparent, transparent 36%),
    linear-gradient(135deg, var(--color-dark), var(--color-dark));}
.news-embed .original-resource .parallax-section.parallax-tinted > .section-parallax-bg {opacity:.96;
  background:
    radial-gradient(circle at 16% 18%, transparent, transparent 30%),
    radial-gradient(circle at 84% 22%, transparent, transparent 30%),
    linear-gradient(135deg, var(--color-white), var(--color-light));}
.news-embed .original-resource .parallax-section.parallax-catalog > .section-parallax-bg {opacity:.86;
  background:
    radial-gradient(circle at 80% 20%, transparent, transparent 40%),
    radial-gradient(circle at 20% 78%, transparent, transparent 36%),
    linear-gradient(135deg, var(--color-dark), var(--color-dark));}
.news-embed .original-resource .parallax-section.parallax-carded > .section-parallax-bg {opacity:.94;
  background:
    radial-gradient(circle at 14% 22%, transparent, transparent 28%),
    radial-gradient(circle at 82% 16%, transparent, transparent 30%),
    linear-gradient(135deg, var(--color-white), var(--color-white));}
.news-embed .original-resource .parallax-section.parallax-hero > .section-parallax-bg {display:none;}
.news-embed .original-resource .parallax-section > .container, .news-embed .original-resource .parallax-section > .hero-slide, .news-embed .original-resource .parallax-section > .hero-floating, .news-embed .original-resource .parallax-section > .hero-nav, .news-embed .original-resource .parallax-section > .marquee-track, .news-embed .original-resource .parallax-section > .cat-hero, .news-embed .original-resource .parallax-section > .detail-hero {position:relative;
  z-index:2;}
.news-embed .original-resource .parallax-section > .container {max-width:var(--container);}
.news-embed .original-resource .section-type-chip {display:none !important;}
.news-embed .original-resource .parallax-section.block, .news-embed .original-resource .parallax-section.stats-bar, .news-embed .original-resource .parallax-section.cta-strip {transform:translateZ(0);}
@media (prefers-reduced-motion:reduce) {
.news-embed .original-resource .parallax-section > .section-parallax-bg {transform:none!important;will-change:auto}
}
/* ============================================================
   AJUSTE SOLICITADO · sin topbar / sin header / vistas full screen
   Se oculta la franja superior y la navegación original.
   Cada vista principal ocupa al menos el alto completo de la pantalla,
   preservando el ancho y la forma de sus contenedores internos.
   ============================================================ */
.news-embed .original-resource .topbar, .news-embed .original-resource header.site, .news-embed .original-resource #menu-overlay {display:none !important;}
.news-embed .original-resource .hero {height:100svh;
  min-height:100svh;}
.news-embed .original-resource .marquee-section, .news-embed .original-resource section.block, .news-embed .original-resource .stats-bar, .news-embed .original-resource .cta-strip, .news-embed .original-resource .cat-hero, .news-embed .original-resource .detail-hero {min-height:100svh;
  display:flex;
  align-items:center;}
.news-embed .original-resource .marquee-section > .container, .news-embed .original-resource section.block > .container, .news-embed .original-resource .stats-bar > .container, .news-embed .original-resource .cta-strip > .container, .news-embed .original-resource .cat-hero > .container, .news-embed .original-resource .detail-hero > .container {width:100%;}
.news-embed .original-resource .marquee-section {padding:64px 0;}
.news-embed .original-resource section.block, .news-embed .original-resource .stats-bar, .news-embed .original-resource .cta-strip, .news-embed .original-resource .cat-hero, .news-embed .original-resource .detail-hero {padding-top:clamp(72px, 9vh, 112px);
  padding-bottom:clamp(72px, 9vh, 112px);}
.news-embed .original-resource section.block.tight {min-height:72svh;}
.news-embed .original-resource .view > .cat-hero + section.block {border-top:1px solid var(--color-line);}
@media (max-width: 1100px) {
.news-embed .original-resource .hero, .news-embed .original-resource .marquee-section, .news-embed .original-resource section.block, .news-embed .original-resource .stats-bar, .news-embed .original-resource .cta-strip, .news-embed .original-resource .cat-hero, .news-embed .original-resource .detail-hero {min-height:100svh;}
}
@media (max-width: 880px) {
.news-embed .original-resource .marquee-section, .news-embed .original-resource section.block, .news-embed .original-resource .stats-bar, .news-embed .original-resource .cta-strip, .news-embed .original-resource .cat-hero, .news-embed .original-resource .detail-hero {align-items:center;
    padding-top:64px;
    padding-bottom:64px;}
}
/* ============================================================
   AJUSTES FINALES · banner full screen / marquee centrado /
   una sola fila en categorías y destacados
   ============================================================ */
.news-embed .original-resource .hero {height:100vh !important;
  min-height:100vh !important;}
.news-embed .original-resource .hero-content {min-height:100vh;}
.news-embed .original-resource .marquee-section {display:flex !important;
  flex-direction:column !important;
  justify-content:center;
  align-items:center;}
.news-embed .original-resource .marquee-section > .container {width:100%;
  display:flex;
  justify-content:center;}
.news-embed .original-resource .marquee-label {width:max-content;
  max-width:100%;
  margin:0 auto 26px;
  text-align:center;
  white-space:nowrap;}
.news-embed .original-resource .marquee-track {max-width:none;}
.news-embed .original-resource .spec-grid {grid-template-columns:repeat(5, minmax(0, 1fr));}
.news-embed .original-resource .featured-grid {grid-template-columns:repeat(4, minmax(0, 1fr));}
@media (max-width: 1400px) {
.news-embed .original-resource .spec-grid {grid-template-columns:repeat(5, minmax(190px, 1fr));}
.news-embed .original-resource .featured-grid {grid-template-columns:repeat(4, minmax(240px, 1fr));}
}
@media (max-width: 1100px) {
.news-embed .original-resource .marquee-label {white-space:normal;
    line-height:1.5;
    text-wrap:balance;}
.news-embed .original-resource .spec-grid {grid-template-columns:repeat(3, minmax(0, 1fr));}
.news-embed .original-resource .featured-grid {grid-template-columns:repeat(2, minmax(0, 1fr));}
}
@media (max-width: 760px) {
.news-embed .original-resource .hero, .news-embed .original-resource .hero-content {height:100svh !important;
    min-height:100svh !important;}
.news-embed .original-resource .marquee-label {white-space:normal;}
.news-embed .original-resource .spec-grid, .news-embed .original-resource .featured-grid {grid-template-columns:1fr;}
}
/* ============================================================
   CORRECCIÓN FINAL · una sola página y banner funcional
   ============================================================ */
.news-embed .original-resource .view, .news-embed .original-resource .view.active {display:block !important;}
.news-embed .original-resource #view-detalle:empty, .news-embed .original-resource #view-detalle {display:none !important;}
.news-embed .original-resource #hero-slider.hero {width:100%;
  height:100vh !important;
  min-height:100vh !important;
  max-height:none !important;
  padding:0 !important;
  background:var(--color-dark);}
.news-embed .original-resource #hero-slider .hero-slide {position:absolute;
  inset:0;
  opacity:0;
  visibility:hidden;
  z-index:0;
  pointer-events:none;
  transition:opacity .85s ease, visibility .85s ease;}
.news-embed .original-resource #hero-slider .hero-slide.active {opacity:1;
  visibility:visible;
  z-index:2;
  pointer-events:auto;}
.news-embed .original-resource #hero-slider .hero-bg, .news-embed .original-resource #hero-slider .hero-overlay, .news-embed .original-resource #hero-slider .hero-grid-overlay, .news-embed .original-resource #hero-slider .hero-content {position:absolute;
  inset:0;
  width:100%;
  height:100%;
  min-height:100vh;}
.news-embed .original-resource #hero-slider .hero-content {z-index:3;
  display:flex;
  align-items:center;}
.news-embed .original-resource #hero-slider .hero-bg {background-size:cover !important;
  background-position:center !important;}
.news-embed .original-resource #hero-slider .hero-slide.active .hero-bg {transform:scale(1);}
.news-embed .original-resource .marquee-section {min-height:100vh;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:30px;}
.news-embed .original-resource .marquee-section > .container {max-width:none !important;
  width:100% !important;
  padding:0 28px !important;
  display:flex;
  justify-content:center;}
.news-embed .original-resource .marquee-label {display:block;
  width:max-content;
  max-width:calc(100vw - 56px);
  margin:0 auto !important;
  text-align:center !important;
  white-space:nowrap !important;
  line-height:1.2;}
.news-embed .original-resource .marquee-track {align-self:flex-start;}
.news-embed .original-resource #view-inicio .spec-grid {grid-template-columns:repeat(5, minmax(0, 1fr)) !important;}
.news-embed .original-resource #view-inicio #featured-grid {grid-template-columns:repeat(4, minmax(0, 1fr)) !important;}
@media (max-width:1100px) {
.news-embed .original-resource #view-inicio .spec-grid {grid-template-columns:repeat(3, minmax(0,1fr)) !important;}
.news-embed .original-resource #view-inicio #featured-grid {grid-template-columns:repeat(2, minmax(0,1fr)) !important;}
}
@media (max-width:760px) {
.news-embed .original-resource #hero-slider.hero {height:100svh !important;min-height:100svh !important;}
.news-embed .original-resource .marquee-label {white-space:normal !important;}
.news-embed .original-resource #view-inicio .spec-grid, .news-embed .original-resource #view-inicio #featured-grid {grid-template-columns:1fr !important;}
}
/* ============================================================
   AJUSTE HERO NAV · centrado abajo
   Corrige el override del sistema parallax.
   ============================================================ */
.news-embed .original-resource #hero-slider.hero.parallax-section > .hero-nav, .news-embed .original-resource #hero-slider .hero-nav {position:absolute !important;
  left:50% !important;
  right:auto !important;
  top:auto !important;
  bottom:24px !important;
  transform:translateX(-50%) !important;
  display:flex !important;
  align-items:center;
  justify-content:center;
  gap:24px;
  width:auto;
  margin:0;
  z-index:8;}
.news-embed .original-resource #hero-slider .hero-dot {flex:0 0 auto;}
@media (max-width: 760px) {
.news-embed .original-resource #hero-slider.hero.parallax-section > .hero-nav, .news-embed .original-resource #hero-slider .hero-nav {bottom:18px !important;
    gap:18px;}
}
/* ============================================================
   SECCIONES IMPORTADAS DESDE INDEX · adaptadas al estilo P07
   ============================================================ */
.news-embed .original-resource .imported-section .section-head {margin-bottom:48px;}
.news-embed .original-resource .p07-gallery {display:grid;
  grid-template-columns:repeat(4,1fr);
  grid-auto-rows:180px;
  gap:18px;}
.news-embed .original-resource .p07-gallery-item {border:1px solid var(--line);
  border-radius:var(--radius-lg);
  background:
    linear-gradient(135deg, var(--color-dark), var(--color-line)),
    radial-gradient(circle at 80% 20%, transparent, transparent 48%);
  color:var(--color-white);
  min-height:180px;
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  padding:24px;
  overflow:hidden;
  position:relative;
  transition:all .28s ease;
  box-shadow:var(--shadow-sm);}
.news-embed .original-resource .p07-gallery-item::before {content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, transparent, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 20%, transparent));
  opacity:0;
  transition:opacity .28s ease;}
.news-embed .original-resource .p07-gallery-item:hover {transform:translateY(-4px);
  box-shadow:var(--shadow-lg);}
.news-embed .original-resource .p07-gallery-item:hover::before {opacity:1}
.news-embed .original-resource .p07-gallery-item span {position:relative;
  z-index:2;
  font-family:var(--font-main);
  font-size:var(--h4);}
.news-embed .original-resource .p07-gallery-item.tall {grid-row:span 2}
.news-embed .original-resource .p07-gallery-item.wide {grid-column:span 2}
.news-embed .original-resource .p07-accordion {background:var(--color-white);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--shadow-sm);}
.news-embed .original-resource .p07-accordion-item + .p07-accordion-item {border-top:1px solid var(--line)}
.news-embed .original-resource .p07-accordion-item button {width:100%;
  padding:26px 30px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  color:var(--color-dark);
  font-size:var(--card);
  font-weight:700;
  text-align:left;}
.news-embed .original-resource .p07-accordion-item button span {color:var(--color-key);
  font-size:var(--h5);
  line-height:1;
  transition:transform .25s ease;}
.news-embed .original-resource .p07-accordion-content {max-height:0;
  overflow:hidden;
  transition:max-height .32s ease;}
.news-embed .original-resource .p07-accordion-content p {margin:0;
  padding:0 30px 26px;
  color:var(--color-muted);
  max-width:760px;}
.news-embed .original-resource .p07-accordion-item.open .p07-accordion-content {max-height:180px}
.news-embed .original-resource .p07-accordion-item.open button span {transform:rotate(45deg)}
.news-embed .original-resource .p07-tabs {background:var(--color-white);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--shadow-md);}
.news-embed .original-resource .p07-tab-buttons {display:grid;
  grid-template-columns:repeat(3,1fr);
  border-bottom:1px solid var(--line);}
.news-embed .original-resource .p07-tab-buttons button {padding:18px 22px;
  color:var(--color-dark);
  font-weight:700;
  border-right:1px solid var(--line);}
.news-embed .original-resource .p07-tab-buttons button:last-child {border-right:none}
.news-embed .original-resource .p07-tab-buttons button.active {background:var(--color-dark);
  color:var(--color-white);}
.news-embed .original-resource .p07-tab-panel {display:none;
  padding:38px;}
.news-embed .original-resource .p07-tab-panel.active {display:block}
.news-embed .original-resource .p07-tab-panel h3 {font-family:var(--font-main);
  font-size:var(--h3);
  margin-bottom:12px;}
.news-embed .original-resource .p07-tab-panel p {color:var(--color-muted);
  max-width:820px;
  margin:0;}
.news-embed .original-resource .p07-benefit-grid, .news-embed .original-resource .p07-pricing {display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;}
.news-embed .original-resource .p07-benefit-grid article, .news-embed .original-resource .p07-pricing article, .news-embed .original-resource .p07-testimonials article {background:var(--color-white);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:32px;
  box-shadow:var(--shadow-sm);}
.news-embed .original-resource .p07-benefit-grid article span {color:var(--color-key);
  font-weight:700;
  letter-spacing:.12em;}
.news-embed .original-resource .p07-benefit-grid article h3, .news-embed .original-resource .p07-pricing article h3 {font-family:var(--font-main);
  font-size:var(--card);
  margin:18px 0 10px;}
.news-embed .original-resource .p07-benefit-grid article p, .news-embed .original-resource .p07-pricing article p {color:var(--color-muted);
  margin:0;}
.news-embed .original-resource .p07-testimonials {display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;}
.news-embed .original-resource .p07-testimonials article {background:linear-gradient(135deg, var(--color-white), var(--color-light));}
.news-embed .original-resource .p07-testimonials p {font-family:var(--font-main);
  font-size:var(--h4);
  line-height:1.28;
  color:var(--color-dark);
  margin:0 0 24px;}
.news-embed .original-resource .p07-testimonials strong {display:block;
  color:var(--color-key);
  font-weight:700;
  margin-bottom:4px;}
.news-embed .original-resource .p07-testimonials span {color:var(--ink-mute);
  font-size:var(--small);}
.news-embed .original-resource .p07-pricing article {min-height:330px;
  display:flex;
  flex-direction:column;}
.news-embed .original-resource .p07-pricing article strong {display:block;
  font-family:var(--font-main);
  font-size:var(--h2);
  color:var(--color-dark);
  margin:12px 0;}
.news-embed .original-resource .p07-pricing article.featured {background:linear-gradient(135deg, var(--color-dark), var(--navy-700));
  color:var(--color-white);
  transform:translateY(-12px);
  box-shadow:var(--shadow-lg);}
.news-embed .original-resource .p07-pricing article.featured h3, .news-embed .original-resource .p07-pricing article.featured strong {color:var(--color-white)}
.news-embed .original-resource .p07-pricing article.featured p {color:var(--color-line)}
.news-embed .original-resource .p07-pricing article button {margin-top:auto;
  width:100%;
  padding:13px;
  border-radius:6px;
  font-weight:700;}
.news-embed .original-resource .p07-before-after {height:440px;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  overflow:hidden;
  position:relative;
  background:var(--color-dark);
  box-shadow:var(--shadow-md);}
.news-embed .original-resource .p07-before, .news-embed .original-resource .p07-after {position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  font-family:var(--font-main);
  font-size:var(--h1);
  color:var(--color-white);
  font-weight:500;}
.news-embed .original-resource .p07-before {background:
    linear-gradient(135deg, var(--color-dark), var(--color-dark)),
    radial-gradient(circle at 15% 20%, transparent, transparent 42%);}
.news-embed .original-resource .p07-after {width:50%;
  overflow:hidden;
  background:
    linear-gradient(135deg, var(--color-muted), var(--color-muted));
  color:var(--color-dark);}
.news-embed .original-resource .p07-before-after input {position:absolute;
  left:50%;
  bottom:28px;
  transform:translateX(-50%);
  width:min(560px,82%);
  accent-color:var(--color-key);
  z-index:4;}
.news-embed .original-resource .p07-depth-section {background:var(--color-dark);}
.news-embed .original-resource .p07-depth-banner {min-height:420px;
  border:1px solid var(--color-line);
  border-radius:var(--radius-lg);
  position:relative;
  overflow:hidden;
  display:grid;
  place-items:center;
  text-align:center;
  padding:50px;
  background:linear-gradient(135deg, var(--color-dark), var(--color-dark));}
.news-embed .original-resource .p07-depth-shape {position:absolute;
  width:460px;
  height:460px;
  border-radius:50%;
  background:radial-gradient(circle, transparent, transparent 64%);
  opacity:.7;}
.news-embed .original-resource .p07-depth-banner h2 {position:relative;
  z-index:2;
  color:var(--color-white);
  max-width:820px;}
.news-embed .original-resource .p07-depth-banner h2 em {color:var(--color-key);
  font-style:italic;
  font-weight:400;}
.news-embed .original-resource .p07-depth-banner p {position:relative;
  z-index:2;
  color:var(--color-line);
  max-width:680px;
  margin:20px auto 0;}
.news-embed .original-resource .p07-lightbox {position:fixed;
  inset:0;
  z-index:250;
  display:none;
  place-items:center;
  background:var(--color-dark);
  backdrop-filter:blur(8px);
  padding:24px;}
.news-embed .original-resource .p07-lightbox.open {display:grid}
.news-embed .original-resource .p07-lightbox button {position:absolute;
  top:22px;
  right:22px;
  width:44px;
  height:44px;
  border-radius:50%;
  background:var(--color-white);
  color:var(--color-dark);
  font-size:var(--h4);
  line-height:1;
  box-shadow:var(--shadow-md);}
.news-embed .original-resource .p07-lightbox-content {width:min(860px,100%);
  min-height:520px;
  border-radius:var(--radius-lg);
  display:grid;
  place-items:center;
  text-align:center;
  padding:40px;
  color:var(--color-white);
  font-family:var(--font-main);
  font-size:var(--h1);
  background:
    linear-gradient(135deg, var(--color-dark), var(--color-dark)),
    radial-gradient(circle at 70% 30%, transparent, transparent 48%);
  box-shadow:var(--shadow-xl);}
@media (max-width:1100px) {
.news-embed .original-resource .p07-gallery {grid-template-columns:1fr 1fr}
.news-embed .original-resource .p07-benefit-grid, .news-embed .original-resource .p07-pricing {grid-template-columns:1fr}
.news-embed .original-resource .p07-pricing article.featured {transform:none}
}
@media (max-width:760px) {
.news-embed .original-resource .p07-gallery, .news-embed .original-resource .p07-testimonials, .news-embed .original-resource .p07-tab-buttons {grid-template-columns:1fr}
.news-embed .original-resource .p07-gallery-item.tall, .news-embed .original-resource .p07-gallery-item.wide {grid-column:auto;grid-row:auto}
.news-embed .original-resource .p07-tab-buttons button {border-right:none;border-bottom:1px solid var(--line)}
.news-embed .original-resource .p07-tab-buttons button:last-child {border-bottom:none}
.news-embed .original-resource .p07-before-after {height:340px}
}
/* ============================================================
   SECCIONES FALTANTES DESDE INDEX · adaptadas al estilo P07
   Carrusel / catálogo filtrable / timeline vertical
   ============================================================ */
.news-embed .original-resource .p07-index-carousel {position:relative;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  background:var(--color-white);
  box-shadow:var(--shadow-md);}
.news-embed .original-resource .p07-index-carousel-track {display:flex;
  transition:transform .5s cubic-bezier(.4,0,.2,1);}
.news-embed .original-resource .p07-index-slide {min-width:100%;
  display:grid;
  grid-template-columns:1.1fr .9fr;
  min-height:420px;
  background:
    linear-gradient(135deg, var(--color-white), var(--color-light));}
.news-embed .original-resource .p07-index-slide-copy {padding:52px;
  display:flex;
  flex-direction:column;
  justify-content:center;}
.news-embed .original-resource .p07-index-slide-copy small {color:var(--color-key);
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:700;}
.news-embed .original-resource .p07-index-slide-copy h3 {font-size:var(--h1);
  margin:16px 0 18px;
  max-width:760px;}
.news-embed .original-resource .p07-index-slide-copy p {color:var(--color-muted);
  font-size:var(--body);
  max-width:640px;
  margin:0;}
.news-embed .original-resource .p07-index-slide-visual {position:relative;
  min-height:420px;
  display:grid;
  place-items:center;
  padding:42px;
  overflow:hidden;
  color:var(--color-white);
  background:
    linear-gradient(135deg, var(--color-dark), var(--color-dark)),
    radial-gradient(circle at 70% 24%, transparent, transparent 46%);}
.news-embed .original-resource .p07-index-slide-visual::before {content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 5%, transparent) 1px, transparent 1px),
    linear-gradient(90deg, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 5%, transparent) 1px, transparent 1px);
  background-size:46px 46px;
  opacity:.55;}
.news-embed .original-resource .p07-index-slide-visual span {position:relative;
  z-index:2;
  font-family:var(--font-main);
  font-size:var(--h1);
  line-height:.95;
  text-align:center;
  color:var(--color-white);}
.news-embed .original-resource .p07-index-carousel-controls {position:absolute;
  right:24px;
  bottom:24px;
  display:flex;
  gap:10px;
  z-index:8;}
.news-embed .original-resource .p07-index-carousel-controls button {width:44px;
  height:44px;
  border-radius:50%;
  background:var(--color-key);
  color:var(--pb-theme-white,var(--color-white));
  font-weight:700;
  box-shadow:0 8px 24px -10px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 70%, transparent);}
.news-embed .original-resource .p07-index-carousel-controls button:hover {background:var(--color-key);}
.news-embed .original-resource .p07-index-carousel-dots {position:absolute;
  left:52px;
  bottom:32px;
  display:flex;
  gap:10px;
  z-index:8;}
.news-embed .original-resource .p07-index-carousel-dots button {width:34px;
  height:4px;
  border-radius:20px;
  background:var(--navy-200);
  transition:all .25s ease;}
.news-embed .original-resource .p07-index-carousel-dots button.active {width:54px;
  background:var(--color-key);}
.news-embed .original-resource .p07-index-catalog-tools {display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
  margin-bottom:24px;}
.news-embed .original-resource .p07-index-catalog-tools input {flex:1;
  min-width:min(100%,360px);
  padding:14px 16px;
  border:1px solid var(--line-strong);
  border-radius:7px;
  color:var(--color-dark);
  background:var(--color-white);
  box-shadow:var(--shadow-sm);}
.news-embed .original-resource .p07-index-catalog-tools input:focus {outline:none;
  border-color:var(--color-key);
  box-shadow:0 0 0 3px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 16%, transparent);}
.news-embed .original-resource .p07-index-catalog-filters {display:flex;
  gap:10px;
  flex-wrap:wrap;}
.news-embed .original-resource .p07-index-catalog-filter {padding:12px 16px;
  border-radius:7px;
  border:1px solid var(--line-strong);
  background:var(--color-white);
  color:var(--color-dark);
  font-weight:700;
  transition:all .2s ease;}
.news-embed .original-resource .p07-index-catalog-filter.active, .news-embed .original-resource .p07-index-catalog-filter:hover {background:var(--color-dark);
  color:var(--color-white);
  border-color:var(--color-dark);}
.news-embed .original-resource .p07-index-catalog-grid {display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;}
.news-embed .original-resource .p07-index-catalog-card {background:var(--color-white);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:30px;
  min-height:240px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  box-shadow:var(--shadow-sm);
  transition:all .25s ease;}
.news-embed .original-resource .p07-index-catalog-card:hover {transform:translateY(-4px);
  box-shadow:var(--shadow-lg);}
.news-embed .original-resource .p07-index-catalog-card small {color:var(--color-key);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:700;}
.news-embed .original-resource .p07-index-catalog-card h3 {font-family:var(--font-main);
  font-size:var(--card);
  letter-spacing:0;
  margin:12px 0 8px;}
.news-embed .original-resource .p07-index-catalog-card p {color:var(--color-muted);
  margin:0;}
.news-embed .original-resource .p07-index-catalog-card button {margin-top:22px;
  width:100%;
  padding:12px;
  border-radius:6px;
  background:var(--color-dark);
  color:var(--color-white);
  font-weight:700;}
.news-embed .original-resource .p07-index-catalog-card button:hover {background:var(--color-key);}
.news-embed .original-resource .p07-vertical-timeline {position:relative;
  display:grid;
  gap:0;
  max-width:980px;}
.news-embed .original-resource .p07-vertical-timeline::before {content:"";
  position:absolute;
  left:35px;
  top:0;
  bottom:0;
  width:1px;
  background:linear-gradient(to bottom, var(--color-key), var(--line-strong));}
.news-embed .original-resource .p07-vertical-step {position:relative;
  display:grid;
  grid-template-columns:86px 1fr;
  gap:26px;
  min-height:170px;
  padding-bottom:34px;}
.news-embed .original-resource .p07-vertical-step:last-child {padding-bottom:0}
.news-embed .original-resource .p07-vertical-num {width:70px;
  height:70px;
  border-radius:50%;
  border:2px solid var(--color-key);
  background:var(--color-white);
  color:var(--color-key);
  display:grid;
  place-items:center;
  font-family:var(--font-main);
  font-size:var(--h5);
  font-weight:700;
  z-index:2;
  box-shadow:0 0 0 10px var(--bg);}
.news-embed .original-resource .p07-vertical-copy {background:var(--color-white);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:30px 32px;
  box-shadow:var(--shadow-sm);}
.news-embed .original-resource .p07-vertical-copy h3 {font-family:var(--font-main);
  font-size:var(--card);
  letter-spacing:0;
  margin-bottom:8px;}
.news-embed .original-resource .p07-vertical-copy p {color:var(--color-muted);
  margin:0;
  max-width:760px;}
@media (max-width:1100px) {
.news-embed .original-resource .p07-index-slide {grid-template-columns:1fr;}
.news-embed .original-resource .p07-index-catalog-grid {grid-template-columns:1fr 1fr;}
}
@media (max-width:760px) {
.news-embed .original-resource .p07-index-slide-copy {padding:34px;}
.news-embed .original-resource .p07-index-slide-visual {min-height:260px;}
.news-embed .original-resource .p07-index-carousel-dots {left:34px;
    bottom:24px;}
.news-embed .original-resource .p07-index-catalog-grid {grid-template-columns:1fr;}
.news-embed .original-resource .p07-vertical-step {grid-template-columns:64px 1fr;
    gap:18px;}
.news-embed .original-resource .p07-vertical-timeline::before {left:27px;}
.news-embed .original-resource .p07-vertical-num {width:56px;
    height:56px;
    font-size:var(--card);}
.news-embed .original-resource .p07-vertical-copy {padding:24px;}
}
/* ============================================================
   AJUSTE SOLICITADO · una sola sección de título debajo del banner
   Se retiraron las cabeceras de título/texto del resto de secciones.
   ============================================================ */
.news-embed .original-resource #intro-unica-post-banner {min-height:52svh !important;
  text-align:center;}
.news-embed .original-resource #intro-unica-post-banner .section-head {margin:0 auto !important;
  max-width:860px;}
.news-embed .original-resource #intro-unica-post-banner .section-head h2 {margin-bottom:18px;}
.news-embed .original-resource #intro-unica-post-banner .section-head p {margin-left:auto;
  margin-right:auto;}
/* ============================================================
   AJUSTE · prompts por sección + estadísticas en azul documento
   ============================================================ */
.news-embed .original-resource .chatgpt-prompt-copy {border-top:1px solid var(--color-key);
  padding:20px 22px 22px;
  color:var(--color-muted);
  font-size:var(--small);
  line-height:1.65;
  white-space:pre-line;}
.news-embed .original-resource .chatgpt-prompt-copy strong {color:var(--color-dark);
  font-weight:700;}
.news-embed .original-resource .chatgpt-prompt-container {width:100%;
  position:relative;
  z-index:2;}
.news-embed .original-resource .dark .chatgpt-section-prompt, .news-embed .original-resource .cta-strip .chatgpt-section-prompt, .news-embed .original-resource .p07-depth-section .chatgpt-section-prompt, .news-embed .original-resource .parallax-dark .chatgpt-section-prompt {background:var(--color-white);
  border-color:var(--color-line);}
.news-embed .original-resource .stats-bar.stats-blue-text {background:linear-gradient(135deg, var(--color-white) 0%, var(--color-light) 100%);
  color:var(--color-dark);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);}
.news-embed .original-resource .stats-bar.stats-blue-text::before {background-image:
    radial-gradient(circle at 18% 30%, transparent, transparent 38%),
    radial-gradient(circle at 82% 70%, transparent, transparent 48%);}
.news-embed .original-resource .stats-bar.stats-blue-text .stats-grid {border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);}
.news-embed .original-resource .stats-bar.stats-blue-text .stat-item {border-right:1px solid var(--line);}
.news-embed .original-resource .stats-bar.stats-blue-text .stat-item:last-child {border-right:none}
.news-embed .original-resource .stats-bar.stats-blue-text .stat-num {background:none;
  -webkit-background-clip:initial;
  background-clip:initial;
  -webkit-text-fill-color:var(--color-dark);
  color:var(--color-dark);}
.news-embed .original-resource .stats-bar.stats-blue-text .stat-label {color:var(--navy-700);}
@media (max-width:760px) {
.news-embed .original-resource .stats-bar.stats-blue-text .stat-item {border-right:none;
    border-bottom:1px solid var(--line);}
}
/* ===============================
   CORRECCIÓN: CADA SECCIÓN COMO FICHA DEL MAESTRO
================================ */
.news-embed .template-demo {overflow:hidden;
  background:var(--color-white);}
.news-embed .resource-demo {width:100%;
  background:var(--color-light);
  color:var(--color-dark);
  overflow:hidden;}
.news-embed .resource-demo > .topbar {display:block !important;
  position:relative !important;
  top:auto !important;
  z-index:1 !important;}
.news-embed .resource-demo > header.site {display:block !important;
  position:relative !important;
  top:auto !important;
  z-index:2 !important;}
.news-embed .resource-demo > .menu-overlay {display:none !important;}
.news-embed .resource-demo .view {display:block !important;
  animation:none !important;}
.news-embed .resource-demo #view-detalle:empty {display:none !important;}
.news-embed .resource-demo .modal-bg.demo-modal-visible {position:relative !important;
  inset:auto !important;
  display:flex !important;
  min-height:620px !important;
  background:color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 65%, transparent) !important;
  z-index:1 !important;}
.news-embed .resource-demo .modal-bg.demo-modal-visible .modal {margin:auto !important;}
.news-embed .resource-demo .modal-bg.demo-modal-visible .modal-close {position:absolute !important;}
.news-embed .template-demo .hero, .news-embed .template-demo .hero-content {min-height:720px !important;
  height:720px !important;}
.news-embed .template-demo .marquee-section, .news-embed .template-demo section.block, .news-embed .template-demo .stats-bar, .news-embed .template-demo .cta-strip, .news-embed .template-demo .cat-hero, .news-embed .template-demo .detail-hero {min-height:auto !important;}
.news-embed .template-demo section.block, .news-embed .template-demo .stats-bar, .news-embed .template-demo .cta-strip, .news-embed .template-demo .cat-hero, .news-embed .template-demo .detail-hero {padding-top:72px !important;
  padding-bottom:72px !important;}
.news-embed .template-demo section.block.tight {padding-top:56px !important;
  padding-bottom:56px !important;}
.news-embed .template-demo .marquee-section {padding-top:56px !important;
  padding-bottom:56px !important;}
.news-embed .template-demo .p07-lightbox {display:none;}
@media (max-width: 900px) {
.news-embed .template-demo .hero, .news-embed .template-demo .hero-content {min-height:620px !important;
    height:auto !important;}
}
/* Limpieza formato master: los demos ya no muestran prompts internos del archivo fuente */
.news-embed .template-demo .chatgpt-section-prompt, .news-embed .template-demo .chatgpt-prompt-container {display: none !important;}
.news-embed .template-demo img {object-fit: cover;}
/* Imagen de referencia aplicada a todos los espacios visuales */
.news-embed .product-img, .news-embed .news-img, .news-embed .detail-img-wrap, .news-embed .p07-gallery-item, .news-embed .p07-before, .news-embed .p07-after, .news-embed .template-demo .media, .news-embed .template-demo .visual, .news-embed .template-demo .image, .news-embed .template-demo .photo {overflow: hidden;}
.news-embed img[data-reference-image="true"], .news-embed .product-img img, .news-embed .news-img img, .news-embed .detail-img-wrap img {width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;}
.news-embed .p07-gallery-item, .news-embed .p07-before, .news-embed .p07-after {background-image:
    linear-gradient(180deg, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 18%, transparent), color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 42%, transparent)),
    url("../images/demo-landscape.webp") !important;
  background-size: cover !important;
  background-position: center center !important;}
/* ============================================================
   OVERRIDE FINAL · Estilo Formato master
   Aplica Inter y la paleta master a todos los demos importados.
   ============================================================ */
.news-embed .original-resource, .news-embed .original-resource * {font-family: var(--font-main) !important;}
.news-embed .original-resource {--navy-950: var(--color-dark) !important;
  --navy-900: var(--color-dark) !important;
  --navy-800: var(--color-dark) !important;
  --navy-700: var(--color-key) !important;
  --navy-600: var(--color-key) !important;
  --navy-500: var(--color-key) !important;
  --navy-400: var(--color-key) !important;
  --navy-300: var(--color-dark) !important;
  --navy-200: var(--color-dark) !important;
  --navy-100: var(--color-light) !important;
  --navy-50: var(--color-light) !important;
  --copper: var(--color-key) !important;
  --copper-light: var(--color-key) !important;
  --copper-dark: var(--color-key) !important;
  --copper-50: var(--color-key) !important;
  --bg: var(--color-light) !important;
  --paper: var(--color-white) !important;
  --ink: var(--color-dark) !important;
  --ink-soft: var(--color-muted) !important;
  --ink-mute: var(--color-muted) !important;
  --line: var(--color-line) !important;
  --line-strong: var(--color-line) !important;
  --serif: var(--font-main);
  --sans: var(--font-main);}
.news-embed .original-resource h1, .news-embed .original-resource h2, .news-embed .original-resource h3, .news-embed .original-resource h4, .news-embed .original-resource h5, .news-embed .original-resource .section-head h2, .news-embed .original-resource .p07-gallery-item span, .news-embed .original-resource .stat-num, .news-embed .original-resource .brand-card-big .name, .news-embed .original-resource .masthead, .news-embed .original-resource .detail-info h1 {font-family: var(--font-main) !important;}
.news-embed .original-resource .btn-primary, .news-embed .original-resource .cta-quote, .news-embed .original-resource .contact-form button, .news-embed .original-resource .product-actions .btn-quote-sm, .news-embed .original-resource .p07-tab-buttons button.active, .news-embed .original-resource .active, .news-embed .original-resource .filter-list button.active {background: var(--color-key) !important;
  color:var(--pb-theme-white,var(--color-white)) !important;}
.news-embed .original-resource .section-eyebrow, .news-embed .original-resource .hero-eyebrow, .news-embed .original-resource .product-cat, .news-embed .original-resource .news-meta .tag, .news-embed .original-resource .brand-card-big .tagline, .news-embed .original-resource .brand-card-big .link, .news-embed .original-resource .menu-number, .news-embed .original-resource a:hover {color: var(--color-key) !important;}
.news-embed .original-resource .section-eyebrow::before, .news-embed .original-resource .hero-eyebrow::before, .news-embed .original-resource .hero-dot.active::after, .news-embed .original-resource .nav-link.active::after, .news-embed .original-resource .process-num, .news-embed .original-resource .spec-card:hover .spec-icon, .news-embed .original-resource .service-cell:hover .icn {background: var(--color-key) !important;
  border-color: var(--color-key) !important;}
.news-embed .original-resource h1, .news-embed .original-resource h2, .news-embed .original-resource h3, .news-embed .original-resource h4, .news-embed .original-resource h5, .news-embed .original-resource .product-info h3, .news-embed .original-resource .news-card h3, .news-embed .original-resource .service-cell h3 {color: var(--color-dark) !important;}
.news-embed .original-resource .dark h1, .news-embed .original-resource .dark h2, .news-embed .original-resource .dark h3, .news-embed .original-resource .dark h4, .news-embed .original-resource .hero-text h1, .news-embed .original-resource .cta-strip h2, .news-embed .original-resource footer.site h5, .news-embed .original-resource .contact-info-card h3 {color: var(--color-white) !important;}
/* RESTAURADO SECCIONES 14 Y 21 · MASTER SAFE */
.news-embed #DEMO-RECURSOS-2-14 .demo-block, .news-embed #DEMO-RECURSOS-2-21 .demo-block {background:var(--color-light);
  color:var(--color-dark);
  padding:clamp(48px,7vw,86px) 42px;}
.news-embed #DEMO-RECURSOS-2-14 .demo-container, .news-embed #DEMO-RECURSOS-2-21 .demo-container {width:min(100%,1180px);
  margin:0 auto;}
.news-embed #DEMO-RECURSOS-2-14 .catalog-tools {display:grid;
  gap:16px;
  margin-bottom:24px;}
.news-embed #DEMO-RECURSOS-2-14 .catalog-tools input {width:100%;
  border:1px solid var(--color-line);
  padding:14px 16px;
  font:inherit;
  color:var(--color-dark);
  background:var(--color-white);
  outline:none;}
.news-embed #DEMO-RECURSOS-2-14 .filter-row {display:flex;
  flex-wrap:wrap;
  gap:10px;}
.news-embed #DEMO-RECURSOS-2-14 .filter {border:1px solid var(--color-line);
  background:var(--color-white);
  color:var(--color-dark);
  padding:10px 14px;
  font:inherit;
  cursor:pointer;}
.news-embed #DEMO-RECURSOS-2-14 .filter.active, .news-embed #DEMO-RECURSOS-2-14 .filter:hover {background:var(--color-key);
  border-color:var(--color-key);
  color:var(--pb-theme-white,var(--color-white));}
.news-embed #DEMO-RECURSOS-2-14 .catalog-grid {display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;}
.news-embed #DEMO-RECURSOS-2-14 .catalog-card, .news-embed #DEMO-RECURSOS-2-21 .price-card {background:var(--color-white);
  border:1px solid var(--color-line);
  box-shadow:0 18px 50px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 8%, transparent);}
.news-embed #DEMO-RECURSOS-2-14 .catalog-card {padding:26px;
  min-height:260px;
  display:flex;
  flex-direction:column;}
.news-embed #DEMO-RECURSOS-2-14 .catalog-card small, .news-embed #DEMO-RECURSOS-2-21 .price-card small {display:block;
  color:var(--color-key);
  font-size:var(--small);
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:10px;}
.news-embed #DEMO-RECURSOS-2-14 .catalog-card h4, .news-embed #DEMO-RECURSOS-2-21 .price-card h4 {margin:0 0 12px;
  color:var(--color-dark);
  font-family:var(--font-main);
  font-size:var(--h5);
  line-height:1.2;}
.news-embed #DEMO-RECURSOS-2-14 .catalog-card p, .news-embed #DEMO-RECURSOS-2-21 .price-card p, .news-embed #DEMO-RECURSOS-2-21 .price-card li {color:var(--color-muted);
  font-size:var(--small);
  line-height:1.6;}
.news-embed #DEMO-RECURSOS-2-14 .catalog-card button, .news-embed #DEMO-RECURSOS-2-21 .price-card button {margin-top:auto;
  border:1px solid var(--color-key);
  background:var(--color-key);
  color:var(--pb-theme-white,var(--color-white));
  padding:12px 14px;
  font:inherit;
  font-weight:700;
  cursor:pointer;}
.news-embed #DEMO-RECURSOS-2-14 .catalog-card button:hover, .news-embed #DEMO-RECURSOS-2-21 .price-card button:hover {filter:brightness(1.08);}
.news-embed #DEMO-RECURSOS-2-21 .pricing-grid {display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  align-items:stretch;}
.news-embed #DEMO-RECURSOS-2-21 .price-card {padding:32px;
  min-height:420px;
  display:flex;
  flex-direction:column;}
.news-embed #DEMO-RECURSOS-2-21 .price-card.featured {background:var(--color-dark);
  color:var(--color-white);
  transform:translateY(-10px);}
.news-embed #DEMO-RECURSOS-2-21 .price-card.featured h4, .news-embed #DEMO-RECURSOS-2-21 .price-card.featured strong {color:var(--color-white);}
.news-embed #DEMO-RECURSOS-2-21 .price-card.featured p, .news-embed #DEMO-RECURSOS-2-21 .price-card.featured li {color:var(--color-line);}
.news-embed #DEMO-RECURSOS-2-21 .price-card strong {display:block;
  color:var(--color-dark);
  font-size:var(--h3);
  line-height:1;
  font-weight:900;
  margin:12px 0 18px;
  letter-spacing:-.05em;}
.news-embed #DEMO-RECURSOS-2-21 .price-card ul {margin:18px 0 24px;
  padding-left:20px;}
@media (max-width:1100px) {
.news-embed #DEMO-RECURSOS-2-14 .catalog-grid, .news-embed #DEMO-RECURSOS-2-21 .pricing-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:760px) {
.news-embed #DEMO-RECURSOS-2-14 .demo-block, .news-embed #DEMO-RECURSOS-2-21 .demo-block {padding:42px 20px;}
.news-embed #DEMO-RECURSOS-2-14 .catalog-grid, .news-embed #DEMO-RECURSOS-2-21 .pricing-grid {grid-template-columns:1fr;}
.news-embed #DEMO-RECURSOS-2-21 .price-card.featured {transform:none;}
}
/* AJUSTE: buscador y filtros del catálogo en una sola fila */
.news-embed #DEMO-RECURSOS-2-14 .catalog-tools {display:flex !important;
  align-items:center !important;
  gap:10px !important;
  flex-wrap:nowrap !important;
  margin-bottom:24px !important;}
.news-embed #DEMO-RECURSOS-2-14 .catalog-tools input {flex:1 1 auto !important;
  width:auto !important;
  min-width:0 !important;}
.news-embed #DEMO-RECURSOS-2-14 .filter-row {display:flex !important;
  align-items:center !important;
  flex:0 0 auto !important;
  flex-wrap:nowrap !important;
  gap:10px !important;}
.news-embed #DEMO-RECURSOS-2-14 .filter {white-space:nowrap !important;}
@media (max-width:760px) {
.news-embed #DEMO-RECURSOS-2-14 .catalog-tools {flex-wrap:wrap !important;}
.news-embed #DEMO-RECURSOS-2-14 .catalog-tools input {flex:1 0 100% !important;}
.news-embed #DEMO-RECURSOS-2-14 .filter-row {flex-wrap:wrap !important;}
}
/* ============================================================
   AJUSTE 29 · Vista de contacto: datos con color sólido
   ============================================================ */
.news-embed .original-resource .contact-info-card {background: var(--color-dark) !important;
  background-image: none !important;}
.news-embed .original-resource .contact-info-card::before, .news-embed .original-resource .contact-info-card::after {display: none !important;
  content: none !important;
  background: none !important;}
/* ============================================================
   AJUSTE NOTICIAS · contenedor 1440px + sección 4 columnas
   ============================================================ */
.news-embed .original-resource {--container: 1440px !important;}
.news-embed .original-resource .container {max-width: 1440px !important;}
.news-embed #DEMO-RECURSOS-2-11B .news-grid-four {display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 24px !important;}
.news-embed #DEMO-RECURSOS-2-11B .news-card {min-width: 0;}
@media (max-width: 1180px) {
.news-embed #DEMO-RECURSOS-2-11B .news-grid-four {grid-template-columns: repeat(2, minmax(0, 1fr)) !important;}
}
@media (max-width: 720px) {
.news-embed #DEMO-RECURSOS-2-11B .news-grid-four {grid-template-columns: 1fr !important;}
}
/* ============================================================
   AJUSTE NOTICIAS · galería irregular flexbox con 6 noticias
   ============================================================ */
.news-embed #DEMO-RECURSOS-2-11C .news-flex-gallery {display: flex !important;
  flex-wrap: wrap !important;
  gap: 22px !important;
  align-items: stretch !important;}
.news-embed #DEMO-RECURSOS-2-11C .gallery-news-card {background: var(--color-white);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: all .3s ease;
  display: flex;
  flex-direction: column;
  min-width: 0;
  box-shadow: var(--shadow-sm);}
.news-embed #DEMO-RECURSOS-2-11C .gallery-news-card:hover {transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
  border-color: transparent;}
.news-embed #DEMO-RECURSOS-2-11C .gallery-news-card.featured {flex: 2 1 calc(50% - 22px);}
.news-embed #DEMO-RECURSOS-2-11C .gallery-news-card.wide {flex: 1.35 1 calc(38% - 22px);}
.news-embed #DEMO-RECURSOS-2-11C .gallery-news-card.medium {flex: 1 1 calc(32% - 22px);}
.news-embed #DEMO-RECURSOS-2-11C .gallery-news-card.small {flex: 1 1 calc(24% - 22px);}
.news-embed #DEMO-RECURSOS-2-11C .gallery-news-card .news-img {aspect-ratio: auto !important;
  height: 220px;}
.news-embed #DEMO-RECURSOS-2-11C .gallery-news-card.featured .news-img {height: 360px;}
.news-embed #DEMO-RECURSOS-2-11C .gallery-news-card.wide .news-img {height: 280px;}
.news-embed #DEMO-RECURSOS-2-11C .gallery-news-card.small .news-img {height: 180px;}
.news-embed #DEMO-RECURSOS-2-11C .gallery-news-card .news-img img {width: 100%;
  height: 100%;
  object-fit: cover;}
.news-embed #DEMO-RECURSOS-2-11C .gallery-news-card .news-body {flex: 1;
  display: flex;
  flex-direction: column;}
.news-embed #DEMO-RECURSOS-2-11C .gallery-news-card .read {margin-top: auto;}
@media (max-width: 1180px) {
.news-embed #DEMO-RECURSOS-2-11C .gallery-news-card.featured, .news-embed #DEMO-RECURSOS-2-11C .gallery-news-card.wide, .news-embed #DEMO-RECURSOS-2-11C .gallery-news-card.medium, .news-embed #DEMO-RECURSOS-2-11C .gallery-news-card.small {flex: 1 1 calc(50% - 22px);}
}
@media (max-width: 720px) {
.news-embed #DEMO-RECURSOS-2-11C .gallery-news-card.featured, .news-embed #DEMO-RECURSOS-2-11C .gallery-news-card.wide, .news-embed #DEMO-RECURSOS-2-11C .gallery-news-card.medium, .news-embed #DEMO-RECURSOS-2-11C .gallery-news-card.small {flex: 1 1 100%;}
.news-embed #DEMO-RECURSOS-2-11C .gallery-news-card .news-img, .news-embed #DEMO-RECURSOS-2-11C .gallery-news-card.featured .news-img, .news-embed #DEMO-RECURSOS-2-11C .gallery-news-card.wide .news-img, .news-embed #DEMO-RECURSOS-2-11C .gallery-news-card.small .news-img {height: 220px;}
}
/* ============================================================
   AJUSTE NOTICIAS · 11C reordenado en filas alternadas
   Fila 1: una card ancha + dos chicas.
   Fila 2: dos chicas + una card ancha.
   ============================================================ */
.news-embed #DEMO-RECURSOS-2-11C .news-flex-gallery {display: flex !important;
  flex-wrap: wrap !important;
  gap: 24px !important;
  align-items: stretch !important;}
.news-embed #DEMO-RECURSOS-2-11C .gallery-news-card {flex: 0 0 auto !important;
  min-width: 0 !important;}
.news-embed #DEMO-RECURSOS-2-11C .gallery-news-card:nth-child(6n + 1), .news-embed #DEMO-RECURSOS-2-11C .gallery-news-card:nth-child(6n + 6) {flex-basis: calc(50% - 12px) !important;}
.news-embed #DEMO-RECURSOS-2-11C .gallery-news-card:nth-child(6n + 2), .news-embed #DEMO-RECURSOS-2-11C .gallery-news-card:nth-child(6n + 3), .news-embed #DEMO-RECURSOS-2-11C .gallery-news-card:nth-child(6n + 4), .news-embed #DEMO-RECURSOS-2-11C .gallery-news-card:nth-child(6n + 5) {flex-basis: calc(25% - 18px) !important;}
.news-embed #DEMO-RECURSOS-2-11C .gallery-news-card:nth-child(6n + 1) .news-img, .news-embed #DEMO-RECURSOS-2-11C .gallery-news-card:nth-child(6n + 6) .news-img {height: 320px !important;}
.news-embed #DEMO-RECURSOS-2-11C .gallery-news-card:nth-child(6n + 2) .news-img, .news-embed #DEMO-RECURSOS-2-11C .gallery-news-card:nth-child(6n + 3) .news-img, .news-embed #DEMO-RECURSOS-2-11C .gallery-news-card:nth-child(6n + 4) .news-img, .news-embed #DEMO-RECURSOS-2-11C .gallery-news-card:nth-child(6n + 5) .news-img {height: 210px !important;}
@media (max-width: 1180px) {
.news-embed #DEMO-RECURSOS-2-11C .gallery-news-card:nth-child(n) {flex-basis: calc(50% - 12px) !important;}
}
@media (max-width: 720px) {
.news-embed #DEMO-RECURSOS-2-11C .gallery-news-card:nth-child(n) {flex-basis: 100% !important;}
.news-embed #DEMO-RECURSOS-2-11C .gallery-news-card:nth-child(n) .news-img {height: 220px !important;}
}
/* ============================================================
   NOTICIAS · 11D Masonry irregular de 4 columnas
   Alturas variables según peso visual de la foto.
   ============================================================ */
.news-embed #DEMO-RECURSOS-2-11D .news-masonry {column-count: 4;
  column-gap: 24px;}
.news-embed #DEMO-RECURSOS-2-11D .masonry-news-card {display: inline-block;
  width: 100%;
  margin: 0 0 24px;
  background: var(--color-white);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  break-inside: avoid;
  transition: all .3s ease;}
.news-embed #DEMO-RECURSOS-2-11D .masonry-news-card:hover {transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
  border-color: transparent;}
.news-embed #DEMO-RECURSOS-2-11D .masonry-news-card .news-img {aspect-ratio: auto !important;
  height: var(--photo-h, 260px);}
.news-embed #DEMO-RECURSOS-2-11D .masonry-news-card .news-img img {width: 100%;
  height: 100%;
  object-fit: cover;}
.news-embed #DEMO-RECURSOS-2-11D .masonry-news-card .news-body {padding: 24px;}
.news-embed #DEMO-RECURSOS-2-11D .masonry-news-card h3 {margin-bottom: 10px;}
.news-embed #DEMO-RECURSOS-2-11D .masonry-news-card p {margin-bottom: 14px;}
.news-embed #DEMO-RECURSOS-2-11D .masonry-news-card.photo-xl {--photo-h: 430px;}
.news-embed #DEMO-RECURSOS-2-11D .masonry-news-card.photo-tall {--photo-h: 360px;}
.news-embed #DEMO-RECURSOS-2-11D .masonry-news-card.photo-mid {--photo-h: 285px;}
.news-embed #DEMO-RECURSOS-2-11D .masonry-news-card.photo-short {--photo-h: 205px;}
@media (max-width: 1180px) {
.news-embed #DEMO-RECURSOS-2-11D .news-masonry {column-count: 2;}
}
@media (max-width: 720px) {
.news-embed #DEMO-RECURSOS-2-11D .news-masonry {column-count: 1;}
.news-embed #DEMO-RECURSOS-2-11D .masonry-news-card .news-img {height: 240px !important;}
}
/* ============================================================
   AJUSTE NOTICIAS · rollover de imagen en 11C y 11D
   Igual al efecto de 11 · Noticias / contenidos.
   ============================================================ */
.news-embed #DEMO-RECURSOS-2-11C .gallery-news-card .news-img, .news-embed #DEMO-RECURSOS-2-11D .masonry-news-card .news-img {overflow: hidden !important;}
.news-embed #DEMO-RECURSOS-2-11C .gallery-news-card .news-img img, .news-embed #DEMO-RECURSOS-2-11D .masonry-news-card .news-img img {transition: transform .5s ease !important;}
.news-embed #DEMO-RECURSOS-2-11C .gallery-news-card:hover .news-img img, .news-embed #DEMO-RECURSOS-2-11D .masonry-news-card:hover .news-img img {transform: scale(1.05) !important;}

/* CATÁLOGO · integración después de Noticias */
.catalog-embed {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  background: var(--color-dark);
  color: var(--color-white);
  isolation: isolate;
  overflow: hidden;
}

.catalog-embed a {
  color: inherit;
  text-decoration: none;
}

.catalog-embed button,
.catalog-embed input,
.catalog-embed textarea,
.catalog-embed select {
  font: inherit;
}

/* Conserva el formato maestro en las explicaciones */
.catalog-embed .template-title,
.catalog-embed .template-item {
  background: var(--color-dark);
}

/* Conserva la ejecución visual original */
.catalog-embed .template-demo {
  width: 100%;
}
.catalog-embed {--color-dark: inherit;
  --color-key: inherit;
  --color-light: inherit;
  --color-white: inherit;
  --color-muted: inherit;
  --color-line: inherit;

  --font-main: "Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-secondary: "Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;

  --text-label: var(--micro);
  --text-small: var(--small);
  --text-body: var(--body);
  --text-h3: var(--h3);
  --text-h2: var(--h2);}
.catalog-embed * {box-sizing: border-box;}
.catalog-embed {scroll-behavior: smooth;}
.catalog-embed {margin: 0;
  background: var(--color-dark);
  color: var(--color-white);
  font-family: var(--font-main);
  font-size: var(--body);
  line-height: 1.7;}
/* ===============================
   FORMATO MAESTRO PARA EXPLICACIONES
================================ */
.catalog-embed .template-title {width: 100%;
  padding: 56px 0 18px;
  background: var(--color-dark);
  border-bottom: 1px solid var(--color-line);}
.catalog-embed .template-item {width: 100%;
  padding-top: 20px;
  background: var(--color-dark);
  border-bottom: 1px solid var(--color-line);}
.catalog-embed .menu-row {width: 100%;
  padding-left: 42px;
  padding-right: 42px;}
.catalog-embed .row-number {padding-bottom: 8px;}
.catalog-embed .menu-number {display: block;
  color: var(--color-key);
  font-size: var(--micro);
  font-weight: 400;
  letter-spacing: .16em;
  line-height: 1.45;
  text-transform: uppercase;}
.catalog-embed .row-info {display: grid;
  grid-template-columns: minmax(280px, 35%) minmax(420px, 1fr);
  column-gap: 42px;
  align-items: start;
  padding-bottom: 20px;}
.catalog-embed .row-info h3 {max-width: 620px;
  margin: 0;
  color: var(--color-white);
  font-family: var(--font-main);
  font-size: var(--h3);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -.025em;}
.catalog-embed .request-copy {max-width: 980px;
  margin: 0;
  color: var(--color-line);
  font-size: var(--small);
  line-height: 1.65;}
.catalog-embed .request-copy strong {color: var(--color-white);
  font-weight: 700;}
/* ===============================
   CONTENEDOR DEL EJEMPLO ORIGINAL
================================ */
.catalog-embed .template-demo {width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: var(--color-white);
  color: var(--color-dark);
  border-top: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);}
/* ===============================
   RESPONSIVE
================================ */
@media (max-width: 900px) {
.catalog-embed .menu-row {padding-left: 24px;
    padding-right: 24px;}
.catalog-embed .row-info {grid-template-columns: 1fr;
    row-gap: 12px;}
}
/* ===============================
   EJEMPLO VISUAL SOLO DE REFERENCIA
   Reemplazar por el CSS original de la plantilla.
================================ */
.catalog-embed #DEMO-UNICO-01 .hero-demo-placeholder {min-height: 420px;
  display: grid;
  place-items: center;
  padding: 64px 42px;
  background:
    radial-gradient(circle at 70% 25%, transparent, transparent 28%),
    linear-gradient(135deg, var(--color-light) 0%, var(--color-white) 55%, var(--color-light) 100%);}
.catalog-embed #DEMO-UNICO-01 .hero-demo-box {width: min(100%, 1080px);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 42px;
  align-items: center;}
.catalog-embed #DEMO-UNICO-01 .hero-demo-box h1 {margin: 0;
  color: var(--color-dark);
  font-size: var(--h2);
  line-height: .98;
  letter-spacing: -.055em;}
.catalog-embed #DEMO-UNICO-01 .hero-demo-box p {margin: 18px 0 0;
  color: var(--color-muted);
  font-size: var(--body);
  line-height: 1.7;}
.catalog-embed #DEMO-UNICO-01 .hero-demo-image {min-height: 300px;
  background:
    linear-gradient(135deg, transparent, transparent),
    var(--color-white);
  border: 1px solid var(--color-line);}
@media (max-width: 800px) {
.catalog-embed #DEMO-UNICO-01 .hero-demo-box {grid-template-columns: 1fr;}
.catalog-embed #DEMO-UNICO-01 .hero-demo-box h1 {font-size: var(--h3);}
}
/* ===============================
   AJUSTES PARA RECURSOS 2 COMPLETO
================================ */
.catalog-embed .template-title h2 {margin:0;
  color:var(--color-white);
  font-family:var(--font-main);
  font-size:var(--h2);
  line-height:1.05;
  letter-spacing:-.045em;}
.catalog-embed .template-demo {overflow:visible;
  background:var(--color-white);}
.catalog-embed .template-demo.demo-full-page {border-top:1px solid var(--color-line);
  border-bottom:1px solid var(--color-line);}
.catalog-embed .original-resource {width:100%;
  background:var(--color-light);
  color:var(--color-dark);
  overflow:hidden;}
.catalog-embed .original-resource.resource-hidden-shell {position:absolute;
  left:-99999px;
  top:0;
  width:1px;
  height:1px;
  overflow:hidden;
  pointer-events:none;}
.catalog-embed .original-resource .view {display:block !important;
  animation:none !important;}
.catalog-embed .original-resource #view-detalle {display:none !important;}
.catalog-embed .original-resource footer.site {display:block;}
/* El maestro ya aporta la explicación; el demo conserva la página original completa. */
.catalog-embed .resource-note {display:none !important;}
/* ============================================================
   PLANTILLA · DESIGN SYSTEM
   Sistema visual de referencia para una web corporativa con catálogo
   Paleta: navy corporativo + acento cobre
   ============================================================ */
.catalog-embed .original-resource {/* Paleta y tipografía del Formato maestro */
  --navy-950:var(--color-dark);
  --navy-900:var(--color-dark);
  --navy-800:var(--color-dark);
  --navy-700:var(--color-key);
  --navy-600:var(--color-key);
  --navy-500:var(--color-key);
  --navy-400:var(--color-key);
  --navy-300:var(--color-dark);
  --navy-200:var(--color-dark);
  --navy-100:var(--color-light);
  --navy-50:var(--color-light);

  --copper:var(--color-key);
  --copper-light:var(--color-key);
  --copper-dark:var(--color-key);
  --copper-50:var(--color-key);

  --bg:var(--color-light);
  --paper:var(--color-white);
  --ink:var(--color-dark);
  --ink-soft:var(--color-muted);
  --ink-mute:var(--color-muted);
  --line:var(--color-line);
  --line-strong:var(--color-line);

  --serif:var(--font-main);
  --sans:var(--font-main);

  --radius:0;
  --radius-lg:0;
  --shadow-sm:0 1px 3px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 6%, transparent), 0 1px 2px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 4%, transparent);
  --shadow-md:0 8px 24px -10px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 18%, transparent), 0 3px 8px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 6%, transparent);
  --shadow-lg:0 28px 56px -22px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 28%, transparent), 0 10px 20px -8px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 12%, transparent);
  --shadow-xl:0 40px 80px -30px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 35%, transparent);

  --container:1440px;}
.catalog-embed .original-resource *, .catalog-embed .original-resource *::before, .catalog-embed .original-resource *::after {box-sizing:border-box}
.catalog-embed .original-resource {scroll-behavior:smooth}
.catalog-embed .original-resource {margin:0;
  font-family:var(--font-main);
  background:var(--bg);
  color:var(--color-dark);
  font-size:var(--body);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;}
.catalog-embed .original-resource img {max-width:100%;display:block}
.catalog-embed .original-resource a {color:var(--navy-700);text-decoration:none;transition:color .25s}
.catalog-embed .original-resource a:hover {color:var(--color-key)}
.catalog-embed .original-resource button {font-family:inherit;cursor:pointer;border:none;background:none}
.catalog-embed .original-resource h1, .catalog-embed .original-resource h2, .catalog-embed .original-resource h3, .catalog-embed .original-resource h4, .catalog-embed .original-resource h5 {font-family:var(--font-main);color:var(--color-dark);line-height:1.15;margin:0;letter-spacing:-.015em;font-weight:500}
.catalog-embed .original-resource h1 {font-size:var(--h1);font-weight:400}
.catalog-embed .original-resource h2 {font-size:var(--h2)}
.catalog-embed .original-resource h3 {font-size:var(--h5)}
.catalog-embed .original-resource h4 {font-size:var(--card);font-family:var(--font-main);font-weight:500;letter-spacing:0}
.catalog-embed .original-resource .container {max-width:var(--container);margin:0 auto;padding:0 28px}
/* ============== TOPBAR ============== */
.catalog-embed .original-resource .topbar {background:var(--color-dark);
  color:var(--color-line);
  font-size:var(--small);
  padding:9px 0;
  border-bottom:1px solid var(--color-line);}
.catalog-embed .original-resource .topbar .container {display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.catalog-embed .original-resource .topbar a {color:var(--color-line)}
.catalog-embed .original-resource .topbar a:hover {color:var(--color-key)}
.catalog-embed .original-resource .topbar-info {display:flex;gap:28px;flex-wrap:wrap}
.catalog-embed .original-resource .topbar-info span {display:inline-flex;align-items:center;gap:8px}
.catalog-embed .original-resource .topbar-info svg {width:13px;height:13px;opacity:.7}
.catalog-embed .original-resource .topbar-social {display:flex;gap:14px;align-items:center}
.catalog-embed .original-resource .topbar-social a {display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:3px;transition:all .2s}
.catalog-embed .original-resource .topbar-social a:hover {background:var(--color-line);color:var(--color-key)}
.catalog-embed .original-resource .topbar-social svg {width:14px;height:14px}
/* ============== HEADER ============== */
.catalog-embed .original-resource header.site {background:var(--color-white);
  position:sticky;top:0;z-index:80;
  box-shadow:0 1px 0 var(--line);
  transition:box-shadow .3s, padding .3s;}
.catalog-embed .original-resource header.site.scrolled {box-shadow:var(--shadow-md)}
.catalog-embed .original-resource .nav {display:flex;align-items:center;justify-content:space-between;
  padding:18px 0;gap:32px;}
.catalog-embed .original-resource .brand {display:flex;align-items:center}
.catalog-embed .original-resource .brand img {height:64px;width:auto;transition:height .3s}
.catalog-embed .original-resource header.site.scrolled .brand img {height:48px}
.catalog-embed .original-resource nav.menu>ul {list-style:none;display:flex;gap:2px;margin:0;padding:0;align-items:center;}
.catalog-embed .original-resource .menu-item {position:relative}
.catalog-embed .original-resource .nav-link {display:inline-flex;align-items:center;gap:6px;padding:10px 16px;
  font-size:var(--small);font-weight:500;letter-spacing:.005em;
  color:var(--color-dark);border-radius:6px;cursor:pointer;
  transition:all .2s;}
.catalog-embed .original-resource .nav-link:hover {color:var(--color-key);background:var(--color-light)}
.catalog-embed .original-resource .nav-link.active {color:var(--color-key)}
.catalog-embed .original-resource .nav-link.active::after {content:"";position:absolute;left:16px;right:16px;bottom:-1px;
  height:2px;background:var(--color-key);}
.catalog-embed .original-resource .nav-link svg.chev {width:11px;height:11px;opacity:.6;transition:transform .2s}
.catalog-embed .original-resource .menu-item:hover .nav-link svg.chev {transform:rotate(180deg)}
/* MEGA MENU */
.catalog-embed .original-resource .megamenu {position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(-8px);
  width:680px;background:var(--color-white);border-radius:var(--radius-lg);
  box-shadow:var(--shadow-xl);border:1px solid var(--line);
  padding:28px;opacity:0;pointer-events:none;
  transition:all .25s cubic-bezier(.4,0,.2,1);z-index:90;}
.catalog-embed .original-resource .menu-item:hover .megamenu {opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0);}
.catalog-embed .original-resource .megamenu::before {content:"";position:absolute;top:-6px;left:50%;transform:translateX(-50%) rotate(45deg);
  width:12px;height:12px;background:var(--color-white);border-left:1px solid var(--line);border-top:1px solid var(--line);}
.catalog-embed .original-resource .mm-title {font-size:var(--small);letter-spacing:.18em;text-transform:uppercase;
  color:var(--color-key);font-weight:500;margin-bottom:16px;}
.catalog-embed .original-resource .mm-grid {display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}
.catalog-embed .original-resource .mm-item {display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:6px;
  font-size:var(--small);color:var(--color-dark);transition:all .15s;
  cursor:pointer;}
.catalog-embed .original-resource .mm-item:hover {background:var(--color-light);color:var(--color-key)}
.catalog-embed .original-resource .mm-item .icn {width:32px;height:32px;border-radius:6px;background:var(--color-light);
  display:flex;align-items:center;justify-content:center;color:var(--navy-700);
  flex-shrink:0;}
.catalog-embed .original-resource .mm-item:hover .icn {background:var(--color-key);color:var(--pb-theme-white,var(--color-white))}
.catalog-embed .original-resource .mm-item svg {width:16px;height:16px}
.catalog-embed .original-resource .cta-quote {background:var(--color-key);color:var(--pb-theme-white,var(--color-white));
  padding:12px 24px;border-radius:6px;font-weight:500;font-size:var(--small);
  display:inline-flex;align-items:center;gap:8px;
  transition:all .2s;letter-spacing:.01em;
  box-shadow:0 4px 14px -2px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 40%, transparent);}
.catalog-embed .original-resource .cta-quote:hover {background:var(--color-key);transform:translateY(-1px);box-shadow:0 6px 20px -4px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 55%, transparent)}
.catalog-embed .original-resource .burger {display:none;padding:8px;color:var(--color-dark);z-index:90}
.catalog-embed .original-resource .burger svg {width:28px;height:28px}
@media (max-width:1100px) {
.catalog-embed .original-resource nav.menu {position:fixed;top:0;right:-100%;
    height:100vh;width:min(85%,360px);
    background:var(--color-white);
    box-shadow:-12px 0 40px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 18%, transparent);
    padding:90px 20px 24px;
    transition:right .35s ease;overflow-y:auto;z-index:75;}
.catalog-embed .original-resource nav.menu.open {right:0}
.catalog-embed .original-resource nav.menu>ul {flex-direction:column;align-items:stretch;gap:0;width:100%}
.catalog-embed .original-resource .nav-link {padding:14px 12px;border-bottom:1px solid var(--line);border-radius:0;font-size:var(--body);width:100%;justify-content:space-between}
.catalog-embed .original-resource .nav-link.active::after {display:none}
.catalog-embed .original-resource .nav-link.active {background:var(--color-light)}
.catalog-embed .original-resource .megamenu {display:none}
.catalog-embed .original-resource .burger {display:inline-flex}
.catalog-embed .original-resource .cta-quote {display:none}
.catalog-embed .original-resource .menu-overlay {position:fixed;inset:0;background:color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 50%, transparent);
    opacity:0;pointer-events:none;transition:opacity .3s;z-index:70;}
.catalog-embed .original-resource .menu-overlay.show {opacity:1;pointer-events:auto}
}
/* ============== HERO SLIDER ============== */
.catalog-embed .original-resource .hero {position:relative;
  height:min(720px, 90vh);min-height:560px;
  overflow:hidden;
  background:var(--color-dark);}
.catalog-embed .original-resource .hero-slide {position:absolute;inset:0;opacity:0;
  transition:opacity 1s ease;}
.catalog-embed .original-resource .hero-slide.active {opacity:1;z-index:2}
.catalog-embed .original-resource .hero-bg {position:absolute;inset:0;
  background-size:cover;background-position:center;
  filter:brightness(.55);
  transform:scale(1.05);
  transition:transform 8s ease-out;}
.catalog-embed .original-resource .hero-slide.active .hero-bg {transform:scale(1)}
.catalog-embed .original-resource .hero-overlay {position:absolute;inset:0;
  background:
    linear-gradient(120deg, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 85%, transparent) 0%, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 60%, transparent) 45%, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 30%, transparent) 100%),
    radial-gradient(circle at 90% 80%, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 18%, transparent), transparent 50%);}
.catalog-embed .original-resource .hero-grid-overlay {position:absolute;inset:0;
  background-image:
    linear-gradient(color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 3%, transparent) 1px, transparent 1px),
    linear-gradient(90deg, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 3%, transparent) 1px, transparent 1px);
  background-size:60px 60px;
  mask-image:radial-gradient(ellipse 80% 60% at 30% 50%, var(--color-dark), transparent);}
.catalog-embed .original-resource .hero-content {position:relative;z-index:3;height:100%;
  display:flex;align-items:center;}
.catalog-embed .original-resource .hero-content .container {width:100%}
.catalog-embed .original-resource .hero-text {max-width:680px;color:var(--color-white)}
.catalog-embed .original-resource .hero-eyebrow {display:inline-flex;align-items:center;gap:14px;
  font-size:var(--small);letter-spacing:.22em;text-transform:uppercase;
  color:var(--color-key);margin-bottom:24px;font-weight:500;
  opacity:0;transform:translateY(20px);
  animation:catalog-fadeUp .8s .2s ease forwards;}
.catalog-embed .original-resource .hero-eyebrow::before {content:"";width:40px;height:1px;background:var(--color-key)}
.catalog-embed .original-resource .hero-text h1 {color:var(--color-white);margin-bottom:24px;
  opacity:0;transform:translateY(30px);
  animation:catalog-fadeUp .9s .35s ease forwards;}
.catalog-embed .original-resource .hero-text h1 em {font-style:italic;color:var(--color-key);font-weight:400}
.catalog-embed .original-resource .hero-text p {font-size:var(--card);color:var(--color-line);max-width:580px;margin-bottom:36px;
  font-weight:400;line-height:1.7;
  opacity:0;transform:translateY(30px);
  animation:catalog-fadeUp 1s .55s ease forwards;}
.catalog-embed .original-resource .hero-actions {display:flex;gap:14px;flex-wrap:wrap;
  opacity:0;transform:translateY(30px);
  animation:catalog-fadeUp 1s .75s ease forwards;}
@keyframes catalog-fadeUp {to{opacity:1;transform:none}}
.catalog-embed .original-resource .btn-primary {background:var(--color-key);color:var(--pb-theme-white,var(--color-white));
  padding:14px 30px;border-radius:6px;font-weight:500;font-size:var(--body);
  display:inline-flex;align-items:center;gap:10px;
  transition:all .2s;letter-spacing:.01em;
  box-shadow:0 4px 14px -2px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 40%, transparent);}
.catalog-embed .original-resource .btn-primary:hover {background:var(--color-key);transform:translateY(-1px);color:var(--pb-theme-white,var(--color-white));box-shadow:0 8px 24px -4px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 55%, transparent)}
.catalog-embed .original-resource .btn-secondary {background:var(--color-line);color:var(--color-white);backdrop-filter:blur(4px);
  border:1px solid var(--color-line);
  padding:13px 28px;border-radius:6px;font-weight:500;font-size:var(--body);
  display:inline-flex;align-items:center;gap:10px;
  transition:all .2s;}
.catalog-embed .original-resource .btn-secondary:hover {background:var(--color-line);border-color:var(--color-line);color:var(--color-white)}
/* HERO PAGINATION */
.catalog-embed .original-resource .hero-nav {position:absolute;bottom:32px;left:50%;transform:translateX(-50%);
  z-index:5;display:flex;gap:12px;align-items:center;}
.catalog-embed .original-resource .hero-dot {width:42px;height:3px;background:var(--color-line);
  cursor:pointer;border-radius:2px;transition:all .3s;
  position:relative;overflow:hidden;}
.catalog-embed .original-resource .hero-dot.active {background:var(--color-line)}
.catalog-embed .original-resource .hero-dot.active::after {content:"";position:absolute;left:0;top:0;height:100%;
  background:var(--color-key);
  animation:catalog-dotProgress 6s linear;}
@keyframes catalog-dotProgress {from{width:0}to{width:100%}}
/* HERO FLOATING CARD */
.catalog-embed .original-resource .hero-floating {position:absolute;right:5%;bottom:80px;z-index:4;
  background:var(--color-line);backdrop-filter:blur(20px);
  border:1px solid var(--color-line);
  border-radius:var(--radius-lg);
  padding:22px 26px;color:var(--color-white);
  display:flex;gap:18px;align-items:center;
  opacity:0;animation:catalog-fadeUp 1s 1s ease forwards;}
.catalog-embed .original-resource .hero-floating .icn {width:48px;height:48px;border-radius:10px;
  background:var(--color-key);display:flex;align-items:center;justify-content:center;}
.catalog-embed .original-resource .hero-floating .icn svg {width:24px;height:24px;color:var(--color-white)}
.catalog-embed .original-resource .hero-floating .label {font-size:var(--small);letter-spacing:.15em;text-transform:uppercase;color:var(--color-line);margin-bottom:2px}
.catalog-embed .original-resource .hero-floating .val {font-family:var(--font-main);font-size:var(--h5);color:var(--color-white);line-height:1}
@media (max-width:880px) {
.catalog-embed .original-resource .hero {height:auto;min-height:auto;padding:80px 0 60px}
.catalog-embed .original-resource .hero-floating {display:none}
.catalog-embed .original-resource .hero-text h1 {font-size:var(--h3)}
}
/* ============== MARQUEE BRANDS ============== */
.catalog-embed .original-resource .marquee-section {background:var(--color-white);border-bottom:1px solid var(--line);
  padding:36px 0;overflow:hidden;}
.catalog-embed .original-resource .marquee-label {text-align:center;font-size:var(--small);letter-spacing:.22em;text-transform:uppercase;
  color:var(--ink-mute);margin-bottom:22px;font-weight:500;}
.catalog-embed .original-resource .marquee-track {display:flex;gap:80px;align-items:center;
  animation:catalog-scroll 38s linear infinite;
  width:max-content;}
@keyframes catalog-scroll {from{transform:translateX(0)}
  to{transform:translateX(-50%)}}
.catalog-embed .original-resource .marquee-track .brand-name {font-family:var(--font-main);font-size:var(--h4);font-style:italic;
  color:var(--navy-700);white-space:nowrap;letter-spacing:-.01em;
  opacity:.55;font-weight:500;transition:opacity .3s;
  display:flex;align-items:center;gap:80px;}
.catalog-embed .original-resource .marquee-track .brand-name::after {content:"·";color:var(--color-key);font-style:normal;}
/* ============== SECTION ============== */
.catalog-embed .original-resource section.block {padding:100px 0;position:relative}
.catalog-embed .original-resource section.block.tight {padding:72px 0}
.catalog-embed .original-resource section.block.dark {background:var(--color-dark);color:var(--color-white)}
.catalog-embed .original-resource section.block.tinted {background:var(--color-light)}
.catalog-embed .original-resource .section-head {margin-bottom:64px;max-width:740px}
.catalog-embed .original-resource .section-head.center {margin-left:auto;margin-right:auto;text-align:center}
.catalog-embed .original-resource .section-eyebrow {display:inline-flex;align-items:center;gap:10px;
  font-size:var(--small);letter-spacing:.22em;text-transform:uppercase;
  color:var(--color-key);margin-bottom:18px;font-weight:500;}
.catalog-embed .original-resource .section-eyebrow::before {content:"";width:24px;height:1px;background:var(--color-key)}
.catalog-embed .original-resource .dark .section-eyebrow {color:var(--color-key)}
.catalog-embed .original-resource .dark .section-head h2 {color:var(--color-white)}
.catalog-embed .original-resource .dark .section-head p {color:var(--color-line)}
.catalog-embed .original-resource .section-head h2 {margin-bottom:18px;color:var(--color-dark)}
.catalog-embed .original-resource .section-head h2 em {font-style:italic;color:var(--color-key);font-weight:400}
.catalog-embed .original-resource .section-head p {color:var(--color-muted);font-size:var(--card);max-width:660px;line-height:1.7}
/* ============== ESPECIALIDADES (estilo Roca) ============== */
.catalog-embed .original-resource .spec-grid {display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px;}
.catalog-embed .original-resource .spec-card {background:var(--color-white);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:32px 22px;cursor:pointer;text-align:center;
  position:relative;overflow:hidden;
  transition:all .35s cubic-bezier(.4,0,.2,1);}
.catalog-embed .original-resource .spec-card::before {content:"";position:absolute;inset:0;
  background:linear-gradient(135deg, var(--color-dark), var(--navy-700));
  opacity:0;transition:opacity .35s;}
.catalog-embed .original-resource .spec-card:hover {transform:translateY(-6px);
  box-shadow:0 24px 48px -16px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 25%, transparent);
  border-color:transparent;}
.catalog-embed .original-resource .spec-card:hover::before {opacity:1}
.catalog-embed .original-resource .spec-card>* {position:relative;z-index:2}
.catalog-embed .original-resource .spec-icon {width:72px;height:72px;border-radius:50%;
  background:var(--color-light);color:var(--navy-700);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 18px;transition:all .35s;}
.catalog-embed .original-resource .spec-card:hover .spec-icon {background:var(--color-key);color:var(--pb-theme-white,var(--color-white));transform:scale(1.05)}
.catalog-embed .original-resource .spec-icon svg {width:36px;height:36px}
.catalog-embed .original-resource .spec-card h3 {font-family:var(--font-main);font-size:var(--body);font-weight:500;
  color:var(--color-dark);margin-bottom:8px;letter-spacing:0;
  transition:color .35s;}
.catalog-embed .original-resource .spec-card:hover h3 {color:var(--color-white)}
.catalog-embed .original-resource .spec-card p {font-size:var(--small);color:var(--ink-mute);margin:0;line-height:1.5;
  transition:color .35s;}
.catalog-embed .original-resource .spec-card:hover p {color:var(--color-line)}
.catalog-embed .original-resource .spec-card .count {display:inline-block;margin-top:14px;font-size:var(--small);
  color:var(--color-key);font-weight:500;letter-spacing:.05em;text-transform:uppercase;
  transition:color .35s;}
.catalog-embed .original-resource .spec-card:hover .count {color:var(--color-key)}
/* ============== PRODUCTOS DESTACADOS ============== */
.catalog-embed .original-resource .featured-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;}
.catalog-embed .original-resource .product-card {background:var(--color-white);border-radius:var(--radius-lg);overflow:hidden;
  border:1px solid var(--line);transition:all .3s;cursor:pointer;
  display:flex;flex-direction:column;}
.catalog-embed .original-resource .product-card:hover {transform:translateY(-4px);
  box-shadow:var(--shadow-lg);border-color:transparent;}
.catalog-embed .original-resource .product-img {aspect-ratio:4/3;background:var(--color-light);overflow:hidden;
  position:relative;}
.catalog-embed .original-resource .product-img img {width:100%;height:100%;object-fit:cover;
  transition:transform .6s cubic-bezier(.4,0,.2,1);}
.catalog-embed .original-resource .product-card:hover .product-img img {transform:scale(1.05)}
.catalog-embed .original-resource .product-img .brand-tag {position:absolute;top:14px;left:14px;
  background:var(--color-white);color:var(--color-dark);
  padding:5px 12px;border-radius:3px;
  font-size:var(--small);font-weight:500;letter-spacing:.08em;text-transform:uppercase;
  box-shadow:0 1px 3px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 6%, transparent), 0 1px 2px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 4%, transparent);}
.catalog-embed .original-resource .product-info {padding:24px;flex:1;display:flex;flex-direction:column}
.catalog-embed .original-resource .product-cat {font-size:var(--small);color:var(--color-key);font-weight:500;
  letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px;}
.catalog-embed .original-resource .product-info h3 {font-family:var(--font-main);font-size:var(--card);font-weight:500;
  color:var(--color-dark);margin-bottom:10px;letter-spacing:0;}
.catalog-embed .original-resource .product-info p {font-size:var(--small);color:var(--ink-mute);margin:0 0 18px;
  line-height:1.55;flex:1;}
.catalog-embed .original-resource .product-actions {display:flex;gap:10px;margin-top:auto}
.catalog-embed .original-resource .product-actions .btn-quote-sm {flex:1;background:var(--color-dark);color:var(--color-white);
  padding:10px;border-radius:5px;font-size:var(--small);font-weight:500;
  transition:background .2s;}
.catalog-embed .original-resource .product-actions .btn-quote-sm:hover {background:var(--color-dark)}
.catalog-embed .original-resource .product-actions .btn-info-sm {flex:1;background:transparent;color:var(--color-dark);
  border:1px solid var(--color-line);
  padding:10px;border-radius:5px;font-size:var(--small);font-weight:500;
  transition:all .2s;}
.catalog-embed .original-resource .product-actions .btn-info-sm:hover {border-color:var(--color-dark);background:var(--color-light)}
/* ============== STATS BAR ============== */
.catalog-embed .original-resource .stats-bar {background:linear-gradient(135deg, var(--color-dark) 0%, var(--navy-700) 100%);
  color:var(--color-white);padding:80px 0;position:relative;overflow:hidden;}
.catalog-embed .original-resource .stats-bar::before {content:"";position:absolute;inset:0;
  background-image:
    radial-gradient(circle at 20% 30%, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 15%, transparent), transparent 40%),
    radial-gradient(circle at 80% 70%, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 25%, transparent), transparent 50%);}
.catalog-embed .original-resource .stats-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:0;position:relative;z-index:2;
  border-top:1px solid var(--color-line);
  border-bottom:1px solid var(--color-line);}
.catalog-embed .original-resource .stat-item {padding:48px 32px;text-align:center;
  border-right:1px solid var(--color-line);}
.catalog-embed .original-resource .stat-item:last-child {border-right:none}
.catalog-embed .original-resource .stat-num {font-family:var(--font-main);font-size:var(--h1);color:var(--color-white);
  font-weight:400;line-height:1;margin-bottom:8px;
  background:linear-gradient(180deg, var(--color-white) 0%, var(--color-key) 130%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.catalog-embed .original-resource .stat-label {font-size:var(--small);letter-spacing:.18em;text-transform:uppercase;
  color:var(--color-line);font-weight:500;}
@media (max-width:760px) {
.catalog-embed .original-resource .stat-item {border-right:none;border-bottom:1px solid var(--color-line);padding:36px 20px}
.catalog-embed .original-resource .stat-item:last-child {border-bottom:none}
}
/* ============== CATÁLOGO COMPLETO ============== */
.catalog-embed .original-resource .cat-hero {background:linear-gradient(135deg, var(--color-dark), var(--navy-700));
  color:var(--color-white);padding:100px 0 80px;position:relative;overflow:hidden;}
.catalog-embed .original-resource .cat-hero::before {content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 80% 20%, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 20%, transparent), transparent 50%);}
.catalog-embed .original-resource .cat-hero .container {position:relative;z-index:2}
.catalog-embed .original-resource .cat-hero h1 {color:var(--color-white);font-size:var(--h1)}
.catalog-embed .original-resource .cat-hero h1 em {color:var(--color-key);font-style:italic;font-weight:400}
.catalog-embed .original-resource .cat-hero .crumb {display:flex;gap:10px;font-size:var(--small);color:var(--color-line);margin-bottom:18px}
.catalog-embed .original-resource .cat-hero .crumb a {color:var(--color-line)}
.catalog-embed .original-resource .cat-hero .crumb a:hover {color:var(--color-key)}
.catalog-embed .original-resource .cat-hero p {color:var(--color-line);font-size:var(--card);max-width:680px;margin-top:18px;font-weight:400}
.catalog-embed .original-resource .cat-layout {display:grid;grid-template-columns:300px 1fr;gap:48px;align-items:start;}
.catalog-embed .original-resource .cat-sidebar {position:sticky;top:120px;
  background:var(--color-white);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:28px;box-shadow:var(--shadow-sm);}
.catalog-embed .original-resource .cat-sidebar h4 {font-size:var(--small);text-transform:uppercase;letter-spacing:.18em;
  color:var(--ink-mute);margin-bottom:14px;font-weight:500;}
.catalog-embed .original-resource .cat-sidebar h4:not(:first-child) {margin-top:28px}
.catalog-embed .original-resource .cat-search {width:100%;padding:11px 14px;border:1px solid var(--line);
  border-radius:6px;font-family:inherit;font-size:var(--small);color:var(--color-dark);
  transition:all .2s;}
.catalog-embed .original-resource .cat-search:focus {outline:none;border-color:var(--color-key);box-shadow:0 0 0 3px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 16%, transparent)}
.catalog-embed .original-resource .filter-list {list-style:none;padding:0;margin:0;max-height:280px;overflow-y:auto}
.catalog-embed .original-resource .filter-list::-webkit-scrollbar {width:5px}
.catalog-embed .original-resource .filter-list::-webkit-scrollbar-thumb {background:var(--navy-200);border-radius:3px}
.catalog-embed .original-resource .filter-list button {width:100%;text-align:left;padding:9px 12px;font-size:var(--small);
  color:var(--color-muted);border-radius:5px;transition:all .15s;
  display:flex;justify-content:space-between;align-items:center;}
.catalog-embed .original-resource .filter-list button:hover {background:var(--color-light);color:var(--color-dark)}
.catalog-embed .original-resource .filter-list button.active {background:var(--color-dark);color:var(--color-white);font-weight:500}
.catalog-embed .original-resource .filter-list button.active .badge {background:var(--color-key);color:var(--pb-theme-white,var(--color-white))}
.catalog-embed .original-resource .filter-list .badge {background:var(--color-light);color:var(--color-key);
  font-size:var(--small);padding:2px 9px;border-radius:10px;font-weight:500;}
.catalog-embed .original-resource .cat-content {min-height:600px}
.catalog-embed .original-resource .cat-toolbar {display:flex;justify-content:space-between;align-items:center;
  margin-bottom:26px;padding-bottom:20px;border-bottom:1px solid var(--line);
  flex-wrap:wrap;gap:12px;}
.catalog-embed .original-resource .cat-toolbar .result-count {font-size:var(--body);color:var(--ink-mute)}
.catalog-embed .original-resource .cat-toolbar .result-count strong {color:var(--color-dark);font-weight:700;font-size:var(--body)}
.catalog-embed .original-resource .cat-products {display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px;}
@media (max-width:1000px) {
.catalog-embed .original-resource .cat-layout {grid-template-columns:1fr}
.catalog-embed .original-resource .cat-sidebar {position:static}
}
/* ============== BRANDS PAGE (Representaciones) ============== */
.catalog-embed .original-resource .brand-hero {background:linear-gradient(135deg, var(--color-light), var(--color-white));
  padding:80px 0;border-bottom:1px solid var(--line);}
.catalog-embed .original-resource .brands-grid-big {display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px;}
.catalog-embed .original-resource .brand-card-big {background:var(--color-white);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:0;cursor:pointer;text-align:center;overflow:hidden;
  transition:all .3s;position:relative;}
.catalog-embed .original-resource .brand-card-big:hover {transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:transparent}
.catalog-embed .original-resource .brand-card-big .head {height:140px;
  background:linear-gradient(135deg, var(--color-light), var(--color-white));
  display:flex;align-items:center;justify-content:center;
  border-bottom:1px solid var(--line);
  position:relative;overflow:hidden;}
.catalog-embed .original-resource .brand-card-big:hover .head {background:linear-gradient(135deg, var(--copper-50), var(--color-white))}
.catalog-embed .original-resource .brand-card-big .head::before {content:"";position:absolute;inset:0;
  background-image:radial-gradient(circle at 20% 80%, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 8%, transparent), transparent 60%);}
.catalog-embed .original-resource .brand-card-big .name {font-family:var(--font-main);font-size:var(--h4);color:var(--color-dark);
  font-weight:500;letter-spacing:-.02em;position:relative;z-index:2;}
.catalog-embed .original-resource .brand-card-big .body {padding:26px 24px}
.catalog-embed .original-resource .brand-card-big .tagline {font-size:var(--small);color:var(--color-key);letter-spacing:.12em;
  font-weight:500;text-transform:uppercase;margin-bottom:12px;}
.catalog-embed .original-resource .brand-card-big .desc {font-size:var(--small);color:var(--color-muted);line-height:1.55;margin:0 0 16px;}
.catalog-embed .original-resource .brand-card-big .link {font-size:var(--small);color:var(--color-key);font-weight:500;
  letter-spacing:.05em;display:inline-flex;gap:6px;align-items:center;}
.catalog-embed .original-resource .brand-card-big .link::after {content:"→";transition:transform .2s}
.catalog-embed .original-resource .brand-card-big:hover .link::after {transform:translateX(4px)}
/* ============== SERVICIOS PROFESIONALES ============== */
.catalog-embed .original-resource .services-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:0;
  background:var(--color-white);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;
  box-shadow:var(--shadow-sm);}
.catalog-embed .original-resource .service-cell {padding:44px 36px;border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  position:relative;transition:all .3s;}
.catalog-embed .original-resource .service-cell:hover {background:var(--color-light)}
.catalog-embed .original-resource .service-cell .icn {width:56px;height:56px;border-radius:14px;
  background:var(--copper-50);color:var(--color-key);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:20px;transition:all .3s;}
.catalog-embed .original-resource .service-cell:hover .icn {background:var(--color-key);color:var(--pb-theme-white,var(--color-white));transform:rotate(-5deg) scale(1.05)}
.catalog-embed .original-resource .service-cell .icn svg {width:28px;height:28px}
.catalog-embed .original-resource .service-cell h3 {font-family:var(--font-main);font-size:var(--card);font-weight:500;
  margin-bottom:10px;letter-spacing:0;color:var(--color-dark);}
.catalog-embed .original-resource .service-cell p {font-size:var(--small);color:var(--color-muted);margin:0;line-height:1.6}
/* ============== TIMELINE / PROCESS ============== */
.catalog-embed .original-resource .process {display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative}
.catalog-embed .original-resource .process-step {position:relative;text-align:center;padding:0 18px;}
.catalog-embed .original-resource .process-step::after {content:"";position:absolute;top:32px;right:-50%;width:100%;height:1px;
  background:linear-gradient(to right, var(--line), var(--color-key) 50%, var(--line));}
.catalog-embed .original-resource .process-step:last-child::after {display:none}
.catalog-embed .original-resource .process-num {width:64px;height:64px;border-radius:50%;
  background:var(--color-white);border:2px solid var(--color-key);
  color:var(--color-key);font-family:var(--font-main);font-size:var(--h5);font-weight:500;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 18px;position:relative;z-index:2;
  transition:all .3s;}
.catalog-embed .original-resource .process-step:hover .process-num {background:var(--color-key);color:var(--pb-theme-white,var(--color-white));transform:scale(1.1)}
.catalog-embed .original-resource .process-step h4 {margin-bottom:8px}
.catalog-embed .original-resource .process-step p {font-size:var(--small);color:var(--ink-mute);margin:0;line-height:1.5}
@media (max-width:880px) {
.catalog-embed .original-resource .process {grid-template-columns:1fr;gap:32px}
.catalog-embed .original-resource .process-step::after {display:none}
}
/* ============== TESTIMONIALS / NEWS ============== */
.catalog-embed .original-resource .news-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;}
.catalog-embed .original-resource .news-card {background:var(--color-white);border:1px solid var(--line);border-radius:var(--radius-lg);
  overflow:hidden;transition:all .3s;cursor:pointer;
  display:flex;flex-direction:column;}
.catalog-embed .original-resource .news-card:hover {transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:transparent}
.catalog-embed .original-resource .news-img {aspect-ratio:16/10;background:var(--color-light);overflow:hidden}
.catalog-embed .original-resource .news-img img {width:100%;height:100%;object-fit:cover;transition:transform .5s}
.catalog-embed .original-resource .news-card:hover .news-img img {transform:scale(1.05)}
.catalog-embed .original-resource .news-body {padding:24px}
.catalog-embed .original-resource .news-meta {display:flex;gap:12px;font-size:var(--small);color:var(--ink-mute);margin-bottom:10px;letter-spacing:.04em}
.catalog-embed .original-resource .news-meta .tag {color:var(--color-key);font-weight:700;text-transform:uppercase;letter-spacing:.1em}
.catalog-embed .original-resource .news-card h3 {font-family:var(--font-main);font-size:var(--card);font-weight:500;margin-bottom:10px;letter-spacing:0;color:var(--color-dark);line-height:1.35}
.catalog-embed .original-resource .news-card p {font-size:var(--small);color:var(--color-muted);margin:0 0 14px;line-height:1.55}
.catalog-embed .original-resource .news-card .read {font-size:var(--small);color:var(--color-key);font-weight:500}
/* ============== CTA STRIPE ============== */
.catalog-embed .original-resource .cta-strip {background:linear-gradient(110deg, var(--color-dark) 0%, var(--navy-700) 100%);
  color:var(--color-white);padding:80px 0;position:relative;overflow:hidden;}
.catalog-embed .original-resource .cta-strip::before {content:"";position:absolute;right:-80px;top:50%;transform:translateY(-50%);
  width:500px;height:500px;border-radius:50%;
  background:radial-gradient(circle, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 25%, transparent), transparent 70%);}
.catalog-embed .original-resource .cta-strip::after {content:"";position:absolute;left:-100px;bottom:-100px;
  width:300px;height:300px;border-radius:50%;
  background:radial-gradient(circle, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 20%, transparent), transparent 70%);}
.catalog-embed .original-resource .cta-strip .container {display:flex;align-items:center;justify-content:space-between;gap:40px;
  flex-wrap:wrap;position:relative;z-index:1;}
.catalog-embed .original-resource .cta-strip h2 {color:var(--color-white);max-width:660px;margin-bottom:8px}
.catalog-embed .original-resource .cta-strip h2 em {color:var(--color-key);font-style:italic;font-weight:400}
.catalog-embed .original-resource .cta-strip p {color:var(--color-line);font-size:var(--body);margin:0;max-width:600px;font-weight:400}
/* ============== CONTACT ============== */
.catalog-embed .original-resource .contact-layout {display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:start}
.catalog-embed .original-resource .contact-info-card {background:linear-gradient(135deg, var(--color-dark), var(--navy-700));
  color:var(--color-white);border-radius:var(--radius-lg);padding:42px;
  position:relative;overflow:hidden;}
.catalog-embed .original-resource .contact-info-card::before {content:"";position:absolute;right:-60px;top:-60px;
  width:200px;height:200px;border-radius:50%;
  background:radial-gradient(circle, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 25%, transparent), transparent 70%);}
.catalog-embed .original-resource .contact-info-card h3 {color:var(--color-white);font-size:var(--h5);margin-bottom:8px}
.catalog-embed .original-resource .contact-info-card .sub {color:var(--color-line);font-size:var(--body);margin-bottom:32px;font-weight:400}
.catalog-embed .original-resource .contact-info-card dl {margin:0;display:grid;gap:24px;position:relative;z-index:2}
.catalog-embed .original-resource .contact-info-card dt {font-size:var(--small);letter-spacing:.18em;text-transform:uppercase;
  color:var(--color-key);font-weight:500;margin-bottom:6px;
  display:flex;align-items:center;gap:8px;}
.catalog-embed .original-resource .contact-info-card dt svg {width:14px;height:14px}
.catalog-embed .original-resource .contact-info-card dd {margin:0;font-size:var(--body);color:var(--color-white);line-height:1.5;font-weight:400}
.catalog-embed .original-resource .contact-info-card dd a {color:var(--color-white)}
.catalog-embed .original-resource .contact-info-card dd a:hover {color:var(--color-key)}
.catalog-embed .original-resource .contact-info-card .social-row {margin-top:36px;padding-top:26px;border-top:1px solid var(--color-line);
  display:flex;gap:12px;}
.catalog-embed .original-resource .contact-info-card .social-row a {width:40px;height:40px;border-radius:50%;
  background:var(--color-line);
  display:flex;align-items:center;justify-content:center;color:var(--color-white);
  transition:all .25s;}
.catalog-embed .original-resource .contact-info-card .social-row a:hover {background:var(--color-key);transform:translateY(-2px)}
.catalog-embed .original-resource .contact-info-card .social-row svg {width:18px;height:18px}
.catalog-embed .original-resource .contact-form {background:var(--color-white);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:42px;box-shadow:var(--shadow-md);}
.catalog-embed .original-resource .contact-form h3 {font-family:var(--font-main);font-size:var(--h5);margin-bottom:8px}
.catalog-embed .original-resource .contact-form p.sub {font-size:var(--body);color:var(--ink-mute);margin:0 0 26px}
.catalog-embed .original-resource .form-grid {display:grid;grid-template-columns:1fr 1fr;gap:14px}
.catalog-embed .original-resource .form-grid .full {grid-column:1/-1}
.catalog-embed .original-resource .field {display:block;margin-bottom:14px}
.catalog-embed .original-resource .field label {display:block;font-size:var(--small);font-weight:500;color:var(--color-muted);
  margin-bottom:6px;letter-spacing:.02em;}
.catalog-embed .original-resource .field input, .catalog-embed .original-resource .field select, .catalog-embed .original-resource .field textarea {width:100%;padding:12px 14px;border:1px solid var(--line-strong);
  border-radius:6px;font-family:inherit;font-size:var(--small);color:var(--color-dark);
  background:var(--color-white);transition:all .2s;}
.catalog-embed .original-resource .field input:focus, .catalog-embed .original-resource .field select:focus, .catalog-embed .original-resource .field textarea:focus {outline:none;border-color:var(--color-key);box-shadow:0 0 0 3px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 16%, transparent);}
.catalog-embed .original-resource .field textarea {min-height:120px;resize:vertical}
.catalog-embed .original-resource .contact-form button {width:100%;background:var(--color-key);color:var(--pb-theme-white,var(--color-white));
  padding:14px;border-radius:6px;font-weight:500;font-size:var(--body);
  transition:all .2s;
  box-shadow:0 4px 14px -2px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 40%, transparent);}
.catalog-embed .original-resource .contact-form button:hover {background:var(--color-key);transform:translateY(-1px)}
@media (max-width:880px) {
.catalog-embed .original-resource .contact-layout {grid-template-columns:1fr}
}
/* ============== FOOTER ============== */
.catalog-embed .original-resource footer.site {background:var(--color-dark);color:var(--color-muted);padding:72px 0 28px;}
.catalog-embed .original-resource .footer-grid {display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:56px;
  padding-bottom:48px;border-bottom:1px solid var(--color-line);}
.catalog-embed .original-resource .footer-brand img {height:54px;margin-bottom:22px;filter:brightness(0) invert(1) opacity(.95)}
.catalog-embed .original-resource .footer-brand p {font-size:var(--small);line-height:1.65;color:var(--color-muted);max-width:340px;margin:0 0 22px}
.catalog-embed .original-resource .footer-brand .social {display:flex;gap:10px}
.catalog-embed .original-resource .footer-brand .social a {width:36px;height:36px;border-radius:50%;background:var(--color-line);
  display:flex;align-items:center;justify-content:center;color:var(--color-muted);
  transition:all .25s;}
.catalog-embed .original-resource .footer-brand .social a:hover {background:var(--color-key);color:var(--pb-theme-white,var(--color-white))}
.catalog-embed .original-resource .footer-brand .social svg {width:16px;height:16px}
.catalog-embed .original-resource footer.site h5 {font-family:var(--font-main);font-size:var(--small);letter-spacing:.18em;
  text-transform:uppercase;color:var(--color-white);margin:0 0 18px;font-weight:500;}
.catalog-embed .original-resource footer.site ul {list-style:none;padding:0;margin:0;display:grid;gap:10px}
.catalog-embed .original-resource footer.site a {color:var(--color-muted);font-size:var(--small);transition:color .2s}
.catalog-embed .original-resource footer.site a:hover {color:var(--color-key)}
.catalog-embed .original-resource .footer-bottom {padding-top:28px;display:flex;justify-content:space-between;
  font-size:var(--small);color:var(--color-muted);flex-wrap:wrap;gap:14px;}
@media (max-width:880px) {
.catalog-embed .original-resource .footer-grid {grid-template-columns:1fr 1fr;gap:40px}
}
/* ============== VIEW SWITCHING ============== */
.catalog-embed .original-resource .view {display:block;animation:catalog-fadeView .5s ease both}
.catalog-embed .original-resource #view-detalle {display:none}
.catalog-embed .original-resource .view.active {display:block}
@keyframes catalog-fadeView {from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
/* ============== MODAL ============== */
.catalog-embed .original-resource .modal-bg {position:fixed;inset:0;background:color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 65%, transparent);
  display:none;align-items:center;justify-content:center;
  z-index:200;padding:20px;backdrop-filter:blur(6px);}
.catalog-embed .original-resource .modal-bg.show {display:flex;animation:catalog-modalFade .25s ease}
@keyframes catalog-modalFade {from{opacity:0}to{opacity:1}}
.catalog-embed .original-resource .modal {background:var(--color-white);border-radius:var(--radius-lg);
  max-width:560px;width:100%;padding:42px;box-shadow:var(--shadow-xl);
  position:relative;animation:catalog-modalSlide .35s cubic-bezier(.4,0,.2,1);}
@keyframes catalog-modalSlide {from{transform:translateY(30px) scale(.96);opacity:0}to{transform:none;opacity:1}}
.catalog-embed .original-resource .modal-close {position:absolute;top:14px;right:14px;
  font-size:var(--h5);color:var(--ink-mute);width:38px;height:38px;
  display:flex;align-items:center;justify-content:center;border-radius:50%;
  transition:all .2s;}
.catalog-embed .original-resource .modal-close:hover {background:var(--color-light);color:var(--color-dark)}
.catalog-embed .original-resource .modal h3 {font-family:var(--font-main);font-size:var(--h4);margin-bottom:6px}
.catalog-embed .original-resource .modal p.sub {color:var(--ink-mute);margin:0 0 22px;font-size:var(--small)}
.catalog-embed .original-resource .modal .product-tag {background:var(--color-light);color:var(--color-key);
  padding:12px 16px;border-radius:6px;font-size:var(--small);
  margin-bottom:22px;border-left:3px solid var(--color-key);font-weight:500;}
/* ============== DETAIL PAGE ============== */
.catalog-embed .original-resource .detail-hero {background:linear-gradient(135deg, var(--color-light), var(--color-white));
  padding:64px 0 48px;border-bottom:1px solid var(--line);}
.catalog-embed .original-resource .detail-hero .container {display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.catalog-embed .original-resource .detail-img-wrap {background:var(--color-white);border:1px solid var(--line);border-radius:var(--radius-lg);
  overflow:hidden;aspect-ratio:1;
  box-shadow:var(--shadow-md);}
.catalog-embed .original-resource .detail-img-wrap img {width:100%;height:100%;object-fit:cover}
.catalog-embed .original-resource .detail-info .crumb {font-size:var(--small);color:var(--ink-mute);margin-bottom:18px;
  display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.catalog-embed .original-resource .detail-info .crumb a {color:var(--ink-mute)}
.catalog-embed .original-resource .detail-info .crumb a:hover {color:var(--color-key)}
.catalog-embed .original-resource .detail-info .crumb span.current {color:var(--color-key)}
.catalog-embed .original-resource .detail-info .brand-pill {display:inline-block;font-size:var(--small);font-weight:500;letter-spacing:.18em;
  text-transform:uppercase;color:var(--pb-theme-white,var(--color-white));background:var(--color-key);
  padding:6px 14px;border-radius:3px;margin-bottom:20px;}
.catalog-embed .original-resource .detail-info h1 {font-size:var(--h2);margin-bottom:16px}
.catalog-embed .original-resource .detail-info p.lead {color:var(--color-muted);font-size:var(--card);margin-bottom:28px;line-height:1.7}
.catalog-embed .original-resource .detail-features {list-style:none;padding:0;margin:0 0 32px;display:grid;gap:12px;}
.catalog-embed .original-resource .detail-features li {display:flex;align-items:flex-start;gap:12px;font-size:var(--body);color:var(--color-dark);}
.catalog-embed .original-resource .detail-features li svg {width:20px;height:20px;color:var(--color-key);flex-shrink:0;margin-top:2px;}
.catalog-embed .original-resource .detail-actions {display:flex;gap:14px;flex-wrap:wrap}
@media (max-width:880px) {
.catalog-embed .original-resource .detail-hero .container {grid-template-columns:1fr;gap:36px}
}
/* ============== UTILS ============== */
.catalog-embed .original-resource .no-results {text-align:center;padding:80px 24px;color:var(--ink-mute);
  background:var(--color-white);border:1px dashed var(--line-strong);border-radius:var(--radius-lg);}
.catalog-embed .original-resource .no-results svg {width:64px;height:64px;color:var(--navy-200);margin:0 auto 16px}
/* ============== ANIMATIONS REVEAL ============== */
.catalog-embed .original-resource .reveal {opacity:0;transform:translateY(30px);transition:all .8s cubic-bezier(.4,0,.2,1)}
.catalog-embed .original-resource .reveal.visible {opacity:1;transform:none}
/* ============================================================
   SISTEMA DE SECCIONES PARALLAX · actualizado
   Fondo full screen por sección, respetando el .container interno.
   Se eliminaron los chips/etiquetas de tipo de sección.
   ============================================================ */
.catalog-embed .original-resource .parallax-section {position:relative;
  isolation:isolate;
  overflow:hidden;
  background-color:transparent;}
.catalog-embed .original-resource .parallax-section > .section-parallax-bg {position:absolute;
  top:-24%;
  bottom:-24%;
  left:50%;
  width:100vw;
  margin-left:-50vw;
  z-index:0;
  pointer-events:none;
  opacity:.92;
  transform:translate3d(0,0,0) scale(1.08);
  will-change:transform;
  background:
    radial-gradient(circle at 15% 20%, transparent, transparent 34%),
    radial-gradient(circle at 88% 22%, transparent, transparent 32%),
    linear-gradient(135deg, var(--color-white), var(--color-white));}
.catalog-embed .original-resource .parallax-section.parallax-dark > .section-parallax-bg {opacity:.82;
  background:
    radial-gradient(circle at 18% 24%, transparent, transparent 34%),
    radial-gradient(circle at 88% 18%, transparent, transparent 36%),
    linear-gradient(135deg, var(--color-dark), var(--color-dark));}
.catalog-embed .original-resource .parallax-section.parallax-tinted > .section-parallax-bg {opacity:.96;
  background:
    radial-gradient(circle at 16% 18%, transparent, transparent 30%),
    radial-gradient(circle at 84% 22%, transparent, transparent 30%),
    linear-gradient(135deg, var(--color-white), var(--color-light));}
.catalog-embed .original-resource .parallax-section.parallax-catalog > .section-parallax-bg {opacity:.86;
  background:
    radial-gradient(circle at 80% 20%, transparent, transparent 40%),
    radial-gradient(circle at 20% 78%, transparent, transparent 36%),
    linear-gradient(135deg, var(--color-dark), var(--color-dark));}
.catalog-embed .original-resource .parallax-section.parallax-carded > .section-parallax-bg {opacity:.94;
  background:
    radial-gradient(circle at 14% 22%, transparent, transparent 28%),
    radial-gradient(circle at 82% 16%, transparent, transparent 30%),
    linear-gradient(135deg, var(--color-white), var(--color-white));}
.catalog-embed .original-resource .parallax-section.parallax-hero > .section-parallax-bg {display:none;}
.catalog-embed .original-resource .parallax-section > .container, .catalog-embed .original-resource .parallax-section > .hero-slide, .catalog-embed .original-resource .parallax-section > .hero-floating, .catalog-embed .original-resource .parallax-section > .hero-nav, .catalog-embed .original-resource .parallax-section > .marquee-track, .catalog-embed .original-resource .parallax-section > .cat-hero, .catalog-embed .original-resource .parallax-section > .detail-hero {position:relative;
  z-index:2;}
.catalog-embed .original-resource .parallax-section > .container {max-width:var(--container);}
.catalog-embed .original-resource .section-type-chip {display:none !important;}
.catalog-embed .original-resource .parallax-section.block, .catalog-embed .original-resource .parallax-section.stats-bar, .catalog-embed .original-resource .parallax-section.cta-strip {transform:translateZ(0);}
@media (prefers-reduced-motion:reduce) {
.catalog-embed .original-resource .parallax-section > .section-parallax-bg {transform:none!important;will-change:auto}
}
/* ============================================================
   AJUSTE SOLICITADO · sin topbar / sin header / vistas full screen
   Se oculta la franja superior y la navegación original.
   Cada vista principal ocupa al menos el alto completo de la pantalla,
   preservando el ancho y la forma de sus contenedores internos.
   ============================================================ */
.catalog-embed .original-resource .topbar, .catalog-embed .original-resource header.site, .catalog-embed .original-resource #menu-overlay {display:none !important;}
.catalog-embed .original-resource .hero {height:100svh;
  min-height:100svh;}
.catalog-embed .original-resource .marquee-section, .catalog-embed .original-resource section.block, .catalog-embed .original-resource .stats-bar, .catalog-embed .original-resource .cta-strip, .catalog-embed .original-resource .cat-hero, .catalog-embed .original-resource .detail-hero {min-height:100svh;
  display:flex;
  align-items:center;}
.catalog-embed .original-resource .marquee-section > .container, .catalog-embed .original-resource section.block > .container, .catalog-embed .original-resource .stats-bar > .container, .catalog-embed .original-resource .cta-strip > .container, .catalog-embed .original-resource .cat-hero > .container, .catalog-embed .original-resource .detail-hero > .container {width:100%;}
.catalog-embed .original-resource .marquee-section {padding:64px 0;}
.catalog-embed .original-resource section.block, .catalog-embed .original-resource .stats-bar, .catalog-embed .original-resource .cta-strip, .catalog-embed .original-resource .cat-hero, .catalog-embed .original-resource .detail-hero {padding-top:clamp(72px, 9vh, 112px);
  padding-bottom:clamp(72px, 9vh, 112px);}
.catalog-embed .original-resource section.block.tight {min-height:72svh;}
.catalog-embed .original-resource .view > .cat-hero + section.block {border-top:1px solid var(--color-line);}
@media (max-width: 1100px) {
.catalog-embed .original-resource .hero, .catalog-embed .original-resource .marquee-section, .catalog-embed .original-resource section.block, .catalog-embed .original-resource .stats-bar, .catalog-embed .original-resource .cta-strip, .catalog-embed .original-resource .cat-hero, .catalog-embed .original-resource .detail-hero {min-height:100svh;}
}
@media (max-width: 880px) {
.catalog-embed .original-resource .marquee-section, .catalog-embed .original-resource section.block, .catalog-embed .original-resource .stats-bar, .catalog-embed .original-resource .cta-strip, .catalog-embed .original-resource .cat-hero, .catalog-embed .original-resource .detail-hero {align-items:center;
    padding-top:64px;
    padding-bottom:64px;}
}
/* ============================================================
   AJUSTES FINALES · banner full screen / marquee centrado /
   una sola fila en categorías y destacados
   ============================================================ */
.catalog-embed .original-resource .hero {height:100vh !important;
  min-height:100vh !important;}
.catalog-embed .original-resource .hero-content {min-height:100vh;}
.catalog-embed .original-resource .marquee-section {display:flex !important;
  flex-direction:column !important;
  justify-content:center;
  align-items:center;}
.catalog-embed .original-resource .marquee-section > .container {width:100%;
  display:flex;
  justify-content:center;}
.catalog-embed .original-resource .marquee-label {width:max-content;
  max-width:100%;
  margin:0 auto 26px;
  text-align:center;
  white-space:nowrap;}
.catalog-embed .original-resource .marquee-track {max-width:none;}
.catalog-embed .original-resource .spec-grid {grid-template-columns:repeat(5, minmax(0, 1fr));}
.catalog-embed .original-resource .featured-grid {grid-template-columns:repeat(4, minmax(0, 1fr));}
@media (max-width: 1400px) {
.catalog-embed .original-resource .spec-grid {grid-template-columns:repeat(5, minmax(190px, 1fr));}
.catalog-embed .original-resource .featured-grid {grid-template-columns:repeat(4, minmax(240px, 1fr));}
}
@media (max-width: 1100px) {
.catalog-embed .original-resource .marquee-label {white-space:normal;
    line-height:1.5;
    text-wrap:balance;}
.catalog-embed .original-resource .spec-grid {grid-template-columns:repeat(3, minmax(0, 1fr));}
.catalog-embed .original-resource .featured-grid {grid-template-columns:repeat(2, minmax(0, 1fr));}
}
@media (max-width: 760px) {
.catalog-embed .original-resource .hero, .catalog-embed .original-resource .hero-content {height:100svh !important;
    min-height:100svh !important;}
.catalog-embed .original-resource .marquee-label {white-space:normal;}
.catalog-embed .original-resource .spec-grid, .catalog-embed .original-resource .featured-grid {grid-template-columns:1fr;}
}
/* ============================================================
   CORRECCIÓN FINAL · una sola página y banner funcional
   ============================================================ */
.catalog-embed .original-resource .view, .catalog-embed .original-resource .view.active {display:block !important;}
.catalog-embed .original-resource #view-detalle:empty, .catalog-embed .original-resource #view-detalle {display:none !important;}
.catalog-embed .original-resource #hero-slider.hero {width:100%;
  height:100vh !important;
  min-height:100vh !important;
  max-height:none !important;
  padding:0 !important;
  background:var(--color-dark);}
.catalog-embed .original-resource #hero-slider .hero-slide {position:absolute;
  inset:0;
  opacity:0;
  visibility:hidden;
  z-index:0;
  pointer-events:none;
  transition:opacity .85s ease, visibility .85s ease;}
.catalog-embed .original-resource #hero-slider .hero-slide.active {opacity:1;
  visibility:visible;
  z-index:2;
  pointer-events:auto;}
.catalog-embed .original-resource #hero-slider .hero-bg, .catalog-embed .original-resource #hero-slider .hero-overlay, .catalog-embed .original-resource #hero-slider .hero-grid-overlay, .catalog-embed .original-resource #hero-slider .hero-content {position:absolute;
  inset:0;
  width:100%;
  height:100%;
  min-height:100vh;}
.catalog-embed .original-resource #hero-slider .hero-content {z-index:3;
  display:flex;
  align-items:center;}
.catalog-embed .original-resource #hero-slider .hero-bg {background-size:cover !important;
  background-position:center !important;}
.catalog-embed .original-resource #hero-slider .hero-slide.active .hero-bg {transform:scale(1);}
.catalog-embed .original-resource .marquee-section {min-height:100vh;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:30px;}
.catalog-embed .original-resource .marquee-section > .container {max-width:none !important;
  width:100% !important;
  padding:0 28px !important;
  display:flex;
  justify-content:center;}
.catalog-embed .original-resource .marquee-label {display:block;
  width:max-content;
  max-width:calc(100vw - 56px);
  margin:0 auto !important;
  text-align:center !important;
  white-space:nowrap !important;
  line-height:1.2;}
.catalog-embed .original-resource .marquee-track {align-self:flex-start;}
.catalog-embed .original-resource #view-inicio .spec-grid {grid-template-columns:repeat(5, minmax(0, 1fr)) !important;}
.catalog-embed .original-resource #view-inicio #featured-grid {grid-template-columns:repeat(4, minmax(0, 1fr)) !important;}
@media (max-width:1100px) {
.catalog-embed .original-resource #view-inicio .spec-grid {grid-template-columns:repeat(3, minmax(0,1fr)) !important;}
.catalog-embed .original-resource #view-inicio #featured-grid {grid-template-columns:repeat(2, minmax(0,1fr)) !important;}
}
@media (max-width:760px) {
.catalog-embed .original-resource #hero-slider.hero {height:100svh !important;min-height:100svh !important;}
.catalog-embed .original-resource .marquee-label {white-space:normal !important;}
.catalog-embed .original-resource #view-inicio .spec-grid, .catalog-embed .original-resource #view-inicio #featured-grid {grid-template-columns:1fr !important;}
}
/* ============================================================
   AJUSTE HERO NAV · centrado abajo
   Corrige el override del sistema parallax.
   ============================================================ */
.catalog-embed .original-resource #hero-slider.hero.parallax-section > .hero-nav, .catalog-embed .original-resource #hero-slider .hero-nav {position:absolute !important;
  left:50% !important;
  right:auto !important;
  top:auto !important;
  bottom:24px !important;
  transform:translateX(-50%) !important;
  display:flex !important;
  align-items:center;
  justify-content:center;
  gap:24px;
  width:auto;
  margin:0;
  z-index:8;}
.catalog-embed .original-resource #hero-slider .hero-dot {flex:0 0 auto;}
@media (max-width: 760px) {
.catalog-embed .original-resource #hero-slider.hero.parallax-section > .hero-nav, .catalog-embed .original-resource #hero-slider .hero-nav {bottom:18px !important;
    gap:18px;}
}
/* ============================================================
   SECCIONES IMPORTADAS DESDE INDEX · adaptadas al estilo P07
   ============================================================ */
.catalog-embed .original-resource .imported-section .section-head {margin-bottom:48px;}
.catalog-embed .original-resource .p07-gallery {display:grid;
  grid-template-columns:repeat(4,1fr);
  grid-auto-rows:180px;
  gap:18px;}
.catalog-embed .original-resource .p07-gallery-item {border:1px solid var(--line);
  border-radius:var(--radius-lg);
  background:
    linear-gradient(135deg, var(--color-dark), var(--color-line)),
    radial-gradient(circle at 80% 20%, transparent, transparent 48%);
  color:var(--color-white);
  min-height:180px;
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  padding:24px;
  overflow:hidden;
  position:relative;
  transition:all .28s ease;
  box-shadow:var(--shadow-sm);}
.catalog-embed .original-resource .p07-gallery-item::before {content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, transparent, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 20%, transparent));
  opacity:0;
  transition:opacity .28s ease;}
.catalog-embed .original-resource .p07-gallery-item:hover {transform:translateY(-4px);
  box-shadow:var(--shadow-lg);}
.catalog-embed .original-resource .p07-gallery-item:hover::before {opacity:1}
.catalog-embed .original-resource .p07-gallery-item span {position:relative;
  z-index:2;
  font-family:var(--font-main);
  font-size:var(--h4);}
.catalog-embed .original-resource .p07-gallery-item.tall {grid-row:span 2}
.catalog-embed .original-resource .p07-gallery-item.wide {grid-column:span 2}
.catalog-embed .original-resource .p07-accordion {background:var(--color-white);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--shadow-sm);}
.catalog-embed .original-resource .p07-accordion-item + .p07-accordion-item {border-top:1px solid var(--line)}
.catalog-embed .original-resource .p07-accordion-item button {width:100%;
  padding:26px 30px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  color:var(--color-dark);
  font-size:var(--card);
  font-weight:700;
  text-align:left;}
.catalog-embed .original-resource .p07-accordion-item button span {color:var(--color-key);
  font-size:var(--h5);
  line-height:1;
  transition:transform .25s ease;}
.catalog-embed .original-resource .p07-accordion-content {max-height:0;
  overflow:hidden;
  transition:max-height .32s ease;}
.catalog-embed .original-resource .p07-accordion-content p {margin:0;
  padding:0 30px 26px;
  color:var(--color-muted);
  max-width:760px;}
.catalog-embed .original-resource .p07-accordion-item.open .p07-accordion-content {max-height:180px}
.catalog-embed .original-resource .p07-accordion-item.open button span {transform:rotate(45deg)}
.catalog-embed .original-resource .p07-tabs {background:var(--color-white);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--shadow-md);}
.catalog-embed .original-resource .p07-tab-buttons {display:grid;
  grid-template-columns:repeat(3,1fr);
  border-bottom:1px solid var(--line);}
.catalog-embed .original-resource .p07-tab-buttons button {padding:18px 22px;
  color:var(--color-dark);
  font-weight:700;
  border-right:1px solid var(--line);}
.catalog-embed .original-resource .p07-tab-buttons button:last-child {border-right:none}
.catalog-embed .original-resource .p07-tab-buttons button.active {background:var(--color-dark);
  color:var(--color-white);}
.catalog-embed .original-resource .p07-tab-panel {display:none;
  padding:38px;}
.catalog-embed .original-resource .p07-tab-panel.active {display:block}
.catalog-embed .original-resource .p07-tab-panel h3 {font-family:var(--font-main);
  font-size:var(--h3);
  margin-bottom:12px;}
.catalog-embed .original-resource .p07-tab-panel p {color:var(--color-muted);
  max-width:820px;
  margin:0;}
.catalog-embed .original-resource .p07-benefit-grid, .catalog-embed .original-resource .p07-pricing {display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;}
.catalog-embed .original-resource .p07-benefit-grid article, .catalog-embed .original-resource .p07-pricing article, .catalog-embed .original-resource .p07-testimonials article {background:var(--color-white);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:32px;
  box-shadow:var(--shadow-sm);}
.catalog-embed .original-resource .p07-benefit-grid article span {color:var(--color-key);
  font-weight:700;
  letter-spacing:.12em;}
.catalog-embed .original-resource .p07-benefit-grid article h3, .catalog-embed .original-resource .p07-pricing article h3 {font-family:var(--font-main);
  font-size:var(--card);
  margin:18px 0 10px;}
.catalog-embed .original-resource .p07-benefit-grid article p, .catalog-embed .original-resource .p07-pricing article p {color:var(--color-muted);
  margin:0;}
.catalog-embed .original-resource .p07-testimonials {display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;}
.catalog-embed .original-resource .p07-testimonials article {background:linear-gradient(135deg, var(--color-white), var(--color-light));}
.catalog-embed .original-resource .p07-testimonials p {font-family:var(--font-main);
  font-size:var(--h4);
  line-height:1.28;
  color:var(--color-dark);
  margin:0 0 24px;}
.catalog-embed .original-resource .p07-testimonials strong {display:block;
  color:var(--color-key);
  font-weight:700;
  margin-bottom:4px;}
.catalog-embed .original-resource .p07-testimonials span {color:var(--ink-mute);
  font-size:var(--small);}
.catalog-embed .original-resource .p07-pricing article {min-height:330px;
  display:flex;
  flex-direction:column;}
.catalog-embed .original-resource .p07-pricing article strong {display:block;
  font-family:var(--font-main);
  font-size:var(--h2);
  color:var(--color-dark);
  margin:12px 0;}
.catalog-embed .original-resource .p07-pricing article.featured {background:linear-gradient(135deg, var(--color-dark), var(--navy-700));
  color:var(--color-white);
  transform:translateY(-12px);
  box-shadow:var(--shadow-lg);}
.catalog-embed .original-resource .p07-pricing article.featured h3, .catalog-embed .original-resource .p07-pricing article.featured strong {color:var(--color-white)}
.catalog-embed .original-resource .p07-pricing article.featured p {color:var(--color-line)}
.catalog-embed .original-resource .p07-pricing article button {margin-top:auto;
  width:100%;
  padding:13px;
  border-radius:6px;
  font-weight:700;}
.catalog-embed .original-resource .p07-before-after {height:440px;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  overflow:hidden;
  position:relative;
  background:var(--color-dark);
  box-shadow:var(--shadow-md);}
.catalog-embed .original-resource .p07-before, .catalog-embed .original-resource .p07-after {position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  font-family:var(--font-main);
  font-size:var(--h1);
  color:var(--color-white);
  font-weight:500;}
.catalog-embed .original-resource .p07-before {background:
    linear-gradient(135deg, var(--color-dark), var(--color-dark)),
    radial-gradient(circle at 15% 20%, transparent, transparent 42%);}
.catalog-embed .original-resource .p07-after {width:50%;
  overflow:hidden;
  background:
    linear-gradient(135deg, var(--color-muted), var(--color-muted));
  color:var(--color-dark);}
.catalog-embed .original-resource .p07-before-after input {position:absolute;
  left:50%;
  bottom:28px;
  transform:translateX(-50%);
  width:min(560px,82%);
  accent-color:var(--color-key);
  z-index:4;}
.catalog-embed .original-resource .p07-depth-section {background:var(--color-dark);}
.catalog-embed .original-resource .p07-depth-banner {min-height:420px;
  border:1px solid var(--color-line);
  border-radius:var(--radius-lg);
  position:relative;
  overflow:hidden;
  display:grid;
  place-items:center;
  text-align:center;
  padding:50px;
  background:linear-gradient(135deg, var(--color-dark), var(--color-dark));}
.catalog-embed .original-resource .p07-depth-shape {position:absolute;
  width:460px;
  height:460px;
  border-radius:50%;
  background:radial-gradient(circle, transparent, transparent 64%);
  opacity:.7;}
.catalog-embed .original-resource .p07-depth-banner h2 {position:relative;
  z-index:2;
  color:var(--color-white);
  max-width:820px;}
.catalog-embed .original-resource .p07-depth-banner h2 em {color:var(--color-key);
  font-style:italic;
  font-weight:400;}
.catalog-embed .original-resource .p07-depth-banner p {position:relative;
  z-index:2;
  color:var(--color-line);
  max-width:680px;
  margin:20px auto 0;}
.catalog-embed .original-resource .p07-lightbox {position:fixed;
  inset:0;
  z-index:250;
  display:none;
  place-items:center;
  background:var(--color-dark);
  backdrop-filter:blur(8px);
  padding:24px;}
.catalog-embed .original-resource .p07-lightbox.open {display:grid}
.catalog-embed .original-resource .p07-lightbox button {position:absolute;
  top:22px;
  right:22px;
  width:44px;
  height:44px;
  border-radius:50%;
  background:var(--color-white);
  color:var(--color-dark);
  font-size:var(--h4);
  line-height:1;
  box-shadow:var(--shadow-md);}
.catalog-embed .original-resource .p07-lightbox-content {width:min(860px,100%);
  min-height:520px;
  border-radius:var(--radius-lg);
  display:grid;
  place-items:center;
  text-align:center;
  padding:40px;
  color:var(--color-white);
  font-family:var(--font-main);
  font-size:var(--h1);
  background:
    linear-gradient(135deg, var(--color-dark), var(--color-dark)),
    radial-gradient(circle at 70% 30%, transparent, transparent 48%);
  box-shadow:var(--shadow-xl);}
@media (max-width:1100px) {
.catalog-embed .original-resource .p07-gallery {grid-template-columns:1fr 1fr}
.catalog-embed .original-resource .p07-benefit-grid, .catalog-embed .original-resource .p07-pricing {grid-template-columns:1fr}
.catalog-embed .original-resource .p07-pricing article.featured {transform:none}
}
@media (max-width:760px) {
.catalog-embed .original-resource .p07-gallery, .catalog-embed .original-resource .p07-testimonials, .catalog-embed .original-resource .p07-tab-buttons {grid-template-columns:1fr}
.catalog-embed .original-resource .p07-gallery-item.tall, .catalog-embed .original-resource .p07-gallery-item.wide {grid-column:auto;grid-row:auto}
.catalog-embed .original-resource .p07-tab-buttons button {border-right:none;border-bottom:1px solid var(--line)}
.catalog-embed .original-resource .p07-tab-buttons button:last-child {border-bottom:none}
.catalog-embed .original-resource .p07-before-after {height:340px}
}
/* ============================================================
   SECCIONES FALTANTES DESDE INDEX · adaptadas al estilo P07
   Carrusel / catálogo filtrable / timeline vertical
   ============================================================ */
.catalog-embed .original-resource .p07-index-carousel {position:relative;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  background:var(--color-white);
  box-shadow:var(--shadow-md);}
.catalog-embed .original-resource .p07-index-carousel-track {display:flex;
  transition:transform .5s cubic-bezier(.4,0,.2,1);}
.catalog-embed .original-resource .p07-index-slide {min-width:100%;
  display:grid;
  grid-template-columns:1.1fr .9fr;
  min-height:420px;
  background:
    linear-gradient(135deg, var(--color-white), var(--color-light));}
.catalog-embed .original-resource .p07-index-slide-copy {padding:52px;
  display:flex;
  flex-direction:column;
  justify-content:center;}
.catalog-embed .original-resource .p07-index-slide-copy small {color:var(--color-key);
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:700;}
.catalog-embed .original-resource .p07-index-slide-copy h3 {font-size:var(--h1);
  margin:16px 0 18px;
  max-width:760px;}
.catalog-embed .original-resource .p07-index-slide-copy p {color:var(--color-muted);
  font-size:var(--body);
  max-width:640px;
  margin:0;}
.catalog-embed .original-resource .p07-index-slide-visual {position:relative;
  min-height:420px;
  display:grid;
  place-items:center;
  padding:42px;
  overflow:hidden;
  color:var(--color-white);
  background:
    linear-gradient(135deg, var(--color-dark), var(--color-dark)),
    radial-gradient(circle at 70% 24%, transparent, transparent 46%);}
.catalog-embed .original-resource .p07-index-slide-visual::before {content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 5%, transparent) 1px, transparent 1px),
    linear-gradient(90deg, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 5%, transparent) 1px, transparent 1px);
  background-size:46px 46px;
  opacity:.55;}
.catalog-embed .original-resource .p07-index-slide-visual span {position:relative;
  z-index:2;
  font-family:var(--font-main);
  font-size:var(--h1);
  line-height:.95;
  text-align:center;
  color:var(--color-white);}
.catalog-embed .original-resource .p07-index-carousel-controls {position:absolute;
  right:24px;
  bottom:24px;
  display:flex;
  gap:10px;
  z-index:8;}
.catalog-embed .original-resource .p07-index-carousel-controls button {width:44px;
  height:44px;
  border-radius:50%;
  background:var(--color-key);
  color:var(--pb-theme-white,var(--color-white));
  font-weight:700;
  box-shadow:0 8px 24px -10px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 70%, transparent);}
.catalog-embed .original-resource .p07-index-carousel-controls button:hover {background:var(--color-key);}
.catalog-embed .original-resource .p07-index-carousel-dots {position:absolute;
  left:52px;
  bottom:32px;
  display:flex;
  gap:10px;
  z-index:8;}
.catalog-embed .original-resource .p07-index-carousel-dots button {width:34px;
  height:4px;
  border-radius:20px;
  background:var(--navy-200);
  transition:all .25s ease;}
.catalog-embed .original-resource .p07-index-carousel-dots button.active {width:54px;
  background:var(--color-key);}
.catalog-embed .original-resource .p07-index-catalog-tools {display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
  margin-bottom:24px;}
.catalog-embed .original-resource .p07-index-catalog-tools input {flex:1;
  min-width:min(100%,360px);
  padding:14px 16px;
  border:1px solid var(--line-strong);
  border-radius:7px;
  color:var(--color-dark);
  background:var(--color-white);
  box-shadow:var(--shadow-sm);}
.catalog-embed .original-resource .p07-index-catalog-tools input:focus {outline:none;
  border-color:var(--color-key);
  box-shadow:0 0 0 3px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 16%, transparent);}
.catalog-embed .original-resource .p07-index-catalog-filters {display:flex;
  gap:10px;
  flex-wrap:wrap;}
.catalog-embed .original-resource .p07-index-catalog-filter {padding:12px 16px;
  border-radius:7px;
  border:1px solid var(--line-strong);
  background:var(--color-white);
  color:var(--color-dark);
  font-weight:700;
  transition:all .2s ease;}
.catalog-embed .original-resource .p07-index-catalog-filter.active, .catalog-embed .original-resource .p07-index-catalog-filter:hover {background:var(--color-dark);
  color:var(--color-white);
  border-color:var(--color-dark);}
.catalog-embed .original-resource .p07-index-catalog-grid {display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;}
.catalog-embed .original-resource .p07-index-catalog-card {background:var(--color-white);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:30px;
  min-height:240px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  box-shadow:var(--shadow-sm);
  transition:all .25s ease;}
.catalog-embed .original-resource .p07-index-catalog-card:hover {transform:translateY(-4px);
  box-shadow:var(--shadow-lg);}
.catalog-embed .original-resource .p07-index-catalog-card small {color:var(--color-key);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:700;}
.catalog-embed .original-resource .p07-index-catalog-card h3 {font-family:var(--font-main);
  font-size:var(--card);
  letter-spacing:0;
  margin:12px 0 8px;}
.catalog-embed .original-resource .p07-index-catalog-card p {color:var(--color-muted);
  margin:0;}
.catalog-embed .original-resource .p07-index-catalog-card button {margin-top:22px;
  width:100%;
  padding:12px;
  border-radius:6px;
  background:var(--color-dark);
  color:var(--color-white);
  font-weight:700;}
.catalog-embed .original-resource .p07-index-catalog-card button:hover {background:var(--color-key);}
.catalog-embed .original-resource .p07-vertical-timeline {position:relative;
  display:grid;
  gap:0;
  max-width:980px;}
.catalog-embed .original-resource .p07-vertical-timeline::before {content:"";
  position:absolute;
  left:35px;
  top:0;
  bottom:0;
  width:1px;
  background:linear-gradient(to bottom, var(--color-key), var(--line-strong));}
.catalog-embed .original-resource .p07-vertical-step {position:relative;
  display:grid;
  grid-template-columns:86px 1fr;
  gap:26px;
  min-height:170px;
  padding-bottom:34px;}
.catalog-embed .original-resource .p07-vertical-step:last-child {padding-bottom:0}
.catalog-embed .original-resource .p07-vertical-num {width:70px;
  height:70px;
  border-radius:50%;
  border:2px solid var(--color-key);
  background:var(--color-white);
  color:var(--color-key);
  display:grid;
  place-items:center;
  font-family:var(--font-main);
  font-size:var(--h5);
  font-weight:700;
  z-index:2;
  box-shadow:0 0 0 10px var(--bg);}
.catalog-embed .original-resource .p07-vertical-copy {background:var(--color-white);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:30px 32px;
  box-shadow:var(--shadow-sm);}
.catalog-embed .original-resource .p07-vertical-copy h3 {font-family:var(--font-main);
  font-size:var(--card);
  letter-spacing:0;
  margin-bottom:8px;}
.catalog-embed .original-resource .p07-vertical-copy p {color:var(--color-muted);
  margin:0;
  max-width:760px;}
@media (max-width:1100px) {
.catalog-embed .original-resource .p07-index-slide {grid-template-columns:1fr;}
.catalog-embed .original-resource .p07-index-catalog-grid {grid-template-columns:1fr 1fr;}
}
@media (max-width:760px) {
.catalog-embed .original-resource .p07-index-slide-copy {padding:34px;}
.catalog-embed .original-resource .p07-index-slide-visual {min-height:260px;}
.catalog-embed .original-resource .p07-index-carousel-dots {left:34px;
    bottom:24px;}
.catalog-embed .original-resource .p07-index-catalog-grid {grid-template-columns:1fr;}
.catalog-embed .original-resource .p07-vertical-step {grid-template-columns:64px 1fr;
    gap:18px;}
.catalog-embed .original-resource .p07-vertical-timeline::before {left:27px;}
.catalog-embed .original-resource .p07-vertical-num {width:56px;
    height:56px;
    font-size:var(--card);}
.catalog-embed .original-resource .p07-vertical-copy {padding:24px;}
}
/* ============================================================
   AJUSTE SOLICITADO · una sola sección de título debajo del banner
   Se retiraron las cabeceras de título/texto del resto de secciones.
   ============================================================ */
.catalog-embed .original-resource #intro-unica-post-banner {min-height:52svh !important;
  text-align:center;}
.catalog-embed .original-resource #intro-unica-post-banner .section-head {margin:0 auto !important;
  max-width:860px;}
.catalog-embed .original-resource #intro-unica-post-banner .section-head h2 {margin-bottom:18px;}
.catalog-embed .original-resource #intro-unica-post-banner .section-head p {margin-left:auto;
  margin-right:auto;}
/* ============================================================
   AJUSTE · prompts por sección + estadísticas en azul documento
   ============================================================ */
.catalog-embed .original-resource .chatgpt-prompt-copy {border-top:1px solid var(--color-key);
  padding:20px 22px 22px;
  color:var(--color-muted);
  font-size:var(--small);
  line-height:1.65;
  white-space:pre-line;}
.catalog-embed .original-resource .chatgpt-prompt-copy strong {color:var(--color-dark);
  font-weight:700;}
.catalog-embed .original-resource .chatgpt-prompt-container {width:100%;
  position:relative;
  z-index:2;}
.catalog-embed .original-resource .dark .chatgpt-section-prompt, .catalog-embed .original-resource .cta-strip .chatgpt-section-prompt, .catalog-embed .original-resource .p07-depth-section .chatgpt-section-prompt, .catalog-embed .original-resource .parallax-dark .chatgpt-section-prompt {background:var(--color-white);
  border-color:var(--color-line);}
.catalog-embed .original-resource .stats-bar.stats-blue-text {background:linear-gradient(135deg, var(--color-white) 0%, var(--color-light) 100%);
  color:var(--color-dark);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);}
.catalog-embed .original-resource .stats-bar.stats-blue-text::before {background-image:
    radial-gradient(circle at 18% 30%, transparent, transparent 38%),
    radial-gradient(circle at 82% 70%, transparent, transparent 48%);}
.catalog-embed .original-resource .stats-bar.stats-blue-text .stats-grid {border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);}
.catalog-embed .original-resource .stats-bar.stats-blue-text .stat-item {border-right:1px solid var(--line);}
.catalog-embed .original-resource .stats-bar.stats-blue-text .stat-item:last-child {border-right:none}
.catalog-embed .original-resource .stats-bar.stats-blue-text .stat-num {background:none;
  -webkit-background-clip:initial;
  background-clip:initial;
  -webkit-text-fill-color:var(--color-dark);
  color:var(--color-dark);}
.catalog-embed .original-resource .stats-bar.stats-blue-text .stat-label {color:var(--navy-700);}
@media (max-width:760px) {
.catalog-embed .original-resource .stats-bar.stats-blue-text .stat-item {border-right:none;
    border-bottom:1px solid var(--line);}
}
/* ===============================
   CORRECCIÓN: CADA SECCIÓN COMO FICHA DEL MAESTRO
================================ */
.catalog-embed .template-demo {overflow:hidden;
  background:var(--color-white);}
.catalog-embed .resource-demo {width:100%;
  background:var(--color-light);
  color:var(--color-dark);
  overflow:hidden;}
.catalog-embed .resource-demo > .topbar {display:block !important;
  position:relative !important;
  top:auto !important;
  z-index:1 !important;}
.catalog-embed .resource-demo > header.site {display:block !important;
  position:relative !important;
  top:auto !important;
  z-index:2 !important;}
.catalog-embed .resource-demo > .menu-overlay {display:none !important;}
.catalog-embed .resource-demo .view {display:block !important;
  animation:none !important;}
.catalog-embed .resource-demo #view-detalle:empty {display:none !important;}
.catalog-embed .resource-demo .modal-bg.demo-modal-visible {position:relative !important;
  inset:auto !important;
  display:flex !important;
  min-height:620px !important;
  background:color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 65%, transparent) !important;
  z-index:1 !important;}
.catalog-embed .resource-demo .modal-bg.demo-modal-visible .modal {margin:auto !important;}
.catalog-embed .resource-demo .modal-bg.demo-modal-visible .modal-close {position:absolute !important;}
.catalog-embed .template-demo .hero, .catalog-embed .template-demo .hero-content {min-height:720px !important;
  height:720px !important;}
.catalog-embed .template-demo .marquee-section, .catalog-embed .template-demo section.block, .catalog-embed .template-demo .stats-bar, .catalog-embed .template-demo .cta-strip, .catalog-embed .template-demo .cat-hero, .catalog-embed .template-demo .detail-hero {min-height:auto !important;}
.catalog-embed .template-demo section.block, .catalog-embed .template-demo .stats-bar, .catalog-embed .template-demo .cta-strip, .catalog-embed .template-demo .cat-hero, .catalog-embed .template-demo .detail-hero {padding-top:72px !important;
  padding-bottom:72px !important;}
.catalog-embed .template-demo section.block.tight {padding-top:56px !important;
  padding-bottom:56px !important;}
.catalog-embed .template-demo .marquee-section {padding-top:56px !important;
  padding-bottom:56px !important;}
.catalog-embed .template-demo .p07-lightbox {display:none;}
@media (max-width: 900px) {
.catalog-embed .template-demo .hero, .catalog-embed .template-demo .hero-content {min-height:620px !important;
    height:auto !important;}
}
/* Limpieza formato master: los demos ya no muestran prompts internos del archivo fuente */
.catalog-embed .template-demo .chatgpt-section-prompt, .catalog-embed .template-demo .chatgpt-prompt-container {display: none !important;}
.catalog-embed .template-demo img {object-fit: cover;}
/* Imagen de referencia aplicada a todos los espacios visuales */
.catalog-embed .product-img, .catalog-embed .news-img, .catalog-embed .detail-img-wrap, .catalog-embed .p07-gallery-item, .catalog-embed .p07-before, .catalog-embed .p07-after, .catalog-embed .template-demo .media, .catalog-embed .template-demo .visual, .catalog-embed .template-demo .image, .catalog-embed .template-demo .photo {overflow: hidden;}
.catalog-embed img[data-reference-image="true"], .catalog-embed .product-img img, .catalog-embed .news-img img, .catalog-embed .detail-img-wrap img {width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;}
.catalog-embed .p07-gallery-item, .catalog-embed .p07-before, .catalog-embed .p07-after {background-image:
    linear-gradient(180deg, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 18%, transparent), color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 42%, transparent)),
    url("../images/demo-landscape.webp") !important;
  background-size: cover !important;
  background-position: center center !important;}
/* ============================================================
   OVERRIDE FINAL · Estilo Formato master
   Aplica Inter y la paleta master a todos los demos importados.
   ============================================================ */
.catalog-embed .original-resource, .catalog-embed .original-resource * {font-family: var(--font-main) !important;}
.catalog-embed .original-resource {--navy-950: var(--color-dark) !important;
  --navy-900: var(--color-dark) !important;
  --navy-800: var(--color-dark) !important;
  --navy-700: var(--color-key) !important;
  --navy-600: var(--color-key) !important;
  --navy-500: var(--color-key) !important;
  --navy-400: var(--color-key) !important;
  --navy-300: var(--color-dark) !important;
  --navy-200: var(--color-dark) !important;
  --navy-100: var(--color-light) !important;
  --navy-50: var(--color-light) !important;
  --copper: var(--color-key) !important;
  --copper-light: var(--color-key) !important;
  --copper-dark: var(--color-key) !important;
  --copper-50: var(--color-key) !important;
  --bg: var(--color-light) !important;
  --paper: var(--color-white) !important;
  --ink: var(--color-dark) !important;
  --ink-soft: var(--color-muted) !important;
  --ink-mute: var(--color-muted) !important;
  --line: var(--color-line) !important;
  --line-strong: var(--color-line) !important;
  --serif: var(--font-main);
  --sans: var(--font-main);}
.catalog-embed .original-resource h1, .catalog-embed .original-resource h2, .catalog-embed .original-resource h3, .catalog-embed .original-resource h4, .catalog-embed .original-resource h5, .catalog-embed .original-resource .section-head h2, .catalog-embed .original-resource .p07-gallery-item span, .catalog-embed .original-resource .stat-num, .catalog-embed .original-resource .brand-card-big .name, .catalog-embed .original-resource .masthead, .catalog-embed .original-resource .detail-info h1 {font-family: var(--font-main) !important;}
.catalog-embed .original-resource .btn-primary, .catalog-embed .original-resource .cta-quote, .catalog-embed .original-resource .contact-form button, .catalog-embed .original-resource .product-actions .btn-quote-sm, .catalog-embed .original-resource .p07-tab-buttons button.active, .catalog-embed .original-resource .active, .catalog-embed .original-resource .filter-list button.active {background: var(--color-key) !important;
  color:var(--pb-theme-white,var(--color-white)) !important;}
.catalog-embed .original-resource .section-eyebrow, .catalog-embed .original-resource .hero-eyebrow, .catalog-embed .original-resource .product-cat, .catalog-embed .original-resource .news-meta .tag, .catalog-embed .original-resource .brand-card-big .tagline, .catalog-embed .original-resource .brand-card-big .link, .catalog-embed .original-resource .menu-number, .catalog-embed .original-resource a:hover {color: var(--color-key) !important;}
.catalog-embed .original-resource .section-eyebrow::before, .catalog-embed .original-resource .hero-eyebrow::before, .catalog-embed .original-resource .hero-dot.active::after, .catalog-embed .original-resource .nav-link.active::after, .catalog-embed .original-resource .process-num, .catalog-embed .original-resource .spec-card:hover .spec-icon, .catalog-embed .original-resource .service-cell:hover .icn {background: var(--color-key) !important;
  border-color: var(--color-key) !important;}
.catalog-embed .original-resource h1, .catalog-embed .original-resource h2, .catalog-embed .original-resource h3, .catalog-embed .original-resource h4, .catalog-embed .original-resource h5, .catalog-embed .original-resource .product-info h3, .catalog-embed .original-resource .news-card h3, .catalog-embed .original-resource .service-cell h3 {color: var(--color-dark) !important;}
.catalog-embed .original-resource .dark h1, .catalog-embed .original-resource .dark h2, .catalog-embed .original-resource .dark h3, .catalog-embed .original-resource .dark h4, .catalog-embed .original-resource .hero-text h1, .catalog-embed .original-resource .cta-strip h2, .catalog-embed .original-resource footer.site h5, .catalog-embed .original-resource .contact-info-card h3 {color: var(--color-white) !important;}
/* RESTAURADO SECCIONES 14 Y 21 · MASTER SAFE */
.catalog-embed #DEMO-RECURSOS-2-14 .demo-block, .catalog-embed #DEMO-RECURSOS-2-21 .demo-block {background:var(--color-light);
  color:var(--color-dark);
  padding:clamp(48px,7vw,86px) 42px;}
.catalog-embed #DEMO-RECURSOS-2-14 .demo-container, .catalog-embed #DEMO-RECURSOS-2-21 .demo-container {width:min(100%,1180px);
  margin:0 auto;}
.catalog-embed #DEMO-RECURSOS-2-14 .catalog-tools {display:grid;
  gap:16px;
  margin-bottom:24px;}
.catalog-embed #DEMO-RECURSOS-2-14 .catalog-tools input {width:100%;
  border:1px solid var(--color-line);
  padding:14px 16px;
  font:inherit;
  color:var(--color-dark);
  background:var(--color-white);
  outline:none;}
.catalog-embed #DEMO-RECURSOS-2-14 .filter-row {display:flex;
  flex-wrap:wrap;
  gap:10px;}
.catalog-embed #DEMO-RECURSOS-2-14 .filter {border:1px solid var(--color-line);
  background:var(--color-white);
  color:var(--color-dark);
  padding:10px 14px;
  font:inherit;
  cursor:pointer;}
.catalog-embed #DEMO-RECURSOS-2-14 .filter.active, .catalog-embed #DEMO-RECURSOS-2-14 .filter:hover {background:var(--color-key);
  border-color:var(--color-key);
  color:var(--pb-theme-white,var(--color-white));}
.catalog-embed #DEMO-RECURSOS-2-14 .catalog-grid {display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;}
.catalog-embed #DEMO-RECURSOS-2-14 .catalog-card, .catalog-embed #DEMO-RECURSOS-2-21 .price-card {background:var(--color-white);
  border:1px solid var(--color-line);
  box-shadow:0 18px 50px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 8%, transparent);}
.catalog-embed #DEMO-RECURSOS-2-14 .catalog-card {padding:26px;
  min-height:260px;
  display:flex;
  flex-direction:column;}
.catalog-embed #DEMO-RECURSOS-2-14 .catalog-card small, .catalog-embed #DEMO-RECURSOS-2-21 .price-card small {display:block;
  color:var(--color-key);
  font-size:var(--small);
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:10px;}
.catalog-embed #DEMO-RECURSOS-2-14 .catalog-card h4, .catalog-embed #DEMO-RECURSOS-2-21 .price-card h4 {margin:0 0 12px;
  color:var(--color-dark);
  font-family:var(--font-main);
  font-size:var(--h5);
  line-height:1.2;}
.catalog-embed #DEMO-RECURSOS-2-14 .catalog-card p, .catalog-embed #DEMO-RECURSOS-2-21 .price-card p, .catalog-embed #DEMO-RECURSOS-2-21 .price-card li {color:var(--color-muted);
  font-size:var(--small);
  line-height:1.6;}
.catalog-embed #DEMO-RECURSOS-2-14 .catalog-card button, .catalog-embed #DEMO-RECURSOS-2-21 .price-card button {margin-top:auto;
  border:1px solid var(--color-key);
  background:var(--color-key);
  color:var(--pb-theme-white,var(--color-white));
  padding:12px 14px;
  font:inherit;
  font-weight:700;
  cursor:pointer;}
.catalog-embed #DEMO-RECURSOS-2-14 .catalog-card button:hover, .catalog-embed #DEMO-RECURSOS-2-21 .price-card button:hover {filter:brightness(1.08);}
.catalog-embed #DEMO-RECURSOS-2-21 .pricing-grid {display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  align-items:stretch;}
.catalog-embed #DEMO-RECURSOS-2-21 .price-card {padding:32px;
  min-height:420px;
  display:flex;
  flex-direction:column;}
.catalog-embed #DEMO-RECURSOS-2-21 .price-card.featured {background:var(--color-dark);
  color:var(--color-white);
  transform:translateY(-10px);}
.catalog-embed #DEMO-RECURSOS-2-21 .price-card.featured h4, .catalog-embed #DEMO-RECURSOS-2-21 .price-card.featured strong {color:var(--color-white);}
.catalog-embed #DEMO-RECURSOS-2-21 .price-card.featured p, .catalog-embed #DEMO-RECURSOS-2-21 .price-card.featured li {color:var(--color-line);}
.catalog-embed #DEMO-RECURSOS-2-21 .price-card strong {display:block;
  color:var(--color-dark);
  font-size:var(--h3);
  line-height:1;
  font-weight:900;
  margin:12px 0 18px;
  letter-spacing:-.05em;}
.catalog-embed #DEMO-RECURSOS-2-21 .price-card ul {margin:18px 0 24px;
  padding-left:20px;}
@media (max-width:1100px) {
.catalog-embed #DEMO-RECURSOS-2-14 .catalog-grid, .catalog-embed #DEMO-RECURSOS-2-21 .pricing-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:760px) {
.catalog-embed #DEMO-RECURSOS-2-14 .demo-block, .catalog-embed #DEMO-RECURSOS-2-21 .demo-block {padding:42px 20px;}
.catalog-embed #DEMO-RECURSOS-2-14 .catalog-grid, .catalog-embed #DEMO-RECURSOS-2-21 .pricing-grid {grid-template-columns:1fr;}
.catalog-embed #DEMO-RECURSOS-2-21 .price-card.featured {transform:none;}
}
/* AJUSTE: buscador y filtros del catálogo en una sola fila */
.catalog-embed #DEMO-RECURSOS-2-14 .catalog-tools {display:flex !important;
  align-items:center !important;
  gap:10px !important;
  flex-wrap:nowrap !important;
  margin-bottom:24px !important;}
.catalog-embed #DEMO-RECURSOS-2-14 .catalog-tools input {flex:1 1 auto !important;
  width:auto !important;
  min-width:0 !important;}
.catalog-embed #DEMO-RECURSOS-2-14 .filter-row {display:flex !important;
  align-items:center !important;
  flex:0 0 auto !important;
  flex-wrap:nowrap !important;
  gap:10px !important;}
.catalog-embed #DEMO-RECURSOS-2-14 .filter {white-space:nowrap !important;}
@media (max-width:760px) {
.catalog-embed #DEMO-RECURSOS-2-14 .catalog-tools {flex-wrap:wrap !important;}
.catalog-embed #DEMO-RECURSOS-2-14 .catalog-tools input {flex:1 0 100% !important;}
.catalog-embed #DEMO-RECURSOS-2-14 .filter-row {flex-wrap:wrap !important;}
}
/* ============================================================
   AJUSTE 29 · Vista de contacto: datos con color sólido
   ============================================================ */
.catalog-embed .original-resource .contact-info-card {background: var(--color-dark) !important;
  background-image: none !important;}
.catalog-embed .original-resource .contact-info-card::before, .catalog-embed .original-resource .contact-info-card::after {display: none !important;
  content: none !important;
  background: none !important;}
/* ============================================================
   AJUSTE SOLICITADO · CONTENIDO INTERNO A 1440PX
   ============================================================ */
.catalog-embed {--master-content-width:1440px;}
.catalog-embed .menu-row, .catalog-embed .template-title .menu-row, .catalog-embed .template-item > .menu-row {max-width:var(--master-content-width);
  margin-left:auto;
  margin-right:auto;}
/* El demo queda a ancho completo. Solo se amplía el contenido interno. */
.catalog-embed .template-demo {width:100%;
  max-width:none;
  margin:0;}
.catalog-embed .original-resource {width:100%;
  max-width:none;
  margin:0;
  --container:1440px;}
.catalog-embed .original-resource .container {max-width:var(--master-content-width) !important;}
/* ============================================================
   AJUSTE FINAL · 07 productos en 5 columnas / 14 a 1440px y 4 columnas
   ============================================================ */
.catalog-embed #DEMO-RECURSOS-2-07 #featured-grid {grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:18px !important;}
.catalog-embed #DEMO-RECURSOS-2-14 .demo-container {width:min(100%,1440px) !important;
  max-width:1440px !important;
  margin-left:auto !important;
  margin-right:auto !important;}
.catalog-embed #DEMO-RECURSOS-2-14 .catalog-grid {grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:18px !important;}
@media (max-width:1200px) {
.catalog-embed #DEMO-RECURSOS-2-07 #featured-grid, .catalog-embed #DEMO-RECURSOS-2-14 .catalog-grid {grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
}
@media (max-width:880px) {
.catalog-embed #DEMO-RECURSOS-2-07 #featured-grid, .catalog-embed #DEMO-RECURSOS-2-14 .catalog-grid {grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media (max-width:640px) {
.catalog-embed #DEMO-RECURSOS-2-07 #featured-grid, .catalog-embed #DEMO-RECURSOS-2-14 .catalog-grid {grid-template-columns:1fr !important;}
}

/* Formulario 29: separación igual al formulario anterior */
.form-contact-view-embed .template-item {
  padding-top: 34px !important;
  background: var(--color-dark) !important;
  border-bottom: 1px solid var(--color-line) !important;
}

.form-contact-view-embed .row-number {
  padding-bottom: 8px !important;
}

.form-contact-view-embed .row-info {
  padding-bottom: 20px !important;
  column-gap: 42px !important;
}

.form-contact-view-embed .template-demo {
  margin-top: 0 !important;
  border-top: 1px solid var(--color-line) !important;
  border-bottom: 1px solid var(--color-line) !important;
}

.form-contact-view-embed .original-resource section.block {
  padding-top: 72px !important;
  padding-bottom: 72px !important;
}


/* Formulario 29: espacio intermedio del grid igual al formulario anterior */
.form-contact-view-embed #DEMO-FORMULARIO-29 .contact-layout {
  gap: 22px !important;
  column-gap: 22px !important;
}


/* ANCHOS WEB · integración debajo de Grilla */
.widths-embed {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  background: var(--color-dark);
  color: var(--color-white);
  isolation: isolate;
  overflow: hidden;
}

.widths-embed a {
  color: inherit;
  text-decoration: none;
}

.widths-embed button,
.widths-embed input,
.widths-embed textarea,
.widths-embed select {
  font: inherit;
}

.widths-embed .template-title,
.widths-embed .template-item {
  background: var(--color-dark);
}

.widths-embed .template-demo {
  width: 100%;
}
.widths-embed {--color-dark: inherit;
  --color-key: inherit;
  --color-light: inherit;
  --color-white: inherit;
  --color-muted: inherit;
  --color-line: inherit;

  --font-main: "Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-secondary: "Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;

  --text-label: var(--micro);
  --text-small: var(--small);
  --text-body: var(--body);
  --text-h3: var(--h3);
  --text-h2: var(--h2);}
.widths-embed * {box-sizing: border-box;}
.widths-embed {scroll-behavior: smooth;}
.widths-embed {margin: 0;
  background: var(--color-dark);
  color: var(--color-white);
  font-family: var(--font-main);
  font-size: var(--body);
  line-height: 1.7;}
/* ===============================
   FORMATO MAESTRO PARA EXPLICACIONES
================================ */
.widths-embed .template-title {width: 100%;
  padding: 56px 0 18px;
  background: var(--color-dark);
  border-bottom: 1px solid var(--color-line);}
.widths-embed .template-item {width: 100%;
  padding-top: 20px;
  background: var(--color-dark);
  border-bottom: 1px solid var(--color-line);}
.widths-embed .menu-row {width: 100%;
  padding-left: 42px;
  padding-right: 42px;}
.widths-embed .row-number {padding-bottom: 8px;}
.widths-embed .menu-number {display: block;
  color: var(--color-key);
  font-size: var(--micro);
  font-weight: 400;
  letter-spacing: .16em;
  line-height: 1.45;
  text-transform: uppercase;}
.widths-embed .row-info {display: grid;
  grid-template-columns: minmax(280px, 35%) minmax(420px, 1fr);
  column-gap: 42px;
  align-items: start;
  padding-bottom: 20px;}
.widths-embed .row-info h3 {max-width: 620px;
  margin: 0;
  color: var(--color-white);
  font-family: var(--font-main);
  font-size: var(--h3);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -.025em;}
.widths-embed .request-copy {max-width: 980px;
  margin: 0;
  color: var(--color-line);
  font-size: var(--small);
  line-height: 1.65;}
.widths-embed .request-copy strong {color: var(--color-white);
  font-weight: 700;}
/* ===============================
   CONTENEDOR DEL EJEMPLO ORIGINAL
================================ */
.widths-embed .template-demo {width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: var(--color-white);
  color: var(--color-dark);
  border-top: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);}
/* ===============================
   RESPONSIVE
================================ */
@media (max-width: 900px) {
.widths-embed .menu-row {padding-left: 24px;
    padding-right: 24px;}
.widths-embed .row-info {grid-template-columns: 1fr;
    row-gap: 12px;}
}
/* ===============================
   AJUSTES DE INTEGRACIÓN
================================ */
.widths-embed .template-title h2 {margin: 0;
  color: var(--color-white);
  font-family: var(--font-main);
  font-size: var(--h2);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -.045em;}
.widths-embed .template-item:last-of-type {border-bottom: 0;}
.widths-embed .template-demo {background: var(--color-light);}
.widths-embed .template-demo .widths-module {min-height: auto !important;
  background: var(--color-light) !important;}
.widths-embed .template-demo .widths-module .hero, .widths-embed .template-demo .widths-module .width-section {border-top: 0 !important;}
.widths-embed .template-demo .widths-module .width-section {min-height: auto !important;}
.widths-embed .template-demo .widths-module .copy p {max-width: 760px;}
.widths-embed .template-demo .widths-module .section-content.full, .widths-embed .template-demo .widths-module .width-frame, .widths-embed .template-demo .widths-module .boxed-page, .widths-embed .template-demo .widths-module .dashboard-width {min-height: 260px;}
.widths-embed .template-demo .widths-module .width-section.full-width {background: var(--color-white) !important;}
.widths-embed .template-demo .widths-module .dashboard-width main {margin: 0;}
@media (max-width: 900px) {
.widths-embed .template-demo .widths-module .section-content.full, .widths-embed .template-demo .widths-module .width-frame, .widths-embed .template-demo .widths-module .boxed-page, .widths-embed .template-demo .widths-module .dashboard-width {min-height: auto;}
}
/* MÓDULO 01 · TIPOS DE ANCHOS WEB, ESTILOS ENCAPSULADOS
   ========================================================= */
.widths-embed .widths-module {--bg:var(--color-dark);
  --navy:var(--color-dark);
  --navy2:var(--color-dark);
  --gold:var(--color-key);
  --white:var(--color-light);
  --muted:var(--color-muted);
  --line:var(--color-line);
  --dark:var(--color-dark);}
.widths-embed .widths-module * {box-sizing:border-box;margin:0;padding:0}
.widths-embed .widths-module {scroll-behavior:smooth}
.widths-embed .widths-module {font-family:var(--font-main);
  background:var(--bg);
  color:var(--white);
  line-height:1.55;
  overflow-x:hidden;}
.widths-embed .widths-module a {text-decoration:none;color:inherit}
.widths-embed .widths-module code {display:block;
  margin-top:20px;
  padding:16px;
  border:1px solid var(--color-key);
  background:var(--color-line);
  color:var(--color-dark);
  font-size:var(--small);
  line-height:1.6;}
.widths-embed .widths-module .progress {position:fixed;
  top:0;
  left:0;
  height:3px;
  width:0;
  background:var(--color-key);
  z-index:200;}
.widths-embed .widths-module .topbar {position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:100;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:18px clamp(18px,4vw,56px);
  background:var(--color-dark);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);}
.widths-embed .widths-module .brand {font-weight:900;
  letter-spacing:-.06em;
  font-size:var(--h5);}
.widths-embed .widths-module .topbar nav {display:flex;
  gap:24px;
  color:var(--muted);
  font-size:var(--small);}
.widths-embed .widths-module .topbar nav a:hover {color:var(--white)}
.widths-embed .widths-module .hero {position:relative;
  min-height:100vh;
  overflow:hidden;
  display:grid;
  place-items:center;
  padding:130px 24px 80px;
  background:radial-gradient(circle at top right,transparent,transparent 34%),linear-gradient(135deg,var(--color-dark),var(--color-dark));}
.widths-embed .widths-module .parallax-shape {position:absolute;
  border-radius:50%;
  pointer-events:none;
  will-change:transform;}
.widths-embed .widths-module .shape-a {width:44vw;
  height:44vw;
  right:-10vw;
  top:10vh;
  background:radial-gradient(circle,transparent,transparent 64%);}
.widths-embed .widths-module .shape-b {width:34vw;
  height:34vw;
  left:-8vw;
  bottom:4vh;
  border:1px solid var(--color-key);}
.widths-embed .widths-module .hero-inner {width:min(1680px,100%);
  position:relative;
  z-index:2;}
.widths-embed .widths-module .hero small, .widths-embed .widths-module .copy span {color:var(--color-key);
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:var(--small);}
.widths-embed .widths-module .hero h1 {font-size:var(--h1);
  line-height:.88;
  letter-spacing:-.08em;
  max-width:1100px;
  margin:18px 0;}
.widths-embed .widths-module .hero p {color:var(--color-muted);
  font-size:var(--card);
  max-width:780px;}
.widths-embed .widths-module .width-section {position:relative;
  min-height:100vh;
  padding:110px 0;
  display:grid;
  align-items:center;
  overflow:hidden;
  border-top:1px solid var(--line);}
.widths-embed .widths-module .parallax-bg {position:absolute;
  inset:10% auto auto 55%;
  width:44vw;
  height:44vw;
  border-radius:50%;
  background:radial-gradient(circle,transparent,transparent 62%);
  pointer-events:none;}
.widths-embed .widths-module .parallax-bg.gold {background:radial-gradient(circle,transparent,transparent 64%);}
.widths-embed .widths-module .parallax-bg.navy {background:radial-gradient(circle,transparent,transparent 62%);}
.widths-embed .widths-module .copy {position:relative;
  z-index:2;}
.widths-embed .widths-module .copy h2 {font-size:var(--h1);
  line-height:.92;
  letter-spacing:-.06em;
  margin:14px 0 18px;}
.widths-embed .widths-module .copy p {color:var(--muted);
  font-size:var(--card);
  max-width:720px;}
.widths-embed .widths-module .section-content.full {width:100%;
  display:grid;
  grid-template-columns:1fr 340px;
  gap:40px;
  align-items:center;
  padding:0 clamp(22px,4vw,70px);}
.widths-embed .widths-module .measure {min-height:340px;
  border:1px solid var(--line);
  background:linear-gradient(135deg,transparent,transparent);
  display:grid;
  place-items:center;
  text-align:center;}
.widths-embed .widths-module .measure strong {display:block;
  color:var(--color-key);
  font-size:var(--h1);
  line-height:1;}
.widths-embed .widths-module .measure small {color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.14em;}
.widths-embed .widths-module .width-frame {position:relative;
  z-index:2;
  margin:0 auto;
  padding:44px;
  border:1px solid var(--color-line);
  background:linear-gradient(135deg,transparent,transparent);
  box-shadow:0 30px 90px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 35%, transparent);
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:34px;
  align-items:center;}
.widths-embed .widths-module .w1680 {width:min(1680px,calc(100% - 40px))}
.widths-embed .widths-module .w1440 {width:min(1440px,calc(100% - 40px))}
.widths-embed .widths-module .w1320 {width:min(1320px,calc(100% - 40px))}
.widths-embed .widths-module .w1200 {width:min(1200px,calc(100% - 40px))}
.widths-embed .widths-module .w1140 {width:min(1140px,calc(100% - 40px))}
.widths-embed .widths-module .w960 {width:min(960px,calc(100% - 40px));grid-template-columns:1fr}
.widths-embed .widths-module .w760 {width:min(760px,calc(100% - 40px));grid-template-columns:1fr}
.widths-embed .widths-module .fluid {width:calc(100% - clamp(32px,8vw,180px));
  max-width:none;}
.widths-embed .widths-module .asymmetric {width:min(1480px,calc(100% - 40px));
  margin-left:clamp(20px,7vw,130px);
  margin-right:auto;
  grid-template-columns:.85fr 1.15fr;}
.widths-embed .widths-module .grid-demo {display:grid;
  gap:14px;
  min-height:360px;}
.widths-embed .widths-module .grid-demo.cols-4 {grid-template-columns:repeat(4,1fr)}
.widths-embed .widths-module .grid-demo.cols-3 {grid-template-columns:repeat(3,1fr)}
.widths-embed .widths-module .grid-demo i, .widths-embed .widths-module .boxed-grid i, .widths-embed .widths-module .fluid-bars i, .widths-embed .widths-module .dashboard-width main div {display:block;
  border:1px solid var(--line);
  background:linear-gradient(135deg,transparent,transparent);}
.widths-embed .widths-module .grid-demo.compact {min-height:300px}
.widths-embed .widths-module .grid-demo.narrow {min-height:260px}
.widths-embed .widths-module .text-demo {border:1px solid var(--line);
  padding:34px;
  color:var(--muted);
  font-size:var(--card);
  min-height:240px;
  display:grid;
  align-items:center;}
.widths-embed .widths-module .boxed-bg {background:linear-gradient(90deg,var(--color-dark) 0%,var(--color-dark) 12%,transparent 12%,transparent 88%,var(--color-dark) 88%);}
.widths-embed .widths-module .boxed-page {width:min(1180px,calc(100% - 80px));
  min-height:640px;
  margin:0 auto;
  padding:48px;
  border:1px solid var(--line);
  background:var(--color-dark);
  display:grid;
  grid-template-columns:1fr .8fr;
  gap:30px;
  align-items:center;
  box-shadow:0 30px 90px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 50%, transparent);}
.widths-embed .widths-module .boxed-grid {display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  min-height:330px;}
.widths-embed .widths-module .boxed-grid i:first-child {grid-column:span 2}
.widths-embed .widths-module .fluid-bars {display:grid;
  gap:18px;}
.widths-embed .widths-module .fluid-bars i {height:58px;}
.widths-embed .widths-module .fluid-bars i:nth-child(1) {width:100%}
.widths-embed .widths-module .fluid-bars i:nth-child(2) {width:82%}
.widths-embed .widths-module .fluid-bars i:nth-child(3) {width:64%}
.widths-embed .widths-module .fluid-bars i:nth-child(4) {width:46%}
.widths-embed .widths-module .offset-box {min-height:430px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  background:linear-gradient(135deg,var(--color-dark),transparent);
  font-size:var(--h3);}
.widths-embed .widths-module .dashboard-width {width:calc(100% - 40px);
  margin:0 auto;
  min-height:720px;
  display:grid;
  grid-template-columns:320px 1fr;
  border:1px solid var(--line);
  background:var(--color-dark);
  box-shadow:0 30px 90px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 35%, transparent);}
.widths-embed .widths-module .dashboard-width aside {padding:34px;
  border-right:1px solid var(--line);}
.widths-embed .widths-module .dashboard-width aside h2 {font-size:var(--h2);
  line-height:1;
  margin:14px 0;}
.widths-embed .widths-module .dashboard-width aside p {color:var(--muted);}
.widths-embed .widths-module .dashboard-width main {padding:24px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  grid-auto-rows:180px;
  gap:16px;}
.widths-embed .widths-module .dashboard-width main .wide {grid-column:span 3;}
@media (max-width:1000px) {
.widths-embed .widths-module .topbar nav {display:none}
.widths-embed .widths-module .section-content.full, .widths-embed .widths-module .width-frame, .widths-embed .widths-module .boxed-page, .widths-embed .widths-module .dashboard-width {grid-template-columns:1fr;}
.widths-embed .widths-module .grid-demo.cols-4, .widths-embed .widths-module .grid-demo.cols-3, .widths-embed .widths-module .dashboard-width main {grid-template-columns:1fr;}
.widths-embed .widths-module .dashboard-width main .wide {grid-column:auto}
.widths-embed .widths-module .width-section {padding:80px 0}
.widths-embed .widths-module .asymmetric {margin-left:auto;
    margin-right:auto;}
}
@media (max-width:640px) {
.widths-embed .widths-module .width-frame, .widths-embed .widths-module .boxed-page {width:calc(100% - 28px);
    padding:24px;}
.widths-embed .widths-module .section-content.full {grid-template-columns:1fr;
    padding:0 14px;}
.widths-embed .widths-module .dashboard-width {width:calc(100% - 28px);}
.widths-embed .widths-module .measure strong {font-size:var(--h1);}
}
/* Ajustes de convivencia para el HTML unificado */
.widths-embed .widths-module {display:block;
  min-height:100vh;
  background:var(--bg);
  color:var(--white);
  overflow:hidden;}
.widths-embed .widths-module .parallax-shape, .widths-embed .widths-module .parallax-bg {display:block!important;}
.widths-embed .widths-module .hero, .widths-embed .widths-module .width-section {scroll-snap-align:start;}
.widths-embed .widths-module .hero {border-bottom:1px solid var(--line)}
@media (max-width:760px) {
.widths-embed .widths-module .width-section {min-height:auto;padding:70px 0}
}
/* =========================================================

/* Módulo anchos */
.widths-embed .widths-module {--bg: var(--color-light) !important;
  --navy: var(--color-dark) !important;
  --navy2: var(--color-dark) !important;
  --gold: var(--color-key) !important;
  --white: var(--color-white) !important;
  --muted: var(--color-muted) !important;
  --line: var(--color-line) !important;
  --dark: var(--color-dark) !important;
  background: var(--color-light) !important;
  color: var(--color-dark) !important;
  font-family: var(--font-main) !important;}
.widths-embed .widths-module .topbar {background: var(--color-white) !important; border-color: var(--color-line) !important; color: var(--color-dark) !important;}
.widths-embed .widths-module .width-section, .widths-embed .widths-module .measure, .widths-embed .widths-module .width-frame, .widths-embed .widths-module .text-demo, .widths-embed .widths-module .boxed-page, .widths-embed .widths-module .dashboard-width {background: var(--color-white) !important;
  color: var(--color-dark) !important;
  border-color: var(--color-line) !important;}
.widths-embed .widths-module .grid-demo i, .widths-embed .widths-module .boxed-grid i, .widths-embed .widths-module .fluid-bars i, .widths-embed .widths-module .dashboard-width main div {background: var(--color-light) !important;
  border-color: var(--color-line) !important;}
.widths-embed .widths-module .parallax-bg.gold, .widths-embed .widths-module .parallax-bg.navy {background: radial-gradient(circle, transparent, transparent 64%) !important;}
/* Ajustes finales solicitados: sin adornos, sin código visible, apilado vertical y recuadros limpios */
.widths-embed {scroll-snap-type: none !important;}
.widths-embed .intro, .widths-embed .hero-card-head, .widths-embed .hero-demo, .widths-embed .widths-module .hero, .widths-embed .widths-module .width-section {scroll-snap-align: none !important;
  scroll-margin-top: 0 !important;}
/* Quitar adornos visuales no pertenecientes al sistema base */
.widths-embed .ambient-grain, .widths-embed .widths-module .parallax-bg, .widths-embed .widths-module .parallax-shape, .widths-embed .widths-module .hero::before, .widths-embed .widths-module .hero::after, .widths-embed .widths-module .width-section::before, .widths-embed .widths-module .width-section::after {display: none !important;
  content: none !important;}
.widths-embed .widths-module {background: var(--color-light) !important;}
.widths-embed .widths-module .hero {background: var(--color-light) !important;
  color: var(--color-dark) !important;
  border-bottom: 1px solid var(--color-line) !important;}
.widths-embed .widths-module .hero h1 {color: var(--color-dark) !important;}
.widths-embed .widths-module .hero p {color: var(--color-muted) !important;}
.widths-embed .widths-module .width-section {background: var(--color-light) !important;
  padding: 40px 0 !important;
  min-height: auto !important;
  display: block !important;}
.widths-embed .widths-module .section-content.full {width: min(1480px, calc(100% - 84px)) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: block !important;}
.widths-embed .widths-module .width-frame, .widths-embed .widths-module .boxed-page, .widths-embed .widths-module .dashboard-width, .widths-embed .widths-module .text-demo {box-shadow: none !important;}
.widths-embed .widths-module .width-frame, .widths-embed .widths-module .boxed-page, .widths-embed .widths-module .dashboard-width {background: var(--color-white) !important;
  border: 1px solid var(--color-line) !important;}
/* Sin recuadro exterior en 10, 11 y 12 */
.widths-embed .widths-module #fluid .width-frame, .widths-embed .widths-module #asymmetric .width-frame, .widths-embed .widths-module #dashboard .dashboard-width {background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;}
.widths-embed .widths-module #asymmetric .asymmetric {width: min(1680px, 100%) !important;
  max-width: 1680px !important;
  margin-left: auto !important;
  margin-right: 0 !important;
  grid-template-columns: .78fr 1.22fr !important;
  justify-self: end !important;}
.widths-embed .widths-module code {display: none !important;}
/* Secciones una debajo de otra */
.widths-embed .widths-module [data-speed] {transform: none !important;}
@media (max-width: 1000px) {
.widths-embed .widths-module .section-content.full {width: min(calc(100% - 32px), 1480px) !important;}
.widths-embed .widths-module .width-section {padding: 40px 0 !important;}
}
/* =========================================================
   AJUSTE SOLICITADO: SECCIONES MÁS BAJAS SIN REDUCIR TIPOGRAFÍA
   ========================================================= */
.widths-embed .template-title {padding: 40px 0 14px !important;}
.widths-embed .template-item {padding-top: 14px !important;}
.widths-embed .row-number {padding-bottom: 6px !important;}
.widths-embed .row-info {padding-bottom: 14px !important;}
.widths-embed .template-demo .widths-module .width-section {padding: 22px 0 !important;
  min-height: auto !important;}
.widths-embed .template-demo .widths-module .section-content.full {min-height: 150px !important;}
.widths-embed .template-demo .widths-module .width-frame {padding: 26px !important;
  gap: 24px !important;
  align-items: center !important;
  min-height: 210px !important;}
.widths-embed .template-demo .widths-module .grid-demo {min-height: 180px !important;}
.widths-embed .template-demo .widths-module .grid-demo.compact {min-height: 150px !important;}
.widths-embed .template-demo .widths-module .grid-demo.narrow {min-height: 130px !important;}
.widths-embed .template-demo .widths-module .text-demo {min-height: 120px !important;
  padding: 22px !important;}
.widths-embed .template-demo .widths-module .boxed-page {min-height: 300px !important;
  padding: 26px !important;
  gap: 22px !important;}
.widths-embed .template-demo .widths-module .boxed-grid {min-height: 170px !important;}
.widths-embed .template-demo .widths-module .fluid-bars {gap: 12px !important;}
.widths-embed .template-demo .widths-module .fluid-bars i {height: 34px !important;}
.widths-embed .template-demo .widths-module .offset-box {min-height: 210px !important;}
.widths-embed .template-demo .widths-module .dashboard-width {min-height: 360px !important;}
.widths-embed .template-demo .widths-module .dashboard-width aside {padding: 24px !important;}
.widths-embed .template-demo .widths-module .dashboard-width main {padding: 18px !important;
  grid-auto-rows: 88px !important;
  gap: 12px !important;}
@media (max-width: 1000px) {
.widths-embed .template-demo .widths-module .width-section {padding: 22px 0 !important;}
.widths-embed .template-demo .widths-module .width-frame, .widths-embed .template-demo .widths-module .boxed-page, .widths-embed .template-demo .widths-module .dashboard-width {min-height: auto !important;}
.widths-embed .template-demo .widths-module .grid-demo, .widths-embed .template-demo .widths-module .boxed-grid, .widths-embed .template-demo .widths-module .offset-box {min-height: 150px !important;}
}

/* Corrección de colores en títulos de secciones recién agregadas */
.widths-embed > .template-title h2,
.widths-embed > .template-item .row-info h3,
.news-embed > .template-title h2,
.news-embed > .template-item .row-info h3,
.catalog-embed > .template-title h2,
.catalog-embed > .template-item .row-info h3,
.visual-resources-embed > .template-title h2,
.visual-resources-embed > .template-item .row-info h3,
.form-contact-view-embed > .template-item .row-info h3 {
  color: var(--color-white) !important;
}

.widths-embed > .template-item .request-copy,
.news-embed > .template-item .request-copy,
.catalog-embed > .template-item .request-copy,
.visual-resources-embed > .template-item .request-copy,
.form-contact-view-embed > .template-item .request-copy {
  color: var(--color-line) !important;
}

.widths-embed > .template-item .request-copy strong,
.news-embed > .template-item .request-copy strong,
.catalog-embed > .template-item .request-copy strong,
.visual-resources-embed > .template-item .request-copy strong,
.form-contact-view-embed > .template-item .request-copy strong {
  color: var(--color-white) !important;
}

/* Mantiene los títulos internos de las demos sobre fondo claro en color oscuro */
.widths-embed .template-demo .widths-module h1,
.widths-embed .template-demo .widths-module h2,
.widths-embed .template-demo .widths-module h3,
.news-embed .template-demo .original-resource h1,
.news-embed .template-demo .original-resource h2,
.news-embed .template-demo .original-resource h3,
.catalog-embed .template-demo .original-resource h1,
.catalog-embed .template-demo .original-resource h2,
.catalog-embed .template-demo .original-resource h3,
.form-contact-view-embed .template-demo .original-resource h1,
.form-contact-view-embed .template-demo .original-resource h2,
.form-contact-view-embed .template-demo .original-resource h3 {
  color: var(--color-dark) !important;
}


/* ANTES Y DESPUÉS · integración debajo de Catálogo */
.before-after-embed {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  background: var(--color-dark);
  color: var(--color-white);
  isolation: isolate;
  overflow: hidden;
}

.before-after-embed a {
  color: inherit;
  text-decoration: none;
}

.before-after-embed button,
.before-after-embed input,
.before-after-embed textarea,
.before-after-embed select {
  font: inherit;
}

/* Conserva el formato maestro en las explicaciones */
.before-after-embed .template-title,
.before-after-embed .template-item {
  background: var(--color-dark);
}

.before-after-embed .template-title h2,
.before-after-embed .template-item .row-info h3,
.before-after-embed .template-item .request-copy strong {
  color: var(--color-white) !important;
}

.before-after-embed .template-title p,
.before-after-embed .template-item .request-copy {
  color: var(--color-line) !important;
}

/* Conserva la ejecución visual original */
.before-after-embed .template-demo {
  width: 100%;
}
.before-after-embed {--color-dark: inherit;
  --color-key: inherit;
  --color-light: inherit;
  --color-white: inherit;
  --color-muted: inherit;
  --color-line: inherit;

  --font-main: "Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-secondary: "Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;

  --text-label: var(--micro);
  --text-small: var(--small);
  --text-body: var(--body);
  --text-h3: var(--h3);
  --text-h2: var(--h2);}
.before-after-embed * {box-sizing: border-box;}
.before-after-embed {scroll-behavior: smooth;}
.before-after-embed {margin: 0;
  background: var(--color-dark);
  color: var(--color-white);
  font-family: var(--font-main);
  font-size: var(--body);
  line-height: 1.7;}
/* ===============================
   FORMATO MAESTRO PARA EXPLICACIONES
================================ */
.before-after-embed .template-title {width: 100%;
  padding: 56px 0 18px;
  background: var(--color-dark);
  border-bottom: 1px solid var(--color-line);}
.before-after-embed .template-item {width: 100%;
  padding-top: 20px;
  background: var(--color-dark);
  border-bottom: 1px solid var(--color-line);}
.before-after-embed .menu-row {width: 100%;
  padding-left: 42px;
  padding-right: 42px;}
.before-after-embed .row-number {padding-bottom: 8px;}
.before-after-embed .menu-number {display: block;
  color: var(--color-key);
  font-size: var(--micro);
  font-weight: 400;
  letter-spacing: .16em;
  line-height: 1.45;
  text-transform: uppercase;}
.before-after-embed .row-info {display: grid;
  grid-template-columns: minmax(280px, 35%) minmax(420px, 1fr);
  column-gap: 42px;
  align-items: start;
  padding-bottom: 20px;}
.before-after-embed .row-info h3 {max-width: 620px;
  margin: 0;
  color: var(--color-white);
  font-family: var(--font-main);
  font-size: var(--h3);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -.025em;}
.before-after-embed .request-copy {max-width: 980px;
  margin: 0;
  color: var(--color-line);
  font-size: var(--small);
  line-height: 1.65;}
.before-after-embed .request-copy strong {color: var(--color-white);
  font-weight: 700;}
/* ===============================
   CONTENEDOR DEL EJEMPLO ORIGINAL
================================ */
.before-after-embed .template-demo {width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: var(--color-white);
  color: var(--color-dark);
  border-top: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);}
/* ===============================
   RESPONSIVE
================================ */
@media (max-width: 900px) {
.before-after-embed .menu-row {padding-left: 24px;
    padding-right: 24px;}
.before-after-embed .row-info {grid-template-columns: 1fr;
    row-gap: 12px;}
}
.before-after-embed .template-title h2 {max-width: 980px;
  margin: 0;
  color: var(--color-white);
  font-family: var(--font-main);
  font-size: var(--h2);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -.045em;}
.before-after-embed .template-title p {max-width: 980px;
  margin: 14px 0 0;
  color: var(--color-line);
  font-size: var(--small);
  line-height: 1.7;}
.before-after-embed .template-demo.ba-demo {background: var(--color-dark);}
/* ===============================
   DEMOS ORIGINALES · ANTES Y DESPUÉS
   Estilos aislados para no afectar el documento maestro
================================ */
.before-after-embed .ba-demo {--color-dark: inherit;
  --color-key: inherit;
  --color-light: inherit;
  --color-white: inherit;
  --color-muted: inherit;
  --color-line: inherit;
  --text-label: var(--micro);
  --text-small: var(--small);
  --text-body: var(--body);
  --text-card: var(--card);
  --font-main: "Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-secondary: "Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --img: url("../images/demo-landscape.webp");
  font-family: var(--font-main);}
.before-after-embed .ba-demo *, .before-after-embed .ba-demo *::before, .before-after-embed .ba-demo *::after {box-sizing: border-box;}
.before-after-embed .ba-demo button, .before-after-embed .ba-demo input {font: inherit;}
.before-after-embed .ba-demo .example-stage {width: 100%; min-height: 520px; display: grid; place-items: center; padding: 32px; overflow: hidden;}
.before-after-embed .ba-demo .dark-stage {background: var(--color-dark); color: var(--color-white);}
.before-after-embed .ba-demo .compact-stage {min-height: 460px;}
.before-after-embed .ba-demo .compare {--reveal: 54%; position: relative; touch-action: none; width: 100%; max-width: 780px; aspect-ratio: 16/10; overflow: hidden; background: var(--color-dark); border: 1px solid var(--color-line);}
.before-after-embed .ba-demo .compare-img, .before-after-embed .ba-demo .mini-img, .before-after-embed .ba-demo .stack-img {position: absolute; inset: 0; background-image: var(--img); background-size: cover; background-position: center;}
.before-after-embed .ba-demo .before-img {filter: grayscale(1) contrast(.86) brightness(.72);}
.before-after-embed .ba-demo .before-img::after {content: ""; position: absolute; inset: 0; background: color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 42%, transparent);}
.before-after-embed .ba-demo .after-img {filter: saturate(1.08) contrast(1.02);}
.before-after-embed .ba-demo .compare-horizontal .after-img {clip-path: inset(0 0 0 var(--reveal));}
.before-after-embed .ba-demo .compare-vertical .after-img {clip-path: inset(0 0 calc(100% - var(--reveal)) 0);}
.before-after-embed .ba-demo .compare-diagonal .diagonal-after {clip-path: polygon(calc(var(--reveal) - 18%) 0, 100% 0, 100% 100%, calc(var(--reveal) + 18%) 100%);}
.before-after-embed .ba-demo .compare-handle {position: absolute; top: 0; bottom: 0; left: var(--reveal); width: 2px; transform: translateX(-1px); background: var(--color-white); z-index: 4;}
.before-after-embed .ba-demo .compare-handle::after {content: ""; position: absolute; left: 50%; top: 50%; width: 42px; height: 42px; transform: translate(-50%,-50%); border-radius: 999px; background: var(--color-key); box-shadow: 0 18px 40px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 25%, transparent); z-index: 5;}
.before-after-embed .ba-demo .compare-handle::before {content: "↔"; position: absolute; left: 50%; top: 50%; z-index: 6; transform: translate(-50%,-50%); color: var(--color-white); font-size: var(--body); font-weight: 900; line-height: 1; pointer-events: none;}
.before-after-embed .ba-demo .compare-handle.vertical::before {content: "↕";}
.before-after-embed .ba-demo .compare-handle.vertical {left: 0; right: 0; top: var(--reveal); bottom: auto; width: auto; height: 2px; transform: translateY(-1px);}
.before-after-embed .ba-demo .compare input[type="range"] {position: absolute; inset: 0; z-index: 8; opacity: 0; cursor: ew-resize; width: 100%; height: 100%;}
.before-after-embed .ba-demo .compare-vertical input[type="range"] {cursor: ns-resize; pointer-events: none;}
.before-after-embed .ba-demo .label-chip {position: absolute; top: 18px; z-index: 5; min-height: 32px; display: inline-flex; align-items: center; padding: 0 12px; background: var(--color-white); color: var(--color-dark); font-size: var(--micro); font-weight:500; letter-spacing: .14em; text-transform: uppercase;}
.before-after-embed .ba-demo .label-chip.left {left: 18px;}
.before-after-embed .ba-demo .label-chip.right {right: 18px;}
.before-after-embed .ba-demo .compare-circle .circle-after {clip-path: circle(118px at var(--x,50%) var(--y,50%));}
.before-after-embed .ba-demo .circle-cursor {position: absolute; left: var(--x,50%); top: var(--y,50%); width: 236px; height: 236px; transform: translate(-50%,-50%); border: 2px solid var(--color-white); border-radius: 999px; z-index: 6; pointer-events: none; box-shadow: 0 20px 80px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 32%, transparent);}
.before-after-embed .ba-demo .compare-follow .follow-after {clip-path: inset(0 0 0 var(--x,50%));}
.before-after-embed .ba-demo .follow-line {position: absolute; top: 0; bottom: 0; left: var(--x,50%); width: 2px; background: var(--color-white); z-index: 5;}
.before-after-embed .ba-demo .mini-grid {width: 100%; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 16px;}
.before-after-embed .ba-demo .mini-card {background: var(--color-line); border: 1px solid var(--color-line); padding: 12px; color: var(--color-white);}
.before-after-embed .ba-demo .mini-compare {position: relative; overflow: hidden; aspect-ratio: 4/3; background: var(--color-dark);}
.before-after-embed .ba-demo .mini-compare .after-img {clip-path: inset(0 0 0 var(--reveal));}
.before-after-embed .ba-demo .mini-compare span {position: absolute; top: 0; bottom: 0; left: var(--reveal); width: 2px; background: var(--color-white);}
.before-after-embed .ba-demo .mini-card strong {display: block; margin-top: 12px; font-size: var(--small); color: var(--color-white);}
.before-after-embed .ba-demo .stack-wrap {width: min(100%, 760px); display: grid; justify-items: center; gap: 24px;}
.before-after-embed .ba-demo .stack-deck {position: relative; width: min(100%, 680px); aspect-ratio: 16/10;}
.before-after-embed .ba-demo .stack-card {position: absolute; inset: 0; overflow: hidden; border: 1px solid var(--color-line); background: var(--color-dark); transform: translateY(calc(var(--i) * 12px)) scale(calc(1 - var(--i) * .035)) rotate(calc((var(--i) - 2) * -3deg)); transform-origin: center bottom; z-index: calc(10 - var(--i)); transition: transform .35s ease, z-index .35s ease;}
.before-after-embed .ba-demo .stack-card span {position: absolute; left: 18px; bottom: 18px; z-index: 2; color: var(--color-white); font-size: var(--card); font-weight: 700; letter-spacing: -.04em;}
.before-after-embed .ba-demo .stage-btn {min-height: 48px; padding: 0 24px; border: 1px solid transparent; background: var(--color-key); color:var(--pb-theme-white,var(--color-white)); font-size: var(--small); font-weight: 700; cursor: pointer;}
.before-after-embed .ba-demo .carousel {position: relative; width: 100%; max-width: 820px; overflow: hidden;}
.before-after-embed .ba-demo .carousel-track {display: flex; transition: transform .35s ease;}
.before-after-embed .ba-demo .carousel-slide {flex: 0 0 100%; padding: 0;}
.before-after-embed .ba-demo .mini-full {max-width: none;}
.before-after-embed .ba-demo .carousel-controls {margin-top: 18px; display: flex; align-items: center; justify-content: center; gap: 14px; color: var(--color-white);}
.before-after-embed .ba-demo .carousel-controls button {width: 42px; height: 42px; border: 1px solid var(--color-line); background: var(--color-line); color: var(--color-white); cursor: pointer; font-size: var(--h5); line-height: 1;}
.before-after-embed .ba-demo .carousel-controls span {font-size: var(--small); color: var(--color-line);}
.before-after-embed .ba-demo .compare-handle.diagonal {top: -18%; bottom: -18%; left: var(--reveal); width: 2px; height: auto; transform: translateX(-1px) rotate(-29deg); transform-origin: center; background: var(--color-white); z-index: 6;}
.before-after-embed .ba-demo .compare-handle.diagonal::after {transform: translate(-50%, -50%) rotate(29deg);}
.before-after-embed .ba-demo .compare-handle.diagonal::before {content: "↔"; transform: translate(-50%, -50%) rotate(29deg);}
.before-after-embed .ba-demo .compare-diagonal input[type="range"] {cursor: ew-resize;}
@media (max-width: 1100px) {
.before-after-embed .ba-demo .example-stage {min-height: auto;}
.before-after-embed .ba-demo .mini-grid {grid-template-columns: repeat(2, minmax(0,1fr));}
}
@media (max-width: 720px) {
.before-after-embed .ba-demo .example-stage {padding: 18px;}
}

/* ACORDEÓN · integración debajo de Antes y después */
.accordion-embed {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  background: var(--color-dark);
  color: var(--color-white);
  isolation: isolate;
  overflow: hidden;
}

.accordion-embed a {
  color: inherit;
  text-decoration: none;
}

.accordion-embed button,
.accordion-embed input,
.accordion-embed textarea,
.accordion-embed select {
  font: inherit;
}

/* Conserva el formato maestro en las explicaciones */
.accordion-embed .template-title,
.accordion-embed .template-item {
  background: var(--color-dark);
}

.accordion-embed .template-title h2,
.accordion-embed .template-item .row-info h3,
.accordion-embed .template-item .request-copy strong {
  color: var(--color-white) !important;
}

.accordion-embed .template-item .request-copy {
  color: var(--color-line) !important;
}

/* Conserva la ejecución visual original */
.accordion-embed .template-demo {
  width: 100%;
}
.accordion-embed {--color-dark: inherit;
  --color-key: inherit;
  --color-light: inherit;
  --color-white: inherit;
  --color-muted: inherit;
  --color-line: inherit;

  --font-main: "Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-secondary: "Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;

  --text-label: var(--micro);
  --text-small: var(--small);
  --text-body: var(--body);
  --text-h3: var(--h3);
  --text-h2: var(--h2);}
.accordion-embed * {box-sizing: border-box;}
.accordion-embed {scroll-behavior: smooth;}
.accordion-embed {margin: 0;
  background: var(--color-dark);
  color: var(--color-white);
  font-family: var(--font-main);
  font-size: var(--body);
  line-height: 1.7;}
/* ===============================
   FORMATO MAESTRO PARA EXPLICACIONES
================================ */
.accordion-embed .template-title {width: 100%;
  padding: 56px 0 18px;
  background: var(--color-dark);
  border-bottom: 1px solid var(--color-line);}
.accordion-embed .template-item {width: 100%;
  padding-top: 20px;
  background: var(--color-dark);
  border-bottom: 1px solid var(--color-line);}
.accordion-embed .menu-row {width: 100%;
  padding-left: 42px;
  padding-right: 42px;}
.accordion-embed .row-number {padding-bottom: 8px;}
.accordion-embed .menu-number {display: block;
  color: var(--color-key);
  font-size: var(--micro);
  font-weight: 400;
  letter-spacing: .16em;
  line-height: 1.45;
  text-transform: uppercase;}
.accordion-embed .row-info {display: grid;
  grid-template-columns: minmax(280px, 35%) minmax(420px, 1fr);
  column-gap: 42px;
  align-items: start;
  padding-bottom: 20px;}
.accordion-embed .row-info h3 {max-width: 620px;
  margin: 0;
  color: var(--color-white);
  font-family: var(--font-main);
  font-size: var(--h3);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -.025em;}
.accordion-embed .request-copy {max-width: 980px;
  margin: 0;
  color: var(--color-line);
  font-size: var(--small);
  line-height: 1.65;}
.accordion-embed .request-copy strong {color: var(--color-white);
  font-weight: 700;}
/* ===============================
   CONTENEDOR DEL EJEMPLO ORIGINAL
================================ */
.accordion-embed .template-demo {width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: var(--color-white);
  color: var(--color-dark);
  border-top: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);}
/* ===============================
   RESPONSIVE
================================ */
@media (max-width: 900px) {
.accordion-embed .menu-row {padding-left: 24px;
    padding-right: 24px;}
.accordion-embed .row-info {grid-template-columns: 1fr;
    row-gap: 12px;}
}
/* ===============================
   AJUSTES DE INTEGRACIÓN FORMATO MAESTRO
================================ */
.accordion-embed .template-title h2 {margin: 0;
  color: var(--color-white);
  font-family: var(--font-main);
  font-size: var(--h2);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -.045em;}
.accordion-embed .template-item:last-of-type {border-bottom: 0;}
.accordion-embed .template-demo {background: var(--color-dark);}
.accordion-embed .template-demo .accordion-module {min-height: auto !important;
  height: auto !important;
  background: var(--color-dark) !important;}
.accordion-embed .template-demo .accordion-module .acc-section {min-height: auto !important;
  height: auto !important;
  padding-top: clamp(46px, 6vw, 78px) !important;
  padding-bottom: clamp(46px, 6vw, 78px) !important;}
.accordion-embed .template-demo .accordion-module .acc-section-head {margin-bottom: clamp(24px, 4vw, 46px) !important;}
.accordion-embed .template-demo .accordion-module .acc-hero, .accordion-embed .template-demo .accordion-module .acc-progress, .accordion-embed .template-demo .accordion-module .acc-topbar {display: none !important;}
.accordion-embed .template-demo .accordion-module code {white-space: normal;}
.accordion-embed .template-demo .accordion-module .acc-accordion article.open > div, .accordion-embed .template-demo .accordion-module .acc-mini-accordion article.open > div {max-height: 280px;}
.accordion-embed .template-demo .accordion-module .acc-full-width-accordion article.open div {max-height: 280px;}
@media (max-width: 900px) {
.accordion-embed .template-demo .accordion-module .acc-section {padding-top: 42px !important;
    padding-bottom: 42px !important;}
}
/* MÓDULO ACORDEÓN · ESTILOS ORIGINALES ENCAPSULADOS */
.accordion-embed .accordion-module {--bg:var(--color-light);
  --panel:var(--color-white);
  --text:var(--color-dark);
  --muted:var(--color-muted);
  --gold:var(--color-key);
  --line:var(--color-line);
  --dark:var(--color-dark);
  --max:1320px;}
.accordion-embed .accordion-module * {box-sizing:border-box;margin:0;padding:0}
.accordion-embed .accordion-module {scroll-behavior:smooth}
.accordion-embed .accordion-module {font-family:var(--font-main);
  background:var(--bg);
  color:var(--text);
  line-height:1.55;
  overflow-x:hidden;}
.accordion-embed .accordion-module a {text-decoration:none;color:inherit}
.accordion-embed .accordion-module button, .accordion-embed .accordion-module input {font:inherit}
.accordion-embed .accordion-module button {cursor:pointer}
.accordion-embed .accordion-module img {display:block;width:100%;height:100%;object-fit:cover}
.accordion-embed .accordion-module code {display:block;
  margin-top:18px;
  padding:16px;
  border:1px solid var(--color-key);
  background:var(--color-line);
  color:var(--color-light);
  font-size:var(--small);
  line-height:1.5;}
.accordion-embed .accordion-module .acc-progress {position:fixed;
  top:0;
  left:0;
  height:3px;
  width:0;
  background:var(--color-key);
  z-index:200;}
.accordion-embed .accordion-module .acc-topbar {position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:80;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:18px clamp(18px,4vw,56px);
  background:var(--color-dark);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);}
.accordion-embed .accordion-module .acc-brand {font-size:var(--h5);
  font-weight:900;
  letter-spacing:-.06em;}
.accordion-embed .accordion-module .acc-topbar nav {display:flex;
  gap:24px;
  color:var(--muted);
  font-size:var(--small);}
.accordion-embed .accordion-module .acc-topbar nav a:hover {color:var(--text)}
.accordion-embed .accordion-module .acc-hero {position:relative;
  min-height:100vh;
  display:grid;
  place-items:center;
  overflow:hidden;
  padding:130px 24px 80px;
  background:var(--color-dark);}
.accordion-embed .accordion-module .acc-hero-bg {position:absolute;
  inset:-8%;
  background:
    linear-gradient(90deg, var(--color-dark), transparent),
    var(--acc-demo-bg) center/cover;
  filter:saturate(.95) contrast(1.08);}
.accordion-embed .accordion-module .acc-hero-glow {position:absolute;
  width:48vw;
  height:48vw;
  right:-10vw;
  top:8vh;
  border-radius:50%;
  background:radial-gradient(circle,transparent,transparent 64%);}
.accordion-embed .accordion-module .acc-parallax-layer {will-change:transform;pointer-events:none}
.accordion-embed .accordion-module .acc-hero-content {position:relative;
  z-index:2;
  width:min(100%,var(--max));}
.accordion-embed .accordion-module .acc-hero span, .accordion-embed .accordion-module .acc-section-head span {color:var(--color-key);
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:var(--small);}
.accordion-embed .accordion-module .acc-hero h1 {font-size:var(--h1);
  line-height:.88;
  letter-spacing:-.08em;
  max-width:1060px;
  margin:18px 0;}
.accordion-embed .accordion-module .acc-hero p {color:var(--color-light);
  max-width:780px;
  font-size:var(--card);}
.accordion-embed .accordion-module .acc-section {width:min(calc(100% - 40px),var(--max));
  margin:auto;
  padding:90px 0;
  border-top:1px solid var(--line);}
.accordion-embed .accordion-module .acc-full-section {width:100%;}
.accordion-embed .accordion-module .acc-section-head {display:grid;
  grid-template-columns:90px 1fr;
  gap:30px;
  margin-bottom:34px;}
.accordion-embed .accordion-module .acc-full-head {width:min(calc(100% - 40px),var(--max));
  margin-left:auto;
  margin-right:auto;}
.accordion-embed .accordion-module .acc-section-head h2 {font-size:var(--h1);
  line-height:.95;
  letter-spacing:-.06em;
  margin-bottom:14px;}
.accordion-embed .accordion-module .acc-section-head p {color:var(--muted);
  max-width:760px;
  font-size:var(--card);}
.accordion-embed .accordion-module .acc-accordion {border-top:1px solid var(--line);}
.accordion-embed .accordion-module .acc-accordion article, .accordion-embed .accordion-module .acc-mini-accordion article {border-bottom:1px solid var(--line);}
.accordion-embed .accordion-module .acc-accordion button, .accordion-embed .accordion-module .acc-mini-accordion button {width:100%;
  border:0;
  background:transparent;
  color:var(--text);
  display:flex;
  justify-content:space-between;
  align-items:center;
  text-align:left;
  padding:24px 0;
  font-size:var(--h4);}
.accordion-embed .accordion-module .acc-accordion button span, .accordion-embed .accordion-module .acc-mini-accordion button span {color:var(--color-key);
  transition:.25s;}
.accordion-embed .accordion-module .acc-accordion article.open button span, .accordion-embed .accordion-module .acc-mini-accordion article.open button span {transform:rotate(45deg);}
.accordion-embed .accordion-module .acc-accordion article > div, .accordion-embed .accordion-module .acc-mini-accordion article > div {max-height:0;
  overflow:hidden;
  transition:max-height .35s ease;}
.accordion-embed .accordion-module .acc-accordion article.open > div, .accordion-embed .accordion-module .acc-mini-accordion article.open > div {max-height:220px;}
.accordion-embed .accordion-module .acc-accordion p, .accordion-embed .accordion-module .acc-mini-accordion p {color:var(--muted);
  padding-bottom:24px;
  max-width:780px;}
.accordion-embed .accordion-module .acc-multiple article.open {background:var(--color-light);}
.accordion-embed .accordion-module .acc-full-width-accordion {width:100%;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);}
.accordion-embed .accordion-module .acc-full-width-accordion article {border-bottom:1px solid var(--line);}
.accordion-embed .accordion-module .acc-full-width-accordion article:last-child {border-bottom:0;}
.accordion-embed .accordion-module .acc-full-width-accordion button {width:100%;
  display:grid;
  grid-template-columns:110px 1fr 80px;
  align-items:center;
  gap:20px;
  padding:36px clamp(20px,4vw,64px);
  border:0;
  background:transparent;
  color:var(--text);
  text-align:left;}
.accordion-embed .accordion-module .acc-full-width-accordion button span {color:var(--color-key);
  letter-spacing:.14em;}
.accordion-embed .accordion-module .acc-full-width-accordion button strong {font-size:var(--h1);
  font-weight:700;
  letter-spacing:-.06em;}
.accordion-embed .accordion-module .acc-full-width-accordion button i {font-style:normal;
  color:var(--color-key);
  font-size:var(--h3);
  justify-self:end;
  transition:.25s;}
.accordion-embed .accordion-module .acc-full-width-accordion article.open button i {transform:rotate(45deg);}
.accordion-embed .accordion-module .acc-full-width-accordion div {max-height:0;
  overflow:hidden;
  transition:max-height .35s ease;}
.accordion-embed .accordion-module .acc-full-width-accordion article.open div {max-height:220px;}
.accordion-embed .accordion-module .acc-full-width-accordion p {padding:0 clamp(20px,4vw,64px) 34px calc(clamp(20px,4vw,64px) + 130px);
  color:var(--muted);
  max-width:980px;}
.accordion-embed .accordion-module .acc-hover-accordion {display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;}
.accordion-embed .accordion-module .acc-hover-accordion article {min-height:360px;
  border:1px solid var(--line);
  padding:28px;
  background:linear-gradient(180deg,transparent,transparent);
  overflow:hidden;
  transition:.35s ease;}
.accordion-embed .accordion-module .acc-hover-accordion article:hover {background:
    linear-gradient(180deg,transparent,var(--color-dark)),
    var(--acc-demo-bg) center/cover;
  transform:translateY(-5px);}
.accordion-embed .accordion-module .acc-hover-accordion span {color:var(--color-key);
  letter-spacing:.14em;}
.accordion-embed .accordion-module .acc-hover-accordion h3 {font-size:var(--h3);
  margin:22px 0;}
.accordion-embed .accordion-module .acc-hover-accordion p {color:var(--color-light);
  max-height:0;
  opacity:0;
  transition:.35s ease;}
.accordion-embed .accordion-module .acc-hover-accordion article:hover p {max-height:160px;
  opacity:1;}
.accordion-embed .accordion-module .acc-card-accordion {display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;}
.accordion-embed .accordion-module .acc-card-accordion article {border:1px solid var(--line);
  background:var(--color-dark);
  padding:22px;
  min-height:180px;
  transition:.35s;}
.accordion-embed .accordion-module .acc-card-accordion article.active {grid-column:span 2;
  background:linear-gradient(135deg,transparent,transparent);}
.accordion-embed .accordion-module .acc-card-accordion button {width:100%;
  border:0;
  background:transparent;
  color:var(--text);
  text-align:left;}
.accordion-embed .accordion-module .acc-card-accordion span {color:var(--color-key);
  letter-spacing:.14em;
  display:block;
  margin-bottom:10px;}
.accordion-embed .accordion-module .acc-card-accordion strong {font-size:var(--h4);}
.accordion-embed .accordion-module .acc-card-accordion p {color:var(--muted);
  margin-top:18px;
  display:none;}
.accordion-embed .accordion-module .acc-card-accordion article.active p {display:block;}
.accordion-embed .accordion-module .acc-horizontal-accordion {display:flex;
  gap:12px;
  min-height:560px;}
.accordion-embed .accordion-module .acc-horizontal-accordion article {position:relative;
  flex:1;
  overflow:hidden;
  border:1px solid var(--line);
  transition:flex .45s ease;
  cursor:pointer;}
.accordion-embed .accordion-module .acc-horizontal-accordion article.active, .accordion-embed .accordion-module .acc-horizontal-accordion article:hover {flex:3;}
.accordion-embed .accordion-module .acc-horizontal-accordion article::after {content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent,color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 78%, transparent));}
.accordion-embed .accordion-module .acc-horizontal-accordion img {filter:saturate(.85);
  transition:.45s;}
.accordion-embed .accordion-module .acc-horizontal-accordion article:hover img, .accordion-embed .accordion-module .acc-horizontal-accordion article.active img {transform:scale(1.08);
  filter:saturate(1.1);}
.accordion-embed .accordion-module .acc-horizontal-accordion div {position:absolute;
  z-index:2;
  left:22px;
  bottom:22px;
  width:min(360px,70%);}
.accordion-embed .accordion-module .acc-horizontal-accordion span {color:var(--color-key);
  letter-spacing:.14em;}
.accordion-embed .accordion-module .acc-horizontal-accordion h3 {font-size:var(--h3);
  line-height:1;
  margin:10px 0;}
.accordion-embed .accordion-module .acc-horizontal-accordion p {color:var(--color-light);
  opacity:0;
  transform:translateY(14px);
  transition:.3s;}
.accordion-embed .accordion-module .acc-horizontal-accordion article.active p, .accordion-embed .accordion-module .acc-horizontal-accordion article:hover p {opacity:1;
  transform:translateY(0);}
.accordion-embed .accordion-module .acc-vertical-visual-accordion {border-top:1px solid var(--line);}
.accordion-embed .accordion-module .acc-vertical-visual-accordion article {border-bottom:1px solid var(--line);}
.accordion-embed .accordion-module .acc-vertical-visual-accordion button {width:100%;
  display:grid;
  grid-template-columns:80px 1fr;
  gap:18px;
  align-items:center;
  padding:24px 0;
  border:0;
  background:transparent;
  color:var(--text);
  text-align:left;}
.accordion-embed .accordion-module .acc-vertical-visual-accordion button span {color:var(--color-key);}
.accordion-embed .accordion-module .acc-vertical-visual-accordion button strong {font-size:var(--h4);}
.accordion-embed .accordion-module .acc-vertical-visual-accordion div {display:grid;
  grid-template-columns:.8fr 1fr;
  gap:20px;
  max-height:0;
  overflow:hidden;
  transition:max-height .45s ease;}
.accordion-embed .accordion-module .acc-vertical-visual-accordion article.active div {max-height:420px;
  padding-bottom:28px;}
.accordion-embed .accordion-module .acc-vertical-visual-accordion img {height:260px;}
.accordion-embed .accordion-module .acc-vertical-visual-accordion p {color:var(--muted);
  align-self:center;}
.accordion-embed .accordion-module .acc-tabs-accordion {border:1px solid var(--line);
  background:var(--color-dark);}
.accordion-embed .accordion-module .acc-tab-buttons {display:grid;
  grid-template-columns:repeat(3,1fr);
  border-bottom:1px solid var(--line);}
.accordion-embed .accordion-module .acc-tab-buttons button {border:0;
  border-right:1px solid var(--line);
  background:transparent;
  color:var(--muted);
  padding:18px;}
.accordion-embed .accordion-module .acc-tab-buttons button:last-child {border-right:0;}
.accordion-embed .accordion-module .acc-tab-buttons button.active {background:var(--color-key);
  color:var(--color-dark);}
.accordion-embed .accordion-module .acc-tab-panel {display:none;
  padding:24px;}
.accordion-embed .accordion-module .acc-tab-panel.active {display:block;}
.accordion-embed .accordion-module .acc-progress-accordion {border:1px solid var(--line);
  padding:24px;
  background:var(--color-dark);}
.accordion-embed .accordion-module .acc-progress-meta {display:flex;
  justify-content:space-between;
  margin-bottom:10px;
  color:var(--muted);}
.accordion-embed .accordion-module .acc-progress-meta strong {color:var(--color-key);}
.accordion-embed .accordion-module .acc-bar {height:12px;
  background:var(--color-dark);
  border:1px solid var(--line);
  margin-bottom:24px;}
.accordion-embed .accordion-module .acc-bar i {display:block;
  height:100%;
  width:25%;
  background:var(--color-key);
  transition:.35s;}
.accordion-embed .accordion-module .acc-mega-demo {position:relative;
  border:1px solid var(--line);
  padding:24px;
  background:var(--color-dark);}
.accordion-embed .accordion-module .acc-mega-demo > button {background:var(--color-key);
  color:var(--color-dark);
  border:0;
  padding:14px 18px;
  font-weight:700;}
.accordion-embed .accordion-module .acc-mega-panel {margin-top:18px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  max-height:0;
  overflow:hidden;
  transition:max-height .35s ease;}
.accordion-embed .accordion-module .acc-mega-panel.open {max-height:420px;}
.accordion-embed .accordion-module .acc-mega-panel div {border:1px solid var(--line);
  padding:20px;
  background:var(--color-line);}
.accordion-embed .accordion-module .acc-mega-panel span {display:block;
  color:var(--color-key);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:var(--small);
  margin-bottom:12px;}
.accordion-embed .accordion-module .acc-mega-panel a {display:block;
  color:var(--muted);
  padding:8px 0;}
.accordion-embed .accordion-module .acc-mega-panel a:hover {color:var(--text);}
@media (max-width:1000px) {
.accordion-embed .accordion-module .acc-topbar nav {display:none}
.accordion-embed .accordion-module .acc-section-head, .accordion-embed .accordion-module .acc-hover-accordion, .accordion-embed .accordion-module .acc-card-accordion, .accordion-embed .accordion-module .acc-tab-buttons, .accordion-embed .accordion-module .acc-mega-panel {grid-template-columns:1fr;}
.accordion-embed .accordion-module .acc-card-accordion article.active {grid-column:auto;}
.accordion-embed .accordion-module .acc-horizontal-accordion {flex-direction:column;}
.accordion-embed .accordion-module .acc-horizontal-accordion article {min-height:220px;}
.accordion-embed .accordion-module .acc-vertical-visual-accordion div, .accordion-embed .accordion-module .acc-full-width-accordion button {grid-template-columns:1fr;}
.accordion-embed .accordion-module .acc-full-width-accordion p {padding:0 20px 28px;}
}
@media (max-width:680px) {
.accordion-embed .accordion-module .acc-section {padding:62px 0}
.accordion-embed .accordion-module .acc-hero h1 {font-size:var(--h2)}
.accordion-embed .accordion-module .acc-accordion button, .accordion-embed .accordion-module .acc-mini-accordion button, .accordion-embed .accordion-module .timeline-accordion button {font-size:var(--h5);}
}
/* ACCORDION MODULE · integración acumulable */
.accordion-embed .accordion-module {--bg:var(--color-dark);--panel:var(--color-dark);--text:var(--color-light);--muted:var(--color-light);--gold:var(--color-key);--line:var(--color-line);--dark:var(--color-dark);--max:1320px;
  display:block;width:100%;background:var(--bg);color:var(--text);font-family:var(--font-main);line-height:1.55;overflow:hidden;}
.accordion-embed .accordion-module, .accordion-embed .accordion-module .acc-hero, .accordion-embed .accordion-module .acc-section {height:auto!important;min-height:auto!important;scroll-margin-top:0!important;}
.accordion-embed .accordion-module .acc-hero {min-height:100vh!important;}
.accordion-embed .accordion-module .acc-section {position:relative!important;display:block!important;}
.accordion-embed .accordion-module .acc-section code {white-space:normal;}
.accordion-embed .accordion-module img {display:block;width:100%;height:100%;object-fit:cover;}
.accordion-embed .accordion-module .acc-topbar {display:none!important;}
.accordion-embed .accordion-module .acc-accordion article.open > div, .accordion-embed .accordion-module .acc-mini-accordion article.open > div {max-height:260px;}
.accordion-embed .accordion-module .acc-full-width-accordion article.open div {max-height:260px;}
@media (max-width:1000px) {
.accordion-embed .accordion-module .acc-section-head, .accordion-embed .accordion-module .acc-hover-accordion, .accordion-embed .accordion-module .acc-card-accordion, .accordion-embed .accordion-module .acc-tab-buttons, .accordion-embed .accordion-module .acc-mega-panel {grid-template-columns:1fr;}
.accordion-embed .accordion-module .acc-card-accordion article.active {grid-column:auto;}
.accordion-embed .accordion-module .acc-horizontal-accordion {flex-direction:column;}
.accordion-embed .accordion-module .acc-horizontal-accordion article {min-height:220px;}
.accordion-embed .accordion-module .acc-vertical-visual-accordion div, .accordion-embed .accordion-module .acc-full-width-accordion button {grid-template-columns:1fr;}
.accordion-embed .accordion-module .acc-full-width-accordion p {padding:0 20px 28px;}
}
/* CLEANUP: elimina textos repetidos del formato original dentro del demo */
.accordion-embed .template-demo .accordion-module .acc-section-head {display: none !important;}
.accordion-embed .template-demo .accordion-module .acc-section {padding-top: clamp(34px, 4vw, 58px) !important;
  padding-bottom: clamp(34px, 4vw, 58px) !important;}
.accordion-embed .template-demo .accordion-module .acc-full-section .acc-full-width-accordion {width: min(calc(100% - 40px), var(--max));
  margin-left: auto;
  margin-right: auto;}
@media (max-width: 900px) {
.accordion-embed .template-demo .accordion-module .acc-section {padding-top: 32px !important;
    padding-bottom: 32px !important;}
}
/* AJUSTE: 03 · Acordeón a ancho completo realmente full width */
.accordion-embed #acordeon-03 .template-demo {width: 100% !important;}
.accordion-embed #DEMO-ACORDEON-03, .accordion-embed #DEMO-ACORDEON-03 .accordion-module, .accordion-embed #DEMO-ACORDEON-03 .acc-full-section, .accordion-embed #DEMO-ACORDEON-03 .acc-full-width-accordion {width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;}
.accordion-embed #DEMO-ACORDEON-03 .acc-full-section {padding-left: 0 !important;
  padding-right: 0 !important;}
.accordion-embed #DEMO-ACORDEON-03 .acc-full-width-accordion {border-left: 0 !important;
  border-right: 0 !important;}

/* GALERÍAS · integración debajo de Acordeón */
.gallery-embed {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  background: var(--color-dark);
  color: var(--color-white);
  isolation: isolate;
  overflow: hidden;
}

.gallery-embed a {
  color: inherit;
  text-decoration: none;
}

.gallery-embed button,
.gallery-embed input,
.gallery-embed textarea,
.gallery-embed select {
  font: inherit;
}

/* Conserva el formato maestro en las explicaciones */
.gallery-embed .template-title,
.gallery-embed .template-item {
  background: var(--color-dark);
}

.gallery-embed .template-title h2,
.gallery-embed .template-item .row-info h3,
.gallery-embed .template-item .request-copy strong {
  color: var(--color-white) !important;
}

.gallery-embed .template-item .request-copy {
  color: var(--color-line) !important;
}

/* Conserva la ejecución visual original */
.gallery-embed .template-demo {
  width: 100%;
}
/* =========================================================
   MÓDULO 03 · TIPOS DE GALERÍA, ESTILOS ENCAPSULADOS
   ========================================================= */
.gallery-embed .gallery-module {--navy-950:var(--color-dark);
  --navy-900:var(--color-dark);
  --navy-800:var(--color-dark);
  --navy-700:var(--color-dark);
  --navy-600:var(--color-dark);
  --navy-500:var(--color-key);
  --navy-200:var(--color-line);
  --navy-100:var(--color-light);
  --navy-50:var(--color-light);
  --copper:var(--color-key);
  --copper-light:var(--color-key);
  --copper-dark:var(--color-key);
  --copper-50:var(--color-light);
  --bg:var(--color-light);
  --paper:var(--color-white);
  --ink:var(--color-dark);
  --ink-soft:var(--color-muted);
  --ink-mute:var(--color-muted);
  --line:var(--color-line);
  --line-strong:var(--color-line);
  --serif:var(--font-main);
  --sans:var(--font-main);
  --radius:8px;
  --radius-lg:14px;
  --shadow-sm:0 1px 3px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 6%, transparent), 0 1px 2px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 4%, transparent);
  --shadow-md:0 8px 24px -10px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 18%, transparent), 0 3px 8px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 6%, transparent);
  --shadow-lg:0 28px 56px -22px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 28%, transparent), 0 10px 20px -8px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 12%, transparent);
  --max:1180px;}
.gallery-embed .gallery-module * {box-sizing:border-box;margin:0;padding:0}
.gallery-embed .gallery-module *::before, .gallery-embed .gallery-module *::after {box-sizing:border-box}
.gallery-embed .gallery-module {scroll-behavior:smooth}
.gallery-embed .gallery-module {font-family:var(--font-main);
  background:var(--bg);
  color:var(--color-dark);
  font-size:var(--body);
  line-height:1.65;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;}
.gallery-embed .gallery-module a {color:var(--navy-700);text-decoration:none;transition:color .25s ease}
.gallery-embed .gallery-module a:hover {color:var(--color-key)}
.gallery-embed .gallery-module button, .gallery-embed .gallery-module input {font:inherit}
.gallery-embed .gallery-module button {border:0;cursor:pointer;background:none}
.gallery-embed .gallery-module img {display:block;width:100%;height:100%;object-fit:cover}
.gallery-embed .gallery-module h1, .gallery-embed .gallery-module h2, .gallery-embed .gallery-module h3, .gallery-embed .gallery-module h4, .gallery-embed .gallery-module h5 {font-family:var(--font-main);
  color:var(--color-dark);
  line-height:1.12;
  letter-spacing:-.015em;
  font-weight:500;}
.gallery-embed .gallery-module 
.gallery-module .progress {position:fixed;
  top:0;
  left:0;
  height:3px;
  width:0;
  background:var(--color-key);
  z-index:200;
  box-shadow:0 0 18px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 42%, transparent);}
.gallery-embed .gallery-module .topbar {position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:80;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:18px clamp(18px,4vw,56px);
  background:var(--color-dark);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--color-line);}
.gallery-embed .gallery-module .brand {color:var(--color-white);
  font-size:var(--h5);
  font-weight:700;
  letter-spacing:-.045em;}
.gallery-embed .gallery-module .topbar nav {display:flex;
  gap:24px;
  color:var(--color-white);
  font-size:var(--small);
  font-weight:500;}
.gallery-embed .gallery-module .topbar nav a {color:inherit}
.gallery-embed .gallery-module .topbar nav a:hover {color:var(--color-key)}
.gallery-embed .gallery-module .hero {position:relative;
  min-height:92vh;
  display:grid;
  place-items:center;
  overflow:hidden;
  padding:130px 24px 86px;
  color:var(--color-white);
  background:
    linear-gradient(120deg,var(--color-dark),var(--color-dark)),
    radial-gradient(circle at 80% 20%,transparent,transparent 36%),
    linear-gradient(135deg,var(--color-dark),var(--navy-700));}
.gallery-embed .gallery-module .hero::after {content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 4%, transparent) 1px,transparent 1px),
    linear-gradient(90deg,color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 4%, transparent) 1px,transparent 1px);
  background-size:58px 58px;
  opacity:.5;
  pointer-events:none;}
.gallery-embed .gallery-module .hero-bg {position:absolute;
  inset:-8%;
  background:
    linear-gradient(120deg,var(--color-dark) 0%,var(--color-dark) 46%,transparent 100%),
    linear-gradient(135deg,var(--color-dark),var(--navy-700));
  filter:saturate(.92) contrast(1.06);}
.gallery-embed .gallery-module .hero-glow {position:absolute;
  width:48vw;
  height:48vw;
  right:-10vw;
  top:8vh;
  border-radius:50%;
  background:radial-gradient(circle,transparent,transparent 64%);}
.gallery-embed .gallery-module .parallax-layer {will-change:transform;pointer-events:none}
.gallery-embed .gallery-module .hero-content {position:relative;
  z-index:2;
  width:min(100%,var(--max));}
.gallery-embed .gallery-module .hero small, .gallery-embed .gallery-module .section-head span, .gallery-embed .gallery-module .slide-copy small, .gallery-embed .gallery-module .featured-main small, .gallery-embed .gallery-module .bottom-copy small {display:inline-flex;
  align-items:center;
  gap:12px;
  color:var(--color-key);
  text-transform:uppercase;
  letter-spacing:.22em;
  font-size:var(--small);
  font-weight:700;}
.gallery-embed .gallery-module .hero small::before, .gallery-embed .gallery-module .section-head span::before, .gallery-embed .gallery-module .slide-copy small::before, .gallery-embed .gallery-module .featured-main small::before, .gallery-embed .gallery-module .bottom-copy small::before {content:"";
  width:36px;
  height:1px;
  background:currentColor;}
.gallery-embed .gallery-module .hero h1 {color:var(--color-white);
  font-size:var(--h1);
  line-height:.94;
  letter-spacing:-.04em;
  max-width:1040px;
  margin:20px 0 24px;
  font-weight:400;}
.gallery-embed .gallery-module .hero p {color:var(--color-white);
  max-width:720px;
  font-size:var(--card);
  margin:0;}
.gallery-embed .gallery-module .gallery-section {position:relative;
  width:min(calc(100% - 48px),var(--max));
  margin:auto;
  padding:86px 0;
  border-top:1px solid var(--line);}
.gallery-embed .gallery-module .gallery-section:nth-of-type(even) {width:100%;
  max-width:none;
  padding-left:max(24px,calc((100vw - var(--max))/2));
  padding-right:max(24px,calc((100vw - var(--max))/2));
  background:var(--color-light);}
.gallery-embed .gallery-module .section-head {display:grid;
  grid-template-columns:92px minmax(0,760px);
  gap:30px;
  margin-bottom:42px;}
.gallery-embed .gallery-module .section-head span {margin-top:8px;
  color:var(--color-key);}
.gallery-embed .gallery-module .section-head span::before {width:28px}
.gallery-embed .gallery-module .section-head h2 {font-size:var(--h2);
  line-height:1.05;
  margin-bottom:14px;
  font-weight:500;}
.gallery-embed .gallery-module .section-head p {color:var(--color-muted);
  max-width:720px;
  font-size:var(--body);}
.gallery-embed .gallery-module .hero-slider, .gallery-embed .gallery-module .featured-main, .gallery-embed .gallery-module .photo-card, .gallery-embed .gallery-module .hover-expand article, .gallery-embed .gallery-module .image-accordion article, .gallery-embed .gallery-module .filter-card, .gallery-embed .gallery-module .before-after, .gallery-embed .gallery-module .stacked-cards article, .gallery-embed .gallery-module .cover-card, .gallery-embed .gallery-module .horizontal-scroll article, .gallery-embed .gallery-module .bottom-stage {border:1px solid var(--line);
  border-radius:var(--radius-lg);
  overflow:hidden;
  background:var(--color-white);
  box-shadow:var(--shadow-sm);}
.gallery-embed .gallery-module .hero-slider:hover, .gallery-embed .gallery-module .featured-main:hover, .gallery-embed .gallery-module .photo-card:hover, .gallery-embed .gallery-module .hover-expand article:hover, .gallery-embed .gallery-module .image-accordion article.open, .gallery-embed .gallery-module .horizontal-scroll article:hover, .gallery-embed .gallery-module .bottom-stage:hover {box-shadow:var(--shadow-lg);}
.gallery-embed .gallery-module .hero-slider {position:relative;min-height:620px}
.gallery-embed .gallery-module .slides {position:relative;min-height:620px}
.gallery-embed .gallery-module .slide {position:absolute;inset:0;opacity:0;transition:opacity .65s ease}
.gallery-embed .gallery-module .slide.active {opacity:1}
.gallery-embed .gallery-module .slide::after {content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 86%, transparent),color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 18%, transparent));}
.gallery-embed .gallery-module .slide-copy {position:absolute;
  z-index:2;
  left:clamp(24px,5vw,70px);
  bottom:clamp(24px,5vw,70px);
  max-width:620px;}
.gallery-embed .gallery-module .slide-copy h3 {color:var(--color-white);
  font-size:var(--h1);
  line-height:.96;
  letter-spacing:-.035em;
  margin:12px 0;
  font-weight:400;}
.gallery-embed .gallery-module .slide-copy p {color:var(--color-white);font-size:var(--body)}
.gallery-embed .gallery-module .slider-actions {position:absolute;
  right:24px;
  bottom:24px;
  z-index:5;
  display:flex;
  gap:10px;}
.gallery-embed .gallery-module .slider-actions button, .gallery-embed .gallery-module .bottom-arrows button, .gallery-embed .gallery-module .coverflow > button {background:var(--color-key);
  color:var(--pb-theme-white,var(--color-white));
  border-radius:6px;
  padding:13px 16px;
  font-weight:700;
  box-shadow:0 4px 14px -2px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 40%, transparent);
  transition:transform .2s ease,background .2s ease,box-shadow .2s ease;}
.gallery-embed .gallery-module .slider-actions button:hover, .gallery-embed .gallery-module .bottom-arrows button:hover, .gallery-embed .gallery-module .coverflow > button:hover {background:var(--color-key);
  transform:translateY(-2px);
  box-shadow:0 8px 24px -4px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 55%, transparent);}
.gallery-embed .gallery-module .lightbox-grid {display:grid;grid-template-columns:repeat(5,1fr);grid-auto-rows:220px;gap:18px}
.gallery-embed .gallery-module .photo-card {position:relative;color:var(--color-white);transition:transform .28s ease,box-shadow .28s ease}
.gallery-embed .gallery-module .photo-card:hover {transform:translateY(-4px)}
.gallery-embed .gallery-module .photo-card img {transition:transform .4s ease,filter .4s ease;filter:saturate(.92)}
.gallery-embed .gallery-module .photo-card:hover img {transform:scale(1.08);filter:saturate(1.08)}
.gallery-embed .gallery-module .photo-card::after {content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 30%,color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 82%, transparent));}
.gallery-embed .gallery-module .photo-card span {position:absolute;z-index:2;left:18px;bottom:18px;font-weight:700;letter-spacing:-.01em}
.gallery-embed .gallery-module .photo-card.tall {grid-row:span 2}
.gallery-embed .gallery-module .photo-card.wide {grid-column:span 2}
.gallery-embed .gallery-module .featured-carousel {display:grid;grid-template-columns:1fr 260px;gap:18px}
.gallery-embed .gallery-module .featured-main {min-height:650px;position:relative}
.gallery-embed .gallery-module .featured-main::after {content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 45%,color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 82%, transparent));}
.gallery-embed .gallery-module .featured-main > div {position:absolute;z-index:2;left:34px;bottom:34px}
.gallery-embed .gallery-module .featured-main h3 {color:var(--color-white);font-size:var(--h1);line-height:1;margin-top:12px;font-weight:400}
.gallery-embed .gallery-module .thumbs {display:grid;gap:14px}
.gallery-embed .gallery-module .thumbs button {border:1px solid var(--line);
  border-radius:var(--radius-lg);
  background:var(--color-white);
  overflow:hidden;
  opacity:.64;
  transition:opacity .3s ease,border-color .3s ease,transform .3s ease,box-shadow .3s ease;
  box-shadow:var(--shadow-sm);}
.gallery-embed .gallery-module .thumbs button.active, .gallery-embed .gallery-module .thumbs button:hover {opacity:1;border-color:var(--color-key);transform:translateY(-2px);box-shadow:var(--shadow-md)}
.gallery-embed .gallery-module .thumbs img {height:100%;min-height:140px;filter:saturate(.92)}
.gallery-embed .gallery-module .hover-expand {display:flex;gap:14px;min-height:560px}
.gallery-embed .gallery-module .hover-expand article {position:relative;flex:1;min-width:0;transition:flex .45s ease,box-shadow .28s ease}
.gallery-embed .gallery-module .hover-expand article:hover {flex:3.2}
.gallery-embed .gallery-module .hover-expand article::after {content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 78%, transparent))}
.gallery-embed .gallery-module .hover-expand img {transition:transform .45s ease,filter .45s ease;filter:saturate(.86)}
.gallery-embed .gallery-module .hover-expand article:hover img {transform:scale(1.08);filter:saturate(1.08)}
.gallery-embed .gallery-module .hover-expand span {position:absolute;z-index:2;left:20px;bottom:20px;color:var(--color-white);font-size:var(--h5);font-weight:700}
.gallery-embed .gallery-module .hover-expand.vertical {min-height:680px}
.gallery-embed .gallery-module .hover-expand.vertical article {writing-mode:vertical-rl}
.gallery-embed .gallery-module .hover-expand.vertical span {writing-mode:horizontal-tb;left:auto;right:20px}
.gallery-embed .gallery-module .masonry {columns:3 260px;column-gap:18px}
.gallery-embed .gallery-module .masonry article {break-inside:avoid;
  margin:0 0 18px;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  background:var(--color-white);
  overflow:hidden;
  box-shadow:var(--shadow-sm);
  transition:transform .28s ease,box-shadow .28s ease;}
.gallery-embed .gallery-module .masonry article:hover {transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.gallery-embed .gallery-module .masonry article:nth-child(2n) img {height:430px}
.gallery-embed .gallery-module .masonry article:nth-child(3n) img {height:300px}
.gallery-embed .gallery-module .masonry img {height:240px;filter:saturate(.92)}
.gallery-embed .gallery-module .masonry h3 {padding:20px;font-family:var(--font-main);font-size:var(--card);color:var(--color-dark);letter-spacing:0}
.gallery-embed .gallery-module .horizontal-scroll {display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:16px}
.gallery-embed .gallery-module .horizontal-scroll article {flex:0 0 min(74vw,720px);min-height:460px;scroll-snap-align:start;position:relative;transition:transform .28s ease,box-shadow .28s ease}
.gallery-embed .gallery-module .horizontal-scroll article:hover {transform:translateY(-4px)}
.gallery-embed .gallery-module .horizontal-scroll article::after {content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 36%,color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 78%, transparent))}
.gallery-embed .gallery-module .horizontal-scroll h3 {position:absolute;z-index:2;left:28px;bottom:28px;color:var(--color-white);font-size:var(--h2);font-weight:400}
.gallery-embed .gallery-module .coverflow {display:grid;grid-template-columns:70px 1fr 70px;align-items:center;gap:16px}
.gallery-embed .gallery-module .coverflow > button {height:70px;font-size:var(--h3);padding:0}
.gallery-embed .gallery-module .cover-track {min-height:520px;position:relative;perspective:1000px}
.gallery-embed .gallery-module .cover-card {position:absolute;
  top:50%;
  left:50%;
  width:min(520px,60%);
  height:420px;
  transform:translate(-50%,-50%) scale(.7);
  opacity:.45;
  transition:.45s;
  box-shadow:var(--shadow-md);}
.gallery-embed .gallery-module .cover-card.active {transform:translate(-50%,-50%) scale(1);opacity:1;z-index:3;box-shadow:var(--shadow-lg)}
.gallery-embed .gallery-module .cover-card.left {transform:translate(-95%,-50%) rotateY(26deg) scale(.78)}
.gallery-embed .gallery-module .cover-card.right {transform:translate(-5%,-50%) rotateY(-26deg) scale(.78)}
.gallery-embed .gallery-module .cover-card::after {content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 72%, transparent))}
.gallery-embed .gallery-module .cover-card span {position:absolute;left:20px;bottom:18px;z-index:2;font-size:var(--h3);color:var(--color-key);font-family:var(--font-main)}
.gallery-embed .gallery-module .image-accordion {display:flex;gap:14px;min-height:560px}
.gallery-embed .gallery-module .image-accordion article {position:relative;flex:.55;cursor:pointer;transition:flex .45s ease,box-shadow .28s ease}
.gallery-embed .gallery-module .image-accordion article.open {flex:2.4}
.gallery-embed .gallery-module .image-accordion article::after {content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 28%,color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 82%, transparent))}
.gallery-embed .gallery-module .image-accordion div {position:absolute;z-index:2;left:28px;bottom:28px;width:min(420px,70%);opacity:0;transform:translateY(20px);transition:.35s}
.gallery-embed .gallery-module .image-accordion article.open div {opacity:1;transform:translateY(0)}
.gallery-embed .gallery-module .image-accordion h3 {color:var(--color-white);font-size:var(--h2);font-weight:400}
.gallery-embed .gallery-module .image-accordion p {color:var(--color-white)}
.gallery-embed .gallery-module .filter-tools {display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px}
.gallery-embed .gallery-module .filter {border:1px solid var(--line-strong);
  background:var(--color-white);
  color:var(--color-dark);
  padding:12px 16px;
  border-radius:6px;
  font-weight:700;
  transition:all .2s ease;}
.gallery-embed .gallery-module .filter.active, .gallery-embed .gallery-module .filter:hover {background:var(--color-key);border-color:var(--color-key);color:var(--pb-theme-white,var(--color-white));box-shadow:0 4px 14px -2px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 40%, transparent)}
.gallery-embed .gallery-module .filter-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.gallery-embed .gallery-module .filter-card {min-height:300px;position:relative}
.gallery-embed .gallery-module .filter-card::after {content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 76%, transparent))}
.gallery-embed .gallery-module .filter-card span {position:absolute;z-index:2;left:20px;bottom:20px;color:var(--color-key);text-transform:uppercase;letter-spacing:.14em;font-weight:700;font-size:var(--small)}
.gallery-embed .gallery-module .before-after {position:relative;height:650px}
.gallery-embed .gallery-module .before-after > img {filter:saturate(.72) contrast(.95)}
.gallery-embed .gallery-module .after-layer {position:absolute;inset:0;width:50%;overflow:hidden;border-right:2px solid var(--color-key)}
.gallery-embed .gallery-module .after-layer img {width:calc(100vw - 48px);max-width:var(--max);filter:saturate(1.12) contrast(1.08)}
.gallery-embed .gallery-module .before-after input {position:absolute;left:50%;bottom:24px;transform:translateX(-50%);width:min(520px,80%);accent-color:var(--color-key)}
.gallery-embed .gallery-module .stacked-cards {position:relative;min-height:600px}
.gallery-embed .gallery-module .stacked-cards article {position:absolute;
  left:50%;
  top:50%;
  width:min(720px,78%);
  height:460px;
  transform:translate(-50%,-50%);
  box-shadow:var(--shadow-lg);
  transition:.45s;}
.gallery-embed .gallery-module .stacked-cards article::after {content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 76%, transparent))}
.gallery-embed .gallery-module .stacked-cards article:nth-child(1) {transform:translate(-58%,-46%) rotate(-7deg)}
.gallery-embed .gallery-module .stacked-cards article:nth-child(2) {transform:translate(-50%,-50%) rotate(0deg);z-index:2}
.gallery-embed .gallery-module .stacked-cards article:nth-child(3) {transform:translate(-42%,-54%) rotate(7deg)}
.gallery-embed .gallery-module .stacked-cards article:hover {z-index:5;transform:translate(-50%,-50%) rotate(0deg) scale(1.04)}
.gallery-embed .gallery-module .stacked-cards span {position:absolute;left:22px;bottom:20px;color:var(--color-key);font-size:var(--h3);z-index:2;font-family:var(--font-main)}
.gallery-embed .gallery-module .bottom-thumbs-gallery {width:min(1180px,100%);margin:0 auto}
.gallery-embed .gallery-module .bottom-stage {position:relative;height:clamp(420px,62vw,720px);transition:box-shadow .28s ease}
.gallery-embed .gallery-module .bottom-main-image {width:100%;height:100%;display:block;object-fit:cover;transform:scale(1.01);transition:opacity .28s ease,transform .55s ease}
.gallery-embed .gallery-module .bottom-main-image.is-changing {opacity:.25;transform:scale(1.06)}
.gallery-embed .gallery-module .bottom-gradient {position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 0%,transparent 44%,var(--color-dark) 100%),linear-gradient(90deg,var(--color-dark) 0%,transparent 56%)}
.gallery-embed .gallery-module .bottom-copy {position:absolute;left:clamp(24px,4vw,56px);bottom:clamp(24px,4vw,54px);max-width:580px;color:var(--color-white);z-index:2}
.gallery-embed .gallery-module .bottom-copy h3 {color:var(--color-white);font-size:var(--h1);line-height:.95;letter-spacing:-.035em;margin:12px 0;font-weight:400}
.gallery-embed .gallery-module .bottom-copy p {max-width:460px;margin:18px 0 0;color:var(--color-white);font-size:var(--body);line-height:1.6}
.gallery-embed .gallery-module .bottom-arrows {position:absolute;right:clamp(18px,3vw,40px);bottom:clamp(24px,4vw,54px);z-index:3;display:flex;gap:10px}
.gallery-embed .gallery-module .bottom-arrows button {width:48px;height:48px;border-radius:999px;padding:0;font-size:var(--h4);line-height:1}
.gallery-embed .gallery-module .bottom-thumb-row {display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:14px;margin-top:16px;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin}
.gallery-embed .gallery-module .bottom-thumb {position:relative;min-width:150px;height:108px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);padding:0;background:var(--color-white);cursor:pointer;opacity:.6;transition:opacity .2s ease,transform .2s ease,border-color .2s ease,box-shadow .2s ease;box-shadow:var(--shadow-sm)}
.gallery-embed .gallery-module .bottom-thumb img {width:100%;height:100%;display:block;object-fit:cover;filter:saturate(.82) brightness(.9);transition:transform .35s ease,filter .35s ease}
.gallery-embed .gallery-module .bottom-thumb span {position:absolute;left:12px;bottom:10px;color:var(--color-white);font-size:var(--small);font-weight:700;letter-spacing:.16em;text-shadow:0 2px 12px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 78%, transparent)}
.gallery-embed .gallery-module .bottom-thumb:hover, .gallery-embed .gallery-module .bottom-thumb.active {opacity:1;transform:translateY(-3px);border-color:var(--color-key);box-shadow:var(--shadow-md)}
.gallery-embed .gallery-module .bottom-thumb:hover img, .gallery-embed .gallery-module .bottom-thumb.active img {transform:scale(1.07);filter:saturate(1.08) brightness(1)}
.gallery-embed .gallery-module .lightbox-modal {position:fixed;inset:0;z-index:120;background:var(--color-dark);display:none;place-items:center;padding:20px;backdrop-filter:blur(8px)}
.gallery-embed .gallery-module .lightbox-modal.open {display:grid}
.gallery-embed .gallery-module .lightbox-modal button {position:absolute;right:24px;top:24px;width:48px;height:48px;background:var(--color-key);color:var(--pb-theme-white,var(--color-white));border-radius:6px;font-size:var(--h4);line-height:1}
.gallery-embed .gallery-module .lightbox-modal > div {width:min(1000px,100%)}
.gallery-embed .gallery-module .lightbox-modal img {height:min(70vh,720px);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}
.gallery-embed .gallery-module .lightbox-modal h3 {margin-top:16px;font-size:var(--h4);color:var(--color-white);font-weight:400}
.gallery-embed .gallery-module .footer {background:var(--color-dark);color:var(--color-white);padding:44px 24px;text-align:center;font-size:var(--small)}
@media (max-width:900px) {
.gallery-embed .gallery-module .topbar nav {display:none}
.gallery-embed .gallery-module .hero {min-height:auto;padding:104px 24px 76px}
.gallery-embed .gallery-module .section-head {grid-template-columns:1fr;gap:12px}
.gallery-embed .gallery-module .section-head span::before {width:36px}
.gallery-embed .gallery-module .lightbox-grid, .gallery-embed .gallery-module .filter-grid {grid-template-columns:1fr}
.gallery-embed .gallery-module .photo-card.tall, .gallery-embed .gallery-module .photo-card.wide {grid-column:auto;grid-row:auto}
.gallery-embed .gallery-module .featured-carousel {grid-template-columns:1fr}
.gallery-embed .gallery-module .thumbs {grid-template-columns:repeat(4,1fr)}
.gallery-embed .gallery-module .hover-expand, .gallery-embed .gallery-module .image-accordion {flex-direction:column}
.gallery-embed .gallery-module .hover-expand article, .gallery-embed .gallery-module .image-accordion article {min-height:220px}
.gallery-embed .gallery-module .hover-expand.vertical article {writing-mode:horizontal-tb}
.gallery-embed .gallery-module .coverflow {grid-template-columns:1fr}
.gallery-embed .gallery-module .coverflow > button {display:none}
.gallery-embed .gallery-module .cover-card {width:82%}
.gallery-embed .gallery-module .gallery-section, .gallery-embed .gallery-module .gallery-section:nth-of-type(even) {width:min(calc(100% - 32px),var(--max));padding:64px 0;margin:auto;background:transparent}
}
@media (max-width:760px) {
.gallery-embed .gallery-module .bottom-stage {height:560px}
.gallery-embed .gallery-module .bottom-copy {right:22px}
.gallery-embed .gallery-module .bottom-copy p {display:none}
.gallery-embed .gallery-module .bottom-arrows {top:18px;right:18px;bottom:auto}
.gallery-embed .gallery-module .bottom-thumb-row {grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:42%}
}
/* Ajustes de convivencia para biblioteca acumulable */
.gallery-embed .gallery-module {display:block;
  min-height:100vh;
  background:var(--color-light);
  color:var(--color-dark);
  overflow:hidden;
  scroll-snap-align:start;}
.gallery-embed .gallery-module .topbar, .gallery-embed .gallery-module .progress {display:none!important;}
.gallery-embed .gallery-module .hero, .gallery-embed .gallery-module .gallery-section {scroll-snap-align:start;}
.gallery-embed .gallery-module .hero {min-height:100vh;}
.gallery-embed .gallery-module .gallery-section {min-height:100vh;display:flex;flex-direction:column;justify-content:center;}
.gallery-embed .gallery-module .footer {border-top:1px solid var(--color-line);}
@media (max-width:900px) {
.gallery-embed .gallery-module .gallery-section {min-height:auto;}
}
/* =========================================================
   OVERRIDE SOLICITADO · Solo colores base + Inter + sin marcos
   ========================================================= */
.gallery-embed, .gallery-embed {margin: 0;
  min-height: 100%;
  background: var(--color-light);}
.gallery-embed .gallery-module {--navy-950:var(--color-dark);
  --navy-900:var(--color-dark);
  --navy-800:var(--color-dark);
  --navy-700:var(--color-dark);
  --navy-600:var(--color-dark);
  --navy-500:var(--color-key);
  --navy-200:var(--color-line);
  --navy-100:var(--color-light);
  --navy-50:var(--color-light);
  --copper:var(--color-key);
  --copper-light:var(--color-key);
  --copper-dark:var(--color-key);
  --copper-50:var(--color-light);
  --bg:var(--color-light);
  --paper:var(--color-white);
  --ink:var(--color-dark);
  --ink-soft:var(--color-muted);
  --ink-mute:var(--color-muted);
  --line:var(--color-line);
  --line-strong:var(--color-line);
  --serif:var(--font-main);
  --sans:var(--font-main);
  --radius:0;
  --radius-lg:0;}
.gallery-embed .gallery-module h1, .gallery-embed .gallery-module h2, .gallery-embed .gallery-module h3, .gallery-embed .gallery-module h4, .gallery-embed .gallery-module h5 {font-family: var(--font-main);
  font-weight: 700;
  letter-spacing: -.045em;}
.gallery-embed .gallery-module .topbar {background: var(--color-dark);}
.gallery-embed .gallery-module .brand {letter-spacing: -.02em;}
.gallery-embed .gallery-module .hero {background: var(--color-dark);}
.gallery-embed .gallery-module .hero::after, .gallery-embed .gallery-module .hero-glow {display: none !important;}
.gallery-embed .gallery-module .hero-bg {filter: none;}
/* Sin marcos en imágenes y contenedores visuales */
.gallery-embed .gallery-module .hero-slider, .gallery-embed .gallery-module .photo-card, .gallery-embed .gallery-module .featured-main, .gallery-embed .gallery-module .thumbs button, .gallery-embed .gallery-module .hover-expand article, .gallery-embed .gallery-module .masonry article, .gallery-embed .gallery-module .horizontal-scroll article, .gallery-embed .gallery-module .cover-card, .gallery-embed .gallery-module .filter-card, .gallery-embed .gallery-module .stacked-cards article, .gallery-embed .gallery-module .bottom-stage, .gallery-embed .gallery-module .bottom-thumb, .gallery-embed .gallery-module .lightbox-modal > div {border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;}
.gallery-embed .gallery-module .photo-card, .gallery-embed .gallery-module .featured-main, .gallery-embed .gallery-module .hover-expand article, .gallery-embed .gallery-module .horizontal-scroll article, .gallery-embed .gallery-module .cover-card, .gallery-embed .gallery-module .filter-card, .gallery-embed .gallery-module .stacked-cards article, .gallery-embed .gallery-module .bottom-stage {background: transparent !important;}
/* Mantener estados activos sin crear marco permanente */
.gallery-embed .gallery-module .thumbs button.active, .gallery-embed .gallery-module .bottom-thumb.active {outline: 3px solid var(--color-key);
  outline-offset: 0;}
.gallery-embed .gallery-module .section-head, .gallery-embed .gallery-module .gallery-section {border-color: var(--line);}
.gallery-embed .gallery-module .footer {background: var(--color-dark);
  color: var(--color-line);}
/* Limpieza visual: sin adornos decorativos, pero conservando efectos funcionales */
.gallery-embed .gallery-module .progress {display: none;}
.gallery-embed .gallery-module .prompt-guide {display:grid;
  gap:12px;
  max-width:820px;}
.gallery-embed .gallery-module .prompt-guide p {color:var(--color-muted);
  max-width:880px;
  font-size:var(--body);
  line-height:1.75;}
.gallery-embed .gallery-module .section-head .prompt-guide p {margin:0;}
/* 03 · Galería de resultados */
.gallery-embed .gallery-module .results-section {background: var(--color-dark) !important;
  width: 100%;
  max-width: none;
  padding-left: max(24px, calc((100vw - var(--max)) / 2));
  padding-right: max(24px, calc((100vw - var(--max)) / 2));}
.gallery-embed .gallery-module .results-section .section-head h2, .gallery-embed .gallery-module .results-section .prompt-guide p {color: var(--color-white);}
.gallery-embed .gallery-module .results-section .section-head span, .gallery-embed .gallery-module .results-intro span, .gallery-embed .gallery-module .results-copy small {color: var(--color-key);}
.gallery-embed .gallery-module .results-gallery {background: var(--color-dark);
  color: var(--color-white);}
.gallery-embed .gallery-module .results-intro {display: grid;
  gap: 10px;
  margin-bottom: 26px;}
.gallery-embed .gallery-module .results-intro span {display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: var(--small);
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;}
.gallery-embed .gallery-module .results-intro span::before {content: "";
  width: 36px;
  height: 1px;
  background: currentColor;}
.gallery-embed .gallery-module .results-intro h3 {color: var(--color-white);
  font-size: var(--h1);
  line-height: .95;
  letter-spacing: -.055em;}
.gallery-embed .gallery-module .results-stage {position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  min-height: auto;
  overflow: hidden;
  background: var(--color-dark);}
.gallery-embed .gallery-module .results-main-image {width: 100%;
  height: 100%;
  min-height: auto;
  object-fit: cover;
  transition: opacity .35s ease, transform .55s ease;}
.gallery-embed .gallery-module .results-stage.is-changing .results-main-image {opacity: .72;
  transform: scale(1.02);}
.gallery-embed .gallery-module .results-overlay {position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 22px;
  align-items: end;
  padding: clamp(24px, 4vw, 48px);
  background: linear-gradient(180deg, transparent, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 92%, transparent));}
.gallery-embed .gallery-module .results-copy small {display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: var(--small);
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;}
.gallery-embed .gallery-module .results-copy small::before {content: "";
  width: 36px;
  height: 1px;
  background: currentColor;}
.gallery-embed .gallery-module .results-copy h4 {margin: 12px 0 0;
  color: var(--color-white);
  font-family: var(--font-main);
  font-size: var(--h1);
  line-height: .98;
  letter-spacing: -.055em;}
.gallery-embed .gallery-module .results-meta {display: flex;
  align-items: center;
  gap: 18px;}
.gallery-embed .gallery-module .results-meta span {color: var(--color-white);
  font-weight: 700;
  letter-spacing: .12em;
  white-space: nowrap;}
.gallery-embed .gallery-module .results-arrows {display: flex;
  gap: 10px;}
.gallery-embed .gallery-module .results-arrows button {width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  background: var(--color-key);
  color:var(--pb-theme-white,var(--color-white));
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  font-size: var(--h5);
  transition: transform .2s ease, opacity .2s ease;}
.gallery-embed .gallery-module .results-arrows button:hover {transform: translateY(-2px);
  opacity: .9;}
.gallery-embed .gallery-module .results-thumbs {display: flex;
  gap: 12px;
  overflow-x: auto;
  padding: 18px 0 4px;
  scroll-snap-type: x mandatory;}
.gallery-embed .gallery-module .results-thumbs::-webkit-scrollbar {height: 8px;}
.gallery-embed .gallery-module .results-thumbs::-webkit-scrollbar-thumb {background: var(--color-key);}
.gallery-embed .gallery-module .result-thumb {position: relative;
  flex: 0 0 150px;
  height: 96px;
  overflow: hidden;
  border: 0;
  background: var(--color-dark);
  cursor: pointer;
  opacity: .48;
  scroll-snap-align: start;
  transition: opacity .25s ease, transform .25s ease;}
.gallery-embed .gallery-module .result-thumb img {width: 100%;
  height: 100%;
  object-fit: cover;}
.gallery-embed .gallery-module .result-thumb span {position: absolute;
  left: 10px;
  bottom: 8px;
  z-index: 2;
  color: var(--color-white);
  font-size: var(--small);
  font-weight: 700;
  letter-spacing: .12em;}
.gallery-embed .gallery-module .result-thumb::after {content: "";
  position: absolute;
  inset: 0;
  background: color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 42%, transparent);}
.gallery-embed .gallery-module .result-thumb.active, .gallery-embed .gallery-module .result-thumb:hover {opacity: 1;
  transform: translateY(-2px);
  outline: 3px solid var(--color-key);
  outline-offset: 0;}
@media (max-width: 900px) {
.gallery-embed .gallery-module .results-overlay {grid-template-columns: 1fr;}
.gallery-embed .gallery-module .results-meta {justify-content: space-between;}
.gallery-embed .gallery-module .results-stage, .gallery-embed .gallery-module .results-main-image {min-height: auto;}
}
@media (max-width: 560px) {
.gallery-embed .gallery-module .results-section {padding-left: 18px;
    padding-right: 18px;}
.gallery-embed .gallery-module .results-stage, .gallery-embed .gallery-module .results-main-image {min-height: auto;}
.gallery-embed .gallery-module .result-thumb {flex-basis: 124px;
    height: 84px;}
}
/* Ajuste final 02: 10 imágenes irregulares */
.gallery-embed .gallery-module #lightbox .lightbox-grid {display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-auto-rows: 170px;
  gap: 18px;
  grid-auto-flow: dense;}
.gallery-embed .gallery-module #lightbox .photo-card {grid-column: span 1;
  grid-row: span 1;}
.gallery-embed .gallery-module #lightbox .photo-card:nth-child(1) {grid-column: span 2;
  grid-row: span 2;}
.gallery-embed .gallery-module #lightbox .photo-card:nth-child(2) {grid-column: span 1;
  grid-row: span 2;}
.gallery-embed .gallery-module #lightbox .photo-card:nth-child(3) {grid-column: span 2;
  grid-row: span 1;}
.gallery-embed .gallery-module #lightbox .photo-card:nth-child(6) {grid-column: span 2;
  grid-row: span 2;}
.gallery-embed .gallery-module #lightbox .photo-card:nth-child(8) {grid-column: span 2;
  grid-row: span 1;}
.gallery-embed .gallery-module #lightbox .photo-card:nth-child(10) {grid-column: span 2;
  grid-row: span 1;}
.gallery-embed .gallery-module #lightbox .photo-card span {color: var(--color-white);}
@media (max-width:900px) {
.gallery-embed .gallery-module #lightbox .lightbox-grid {grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: 180px;}
.gallery-embed .gallery-module #lightbox .photo-card, .gallery-embed .gallery-module #lightbox .photo-card:nth-child(1), .gallery-embed .gallery-module #lightbox .photo-card:nth-child(2), .gallery-embed .gallery-module #lightbox .photo-card:nth-child(3), .gallery-embed .gallery-module #lightbox .photo-card:nth-child(6), .gallery-embed .gallery-module #lightbox .photo-card:nth-child(8), .gallery-embed .gallery-module #lightbox .photo-card:nth-child(10) {grid-column: span 1;
    grid-row: span 1;}
.gallery-embed .gallery-module #lightbox .photo-card:nth-child(1), .gallery-embed .gallery-module #lightbox .photo-card:nth-child(6) {grid-column: span 2;
    grid-row: span 2;}
}
@media (max-width:560px) {
.gallery-embed .gallery-module #lightbox .lightbox-grid {grid-template-columns: 1fr;
    grid-auto-rows: 240px;}
.gallery-embed .gallery-module #lightbox .photo-card, .gallery-embed .gallery-module #lightbox .photo-card:nth-child(1), .gallery-embed .gallery-module #lightbox .photo-card:nth-child(2), .gallery-embed .gallery-module #lightbox .photo-card:nth-child(3), .gallery-embed .gallery-module #lightbox .photo-card:nth-child(6), .gallery-embed .gallery-module #lightbox .photo-card:nth-child(8), .gallery-embed .gallery-module #lightbox .photo-card:nth-child(10) {grid-column: auto;
    grid-row: auto;}
}
/* Ajuste final 06: masonry con 7 imágenes */
.gallery-embed .gallery-module #masonry .masonry h3 {color: var(--color-dark);}
/* Solo colores base visibles */
.gallery-embed .gallery-module .section-head span, .gallery-embed .gallery-module .hero small, .gallery-embed .gallery-module .slide-copy small, .gallery-embed .gallery-module .featured-main small, .gallery-embed .gallery-module .bottom-copy small {color: var(--color-key);}
.gallery-embed .gallery-module .section-head p, .gallery-embed .gallery-module .prompt-guide p, .gallery-embed .gallery-module p {color: var(--color-muted);}
.gallery-embed .gallery-module .hero p, .gallery-embed .gallery-module .slide-copy p {color: var(--color-white);}
.gallery-embed .gallery-module .slider-actions button, .gallery-embed .gallery-module .bottom-arrows button, .gallery-embed .gallery-module .coverflow > button, .gallery-embed .gallery-module .lightbox-modal button {background: var(--color-key);
  color:var(--pb-theme-white,var(--color-white));}
.gallery-embed .gallery-module .lightbox-modal {background: var(--color-dark);}
.gallery-embed .gallery-module .lightbox-modal h3 {color: var(--color-white);}
.gallery-embed {--color-dark: inherit;
  --color-key: inherit;
  --color-light: inherit;
  --color-white: inherit;
  --color-muted: inherit;
  --color-line: inherit;

  --font-main: "Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-secondary: "Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;

  --text-label: var(--micro);
  --text-small: var(--small);
  --text-body: var(--body);
  --text-h3: var(--h3);
  --text-h2: var(--h2);}
.gallery-embed * {box-sizing: border-box;}
.gallery-embed {scroll-behavior: smooth;}
.gallery-embed {margin: 0;
  background: var(--color-dark);
  color: var(--color-white);
  font-family: var(--font-main);
  font-size: var(--body);
  line-height: 1.7;}
/* ===============================
   FORMATO MAESTRO PARA EXPLICACIONES
================================ */
.gallery-embed .template-title {width: 100%;
  padding: 56px 0 18px;
  background: var(--color-dark);
  border-bottom: 1px solid var(--color-line);}
.gallery-embed .template-item {width: 100%;
  padding-top: 20px;
  background: var(--color-dark);
  border-bottom: 1px solid var(--color-line);}
.gallery-embed .menu-row {width: 100%;
  padding-left: 42px;
  padding-right: 42px;}
.gallery-embed .row-number {padding-bottom: 8px;}
.gallery-embed .menu-number {display: block;
  color: var(--color-key);
  font-size: var(--micro);
  font-weight: 400;
  letter-spacing: .16em;
  line-height: 1.45;
  text-transform: uppercase;}
.gallery-embed .row-info {display: grid;
  grid-template-columns: minmax(280px, 35%) minmax(420px, 1fr);
  column-gap: 42px;
  align-items: start;
  padding-bottom: 20px;}
.gallery-embed .row-info h3 {max-width: 620px;
  margin: 0;
  color: var(--color-white);
  font-family: var(--font-main);
  font-size: var(--h3);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -.025em;}
.gallery-embed .request-copy {max-width: 980px;
  margin: 0;
  color: var(--color-line);
  font-size: var(--small);
  line-height: 1.65;}
.gallery-embed .request-copy strong {color: var(--color-white);
  font-weight: 700;}
/* ===============================
   CONTENEDOR DEL EJEMPLO ORIGINAL
================================ */
.gallery-embed .template-demo {width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: var(--color-white);
  color: var(--color-dark);
  border-top: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);}
/* ===============================
   RESPONSIVE
================================ */
@media (max-width: 900px) {
.gallery-embed .menu-row {padding-left: 24px;
    padding-right: 24px;}
.gallery-embed .row-info {grid-template-columns: 1fr;
    row-gap: 12px;}
}
/* =========================================================
   ALINEACIÓN A FORMATO MAESTRO · GALERÍAS
   ========================================================= */
.gallery-embed {background: var(--color-dark);
  color: var(--color-white);}
.gallery-embed .gallery-module.aligned-master {display: block;
  min-height: 100vh;
  background: var(--color-dark);
  color: var(--color-white);
  overflow: visible;
  scroll-snap-align: unset;}
.gallery-embed .gallery-module.aligned-master .template-title {width: 100%;
  padding: 56px 0 18px;
  background: var(--color-dark);
  border-bottom: 1px solid var(--color-line);}
.gallery-embed .gallery-module.aligned-master .template-title h2 {margin: 0;
  color: var(--color-white);
  font-family: var(--font-main);
  font-size: var(--h2);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -.045em;}
.gallery-embed .gallery-module.aligned-master .template-item {width: 100%;
  padding-top: 20px;
  background: var(--color-dark);
  border-bottom: 1px solid var(--color-line);}
.gallery-embed .gallery-module.aligned-master .menu-row {width: 100%;
  padding-left: 42px;
  padding-right: 42px;}
.gallery-embed .gallery-module.aligned-master .row-number {padding-bottom: 8px;}
.gallery-embed .gallery-module.aligned-master .menu-number {display: block;
  color: var(--color-key);
  font-size: var(--small);
  font-weight: 400;
  letter-spacing: .16em;
  line-height: 1.45;
  text-transform: uppercase;}
.gallery-embed .gallery-module.aligned-master .row-info {display: grid;
  grid-template-columns: minmax(280px, 35%) minmax(420px, 1fr);
  column-gap: 42px;
  align-items: start;
  padding-bottom: 20px;}
.gallery-embed .gallery-module.aligned-master .row-info h3 {max-width: 620px;
  margin: 0;
  color: var(--color-white);
  font-family: var(--font-main);
  font-size: var(--h5);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -.025em;}
.gallery-embed .gallery-module.aligned-master .request-copy {max-width: 980px;
  margin: 0;
  color: var(--color-line);
  font-size: var(--small);
  line-height: 1.65;}
.gallery-embed .gallery-module.aligned-master .request-copy strong {color: var(--color-white);
  font-weight: 700;}
.gallery-embed .gallery-module.aligned-master .template-demo {width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: var(--color-white);
  color: var(--color-dark);
  border-top: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);}
.gallery-embed .gallery-module.aligned-master .template-demo .gallery-demo-section {scroll-snap-align: unset;}
.gallery-embed .gallery-module.aligned-master .template-demo .gallery-section {border-top: 0;}
.gallery-embed .gallery-module.aligned-master .footer {margin-top: 0;}
@media (max-width: 900px) {
.gallery-embed .gallery-module.aligned-master .menu-row {padding-left: 24px;
    padding-right: 24px;}
.gallery-embed .gallery-module.aligned-master .row-info {grid-template-columns: 1fr;
    row-gap: 12px;}
.gallery-embed .gallery-module.aligned-master .template-title h2 {font-size: var(--h3);}
}
/* =========================================================
   AJUSTE SOLICITADO · Espaciado vertical de secciones a 50px
   ========================================================= */
.gallery-embed .gallery-module.aligned-master .template-title {padding-top: 50px !important;
  padding-bottom: 50px !important;}
.gallery-embed .gallery-module.aligned-master .template-item {padding-top: 50px !important;
  padding-bottom: 50px !important;}
.gallery-embed .gallery-module.aligned-master .row-info {padding-bottom: 50px !important;}
.gallery-embed .gallery-module.aligned-master .template-demo .gallery-section, .gallery-embed .gallery-module.aligned-master .template-demo .gallery-section:nth-of-type(even) {padding-top: 50px !important;
  padding-bottom: 50px !important;
  min-height: auto !important;
  justify-content: flex-start !important;}
.gallery-embed .gallery-module.aligned-master .template-demo .hero {padding-top: 50px !important;
  padding-bottom: 50px !important;
  min-height: auto !important;}
@media (max-width: 900px) {
.gallery-embed .gallery-module.aligned-master .template-title, .gallery-embed .gallery-module.aligned-master .template-item, .gallery-embed .gallery-module.aligned-master .row-info, .gallery-embed .gallery-module.aligned-master .template-demo .gallery-section, .gallery-embed .gallery-module.aligned-master .template-demo .gallery-section:nth-of-type(even), .gallery-embed .gallery-module.aligned-master .template-demo .hero {padding-top: 50px !important;
    padding-bottom: 50px !important;}
}
/* Ajuste solicitado: ocultar scroll horizontal visible en 03 */
.gallery-embed .gallery-module .results-thumbs {scrollbar-width: none;
  -ms-overflow-style: none;}
.gallery-embed .gallery-module .results-thumbs::-webkit-scrollbar {display: none;
  width: 0;
  height: 0;}

/* TIMELINE · integración debajo de Galerías */
.timeline-embed {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  background: var(--color-dark);
  color: var(--color-white);
  isolation: isolate;
  overflow: hidden;
}

.timeline-embed a {
  color: inherit;
  text-decoration: none;
}

.timeline-embed button,
.timeline-embed input,
.timeline-embed textarea,
.timeline-embed select {
  font: inherit;
}

/* Conserva el formato maestro en las explicaciones */
.timeline-embed .template-title,
.timeline-embed .template-item {
  background: var(--color-dark);
}

.timeline-embed .template-title h2,
.timeline-embed .template-item .row-info h3,
.timeline-embed .template-item .request-copy strong {
  color: var(--color-white) !important;
}

.timeline-embed .template-item .request-copy {
  color: var(--color-line) !important;
}

/* Conserva la ejecución visual original */
.timeline-embed .template-demo {
  width: 100%;
}
.timeline-embed {--color-dark: inherit;
  --color-key: inherit;
  --color-light: inherit;
  --color-white: inherit;
  --color-muted: inherit;
  --color-line: inherit;

  --font-main: "Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-secondary: "Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;

  --text-label: var(--micro);
  --text-small: var(--small);
  --text-body: var(--body);
  --text-h3: var(--h3);
  --text-h2: var(--h2);}
.timeline-embed * {box-sizing: border-box;}
.timeline-embed {scroll-behavior: smooth;}
.timeline-embed {margin: 0;
  background: var(--color-dark);
  color: var(--color-white);
  font-family: var(--font-main);
  font-size: var(--body);
  line-height: 1.7;}
/* ===============================
   FORMATO MAESTRO PARA EXPLICACIONES
================================ */
.timeline-embed .template-title {width: 100%;
  padding: 56px 0 18px;
  background: var(--color-dark);
  border-bottom: 1px solid var(--color-line);}
.timeline-embed .template-item {width: 100%;
  padding-top: 20px;
  background: var(--color-dark);
  border-bottom: 1px solid var(--color-line);}
.timeline-embed .menu-row {width: 100%;
  padding-left: 42px;
  padding-right: 42px;}
.timeline-embed .row-number {padding-bottom: 8px;}
.timeline-embed .menu-number {display: block;
  color: var(--color-key);
  font-size: var(--micro);
  font-weight: 400;
  letter-spacing: .16em;
  line-height: 1.45;
  text-transform: uppercase;}
.timeline-embed .row-info {display: grid;
  grid-template-columns: minmax(280px, 35%) minmax(420px, 1fr);
  column-gap: 42px;
  align-items: start;
  padding-bottom: 20px;}
.timeline-embed .row-info h3 {max-width: 620px;
  margin: 0;
  color: var(--color-white);
  font-family: var(--font-main);
  font-size: var(--h3);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -.025em;}
.timeline-embed .request-copy {max-width: 980px;
  margin: 0;
  color: var(--color-line);
  font-size: var(--small);
  line-height: 1.65;}
.timeline-embed .request-copy strong {color: var(--color-white);
  font-weight: 700;}
/* ===============================
   CONTENEDOR DEL EJEMPLO ORIGINAL
================================ */
.timeline-embed .template-demo {width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: var(--color-white);
  color: var(--color-dark);
  border-top: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);}
/* ===============================
   RESPONSIVE
================================ */
@media (max-width: 900px) {
.timeline-embed .menu-row {padding-left: 24px;
    padding-right: 24px;}
.timeline-embed .row-info {grid-template-columns: 1fr;
    row-gap: 12px;}
}
/* ===============================
   AJUSTES DE INTEGRACIÓN
================================ */
.timeline-embed .template-title h2 {margin: 0;
  color: var(--color-white);
  font-family: var(--font-main);
  font-size: var(--h2);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -.045em;}
.timeline-embed .template-item:last-of-type {border-bottom: 0;}
.timeline-embed .template-demo {background: var(--color-dark);}
.timeline-embed .template-demo .timeline-module {min-height: auto;
  background: var(--color-dark);}
.timeline-embed .template-demo .timeline-module .section {border-top: 0;}
.timeline-embed .template-demo .timeline-module .section-head {display: none !important;}
.timeline-embed .timeline-modal-root {min-height: 0 !important;
  background: transparent !important;}
.timeline-embed .timeline-modal-root .modal {color: var(--color-light);}
.timeline-embed .timeline-module {--bg:var(--color-dark);
  --panel:var(--color-dark);
  --text:var(--color-light);
  --muted:var(--color-muted);
  --gold:var(--color-key);
  --green:var(--color-key);
  --blue-line:var(--color-key);
  --line:var(--color-line);
  --dark:var(--color-dark);
  --max:1320px;}
.timeline-embed .timeline-module * {box-sizing:border-box;margin:0;padding:0}
.timeline-embed .timeline-module {scroll-behavior:smooth}
.timeline-embed .timeline-module {font-family:var(--font-main);
  background:var(--bg);
  color:var(--text);
  line-height:1.55;
  overflow-x:hidden;}
.timeline-embed .timeline-module a {text-decoration:none;color:inherit}
.timeline-embed .timeline-module button {font:inherit;cursor:pointer}
.timeline-embed .timeline-module code {display:block;
  margin-top:18px;
  padding:16px;
  border:1px solid var(--color-key);
  background:var(--color-line);
  color:var(--color-key);
  font-size:var(--small);
  line-height:1.5;}
.timeline-embed .timeline-module .progress {position:fixed;
  top:0;
  left:0;
  height:3px;
  width:0;
  background:var(--color-key);
  z-index:200;}
.timeline-embed .timeline-module .topbar {position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:80;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:18px clamp(18px,4vw,56px);
  background:var(--color-dark);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);}
.timeline-embed .timeline-module .brand {font-size:var(--h5);
  font-weight:900;
  letter-spacing:-.06em;}
.timeline-embed .timeline-module .topbar nav {display:flex;
  gap:24px;
  color:var(--muted);
  font-size:var(--small);}
.timeline-embed .timeline-module .topbar nav a:hover {color:var(--text)}
.timeline-embed .timeline-module .hero {position:relative;
  min-height:100vh;
  display:grid;
  place-items:center;
  overflow:hidden;
  padding:130px 24px 80px;
  background:var(--color-dark);}
.timeline-embed .timeline-module .hero-bg {position:absolute;
  inset:-8%;
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 92%, transparent), color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 26%, transparent)),
    url("../images/demo-landscape.webp") center/cover;
  filter:saturate(.95) contrast(1.08);}
.timeline-embed .timeline-module .hero-glow {position:absolute;
  width:48vw;
  height:48vw;
  right:-10vw;
  top:8vh;
  border-radius:50%;
  background:radial-gradient(circle,transparent,transparent 64%);}
.timeline-embed .timeline-module .parallax-layer {will-change:transform;pointer-events:none}
.timeline-embed .timeline-module .hero-content {position:relative;
  z-index:2;
  width:min(100%,var(--max));}
.timeline-embed .timeline-module .hero span, .timeline-embed .timeline-module .section-head span {color:var(--color-key);
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:var(--small);}
.timeline-embed .timeline-module .hero h1 {font-size:var(--h1);
  line-height:.88;
  letter-spacing:-.08em;
  max-width:1060px;
  margin:18px 0;}
.timeline-embed .timeline-module .hero p {color:var(--color-light);
  max-width:800px;
  font-size:var(--card);}
.timeline-embed .timeline-module .section {width:min(calc(100% - 40px),var(--max));
  margin:auto;
  padding:90px 0;
  border-top:1px solid var(--line);}
.timeline-embed .timeline-module .section.wide {width:100%;
  padding-left:clamp(20px,4vw,56px);
  padding-right:clamp(20px,4vw,56px);}
.timeline-embed .timeline-module .section-head {display:grid;
  grid-template-columns:90px 1fr;
  gap:30px;
  margin-bottom:34px;}
.timeline-embed .timeline-module .section-head h2 {font-size:var(--h1);
  line-height:.95;
  letter-spacing:-.06em;
  margin-bottom:14px;}
.timeline-embed .timeline-module .section-head p {color:var(--muted);
  max-width:760px;
  font-size:var(--card);}
.timeline-embed .timeline-module .stepper-card {border:1px solid var(--line);
  background:var(--color-dark);
  padding:34px;}
.timeline-embed .timeline-module .stepper {display:grid;
  grid-template-columns:auto 1fr auto 1fr auto 1fr auto;
  align-items:start;
  gap:12px;
  margin-bottom:34px;}
.timeline-embed .timeline-module .stepper i {height:4px;
  background:var(--color-key);
  margin-top:25px;}
.timeline-embed .timeline-module .step {width:92px;
  border:0;
  background:transparent;
  color:var(--color-dark);
  display:grid;
  justify-items:center;
  gap:10px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:900;}
.timeline-embed .timeline-module .step strong {width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:4px solid var(--color-key);
  background:var(--color-dark);
  color:var(--color-muted);
  font-size:var(--h5);
  box-shadow:0 0 0 7px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 26%, transparent);}
.timeline-embed .timeline-module .step span {color:var(--color-muted);
  font-size:var(--small);}
.timeline-embed .timeline-module .step.active strong {background:var(--color-key);
  border-color:var(--color-key);
  color:var(--color-dark);
  box-shadow:0 0 28px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 34%, transparent);}
.timeline-embed .timeline-module .step.active span {color:var(--color-key)}
.timeline-embed .timeline-module .step.done strong {border-color:var(--color-key);
  color:var(--color-key);}
.timeline-embed .timeline-module .stepper-copy {border:1px solid var(--line);
  padding:22px;
  background:var(--color-line);}
.timeline-embed .timeline-module .stepper-copy h3, .timeline-embed .timeline-module .tracker-panel h3 {font-size:var(--h4);
  margin-bottom:8px;}
.timeline-embed .timeline-module .stepper-copy p, .timeline-embed .timeline-module .tracker-panel p {color:var(--muted)}
.timeline-embed .timeline-module .stepper-copy button, .timeline-embed .timeline-module .tracker-panel button {margin-top:18px;
  background:var(--color-key);
  color:var(--color-dark);
  border:0;
  padding:14px 18px;
  font-weight:900;}
.timeline-embed .timeline-module .timeline-horizontal {position:relative;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:14px;}
.timeline-embed .timeline-module .timeline-horizontal::before {content:"";
  position:absolute;
  left:8%;
  right:8%;
  top:42px;
  height:1px;
  background:var(--color-key);}
.timeline-embed .timeline-module .timeline-horizontal article, .timeline-embed .timeline-module .horizontal-line-process article {position:relative;
  z-index:2;
  border:1px solid var(--line);
  background:var(--color-dark);
  padding:22px;
  min-height:250px;}
.timeline-embed .timeline-module .timeline-horizontal span {width:58px;
  height:58px;
  display:grid;
  place-items:center;
  background:var(--color-key);
  color:var(--color-dark);
  font-weight:900;
  margin-bottom:70px;}
.timeline-embed .timeline-module .timeline-horizontal h3, .timeline-embed .timeline-module .horizontal-line-process h3, .timeline-embed .timeline-module .timeline-vertical h3, .timeline-embed .timeline-module .timeline-zigzag h3 {font-size:var(--h4);
  margin-bottom:10px;}
.timeline-embed .timeline-module .timeline-horizontal p, .timeline-embed .timeline-module .horizontal-line-process p, .timeline-embed .timeline-module .timeline-vertical p, .timeline-embed .timeline-module .timeline-zigzag p {color:var(--muted)}
.timeline-embed .timeline-module .horizontal-line-process {position:relative;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:18px;
  padding-top:58px;}
.timeline-embed .timeline-module .horizontal-line-process::before {content:"";
  position:absolute;
  left:6%;
  right:6%;
  top:26px;
  height:3px;
  background:linear-gradient(90deg,var(--color-key),var(--color-key) 55%,var(--color-key));}
.timeline-embed .timeline-module .horizontal-line-process article::before {content:"";
  position:absolute;
  top:-46px;
  left:24px;
  width:28px;
  height:28px;
  border-radius:50%;
  border:4px solid var(--color-key);
  background:var(--color-dark);}
.timeline-embed .timeline-module .horizontal-line-process article.done::before {border-color:var(--color-key);
  background:var(--color-key);}
.timeline-embed .timeline-module .horizontal-line-process article.active::before {border-color:var(--color-key);
  box-shadow:0 0 24px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 45%, transparent);}
.timeline-embed .timeline-module .horizontal-line-process span, .timeline-embed .timeline-module .compact-timeline span {color:var(--color-key);
  letter-spacing:.14em;
  font-size:var(--small);}
.timeline-embed .timeline-module .timeline-popup-grid {display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;}
.timeline-embed .timeline-module .timeline-popup-grid button {min-height:260px;
  border:1px solid var(--line);
  background:linear-gradient(135deg,transparent,transparent);
  color:var(--text);
  font-size:var(--h4);
  text-align:left;
  padding:24px;
  transition:.25s;}
.timeline-embed .timeline-module .timeline-popup-grid button:hover {border-color:var(--color-line);
  transform:translateY(-4px);}
.timeline-embed .timeline-module .popup-stepper {display:grid;
  grid-template-columns:auto 1fr auto 1fr auto 1fr auto;
  align-items:center;
  gap:12px;
  padding:34px;
  border:0;
  background:var(--color-dark);}
.timeline-embed .timeline-module .popup-stepper i {height:4px;
  background:var(--color-key);}
.timeline-embed .timeline-module .popup-stepper button {width:92px;
  height:92px;
  border-radius:50%;
  border:4px solid var(--color-key);
  background:var(--color-dark);
  color:var(--text);
  display:grid;
  place-items:center;
  font-size:var(--h4);
  font-weight:900;
  position:relative;}
.timeline-embed .timeline-module .popup-stepper button:hover {border-color:var(--color-key);
  color:var(--color-key);}
.timeline-embed .timeline-module .popup-stepper button span {position:absolute;
  top:105px;
  color:var(--color-muted);
  font-size:var(--small);
  text-transform:uppercase;
  letter-spacing:.1em;}
.timeline-embed .timeline-module .compact-timeline {display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  border:1px solid var(--line);
  background:var(--color-dark);}
.timeline-embed .timeline-module .compact-timeline article {position:relative;
  padding:26px;
  border-right:1px solid var(--line);}
.timeline-embed .timeline-module .compact-timeline article:last-child {border-right:0}
.timeline-embed .timeline-module .compact-timeline article::before {content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:4px;
  background:var(--color-key);}
.timeline-embed .timeline-module .compact-timeline article.current::before {background:var(--color-key)}
.timeline-embed .timeline-module .compact-timeline h3 {margin-top:10px;
  font-size:var(--h4);}
.timeline-embed .timeline-module .cinematic-timeline, .timeline-embed .timeline-module .roadmap {min-height:560px;
  position:relative;
  border:1px solid var(--line);
  overflow:hidden;
  background:
    linear-gradient(180deg,color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 24%, transparent),color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 86%, transparent)),
    url("../images/demo-landscape.webp") center/cover;}
.timeline-embed .timeline-module .cinema-line, .timeline-embed .timeline-module .road-line {position:absolute;
  left:8%;
  right:8%;
  height:5px;
  background:linear-gradient(90deg,var(--color-key),transparent);
  box-shadow:0 0 24px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 34%, transparent);}
.timeline-embed .timeline-module .cinema-line {top:56%}
.timeline-embed .timeline-module .road-line {top:58%;
  height:8px;
  border-radius:999px;
  transform:rotate(-6deg);}
.timeline-embed .timeline-module .cinematic-timeline article, .timeline-embed .timeline-module .roadmap article {position:absolute;
  border:1px solid var(--line);
  background:var(--color-dark);
  padding:20px;}
.timeline-embed .timeline-module .cinematic-timeline article {width:220px;
  min-height:160px;}
.timeline-embed .timeline-module .roadmap article {width:190px;
  min-height:140px;}
.timeline-embed .timeline-module .cinematic-timeline span, .timeline-embed .timeline-module .roadmap span {color:var(--color-key);
  font-weight:900;
  font-size:var(--h4);}
.timeline-embed .timeline-module .cinematic-timeline h3 {font-size:var(--h4)}
.timeline-embed .timeline-module .cinematic-timeline p {color:var(--muted)}
.timeline-embed .timeline-module .c1 {left:7%;top:50%}
.timeline-embed .timeline-module .c2 {left:31%;top:33%}
.timeline-embed .timeline-module .c3 {left:56%;top:54%}
.timeline-embed .timeline-module .c4 {right:7%;top:29%}
.timeline-embed .timeline-module .roadmap h3 {font-size:var(--h5)}
.timeline-embed .timeline-module .roadmap .m1 {left:8%;top:56%}
.timeline-embed .timeline-module .roadmap .m2 {left:32%;top:36%}
.timeline-embed .timeline-module .roadmap .m3 {left:57%;top:52%}
.timeline-embed .timeline-module .roadmap .m4 {right:8%;top:28%}
.timeline-embed .timeline-module .timeline-vertical {position:relative;
  display:grid;
  gap:0;
  padding-left:90px;}
.timeline-embed .timeline-module .timeline-vertical::before {content:"";
  position:absolute;
  left:32px;
  top:0;
  bottom:0;
  width:1px;
  background:var(--color-key);}
.timeline-embed .timeline-module .timeline-vertical article {position:relative;
  border-bottom:1px solid var(--line);
  padding:0 0 42px;
  margin-bottom:42px;}
.timeline-embed .timeline-module .timeline-vertical article::before {content:"";
  position:absolute;
  left:-73px;
  top:0;
  width:30px;
  height:30px;
  border:1px solid var(--color-key);
  background:var(--bg);}
.timeline-embed .timeline-module .timeline-vertical span, .timeline-embed .timeline-module .timeline-zigzag span {color:var(--color-key);
  letter-spacing:.14em;
  text-transform:uppercase;
  font-size:var(--small);}
.timeline-embed .timeline-module .timeline-zigzag {position:relative;
  display:grid;
  gap:40px;}
.timeline-embed .timeline-module .timeline-zigzag::before {content:"";
  position:absolute;
  left:50%;
  top:0;
  bottom:0;
  width:1px;
  background:var(--color-key);}
.timeline-embed .timeline-module .timeline-zigzag article {display:grid;
  grid-template-columns:1fr 1fr;}
.timeline-embed .timeline-module .timeline-zigzag article:nth-child(even) div {grid-column:2}
.timeline-embed .timeline-module .timeline-zigzag div {border:1px solid var(--line);
  background:var(--color-line);
  padding:26px;}
.timeline-embed .timeline-module .sticky-process {display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:30px;}
.timeline-embed .timeline-module .sticky-process aside {position:sticky;
  top:110px;
  height:calc(100vh - 140px);
  border:1px solid var(--line);
  background:linear-gradient(180deg,transparent,transparent);
  padding:34px;
  display:flex;
  flex-direction:column;
  justify-content:center;}
.timeline-embed .timeline-module .sticky-process aside span {color:var(--color-key);
  letter-spacing:.14em;
  text-transform:uppercase;}
.timeline-embed .timeline-module .sticky-process aside h3, .timeline-embed .timeline-module .sticky-steps h3 {font-size:var(--h1);
  line-height:1;
  margin:18px 0;}
.timeline-embed .timeline-module .sticky-process aside p, .timeline-embed .timeline-module .sticky-steps p {color:var(--muted)}
.timeline-embed .timeline-module .sticky-steps {display:grid;
  gap:60vh;
  padding-bottom:30vh;}
.timeline-embed .timeline-module .sticky-steps article {min-height:60vh;
  border:1px solid var(--line);
  background:var(--color-dark);
  padding:34px;
  display:flex;
  flex-direction:column;
  justify-content:end;}
.timeline-embed .timeline-module .sticky-steps span {color:var(--color-key);
  font-size:var(--h1);
  line-height:1;}
.timeline-embed .timeline-module .sticky-steps p {max-width:620px}
.timeline-embed .timeline-module .horizontal-scroll-timeline {display:flex;
  gap:16px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  padding-bottom:16px;}
.timeline-embed .timeline-module .horizontal-scroll-timeline article {flex:0 0 min(70vw,520px);
  min-height:360px;
  scroll-snap-align:start;
  border:1px solid var(--line);
  background:var(--color-dark);
  padding:28px;}
.timeline-embed .timeline-module .horizontal-scroll-timeline span {color:var(--color-key);
  font-size:var(--h1);
  font-weight:900;}
.timeline-embed .timeline-module .horizontal-scroll-timeline h3 {font-size:var(--h3);
  margin:16px 0;}
.timeline-embed .timeline-module .horizontal-scroll-timeline p {color:var(--muted)}
.timeline-embed .timeline-module .gantt {border:1px solid var(--line);
  background:var(--color-dark);
  overflow:auto;}
.timeline-embed .timeline-module .gantt-head, .timeline-embed .timeline-module .gantt-row {display:grid;
  grid-template-columns:180px repeat(4,1fr);
  min-width:760px;}
.timeline-embed .timeline-module .gantt-head span {padding:16px;
  border-bottom:1px solid var(--line);
  border-right:1px solid var(--line);
  color:var(--color-key);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:var(--small);}
.timeline-embed .timeline-module .gantt-row {position:relative;
  min-height:76px;
  border-bottom:1px solid var(--line);}
.timeline-embed .timeline-module .gantt-row strong {padding:22px 16px;
  border-right:1px solid var(--line);}
.timeline-embed .timeline-module .gantt-row .bar {align-self:center;
  height:26px;
  background:linear-gradient(90deg,var(--color-key),var(--color-key));
  border-radius:999px;}
.timeline-embed .timeline-module .b1 {grid-column:2 / span 1}
.timeline-embed .timeline-module .b2 {grid-column:2 / span 2}
.timeline-embed .timeline-module .b3 {grid-column:3 / span 2}
.timeline-embed .timeline-module .b4 {grid-column:5 / span 1}
.timeline-embed .timeline-module .tracker {border:1px solid var(--line);
  background:var(--color-dark);
  padding:24px;}
.timeline-embed .timeline-module .tracker-steps {display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin-bottom:20px;}
.timeline-embed .timeline-module .tracker-steps span {border:1px solid var(--line);
  padding:14px;
  color:var(--muted);
  text-align:center;}
.timeline-embed .timeline-module .tracker-steps span.active, .timeline-embed .timeline-module .tracker-steps span.done {background:var(--color-key);
  color:var(--color-dark);
  border-color:var(--color-key);}
.timeline-embed .timeline-module .tracker-panel {border:1px solid var(--line);
  padding:24px;}
.timeline-embed .timeline-module .timeline-accordion {border-top:1px solid var(--line)}
.timeline-embed .timeline-module .timeline-accordion article {border-bottom:1px solid var(--line)}
.timeline-embed .timeline-module .timeline-accordion button {width:100%;
  display:flex;
  justify-content:space-between;
  padding:24px 0;
  background:transparent;
  border:0;
  color:var(--text);
  font-size:var(--h4);}
.timeline-embed .timeline-module .timeline-accordion div {max-height:0;
  overflow:hidden;
  transition:max-height .35s ease;}
.timeline-embed .timeline-module .timeline-accordion p {color:var(--muted);
  padding-bottom:24px;}
.timeline-embed .timeline-module .timeline-accordion article.open div {max-height:150px}
.timeline-embed .timeline-module .timeline-accordion article.open span {transform:rotate(45deg)}
.timeline-embed .timeline-module .timeline-carousel {display:grid;
  grid-template-columns:70px 1fr 70px;
  gap:16px;
  align-items:center;}
.timeline-embed .timeline-module .timeline-carousel > button {height:70px;
  background:transparent;
  color:var(--text);
  border:1px solid var(--line);
  font-size:var(--h3);}
.timeline-embed .timeline-module .carousel-window {overflow:hidden;
  border:1px solid var(--line);}
.timeline-embed .timeline-module .carousel-track {display:flex;
  transition:transform .45s ease;}
.timeline-embed .timeline-module .carousel-track article {min-width:100%;
  min-height:420px;
  padding:34px;
  background:
    linear-gradient(90deg,color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 90%, transparent),color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 42%, transparent)),
    url("../images/demo-landscape.webp") center/cover;
  display:flex;
  flex-direction:column;
  justify-content:end;}
.timeline-embed .timeline-module .carousel-track span, .timeline-embed .timeline-module .chapters strong {color:var(--color-key);
  text-transform:uppercase;
  letter-spacing:.14em;}
.timeline-embed .timeline-module .carousel-track h3, .timeline-embed .timeline-module .chapters h3 {font-size:var(--h1);
  line-height:1;
  margin:12px 0;}
.timeline-embed .timeline-module .carousel-track p, .timeline-embed .timeline-module .chapters p {color:var(--color-light)}
.timeline-embed .timeline-module .chapters {display:grid;
  gap:18px;}
.timeline-embed .timeline-module .chapters article {min-height:320px;
  border:1px solid var(--line);
  padding:34px;
  background:
    linear-gradient(90deg,color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 90%, transparent),color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 35%, transparent)),
    url("../images/demo-landscape.webp") center/cover;
  display:flex;
  flex-direction:column;
  justify-content:end;}
.timeline-embed .timeline-module .modal {position:fixed;
  inset:0;
  z-index:120;
  background:var(--color-dark);
  display:none;
  place-items:center;
  padding:20px;}
.timeline-embed .timeline-module .modal.open {display:grid}
.timeline-embed .timeline-module .modal-box {width:min(620px,100%);
  background:var(--color-dark);
  border:1px solid var(--color-line);
  padding:30px;
  position:relative;}
.timeline-embed .timeline-module .modal-box button {position:absolute;
  right:16px;
  top:16px;
  width:44px;
  height:44px;
  background:transparent;
  border:1px solid var(--line);
  color:var(--text);
  font-size:var(--h4);}
.timeline-embed .timeline-module .modal-box span {color:var(--color-key);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:var(--small);}
.timeline-embed .timeline-module .modal-box h3 {font-size:var(--h3);
  margin:12px 0;}
.timeline-embed .timeline-module .modal-box p {color:var(--muted)}
@media (max-width:1000px) {
.timeline-embed .timeline-module .topbar nav {display:none}
.timeline-embed .timeline-module .section-head, .timeline-embed .timeline-module .sticky-process, .timeline-embed .timeline-module .timeline-carousel {grid-template-columns:1fr}
.timeline-embed .timeline-module .stepper, .timeline-embed .timeline-module .popup-stepper {grid-template-columns:1fr;
    justify-items:start;}
.timeline-embed .timeline-module .stepper i, .timeline-embed .timeline-module .popup-stepper i {display:none}
.timeline-embed .timeline-module .popup-stepper button span {position:static;margin-top:4px}
.timeline-embed .timeline-module .timeline-horizontal, .timeline-embed .timeline-module .horizontal-line-process, .timeline-embed .timeline-module .timeline-popup-grid, .timeline-embed .timeline-module .compact-timeline, .timeline-embed .timeline-module .tracker-steps {grid-template-columns:1fr}
.timeline-embed .timeline-module .timeline-horizontal::before, .timeline-embed .timeline-module .horizontal-line-process::before {display:none}
.timeline-embed .timeline-module .horizontal-line-process article::before {display:none}
.timeline-embed .timeline-module .timeline-zigzag::before {left:0}
.timeline-embed .timeline-module .timeline-zigzag article, .timeline-embed .timeline-module .timeline-zigzag article:nth-child(even) div {grid-template-columns:1fr;
    grid-column:auto;}
.timeline-embed .timeline-module .sticky-process aside {position:relative;
    top:auto;
    height:auto;}
.timeline-embed .timeline-module .sticky-steps {gap:18px;padding-bottom:0}
.timeline-embed .timeline-module .sticky-steps article {min-height:320px}
.timeline-embed .timeline-module .roadmap, .timeline-embed .timeline-module .cinematic-timeline {display:grid;
    gap:12px;
    padding:18px;
    min-height:auto;}
.timeline-embed .timeline-module .road-line, .timeline-embed .timeline-module .cinema-line {display:none}
.timeline-embed .timeline-module .roadmap article, .timeline-embed .timeline-module .cinematic-timeline article {position:relative;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    width:auto;}
.timeline-embed .timeline-module .timeline-carousel > button {display:none}
}
@media (max-width:680px) {
.timeline-embed .timeline-module .section {padding:62px 0}
.timeline-embed .timeline-module .hero h1 {font-size:var(--h2)}
.timeline-embed .timeline-module .chapters h3, .timeline-embed .timeline-module .carousel-track h3, .timeline-embed .timeline-module .sticky-steps h3 {font-size:var(--h3)}
}
/* TIMELINE MODULE · integración acumulable */
.timeline-embed .timeline-module {display:block!important;
  width:100%!important;
  min-height:auto!important;
  height:auto!important;
  background:var(--color-dark)!important;
  color:var(--color-light)!important;
  font-family:var(--font-main) !important;
  line-height:1.55!important;
  overflow:hidden!important;
  scroll-margin-top:0!important;
  scroll-snap-align:start!important;}
.timeline-embed .timeline-module, .timeline-embed .timeline-module * {box-sizing:border-box}
.timeline-embed .timeline-module .progress, .timeline-embed .timeline-module .topbar {display:none!important}
.timeline-embed .timeline-module .hero, .timeline-embed .timeline-module .section, .timeline-embed .timeline-module .screen {height:auto!important;
  min-height:0!important;
  margin-top:0!important;
  scroll-snap-align:none!important;
  scroll-margin-top:0!important;}
.timeline-embed .timeline-module .hero {min-height:100vh!important;
  height:auto!important;}
.timeline-embed .timeline-module .section {min-height:auto!important;
  height:auto!important;
  padding-top:110px!important;
  padding-bottom:110px!important;}
.timeline-embed .timeline-module .wide, .timeline-embed .timeline-module .sticky-grid, .timeline-embed .timeline-module .sticky-copy, .timeline-embed .timeline-module .sticky-stage {height:auto!important;
  min-height:auto!important;}
.timeline-embed .timeline-module .modal {position:fixed!important;
  z-index:10020!important;}
.timeline-embed .timeline-module button {font:inherit}
@media (max-width:900px) {
.timeline-embed .timeline-module .hero {min-height:100svh!important}
.timeline-embed .timeline-module .section {padding-top:72px!important;padding-bottom:72px!important}
}
/* TIMELINE FIX · popups, sticky scroll y limpieza */
.timeline-embed .timeline-module {overflow:visible!important;}
.timeline-embed .timeline-module .timeline-popup-grid button, .timeline-embed .timeline-module .popup-stepper button {cursor:pointer!important;}
.timeline-embed .timeline-module .timeline-popup-grid button::after, .timeline-embed .timeline-module .popup-stepper button::after {content:none!important;
  display:none!important;}
.timeline-embed .timeline-module .modal {position:fixed!important;
  inset:0!important;
  z-index:10080!important;
  background:var(--color-dark)!important;
  display:none!important;
  place-items:center!important;
  padding:20px!important;
  backdrop-filter:blur(12px)!important;}
.timeline-embed .timeline-module .modal.open {display:grid!important;}
.timeline-embed .timeline-module .modal-box {width:min(640px,100%)!important;
  background:var(--color-dark)!important;
  border:1px solid var(--color-line)!important;
  box-shadow:0 32px 110px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 52%, transparent)!important;
  padding:34px!important;
  position:relative!important;}
.timeline-embed .timeline-module .modal-box button {position:absolute!important;
  right:16px!important;
  top:16px!important;
  width:44px!important;
  height:44px!important;
  background:transparent!important;
  border:1px solid var(--line)!important;
  color:var(--text)!important;
  font-size:var(--h4) !important;
  cursor:pointer!important;}
.timeline-embed .timeline-module #tl-sticky {overflow:visible!important;}
.timeline-embed .timeline-module .sticky-process {align-items:start!important;
  min-height:360vh!important;
  overflow:visible!important;}
.timeline-embed .timeline-module .sticky-process aside {position:sticky!important;
  top:28px!important;
  height:calc(100vh - 56px)!important;}
.timeline-embed .timeline-module .sticky-steps {gap:52vh!important;
  padding-bottom:80vh!important;}
.timeline-embed .timeline-module .sticky-steps article {min-height:66vh!important;}
@media (max-width:1000px) {
.timeline-embed .timeline-module .sticky-process {min-height:auto!important;}
.timeline-embed .timeline-module .sticky-process aside {position:relative!important;
    top:auto!important;
    height:auto!important;}
}
/* TIMELINE 12 · horizontal scroll controlado por scroll vertical */
.timeline-embed .timeline-module #tl-horizontal-scroll.tl-horizontal-scroll-scrolly {min-height:380vh!important;
  height:auto!important;
  padding:0!important;
  position:relative!important;
  overflow:visible!important;
  scroll-snap-align:none!important;}
.timeline-embed .timeline-module .tl-horizontal-scroll-sticky {position:sticky!important;
  top:0!important;
  min-height:100vh!important;
  height:100vh!important;
  padding:clamp(46px,5vw,82px)!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:clamp(28px,4vw,46px)!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 86% 18%, transparent, transparent 28vw),
    radial-gradient(circle at 8% 86%, transparent, transparent 26vw),
    var(--pb-theme-dark,var(--color-dark))!important;
  border-block:1px solid var(--color-line)!important;}
.timeline-embed .timeline-module .tl-horizontal-scroll-sticky .section-head {width:100%!important;
  max-width:none!important;
  margin:0!important;}
.timeline-embed .timeline-module .tl-horizontal-scroll-viewport {width:100%!important;
  overflow:hidden!important;
  position:relative!important;
  padding-block:6px 22px!important;}
.timeline-embed .timeline-module #tlHorizontalScrollTrack.horizontal-scroll-timeline {display:flex!important;
  gap:16px!important;
  overflow:visible!important;
  scroll-snap-type:none!important;
  padding:0!important;
  width:max-content!important;
  will-change:transform!important;
  transform:translate3d(0,0,0);}
.timeline-embed .timeline-module #tlHorizontalScrollTrack.horizontal-scroll-timeline article {flex:0 0 min(72vw,560px)!important;
  min-height:42vh!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-end!important;}
.timeline-embed .timeline-module .tl-horizontal-scroll-progress {width:100%!important;
  height:3px!important;
  background:var(--color-line)!important;
  overflow:hidden!important;}
.timeline-embed .timeline-module .tl-horizontal-scroll-progress span {display:block!important;
  width:0%!important;
  height:100%!important;
  background:linear-gradient(90deg,var(--color-key),var(--color-white))!important;
  box-shadow:0 0 22px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 48%, transparent)!important;}
@media (max-width:900px) {
.timeline-embed .timeline-module #tl-horizontal-scroll.tl-horizontal-scroll-scrolly {min-height:auto!important;
    padding:72px 20px!important;}
.timeline-embed .timeline-module .tl-horizontal-scroll-sticky {position:relative!important;
    top:auto!important;
    height:auto!important;
    min-height:auto!important;
    padding:0!important;
    overflow:visible!important;
    background:transparent!important;
    border:0!important;}
.timeline-embed .timeline-module .tl-horizontal-scroll-viewport {overflow-x:auto!important;
    padding-bottom:16px!important;}
.timeline-embed .timeline-module #tlHorizontalScrollTrack.horizontal-scroll-timeline {transform:none!important;
    overflow:visible!important;
    scroll-snap-type:x mandatory!important;}
.timeline-embed .timeline-module .tl-horizontal-scroll-progress {display:none!important;}
}
/* =========================================================
   AJUSTE FINAL DE CONTRASTE · 06 TIMELINE
   Mantiene la paleta de - 1 Estilos y una sola tipografía.
   Corrige textos oscuros sobre fondos oscuros.
   ========================================================= */
.timeline-embed .timeline-module {--bg:var(--color-dark) !important;
  --panel:var(--color-dark) !important;
  --text:var(--color-light) !important;
  --muted:var(--color-muted) !important;
  --gold:var(--color-key) !important;
  --green:var(--color-key) !important;
  --blue-line:var(--color-key) !important;
  --line:var(--color-line) !important;
  --dark:var(--color-dark) !important;
  color:var(--text) !important;
  font-family:var(--font-main) !important;}
.timeline-embed .timeline-module h1, .timeline-embed .timeline-module h2, .timeline-embed .timeline-module h3, .timeline-embed .timeline-module h4, .timeline-embed .timeline-module strong, .timeline-embed .timeline-module .brand, .timeline-embed .timeline-module .demo-title, .timeline-embed .timeline-module .section-head h2, .timeline-embed .timeline-module .timeline-horizontal h3, .timeline-embed .timeline-module .horizontal-line-process h3, .timeline-embed .timeline-module .timeline-vertical h3, .timeline-embed .timeline-module .timeline-zigzag h3, .timeline-embed .timeline-module .compact-timeline h3, .timeline-embed .timeline-module .cinematic-timeline h3, .timeline-embed .timeline-module .roadmap h3, .timeline-embed .timeline-module .sticky-process aside h3, .timeline-embed .timeline-module .sticky-steps h3, .timeline-embed .timeline-module .horizontal-scroll-timeline h3, .timeline-embed .timeline-module .gantt-row strong, .timeline-embed .timeline-module .tracker-panel h3, .timeline-embed .timeline-module .timeline-accordion button, .timeline-embed .timeline-module .carousel-track h3, .timeline-embed .timeline-module .chapters h3, .timeline-embed .timeline-module .modal-box h3 {color:var(--color-light) !important;}
.timeline-embed .timeline-module p, .timeline-embed .timeline-module .hero p, .timeline-embed .timeline-module .section-head p, .timeline-embed .timeline-module .stepper-copy p, .timeline-embed .timeline-module .tracker-panel p, .timeline-embed .timeline-module .timeline-horizontal p, .timeline-embed .timeline-module .horizontal-line-process p, .timeline-embed .timeline-module .timeline-vertical p, .timeline-embed .timeline-module .timeline-zigzag p, .timeline-embed .timeline-module .cinematic-timeline p, .timeline-embed .timeline-module .sticky-process aside p, .timeline-embed .timeline-module .sticky-steps p, .timeline-embed .timeline-module .horizontal-scroll-timeline p, .timeline-embed .timeline-module .timeline-accordion p, .timeline-embed .timeline-module .modal-box p {color:var(--color-line) !important;}
.timeline-embed .timeline-module code {color:var(--color-light) !important;
  border-color:var(--color-key) !important;
  background:var(--color-light) !important;}
.timeline-embed .timeline-module .hero span, .timeline-embed .timeline-module .section-head span, .timeline-embed .timeline-module .timeline-horizontal span, .timeline-embed .timeline-module .horizontal-line-process span, .timeline-embed .timeline-module .compact-timeline span, .timeline-embed .timeline-module .timeline-vertical span, .timeline-embed .timeline-module .timeline-zigzag span, .timeline-embed .timeline-module .cinematic-timeline span, .timeline-embed .timeline-module .roadmap span, .timeline-embed .timeline-module .sticky-process aside span, .timeline-embed .timeline-module .sticky-steps span, .timeline-embed .timeline-module .horizontal-scroll-timeline span, .timeline-embed .timeline-module .gantt-head span, .timeline-embed .timeline-module .tracker-steps span, .timeline-embed .timeline-module .carousel-track span, .timeline-embed .timeline-module .chapters strong, .timeline-embed .timeline-module .modal-box span {color:var(--color-key) !important;}
.timeline-embed .timeline-module .step, .timeline-embed .timeline-module .step strong, .timeline-embed .timeline-module .step span, .timeline-embed .timeline-module .popup-stepper button, .timeline-embed .timeline-module .popup-stepper button span {color:var(--color-light) !important;}
.timeline-embed .timeline-module .step strong, .timeline-embed .timeline-module .popup-stepper button, .timeline-embed .timeline-module .horizontal-line-process article::before {background:var(--color-dark) !important;
  border-color:var(--color-key) !important;}
.timeline-embed .timeline-module .step.active strong, .timeline-embed .timeline-module .step.done strong, .timeline-embed .timeline-module .horizontal-line-process article.done::before {background:var(--color-key) !important;
  border-color:var(--color-key) !important;
  color:var(--pb-theme-white,var(--color-white)) !important;}
.timeline-embed .timeline-module .step.active span, .timeline-embed .timeline-module .step.done span, .timeline-embed .timeline-module .popup-stepper button:hover, .timeline-embed .timeline-module .popup-stepper button:hover span {color:var(--color-key) !important;}
.timeline-embed .timeline-module .timeline-horizontal span {background:var(--color-key) !important;
  color:var(--pb-theme-white,var(--color-white)) !important;}
.timeline-embed .timeline-module .stepper-copy button, .timeline-embed .timeline-module .tracker-panel button, .timeline-embed .timeline-module .demo-btn, .timeline-embed .timeline-module .btn, .timeline-embed .timeline-module .copy-btn {background:var(--color-key) !important;
  color:var(--pb-theme-white,var(--color-white)) !important;
  border-color:var(--color-key) !important;}
.timeline-embed .timeline-module .timeline-horizontal article, .timeline-embed .timeline-module .horizontal-line-process article, .timeline-embed .timeline-module .stepper-card, .timeline-embed .timeline-module .popup-stepper, .timeline-embed .timeline-module .compact-timeline, .timeline-embed .timeline-module .sticky-process aside, .timeline-embed .timeline-module .sticky-steps article, .timeline-embed .timeline-module .horizontal-scroll-timeline article, .timeline-embed .timeline-module .gantt, .timeline-embed .timeline-module .tracker-panel, .timeline-embed .timeline-module .timeline-accordion article, .timeline-embed .timeline-module .carousel-window, .timeline-embed .timeline-module .chapters article, .timeline-embed .timeline-module .modal-box {background:var(--color-dark) !important;
  border-color:var(--color-line) !important;}
.timeline-embed .timeline-module .stepper-copy, .timeline-embed .timeline-module .timeline-popup-grid button {background:var(--color-line) !important;
  color:var(--color-light) !important;
  border-color:var(--color-line) !important;}
.timeline-embed .timeline-module .timeline-popup-grid button:hover, .timeline-embed .timeline-module .timeline-accordion article.open, .timeline-embed .timeline-module .popup-stepper button:hover {border-color:var(--color-key) !important;}
.timeline-embed .timeline-module .timeline-accordion div, .timeline-embed .timeline-module .timeline-carousel > button {color:var(--color-light) !important;}
.timeline-embed .timeline-module .gantt-row .bar, .timeline-embed .timeline-module .tracker-steps span.active, .timeline-embed .timeline-module .tracker-steps span.done {background:var(--color-key) !important;
  color:var(--pb-theme-white,var(--color-white)) !important;}
.timeline-embed .timeline-module .mobile-menu a, .timeline-embed .timeline-module .mobile-menu button, .timeline-embed .mobile-menu a, .timeline-embed .mobile-menu button {color:var(--color-light) !important;}

/* Timeline 06: inactivo, rollover y activación con línea azul superior */
.timeline-embed #DEMO-TIMELINE-06 .compact-timeline article {
  cursor: pointer !important;
  opacity: .58 !important;
  background: transparent !important;
  transform: translateY(0) !important;
  transition:
    opacity .24s ease,
    background .24s ease,
    transform .24s ease,
    color .24s ease !important;
}

.timeline-embed #DEMO-TIMELINE-06 .compact-timeline article::before {
  background: var(--color-key) !important;
  opacity: 0 !important;
  transform: scaleX(0) !important;
  transform-origin: left center !important;
  transition:
    opacity .24s ease,
    transform .24s ease !important;
}

.timeline-embed #DEMO-TIMELINE-06 .compact-timeline article:hover {
  opacity: 1 !important;
  background: var(--color-light) !important;
  transform: translateY(-2px) !important;
}

.timeline-embed #DEMO-TIMELINE-06 .compact-timeline article:hover::before {
  opacity: .55 !important;
  transform: scaleX(1) !important;
}

.timeline-embed #DEMO-TIMELINE-06 .compact-timeline article.active,
.timeline-embed #DEMO-TIMELINE-06 .compact-timeline article.current {
  opacity: 1 !important;
  background: var(--color-light) !important;
}

.timeline-embed #DEMO-TIMELINE-06 .compact-timeline article.active::before,
.timeline-embed #DEMO-TIMELINE-06 .compact-timeline article.current::before {
  opacity: 1 !important;
  transform: scaleX(1) !important;
  background: var(--color-key) !important;
}

.timeline-embed #DEMO-TIMELINE-06 .compact-timeline article.active h3,
.timeline-embed #DEMO-TIMELINE-06 .compact-timeline article.current h3 {
  color: var(--color-white) !important;
}


/* PAQUETES · integración debajo de Timeline */
.packages-embed {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  background: var(--color-dark);
  color: var(--color-white);
  isolation: isolate;
  overflow: hidden;
}

.packages-embed a {
  color: inherit;
  text-decoration: none;
}

.packages-embed button,
.packages-embed input,
.packages-embed textarea,
.packages-embed select {
  font: inherit;
}

/* Conserva el formato maestro en las explicaciones */
.packages-embed .template-title,
.packages-embed .template-item {
  background: var(--color-dark);
}

.packages-embed .template-title h2,
.packages-embed .template-item .row-info h3,
.packages-embed .template-item .request-copy strong {
  color: var(--color-white) !important;
}

.packages-embed .template-item .request-copy {
  color: var(--color-line) !important;
}

/* Conserva la ejecución visual original */
.packages-embed .template-demo {
  width: 100%;
}
.packages-embed {--color-dark: inherit;
  --color-key: inherit;
  --color-light: inherit;
  --color-white: inherit;
  --color-muted: inherit;
  --color-line: inherit;

  --font-main: "Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-secondary: "Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;

  --text-label: var(--micro);
  --text-small: var(--small);
  --text-body: var(--body);
  --text-h3: var(--h3);
  --text-h2: var(--h2);}
.packages-embed * {box-sizing: border-box;}
.packages-embed {scroll-behavior: smooth;}
.packages-embed {margin: 0;
  background: var(--color-dark);
  color: var(--color-white);
  font-family: var(--font-main);
  font-size: var(--body);
  line-height: 1.7;}
/* ===============================
   FORMATO MAESTRO PARA EXPLICACIONES
================================ */
.packages-embed .template-title {width: 100%;
  padding: 56px 0 18px;
  background: var(--color-dark);
  border-bottom: 1px solid var(--color-line);}
.packages-embed .template-item {width: 100%;
  padding-top: 20px;
  background: var(--color-dark);
  border-bottom: 1px solid var(--color-line);}
.packages-embed .menu-row {width: 100%;
  padding-left: 42px;
  padding-right: 42px;}
.packages-embed .row-number {padding-bottom: 8px;}
.packages-embed .menu-number {display: block;
  color: var(--color-key);
  font-size: var(--micro);
  font-weight: 400;
  letter-spacing: .16em;
  line-height: 1.45;
  text-transform: uppercase;}
.packages-embed .row-info {display: grid;
  grid-template-columns: minmax(280px, 35%) minmax(420px, 1fr);
  column-gap: 42px;
  align-items: start;
  padding-bottom: 20px;}
.packages-embed .row-info h3 {max-width: 620px;
  margin: 0;
  color: var(--color-white);
  font-family: var(--font-main);
  font-size: var(--h3);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -.025em;}
.packages-embed .request-copy {max-width: 980px;
  margin: 0;
  color: var(--color-line);
  font-size: var(--small);
  line-height: 1.65;}
.packages-embed .request-copy strong {color: var(--color-white);
  font-weight: 700;}
/* ===============================
   CONTENEDOR DEL EJEMPLO ORIGINAL
================================ */
.packages-embed .template-demo {width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: var(--color-white);
  color: var(--color-dark);
  border-top: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);}
/* ===============================
   RESPONSIVE
================================ */
@media (max-width: 900px) {
.packages-embed .menu-row {padding-left: 24px;
    padding-right: 24px;}
.packages-embed .row-info {grid-template-columns: 1fr;
    row-gap: 12px;}
}
/* ===============================
   EJEMPLO VISUAL SOLO DE REFERENCIA
   Reemplazar por el CSS original de la plantilla.
================================ */
.packages-embed #DEMO-UNICO-01 .hero-demo-placeholder {min-height: 420px;
  display: grid;
  place-items: center;
  padding: 64px 42px;
  background:
    radial-gradient(circle at 70% 25%, transparent, transparent 28%),
    linear-gradient(135deg, var(--color-light) 0%, var(--color-white) 55%, var(--color-light) 100%);}
.packages-embed #DEMO-UNICO-01 .hero-demo-box {width: min(100%, 1080px);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 42px;
  align-items: center;}
.packages-embed #DEMO-UNICO-01 .hero-demo-box h1 {margin: 0;
  color: var(--color-dark);
  font-size: var(--h2);
  line-height: .98;
  letter-spacing: -.055em;}
.packages-embed #DEMO-UNICO-01 .hero-demo-box p {margin: 18px 0 0;
  color: var(--color-muted);
  font-size: var(--body);
  line-height: 1.7;}
.packages-embed #DEMO-UNICO-01 .hero-demo-image {min-height: 300px;
  background:
    linear-gradient(135deg, transparent, transparent),
    var(--color-white);
  border: 1px solid var(--color-line);}
@media (max-width: 800px) {
.packages-embed #DEMO-UNICO-01 .hero-demo-box {grid-template-columns: 1fr;}
.packages-embed #DEMO-UNICO-01 .hero-demo-box h1 {font-size: var(--h3);}
}
/* ===============================
   AJUSTES PARA RECURSOS 2 COMPLETO
================================ */
.packages-embed .template-title h2 {margin:0;
  color:var(--color-white);
  font-family:var(--font-main);
  font-size:var(--h2);
  line-height:1.05;
  letter-spacing:-.045em;}
.packages-embed .template-demo {overflow:visible;
  background:var(--color-white);}
.packages-embed .template-demo.demo-full-page {border-top:1px solid var(--color-line);
  border-bottom:1px solid var(--color-line);}
.packages-embed .original-resource {width:100%;
  background:var(--color-light);
  color:var(--color-dark);
  overflow:hidden;}
.packages-embed .original-resource.resource-hidden-shell {position:absolute;
  left:-99999px;
  top:0;
  width:1px;
  height:1px;
  overflow:hidden;
  pointer-events:none;}
.packages-embed .original-resource .view {display:block !important;
  animation:none !important;}
.packages-embed .original-resource #view-detalle {display:none !important;}
.packages-embed .original-resource footer.site {display:block;}
/* El maestro ya aporta la explicación; el demo conserva la página original completa. */
.packages-embed .resource-note {display:none !important;}
/* ============================================================
   PLANTILLA · DESIGN SYSTEM
   Sistema visual de referencia para una web corporativa con catálogo
   Paleta: navy corporativo + acento cobre
   ============================================================ */
.packages-embed .original-resource {/* Paleta y tipografía del Formato maestro */
  --navy-950:var(--color-dark);
  --navy-900:var(--color-dark);
  --navy-800:var(--color-dark);
  --navy-700:var(--color-key);
  --navy-600:var(--color-key);
  --navy-500:var(--color-key);
  --navy-400:var(--color-key);
  --navy-300:var(--color-dark);
  --navy-200:var(--color-dark);
  --navy-100:var(--color-light);
  --navy-50:var(--color-light);

  --copper:var(--color-key);
  --copper-light:var(--color-key);
  --copper-dark:var(--color-key);
  --copper-50:var(--color-key);

  --bg:var(--color-light);
  --paper:var(--color-white);
  --ink:var(--color-dark);
  --ink-soft:var(--color-muted);
  --ink-mute:var(--color-muted);
  --line:var(--color-line);
  --line-strong:var(--color-line);

  --serif:var(--font-main);
  --sans:var(--font-main);

  --radius:0;
  --radius-lg:0;
  --shadow-sm:0 1px 3px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 6%, transparent), 0 1px 2px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 4%, transparent);
  --shadow-md:0 8px 24px -10px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 18%, transparent), 0 3px 8px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 6%, transparent);
  --shadow-lg:0 28px 56px -22px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 28%, transparent), 0 10px 20px -8px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 12%, transparent);
  --shadow-xl:0 40px 80px -30px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 35%, transparent);

  --container:1280px;}
.packages-embed .original-resource *, .packages-embed .original-resource *::before, .packages-embed .original-resource *::after {box-sizing:border-box}
.packages-embed .original-resource {scroll-behavior:smooth}
.packages-embed .original-resource {margin:0;
  font-family:var(--font-main);
  background:var(--bg);
  color:var(--color-dark);
  font-size:var(--body);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;}
.packages-embed .original-resource img {max-width:100%;display:block}
.packages-embed .original-resource a {color:var(--navy-700);text-decoration:none;transition:color .25s}
.packages-embed .original-resource a:hover {color:var(--color-key)}
.packages-embed .original-resource button {font-family:inherit;cursor:pointer;border:none;background:none}
.packages-embed .original-resource h1, .packages-embed .original-resource h2, .packages-embed .original-resource h3, .packages-embed .original-resource h4, .packages-embed .original-resource h5 {font-family:var(--font-main);color:var(--color-dark);line-height:1.15;margin:0;letter-spacing:-.015em;font-weight:500}
.packages-embed .original-resource h1 {font-size:var(--h1);font-weight:400}
.packages-embed .original-resource h2 {font-size:var(--h2)}
.packages-embed .original-resource h3 {font-size:var(--h5)}
.packages-embed .original-resource h4 {font-size:var(--card);font-family:var(--font-main);font-weight:500;letter-spacing:0}
.packages-embed .original-resource .container {max-width:var(--container);margin:0 auto;padding:0 28px}
/* ============== TOPBAR ============== */
.packages-embed .original-resource .topbar {background:var(--color-dark);
  color:var(--color-line);
  font-size:var(--small);
  padding:9px 0;
  border-bottom:1px solid var(--color-line);}
.packages-embed .original-resource .topbar .container {display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.packages-embed .original-resource .topbar a {color:var(--color-line)}
.packages-embed .original-resource .topbar a:hover {color:var(--color-key)}
.packages-embed .original-resource .topbar-info {display:flex;gap:28px;flex-wrap:wrap}
.packages-embed .original-resource .topbar-info span {display:inline-flex;align-items:center;gap:8px}
.packages-embed .original-resource .topbar-info svg {width:13px;height:13px;opacity:.7}
.packages-embed .original-resource .topbar-social {display:flex;gap:14px;align-items:center}
.packages-embed .original-resource .topbar-social a {display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:3px;transition:all .2s}
.packages-embed .original-resource .topbar-social a:hover {background:var(--color-line);color:var(--color-key)}
.packages-embed .original-resource .topbar-social svg {width:14px;height:14px}
/* ============== HEADER ============== */
.packages-embed .original-resource header.site {background:var(--color-white);
  position:sticky;top:0;z-index:80;
  box-shadow:0 1px 0 var(--line);
  transition:box-shadow .3s, padding .3s;}
.packages-embed .original-resource header.site.scrolled {box-shadow:var(--shadow-md)}
.packages-embed .original-resource .nav {display:flex;align-items:center;justify-content:space-between;
  padding:18px 0;gap:32px;}
.packages-embed .original-resource .brand {display:flex;align-items:center}
.packages-embed .original-resource .brand img {height:64px;width:auto;transition:height .3s}
.packages-embed .original-resource header.site.scrolled .brand img {height:48px}
.packages-embed .original-resource nav.menu>ul {list-style:none;display:flex;gap:2px;margin:0;padding:0;align-items:center;}
.packages-embed .original-resource .menu-item {position:relative}
.packages-embed .original-resource .nav-link {display:inline-flex;align-items:center;gap:6px;padding:10px 16px;
  font-size:var(--small);font-weight:500;letter-spacing:.005em;
  color:var(--color-dark);border-radius:6px;cursor:pointer;
  transition:all .2s;}
.packages-embed .original-resource .nav-link:hover {color:var(--color-key);background:var(--color-light)}
.packages-embed .original-resource .nav-link.active {color:var(--color-key)}
.packages-embed .original-resource .nav-link.active::after {content:"";position:absolute;left:16px;right:16px;bottom:-1px;
  height:2px;background:var(--color-key);}
.packages-embed .original-resource .nav-link svg.chev {width:11px;height:11px;opacity:.6;transition:transform .2s}
.packages-embed .original-resource .menu-item:hover .nav-link svg.chev {transform:rotate(180deg)}
/* MEGA MENU */
.packages-embed .original-resource .megamenu {position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(-8px);
  width:680px;background:var(--color-white);border-radius:var(--radius-lg);
  box-shadow:var(--shadow-xl);border:1px solid var(--line);
  padding:28px;opacity:0;pointer-events:none;
  transition:all .25s cubic-bezier(.4,0,.2,1);z-index:90;}
.packages-embed .original-resource .menu-item:hover .megamenu {opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0);}
.packages-embed .original-resource .megamenu::before {content:"";position:absolute;top:-6px;left:50%;transform:translateX(-50%) rotate(45deg);
  width:12px;height:12px;background:var(--color-white);border-left:1px solid var(--line);border-top:1px solid var(--line);}
.packages-embed .original-resource .mm-title {font-size:var(--small);letter-spacing:.18em;text-transform:uppercase;
  color:var(--color-key);font-weight:500;margin-bottom:16px;}
.packages-embed .original-resource .mm-grid {display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}
.packages-embed .original-resource .mm-item {display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:6px;
  font-size:var(--small);color:var(--color-dark);transition:all .15s;
  cursor:pointer;}
.packages-embed .original-resource .mm-item:hover {background:var(--color-light);color:var(--color-key)}
.packages-embed .original-resource .mm-item .icn {width:32px;height:32px;border-radius:6px;background:var(--color-light);
  display:flex;align-items:center;justify-content:center;color:var(--navy-700);
  flex-shrink:0;}
.packages-embed .original-resource .mm-item:hover .icn {background:var(--color-key);color:var(--pb-theme-white,var(--color-white))}
.packages-embed .original-resource .mm-item svg {width:16px;height:16px}
.packages-embed .original-resource .cta-quote {background:var(--color-key);color:var(--pb-theme-white,var(--color-white));
  padding:12px 24px;border-radius:6px;font-weight:500;font-size:var(--small);
  display:inline-flex;align-items:center;gap:8px;
  transition:all .2s;letter-spacing:.01em;
  box-shadow:0 4px 14px -2px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 40%, transparent);}
.packages-embed .original-resource .cta-quote:hover {background:var(--color-key);transform:translateY(-1px);box-shadow:0 6px 20px -4px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 55%, transparent)}
.packages-embed .original-resource .burger {display:none;padding:8px;color:var(--color-dark);z-index:90}
.packages-embed .original-resource .burger svg {width:28px;height:28px}
@media (max-width:1100px) {
.packages-embed .original-resource nav.menu {position:fixed;top:0;right:-100%;
    height:100vh;width:min(85%,360px);
    background:var(--color-white);
    box-shadow:-12px 0 40px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 18%, transparent);
    padding:90px 20px 24px;
    transition:right .35s ease;overflow-y:auto;z-index:75;}
.packages-embed .original-resource nav.menu.open {right:0}
.packages-embed .original-resource nav.menu>ul {flex-direction:column;align-items:stretch;gap:0;width:100%}
.packages-embed .original-resource .nav-link {padding:14px 12px;border-bottom:1px solid var(--line);border-radius:0;font-size:var(--body);width:100%;justify-content:space-between}
.packages-embed .original-resource .nav-link.active::after {display:none}
.packages-embed .original-resource .nav-link.active {background:var(--color-light)}
.packages-embed .original-resource .megamenu {display:none}
.packages-embed .original-resource .burger {display:inline-flex}
.packages-embed .original-resource .cta-quote {display:none}
.packages-embed .original-resource .menu-overlay {position:fixed;inset:0;background:color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 50%, transparent);
    opacity:0;pointer-events:none;transition:opacity .3s;z-index:70;}
.packages-embed .original-resource .menu-overlay.show {opacity:1;pointer-events:auto}
}
/* ============== HERO SLIDER ============== */
.packages-embed .original-resource .hero {position:relative;
  height:min(720px, 90vh);min-height:560px;
  overflow:hidden;
  background:var(--color-dark);}
.packages-embed .original-resource .hero-slide {position:absolute;inset:0;opacity:0;
  transition:opacity 1s ease;}
.packages-embed .original-resource .hero-slide.active {opacity:1;z-index:2}
.packages-embed .original-resource .hero-bg {position:absolute;inset:0;
  background-size:cover;background-position:center;
  filter:brightness(.55);
  transform:scale(1.05);
  transition:transform 8s ease-out;}
.packages-embed .original-resource .hero-slide.active .hero-bg {transform:scale(1)}
.packages-embed .original-resource .hero-overlay {position:absolute;inset:0;
  background:
    linear-gradient(120deg, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 85%, transparent) 0%, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 60%, transparent) 45%, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 30%, transparent) 100%),
    radial-gradient(circle at 90% 80%, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 18%, transparent), transparent 50%);}
.packages-embed .original-resource .hero-grid-overlay {position:absolute;inset:0;
  background-image:
    linear-gradient(color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 3%, transparent) 1px, transparent 1px),
    linear-gradient(90deg, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 3%, transparent) 1px, transparent 1px);
  background-size:60px 60px;
  mask-image:radial-gradient(ellipse 80% 60% at 30% 50%, var(--color-dark), transparent);}
.packages-embed .original-resource .hero-content {position:relative;z-index:3;height:100%;
  display:flex;align-items:center;}
.packages-embed .original-resource .hero-content .container {width:100%}
.packages-embed .original-resource .hero-text {max-width:680px;color:var(--color-white)}
.packages-embed .original-resource .hero-eyebrow {display:inline-flex;align-items:center;gap:14px;
  font-size:var(--small);letter-spacing:.22em;text-transform:uppercase;
  color:var(--color-key);margin-bottom:24px;font-weight:500;
  opacity:0;transform:translateY(20px);
  animation:packages-fadeUp .8s .2s ease forwards;}
.packages-embed .original-resource .hero-eyebrow::before {content:"";width:40px;height:1px;background:var(--color-key)}
.packages-embed .original-resource .hero-text h1 {color:var(--color-white);margin-bottom:24px;
  opacity:0;transform:translateY(30px);
  animation:packages-fadeUp .9s .35s ease forwards;}
.packages-embed .original-resource .hero-text h1 em {font-style:italic;color:var(--color-key);font-weight:400}
.packages-embed .original-resource .hero-text p {font-size:var(--card);color:var(--color-line);max-width:580px;margin-bottom:36px;
  font-weight:400;line-height:1.7;
  opacity:0;transform:translateY(30px);
  animation:packages-fadeUp 1s .55s ease forwards;}
.packages-embed .original-resource .hero-actions {display:flex;gap:14px;flex-wrap:wrap;
  opacity:0;transform:translateY(30px);
  animation:packages-fadeUp 1s .75s ease forwards;}
@keyframes packages-fadeUp {to{opacity:1;transform:none}}
.packages-embed .original-resource .btn-primary {background:var(--color-key);color:var(--pb-theme-white,var(--color-white));
  padding:14px 30px;border-radius:6px;font-weight:500;font-size:var(--body);
  display:inline-flex;align-items:center;gap:10px;
  transition:all .2s;letter-spacing:.01em;
  box-shadow:0 4px 14px -2px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 40%, transparent);}
.packages-embed .original-resource .btn-primary:hover {background:var(--color-key);transform:translateY(-1px);color:var(--pb-theme-white,var(--color-white));box-shadow:0 8px 24px -4px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 55%, transparent)}
.packages-embed .original-resource .btn-secondary {background:var(--color-line);color:var(--color-white);backdrop-filter:blur(4px);
  border:1px solid var(--color-line);
  padding:13px 28px;border-radius:6px;font-weight:500;font-size:var(--body);
  display:inline-flex;align-items:center;gap:10px;
  transition:all .2s;}
.packages-embed .original-resource .btn-secondary:hover {background:var(--color-line);border-color:var(--color-line);color:var(--color-white)}
/* HERO PAGINATION */
.packages-embed .original-resource .hero-nav {position:absolute;bottom:32px;left:50%;transform:translateX(-50%);
  z-index:5;display:flex;gap:12px;align-items:center;}
.packages-embed .original-resource .hero-dot {width:42px;height:3px;background:var(--color-line);
  cursor:pointer;border-radius:2px;transition:all .3s;
  position:relative;overflow:hidden;}
.packages-embed .original-resource .hero-dot.active {background:var(--color-line)}
.packages-embed .original-resource .hero-dot.active::after {content:"";position:absolute;left:0;top:0;height:100%;
  background:var(--color-key);
  animation:packages-dotProgress 6s linear;}
@keyframes packages-dotProgress {from{width:0}to{width:100%}}
/* HERO FLOATING CARD */
.packages-embed .original-resource .hero-floating {position:absolute;right:5%;bottom:80px;z-index:4;
  background:var(--color-line);backdrop-filter:blur(20px);
  border:1px solid var(--color-line);
  border-radius:var(--radius-lg);
  padding:22px 26px;color:var(--color-white);
  display:flex;gap:18px;align-items:center;
  opacity:0;animation:packages-fadeUp 1s 1s ease forwards;}
.packages-embed .original-resource .hero-floating .icn {width:48px;height:48px;border-radius:10px;
  background:var(--color-key);display:flex;align-items:center;justify-content:center;}
.packages-embed .original-resource .hero-floating .icn svg {width:24px;height:24px;color:var(--color-white)}
.packages-embed .original-resource .hero-floating .label {font-size:var(--small);letter-spacing:.15em;text-transform:uppercase;color:var(--color-line);margin-bottom:2px}
.packages-embed .original-resource .hero-floating .val {font-family:var(--font-main);font-size:var(--h5);color:var(--color-white);line-height:1}
@media (max-width:880px) {
.packages-embed .original-resource .hero {height:auto;min-height:auto;padding:80px 0 60px}
.packages-embed .original-resource .hero-floating {display:none}
.packages-embed .original-resource .hero-text h1 {font-size:var(--h3)}
}
/* ============== MARQUEE BRANDS ============== */
.packages-embed .original-resource .marquee-section {background:var(--color-white);border-bottom:1px solid var(--line);
  padding:36px 0;overflow:hidden;}
.packages-embed .original-resource .marquee-label {text-align:center;font-size:var(--small);letter-spacing:.22em;text-transform:uppercase;
  color:var(--ink-mute);margin-bottom:22px;font-weight:500;}
.packages-embed .original-resource .marquee-track {display:flex;gap:80px;align-items:center;
  animation:packages-scroll 38s linear infinite;
  width:max-content;}
@keyframes packages-scroll {from{transform:translateX(0)}
  to{transform:translateX(-50%)}}
.packages-embed .original-resource .marquee-track .brand-name {font-family:var(--font-main);font-size:var(--h4);font-style:italic;
  color:var(--navy-700);white-space:nowrap;letter-spacing:-.01em;
  opacity:.55;font-weight:500;transition:opacity .3s;
  display:flex;align-items:center;gap:80px;}
.packages-embed .original-resource .marquee-track .brand-name::after {content:"·";color:var(--color-key);font-style:normal;}
/* ============== SECTION ============== */
.packages-embed .original-resource section.block {padding:100px 0;position:relative}
.packages-embed .original-resource section.block.tight {padding:72px 0}
.packages-embed .original-resource section.block.dark {background:var(--color-dark);color:var(--color-white)}
.packages-embed .original-resource section.block.tinted {background:var(--color-light)}
.packages-embed .original-resource .section-head {margin-bottom:64px;max-width:740px}
.packages-embed .original-resource .section-head.center {margin-left:auto;margin-right:auto;text-align:center}
.packages-embed .original-resource .section-eyebrow {display:inline-flex;align-items:center;gap:10px;
  font-size:var(--small);letter-spacing:.22em;text-transform:uppercase;
  color:var(--color-key);margin-bottom:18px;font-weight:500;}
.packages-embed .original-resource .section-eyebrow::before {content:"";width:24px;height:1px;background:var(--color-key)}
.packages-embed .original-resource .dark .section-eyebrow {color:var(--color-key)}
.packages-embed .original-resource .dark .section-head h2 {color:var(--color-white)}
.packages-embed .original-resource .dark .section-head p {color:var(--color-line)}
.packages-embed .original-resource .section-head h2 {margin-bottom:18px;color:var(--color-dark)}
.packages-embed .original-resource .section-head h2 em {font-style:italic;color:var(--color-key);font-weight:400}
.packages-embed .original-resource .section-head p {color:var(--color-muted);font-size:var(--card);max-width:660px;line-height:1.7}
/* ============== ESPECIALIDADES (estilo Roca) ============== */
.packages-embed .original-resource .spec-grid {display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px;}
.packages-embed .original-resource .spec-card {background:var(--color-white);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:32px 22px;cursor:pointer;text-align:center;
  position:relative;overflow:hidden;
  transition:all .35s cubic-bezier(.4,0,.2,1);}
.packages-embed .original-resource .spec-card::before {content:"";position:absolute;inset:0;
  background:linear-gradient(135deg, var(--color-dark), var(--navy-700));
  opacity:0;transition:opacity .35s;}
.packages-embed .original-resource .spec-card:hover {transform:translateY(-6px);
  box-shadow:0 24px 48px -16px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 25%, transparent);
  border-color:transparent;}
.packages-embed .original-resource .spec-card:hover::before {opacity:1}
.packages-embed .original-resource .spec-card>* {position:relative;z-index:2}
.packages-embed .original-resource .spec-icon {width:72px;height:72px;border-radius:50%;
  background:var(--color-light);color:var(--navy-700);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 18px;transition:all .35s;}
.packages-embed .original-resource .spec-card:hover .spec-icon {background:var(--color-key);color:var(--pb-theme-white,var(--color-white));transform:scale(1.05)}
.packages-embed .original-resource .spec-icon svg {width:36px;height:36px}
.packages-embed .original-resource .spec-card h3 {font-family:var(--font-main);font-size:var(--body);font-weight:500;
  color:var(--color-dark);margin-bottom:8px;letter-spacing:0;
  transition:color .35s;}
.packages-embed .original-resource .spec-card:hover h3 {color:var(--color-white)}
.packages-embed .original-resource .spec-card p {font-size:var(--small);color:var(--ink-mute);margin:0;line-height:1.5;
  transition:color .35s;}
.packages-embed .original-resource .spec-card:hover p {color:var(--color-line)}
.packages-embed .original-resource .spec-card .count {display:inline-block;margin-top:14px;font-size:var(--small);
  color:var(--color-key);font-weight:500;letter-spacing:.05em;text-transform:uppercase;
  transition:color .35s;}
.packages-embed .original-resource .spec-card:hover .count {color:var(--color-key)}
/* ============== PRODUCTOS DESTACADOS ============== */
.packages-embed .original-resource .featured-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;}
.packages-embed .original-resource .product-card {background:var(--color-white);border-radius:var(--radius-lg);overflow:hidden;
  border:1px solid var(--line);transition:all .3s;cursor:pointer;
  display:flex;flex-direction:column;}
.packages-embed .original-resource .product-card:hover {transform:translateY(-4px);
  box-shadow:var(--shadow-lg);border-color:transparent;}
.packages-embed .original-resource .product-img {aspect-ratio:4/3;background:var(--color-light);overflow:hidden;
  position:relative;}
.packages-embed .original-resource .product-img img {width:100%;height:100%;object-fit:cover;
  transition:transform .6s cubic-bezier(.4,0,.2,1);}
.packages-embed .original-resource .product-card:hover .product-img img {transform:scale(1.05)}
.packages-embed .original-resource .product-img .brand-tag {position:absolute;top:14px;left:14px;
  background:var(--color-white);color:var(--color-dark);
  padding:5px 12px;border-radius:3px;
  font-size:var(--small);font-weight:500;letter-spacing:.08em;text-transform:uppercase;
  box-shadow:0 1px 3px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 6%, transparent), 0 1px 2px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 4%, transparent);}
.packages-embed .original-resource .product-info {padding:24px;flex:1;display:flex;flex-direction:column}
.packages-embed .original-resource .product-cat {font-size:var(--small);color:var(--color-key);font-weight:500;
  letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px;}
.packages-embed .original-resource .product-info h3 {font-family:var(--font-main);font-size:var(--card);font-weight:500;
  color:var(--color-dark);margin-bottom:10px;letter-spacing:0;}
.packages-embed .original-resource .product-info p {font-size:var(--small);color:var(--ink-mute);margin:0 0 18px;
  line-height:1.55;flex:1;}
.packages-embed .original-resource .product-actions {display:flex;gap:10px;margin-top:auto}
.packages-embed .original-resource .product-actions .btn-quote-sm {flex:1;background:var(--color-dark);color:var(--color-white);
  padding:10px;border-radius:5px;font-size:var(--small);font-weight:500;
  transition:background .2s;}
.packages-embed .original-resource .product-actions .btn-quote-sm:hover {background:var(--color-dark)}
.packages-embed .original-resource .product-actions .btn-info-sm {flex:1;background:transparent;color:var(--color-dark);
  border:1px solid var(--color-line);
  padding:10px;border-radius:5px;font-size:var(--small);font-weight:500;
  transition:all .2s;}
.packages-embed .original-resource .product-actions .btn-info-sm:hover {border-color:var(--color-dark);background:var(--color-light)}
/* ============== STATS BAR ============== */
.packages-embed .original-resource .stats-bar {background:linear-gradient(135deg, var(--color-dark) 0%, var(--navy-700) 100%);
  color:var(--color-white);padding:80px 0;position:relative;overflow:hidden;}
.packages-embed .original-resource .stats-bar::before {content:"";position:absolute;inset:0;
  background-image:
    radial-gradient(circle at 20% 30%, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 15%, transparent), transparent 40%),
    radial-gradient(circle at 80% 70%, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 25%, transparent), transparent 50%);}
.packages-embed .original-resource .stats-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:0;position:relative;z-index:2;
  border-top:1px solid var(--color-line);
  border-bottom:1px solid var(--color-line);}
.packages-embed .original-resource .stat-item {padding:48px 32px;text-align:center;
  border-right:1px solid var(--color-line);}
.packages-embed .original-resource .stat-item:last-child {border-right:none}
.packages-embed .original-resource .stat-num {font-family:var(--font-main);font-size:var(--h1);color:var(--color-white);
  font-weight:400;line-height:1;margin-bottom:8px;
  background:linear-gradient(180deg, var(--color-white) 0%, var(--color-key) 130%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.packages-embed .original-resource .stat-label {font-size:var(--small);letter-spacing:.18em;text-transform:uppercase;
  color:var(--color-line);font-weight:500;}
@media (max-width:760px) {
.packages-embed .original-resource .stat-item {border-right:none;border-bottom:1px solid var(--color-line);padding:36px 20px}
.packages-embed .original-resource .stat-item:last-child {border-bottom:none}
}
/* ============== CATÁLOGO COMPLETO ============== */
.packages-embed .original-resource .cat-hero {background:linear-gradient(135deg, var(--color-dark), var(--navy-700));
  color:var(--color-white);padding:100px 0 80px;position:relative;overflow:hidden;}
.packages-embed .original-resource .cat-hero::before {content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 80% 20%, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 20%, transparent), transparent 50%);}
.packages-embed .original-resource .cat-hero .container {position:relative;z-index:2}
.packages-embed .original-resource .cat-hero h1 {color:var(--color-white);font-size:var(--h1)}
.packages-embed .original-resource .cat-hero h1 em {color:var(--color-key);font-style:italic;font-weight:400}
.packages-embed .original-resource .cat-hero .crumb {display:flex;gap:10px;font-size:var(--small);color:var(--color-line);margin-bottom:18px}
.packages-embed .original-resource .cat-hero .crumb a {color:var(--color-line)}
.packages-embed .original-resource .cat-hero .crumb a:hover {color:var(--color-key)}
.packages-embed .original-resource .cat-hero p {color:var(--color-line);font-size:var(--card);max-width:680px;margin-top:18px;font-weight:400}
.packages-embed .original-resource .cat-layout {display:grid;grid-template-columns:300px 1fr;gap:48px;align-items:start;}
.packages-embed .original-resource .cat-sidebar {position:sticky;top:120px;
  background:var(--color-white);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:28px;box-shadow:var(--shadow-sm);}
.packages-embed .original-resource .cat-sidebar h4 {font-size:var(--small);text-transform:uppercase;letter-spacing:.18em;
  color:var(--ink-mute);margin-bottom:14px;font-weight:500;}
.packages-embed .original-resource .cat-sidebar h4:not(:first-child) {margin-top:28px}
.packages-embed .original-resource .cat-search {width:100%;padding:11px 14px;border:1px solid var(--line);
  border-radius:6px;font-family:inherit;font-size:var(--small);color:var(--color-dark);
  transition:all .2s;}
.packages-embed .original-resource .cat-search:focus {outline:none;border-color:var(--color-key);box-shadow:0 0 0 3px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 16%, transparent)}
.packages-embed .original-resource .filter-list {list-style:none;padding:0;margin:0;max-height:280px;overflow-y:auto}
.packages-embed .original-resource .filter-list::-webkit-scrollbar {width:5px}
.packages-embed .original-resource .filter-list::-webkit-scrollbar-thumb {background:var(--navy-200);border-radius:3px}
.packages-embed .original-resource .filter-list button {width:100%;text-align:left;padding:9px 12px;font-size:var(--small);
  color:var(--color-muted);border-radius:5px;transition:all .15s;
  display:flex;justify-content:space-between;align-items:center;}
.packages-embed .original-resource .filter-list button:hover {background:var(--color-light);color:var(--color-dark)}
.packages-embed .original-resource .filter-list button.active {background:var(--color-dark);color:var(--color-white);font-weight:500}
.packages-embed .original-resource .filter-list button.active .badge {background:var(--color-key);color:var(--pb-theme-white,var(--color-white))}
.packages-embed .original-resource .filter-list .badge {background:var(--color-light);color:var(--color-key);
  font-size:var(--small);padding:2px 9px;border-radius:10px;font-weight:500;}
.packages-embed .original-resource .cat-content {min-height:600px}
.packages-embed .original-resource .cat-toolbar {display:flex;justify-content:space-between;align-items:center;
  margin-bottom:26px;padding-bottom:20px;border-bottom:1px solid var(--line);
  flex-wrap:wrap;gap:12px;}
.packages-embed .original-resource .cat-toolbar .result-count {font-size:var(--body);color:var(--ink-mute)}
.packages-embed .original-resource .cat-toolbar .result-count strong {color:var(--color-dark);font-weight:700;font-size:var(--body)}
.packages-embed .original-resource .cat-products {display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px;}
@media (max-width:1000px) {
.packages-embed .original-resource .cat-layout {grid-template-columns:1fr}
.packages-embed .original-resource .cat-sidebar {position:static}
}
/* ============== BRANDS PAGE (Representaciones) ============== */
.packages-embed .original-resource .brand-hero {background:linear-gradient(135deg, var(--color-light), var(--color-white));
  padding:80px 0;border-bottom:1px solid var(--line);}
.packages-embed .original-resource .brands-grid-big {display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px;}
.packages-embed .original-resource .brand-card-big {background:var(--color-white);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:0;cursor:pointer;text-align:center;overflow:hidden;
  transition:all .3s;position:relative;}
.packages-embed .original-resource .brand-card-big:hover {transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:transparent}
.packages-embed .original-resource .brand-card-big .head {height:140px;
  background:linear-gradient(135deg, var(--color-light), var(--color-white));
  display:flex;align-items:center;justify-content:center;
  border-bottom:1px solid var(--line);
  position:relative;overflow:hidden;}
.packages-embed .original-resource .brand-card-big:hover .head {background:linear-gradient(135deg, var(--copper-50), var(--color-white))}
.packages-embed .original-resource .brand-card-big .head::before {content:"";position:absolute;inset:0;
  background-image:radial-gradient(circle at 20% 80%, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 8%, transparent), transparent 60%);}
.packages-embed .original-resource .brand-card-big .name {font-family:var(--font-main);font-size:var(--h4);color:var(--color-dark);
  font-weight:500;letter-spacing:-.02em;position:relative;z-index:2;}
.packages-embed .original-resource .brand-card-big .body {padding:26px 24px}
.packages-embed .original-resource .brand-card-big .tagline {font-size:var(--small);color:var(--color-key);letter-spacing:.12em;
  font-weight:500;text-transform:uppercase;margin-bottom:12px;}
.packages-embed .original-resource .brand-card-big .desc {font-size:var(--small);color:var(--color-muted);line-height:1.55;margin:0 0 16px;}
.packages-embed .original-resource .brand-card-big .link {font-size:var(--small);color:var(--color-key);font-weight:500;
  letter-spacing:.05em;display:inline-flex;gap:6px;align-items:center;}
.packages-embed .original-resource .brand-card-big .link::after {content:"→";transition:transform .2s}
.packages-embed .original-resource .brand-card-big:hover .link::after {transform:translateX(4px)}
/* ============== SERVICIOS PROFESIONALES ============== */
.packages-embed .original-resource .services-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:0;
  background:var(--color-white);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;
  box-shadow:var(--shadow-sm);}
.packages-embed .original-resource .service-cell {padding:44px 36px;border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  position:relative;transition:all .3s;}
.packages-embed .original-resource .service-cell:hover {background:var(--color-light)}
.packages-embed .original-resource .service-cell .icn {width:56px;height:56px;border-radius:14px;
  background:var(--copper-50);color:var(--color-key);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:20px;transition:all .3s;}
.packages-embed .original-resource .service-cell:hover .icn {background:var(--color-key);color:var(--pb-theme-white,var(--color-white));transform:rotate(-5deg) scale(1.05)}
.packages-embed .original-resource .service-cell .icn svg {width:28px;height:28px}
.packages-embed .original-resource .service-cell h3 {font-family:var(--font-main);font-size:var(--card);font-weight:500;
  margin-bottom:10px;letter-spacing:0;color:var(--color-dark);}
.packages-embed .original-resource .service-cell p {font-size:var(--small);color:var(--color-muted);margin:0;line-height:1.6}
/* ============== TIMELINE / PROCESS ============== */
.packages-embed .original-resource .process {display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative}
.packages-embed .original-resource .process-step {position:relative;text-align:center;padding:0 18px;}
.packages-embed .original-resource .process-step::after {content:"";position:absolute;top:32px;right:-50%;width:100%;height:1px;
  background:linear-gradient(to right, var(--line), var(--color-key) 50%, var(--line));}
.packages-embed .original-resource .process-step:last-child::after {display:none}
.packages-embed .original-resource .process-num {width:64px;height:64px;border-radius:50%;
  background:var(--color-white);border:2px solid var(--color-key);
  color:var(--color-key);font-family:var(--font-main);font-size:var(--h5);font-weight:500;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 18px;position:relative;z-index:2;
  transition:all .3s;}
.packages-embed .original-resource .process-step:hover .process-num {background:var(--color-key);color:var(--pb-theme-white,var(--color-white));transform:scale(1.1)}
.packages-embed .original-resource .process-step h4 {margin-bottom:8px}
.packages-embed .original-resource .process-step p {font-size:var(--small);color:var(--ink-mute);margin:0;line-height:1.5}
@media (max-width:880px) {
.packages-embed .original-resource .process {grid-template-columns:1fr;gap:32px}
.packages-embed .original-resource .process-step::after {display:none}
}
/* ============== TESTIMONIALS / NEWS ============== */
.packages-embed .original-resource .news-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;}
.packages-embed .original-resource .news-card {background:var(--color-white);border:1px solid var(--line);border-radius:var(--radius-lg);
  overflow:hidden;transition:all .3s;cursor:pointer;
  display:flex;flex-direction:column;}
.packages-embed .original-resource .news-card:hover {transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:transparent}
.packages-embed .original-resource .news-img {aspect-ratio:16/10;background:var(--color-light);overflow:hidden}
.packages-embed .original-resource .news-img img {width:100%;height:100%;object-fit:cover;transition:transform .5s}
.packages-embed .original-resource .news-card:hover .news-img img {transform:scale(1.05)}
.packages-embed .original-resource .news-body {padding:24px}
.packages-embed .original-resource .news-meta {display:flex;gap:12px;font-size:var(--small);color:var(--ink-mute);margin-bottom:10px;letter-spacing:.04em}
.packages-embed .original-resource .news-meta .tag {color:var(--color-key);font-weight:700;text-transform:uppercase;letter-spacing:.1em}
.packages-embed .original-resource .news-card h3 {font-family:var(--font-main);font-size:var(--card);font-weight:500;margin-bottom:10px;letter-spacing:0;color:var(--color-dark);line-height:1.35}
.packages-embed .original-resource .news-card p {font-size:var(--small);color:var(--color-muted);margin:0 0 14px;line-height:1.55}
.packages-embed .original-resource .news-card .read {font-size:var(--small);color:var(--color-key);font-weight:500}
/* ============== CTA STRIPE ============== */
.packages-embed .original-resource .cta-strip {background:linear-gradient(110deg, var(--color-dark) 0%, var(--navy-700) 100%);
  color:var(--color-white);padding:80px 0;position:relative;overflow:hidden;}
.packages-embed .original-resource .cta-strip::before {content:"";position:absolute;right:-80px;top:50%;transform:translateY(-50%);
  width:500px;height:500px;border-radius:50%;
  background:radial-gradient(circle, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 25%, transparent), transparent 70%);}
.packages-embed .original-resource .cta-strip::after {content:"";position:absolute;left:-100px;bottom:-100px;
  width:300px;height:300px;border-radius:50%;
  background:radial-gradient(circle, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 20%, transparent), transparent 70%);}
.packages-embed .original-resource .cta-strip .container {display:flex;align-items:center;justify-content:space-between;gap:40px;
  flex-wrap:wrap;position:relative;z-index:1;}
.packages-embed .original-resource .cta-strip h2 {color:var(--color-white);max-width:660px;margin-bottom:8px}
.packages-embed .original-resource .cta-strip h2 em {color:var(--color-key);font-style:italic;font-weight:400}
.packages-embed .original-resource .cta-strip p {color:var(--color-line);font-size:var(--body);margin:0;max-width:600px;font-weight:400}
/* ============== CONTACT ============== */
.packages-embed .original-resource .contact-layout {display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:start}
.packages-embed .original-resource .contact-info-card {background:linear-gradient(135deg, var(--color-dark), var(--navy-700));
  color:var(--color-white);border-radius:var(--radius-lg);padding:42px;
  position:relative;overflow:hidden;}
.packages-embed .original-resource .contact-info-card::before {content:"";position:absolute;right:-60px;top:-60px;
  width:200px;height:200px;border-radius:50%;
  background:radial-gradient(circle, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 25%, transparent), transparent 70%);}
.packages-embed .original-resource .contact-info-card h3 {color:var(--color-white);font-size:var(--h5);margin-bottom:8px}
.packages-embed .original-resource .contact-info-card .sub {color:var(--color-line);font-size:var(--body);margin-bottom:32px;font-weight:400}
.packages-embed .original-resource .contact-info-card dl {margin:0;display:grid;gap:24px;position:relative;z-index:2}
.packages-embed .original-resource .contact-info-card dt {font-size:var(--small);letter-spacing:.18em;text-transform:uppercase;
  color:var(--color-key);font-weight:500;margin-bottom:6px;
  display:flex;align-items:center;gap:8px;}
.packages-embed .original-resource .contact-info-card dt svg {width:14px;height:14px}
.packages-embed .original-resource .contact-info-card dd {margin:0;font-size:var(--body);color:var(--color-white);line-height:1.5;font-weight:400}
.packages-embed .original-resource .contact-info-card dd a {color:var(--color-white)}
.packages-embed .original-resource .contact-info-card dd a:hover {color:var(--color-key)}
.packages-embed .original-resource .contact-info-card .social-row {margin-top:36px;padding-top:26px;border-top:1px solid var(--color-line);
  display:flex;gap:12px;}
.packages-embed .original-resource .contact-info-card .social-row a {width:40px;height:40px;border-radius:50%;
  background:var(--color-line);
  display:flex;align-items:center;justify-content:center;color:var(--color-white);
  transition:all .25s;}
.packages-embed .original-resource .contact-info-card .social-row a:hover {background:var(--color-key);transform:translateY(-2px)}
.packages-embed .original-resource .contact-info-card .social-row svg {width:18px;height:18px}
.packages-embed .original-resource .contact-form {background:var(--color-white);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:42px;box-shadow:var(--shadow-md);}
.packages-embed .original-resource .contact-form h3 {font-family:var(--font-main);font-size:var(--h5);margin-bottom:8px}
.packages-embed .original-resource .contact-form p.sub {font-size:var(--body);color:var(--ink-mute);margin:0 0 26px}
.packages-embed .original-resource .form-grid {display:grid;grid-template-columns:1fr 1fr;gap:14px}
.packages-embed .original-resource .form-grid .full {grid-column:1/-1}
.packages-embed .original-resource .field {display:block;margin-bottom:14px}
.packages-embed .original-resource .field label {display:block;font-size:var(--small);font-weight:500;color:var(--color-muted);
  margin-bottom:6px;letter-spacing:.02em;}
.packages-embed .original-resource .field input, .packages-embed .original-resource .field select, .packages-embed .original-resource .field textarea {width:100%;padding:12px 14px;border:1px solid var(--line-strong);
  border-radius:6px;font-family:inherit;font-size:var(--small);color:var(--color-dark);
  background:var(--color-white);transition:all .2s;}
.packages-embed .original-resource .field input:focus, .packages-embed .original-resource .field select:focus, .packages-embed .original-resource .field textarea:focus {outline:none;border-color:var(--color-key);box-shadow:0 0 0 3px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 16%, transparent);}
.packages-embed .original-resource .field textarea {min-height:120px;resize:vertical}
.packages-embed .original-resource .contact-form button {width:100%;background:var(--color-key);color:var(--pb-theme-white,var(--color-white));
  padding:14px;border-radius:6px;font-weight:500;font-size:var(--body);
  transition:all .2s;
  box-shadow:0 4px 14px -2px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 40%, transparent);}
.packages-embed .original-resource .contact-form button:hover {background:var(--color-key);transform:translateY(-1px)}
@media (max-width:880px) {
.packages-embed .original-resource .contact-layout {grid-template-columns:1fr}
}
/* ============== FOOTER ============== */
.packages-embed .original-resource footer.site {background:var(--color-dark);color:var(--color-muted);padding:72px 0 28px;}
.packages-embed .original-resource .footer-grid {display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:56px;
  padding-bottom:48px;border-bottom:1px solid var(--color-line);}
.packages-embed .original-resource .footer-brand img {height:54px;margin-bottom:22px;filter:brightness(0) invert(1) opacity(.95)}
.packages-embed .original-resource .footer-brand p {font-size:var(--small);line-height:1.65;color:var(--color-muted);max-width:340px;margin:0 0 22px}
.packages-embed .original-resource .footer-brand .social {display:flex;gap:10px}
.packages-embed .original-resource .footer-brand .social a {width:36px;height:36px;border-radius:50%;background:var(--color-line);
  display:flex;align-items:center;justify-content:center;color:var(--color-muted);
  transition:all .25s;}
.packages-embed .original-resource .footer-brand .social a:hover {background:var(--color-key);color:var(--pb-theme-white,var(--color-white))}
.packages-embed .original-resource .footer-brand .social svg {width:16px;height:16px}
.packages-embed .original-resource footer.site h5 {font-family:var(--font-main);font-size:var(--small);letter-spacing:.18em;
  text-transform:uppercase;color:var(--color-white);margin:0 0 18px;font-weight:500;}
.packages-embed .original-resource footer.site ul {list-style:none;padding:0;margin:0;display:grid;gap:10px}
.packages-embed .original-resource footer.site a {color:var(--color-muted);font-size:var(--small);transition:color .2s}
.packages-embed .original-resource footer.site a:hover {color:var(--color-key)}
.packages-embed .original-resource .footer-bottom {padding-top:28px;display:flex;justify-content:space-between;
  font-size:var(--small);color:var(--color-muted);flex-wrap:wrap;gap:14px;}
@media (max-width:880px) {
.packages-embed .original-resource .footer-grid {grid-template-columns:1fr 1fr;gap:40px}
}
/* ============== VIEW SWITCHING ============== */
.packages-embed .original-resource .view {display:block;animation:packages-fadeView .5s ease both}
.packages-embed .original-resource #view-detalle {display:none}
.packages-embed .original-resource .view.active {display:block}
@keyframes packages-fadeView {from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
/* ============== MODAL ============== */
.packages-embed .original-resource .modal-bg {position:fixed;inset:0;background:color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 65%, transparent);
  display:none;align-items:center;justify-content:center;
  z-index:200;padding:20px;backdrop-filter:blur(6px);}
.packages-embed .original-resource .modal-bg.show {display:flex;animation:packages-modalFade .25s ease}
@keyframes packages-modalFade {from{opacity:0}to{opacity:1}}
.packages-embed .original-resource .modal {background:var(--color-white);border-radius:var(--radius-lg);
  max-width:560px;width:100%;padding:42px;box-shadow:var(--shadow-xl);
  position:relative;animation:packages-modalSlide .35s cubic-bezier(.4,0,.2,1);}
@keyframes packages-modalSlide {from{transform:translateY(30px) scale(.96);opacity:0}to{transform:none;opacity:1}}
.packages-embed .original-resource .modal-close {position:absolute;top:14px;right:14px;
  font-size:var(--h5);color:var(--ink-mute);width:38px;height:38px;
  display:flex;align-items:center;justify-content:center;border-radius:50%;
  transition:all .2s;}
.packages-embed .original-resource .modal-close:hover {background:var(--color-light);color:var(--color-dark)}
.packages-embed .original-resource .modal h3 {font-family:var(--font-main);font-size:var(--h4);margin-bottom:6px}
.packages-embed .original-resource .modal p.sub {color:var(--ink-mute);margin:0 0 22px;font-size:var(--small)}
.packages-embed .original-resource .modal .product-tag {background:var(--color-light);color:var(--color-key);
  padding:12px 16px;border-radius:6px;font-size:var(--small);
  margin-bottom:22px;border-left:3px solid var(--color-key);font-weight:500;}
/* ============== DETAIL PAGE ============== */
.packages-embed .original-resource .detail-hero {background:linear-gradient(135deg, var(--color-light), var(--color-white));
  padding:64px 0 48px;border-bottom:1px solid var(--line);}
.packages-embed .original-resource .detail-hero .container {display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.packages-embed .original-resource .detail-img-wrap {background:var(--color-white);border:1px solid var(--line);border-radius:var(--radius-lg);
  overflow:hidden;aspect-ratio:1;
  box-shadow:var(--shadow-md);}
.packages-embed .original-resource .detail-img-wrap img {width:100%;height:100%;object-fit:cover}
.packages-embed .original-resource .detail-info .crumb {font-size:var(--small);color:var(--ink-mute);margin-bottom:18px;
  display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.packages-embed .original-resource .detail-info .crumb a {color:var(--ink-mute)}
.packages-embed .original-resource .detail-info .crumb a:hover {color:var(--color-key)}
.packages-embed .original-resource .detail-info .crumb span.current {color:var(--color-key)}
.packages-embed .original-resource .detail-info .brand-pill {display:inline-block;font-size:var(--small);font-weight:500;letter-spacing:.18em;
  text-transform:uppercase;color:var(--pb-theme-white,var(--color-white));background:var(--color-key);
  padding:6px 14px;border-radius:3px;margin-bottom:20px;}
.packages-embed .original-resource .detail-info h1 {font-size:var(--h2);margin-bottom:16px}
.packages-embed .original-resource .detail-info p.lead {color:var(--color-muted);font-size:var(--card);margin-bottom:28px;line-height:1.7}
.packages-embed .original-resource .detail-features {list-style:none;padding:0;margin:0 0 32px;display:grid;gap:12px;}
.packages-embed .original-resource .detail-features li {display:flex;align-items:flex-start;gap:12px;font-size:var(--body);color:var(--color-dark);}
.packages-embed .original-resource .detail-features li svg {width:20px;height:20px;color:var(--color-key);flex-shrink:0;margin-top:2px;}
.packages-embed .original-resource .detail-actions {display:flex;gap:14px;flex-wrap:wrap}
@media (max-width:880px) {
.packages-embed .original-resource .detail-hero .container {grid-template-columns:1fr;gap:36px}
}
/* ============== UTILS ============== */
.packages-embed .original-resource .no-results {text-align:center;padding:80px 24px;color:var(--ink-mute);
  background:var(--color-white);border:1px dashed var(--line-strong);border-radius:var(--radius-lg);}
.packages-embed .original-resource .no-results svg {width:64px;height:64px;color:var(--navy-200);margin:0 auto 16px}
/* ============== ANIMATIONS REVEAL ============== */
.packages-embed .original-resource .reveal {opacity:0;transform:translateY(30px);transition:all .8s cubic-bezier(.4,0,.2,1)}
.packages-embed .original-resource .reveal.visible {opacity:1;transform:none}
/* ============================================================
   SISTEMA DE SECCIONES PARALLAX · actualizado
   Fondo full screen por sección, respetando el .container interno.
   Se eliminaron los chips/etiquetas de tipo de sección.
   ============================================================ */
.packages-embed .original-resource .parallax-section {position:relative;
  isolation:isolate;
  overflow:hidden;
  background-color:transparent;}
.packages-embed .original-resource .parallax-section > .section-parallax-bg {position:absolute;
  top:-24%;
  bottom:-24%;
  left:50%;
  width:100vw;
  margin-left:-50vw;
  z-index:0;
  pointer-events:none;
  opacity:.92;
  transform:translate3d(0,0,0) scale(1.08);
  will-change:transform;
  background:
    radial-gradient(circle at 15% 20%, transparent, transparent 34%),
    radial-gradient(circle at 88% 22%, transparent, transparent 32%),
    linear-gradient(135deg, var(--color-white), var(--color-white));}
.packages-embed .original-resource .parallax-section.parallax-dark > .section-parallax-bg {opacity:.82;
  background:
    radial-gradient(circle at 18% 24%, transparent, transparent 34%),
    radial-gradient(circle at 88% 18%, transparent, transparent 36%),
    linear-gradient(135deg, var(--color-dark), var(--color-dark));}
.packages-embed .original-resource .parallax-section.parallax-tinted > .section-parallax-bg {opacity:.96;
  background:
    radial-gradient(circle at 16% 18%, transparent, transparent 30%),
    radial-gradient(circle at 84% 22%, transparent, transparent 30%),
    linear-gradient(135deg, var(--color-white), var(--color-light));}
.packages-embed .original-resource .parallax-section.parallax-catalog > .section-parallax-bg {opacity:.86;
  background:
    radial-gradient(circle at 80% 20%, transparent, transparent 40%),
    radial-gradient(circle at 20% 78%, transparent, transparent 36%),
    linear-gradient(135deg, var(--color-dark), var(--color-dark));}
.packages-embed .original-resource .parallax-section.parallax-carded > .section-parallax-bg {opacity:.94;
  background:
    radial-gradient(circle at 14% 22%, transparent, transparent 28%),
    radial-gradient(circle at 82% 16%, transparent, transparent 30%),
    linear-gradient(135deg, var(--color-white), var(--color-white));}
.packages-embed .original-resource .parallax-section.parallax-hero > .section-parallax-bg {display:none;}
.packages-embed .original-resource .parallax-section > .container, .packages-embed .original-resource .parallax-section > .hero-slide, .packages-embed .original-resource .parallax-section > .hero-floating, .packages-embed .original-resource .parallax-section > .hero-nav, .packages-embed .original-resource .parallax-section > .marquee-track, .packages-embed .original-resource .parallax-section > .cat-hero, .packages-embed .original-resource .parallax-section > .detail-hero {position:relative;
  z-index:2;}
.packages-embed .original-resource .parallax-section > .container {max-width:var(--container);}
.packages-embed .original-resource .section-type-chip {display:none !important;}
.packages-embed .original-resource .parallax-section.block, .packages-embed .original-resource .parallax-section.stats-bar, .packages-embed .original-resource .parallax-section.cta-strip {transform:translateZ(0);}
@media (prefers-reduced-motion:reduce) {
.packages-embed .original-resource .parallax-section > .section-parallax-bg {transform:none!important;will-change:auto}
}
/* ============================================================
   AJUSTE SOLICITADO · sin topbar / sin header / vistas full screen
   Se oculta la franja superior y la navegación original.
   Cada vista principal ocupa al menos el alto completo de la pantalla,
   preservando el ancho y la forma de sus contenedores internos.
   ============================================================ */
.packages-embed .original-resource .topbar, .packages-embed .original-resource header.site, .packages-embed .original-resource #menu-overlay {display:none !important;}
.packages-embed .original-resource .hero {height:100svh;
  min-height:100svh;}
.packages-embed .original-resource .marquee-section, .packages-embed .original-resource section.block, .packages-embed .original-resource .stats-bar, .packages-embed .original-resource .cta-strip, .packages-embed .original-resource .cat-hero, .packages-embed .original-resource .detail-hero {min-height:100svh;
  display:flex;
  align-items:center;}
.packages-embed .original-resource .marquee-section > .container, .packages-embed .original-resource section.block > .container, .packages-embed .original-resource .stats-bar > .container, .packages-embed .original-resource .cta-strip > .container, .packages-embed .original-resource .cat-hero > .container, .packages-embed .original-resource .detail-hero > .container {width:100%;}
.packages-embed .original-resource .marquee-section {padding:64px 0;}
.packages-embed .original-resource section.block, .packages-embed .original-resource .stats-bar, .packages-embed .original-resource .cta-strip, .packages-embed .original-resource .cat-hero, .packages-embed .original-resource .detail-hero {padding-top:clamp(72px, 9vh, 112px);
  padding-bottom:clamp(72px, 9vh, 112px);}
.packages-embed .original-resource section.block.tight {min-height:72svh;}
.packages-embed .original-resource .view > .cat-hero + section.block {border-top:1px solid var(--color-line);}
@media (max-width: 1100px) {
.packages-embed .original-resource .hero, .packages-embed .original-resource .marquee-section, .packages-embed .original-resource section.block, .packages-embed .original-resource .stats-bar, .packages-embed .original-resource .cta-strip, .packages-embed .original-resource .cat-hero, .packages-embed .original-resource .detail-hero {min-height:100svh;}
}
@media (max-width: 880px) {
.packages-embed .original-resource .marquee-section, .packages-embed .original-resource section.block, .packages-embed .original-resource .stats-bar, .packages-embed .original-resource .cta-strip, .packages-embed .original-resource .cat-hero, .packages-embed .original-resource .detail-hero {align-items:center;
    padding-top:64px;
    padding-bottom:64px;}
}
/* ============================================================
   AJUSTES FINALES · banner full screen / marquee centrado /
   una sola fila en categorías y destacados
   ============================================================ */
.packages-embed .original-resource .hero {height:100vh !important;
  min-height:100vh !important;}
.packages-embed .original-resource .hero-content {min-height:100vh;}
.packages-embed .original-resource .marquee-section {display:flex !important;
  flex-direction:column !important;
  justify-content:center;
  align-items:center;}
.packages-embed .original-resource .marquee-section > .container {width:100%;
  display:flex;
  justify-content:center;}
.packages-embed .original-resource .marquee-label {width:max-content;
  max-width:100%;
  margin:0 auto 26px;
  text-align:center;
  white-space:nowrap;}
.packages-embed .original-resource .marquee-track {max-width:none;}
.packages-embed .original-resource .spec-grid {grid-template-columns:repeat(5, minmax(0, 1fr));}
.packages-embed .original-resource .featured-grid {grid-template-columns:repeat(4, minmax(0, 1fr));}
@media (max-width: 1400px) {
.packages-embed .original-resource .spec-grid {grid-template-columns:repeat(5, minmax(190px, 1fr));}
.packages-embed .original-resource .featured-grid {grid-template-columns:repeat(4, minmax(240px, 1fr));}
}
@media (max-width: 1100px) {
.packages-embed .original-resource .marquee-label {white-space:normal;
    line-height:1.5;
    text-wrap:balance;}
.packages-embed .original-resource .spec-grid {grid-template-columns:repeat(3, minmax(0, 1fr));}
.packages-embed .original-resource .featured-grid {grid-template-columns:repeat(2, minmax(0, 1fr));}
}
@media (max-width: 760px) {
.packages-embed .original-resource .hero, .packages-embed .original-resource .hero-content {height:100svh !important;
    min-height:100svh !important;}
.packages-embed .original-resource .marquee-label {white-space:normal;}
.packages-embed .original-resource .spec-grid, .packages-embed .original-resource .featured-grid {grid-template-columns:1fr;}
}
/* ============================================================
   CORRECCIÓN FINAL · una sola página y banner funcional
   ============================================================ */
.packages-embed .original-resource .view, .packages-embed .original-resource .view.active {display:block !important;}
.packages-embed .original-resource #view-detalle:empty, .packages-embed .original-resource #view-detalle {display:none !important;}
.packages-embed .original-resource #hero-slider.hero {width:100%;
  height:100vh !important;
  min-height:100vh !important;
  max-height:none !important;
  padding:0 !important;
  background:var(--color-dark);}
.packages-embed .original-resource #hero-slider .hero-slide {position:absolute;
  inset:0;
  opacity:0;
  visibility:hidden;
  z-index:0;
  pointer-events:none;
  transition:opacity .85s ease, visibility .85s ease;}
.packages-embed .original-resource #hero-slider .hero-slide.active {opacity:1;
  visibility:visible;
  z-index:2;
  pointer-events:auto;}
.packages-embed .original-resource #hero-slider .hero-bg, .packages-embed .original-resource #hero-slider .hero-overlay, .packages-embed .original-resource #hero-slider .hero-grid-overlay, .packages-embed .original-resource #hero-slider .hero-content {position:absolute;
  inset:0;
  width:100%;
  height:100%;
  min-height:100vh;}
.packages-embed .original-resource #hero-slider .hero-content {z-index:3;
  display:flex;
  align-items:center;}
.packages-embed .original-resource #hero-slider .hero-bg {background-size:cover !important;
  background-position:center !important;}
.packages-embed .original-resource #hero-slider .hero-slide.active .hero-bg {transform:scale(1);}
.packages-embed .original-resource .marquee-section {min-height:100vh;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:30px;}
.packages-embed .original-resource .marquee-section > .container {max-width:none !important;
  width:100% !important;
  padding:0 28px !important;
  display:flex;
  justify-content:center;}
.packages-embed .original-resource .marquee-label {display:block;
  width:max-content;
  max-width:calc(100vw - 56px);
  margin:0 auto !important;
  text-align:center !important;
  white-space:nowrap !important;
  line-height:1.2;}
.packages-embed .original-resource .marquee-track {align-self:flex-start;}
.packages-embed .original-resource #view-inicio .spec-grid {grid-template-columns:repeat(5, minmax(0, 1fr)) !important;}
.packages-embed .original-resource #view-inicio #featured-grid {grid-template-columns:repeat(4, minmax(0, 1fr)) !important;}
@media (max-width:1100px) {
.packages-embed .original-resource #view-inicio .spec-grid {grid-template-columns:repeat(3, minmax(0,1fr)) !important;}
.packages-embed .original-resource #view-inicio #featured-grid {grid-template-columns:repeat(2, minmax(0,1fr)) !important;}
}
@media (max-width:760px) {
.packages-embed .original-resource #hero-slider.hero {height:100svh !important;min-height:100svh !important;}
.packages-embed .original-resource .marquee-label {white-space:normal !important;}
.packages-embed .original-resource #view-inicio .spec-grid, .packages-embed .original-resource #view-inicio #featured-grid {grid-template-columns:1fr !important;}
}
/* ============================================================
   AJUSTE HERO NAV · centrado abajo
   Corrige el override del sistema parallax.
   ============================================================ */
.packages-embed .original-resource #hero-slider.hero.parallax-section > .hero-nav, .packages-embed .original-resource #hero-slider .hero-nav {position:absolute !important;
  left:50% !important;
  right:auto !important;
  top:auto !important;
  bottom:24px !important;
  transform:translateX(-50%) !important;
  display:flex !important;
  align-items:center;
  justify-content:center;
  gap:24px;
  width:auto;
  margin:0;
  z-index:8;}
.packages-embed .original-resource #hero-slider .hero-dot {flex:0 0 auto;}
@media (max-width: 760px) {
.packages-embed .original-resource #hero-slider.hero.parallax-section > .hero-nav, .packages-embed .original-resource #hero-slider .hero-nav {bottom:18px !important;
    gap:18px;}
}
/* ============================================================
   SECCIONES IMPORTADAS DESDE INDEX · adaptadas al estilo P07
   ============================================================ */
.packages-embed .original-resource .imported-section .section-head {margin-bottom:48px;}
.packages-embed .original-resource .p07-gallery {display:grid;
  grid-template-columns:repeat(4,1fr);
  grid-auto-rows:180px;
  gap:18px;}
.packages-embed .original-resource .p07-gallery-item {border:1px solid var(--line);
  border-radius:var(--radius-lg);
  background:
    linear-gradient(135deg, var(--color-dark), var(--color-line)),
    radial-gradient(circle at 80% 20%, transparent, transparent 48%);
  color:var(--color-white);
  min-height:180px;
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  padding:24px;
  overflow:hidden;
  position:relative;
  transition:all .28s ease;
  box-shadow:var(--shadow-sm);}
.packages-embed .original-resource .p07-gallery-item::before {content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, transparent, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 20%, transparent));
  opacity:0;
  transition:opacity .28s ease;}
.packages-embed .original-resource .p07-gallery-item:hover {transform:translateY(-4px);
  box-shadow:var(--shadow-lg);}
.packages-embed .original-resource .p07-gallery-item:hover::before {opacity:1}
.packages-embed .original-resource .p07-gallery-item span {position:relative;
  z-index:2;
  font-family:var(--font-main);
  font-size:var(--h4);}
.packages-embed .original-resource .p07-gallery-item.tall {grid-row:span 2}
.packages-embed .original-resource .p07-gallery-item.wide {grid-column:span 2}
.packages-embed .original-resource .p07-accordion {background:var(--color-white);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--shadow-sm);}
.packages-embed .original-resource .p07-accordion-item + .p07-accordion-item {border-top:1px solid var(--line)}
.packages-embed .original-resource .p07-accordion-item button {width:100%;
  padding:26px 30px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  color:var(--color-dark);
  font-size:var(--card);
  font-weight:700;
  text-align:left;}
.packages-embed .original-resource .p07-accordion-item button span {color:var(--color-key);
  font-size:var(--h5);
  line-height:1;
  transition:transform .25s ease;}
.packages-embed .original-resource .p07-accordion-content {max-height:0;
  overflow:hidden;
  transition:max-height .32s ease;}
.packages-embed .original-resource .p07-accordion-content p {margin:0;
  padding:0 30px 26px;
  color:var(--color-muted);
  max-width:760px;}
.packages-embed .original-resource .p07-accordion-item.open .p07-accordion-content {max-height:180px}
.packages-embed .original-resource .p07-accordion-item.open button span {transform:rotate(45deg)}
.packages-embed .original-resource .p07-tabs {background:var(--color-white);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--shadow-md);}
.packages-embed .original-resource .p07-tab-buttons {display:grid;
  grid-template-columns:repeat(3,1fr);
  border-bottom:1px solid var(--line);}
.packages-embed .original-resource .p07-tab-buttons button {padding:18px 22px;
  color:var(--color-dark);
  font-weight:700;
  border-right:1px solid var(--line);}
.packages-embed .original-resource .p07-tab-buttons button:last-child {border-right:none}
.packages-embed .original-resource .p07-tab-buttons button.active {background:var(--color-dark);
  color:var(--color-white);}
.packages-embed .original-resource .p07-tab-panel {display:none;
  padding:38px;}
.packages-embed .original-resource .p07-tab-panel.active {display:block}
.packages-embed .original-resource .p07-tab-panel h3 {font-family:var(--font-main);
  font-size:var(--h3);
  margin-bottom:12px;}
.packages-embed .original-resource .p07-tab-panel p {color:var(--color-muted);
  max-width:820px;
  margin:0;}
.packages-embed .original-resource .p07-benefit-grid, .packages-embed .original-resource .p07-pricing {display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;}
.packages-embed .original-resource .p07-benefit-grid article, .packages-embed .original-resource .p07-pricing article, .packages-embed .original-resource .p07-testimonials article {background:var(--color-white);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:32px;
  box-shadow:var(--shadow-sm);}
.packages-embed .original-resource .p07-benefit-grid article span {color:var(--color-key);
  font-weight:700;
  letter-spacing:.12em;}
.packages-embed .original-resource .p07-benefit-grid article h3, .packages-embed .original-resource .p07-pricing article h3 {font-family:var(--font-main);
  font-size:var(--card);
  margin:18px 0 10px;}
.packages-embed .original-resource .p07-benefit-grid article p, .packages-embed .original-resource .p07-pricing article p {color:var(--color-muted);
  margin:0;}
.packages-embed .original-resource .p07-testimonials {display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;}
.packages-embed .original-resource .p07-testimonials article {background:linear-gradient(135deg, var(--color-white), var(--color-light));}
.packages-embed .original-resource .p07-testimonials p {font-family:var(--font-main);
  font-size:var(--h4);
  line-height:1.28;
  color:var(--color-dark);
  margin:0 0 24px;}
.packages-embed .original-resource .p07-testimonials strong {display:block;
  color:var(--color-key);
  font-weight:700;
  margin-bottom:4px;}
.packages-embed .original-resource .p07-testimonials span {color:var(--ink-mute);
  font-size:var(--small);}
.packages-embed .original-resource .p07-pricing article {min-height:330px;
  display:flex;
  flex-direction:column;}
.packages-embed .original-resource .p07-pricing article strong {display:block;
  font-family:var(--font-main);
  font-size:var(--h2);
  color:var(--color-dark);
  margin:12px 0;}
.packages-embed .original-resource .p07-pricing article.featured {background:linear-gradient(135deg, var(--color-dark), var(--navy-700));
  color:var(--color-white);
  transform:translateY(-12px);
  box-shadow:var(--shadow-lg);}
.packages-embed .original-resource .p07-pricing article.featured h3, .packages-embed .original-resource .p07-pricing article.featured strong {color:var(--color-white)}
.packages-embed .original-resource .p07-pricing article.featured p {color:var(--color-line)}
.packages-embed .original-resource .p07-pricing article button {margin-top:auto;
  width:100%;
  padding:13px;
  border-radius:6px;
  font-weight:700;}
.packages-embed .original-resource .p07-before-after {height:440px;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  overflow:hidden;
  position:relative;
  background:var(--color-dark);
  box-shadow:var(--shadow-md);}
.packages-embed .original-resource .p07-before, .packages-embed .original-resource .p07-after {position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  font-family:var(--font-main);
  font-size:var(--h1);
  color:var(--color-white);
  font-weight:500;}
.packages-embed .original-resource .p07-before {background:
    linear-gradient(135deg, var(--color-dark), var(--color-dark)),
    radial-gradient(circle at 15% 20%, transparent, transparent 42%);}
.packages-embed .original-resource .p07-after {width:50%;
  overflow:hidden;
  background:
    linear-gradient(135deg, var(--color-muted), var(--color-muted));
  color:var(--color-dark);}
.packages-embed .original-resource .p07-before-after input {position:absolute;
  left:50%;
  bottom:28px;
  transform:translateX(-50%);
  width:min(560px,82%);
  accent-color:var(--color-key);
  z-index:4;}
.packages-embed .original-resource .p07-depth-section {background:var(--color-dark);}
.packages-embed .original-resource .p07-depth-banner {min-height:420px;
  border:1px solid var(--color-line);
  border-radius:var(--radius-lg);
  position:relative;
  overflow:hidden;
  display:grid;
  place-items:center;
  text-align:center;
  padding:50px;
  background:linear-gradient(135deg, var(--color-dark), var(--color-dark));}
.packages-embed .original-resource .p07-depth-shape {position:absolute;
  width:460px;
  height:460px;
  border-radius:50%;
  background:radial-gradient(circle, transparent, transparent 64%);
  opacity:.7;}
.packages-embed .original-resource .p07-depth-banner h2 {position:relative;
  z-index:2;
  color:var(--color-white);
  max-width:820px;}
.packages-embed .original-resource .p07-depth-banner h2 em {color:var(--color-key);
  font-style:italic;
  font-weight:400;}
.packages-embed .original-resource .p07-depth-banner p {position:relative;
  z-index:2;
  color:var(--color-line);
  max-width:680px;
  margin:20px auto 0;}
.packages-embed .original-resource .p07-lightbox {position:fixed;
  inset:0;
  z-index:250;
  display:none;
  place-items:center;
  background:var(--color-dark);
  backdrop-filter:blur(8px);
  padding:24px;}
.packages-embed .original-resource .p07-lightbox.open {display:grid}
.packages-embed .original-resource .p07-lightbox button {position:absolute;
  top:22px;
  right:22px;
  width:44px;
  height:44px;
  border-radius:50%;
  background:var(--color-white);
  color:var(--color-dark);
  font-size:var(--h4);
  line-height:1;
  box-shadow:var(--shadow-md);}
.packages-embed .original-resource .p07-lightbox-content {width:min(860px,100%);
  min-height:520px;
  border-radius:var(--radius-lg);
  display:grid;
  place-items:center;
  text-align:center;
  padding:40px;
  color:var(--color-white);
  font-family:var(--font-main);
  font-size:var(--h1);
  background:
    linear-gradient(135deg, var(--color-dark), var(--color-dark)),
    radial-gradient(circle at 70% 30%, transparent, transparent 48%);
  box-shadow:var(--shadow-xl);}
@media (max-width:1100px) {
.packages-embed .original-resource .p07-gallery {grid-template-columns:1fr 1fr}
.packages-embed .original-resource .p07-benefit-grid, .packages-embed .original-resource .p07-pricing {grid-template-columns:1fr}
.packages-embed .original-resource .p07-pricing article.featured {transform:none}
}
@media (max-width:760px) {
.packages-embed .original-resource .p07-gallery, .packages-embed .original-resource .p07-testimonials, .packages-embed .original-resource .p07-tab-buttons {grid-template-columns:1fr}
.packages-embed .original-resource .p07-gallery-item.tall, .packages-embed .original-resource .p07-gallery-item.wide {grid-column:auto;grid-row:auto}
.packages-embed .original-resource .p07-tab-buttons button {border-right:none;border-bottom:1px solid var(--line)}
.packages-embed .original-resource .p07-tab-buttons button:last-child {border-bottom:none}
.packages-embed .original-resource .p07-before-after {height:340px}
}
/* ============================================================
   SECCIONES FALTANTES DESDE INDEX · adaptadas al estilo P07
   Carrusel / catálogo filtrable / timeline vertical
   ============================================================ */
.packages-embed .original-resource .p07-index-carousel {position:relative;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  background:var(--color-white);
  box-shadow:var(--shadow-md);}
.packages-embed .original-resource .p07-index-carousel-track {display:flex;
  transition:transform .5s cubic-bezier(.4,0,.2,1);}
.packages-embed .original-resource .p07-index-slide {min-width:100%;
  display:grid;
  grid-template-columns:1.1fr .9fr;
  min-height:420px;
  background:
    linear-gradient(135deg, var(--color-white), var(--color-light));}
.packages-embed .original-resource .p07-index-slide-copy {padding:52px;
  display:flex;
  flex-direction:column;
  justify-content:center;}
.packages-embed .original-resource .p07-index-slide-copy small {color:var(--color-key);
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:700;}
.packages-embed .original-resource .p07-index-slide-copy h3 {font-size:var(--h1);
  margin:16px 0 18px;
  max-width:760px;}
.packages-embed .original-resource .p07-index-slide-copy p {color:var(--color-muted);
  font-size:var(--body);
  max-width:640px;
  margin:0;}
.packages-embed .original-resource .p07-index-slide-visual {position:relative;
  min-height:420px;
  display:grid;
  place-items:center;
  padding:42px;
  overflow:hidden;
  color:var(--color-white);
  background:
    linear-gradient(135deg, var(--color-dark), var(--color-dark)),
    radial-gradient(circle at 70% 24%, transparent, transparent 46%);}
.packages-embed .original-resource .p07-index-slide-visual::before {content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 5%, transparent) 1px, transparent 1px),
    linear-gradient(90deg, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 5%, transparent) 1px, transparent 1px);
  background-size:46px 46px;
  opacity:.55;}
.packages-embed .original-resource .p07-index-slide-visual span {position:relative;
  z-index:2;
  font-family:var(--font-main);
  font-size:var(--h1);
  line-height:.95;
  text-align:center;
  color:var(--color-white);}
.packages-embed .original-resource .p07-index-carousel-controls {position:absolute;
  right:24px;
  bottom:24px;
  display:flex;
  gap:10px;
  z-index:8;}
.packages-embed .original-resource .p07-index-carousel-controls button {width:44px;
  height:44px;
  border-radius:50%;
  background:var(--color-key);
  color:var(--pb-theme-white,var(--color-white));
  font-weight:700;
  box-shadow:0 8px 24px -10px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 70%, transparent);}
.packages-embed .original-resource .p07-index-carousel-controls button:hover {background:var(--color-key);}
.packages-embed .original-resource .p07-index-carousel-dots {position:absolute;
  left:52px;
  bottom:32px;
  display:flex;
  gap:10px;
  z-index:8;}
.packages-embed .original-resource .p07-index-carousel-dots button {width:34px;
  height:4px;
  border-radius:20px;
  background:var(--navy-200);
  transition:all .25s ease;}
.packages-embed .original-resource .p07-index-carousel-dots button.active {width:54px;
  background:var(--color-key);}
.packages-embed .original-resource .p07-index-catalog-tools {display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
  margin-bottom:24px;}
.packages-embed .original-resource .p07-index-catalog-tools input {flex:1;
  min-width:min(100%,360px);
  padding:14px 16px;
  border:1px solid var(--line-strong);
  border-radius:7px;
  color:var(--color-dark);
  background:var(--color-white);
  box-shadow:var(--shadow-sm);}
.packages-embed .original-resource .p07-index-catalog-tools input:focus {outline:none;
  border-color:var(--color-key);
  box-shadow:0 0 0 3px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 16%, transparent);}
.packages-embed .original-resource .p07-index-catalog-filters {display:flex;
  gap:10px;
  flex-wrap:wrap;}
.packages-embed .original-resource .p07-index-catalog-filter {padding:12px 16px;
  border-radius:7px;
  border:1px solid var(--line-strong);
  background:var(--color-white);
  color:var(--color-dark);
  font-weight:700;
  transition:all .2s ease;}
.packages-embed .original-resource .p07-index-catalog-filter.active, .packages-embed .original-resource .p07-index-catalog-filter:hover {background:var(--color-dark);
  color:var(--color-white);
  border-color:var(--color-dark);}
.packages-embed .original-resource .p07-index-catalog-grid {display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;}
.packages-embed .original-resource .p07-index-catalog-card {background:var(--color-white);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:30px;
  min-height:240px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  box-shadow:var(--shadow-sm);
  transition:all .25s ease;}
.packages-embed .original-resource .p07-index-catalog-card:hover {transform:translateY(-4px);
  box-shadow:var(--shadow-lg);}
.packages-embed .original-resource .p07-index-catalog-card small {color:var(--color-key);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:700;}
.packages-embed .original-resource .p07-index-catalog-card h3 {font-family:var(--font-main);
  font-size:var(--card);
  letter-spacing:0;
  margin:12px 0 8px;}
.packages-embed .original-resource .p07-index-catalog-card p {color:var(--color-muted);
  margin:0;}
.packages-embed .original-resource .p07-index-catalog-card button {margin-top:22px;
  width:100%;
  padding:12px;
  border-radius:6px;
  background:var(--color-dark);
  color:var(--color-white);
  font-weight:700;}
.packages-embed .original-resource .p07-index-catalog-card button:hover {background:var(--color-key);}
.packages-embed .original-resource .p07-vertical-timeline {position:relative;
  display:grid;
  gap:0;
  max-width:980px;}
.packages-embed .original-resource .p07-vertical-timeline::before {content:"";
  position:absolute;
  left:35px;
  top:0;
  bottom:0;
  width:1px;
  background:linear-gradient(to bottom, var(--color-key), var(--line-strong));}
.packages-embed .original-resource .p07-vertical-step {position:relative;
  display:grid;
  grid-template-columns:86px 1fr;
  gap:26px;
  min-height:170px;
  padding-bottom:34px;}
.packages-embed .original-resource .p07-vertical-step:last-child {padding-bottom:0}
.packages-embed .original-resource .p07-vertical-num {width:70px;
  height:70px;
  border-radius:50%;
  border:2px solid var(--color-key);
  background:var(--color-white);
  color:var(--color-key);
  display:grid;
  place-items:center;
  font-family:var(--font-main);
  font-size:var(--h5);
  font-weight:700;
  z-index:2;
  box-shadow:0 0 0 10px var(--bg);}
.packages-embed .original-resource .p07-vertical-copy {background:var(--color-white);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:30px 32px;
  box-shadow:var(--shadow-sm);}
.packages-embed .original-resource .p07-vertical-copy h3 {font-family:var(--font-main);
  font-size:var(--card);
  letter-spacing:0;
  margin-bottom:8px;}
.packages-embed .original-resource .p07-vertical-copy p {color:var(--color-muted);
  margin:0;
  max-width:760px;}
@media (max-width:1100px) {
.packages-embed .original-resource .p07-index-slide {grid-template-columns:1fr;}
.packages-embed .original-resource .p07-index-catalog-grid {grid-template-columns:1fr 1fr;}
}
@media (max-width:760px) {
.packages-embed .original-resource .p07-index-slide-copy {padding:34px;}
.packages-embed .original-resource .p07-index-slide-visual {min-height:260px;}
.packages-embed .original-resource .p07-index-carousel-dots {left:34px;
    bottom:24px;}
.packages-embed .original-resource .p07-index-catalog-grid {grid-template-columns:1fr;}
.packages-embed .original-resource .p07-vertical-step {grid-template-columns:64px 1fr;
    gap:18px;}
.packages-embed .original-resource .p07-vertical-timeline::before {left:27px;}
.packages-embed .original-resource .p07-vertical-num {width:56px;
    height:56px;
    font-size:var(--card);}
.packages-embed .original-resource .p07-vertical-copy {padding:24px;}
}
/* ============================================================
   AJUSTE SOLICITADO · una sola sección de título debajo del banner
   Se retiraron las cabeceras de título/texto del resto de secciones.
   ============================================================ */
.packages-embed .original-resource #intro-unica-post-banner {min-height:52svh !important;
  text-align:center;}
.packages-embed .original-resource #intro-unica-post-banner .section-head {margin:0 auto !important;
  max-width:860px;}
.packages-embed .original-resource #intro-unica-post-banner .section-head h2 {margin-bottom:18px;}
.packages-embed .original-resource #intro-unica-post-banner .section-head p {margin-left:auto;
  margin-right:auto;}
/* ============================================================
   AJUSTE · prompts por sección + estadísticas en azul documento
   ============================================================ */
.packages-embed .original-resource .chatgpt-prompt-copy {border-top:1px solid var(--color-key);
  padding:20px 22px 22px;
  color:var(--color-muted);
  font-size:var(--small);
  line-height:1.65;
  white-space:pre-line;}
.packages-embed .original-resource .chatgpt-prompt-copy strong {color:var(--color-dark);
  font-weight:700;}
.packages-embed .original-resource .chatgpt-prompt-container {width:100%;
  position:relative;
  z-index:2;}
.packages-embed .original-resource .dark .chatgpt-section-prompt, .packages-embed .original-resource .cta-strip .chatgpt-section-prompt, .packages-embed .original-resource .p07-depth-section .chatgpt-section-prompt, .packages-embed .original-resource .parallax-dark .chatgpt-section-prompt {background:var(--color-white);
  border-color:var(--color-line);}
.packages-embed .original-resource .stats-bar.stats-blue-text {background:linear-gradient(135deg, var(--color-white) 0%, var(--color-light) 100%);
  color:var(--color-dark);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);}
.packages-embed .original-resource .stats-bar.stats-blue-text::before {background-image:
    radial-gradient(circle at 18% 30%, transparent, transparent 38%),
    radial-gradient(circle at 82% 70%, transparent, transparent 48%);}
.packages-embed .original-resource .stats-bar.stats-blue-text .stats-grid {border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);}
.packages-embed .original-resource .stats-bar.stats-blue-text .stat-item {border-right:1px solid var(--line);}
.packages-embed .original-resource .stats-bar.stats-blue-text .stat-item:last-child {border-right:none}
.packages-embed .original-resource .stats-bar.stats-blue-text .stat-num {background:none;
  -webkit-background-clip:initial;
  background-clip:initial;
  -webkit-text-fill-color:var(--color-dark);
  color:var(--color-dark);}
.packages-embed .original-resource .stats-bar.stats-blue-text .stat-label {color:var(--navy-700);}
@media (max-width:760px) {
.packages-embed .original-resource .stats-bar.stats-blue-text .stat-item {border-right:none;
    border-bottom:1px solid var(--line);}
}
/* ===============================
   CORRECCIÓN: CADA SECCIÓN COMO FICHA DEL MAESTRO
================================ */
.packages-embed .template-demo {overflow:hidden;
  background:var(--color-white);}
.packages-embed .resource-demo {width:100%;
  background:var(--color-light);
  color:var(--color-dark);
  overflow:hidden;}
.packages-embed .resource-demo > .topbar {display:block !important;
  position:relative !important;
  top:auto !important;
  z-index:1 !important;}
.packages-embed .resource-demo > header.site {display:block !important;
  position:relative !important;
  top:auto !important;
  z-index:2 !important;}
.packages-embed .resource-demo > .menu-overlay {display:none !important;}
.packages-embed .resource-demo .view {display:block !important;
  animation:none !important;}
.packages-embed .resource-demo #view-detalle:empty {display:none !important;}
.packages-embed .resource-demo .modal-bg.demo-modal-visible {position:relative !important;
  inset:auto !important;
  display:flex !important;
  min-height:620px !important;
  background:color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 65%, transparent) !important;
  z-index:1 !important;}
.packages-embed .resource-demo .modal-bg.demo-modal-visible .modal {margin:auto !important;}
.packages-embed .resource-demo .modal-bg.demo-modal-visible .modal-close {position:absolute !important;}
.packages-embed .template-demo .hero, .packages-embed .template-demo .hero-content {min-height:720px !important;
  height:720px !important;}
.packages-embed .template-demo .marquee-section, .packages-embed .template-demo section.block, .packages-embed .template-demo .stats-bar, .packages-embed .template-demo .cta-strip, .packages-embed .template-demo .cat-hero, .packages-embed .template-demo .detail-hero {min-height:auto !important;}
.packages-embed .template-demo section.block, .packages-embed .template-demo .stats-bar, .packages-embed .template-demo .cta-strip, .packages-embed .template-demo .cat-hero, .packages-embed .template-demo .detail-hero {padding-top:72px !important;
  padding-bottom:72px !important;}
.packages-embed .template-demo section.block.tight {padding-top:56px !important;
  padding-bottom:56px !important;}
.packages-embed .template-demo .marquee-section {padding-top:56px !important;
  padding-bottom:56px !important;}
.packages-embed .template-demo .p07-lightbox {display:none;}
@media (max-width: 900px) {
.packages-embed .template-demo .hero, .packages-embed .template-demo .hero-content {min-height:620px !important;
    height:auto !important;}
}
/* Limpieza formato master: los demos ya no muestran prompts internos del archivo fuente */
.packages-embed .template-demo .chatgpt-section-prompt, .packages-embed .template-demo .chatgpt-prompt-container {display: none !important;}
.packages-embed .template-demo img {object-fit: cover;}
/* Imagen de referencia aplicada a todos los espacios visuales */
.packages-embed .product-img, .packages-embed .news-img, .packages-embed .detail-img-wrap, .packages-embed .p07-gallery-item, .packages-embed .p07-before, .packages-embed .p07-after, .packages-embed .template-demo .media, .packages-embed .template-demo .visual, .packages-embed .template-demo .image, .packages-embed .template-demo .photo {overflow: hidden;}
.packages-embed img[data-reference-image="true"], .packages-embed .product-img img, .packages-embed .news-img img, .packages-embed .detail-img-wrap img {width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;}
.packages-embed .p07-gallery-item, .packages-embed .p07-before, .packages-embed .p07-after {background-image:
    linear-gradient(180deg, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 18%, transparent), color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 42%, transparent)),
    url("../images/demo-landscape.webp") !important;
  background-size: cover !important;
  background-position: center center !important;}
/* ============================================================
   OVERRIDE FINAL · Estilo Formato master
   Aplica Inter y la paleta master a todos los demos importados.
   ============================================================ */
.packages-embed .original-resource, .packages-embed .original-resource * {font-family: var(--font-main) !important;}
.packages-embed .original-resource {--navy-950: var(--color-dark) !important;
  --navy-900: var(--color-dark) !important;
  --navy-800: var(--color-dark) !important;
  --navy-700: var(--color-key) !important;
  --navy-600: var(--color-key) !important;
  --navy-500: var(--color-key) !important;
  --navy-400: var(--color-key) !important;
  --navy-300: var(--color-dark) !important;
  --navy-200: var(--color-dark) !important;
  --navy-100: var(--color-light) !important;
  --navy-50: var(--color-light) !important;
  --copper: var(--color-key) !important;
  --copper-light: var(--color-key) !important;
  --copper-dark: var(--color-key) !important;
  --copper-50: var(--color-key) !important;
  --bg: var(--color-light) !important;
  --paper: var(--color-white) !important;
  --ink: var(--color-dark) !important;
  --ink-soft: var(--color-muted) !important;
  --ink-mute: var(--color-muted) !important;
  --line: var(--color-line) !important;
  --line-strong: var(--color-line) !important;
  --serif: var(--font-main);
  --sans: var(--font-main);}
.packages-embed .original-resource h1, .packages-embed .original-resource h2, .packages-embed .original-resource h3, .packages-embed .original-resource h4, .packages-embed .original-resource h5, .packages-embed .original-resource .section-head h2, .packages-embed .original-resource .p07-gallery-item span, .packages-embed .original-resource .stat-num, .packages-embed .original-resource .brand-card-big .name, .packages-embed .original-resource .masthead, .packages-embed .original-resource .detail-info h1 {font-family: var(--font-main) !important;}
.packages-embed .original-resource .btn-primary, .packages-embed .original-resource .cta-quote, .packages-embed .original-resource .contact-form button, .packages-embed .original-resource .product-actions .btn-quote-sm, .packages-embed .original-resource .p07-tab-buttons button.active, .packages-embed .original-resource .active, .packages-embed .original-resource .filter-list button.active {background: var(--color-key) !important;
  color:var(--pb-theme-white,var(--color-white)) !important;}
.packages-embed .original-resource .section-eyebrow, .packages-embed .original-resource .hero-eyebrow, .packages-embed .original-resource .product-cat, .packages-embed .original-resource .news-meta .tag, .packages-embed .original-resource .brand-card-big .tagline, .packages-embed .original-resource .brand-card-big .link, .packages-embed .original-resource .menu-number, .packages-embed .original-resource a:hover {color: var(--color-key) !important;}
.packages-embed .original-resource .section-eyebrow::before, .packages-embed .original-resource .hero-eyebrow::before, .packages-embed .original-resource .hero-dot.active::after, .packages-embed .original-resource .nav-link.active::after, .packages-embed .original-resource .process-num, .packages-embed .original-resource .spec-card:hover .spec-icon, .packages-embed .original-resource .service-cell:hover .icn {background: var(--color-key) !important;
  border-color: var(--color-key) !important;}
.packages-embed .original-resource h1, .packages-embed .original-resource h2, .packages-embed .original-resource h3, .packages-embed .original-resource h4, .packages-embed .original-resource h5, .packages-embed .original-resource .product-info h3, .packages-embed .original-resource .news-card h3, .packages-embed .original-resource .service-cell h3 {color: var(--color-dark) !important;}
.packages-embed .original-resource .dark h1, .packages-embed .original-resource .dark h2, .packages-embed .original-resource .dark h3, .packages-embed .original-resource .dark h4, .packages-embed .original-resource .hero-text h1, .packages-embed .original-resource .cta-strip h2, .packages-embed .original-resource footer.site h5, .packages-embed .original-resource .contact-info-card h3 {color: var(--color-white) !important;}
/* RESTAURADO SECCIONES 14 Y 21 · MASTER SAFE */
.packages-embed #DEMO-RECURSOS-2-14 .demo-block, .packages-embed #DEMO-RECURSOS-2-21 .demo-block {background:var(--color-light);
  color:var(--color-dark);
  padding:clamp(48px,7vw,86px) 42px;}
.packages-embed #DEMO-RECURSOS-2-14 .demo-container, .packages-embed #DEMO-RECURSOS-2-21 .demo-container {width:min(100%,1180px);
  margin:0 auto;}
.packages-embed #DEMO-RECURSOS-2-14 .catalog-tools {display:grid;
  gap:16px;
  margin-bottom:24px;}
.packages-embed #DEMO-RECURSOS-2-14 .catalog-tools input {width:100%;
  border:1px solid var(--color-line);
  padding:14px 16px;
  font:inherit;
  color:var(--color-dark);
  background:var(--color-white);
  outline:none;}
.packages-embed #DEMO-RECURSOS-2-14 .filter-row {display:flex;
  flex-wrap:wrap;
  gap:10px;}
.packages-embed #DEMO-RECURSOS-2-14 .filter {border:1px solid var(--color-line);
  background:var(--color-white);
  color:var(--color-dark);
  padding:10px 14px;
  font:inherit;
  cursor:pointer;}
.packages-embed #DEMO-RECURSOS-2-14 .filter.active, .packages-embed #DEMO-RECURSOS-2-14 .filter:hover {background:var(--color-key);
  border-color:var(--color-key);
  color:var(--pb-theme-white,var(--color-white));}
.packages-embed #DEMO-RECURSOS-2-14 .catalog-grid {display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;}
.packages-embed #DEMO-RECURSOS-2-14 .catalog-card, .packages-embed #DEMO-RECURSOS-2-21 .price-card {background:var(--color-white);
  border:1px solid var(--color-line);
  box-shadow:0 18px 50px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 8%, transparent);}
.packages-embed #DEMO-RECURSOS-2-14 .catalog-card {padding:26px;
  min-height:260px;
  display:flex;
  flex-direction:column;}
.packages-embed #DEMO-RECURSOS-2-14 .catalog-card small, .packages-embed #DEMO-RECURSOS-2-21 .price-card small {display:block;
  color:var(--color-key);
  font-size:var(--small);
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:10px;}
.packages-embed #DEMO-RECURSOS-2-14 .catalog-card h4, .packages-embed #DEMO-RECURSOS-2-21 .price-card h4 {margin:0 0 12px;
  color:var(--color-dark);
  font-family:var(--font-main);
  font-size:var(--h5);
  line-height:1.2;}
.packages-embed #DEMO-RECURSOS-2-14 .catalog-card p, .packages-embed #DEMO-RECURSOS-2-21 .price-card p, .packages-embed #DEMO-RECURSOS-2-21 .price-card li {color:var(--color-muted);
  font-size:var(--small);
  line-height:1.6;}
.packages-embed #DEMO-RECURSOS-2-14 .catalog-card button, .packages-embed #DEMO-RECURSOS-2-21 .price-card button {margin-top:auto;
  border:1px solid var(--color-key);
  background:var(--color-key);
  color:var(--pb-theme-white,var(--color-white));
  padding:12px 14px;
  font:inherit;
  font-weight:700;
  cursor:pointer;}
.packages-embed #DEMO-RECURSOS-2-14 .catalog-card button:hover, .packages-embed #DEMO-RECURSOS-2-21 .price-card button:hover {filter:brightness(1.08);}
.packages-embed #DEMO-RECURSOS-2-21 .pricing-grid {display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  align-items:stretch;}
.packages-embed #DEMO-RECURSOS-2-21 .price-card {padding:32px;
  min-height:420px;
  display:flex;
  flex-direction:column;}
.packages-embed #DEMO-RECURSOS-2-21 .price-card.featured {background:var(--color-dark);
  color:var(--color-white);
  transform:translateY(-10px);}
.packages-embed #DEMO-RECURSOS-2-21 .price-card.featured h4, .packages-embed #DEMO-RECURSOS-2-21 .price-card.featured strong {color:var(--color-white);}
.packages-embed #DEMO-RECURSOS-2-21 .price-card.featured p, .packages-embed #DEMO-RECURSOS-2-21 .price-card.featured li {color:var(--color-line);}
.packages-embed #DEMO-RECURSOS-2-21 .price-card strong {display:block;
  color:var(--color-dark);
  font-size:var(--h3);
  line-height:1;
  font-weight:900;
  margin:12px 0 18px;
  letter-spacing:-.05em;}
.packages-embed #DEMO-RECURSOS-2-21 .price-card ul {margin:18px 0 24px;
  padding-left:20px;}
@media (max-width:1100px) {
.packages-embed #DEMO-RECURSOS-2-14 .catalog-grid, .packages-embed #DEMO-RECURSOS-2-21 .pricing-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:760px) {
.packages-embed #DEMO-RECURSOS-2-14 .demo-block, .packages-embed #DEMO-RECURSOS-2-21 .demo-block {padding:42px 20px;}
.packages-embed #DEMO-RECURSOS-2-14 .catalog-grid, .packages-embed #DEMO-RECURSOS-2-21 .pricing-grid {grid-template-columns:1fr;}
.packages-embed #DEMO-RECURSOS-2-21 .price-card.featured {transform:none;}
}
/* AJUSTE: buscador y filtros del catálogo en una sola fila */
.packages-embed #DEMO-RECURSOS-2-14 .catalog-tools {display:flex !important;
  align-items:center !important;
  gap:10px !important;
  flex-wrap:nowrap !important;
  margin-bottom:24px !important;}
.packages-embed #DEMO-RECURSOS-2-14 .catalog-tools input {flex:1 1 auto !important;
  width:auto !important;
  min-width:0 !important;}
.packages-embed #DEMO-RECURSOS-2-14 .filter-row {display:flex !important;
  align-items:center !important;
  flex:0 0 auto !important;
  flex-wrap:nowrap !important;
  gap:10px !important;}
.packages-embed #DEMO-RECURSOS-2-14 .filter {white-space:nowrap !important;}
@media (max-width:760px) {
.packages-embed #DEMO-RECURSOS-2-14 .catalog-tools {flex-wrap:wrap !important;}
.packages-embed #DEMO-RECURSOS-2-14 .catalog-tools input {flex:1 0 100% !important;}
.packages-embed #DEMO-RECURSOS-2-14 .filter-row {flex-wrap:wrap !important;}
}
/* ============================================================
   AJUSTE 29 · Vista de contacto: datos con color sólido
   ============================================================ */
.packages-embed .original-resource .contact-info-card {background: var(--color-dark) !important;
  background-image: none !important;}
.packages-embed .original-resource .contact-info-card::before, .packages-embed .original-resource .contact-info-card::after {display: none !important;
  content: none !important;
  background: none !important;}
/* ============================================================
   AJUSTE PAQUETES · variantes 2 / 3 / 4 paquetes a 1440px
   ============================================================ */
.packages-embed #DEMO-RECURSOS-2-21A .demo-block, .packages-embed #DEMO-RECURSOS-2-21 .demo-block, .packages-embed #DEMO-RECURSOS-2-21C .demo-block {background:var(--color-light) !important;
  color:var(--color-dark) !important;
  padding:clamp(48px,7vw,86px) 42px !important;}
.packages-embed #DEMO-RECURSOS-2-21A .demo-container, .packages-embed #DEMO-RECURSOS-2-21 .demo-container, .packages-embed #DEMO-RECURSOS-2-21C .demo-container {width:min(100%,1440px) !important;
  max-width:1440px !important;
  margin:0 auto !important;}
.packages-embed #DEMO-RECURSOS-2-21A .pricing-grid, .packages-embed #DEMO-RECURSOS-2-21 .pricing-grid, .packages-embed #DEMO-RECURSOS-2-21C .pricing-grid {display:grid !important;
  gap:24px !important;
  align-items:stretch !important;}
.packages-embed #DEMO-RECURSOS-2-21A .pricing-grid {grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
.packages-embed #DEMO-RECURSOS-2-21 .pricing-grid {grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
.packages-embed #DEMO-RECURSOS-2-21C .pricing-grid {grid-template-columns:repeat(4,minmax(0,1fr)) !important;}
.packages-embed #DEMO-RECURSOS-2-21A .price-card, .packages-embed #DEMO-RECURSOS-2-21 .price-card, .packages-embed #DEMO-RECURSOS-2-21C .price-card {background:var(--color-white) !important;
  border:1px solid var(--color-line) !important;
  box-shadow:0 18px 50px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 8%, transparent) !important;
  padding:32px !important;
  min-height:420px !important;
  display:flex !important;
  flex-direction:column !important;}
.packages-embed #DEMO-RECURSOS-2-21A .price-card small, .packages-embed #DEMO-RECURSOS-2-21 .price-card small, .packages-embed #DEMO-RECURSOS-2-21C .price-card small {display:block !important;
  color:var(--color-key) !important;
  font-size:var(--small) !important;
  font-weight:700 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
  margin-bottom:10px !important;}
.packages-embed #DEMO-RECURSOS-2-21A .price-card h4, .packages-embed #DEMO-RECURSOS-2-21 .price-card h4, .packages-embed #DEMO-RECURSOS-2-21C .price-card h4 {margin:0 0 12px !important;
  color:var(--color-dark) !important;
  font-family:var(--font-main) !important;
  font-size:var(--h5) !important;
  line-height:1.2 !important;}
.packages-embed #DEMO-RECURSOS-2-21A .price-card strong, .packages-embed #DEMO-RECURSOS-2-21 .price-card strong, .packages-embed #DEMO-RECURSOS-2-21C .price-card strong {display:block !important;
  color:var(--color-dark) !important;
  font-size:var(--h3) !important;
  line-height:1 !important;
  font-weight:900 !important;
  margin:12px 0 18px !important;
  letter-spacing:-.05em !important;}
.packages-embed #DEMO-RECURSOS-2-21A .price-card p, .packages-embed #DEMO-RECURSOS-2-21 .price-card p, .packages-embed #DEMO-RECURSOS-2-21C .price-card p, .packages-embed #DEMO-RECURSOS-2-21A .price-card li, .packages-embed #DEMO-RECURSOS-2-21 .price-card li, .packages-embed #DEMO-RECURSOS-2-21C .price-card li {color:var(--color-muted) !important;
  font-size:var(--small) !important;
  line-height:1.6 !important;}
.packages-embed #DEMO-RECURSOS-2-21A .price-card ul, .packages-embed #DEMO-RECURSOS-2-21 .price-card ul, .packages-embed #DEMO-RECURSOS-2-21C .price-card ul {margin:18px 0 24px !important;
  padding-left:20px !important;}
.packages-embed #DEMO-RECURSOS-2-21A .price-card button, .packages-embed #DEMO-RECURSOS-2-21 .price-card button, .packages-embed #DEMO-RECURSOS-2-21C .price-card button {margin-top:auto !important;
  border:1px solid var(--color-key) !important;
  background:var(--color-key) !important;
  color:var(--pb-theme-white,var(--color-white)) !important;
  padding:12px 14px !important;
  font:inherit !important;
  font-weight:700 !important;
  cursor:pointer !important;}
.packages-embed #DEMO-RECURSOS-2-21A .price-card.featured, .packages-embed #DEMO-RECURSOS-2-21 .price-card.featured, .packages-embed #DEMO-RECURSOS-2-21C .price-card.featured {background:var(--color-dark) !important;
  color:var(--color-white) !important;
  transform:translateY(-10px) !important;}
.packages-embed #DEMO-RECURSOS-2-21A .price-card.featured h4, .packages-embed #DEMO-RECURSOS-2-21 .price-card.featured h4, .packages-embed #DEMO-RECURSOS-2-21C .price-card.featured h4, .packages-embed #DEMO-RECURSOS-2-21A .price-card.featured strong, .packages-embed #DEMO-RECURSOS-2-21 .price-card.featured strong, .packages-embed #DEMO-RECURSOS-2-21C .price-card.featured strong {color:var(--color-white) !important;}
.packages-embed #DEMO-RECURSOS-2-21A .price-card.featured p, .packages-embed #DEMO-RECURSOS-2-21 .price-card.featured p, .packages-embed #DEMO-RECURSOS-2-21C .price-card.featured p, .packages-embed #DEMO-RECURSOS-2-21A .price-card.featured li, .packages-embed #DEMO-RECURSOS-2-21 .price-card.featured li, .packages-embed #DEMO-RECURSOS-2-21C .price-card.featured li {color:var(--color-line) !important;}
@media (max-width:1180px) {
.packages-embed #DEMO-RECURSOS-2-21C .pricing-grid {grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media (max-width:900px) {
.packages-embed #DEMO-RECURSOS-2-21A .pricing-grid, .packages-embed #DEMO-RECURSOS-2-21 .pricing-grid, .packages-embed #DEMO-RECURSOS-2-21C .pricing-grid {grid-template-columns:1fr !important;}
.packages-embed #DEMO-RECURSOS-2-21A .price-card.featured, .packages-embed #DEMO-RECURSOS-2-21 .price-card.featured, .packages-embed #DEMO-RECURSOS-2-21C .price-card.featured {transform:none !important;}
}
/* ============================================================
   AJUSTE PAQUETES · rollover en cards y botones
   ============================================================ */
.packages-embed #DEMO-RECURSOS-2-21A .price-card, .packages-embed #DEMO-RECURSOS-2-21 .price-card, .packages-embed #DEMO-RECURSOS-2-21C .price-card {position:relative !important;
  overflow:hidden !important;
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease, background-color .28s ease !important;}
.packages-embed #DEMO-RECURSOS-2-21A .price-card::before, .packages-embed #DEMO-RECURSOS-2-21 .price-card::before, .packages-embed #DEMO-RECURSOS-2-21C .price-card::before {content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(135deg, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 8%, transparent), transparent 58%) !important;
  opacity:0 !important;
  pointer-events:none !important;
  transition:opacity .28s ease !important;}
.packages-embed #DEMO-RECURSOS-2-21A .price-card > *, .packages-embed #DEMO-RECURSOS-2-21 .price-card > *, .packages-embed #DEMO-RECURSOS-2-21C .price-card > * {position:relative !important;
  z-index:1 !important;}
.packages-embed #DEMO-RECURSOS-2-21A .price-card:hover, .packages-embed #DEMO-RECURSOS-2-21 .price-card:hover, .packages-embed #DEMO-RECURSOS-2-21C .price-card:hover {transform:translateY(-8px) !important;
  border-color:var(--color-key) !important;
  box-shadow:0 30px 70px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 16%, transparent) !important;}
.packages-embed #DEMO-RECURSOS-2-21A .price-card:hover::before, .packages-embed #DEMO-RECURSOS-2-21 .price-card:hover::before, .packages-embed #DEMO-RECURSOS-2-21C .price-card:hover::before {opacity:1 !important;}
.packages-embed #DEMO-RECURSOS-2-21A .price-card.featured:hover, .packages-embed #DEMO-RECURSOS-2-21 .price-card.featured:hover, .packages-embed #DEMO-RECURSOS-2-21C .price-card.featured:hover {transform:translateY(-16px) !important;
  border-color:var(--color-key) !important;
  box-shadow:0 34px 80px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 28%, transparent) !important;}
.packages-embed #DEMO-RECURSOS-2-21A .price-card button, .packages-embed #DEMO-RECURSOS-2-21 .price-card button, .packages-embed #DEMO-RECURSOS-2-21C .price-card button {transition:transform .22s ease, box-shadow .22s ease, background-color .22s ease, border-color .22s ease !important;}
.packages-embed #DEMO-RECURSOS-2-21A .price-card button:hover, .packages-embed #DEMO-RECURSOS-2-21 .price-card button:hover, .packages-embed #DEMO-RECURSOS-2-21C .price-card button:hover {transform:translateY(-2px) !important;
  background:var(--color-dark) !important;
  border-color:var(--color-dark) !important;
  box-shadow:0 14px 30px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 22%, transparent) !important;
  filter:none !important;}
.packages-embed #DEMO-RECURSOS-2-21A .price-card.featured button:hover, .packages-embed #DEMO-RECURSOS-2-21 .price-card.featured button:hover, .packages-embed #DEMO-RECURSOS-2-21C .price-card.featured button:hover {background:var(--color-white) !important;
  border-color:var(--color-white) !important;
  color:var(--color-dark) !important;}
@media (max-width:900px) {
.packages-embed #DEMO-RECURSOS-2-21A .price-card.featured:hover, .packages-embed #DEMO-RECURSOS-2-21 .price-card.featured:hover, .packages-embed #DEMO-RECURSOS-2-21C .price-card.featured:hover {transform:translateY(-8px) !important;}
}

/* CARRUSELES · integración después de Galerías */
.carousel-embed {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  background: var(--color-dark);
  color: var(--color-white);
  isolation: isolate;
  overflow: hidden;
}

.carousel-embed a {
  color: inherit;
  text-decoration: none;
}

.carousel-embed button,
.carousel-embed input,
.carousel-embed textarea,
.carousel-embed select {
  font: inherit;
}

/* Conserva el formato maestro en las explicaciones */
.carousel-embed .template-title,
.carousel-embed .template-item {
  background: var(--color-dark);
}

.carousel-embed .template-title h2,
.carousel-embed .template-item .row-info h3,
.carousel-embed .template-item .request-copy strong {
  color: var(--color-white) !important;
}

.carousel-embed .template-item .request-copy {
  color: var(--color-line) !important;
}

/* Conserva la ejecución visual original */
.carousel-embed .template-demo {
  width: 100%;
}
.carousel-embed {--color-dark: inherit;
  --color-key: inherit;
  --color-light: inherit;
  --color-white: inherit;
  --color-muted: inherit;
  --color-line: inherit;
  --font-main: "Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-secondary: "Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --text-label: var(--micro);
  --text-small: var(--small);
  --text-body: var(--body);
  --text-h3: var(--h3);
  --text-h2: var(--h2);
  --photo-reference: url("../images/demo-landscape.webp");}
.carousel-embed * {box-sizing: border-box;}
.carousel-embed {scroll-behavior: smooth;}
.carousel-embed {margin: 0;
  background: var(--color-dark);
  color: var(--color-white);
  font-family: var(--font-main);
  font-size: var(--body);
  line-height: 1.7;}
.carousel-embed .template-title {width: 100%;
  padding: 56px 0 18px;
  background: var(--color-dark);
  border-bottom: 1px solid var(--color-line);}
.carousel-embed .template-title h2 {margin: 0;
  color: var(--color-white);
  font-family: var(--font-main);
  font-size: var(--h2);
  line-height: 1;
  letter-spacing: -.055em;}
.carousel-embed .template-item {width: 100%;
  padding-top: 20px;
  background: var(--color-dark);
  border-bottom: 1px solid var(--color-line);}
.carousel-embed .menu-row {width: 100%;
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 42px;
  padding-right: 42px;}
.carousel-embed .row-number {padding-bottom: 8px;}
.carousel-embed .menu-number {display: block;
  color: var(--color-key);
  font-size: var(--micro);
  font-weight: 400;
  letter-spacing: .16em;
  line-height: 1.45;
  text-transform: uppercase;}
.carousel-embed .row-info {display: grid;
  grid-template-columns: minmax(280px, 35%) minmax(420px, 1fr);
  column-gap: 42px;
  align-items: start;
  padding-bottom: 20px;}
.carousel-embed .row-info h3 {max-width: 620px;
  margin: 0;
  color: var(--color-white);
  font-family: var(--font-main);
  font-size: var(--h3);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -.025em;}
.carousel-embed .request-copy {max-width: 980px;
  margin: 0;
  color: var(--color-line);
  font-size: var(--small);
  line-height: 1.65;}
.carousel-embed .request-copy strong {color: var(--color-white);
  font-weight: 700;}
.carousel-embed .template-demo {width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: var(--color-white);
  color: var(--color-dark);
  border-top: 1px solid var(--color-line);}
.carousel-embed .carousel-controls {display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;}
.carousel-embed .carousel-controls button {width: 42px;
  height: 42px;
  padding: 0;
  display: inline-grid;
  place-items: center;
  border: 1px solid var(--color-line);
  background: var(--color-white);
  color: var(--color-dark);
  font-family: inherit;
  font-size: var(--card);
  line-height: 1;
  text-align: center;
  cursor: pointer;
  appearance: none;
  transition: transform .2s ease, background .2s ease, color .2s ease;}
.carousel-embed .carousel-controls button:hover {transform: translateY(-2px);
  background: var(--color-dark);
  color: var(--color-white);}
/* ===============================
   01 · CARRUSEL DE CARDS POR SERVICIO
================================ */
.carousel-embed #CAROUSEL-01 .carousel-section {padding: 74px 42px;
  background: var(--color-light);}
.carousel-embed #CAROUSEL-01 .carousel-head {max-width: 1440px;
  margin: 0 auto 28px;
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: flex-end;}
.carousel-embed #CAROUSEL-01 .carousel-head h2 {max-width: 680px;
  margin: 0;
  font-size: var(--h1);
  line-height: .95;
  letter-spacing: -.06em;}
.carousel-embed #CAROUSEL-01 .carousel-head p {max-width: 380px;
  margin: 0;
  color: var(--color-muted);}
.carousel-embed #CAROUSEL-01 .carousel-track {max-width: 1440px;
  margin: 0 auto;
  display: flex;
  gap: 18px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding-bottom: 8px;
  scrollbar-width: none;}
.carousel-embed #CAROUSEL-01 .carousel-track::-webkit-scrollbar {display: none;}
.carousel-embed #CAROUSEL-01 .service-card {flex: 0 0 340px;
  min-height: 430px;
  background: var(--color-white);
  border: 1px solid var(--color-line);
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
  transition: transform .25s ease, box-shadow .25s ease;
  overflow: hidden;}
.carousel-embed #CAROUSEL-01 .service-card:hover {transform: translateY(-6px);
  box-shadow: 0 24px 60px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 12%, transparent);}
.carousel-embed #CAROUSEL-01 .service-photo {height: 170px;
  background-image: linear-gradient(180deg, transparent, transparent), var(--photo-reference);
  background-size: cover;
  background-position: center;}
.carousel-embed #CAROUSEL-01 .service-card:nth-child(2) .service-photo {background-position: 60% 50%;}
.carousel-embed #CAROUSEL-01 .service-card:nth-child(3) .service-photo {background-position: 42% 50%;}
.carousel-embed #CAROUSEL-01 .service-card:nth-child(4) .service-photo {background-position: 52% 70%;}
.carousel-embed #CAROUSEL-01 .service-card:nth-child(5) .service-photo {background-position: 70% 42%;}
.carousel-embed #CAROUSEL-01 .service-card:nth-child(6) .service-photo {background-position: 36% 62%;}
.carousel-embed #CAROUSEL-01 .service-card:nth-child(7) .service-photo {background-position: 50% 35%;}
.carousel-embed #CAROUSEL-01 .service-copy {padding: 26px;
  display: flex;
  flex-direction: column;
  flex: 1;}
.carousel-embed #CAROUSEL-01 .service-card span {color: var(--color-key);
  font-size: var(--small);
  letter-spacing: .14em;
  text-transform: uppercase;}
.carousel-embed #CAROUSEL-01 .service-card h3 {margin: 18px 0 12px;
  font-size: var(--h5);
  line-height: 1.08;
  letter-spacing: -.04em;}
.carousel-embed #CAROUSEL-01 .service-card p {margin: 0;
  color: var(--color-muted);
  font-size: var(--small);}
/* ===============================
   02 · CARRUSEL SPLIT IMAGEN + TEXTO
================================ */
.carousel-embed #CAROUSEL-02 .split-carousel {padding: 74px 42px;
  background: var(--color-white);}
.carousel-embed #CAROUSEL-02 .split-shell {max-width: 1440px;
  margin: 0 auto;}
.carousel-embed #CAROUSEL-02 .split-top {display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 24px;
  margin-bottom: 24px;}
.carousel-embed #CAROUSEL-02 .split-top h2 {margin: 0;
  font-size: var(--h1);
  line-height: 1;
  letter-spacing: -.055em;}
.carousel-embed #CAROUSEL-02 .split-track {display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;}
.carousel-embed #CAROUSEL-02 .split-track::-webkit-scrollbar {display: none;}
.carousel-embed #CAROUSEL-02 .split-slide {flex: 0 0 100%;
  min-height: 520px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  scroll-snap-align: start;
  overflow: hidden;
  background: var(--color-white);}
.carousel-embed #CAROUSEL-02 .split-copy {min-width: 0;
  padding: clamp(42px, 5vw, 76px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: var(--color-white);}
.carousel-embed #CAROUSEL-02 .split-copy span {color: var(--color-key);
  font-size: var(--small);
  text-transform: uppercase;
  letter-spacing: .16em;}
.carousel-embed #CAROUSEL-02 .split-copy h3 {margin: 20px 0 16px;
  font-size: var(--h1);
  line-height: .98;
  letter-spacing: -.06em;}
.carousel-embed #CAROUSEL-02 .split-copy p {max-width: 560px;
  margin: 0;
  color: var(--color-muted);}
.carousel-embed #CAROUSEL-02 .split-image {min-width: 0;
  min-height: 520px;
  background-image: linear-gradient(180deg, transparent, transparent), var(--photo-reference);
  background-size: cover;
  background-position: center;}
.carousel-embed #CAROUSEL-02 .split-slide:nth-child(2) .split-image {background-position: 60% 48%;}
.carousel-embed #CAROUSEL-02 .split-slide:nth-child(3) .split-image {background-position: 40% 55%;}
.carousel-embed #CAROUSEL-02 .split-slide:nth-child(4) .split-image {background-position: 55% 65%;}
.carousel-embed #CAROUSEL-02 .split-slide:nth-child(5) .split-image {background-position: 45% 35%;}
.carousel-embed #CAROUSEL-02 .split-slide:nth-child(6) .split-image {background-position: 70% 50%;}
.carousel-embed #CAROUSEL-02 .split-slide:nth-child(7) .split-image {background-position: 36% 52%;}
/* ===============================
   03 · CARRUSEL DE TESTIMONIOS
================================ */
.carousel-embed #CAROUSEL-03 .testimonial-carousel {padding: 74px 42px;
  background: var(--color-light);}
.carousel-embed #CAROUSEL-03 .testimonial-shell {max-width: 1440px;
  margin: 0 auto;}
.carousel-embed #CAROUSEL-03 .testimonial-top {display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 24px;
  margin-bottom: 26px;}
.carousel-embed #CAROUSEL-03 .testimonial-top h2 {margin: 0;
  font-size: var(--h1);
  line-height: .98;
  letter-spacing: -.06em;}
.carousel-embed #CAROUSEL-03 .testimonial-track {display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;}
.carousel-embed #CAROUSEL-03 .testimonial-track::-webkit-scrollbar {display: none;}
.carousel-embed #CAROUSEL-03 .testimonial-slide {flex: 0 0 100%;
  min-height: 500px;
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  background: var(--color-white);
  scroll-snap-align: start;}
.carousel-embed #CAROUSEL-03 .testimonial-photo {min-height: 500px;
  background-image: linear-gradient(180deg, transparent, transparent), var(--photo-reference);
  background-size: cover;
  background-position: center;}
.carousel-embed #CAROUSEL-03 .testimonial-slide:nth-child(2) .testimonial-photo {background-position: 60% 50%;}
.carousel-embed #CAROUSEL-03 .testimonial-slide:nth-child(3) .testimonial-photo {background-position: 42% 54%;}
.carousel-embed #CAROUSEL-03 .testimonial-slide:nth-child(4) .testimonial-photo {background-position: 52% 68%;}
.carousel-embed #CAROUSEL-03 .testimonial-slide:nth-child(5) .testimonial-photo {background-position: 70% 42%;}
.carousel-embed #CAROUSEL-03 .testimonial-slide:nth-child(6) .testimonial-photo {background-position: 35% 64%;}
.carousel-embed #CAROUSEL-03 .testimonial-slide:nth-child(7) .testimonial-photo {background-position: 50% 34%;}
.carousel-embed #CAROUSEL-03 .testimonial-copy {padding: clamp(34px, 6vw, 72px);
  display: flex;
  flex-direction: column;
  justify-content: center;}
.carousel-embed #CAROUSEL-03 .testimonial-slide .stars {color: var(--color-key);
  letter-spacing: .18em;
  font-size: var(--small);}
.carousel-embed #CAROUSEL-03 .testimonial-slide h3 {margin: 28px 0 20px;
  font-size: var(--h1);
  line-height: 1.06;
  letter-spacing: -.055em;}
.carousel-embed #CAROUSEL-03 .testimonial-slide p {max-width: 760px;
  margin: 0;
  color: var(--color-muted);}
.carousel-embed #CAROUSEL-03 .testimonial-person {margin-top: 34px;
  display: flex;
  align-items: center;
  gap: 14px;}
.carousel-embed #CAROUSEL-03 .avatar {width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  color: var(--color-white);
  background: var(--color-dark);
  font-weight: 700;}
.carousel-embed #CAROUSEL-03 .testimonial-person strong, .carousel-embed #CAROUSEL-03 .testimonial-person span {display: block;
  line-height: 1.35;}
.carousel-embed #CAROUSEL-03 .testimonial-person span {color: var(--color-muted);
  font-size: var(--small);}
/* ===============================
   04 · CARRUSEL DE LOGOS / ALIADOS CON CONTENIDO
================================ */
.carousel-embed #CAROUSEL-04 .logo-carousel {padding: 74px 42px;
  background: var(--color-white);}
.carousel-embed #CAROUSEL-04 .logo-shell {max-width: 1440px;
  margin: 0 auto;}
.carousel-embed #CAROUSEL-04 .logo-head {max-width: 760px;
  margin-bottom: 28px;}
.carousel-embed #CAROUSEL-04 .logo-head h2 {margin: 0;
  font-size: var(--h1);
  line-height: .98;
  letter-spacing: -.06em;}
.carousel-embed #CAROUSEL-04 .logo-head p {margin: 16px 0 0;
  color: var(--color-muted);}
.carousel-embed #CAROUSEL-04 .logo-marquee {overflow: hidden;
  background: var(--color-light);}
.carousel-embed #CAROUSEL-04 .logo-track {display: flex;
  width: max-content;
  animation: carousel-logoMove 32s linear infinite;}
.carousel-embed #CAROUSEL-04 .logo-item {width: 300px;
  min-height: 210px;
  padding: 26px;
  border-right: 1px solid var(--color-line);
  display: flex;
  flex-direction: column;
  justify-content: space-between;}
.carousel-embed #CAROUSEL-04 .logo-mark {width: 102px;
  height: 42px;
  display: grid;
  place-items: center;
  background: var(--color-dark);
  color: var(--color-white);
  font-weight: 700;
  letter-spacing: -.05em;}
.carousel-embed #CAROUSEL-04 .logo-item h3 {margin: 26px 0 8px;
  font-size: var(--card);
  line-height: 1.1;
  letter-spacing: -.035em;}
.carousel-embed #CAROUSEL-04 .logo-item p {margin: 0;
  color: var(--color-muted);
  font-size: var(--small);}
@keyframes carousel-logoMove {from { transform: translateX(0); }
  to { transform: translateX(-50%); }}
/* ===============================
   05 · CARRUSEL VERTICAL TIPO HISTORIAS
================================ */
.carousel-embed #CAROUSEL-05 .vertical-carousel {padding: 74px 42px;
  background: var(--color-dark);
  color: var(--color-white);}
.carousel-embed #CAROUSEL-05 .vertical-shell {max-width: 1440px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: 32px;
  align-items: stretch;}
.carousel-embed #CAROUSEL-05 .vertical-intro {min-height: 520px;
  padding: 36px;
  background-image: linear-gradient(180deg, transparent, var(--pb-theme-dark,var(--color-dark))), var(--photo-reference);
  background-size: cover;
  background-position: center;
  display: flex;
  flex-direction: column;
  justify-content: space-between;}
.carousel-embed #CAROUSEL-05 .vertical-intro h2 {margin: 0;
  color: var(--color-white);
  font-size: var(--h1);
  line-height: .98;
  letter-spacing: -.06em;}
.carousel-embed #CAROUSEL-05 .vertical-intro p {margin: 18px 0 0;
  color: var(--color-line);}
.carousel-embed #CAROUSEL-05 .vertical-track {height: 520px;
  overflow-y: auto;
  scroll-snap-type: y mandatory;
  scrollbar-width: none;}
.carousel-embed #CAROUSEL-05 .vertical-track::-webkit-scrollbar {display: none;}
.carousel-embed #CAROUSEL-05 .vertical-card {min-height: 520px;
  padding: 42px;
  scroll-snap-align: start;
  background-image: linear-gradient(180deg, transparent, var(--pb-theme-dark,var(--color-dark))), var(--photo-reference);
  background-size: cover;
  background-position: center;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;}
.carousel-embed #CAROUSEL-05 .vertical-card + .vertical-card {margin-top: 18px;}
.carousel-embed #CAROUSEL-05 .vertical-card:nth-child(2) {background-position: 60% 48%;}
.carousel-embed #CAROUSEL-05 .vertical-card:nth-child(3) {background-position: 40% 55%;}
.carousel-embed #CAROUSEL-05 .vertical-card:nth-child(4) {background-position: 55% 65%;}
.carousel-embed #CAROUSEL-05 .vertical-card:nth-child(5) {background-position: 45% 35%;}
.carousel-embed #CAROUSEL-05 .vertical-card:nth-child(6) {background-position: 70% 50%;}
.carousel-embed #CAROUSEL-05 .vertical-card:nth-child(7) {background-position: 36% 52%;}
.carousel-embed #CAROUSEL-05 .vertical-card span {color: var(--color-line);
  font-size: var(--small);
  letter-spacing: .16em;
  text-transform: uppercase;}
.carousel-embed #CAROUSEL-05 .vertical-card h3 {margin: 18px 0 12px;
  color: var(--color-white);
  font-size: var(--h2);
  line-height: .98;
  letter-spacing: -.06em;}
.carousel-embed #CAROUSEL-05 .vertical-card p {max-width: 560px;
  margin: 0;
  color: var(--color-line);}
/* ===============================
   06 · CARRUSEL CON MINIATURAS
================================ */
.carousel-embed #CAROUSEL-06 .thumb-carousel {padding: 74px 42px;
  background: var(--color-white);}
.carousel-embed #CAROUSEL-06 .thumb-shell {max-width: 1440px;
  margin: 0 auto;}
.carousel-embed #CAROUSEL-06 .thumb-head {display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 24px;
  margin-bottom: 26px;}
.carousel-embed #CAROUSEL-06 .thumb-head h2 {margin: 0;
  font-size: var(--h1);
  line-height: .98;
  letter-spacing: -.06em;}
.carousel-embed #CAROUSEL-06 .thumb-track {display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;}
.carousel-embed #CAROUSEL-06 .thumb-track::-webkit-scrollbar {display: none;}
.carousel-embed #CAROUSEL-06 .thumb-slide {flex: 0 0 100%;
  min-height: 520px;
  display: grid;
  grid-template-columns: 1fr .75fr;
  scroll-snap-align: start;}
.carousel-embed #CAROUSEL-06 .thumb-visual {min-height: 520px;
  background-image: linear-gradient(180deg, transparent, transparent), var(--photo-reference);
  background-size: cover;
  background-position: center;}
.carousel-embed #CAROUSEL-06 .thumb-slide:nth-child(2) .thumb-visual {background-position: 60% 48%;}
.carousel-embed #CAROUSEL-06 .thumb-slide:nth-child(3) .thumb-visual {background-position: 40% 55%;}
.carousel-embed #CAROUSEL-06 .thumb-slide:nth-child(4) .thumb-visual {background-position: 55% 65%;}
.carousel-embed #CAROUSEL-06 .thumb-slide:nth-child(5) .thumb-visual {background-position: 45% 35%;}
.carousel-embed #CAROUSEL-06 .thumb-slide:nth-child(6) .thumb-visual {background-position: 70% 50%;}
.carousel-embed #CAROUSEL-06 .thumb-slide:nth-child(7) .thumb-visual {background-position: 36% 52%;}
.carousel-embed #CAROUSEL-06 .thumb-copy {padding: clamp(32px, 5vw, 58px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: var(--color-light);}
.carousel-embed #CAROUSEL-06 .thumb-copy span {color: var(--color-key);
  font-size: var(--small);
  letter-spacing: .14em;
  text-transform: uppercase;}
.carousel-embed #CAROUSEL-06 .thumb-copy h3 {margin: 18px 0 12px;
  font-size: var(--h2);
  line-height: 1;
  letter-spacing: -.055em;}
.carousel-embed #CAROUSEL-06 .thumb-copy p {margin: 0;
  color: var(--color-muted);}
.carousel-embed #CAROUSEL-06 .thumb-list {margin-top: 18px;
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 10px;}
.carousel-embed #CAROUSEL-06 .thumb-item {min-height: 142px;
  padding: 8px;
  border: 1px solid var(--color-line);
  background: var(--color-light);
  font-family: inherit;
  font-size: var(--small);
  line-height: 1.3;
  text-align: left;
  color: var(--color-muted);
  cursor: pointer;
  transition: border-color .2s ease, background .2s ease, transform .2s ease, box-shadow .2s ease;}
.carousel-embed #CAROUSEL-06 .thumb-item:hover, .carousel-embed #CAROUSEL-06 .thumb-item.is-active {border-color: var(--color-key);
  background: var(--color-white);
  transform: translateY(-2px);
  box-shadow: 0 14px 34px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 10%, transparent);}
.carousel-embed #CAROUSEL-06 .thumb-mini-photo {width: 100%;
  height: 76px;
  margin-bottom: 10px;
  background-image: linear-gradient(180deg, transparent, transparent), var(--photo-reference);
  background-size: cover;
  background-position: center;}
.carousel-embed #CAROUSEL-06 .thumb-item:nth-child(2) .thumb-mini-photo {background-position: 60% 48%;}
.carousel-embed #CAROUSEL-06 .thumb-item:nth-child(3) .thumb-mini-photo {background-position: 40% 55%;}
.carousel-embed #CAROUSEL-06 .thumb-item:nth-child(4) .thumb-mini-photo {background-position: 55% 65%;}
.carousel-embed #CAROUSEL-06 .thumb-item:nth-child(5) .thumb-mini-photo {background-position: 45% 35%;}
.carousel-embed #CAROUSEL-06 .thumb-item:nth-child(6) .thumb-mini-photo {background-position: 70% 50%;}
.carousel-embed #CAROUSEL-06 .thumb-item:nth-child(7) .thumb-mini-photo {background-position: 36% 52%;}
.carousel-embed #CAROUSEL-06 .thumb-item strong {display: block;
  color: var(--color-dark);
  font-size: var(--small);
  margin-bottom: 2px;}
.carousel-embed #CAROUSEL-06 .thumb-item span {display: block;
  color: var(--color-muted);}
@media (max-width: 900px) {
.carousel-embed .menu-row {padding-left: 24px; padding-right: 24px;}
.carousel-embed .row-info {grid-template-columns: 1fr; row-gap: 12px;}
.carousel-embed #CAROUSEL-01 .carousel-head, .carousel-embed #CAROUSEL-02 .split-top, .carousel-embed #CAROUSEL-03 .testimonial-top, .carousel-embed #CAROUSEL-06 .thumb-head {align-items: flex-start;
    flex-direction: column;}
.carousel-embed .carousel-controls {margin-top: 18px;}
.carousel-embed #CAROUSEL-02 .split-slide, .carousel-embed #CAROUSEL-03 .testimonial-slide, .carousel-embed #CAROUSEL-05 .vertical-shell, .carousel-embed #CAROUSEL-06 .thumb-slide {grid-template-columns: 1fr;}
.carousel-embed #CAROUSEL-02 .split-image, .carousel-embed #CAROUSEL-03 .testimonial-photo, .carousel-embed #CAROUSEL-06 .thumb-visual {min-height: 320px;}
.carousel-embed #CAROUSEL-05 .vertical-intro {min-height: 360px;}
.carousel-embed #CAROUSEL-06 .thumb-list {grid-template-columns: 1fr 1fr;}
}
@media (max-width: 620px) {
.carousel-embed #CAROUSEL-01 .carousel-section, .carousel-embed #CAROUSEL-02 .split-carousel, .carousel-embed #CAROUSEL-03 .testimonial-carousel, .carousel-embed #CAROUSEL-04 .logo-carousel, .carousel-embed #CAROUSEL-05 .vertical-carousel, .carousel-embed #CAROUSEL-06 .thumb-carousel {padding-left: 22px;
    padding-right: 22px;}
.carousel-embed #CAROUSEL-01 .service-card {flex-basis: 82vw;
    width: 82vw;}
.carousel-embed #CAROUSEL-05 .vertical-track, .carousel-embed #CAROUSEL-05 .vertical-card {height: 460px;
    min-height: 460px;}
}
/* ===============================
   07 · CARRUSEL 50/50 CON CARDS
================================ */
.carousel-embed #CAROUSEL-07 .fifty-carousel {padding: 74px 42px;
  background: var(--color-light);}
.carousel-embed #CAROUSEL-07 .fifty-shell {max-width: 1440px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 42px;
  align-items: stretch;}
.carousel-embed #CAROUSEL-07 .fifty-copy {min-height: 540px;
  padding: 56px;
  background: var(--color-dark);
  color: var(--color-white);
  display: flex;
  flex-direction: column;
  justify-content: space-between;}
.carousel-embed #CAROUSEL-07 .fifty-copy span {color: var(--color-support);
  font-size: var(--small);
  letter-spacing: .16em;
  text-transform: uppercase;}
.carousel-embed #CAROUSEL-07 .fifty-copy h2 {max-width: 580px;
  margin: 20px 0 0;
  font-size: var(--h1);
  line-height: .9;
  letter-spacing: -.07em;}
.carousel-embed #CAROUSEL-07 .fifty-copy p {max-width: 520px;
  margin: 22px 0 0;
  color: var(--color-line);
  font-size: var(--body);}
.carousel-embed #CAROUSEL-07 .fifty-copy .carousel-controls button {background: transparent;
  color: var(--color-white);
  border-color: var(--color-line);}
.carousel-embed #CAROUSEL-07 .fifty-copy .carousel-controls button:hover {background: var(--color-white);
  color: var(--color-dark);}
.carousel-embed #CAROUSEL-07 .fifty-track {min-width: 0;
  display: flex;
  gap: 18px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding-bottom: 8px;
  scrollbar-width: none;}
.carousel-embed #CAROUSEL-07 .fifty-track::-webkit-scrollbar {display: none;}
.carousel-embed #CAROUSEL-07 .fifty-card {flex: 0 0 310px;
  min-height: 540px;
  background: var(--color-white);
  border: 1px solid var(--color-line);
  display: flex;
  flex-direction: column;
  scroll-snap-align: start;
  overflow: hidden;}
.carousel-embed #CAROUSEL-07 .fifty-photo {height: 230px;
  background-image: linear-gradient(180deg, transparent, transparent), var(--photo-reference);
  background-size: cover;
  background-position: center;}
.carousel-embed #CAROUSEL-07 .fifty-card:nth-child(2) .fifty-photo {background-position: 60% 48%;}
.carousel-embed #CAROUSEL-07 .fifty-card:nth-child(3) .fifty-photo {background-position: 40% 55%;}
.carousel-embed #CAROUSEL-07 .fifty-card:nth-child(4) .fifty-photo {background-position: 55% 65%;}
.carousel-embed #CAROUSEL-07 .fifty-card:nth-child(5) .fifty-photo {background-position: 45% 35%;}
.carousel-embed #CAROUSEL-07 .fifty-card-copy {padding: 26px;}
.carousel-embed #CAROUSEL-07 .fifty-card-copy span {color: var(--color-key);
  font-size: var(--small);
  letter-spacing: .14em;
  text-transform: uppercase;}
.carousel-embed #CAROUSEL-07 .fifty-card-copy h3 {margin: 14px 0 12px;
  font-size: var(--h4);
  line-height: 1;
  letter-spacing: -.045em;}
.carousel-embed #CAROUSEL-07 .fifty-card-copy p {margin: 0;
  color: var(--color-muted);
  font-size: var(--small);}
/* ===============================
   08 · CARRUSEL 50/50 COMERCIAL
================================ */
.carousel-embed #CAROUSEL-08 .commerce-carousel {padding: 74px 42px;
  background: var(--color-white);}
.carousel-embed #CAROUSEL-08 .commerce-shell {max-width: 1440px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 42px;
  align-items: stretch;}
.carousel-embed #CAROUSEL-08 .commerce-copy {min-height: 520px;
  padding: 54px 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;}
.carousel-embed #CAROUSEL-08 .commerce-copy small {color: var(--color-key);
  font-size: var(--small);
  letter-spacing: .16em;
  text-transform: uppercase;}
.carousel-embed #CAROUSEL-08 .commerce-copy h2 {max-width: 620px;
  margin: 18px 0 0;
  font-size: var(--h1);
  line-height: .9;
  letter-spacing: -.075em;}
.carousel-embed #CAROUSEL-08 .commerce-copy p {max-width: 540px;
  margin: 22px 0 0;
  color: var(--color-muted);
  font-size: var(--body);}
.carousel-embed #CAROUSEL-08 .commerce-track {display: flex;
  gap: 18px;
  min-width: 0;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding-bottom: 8px;}
.carousel-embed #CAROUSEL-08 .commerce-track::-webkit-scrollbar {display: none;}
.carousel-embed #CAROUSEL-08 .commerce-card {flex: 0 0 86%;
  min-height: 520px;
  padding: 34px;
  color: var(--color-white);
  background-image: linear-gradient(180deg, transparent, var(--pb-theme-dark,var(--color-dark))), var(--photo-reference);
  background-size: cover;
  background-position: center;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  scroll-snap-align: start;}
.carousel-embed #CAROUSEL-08 .commerce-card:nth-child(2) {background-position: 60% 48%;}
.carousel-embed #CAROUSEL-08 .commerce-card:nth-child(3) {background-position: 40% 55%;}
.carousel-embed #CAROUSEL-08 .commerce-card:nth-child(4) {background-position: 55% 65%;}
.carousel-embed #CAROUSEL-08 .commerce-card:nth-child(5) {background-position: 45% 35%;}
.carousel-embed #CAROUSEL-08 .commerce-card span {color: var(--color-light);
  font-size: var(--small);
  letter-spacing: .14em;
  text-transform: uppercase;}
.carousel-embed #CAROUSEL-08 .commerce-card h3 {max-width: 420px;
  margin: 14px 0 12px;
  font-size: var(--h3);
  line-height: .95;
  letter-spacing: -.06em;}
.carousel-embed #CAROUSEL-08 .commerce-card p {max-width: 460px;
  margin: 0;
  color: var(--color-line);}
/* ===============================
   09 · CARRUSEL 50/50 FULL CARD
================================ */
.carousel-embed #CAROUSEL-09 .fullcard-carousel {padding: 74px 42px;
  background: var(--color-light);}
.carousel-embed #CAROUSEL-09 .fullcard-shell {max-width: 1440px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 42px;
  align-items: stretch;}
.carousel-embed #CAROUSEL-09 .fullcard-copy {min-height: 520px;
  padding: 54px;
  background: var(--color-white);
  display: flex;
  flex-direction: column;
  justify-content: space-between;}
.carousel-embed #CAROUSEL-09 .fullcard-copy span {color: var(--color-key);
  font-size: var(--small);
  letter-spacing: .16em;
  text-transform: uppercase;}
.carousel-embed #CAROUSEL-09 .fullcard-copy h2 {max-width: 600px;
  margin: 18px 0 0;
  font-size: var(--h1);
  line-height: .9;
  letter-spacing: -.07em;}
.carousel-embed #CAROUSEL-09 .fullcard-copy p {max-width: 530px;
  margin: 22px 0 0;
  color: var(--color-muted);
  font-size: var(--body);}
.carousel-embed #CAROUSEL-09 .fullcard-track {display: flex;
  min-width: 0;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;}
.carousel-embed #CAROUSEL-09 .fullcard-track::-webkit-scrollbar {display: none;}
.carousel-embed #CAROUSEL-09 .fullcard-item {flex: 0 0 100%;
  min-height: 520px;
  padding: 34px;
  background: var(--color-dark);
  color: var(--color-white);
  scroll-snap-align: start;
  display: grid;
  grid-template-rows: 1fr auto;}
.carousel-embed #CAROUSEL-09 .fullcard-image {min-height: 300px;
  background-image: linear-gradient(180deg, transparent, transparent), var(--photo-reference);
  background-size: cover;
  background-position: center;}
.carousel-embed #CAROUSEL-09 .fullcard-item:nth-child(2) .fullcard-image {background-position: 60% 48%;}
.carousel-embed #CAROUSEL-09 .fullcard-item:nth-child(3) .fullcard-image {background-position: 40% 55%;}
.carousel-embed #CAROUSEL-09 .fullcard-item:nth-child(4) .fullcard-image {background-position: 55% 65%;}
.carousel-embed #CAROUSEL-09 .fullcard-item:nth-child(5) .fullcard-image {background-position: 45% 35%;}
.carousel-embed #CAROUSEL-09 .fullcard-item span {display: block;
  margin-top: 28px;
  color: var(--color-support);
  font-size: var(--small);
  letter-spacing: .14em;
  text-transform: uppercase;}
.carousel-embed #CAROUSEL-09 .fullcard-item h3 {margin: 12px 0 10px;
  font-size: var(--h3);
  line-height: .96;
  letter-spacing: -.055em;}
.carousel-embed #CAROUSEL-09 .fullcard-item p {max-width: 500px;
  margin: 0;
  color: var(--color-line);}
/* ===============================
   10 · CARRUSEL 50/50 COMPACTO
================================ */
.carousel-embed #CAROUSEL-10 .compact-carousel {padding: 74px 0;
  background: var(--color-white);}
.carousel-embed #CAROUSEL-10 .compact-shell {width: min(100%, 1440px);
  margin: 0 auto;
  padding: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0;
  align-items: center;}
.carousel-embed #CAROUSEL-10 .compact-copy {min-height: 460px;
  margin-left: 42px;
  margin-right: 42px;
  padding: 48px;
  background: var(--color-light);
  display: flex;
  flex-direction: column;
  justify-content: space-between;}
.carousel-embed #CAROUSEL-10 .compact-copy span {color: var(--color-key);
  font-size: var(--small);
  letter-spacing: .16em;
  text-transform: uppercase;}
.carousel-embed #CAROUSEL-10 .compact-copy h2 {max-width: 620px;
  margin: 18px 0 0;
  font-size: var(--h1);
  line-height: .9;
  letter-spacing: -.07em;}
.carousel-embed #CAROUSEL-10 .compact-copy p {max-width: 540px;
  margin: 22px 0 0;
  color: var(--color-muted);
  font-size: var(--body);}
.carousel-embed #CAROUSEL-10 .compact-track {min-width: 0;
  display: flex;
  gap: 14px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding-bottom: 8px;}
.carousel-embed #CAROUSEL-10 .compact-track::-webkit-scrollbar {display: none;}
/* ajuste: derecha pegada */
.carousel-embed #CAROUSEL-10 .compact-track {margin-right: 0;
  padding-right: 0;}
.carousel-embed #CAROUSEL-10 .compact-card {flex: 0 0 240px;
  min-height: 460px;
  background: var(--color-dark);
  color: var(--color-white);
  scroll-snap-align: start;
  overflow: hidden;
  display: flex;
  flex-direction: column;}
.carousel-embed #CAROUSEL-10 .compact-photo {height: 180px;
  background-image: linear-gradient(180deg, transparent, transparent), var(--photo-reference);
  background-size: cover;
  background-position: center;}
.carousel-embed #CAROUSEL-10 .compact-card:nth-child(2) .compact-photo {background-position: 60% 48%;}
.carousel-embed #CAROUSEL-10 .compact-card:nth-child(3) .compact-photo {background-position: 40% 55%;}
.carousel-embed #CAROUSEL-10 .compact-card:nth-child(4) .compact-photo {background-position: 55% 65%;}
.carousel-embed #CAROUSEL-10 .compact-card:nth-child(5) .compact-photo {background-position: 45% 35%;}
.carousel-embed #CAROUSEL-10 .compact-card-copy {padding: 24px;}
.carousel-embed #CAROUSEL-10 .compact-card-copy span {color: var(--color-support);
  font-size: var(--small);
  letter-spacing: .14em;
  text-transform: uppercase;}
.carousel-embed #CAROUSEL-10 .compact-card-copy h3 {margin: 12px 0 10px;
  font-size: var(--h5);
  line-height: 1;
  letter-spacing: -.045em;}
.carousel-embed #CAROUSEL-10 .compact-card-copy p {margin: 0;
  color: var(--color-line);
  font-size: var(--small);}
/* ===============================
   11 · CARRUSEL 50/50 CARD NUMÉRICA
================================ */
.carousel-embed #CAROUSEL-11 .number-card-carousel {padding: 74px 0;
  background: var(--color-light);}
.carousel-embed #CAROUSEL-11 .number-card-shell {width: min(100%, 1440px);
  margin: 0 auto;
  padding: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0;
  align-items: stretch;}
.carousel-embed #CAROUSEL-11 .number-card-copy {min-height: 520px;
  margin-left: 42px;
  margin-right: 42px;
  padding: 56px 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;}
.carousel-embed #CAROUSEL-11 .number-card-copy small {display: block;
  color: var(--color-key);
  font-size: var(--small);
  letter-spacing: .16em;
  text-transform: uppercase;}
.carousel-embed #CAROUSEL-11 .number-card-copy h2 {max-width: 620px;
  margin: 18px 0 0;
  font-size: var(--h1);
  line-height: .9;
  letter-spacing: -.075em;}
.carousel-embed #CAROUSEL-11 .number-card-copy p {max-width: 540px;
  margin: 22px 0 0;
  color: var(--color-muted);
  font-size: var(--body);}
.carousel-embed #CAROUSEL-11 .number-card-cta {display: inline-flex;
  width: fit-content;
  margin-top: 30px;
  padding: 14px 20px;
  color: var(--color-white);
  background: var(--color-dark);
  font-size: var(--small);
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-decoration: none;}
.carousel-embed #CAROUSEL-11 .number-card-actions {display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 20px;}
.carousel-embed #CAROUSEL-11 .number-card-track {min-width: 0;
  display: flex;
  gap: 18px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding-bottom: 8px;}
.carousel-embed #CAROUSEL-11 .number-card-track::-webkit-scrollbar {display: none;}
.carousel-embed #CAROUSEL-11 .number-card-track {margin-right: 0;
  padding-right: 0;}
.carousel-embed #CAROUSEL-11 .number-card-item {flex: 0 0 62%;
  min-height: 520px;
  padding: 42px;
  background: var(--color-white);
  border: 0;
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
  justify-content: space-between;}
.carousel-embed #CAROUSEL-11 .number-card-item h1 {margin: 0;
  color: var(--color-key);
  font-size: var(--h1);
  font-weight: 400;
  line-height: .82;
  letter-spacing: -.09em;}
.carousel-embed #CAROUSEL-11 .number-card-item h3 {margin: 0 0 14px;
  color: var(--color-dark);
  font-size: var(--h4);
  line-height: .96;
  letter-spacing: -.055em;}
.carousel-embed #CAROUSEL-11 .number-card-item p {margin: 0;
  color: var(--color-muted);
  font-size: var(--body);
  line-height: 1.65;}
/* ===============================
   12 · CARRUSEL 50/50 CON 2.5 CARDS
================================ */
.carousel-embed #CAROUSEL-12 .twohalf-carousel {padding: 74px 0;
  background: var(--color-white);}
.carousel-embed #CAROUSEL-12 .twohalf-shell {width: min(100%, 1440px);
  margin: 0 auto;
  padding: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0;
  align-items: stretch;}
.carousel-embed #CAROUSEL-12 .twohalf-copy {min-height: 500px;
  margin-left: 42px;
  margin-right: 42px;
  padding: 54px 0;
  background: transparent;
  color: var(--color-dark);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;}
.carousel-embed #CAROUSEL-12 .twohalf-copy small {display: block;
  color: var(--color-key);
  font-size: var(--small);
  letter-spacing: .16em;
  text-transform: uppercase;}
.carousel-embed #CAROUSEL-12 .twohalf-copy h2 {max-width: 620px;
  margin: 18px 0 0;
  color: var(--color-dark);
  font-size: var(--h1);
  line-height: .9;
  letter-spacing: -.075em;}
.carousel-embed #CAROUSEL-12 .twohalf-copy p {max-width: 540px;
  margin: 22px 0 0;
  color: var(--color-muted);
  font-size: var(--body);}
.carousel-embed #CAROUSEL-12 .twohalf-cta {display: inline-flex;
  width: fit-content;
  margin-top: 30px;
  padding: 14px 20px;
  color: var(--color-white);
  background: var(--color-dark);
  font-size: var(--small);
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-decoration: none;}
.carousel-embed #CAROUSEL-12 .twohalf-copy .carousel-controls {margin-top: 20px;}
.carousel-embed #CAROUSEL-12 .twohalf-copy .carousel-controls button {background: var(--color-white);
  color: var(--color-dark);
  border-color: var(--color-line);}
.carousel-embed #CAROUSEL-12 .twohalf-copy .carousel-controls button:hover {background: var(--color-dark);
  color: var(--color-white);}
.carousel-embed #CAROUSEL-12 .twohalf-track {min-width: 0;
  display: flex;
  gap: 18px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding-bottom: 8px;}
.carousel-embed #CAROUSEL-12 .twohalf-track::-webkit-scrollbar {display: none;}
.carousel-embed #CAROUSEL-12 .twohalf-track {margin-right: 0;
  padding-right: 0;}
.carousel-embed #CAROUSEL-12 .twohalf-card {flex: 0 0 calc((100% - 36px) / 2.5);
  min-height: 500px;
  padding: 30px;
  background: var(--color-light);
  border: 0;
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
  justify-content: space-between;}
.carousel-embed #CAROUSEL-12 .twohalf-card h1 {margin: 0;
  color: var(--color-key);
  font-size: var(--h1);
  font-weight: 400;
  line-height: .86;
  letter-spacing: -.08em;}
.carousel-embed #CAROUSEL-12 .twohalf-card h3 {margin: 0 0 12px;
  color: var(--color-dark);
  font-size: var(--h5);
  line-height: .98;
  letter-spacing: -.05em;}
.carousel-embed #CAROUSEL-12 .twohalf-card p {margin: 0;
  color: var(--color-muted);
  font-size: var(--small);
  line-height: 1.6;}
/* ===============================
   AJUSTE FULL BLEED DERECHA 08-12
   Izquierda alineada al ancho maestro 1440px
   Derecha abierta hasta el borde del viewport
================================ */
.carousel-embed #CAROUSEL-07 .fifty-carousel, .carousel-embed #CAROUSEL-08 .commerce-carousel, .carousel-embed #CAROUSEL-10 .compact-carousel, .carousel-embed #CAROUSEL-11 .number-card-carousel, .carousel-embed #CAROUSEL-12 .twohalf-carousel {padding-left: 0;
  padding-right: 0;}
.carousel-embed #CAROUSEL-07 .fifty-shell, .carousel-embed #CAROUSEL-08 .commerce-shell, .carousel-embed #CAROUSEL-10 .compact-shell, .carousel-embed #CAROUSEL-11 .number-card-shell, .carousel-embed #CAROUSEL-12 .twohalf-shell {--master-gutter: max(0px, calc((100vw - 1440px) / 2));
  --master-half: min(720px, 50vw);
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  grid-template-columns: minmax(0, calc(var(--master-gutter) + var(--master-half))) minmax(0, 1fr);
  gap: 0;}
.carousel-embed #CAROUSEL-07 .fifty-copy, .carousel-embed #CAROUSEL-08 .commerce-copy, .carousel-embed #CAROUSEL-10 .compact-copy, .carousel-embed #CAROUSEL-11 .number-card-copy, .carousel-embed #CAROUSEL-12 .twohalf-copy {margin-left: calc(var(--master-gutter) + 42px);
  margin-right: 42px;}
.carousel-embed #CAROUSEL-07 .fifty-track, .carousel-embed #CAROUSEL-08 .commerce-track, .carousel-embed #CAROUSEL-10 .compact-track, .carousel-embed #CAROUSEL-11 .number-card-track, .carousel-embed #CAROUSEL-12 .twohalf-track {width: 100%;
  min-width: 0;
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0;
  align-self: stretch;}
@media (max-width: 900px) {
.carousel-embed #CAROUSEL-07 .fifty-shell, .carousel-embed #CAROUSEL-08 .commerce-shell, .carousel-embed #CAROUSEL-09 .fullcard-shell, .carousel-embed #CAROUSEL-10 .compact-shell, .carousel-embed #CAROUSEL-11 .number-card-shell, .carousel-embed #CAROUSEL-12 .twohalf-shell {grid-template-columns: 1fr;}
.carousel-embed #CAROUSEL-07 .fifty-copy, .carousel-embed #CAROUSEL-08 .commerce-copy, .carousel-embed #CAROUSEL-09 .fullcard-copy, .carousel-embed #CAROUSEL-10 .compact-copy, .carousel-embed #CAROUSEL-11 .number-card-copy, .carousel-embed #CAROUSEL-12 .twohalf-copy {min-height: 360px;
    padding: 34px;}
.carousel-embed #CAROUSEL-11 .number-card-copy, .carousel-embed #CAROUSEL-12 .twohalf-copy {padding: 34px 0;}
.carousel-embed #CAROUSEL-07 .fifty-card, .carousel-embed #CAROUSEL-08 .commerce-card, .carousel-embed #CAROUSEL-09 .fullcard-item, .carousel-embed #CAROUSEL-10 .compact-card, .carousel-embed #CAROUSEL-11 .number-card-item, .carousel-embed #CAROUSEL-12 .twohalf-card {min-height: 420px;}
.carousel-embed #CAROUSEL-11 .number-card-item {flex-basis: 76%;}
.carousel-embed #CAROUSEL-12 .twohalf-card {flex-basis: 46%;}
}

/* Carruseles: corrección de color en títulos */
.carousel-embed > .template-title h2,
.carousel-embed > .template-item .row-info h3,
.carousel-embed > .template-item .request-copy strong {
  color: var(--color-white) !important;
}

.carousel-embed > .template-item .request-copy {
  color: var(--color-line) !important;
}

.carousel-embed .template-demo h2,
.carousel-embed .template-demo h3,
.carousel-embed .template-demo h4 {
  color: var(--color-dark) !important;
}

.carousel-embed .template-demo .hero-carousel h2,
.carousel-embed .template-demo .dark-carousel h2,
.carousel-embed .template-demo .image-card h3,
.carousel-embed .template-demo .full-card h3,
.carousel-embed .template-demo .story-card h3,
.carousel-embed .template-demo .commercial-card h3 {
  color: var(--color-white) !important;
}

.carousel-embed .template-demo .carousel-head p,
.carousel-embed .template-demo .carousel-copy p,
.carousel-embed .template-demo .card-copy p {
  color: var(--color-muted) !important;
}


/* Carruseles: ajuste específico de títulos 05, 08, 09 y 10 */
.carousel-embed #CAROUSEL-05 .vertical-intro h2,
.carousel-embed #CAROUSEL-05 .vertical-card h3,
.carousel-embed #CAROUSEL-07 .fifty-copy h2,
.carousel-embed #CAROUSEL-08 .commerce-card h3,
.carousel-embed #CAROUSEL-10 .compact-card-copy h3 {
  color: var(--color-white) !important;
}

/* Textos sobre fondos oscuros */
.carousel-embed #CAROUSEL-05 .vertical-intro p,
.carousel-embed #CAROUSEL-05 .vertical-card p,
.carousel-embed #CAROUSEL-07 .fifty-copy p,
.carousel-embed #CAROUSEL-08 .commerce-card p,
.carousel-embed #CAROUSEL-10 .compact-card-copy p {
  color: var(--color-line) !important;
}

/* Etiquetas sobre fondos oscuros */
.carousel-embed #CAROUSEL-05 .vertical-card span,
.carousel-embed #CAROUSEL-07 .fifty-copy span,
.carousel-embed #CAROUSEL-08 .commerce-card span,
.carousel-embed #CAROUSEL-10 .compact-card-copy span {
  color: var(--color-support) !important;
}

/* Títulos sobre fondos claros */
.carousel-embed #CAROUSEL-07 .fifty-card-copy h3,
.carousel-embed #CAROUSEL-08 .commerce-copy h2,
.carousel-embed #CAROUSEL-10 .compact-copy h2 {
  color: var(--color-dark) !important;
}

/* Textos sobre fondos claros */
.carousel-embed #CAROUSEL-07 .fifty-card-copy p,
.carousel-embed #CAROUSEL-08 .commerce-copy p,
.carousel-embed #CAROUSEL-10 .compact-copy p {
  color: var(--color-muted) !important;
}


/* Carrusel 07 Full Card: corrección de color en slides */
.carousel-embed #CAROUSEL-09 .fullcard-item h3 {
  color: var(--color-white) !important;
}

.carousel-embed #CAROUSEL-09 .fullcard-item p {
  color: var(--color-line) !important;
}

.carousel-embed #CAROUSEL-09 .fullcard-item span {
  color: var(--color-support) !important;
}

/* La columna fija queda sobre fondo claro */
.carousel-embed #CAROUSEL-09 .fullcard-copy h2 {
  color: var(--color-dark) !important;
}

.carousel-embed #CAROUSEL-09 .fullcard-copy p {
  color: var(--color-muted) !important;
}



/* =========================================================
   STATS COUNTERS · integración debajo de Timeline
   ========================================================= */
.trayectoria-stats-embed {
  --color-dark: inherit;
  --color-key: inherit;
  --color-light: inherit;
  --color-white: inherit;
  --color-muted: inherit;
  --color-line: inherit;
  --font-main: "Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-secondary: "Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --text-label: var(--micro);
  --text-small: var(--small);
  --text-body: var(--body);
  --text-h3: var(--h3);
  --text-h2: var(--h2);
}

.trayectoria-stats-embed * { box-sizing: border-box; }
.trayectoria-stats-embed { scroll-behavior: smooth; }

.trayectoria-stats-embed {
  margin: 0;
  background: var(--color-dark);
  color: var(--color-white);
  font-family: var(--font-main);
  font-size: var(--body);
  line-height: 1.7;
}

.trayectoria-stats-embed .template-title {
  width: 100%;
  padding: 56px 0 18px;
  background: var(--color-dark);
  border-bottom: 1px solid var(--color-line);
}

.trayectoria-stats-embed .template-title h2 {
  margin: 0;
  color: var(--color-white);
  font-family: var(--font-main);
  font-size: var(--h2);
  line-height: 1;
  letter-spacing: -.05em;
}

.trayectoria-stats-embed .template-item {
  width: 100%;
  padding-top: 20px;
  background: var(--color-dark);
  border-bottom: 1px solid var(--color-line);
}

.trayectoria-stats-embed .menu-row {
  width: 100%;
  padding-left: 42px;
  padding-right: 42px;
}

.trayectoria-stats-embed .row-number { padding-bottom: 8px; }

.trayectoria-stats-embed .menu-number {
  display: block;
  color: var(--color-key);
  font-size: var(--micro);
  font-weight: 400;
  letter-spacing: .16em;
  line-height: 1.45;
  text-transform: uppercase;
}

.trayectoria-stats-embed .row-info {
  display: grid;
  grid-template-columns: minmax(280px, 35%) minmax(420px, 1fr);
  column-gap: 42px;
  align-items: start;
  padding-bottom: 20px;
}

.trayectoria-stats-embed .row-info h3 {
  max-width: 620px;
  margin: 0;
  color: var(--color-white);
  font-family: var(--font-main);
  font-size: var(--h3);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -.025em;
}

.trayectoria-stats-embed .request-copy {
  max-width: 980px;
  margin: 0;
  color: var(--color-line);
  font-size: var(--small);
  line-height: 1.65;
}

.trayectoria-stats-embed .request-copy strong {
  color: var(--color-white);
  font-weight: 700;
}

.trayectoria-stats-embed .template-demo {
  width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: var(--color-white);
  color: var(--color-dark);
  border-top: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);
}

.trayectoria-stats-embed [id^="DEMO-TRAYECTORIA-"] {
  --tray-dark: var(--color-dark);
  --tray-white: var(--color-white);
  --tray-light: var(--color-light);
  --tray-key: var(--color-key);
  --tray-muted: var(--color-muted);
  --tray-line: var(--color-line);
  --tray-line-light: var(--color-line);
  --tray-shadow: 0 24px 70px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 12%, transparent);
}

.trayectoria-stats-embed [id^="DEMO-TRAYECTORIA-"] .tray-section {
  width: 100%;
  padding: 86px 42px;
  font-family: var(--font-main);
}

.trayectoria-stats-embed [id^="DEMO-TRAYECTORIA-"] .tray-wrap {
  width: min(100%, 1440px);
  margin: 0 auto;
}

.trayectoria-stats-embed [id^="DEMO-TRAYECTORIA-"] .tray-heading {
  max-width: 760px;
  margin-bottom: 42px;
}

.trayectoria-stats-embed [id^="DEMO-TRAYECTORIA-"] .tray-heading.center {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.trayectoria-stats-embed [id^="DEMO-TRAYECTORIA-"] .tray-heading p, .trayectoria-stats-embed [id^="DEMO-TRAYECTORIA-"] .tray-authority-main p {
  margin: 0 0 12px;
  color: var(--color-key);
  font-size: var(--small);
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.trayectoria-stats-embed [id^="DEMO-TRAYECTORIA-"] .tray-heading h2, .trayectoria-stats-embed [id^="DEMO-TRAYECTORIA-"] .tray-authority-main h2 {
  margin: 0;
  color: var(--color-dark);
  font-size: var(--h1);
  line-height: .95;
  letter-spacing: -.06em;
}

.trayectoria-stats-embed [id^="DEMO-TRAYECTORIA-"] article { box-sizing: border-box; }

.trayectoria-stats-embed [id^="DEMO-TRAYECTORIA-"] strong, .trayectoria-stats-embed [id^="DEMO-TRAYECTORIA-"] span { display: inline-block; }

.trayectoria-stats-embed [id^="DEMO-TRAYECTORIA-"] strong {
  font-size: var(--h1);
  line-height: .9;
  letter-spacing: -.075em;
  color: var(--color-key);
}

.trayectoria-stats-embed [id^="DEMO-TRAYECTORIA-"] span {
  color: var(--color-key);
  font-size: var(--h2);
  line-height: 1;
  font-weight: 700;
}

.trayectoria-stats-embed [id^="DEMO-TRAYECTORIA-"] p {
  margin: 12px 0 0;
  font-size: var(--small);
  line-height: 1.55;
}

.trayectoria-stats-embed /* 01 */
#DEMO-TRAYECTORIA-01 .tray-dark { background: var(--color-dark); color: var(--color-white); }
.trayectoria-stats-embed #DEMO-TRAYECTORIA-01 .tray-heading h2 { color: var(--color-white); }
.trayectoria-stats-embed #DEMO-TRAYECTORIA-01 .tray-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--tray-line-light); }
.trayectoria-stats-embed #DEMO-TRAYECTORIA-01 article { padding: 48px 34px; background: var(--color-dark); }
.trayectoria-stats-embed #DEMO-TRAYECTORIA-01 article p { color: var(--color-line); font-weight: 700; }

.trayectoria-stats-embed /* 02 */
#DEMO-TRAYECTORIA-02 .tray-light { background: var(--color-light); }
.trayectoria-stats-embed #DEMO-TRAYECTORIA-02 .tray-kpi-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.trayectoria-stats-embed #DEMO-TRAYECTORIA-02 article { min-height: 330px; padding: 34px; background: var(--color-white); border: 1px solid var(--tray-line); box-shadow: var(--tray-shadow); }
.trayectoria-stats-embed #DEMO-TRAYECTORIA-02 small { display: block; margin-bottom: 28px; color: var(--color-key); font-weight: 900; letter-spacing: .12em; }
.trayectoria-stats-embed #DEMO-TRAYECTORIA-02 h3 { margin: 18px 0 0; color: var(--color-dark); font-size: var(--h5); line-height: 1.12; }
.trayectoria-stats-embed #DEMO-TRAYECTORIA-02 p { color: var(--tray-muted); }

.trayectoria-stats-embed /* 03 */
#DEMO-TRAYECTORIA-03 .tray-split { background: var(--color-white); }
.trayectoria-stats-embed #DEMO-TRAYECTORIA-03 .tray-split-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 72px; align-items: start; }
.trayectoria-stats-embed #DEMO-TRAYECTORIA-03 .tray-counter-list { display: grid; gap: 0; border-top: 1px solid var(--tray-line); }
.trayectoria-stats-embed #DEMO-TRAYECTORIA-03 article { display: grid; grid-template-columns: 240px 1fr; gap: 28px; padding: 34px 0; border-bottom: 1px solid var(--tray-line); }
.trayectoria-stats-embed #DEMO-TRAYECTORIA-03 article p { color: var(--tray-muted); font-weight: 700; }

.trayectoria-stats-embed /* 04 */
#DEMO-TRAYECTORIA-04 .tray-grid-editorial { background: var(--color-light); }
.trayectoria-stats-embed #DEMO-TRAYECTORIA-04 .tray-metric-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--tray-line); border-left: 1px solid var(--tray-line); }
.trayectoria-stats-embed #DEMO-TRAYECTORIA-04 article { min-height: 210px; padding: 36px; background: var(--color-white); border-right: 1px solid var(--tray-line); border-bottom: 1px solid var(--tray-line); }
.trayectoria-stats-embed #DEMO-TRAYECTORIA-04 article p { color: var(--color-dark); font-weight: 700; }

.trayectoria-stats-embed /* 05 */
#DEMO-TRAYECTORIA-05 .tray-proof { background: radial-gradient(circle at 82% 20%, transparent, transparent 34%), var(--color-dark); color: var(--color-white); }
.trayectoria-stats-embed #DEMO-TRAYECTORIA-05 .tray-proof-box { padding: 54px; border: 1px solid var(--tray-line-light); background: var(--color-line); }
.trayectoria-stats-embed #DEMO-TRAYECTORIA-05 .tray-heading h2 { color: var(--color-white); }
.trayectoria-stats-embed #DEMO-TRAYECTORIA-05 .tray-proof-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--tray-line-light); }
.trayectoria-stats-embed #DEMO-TRAYECTORIA-05 article { padding: 36px; background: var(--color-dark); }
.trayectoria-stats-embed #DEMO-TRAYECTORIA-05 article p { color: var(--color-line); }

.trayectoria-stats-embed /* 06 */
#DEMO-TRAYECTORIA-06 .tray-impact { background: var(--color-white); }
.trayectoria-stats-embed #DEMO-TRAYECTORIA-06 .tray-impact-grid { display: grid; grid-template-columns: .95fr 1.05fr; gap: 64px; align-items: center; }
.trayectoria-stats-embed #DEMO-TRAYECTORIA-06 .tray-impact-cards { display: grid; gap: 18px; }
.trayectoria-stats-embed #DEMO-TRAYECTORIA-06 article { padding: 30px 34px; background: var(--color-light); border-left: 6px solid var(--color-key); }
.trayectoria-stats-embed #DEMO-TRAYECTORIA-06 article p { max-width: 520px; color: var(--tray-muted); font-weight: 700; }

.trayectoria-stats-embed /* 07 */
#DEMO-TRAYECTORIA-07 .tray-badges { background: var(--color-light); }
.trayectoria-stats-embed #DEMO-TRAYECTORIA-07 .tray-badge-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.trayectoria-stats-embed #DEMO-TRAYECTORIA-07 article { aspect-ratio: 1 / 1; display: grid; place-content: center; text-align: center; background: var(--color-white); border: 1px solid var(--tray-line); border-radius: 50%; box-shadow: var(--tray-shadow); }
.trayectoria-stats-embed #DEMO-TRAYECTORIA-07 article p { color: var(--color-dark); font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }

.trayectoria-stats-embed /* 09 */
#DEMO-TRAYECTORIA-08 .tray-milestones { background: var(--color-white); }
.trayectoria-stats-embed #DEMO-TRAYECTORIA-08 .tray-milestone-line { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; border-top: 1px solid var(--tray-line); }
.trayectoria-stats-embed #DEMO-TRAYECTORIA-08 article { position: relative; padding: 44px 28px 0; }
.trayectoria-stats-embed #DEMO-TRAYECTORIA-08 article::before { content: ""; position: absolute; top: -7px; left: 28px; width: 13px; height: 13px; border-radius: 50%; background: var(--color-key); }
.trayectoria-stats-embed #DEMO-TRAYECTORIA-08 small { display: block; margin-bottom: 18px; color: var(--color-key); font-weight: 900; text-transform: uppercase; letter-spacing: .14em; }
.trayectoria-stats-embed #DEMO-TRAYECTORIA-08 article p { color: var(--tray-muted); font-weight: 700; }

.trayectoria-stats-embed /* 10 */
#DEMO-TRAYECTORIA-09 .tray-authority { background: var(--color-dark); color: var(--color-white); }
.trayectoria-stats-embed #DEMO-TRAYECTORIA-09 .tray-authority-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 1px; background: var(--tray-line-light); }
.trayectoria-stats-embed #DEMO-TRAYECTORIA-09 .tray-authority-main, .trayectoria-stats-embed #DEMO-TRAYECTORIA-09 .tray-authority-side article { background: var(--color-dark); }
.trayectoria-stats-embed #DEMO-TRAYECTORIA-09 .tray-authority-main { padding: 58px; }
.trayectoria-stats-embed #DEMO-TRAYECTORIA-09 .tray-authority-main strong { font-size: var(--h1); }
.trayectoria-stats-embed #DEMO-TRAYECTORIA-09 .tray-authority-main h2 { max-width: 620px; color: var(--color-white); }
.trayectoria-stats-embed #DEMO-TRAYECTORIA-09 .tray-authority-side { display: grid; gap: 1px; background: var(--tray-line-light); }
.trayectoria-stats-embed #DEMO-TRAYECTORIA-09 .tray-authority-side article { padding: 36px; }
.trayectoria-stats-embed #DEMO-TRAYECTORIA-09 article p { color: var(--color-line); font-weight: 700; }


.trayectoria-stats-embed /* 11 · Nosotros 50/50 galería */
#DEMO-TRAYECTORIA-10 .about-5050 {
  width: 100%;
  padding: 0 42px;
  background: var(--color-white);
}

.trayectoria-stats-embed #DEMO-TRAYECTORIA-10 .about-5050-wrap {
  width: min(100%, 1440px);
  min-height: 660px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: stretch;
  gap: 42px;
}

.trayectoria-stats-embed #DEMO-TRAYECTORIA-10 .about-5050-copy {
  min-height: 660px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 72px 48px 72px 0;
}

.trayectoria-stats-embed #DEMO-TRAYECTORIA-10 .about-5050-copy .eyebrow {
  margin: 0 0 14px;
  color: var(--color-key);
  font-size: var(--small);
  font-weight:500;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.trayectoria-stats-embed #DEMO-TRAYECTORIA-10 .about-5050-copy h2 {
  max-width: 620px;
  margin: 0;
  color: var(--color-dark);
  font-size: var(--h1);
  font-weight: 900;
  line-height: .92;
  letter-spacing: -.07em;
}

.trayectoria-stats-embed #DEMO-TRAYECTORIA-10 .about-5050-copy .lead {
  max-width: 580px;
  margin: 24px 0 0;
  color: var(--tray-muted);
  font-size: var(--body);
  line-height: 1.75;
}

.trayectoria-stats-embed #DEMO-TRAYECTORIA-10 .about-5050-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 32px;
}

.trayectoria-stats-embed #DEMO-TRAYECTORIA-10 .about-5050-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 22px;
  color: var(--color-white);
  background: var(--color-dark);
  font-size: var(--small);
  font-weight: 900;
  line-height: 1;
  text-decoration: none;
}

.trayectoria-stats-embed #DEMO-TRAYECTORIA-10 .about-5050-btn.secondary {
  color: var(--color-dark);
  background: var(--color-light);
}

.trayectoria-stats-embed #DEMO-TRAYECTORIA-10 .about-5050-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 18px;
  align-content: center;
  padding: 72px 0;
}

.trayectoria-stats-embed #DEMO-TRAYECTORIA-10 .about-5050-card {
  aspect-ratio: 1 / 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  padding: clamp(24px, 3vw, 42px);
  background: var(--color-light);
}

.trayectoria-stats-embed #DEMO-TRAYECTORIA-10 .about-5050-card:nth-child(2), .trayectoria-stats-embed #DEMO-TRAYECTORIA-10 .about-5050-card:nth-child(3) {
  background: var(--color-light);
}

.trayectoria-stats-embed #DEMO-TRAYECTORIA-10 .about-5050-card small {
  display: block;
  color: var(--color-key);
  font-size: var(--micro);
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.trayectoria-stats-embed #DEMO-TRAYECTORIA-10 .about-5050-card .number-line {
  white-space: nowrap;
}

.trayectoria-stats-embed #DEMO-TRAYECTORIA-10 .about-5050-card strong {
  font-size: var(--h1);
  color: var(--color-dark);
}

.trayectoria-stats-embed #DEMO-TRAYECTORIA-10 .about-5050-card span {
  color: var(--color-key);
}

.trayectoria-stats-embed #DEMO-TRAYECTORIA-10 .about-5050-card p {
  max-width: 260px;
  margin: 18px 0 0;
  color: var(--tray-muted);
  font-size: var(--small);
  font-weight: 700;
  line-height: 1.45;
}

@media (max-width: 1000px) {
  .trayectoria-stats-embed .menu-row { padding-left: 24px; padding-right: 24px; }
  .trayectoria-stats-embed .row-info { grid-template-columns: 1fr; row-gap: 12px; }
  .trayectoria-stats-embed [id^="DEMO-TRAYECTORIA-"] .tray-section { padding: 72px 24px; }
  .trayectoria-stats-embed #DEMO-TRAYECTORIA-01 .tray-grid, .trayectoria-stats-embed #DEMO-TRAYECTORIA-07 .tray-badge-grid, .trayectoria-stats-embed #DEMO-TRAYECTORIA-08 .tray-milestone-line { grid-template-columns: repeat(2, 1fr); }
  .trayectoria-stats-embed #DEMO-TRAYECTORIA-02 .tray-kpi-grid, .trayectoria-stats-embed #DEMO-TRAYECTORIA-04 .tray-metric-grid, .trayectoria-stats-embed #DEMO-TRAYECTORIA-05 .tray-proof-grid { grid-template-columns: 1fr; }
  .trayectoria-stats-embed #DEMO-TRAYECTORIA-03 .tray-split-grid, .trayectoria-stats-embed #DEMO-TRAYECTORIA-06 .tray-impact-grid, .trayectoria-stats-embed #DEMO-TRAYECTORIA-09 .tray-authority-grid, .trayectoria-stats-embed #DEMO-TRAYECTORIA-10 .about-5050-wrap { grid-template-columns: 1fr; }
  .trayectoria-stats-embed #DEMO-TRAYECTORIA-03 article { grid-template-columns: 1fr; }
  .trayectoria-stats-embed #DEMO-TRAYECTORIA-10 .about-5050 { padding: 0 24px; }
  .trayectoria-stats-embed #DEMO-TRAYECTORIA-10 .about-5050-copy { min-height: auto; padding: 72px 0 24px; }
  .trayectoria-stats-embed #DEMO-TRAYECTORIA-10 .about-5050-stats { padding: 24px 0 72px; }
}

@media (max-width: 620px) {
  .trayectoria-stats-embed .template-title h2 { font-size: var(--h4); }
  .trayectoria-stats-embed #DEMO-TRAYECTORIA-01 .tray-grid, .trayectoria-stats-embed #DEMO-TRAYECTORIA-07 .tray-badge-grid, .trayectoria-stats-embed #DEMO-TRAYECTORIA-08 .tray-milestone-line { grid-template-columns: 1fr; }
  .trayectoria-stats-embed #DEMO-TRAYECTORIA-07 article { aspect-ratio: auto; border-radius: 0; padding: 42px 24px; }
  .trayectoria-stats-embed #DEMO-TRAYECTORIA-10 .about-5050-stats { grid-template-columns: 1fr; }
  .trayectoria-stats-embed #DEMO-TRAYECTORIA-10 .about-5050-card { aspect-ratio: auto; min-height: 240px; }
}

.trayectoria-stats-embed /* ANCHO GLOBAL SOLICITADO: todos los bloques internos a 1440px */
[id^="DEMO-TRAYECTORIA-"] .tray-wrap, .trayectoria-stats-embed #DEMO-TRAYECTORIA-10 .about-5050-wrap {
  width: min(100%, 1440px);
}

/* Stats counters integrado debajo de Timeline */
.trayectoria-stats-embed {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  background: var(--color-dark);
  color: var(--color-white);
  font-family: var(--font-main);
  isolation: isolate;
  overflow: hidden;
}
.trayectoria-stats-embed .menu-row {
  width: min(1440px, 100%);
  margin: 0 auto;
  padding-left: 42px;
  padding-right: 42px;
}
@media (max-width: 1180px) {
  .trayectoria-stats-embed .menu-row { padding-left: 28px; padding-right: 28px; }
}
@media (max-width: 520px) {
  .trayectoria-stats-embed .menu-row { padding-left: 18px; padding-right: 18px; }
}




/* =========================================================
   FORMULARIOS AGREGADOS · Contacto / Cotización
   ========================================================= */
.form-section-added .template-demo {
  width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: var(--color-white);
  color: var(--color-dark);
  border-top: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);
}
/* ===============================
   DEMO 01 · FORMULARIO CON DATOS DE CONTACTO
================================ */
#FORM-DEMO-30 {
  --demo-dark: var(--color-dark);
  --demo-key: var(--color-key);
  --demo-light: var(--color-light);
  --demo-white: var(--color-white);
  --demo-muted: var(--color-muted);
  --demo-line: var(--color-line);
  --demo-shadow: none;
  --demo-text-label: var(--micro);
  --demo-text-small: var(--small);
  --demo-text-body: var(--body);
  --demo-text-h2: var(--h2);
  font-family: var(--font-main);
}
#FORM-DEMO-30 .section {
  width: 100%;
  padding: clamp(72px, 8vw, 120px) 42px;
}
#FORM-DEMO-30 .contact {
  background: var(--color-light);
  color: var(--color-dark);
}
#FORM-DEMO-30 .wrap {
  width: min(100%, 1440px);
  margin: 0 auto;
}
#FORM-DEMO-30 .contact-grid {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 78px;
  align-items: start;
}
#FORM-DEMO-30 .section-label {
  margin: 0 0 14px;
  color: var(--color-key);
  font-size: var(--micro);
  font-weight:500;
  letter-spacing: .26em;
  line-height: 1.4;
  text-transform: uppercase;
}
#FORM-DEMO-30 h2 {
  margin: 0;
  color: var(--color-dark);
  font-size: var(--h2);
  line-height: .98;
  letter-spacing: -.06em;
  font-weight: 900;
}
#FORM-DEMO-30 p {
  margin: 11px 0 0;
  color: var(--color-muted);
  font-size: var(--body);
  line-height: 1.7;
}
#FORM-DEMO-30 .contact-info {
  margin-top: 32px;
}
#FORM-DEMO-30 .contact-info-item {
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 16px;
  align-items: center;
  padding: 15px 0;
  border-bottom: 0;
}
#FORM-DEMO-30 .contact-info-item:last-child { border-bottom: 0; }
#FORM-DEMO-30 .contact-info-icon {
  width: 40px;
  height: 40px;
  border-radius: 0;
  display: grid;
  place-items: center;
  background: var(--color-white);
  color: var(--color-dark);
  box-shadow: none;
}
#FORM-DEMO-30 .contact-info-icon svg {
  width: 18px;
  height: 18px;
  stroke: currentColor;
}
#FORM-DEMO-30 .contact-info-label {
  display: block;
  margin-bottom: 4px;
  color: var(--color-muted);
  font-size: var(--micro);
  line-height: 1;
  font-weight: 700;
  letter-spacing: .28em;
  text-transform: uppercase;
}
#FORM-DEMO-30 .contact-info-value {
  margin: 0;
  color: var(--color-dark);
  font-size: var(--body);
  line-height: 1.35;
  font-weight: 700;
  letter-spacing: 0;
}
#FORM-DEMO-30 .contact-info-value + .contact-info-value { margin-top: 1px; }
#FORM-DEMO-30 .contact-form {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
  background: var(--color-white);
  padding: 34px;
  box-shadow: none;
  border-radius: 0;
}
#FORM-DEMO-30 .contact-form label {
  display: grid;
  gap: 8px;
  color: var(--color-dark);
  font-size: var(--small);
  font-weight: 700;
}
#FORM-DEMO-30 .contact-form label:nth-child(5),
#FORM-DEMO-30 .contact-form label:nth-child(6),
#FORM-DEMO-30 .contact-form button {
  grid-column: 1 / -1;
}
#FORM-DEMO-30 input,
#FORM-DEMO-30 select,
#FORM-DEMO-30 textarea {
  width: 100%;
  min-height: 50px;
  border: 0;
  border-radius: 0;
  background: var(--color-light);
  color: var(--color-dark);
  padding: 13px 14px;
  outline: 0;
  font: inherit;
  transition: background .25s ease;
}
#FORM-DEMO-30 textarea { resize: vertical; min-height: 124px; }
#FORM-DEMO-30 input:focus,
#FORM-DEMO-30 select:focus,
#FORM-DEMO-30 textarea:focus {
  background: var(--color-white);
}
#FORM-DEMO-30 .btn {
  min-height: 52px;
  border: 0;
  border-radius: 0;
  padding: 14px 22px;
  background: var(--color-key);
  color:var(--pb-theme-white,var(--color-white));
  font-weight: 900;
  cursor: pointer;
  letter-spacing: -.01em;
  transition: transform .25s ease, background .25s ease;
}
#FORM-DEMO-30 .btn:hover {
  transform: translateY(-2px);
  background: var(--color-dark);
}
#FORM-DEMO-30 .full { width: 100%; }

@media (max-width: 900px) {
  #FORM-DEMO-30 .section { padding: 64px 24px; }
  #FORM-DEMO-30 .contact-grid { grid-template-columns: 1fr; gap: 42px; }
  #FORM-DEMO-30 .contact-form { grid-template-columns: 1fr; padding: 24px; }
  #FORM-DEMO-30 .contact-form label:nth-child(5),
  #FORM-DEMO-30 .contact-form label:nth-child(6),
  #FORM-DEMO-30 .contact-form button { grid-column: auto; }
}

/* ===============================
   DEMO 02 · FORMULARIO CON CHECKLIST Y PRIORIDAD
================================ */
#FORM-DEMO-31 {
  --demo-dark: var(--color-dark);
  --demo-text: var(--color-dark);
  --demo-key: var(--color-key);
  --demo-key-dark: var(--color-dark);
  --demo-light: var(--color-light);
  --demo-white: var(--color-white);
  --demo-muted: var(--color-muted);
  --demo-line: var(--color-line);
  --demo-shadow: none;
  --demo-text-label: var(--micro);
  --demo-text-small: var(--small);
  --demo-text-body: var(--body);
  --demo-text-h2: var(--h2);
  font-family: var(--font-main);
}
#FORM-DEMO-31 .section {
  width: 100%;
  padding: clamp(72px, 8vw, 120px) 42px;
}
#FORM-DEMO-31 .contact {
  background: var(--color-light);
  color: var(--color-dark);
}
#FORM-DEMO-31 .wrap {
  width: min(100%, 1440px);
  margin: 0 auto;
}
#FORM-DEMO-31 .contact-grid {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 74px;
  align-items: center;
}
#FORM-DEMO-31 .contact-copy {
  max-width: 620px;
}
#FORM-DEMO-31 .section-label {
  margin: 0 0 14px;
  color: var(--color-key);
  font-size: var(--micro);
  font-weight:500;
  letter-spacing: .26em;
  line-height: 1.4;
  text-transform: uppercase;
}
#FORM-DEMO-31 h2 {
  margin: 0;
  color: var(--color-dark);
  font-size: var(--h2);
  line-height: .98;
  letter-spacing: -.06em;
  font-weight: 900;
}
#FORM-DEMO-31 p {
  margin: 16px 0 0;
  color: var(--color-muted);
  font-size: var(--body);
  line-height: 1.75;
}
#FORM-DEMO-31 .contact-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}
#FORM-DEMO-31 .contact-action {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 0;
  padding: 12px 18px;
  color: var(--color-dark);
  text-decoration: none;
  font-size: var(--small);
  font-weight: 900;
  border: 0;
  background: var(--color-white);
}
#FORM-DEMO-31 .contact-action.primary {
  background: var(--color-key);
  color:var(--pb-theme-white,var(--color-white));
}
#FORM-DEMO-31 .contact-action.secondary:hover,
#FORM-DEMO-31 .contact-action.primary:hover {
  transform: translateY(-2px);
}
#FORM-DEMO-31 .contact-checklist {
  display: grid;
  gap: 14px;
  margin: 34px 0 0;
  padding: 0;
  list-style: none;
}
#FORM-DEMO-31 .contact-checklist li {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 12px;
  align-items: start;
  color: var(--color-dark);
  font-size: var(--body);
  line-height: 1.55;
  font-weight: 700;
}
#FORM-DEMO-31 .contact-checklist span {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 0;
  background: var(--color-white);
  color: var(--color-key);
  box-shadow: none;
}
#FORM-DEMO-31 .contact-form {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
  background: var(--color-white);
  padding: 34px;
  box-shadow: none;
  border: 0;
  border-radius: 0;
}
#FORM-DEMO-31 .contact-form-title {
  grid-column: 1 / -1;
  margin: 0 0 2px;
  color: var(--color-dark);
  font-size: var(--h5);
  line-height: 1.15;
  letter-spacing: -.035em;
  font-weight: 900;
}
#FORM-DEMO-31 .contact-form label {
  display: grid;
  gap: 8px;
  color: var(--color-dark);
  font-size: var(--small);
  font-weight: 700;
}
#FORM-DEMO-31 .contact-form label:nth-child(6),
#FORM-DEMO-31 .contact-form label:nth-child(7),
#FORM-DEMO-31 .contact-form .form-message,
#FORM-DEMO-31 .contact-form button {
  grid-column: 1 / -1;
}
#FORM-DEMO-31 input,
#FORM-DEMO-31 select,
#FORM-DEMO-31 textarea {
  width: 100%;
  min-height: 52px;
  border: 0;
  border-radius: 0;
  background: var(--color-light);
  color: var(--color-dark);
  padding: 13px 14px;
  outline: 0;
  font: inherit;
  transition: background .25s ease;
}
#FORM-DEMO-31 textarea { resize: vertical; min-height: 124px; }
#FORM-DEMO-31 input:focus,
#FORM-DEMO-31 select:focus,
#FORM-DEMO-31 textarea:focus {
  background: var(--color-white);
}
#FORM-DEMO-31 .btn {
  min-height: 54px;
  border: 0;
  border-radius: 0;
  padding: 15px 22px;
  background: var(--color-key);
  color:var(--pb-theme-white,var(--color-white));
  font-weight: 900;
  cursor: pointer;
  letter-spacing: -.01em;
  transition: transform .25s ease, background .25s ease;
}
#FORM-DEMO-31 .btn:hover {
  transform: translateY(-2px);
  background: var(--color-dark);
}
#FORM-DEMO-31 .full { width: 100%; }

@media (max-width: 900px) {
  #FORM-DEMO-31 .section { padding: 64px 24px; }
  #FORM-DEMO-31 .contact-grid { grid-template-columns: 1fr; gap: 42px; align-items: start; }
  #FORM-DEMO-31 .contact-form { grid-template-columns: 1fr; padding: 24px; }
  #FORM-DEMO-31 .contact-form label:nth-child(6),
  #FORM-DEMO-31 .contact-form label:nth-child(7),
  #FORM-DEMO-31 .contact-form .form-message,
  #FORM-DEMO-31 .contact-form button,
  #FORM-DEMO-31 .contact-form-title { grid-column: auto; }
}



/* CTA / LLAMADOS A LA ACCIÓN */
.cta-menu-title {
  width: 100%;
  padding: 56px 0 18px;
  background: var(--color-dark);
  border-bottom: 1px solid var(--color-line);
}
.cta-menu-title h2 {
  margin: 0;
  color: var(--color-white);
  font-family: var(--font-main);
  font-size: var(--h2);
  line-height: 1.05;
  letter-spacing: -.045em;
}
.cta-section {
  width: 100%;
  padding-top: 20px;
  background: var(--color-dark);
  border-bottom: 1px solid var(--color-line);
}
.cta-real {
  width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: var(--color-white);
  color: var(--color-dark);
  border-top: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);
}

/* ===============================
   ESTILOS CTA BASE
================================ */

.cta-real .cta {
  width: 100%;
  min-height: 360px;
}

.cta-real .cta h2 {
  margin: 0;
  font-family: var(--font-main);
  font-weight: 700;
}

.cta-real .cta p {
  margin: 0;
}

.cta-real .cta-inner {
  width: min(1440px, 100%);
  margin: 0 auto;
}

.cta-real .cta-label {
  display: block;
  margin-bottom: 14px;
  color: var(--color-key);
  font-size: var(--micro);
  font-weight: 700;
  letter-spacing: .16em;
  line-height: 1.45;
  text-transform: uppercase;
}

.cta-real .cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 0 28px;
  border: 1px solid transparent;
  font-size: var(--small);
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  transition: transform .25s ease, background .25s ease, color .25s ease, border-color .25s ease;
}

.cta-real .cta-btn:hover {
  transform: translateY(-2px);
}

.cta-real .cta-btn-light {
  background: var(--color-white);
  color: var(--color-dark);
}

.cta-real .cta-btn-light:hover {
  background: var(--color-dark);
  color: var(--color-white);
}

.cta-real .cta-btn-dark {
  background: var(--color-dark);
  color: var(--color-white);
}

.cta-real .cta-btn-dark:hover {
  background: var(--color-key);
  color:var(--pb-theme-white,var(--color-white));
}

.cta-real .cta-btn-outline-light {
  border-color: var(--color-line);
  background: transparent;
  color: var(--color-white);
}

.cta-real .cta-btn-outline-light:hover {
  background: var(--color-white);
  color: var(--color-dark);
}

.cta-real .cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

#CTA-DEMO-01 .cta-classic {
  padding: 96px 42px;
  background: var(--color-key);
  color:var(--pb-theme-white,var(--color-white));
}

#CTA-DEMO-01 .cta-inner {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 42px;
}

#CTA-DEMO-01 h2 {
  max-width: 820px;
  color: var(--color-white);
  font-size: var(--h1);
  line-height: .98;
  letter-spacing: -.065em;
}

#CTA-DEMO-01 p {
  margin-top: 18px;
  max-width: 620px;
  color: var(--color-line);
  font-size: var(--card);
  line-height: 1.7;
}

#CTA-DEMO-02 .cta-centered {
  padding: 110px 42px;
  background: var(--color-white);
  color: var(--color-dark);
  text-align: center;
}

#CTA-DEMO-02 .cta-inner {
  width: min(980px, 100%);
}

#CTA-DEMO-02 h2 {
  color: var(--color-dark);
  font-size: var(--h1);
  line-height: 1;
  letter-spacing: -.06em;
}

#CTA-DEMO-02 p {
  width: min(620px, 100%);
  margin: 20px auto 30px;
  color: var(--color-muted);
  font-size: var(--card);
  line-height: 1.7;
}

#CTA-DEMO-03 .cta-dark {
  padding: 104px 42px;
  background:
    radial-gradient(circle at 82% 18%, transparent, transparent 28%),
    var(--color-dark);
  color: var(--color-white);
}

#CTA-DEMO-03 .cta-inner {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: 48px;
}

#CTA-DEMO-03 .cta-label {
  color: var(--color-line);
}

#CTA-DEMO-03 h2 {
  max-width: 850px;
  color: var(--color-white);
  font-size: var(--h1);
  line-height: .96;
  letter-spacing: -.07em;
}

#CTA-DEMO-03 p {
  max-width: 620px;
  margin-top: 18px;
  color: var(--color-line);
  font-size: var(--card);
  line-height: 1.7;
}

#CTA-DEMO-04 .cta-photo {
  min-height: 520px;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 20%, transparent), color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 12%, transparent)),
    url("https://images.unsplash.com/photo-1497366754035-f200968a6e72?auto=format&fit=crop&w=1800&q=80") center/cover;
  color: var(--color-white);
}

#CTA-DEMO-04 .cta-overlay {
  min-height: 520px;
  display: grid;
  align-items: center;
  padding: 96px 42px;
  background: linear-gradient(90deg, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 88%, transparent), color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 44%, transparent), color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 20%, transparent));
}

#CTA-DEMO-04 .cta-inner {
  margin: 0 auto;
}

#CTA-DEMO-04 .cta-label {
  color: var(--color-line);
}

#CTA-DEMO-04 h2 {
  max-width: 840px;
  color: var(--color-white);
  font-size: var(--h1);
  line-height: .96;
  letter-spacing: -.07em;
}

#CTA-DEMO-04 p {
  max-width: 590px;
  margin: 20px 0 30px;
  color: var(--color-line);
  font-size: var(--card);
  line-height: 1.7;
}

#CTA-DEMO-05 .cta-card-wrap {
  padding: 96px 42px;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at 70% 28%, transparent, transparent 32%),
    var(--color-light);
}

#CTA-DEMO-05 .cta-card {
  width: min(1180px, 100%);
  min-height: 340px;
  padding: 58px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: 42px;
  background: var(--color-white);
  border: 1px solid var(--color-line);
  box-shadow: var(--shadow);
}

#CTA-DEMO-05 h2 {
  max-width: 780px;
  color: var(--color-dark);
  font-size: var(--h1);
  line-height: 1;
  letter-spacing: -.06em;
}

#CTA-DEMO-05 p {
  max-width: 590px;
  margin-top: 18px;
  color: var(--color-muted);
  font-size: var(--body);
  line-height: 1.7;
}

#CTA-DEMO-06 .cta-strip {
  min-height: auto;
  padding: 42px;
  background: var(--color-white);
  color: var(--color-dark);
}

#CTA-DEMO-06 .cta-inner {
  min-height: 128px;
  padding: 32px 0;
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  align-items: center;
  gap: 24px;
  border-top: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);
}

#CTA-DEMO-06 h2 {
  color: var(--color-dark);
  font-size: var(--h3);
  line-height: 1.05;
  letter-spacing: -.045em;
}

#CTA-DEMO-06 p {
  color: var(--color-muted);
  font-size: var(--body);
  line-height: 1.65;
}

#CTA-DEMO-07 .cta-stats {
  padding: 96px 42px;
  background: var(--color-white);
  color: var(--color-dark);
}

#CTA-DEMO-07 .cta-inner {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 56px;
  align-items: center;
}

#CTA-DEMO-07 h2 {
  max-width: 780px;
  color: var(--color-dark);
  font-size: var(--h1);
  line-height: .98;
  letter-spacing: -.065em;
}

#CTA-DEMO-07 p {
  max-width: 590px;
  margin: 18px 0 30px;
  color: var(--color-muted);
  font-size: var(--body);
  line-height: 1.7;
}

#CTA-DEMO-07 .cta-stat-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}

#CTA-DEMO-07 .cta-stat-grid article {
  padding: 24px;
  display: grid;
  grid-template-columns: 80px 1fr;
  align-items: center;
  gap: 18px;
  background: var(--color-light);
  border: 1px solid var(--color-line);
}

#CTA-DEMO-07 .cta-stat-grid strong {
  color: var(--color-key);
  font-size: var(--h4);
  line-height: 1;
  letter-spacing: -.04em;
}

#CTA-DEMO-07 .cta-stat-grid span {
  color: var(--color-dark);
  font-size: var(--card);
  font-weight: 700;
  line-height: 1.2;
}










#CTA-DEMO-09 .cta-contact {
  padding: 104px 42px;
  background: var(--color-white);
  color: var(--color-dark);
}

#CTA-DEMO-09 .cta-inner {
  display: grid;
  grid-template-columns: 1fr .8fr;
  align-items: end;
  gap: 60px;
}

#CTA-DEMO-09 h2 {
  max-width: 760px;
  color: var(--color-dark);
  font-size: var(--h1);
  line-height: .95;
  letter-spacing: -.075em;
}

#CTA-DEMO-09 p {
  max-width: 540px;
  margin-top: 18px;
  color: var(--color-muted);
  font-size: var(--card);
  line-height: 1.7;
}

#CTA-DEMO-09 .cta-contact-list {
  display: grid;
  border-top: 1px solid var(--color-line);
}

#CTA-DEMO-09 .cta-contact-list a {
  min-height: 76px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--color-line);
  color: var(--color-dark);
  font-size: var(--h4);
  font-weight: 700;
  letter-spacing: -.04em;
  transition: color .25s ease, padding .25s ease;
}

#CTA-DEMO-09 .cta-contact-list a::after {
  content: "↗";
  color: var(--color-key);
}

#CTA-DEMO-09 .cta-contact-list a:hover {
  color: var(--color-key);
  padding-left: 16px;
}

#CTA-DEMO-10 .cta-form {
  padding: 96px 42px;
  background: var(--color-dark);
  color: var(--color-white);
}

#CTA-DEMO-10 .cta-inner {
  display: grid;
  grid-template-columns: 1fr 460px;
  gap: 58px;
  align-items: center;
}

#CTA-DEMO-10 .cta-label {
  color: var(--color-line);
}

#CTA-DEMO-10 h2 {
  max-width: 760px;
  color: var(--color-white);
  font-size: var(--h1);
  line-height: .98;
  letter-spacing: -.065em;
}

#CTA-DEMO-10 p {
  max-width: 560px;
  margin-top: 18px;
  color: var(--color-line);
  font-size: var(--body);
  line-height: 1.7;
}

#CTA-DEMO-10 .cta-form-box {
  padding: 28px;
  display: grid;
  gap: 12px;
  background: var(--color-white);
  border: 1px solid var(--color-line);
}

#CTA-DEMO-10 input {
  width: 100%;
  min-height: 54px;
  padding: 0 16px;
  border: 1px solid var(--color-line);
  background: var(--color-light);
  color: var(--color-dark);
  outline: 0;
}

#CTA-DEMO-10 input:focus {
  border-color: var(--color-key);
}

#CTA-DEMO-10 button {
  min-height: 54px;
  border: 0;
  background: var(--color-key);
  color:var(--pb-theme-white,var(--color-white));
  font-size: var(--small);
  font-weight: 900;
  cursor: pointer;
  transition: background .25s ease, transform .25s ease;
}

#CTA-DEMO-10 button:hover {
  background: var(--color-dark);
  transform: translateY(-2px);
}

#CTA-DEMO-11 .cta-final {
  padding: 124px 42px;
  background:
    linear-gradient(135deg, transparent, transparent 34%),
    var(--color-dark);
  color: var(--color-white);
  text-align: center;
}

#CTA-DEMO-11 .cta-inner {
  width: min(980px, 100%);
}

#CTA-DEMO-11 .cta-label {
  color: var(--color-line);
}

#CTA-DEMO-11 h2 {
  color: var(--color-white);
  font-size: var(--h1);
  line-height: .92;
  letter-spacing: -.08em;
}

#CTA-DEMO-11 p {
  width: min(640px, 100%);
  margin: 22px auto 34px;
  color: var(--color-line);
  font-size: var(--card);
  line-height: 1.7;
}

@media (max-width: 1100px) {
  #CTA-DEMO-03 .cta-inner,
  #CTA-DEMO-05 .cta-card,
  #CTA-DEMO-07 .cta-inner,
  #CTA-DEMO-09 .cta-inner,
  #CTA-DEMO-10 .cta-inner {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  #CTA-DEMO-01 .cta-classic,
  #CTA-DEMO-02 .cta-centered,
  #CTA-DEMO-03 .cta-dark,
  #CTA-DEMO-05 .cta-card-wrap,
  #CTA-DEMO-07 .cta-stats,
  #CTA-DEMO-09 .cta-contact,
  #CTA-DEMO-10 .cta-form,
  #CTA-DEMO-11 .cta-final {
    padding: 72px 28px;
  }

  #CTA-DEMO-01 .cta-inner {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  #CTA-DEMO-04 .cta-overlay {
    padding: 72px 28px;
  }

  #CTA-DEMO-06 .cta-strip {
    padding: 34px 28px;
  }

  #CTA-DEMO-06 .cta-inner {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  #CTA-DEMO-10 .cta-inner {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .cta-real .cta-btn {
    width: 100%;
  }

  #CTA-DEMO-01 .cta-classic,
  #CTA-DEMO-02 .cta-centered,
  #CTA-DEMO-03 .cta-dark,
  #CTA-DEMO-05 .cta-card-wrap,
  #CTA-DEMO-07 .cta-stats,
  #CTA-DEMO-09 .cta-contact,
  #CTA-DEMO-10 .cta-form,
  #CTA-DEMO-11 .cta-final {
    padding: 64px 18px;
  }

  #CTA-DEMO-04 .cta-overlay {
    padding: 64px 18px;
  }

  #CTA-DEMO-05 .cta-card {
    padding: 34px 24px;
  }

  #CTA-DEMO-09 .cta-contact-list a {
    min-height: 64px;
    font-size: var(--h5);
  }
}



/* ===============================
   LOGOS DE CLIENTES · INSERTADO
================================ */
.logos-clientes-embed * { box-sizing: border-box; }

.logos-clientes-embed a { color: inherit; text-decoration: none; }

.logos-clientes-embed .template-title {
  width: 100%;
  padding: 56px 0 18px;
  background: var(--color-dark);
  border-bottom: 1px solid var(--color-line);
}

.logos-clientes-embed .template-title h2 {
  margin: 0;
  color: var(--color-white);
  font-size: var(--h2);
  line-height: 1.05;
  letter-spacing: -.045em;
}

.logos-clientes-embed .template-item {
  width: 100%;
  padding-top: 20px;
  background: var(--color-dark);
  border-bottom: 1px solid var(--color-line);
}

.logos-clientes-embed .menu-row {
  width: 100%;
  padding-left: 42px;
  padding-right: 42px;
}

.logos-clientes-embed .row-number { padding-bottom: 8px; }

.logos-clientes-embed .menu-number {
  display: block;
  color: var(--color-key);
  font-size: var(--micro);
  font-weight: 400;
  letter-spacing: .16em;
  line-height: 1.45;
  text-transform: uppercase;
}

.logos-clientes-embed .row-info {
  display: grid;
  grid-template-columns: minmax(280px, 35%) minmax(420px, 1fr);
  column-gap: 42px;
  align-items: start;
  padding-bottom: 20px;
}

.logos-clientes-embed .row-info h3 {
  max-width: 620px;
  margin: 0;
  color: var(--color-white);
  font-size: var(--h3);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -.025em;
}

.logos-clientes-embed .request-copy {
  max-width: 980px;
  margin: 0;
  color: var(--color-line);
  font-size: var(--small);
  line-height: 1.65;
}

.logos-clientes-embed .request-copy strong {
  color: var(--color-white);
  font-weight: 700;
}

.logos-clientes-embed .template-demo {
  width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: var(--color-white);
  color: var(--color-dark);
  border-top: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);
}

@media (max-width: 900px) {
.logos-clientes-embed .menu-row {
    padding-left: 24px;
    padding-right: 24px;
  }

.logos-clientes-embed .row-info {
    grid-template-columns: 1fr;
    row-gap: 12px;
  }
}

@media (max-width: 520px) {
.logos-clientes-embed .menu-row {
    padding-left: 18px;
    padding-right: 18px;
  }
}

.logos-clientes-embed .logo-section {
  width: 100%;
  background: var(--color-white);
  color: var(--color-dark);
}

.logos-clientes-embed .logo-inner {
  width: min(1440px, 100%);
  margin: 0 auto;
  padding: 86px 42px;
}

.logos-clientes-embed .logo-head {
  max-width: 760px;
  margin-bottom: 42px;
}

.logos-clientes-embed .logo-eyebrow {
  display: block;
  margin-bottom: 12px;
  color: var(--color-key);
  font-size: var(--micro);
  font-weight:500;
  letter-spacing: .16em;
  line-height: 1.45;
  text-transform: uppercase;
}

.logos-clientes-embed .logo-head h2 {
  margin: 0;
  color: var(--color-dark);
  font-size: var(--h1);
  line-height: 1;
  letter-spacing: -.055em;
}

.logos-clientes-embed .logo-head p {
  max-width: 620px;
  margin: 16px 0 0;
  color: var(--color-muted);
  font-size: var(--body);
  line-height: 1.7;
}

.logos-clientes-embed .client-logo {
  min-height: 112px;
  display: grid;
  place-items: center;
  padding: 24px;
  border: 1px solid var(--color-line);
  background: var(--color-white);
  color: var(--color-dark);
  font-size: var(--small);
  font-weight: 900;
  letter-spacing: -.035em;
  line-height: 1;
  text-align: center;
  transition: transform .25s ease, background .25s ease, color .25s ease, border-color .25s ease, opacity .25s ease, filter .25s ease;
}

.logos-clientes-embed .client-logo span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
}

.logos-clientes-embed .client-logo:hover {
  transform: translateY(-4px);
  border-color: var(--color-key);
  color: var(--color-key);
}

.logos-clientes-embed .logo-grid {
  display: grid;
  gap: 14px;
}

.logos-clientes-embed .logo-grid-5 {
  grid-template-columns: repeat(5, 1fr);
}

.logos-clientes-embed .logo-grid-6 {
  grid-template-columns: repeat(6, 1fr);
}

.logos-clientes-embed #LOGO-DEMO-01 .client-logo {
  min-height: 128px;
}

.logos-clientes-embed #LOGO-DEMO-02 .logo-inner {
  padding-top: 74px;
  padding-bottom: 74px;
}

.logos-clientes-embed #LOGO-DEMO-02 .client-logo {
  min-height: 104px;
  background: var(--color-light);
}

.logos-clientes-embed #LOGO-DEMO-03 .logo-section {
  background: var(--color-white);
}

.logos-clientes-embed #LOGO-DEMO-03 .logo-inner {
  width: 100%;
  max-width: none;
  padding: 82px 0;
}

.logos-clientes-embed #LOGO-DEMO-03 .logo-head {
  width: min(1440px, 100%);
  margin: 0 auto 36px;
  padding: 0 42px;
}

.logos-clientes-embed .marquee {
  width: 100%;
  overflow: hidden;
  position: relative;
  border-top: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);
  background: var(--color-light);
}

.logos-clientes-embed .marquee::before,
.logos-clientes-embed .marquee::after {
  content: "";
  position: absolute;
  top: 0;
  z-index: 2;
  width: 120px;
  height: 100%;
  pointer-events: none;
}

.logos-clientes-embed .marquee::before {
  left: 0;
  background: linear-gradient(90deg, var(--color-light), transparent);
}

.logos-clientes-embed .marquee::after {
  right: 0;
  background: linear-gradient(-90deg, var(--color-light), transparent);
}

.logos-clientes-embed .marquee-track {
  width: max-content;
  display: flex;
  gap: 18px;
  padding: 22px 18px;
  animation: logos-marquee-left 26s linear infinite;
}

.logos-clientes-embed .marquee:hover .marquee-track {
  animation-play-state: paused;
}

.logos-clientes-embed .marquee-logo {
  width: 220px;
  min-height: 112px;
  flex: 0 0 220px;
}

@keyframes logos-marquee-left {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

.logos-clientes-embed #LOGO-DEMO-04 .logo-section {
  background: var(--color-dark);
  color: var(--color-white);
}

.logos-clientes-embed #LOGO-DEMO-04 .logo-head h2 {
  color: var(--color-white);
}

.logos-clientes-embed #LOGO-DEMO-04 .logo-head p {
  color: var(--color-line);
}

.logos-clientes-embed #LOGO-DEMO-04 .logo-eyebrow {
  color: var(--color-line);
}

.logos-clientes-embed #LOGO-DEMO-04 .marquee {
  border-color: var(--color-line);
  background: var(--color-line);
}

.logos-clientes-embed #LOGO-DEMO-04 .marquee::before {
  background: linear-gradient(90deg, var(--pb-theme-dark,var(--color-dark)), transparent);
}

.logos-clientes-embed #LOGO-DEMO-04 .marquee::after {
  background: linear-gradient(-90deg, var(--pb-theme-dark,var(--color-dark)), transparent);
}

.logos-clientes-embed #LOGO-DEMO-04 .client-logo {
  background: var(--color-line);
  border-color: var(--color-line);
  color: var(--color-white);
}

.logos-clientes-embed #LOGO-DEMO-04 .client-logo:hover {
  color: var(--color-white);
  background: var(--color-line);
}

.logos-clientes-embed #LOGO-DEMO-04 .marquee + .marquee {
  margin-top: 14px;
}

.logos-clientes-embed #LOGO-DEMO-04 .marquee-track.reverse {
  animation: logos-marquee-right 30s linear infinite;
}

@keyframes logos-marquee-right {
  from { transform: translateX(-50%); }
  to { transform: translateX(0); }
}

.logos-clientes-embed #LOGO-DEMO-05 .logo-section {
  background:
    radial-gradient(circle at 80% 20%, transparent, transparent 28%),
    var(--color-light);
}

.logos-clientes-embed #LOGO-DEMO-05 .client-logo {
  min-height: 140px;
  background: var(--color-white);
  box-shadow: 0 18px 42px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 6%, transparent);
}

.logos-clientes-embed #LOGO-DEMO-05 .client-logo:nth-child(even) {
  transform: translateY(18px);
}

.logos-clientes-embed #LOGO-DEMO-05 .client-logo:nth-child(even):hover {
  transform: translateY(14px);
}

.logos-clientes-embed #LOGO-DEMO-06 .client-logo {
  min-height: 118px;
  opacity: .62;
  filter: grayscale(1);
  background: transparent;
}

.logos-clientes-embed #LOGO-DEMO-06 .client-logo:hover {
  opacity: 1;
  filter: grayscale(0);
  background: var(--color-light);
}

.logos-clientes-embed #LOGO-DEMO-07 .logo-section {
  background: var(--color-dark);
  color: var(--color-white);
}

.logos-clientes-embed #LOGO-DEMO-07 .logo-head h2 {
  color: var(--color-white);
}

.logos-clientes-embed #LOGO-DEMO-07 .logo-head p {
  color: var(--color-line);
}

.logos-clientes-embed #LOGO-DEMO-07 .logo-eyebrow {
  color: var(--color-line);
}

.logos-clientes-embed #LOGO-DEMO-07 .client-logo {
  min-height: 112px;
  background: var(--color-line);
  border-color: var(--color-line);
  color: var(--color-line);
}

.logos-clientes-embed #LOGO-DEMO-07 .client-logo:hover {
  background: var(--color-key);
  color:var(--pb-theme-white,var(--color-white));
  border-color: var(--color-key);
}

.logos-clientes-embed #LOGO-DEMO-08 .logo-mosaic {
  display: grid;
  grid-template-columns: 1.3fr repeat(3, 1fr);
  gap: 14px;
}

.logos-clientes-embed #LOGO-DEMO-08 .client-logo {
  min-height: 132px;
  background: var(--color-light);
}

.logos-clientes-embed #LOGO-DEMO-08 .client-logo.featured {
  grid-row: span 2;
  min-height: 278px;
  background: var(--color-key);
  color:var(--pb-theme-white,var(--color-white));
  font-size: var(--h5);
  letter-spacing: -.05em;
}

.logos-clientes-embed #LOGO-DEMO-08 .client-logo.featured:hover {
  color: var(--color-white);
  border-color: var(--color-key);
}

.logos-clientes-embed #LOGO-DEMO-09 .logo-section {
  background: var(--color-white);
}

.logos-clientes-embed #LOGO-DEMO-09 .logo-editorial {
  border-top: 1px solid var(--color-line);
  border-left: 1px solid var(--color-line);
  display: grid;
  grid-template-columns: repeat(5, 1fr);
}

.logos-clientes-embed #LOGO-DEMO-09 .client-logo {
  min-height: 142px;
  border-top: 0;
  border-left: 0;
  border-right: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);
}

.logos-clientes-embed #LOGO-DEMO-09 .client-logo:hover {
  background: var(--color-dark);
  color: var(--color-white);
  border-color: var(--color-dark);
}

.logos-clientes-embed #LOGO-DEMO-10 .logo-section {
  background: var(--color-key);
  color:var(--pb-theme-white,var(--color-white));
}

.logos-clientes-embed #LOGO-DEMO-10 .logo-inner {
  width: 100%;
  max-width: none;
  padding: 92px 0;
}

.logos-clientes-embed #LOGO-DEMO-10 .logo-head {
  width: min(1440px, 100%);
  margin: 0 auto 34px;
  padding: 0 42px;
}

.logos-clientes-embed #LOGO-DEMO-10 .logo-head h2 {
  color: var(--color-white);
}

.logos-clientes-embed #LOGO-DEMO-10 .logo-head p {
  color: var(--color-line);
}

.logos-clientes-embed #LOGO-DEMO-10 .logo-eyebrow {
  color: var(--color-line);
}

.logos-clientes-embed #LOGO-DEMO-10 .marquee {
  background: var(--color-line);
  border-color: var(--color-line);
}

.logos-clientes-embed #LOGO-DEMO-10 .marquee::before {
  background: linear-gradient(90deg, var(--color-key), transparent);
}

.logos-clientes-embed #LOGO-DEMO-10 .marquee::after {
  background: linear-gradient(-90deg, var(--color-key), transparent);
}

.logos-clientes-embed #LOGO-DEMO-10 .marquee-track {
  animation-duration: 22s;
}

.logos-clientes-embed #LOGO-DEMO-10 .marquee-logo {
  width: 280px;
  flex-basis: 280px;
  min-height: 136px;
}

.logos-clientes-embed #LOGO-DEMO-10 .client-logo {
  background: var(--color-white);
  border-color: var(--color-line);
  color: var(--color-dark);
  font-size: var(--body);
}

.logos-clientes-embed #LOGO-DEMO-10 .client-logo:hover {
  background: var(--color-dark);
  color: var(--color-white);
}

@media (max-width: 1100px) {
.logos-clientes-embed .logo-grid-5,
.logos-clientes-embed #LOGO-DEMO-09 .logo-editorial {
    grid-template-columns: repeat(3, 1fr);
  }

.logos-clientes-embed .logo-grid-6 {
    grid-template-columns: repeat(3, 1fr);
  }

.logos-clientes-embed #LOGO-DEMO-08 .logo-mosaic {
    grid-template-columns: repeat(2, 1fr);
  }

.logos-clientes-embed #LOGO-DEMO-08 .client-logo.featured {
    grid-column: 1 / -1;
    min-height: 220px;
  }
}

@media (max-width: 720px) {
.logos-clientes-embed .logo-inner {
    padding: 64px 18px;
  }

.logos-clientes-embed #LOGO-DEMO-03 .logo-head,
.logos-clientes-embed #LOGO-DEMO-10 .logo-head {
    padding: 0 18px;
  }

.logos-clientes-embed .logo-grid-5,
.logos-clientes-embed .logo-grid-6,
.logos-clientes-embed #LOGO-DEMO-09 .logo-editorial,
.logos-clientes-embed #LOGO-DEMO-08 .logo-mosaic {
    grid-template-columns: repeat(2, 1fr);
  }

.logos-clientes-embed .client-logo {
    min-height: 96px;
    padding: 18px;
  }

.logos-clientes-embed .marquee-logo {
    width: 180px;
    flex-basis: 180px;
  }

.logos-clientes-embed #LOGO-DEMO-10 .marquee-logo {
    width: 220px;
    flex-basis: 220px;
  }

.logos-clientes-embed .marquee::before,
.logos-clientes-embed .marquee::after {
    width: 60px;
  }
}

@media (max-width: 480px) {
.logos-clientes-embed .logo-grid-5,
.logos-clientes-embed .logo-grid-6,
.logos-clientes-embed #LOGO-DEMO-09 .logo-editorial,
.logos-clientes-embed #LOGO-DEMO-08 .logo-mosaic {
    grid-template-columns: 1fr;
  }
}

.logos-clientes-embed #LOGO-DEMO-05 .split-showcase {
  width: 100%;
  min-height: 100vh;
  display: grid;
  grid-template-columns: 50% 50%;
  background: var(--color-white);
  color: var(--color-dark);
}

@supports (min-height: 100dvh) {
.logos-clientes-embed #LOGO-DEMO-05 .split-showcase {
    min-height: 100dvh;
  }
}

.logos-clientes-embed #LOGO-DEMO-05 .split-copy {
  min-height: 100vh;
  padding: clamp(56px, 7vw, 112px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: var(--color-dark);
  color: var(--color-white);
}

.logos-clientes-embed #LOGO-DEMO-05 .split-copy .logo-eyebrow {
  color: var(--color-line);
}

.logos-clientes-embed #LOGO-DEMO-05 .split-copy h2 {
  max-width: 680px;
  margin: 0;
  color: var(--color-white);
  font-size: var(--h1);
  line-height: .92;
  letter-spacing: -.08em;
}

.logos-clientes-embed #LOGO-DEMO-05 .split-copy p {
  max-width: 560px;
  margin: 24px 0 0;
  color: var(--color-line);
  font-size: var(--card);
  line-height: 1.75;
}

.logos-clientes-embed #LOGO-DEMO-05 .split-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 34px;
}

.logos-clientes-embed #LOGO-DEMO-05 .split-btn {
  min-height: 56px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 28px;
  border: 1px solid transparent;
  background: var(--color-white);
  color: var(--color-dark);
  font-size: var(--small);
  font-weight: 900;
  line-height: 1;
  transition: transform .25s ease, background .25s ease, color .25s ease, border-color .25s ease;
}

.logos-clientes-embed #LOGO-DEMO-05 .split-btn:hover {
  transform: translateY(-2px);
  background: var(--color-key);
  color:var(--pb-theme-white,var(--color-white));
}

.logos-clientes-embed #LOGO-DEMO-05 .split-btn-secondary {
  background: transparent;
  color: var(--color-white);
  border-color: var(--color-line);
}

.logos-clientes-embed #LOGO-DEMO-05 .split-btn-secondary:hover {
  background: var(--color-white);
  color: var(--color-dark);
}

.logos-clientes-embed #LOGO-DEMO-05 .split-logo-panel {
  min-height: 100vh;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(6, 1fr);
  gap: 0;
  background: var(--color-white);
  border-left: 1px solid var(--color-line);
}

.logos-clientes-embed #LOGO-DEMO-05 .split-logo {
  min-height: 0;
  display: grid;
  place-items: center;
  padding: clamp(16px, 2vw, 28px);
  min-width: 0;
  border-right: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);
  background: var(--color-white);
  color: var(--color-dark);
  font-size: var(--small);
  font-weight: 900;
  line-height: 1;
  letter-spacing: -.035em;
  text-align: center;
  transition: background .25s ease, color .25s ease;
}

.logos-clientes-embed #LOGO-DEMO-05 .split-logo:hover {
  background: var(--color-key);
  color:var(--pb-theme-white,var(--color-white));
}

.logos-clientes-embed #LOGO-DEMO-05 .split-logo:nth-child(4n + 2),
.logos-clientes-embed #LOGO-DEMO-05 .split-logo:nth-child(4n + 3) {
  background: var(--color-light);
}

.logos-clientes-embed #LOGO-DEMO-05 .split-logo:nth-child(4n + 2):hover,
.logos-clientes-embed #LOGO-DEMO-05 .split-logo:nth-child(4n + 3):hover {
  background: var(--color-key);
}

.logos-clientes-embed #LOGO-DEMO-05 .split-logo.dark {
  background: var(--color-dark);
  color: var(--color-white);
}

@media (max-width: 1100px) {
.logos-clientes-embed #LOGO-DEMO-05 .split-showcase {
    grid-template-columns: 1fr;
    min-height: auto;
  }

.logos-clientes-embed #LOGO-DEMO-05 .split-copy {
    min-height: auto;
    padding: 84px 42px;
  }

.logos-clientes-embed #LOGO-DEMO-05 .split-logo-panel {
    min-height: 620px;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(6, 1fr);
  }
}

@media (max-width: 720px) {
.logos-clientes-embed #LOGO-DEMO-05 .split-copy {
    padding: 72px 24px;
  }

.logos-clientes-embed #LOGO-DEMO-05 .split-logo-panel {
    min-height: auto;
    grid-template-columns: repeat(3, 1fr);
  }

.logos-clientes-embed #LOGO-DEMO-05 .split-logo {
    min-height: 110px;
  }
}

@media (max-width: 480px) {
.logos-clientes-embed #LOGO-DEMO-05 .split-logo-panel {
    grid-template-columns: repeat(2, 1fr);
  }

.logos-clientes-embed #LOGO-DEMO-05 .split-actions {
    display: grid;
  }

.logos-clientes-embed #LOGO-DEMO-05 .split-btn {
    width: 100%;
  }
}


/* Corrección cromática · Logos 03 · Marquee 8 logos full width */
.logos-clientes-embed #LOGO-DEMO-03.template-demo {
  background: var(--color-white) !important;
  color: var(--color-dark) !important;
}

.logos-clientes-embed #LOGO-DEMO-03 .logo-section {
  background: var(--color-white) !important;
  color: var(--color-dark) !important;
}

.logos-clientes-embed #LOGO-DEMO-03 .logo-head h2 {
  color: var(--color-dark) !important;
}

.logos-clientes-embed #LOGO-DEMO-03 .logo-head p {
  color: var(--color-muted) !important;
}

.logos-clientes-embed #LOGO-DEMO-03 .logo-eyebrow {
  color: var(--color-key) !important;
}

.logos-clientes-embed #LOGO-DEMO-03 .marquee {
  background: var(--color-light) !important;
  border-top-color: var(--color-line) !important;
  border-bottom-color: var(--color-line) !important;
}

.logos-clientes-embed #LOGO-DEMO-03 .marquee::before {
  background: linear-gradient(90deg, var(--color-light), transparent) !important;
}

.logos-clientes-embed #LOGO-DEMO-03 .marquee::after {
  background: linear-gradient(-90deg, var(--color-light), transparent) !important;
}

.logos-clientes-embed #LOGO-DEMO-03 .client-logo {
  background: var(--color-white) !important;
  border-color: var(--color-line) !important;
  color: var(--color-dark) !important;
  box-shadow: 0 14px 34px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 5.5%, transparent);
}

.logos-clientes-embed #LOGO-DEMO-03 .client-logo:hover {
  background: var(--color-key) !important;
  border-color: var(--color-key) !important;
  color:var(--pb-theme-white,var(--color-white)) !important;
}



/* PROBLEMA SOLUCIÓN · integración después de Catálogo */
.pain-solution-embed {--color-dark: inherit;
  --color-key: inherit;
  --color-light: inherit;
  --color-white: inherit;
  --color-muted: inherit;
  --color-line: inherit;

  --font-main: "Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-secondary: "Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;

  --text-label: var(--micro);
  --text-small: var(--small);
  --text-body: var(--body);
  --text-h3: var(--h3);
  --text-h2: var(--h2);}

.pain-solution-embed * {box-sizing: border-box;}

.pain-solution-embed {scroll-behavior: smooth;}

.pain-solution-embed {margin: 0;
  background: var(--color-dark);
  color: var(--color-white);
  font-family: var(--font-main);
  font-size: var(--body);
  line-height: 1.7;}

/* ===============================
   FORMATO MAESTRO PARA EXPLICACIONES
================================ */

.pain-solution-embed .template-title {width: 100%;
  padding: 56px 0 18px;
  background: var(--color-dark);
  border-bottom: 1px solid var(--color-line);}

.pain-solution-embed .template-title h2 {margin: 0;
  color: var(--color-white);
  font-family: var(--font-main);
  font-size: var(--h2);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -.04em;}

.pain-solution-embed .template-item {width: 100%;
  padding-top: 20px;
  background: var(--color-dark);
  border-bottom: 1px solid var(--color-line);}

.pain-solution-embed .menu-row {width: 100%;
  padding-left: 42px;
  padding-right: 42px;}

.pain-solution-embed .row-number {padding-bottom: 8px;}

.pain-solution-embed .menu-number {display: block;
  color: var(--color-key);
  font-size: var(--micro);
  font-weight: 400;
  letter-spacing: .16em;
  line-height: 1.45;
  text-transform: uppercase;}

.pain-solution-embed .row-info {display: grid;
  grid-template-columns: minmax(280px, 35%) minmax(420px, 1fr);
  column-gap: 42px;
  align-items: start;
  padding-bottom: 20px;}

.pain-solution-embed .row-info h3 {max-width: 620px;
  margin: 0;
  color: var(--color-white);
  font-family: var(--font-main);
  font-size: var(--h3);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -.025em;}

.pain-solution-embed .request-copy {max-width: 980px;
  margin: 0;
  color: var(--color-line);
  font-size: var(--small);
  line-height: 1.65;}

.pain-solution-embed .request-copy strong {color: var(--color-white);
  font-weight: 700;}

.pain-solution-embed .template-demo {width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: var(--color-white);
  color: var(--color-dark);
  border-top: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);}

@media (max-width: 900px) {
.pain-solution-embed .menu-row {padding-left: 24px; padding-right: 24px;}

.pain-solution-embed .row-info {grid-template-columns: 1fr; row-gap: 12px;}

.pain-solution-embed .template-title h2 {font-size: var(--h3);}
}

/* ===============================
   DIVISIONES EXPLICATIVAS ENTRE OPCIONES
================================ */

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .option-explainer {width: 100%;
  padding-top: 20px;
  background: var(--color-dark);
  color: var(--color-white);
  border-top: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .option-explainer .row-info {padding-bottom: 20px;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .option-explainer h3 {max-width: 620px;
  margin: 0;
  color: var(--color-white);
  font-family: var(--font-main);
  font-size: var(--h3);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -.025em;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .option-explainer .request-copy {max-width: 980px;
  margin: 0;
  color: var(--color-line);
  font-size: var(--small);
  line-height: 1.65;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .option-explainer .request-copy strong {color: var(--color-white);
  font-weight: 700;}

/* ===============================
   CSS ORIGINAL / SECCIÓN AISLADA
   ID ÚNICO: #DEMO-PAIN-LAYOUTS-01
================================ */

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 {--demo-dark:var(--color-dark);
  --demo-key:var(--color-key);
  --demo-light:var(--color-light);
  --demo-white:var(--color-white);
  --demo-muted:var(--color-muted);
  --demo-line:var(--color-line);
  --demo-red:var(--color-key);
  --demo-green:var(--color-key);
  --demo-amber:var(--color-support);
  --demo-container:1180px;
  font-family: var(--font-main);
  color: var(--color-dark);
  background: var(--color-white);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 * {box-sizing: border-box;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .container {width: min(var(--demo-container), calc(100% - 40px));
  margin-inline: auto;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .layout-option {padding: 92px 0;
  background: var(--color-white);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .layout-option:nth-child(even) {background: var(--color-light);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .layout-head {display: grid;
  grid-template-columns: minmax(260px, 36%) 1fr;
  gap: 38px;
  align-items: end;
  margin-bottom: 38px;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .option-kicker {display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
  color: var(--color-key);
  font-size: var(--small);
  font-weight:500;
  letter-spacing: .18em;
  text-transform: uppercase;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .option-kicker::before {content: "";
  width: 34px;
  height: 1px;
  background: var(--color-key);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 h2, .pain-solution-embed #DEMO-PAIN-LAYOUTS-01 h3, .pain-solution-embed #DEMO-PAIN-LAYOUTS-01 h4, .pain-solution-embed #DEMO-PAIN-LAYOUTS-01 p {margin: 0;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 h2, .pain-solution-embed #DEMO-PAIN-LAYOUTS-01 h3, .pain-solution-embed #DEMO-PAIN-LAYOUTS-01 h4 {line-height: 1.05;
  letter-spacing: -.04em;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 h2 {font-size: var(--h1);
  font-weight: 500;
  color: var(--color-dark);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 h3 {font-size: var(--h4);
  font-weight: 900;
  color: var(--color-dark);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 h4 {font-size: var(--card);
  font-weight: 900;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 p {color: var(--color-muted);
  font-size: var(--small);
  line-height: 1.7;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .lead {max-width: 680px;
  font-size: var(--body);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .grid-2 {display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .grid-3 {display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .grid-4 {display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .card {position: relative;
  padding: 28px;
  background: var(--color-white);
  border: 1px solid var(--color-line);
  overflow: hidden;
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease, background .28s ease;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .card:hover {transform: translateY(-4px);
  box-shadow: 0 22px 60px -42px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 45%, transparent);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .dark-card {position: relative;
  isolation: isolate;
  color: var(--color-white);
  background: var(--color-dark);
  border-color: var(--color-line);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .dark-card::before {content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: 0;
  background: radial-gradient(circle at 35% 0%, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 22%, transparent), transparent 30%);
  transition: opacity .28s ease;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .dark-card:hover::before {opacity: 1;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .dark-card h3, .pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .dark-card h4 {color: var(--color-white);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .dark-card p {color: var(--color-line);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .list {display: grid;
  gap: 13px;
  margin-top: 22px;
  padding: 0;
  list-style: none;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .list li {display: grid;
  grid-template-columns: 26px 1fr;
  gap: 10px;
  align-items: start;
  color: var(--color-dark);
  font-size: var(--small);
  line-height: 1.45;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .dark-card .list li {color: var(--color-line);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .mark {width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  font-size: var(--body);
  font-weight: 900;
  line-height: 1;
  background: var(--color-line);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .mark.bad {color: var(--color-key);
  background: var(--color-line);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .mark.good {color: var(--color-key);
  background: var(--color-line);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .mark.warn {color: var(--color-support);
  background: var(--color-line);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .tag {display: inline-flex;
  width: fit-content;
  margin-bottom: 16px;
  padding: 7px 10px;
  color: var(--color-key);
  background: var(--color-light);
  border: 1px solid var(--color-key);
  font-size: var(--micro);
  font-weight:500;
  letter-spacing: .12em;
  text-transform: uppercase;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .dark-card .tag {color: var(--color-white);
  background: var(--color-line);
  border-color: var(--color-line);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .number {display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  margin-bottom: 18px;
  color: var(--color-white);
  background: var(--color-dark);
  font-size: var(--small);
  font-weight: 900;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .dark-card .number {color: var(--color-dark);
  background: var(--color-white);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .layout-option + .layout-option {border-top: 1px solid var(--color-line);}

/* 01 Antes / Después */

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .split-transform {display: grid;
  grid-template-columns: 1fr 72px 1fr;
  gap: 18px;
  align-items: stretch;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .arrow-box {display: grid;
  place-items: center;
  color:var(--pb-theme-white,var(--color-white));
  background: var(--color-key);
  font-size: var(--h4);
  font-weight: 900;}

/* 02 Diagnóstico / Ruta */

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .route-line {display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 0;
  border: 1px solid var(--color-line);
  background: var(--color-white);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .route-step {position: relative;
  min-height: 220px;
  padding: 26px;
  border-right: 1px solid var(--color-line);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .route-step:last-child {border-right: 0;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .route-step.dark-card {background: var(--color-dark);}

/* 03 Semáforo */

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .traffic-card {padding-top: 74px;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .traffic-dot {position: absolute;
  top: 26px;
  left: 28px;
  width: 28px;
  height: 28px;
  border-radius: 999px;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .traffic-dot.var(--color-key) {background: var(--color-key);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .traffic-dot.amber {background: var(--color-support);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .traffic-dot.var(--color-key) {background: var(--color-key);}

/* 04 Tabla */

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .compare-table {border: 1px solid var(--color-line);
  background: var(--color-white);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .compare-row {display: grid;
  grid-template-columns: 1fr 1fr;
  border-bottom: 1px solid var(--color-line);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .compare-row:last-child {border-bottom: 0;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .compare-cell {padding: 22px 24px;
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 12px;
  align-items: start;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .compare-cell + .compare-cell {border-left: 1px solid var(--color-line);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .compare-head .compare-cell {display: block;
  color: var(--color-white);
  background: var(--color-dark);
  font-weight: 900;
  letter-spacing: -.02em;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .compare-head .compare-cell + .compare-cell {border-left-color: var(--color-line);}

/* 05 Preguntas */

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .question-card h4 {font-size: var(--h5);
  margin-bottom: 18px;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .answer-strip {margin-top: 22px;
  padding: 16px;
  color: var(--color-white);
  background: var(--color-dark);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .answer-strip span {color: var(--color-key);
  font-weight: 900;
  margin-right: 8px;}

/* 06 Checklist */

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .check-panel {display: grid;
  grid-template-columns: minmax(320px, 42%) 1fr;
  gap: 0;
  border: 1px solid var(--color-line);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .check-panel .intro {padding: 38px;
  background: var(--color-dark);
  color: var(--color-white);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .check-panel .intro h3 {color: var(--color-white);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .check-panel .intro p {color: var(--color-line); margin-top: 14px;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .criteria-grid {display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .criterion {padding: 28px;
  border-left: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .criterion:nth-last-child(-n/**/+2) {border-bottom: 0;}

/* 07 Diagrama central */

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .orbit-wrap {position: relative;
  min-height: 560px;
  display: grid;
  place-items: center;
  background: var(--color-light);
  border: 1px solid var(--color-line);
  overflow: hidden;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .orbit-center {position: relative;
  z-index: 2;
  width: min(420px, 80%);
  padding: 38px;
  text-align: center;
  color: var(--color-white);
  background: var(--color-dark);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .orbit-center h3 {color: var(--color-white);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .orbit-center .list li {color: var(--color-line);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .orbit-center .mark.good {background: var(--color-line);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .bubble {position: absolute;
  width: 170px;
  min-height: 110px;
  display: grid;
  place-items: center;
  padding: 20px;
  text-align: center;
  background: var(--color-white);
  border: 1px solid var(--color-line);
  box-shadow: 0 28px 70px -55px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 50%, transparent);
  font-weight: 900;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .bubble.b1 {top: 54px; left: 12%;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .bubble.b2 {top: 54px; right: 12%;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .bubble.b3 {bottom: 54px; left: 10%;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .bubble.b4 {bottom: 54px; right: 10%;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .bubble.b5 {top: 50%; left: 4%; transform: translateY(-50%);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .bubble .x {color: var(--color-key); margin-right: 6px;}

/* 08 Timeline */

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .timeline {position: relative;
  display: grid;
  gap: 18px;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .timeline::before {content: "";
  position: absolute;
  left: 25px;
  top: 22px;
  bottom: 22px;
  width: 1px;
  background: var(--color-line);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .timeline-item {position: relative;
  display: grid;
  grid-template-columns: 52px 1fr 1fr;
  gap: 18px;
  align-items: stretch;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .timeline-dot {position: relative;
  z-index: 2;
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  color: var(--color-white);
  background: var(--color-dark);
  font-size: var(--small);
  font-weight: 900;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .timeline-box {padding: 24px;
  background: var(--color-white);
  border: 1px solid var(--color-line);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .timeline-box.solve {color: var(--color-white);
  background: var(--color-dark);
  border-color: var(--color-line);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .timeline-box.solve h4 {color: var(--color-white);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .timeline-box.solve p {color: var(--color-line);}

/* 09 Objeciones */

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .objection {display: grid;
  grid-template-columns: 1fr 1fr;
  border: 1px solid var(--color-line);
  background: var(--color-white);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .objection + .objection {border-top: 0;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .objection > div {padding: 26px;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .objection > div + div {color: var(--color-white);
  background: var(--color-dark);
  border-left: 1px solid var(--color-line);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .objection > div + div h4 {color: var(--color-white);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .objection > div + div p {color: var(--color-line);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .objection h4 {display: flex;
  align-items: center;
  gap: 10px;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .alert-stack .mini-card.dark-card h4, .pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .alert-stack .mini-card.dark-card p {color: var(--color-white);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .alert-stack .mini-card.dark-card p {color: var(--color-line);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .alert-stack .mini-card.alert-solution-dark-text h4, .pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .alert-stack .mini-card.alert-solution-dark-text p {color: var(--color-dark);}

/* 10 Sin / Con */

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .without-with {display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.18fr);
  gap: 0;
  border: 1px solid var(--color-line);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .without-with .side {padding: 38px;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .without-with .side + .side {border-left: 1px solid var(--color-line);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .without-with .side.dark-card {border: 0;}

/* 11 Alerta */

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .alert-layout {display: grid;
  grid-template-columns: minmax(320px, 40%) 1fr;
  gap: 22px;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .alert-main {min-height: 420px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 42px;
  color: var(--color-white);
  background: var(--color-dark);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .alert-main h3 {color: var(--color-white); font-size: var(--h1);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .alert-main p {color: var(--color-line);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .alert-stack {display: grid; gap: 16px;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .mini-card {padding: 24px;
  background: var(--color-white);
  border: 1px solid var(--color-line);}

/* 12 Bento */

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .bento {display: grid;
  grid-template-columns: 1.2fr .8fr 1fr;
  grid-auto-rows: minmax(170px, auto);
  gap: 18px;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .bento .card:nth-child(1) {grid-row: span 2;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .bento .card:nth-child(6) {grid-column: 1 / -1;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .bento-solution {width: 100%;
  min-height: 220px;
  padding: 42px;
  display: grid;
  align-content: center;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .bento-solution h4 {display: flex;
  align-items: center;
  gap: 12px;
  font-size: var(--h3);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .bento-solution p {max-width: 820px;
  margin-top: 14px;
  font-size: var(--body);}

/* ===============================
   OPCIÓN 01 · BLOQUES COMPARATIVOS BASE
================================ */

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .classic-split-grid {display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .classic-info-block, .pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .classic-solution-card {position: relative;
  overflow: hidden;
  border-radius: 0;
  padding: 30px;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .classic-info-block {background: var(--color-white);
  border: 1px solid var(--color-line);
  box-shadow: 0 12px 32px -20px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 26%, transparent);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .classic-solution-card {min-height: 330px;
  display: flex;
  flex-direction: column;
  background: var(--color-dark);
  border: 1px solid var(--color-line);
  color: var(--color-white);
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease, background-color .28s ease;
  isolation: isolate;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .classic-solution-card > * {position: relative;
  z-index: 2;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .classic-solution-card h3, .pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .classic-solution-card p {color: var(--color-white);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .classic-solution-card p {margin-top: 12px;
  color: var(--color-line);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .classic-info-block h3, .pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .classic-solution-card h3 {margin-bottom: 12px;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .classic-bullet-list {list-style: none;
  margin: 24px 0 0;
  padding: 0;
  display: grid;
  gap: 14px;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .classic-bullet-list li {display: flex;
  gap: 12px;
  color: var(--color-muted);
  font-size: var(--small);
  line-height: 1.55;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .classic-solution-card .classic-bullet-list {margin-top: auto;
  padding-top: 24px;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .classic-solution-card .classic-bullet-list li {color: var(--color-line);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .classic-bullet-list li::before {display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  margin-top: 2px;
  font-size: var(--card);
  font-weight: 900;
  line-height: 1;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .classic-problem-list li::before {content: "×";
  color: var(--color-key);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .classic-solution-list li::before {content: "✓";
  color: var(--color-key);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .classic-hover-shine::after {content: "";
  position: absolute;
  top: -40%;
  left: -80%;
  width: 48%;
  height: 180%;
  background: linear-gradient(110deg, transparent 0%, color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 24%, transparent) 45%, transparent 100%);
  transform: rotate(8deg);
  opacity: 0;
  z-index: 1;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .classic-hover-shine:hover {transform: translateY(-4px);
  box-shadow: 0 28px 80px -42px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 90%, transparent);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .classic-hover-shine:hover::after {opacity: 1;
  animation: pain-layout-shine-sweep .9s ease forwards;}

@keyframes pain-layout-shine-sweep {
  0% { left: -80%; }
  100% { left: 125%; }
}

@media (max-width: 980px) {
.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .layout-head, .pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .classic-split-grid, .pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .grid-2, .pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .grid-3, .pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .grid-4, .pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .split-transform, .pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .check-panel, .pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .alert-layout, .pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .without-with, .pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .bento {grid-template-columns: 1fr;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .arrow-box {min-height: 70px;
    transform: rotate(90deg);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .route-line {grid-template-columns: 1fr;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .route-step {border-right: 0; border-bottom: 1px solid var(--color-line);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .route-step:last-child {border-bottom: 0;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .criteria-grid {grid-template-columns: 1fr;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .criterion, .pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .criterion:nth-last-child(-n/**/+2) {border-left: 0; border-bottom: 1px solid var(--color-line);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .criterion:last-child {border-bottom: 0;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .timeline-item {grid-template-columns: 52px 1fr;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .timeline-box.solve {grid-column: 2;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .objection {grid-template-columns: 1fr;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .objection > div + div {border-left: 0; border-top: 1px solid var(--color-line);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .compare-row {grid-template-columns: 1fr;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .compare-cell + .compare-cell {border-left: 0; border-top: 1px solid var(--color-line);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .without-with .side + .side {border-left: 0; border-top: 1px solid var(--color-line);}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .bento .card:nth-child(1), .pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .bento .card:nth-child(6) {grid-row: auto; grid-column: auto;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .orbit-wrap {min-height: auto; display: block; padding: 24px;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .orbit-center {width: 100%; margin-bottom: 16px;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .bubble {position: static; width: 100%; min-height: auto; margin-top: 12px; transform: none !important;}
}

@media (max-width: 640px) {
.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .layout-option {padding: 64px 0;}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .container {width: min(var(--demo-container), calc(100% - 28px));}

.pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .classic-info-block, .pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .classic-solution-card, .pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .card, .pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .alert-main, .pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .without-with .side, .pain-solution-embed #DEMO-PAIN-LAYOUTS-01 .check-panel .intro {padding: 24px;}
}



/* Ajuste: menú hamburguesa principal en 3 columnas */
.global-fullscreen-links {
  width: min(1180px, 100%) !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
  align-content: center !important;
  justify-items: stretch !important;
}

.global-fullscreen-links a {
  width: 100% !important;
  min-height: 68px !important;
  padding: 18px 20px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  border: 1px solid var(--color-line) !important;
  background: var(--color-line) !important;
  color: var(--color-white) !important;
  font-size: var(--h5) !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  letter-spacing: -.035em !important;
  text-align: left !important;
  transition: background .25s ease, transform .25s ease, border-color .25s ease, padding .25s ease !important;
}

.global-fullscreen-links a:first-child {
  border-top: 1px solid var(--color-line) !important;
}

.global-fullscreen-links a:hover {
  padding-left: 24px !important;
  transform: translateY(-2px) !important;
  background: var(--color-line) !important;
  border-color: var(--color-line) !important;
  color: var(--color-white) !important;
}

@media (max-width: 980px) {
  .global-fullscreen-links {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: min(760px, 100%) !important;
  }
}

@media (max-width: 640px) {
  .global-fullscreen-inner {
    padding: 76px 18px 28px !important;
    align-content: start !important;
    place-items: stretch center !important;
    overflow-y: auto !important;
  }

  .global-fullscreen-links {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  .global-fullscreen-links a {
    min-height: 52px !important;
    padding: 14px 16px !important;
    font-size: var(--card) !important;
  }
}

/* ============================================================
   SISTEMA VISUAL MAESTRO · ESTILOS.HTML
   Solo paleta y tipografía. Estructura, espaciados y comportamiento
   de cada recurso permanecen sin cambios.
   ============================================================ */
:root{
  
  
  
  
  
  
  

  --h1:clamp(42px,4.25vw,61px);
  --stats:var(--h1);
  --h2:clamp(36px,3.4vw,49px);
  --h3:clamp(31px,2.7vw,39px);
  --h4:clamp(27px,2.2vw,31px);
  --h5:clamp(23px,1.8vw,25px);
  --h6:clamp(18px,1.45vw,20px);
  --card:clamp(18px,1.45vw,20px);
  --body:16px;
  --small:13px;
  --micro:10px;

  --font-main:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-secondary:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;

  --text-label:var(--micro);
  --text-small:var(--small);
  --text-body:var(--body);
  --text-h3:var(--h3);
  --text-card:var(--card);
  --text-h2:var(--h2);
  --text-stat:var(--h1);
  --text-h1:var(--h1);
}

/* AJUSTES ESPECÍFICOS · AC003 / FT008 / FT010 */
/* AC003 · títulos del acordeón en blanco */
#acordeon-03 .acc-full-width-accordion button strong {
  color: var(--color-white) !important;
}

/* FT008 · título principal en tamaño Stats (H1) */
#footer-08 .footer-contact-large h4 {
  font-size: var(--h1) !important;
}

/* FT010 · título principal en tamaño Stats (H1) */
#footer-10 .footer-editorial-logo {
  font-size: var(--h1) !important;
}


/* =========================================================
   GALERÍAS · SIN ESPACIO INFERIOR
   El footer descriptivo fue eliminado; retiramos también
   el padding inferior que dejaba una franja de fondo azul.
   ========================================================= */
.gallery-embed .gallery-module .gallery-section{
  padding-bottom:0!important;
}
.page-builder-section[data-section-category="Galerías"]
.gallery-module .gallery-section{
  padding-bottom:0!important;
}

/* GALERÍAS · ELIMINACIÓN DEFINITIVA DE FRANJA INFERIOR
   Cada GL funciona como recurso independiente. El documento maestro
   imponía min-height de viewport y padding del shell .template-item;
   al quitar el texto/footer esos valores dejaban una franja azul vacía. */
.gallery-embed{
  min-height:0!important;
  height:auto!important;
  margin-bottom:0!important;
  padding-bottom:0!important;
}
.gallery-embed .gallery-module.aligned-master{
  min-height:0!important;
  height:auto!important;
  margin-bottom:0!important;
  padding-bottom:0!important;
}
.gallery-embed .gallery-module.aligned-master > .template-item{
  min-height:0!important;
  height:auto!important;
  padding-top:0!important;
  padding-bottom:0!important;
  margin-top:0!important;
  margin-bottom:0!important;
  border-bottom-width:0!important;
}
.gallery-embed .gallery-module.aligned-master > .template-item > .template-demo{
  min-height:0!important;
  height:auto!important;
  margin-bottom:0!important;
  padding-bottom:0!important;
  border-bottom-width:0!important;
}
.gallery-embed .gallery-module.aligned-master > .template-item > .template-demo > .gallery-section,
.gallery-embed .gallery-module.aligned-master > .template-item > .template-demo > .gallery-section:nth-of-type(even){
  min-height:0!important;
  height:auto!important;
  padding-bottom:0!important;
  margin-bottom:0!important;
}
/* Refuerzo dentro de páginas creadas por el constructor. */
.page-builder-section[data-section-category="Galerías"] > .gallery-embed,
.page-builder-section[data-section-category="Galerías"] .gallery-module.aligned-master,
.page-builder-section[data-section-category="Galerías"] .gallery-module.aligned-master > .template-item,
.page-builder-section[data-section-category="Galerías"] .gallery-module.aligned-master > .template-item > .template-demo{
  min-height:0!important;
  height:auto!important;
  margin-bottom:0!important;
  padding-bottom:0!important;
}
/* ============================================================
   TÍTULOS · TT001–TT009 · VALIDADO
   Tipografía y color: Estilos.html aprobado.
   Espaciado vertical: 80px arriba + 80px abajo.
   ============================================================ */
.titulos-embed{
  width:100%;
  background:var(--color-white);
  color:var(--color-dark);
}
.titulos-embed *{box-sizing:border-box}
.titulos-embed .title-resource{
  width:100%;
  margin:0;
  padding:0;
  background:var(--color-white);
  color:var(--color-dark);
}
.titulos-embed .title-resource-inner{
  width:min(1440px,calc(100% - 60px));
  min-height:0;
  margin:0 auto;
  padding:80px 0;
  display:flex;
  align-items:center;
}
.titulos-embed .eyebrow{
  display:block;
  margin-bottom:12px;
  color:var(--color-key);
  font-size:var(--micro);
  font-weight:500;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.titulos-embed h2{
  margin:0;
  color:var(--color-dark);
  font-size:var(--h2);
  line-height:1;
  letter-spacing:-.035em;
  font-weight:900;
}
.titulos-embed p{
  margin:24px 0 0;
  color:var(--color-muted);
  font-size:var(--body);
  line-height:1.6;
  font-weight:400;
}
.titulos-embed p strong{font-weight:700}
.titulos-embed .title-block{width:100%}
.titulos-embed .title-center{
  max-width:none;
  margin:0 auto;
  text-align:center;
}
.titulos-embed .title-wide{
  max-width:1180px;
}
.titulos-embed .title-wide p{
  max-width:980px;
  margin-left:auto;
  margin-right:auto;
}
.titulos-embed .title-right{
  width:min(920px,60%);
  margin-left:auto;
}
.titulos-embed .title-split{
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,.95fr);
  align-items:center;
  gap:80px;
}
.titulos-embed .title-split-main h2{max-width:860px}
.titulos-embed .title-split-copy p{
  margin-top:0;
  max-width:820px;
}

/* TT001 · bloque completo 50% */
.titulos-embed .title-resource-01 .title-block{
  width:50%;
  max-width:50%;
}
/* TT002 · bloque completo 33% */
.titulos-embed .title-resource-02 .title-block{
  width:33%;
  max-width:33%;
}
/* TT003 · bloque completo 25% */
.titulos-embed .title-resource-03 .title-block{
  width:25%;
  max-width:25%;
}
/* TT004 · bloque completo 20% */
.titulos-embed .title-resource-04 .title-block{
  width:20%;
  max-width:20%;
}

@media(max-width:900px){
  .titulos-embed .title-resource-01 .title-block,
  .titulos-embed .title-resource-02 .title-block,
  .titulos-embed .title-resource-03 .title-block,
  .titulos-embed .title-resource-04 .title-block,
  .titulos-embed .title-resource-05 h2,
  .titulos-embed .title-resource-05 p,
  .titulos-embed .title-resource-06 h2,
  .titulos-embed .title-resource-06 p,
  .titulos-embed .title-right{
    width:100%;
    max-width:100%;
  }
  .titulos-embed .title-split{
    grid-template-columns:1fr;
    gap:32px;
  }
}
/* ============================================================
   VALIDACIÓN GLOBAL · TIPOGRAFÍA Y BOTONES
   Fuente de verdad: Estilos.html aprobado.
   H1 se reserva para Hero. Stats usa escala H1 sin usar etiqueta H1.
   ============================================================ */

/* Tipografía */
html,
body,
button,
input,
textarea,
select{
  font-family:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

h1{
  font-size:var(--h1)!important;
  font-weight:900!important;
}
h2{
  font-size:var(--h2)!important;
  font-weight:900!important;
}
h3{
  font-size:var(--h3)!important;
  font-weight:700!important;
}
h4{
  font-size:var(--h4)!important;
  font-weight:700!important;
}
h5{
  font-size:var(--h5)!important;
  font-weight:700!important;
}
h6{
  font-size:var(--h6)!important;
  font-weight:500!important;
}
p{
  font-size:var(--body)!important;
  font-weight:400!important;
}
small{
  font-size:var(--small)!important;
  font-weight:500!important;
}

/* Utilidades tipográficas normalizadas */
.type-card{
  font-size:var(--card)!important;
  font-weight:400!important;
}
.type-stats,
.trayectoria-stats-embed .tray-counter{
  font-size:var(--stats)!important;
  font-weight:900!important;
}
.type-body{
  font-size:var(--body)!important;
  font-weight:400!important;
}
.type-small{
  font-size:var(--small)!important;
  font-weight:500!important;
}
.type-micro{
  font-size:var(--micro)!important;
  font-weight:500!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}

/* Stats existentes del Hero */
.hero-embed .stat-box strong{
  font-size:var(--stats)!important;
  font-weight:900!important;
}

/* Corrección de reglas históricas con !important que cambiaban
   el nivel tipográfico real del tag. */
#seccion-nosotros-01 .about-content-demo h3,
#seccion-nosotros-02 .about-content-demo h3,
#seccion-nosotros-half-01 .about-half-copy h3,
#seccion-nosotros-half-02 .about-half-copy h3,
#formulario-01 .contact-info-card h3,
#formulario-01 .contact-form-card h3{
  font-size:var(--h3)!important;
  font-weight:700!important;
}
#seccion-nosotros-01 .about-feature-grid h4,
#seccion-nosotros-02 .about-feature-grid h4,
.packages-embed #DEMO-RECURSOS-2-21A .price-card h4,
.packages-embed #DEMO-RECURSOS-2-21 .price-card h4,
.packages-embed #DEMO-RECURSOS-2-21C .price-card h4,
#footer-08 .footer-contact-large h4{
  font-size:var(--h4)!important;
  font-weight:700!important;
}

/* Stats que antes eran H1 en CR011 / CR012 */
.carousel-embed #CAROUSEL-11 .number-card-item .type-stats,
.carousel-embed #CAROUSEL-12 .twohalf-card .type-stats{
  margin:0;
  color:var(--color-key);
  font-size:var(--stats)!important;
  font-weight:900!important;
  line-height:.86;
  letter-spacing:-.08em;
}

/* CI005 / CI006 / CI007 · títulos de cards = Card Bold */
#icon-cards-05 .icon-card .type-card,
#icon-cards-06 .icon-card .type-card,
#icon-cards-07 .icon-card .type-card{
  font-size:var(--card)!important;
  font-weight:700!important;
  line-height:1.25!important;
}
/* FM003 · etiquetas secundarias = Small
   La primera etiqueta de sección se conserva como etiqueta/Micro. */
#formulario-03 .contact-info-label,
#FORMULARIO-03 .contact-info-label,
[data-fm003-small="1"]{
  font-size:var(--small)!important;
  font-weight:500!important;
  line-height:1.4!important;
  letter-spacing:normal!important;
  text-transform:none!important;
}
/* ============================================================
   MENÚ HAMBURGUESA SOBRE HERO · SIN BARRA DE FONDO
   Solo queda visible el logo y el botón hamburguesa.
   En flujo normal conserva su diseño original.
   ============================================================ */
.page-builder-overlay-item[data-section-category="Menú hamburguesa"],
.page-builder-overlay-item[data-section-category="Menú hamburguesa"] .menu-section,
.page-builder-overlay-item[data-section-category="Menú hamburguesa"] .menu-real,
.page-builder-overlay-item[data-section-category="Menú hamburguesa"] .hamburger-stage,
.page-builder-overlay-item[data-section-category="Menú hamburguesa"] .hamburger-demo,
.page-builder-overlay-item[data-section-category="Menú hamburguesa"] .hamburger-demo-header{
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
}

.page-builder-overlay-item[data-section-category="Menú hamburguesa"] .hamburger-demo-header{
  backdrop-filter:none!important;
}

/* Se conservan los fondos propios del logo/mark y del botón hamburguesa. */
.page-builder-overlay-item[data-section-category="Menú hamburguesa"] .logo-mark{
  background:var(--color-key)!important;
}

.page-builder-overlay-item[data-section-category="Menú hamburguesa"] .hamburger-trigger{
  background:var(--color-dark)!important;
}
.page-builder-overlay-item[data-section-category="Menú hamburguesa"] .hamburger-trigger:hover{
  background:var(--color-key)!important;
}
/* ============================================================
   FLOTANTES · FL001–FL005 · BLOQUE CANÓNICO
   ============================================================ */

.floating-demo-stage{
  position:relative;
  width:100%;
  min-height:150px;
  margin:0;
  padding:0;
  overflow:hidden;
  background:var(--color-light);
}

.floating-demo-stage .site-floating{
  position:absolute;
  z-index:20;
  box-sizing:border-box;
  font-family:inherit;
  text-decoration:none;
  transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease;
}

.page-builder-section[data-section-category="Flotantes"]{
  width:100%!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  overflow:visible!important;
  position:relative!important;
  z-index:2147481000!important;
}

.page-builder-section[data-section-category="Flotantes"] .floating-demo-stage{
  width:0!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  background:transparent!important;
}

.page-builder-section[data-section-category="Flotantes"] .site-floating{
  position:fixed!important;
  z-index:2147481000!important;
}

/* FL001 */
.floating-alert{
  left:24px;
  bottom:24px;
  min-height:40px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:5px 10px;
  border:1px solid var(--color-key);
  border-radius:999px;
  background:var(--color-key);
  color:var(--pb-theme-white,var(--color-white));
  box-shadow:0 12px 34px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 24%, transparent);
  font-size:var(--small);
  font-weight:500;
  line-height:1.3;
  animation:floatingAlertPulse 2.4s ease-in-out infinite;
}
.floating-alert-dot{
  width:8px;
  height:8px;
  flex:0 0 8px;
  border-radius:50%;
  background:var(--color-white);
  animation:floatingDotBlink 1.15s ease-in-out infinite;
}
@keyframes floatingDotBlink{
  0%,100%{opacity:.48;transform:scale(.82);box-shadow:0 0 0 0 color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 30%, transparent)}
  50%{opacity:1;transform:scale(1.15);box-shadow:0 0 0 5px transparent}
}
@keyframes floatingAlertPulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.035)}
}

/* FL002 */
.floating-whatsapp{
  right:40px;
  bottom:40px;
  width:60px;
  height:60px;
  min-width:60px;
  min-height:60px;
  max-width:60px;
  max-height:60px;
  display:grid;
  place-items:center;
  padding:0;
  margin:0;
  border:0;
  border-radius:50%;
  background:var(--color-key);
  color:var(--pb-theme-white,var(--color-white));
  box-shadow:0 12px 30px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 18%, transparent);
  line-height:1;
  text-align:center;
  aspect-ratio:1/1;
  overflow:hidden;
}
.floating-whatsapp-icon{
  display:block;
  width:30px;
  height:30px;
  margin:0;
  padding:0;
  color:var(--color-white);
  transform:none;
  flex:none;
}
.page-builder-section[data-section-category="Flotantes"] #flotante-02 .floating-whatsapp{
  position:fixed!important;
  right:40px!important;
  bottom:40px!important;
  width:60px!important;
  height:60px!important;
  border-radius:50%!important;
}

/* FL003 */
.floating-phone{
  right:24px;
  bottom:112px;
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  padding:0;
  border:0;
  border-radius:50%;
  background:var(--color-key);
  color:var(--pb-theme-white,var(--color-white));
  box-shadow:0 12px 30px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 18%, transparent);
}
.floating-phone svg{
  display:block;
  width:25px;
  height:25px;
  margin:0;
}

/* FL004 */
.floating-back-top{
  left:50%;
  right:auto;
  bottom:24px;
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid var(--color-line);
  border-radius:50%;
  background:var(--color-white);
  color:var(--color-dark);
  box-shadow:0 12px 30px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 16%, transparent);
  cursor:pointer;
  transform:translateX(-50%);
}
.floating-back-top svg{
  display:block;
  width:22px;
  height:22px;
  margin:0;
}
.floating-back-top:hover{
  transform:translate(-50%,-2px);
}

/* FL005 */
.floating-quote{
  left:50%;
  right:auto;
  bottom:84px;
  min-height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:5px 10px;
  border:1px solid var(--color-key);
  border-radius:0;
  background:var(--color-key);
  color:var(--pb-theme-white,var(--color-white));
  box-shadow:0 12px 30px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 16%, transparent);
  font-size:var(--small);
  font-weight:400;
  line-height:1.2;
  transform:translateX(-50%);
}
.floating-quote-icon{
  width:26px;
  height:26px;
  flex:0 0 26px;
  display:grid;
  place-items:center;
  margin:0;
  border-radius:50%;
  background:var(--color-line);
  color:var(--color-white);
}
.floating-quote-icon svg{
  display:block;
  width:15px;
  height:15px;
  margin:0;
}
.floating-quote:hover{
  transform:translate(-50%,-2px);
}

/* Preview: FL004 y FL005 centrados abajo dentro del demo */
.floating-demo-stage#flotante-04 .floating-back-top{
  bottom:18px;
}
.floating-demo-stage#flotante-05 .floating-quote{
  bottom:18px;
}

/* Web final */
.page-builder-section[data-section-category="Flotantes"] #flotante-04 .floating-back-top{
  position:fixed!important;
  left:50%!important;
  right:auto!important;
  bottom:24px!important;
  transform:translateX(-50%)!important;
}
.page-builder-section[data-section-category="Flotantes"] #flotante-05 .floating-quote{
  position:fixed!important;
  left:50%!important;
  right:auto!important;
  bottom:84px!important;
  transform:translateX(-50%)!important;
}

.floating-whatsapp:hover,
.floating-phone:hover{
  transform:translateY(-2px);
}
.floating-alert:hover{
  animation-play-state:paused;
  transform:translateY(-2px) scale(1.02);
}

@media(max-width:560px){
  .floating-alert{left:18px;bottom:18px}
  .floating-whatsapp{right:18px;bottom:18px}
  .floating-phone{right:18px;bottom:90px}

  .page-builder-section[data-section-category="Flotantes"] #flotante-02 .floating-whatsapp{
    right:18px!important;
    bottom:18px!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .floating-alert,
  .floating-alert-dot{
    animation:none!important;
  }
}


/* ============================================================
   FL002 · LOGO WHATSAPP CORREGIDO
   Glifo de una sola ruta, blanco, sin doble contorno.
   ============================================================ */
.floating-whatsapp{
  display:grid!important;
  place-items:center!important;
}
.floating-whatsapp-icon{
  display:block!important;
  width:30px!important;
  height:30px!important;
  margin:0!important;
  padding:0!important;
  fill:currentColor!important;
  stroke:none!important;
  color:var(--color-white)!important;
  transform:none!important;
  flex:none!important;
}
.floating-whatsapp-icon path{
  fill:currentColor!important;
  stroke:none!important;
}


/* ============================================================
   FL002 · LOGO WHATSAPP FINAL
   Glifo de marca de una sola ruta.
   ============================================================ */
.floating-whatsapp{
  width:60px!important;
  height:60px!important;
  min-width:60px!important;
  min-height:60px!important;
  max-width:60px!important;
  max-height:60px!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  border-radius:50%!important;
  background:var(--color-key)!important;
  color:var(--pb-theme-white,var(--color-white))!important;
  overflow:hidden!important;
}
.floating-whatsapp-icon{
  display:block!important;
  width:32px!important;
  height:32px!important;
  margin:0!important;
  padding:0!important;
  fill:currentColor!important;
  stroke:none!important;
  color:var(--color-white)!important;
}
.floating-whatsapp-icon path{
  fill:currentColor!important;
  stroke:none!important;
}
/* ============================================================
   FL006 · CALENDARIO · CORREGIDO
   Fondo Key · ícono blanco · 60×60 · SVG completo.
   ============================================================ */
.floating-calendar{
  right:40px;
  bottom:40px;
  width:60px;
  height:60px;
  min-width:60px;
  min-height:60px;
  max-width:60px;
  max-height:60px;
  display:grid;
  place-items:center;
  padding:0;
  margin:0;
  border:0;
  border-radius:50%;
  background:var(--color-key);
  color:var(--pb-theme-white,var(--color-white));
  box-shadow:0 12px 30px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 18%, transparent);
  line-height:1;
  aspect-ratio:1/1;
  overflow:visible;
  box-sizing:border-box;
}

.floating-calendar-icon{
  display:block;
  width:32px;
  height:32px;
  min-width:32px;
  min-height:32px;
  margin:0;
  padding:0;
  color:var(--color-white);
  stroke:currentColor;
  fill:none;
  overflow:visible;
  flex:none;
  box-sizing:content-box;
}

/* Preview: visible dentro de la muestra del catálogo. */
.floating-demo-stage#flotante-06 .floating-calendar{
  position:absolute!important;
  right:40px!important;
  bottom:40px!important;
}

/* Web final: flotante fijo y apilado sobre Teléfono/WhatsApp. */
.page-builder-section[data-section-category="Flotantes"] #flotante-06 .floating-calendar{
  position:fixed!important;
  right:24px!important;
  bottom:176px!important;
  width:60px!important;
  height:60px!important;
  border-radius:50%!important;
}

.floating-calendar:hover{
  transform:translateY(-2px);
}

@media(max-width:560px){
  .floating-demo-stage#flotante-06 .floating-calendar{
    right:18px!important;
    bottom:18px!important;
  }

  .page-builder-section[data-section-category="Flotantes"] #flotante-06 .floating-calendar{
    right:18px!important;
    bottom:154px!important;
  }
}
/* ============================================================
   FLOTANTES · ALINEACIÓN AUTOMÁTICA POR ORDEN
   Izquierda / centro / derecha quedan en ejes comunes.
   El apilado vertical lo resuelve el JS según el orden del Constructor.
   ============================================================ */
.page-builder-section[data-section-category="Flotantes"] .site-floating{
  margin:0!important;
  box-sizing:border-box!important;
}

.page-builder-section[data-section-category="Flotantes"] :is(
  .floating-whatsapp,
  .floating-phone,
  .floating-calendar
){
  transform:none;
}

.page-builder-section[data-section-category="Flotantes"] :is(
  .floating-back-top,
  .floating-quote
){
  left:50%;
  right:auto;
}
/* ============================================================
   FLOTANTES · CÍRCULOS UNIFORMES
   Todos los flotantes circulares usan la misma medida para que
   queden alineados visualmente en izquierda / centro / derecha.
   ============================================================ */
.floating-whatsapp,
.floating-phone,
.floating-calendar,
.floating-back-top{
  width:60px!important;
  height:60px!important;
  min-width:60px!important;
  min-height:60px!important;
  max-width:60px!important;
  max-height:60px!important;
  padding:0!important;
  margin:0!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  box-sizing:border-box!important;
  aspect-ratio:1/1!important;
}

/* Ajuste proporcional de íconos */
.floating-whatsapp-icon{
  width:32px!important;
  height:32px!important;
}

.floating-phone svg{
  width:28px!important;
  height:28px!important;
}

.floating-calendar-icon{
  width:32px!important;
  height:32px!important;
}

.floating-back-top svg{
  width:24px!important;
  height:24px!important;
}

/* Mantiene alineación exacta también en la web final */
.page-builder-section[data-section-category="Flotantes"] :is(
  .floating-whatsapp,
  .floating-phone,
  .floating-calendar,
  .floating-back-top
){
  width:60px!important;
  height:60px!important;
  min-width:60px!important;
  min-height:60px!important;
  max-width:60px!important;
  max-height:60px!important;
}

/* ============================================================
   TÍTULOS · TT001–TT011 · VALIDADO + CTA OPCIONAL
   ============================================================ */
/* TITULOS · layout actual */
.titulos-embed,.title-resource{width:100%;margin:0;padding:0;background:var(--color-white)}
.title-resource-inner{width:100%;padding:80px 0}
.eyebrow{
  display:block;margin:0 0 12px;color:var(--color-key);font-size:var(--micro);
  font-weight:500;line-height:1.3;letter-spacing:.12em;text-transform:uppercase
}
.title-resource h2{margin:0;color:var(--color-dark);font-size:var(--h2);font-weight:900;line-height:1;letter-spacing:-.035em}
.title-resource p{margin:24px 0 0;color:var(--color-muted);font-size:var(--body);font-weight:400;line-height:1.6}

#TITLE-DEMO-01 .title-block{width:50%;max-width:50%}
#TITLE-DEMO-04 .title-block{width:33%;max-width:33%}
#TITLE-DEMO-05 .title-block{width:25%;max-width:25%}
#TITLE-DEMO-06 .title-block{width:20%;max-width:20%}
#TITLE-DEMO-09 .title-block,#TITLE-DEMO-10 .title-block{width:100%;text-align:center}
#TITLE-DEMO-09 h2,#TITLE-DEMO-09 p{width:50%;max-width:50%;margin-left:auto;margin-right:auto}
#TITLE-DEMO-10 h2{width:50%;max-width:50%;margin-left:auto;margin-right:auto}
#TITLE-DEMO-10 p{width:40%;max-width:40%;margin-left:auto;margin-right:auto}
#TITLE-DEMO-11 .title-block{width:100%;max-width:1180px;margin:auto;text-align:center}
#TITLE-DEMO-11 p{max-width:980px;margin-left:auto;margin-right:auto}
#TITLE-DEMO-07 .title-block{width:min(920px,60%);margin-left:auto;text-align:left}
#TITLE-DEMO-08 .title-split{width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.95fr);align-items:center;gap:80px}
#TITLE-DEMO-08 .title-split-copy p{margin-top:0}


/* ============================================================
   BIG BUTTON · recurso normalizado de Estilos
   48px · 0 24px · Small · 700 · sin curvas
   ============================================================ */
#TITLE-DEMO-01 .title-actions .contact-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:48px!important;
  padding:0 24px!important;
  border:1px solid var(--color-muted)!important;
  border-radius:0!important;
  background:var(--color-white)!important;
  color:var(--color-dark)!important;
  font-family:inherit!important;
  font-size:var(--small)!important;
  font-weight:700!important;
  line-height:1!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}

#TITLE-DEMO-01 .title-actions .contact-btn.dark{
  border-color:var(--color-key)!important;
  background:var(--color-key)!important;
  color:var(--pb-theme-white,var(--color-white))!important;
}


/* ============================================================
   TT001 · COLOR Y ESCALA TIPOGRÁFICA VALIDADA
   H2 / P / Small = var(--color-dark)
   ============================================================ */
#TITLE-DEMO-01 h2{
  color:var(--color-dark)!important;
}

#TITLE-DEMO-01 > .title-resource-inner .title-block > p{
  color:var(--color-dark)!important;
  font-size:var(--body)!important;
  font-weight:400!important;
  line-height:1.6!important;
}

#TITLE-DEMO-01 .title-additional,
#TITLE-DEMO-01 .title-additional span{
  color:var(--color-muted)!important;
  font-size:var(--small)!important;
  font-weight:500!important;
  line-height:1.4!important;
}

/* TT001 · propuesta de espaciado compacto */
#TITLE-DEMO-01 .eyebrow{margin-bottom:10px!important}
#TITLE-DEMO-01 p{margin-top:16px!important}
#TITLE-DEMO-01 .title-actions{
  display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:20px!important
}
#TITLE-DEMO-01 .title-additional{
  display:flex;align-items:center;gap:10px;margin-top:12px!important
}
#TITLE-DEMO-01 .title-additional-dot{
  width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:var(--color-key)
}



/* ============================================================
   TT002 · DUPLICADO TEMPORAL · SPLIT 50 / 50
   F1 etiqueta
   Debajo: izquierda 50% + derecha 50%
   Columna derecha alineada a la derecha y centrada verticalmente
   ============================================================ */
#TITLE-DEMO-02 .title-layout-01-1{
  width:100%;
}

#TITLE-DEMO-02 .eyebrow{
  margin-bottom:10px!important;
}

#TITLE-DEMO-02 .title-grid-01-1{
  width:100%;
  display:grid;
  grid-template-columns:50% 50%;
  align-items:stretch;
}

#TITLE-DEMO-02 .title-col-left-01-1{
  width:100%;
  max-width:100%;
  padding-right:30px;
}

#TITLE-DEMO-02 .title-col-right-01-1{
  width:100%;
  max-width:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-end;
  text-align:right;
  padding-left:30px;
}

#TITLE-DEMO-02 h2{
  margin:0!important;
  color:var(--color-dark)!important;
}

#TITLE-DEMO-02 .title-copy-01-1{
  margin:16px 0 0!important;
  color:var(--color-dark)!important;
  font-size:var(--body)!important;
  font-weight:400!important;
  line-height:1.6!important;
}

#TITLE-DEMO-02 .title-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  margin:0!important;
}

#TITLE-DEMO-02 .title-actions .contact-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:48px!important;
  padding:0 24px!important;
  border:1px solid var(--color-muted)!important;
  border-radius:0!important;
  background:var(--color-white)!important;
  color:var(--color-dark)!important;
  font-family:inherit!important;
  font-size:var(--small)!important;
  font-weight:700!important;
  line-height:1!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}

#TITLE-DEMO-02 .title-actions .contact-btn.dark{
  border-color:var(--color-key)!important;
  background:var(--color-key)!important;
  color:var(--pb-theme-white,var(--color-white))!important;
}

#TITLE-DEMO-02 .title-additional{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  margin-top:12px!important;
  color:var(--color-muted)!important;
  font-size:var(--small)!important;
  font-weight:500!important;
  line-height:1.4!important;
  text-align:right;
}

#TITLE-DEMO-02 .title-additional span{
  color:var(--color-muted)!important;
  font-size:var(--small)!important;
  font-weight:500!important;
  line-height:1.4!important;
}

#TITLE-DEMO-02 .title-additional-dot{
  display:block;
  width:6px;
  height:6px;
  flex:0 0 6px;
  border-radius:50%;
  background:var(--color-key);
}

@media(max-width:900px){
  #TITLE-DEMO-02 .title-grid-01-1{
    grid-template-columns:1fr;
    gap:24px;
  }

  #TITLE-DEMO-02 .title-col-left-01-1,
  #TITLE-DEMO-02 .title-col-right-01-1{
    padding-left:0;
    padding-right:0;
  }

  #TITLE-DEMO-02 .title-col-right-01-1{
    align-items:flex-start;
    text-align:left;
  }

  #TITLE-DEMO-02 .title-actions,
  #TITLE-DEMO-02 .title-additional{
    justify-content:flex-start;
    text-align:left;
  }
}


/* ============================================================
   TT003 · DUPLICADO TEMPORAL · SPLIT 60 / 40
   F1 etiqueta
   Columna izquierda 60%: H2
   Columna derecha 40%: P + botones + texto adicional
   Todo alineado a la izquierda
   ============================================================ */
#TITLE-DEMO-03 .title-layout-01-2{
  width:100%;
}

#TITLE-DEMO-03 .eyebrow{
  margin-bottom:10px!important;
}

#TITLE-DEMO-03 .title-grid-01-2{
  width:100%;
  display:grid;
  grid-template-columns:60% 40%;
  align-items:start;
}

#TITLE-DEMO-03 .title-col-left-01-2{
  width:100%;
  max-width:100%;
  padding-right:30px;
  text-align:left;
}

#TITLE-DEMO-03 .title-col-right-01-2{
  width:100%;
  max-width:100%;
  padding-left:30px;
  text-align:left;
}

#TITLE-DEMO-03 h2{
  margin:0!important;
  color:var(--color-dark)!important;
}

#TITLE-DEMO-03 .title-col-right-01-2 > p{
  margin:0!important;
  color:var(--color-dark)!important;
  font-size:var(--body)!important;
  font-weight:400!important;
  line-height:1.6!important;
}

#TITLE-DEMO-03 .title-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  margin-top:20px!important;
}

#TITLE-DEMO-03 .title-actions .contact-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:48px!important;
  padding:0 24px!important;
  border:1px solid var(--color-muted)!important;
  border-radius:0!important;
  background:var(--color-white)!important;
  color:var(--color-dark)!important;
  font-family:inherit!important;
  font-size:var(--small)!important;
  font-weight:700!important;
  line-height:1!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}

#TITLE-DEMO-03 .title-actions .contact-btn.dark{
  border-color:var(--color-key)!important;
  background:var(--color-key)!important;
  color:var(--pb-theme-white,var(--color-white))!important;
}

#TITLE-DEMO-03 .title-additional{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  margin-top:12px!important;
  color:var(--color-muted)!important;
  font-size:var(--small)!important;
  font-weight:500!important;
  line-height:1.4!important;
  text-align:left;
}

#TITLE-DEMO-03 .title-additional span{
  color:var(--color-muted)!important;
  font-size:var(--small)!important;
  font-weight:500!important;
  line-height:1.4!important;
}

#TITLE-DEMO-03 .title-additional-dot{
  display:block;
  width:6px;
  height:6px;
  flex:0 0 6px;
  border-radius:50%;
  background:var(--color-key);
}

@media(max-width:900px){
  #TITLE-DEMO-03 .title-grid-01-2{
    grid-template-columns:1fr;
    gap:24px;
  }

  #TITLE-DEMO-03 .title-col-left-01-2,
  #TITLE-DEMO-03 .title-col-right-01-2{
    padding-left:0;
    padding-right:0;
  }
}


/* TT004 · DEPURACIÓN */
#TITLE-DEMO-04 .title-layout-02{
  width:100%;
}

#TITLE-DEMO-04 .eyebrow{
  margin-bottom:10px!important;
}

#TITLE-DEMO-04 .title-grid-02{
  width:100%;
  display:grid;
  grid-template-columns:30% 30%;
  justify-content:space-between;
  align-items:start;
  gap:40%;
}

#TITLE-DEMO-04 .title-col-left-02,
#TITLE-DEMO-04 .title-col-right-02{
  width:100%;
  max-width:100%;
}

#TITLE-DEMO-04 h2{
  color:var(--color-dark)!important;
}

#TITLE-DEMO-04 .title-col-left-02 > p{
  margin-top:16px!important;
  color:var(--color-dark)!important;
  font-size:var(--body)!important;
  font-weight:400!important;
  line-height:1.6!important;
}

#TITLE-DEMO-04 .title-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  margin-top:0!important;
}

#TITLE-DEMO-04 .title-actions .contact-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:48px!important;
  padding:0 24px!important;
  border:1px solid var(--color-muted)!important;
  border-radius:0!important;
  background:var(--color-white)!important;
  color:var(--color-dark)!important;
  font-family:inherit!important;
  font-size:var(--small)!important;
  font-weight:700!important;
  line-height:1!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}

#TITLE-DEMO-04 .title-actions .contact-btn.dark{
  border-color:var(--color-key)!important;
  background:var(--color-key)!important;
  color:var(--pb-theme-white,var(--color-white))!important;
}

#TITLE-DEMO-04 .title-additional{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:12px!important;
  color:var(--color-muted)!important;
  font-size:var(--small)!important;
  font-weight:500!important;
  line-height:1.4!important;
}

#TITLE-DEMO-04 .title-additional span{
  color:var(--color-muted)!important;
  font-size:var(--small)!important;
  font-weight:500!important;
  line-height:1.4!important;
}

#TITLE-DEMO-04 .title-additional-dot{
  display:block;
  width:6px;
  height:6px;
  flex:0 0 6px;
  border-radius:50%;
  background:var(--color-key);
}

@media(max-width:900px){
  #TITLE-DEMO-04 .title-grid-02{
    grid-template-columns:1fr;
    gap:24px;
  }
  #TITLE-DEMO-04 .title-col-left-02,
  #TITLE-DEMO-04 .title-col-right-02{
    width:100%;
    max-width:100%;
  }
}


/* ============================================================
   TT005 / TT006 · ACCIONES LATERALES
   El bloque original de Etiqueta + H2 + P conserva su ubicación.
   ============================================================ */
#TITLE-DEMO-05 .title-layout-side,
#TITLE-DEMO-06 .title-layout-side{
  position:relative;
  width:100%;
  min-height:100%;
}

/* Mantener exactamente los anchos originales del contenido */
#TITLE-DEMO-05 .title-block{
  width:25%!important;
  max-width:25%!important;
}

#TITLE-DEMO-06 .title-block{
  width:20%!important;
  max-width:20%!important;
}

/* Tipografía validada */
#TITLE-DEMO-05 h2,
#TITLE-DEMO-06 h2{
  color:var(--color-dark)!important;
}

#TITLE-DEMO-05 .title-block > p,
#TITLE-DEMO-06 .title-block > p{
  color:var(--color-dark)!important;
  font-size:var(--body)!important;
  font-weight:400!important;
  line-height:1.6!important;
}

/* Acciones independientes: no alteran la posición del contenido izquierdo */
#TITLE-DEMO-05 .title-side-actions,
#TITLE-DEMO-06 .title-side-actions{
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  text-align:right;
}

#TITLE-DEMO-05 .title-side-actions{
  width:32%;
}

#TITLE-DEMO-06 .title-side-actions{
  width:35%;
}

#TITLE-DEMO-05 .title-actions,
#TITLE-DEMO-06 .title-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  margin:0!important;
}

/* Big button validado */
#TITLE-DEMO-05 .title-actions .contact-btn,
#TITLE-DEMO-06 .title-actions .contact-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:48px!important;
  padding:0 24px!important;
  border:1px solid var(--color-muted)!important;
  border-radius:0!important;
  background:var(--color-white)!important;
  color:var(--color-dark)!important;
  font-family:inherit!important;
  font-size:var(--small)!important;
  font-weight:700!important;
  line-height:1!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}

#TITLE-DEMO-05 .title-actions .contact-btn.dark,
#TITLE-DEMO-06 .title-actions .contact-btn.dark{
  border-color:var(--color-key)!important;
  background:var(--color-key)!important;
  color:var(--pb-theme-white,var(--color-white))!important;
}

/* Texto adicional */
#TITLE-DEMO-05 .title-additional,
#TITLE-DEMO-06 .title-additional{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  margin-top:12px!important;
  color:var(--color-muted)!important;
  font-size:var(--small)!important;
  font-weight:500!important;
  line-height:1.4!important;
  text-align:right;
}

#TITLE-DEMO-05 .title-additional span,
#TITLE-DEMO-06 .title-additional span{
  color:var(--color-muted)!important;
  font-size:var(--small)!important;
  font-weight:500!important;
  line-height:1.4!important;
}

#TITLE-DEMO-05 .title-additional-dot,
#TITLE-DEMO-06 .title-additional-dot{
  display:block;
  width:6px;
  height:6px;
  flex:0 0 6px;
  border-radius:50%;
  background:var(--color-key);
}

@media(max-width:900px){
  #TITLE-DEMO-05 .title-block,
  #TITLE-DEMO-06 .title-block{
    width:100%!important;
    max-width:100%!important;
  }

  #TITLE-DEMO-05 .title-side-actions,
  #TITLE-DEMO-06 .title-side-actions{
    position:static;
    width:100%;
    transform:none;
    align-items:flex-start;
    text-align:left;
    margin-top:20px;
  }

  #TITLE-DEMO-05 .title-actions,
  #TITLE-DEMO-06 .title-actions,
  #TITLE-DEMO-05 .title-additional,
  #TITLE-DEMO-06 .title-additional{
    justify-content:flex-start;
    text-align:left;
  }
}



/* ============================================================
   TT009–TT008 · ACCIONES AGREGADAS SIN MOVER ETIQUETA / H2 / P
   ============================================================ */

/* Tipografía del contenido indicado */
#TITLE-DEMO-09 h2,
#TITLE-DEMO-10 h2,
#TITLE-DEMO-11 h2,
#TITLE-DEMO-07 h2,
#TITLE-DEMO-08 h2{
  color:var(--color-dark)!important;
}

#TITLE-DEMO-09 p,
#TITLE-DEMO-10 p,
#TITLE-DEMO-11 p,
#TITLE-DEMO-07 p,
#TITLE-DEMO-08 p{
  color:var(--color-dark)!important;
  font-size:var(--body)!important;
  font-weight:400!important;
  line-height:1.6!important;
}

/* Acciones */
#TITLE-DEMO-09 .title-actions,
#TITLE-DEMO-10 .title-actions,
#TITLE-DEMO-11 .title-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin-top:20px!important;
}

#TITLE-DEMO-07 .title-actions,
#TITLE-DEMO-08 .title-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  margin-top:20px!important;
}

/* Big button validado */
#TITLE-DEMO-09 .title-actions .contact-btn,
#TITLE-DEMO-10 .title-actions .contact-btn,
#TITLE-DEMO-11 .title-actions .contact-btn,
#TITLE-DEMO-07 .title-actions .contact-btn,
#TITLE-DEMO-08 .title-actions .contact-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:48px!important;
  padding:0 24px!important;
  border:1px solid var(--color-muted)!important;
  border-radius:0!important;
  background:var(--color-white)!important;
  color:var(--color-dark)!important;
  font-family:inherit!important;
  font-size:var(--small)!important;
  font-weight:700!important;
  line-height:1!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}

#TITLE-DEMO-09 .title-actions .contact-btn.dark,
#TITLE-DEMO-10 .title-actions .contact-btn.dark,
#TITLE-DEMO-11 .title-actions .contact-btn.dark,
#TITLE-DEMO-07 .title-actions .contact-btn.dark,
#TITLE-DEMO-08 .title-actions .contact-btn.dark{
  border-color:var(--color-key)!important;
  background:var(--color-key)!important;
  color:var(--pb-theme-white,var(--color-white))!important;
}

/* Texto adicional */
#TITLE-DEMO-09 .title-additional,
#TITLE-DEMO-10 .title-additional,
#TITLE-DEMO-11 .title-additional{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin-top:12px!important;
  color:var(--color-muted)!important;
  font-size:var(--small)!important;
  font-weight:500!important;
  line-height:1.4!important;
  text-align:center;
}

#TITLE-DEMO-07 .title-additional,
#TITLE-DEMO-08 .title-additional{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  margin-top:12px!important;
  color:var(--color-muted)!important;
  font-size:var(--small)!important;
  font-weight:500!important;
  line-height:1.4!important;
  text-align:left;
}

#TITLE-DEMO-09 .title-additional span,
#TITLE-DEMO-10 .title-additional span,
#TITLE-DEMO-11 .title-additional span,
#TITLE-DEMO-07 .title-additional span,
#TITLE-DEMO-08 .title-additional span{
  color:var(--color-muted)!important;
  font-size:var(--small)!important;
  font-weight:500!important;
  line-height:1.4!important;
}

#TITLE-DEMO-09 .title-additional-dot,
#TITLE-DEMO-10 .title-additional-dot,
#TITLE-DEMO-11 .title-additional-dot,
#TITLE-DEMO-07 .title-additional-dot,
#TITLE-DEMO-08 .title-additional-dot{
  display:block;
  width:6px;
  height:6px;
  flex:0 0 6px;
  border-radius:50%;
  background:var(--color-key);
}

/* En TT008, P + CTA siguen dentro de la columna derecha original. */
#TITLE-DEMO-08 .title-split-copy .title-actions{
  margin-top:20px!important;
}

@media(max-width:900px){
  #TITLE-DEMO-09 .title-actions,
  #TITLE-DEMO-10 .title-actions,
  #TITLE-DEMO-11 .title-actions,
  #TITLE-DEMO-07 .title-actions,
  #TITLE-DEMO-08 .title-actions,
  #TITLE-DEMO-09 .title-additional,
  #TITLE-DEMO-10 .title-additional,
  #TITLE-DEMO-11 .title-additional,
  #TITLE-DEMO-07 .title-additional,
  #TITLE-DEMO-08 .title-additional{
    justify-content:flex-start;
    text-align:left;
  }
}



/* ============================================================
   TT008 · ALINEACIÓN VERTICAL CORREGIDA
   El P inicia a la altura del H2, no de la Etiqueta.
   ============================================================ */
#TITLE-DEMO-08 .title-split{
  align-items:start!important;
}

#TITLE-DEMO-08 .title-split-copy{
  padding-top:25px!important;
}

#TITLE-DEMO-08 .title-split-copy > p{
  margin-top:0!important;
}

@media(max-width:900px){
  #TITLE-DEMO-08 .title-split-copy{
    padding-top:0!important;
  }
}

/* ============================================================
   TÍTULOS · TT001–TT011 · VALIDADO + CTA OPCIONAL

   Catálogo:
   muestra el Título base sin CTA.

   Constructor / HTML exportado:
   las acciones aparecen únicamente cuando la instancia tiene
   activado "Convertir en CTA".
   ============================================================ */

/* Catálogo de recursos: mostrar siempre el Título base. */
.builder-resource-preview[data-category="Títulos"] .title-actions,
.builder-resource-preview[data-category="Títulos"] .title-additional{
  display:none!important;
}

/* Instancia sin CTA. */
.page-builder-section[data-section-category="Títulos"]:not(.page-builder-title-cta-on) .title-actions,
.page-builder-section[data-section-category="Títulos"]:not(.page-builder-title-cta-on) .title-additional{
  display:none!important;
}

/* Con CTA activo, prevalecen los layouts validados de cada TT. */
.page-builder-section[data-section-category="Títulos"].page-builder-title-cta-on .title-actions,
.page-builder-section[data-section-category="Títulos"].page-builder-title-cta-on .title-additional{
  visibility:visible;
}

/* ============================================================
   IMAGEN · IM001–IM003 · VALIDADO
   Recursos intermedios full-bleed.
   ============================================================ */
.page-builder-section[data-section-category="Imagen"]{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}

.page-builder-section[data-section-category="Imagen"] .intermediate-image{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:var(--color-light);
}

.page-builder-section[data-section-category="Imagen"] .intermediate-image img{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center!important;
}

.page-builder-section[data-section-category="Imagen"] .intermediate-image-435 img{
  height:435px!important;
}

.page-builder-section[data-section-category="Imagen"] .intermediate-image-half-screen img{
  height:50vh!important;
  min-height:320px!important;
}

/* IM003 · ventana Parallax */
.page-builder-section[data-section-category="Imagen"] .intermediate-parallax{
  position:relative!important;
  width:100%!important;
  max-width:none!important;
  height:50vh!important;
  min-height:360px!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  display:grid!important;
  place-items:center!important;
  isolation:isolate!important;
  background-image:
    linear-gradient(transparent,transparent),
    var(--intermediate-parallax-bg)!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  background-attachment:fixed!important;
}

.page-builder-section[data-section-category="Imagen"] .intermediate-parallax-content{
  position:relative!important;
  z-index:1!important;
  width:min(920px,calc(100% - 60px))!important;
  margin:0 auto!important;
  text-align:center!important;
}

.page-builder-section[data-section-category="Imagen"] .intermediate-parallax h2{
  margin:0!important;
  color:var(--color-white)!important;
  font-size:var(--h2)!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:-.035em!important;
}

.page-builder-section[data-section-category="Imagen"] .intermediate-parallax p{
  margin:16px auto 0!important;
  max-width:720px!important;
  color:var(--color-white)!important;
  font-size:var(--body)!important;
  font-weight:400!important;
  line-height:1.6!important;
}

@media(max-width:900px){
  .page-builder-section[data-section-category="Imagen"] .intermediate-parallax{
    background-attachment:scroll!important;
  }
}

@media(max-width:560px){
  .page-builder-section[data-section-category="Imagen"] .intermediate-image-435 img{
    height:320px!important;
  }

  .page-builder-section[data-section-category="Imagen"] .intermediate-parallax{
    min-height:320px!important;
  }

  .page-builder-section[data-section-category="Imagen"] .intermediate-parallax-content{
    width:calc(100% - 36px)!important;
  }
}

/* ============================================================
   TT009 · ETIQUETA 20% + CONTENIDO 80% · VALIDADO
   ============================================================ */
.page-builder-section[data-section-category="Títulos"] .additional-section{
  width:100%;
  background:var(--color-white);
  color:var(--color-dark);
}

.page-builder-section[data-section-category="Títulos"] .additional-section-inner{
  box-sizing:border-box;
  width:var(--pb-validated-width);
  max-width:none;
  margin-left:auto;
  margin-right:auto;
  padding:80px 0;
}

.page-builder-section[data-section-category="Títulos"] .additional-label{
  display:block;
  margin:0;
  color:var(--color-key);
  font-size:var(--micro);
  font-weight:500;
  line-height:1.4;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.page-builder-section[data-section-category="Títulos"] .additional-section h2{
  margin:0;
  color:var(--color-dark);
  font-size:var(--h2);
  font-weight:900;
  line-height:1;
  letter-spacing:-.035em;
}

.page-builder-section[data-section-category="Títulos"] .additional-section p{
  margin:0;
  color:var(--color-dark);
  font-size:var(--body);
  font-weight:400;
  line-height:1.6;
}

.page-builder-section[data-source-id="titulos-09"] .additional-01-grid{
  display:grid;
  grid-template-columns:20% 80%;
  align-items:start;
}

.page-builder-section[data-source-id="titulos-09"] .additional-01-label{
  padding-right:30px;
}

.page-builder-section[data-source-id="titulos-09"] .additional-01-content{
  min-width:0;
}

.page-builder-section[data-source-id="titulos-09"] .additional-01-copy{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:30px;
  margin-top:24px;
}

.page-builder-section[data-source-id="titulos-09"] .additional-01-copy > div:first-child{
  padding-right:15px;
}

.page-builder-section[data-source-id="titulos-09"] .additional-01-copy > div:last-child{
  padding-left:15px;
}

@media(max-width:900px){
  .page-builder-section[data-section-category="Títulos"] .additional-section-inner{
    padding:64px 0;
  }

  .page-builder-section[data-source-id="titulos-09"] .additional-01-grid{
    grid-template-columns:1fr;
  }

  .page-builder-section[data-source-id="titulos-09"] .additional-01-label{
    padding-right:0;
    margin-bottom:10px;
  }

  .page-builder-section[data-source-id="titulos-09"] .additional-01-copy{
    grid-template-columns:1fr;
    gap:16px;
  }

  .page-builder-section[data-source-id="titulos-09"] .additional-01-copy > div:first-child,
  .page-builder-section[data-source-id="titulos-09"] .additional-01-copy > div:last-child{
    padding:0;
  }
}

/* Preview del catálogo: el recurso no está aún dentro de page-builder-section. */
.builder-resource-preview .additional-section{
  width:100%;
  background:var(--color-white);
  color:var(--color-dark);
}

.builder-resource-preview .additional-section-inner{
  width:min(1440px,calc(100% - 60px));
  margin:0 auto;
  padding:80px 0;
}

.builder-resource-preview .additional-label{
  display:block;
  margin:0;
  color:var(--color-key);
  font-size:var(--micro);
  font-weight:500;
  line-height:1.4;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.builder-resource-preview .additional-section h2{
  margin:0;
  color:var(--color-dark);
  font-size:var(--h2);
  font-weight:900;
  line-height:1;
  letter-spacing:-.035em;
}

.builder-resource-preview .additional-section p{
  margin:0;
  color:var(--color-dark);
  font-size:var(--body);
  font-weight:400;
  line-height:1.6;
}

.builder-resource-preview .additional-01-grid{
  display:grid;
  grid-template-columns:20% 80%;
  align-items:start;
}

.builder-resource-preview .additional-01-label{
  padding-right:30px;
}

.builder-resource-preview .additional-01-content{
  min-width:0;
}

.builder-resource-preview .additional-01-copy{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:30px;
  margin-top:24px;
}

.builder-resource-preview .additional-01-copy > div:first-child{
  padding-right:15px;
}

.builder-resource-preview .additional-01-copy > div:last-child{
  padding-left:15px;
}

/* ============================================================
   TÍTULOS · COLOR ALTERNATIVO
   Dark -> White · White -> Dark · Muted -> Line
   ============================================================ */
.page-builder-section[data-section-category="Títulos"].page-builder-alt-color-on{
  background:var(--pb-theme-dark,var(--color-dark))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
}

/* Los TITLE-DEMO validados contienen algunos Dark literales.
   Se refuerzan después del CSS original para la versión alterna. */
.page-builder-section[data-section-category="Títulos"].page-builder-alt-color-on
:is(
  #TITLE-DEMO-01,#TITLE-DEMO-02,#TITLE-DEMO-03,#TITLE-DEMO-04,
  #TITLE-DEMO-05,#TITLE-DEMO-06,#TITLE-DEMO-07,#TITLE-DEMO-08,
  #TITLE-DEMO-09,#TITLE-DEMO-10,#TITLE-DEMO-11
){
  background:var(--pb-theme-dark,var(--color-dark))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
}

.page-builder-section[data-section-category="Títulos"].page-builder-alt-color-on
:is(
  #TITLE-DEMO-01,#TITLE-DEMO-02,#TITLE-DEMO-03,#TITLE-DEMO-04,
  #TITLE-DEMO-05,#TITLE-DEMO-06,#TITLE-DEMO-07,#TITLE-DEMO-08,
  #TITLE-DEMO-09,#TITLE-DEMO-10,#TITLE-DEMO-11
) h2,
.page-builder-section[data-section-category="Títulos"].page-builder-alt-color-on
:is(
  #TITLE-DEMO-01,#TITLE-DEMO-02,#TITLE-DEMO-03,#TITLE-DEMO-04,
  #TITLE-DEMO-05,#TITLE-DEMO-06,#TITLE-DEMO-07,#TITLE-DEMO-08,
  #TITLE-DEMO-09,#TITLE-DEMO-10,#TITLE-DEMO-11
) p,
.page-builder-section[data-section-category="Títulos"].page-builder-alt-color-on
:is(
  #TITLE-DEMO-01,#TITLE-DEMO-02,#TITLE-DEMO-03,#TITLE-DEMO-04,
  #TITLE-DEMO-05,#TITLE-DEMO-06,#TITLE-DEMO-07,#TITLE-DEMO-08,
  #TITLE-DEMO-09,#TITLE-DEMO-10,#TITLE-DEMO-11
) p strong{
  color:var(--pb-theme-white,var(--color-white))!important;
}

.page-builder-section[data-section-category="Títulos"].page-builder-alt-color-on
.title-additional,
.page-builder-section[data-section-category="Títulos"].page-builder-alt-color-on
.title-additional span{
  color:var(--pb-theme-line,var(--color-line))!important;
}

/* TT009 alternativo */
.page-builder-section[data-source-id="titulos-09"].page-builder-alt-color-on
.additional-section{
  background:var(--pb-theme-dark,var(--color-dark))!important;
}

.page-builder-section[data-source-id="titulos-09"].page-builder-alt-color-on
.additional-section h2,
.page-builder-section[data-source-id="titulos-09"].page-builder-alt-color-on
.additional-section p{
  color:var(--pb-theme-white,var(--color-white))!important;
}

/* Solicitar propuesta conserva siempre texto blanco. */
.page-builder-section[data-section-category="Títulos"] a[data-proposal-cta="1"],
.page-builder-section[data-section-category="Títulos"] a.cta-secondary,
.page-builder-section[data-section-category="Títulos"] a.contact-btn.btn.dark{
  --color-white:inherit !important;
  color:var(--pb-theme-white,var(--color-white))!important;
}

/* ============================================================
   TT005 / TT006 · COMPATIBILIDAD CON VALIDADOR ORIGINAL
   Fuente:
   Validador_Titulos_Contenidos_Secciones_4_Vistas_SIN_ESPACIO_EXTRA.html
   ============================================================ */

/* En el validador .title-resource-inner NO es flex.
   Neutralizamos la regla histórica del Constructor. */
#TITLE-DEMO-05 .title-resource-inner,
#TITLE-DEMO-06 .title-resource-inner{
  display:block!important;
  align-items:initial!important;
}

/* Anchos exactos del validador. */
#TITLE-DEMO-05 .title-block{
  width:25%!important;
  max-width:25%!important;
  text-align:left!important;
}

#TITLE-DEMO-06 .title-block{
  width:20%!important;
  max-width:20%!important;
  text-align:left!important;
}

/* En el validador H2 y P ocupan naturalmente todo su title-block. */
#TITLE-DEMO-05 .title-block > h2,
#TITLE-DEMO-06 .title-block > h2{
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  text-align:left!important;
}

#TITLE-DEMO-05 .title-block > p,
#TITLE-DEMO-06 .title-block > p{
  width:auto!important;
  max-width:none!important;
  margin:24px 0 0!important;
  text-align:left!important;
}

#TITLE-DEMO-05 .eyebrow,
#TITLE-DEMO-06 .eyebrow{
  width:auto!important;
  max-width:none!important;
  margin:0 0 12px!important;
  text-align:left!important;
}

/* Acciones laterales exactas del validador. */
#TITLE-DEMO-05 .title-layout-side,
#TITLE-DEMO-06 .title-layout-side{
  position:relative!important;
  width:100%!important;
  min-height:100%!important;
}

#TITLE-DEMO-05 .title-side-actions,
#TITLE-DEMO-06 .title-side-actions{
  position:absolute!important;
  right:0!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  text-align:right!important;
}

#TITLE-DEMO-05 .title-side-actions{width:32%!important;}
#TITLE-DEMO-06 .title-side-actions{width:35%!important;}

@media(max-width:900px){
  #TITLE-DEMO-05 .title-block,
  #TITLE-DEMO-06 .title-block{
    width:100%!important;
    max-width:100%!important;
  }

  #TITLE-DEMO-05 .title-side-actions,
  #TITLE-DEMO-06 .title-side-actions{
    position:static!important;
    width:100%!important;
    transform:none!important;
    align-items:flex-start!important;
    text-align:left!important;
    margin-top:20px!important;
  }
}

/* ============================================================
   SECCIONES SC001–SC014 · CSS FINAL DEL VALIDADOR
   ============================================================ */
/* ============================================================
   SISTEMA VISUAL MAESTRO · ESTILOS.HTML
   Solo paleta y tipografía. Estructura, espaciados y comportamiento
   de cada recurso permanecen sin cambios.
   ============================================================ */
:root{
  
  
  
  
  
  
  

  --h1:clamp(42px,4.25vw,61px);
  --stats:var(--h1);
  --h2:clamp(36px,3.4vw,49px);
  --h3:clamp(31px,2.7vw,39px);
  --h4:clamp(27px,2.2vw,31px);
  --h5:clamp(23px,1.8vw,25px);
  --h6:clamp(18px,1.45vw,20px);
  --card:clamp(18px,1.45vw,20px);
  --body:16px;
  --small:13px;
  --micro:10px;

  --font-main:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-secondary:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;

  --text-label:var(--micro);
  --text-small:var(--small);
  --text-body:var(--body);
  --text-h3:var(--h3);
  --text-card:var(--card);
  --text-h2:var(--h2);
  --text-stat:var(--h1);
  --text-h1:var(--h1);
}

/* AJUSTES ESPECÍFICOS · AC003 / FT008 / FT010 */
/* AC003 · títulos del acordeón en blanco */
#acordeon-03 .acc-full-width-accordion button strong {
  color: var(--color-white) !important;
}

/* FT008 · título principal en tamaño Stats (H1) */
#footer-08 .footer-contact-large h4 {
  font-size: var(--h1) !important;
}

/* FT010 · título principal en tamaño Stats (H1) */
#footer-10 .footer-editorial-logo {
  font-size: var(--h1) !important;
}


/* =========================================================
   GALERÍAS · SIN ESPACIO INFERIOR
   El footer descriptivo fue eliminado; retiramos también
   el padding inferior que dejaba una franja de fondo azul.
   ========================================================= */
.gallery-embed .gallery-module .gallery-section{
  padding-bottom:0!important;
}
.page-builder-section[data-section-category="Galerías"]
.gallery-module .gallery-section{
  padding-bottom:0!important;
}

/* GALERÍAS · ELIMINACIÓN DEFINITIVA DE FRANJA INFERIOR
   Cada GL funciona como recurso independiente. El documento maestro
   imponía min-height de viewport y padding del shell .template-item;
   al quitar el texto/footer esos valores dejaban una franja azul vacía. */
.gallery-embed{
  min-height:0!important;
  height:auto!important;
  margin-bottom:0!important;
  padding-bottom:0!important;
}
.gallery-embed .gallery-module.aligned-master{
  min-height:0!important;
  height:auto!important;
  margin-bottom:0!important;
  padding-bottom:0!important;
}
.gallery-embed .gallery-module.aligned-master > .template-item{
  min-height:0!important;
  height:auto!important;
  padding-top:0!important;
  padding-bottom:0!important;
  margin-top:0!important;
  margin-bottom:0!important;
  border-bottom-width:0!important;
}
.gallery-embed .gallery-module.aligned-master > .template-item > .template-demo{
  min-height:0!important;
  height:auto!important;
  margin-bottom:0!important;
  padding-bottom:0!important;
  border-bottom-width:0!important;
}
.gallery-embed .gallery-module.aligned-master > .template-item > .template-demo > .gallery-section,
.gallery-embed .gallery-module.aligned-master > .template-item > .template-demo > .gallery-section:nth-of-type(even){
  min-height:0!important;
  height:auto!important;
  padding-bottom:0!important;
  margin-bottom:0!important;
}
/* Refuerzo dentro de páginas creadas por el constructor. */
.page-builder-section[data-section-category="Galerías"] > .gallery-embed,
.page-builder-section[data-section-category="Galerías"] .gallery-module.aligned-master,
.page-builder-section[data-section-category="Galerías"] .gallery-module.aligned-master > .template-item,
.page-builder-section[data-section-category="Galerías"] .gallery-module.aligned-master > .template-item > .template-demo{
  min-height:0!important;
  height:auto!important;
  margin-bottom:0!important;
  padding-bottom:0!important;
}
/* ============================================================
   TÍTULOS · TT001–TT009 · VALIDADO
   Tipografía y color: Estilos.html aprobado.
   Espaciado vertical: 80px arriba + 80px abajo.
   ============================================================ */
.titulos-embed{
  width:100%;
  background:var(--color-white);
  color:var(--color-dark);
}
.titulos-embed *{box-sizing:border-box}
.titulos-embed .title-resource{
  width:100%;
  margin:0;
  padding:0;
  background:var(--color-white);
  color:var(--color-dark);
}
.titulos-embed .title-resource-inner{
  width:min(1440px,calc(100% - 60px));
  min-height:0;
  margin:0 auto;
  padding:80px 0;
  display:flex;
  align-items:center;
}
.titulos-embed .eyebrow{
  display:block;
  margin-bottom:12px;
  color:var(--color-key);
  font-size:var(--micro);
  font-weight:500;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.titulos-embed h2{
  margin:0;
  color:var(--color-dark);
  font-size:var(--h2);
  line-height:1;
  letter-spacing:-.035em;
  font-weight:900;
}
.titulos-embed p{
  margin:24px 0 0;
  color:var(--color-muted);
  font-size:var(--body);
  line-height:1.6;
  font-weight:400;
}
.titulos-embed p strong{font-weight:700}
.titulos-embed .title-block{width:100%}
.titulos-embed .title-center{
  max-width:none;
  margin:0 auto;
  text-align:center;
}
.titulos-embed .title-wide{
  max-width:1180px;
}
.titulos-embed .title-wide p{
  max-width:980px;
  margin-left:auto;
  margin-right:auto;
}
.titulos-embed .title-right{
  width:min(920px,60%);
  margin-left:auto;
}
.titulos-embed .title-split{
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,.95fr);
  align-items:center;
  gap:80px;
}
.titulos-embed .title-split-main h2{max-width:860px}
.titulos-embed .title-split-copy p{
  margin-top:0;
  max-width:820px;
}

/* TT001 · bloque completo 50% */
.titulos-embed .title-resource-01 .title-block{
  width:50%;
  max-width:50%;
}
/* TT002 · bloque completo 33% */
.titulos-embed .title-resource-02 .title-block{
  width:33%;
  max-width:33%;
}
/* TT003 · bloque completo 25% */
.titulos-embed .title-resource-03 .title-block{
  width:25%;
  max-width:25%;
}
/* TT004 · bloque completo 20% */
.titulos-embed .title-resource-04 .title-block{
  width:20%;
  max-width:20%;
}
/* TT005 · H2 50% + párrafo 50%, centrados */
.titulos-embed .title-resource-05 .title-block{
  width:100%;
  max-width:none;
  text-align:center;
}
.titulos-embed .title-resource-05 h2,
.titulos-embed .title-resource-05 p{
  width:50%;
  max-width:50%;
  margin-left:auto;
  margin-right:auto;
}
/* TT006 · H2 50% + párrafo 40%, centrados */
.titulos-embed .title-resource-06 .title-block{
  width:100%;
  max-width:none;
  text-align:center;
}
.titulos-embed .title-resource-06 h2{
  width:50%;
  max-width:50%;
  margin-left:auto;
  margin-right:auto;
}
.titulos-embed .title-resource-06 p{
  width:40%;
  max-width:40%;
  margin-left:auto;
  margin-right:auto;
}
.titulos-embed .title-resource-05 .eyebrow,
.titulos-embed .title-resource-06 .eyebrow{
  text-align:center;
}

@media(max-width:900px){
  .titulos-embed .title-resource-01 .title-block,
  .titulos-embed .title-resource-02 .title-block,
  .titulos-embed .title-resource-03 .title-block,
  .titulos-embed .title-resource-04 .title-block,
  .titulos-embed .title-resource-05 h2,
  .titulos-embed .title-resource-05 p,
  .titulos-embed .title-resource-06 h2,
  .titulos-embed .title-resource-06 p,
  .titulos-embed .title-right{
    width:100%;
    max-width:100%;
  }
  .titulos-embed .title-split{
    grid-template-columns:1fr;
    gap:32px;
  }
}
/* ============================================================
   VALIDACIÓN GLOBAL · TIPOGRAFÍA Y BOTONES
   Fuente de verdad: Estilos.html aprobado.
   H1 se reserva para Hero. Stats usa escala H1 sin usar etiqueta H1.
   ============================================================ */

/* Tipografía */
html,
body,
button,
input,
textarea,
select{
  font-family:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

h1{
  font-size:var(--h1)!important;
  font-weight:900!important;
}
h2{
  font-size:var(--h2)!important;
  font-weight:900!important;
}
h3{
  font-size:var(--h3)!important;
  font-weight:700!important;
}
h4{
  font-size:var(--h4)!important;
  font-weight:700!important;
}
h5{
  font-size:var(--h5)!important;
  font-weight:700!important;
}
h6{
  font-size:var(--h6)!important;
  font-weight:500!important;
}
p{
  font-size:var(--body)!important;
  font-weight:400!important;
}
small{
  font-size:var(--small)!important;
  font-weight:500!important;
}

/* Utilidades tipográficas normalizadas */
.type-card{
  font-size:var(--card)!important;
  font-weight:400!important;
}
.type-stats,
.trayectoria-stats-embed .tray-counter{
  font-size:var(--stats)!important;
  font-weight:900!important;
}
.type-body{
  font-size:var(--body)!important;
  font-weight:400!important;
}
.type-small{
  font-size:var(--small)!important;
  font-weight:500!important;
}
.type-micro{
  font-size:var(--micro)!important;
  font-weight:500!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}

/* Stats existentes del Hero */
.hero-embed .stat-box strong{
  font-size:var(--stats)!important;
  font-weight:900!important;
}

/* Corrección de reglas históricas con !important que cambiaban
   el nivel tipográfico real del tag. */
#seccion-nosotros-01 .about-content-demo h3,
#seccion-nosotros-02 .about-content-demo h3,
#seccion-nosotros-half-01 .about-half-copy h3,
#seccion-nosotros-half-02 .about-half-copy h3,
#formulario-01 .contact-info-card h3,
#formulario-01 .contact-form-card h3{
  font-size:var(--h3)!important;
  font-weight:700!important;
}
#seccion-nosotros-01 .about-feature-grid h4,
#seccion-nosotros-02 .about-feature-grid h4,
.packages-embed #DEMO-RECURSOS-2-21A .price-card h4,
.packages-embed #DEMO-RECURSOS-2-21 .price-card h4,
.packages-embed #DEMO-RECURSOS-2-21C .price-card h4,
#footer-08 .footer-contact-large h4{
  font-size:var(--h4)!important;
  font-weight:700!important;
}

/* Stats que antes eran H1 en CR011 / CR012 */
.carousel-embed #CAROUSEL-11 .number-card-item .type-stats,
.carousel-embed #CAROUSEL-12 .twohalf-card .type-stats{
  margin:0;
  color:var(--color-key);
  font-size:var(--stats)!important;
  font-weight:900!important;
  line-height:.86;
  letter-spacing:-.08em;
}

/* CI005 / CI006 / CI007 · títulos de cards = Card Bold */
#icon-cards-05 .icon-card .type-card,
#icon-cards-06 .icon-card .type-card,
#icon-cards-07 .icon-card .type-card{
  font-size:var(--card)!important;
  font-weight:700!important;
  line-height:1.25!important;
}
/* FM003 · etiquetas secundarias = Small
   La primera etiqueta de sección se conserva como etiqueta/Micro. */
#formulario-03 .contact-info-label,
#FORMULARIO-03 .contact-info-label,
[data-fm003-small="1"]{
  font-size:var(--small)!important;
  font-weight:500!important;
  line-height:1.4!important;
  letter-spacing:normal!important;
  text-transform:none!important;
}
/* ============================================================
   MENÚ HAMBURGUESA SOBRE HERO · SIN BARRA DE FONDO
   Solo queda visible el logo y el botón hamburguesa.
   En flujo normal conserva su diseño original.
   ============================================================ */
.page-builder-overlay-item[data-section-category="Menú hamburguesa"],
.page-builder-overlay-item[data-section-category="Menú hamburguesa"] .menu-section,
.page-builder-overlay-item[data-section-category="Menú hamburguesa"] .menu-real,
.page-builder-overlay-item[data-section-category="Menú hamburguesa"] .hamburger-stage,
.page-builder-overlay-item[data-section-category="Menú hamburguesa"] .hamburger-demo,
.page-builder-overlay-item[data-section-category="Menú hamburguesa"] .hamburger-demo-header{
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
}

.page-builder-overlay-item[data-section-category="Menú hamburguesa"] .hamburger-demo-header{
  backdrop-filter:none!important;
}

/* Se conservan los fondos propios del logo/mark y del botón hamburguesa. */
.page-builder-overlay-item[data-section-category="Menú hamburguesa"] .logo-mark{
  background:var(--color-key)!important;
}

.page-builder-overlay-item[data-section-category="Menú hamburguesa"] .hamburger-trigger{
  background:var(--color-dark)!important;
}
.page-builder-overlay-item[data-section-category="Menú hamburguesa"] .hamburger-trigger:hover{
  background:var(--color-key)!important;
}
/* ============================================================
   FLOTANTES · FL001–FL005 · BLOQUE CANÓNICO
   ============================================================ */

.floating-demo-stage{
  position:relative;
  width:100%;
  min-height:150px;
  margin:0;
  padding:0;
  overflow:hidden;
  background:var(--color-light);
}

.floating-demo-stage .site-floating{
  position:absolute;
  z-index:20;
  box-sizing:border-box;
  font-family:inherit;
  text-decoration:none;
  transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease;
}

.page-builder-section[data-section-category="Flotantes"]{
  width:100%!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  overflow:visible!important;
  position:relative!important;
  z-index:2147481000!important;
}

.page-builder-section[data-section-category="Flotantes"] .floating-demo-stage{
  width:0!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  background:transparent!important;
}

.page-builder-section[data-section-category="Flotantes"] .site-floating{
  position:fixed!important;
  z-index:2147481000!important;
}

/* FL001 */
.floating-alert{
  left:24px;
  bottom:24px;
  min-height:40px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:5px 10px;
  border:1px solid var(--color-key);
  border-radius:999px;
  background:var(--color-key);
  color:var(--pb-theme-white,var(--color-white));
  box-shadow:0 12px 34px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 24%, transparent);
  font-size:var(--small);
  font-weight:500;
  line-height:1.3;
  animation:floatingAlertPulse 2.4s ease-in-out infinite;
}
.floating-alert-dot{
  width:8px;
  height:8px;
  flex:0 0 8px;
  border-radius:50%;
  background:var(--color-white);
  animation:floatingDotBlink 1.15s ease-in-out infinite;
}
@keyframes floatingDotBlink{
  0%,100%{opacity:.48;transform:scale(.82);box-shadow:0 0 0 0 color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 30%, transparent)}
  50%{opacity:1;transform:scale(1.15);box-shadow:0 0 0 5px transparent}
}
@keyframes floatingAlertPulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.035)}
}

/* FL002 */
.floating-whatsapp{
  right:40px;
  bottom:40px;
  width:60px;
  height:60px;
  min-width:60px;
  min-height:60px;
  max-width:60px;
  max-height:60px;
  display:grid;
  place-items:center;
  padding:0;
  margin:0;
  border:0;
  border-radius:50%;
  background:var(--color-key);
  color:var(--pb-theme-white,var(--color-white));
  box-shadow:0 12px 30px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 18%, transparent);
  line-height:1;
  text-align:center;
  aspect-ratio:1/1;
  overflow:hidden;
}
.floating-whatsapp-icon{
  display:block;
  width:30px;
  height:30px;
  margin:0;
  padding:0;
  color:var(--color-white);
  transform:none;
  flex:none;
}
.page-builder-section[data-section-category="Flotantes"] #flotante-02 .floating-whatsapp{
  position:fixed!important;
  right:40px!important;
  bottom:40px!important;
  width:60px!important;
  height:60px!important;
  border-radius:50%!important;
}

/* FL003 */
.floating-phone{
  right:24px;
  bottom:112px;
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  padding:0;
  border:0;
  border-radius:50%;
  background:var(--color-key);
  color:var(--pb-theme-white,var(--color-white));
  box-shadow:0 12px 30px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 18%, transparent);
}
.floating-phone svg{
  display:block;
  width:25px;
  height:25px;
  margin:0;
}

/* FL004 */
.floating-back-top{
  left:50%;
  right:auto;
  bottom:24px;
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid var(--color-line);
  border-radius:50%;
  background:var(--color-white);
  color:var(--color-dark);
  box-shadow:0 12px 30px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 16%, transparent);
  cursor:pointer;
  transform:translateX(-50%);
}
.floating-back-top svg{
  display:block;
  width:22px;
  height:22px;
  margin:0;
}
.floating-back-top:hover{
  transform:translate(-50%,-2px);
}

/* FL005 */
.floating-quote{
  left:50%;
  right:auto;
  bottom:84px;
  min-height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:5px 10px;
  border:1px solid var(--color-key);
  border-radius:0;
  background:var(--color-key);
  color:var(--pb-theme-white,var(--color-white));
  box-shadow:0 12px 30px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 16%, transparent);
  font-size:var(--small);
  font-weight:400;
  line-height:1.2;
  transform:translateX(-50%);
}
.floating-quote-icon{
  width:26px;
  height:26px;
  flex:0 0 26px;
  display:grid;
  place-items:center;
  margin:0;
  border-radius:50%;
  background:var(--color-line);
  color:var(--color-white);
}
.floating-quote-icon svg{
  display:block;
  width:15px;
  height:15px;
  margin:0;
}
.floating-quote:hover{
  transform:translate(-50%,-2px);
}

/* Preview: FL004 y FL005 centrados abajo dentro del demo */
.floating-demo-stage#flotante-04 .floating-back-top{
  bottom:18px;
}
.floating-demo-stage#flotante-05 .floating-quote{
  bottom:18px;
}

/* Web final */
.page-builder-section[data-section-category="Flotantes"] #flotante-04 .floating-back-top{
  position:fixed!important;
  left:50%!important;
  right:auto!important;
  bottom:24px!important;
  transform:translateX(-50%)!important;
}
.page-builder-section[data-section-category="Flotantes"] #flotante-05 .floating-quote{
  position:fixed!important;
  left:50%!important;
  right:auto!important;
  bottom:84px!important;
  transform:translateX(-50%)!important;
}

.floating-whatsapp:hover,
.floating-phone:hover{
  transform:translateY(-2px);
}
.floating-alert:hover{
  animation-play-state:paused;
  transform:translateY(-2px) scale(1.02);
}

@media(max-width:560px){
  .floating-alert{left:18px;bottom:18px}
  .floating-whatsapp{right:18px;bottom:18px}
  .floating-phone{right:18px;bottom:90px}

  .page-builder-section[data-section-category="Flotantes"] #flotante-02 .floating-whatsapp{
    right:18px!important;
    bottom:18px!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .floating-alert,
  .floating-alert-dot{
    animation:none!important;
  }
}


/* ============================================================
   FL002 · LOGO WHATSAPP CORREGIDO
   Glifo de una sola ruta, blanco, sin doble contorno.
   ============================================================ */
.floating-whatsapp{
  display:grid!important;
  place-items:center!important;
}
.floating-whatsapp-icon{
  display:block!important;
  width:30px!important;
  height:30px!important;
  margin:0!important;
  padding:0!important;
  fill:currentColor!important;
  stroke:none!important;
  color:var(--color-white)!important;
  transform:none!important;
  flex:none!important;
}
.floating-whatsapp-icon path{
  fill:currentColor!important;
  stroke:none!important;
}


/* ============================================================
   FL002 · LOGO WHATSAPP FINAL
   Glifo de marca de una sola ruta.
   ============================================================ */
.floating-whatsapp{
  width:60px!important;
  height:60px!important;
  min-width:60px!important;
  min-height:60px!important;
  max-width:60px!important;
  max-height:60px!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  border-radius:50%!important;
  background:var(--color-key)!important;
  color:var(--pb-theme-white,var(--color-white))!important;
  overflow:hidden!important;
}
.floating-whatsapp-icon{
  display:block!important;
  width:32px!important;
  height:32px!important;
  margin:0!important;
  padding:0!important;
  fill:currentColor!important;
  stroke:none!important;
  color:var(--color-white)!important;
}
.floating-whatsapp-icon path{
  fill:currentColor!important;
  stroke:none!important;
}
/* ============================================================
   FL006 · CALENDARIO · CORREGIDO
   Fondo Key · ícono blanco · 60×60 · SVG completo.
   ============================================================ */
.floating-calendar{
  right:40px;
  bottom:40px;
  width:60px;
  height:60px;
  min-width:60px;
  min-height:60px;
  max-width:60px;
  max-height:60px;
  display:grid;
  place-items:center;
  padding:0;
  margin:0;
  border:0;
  border-radius:50%;
  background:var(--color-key);
  color:var(--pb-theme-white,var(--color-white));
  box-shadow:0 12px 30px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 18%, transparent);
  line-height:1;
  aspect-ratio:1/1;
  overflow:visible;
  box-sizing:border-box;
}

.floating-calendar-icon{
  display:block;
  width:32px;
  height:32px;
  min-width:32px;
  min-height:32px;
  margin:0;
  padding:0;
  color:var(--color-white);
  stroke:currentColor;
  fill:none;
  overflow:visible;
  flex:none;
  box-sizing:content-box;
}

/* Preview: visible dentro de la muestra del catálogo. */
.floating-demo-stage#flotante-06 .floating-calendar{
  position:absolute!important;
  right:40px!important;
  bottom:40px!important;
}

/* Web final: flotante fijo y apilado sobre Teléfono/WhatsApp. */
.page-builder-section[data-section-category="Flotantes"] #flotante-06 .floating-calendar{
  position:fixed!important;
  right:24px!important;
  bottom:176px!important;
  width:60px!important;
  height:60px!important;
  border-radius:50%!important;
}

.floating-calendar:hover{
  transform:translateY(-2px);
}

@media(max-width:560px){
  .floating-demo-stage#flotante-06 .floating-calendar{
    right:18px!important;
    bottom:18px!important;
  }

  .page-builder-section[data-section-category="Flotantes"] #flotante-06 .floating-calendar{
    right:18px!important;
    bottom:154px!important;
  }
}
/* ============================================================
   FLOTANTES · ALINEACIÓN AUTOMÁTICA POR ORDEN
   Izquierda / centro / derecha quedan en ejes comunes.
   El apilado vertical lo resuelve el JS según el orden del Constructor.
   ============================================================ */
.page-builder-section[data-section-category="Flotantes"] .site-floating{
  margin:0!important;
  box-sizing:border-box!important;
}

.page-builder-section[data-section-category="Flotantes"] :is(
  .floating-whatsapp,
  .floating-phone,
  .floating-calendar
){
  transform:none;
}

.page-builder-section[data-section-category="Flotantes"] :is(
  .floating-back-top,
  .floating-quote
){
  left:50%;
  right:auto;
}
/* ============================================================
   FLOTANTES · CÍRCULOS UNIFORMES
   Todos los flotantes circulares usan la misma medida para que
   queden alineados visualmente en izquierda / centro / derecha.
   ============================================================ */
.floating-whatsapp,
.floating-phone,
.floating-calendar,
.floating-back-top{
  width:60px!important;
  height:60px!important;
  min-width:60px!important;
  min-height:60px!important;
  max-width:60px!important;
  max-height:60px!important;
  padding:0!important;
  margin:0!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  box-sizing:border-box!important;
  aspect-ratio:1/1!important;
}

/* Ajuste proporcional de íconos */
.floating-whatsapp-icon{
  width:32px!important;
  height:32px!important;
}

.floating-phone svg{
  width:28px!important;
  height:28px!important;
}

.floating-calendar-icon{
  width:32px!important;
  height:32px!important;
}

.floating-back-top svg{
  width:24px!important;
  height:24px!important;
}

/* Mantiene alineación exacta también en la web final */
.page-builder-section[data-section-category="Flotantes"] :is(
  .floating-whatsapp,
  .floating-phone,
  .floating-calendar,
  .floating-back-top
){
  width:60px!important;
  height:60px!important;
  min-width:60px!important;
  min-height:60px!important;
  max-width:60px!important;
  max-height:60px!important;
}

/* ============================================================
   TÍTULOS · TT001–TT011 · VALIDADO + CTA OPCIONAL
   ============================================================ */
/* TITULOS · layout actual */
.titulos-embed,.title-resource{width:100%;margin:0;padding:0;background:var(--color-white)}
.title-resource-inner{width:100%;padding:80px 0}
.eyebrow{
  display:block;margin:0 0 12px;color:var(--color-key);font-size:var(--micro);
  font-weight:500;line-height:1.3;letter-spacing:.12em;text-transform:uppercase
}
.title-resource h2{margin:0;color:var(--color-dark);font-size:var(--h2);font-weight:900;line-height:1;letter-spacing:-.035em}
.title-resource p{margin:24px 0 0;color:var(--color-muted);font-size:var(--body);font-weight:400;line-height:1.6}

#TITLE-DEMO-01 .title-block{width:50%;max-width:50%}
#TITLE-DEMO-04 .title-block{width:33%;max-width:33%}
#TITLE-DEMO-05 .title-block{width:25%;max-width:25%}
#TITLE-DEMO-06 .title-block{width:20%;max-width:20%}
#TITLE-DEMO-09 .title-block,#TITLE-DEMO-10 .title-block{width:100%;text-align:center}
#TITLE-DEMO-09 h2,#TITLE-DEMO-09 p{width:50%;max-width:50%;margin-left:auto;margin-right:auto}
#TITLE-DEMO-10 h2{width:50%;max-width:50%;margin-left:auto;margin-right:auto}
#TITLE-DEMO-10 p{width:40%;max-width:40%;margin-left:auto;margin-right:auto}
#TITLE-DEMO-11 .title-block{width:100%;max-width:1180px;margin:auto;text-align:center}
#TITLE-DEMO-11 p{max-width:980px;margin-left:auto;margin-right:auto}
#TITLE-DEMO-07 .title-block{width:min(920px,60%);margin-left:auto;text-align:left}
#TITLE-DEMO-08 .title-split{width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.95fr);align-items:center;gap:80px}
#TITLE-DEMO-08 .title-split-copy p{margin-top:0}


/* ============================================================
   BIG BUTTON · recurso normalizado de Estilos
   48px · 0 24px · Small · 700 · sin curvas
   ============================================================ */
#TITLE-DEMO-01 .title-actions .contact-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:48px!important;
  padding:0 24px!important;
  border:1px solid var(--color-muted)!important;
  border-radius:0!important;
  background:var(--color-white)!important;
  color:var(--color-dark)!important;
  font-family:inherit!important;
  font-size:var(--small)!important;
  font-weight:700!important;
  line-height:1!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}

#TITLE-DEMO-01 .title-actions .contact-btn.dark{
  border-color:var(--color-key)!important;
  background:var(--color-key)!important;
  color:var(--pb-theme-white,var(--color-white))!important;
}


/* ============================================================
   TT001 · COLOR Y ESCALA TIPOGRÁFICA VALIDADA
   H2 / P / Small = var(--color-dark)
   ============================================================ */
#TITLE-DEMO-01 h2{
  color:var(--color-dark)!important;
}

#TITLE-DEMO-01 > .title-resource-inner .title-block > p{
  color:var(--color-dark)!important;
  font-size:var(--body)!important;
  font-weight:400!important;
  line-height:1.6!important;
}

#TITLE-DEMO-01 .title-additional,
#TITLE-DEMO-01 .title-additional span{
  color:var(--color-muted)!important;
  font-size:var(--small)!important;
  font-weight:500!important;
  line-height:1.4!important;
}

/* TT001 · propuesta de espaciado compacto */
#TITLE-DEMO-01 .eyebrow{margin-bottom:10px!important}
#TITLE-DEMO-01 p{margin-top:16px!important}
#TITLE-DEMO-01 .title-actions{
  display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:20px!important
}
#TITLE-DEMO-01 .title-additional{
  display:flex;align-items:center;gap:10px;margin-top:12px!important
}
#TITLE-DEMO-01 .title-additional-dot{
  width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:var(--color-key)
}



/* ============================================================
   TT002 · DUPLICADO TEMPORAL · SPLIT 50 / 50
   F1 etiqueta
   Debajo: izquierda 50% + derecha 50%
   Columna derecha alineada a la derecha y centrada verticalmente
   ============================================================ */
#TITLE-DEMO-02 .title-layout-01-1{
  width:100%;
}

#TITLE-DEMO-02 .eyebrow{
  margin-bottom:10px!important;
}

#TITLE-DEMO-02 .title-grid-01-1{
  width:100%;
  display:grid;
  grid-template-columns:50% 50%;
  align-items:stretch;
}

#TITLE-DEMO-02 .title-col-left-01-1{
  width:100%;
  max-width:100%;
  padding-right:30px;
}

#TITLE-DEMO-02 .title-col-right-01-1{
  width:100%;
  max-width:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-end;
  text-align:right;
  padding-left:30px;
}

#TITLE-DEMO-02 h2{
  margin:0!important;
  color:var(--color-dark)!important;
}

#TITLE-DEMO-02 .title-copy-01-1{
  margin:16px 0 0!important;
  color:var(--color-dark)!important;
  font-size:var(--body)!important;
  font-weight:400!important;
  line-height:1.6!important;
}

#TITLE-DEMO-02 .title-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  margin:0!important;
}

#TITLE-DEMO-02 .title-actions .contact-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:48px!important;
  padding:0 24px!important;
  border:1px solid var(--color-muted)!important;
  border-radius:0!important;
  background:var(--color-white)!important;
  color:var(--color-dark)!important;
  font-family:inherit!important;
  font-size:var(--small)!important;
  font-weight:700!important;
  line-height:1!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}

#TITLE-DEMO-02 .title-actions .contact-btn.dark{
  border-color:var(--color-key)!important;
  background:var(--color-key)!important;
  color:var(--pb-theme-white,var(--color-white))!important;
}

#TITLE-DEMO-02 .title-additional{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  margin-top:12px!important;
  color:var(--color-muted)!important;
  font-size:var(--small)!important;
  font-weight:500!important;
  line-height:1.4!important;
  text-align:right;
}

#TITLE-DEMO-02 .title-additional span{
  color:var(--color-muted)!important;
  font-size:var(--small)!important;
  font-weight:500!important;
  line-height:1.4!important;
}

#TITLE-DEMO-02 .title-additional-dot{
  display:block;
  width:6px;
  height:6px;
  flex:0 0 6px;
  border-radius:50%;
  background:var(--color-key);
}

@media(max-width:900px){
  #TITLE-DEMO-02 .title-grid-01-1{
    grid-template-columns:1fr;
    gap:24px;
  }

  #TITLE-DEMO-02 .title-col-left-01-1,
  #TITLE-DEMO-02 .title-col-right-01-1{
    padding-left:0;
    padding-right:0;
  }

  #TITLE-DEMO-02 .title-col-right-01-1{
    align-items:flex-start;
    text-align:left;
  }

  #TITLE-DEMO-02 .title-actions,
  #TITLE-DEMO-02 .title-additional{
    justify-content:flex-start;
    text-align:left;
  }
}


/* ============================================================
   TT003 · DUPLICADO TEMPORAL · SPLIT 60 / 40
   F1 etiqueta
   Columna izquierda 60%: H2
   Columna derecha 40%: P + botones + texto adicional
   Todo alineado a la izquierda
   ============================================================ */
#TITLE-DEMO-03 .title-layout-01-2{
  width:100%;
}

#TITLE-DEMO-03 .eyebrow{
  margin-bottom:10px!important;
}

#TITLE-DEMO-03 .title-grid-01-2{
  width:100%;
  display:grid;
  grid-template-columns:60% 40%;
  align-items:start;
}

#TITLE-DEMO-03 .title-col-left-01-2{
  width:100%;
  max-width:100%;
  padding-right:30px;
  text-align:left;
}

#TITLE-DEMO-03 .title-col-right-01-2{
  width:100%;
  max-width:100%;
  padding-left:30px;
  text-align:left;
}

#TITLE-DEMO-03 h2{
  margin:0!important;
  color:var(--color-dark)!important;
}

#TITLE-DEMO-03 .title-col-right-01-2 > p{
  margin:0!important;
  color:var(--color-dark)!important;
  font-size:var(--body)!important;
  font-weight:400!important;
  line-height:1.6!important;
}

#TITLE-DEMO-03 .title-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  margin-top:20px!important;
}

#TITLE-DEMO-03 .title-actions .contact-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:48px!important;
  padding:0 24px!important;
  border:1px solid var(--color-muted)!important;
  border-radius:0!important;
  background:var(--color-white)!important;
  color:var(--color-dark)!important;
  font-family:inherit!important;
  font-size:var(--small)!important;
  font-weight:700!important;
  line-height:1!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}

#TITLE-DEMO-03 .title-actions .contact-btn.dark{
  border-color:var(--color-key)!important;
  background:var(--color-key)!important;
  color:var(--pb-theme-white,var(--color-white))!important;
}

#TITLE-DEMO-03 .title-additional{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  margin-top:12px!important;
  color:var(--color-muted)!important;
  font-size:var(--small)!important;
  font-weight:500!important;
  line-height:1.4!important;
  text-align:left;
}

#TITLE-DEMO-03 .title-additional span{
  color:var(--color-muted)!important;
  font-size:var(--small)!important;
  font-weight:500!important;
  line-height:1.4!important;
}

#TITLE-DEMO-03 .title-additional-dot{
  display:block;
  width:6px;
  height:6px;
  flex:0 0 6px;
  border-radius:50%;
  background:var(--color-key);
}

@media(max-width:900px){
  #TITLE-DEMO-03 .title-grid-01-2{
    grid-template-columns:1fr;
    gap:24px;
  }

  #TITLE-DEMO-03 .title-col-left-01-2,
  #TITLE-DEMO-03 .title-col-right-01-2{
    padding-left:0;
    padding-right:0;
  }
}


/* TT004 · DEPURACIÓN */
#TITLE-DEMO-04 .title-layout-02{
  width:100%;
}

#TITLE-DEMO-04 .eyebrow{
  margin-bottom:10px!important;
}

#TITLE-DEMO-04 .title-grid-02{
  width:100%;
  display:grid;
  grid-template-columns:30% 30%;
  justify-content:space-between;
  align-items:start;
  gap:40%;
}

#TITLE-DEMO-04 .title-col-left-02,
#TITLE-DEMO-04 .title-col-right-02{
  width:100%;
  max-width:100%;
}

#TITLE-DEMO-04 h2{
  color:var(--color-dark)!important;
}

#TITLE-DEMO-04 .title-col-left-02 > p{
  margin-top:16px!important;
  color:var(--color-dark)!important;
  font-size:var(--body)!important;
  font-weight:400!important;
  line-height:1.6!important;
}

#TITLE-DEMO-04 .title-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  margin-top:0!important;
}

#TITLE-DEMO-04 .title-actions .contact-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:48px!important;
  padding:0 24px!important;
  border:1px solid var(--color-muted)!important;
  border-radius:0!important;
  background:var(--color-white)!important;
  color:var(--color-dark)!important;
  font-family:inherit!important;
  font-size:var(--small)!important;
  font-weight:700!important;
  line-height:1!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}

#TITLE-DEMO-04 .title-actions .contact-btn.dark{
  border-color:var(--color-key)!important;
  background:var(--color-key)!important;
  color:var(--pb-theme-white,var(--color-white))!important;
}

#TITLE-DEMO-04 .title-additional{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:12px!important;
  color:var(--color-muted)!important;
  font-size:var(--small)!important;
  font-weight:500!important;
  line-height:1.4!important;
}

#TITLE-DEMO-04 .title-additional span{
  color:var(--color-muted)!important;
  font-size:var(--small)!important;
  font-weight:500!important;
  line-height:1.4!important;
}

#TITLE-DEMO-04 .title-additional-dot{
  display:block;
  width:6px;
  height:6px;
  flex:0 0 6px;
  border-radius:50%;
  background:var(--color-key);
}

@media(max-width:900px){
  #TITLE-DEMO-04 .title-grid-02{
    grid-template-columns:1fr;
    gap:24px;
  }
  #TITLE-DEMO-04 .title-col-left-02,
  #TITLE-DEMO-04 .title-col-right-02{
    width:100%;
    max-width:100%;
  }
}


/* ============================================================
   TT005 / TT006 · ACCIONES LATERALES
   El bloque original de Etiqueta + H2 + P conserva su ubicación.
   ============================================================ */
#TITLE-DEMO-05 .title-layout-side,
#TITLE-DEMO-06 .title-layout-side{
  position:relative;
  width:100%;
  min-height:100%;
}

/* Mantener exactamente los anchos originales del contenido */
#TITLE-DEMO-05 .title-block{
  width:25%!important;
  max-width:25%!important;
}

#TITLE-DEMO-06 .title-block{
  width:20%!important;
  max-width:20%!important;
}

/* Tipografía validada */
#TITLE-DEMO-05 h2,
#TITLE-DEMO-06 h2{
  color:var(--color-dark)!important;
}

#TITLE-DEMO-05 .title-block > p,
#TITLE-DEMO-06 .title-block > p{
  color:var(--color-dark)!important;
  font-size:var(--body)!important;
  font-weight:400!important;
  line-height:1.6!important;
}

/* Acciones independientes: no alteran la posición del contenido izquierdo */
#TITLE-DEMO-05 .title-side-actions,
#TITLE-DEMO-06 .title-side-actions{
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  text-align:right;
}

#TITLE-DEMO-05 .title-side-actions{
  width:32%;
}

#TITLE-DEMO-06 .title-side-actions{
  width:35%;
}

#TITLE-DEMO-05 .title-actions,
#TITLE-DEMO-06 .title-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  margin:0!important;
}

/* Big button validado */
#TITLE-DEMO-05 .title-actions .contact-btn,
#TITLE-DEMO-06 .title-actions .contact-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:48px!important;
  padding:0 24px!important;
  border:1px solid var(--color-muted)!important;
  border-radius:0!important;
  background:var(--color-white)!important;
  color:var(--color-dark)!important;
  font-family:inherit!important;
  font-size:var(--small)!important;
  font-weight:700!important;
  line-height:1!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}

#TITLE-DEMO-05 .title-actions .contact-btn.dark,
#TITLE-DEMO-06 .title-actions .contact-btn.dark{
  border-color:var(--color-key)!important;
  background:var(--color-key)!important;
  color:var(--pb-theme-white,var(--color-white))!important;
}

/* Texto adicional */
#TITLE-DEMO-05 .title-additional,
#TITLE-DEMO-06 .title-additional{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  margin-top:12px!important;
  color:var(--color-muted)!important;
  font-size:var(--small)!important;
  font-weight:500!important;
  line-height:1.4!important;
  text-align:right;
}

#TITLE-DEMO-05 .title-additional span,
#TITLE-DEMO-06 .title-additional span{
  color:var(--color-muted)!important;
  font-size:var(--small)!important;
  font-weight:500!important;
  line-height:1.4!important;
}

#TITLE-DEMO-05 .title-additional-dot,
#TITLE-DEMO-06 .title-additional-dot{
  display:block;
  width:6px;
  height:6px;
  flex:0 0 6px;
  border-radius:50%;
  background:var(--color-key);
}

@media(max-width:900px){
  #TITLE-DEMO-05 .title-block,
  #TITLE-DEMO-06 .title-block{
    width:100%!important;
    max-width:100%!important;
  }

  #TITLE-DEMO-05 .title-side-actions,
  #TITLE-DEMO-06 .title-side-actions{
    position:static;
    width:100%;
    transform:none;
    align-items:flex-start;
    text-align:left;
    margin-top:20px;
  }

  #TITLE-DEMO-05 .title-actions,
  #TITLE-DEMO-06 .title-actions,
  #TITLE-DEMO-05 .title-additional,
  #TITLE-DEMO-06 .title-additional{
    justify-content:flex-start;
    text-align:left;
  }
}



/* ============================================================
   TT009–TT008 · ACCIONES AGREGADAS SIN MOVER ETIQUETA / H2 / P
   ============================================================ */

/* Tipografía del contenido indicado */
#TITLE-DEMO-09 h2,
#TITLE-DEMO-10 h2,
#TITLE-DEMO-11 h2,
#TITLE-DEMO-07 h2,
#TITLE-DEMO-08 h2{
  color:var(--color-dark)!important;
}

#TITLE-DEMO-09 p,
#TITLE-DEMO-10 p,
#TITLE-DEMO-11 p,
#TITLE-DEMO-07 p,
#TITLE-DEMO-08 p{
  color:var(--color-dark)!important;
  font-size:var(--body)!important;
  font-weight:400!important;
  line-height:1.6!important;
}

/* Acciones */
#TITLE-DEMO-09 .title-actions,
#TITLE-DEMO-10 .title-actions,
#TITLE-DEMO-11 .title-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin-top:20px!important;
}

#TITLE-DEMO-07 .title-actions,
#TITLE-DEMO-08 .title-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  margin-top:20px!important;
}

/* Big button validado */
#TITLE-DEMO-09 .title-actions .contact-btn,
#TITLE-DEMO-10 .title-actions .contact-btn,
#TITLE-DEMO-11 .title-actions .contact-btn,
#TITLE-DEMO-07 .title-actions .contact-btn,
#TITLE-DEMO-08 .title-actions .contact-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:48px!important;
  padding:0 24px!important;
  border:1px solid var(--color-muted)!important;
  border-radius:0!important;
  background:var(--color-white)!important;
  color:var(--color-dark)!important;
  font-family:inherit!important;
  font-size:var(--small)!important;
  font-weight:700!important;
  line-height:1!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}

#TITLE-DEMO-09 .title-actions .contact-btn.dark,
#TITLE-DEMO-10 .title-actions .contact-btn.dark,
#TITLE-DEMO-11 .title-actions .contact-btn.dark,
#TITLE-DEMO-07 .title-actions .contact-btn.dark,
#TITLE-DEMO-08 .title-actions .contact-btn.dark{
  border-color:var(--color-key)!important;
  background:var(--color-key)!important;
  color:var(--pb-theme-white,var(--color-white))!important;
}

/* Texto adicional */
#TITLE-DEMO-09 .title-additional,
#TITLE-DEMO-10 .title-additional,
#TITLE-DEMO-11 .title-additional{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin-top:12px!important;
  color:var(--color-muted)!important;
  font-size:var(--small)!important;
  font-weight:500!important;
  line-height:1.4!important;
  text-align:center;
}

#TITLE-DEMO-07 .title-additional,
#TITLE-DEMO-08 .title-additional{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  margin-top:12px!important;
  color:var(--color-muted)!important;
  font-size:var(--small)!important;
  font-weight:500!important;
  line-height:1.4!important;
  text-align:left;
}

#TITLE-DEMO-09 .title-additional span,
#TITLE-DEMO-10 .title-additional span,
#TITLE-DEMO-11 .title-additional span,
#TITLE-DEMO-07 .title-additional span,
#TITLE-DEMO-08 .title-additional span{
  color:var(--color-muted)!important;
  font-size:var(--small)!important;
  font-weight:500!important;
  line-height:1.4!important;
}

#TITLE-DEMO-09 .title-additional-dot,
#TITLE-DEMO-10 .title-additional-dot,
#TITLE-DEMO-11 .title-additional-dot,
#TITLE-DEMO-07 .title-additional-dot,
#TITLE-DEMO-08 .title-additional-dot{
  display:block;
  width:6px;
  height:6px;
  flex:0 0 6px;
  border-radius:50%;
  background:var(--color-key);
}

/* En TT008, P + CTA siguen dentro de la columna derecha original. */
#TITLE-DEMO-08 .title-split-copy .title-actions{
  margin-top:20px!important;
}

@media(max-width:900px){
  #TITLE-DEMO-09 .title-actions,
  #TITLE-DEMO-10 .title-actions,
  #TITLE-DEMO-11 .title-actions,
  #TITLE-DEMO-07 .title-actions,
  #TITLE-DEMO-08 .title-actions,
  #TITLE-DEMO-09 .title-additional,
  #TITLE-DEMO-10 .title-additional,
  #TITLE-DEMO-11 .title-additional,
  #TITLE-DEMO-07 .title-additional,
  #TITLE-DEMO-08 .title-additional{
    justify-content:flex-start;
    text-align:left;
  }
}



/* ============================================================
   TT008 · ALINEACIÓN VERTICAL CORREGIDA
   El P inicia a la altura del H2, no de la Etiqueta.
   ============================================================ */
#TITLE-DEMO-08 .title-split{
  align-items:start!important;
}

#TITLE-DEMO-08 .title-split-copy{
  padding-top:25px!important;
}

#TITLE-DEMO-08 .title-split-copy > p{
  margin-top:0!important;
}

@media(max-width:900px){
  #TITLE-DEMO-08 .title-split-copy{
    padding-top:0!important;
  }
}

/* ============================================================
   TÍTULOS · TT001–TT011 · VALIDADO + CTA OPCIONAL

   Catálogo:
   muestra el Título base sin CTA.

   Constructor / HTML exportado:
   las acciones aparecen únicamente cuando la instancia tiene
   activado "Convertir en CTA".
   ============================================================ */

/* Catálogo de recursos: mostrar siempre el Título base. */
.builder-resource-preview[data-category="Títulos"] .title-actions,
.builder-resource-preview[data-category="Títulos"] .title-additional{
  display:none!important;
}

/* Instancia sin CTA. */
.page-builder-section[data-section-category="Títulos"]:not(.page-builder-title-cta-on) .title-actions,
.page-builder-section[data-section-category="Títulos"]:not(.page-builder-title-cta-on) .title-additional{
  display:none!important;
}

/* Con CTA activo, prevalecen los layouts validados de cada TT. */
.page-builder-section[data-section-category="Títulos"].page-builder-title-cta-on .title-actions,
.page-builder-section[data-section-category="Títulos"].page-builder-title-cta-on .title-additional{
  visibility:visible;
}


*{box-sizing:border-box}

html,body{
  margin:0!important;
  padding:0!important;
  background:var(--color-white);
  overflow-x:hidden!important;
}

.page-builder-section{
  position:relative;
  display:block;
  width:100%;
  max-width:100%;
  margin:0!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  overflow-x:hidden!important;
}

.page-builder-section.page-builder-1440{
  --pb-validated-width:min(1440px, calc(100% - 60px));
  --pb-validated-edge:max(30px, calc((100vw - 1440px) / 2));
}

.page-builder-section.page-builder-full{
  --pb-validated-width:calc(100% - 60px);
  --pb-validated-edge:30px;
}

.page-builder-section[data-section-category="Secciones"]
.layout-real > :first-child{
  border-top-width:0!important;
  border-bottom-width:0!important;
}

@media(max-width:1180px){
  .page-builder-section.page-builder-1440,
  .page-builder-section.page-builder-full{
    --pb-validated-width:calc(100% - 60px);
    --pb-validated-edge:30px;
  }
}

@media(max-width:560px){
  .page-builder-section.page-builder-1440,
  .page-builder-section.page-builder-full{
    --pb-validated-width:calc(100% - 36px);
    --pb-validated-edge:18px;
  }
}
/* ============================================================
   SECCIONES · TÍTULO PRINCIPAL NORMALIZADO COMO H2
   ============================================================ */
.page-builder-section[data-section-category="Secciones"] :is(
  .about-square-content,
  .about-content-demo,
  .about-contained-copy,
  .about-half-copy
) > h2{
  margin:0!important;
  color:var(--color-dark)!important;
  font-size:var(--h2)!important;
  font-weight:900!important;
}

/* ---------- SECCIONES · SC001–SC010 ---------- */
.page-builder-section:is(
  [data-source-id="seccion-nosotros-square-01"],
  [data-source-id="seccion-nosotros-square-02"]
) .about-square-inner,
.page-builder-section:is(
  [data-source-id="seccion-nosotros-01"],
  [data-source-id="seccion-nosotros-02"]
) .about-layout-inner,
.page-builder-section:is(
  [data-source-id="seccion-nosotros-contained-01"],
  [data-source-id="seccion-nosotros-contained-02"],
  [data-source-id="seccion-nosotros-gallery-01"],
  [data-source-id="seccion-nosotros-gallery-02"]
) .about-contained-inner{
  width:var(--pb-validated-width)!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* SC003 / SC004 · en Full la imagen crece, el panel de texto mantiene
   el ancho que tenía dentro de la composición de 1440px. */
.page-builder-section.page-builder-full:is(
  [data-source-id="seccion-nosotros-01"],
  [data-source-id="seccion-nosotros-02"]
) .about-content-demo{
  width:min(100%,736px)!important;
  max-width:736px!important;
  justify-self:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.page-builder-section.page-builder-full:is(
  [data-source-id="seccion-nosotros-01"],
  [data-source-id="seccion-nosotros-02"]
) .about-image-demo{
  width:100%!important;
  max-width:none!important;
  justify-self:stretch!important;
}

/* SC005–SC008 · panel de contenido 720px máximo en Full. */
.page-builder-section.page-builder-full:is(
  [data-source-id="seccion-nosotros-contained-01"],
  [data-source-id="seccion-nosotros-contained-02"],
  [data-source-id="seccion-nosotros-gallery-01"],
  [data-source-id="seccion-nosotros-gallery-02"]
) .about-contained-content{
  width:min(100%,720px)!important;
  max-width:720px!important;
  justify-self:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.page-builder-section.page-builder-full:is(
  [data-source-id="seccion-nosotros-contained-01"],
  [data-source-id="seccion-nosotros-contained-02"],
  [data-source-id="seccion-nosotros-gallery-01"],
  [data-source-id="seccion-nosotros-gallery-02"]
) .about-contained-copy{
  width:min(100%,560px)!important;
  max-width:560px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* SC009 / SC010 · imagen 50% full-bleed. */
.page-builder-section:is(
  [data-source-id="seccion-nosotros-half-01"],
  [data-source-id="seccion-nosotros-half-02"]
) :is(.about-half-demo,.about-half-inner){
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
.page-builder-section[data-source-id="seccion-nosotros-half-01"] .about-half-content{
  padding-left:var(--pb-validated-edge)!important;
  padding-right:60px!important;
}
.page-builder-section[data-source-id="seccion-nosotros-half-02"] .about-half-content{
  padding-left:60px!important;
  padding-right:var(--pb-validated-edge)!important;
}
.page-builder-section.page-builder-full:is(
  [data-source-id="seccion-nosotros-half-01"],
  [data-source-id="seccion-nosotros-half-02"]
) .about-half-content{
  width:min(100%,720px)!important;
  max-width:720px!important;
  justify-self:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:50px!important;
  padding-right:50px!important;
}
.page-builder-section.page-builder-full:is(
  [data-source-id="seccion-nosotros-half-01"],
  [data-source-id="seccion-nosotros-half-02"]
) .about-half-copy{
  width:min(100%,620px)!important;
  max-width:620px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

@media(max-width:1100px){
  .page-builder-section.page-builder-full:is(
    [data-source-id="seccion-nosotros-01"],
    [data-source-id="seccion-nosotros-02"]
  ) .about-content-demo,
  .page-builder-section.page-builder-full:is(
    [data-source-id="seccion-nosotros-contained-01"],
    [data-source-id="seccion-nosotros-contained-02"],
    [data-source-id="seccion-nosotros-gallery-01"],
    [data-source-id="seccion-nosotros-gallery-02"]
  ) .about-contained-content{
    width:100%!important;
    max-width:none!important;
    justify-self:stretch!important;
  }
}
@media(max-width:900px){
  .page-builder-section:is(
    [data-source-id="seccion-nosotros-half-01"],
    [data-source-id="seccion-nosotros-half-02"]
  ) .about-half-content{
    width:calc(100% - 60px)!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important;
  }
}
/* ============================================================
   SC003 / SC004 · CARD SEMÁNTICO + VISUAL
   Rol tipográfico: Card
   Tamaño Card: 20px máx. · variante Bold 700
   ============================================================ */
.page-builder-section[data-section-category="Secciones"] .about-feature-grid article > .card-title{
  display:block!important;
  margin:0 0 8px!important;
  color:var(--color-dark)!important;
  font-size:clamp(18px,1.45vw,20px)!important;
  font-weight:700!important;
  line-height:1.35!important;
  letter-spacing:0!important;
}
/* ============================================================
   SECCIONES · CTA IGUAL QUE EN TÍTULOS
   ============================================================ */
.page-builder-section[data-section-category="Secciones"] :is(
  .about-square-actions,
  .about-contained-actions,
  .about-half-actions
){
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:12px!important;
  margin-top:20px!important;
}

/* B1 · Ver servicios */
.page-builder-section[data-section-category="Secciones"] :is(
  .about-square-actions,
  .about-contained-actions,
  .about-half-actions
) > a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:48px!important;
  padding:0 24px!important;
  border:1px solid var(--color-muted)!important;
  border-radius:0!important;
  background:var(--color-white)!important;
  color:var(--color-dark)!important;
  font-family:inherit!important;
  font-size:var(--small)!important;
  font-weight:700!important;
  line-height:1!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  box-shadow:none!important;
}

/* B2 · Solicitar propuesta */
.page-builder-section[data-section-category="Secciones"] :is(
  .about-square-actions,
  .about-contained-actions,
  .about-half-actions
) > a.cta-secondary{
  border-color:var(--color-key)!important;
  background:var(--color-key)!important;
  color:var(--pb-theme-white,var(--color-white))!important;
}

/* Texto adicional */
.page-builder-section[data-section-category="Secciones"] .section-cta-additional{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  margin-top:12px!important;
  color:var(--color-muted)!important;
  font-size:var(--small)!important;
  font-weight:500!important;
  line-height:1.4!important;
}

.page-builder-section[data-section-category="Secciones"] .section-cta-additional > span{
  color:var(--color-muted)!important;
  font-size:var(--small)!important;
  font-weight:500!important;
}

.page-builder-section[data-section-category="Secciones"] .section-cta-dot{
  display:block!important;
  width:6px!important;
  height:6px!important;
  flex:0 0 6px!important;
  border-radius:50%!important;
  background:var(--color-key)!important;
}
/* ============================================================
   SECCIONES · TODOS LOS PÁRRAFOS EN DARK
   ============================================================ */
.page-builder-section[data-section-category="Secciones"] p{
  color:var(--color-dark)!important;
}
/* ============================================================
   SECCIONES · NORMALIZACIÓN FINAL DE ESTILOS
   ============================================================ */

/* 1) Todas las etiquetas usan el estándar Micro:
   10px · 500 · .12em · uppercase · Key */
.page-builder-section[data-section-category="Secciones"] :is(
  .about-square-label,
  .about-label-demo,
  .about-contained-label,
  .about-half-label
){
  display:block!important;
  color:var(--color-key)!important;
  font-size:var(--micro)!important;
  font-weight:500!important;
  line-height:1.4!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}

/* 2) Párrafos internos de las Cards de SC003 / SC004:
   P = Body 16px · 400 · Dark */
.page-builder-section[data-section-category="Secciones"] .about-feature-grid article > p{
  color:var(--color-dark)!important;
  font-size:var(--body)!important;
  font-weight:400!important;
  line-height:1.6!important;
}
/* ============================================================
   SC003 / SC004 · FULL = SOLO 30PX LATERALES
   Sin límite máximo de 1440px en modo 100%.
   ============================================================ */
.page-builder-section.page-builder-full[data-source-id="seccion-nosotros-01"]
#seccion-nosotros-01 .about-layout-inner,
.page-builder-section.page-builder-full[data-source-id="seccion-nosotros-02"]
#seccion-nosotros-02 .about-layout-inner{
  width:calc(100% - 60px)!important;
  max-width:none!important;
  margin-left:30px!important;
  margin-right:30px!important;
  padding-left:0!important;
  padding-right:0!important;
}

/* Mantener el estándar móvil del sistema. */
@media(max-width:560px){
  .page-builder-section.page-builder-full[data-source-id="seccion-nosotros-01"]
  #seccion-nosotros-01 .about-layout-inner,
  .page-builder-section.page-builder-full[data-source-id="seccion-nosotros-02"]
  #seccion-nosotros-02 .about-layout-inner{
    width:calc(100% - 36px)!important;
    margin-left:18px!important;
    margin-right:18px!important;
  }
}
/* ============================================================
   SC006 / SC008 · CAJA DE TEXTO TRANSPARENTE
   ============================================================ */
.page-builder-section[data-section-category="Secciones"][data-source-id="seccion-nosotros-contained-02"]
.about-contained-content,
.page-builder-section[data-section-category="Secciones"][data-source-id="seccion-nosotros-gallery-02"]
.about-contained-content,
.page-builder-section[data-section-category="Secciones"][data-source-id="seccion-nosotros-contained-02"]
.about-contained-copy,
.page-builder-section[data-section-category="Secciones"][data-source-id="seccion-nosotros-gallery-02"]
.about-contained-copy{
  background:transparent!important;
  background-color:transparent!important;
  box-shadow:none!important;
}
/* ============================================================
   SC003 / SC004 · TODOS LOS PÁRRAFOS EN DARK
   ============================================================ */
.page-builder-section[data-section-category="Secciones"][data-source-id="seccion-nosotros-01"] p,
.page-builder-section[data-section-category="Secciones"][data-source-id="seccion-nosotros-02"] p{
  color:var(--color-dark)!important;
}

/* ============================================================
   SC009 / SC010 · ALINEACIÓN EXACTA AL RAIL 1440
   ============================================================ */

/* SC009 · texto izquierda:
   el copy comienza exactamente en --pb-validated-edge. */
.page-builder-section.page-builder-1440[data-source-id="seccion-nosotros-half-01"]
.about-half-content{
  justify-items:start!important;
  padding-left:var(--pb-validated-edge)!important;
  padding-right:30px!important;
}

.page-builder-section.page-builder-1440[data-source-id="seccion-nosotros-half-01"]
.about-half-copy{
  width:min(100%,620px)!important;
  max-width:620px!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* SC010 · texto derecha:
   el copy termina exactamente en --pb-validated-edge. */
.page-builder-section.page-builder-1440[data-source-id="seccion-nosotros-half-02"]
.about-half-content{
  justify-items:end!important;
  padding-left:30px!important;
  padding-right:var(--pb-validated-edge)!important;
}

.page-builder-section.page-builder-1440[data-source-id="seccion-nosotros-half-02"]
.about-half-copy{
  width:min(100%,620px)!important;
  max-width:620px!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* Responsive: al apilarse, ambos vuelven a alineación izquierda. */
@media(max-width:900px){
  .page-builder-section.page-builder-1440:is(
    [data-source-id="seccion-nosotros-half-01"],
    [data-source-id="seccion-nosotros-half-02"]
  ) .about-half-content{
    justify-items:start!important;
    padding:64px 28px!important;
  }
}

@media(max-width:720px){
  .page-builder-section.page-builder-1440:is(
    [data-source-id="seccion-nosotros-half-01"],
    [data-source-id="seccion-nosotros-half-02"]
  ) .about-half-content{
    padding:54px 18px!important;
  }
}


/* ============================================================
   SISTEMA VISUAL MAESTRO · ESTILOS.HTML
   Solo paleta y tipografía. Estructura, espaciados y comportamiento
   de cada recurso permanecen sin cambios.
   ============================================================ */
:root{
  
  
  
  
  
  
  

  --h1:clamp(42px,4.25vw,61px);
  --stats:var(--h1);
  --h2:clamp(36px,3.4vw,49px);
  --h3:clamp(31px,2.7vw,39px);
  --h4:clamp(27px,2.2vw,31px);
  --h5:clamp(23px,1.8vw,25px);
  --h6:clamp(18px,1.45vw,20px);
  --card:clamp(18px,1.45vw,20px);
  --body:16px;
  --small:13px;
  --micro:10px;

  --font-main:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-secondary:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;

  --text-label:var(--micro);
  --text-small:var(--small);
  --text-body:var(--body);
  --text-h3:var(--h3);
  --text-card:var(--card);
  --text-h2:var(--h2);
  --text-stat:var(--h1);
  --text-h1:var(--h1);
}

/* AJUSTES ESPECÍFICOS · AC003 / FT008 / FT010 */
/* AC003 · títulos del acordeón en blanco */
#acordeon-03 .acc-full-width-accordion button strong {
  color: var(--color-white) !important;
}

/* FT008 · título principal en tamaño Stats (H1) */
#footer-08 .footer-contact-large h4 {
  font-size: var(--h1) !important;
}

/* FT010 · título principal en tamaño Stats (H1) */
#footer-10 .footer-editorial-logo {
  font-size: var(--h1) !important;
}


/* =========================================================
   GALERÍAS · SIN ESPACIO INFERIOR
   El footer descriptivo fue eliminado; retiramos también
   el padding inferior que dejaba una franja de fondo azul.
   ========================================================= */
.gallery-embed .gallery-module .gallery-section{
  padding-bottom:0!important;
}
.page-builder-section[data-section-category="Galerías"]
.gallery-module .gallery-section{
  padding-bottom:0!important;
}

/* GALERÍAS · ELIMINACIÓN DEFINITIVA DE FRANJA INFERIOR
   Cada GL funciona como recurso independiente. El documento maestro
   imponía min-height de viewport y padding del shell .template-item;
   al quitar el texto/footer esos valores dejaban una franja azul vacía. */
.gallery-embed{
  min-height:0!important;
  height:auto!important;
  margin-bottom:0!important;
  padding-bottom:0!important;
}
.gallery-embed .gallery-module.aligned-master{
  min-height:0!important;
  height:auto!important;
  margin-bottom:0!important;
  padding-bottom:0!important;
}
.gallery-embed .gallery-module.aligned-master > .template-item{
  min-height:0!important;
  height:auto!important;
  padding-top:0!important;
  padding-bottom:0!important;
  margin-top:0!important;
  margin-bottom:0!important;
  border-bottom-width:0!important;
}
.gallery-embed .gallery-module.aligned-master > .template-item > .template-demo{
  min-height:0!important;
  height:auto!important;
  margin-bottom:0!important;
  padding-bottom:0!important;
  border-bottom-width:0!important;
}
.gallery-embed .gallery-module.aligned-master > .template-item > .template-demo > .gallery-section,
.gallery-embed .gallery-module.aligned-master > .template-item > .template-demo > .gallery-section:nth-of-type(even){
  min-height:0!important;
  height:auto!important;
  padding-bottom:0!important;
  margin-bottom:0!important;
}
/* Refuerzo dentro de páginas creadas por el constructor. */
.page-builder-section[data-section-category="Galerías"] > .gallery-embed,
.page-builder-section[data-section-category="Galerías"] .gallery-module.aligned-master,
.page-builder-section[data-section-category="Galerías"] .gallery-module.aligned-master > .template-item,
.page-builder-section[data-section-category="Galerías"] .gallery-module.aligned-master > .template-item > .template-demo{
  min-height:0!important;
  height:auto!important;
  margin-bottom:0!important;
  padding-bottom:0!important;
}
/* ============================================================
   TÍTULOS · TT001–TT009 · VALIDADO
   Tipografía y color: Estilos.html aprobado.
   Espaciado vertical: 80px arriba + 80px abajo.
   ============================================================ */
.titulos-embed{
  width:100%;
  background:var(--color-white);
  color:var(--color-dark);
}
.titulos-embed *{box-sizing:border-box}
.titulos-embed .title-resource{
  width:100%;
  margin:0;
  padding:0;
  background:var(--color-white);
  color:var(--color-dark);
}
.titulos-embed .title-resource-inner{
  width:min(1440px,calc(100% - 60px));
  min-height:0;
  margin:0 auto;
  padding:80px 0;
  display:flex;
  align-items:center;
}
.titulos-embed .eyebrow{
  display:block;
  margin-bottom:12px;
  color:var(--color-key);
  font-size:var(--micro);
  font-weight:500;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.titulos-embed h2{
  margin:0;
  color:var(--color-dark);
  font-size:var(--h2);
  line-height:1;
  letter-spacing:-.035em;
  font-weight:900;
}
.titulos-embed p{
  margin:24px 0 0;
  color:var(--color-muted);
  font-size:var(--body);
  line-height:1.6;
  font-weight:400;
}
.titulos-embed p strong{font-weight:700}
.titulos-embed .title-block{width:100%}
.titulos-embed .title-center{
  max-width:none;
  margin:0 auto;
  text-align:center;
}
.titulos-embed .title-wide{
  max-width:1180px;
}
.titulos-embed .title-wide p{
  max-width:980px;
  margin-left:auto;
  margin-right:auto;
}
.titulos-embed .title-right{
  width:min(920px,60%);
  margin-left:auto;
}
.titulos-embed .title-split{
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,.95fr);
  align-items:center;
  gap:80px;
}
.titulos-embed .title-split-main h2{max-width:860px}
.titulos-embed .title-split-copy p{
  margin-top:0;
  max-width:820px;
}

/* TT001 · bloque completo 50% */
.titulos-embed .title-resource-01 .title-block{
  width:50%;
  max-width:50%;
}
/* TT002 · bloque completo 33% */
.titulos-embed .title-resource-02 .title-block{
  width:33%;
  max-width:33%;
}
/* TT003 · bloque completo 25% */
.titulos-embed .title-resource-03 .title-block{
  width:25%;
  max-width:25%;
}
/* TT004 · bloque completo 20% */
.titulos-embed .title-resource-04 .title-block{
  width:20%;
  max-width:20%;
}
/* TT005 · H2 50% + párrafo 50%, centrados */
.titulos-embed .title-resource-05 .title-block{
  width:100%;
  max-width:none;
  text-align:center;
}
.titulos-embed .title-resource-05 h2,
.titulos-embed .title-resource-05 p{
  width:50%;
  max-width:50%;
  margin-left:auto;
  margin-right:auto;
}
/* TT006 · H2 50% + párrafo 40%, centrados */
.titulos-embed .title-resource-06 .title-block{
  width:100%;
  max-width:none;
  text-align:center;
}
.titulos-embed .title-resource-06 h2{
  width:50%;
  max-width:50%;
  margin-left:auto;
  margin-right:auto;
}
.titulos-embed .title-resource-06 p{
  width:40%;
  max-width:40%;
  margin-left:auto;
  margin-right:auto;
}
.titulos-embed .title-resource-05 .eyebrow,
.titulos-embed .title-resource-06 .eyebrow{
  text-align:center;
}

@media(max-width:900px){
  .titulos-embed .title-resource-01 .title-block,
  .titulos-embed .title-resource-02 .title-block,
  .titulos-embed .title-resource-03 .title-block,
  .titulos-embed .title-resource-04 .title-block,
  .titulos-embed .title-resource-05 h2,
  .titulos-embed .title-resource-05 p,
  .titulos-embed .title-resource-06 h2,
  .titulos-embed .title-resource-06 p,
  .titulos-embed .title-right{
    width:100%;
    max-width:100%;
  }
  .titulos-embed .title-split{
    grid-template-columns:1fr;
    gap:32px;
  }
}
/* ============================================================
   VALIDACIÓN GLOBAL · TIPOGRAFÍA Y BOTONES
   Fuente de verdad: Estilos.html aprobado.
   H1 se reserva para Hero. Stats usa escala H1 sin usar etiqueta H1.
   ============================================================ */

/* Tipografía */
html,
body,
button,
input,
textarea,
select{
  font-family:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

h1{
  font-size:var(--h1)!important;
  font-weight:900!important;
}
h2{
  font-size:var(--h2)!important;
  font-weight:900!important;
}
h3{
  font-size:var(--h3)!important;
  font-weight:700!important;
}
h4{
  font-size:var(--h4)!important;
  font-weight:700!important;
}
h5{
  font-size:var(--h5)!important;
  font-weight:700!important;
}
h6{
  font-size:var(--h6)!important;
  font-weight:500!important;
}
p{
  font-size:var(--body)!important;
  font-weight:400!important;
}
small{
  font-size:var(--small)!important;
  font-weight:500!important;
}

/* Utilidades tipográficas normalizadas */
.type-card{
  font-size:var(--card)!important;
  font-weight:400!important;
}
.type-stats,
.trayectoria-stats-embed .tray-counter{
  font-size:var(--stats)!important;
  font-weight:900!important;
}
.type-body{
  font-size:var(--body)!important;
  font-weight:400!important;
}
.type-small{
  font-size:var(--small)!important;
  font-weight:500!important;
}
.type-micro{
  font-size:var(--micro)!important;
  font-weight:500!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}

/* Stats existentes del Hero */
.hero-embed .stat-box strong{
  font-size:var(--stats)!important;
  font-weight:900!important;
}

/* Corrección de reglas históricas con !important que cambiaban
   el nivel tipográfico real del tag. */
#seccion-nosotros-01 .about-content-demo h3,
#seccion-nosotros-02 .about-content-demo h3,
#seccion-nosotros-half-01 .about-half-copy h3,
#seccion-nosotros-half-02 .about-half-copy h3,
#formulario-01 .contact-info-card h3,
#formulario-01 .contact-form-card h3{
  font-size:var(--h3)!important;
  font-weight:700!important;
}
#seccion-nosotros-01 .about-feature-grid h4,
#seccion-nosotros-02 .about-feature-grid h4,
.packages-embed #DEMO-RECURSOS-2-21A .price-card h4,
.packages-embed #DEMO-RECURSOS-2-21 .price-card h4,
.packages-embed #DEMO-RECURSOS-2-21C .price-card h4,
#footer-08 .footer-contact-large h4{
  font-size:var(--h4)!important;
  font-weight:700!important;
}

/* Stats que antes eran H1 en CR011 / CR012 */
.carousel-embed #CAROUSEL-11 .number-card-item .type-stats,
.carousel-embed #CAROUSEL-12 .twohalf-card .type-stats{
  margin:0;
  color:var(--color-key);
  font-size:var(--stats)!important;
  font-weight:900!important;
  line-height:.86;
  letter-spacing:-.08em;
}

/* ============================================================
   PASO 8 · BOTONES GENERALES · FUENTE ÚNICA
   Colores: exclusivamente los siete tokens oficiales.
   Se conservan tamaños, padding, radios y composición ya validados.
   El CTA estándar .pb-standard-cta-* se gobierna aparte (Paso 7).
   ============================================================ */

/* Base de botones grandes existente */
.btn,
.contact-btn,
.cta-btn,
.number-card-cta,
.twohalf-cta,
.stage-btn,
.about-5050-btn,
.split-btn,
.footer-cta,
.whatsapp-submit,
.contact-action{
  min-height:48px!important;
  padding:0 24px!important;
  border-radius:0!important;
  font-family:inherit!important;
  font-size:var(--small)!important;
  font-weight:700!important;
  line-height:1!important;
}

/* PRIMARY / KEY */
.btn.primary,
.btn-primary,
.button.primary,
.button-primary,
.contact-btn,
.number-card-cta,
.twohalf-cta,
.stage-btn,
.whatsapp-submit,
.contact-action.primary{
  background:var(--color-key)!important;
  color:var(--pb-theme-white,var(--color-white))!important;
  border-color:var(--color-key)!important;
}

/* DARK */
.btn.dark,
.btn-dark,
.button.dark,
.button-dark,
.cta-btn-dark,
.btn-small-dark{
  background:var(--color-dark)!important;
  color:var(--color-white)!important;
  border-color:var(--color-dark)!important;
}

/* SECONDARY / WHITE */
.btn.secondary,
.button.secondary,
.btn.white-dark,
.btn-white,
.button-white,
.cta-btn-light,
.contact-action.secondary,
.btn-small-white{
  background:var(--color-white)!important;
  color:var(--color-dark)!important;
  border-color:var(--color-line)!important;
}

/* GHOST / OUTLINE SOBRE FONDO CLARO */
.btn.ghost,
.btn.outline,
.button.ghost,
.button.outline,
.btn-outline,
.button-outline,
.btn-info-sm{
  background:transparent!important;
  color:var(--color-dark)!important;
  border-color:var(--color-line)!important;
}

/* LIGHT / OUTLINE SOBRE FONDO OSCURO */
.btn.light,
.btn-outline-light,
.button.light,
.button-outline-light,
.cta-btn-outline-light,
.btn-small-light{
  background:transparent!important;
  color:var(--color-white)!important;
  border-color:var(--color-line)!important;
}

/* Variantes particulares existentes: se conserva su intención visual. */
.about-5050-btn{
  background:var(--color-dark)!important;
  color:var(--color-white)!important;
  border-color:var(--color-dark)!important;
}
.about-5050-btn.secondary{
  background:var(--color-light)!important;
  color:var(--color-dark)!important;
  border-color:var(--color-line)!important;
}

/* Small buttons */
.btn-quote-sm,
.btn-info-sm,
.btn-small-dark,
.btn-small-white,
.btn-small-light{
  min-height:40px!important;
  padding:10px!important;
  border-radius:0!important;
  font-family:inherit!important;
  font-size:var(--small)!important;
  font-weight:400!important;
  line-height:1!important;
}
.btn-quote-sm{
  background:var(--color-key)!important;
  color:var(--pb-theme-white,var(--color-white))!important;
  border:1px solid var(--color-key)!important;
}
.btn-info-sm{
  background:transparent!important;
  color:var(--color-dark)!important;
  border:1px solid var(--color-line)!important;
}
.btn-small-dark{
  background:var(--color-dark)!important;
  color:var(--color-white)!important;
  border:1px solid var(--color-dark)!important;
}
.btn-small-white{
  background:var(--color-white)!important;
  color:var(--color-dark)!important;
  border:1px solid var(--color-line)!important;
}
.btn-small-light{
  background:transparent!important;
  color:var(--color-white)!important;
  border:1px solid var(--color-line)!important;
}

/* Hover: sin colores independientes. */
:is(.btn.primary,.btn-primary,.button.primary,.button-primary,.contact-btn,.number-card-cta,.twohalf-cta,.stage-btn,.whatsapp-submit,.contact-action.primary,.btn-quote-sm):hover{
  background:var(--color-dark)!important;
  color:var(--color-white)!important;
  border-color:var(--color-dark)!important;
}
:is(.btn.dark,.btn-dark,.button.dark,.button-dark,.cta-btn-dark,.btn-small-dark):hover{
  background:var(--color-key)!important;
  color:var(--pb-theme-white,var(--color-white))!important;
  border-color:var(--color-key)!important;
}
:is(.btn.secondary,.button.secondary,.btn.white-dark,.btn-white,.button-white,.cta-btn-light,.contact-action.secondary,.btn-small-white):hover{
  background:var(--color-dark)!important;
  color:var(--color-white)!important;
  border-color:var(--color-dark)!important;
}
:is(.btn.ghost,.btn.outline,.button.ghost,.button.outline,.btn-outline,.button-outline,.btn-info-sm):hover{
  background:var(--color-light)!important;
  color:var(--color-dark)!important;
  border-color:var(--color-dark)!important;
}
:is(.btn.light,.btn-outline-light,.button.light,.button-outline-light,.cta-btn-outline-light,.btn-small-light):hover{
  background:var(--color-white)!important;
  color:var(--color-dark)!important;
  border-color:var(--color-white)!important;
}
.about-5050-btn:hover{
  background:var(--color-key)!important;
  color:var(--pb-theme-white,var(--color-white))!important;
  border-color:var(--color-key)!important;
}
.about-5050-btn.secondary:hover{
  background:var(--color-white)!important;
  color:var(--color-dark)!important;
  border-color:var(--color-line)!important;
}

/* Foco visible usa únicamente el acento oficial. */
:is(.btn,.contact-btn,.cta-btn,.number-card-cta,.twohalf-cta,.stage-btn,.about-5050-btn,.split-btn,.footer-cta,.whatsapp-submit,.contact-action,.btn-quote-sm,.btn-info-sm,.btn-small-dark,.btn-small-white,.btn-small-light):focus-visible{
  outline:2px solid var(--color-key)!important;
  outline-offset:2px!important;
}

/* ============================================================
   ETIQUETAS · NORMALIZACIÓN GLOBAL
   Todas las etiquetas editoriales quedan como Micro y solo texto.
   Sin líneas, iconos, puntos, bordes, fondos ni cápsulas.
   ============================================================ */

.content-kicker,
.about-label-demo,
.about-square-label,
.about-half-label,
.about-contained-label,
.contact-info-label,
.contact-label,
.cta-label,
.eyebrow,
.logo-eyebrow,
.section-label,
.brand-tag,
.label-chip,
.icon-card-tag,
.visual-resources-embed .tag,
.visual-resources-embed .tag-1,
.visual-resources-embed .tag-2,
.visual-resources-embed .tag-3,
.visual-resources-embed .tag-4,
.visual-resources-embed .tag-5,
.visual-resources-embed .tag-6,
.visual-resources-embed .tag-7,
.visual-resources-embed .tag-8,
.visual-resources-embed .tag-9,
.visual-resources-embed .tag-10,
.visual-resources-embed .tag-11,
.visual-resources-embed .tag-12,
.visual-resources-embed .tag-13,
.visual-resources-embed .tag-14{
  display:inline-block!important;
  width:auto!important;
  min-width:0!important;
  min-height:0!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  color:var(--color-key)!important;
  font-size:var(--micro)!important;
  font-weight:500!important;
  line-height:1.45!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
  white-space:normal!important;
}

/* Eliminar cualquier línea decorativa generada por pseudo-elementos */
.content-kicker::before,
.content-kicker::after,
.about-label-demo::before,
.about-label-demo::after,
.about-square-label::before,
.about-square-label::after,
.about-half-label::before,
.about-half-label::after,
.about-contained-label::before,
.about-contained-label::after,
.contact-info-label::before,
.contact-info-label::after,
.contact-label::before,
.contact-label::after,
.cta-label::before,
.cta-label::after,
.eyebrow::before,
.eyebrow::after,
.logo-eyebrow::before,
.logo-eyebrow::after,
.section-label::before,
.section-label::after,
.brand-tag::before,
.brand-tag::after,
.label-chip::before,
.label-chip::after,
.icon-card-tag::before,
.icon-card-tag::after,
.visual-resources-embed .tag::before,
.visual-resources-embed .tag::after{
  content:none!important;
  display:none!important;
}

/* Quitar adornos que algunas etiquetas tenían dentro del HTML */
.visual-resources-embed .tag .line,
.visual-resources-embed .tag .dot,
.visual-resources-embed .tag .icon,
.visual-resources-embed .tag .icon-box,
.content-kicker > .line,
.eyebrow > .line,
.logo-eyebrow > .line,
.section-label > .line{
  display:none!important;
}

/* Evitar que hover vuelva a introducir líneas o fondos */
.icon-card:hover .icon-card-tag,
.visual-resources-embed .tag:hover{
  border:0!important;
  background:transparent!important;
  color:var(--color-key)!important;
}

/* CI005 / CI006 / CI007 · títulos de cards = Card Bold */
#icon-cards-05 .icon-card .type-card,
#icon-cards-06 .icon-card .type-card,
#icon-cards-07 .icon-card .type-card{
  font-size:var(--card)!important;
  font-weight:700!important;
  line-height:1.25!important;
}
/* ============================================================
   ETIQUETAS ET001–ET014 · DISEÑOS VALIDADOS
   Padding aprobado:
   - valores 0 se mantienen
   - resto: 5px vertical / 10px horizontal
   Espacio punto / ícono / línea → texto: 10px
   ============================================================ */

.visual-resources-embed [id^="DEMO-ETIQUETA-"] .tag{
  display:inline-flex!important;
  align-items:center!important;
  width:fit-content!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  border-radius:0;
  box-shadow:none;
  backdrop-filter:none;
  color:var(--color-white)!important;
  font-size:var(--micro)!important;
  font-weight:500!important;
  line-height:1.7!important;
  letter-spacing:2px!important;
  text-transform:uppercase!important;
  white-space:normal!important;
}

.visual-resources-embed [id^="DEMO-ETIQUETA-"] .tag.soft{
  text-transform:none!important;
  letter-spacing:.3px!important;
  font-size:var(--small)!important;
  line-height:1.5!important;
  font-weight:500!important;
}
.visual-resources-embed [id^="DEMO-ETIQUETA-"] .tag.soft strong{
  font-weight:700!important;
}

/* Elementos gráficos */
.visual-resources-embed [id^="DEMO-ETIQUETA-"] .dot{
  display:inline-block!important;
  width:6px!important;
  height:6px!important;
  margin:0 10px 0 0!important;
  border-radius:50%!important;
  background:var(--color-support)!important;
  flex:0 0 auto!important;
}
.visual-resources-embed [id^="DEMO-ETIQUETA-"] .icon{
  display:block!important;
  width:18px!important;
  height:18px!important;
  margin:0 10px 0 0!important;
  color:var(--color-support)!important;
  flex:0 0 auto!important;
}
.visual-resources-embed [id^="DEMO-ETIQUETA-"] .icon-box{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:26px!important;
  height:26px!important;
  margin:0 10px 0 0!important;
  border-radius:50%!important;
  background:var(--color-light)!important;
  flex:0 0 auto!important;
}
.visual-resources-embed [id^="DEMO-ETIQUETA-"] .icon-box svg{
  display:block!important;
  width:15px!important;
  height:15px!important;
  color:var(--color-support)!important;
}
.visual-resources-embed [id^="DEMO-ETIQUETA-"] .divider{
  display:inline-block!important;
  width:1px!important;
  height:14px!important;
  margin:0 12px!important;
  background:var(--color-line)!important;
  flex:0 0 auto!important;
}
.visual-resources-embed [id^="DEMO-ETIQUETA-"] .mini-badge{
  display:inline-block!important;
  margin-left:12px!important;
  padding:5px 8px!important;
  border-radius:999px!important;
  background:var(--color-light)!important;
  color:var(--color-support)!important;
  font-size:var(--micro)!important;
  letter-spacing:1.6px!important;
  text-transform:uppercase!important;
}

/* ET001 · Cápsula glassmorphism */
.visual-resources-embed #DEMO-ETIQUETA-01 .tag-1{
  padding:5px 10px!important;
  border:1px solid var(--color-line)!important;
  border-radius:999px!important;
  background:var(--color-line)!important;
  backdrop-filter:blur(8px)!important;
}

/* ET002 · Línea inferior técnica */
.visual-resources-embed #DEMO-ETIQUETA-02 .tag-2{
  padding:0 0 5px 0!important;
  border:0!important;
  border-bottom:1px solid var(--color-line)!important;
  background:transparent!important;
}

/* ET003 · Bloque técnico lateral */
.visual-resources-embed #DEMO-ETIQUETA-03 .tag-3{
  padding:5px 10px!important;
  border:0!important;
  border-left:3px solid var(--color-support)!important;
  background:var(--color-light)!important;
}

/* ET004 · Marco azul fino */
.visual-resources-embed #DEMO-ETIQUETA-04 .tag-4{
  padding:5px 10px!important;
  border:1px solid var(--color-support)!important;
  border-radius:4px!important;
  background:transparent!important;
  color:var(--color-support)!important;
}

/* ET005 · Editorial con líneas laterales */
.visual-resources-embed #DEMO-ETIQUETA-05 .tag-5{
  width:100%!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  justify-content:center!important;
  color:var(--color-line)!important;
}
.visual-resources-embed #DEMO-ETIQUETA-05 .tag-5::before,
.visual-resources-embed #DEMO-ETIQUETA-05 .tag-5::after{
  content:""!important;
  display:block!important;
  width:52px!important;
  height:1px!important;
  margin:0 18px!important;
  background:var(--color-line)!important;
  flex:0 0 auto!important;
}

/* ET006 · Cápsula con degradado */
.visual-resources-embed #DEMO-ETIQUETA-06 .tag-6{
  padding:5px 10px!important;
  border:1px solid var(--color-line)!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,transparent,transparent)!important;
}

/* ET007 · Categoría + país destacado */
.visual-resources-embed #DEMO-ETIQUETA-07 .tag-7{
  padding:5px 0!important;
  border:0!important;
  background:transparent!important;
  color:var(--color-support)!important;
  flex-wrap:wrap!important;
  row-gap:6px!important;
}
.visual-resources-embed #DEMO-ETIQUETA-07 .tag-7 span{
  margin-left:14px!important;
  color:var(--color-white)!important;
}

/* ET008 · Badge blanco premium */
.visual-resources-embed #DEMO-ETIQUETA-08 .tag-8{
  padding:5px 10px!important;
  border:0!important;
  border-radius:999px!important;
  background:var(--color-white)!important;
  color:var(--color-dark)!important;
}
.visual-resources-embed #DEMO-ETIQUETA-08 .tag-8 .dot{
  background:var(--color-dark)!important;
}

/* ET009 · Cápsula con ícono */
.visual-resources-embed #DEMO-ETIQUETA-09 .tag-9{
  padding:5px 10px!important;
  border:1px solid var(--color-line)!important;
  border-radius:999px!important;
  background:var(--color-line)!important;
  color:var(--color-line)!important;
}

/* ET010 · Lineal con separadores */
.visual-resources-embed #DEMO-ETIQUETA-10 .tag-10{
  padding:5px 0!important;
  border:0!important;
  background:transparent!important;
  color:var(--color-line)!important;
}
.visual-resources-embed #DEMO-ETIQUETA-10 .tag-10 .icon{
  margin-right:10px!important;
}

/* ET011 · Ícono circular + énfasis */
.visual-resources-embed #DEMO-ETIQUETA-11 .tag-11{
  padding:5px 10px!important;
  border:0!important;
  border-radius:999px!important;
  background:var(--color-light)!important;
  color:var(--color-line)!important;
}

/* ET012 · Técnica con mini badge */
.visual-resources-embed #DEMO-ETIQUETA-12 .tag-12{
  padding:5px 10px!important;
  border:1px solid var(--color-line)!important;
  border-radius:6px!important;
  background:var(--color-line)!important;
  color:var(--color-line)!important;
}

/* ET013 · Pill clara premium */
.visual-resources-embed #DEMO-ETIQUETA-13 .tag-13{
  padding:5px 10px!important;
  border:0!important;
  border-radius:999px!important;
  background:var(--color-white)!important;
  color:var(--color-dark)!important;
}
.visual-resources-embed #DEMO-ETIQUETA-13 .tag-13 .icon-box{
  background:var(--color-light)!important;
}

/* ET014 · Editorial minimalista */
.visual-resources-embed #DEMO-ETIQUETA-14 .tag-14{
  padding:5px 0!important;
  border:0!important;
  background:transparent!important;
  color:var(--color-line)!important;
}
.visual-resources-embed #DEMO-ETIQUETA-14 .tag-14 .line{
  display:block!important;
  width:38px!important;
  height:1px!important;
  margin:0 10px 0 0!important;
  background:var(--color-support)!important;
  flex:0 0 auto!important;
}

/* FM003 · etiquetas secundarias = Small
   La primera etiqueta de sección se conserva como etiqueta/Micro. */
#formulario-03 .contact-info-label,
#FORMULARIO-03 .contact-info-label,
[data-fm003-small="1"]{
  font-size:var(--small)!important;
  font-weight:500!important;
  line-height:1.4!important;
  letter-spacing:normal!important;
  text-transform:none!important;
}
/* ============================================================
   MENÚ HAMBURGUESA SOBRE HERO · SIN BARRA DE FONDO
   Solo queda visible el logo y el botón hamburguesa.
   En flujo normal conserva su diseño original.
   ============================================================ */
.page-builder-overlay-item[data-section-category="Menú hamburguesa"],
.page-builder-overlay-item[data-section-category="Menú hamburguesa"] .menu-section,
.page-builder-overlay-item[data-section-category="Menú hamburguesa"] .menu-real,
.page-builder-overlay-item[data-section-category="Menú hamburguesa"] .hamburger-stage,
.page-builder-overlay-item[data-section-category="Menú hamburguesa"] .hamburger-demo,
.page-builder-overlay-item[data-section-category="Menú hamburguesa"] .hamburger-demo-header{
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
}

.page-builder-overlay-item[data-section-category="Menú hamburguesa"] .hamburger-demo-header{
  backdrop-filter:none!important;
}

/* Se conservan los fondos propios del logo/mark y del botón hamburguesa. */
.page-builder-overlay-item[data-section-category="Menú hamburguesa"] .logo-mark{
  background:var(--color-key)!important;
}

.page-builder-overlay-item[data-section-category="Menú hamburguesa"] .hamburger-trigger{
  background:var(--color-dark)!important;
}
.page-builder-overlay-item[data-section-category="Menú hamburguesa"] .hamburger-trigger:hover{
  background:var(--color-key)!important;
}
/* ============================================================
   FLOTANTES · FL001–FL005 · BLOQUE CANÓNICO
   ============================================================ */

.floating-demo-stage{
  position:relative;
  width:100%;
  min-height:150px;
  margin:0;
  padding:0;
  overflow:hidden;
  background:var(--color-light);
}

.floating-demo-stage .site-floating{
  position:absolute;
  z-index:20;
  box-sizing:border-box;
  font-family:inherit;
  text-decoration:none;
  transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease;
}

.page-builder-section[data-section-category="Flotantes"]{
  width:100%!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  overflow:visible!important;
  position:relative!important;
  z-index:2147481000!important;
}

.page-builder-section[data-section-category="Flotantes"] .floating-demo-stage{
  width:0!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  background:transparent!important;
}

.page-builder-section[data-section-category="Flotantes"] .site-floating{
  position:fixed!important;
  z-index:2147481000!important;
}

/* FL001 */
.floating-alert{
  left:24px;
  bottom:24px;
  min-height:40px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:5px 10px;
  border:1px solid var(--color-key);
  border-radius:999px;
  background:var(--color-key);
  color:var(--pb-theme-white,var(--color-white));
  box-shadow:0 12px 34px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 24%, transparent);
  font-size:var(--small);
  font-weight:500;
  line-height:1.3;
  animation:floatingAlertPulse 2.4s ease-in-out infinite;
}
.floating-alert-dot{
  width:8px;
  height:8px;
  flex:0 0 8px;
  border-radius:50%;
  background:var(--color-white);
  animation:floatingDotBlink 1.15s ease-in-out infinite;
}
@keyframes floatingDotBlink{
  0%,100%{opacity:.48;transform:scale(.82);box-shadow:0 0 0 0 color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 30%, transparent)}
  50%{opacity:1;transform:scale(1.15);box-shadow:0 0 0 5px transparent}
}
@keyframes floatingAlertPulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.035)}
}

/* FL002 */
.floating-whatsapp{
  right:40px;
  bottom:40px;
  width:60px;
  height:60px;
  min-width:60px;
  min-height:60px;
  max-width:60px;
  max-height:60px;
  display:grid;
  place-items:center;
  padding:0;
  margin:0;
  border:0;
  border-radius:50%;
  background:var(--color-key);
  color:var(--pb-theme-white,var(--color-white));
  box-shadow:0 12px 30px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 18%, transparent);
  line-height:1;
  text-align:center;
  aspect-ratio:1/1;
  overflow:hidden;
}
.floating-whatsapp-icon{
  display:block;
  width:30px;
  height:30px;
  margin:0;
  padding:0;
  color:var(--color-white);
  transform:none;
  flex:none;
}
.page-builder-section[data-section-category="Flotantes"] #flotante-02 .floating-whatsapp{
  position:fixed!important;
  right:40px!important;
  bottom:40px!important;
  width:60px!important;
  height:60px!important;
  border-radius:50%!important;
}

/* FL003 */
.floating-phone{
  right:24px;
  bottom:112px;
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  padding:0;
  border:0;
  border-radius:50%;
  background:var(--color-key);
  color:var(--pb-theme-white,var(--color-white));
  box-shadow:0 12px 30px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 18%, transparent);
}
.floating-phone svg{
  display:block;
  width:25px;
  height:25px;
  margin:0;
}

/* FL004 */
.floating-back-top{
  left:50%;
  right:auto;
  bottom:24px;
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid var(--color-line);
  border-radius:50%;
  background:var(--color-white);
  color:var(--color-dark);
  box-shadow:0 12px 30px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 16%, transparent);
  cursor:pointer;
  transform:translateX(-50%);
}
.floating-back-top svg{
  display:block;
  width:22px;
  height:22px;
  margin:0;
}
.floating-back-top:hover{
  transform:translate(-50%,-2px);
}

/* FL005 */
.floating-quote{
  left:50%;
  right:auto;
  bottom:84px;
  min-height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:5px 10px;
  border:1px solid var(--color-key);
  border-radius:0;
  background:var(--color-key);
  color:var(--pb-theme-white,var(--color-white));
  box-shadow:0 12px 30px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 16%, transparent);
  font-size:var(--small);
  font-weight:400;
  line-height:1.2;
  transform:translateX(-50%);
}
.floating-quote-icon{
  width:26px;
  height:26px;
  flex:0 0 26px;
  display:grid;
  place-items:center;
  margin:0;
  border-radius:50%;
  background:var(--color-line);
  color:var(--color-white);
}
.floating-quote-icon svg{
  display:block;
  width:15px;
  height:15px;
  margin:0;
}
.floating-quote:hover{
  transform:translate(-50%,-2px);
}

/* Preview: FL004 y FL005 centrados abajo dentro del demo */
.floating-demo-stage#flotante-04 .floating-back-top{
  bottom:18px;
}
.floating-demo-stage#flotante-05 .floating-quote{
  bottom:18px;
}

/* Web final */
.page-builder-section[data-section-category="Flotantes"] #flotante-04 .floating-back-top{
  position:fixed!important;
  left:50%!important;
  right:auto!important;
  bottom:24px!important;
  transform:translateX(-50%)!important;
}
.page-builder-section[data-section-category="Flotantes"] #flotante-05 .floating-quote{
  position:fixed!important;
  left:50%!important;
  right:auto!important;
  bottom:84px!important;
  transform:translateX(-50%)!important;
}

.floating-whatsapp:hover,
.floating-phone:hover{
  transform:translateY(-2px);
}
.floating-alert:hover{
  animation-play-state:paused;
  transform:translateY(-2px) scale(1.02);
}

@media(max-width:560px){
  .floating-alert{left:18px;bottom:18px}
  .floating-whatsapp{right:18px;bottom:18px}
  .floating-phone{right:18px;bottom:90px}

  .page-builder-section[data-section-category="Flotantes"] #flotante-02 .floating-whatsapp{
    right:18px!important;
    bottom:18px!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .floating-alert,
  .floating-alert-dot{
    animation:none!important;
  }
}


/* ============================================================
   FL002 · LOGO WHATSAPP CORREGIDO
   Glifo de una sola ruta, blanco, sin doble contorno.
   ============================================================ */
.floating-whatsapp{
  display:grid!important;
  place-items:center!important;
}
.floating-whatsapp-icon{
  display:block!important;
  width:30px!important;
  height:30px!important;
  margin:0!important;
  padding:0!important;
  fill:currentColor!important;
  stroke:none!important;
  color:var(--color-white)!important;
  transform:none!important;
  flex:none!important;
}
.floating-whatsapp-icon path{
  fill:currentColor!important;
  stroke:none!important;
}


/* ============================================================
   FL002 · LOGO WHATSAPP FINAL
   Glifo de marca de una sola ruta.
   ============================================================ */
.floating-whatsapp{
  width:60px!important;
  height:60px!important;
  min-width:60px!important;
  min-height:60px!important;
  max-width:60px!important;
  max-height:60px!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  border-radius:50%!important;
  background:var(--color-key)!important;
  color:var(--pb-theme-white,var(--color-white))!important;
  overflow:hidden!important;
}
.floating-whatsapp-icon{
  display:block!important;
  width:32px!important;
  height:32px!important;
  margin:0!important;
  padding:0!important;
  fill:currentColor!important;
  stroke:none!important;
  color:var(--color-white)!important;
}
.floating-whatsapp-icon path{
  fill:currentColor!important;
  stroke:none!important;
}
/* ============================================================
   FL006 · CALENDARIO · CORREGIDO
   Fondo Key · ícono blanco · 60×60 · SVG completo.
   ============================================================ */
.floating-calendar{
  right:40px;
  bottom:40px;
  width:60px;
  height:60px;
  min-width:60px;
  min-height:60px;
  max-width:60px;
  max-height:60px;
  display:grid;
  place-items:center;
  padding:0;
  margin:0;
  border:0;
  border-radius:50%;
  background:var(--color-key);
  color:var(--pb-theme-white,var(--color-white));
  box-shadow:0 12px 30px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 18%, transparent);
  line-height:1;
  aspect-ratio:1/1;
  overflow:visible;
  box-sizing:border-box;
}

.floating-calendar-icon{
  display:block;
  width:32px;
  height:32px;
  min-width:32px;
  min-height:32px;
  margin:0;
  padding:0;
  color:var(--color-white);
  stroke:currentColor;
  fill:none;
  overflow:visible;
  flex:none;
  box-sizing:content-box;
}

/* Preview: visible dentro de la muestra del catálogo. */
.floating-demo-stage#flotante-06 .floating-calendar{
  position:absolute!important;
  right:40px!important;
  bottom:40px!important;
}

/* Web final: flotante fijo y apilado sobre Teléfono/WhatsApp. */
.page-builder-section[data-section-category="Flotantes"] #flotante-06 .floating-calendar{
  position:fixed!important;
  right:24px!important;
  bottom:176px!important;
  width:60px!important;
  height:60px!important;
  border-radius:50%!important;
}

.floating-calendar:hover{
  transform:translateY(-2px);
}

@media(max-width:560px){
  .floating-demo-stage#flotante-06 .floating-calendar{
    right:18px!important;
    bottom:18px!important;
  }

  .page-builder-section[data-section-category="Flotantes"] #flotante-06 .floating-calendar{
    right:18px!important;
    bottom:154px!important;
  }
}
/* ============================================================
   FLOTANTES · ALINEACIÓN AUTOMÁTICA POR ORDEN
   Izquierda / centro / derecha quedan en ejes comunes.
   El apilado vertical lo resuelve el JS según el orden del Constructor.
   ============================================================ */
.page-builder-section[data-section-category="Flotantes"] .site-floating{
  margin:0!important;
  box-sizing:border-box!important;
}

.page-builder-section[data-section-category="Flotantes"] :is(
  .floating-whatsapp,
  .floating-phone,
  .floating-calendar
){
  transform:none;
}

.page-builder-section[data-section-category="Flotantes"] :is(
  .floating-back-top,
  .floating-quote
){
  left:50%;
  right:auto;
}
/* ============================================================
   FLOTANTES · CÍRCULOS UNIFORMES
   Todos los flotantes circulares usan la misma medida para que
   queden alineados visualmente en izquierda / centro / derecha.
   ============================================================ */
.floating-whatsapp,
.floating-phone,
.floating-calendar,
.floating-back-top{
  width:60px!important;
  height:60px!important;
  min-width:60px!important;
  min-height:60px!important;
  max-width:60px!important;
  max-height:60px!important;
  padding:0!important;
  margin:0!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  box-sizing:border-box!important;
  aspect-ratio:1/1!important;
}

/* Ajuste proporcional de íconos */
.floating-whatsapp-icon{
  width:32px!important;
  height:32px!important;
}

.floating-phone svg{
  width:28px!important;
  height:28px!important;
}

.floating-calendar-icon{
  width:32px!important;
  height:32px!important;
}

.floating-back-top svg{
  width:24px!important;
  height:24px!important;
}

/* Mantiene alineación exacta también en la web final */
.page-builder-section[data-section-category="Flotantes"] :is(
  .floating-whatsapp,
  .floating-phone,
  .floating-calendar,
  .floating-back-top
){
  width:60px!important;
  height:60px!important;
  min-width:60px!important;
  min-height:60px!important;
  max-width:60px!important;
  max-height:60px!important;
}

/* ============================================================
   TÍTULOS · TT001–TT011 · VALIDADO + CTA OPCIONAL
   ============================================================ */
/* TITULOS · layout actual */
.titulos-embed,.title-resource{width:100%;margin:0;padding:0;background:var(--color-white)}
.title-resource-inner{width:100%;padding:80px 0}
.eyebrow{
  display:block;margin:0 0 12px;color:var(--color-key);font-size:var(--micro);
  font-weight:500;line-height:1.3;letter-spacing:.12em;text-transform:uppercase
}
.title-resource h2{margin:0;color:var(--color-dark);font-size:var(--h2);font-weight:900;line-height:1;letter-spacing:-.035em}
.title-resource p{margin:24px 0 0;color:var(--color-muted);font-size:var(--body);font-weight:400;line-height:1.6}

#CONTENT-DEMO-01 .title-block{width:50%;max-width:50%}
#CONTENT-DEMO-04 .title-block{width:33%;max-width:33%}
#CONTENT-DEMO-05 .title-block{width:25%;max-width:25%}
#CONTENT-DEMO-06 .title-block{width:20%;max-width:20%}
#CONTENT-DEMO-09 .title-block,#CONTENT-DEMO-10 .title-block{width:100%;text-align:center}
#CONTENT-DEMO-09 h2,#CONTENT-DEMO-09 p{width:50%;max-width:50%;margin-left:auto;margin-right:auto}
#CONTENT-DEMO-10 h2{width:50%;max-width:50%;margin-left:auto;margin-right:auto}
#CONTENT-DEMO-10 p{width:40%;max-width:40%;margin-left:auto;margin-right:auto}
#CONTENT-DEMO-11 .title-block{width:100%;max-width:1180px;margin:auto;text-align:center}
#CONTENT-DEMO-11 p{max-width:980px;margin-left:auto;margin-right:auto}
#CONTENT-DEMO-07 .title-block{width:min(920px,60%);margin-left:auto;text-align:left}
#CONTENT-DEMO-08 .title-split{width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.95fr);align-items:center;gap:80px}
#CONTENT-DEMO-08 .title-split-copy p{margin-top:0}


/* ============================================================
   BIG BUTTON · recurso normalizado de Estilos
   48px · 0 24px · Small · 700 · sin curvas
   ============================================================ */
#CONTENT-DEMO-01 .title-actions .contact-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:48px!important;
  padding:0 24px!important;
  border:1px solid var(--color-muted)!important;
  border-radius:0!important;
  background:var(--color-white)!important;
  color:var(--color-dark)!important;
  font-family:inherit!important;
  font-size:var(--small)!important;
  font-weight:700!important;
  line-height:1!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}

#CONTENT-DEMO-01 .title-actions .contact-btn.dark{
  border-color:var(--color-key)!important;
  background:var(--color-key)!important;
  color:var(--pb-theme-white,var(--color-white))!important;
}


/* ============================================================
   TT001 · COLOR Y ESCALA TIPOGRÁFICA VALIDADA
   H2 / P / Small = var(--color-dark)
   ============================================================ */
#CONTENT-DEMO-01 h2{
  color:var(--color-dark)!important;
}

#CONTENT-DEMO-01 > .title-resource-inner .title-block > p{
  color:var(--color-dark)!important;
  font-size:var(--body)!important;
  font-weight:400!important;
  line-height:1.6!important;
}

#CONTENT-DEMO-01 .title-additional,
#CONTENT-DEMO-01 .title-additional span{
  color:var(--color-muted)!important;
  font-size:var(--small)!important;
  font-weight:500!important;
  line-height:1.4!important;
}

/* TT001 · propuesta de espaciado compacto */
#CONTENT-DEMO-01 .eyebrow{margin-bottom:10px!important}
#CONTENT-DEMO-01 p{margin-top:16px!important}
#CONTENT-DEMO-01 .title-actions{
  display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:20px!important
}
#CONTENT-DEMO-01 .title-additional{
  display:flex;align-items:center;gap:10px;margin-top:12px!important
}
#CONTENT-DEMO-01 .title-additional-dot{
  width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:var(--color-key)
}



/* ============================================================
   TT002 · DUPLICADO TEMPORAL · SPLIT 50 / 50
   F1 etiqueta
   Debajo: izquierda 50% + derecha 50%
   Columna derecha alineada a la derecha y centrada verticalmente
   ============================================================ */
#CONTENT-DEMO-02 .title-layout-01-1{
  width:100%;
}

#CONTENT-DEMO-02 .eyebrow{
  margin-bottom:10px!important;
}

#CONTENT-DEMO-02 .title-grid-01-1{
  width:100%;
  display:grid;
  grid-template-columns:50% 50%;
  align-items:stretch;
}

#CONTENT-DEMO-02 .title-col-left-01-1{
  width:100%;
  max-width:100%;
  padding-right:30px;
}

#CONTENT-DEMO-02 .title-col-right-01-1{
  width:100%;
  max-width:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-end;
  text-align:right;
  padding-left:30px;
}

#CONTENT-DEMO-02 h2{
  margin:0!important;
  color:var(--color-dark)!important;
}

#CONTENT-DEMO-02 .title-copy-01-1{
  margin:16px 0 0!important;
  color:var(--color-dark)!important;
  font-size:var(--body)!important;
  font-weight:400!important;
  line-height:1.6!important;
}

#CONTENT-DEMO-02 .title-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  margin:0!important;
}

#CONTENT-DEMO-02 .title-actions .contact-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:48px!important;
  padding:0 24px!important;
  border:1px solid var(--color-muted)!important;
  border-radius:0!important;
  background:var(--color-white)!important;
  color:var(--color-dark)!important;
  font-family:inherit!important;
  font-size:var(--small)!important;
  font-weight:700!important;
  line-height:1!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}

#CONTENT-DEMO-02 .title-actions .contact-btn.dark{
  border-color:var(--color-key)!important;
  background:var(--color-key)!important;
  color:var(--pb-theme-white,var(--color-white))!important;
}

#CONTENT-DEMO-02 .title-additional{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  margin-top:12px!important;
  color:var(--color-muted)!important;
  font-size:var(--small)!important;
  font-weight:500!important;
  line-height:1.4!important;
  text-align:right;
}

#CONTENT-DEMO-02 .title-additional span{
  color:var(--color-muted)!important;
  font-size:var(--small)!important;
  font-weight:500!important;
  line-height:1.4!important;
}

#CONTENT-DEMO-02 .title-additional-dot{
  display:block;
  width:6px;
  height:6px;
  flex:0 0 6px;
  border-radius:50%;
  background:var(--color-key);
}

@media(max-width:900px){
  #CONTENT-DEMO-02 .title-grid-01-1{
    grid-template-columns:1fr;
    gap:24px;
  }

  #CONTENT-DEMO-02 .title-col-left-01-1,
  #CONTENT-DEMO-02 .title-col-right-01-1{
    padding-left:0;
    padding-right:0;
  }

  #CONTENT-DEMO-02 .title-col-right-01-1{
    align-items:flex-start;
    text-align:left;
  }

  #CONTENT-DEMO-02 .title-actions,
  #CONTENT-DEMO-02 .title-additional{
    justify-content:flex-start;
    text-align:left;
  }
}


/* ============================================================
   TT003 · DUPLICADO TEMPORAL · SPLIT 60 / 40
   F1 etiqueta
   Columna izquierda 60%: H2
   Columna derecha 40%: P + botones + texto adicional
   Todo alineado a la izquierda
   ============================================================ */
#CONTENT-DEMO-03 .title-layout-01-2{
  width:100%;
}

#CONTENT-DEMO-03 .eyebrow{
  margin-bottom:10px!important;
}

#CONTENT-DEMO-03 .title-grid-01-2{
  width:100%;
  display:grid;
  grid-template-columns:60% 40%;
  align-items:start;
}

#CONTENT-DEMO-03 .title-col-left-01-2{
  width:100%;
  max-width:100%;
  padding-right:30px;
  text-align:left;
}

#CONTENT-DEMO-03 .title-col-right-01-2{
  width:100%;
  max-width:100%;
  padding-left:30px;
  text-align:left;
}

#CONTENT-DEMO-03 h2{
  margin:0!important;
  color:var(--color-dark)!important;
}

#CONTENT-DEMO-03 .title-col-right-01-2 > p{
  margin:0!important;
  color:var(--color-dark)!important;
  font-size:var(--body)!important;
  font-weight:400!important;
  line-height:1.6!important;
}

#CONTENT-DEMO-03 .title-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  margin-top:20px!important;
}

#CONTENT-DEMO-03 .title-actions .contact-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:48px!important;
  padding:0 24px!important;
  border:1px solid var(--color-muted)!important;
  border-radius:0!important;
  background:var(--color-white)!important;
  color:var(--color-dark)!important;
  font-family:inherit!important;
  font-size:var(--small)!important;
  font-weight:700!important;
  line-height:1!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}

#CONTENT-DEMO-03 .title-actions .contact-btn.dark{
  border-color:var(--color-key)!important;
  background:var(--color-key)!important;
  color:var(--pb-theme-white,var(--color-white))!important;
}

#CONTENT-DEMO-03 .title-additional{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  margin-top:12px!important;
  color:var(--color-muted)!important;
  font-size:var(--small)!important;
  font-weight:500!important;
  line-height:1.4!important;
  text-align:left;
}

#CONTENT-DEMO-03 .title-additional span{
  color:var(--color-muted)!important;
  font-size:var(--small)!important;
  font-weight:500!important;
  line-height:1.4!important;
}

#CONTENT-DEMO-03 .title-additional-dot{
  display:block;
  width:6px;
  height:6px;
  flex:0 0 6px;
  border-radius:50%;
  background:var(--color-key);
}

@media(max-width:900px){
  #CONTENT-DEMO-03 .title-grid-01-2{
    grid-template-columns:1fr;
    gap:24px;
  }

  #CONTENT-DEMO-03 .title-col-left-01-2,
  #CONTENT-DEMO-03 .title-col-right-01-2{
    padding-left:0;
    padding-right:0;
  }
}


/* TT004 · DEPURACIÓN */
#CONTENT-DEMO-04 .title-layout-02{
  width:100%;
}

#CONTENT-DEMO-04 .eyebrow{
  margin-bottom:10px!important;
}

#CONTENT-DEMO-04 .title-grid-02{
  width:100%;
  display:grid;
  grid-template-columns:30% 30%;
  justify-content:space-between;
  align-items:start;
  gap:40%;
}

#CONTENT-DEMO-04 .title-col-left-02,
#CONTENT-DEMO-04 .title-col-right-02{
  width:100%;
  max-width:100%;
}

#CONTENT-DEMO-04 h2{
  color:var(--color-dark)!important;
}

#CONTENT-DEMO-04 .title-col-left-02 > p{
  margin-top:16px!important;
  color:var(--color-dark)!important;
  font-size:var(--body)!important;
  font-weight:400!important;
  line-height:1.6!important;
}

#CONTENT-DEMO-04 .title-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  margin-top:0!important;
}

#CONTENT-DEMO-04 .title-actions .contact-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:48px!important;
  padding:0 24px!important;
  border:1px solid var(--color-muted)!important;
  border-radius:0!important;
  background:var(--color-white)!important;
  color:var(--color-dark)!important;
  font-family:inherit!important;
  font-size:var(--small)!important;
  font-weight:700!important;
  line-height:1!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}

#CONTENT-DEMO-04 .title-actions .contact-btn.dark{
  border-color:var(--color-key)!important;
  background:var(--color-key)!important;
  color:var(--pb-theme-white,var(--color-white))!important;
}

#CONTENT-DEMO-04 .title-additional{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:12px!important;
  color:var(--color-muted)!important;
  font-size:var(--small)!important;
  font-weight:500!important;
  line-height:1.4!important;
}

#CONTENT-DEMO-04 .title-additional span{
  color:var(--color-muted)!important;
  font-size:var(--small)!important;
  font-weight:500!important;
  line-height:1.4!important;
}

#CONTENT-DEMO-04 .title-additional-dot{
  display:block;
  width:6px;
  height:6px;
  flex:0 0 6px;
  border-radius:50%;
  background:var(--color-key);
}

@media(max-width:900px){
  #CONTENT-DEMO-04 .title-grid-02{
    grid-template-columns:1fr;
    gap:24px;
  }
  #CONTENT-DEMO-04 .title-col-left-02,
  #CONTENT-DEMO-04 .title-col-right-02{
    width:100%;
    max-width:100%;
  }
}


/* ============================================================
   TT005 / TT006 · ACCIONES LATERALES
   El bloque original de Etiqueta + H2 + P conserva su ubicación.
   ============================================================ */
#CONTENT-DEMO-05 .title-layout-side,
#CONTENT-DEMO-06 .title-layout-side{
  position:relative;
  width:100%;
  min-height:100%;
}

/* Mantener exactamente los anchos originales del contenido */
#CONTENT-DEMO-05 .title-block{
  width:25%!important;
  max-width:25%!important;
}

#CONTENT-DEMO-06 .title-block{
  width:20%!important;
  max-width:20%!important;
}

/* Tipografía validada */
#CONTENT-DEMO-05 h2,
#CONTENT-DEMO-06 h2{
  color:var(--color-dark)!important;
}

#CONTENT-DEMO-05 .title-block > p,
#CONTENT-DEMO-06 .title-block > p{
  color:var(--color-dark)!important;
  font-size:var(--body)!important;
  font-weight:400!important;
  line-height:1.6!important;
}

/* Acciones independientes: no alteran la posición del contenido izquierdo */
#CONTENT-DEMO-05 .title-side-actions,
#CONTENT-DEMO-06 .title-side-actions{
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  text-align:right;
}

#CONTENT-DEMO-05 .title-side-actions{
  width:32%;
}

#CONTENT-DEMO-06 .title-side-actions{
  width:35%;
}

#CONTENT-DEMO-05 .title-actions,
#CONTENT-DEMO-06 .title-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  margin:0!important;
}

/* Big button validado */
#CONTENT-DEMO-05 .title-actions .contact-btn,
#CONTENT-DEMO-06 .title-actions .contact-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:48px!important;
  padding:0 24px!important;
  border:1px solid var(--color-muted)!important;
  border-radius:0!important;
  background:var(--color-white)!important;
  color:var(--color-dark)!important;
  font-family:inherit!important;
  font-size:var(--small)!important;
  font-weight:700!important;
  line-height:1!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}

#CONTENT-DEMO-05 .title-actions .contact-btn.dark,
#CONTENT-DEMO-06 .title-actions .contact-btn.dark{
  border-color:var(--color-key)!important;
  background:var(--color-key)!important;
  color:var(--pb-theme-white,var(--color-white))!important;
}

/* Texto adicional */
#CONTENT-DEMO-05 .title-additional,
#CONTENT-DEMO-06 .title-additional{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  margin-top:12px!important;
  color:var(--color-muted)!important;
  font-size:var(--small)!important;
  font-weight:500!important;
  line-height:1.4!important;
  text-align:right;
}

#CONTENT-DEMO-05 .title-additional span,
#CONTENT-DEMO-06 .title-additional span{
  color:var(--color-muted)!important;
  font-size:var(--small)!important;
  font-weight:500!important;
  line-height:1.4!important;
}

#CONTENT-DEMO-05 .title-additional-dot,
#CONTENT-DEMO-06 .title-additional-dot{
  display:block;
  width:6px;
  height:6px;
  flex:0 0 6px;
  border-radius:50%;
  background:var(--color-key);
}

@media(max-width:900px){
  #CONTENT-DEMO-05 .title-block,
  #CONTENT-DEMO-06 .title-block{
    width:100%!important;
    max-width:100%!important;
  }

  #CONTENT-DEMO-05 .title-side-actions,
  #CONTENT-DEMO-06 .title-side-actions{
    position:static;
    width:100%;
    transform:none;
    align-items:flex-start;
    text-align:left;
    margin-top:20px;
  }

  #CONTENT-DEMO-05 .title-actions,
  #CONTENT-DEMO-06 .title-actions,
  #CONTENT-DEMO-05 .title-additional,
  #CONTENT-DEMO-06 .title-additional{
    justify-content:flex-start;
    text-align:left;
  }
}



/* ============================================================
   TT009–TT008 · ACCIONES AGREGADAS SIN MOVER ETIQUETA / H2 / P
   ============================================================ */

/* Tipografía del contenido indicado */
#CONTENT-DEMO-09 h2,
#CONTENT-DEMO-10 h2,
#CONTENT-DEMO-11 h2,
#CONTENT-DEMO-07 h2,
#CONTENT-DEMO-08 h2{
  color:var(--color-dark)!important;
}

#CONTENT-DEMO-09 p,
#CONTENT-DEMO-10 p,
#CONTENT-DEMO-11 p,
#CONTENT-DEMO-07 p,
#CONTENT-DEMO-08 p{
  color:var(--color-dark)!important;
  font-size:var(--body)!important;
  font-weight:400!important;
  line-height:1.6!important;
}

/* Acciones */
#CONTENT-DEMO-09 .title-actions,
#CONTENT-DEMO-10 .title-actions,
#CONTENT-DEMO-11 .title-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin-top:20px!important;
}

#CONTENT-DEMO-07 .title-actions,
#CONTENT-DEMO-08 .title-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  margin-top:20px!important;
}

/* Big button validado */
#CONTENT-DEMO-09 .title-actions .contact-btn,
#CONTENT-DEMO-10 .title-actions .contact-btn,
#CONTENT-DEMO-11 .title-actions .contact-btn,
#CONTENT-DEMO-07 .title-actions .contact-btn,
#CONTENT-DEMO-08 .title-actions .contact-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:48px!important;
  padding:0 24px!important;
  border:1px solid var(--color-muted)!important;
  border-radius:0!important;
  background:var(--color-white)!important;
  color:var(--color-dark)!important;
  font-family:inherit!important;
  font-size:var(--small)!important;
  font-weight:700!important;
  line-height:1!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}

#CONTENT-DEMO-09 .title-actions .contact-btn.dark,
#CONTENT-DEMO-10 .title-actions .contact-btn.dark,
#CONTENT-DEMO-11 .title-actions .contact-btn.dark,
#CONTENT-DEMO-07 .title-actions .contact-btn.dark,
#CONTENT-DEMO-08 .title-actions .contact-btn.dark{
  border-color:var(--color-key)!important;
  background:var(--color-key)!important;
  color:var(--pb-theme-white,var(--color-white))!important;
}

/* Texto adicional */
#CONTENT-DEMO-09 .title-additional,
#CONTENT-DEMO-10 .title-additional,
#CONTENT-DEMO-11 .title-additional{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin-top:12px!important;
  color:var(--color-muted)!important;
  font-size:var(--small)!important;
  font-weight:500!important;
  line-height:1.4!important;
  text-align:center;
}

#CONTENT-DEMO-07 .title-additional,
#CONTENT-DEMO-08 .title-additional{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  margin-top:12px!important;
  color:var(--color-muted)!important;
  font-size:var(--small)!important;
  font-weight:500!important;
  line-height:1.4!important;
  text-align:left;
}

#CONTENT-DEMO-09 .title-additional span,
#CONTENT-DEMO-10 .title-additional span,
#CONTENT-DEMO-11 .title-additional span,
#CONTENT-DEMO-07 .title-additional span,
#CONTENT-DEMO-08 .title-additional span{
  color:var(--color-muted)!important;
  font-size:var(--small)!important;
  font-weight:500!important;
  line-height:1.4!important;
}

#CONTENT-DEMO-09 .title-additional-dot,
#CONTENT-DEMO-10 .title-additional-dot,
#CONTENT-DEMO-11 .title-additional-dot,
#CONTENT-DEMO-07 .title-additional-dot,
#CONTENT-DEMO-08 .title-additional-dot{
  display:block;
  width:6px;
  height:6px;
  flex:0 0 6px;
  border-radius:50%;
  background:var(--color-key);
}

/* En TT008, P + CTA siguen dentro de la columna derecha original. */
#CONTENT-DEMO-08 .title-split-copy .title-actions{
  margin-top:20px!important;
}

@media(max-width:900px){
  #CONTENT-DEMO-09 .title-actions,
  #CONTENT-DEMO-10 .title-actions,
  #CONTENT-DEMO-11 .title-actions,
  #CONTENT-DEMO-07 .title-actions,
  #CONTENT-DEMO-08 .title-actions,
  #CONTENT-DEMO-09 .title-additional,
  #CONTENT-DEMO-10 .title-additional,
  #CONTENT-DEMO-11 .title-additional,
  #CONTENT-DEMO-07 .title-additional,
  #CONTENT-DEMO-08 .title-additional{
    justify-content:flex-start;
    text-align:left;
  }
}



/* ============================================================
   TT008 · ALINEACIÓN VERTICAL CORREGIDA
   El P inicia a la altura del H2, no de la Etiqueta.
   ============================================================ */
#CONTENT-DEMO-08 .title-split{
  align-items:start!important;
}

#CONTENT-DEMO-08 .title-split-copy{
  padding-top:25px!important;
}

#CONTENT-DEMO-08 .title-split-copy > p{
  margin-top:0!important;
}

@media(max-width:900px){
  #CONTENT-DEMO-08 .title-split-copy{
    padding-top:0!important;
  }
}

/* ============================================================
   TÍTULOS · TT001–TT011 · VALIDADO + CTA OPCIONAL

   Catálogo:
   muestra el Título base sin CTA.

   Constructor / HTML exportado:
   las acciones aparecen únicamente cuando la instancia tiene
   activado "Convertir en CTA".
   ============================================================ */

/* Catálogo de recursos: mostrar siempre el Título base. */
.builder-resource-preview[data-category="Títulos"] .title-actions,
.builder-resource-preview[data-category="Títulos"] .title-additional{
  display:none!important;
}

/* Instancia sin CTA. */
.page-builder-section[data-section-category="Títulos"]:not(.page-builder-title-cta-on) .title-actions,
.page-builder-section[data-section-category="Títulos"]:not(.page-builder-title-cta-on) .title-additional{
  display:none!important;
}

/* Con CTA activo, prevalecen los layouts validados de cada TT. */
.page-builder-section[data-section-category="Títulos"].page-builder-title-cta-on .title-actions,
.page-builder-section[data-section-category="Títulos"].page-builder-title-cta-on .title-additional{
  visibility:visible;
}


/* ============================================================
   CONTENIDOS · CO001–CO012 · VALIDADOR
   Mostrar siempre las acciones para revisar la composición completa.
   ============================================================ */
[id^="CONTENT-DEMO-"] .title-actions,
[id^="CONTENT-DEMO-"] .title-additional{
  display:flex!important;
  visibility:visible!important;
}


@media(max-width:560px){
  .top,
  .section-divider,
  .resource-head,
  .mode-head{
    padding-left:18px;
    padding-right:18px;
  }

  .mode-1440 .rail,
  .mode-full .rail{
    width:calc(100% - 36px);
  }
}

.section-frame{
  display:block;
  width:100%;
  min-height:360px;
  border:0;
  background:var(--color-white);
}


/* ============================================================
   CO008 · ALINEACIÓN VERTICAL CORREGIDA
   El párrafo inicia a la altura del H2, nunca a la altura de la etiqueta.
   ============================================================ */
#CONTENT-DEMO-08 .title-split{
  align-items:start!important;
}

#CONTENT-DEMO-08 .title-split-copy{
  padding-top:25px!important;
}

#CONTENT-DEMO-08 .title-split-copy > p{
  margin-top:0!important;
}

@media(max-width:900px){
  #CONTENT-DEMO-08 .title-split-copy{
    padding-top:0!important;
  }
}


/* ============================================================
   CO008 · H2 Y P EN LA MISMA ALTURA
   ============================================================ */
#CONTENT-DEMO-08 .title-split{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(360px,.95fr)!important;
  grid-template-rows:auto auto!important;
  align-items:start!important;
  column-gap:80px!important;
  row-gap:0!important;
}

/* El wrapper izquierdo deja que etiqueta y H2 participen
   directamente en la grilla principal. */
#CONTENT-DEMO-08 .title-split-main{
  display:contents!important;
}

#CONTENT-DEMO-08 .title-split-main > .eyebrow{
  grid-column:1!important;
  grid-row:1!important;
}

#CONTENT-DEMO-08 .title-split-main > h2{
  grid-column:1!important;
  grid-row:2!important;
  align-self:start!important;
}

#CONTENT-DEMO-08 .title-split-copy{
  grid-column:2!important;
  grid-row:2!important;
  align-self:start!important;
  padding-top:0!important;
  margin-top:0!important;
}

#CONTENT-DEMO-08 .title-split-copy > p{
  margin-top:0!important;
}

@media(max-width:900px){
  #CONTENT-DEMO-08 .title-split{
    grid-template-columns:1fr!important;
    grid-template-rows:auto!important;
    column-gap:0!important;
  }

  #CONTENT-DEMO-08 .title-split-main > .eyebrow,
  #CONTENT-DEMO-08 .title-split-main > h2,
  #CONTENT-DEMO-08 .title-split-copy{
    grid-column:1!important;
    grid-row:auto!important;
  }

  #CONTENT-DEMO-08 .title-split-copy{
    padding-top:0!important;
    margin-top:16px!important;
  }
}


/* ============================================================
   CONTENIDO CO009 / SECCIÓN SC013
   ============================================================ */
.additional-section{
  width:100%;
  background:var(--color-white);
  color:var(--color-dark);
}

.additional-section-inner{
  width:100%;
  padding:80px 0;
}

.additional-label{
  display:block;
  margin:0;
  color:var(--color-key);
  font-size:var(--micro);
  font-weight:500;
  line-height:1.4;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.additional-section h2{
  margin:0;
  color:var(--color-dark);
  font-size:var(--h2);
  font-weight:900;
  line-height:1;
  letter-spacing:-.035em;
}

.additional-section p{
  margin:0;
  color:var(--color-dark);
  font-size:var(--body);
  font-weight:400;
  line-height:1.6;
}

/* SC011 */
.additional-01-grid{
  display:grid;
  grid-template-columns:20% 80%;
  align-items:start;
}

.additional-01-label{
  padding-right:30px;
}

.additional-01-content{
  min-width:0;
}

.additional-01-copy{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:30px;
  margin-top:24px;
}

.additional-01-copy > div:first-child{
  padding-right:15px;
}

.additional-01-copy > div:last-child{
  padding-left:15px;
}

/* SC013 */
.additional-02-grid{
  display:grid;
  grid-template-columns:40% 40%;
  justify-content:space-between;
  align-items:start;
}

.additional-02-copy{
  text-align:left;
}

.additional-02-copy h2{
  margin-top:10px;
}

.additional-02-copy > p{
  margin-top:16px;
}

.additional-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
  margin-top:20px;
}

.additional-actions a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 24px;
  border:1px solid var(--color-muted);
  border-radius:0;
  background:var(--color-white);
  color:var(--color-dark);
  font-size:var(--small);
  font-weight:700;
  line-height:1;
  text-decoration:none;
  white-space:nowrap;
}

.additional-actions a.cta-secondary{
  border-color:var(--color-key);
  background:var(--color-key);
  color:var(--pb-theme-white,var(--color-white));
}

.additional-note{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:12px;
  color:var(--color-muted);
  font-size:var(--small);
  font-weight:500;
  line-height:1.4;
}

.additional-note-dot{
  display:block;
  width:6px;
  height:6px;
  flex:0 0 6px;
  border-radius:50%;
  background:var(--color-key);
}

/* Acordeón basado en AC002 */
.additional-02-accordion{
  text-align:left;
}

.additional-02-accordion .accordion-embed,
.additional-02-accordion .accordion-module,
.additional-02-accordion .acc-section{
  width:100%;
  min-height:0!important;
  background:transparent!important;
}

.additional-02-accordion .acc-section{
  padding:0!important;
}

.additional-02-accordion .acc-accordion{
  width:100%;
}

.additional-02-accordion .acc-accordion article{
  border-bottom:1px solid var(--color-line);
  background:var(--color-white);
}

.additional-02-accordion .acc-accordion article:first-child{
  border-top:1px solid var(--color-line);
}

.additional-02-accordion .acc-accordion button{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:20px 0;
  border:0;
  background:transparent;
  color:var(--color-dark);
  font-size:var(--card);
  font-weight:500;
  line-height:1.3;
  text-align:left;
}

.additional-02-accordion .acc-accordion button span{
  flex:0 0 auto;
  color:var(--color-key);
  font-size:var(--h5);
  font-weight:400;
  transition:transform .25s ease;
}

.additional-02-accordion .acc-accordion article.open button span{
  transform:rotate(45deg);
}

.additional-02-accordion .acc-accordion article > div{
  max-height:0;
  overflow:hidden;
  transition:max-height .3s ease;
}

.additional-02-accordion .acc-accordion article.open > div{
  max-height:220px;
}

.additional-02-accordion .acc-accordion article > div p{
  padding:0 38px 20px 0;
  color:var(--color-dark);
  font-size:var(--body);
  font-weight:400;
  line-height:1.6;
}

@media(max-width:900px){
  .additional-section-inner{
    padding:64px 0;
  }

  .additional-01-grid,
  .additional-02-grid{
    grid-template-columns:1fr;
  }

  .additional-01-label{
    padding-right:0;
    margin-bottom:10px;
  }

  .additional-01-copy{
    grid-template-columns:1fr;
    gap:16px;
  }

  .additional-01-copy > div:first-child,
  .additional-01-copy > div:last-child{
    padding:0;
  }

  .additional-02-grid{
    gap:40px;
  }
}


/* ============================================================
   SC013 · ACORDEÓN · TÍTULOS DARK + FUNCIONAMIENTO VISIBLE
   ============================================================ */
.additional-02-accordion .acc-accordion article > button{
  color:var(--color-dark)!important;
}

.additional-02-accordion .acc-accordion article > button,
.additional-02-accordion .acc-accordion article > button *{
  color:var(--color-dark)!important;
}

.additional-02-accordion .acc-accordion article > button span{
  color:var(--color-key)!important;
}

.additional-02-accordion .acc-accordion article > div{
  display:block!important;
  max-height:0!important;
  opacity:0;
  overflow:hidden!important;
  transition:max-height .32s ease, opacity .22s ease!important;
}

.additional-02-accordion .acc-accordion article.open > div{
  max-height:320px!important;
  opacity:1!important;
}

.additional-02-accordion .acc-accordion article.open > button span{
  transform:rotate(45deg)!important;
}


/* ============================================================
   SC013 · ACORDEÓN BASADO EN AC002
   Misma estructura visual de AC002.
   Excepción: preguntas en tamaño Card.
   ============================================================ */
.additional-02-accordion .accordion-embed .accordion-module{
  --bg:var(--color-light);
  --panel:var(--color-white);
  --text:var(--color-dark);
  --muted:var(--color-muted);
  --gold:var(--color-key);
  --line:var(--color-line);
  --dark:var(--color-dark);
  width:100%!important;
  background:transparent!important;
  color:var(--text)!important;
}

.additional-02-accordion .accordion-embed .accordion-module .acc-section{
  width:100%!important;
  margin:0!important;
  padding:0!important;
  border-top:0!important;
  background:transparent!important;
}

.additional-02-accordion .accordion-embed .accordion-module .acc-accordion{
  width:100%!important;
  border-top:1px solid var(--line)!important;
}

/* Filas iguales a AC002 */
.additional-02-accordion .accordion-embed .accordion-module .acc-accordion article{
  border:0!important;
  border-bottom:1px solid var(--line)!important;
  background:transparent!important;
}

/* Preguntas: AC002, pero tamaño Card */
.additional-02-accordion .accordion-embed .accordion-module .acc-accordion article > button{
  width:100%!important;
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:24px!important;
  padding:24px 0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--color-dark)!important;
  font-family:inherit!important;
  font-size:var(--card)!important;
  font-weight:400!important;
  line-height:1.35!important;
  letter-spacing:0!important;
  text-align:left!important;
  box-shadow:none!important;
}

/* Si --card no estuviera disponible, mantiene la escala normalizada */
@supports not (font-size:var(--card)){
  .additional-02-accordion .accordion-embed .accordion-module .acc-accordion article > button{
    font-size:clamp(18px,1.45vw,20px)!important;
  }
}

.additional-02-accordion .accordion-embed .accordion-module .acc-accordion article > button span{
  flex:0 0 auto!important;
  color:var(--color-key)!important;
  font-size:inherit!important;
  font-weight:400!important;
  line-height:1!important;
  transition:transform .25s ease!important;
}

/* Apertura/cierre igual a AC002 */
.additional-02-accordion .accordion-embed .accordion-module .acc-accordion article > div{
  display:block!important;
  max-height:0!important;
  opacity:1!important;
  overflow:hidden!important;
  transition:max-height .35s ease!important;
}

.additional-02-accordion .accordion-embed .accordion-module .acc-accordion article.open > div{
  max-height:220px!important;
}

.additional-02-accordion .accordion-embed .accordion-module .acc-accordion article.open{
  background:var(--color-light)!important;
}

.additional-02-accordion .accordion-embed .accordion-module .acc-accordion article.open > button span{
  transform:rotate(45deg)!important;
}

/* Respuesta conserva P normalizado en Dark según validación previa */
.additional-02-accordion .accordion-embed .accordion-module .acc-accordion article > div > p{
  margin:0!important;
  padding:0 0 24px!important;
  max-width:780px!important;
  color:var(--color-dark)!important;
  font-size:var(--body)!important;
  font-weight:400!important;
  line-height:1.6!important;
}


/* ============================================================
   SC013 · ACORDEÓN ABIERTO SIN FONDO
   ============================================================ */
.additional-02-accordion .accordion-embed .accordion-module .acc-accordion article,
.additional-02-accordion .accordion-embed .accordion-module .acc-accordion article.open{
  background:transparent!important;
  background-color:transparent!important;
  box-shadow:none!important;
}


/* ============================================================
   SC003 / SC004 · DARK FORZADO EN EL MARKUP + CSS
   ============================================================ */
.page-builder-section[data-section-category="Secciones"][data-source-id="seccion-nosotros-01"] p,
.page-builder-section[data-section-category="Secciones"][data-source-id="seccion-nosotros-01"] p strong,
.page-builder-section[data-section-category="Secciones"][data-source-id="seccion-nosotros-02"] p,
.page-builder-section[data-section-category="Secciones"][data-source-id="seccion-nosotros-02"] p strong{
  color:var(--color-dark)!important;
}


/* ============================================================
   SC011 · SECCIÓN BASADA EN LAS 4 CAPTURAS
   Un solo componente interactivo con 4 estados.
   ============================================================ */
.screen-reference-section{
  width:100%;
  background:var(--color-white);
  color:var(--color-dark);
}

.screen-reference-inner{
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:60px;
  align-items:center;
  padding:80px 0;
}

.screen-reference-copy{
  min-width:0;
}

.screen-feature-list{
  display:flex;
  flex-direction:column;
}

.screen-feature-item{
  border-bottom:1px solid var(--color-line);
}

.screen-feature-item:first-child{
  border-top:1px solid var(--color-line);
}

.screen-feature-trigger{
  width:100%;
  display:grid;
  grid-template-columns:32px minmax(0,1fr);
  gap:16px;
  align-items:start;
  padding:22px 0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--color-dark);
  text-align:left;
  cursor:pointer;
}

.screen-feature-arrow{
  display:block;
  color:var(--color-dark);
  font-size:var(--h5);
  font-weight:400;
  line-height:1.1;
  opacity:0;
  transform:translateX(-6px);
  transition:opacity .2s ease, transform .2s ease;
}

.screen-feature-title{
  display:block;
  color:var(--color-dark);
  font-size:var(--h4);
  font-weight:700;
  line-height:1.12;
  letter-spacing:-.025em;
}

.screen-feature-panel{
  display:grid;
  grid-template-rows:0fr;
  transition:grid-template-rows .28s ease;
}

.screen-feature-panel > p{
  min-height:0;
  overflow:hidden;
  margin:0 0 0 48px;
  color:var(--color-dark);
  font-size:var(--body);
  font-weight:400;
  line-height:1.6;
}

.screen-feature-item.is-active .screen-feature-panel{
  grid-template-rows:1fr;
}

.screen-feature-item.is-active .screen-feature-panel > p{
  margin-bottom:22px;
}

.screen-feature-item.is-active .screen-feature-arrow{
  opacity:1;
  transform:translateX(0);
}

.screen-reference-actions{
  margin-top:28px;
}

.screen-reference-actions a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 24px;
  border:1px solid var(--color-dark);
  border-radius:0;
  background:var(--color-dark);
  color:var(--color-white);
  font-size:var(--small);
  font-weight:700;
  line-height:1;
  text-decoration:none;
}

.screen-reference-media{
  min-width:0;
  width:100%;
  min-height:560px;
  overflow:hidden;
  background:var(--color-light);
}

.screen-reference-media img{
  width:100%;
  height:100%;
  min-height:560px;
  display:block;
  object-fit:cover;
  object-position:50% 45%;
  transition:object-position .35s ease, transform .35s ease;
}

.screen-reference-section[data-active-index="1"] .screen-reference-media img{
  transform:scale(1.015);
}

.screen-reference-section[data-active-index="2"] .screen-reference-media img{
  transform:scale(1.03);
}

.screen-reference-section[data-active-index="3"] .screen-reference-media img{
  transform:scale(1.015);
}

@media(max-width:1000px){
  .screen-reference-inner{
    grid-template-columns:1fr;
    gap:40px;
  }

  .screen-reference-media,
  .screen-reference-media img{
    min-height:460px;
  }
}

@media(max-width:560px){
  .screen-reference-inner{
    padding:64px 0;
  }

  .screen-feature-trigger{
    grid-template-columns:24px minmax(0,1fr);
    gap:12px;
    padding:18px 0;
  }

  .screen-feature-title{
    font-size:var(--h5);
  }

  .screen-feature-panel > p{
    margin-left:36px;
  }

  .screen-reference-media,
  .screen-reference-media img{
    min-height:320px;
  }
}


/* ============================================================
   SC011 · CTA NORMALIZADO IGUAL AL RESTO
   ============================================================ */
.screen-reference-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:12px!important;
  margin-top:28px!important;
}

.screen-reference-actions a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:48px!important;
  padding:0 24px!important;
  border:1px solid var(--color-muted)!important;
  border-radius:0!important;
  background:var(--color-white)!important;
  color:var(--color-dark)!important;
  font-family:inherit!important;
  font-size:var(--small)!important;
  font-weight:700!important;
  line-height:1!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  box-shadow:none!important;
}

.screen-reference-actions a.cta-secondary{
  border-color:var(--color-key)!important;
  background:var(--color-key)!important;
  color:var(--pb-theme-white,var(--color-white))!important;
}

.screen-reference-note{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  margin-top:12px!important;
  color:var(--color-muted)!important;
  font-size:var(--small)!important;
  font-weight:500!important;
  line-height:1.4!important;
}

.screen-reference-note > span{
  color:var(--color-muted)!important;
  font-size:var(--small)!important;
  font-weight:500!important;
}

.screen-reference-note-dot{
  display:block!important;
  width:6px!important;
  height:6px!important;
  flex:0 0 6px!important;
  border-radius:50%!important;
  background:var(--color-key)!important;
}


/* ============================================================
   SC012 · LISTA DESPLEGABLE + IMAGEN LATERAL
   Basado en las capturas, usando el sistema visual del proyecto.
   ============================================================ */
.service-showcase-section{
  width:100%;
  background:var(--color-white);
  color:var(--color-dark);
}

.service-showcase-inner{
  width:100%;
  display:grid;
  grid-template-columns:minmax(320px,32%) minmax(0,68%);
  gap:30px;
  align-items:stretch;
  padding:80px 0;
}

.service-showcase-list{
  display:flex;
  flex-direction:column;
  gap:12px;
  min-width:0;
}

.service-showcase-item{
  overflow:hidden;
  background:var(--color-light);
  border:1px solid transparent;
}

.service-showcase-item.is-active{
  background:var(--color-light);
  border-color:var(--color-key);
}

.service-showcase-trigger{
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1fr) 24px;
  gap:20px;
  align-items:center;
  padding:20px 22px;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--color-dark);
  text-align:left;
  cursor:pointer;
}

.service-showcase-title{
  color:var(--color-dark);
  font-size:var(--card);
  font-weight:400;
  line-height:1.25;
}

.service-showcase-chevron{
  position:relative;
  width:16px;
  height:16px;
  justify-self:end;
}

.service-showcase-chevron::before,
.service-showcase-chevron::after{
  content:"";
  position:absolute;
  top:7px;
  width:9px;
  height:1.5px;
  background:var(--color-dark);
  transition:transform .25s ease;
}

.service-showcase-chevron::before{
  left:0;
  transform:rotate(45deg);
}

.service-showcase-chevron::after{
  right:0;
  transform:rotate(-45deg);
}

.service-showcase-item.is-active .service-showcase-chevron::before{
  transform:rotate(-45deg);
}

.service-showcase-item.is-active .service-showcase-chevron::after{
  transform:rotate(45deg);
}

.service-showcase-panel{
  display:grid;
  grid-template-rows:0fr;
  transition:grid-template-rows .3s ease;
}

.service-showcase-item.is-active .service-showcase-panel{
  grid-template-rows:1fr;
}

.service-showcase-panel-inner{
  min-height:0;
  overflow:hidden;
  padding:0 22px;
}

.service-showcase-item.is-active .service-showcase-panel-inner{
  padding-bottom:22px;
}

.service-showcase-panel p{
  margin:0;
  color:var(--color-dark);
  font-size:var(--body);
  font-weight:400;
  line-height:1.6;
}

/* CTA normalizado */
.service-showcase-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
  margin-top:20px;
}

.service-showcase-actions a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 24px;
  border:1px solid var(--color-muted);
  border-radius:0;
  background:var(--color-white);
  color:var(--color-dark);
  font-size:var(--small);
  font-weight:700;
  line-height:1;
  text-decoration:none;
  white-space:nowrap;
}

.service-showcase-actions a.cta-secondary{
  border-color:var(--color-key);
  background:var(--color-key);
  color:var(--pb-theme-white,var(--color-white));
}

.service-showcase-note{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:12px;
  color:var(--color-muted);
  font-size:var(--small);
  font-weight:500;
  line-height:1.4;
}

.service-showcase-note-dot{
  display:block;
  width:6px;
  height:6px;
  flex:0 0 6px;
  border-radius:50%;
  background:var(--color-key);
}

/* Derecha = una sola imagen */
.service-showcase-media{
  width:100%;
  min-width:0;
  min-height:620px;
  overflow:hidden;
  background:var(--color-light);
}

.service-showcase-media img{
  display:block;
  width:100%;
  height:100%;
  min-height:620px;
  object-fit:cover;
  object-position:45% 45%;
  transition:object-position .35s ease, transform .35s ease;
}

.service-showcase-section[data-active-service="1"] .service-showcase-media img{
  transform:scale(1.01);
}

.service-showcase-section[data-active-service="2"] .service-showcase-media img{
  transform:scale(1.02);
}

.service-showcase-section[data-active-service="3"] .service-showcase-media img{
  transform:scale(1.015);
}

.service-showcase-section[data-active-service="4"] .service-showcase-media img{
  transform:scale(1.025);
}

.service-showcase-section[data-active-service="5"] .service-showcase-media img{
  transform:scale(1.01);
}

@media(max-width:1000px){
  .service-showcase-inner{
    grid-template-columns:1fr;
    gap:40px;
  }

  .service-showcase-media,
  .service-showcase-media img{
    min-height:460px;
  }
}

@media(max-width:560px){
  .service-showcase-inner{
    padding:64px 0;
  }

  .service-showcase-trigger{
    padding:18px;
  }

  .service-showcase-panel-inner{
    padding:0 18px;
  }

  .service-showcase-item.is-active .service-showcase-panel-inner{
    padding-bottom:18px;
  }

  .service-showcase-media,
  .service-showcase-media img{
    min-height:320px;
  }
}


/* ============================================================
   SC011 · AJUSTE VISUAL
   - Sin líneas entre opciones
   - Inactivos alineados al borde izquierdo
   - Activo conserva flecha + sangría
   - Títulos en tamaño Card
   ============================================================ */

/* Sin líneas/separadores */
.screen-feature-item,
.screen-feature-item:first-child{
  border:0!important;
}

/* Títulos: Card */
.screen-feature-title{
  color:var(--color-dark)!important;
  font-size:var(--card)!important;
  font-weight:400!important;
  line-height:1.25!important;
  letter-spacing:0!important;
}

/* Inactivos: el texto ocupa desde donde empieza la flecha del activo */
.screen-feature-item:not(.is-active) .screen-feature-trigger{
  grid-template-columns:0 minmax(0,1fr)!important;
  gap:0!important;
}

.screen-feature-item:not(.is-active) .screen-feature-arrow{
  width:0!important;
  overflow:hidden!important;
  opacity:0!important;
  transform:none!important;
}

/* Activo: conservar composición original */
.screen-feature-item.is-active .screen-feature-trigger{
  grid-template-columns:32px minmax(0,1fr)!important;
  gap:16px!important;
}

.screen-feature-item.is-active .screen-feature-arrow{
  width:auto!important;
  overflow:visible!important;
  opacity:1!important;
  transform:translateX(0)!important;
}


/* ============================================================
   SC011 · ESPACIADO VERTICAL REDUCIDO
   ============================================================ */
.screen-feature-trigger{
  padding-top:14px!important;
  padding-bottom:14px!important;
}

.screen-feature-item.is-active .screen-feature-panel > p{
  margin-bottom:14px!important;
}

@media(max-width:560px){
  .screen-feature-trigger{
    padding-top:12px!important;
    padding-bottom:12px!important;
  }

  .screen-feature-item.is-active .screen-feature-panel > p{
    margin-bottom:12px!important;
  }
}


/* ============================================================
   SC011 · ACORDEÓN / LISTA 30% · IMAGEN 70%
   ============================================================ */
.screen-reference-inner{
  grid-template-columns:minmax(0,30%) minmax(0,70%)!important;
}

@media(max-width:1000px){
  .screen-reference-inner{
    grid-template-columns:1fr!important;
  }
}


/* ============================================================
   SC014 · PASOS
   Basado en la captura, usando el sistema visual del proyecto.
   ============================================================ */
.steps-section{
  width:100%;
  background:var(--color-white);
  color:var(--color-dark);
}

.steps-section-inner{
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,38%) minmax(0,62%);
  gap:60px;
  align-items:start;
  padding:80px 0;
}

.steps-intro{
  min-width:0;
}

.steps-intro h2{
  margin:0;
  color:var(--color-dark);
  font-size:var(--h2);
  font-weight:900;
  line-height:1;
  letter-spacing:-.035em;
}

.steps-intro > p{
  margin:24px 0 0;
  max-width:520px;
  color:var(--color-dark);
  font-size:var(--body);
  font-weight:400;
  line-height:1.6;
}

/* CTA normalizado */
.steps-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
  margin-top:20px;
}

.steps-actions a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 24px;
  border:1px solid var(--color-muted);
  border-radius:0;
  background:var(--color-white);
  color:var(--color-dark);
  font-size:var(--small);
  font-weight:700;
  line-height:1;
  text-decoration:none;
  white-space:nowrap;
}

.steps-actions a.cta-secondary{
  border-color:var(--color-key);
  background:var(--color-key);
  color:var(--pb-theme-white,var(--color-white));
}

.steps-note{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:12px;
  color:var(--color-muted);
  font-size:var(--small);
  font-weight:500;
  line-height:1.4;
}

.steps-note-dot{
  display:block;
  width:6px;
  height:6px;
  flex:0 0 6px;
  border-radius:50%;
  background:var(--color-key);
}

/* Lista de pasos */
.steps-list{
  width:100%;
}

.steps-row{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:16px;
  padding:24px 0;
  border-top:1px solid var(--color-line);
}

.steps-row:last-child{
  border-bottom:1px solid var(--color-line);
}

.steps-number{
  color:var(--color-muted);
  font-size:var(--body);
  font-weight:400;
  line-height:1.6;
}

.steps-title{
  margin:0;
  color:var(--color-dark);
  font-size:var(--card);
  font-weight:700;
  line-height:1.3;
}

.steps-content p{
  margin:6px 0 0;
  color:var(--color-dark);
  font-size:var(--body);
  font-weight:400;
  line-height:1.6;
}

@media(max-width:1000px){
  .steps-section-inner{
    grid-template-columns:1fr;
    gap:40px;
  }
}

@media(max-width:560px){
  .steps-section-inner{
    padding:64px 0;
  }

  .steps-row{
    grid-template-columns:28px minmax(0,1fr);
    gap:12px;
    padding:20px 0;
  }
}


.intermediate-image-half-screen img{
    height:50vh;
  }
}


.intermediate-parallax-content{
    width:calc(100% - 36px);
  }
}



/* SC011–SC014 · mismo rail que usa el validador */
.page-builder-section[data-section-category="Secciones"]
> .pb-section-validator-preview{
  width:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
}

.page-builder-section[data-section-category="Secciones"]
> .pb-section-validator-preview
> .pb-section-validator-rail{
  margin-left:auto!important;
  margin-right:auto!important;
  max-width:none!important;
}

.page-builder-section.page-builder-1440[data-section-category="Secciones"]
> .pb-section-validator-preview
> .pb-section-validator-rail{
  width:min(1440px,calc(100% - 60px))!important;
}

.page-builder-section.page-builder-full[data-section-category="Secciones"]
> .pb-section-validator-preview
> .pb-section-validator-rail{
  width:calc(100% - 60px)!important;
}

@media(max-width:560px){
  .page-builder-section[data-section-category="Secciones"]
  > .pb-section-validator-preview
  > .pb-section-validator-rail{
    width:calc(100% - 36px)!important;
  }
}

/* B2 siempre blanco */
.page-builder-section[data-section-category="Secciones"]
a[data-proposal-cta="1"]{
  --color-white:inherit !important;
  color:var(--color-white)!important;
}

/* Color alternativo del Constructor */
.page-builder-section[data-section-category="Secciones"].page-builder-alt-color-on{
  background:var(--pb-theme-dark,var(--color-dark))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
}

.page-builder-section[data-section-category="Secciones"].page-builder-alt-color-on
:is(h2,h3,h4,h5,h6,p,.card-title){
  color:var(--pb-theme-white,var(--color-white))!important;
}

/* Excepción validada de SC012 */
.page-builder-section[data-section-category="Secciones"].page-builder-alt-color-on
.service-showcase-item.is-active .service-showcase-title,
.page-builder-section[data-section-category="Secciones"].page-builder-alt-color-on
.service-showcase-item.is-active .service-showcase-panel p{
  color:var(--pb-theme-dark,var(--color-dark))!important;
}

.page-builder-section[data-section-category="Secciones"].page-builder-alt-color-on
.service-showcase-item.is-active .service-showcase-note{
  color:var(--color-muted)!important;
}

.page-builder-section[data-section-category="Secciones"].page-builder-alt-color-on
a[data-proposal-cta="1"]{
  color:var(--pb-theme-white,var(--color-white))!important;
}


/* ============================================================
   PROMPT MAESTRO · CONTRATO GLOBAL DE SECCIONES
   Fuente única para Demo, vista viva y exportación.
   ============================================================ */
:root{
  --color-dark:#0F172A;
  --color-key:#2563EB;
  --color-support:#57B8FF;
  --color-light:#E5ECFD;
  --color-white:#FFFFFF;
  --color-muted:#616672;
  --color-line:#DDDFE1;

  --h1:clamp(38px,4.25vw,61px);
  --stats:var(--h1);
  --h2:clamp(34px,3.4vw,49px);
  --h3:clamp(29px,2.7vw,39px);
  --h4:clamp(26px,2.2vw,31px);
  --h5:clamp(22px,1.8vw,25px);
  --h6:clamp(18px,1.45vw,20px);
  --card:clamp(18px,1.45vw,20px);
  --body:16px;
  --small:13px;
  --micro:10px;

  --pb-section-full:calc(100% - 60px);
  --pb-section-1440:min(1440px,calc(100% - 60px));
}

.page-builder-section,
.builder-resource-preview{
  --pb-content-width:var(--pb-section-full);
  --pb-validated-width:var(--pb-section-full);
  --pb-validated-edge:30px;
}

.page-builder-section.page-builder-1440{
  --pb-content-width:var(--pb-section-1440)!important;
  --pb-validated-width:var(--pb-section-1440)!important;
  --pb-validated-edge:30px!important;
}

.page-builder-section.page-builder-full{
  --pb-content-width:var(--pb-section-full)!important;
  --pb-validated-width:var(--pb-section-full)!important;
  --pb-validated-edge:30px!important;
}

.builder-resource-preview{
  --pb-content-width:var(--pb-section-1440)!important;
  --pb-validated-width:var(--pb-section-1440)!important;
  --pb-validated-edge:30px!important;
}

/* Un único tipo de rail estructural. El padre conserva el fondo full-bleed. */
.page-builder-section :has(> .pb-section-content),
.builder-resource-preview :has(> .pb-section-content){
  padding-left:0!important;
  padding-right:0!important;
}

.pb-section-content{
  box-sizing:border-box!important;
  width:var(--pb-content-width)!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
  font-family:var(--font-main)!important;
}

/* Los 30px laterales forman parte del contrato también en móvil. */
@media(max-width:1180px){
  .page-builder-section.page-builder-1440,
  .page-builder-section.page-builder-full,
  .builder-resource-preview{
    --pb-content-width:calc(100% - 60px)!important;
    --pb-validated-width:calc(100% - 60px)!important;
    --pb-validated-edge:30px!important;
  }
}
@media(max-width:560px){
  .page-builder-section.page-builder-1440,
  .page-builder-section.page-builder-full,
  .builder-resource-preview{
    --pb-content-width:calc(100% - 60px)!important;
    --pb-validated-width:calc(100% - 60px)!important;
    --pb-validated-edge:30px!important;
  }
  .pb-section-content{
    width:calc(100% - 60px)!important;
  }
}

/* Escala tipográfica oficial. */
.page-builder-section :is(h1,h2,h3,h4,h5,h6,p,small),
.builder-resource-preview :is(h1,h2,h3,h4,h5,h6,p,small){
  font-family:var(--font-main)!important;
}
.page-builder-section h1,.builder-resource-preview h1{font-size:var(--h1)!important;font-weight:900!important}
.page-builder-section h2,.builder-resource-preview h2{font-size:var(--h2)!important;font-weight:900!important}
.page-builder-section h3,.builder-resource-preview h3{font-size:var(--h3)!important;font-weight:700!important}
.page-builder-section h4,.builder-resource-preview h4{font-size:var(--h4)!important;font-weight:700!important}
.page-builder-section h5,.builder-resource-preview h5{font-size:var(--h5)!important;font-weight:700!important}
.page-builder-section h6,.builder-resource-preview h6{font-size:var(--h6)!important;font-weight:500!important}
.page-builder-section p,.builder-resource-preview p{font-size:var(--body)!important;font-weight:400!important}
.page-builder-section small,.builder-resource-preview small{font-size:var(--small)!important;font-weight:500!important}
.page-builder-section .type-card,.builder-resource-preview .type-card{font-size:var(--card)!important;font-weight:400!important}
.page-builder-section .type-stats,.builder-resource-preview .type-stats{font-size:var(--stats)!important;font-weight:900!important}
.page-builder-section .type-small,.builder-resource-preview .type-small{font-size:var(--small)!important;font-weight:500!important}
.page-builder-section .type-micro,.builder-resource-preview .type-micro{font-size:var(--micro)!important;font-weight:500!important}

/* Natural / Alternativo: misma infraestructura y variables funcionales. */
.page-builder-section.page-builder-alt-color-on{
  background:var(--pb-theme-dark,var(--color-dark))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
}
.page-builder-section.page-builder-alt-color-on .pb-standard-cta-note{
  color:var(--pb-theme-line,var(--color-line))!important;
}
.page-builder-section.page-builder-alt-color-on .pb-standard-cta-dot{
  background:var(--pb-theme-key,var(--color-key))!important;
}

/* Aplicar CTA · patrón común para cualquier sección con acción comercial. */
.pb-standard-cta-row{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:12px!important;
}
.pb-standard-cta-secondary{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:48px!important;
  padding:0 24px!important;
  border:1px solid var(--color-key)!important;
  border-radius:0!important;
  background:var(--color-key)!important;
  color:var(--pb-theme-white,var(--color-white))!important;
  font-family:var(--font-main)!important;
  font-size:var(--small)!important;
  font-weight:700!important;
  line-height:1!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
.pb-standard-cta-note{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  margin-top:12px!important;
  color:var(--color-muted)!important;
  font-family:var(--font-main)!important;
  font-size:var(--small)!important;
  font-weight:500!important;
  line-height:1.4!important;
}
.pb-standard-cta-note strong{
  color:inherit!important;
  font-size:inherit!important;
  font-weight:700!important;
}
.pb-standard-cta-dot{
  display:inline-block!important;
  width:6px!important;
  height:6px!important;
  flex:0 0 6px!important;
  border-radius:50%!important;
  background:var(--color-key)!important;
}
.header-zone .pb-standard-cta-note{
  flex-basis:100%;
}


/* ============================================================
   HR004 · HR017 · HR018 · REVISIÓN DIRIGIDA
   Alcance deliberadamente limitado a estos tres recursos.
   ============================================================ */

/* HR004 · superficie visual full-bleed
   El rail puede pasar de Full a 1440 sin revelar el fondo azul del embed.
   Natural consume --color-white; Alternativo consume la misma variable invertida
   por el sistema global, por lo que no se introduce una paleta local. */
.hero-section-example:has(#hero-04) .hero-embed{
  background:var(--color-white)!important;
}
.hero-embed #hero-04 .hero-split{
  background:var(--color-white)!important;
  border:0!important;
  box-shadow:none!important;
}
.hero-embed #hero-04 .hero-split .split-copy{
  background:var(--color-white)!important;
}

/* HR004 · Dividido 50/50
   Mantiene el split, evita doble margen lateral y clasifica métricas. */
.hero-embed #hero-04 .hero-split{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  min-height:100vh;
  min-height:100svh;
}
.hero-embed #hero-04 .hero-split .split-copy{
  padding:108px clamp(34px,4vw,64px) 72px 0;
}
.hero-embed #hero-04 .hero-split-stat strong{
  font-size:var(--stats)!important;
  font-weight:900!important;
}
.hero-embed #hero-04 .hero-split-stat span,
.hero-embed #hero-04 .trust-pill{
  font-size:var(--small)!important;
  font-weight:500!important;
}
@media(max-width:1180px){
  .hero-embed #hero-04 .hero-split{
    grid-template-columns:1fr;
  }
  .hero-embed #hero-04 .hero-split .split-copy{
    padding:88px 0 48px;
  }
  .hero-embed #hero-04 .hero-split .visual{
    min-height:52svh;
  }
}
@media(max-width:560px){
  .hero-embed #hero-04 .hero-split .split-copy{
    padding:72px 0 38px;
  }
  .hero-embed #hero-04 .hero-split .visual{
    min-height:420px;
  }
  .hero-embed #hero-04 .hero-split-stats{
    gap:22px;
  }
}

/* HR017 · Grid Showcase
   El mosaico participa del rail: se eliminan los 50vw que provocaban overflow. */
.hero-embed #hero-17 .hero-grid-showcase{
  padding:0;
  align-items:stretch;
}
.hero-embed #hero-17 .grid-showcase-layout{
  min-height:100vh;
  min-height:100svh;
  margin-left:auto;
  margin-right:auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:0;
  align-items:stretch;
}
.hero-embed #hero-17 .grid-showcase-layout > div:first-child{
  display:grid;
  align-content:center;
  padding:108px clamp(34px,4vw,56px) 72px 0;
}
.hero-embed #hero-17 .showcase-grid{
  width:100%;
  height:auto;
  min-height:100vh;
  min-height:100svh;
  justify-self:stretch;
  align-self:stretch;
  aspect-ratio:auto;
}
.hero-embed #hero-17 .showcase-tile span{
  color:var(--color-white);
  font-size:var(--small)!important;
  font-weight:500!important;
}
@media(max-width:1180px){
  .hero-embed #hero-17 .grid-showcase-layout{
    grid-template-columns:1fr;
    min-height:0;
  }
  .hero-embed #hero-17 .grid-showcase-layout > div:first-child{
    padding:82px 0 44px;
  }
  .hero-embed #hero-17 .showcase-grid{
    width:100%;
    height:auto;
    min-height:0;
    aspect-ratio:1.35/1;
  }
}
@media(max-width:560px){
  .hero-embed #hero-17 .grid-showcase-layout > div:first-child{
    padding:70px 0 34px;
  }
  .hero-embed #hero-17 .showcase-grid{
    aspect-ratio:1/1;
  }
  .hero-embed #hero-17 .showcase-tile span{
    left:9px;
    right:9px;
    bottom:9px;
    font-size:var(--micro)!important;
  }
}

/* HR018 · Before / After
   Conserva la división visual full-bleed mientras el contenido usa un único rail. */
.hero-embed #hero-18 .hero-before-after{
  min-height:100vh;
  min-height:100svh;
  background:linear-gradient(90deg,var(--color-dark) 0 50%,var(--color-light) 50% 100%);
}
.hero-embed #hero-18 .before-after-layout{
  position:relative;
  min-height:100vh;
  min-height:100svh;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
}
.hero-embed #hero-18 .ba-side{
  min-width:0;
  min-height:100vh;
  min-height:100svh;
  background:transparent;
}
.hero-embed #hero-18 .ba-before{
  padding:108px clamp(38px,4vw,72px) 72px 0;
  color:var(--color-white);
}
.hero-embed #hero-18 .ba-after{
  padding:108px 0 72px clamp(38px,4vw,72px);
  color:var(--color-dark);
}
.hero-embed #hero-18 .ba-before :is(h1,h2,h3),
.hero-embed #hero-18 .ba-before .muted-title{
  color:var(--color-white);
}
.hero-embed #hero-18 .ba-before p{
  color:var(--color-light);
}
.hero-embed #hero-18 .ba-after :is(h1,h2,h3){
  color:var(--color-dark);
}
.hero-embed #hero-18 .ba-after p{
  color:var(--color-muted);
}
.hero-embed #hero-18 .ba-vs{
  font-size:var(--card)!important;
  font-weight:400!important;
}
.hero-embed #hero-18 .ba-center-action{
  width:min(520px,calc(100vw - 60px));
  gap:12px;
}
.hero-embed #hero-18 .ba-action-row{
  justify-content:center;
  margin-top:0;
}
.hero-embed #hero-18 .ba-center-action .pb-standard-cta-note{
  justify-content:center;
  width:max-content;
  max-width:100%;
  margin:0 auto;
  padding:7px 10px;
  background:var(--color-white);
  color:var(--color-muted)!important;
}

/* Alternativo de los tres recursos: contraste explícito sobre fondos visuales. */
.page-builder-section.page-builder-alt-color-on #hero-04 :is(.btn.primary),
.page-builder-section.page-builder-alt-color-on #hero-17 :is(.btn.primary),
.page-builder-section.page-builder-alt-color-on #hero-18 :is(.btn.primary){
  color:var(--color-white)!important;
}
.page-builder-section.page-builder-alt-color-on #hero-04 .btn.ghost,
.page-builder-section.page-builder-alt-color-on #hero-17 .btn.ghost{
  border-color:var(--color-line)!important;
  color:var(--color-white)!important;
}
.page-builder-section.page-builder-alt-color-on #hero-17 .showcase-grid{
  background:var(--color-dark);
}
.page-builder-section.page-builder-alt-color-on #hero-17 .showcase-tile span{
  color:var(--color-white)!important;
}
.page-builder-section.page-builder-alt-color-on #hero-18 .hero-before-after{
  background:linear-gradient(90deg,var(--color-light) 0 50%,var(--color-dark) 50% 100%);
}
.page-builder-section.page-builder-alt-color-on #hero-18 .ba-before{
  color:var(--color-dark);
}
.page-builder-section.page-builder-alt-color-on #hero-18 .ba-before :is(h1,h2,h3),
.page-builder-section.page-builder-alt-color-on #hero-18 .ba-before .muted-title{
  color:var(--color-dark)!important;
}
.page-builder-section.page-builder-alt-color-on #hero-18 .ba-before p{
  color:var(--color-muted)!important;
}
.page-builder-section.page-builder-alt-color-on #hero-18 .ba-after{
  color:var(--color-white);
}
.page-builder-section.page-builder-alt-color-on #hero-18 .ba-after :is(h1,h2,h3){
  color:var(--color-white)!important;
}
.page-builder-section.page-builder-alt-color-on #hero-18 .ba-after p{
  color:var(--color-light)!important;
}

@media(max-width:1180px){
  .hero-embed #hero-18 .hero-before-after{
    background:linear-gradient(180deg,var(--color-dark) 0 50%,var(--color-light) 50% 100%);
  }
  .hero-embed #hero-18 .before-after-layout{
    grid-template-columns:1fr;
    grid-template-rows:minmax(0,1fr) minmax(0,1fr);
  }
  .hero-embed #hero-18 .ba-side{
    min-height:50vh;
    min-height:50svh;
  }
  .hero-embed #hero-18 .ba-before,
  .hero-embed #hero-18 .ba-after{
    padding:64px 0;
  }
  .hero-embed #hero-18 .ba-center-action{
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    margin:0;
  }
  .page-builder-section.page-builder-alt-color-on #hero-18 .hero-before-after{
    background:linear-gradient(180deg,var(--color-light) 0 50%,var(--color-dark) 50% 100%);
  }
}
@media(max-width:560px){
  .hero-embed #hero-18 .ba-side{
    min-height:54svh;
  }
  .hero-embed #hero-18 .ba-before,
  .hero-embed #hero-18 .ba-after{
    padding:56px 0;
  }
  .hero-embed #hero-18 .ba-vs{
    width:72px;
    height:72px;
  }
  .hero-embed #hero-18 .ba-center-action{
    width:calc(100vw - 60px);
  }
}

/* ============================================================
   HR004 · HR017 · HR018 · CORRECCIÓN DE LÍMITES VISUALES
   Alcance: exclusivamente estos tres recursos.
   - Full: HR004/HR017 visual derecho llega al borde derecho real.
   - Full: el copy conserva 30px como único margen estructural izquierdo.
   - 1440: un único rail, aplicado al límite visual principal.
   - HR018: el split completo es el rail; no existe un segundo contenedor interno.
   ============================================================ */

/* HR017 / HR018: el layout interno deja de actuar como segundo rail. */
.page-builder-section[data-source-id="hero-17"] #hero-17 .grid-showcase-layout,
.builder-resource-preview #hero-17 .grid-showcase-layout,
.page-builder-section[data-source-id="hero-18"] #hero-18 .before-after-layout,
.builder-resource-preview #hero-18 .before-after-layout{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* FULL especial: estos tres recursos usan el límite visual completo.
   Los 30px se trasladan al contenido textual cuando corresponde. */
.page-builder-section.page-builder-full[data-source-id="hero-04"] #hero-04 .hero-split.pb-section-content,
.page-builder-section.page-builder-full[data-source-id="hero-17"] #hero-17 .hero-grid-showcase.pb-section-content,
.page-builder-section.page-builder-full[data-source-id="hero-18"] #hero-18 .hero-before-after.pb-section-content{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* HR004 · Full: solo el texto mantiene el margen izquierdo de 30px;
   la mitad visual termina exactamente en el borde derecho. */
.page-builder-section.page-builder-full[data-source-id="hero-04"] #hero-04 .split-copy{
  padding-left:30px!important;
}

/* HR017 · Full: mismo principio asimétrico; mosaico pegado a la derecha. */
.page-builder-section.page-builder-full[data-source-id="hero-17"] #hero-17 .grid-showcase-layout > div:first-child{
  padding-left:30px!important;
}

/* HR018 · el fondo/split pertenece al mismo elemento que recibe el modo de ancho.
   Así 1440 termina exactamente en el rail y Full exactamente en el viewport. */
.page-builder-section[data-source-id="hero-18"] #hero-18 .hero-before-after,
.builder-resource-preview #hero-18 .hero-before-after{
  overflow:hidden!important;
}

/* Al apilarse en Full, el visual continúa siendo full-bleed y el copy conserva 30px. */
@media(max-width:1180px){
  .page-builder-section.page-builder-full[data-source-id="hero-04"] #hero-04 .split-copy{
    padding:88px 30px 48px!important;
  }
  .page-builder-section.page-builder-full[data-source-id="hero-17"] #hero-17 .grid-showcase-layout > div:first-child{
    padding:82px 30px 44px!important;
  }
}

@media(max-width:560px){
  .page-builder-section.page-builder-full[data-source-id="hero-04"] #hero-04 .split-copy{
    padding:72px 30px 38px!important;
  }
  .page-builder-section.page-builder-full[data-source-id="hero-17"] #hero-17 .grid-showcase-layout > div:first-child{
    padding:70px 30px 34px!important;
  }
}


/* ============================================================
   HR004 · HR017 · HR018 · AJUSTE DE COMPOSICIÓN 1440
   Alcance exclusivo: estos tres recursos.
   El rail .pb-section-content no cambia.
   Se eliminan únicamente insets/wrappers internos que reducían visualmente
   el área útil del modo 1440. Full conserva su tratamiento vigente.
   ============================================================ */
@media (min-width:1181px){
  /* HR004: el copy usa toda su mitad dentro del único rail 1440. */
  .page-builder-section.page-builder-1440[data-source-id="hero-04"] #hero-04 .split-copy,
  .builder-resource-preview #hero-04 .split-copy{
    padding-left:0!important;
    padding-right:0!important;
  }

  /* HR017: grid-showcase-layout ya no lleva .hero-inner en el fragmento.
     El copy tampoco crea un inset horizontal adicional en 1440. */
  .page-builder-section.page-builder-1440[data-source-id="hero-17"] #hero-17 .grid-showcase-layout > div:first-child,
  .builder-resource-preview #hero-17 .grid-showcase-layout > div:first-child{
    padding-left:0!important;
    padding-right:0!important;
  }

  /* HR018: los bordes exteriores coinciden con el rail.
     Solo queda una separación compositiva de 30px respecto al eje central. */
  .page-builder-section.page-builder-1440[data-source-id="hero-18"] #hero-18 .ba-before,
  .builder-resource-preview #hero-18 .ba-before{
    padding-left:0!important;
    padding-right:30px!important;
  }
  .page-builder-section.page-builder-1440[data-source-id="hero-18"] #hero-18 .ba-after,
  .builder-resource-preview #hero-18 .ba-after{
    padding-left:30px!important;
    padding-right:0!important;
  }
}


/* ============================================================
   HR004 / HR017 / HR018 · FONDO REAL DE SECCIÓN
   El shell Hero no debe quedar visible detrás del rail 1440.
   La superficie exterior pertenece a cada recurso y las capas
   compositivas delanteras permanecen transparentes.
   ============================================================ */

/* HR004 · superficie blanca continua fuera y dentro del rail. */
.hero-section-example:has(#hero-04),
.hero-embed:has(#hero-04){
  background:var(--color-white)!important;
}
.hero-embed:has(#hero-04) :is(.main,.content,#hero-04,.hero-split){
  background:transparent!important;
}

/* HR017 · superficie blanca continua; el mosaico conserva su propio fondo. */
.hero-section-example:has(#hero-17),
.hero-embed:has(#hero-17){
  background:var(--color-white)!important;
}
.hero-embed:has(#hero-17) :is(.main,.content,#hero-17,.hero-grid-showcase,.grid-showcase-layout){
  background:transparent!important;
}

/* HR018 · el Before/After pinta el fondo full-bleed; el rail solo limita contenido. */
.hero-section-example:has(#hero-18),
.hero-embed:has(#hero-18){
  background:linear-gradient(
    90deg,
    var(--color-dark) 0%,
    var(--color-dark) 50%,
    var(--color-light) 50%,
    var(--color-light) 100%
  )!important;
}
.hero-embed:has(#hero-18) :is(.main,.content,#hero-18,.hero-before-after,.before-after-layout,.ba-before,.ba-after){
  background:transparent!important;
}


/* PB CT003 · textos auxiliares = Small */
.page-builder-section[data-source-id="recursos-2-24"] .cat-sidebar h4,
.page-builder-section[data-source-id="recursos-2-24"] .cat-toolbar .result-count,
.page-builder-section[data-source-id="recursos-2-24"] .cat-toolbar .result-count strong {
  font-size: var(--small);
}
.page-builder-section[data-source-id="recursos-2-24"] .cat-sidebar h4,
.page-builder-section[data-source-id="recursos-2-24"] .cat-toolbar .result-count {
  font-weight: 500;
}

/* CT001 + CT003 · orden y tratamiento de acciones de producto */
.catalog-embed #recursos-2-07 .product-actions .btn-quote-sm,
.catalog-embed #recursos-2-24 .product-actions .btn-quote-sm{
  background:var(--color-key)!important;
  color:var(--pb-theme-white,var(--color-white))!important;
  border:1px solid var(--color-key)!important;
}
.catalog-embed #recursos-2-07 .product-actions .btn-info-sm,
.catalog-embed #recursos-2-24 .product-actions .btn-info-sm{
  background:var(--color-white)!important;
  color:var(--color-dark)!important;
  border:1px solid var(--color-line)!important;
}
.catalog-embed #recursos-2-07 .product-actions .btn-info-sm:hover,
.catalog-embed #recursos-2-24 .product-actions .btn-info-sm:hover{
  background:var(--color-light)!important;
  color:var(--color-dark)!important;
  border-color:var(--color-line)!important;
}

/* ============================================================
   PASO 9 · ETIQUETAS / BADGES / CHIPS / MICROELEMENTOS
   - La paleta visible procede de los siete tokens oficiales.
   - Small y Micro usan peso 500 como escala tipográfica oficial.
   - Sombras, cuando existen, derivan solo de --color-dark + transparencia.
   - No modifica geometría, padding, radios, iconos ni interacción.
   ============================================================ */
.page-builder-section :is(
  .utility-chip,
  .payment-tag,
  .eyebrow,
  .hero-eyebrow,
  .section-eyebrow,
  .logo-eyebrow,
  .content-kicker,
  .option-kicker,
  .campaign-badge,
  .trust-pill,
  .badge,
  .brand-tag,
  .product-tag,
  .brand-pill,
  .tagline,
  .label-chip,
  .icon-card-tag,
  .mini-badge,
  .mock-slider-kicker,
  .combined-tag-number,
  .combined-tag-request,
  .section-label
){
  font-weight:500!important;
}

/* Badges de filtro: superficie neutra + acento; activo = Key.
   Se usan snapshots de contraste ya existentes del Paso 6 para que el
   blanco real no se invierta accidentalmente en modo Alternativo. */
.page-builder-section :is(
  .news-embed,
  .catalog-embed,
  .packages-embed
) .original-resource .filter-list .badge{
  background:var(--color-light)!important;
  color:var(--color-key)!important;
}
.page-builder-section :is(
  .news-embed,
  .catalog-embed,
  .packages-embed
) .original-resource .filter-list button.active .badge{
  background:var(--color-key)!important;
  color:var(--pb-theme-white)!important;
}

/* Product tag: el antiguo copper-50 se resuelve con tokens oficiales. */
.page-builder-section :is(
  .news-embed,
  .catalog-embed,
  .packages-embed
) .original-resource .modal .product-tag{
  background:var(--color-light)!important;
  color:var(--color-key)!important;
  border-left-color:var(--color-key)!important;
}

/* Los microelementos sólidos Key mantienen contraste estable en ambos modos. */
.page-builder-section :is(
  .campaign-badge,
  .brand-pill
){
  background:var(--color-key)!important;
  color:var(--pb-theme-white)!important;
}

/* ============================================================
   PASO 10 · CARDS · CONTRATO CANÓNICO
   CD001–CD006 + CI001–CI007
   - Superficies, texto, bordes e iconos: siete tokens oficiales.
   - Sombras y overlays: derivados únicamente del color DARK global.
   - Se preservan geometría, imágenes, tamaños, gaps, radios y animaciones.
   - CTA, botones y microelementos mantienen sus contratos previos.
   ============================================================ */

/* ---------- CD001–CD006 · Cards con imagen ---------- */
.page-builder-section[data-section-category="Cards"] .cards-real{
  background:var(--color-white)!important;
  color:var(--color-dark)!important;
}
.page-builder-section[data-section-category="Cards"] .demo-card{
  background:var(--color-dark)!important;
  box-shadow:0 18px 48px color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 12%,transparent)!important;
}
.page-builder-section[data-section-category="Cards"] .demo-card::after{
  background:linear-gradient(
    180deg,
    color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 8%,transparent),
    color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 86%,transparent)
  )!important;
}
.page-builder-section[data-section-category="Cards"] .demo-card:hover::after{
  background:linear-gradient(180deg,transparent,var(--pb-theme-dark,var(--color-dark)))!important;
}
.page-builder-section[data-section-category="Cards"] .demo-card-content,
.page-builder-section[data-section-category="Cards"] .demo-card-content h3{
  color:var(--pb-theme-white,var(--color-white))!important;
}
.page-builder-section[data-section-category="Cards"] .demo-card-content h3,
.page-builder-section[data-section-category="Cards"] .cards-grid.five .demo-card-content h3,
.page-builder-section[data-section-category="Cards"] .cards-grid.six .demo-card-content h3{
  font-size:var(--card)!important;
  font-weight:400!important;
}
.page-builder-section[data-section-category="Cards"] .demo-card-content li{
  border-color:var(--color-line)!important;
  color:var(--color-line)!important;
}

/* ---------- CI001–CI007 · Cards con iconos ---------- */
.page-builder-section[data-section-category="Cards con íconos"] .icon-cards-real{
  background:var(--color-white)!important;
  color:var(--color-dark)!important;
}
.page-builder-section[data-section-category="Cards con íconos"] .icon-card{
  background:var(--color-white)!important;
  border-color:var(--color-line)!important;
  color:var(--color-dark)!important;
}
.page-builder-section[data-section-category="Cards con íconos"] .icon-card:hover{
  background:var(--color-dark)!important;
  border-color:var(--color-dark)!important;
  color:var(--color-white)!important;
  box-shadow:0 24px 70px color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 22%,transparent)!important;
}
.page-builder-section[data-section-category="Cards con íconos"] .icon-card-icon{
  background:var(--color-key)!important;
  color:var(--pb-theme-white,var(--color-white))!important;
}
.page-builder-section[data-section-category="Cards con íconos"] .icon-card :is(h3,.type-card){
  color:var(--color-dark)!important;
  font-size:var(--card)!important;
  font-weight:400!important;
}
.page-builder-section[data-section-category="Cards con íconos"] .icon-card p{
  color:var(--color-muted)!important;
}
.page-builder-section[data-section-category="Cards con íconos"] .icon-card:hover :is(h3,.type-card,p){
  color:var(--color-white)!important;
}
.page-builder-section[data-section-category="Cards con íconos"] .icon-card-tag{
  color:var(--color-key)!important;
}
.page-builder-section[data-section-category="Cards con íconos"] .icon-card:hover .icon-card-tag{
  color:var(--color-key)!important;
}
/* CI007 conserva su inversión visual propia del icono en hover. */
.page-builder-section[data-section-category="Cards con íconos"] .icon-cards-centered-hover .icon-card:hover .icon-card-icon{
  background:var(--color-white)!important;
  color:var(--color-key)!important;
}

/* ============================================================
   PASO 11 · FORMULARIOS · CONTRATO CANÓNICO
   FM001–FM004
   - Campos y superficies consumen exclusivamente los siete tokens oficiales.
   - Los snapshots --pb-theme-* conservan el valor real de esos tokens en
     Natural y evitan inversiones ilegibles dentro de superficies claras
     cuando la instancia usa Modo Alternativo.
   - Sombras existentes derivan únicamente de DARK + transparencia.
   - Se preservan layout, tamaños, padding, radios y comportamiento.
   ============================================================ */

/* ---------- Superficies de formulario ---------- */
.page-builder-section[data-source-id="formulario-01"] .form-real{
  background:var(--pb-theme-light,var(--color-light))!important;
  color:var(--pb-theme-dark,var(--color-dark))!important;
}
.page-builder-section[data-source-id="formulario-29-vista-contacto"] #DEMO-FORMULARIO-29,
.page-builder-section[data-source-id="formulario-29-vista-contacto"] #DEMO-FORMULARIO-29 :is(.original-resource,section.block){
  background:var(--pb-theme-white,var(--color-white))!important;
  color:var(--pb-theme-dark,var(--color-dark))!important;
}
.page-builder-section:is(
  [data-source-id="formulario-30-contacto-cotizacion"],
  [data-source-id="formulario-31-contacto-comercial"]
) :is(#FORM-DEMO-30,#FORM-DEMO-31) .section.contact{
  background:var(--pb-theme-light,var(--color-light))!important;
  color:var(--pb-theme-dark,var(--color-dark))!important;
}

/* ---------- Tarjeta informativa oscura · FM001 / FM002 ---------- */
.page-builder-section[data-section-category="Formularios"] .contact-info-card{
  background:var(--pb-theme-dark,var(--color-dark))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
}
.page-builder-section[data-section-category="Formularios"] .contact-info-card :is(h2,h3,h4,strong,dd,dd a){
  color:var(--pb-theme-white,var(--color-white))!important;
}
.page-builder-section[data-section-category="Formularios"] .contact-info-card :is(p,.sub,.contact-data-item span){
  color:var(--pb-theme-line,var(--color-line))!important;
}
.page-builder-section[data-section-category="Formularios"] .contact-info-card :is(.contact-label,dt){
  color:var(--pb-theme-key,var(--color-key))!important;
}
.page-builder-section[data-section-category="Formularios"] .contact-info-card :is(.contact-data-item,.social-row){
  border-color:var(--pb-theme-line,var(--color-line))!important;
}
.page-builder-section[data-section-category="Formularios"] .contact-info-card .contact-data-icon{
  background:var(--pb-theme-light,var(--color-light))!important;
  color:var(--pb-theme-key,var(--color-key))!important;
}
.page-builder-section[data-source-id="formulario-29-vista-contacto"] #DEMO-FORMULARIO-29 .contact-info-card .social-row a{
  background:var(--pb-theme-line,var(--color-line))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
}
.page-builder-section[data-source-id="formulario-29-vista-contacto"] #DEMO-FORMULARIO-29 .contact-info-card .social-row a:hover{
  background:var(--pb-theme-key,var(--color-key))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
}

/* Sombras ya existentes en las dos tarjetas que originalmente las usaban. */
.page-builder-section[data-source-id="formulario-01"] :is(.contact-info-card,.contact-form-card){
  box-shadow:0 30px 90px color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 22%,transparent)!important;
}
.page-builder-section[data-source-id="formulario-29-vista-contacto"] #DEMO-FORMULARIO-29 .contact-form{
  box-shadow:
    0 8px 24px -10px color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 18%,transparent),
    0 3px 8px color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 6%,transparent)!important;
}

/* ---------- Tarjetas de captura ---------- */
.page-builder-section[data-section-category="Formularios"] :is(.contact-form-card,form.contact-form){
  background:var(--pb-theme-white,var(--color-white))!important;
  color:var(--pb-theme-dark,var(--color-dark))!important;
  border-color:var(--pb-theme-line,var(--color-line))!important;
}
.page-builder-section[data-section-category="Formularios"] :is(.contact-form-card,form.contact-form) :is(h2,h3,h4,.contact-form-title){
  color:var(--pb-theme-dark,var(--color-dark))!important;
}
.page-builder-section[data-section-category="Formularios"] :is(.contact-form-card,form.contact-form) :is(p,.sub,.form-note){
  color:var(--pb-theme-muted,var(--color-muted))!important;
}

/* ---------- Labels ---------- */
.page-builder-section[data-section-category="Formularios"] form label{
  color:var(--pb-theme-dark,var(--color-dark))!important;
  font-weight:500!important;
}
.page-builder-section[data-source-id="formulario-01"] .form-field label{
  font-size:var(--micro)!important;
  font-weight:500!important;
}
.page-builder-section:is(
  [data-source-id="formulario-29-vista-contacto"],
  [data-source-id="formulario-30-contacto-cotizacion"],
  [data-source-id="formulario-31-contacto-comercial"]
) form label{
  font-size:var(--small)!important;
  font-weight:500!important;
}

/* ---------- Inputs / Selects / Textareas ---------- */
.page-builder-section[data-section-category="Formularios"] form :is(
  input:not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="checkbox"]):not([type="radio"]),
  select,
  textarea
){
  border-width:1px!important;
  border-style:solid!important;
  border-color:var(--pb-theme-line,var(--color-line))!important;
  background:var(--pb-theme-light,var(--color-light))!important;
  color:var(--pb-theme-dark,var(--color-dark))!important;
  caret-color:var(--pb-theme-key,var(--color-key))!important;
  font-family:var(--font-main)!important;
  font-size:var(--body)!important;
  font-weight:400!important;
  box-shadow:none!important;
}
.page-builder-section[data-section-category="Formularios"] form :is(input,textarea)::placeholder{
  color:var(--pb-theme-muted,var(--color-muted))!important;
  opacity:1!important;
}
.page-builder-section[data-section-category="Formularios"] form select option{
  background:var(--pb-theme-white,var(--color-white))!important;
  color:var(--pb-theme-dark,var(--color-dark))!important;
}
.page-builder-section[data-section-category="Formularios"] form :is(input[type="checkbox"],input[type="radio"]){
  accent-color:var(--pb-theme-key,var(--color-key))!important;
}
.page-builder-section[data-section-category="Formularios"] form :is(
  input:not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="checkbox"]):not([type="radio"]),
  select,
  textarea
):focus{
  border-color:var(--pb-theme-key,var(--color-key))!important;
  background:var(--pb-theme-white,var(--color-white))!important;
  color:var(--pb-theme-dark,var(--color-dark))!important;
  outline:2px solid var(--pb-theme-key,var(--color-key))!important;
  outline-offset:1px!important;
  box-shadow:none!important;
}

/* ---------- Submit y acciones propias de Formularios ---------- */
.page-builder-section[data-section-category="Formularios"] form :is(button[type="submit"],input[type="submit"]),
.page-builder-section[data-section-category="Formularios"] .contact-action.primary{
  background:var(--pb-theme-key,var(--color-key))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
  border-color:var(--pb-theme-key,var(--color-key))!important;
  font-size:var(--small)!important;
  font-weight:700!important;
}
.page-builder-section[data-section-category="Formularios"] form :is(button[type="submit"],input[type="submit"]):hover,
.page-builder-section[data-section-category="Formularios"] .contact-action.primary:hover{
  background:var(--pb-theme-dark,var(--color-dark))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
  border-color:var(--pb-theme-dark,var(--color-dark))!important;
}
.page-builder-section[data-section-category="Formularios"] .contact-action.secondary{
  background:var(--pb-theme-white,var(--color-white))!important;
  color:var(--pb-theme-dark,var(--color-dark))!important;
  border-color:var(--pb-theme-line,var(--color-line))!important;
}
.page-builder-section[data-section-category="Formularios"] .contact-action.secondary:hover{
  background:var(--pb-theme-light,var(--color-light))!important;
  color:var(--pb-theme-dark,var(--color-dark))!important;
  border-color:var(--pb-theme-line,var(--color-line))!important;
}
.page-builder-section[data-section-category="Formularios"] :is(
  form button[type="submit"],
  form input[type="submit"],
  .contact-action
):focus-visible{
  outline:2px solid var(--pb-theme-key,var(--color-key))!important;
  outline-offset:2px!important;
}

/* ---------- FM003 / FM004 · copy e iconografía ---------- */
.page-builder-section:is(
  [data-source-id="formulario-30-contacto-cotizacion"],
  [data-source-id="formulario-31-contacto-comercial"]
) :is(#FORM-DEMO-30,#FORM-DEMO-31) .section-label{
  color:var(--pb-theme-key,var(--color-key))!important;
  font-weight:500!important;
}
.page-builder-section:is(
  [data-source-id="formulario-30-contacto-cotizacion"],
  [data-source-id="formulario-31-contacto-comercial"]
) :is(#FORM-DEMO-30,#FORM-DEMO-31) :is(.contact-info-icon,.contact-checklist span){
  background:var(--pb-theme-white,var(--color-white))!important;
  color:var(--pb-theme-key,var(--color-key))!important;
}

/* ---------- Alternativo ----------
   El fondo de la composición se oscurece; las tarjetas de captura siguen
   siendo superficies claras reales y por eso usan los snapshots globales. */
.page-builder-section.page-builder-alt-color-on[data-source-id="formulario-01"] .form-real,
.page-builder-section.page-builder-alt-color-on[data-source-id="formulario-29-vista-contacto"] #DEMO-FORMULARIO-29,
.page-builder-section.page-builder-alt-color-on[data-source-id="formulario-29-vista-contacto"] #DEMO-FORMULARIO-29 :is(.original-resource,section.block),
.page-builder-section.page-builder-alt-color-on:is(
  [data-source-id="formulario-30-contacto-cotizacion"],
  [data-source-id="formulario-31-contacto-comercial"]
) :is(#FORM-DEMO-30,#FORM-DEMO-31) .section.contact{
  background:var(--pb-theme-dark,var(--color-dark))!important;
}
.page-builder-section.page-builder-alt-color-on:is(
  [data-source-id="formulario-30-contacto-cotizacion"],
  [data-source-id="formulario-31-contacto-comercial"]
) :is(#FORM-DEMO-30,#FORM-DEMO-31) :is(h2,.contact-info-value,.contact-checklist li){
  color:var(--pb-theme-white,var(--color-white))!important;
}
.page-builder-section.page-builder-alt-color-on:is(
  [data-source-id="formulario-30-contacto-cotizacion"],
  [data-source-id="formulario-31-contacto-comercial"]
) :is(#FORM-DEMO-30,#FORM-DEMO-31) :is(.contact-copy > p:not(.section-label),.contact-info-label){
  color:var(--pb-theme-line,var(--color-line))!important;
}



/* ============================================================
   FL002 · EXCEPCIÓN DE MARCA · WHATSAPP
   Verde oficial de WhatsApp. No altera los siete tokens globales.
   ============================================================ */
#flotante-02 .floating-whatsapp{
  background:#25D366!important;
}


/* =========================================================
   CR013 · CARRUSEL LOOP DE CATEGORÍAS
   Recurso nativo: tokens oficiales con fallback al contrato maestro.
   ========================================================= */
#CAROUSEL-13,
#CAROUSEL-13 *{
  box-sizing:border-box;
}
#CAROUSEL-13 .category-zone{
  --pb-style-font-primary:var(--font-primary,var(--font-main));
  --pb-style-font-secondary:var(--font-secondary,var(--font-main));
  --pb-style-type-h3:var(--type-h3,var(--h3));
  --pb-style-type-h5:var(--type-h5,var(--h5));
  --pb-style-type-body:var(--type-body,var(--body));
  --pb-style-type-small:var(--type-small,var(--small));
  --pb-style-space-content:var(--space-content,24px);
  --pb-style-radius-card:var(--radius-card,24px);
  --pb-style-radius-button:var(--radius-button,999px);
  --pb-style-radius-label:var(--radius-label,999px);
}
#CAROUSEL-13 .category-zone {
    width: 100%;
    overflow: hidden;
    background: var(--color-white);
    color: var(--color-dark);
    padding-block: calc(var(--space-content,24px) * 1.5) var(--space-content,24px);
  }
#CAROUSEL-13 .category-tabs-wrap {
    padding-inline: var(--space-content,24px);
    overflow-x: auto;
    scrollbar-width: none;
  }
#CAROUSEL-13 .category-tabs-wrap::-webkit-scrollbar { display: none; }
#CAROUSEL-13 .category-tabs {
    width: max-content;
    min-width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: calc(var(--space-content,24px) * .45);
    padding-bottom: calc(var(--space-content,24px) * 1.45);
  }
#CAROUSEL-13 .category-tab {
    appearance: none;
    border: 0;
    background: transparent;
    color: var(--color-dark);
    border-radius: var(--radius-button,999px);
    padding: calc(var(--space-content,24px) * .45) calc(var(--space-content,24px) * .7);
    font-size: var(--type-small,var(--small));
    line-height: 1;
    white-space: nowrap;
    cursor: pointer;
    transition: background-color .25s ease, color .25s ease, transform .25s ease;
  }
#CAROUSEL-13 .category-tab:hover,
#CAROUSEL-13 .category-tab:focus-visible {
    background: color-mix(in srgb, var(--color-light) 92%, var(--color-dark) 8%);
    outline: none;
  }
#CAROUSEL-13 .category-tab[aria-pressed="true"],
#CAROUSEL-13 .category-tab[aria-current="true"],
#CAROUSEL-13 .category-tab.is-active {
    background: color-mix(in srgb, var(--color-light) 82%, var(--color-dark) 18%);
    color: var(--color-dark);
  }
#CAROUSEL-13 .carousel-viewport {
    position: relative;
    width: 100%;
    overflow: hidden;
    touch-action: pan-y;
  }
#CAROUSEL-13 .carousel-track {
    display: flex;
    align-items: stretch;
    gap: calc(var(--space-content,24px) * 1.35);
    width: max-content;
    padding-block: 0;
    will-change: transform;
    transition: transform .62s cubic-bezier(.22,.61,.36,1);
  }
#CAROUSEL-13 .carousel-track.is-dragging { transition: none; }
#CAROUSEL-13 .carousel-track.is-loop-snap,
#CAROUSEL-13 .carousel-track.is-loop-snap .category-slide,
#CAROUSEL-13 .carousel-track.is-loop-snap .slide-media {
    transition: none !important;
  }
#CAROUSEL-13 .category-slide {
    position: relative;
    flex: 0 0 clamp(46rem, 64vw, 70rem);
    aspect-ratio: 16 / 10;
    overflow: hidden;
    border-radius: var(--radius-card,24px);
    background: var(--color-dark);
    color: var(--color-white);
    isolation: isolate;
    opacity: .74;
    transform: scale(.985);
    transition: opacity .35s ease, transform .35s ease;
  }
#CAROUSEL-13 .category-slide.is-active {
    opacity: 1;
    transform: scale(1);
  }
#CAROUSEL-13 .slide-media {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    background-image: var(--cr13-media-image);
    background-size: cover;
    background-position: center;
    transform: scale(1.01);
    transition: transform .7s ease;
    z-index: -3;
  }
#CAROUSEL-13 .category-slide:hover .slide-media,
#CAROUSEL-13 .category-slide:focus-within .slide-media { transform: scale(1.035); }
#CAROUSEL-13 .slide-overlay {
    position: absolute;
    inset: 0;
    z-index: -2;
    background:
      linear-gradient(90deg,
        color-mix(in srgb, var(--color-dark) 78%, transparent) 0%,
        color-mix(in srgb, var(--color-dark) 52%, transparent) 34%,
        transparent 68%),
      linear-gradient(0deg,
        color-mix(in srgb, var(--color-dark) 48%, transparent) 0%,
        transparent 35%);
  }
#CAROUSEL-13 .slide-copy {
    position: absolute;
    top: var(--space-content,24px);
    left: var(--space-content,24px);
    width: min(42%, 34rem);
    display: grid;
    gap: calc(var(--space-content,24px) * .45);
  }
#CAROUSEL-13 .slide-copy h3 {
    margin: 0;
    color: var(--color-white);
    font-family: var(--font-primary,var(--font-main));
    font-size: var(--type-h3,var(--h3));
    line-height: 1.02;
    font-weight: 500;
    text-wrap: balance;
  }
#CAROUSEL-13 .slide-copy p {
    margin: 0;
    max-width: 34rem;
    color: var(--color-white);
    font-size: var(--type-body,var(--body));
    line-height: 1.4;
    text-wrap: pretty;
  }
#CAROUSEL-13 .slide-ideal {
    position: absolute;
    left: var(--space-content,24px);
    bottom: var(--space-content,24px);
    margin: 0;
    max-width: calc(100% - (var(--space-content,24px) * 5));
    color: var(--color-white);
    font-size: var(--type-small,var(--small));
    line-height: 1.3;
    opacity: 0;
    transform: translateY(calc(var(--space-content,24px) * .25));
    transition: opacity .28s ease, transform .28s ease;
  }
#CAROUSEL-13 .category-slide.is-active:hover .slide-ideal,
#CAROUSEL-13 .category-slide.is-active:focus-within .slide-ideal {
    opacity: 1;
    transform: translateY(0);
  }
/* Los controles internos de las tarjetas laterales no interceptan el clic.
     Toda la tarjeta vecina funciona como zona Anterior/Siguiente. */
#CAROUSEL-13 .category-slide:not(.is-active) .slide-next {
    pointer-events: none;
  }
#CAROUSEL-13 .slide-next {
    position: absolute;
    right: var(--space-content,24px);
    bottom: calc(var(--space-content,24px) * .72);
    width: calc(var(--space-content,24px) * 1.9);
    aspect-ratio: 1;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: var(--radius-button,999px);
    background: transparent;
    color: var(--color-white);
    font-size: var(--type-h5,var(--h5));
    cursor: pointer;
    transition: background-color .25s ease, transform .25s ease;
  }
#CAROUSEL-13 .slide-next:hover,
#CAROUSEL-13 .slide-next:focus-visible {
    background: color-mix(in srgb, var(--color-dark) 56%, transparent);
    outline: none;
    transform: translateX(calc(var(--space-content,24px) * .1));
  }
#CAROUSEL-13 .carousel-footer {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: calc(var(--space-content,24px) * .45);
    padding-top: calc(var(--space-content,24px) * 1.25);
    padding-inline: var(--space-content,24px);
  }
#CAROUSEL-13 .pager-dot {
    position: relative;
    appearance: none;
    width: calc(var(--space-content,24px) * .18);
    height: calc(var(--space-content,24px) * .18);
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: var(--radius-label,999px);
    background: var(--color-muted);
    cursor: pointer;
    opacity: .66;
    transition: width .25s ease, opacity .25s ease, background-color .25s ease;
  }
#CAROUSEL-13 .pager-dot.is-active {
    width: calc(var(--space-content,24px) * 1.05);
    background: color-mix(in srgb, var(--color-muted) 38%, var(--color-light) 62%);
    opacity: 1;
  }
#CAROUSEL-13 .pager-dot.is-active::after {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 0;
    border-radius: inherit;
    background: var(--color-dark);
  }
#CAROUSEL-13 .pager-dot.is-active.is-loading::after {
    animation: cr13-pager-autoplay-progress var(--carousel-autoplay-delay, 5000ms) linear forwards;
  }
@keyframes cr13-pager-autoplay-progress {
    from { width: 0%; }
    to { width: 100%; }
  }
#CAROUSEL-13 .pager-dot:focus-visible {
    outline: max(1px, .08rem) solid var(--color-key);
    outline-offset: calc(var(--space-content,24px) * .15);
  }
#CAROUSEL-13 .autoplay-toggle {
    position: absolute;
    right: var(--space-content,24px);
    top: 50%;
    transform: translateY(-50%);
    width: calc(var(--space-content,24px) * 1.75);
    aspect-ratio: 1;
    display: grid;
    place-items: center;
    padding: 0;
    border: max(1px, .06rem) solid var(--color-line);
    border-radius: var(--radius-button,999px);
    background: var(--color-white);
    color: var(--color-dark);
    cursor: pointer;
    transition: background-color .25s ease, color .25s ease, border-color .25s ease, transform .25s ease;
  }
#CAROUSEL-13 .autoplay-toggle[aria-pressed="true"] {
    border-color: var(--color-key);
    box-shadow: 0 0 0 max(1px, .06rem) color-mix(in srgb, var(--color-key) 45%, transparent);
  }
#CAROUSEL-13 .autoplay-toggle:hover,
#CAROUSEL-13 .autoplay-toggle:focus-visible {
    background: var(--color-light);
    outline: none;
  }
#CAROUSEL-13 .autoplay-toggle:active {
    transform: translateY(-50%) scale(.96);
  }
#CAROUSEL-13 .autoplay-icon {
    font-size: var(--type-small,var(--small));
    line-height: 1;
    transform: translateX(.04em);
  }
#CAROUSEL-13 .autoplay-toggle[aria-pressed="true"] .autoplay-icon {
    transform: none;
  }
#CAROUSEL-13 .carousel-cursor {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 6;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: max-content;
    padding: calc(var(--space-content,24px) * .38) calc(var(--space-content,24px) * .7);
    border-radius: var(--radius-button,999px);
    background: var(--color-white);
    color: var(--color-dark);
    font-size: var(--type-body,var(--body));
    line-height: 1;
    white-space: nowrap;
    box-shadow:
      0 .5rem 1rem color-mix(in srgb, var(--color-dark) 12%, transparent),
      0 0 0 max(1px, .06rem) color-mix(in srgb, var(--color-dark) 8%, transparent);
    opacity: 0;
    transform: translate(-50%, -50%) scale(.92);
    transform-origin: center;
    pointer-events: none;
    transition: opacity .18s ease, transform .18s ease;
  }
#CAROUSEL-13 .carousel-viewport.is-cursor-visible .carousel-cursor {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
@media (hover: hover) and (pointer: fine) {
#CAROUSEL-13 .carousel-viewport.is-cursor-visible,
#CAROUSEL-13 .carousel-viewport.is-cursor-visible * {
      cursor: none !important;
    }
}
@media (max-width: 1024px) {
#CAROUSEL-13 .category-tabs { justify-content: flex-start; }
#CAROUSEL-13 .category-slide { flex-basis: 82vw; }
#CAROUSEL-13 .slide-copy { width: min(58%, 31rem); }
}
@media (max-width: 768px) {
#CAROUSEL-13 .category-zone { padding-block-start: var(--space-content,24px); }
#CAROUSEL-13 .category-tabs {
      gap: calc(var(--space-content,24px) * .25);
      padding-bottom: var(--space-content,24px);
    }
#CAROUSEL-13 .category-slide {
      flex-basis: calc(100vw - (var(--space-content,24px) * 2));
      aspect-ratio: 4 / 3;
    }
#CAROUSEL-13 .carousel-track { gap: var(--space-content,24px); }
#CAROUSEL-13 .slide-copy { width: min(72%, 31rem); }
}
@media (max-width: 390px) {
#CAROUSEL-13 .category-slide { aspect-ratio: 4 / 5; }
#CAROUSEL-13 .slide-copy { width: calc(100% - (var(--space-content,24px) * 2)); }
#CAROUSEL-13 .slide-copy h3 { font-size: var(--type-h4,var(--h4)); }
#CAROUSEL-13 .slide-copy p { font-size: var(--type-small,var(--small)); }
}
@media (hover: none), (pointer: coarse) {
#CAROUSEL-13 .category-slide.is-active .slide-ideal { opacity: 1; transform: none; }
#CAROUSEL-13 .carousel-cursor { display: none; }
}
@media (prefers-reduced-motion: reduce) {
#CAROUSEL-13 *,
#CAROUSEL-13 *::before,
#CAROUSEL-13 *::after {
      scroll-behavior: auto !important;
      transition-duration: .01ms !important;
      animation-duration: .01ms !important;
      animation-iteration-count: 1 !important;
    }
#CAROUSEL-13 .pager-dot.is-active::after { width: 100%; }
}

/* Dot = indicador/label aunque sea botón. */
#CAROUSEL-13 .pager-dot{
  --pb-style-radius-button:var(--radius-label,999px);
}

/* Medio oscuro intrínseco: DARK/WHITE reales en ambos modos. */
#CAROUSEL-13 .category-slide{
  background:var(--pb-theme-dark,var(--color-dark))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
}
#CAROUSEL-13 .slide-overlay{
  background:
    linear-gradient(90deg,
      color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 78%,transparent) 0%,
      color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 52%,transparent) 34%,
      transparent 68%),
    linear-gradient(0deg,
      color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 48%,transparent) 0%,
      transparent 35%)!important;
}
#CAROUSEL-13 :is(.slide-copy h3,.slide-copy p,.slide-ideal,.slide-next){
  color:var(--pb-theme-white,var(--color-white))!important;
}
#CAROUSEL-13 .slide-next:hover,
#CAROUSEL-13 .slide-next:focus-visible{
  background:color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 56%,transparent)!important;
}
#CAROUSEL-13 .carousel-cursor{
  background:var(--pb-theme-white,var(--color-white))!important;
  color:var(--pb-theme-dark,var(--color-dark))!important;
  box-shadow:
    0 .5rem 1rem color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 12%,transparent),
    0 0 0 max(1px,.06rem) color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 8%,transparent)!important;
}
#CAROUSEL-13 .pager-dot.is-active::after{
  background:var(--pb-theme-key,var(--color-key))!important;
}


/* =========================================================
   CR013 · TAB ACTIVA · MODO ALTERNATIVO
   Fondo = MUTED global · Texto = LINE global.
   Se consumen los snapshots del Paso 6 para evitar que la
   inversión local de Alternativo reinterprete --color-muted.
   ========================================================= */
.page-builder-section[data-source-id="CARRUSELES-13"].page-builder-alt-color-on
#CAROUSEL-13 .category-tab[aria-pressed="true"],
.page-builder-section[data-source-id="CARRUSELES-13"].page-builder-alt-color-on
#CAROUSEL-13 .category-tab[aria-current="true"],
.page-builder-section[data-source-id="CARRUSELES-13"].page-builder-alt-color-on
#CAROUSEL-13 .category-tab.is-active{
  background:var(--pb-theme-muted,var(--color-muted))!important;
  color:var(--pb-theme-line,var(--color-line))!important;
}




/* Ajustes del exportador */
html,body{margin:0;padding:0;}
body{overflow-x:hidden;}
/* =========================================================
   UNIR TÍTULO CON SIGUIENTE RECURSO · 15px + 15px
   ========================================================= */
.page-builder-section.page-builder-join-bottom-15[data-section-category="Títulos"]
.titulos-embed .title-resource-inner,
.page-builder-section.page-builder-join-bottom-15[data-section-category="Contenidos"]
.titulos-embed .title-resource-inner{
  padding-bottom:15px!important;
}
.page-builder-section.page-builder-join-top-15{
  --pb-joined-top-space:15px;
}

/* =========================================================
   UNIÓN LIMPIA ENTRE TODAS LAS SECCIONES
   Evita franjas grises, gaps heredados y scrollbars
   horizontales entre un recurso y el siguiente.
   ========================================================= */
.page-builder-section{
  position:relative;
  display:block;
  width:100%;
  max-width:100%;
  margin:0!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  overflow-x:hidden!important;
}

/* El wrapper exterior de cada recurso nunca puede crear
   una banda entre secciones. No afecta el padding interno
   real de los contenidos. */
.page-builder-section > :first-child{
  margin-top:0!important;
}
.page-builder-section > :last-child{
  margin-bottom:0!important;
}
.page-builder-section + .page-builder-section{
  margin-top:0!important;
  padding-top:0!important;
  border-top:0!important;
}

/* Wrappers de catálogo/escenario: totalmente transparentes
   a la unión vertical de la página. */
.page-builder-section > :where(
  .template-item,
  .template-demo,
  .visual-resources-embed,
  .menu-section,
  .topbar-item,
  .grid-section,
  .layout-section,
  .cards-layout-section,
  .icon-cards-section,
  .cta-section,
  .form-section,
  .footer-section,
  .hero-section-example
){
  margin-top:0!important;
  margin-bottom:0!important;
  border-top-width:0!important;
  border-bottom-width:0!important;
  outline:0!important;
  overflow-x:hidden!important;
}


/* =========================================================
   SIN LÍNEAS ENTRE SECCIONES · V2
   Algunos recursos originales dibujan un border de 1px en el
   contenedor visual real (Cards, Nosotros, Galerías, etc.).
   Se quita SOLO el borde exterior de unión; los divisores
   internos del componente se mantienen.
   ========================================================= */

/* Contenedores visuales principales */
.page-builder-section :where(
  .cards-real,
  .icon-cards-real,
  .form-real,
  .grid-real,
  .grid-full-real,
  .grid-layout-real,
  .about-layout-demo,
  .about-square-demo,
  .about-half-demo,
  .about-contained-demo,
  .cta-real,
  .site-footer
){
  border-top-width:0!important;
  border-bottom-width:0!important;
}

/* El .template-demo pertenece al catálogo maestro y su línea
   superior/inferior nunca debe aparecer en una web exportada. */
.page-builder-section :where(
  .visual-resources-embed,
  .news-embed,
  .catalog-embed,
  .form-contact-view-embed,
  .before-after-embed,
  .accordion-embed,
  .gallery-embed,
  .timeline-embed,
  .packages-embed,
  .carousel-embed,
  .trayectoria-stats-embed,
  .logos-clientes-embed,
  .pain-solution-embed
) > :where(.template-demo,.template-item),
.page-builder-section :where(
  .visual-resources-embed,
  .news-embed,
  .catalog-embed,
  .form-contact-view-embed,
  .before-after-embed,
  .accordion-embed,
  .gallery-embed,
  .timeline-embed,
  .packages-embed,
  .carousel-embed,
  .trayectoria-stats-embed,
  .logos-clientes-embed,
  .pain-solution-embed
) .template-item > .template-demo{
  border-top-width:0!important;
  border-bottom-width:0!important;
}

/* Galerías: cada GL es ahora un recurso independiente.
   La línea superior de gallery-section era un separador del
   documento maestro, no parte necesaria de la galería. */
.page-builder-section[data-section-category="Galerías"]
.gallery-module > .template-item > .template-demo > .gallery-section:first-child{
  border-top-width:0!important;
}
.page-builder-section[data-section-category="Galerías"]
.gallery-module > .template-item > .template-demo > .gallery-section:last-child{
  border-bottom-width:0!important;
}

/* Secciones Nosotros / Cards / Cards con íconos */
.page-builder-section[data-section-category="Secciones"]
.layout-real > :first-child,
.page-builder-section[data-section-category="Cards"]
.cards-layout-section > .cards-real,
.page-builder-section[data-section-category="Cards con íconos"]
.icon-cards-section > .icon-cards-real{
  border-top-width:0!important;
  border-bottom-width:0!important;
}

/* CTA y Formularios */
.page-builder-section[data-section-category="CTA"] > .cta-section > .cta-real,
.page-builder-section[data-section-category="Formularios"] > .form-section > .form-real{
  border-top-width:0!important;
  border-bottom-width:0!important;
}

/* Hero: no dibujar una línea entre navegación/hero o hero/siguiente. */
.page-builder-section[data-section-category="Hero"] > .hero-section-example{
  border-top-width:0!important;
  border-bottom-width:0!important;
}

/* Footer: sin línea artificial de entrada desde la sección anterior. */
.page-builder-section[data-section-category="Footers"] .site-footer{
  border-top-width:0!important;
}

/* Limpieza final de líneas EXTERIORES de unión.
   Se conservan divisores internos (cards, filas, footer-bottom, etc.). */
.page-builder-section[data-section-category="Top bar"] .utility-bar,
.page-builder-section[data-section-category="Headers"] .site-header,
.page-builder-section[data-section-category="Hero"] > .hero-section-example,
.page-builder-section[data-section-category="Formularios"] .form-real,
.page-builder-section[data-section-category="Footers"] .site-footer{
  border-top-width:0!important;
  border-bottom-width:0!important;
}

/* Evita que sombras usadas como "hairline" de borde reaparezcan
   en la unión exterior. Solo sobre shells reales, no sobre cards. */
.page-builder-section > :where(
  .layout-section,
  .cards-layout-section,
  .icon-cards-section,
  .cta-section,
  .form-section,
  .footer-section,
  .gallery-embed,
  .carousel-embed,
  .timeline-embed,
  .accordion-embed,
  .before-after-embed,
  .trayectoria-stats-embed,
  .packages-embed,
  .news-embed,
  .catalog-embed,
  .pain-solution-embed
){
  box-shadow:none!important;
}


/* Si un recurso utiliza overflow horizontal internamente,
   sigue pudiendo desplazarse, pero la barra gris del navegador
   no se muestra. */
.page-builder-section *{
  scrollbar-width:none;
}
.page-builder-section *::-webkit-scrollbar{
  width:0;
  height:0;
}
.page-builder-section *::-webkit-scrollbar:horizontal{
  height:0!important;
}
/* El constructor une los recursos sin bandas/espacios del catálogo maestro. */
.page-builder-section.page-builder-section > .menu-section.menu-section,
.page-builder-section.page-builder-section > .topbar-item.topbar-item,
.page-builder-section.page-builder-section > .grid-section.grid-section,
.page-builder-section.page-builder-section > .layout-section.layout-section,
.page-builder-section.page-builder-section > .cards-layout-section.cards-layout-section,
.page-builder-section.page-builder-section > .icon-cards-section.icon-cards-section,
.page-builder-section.page-builder-section > .cta-section.cta-section,
.page-builder-section.page-builder-section > .form-section.form-section,
.page-builder-section.page-builder-section > .footer-section.footer-section,
.page-builder-section.page-builder-section .template-item.template-item{
  padding-top:0!important;
  margin-top:0!important;
  margin-bottom:0!important;
  border-top-width:0!important;
  border-bottom-width:0!important;
}
.page-builder-section + .page-builder-section{margin-top:0!important;}
/* Corrección de recursos separados del bloque Recursos visuales.
   El HTML maestro les daba altura de pantalla completa y padding vertical de escenario.
   En el constructor cada opción es independiente, por lo que ese espacio ya no corresponde. */
.page-builder-section.page-builder-section > .visual-resources-embed.visual-resources-embed{
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
}
.page-builder-section.page-builder-section > .visual-resources-embed.visual-resources-embed > .template-demo.recursos-original-demo{
  min-height:0!important;
  margin-top:0!important;
  margin-bottom:0!important;
}
.page-builder-section.page-builder-section > .visual-resources-embed.visual-resources-embed > .template-demo.recursos-original-demo.combined-tags-demo,
.page-builder-section.page-builder-section > .visual-resources-embed.visual-resources-embed > .template-demo.recursos-original-demo.combined-marquees-demo,
.page-builder-section.page-builder-section > .visual-resources-embed.visual-resources-embed > .template-demo.recursos-original-demo.combined-cursors-demo,
.page-builder-section.page-builder-section > .visual-resources-embed.visual-resources-embed > .template-demo.recursos-original-demo.combined-indicators-demo,
.page-builder-section.page-builder-section > .visual-resources-embed.visual-resources-embed > .template-demo.recursos-original-demo.combined-resources-demo,
.page-builder-section.page-builder-section > .visual-resources-embed.visual-resources-embed > .template-demo.recursos-original-demo.combined-effects-demo{
  padding-top:0!important;
  padding-bottom:0!important;
}
/* Los wrappers de Logos tampoco deben reservar el alto mínimo del módulo global. */
.page-builder-section.page-builder-section > .visual-resources-embed.visual-resources-embed > .logos-clientes-embed{
  min-height:0!important;
  margin:0!important;
  padding:0!important;
}
/* Top bar + Header sobre Hero: el Hero conserva su alto completo (p. ej. 100vh).
   La navegación queda fuera del flujo y se apila desde la parte superior. */
.page-builder-hero-stack{position:relative;width:100%;margin:0!important;padding:0!important;border:0!important;overflow-x:hidden!important;}
.page-builder-hero-main{position:relative;z-index:1;width:100%;}
.page-builder-hero-overlay{position:absolute;z-index:100;top:0;left:0;width:100%;display:flex;flex-direction:column;align-items:stretch;pointer-events:none;}
.page-builder-hero-overlay>.page-builder-overlay-item{position:relative;z-index:101;pointer-events:auto;}
.page-builder-hero-overlay>.page-builder-overlay-item,.page-builder-hero-overlay>.page-builder-overlay-item *{box-sizing:border-box;}
.page-builder-section.page-builder-full,
.page-builder-section.page-builder-1440{
  max-width:none!important;
  width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
}
/* El selector de ancho controla el rail de CONTENIDO.
   El fondo de la sección y los medios full-bleed permanecen siempre a 100%. */
.page-builder-section.page-builder-full{
  --pb-content-gutter:30px;
}
.page-builder-section.page-builder-1440{
  --pb-content-gutter:max(30px, calc((100vw - 1440px) / 2));
}
/* Rails estructurales seguros: texto, navegación, cards y controles.
   No se aplica max-width al wrapper exterior ni a img/video/picture/visuales full-bleed. */
.page-builder-section :where(
  .utility-inner,
  .header-inner,
  .hamburger-demo-header,
  .hamburger-panel-inner,
  .cards-demo-inner,
  .icon-cards-inner,
  .news-embed .container,
  .catalog-embed > .template-item > .template-demo > .original-resource > .resource-demo > .block > .container,
  .catalog-embed .demo-container,
  .tray-wrap,
  .packages-embed .demo-container,
  .cta-inner,
  .contact-form-inner,
  .form-section-added .wrap,
  .footer-inner
){
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:var(--pb-content-gutter)!important;
  padding-right:var(--pb-content-gutter)!important;
}
/* Secciones Nosotros: se mueve solo el panel de texto; la foto/galería conserva su borde original. */
.page-builder-section[data-section-category="Secciones"]:not([data-source-id^="seccion-nosotros-"]) :where(
  .about-square-content,
  .about-content-demo,
  .about-contained-content,
  .about-half-content
){
  box-sizing:border-box!important;
}
.page-builder-section[data-section-category="Secciones"]:not([data-source-id^="seccion-nosotros-"]) :where(
  .about-square-content,
  .about-content-demo,
  .about-contained-content,
  .about-half-content
):first-child{
  padding-left:var(--pb-content-gutter)!important;
}
.page-builder-section[data-section-category="Secciones"]:not([data-source-id^="seccion-nosotros-"]) :where(
  .about-square-content,
  .about-content-demo,
  .about-contained-content,
  .about-half-content
):last-child{
  padding-right:var(--pb-content-gutter)!important;
}
/* =========================================================
   RECURSOS VALIDADOS · TB001–TB004 / HD001–HD013 / HR001–HR018
   Regla aprobada:
   - 1440: contenido max 1440px y, cuando no cabe, 30px laterales.
   - Full: contenido a 30px exactos de los bordes.
   - Fondos y medios full-bleed no se limitan por el rail.
   ========================================================= */
.page-builder-section.page-builder-1440{
  --pb-validated-width:min(1440px, calc(100% - 60px));
  --pb-validated-edge:max(30px, calc((100vw - 1440px) / 2));
}
.page-builder-section.page-builder-full{
  --pb-validated-width:calc(100% - 60px);
  --pb-validated-edge:30px;
}


/* ---------- TÍTULOS TT001–TT009 + CONTENIDOS CO001–CO009 ---------- */
.page-builder-section[data-section-category="Títulos"] .titulos-embed,
.page-builder-section[data-section-category="Títulos"] .title-resource,
.page-builder-section[data-section-category="Contenidos"] .titulos-embed,
.page-builder-section[data-section-category="Contenidos"] .title-resource{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}
.page-builder-section[data-section-category="Títulos"] .title-resource-inner,
.page-builder-section[data-section-category="Contenidos"] .title-resource-inner{
  box-sizing:border-box!important;
  width:var(--pb-validated-width)!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}

/* ---------- TOP BAR · TB001–TB004 ---------- */
.page-builder-section[data-source-id^="topbar-"] .utility-bar{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
.page-builder-section[data-source-id^="topbar-"] .utility-inner{
  box-sizing:border-box!important;
  width:var(--pb-validated-width)!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}

/* ---------- HEADERS · HD001–HD008 ---------- */
/* Las líneas de borde del documento maestro son separadores de catálogo,
   no forman parte de la unión real entre recursos. */
.page-builder-section[data-source-id^="topbar-"] .utility-bar{
  border-top:0!important;
  border-bottom:0!important;
  box-shadow:none!important;
}
.page-builder-section[data-section-category="Headers"] .site-header{
  width:100%!important;
  max-width:none!important;
  border-top:0!important;
  border-bottom:0!important;
  box-shadow:none!important;
}
.page-builder-section[data-section-category="Headers"] .site-header .header-inner{
  box-sizing:border-box!important;
  width:var(--pb-validated-width)!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}

/* ---------- HEADERS ESPECIALES · HD009–HD013 ---------- */
.page-builder-section:is(
  [data-source-id="header-menu-09"],
  [data-source-id="header-menu-10"],
  [data-source-id="header-menu-11"],
  [data-source-id="header-menu-12"],
  [data-source-id="header-menu-13"]
) .menu-stage{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
.page-builder-section:is(
  [data-source-id="header-menu-09"],
  [data-source-id="header-menu-10"],
  [data-source-id="header-menu-11"],
  [data-source-id="header-menu-12"],
  [data-source-id="header-menu-13"]
) .menu-stage > div{
  box-sizing:border-box!important;
  width:var(--pb-validated-width)!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* HD009–HD013: eliminar únicamente gutters exteriores heredados. */
.page-builder-section[data-source-id="header-menu-09"] .left-sidebar-demo{padding-left:0!important;}
.page-builder-section[data-source-id="header-menu-09"] .side-content-demo{padding-right:0!important;}
.page-builder-section[data-source-id="header-menu-10"] .icon-rail{padding-left:14px!important;}
.page-builder-section[data-source-id="header-menu-10"] .rail-content-demo{padding-right:0!important;}
.page-builder-section[data-source-id="header-menu-11"] .sticky-copy,
.page-builder-section[data-source-id="header-menu-11"] .bottom-bar{padding-left:0!important;padding-right:0!important;}
.page-builder-section[data-source-id="header-menu-12"] .floating-right-demo{padding-left:0!important;padding-right:112px!important;}
.page-builder-section[data-source-id="header-menu-12"] .floating-menu{right:0!important;}
.page-builder-section[data-source-id="header-menu-13"] .radial-demo{padding-left:0!important;padding-right:0!important;}
.page-builder-section[data-source-id="header-menu-13"] .radial-menu{right:0!important;}

/* En 1440px, el tratamiento ambiental de HD009–HD013 pertenece al fondo completo. */
.page-builder-section.page-builder-1440:is(
  [data-source-id="header-menu-09"],
  [data-source-id="header-menu-10"],
  [data-source-id="header-menu-11"],
  [data-source-id="header-menu-12"],
  [data-source-id="header-menu-13"]
) .menu-stage{
  background:linear-gradient(180deg,var(--color-light) 0%,var(--color-white) 100%)!important;
}
.page-builder-section.page-builder-1440[data-source-id="header-menu-09"] .side-content-demo,
.page-builder-section.page-builder-1440[data-source-id="header-menu-10"] .rail-content-demo,
.page-builder-section.page-builder-1440[data-source-id="header-menu-11"] .bottom-sticky-demo,
.page-builder-section.page-builder-1440[data-source-id="header-menu-12"] .floating-right-demo,
.page-builder-section.page-builder-1440[data-source-id="header-menu-13"] .radial-demo{
  background:transparent!important;
}

/* HD011–HD013: fondos aprobados al 100% en ambos modos. */
.page-builder-section:is(
  [data-source-id="header-menu-11"],
  [data-source-id="header-menu-12"],
  [data-source-id="header-menu-13"]
) .menu-stage{
  background:linear-gradient(180deg,var(--color-light) 0%,var(--color-white) 100%)!important;
}
.page-builder-section[data-source-id="header-menu-11"] .bottom-sticky-demo,
.page-builder-section[data-source-id="header-menu-12"] .floating-right-demo,
.page-builder-section[data-source-id="header-menu-13"] .radial-demo{
  background:transparent!important;
}
.page-builder-section[data-source-id="header-menu-11"] .bottom-bar{
  position:relative!important;
  box-shadow:0 0 0 100vmax color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 16%, transparent)!important;
  clip-path:inset(0 -100vmax)!important;
}

/* HD010 validado:
   30px izquierda + 48px icono + 30px derecha = rail de 108px.
   El gutter global queda integrado visualmente dentro de la propia barra y el borde derecho cierra el rail. */
@media (min-width:1101px){
  .page-builder-section[data-source-id="header-menu-10"] .menu-stage > .icon-rail-demo{
    grid-template-columns:108px minmax(0,1fr)!important;
  }
  .page-builder-section[data-source-id="header-menu-10"] .icon-rail{
    width:108px!important;
    box-sizing:border-box!important;
    padding:22px 30px!important;
    align-items:flex-start!important;
  }
  .page-builder-section[data-source-id="header-menu-10"] .rail-logo,
  .page-builder-section[data-source-id="header-menu-10"] .rail-link{
    width:48px!important;
    flex:0 0 48px!important;
  }
}
@media (max-width:1100px){
  .page-builder-section[data-source-id="header-menu-10"] .icon-rail{
    padding:18px 30px!important;
  }
  .page-builder-section:is(
    [data-source-id="header-menu-09"],
    [data-source-id="header-menu-10"],
    [data-source-id="header-menu-11"],
    [data-source-id="header-menu-12"],
    [data-source-id="header-menu-13"]
  ) :is(.left-sidebar-demo,.side-content-demo,.rail-content-demo,.sticky-copy,.bottom-bar,.floating-right-demo,.radial-demo){
    padding-left:0!important;
    padding-right:0!important;
  }
  .page-builder-section[data-source-id="header-menu-10"] .icon-rail{
    padding-left:30px!important;
    padding-right:30px!important;
  }
  .page-builder-section[data-source-id="header-menu-12"] .floating-menu{right:0!important;}
  .page-builder-section[data-source-id="header-menu-13"] .radial-menu{right:0!important;}
}

/* ---------- HERO · HR001–HR018 ---------- */
/* Limpiar solamente los wrappers de catálogo; el Hero conserva su composición. */
.page-builder-section[data-section-category="Hero"] .hero-section-example,
.page-builder-section[data-section-category="Hero"] .hero-embed,
.page-builder-section[data-section-category="Hero"] .hero-embed .main,
.page-builder-section[data-section-category="Hero"] .hero-embed .content{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}

/* Heroes donde .hero-inner es el rail aprobado completo. */
.page-builder-section:is(
  [data-source-id="hero-01"],
  [data-source-id="hero-02"],
  [data-source-id="hero-03"],
  [data-source-id="hero-06"],
  [data-source-id="hero-07"],
  [data-source-id="hero-09"],
  [data-source-id="hero-10"],
  [data-source-id="hero-11"],
  [data-source-id="hero-12"],
  [data-source-id="hero-13"],
  [data-source-id="hero-14"],
  [data-source-id="hero-15"],
  [data-source-id="hero-16"]
) .hero-inner,
.page-builder-section[data-source-id="hero-05"] .slide .hero-inner{
  box-sizing:border-box!important;
  width:var(--pb-validated-width)!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* HR008: dashboard/visual mantiene su geometría; el copy usa el rail. */
.page-builder-section[data-source-id="hero-08"] .saas-copy{
  box-sizing:border-box!important;
  width:var(--pb-validated-width)!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* HR004: imagen derecha permanece pegada al borde; solo se alinea el copy. */
.page-builder-section[data-source-id="hero-04"] .split-copy{
  box-sizing:border-box!important;
  padding-left:var(--pb-validated-edge)!important;
  padding-right:clamp(30px,4vw,72px)!important;
}
.page-builder-section[data-source-id="hero-04"] .visual{margin:0!important;}

/* HR017: mosaico visual full-bleed, copy alineado al rail. */
.page-builder-section[data-source-id="hero-17"] #hero-17 .grid-showcase-layout > div:first-child{
  box-sizing:border-box!important;
  padding-left:var(--pb-validated-edge)!important;
  padding-right:clamp(30px,4vw,56px)!important;
}
.page-builder-section[data-source-id="hero-17"] #hero-17 .showcase-grid{margin:0!important;}

/* HR018: las dos mitades mantienen el fondo; texto alineado a los bordes del rail. */
.page-builder-section[data-source-id="hero-18"] .ba-before{padding-left:var(--pb-validated-edge)!important;}
.page-builder-section[data-source-id="hero-18"] .ba-after{padding-right:var(--pb-validated-edge)!important;}

@media (max-width:1180px){
  .page-builder-section.page-builder-1440,
  .page-builder-section.page-builder-full{
    --pb-validated-width:calc(100% - 60px);
    --pb-validated-edge:30px;
  }
  .page-builder-section[data-source-id="hero-04"] .split-copy{
    padding-left:30px!important;
    padding-right:30px!important;
  }
  .page-builder-section[data-source-id="hero-17"] #hero-17 .grid-showcase-layout > div:first-child{
    padding-left:30px!important;
    padding-right:30px!important;
  }
  .page-builder-section[data-source-id="hero-18"] .ba-side{
    padding-left:30px!important;
    padding-right:30px!important;
  }
}


/* =========================================================
   RECURSOS VALIDADOS ADICIONALES
   SC / CD / CI / NC / CT / PS / AD / AC / GL
   ========================================================= */

/* ---------- SECCIONES · SC001–SC010 ---------- */
.page-builder-section:is(
  [data-source-id="seccion-nosotros-square-01"],
  [data-source-id="seccion-nosotros-square-02"]
) .about-square-inner,
.page-builder-section:is(
  [data-source-id="seccion-nosotros-01"],
  [data-source-id="seccion-nosotros-02"]
) .about-layout-inner,
.page-builder-section:is(
  [data-source-id="seccion-nosotros-contained-01"],
  [data-source-id="seccion-nosotros-contained-02"],
  [data-source-id="seccion-nosotros-gallery-01"],
  [data-source-id="seccion-nosotros-gallery-02"]
) .about-contained-inner{
  width:var(--pb-validated-width)!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* SC003 / SC004 · en Full la imagen crece, el panel de texto mantiene
   el ancho que tenía dentro de la composición de 1440px. */
.page-builder-section.page-builder-full:is(
  [data-source-id="seccion-nosotros-01"],
  [data-source-id="seccion-nosotros-02"]
) .about-content-demo{
  width:min(100%,736px)!important;
  max-width:736px!important;
  justify-self:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.page-builder-section.page-builder-full:is(
  [data-source-id="seccion-nosotros-01"],
  [data-source-id="seccion-nosotros-02"]
) .about-image-demo{
  width:100%!important;
  max-width:none!important;
  justify-self:stretch!important;
}

/* SC005–SC008 · panel de contenido 720px máximo en Full. */
.page-builder-section.page-builder-full:is(
  [data-source-id="seccion-nosotros-contained-01"],
  [data-source-id="seccion-nosotros-contained-02"],
  [data-source-id="seccion-nosotros-gallery-01"],
  [data-source-id="seccion-nosotros-gallery-02"]
) .about-contained-content{
  width:min(100%,720px)!important;
  max-width:720px!important;
  justify-self:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.page-builder-section.page-builder-full:is(
  [data-source-id="seccion-nosotros-contained-01"],
  [data-source-id="seccion-nosotros-contained-02"],
  [data-source-id="seccion-nosotros-gallery-01"],
  [data-source-id="seccion-nosotros-gallery-02"]
) .about-contained-copy{
  width:min(100%,560px)!important;
  max-width:560px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* SC009 / SC010 · imagen 50% full-bleed. */
.page-builder-section:is(
  [data-source-id="seccion-nosotros-half-01"],
  [data-source-id="seccion-nosotros-half-02"]
) :is(.about-half-demo,.about-half-inner){
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
.page-builder-section[data-source-id="seccion-nosotros-half-01"] .about-half-content{
  padding-left:var(--pb-validated-edge)!important;
  padding-right:60px!important;
}
.page-builder-section[data-source-id="seccion-nosotros-half-02"] .about-half-content{
  padding-left:60px!important;
  padding-right:var(--pb-validated-edge)!important;
}
.page-builder-section.page-builder-full:is(
  [data-source-id="seccion-nosotros-half-01"],
  [data-source-id="seccion-nosotros-half-02"]
) .about-half-content{
  width:min(100%,720px)!important;
  max-width:720px!important;
  justify-self:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:50px!important;
  padding-right:50px!important;
}
.page-builder-section.page-builder-full:is(
  [data-source-id="seccion-nosotros-half-01"],
  [data-source-id="seccion-nosotros-half-02"]
) .about-half-copy{
  width:min(100%,620px)!important;
  max-width:620px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

@media(max-width:1100px){
  .page-builder-section.page-builder-full:is(
    [data-source-id="seccion-nosotros-01"],
    [data-source-id="seccion-nosotros-02"]
  ) .about-content-demo,
  .page-builder-section.page-builder-full:is(
    [data-source-id="seccion-nosotros-contained-01"],
    [data-source-id="seccion-nosotros-contained-02"],
    [data-source-id="seccion-nosotros-gallery-01"],
    [data-source-id="seccion-nosotros-gallery-02"]
  ) .about-contained-content{
    width:100%!important;
    max-width:none!important;
    justify-self:stretch!important;
  }
}
@media(max-width:900px){
  .page-builder-section:is(
    [data-source-id="seccion-nosotros-half-01"],
    [data-source-id="seccion-nosotros-half-02"]
  ) .about-half-content{
    width:calc(100% - 60px)!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important;
  }
}

/* ---------- CARDS · CD001–CD006 ---------- */
.page-builder-section[data-section-category="Cards"] .cards-demo-inner{
  width:var(--pb-validated-width)!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}

/* ---------- CARDS CON ÍCONOS · CI001–CI007 ---------- */
.page-builder-section[data-section-category="Cards con íconos"] .icon-cards-inner{
  width:var(--pb-validated-width)!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}

/* ---------- NOTICIAS · NC001–NC004 ---------- */
.page-builder-section[data-section-category="Noticias / contenidos"]
.news-embed .original-resource .container{
  width:var(--pb-validated-width)!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}

/* ---------- CATÁLOGO · CT001–CT003 ---------- */
.page-builder-section:is(
  [data-source-id="recursos-2-07"],
  [data-source-id="recursos-2-24"]
) .catalog-embed .original-resource .container{
  width:var(--pb-validated-width)!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}
.page-builder-section[data-source-id="recursos-2-14"]
.catalog-embed #DEMO-RECURSOS-2-14 .demo-block{
  padding-left:0!important;
  padding-right:0!important;
}
.page-builder-section[data-source-id="recursos-2-14"]
.catalog-embed #DEMO-RECURSOS-2-14 .demo-container{
  width:var(--pb-validated-width)!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* ---------- PROBLEMA / SOLUCIÓN · PS001–PS009 ---------- */
.page-builder-section[data-section-category="Problema / solución"]
.pain-solution-embed,
.page-builder-section[data-section-category="Problema / solución"]
.template-demo,
.page-builder-section[data-section-category="Problema / solución"]
.layout-option{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}
.page-builder-section[data-section-category="Problema / solución"]
#DEMO-PAIN-LAYOUTS-01 .layout-option{
  padding-left:0!important;
  padding-right:0!important;
}
.page-builder-section[data-section-category="Problema / solución"]
#DEMO-PAIN-LAYOUTS-01 .layout-option > .container{
  width:var(--pb-validated-width)!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* ---------- ANTES / DESPUÉS · AD001–AD007 ---------- */
.page-builder-section[data-section-category="Antes / después"]
:is(.before-after-embed,.template-demo,.example-stage){
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}

/* 1440: todos los efectos tienen 550px de alto. */
.page-builder-section.page-builder-1440[data-section-category="Antes / después"]
.example-stage{
  height:550px!important;
  min-height:550px!important;
  padding:0!important;
}
.page-builder-section.page-builder-1440:is(
  [data-source-id="antes-despues-01"],
  [data-source-id="antes-despues-02"],
  [data-source-id="antes-despues-03"],
  [data-source-id="antes-despues-04"],
  [data-source-id="antes-despues-05"]
) .compare{
  width:var(--pb-validated-width)!important;
  max-width:none!important;
  height:550px!important;
  min-height:550px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  aspect-ratio:auto!important;
}

/* AD006 · única versión validada. */
.page-builder-section[data-source-id="antes-despues-07"] .example-stage{
  height:550px!important;
  min-height:550px!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
}
.page-builder-section[data-source-id="antes-despues-07"] .stack-wrap{
  width:min(900px,calc(100% - 80px))!important;
  height:500px!important;
  min-height:0!important;
  display:grid!important;
  grid-template-rows:1fr auto!important;
  align-items:center!important;
  justify-items:center!important;
  gap:16px!important;
}
.page-builder-section[data-source-id="antes-despues-07"] .stack-deck{
  position:relative!important;
  width:min(760px,calc(100% - 80px))!important;
  height:410px!important;
  min-height:410px!important;
  aspect-ratio:auto!important;
  overflow:visible!important;
}
.page-builder-section[data-source-id="antes-despues-07"] .stack-card{
  inset:20px 30px 0 30px!important;
  border:1px solid var(--color-line)!important;
  box-shadow:0 28px 70px color-mix(in srgb, var(--pb-theme-dark,var(--color-dark)) 38%, transparent)!important;
  transform:
    translateX(calc(var(--i) * 42px))
    translateY(calc(var(--i) * 28px))
    rotate(calc(-4deg + var(--i) * 9deg))
    scale(calc(1 - var(--i) * .075))!important;
  transform-origin:center bottom!important;
  transition:transform .58s cubic-bezier(.2,.8,.2,1),z-index .58s ease,opacity .58s ease!important;
}
.page-builder-section[data-source-id="antes-despues-07"] .stack-card span{
  left:24px!important;
  bottom:22px!important;
  padding:8px 12px!important;
  background:var(--color-dark)!important;
  backdrop-filter:blur(8px)!important;
  border:1px solid var(--color-line)!important;
}

/* AD007 1440. */
.page-builder-section.page-builder-1440[data-source-id="antes-despues-08"] .carousel{
  width:var(--pb-validated-width)!important;
  max-width:none!important;
  height:550px!important;
  min-height:550px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  display:flex!important;
  flex-direction:column!important;
}
.page-builder-section.page-builder-1440[data-source-id="antes-despues-08"] .carousel-track{
  flex:1 1 auto!important;
  min-height:0!important;
}
.page-builder-section.page-builder-1440[data-source-id="antes-despues-08"]
:is(.carousel-slide,.carousel .compare){
  height:100%!important;
  min-height:100%!important;
  aspect-ratio:auto!important;
}

/* Full: pantalla completa real. AD006 queda excluido por diseño. */
.page-builder-section.page-builder-full[data-section-category="Antes / después"]
.example-stage{
  width:100%!important;
  height:100vh!important;
  min-height:100vh!important;
  margin:0!important;
  padding:0!important;
}
.page-builder-section.page-builder-full:is(
  [data-source-id="antes-despues-01"],
  [data-source-id="antes-despues-02"],
  [data-source-id="antes-despues-03"],
  [data-source-id="antes-despues-04"],
  [data-source-id="antes-despues-05"]
) .compare{
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  min-height:100%!important;
  margin:0!important;
  aspect-ratio:auto!important;
  border-left:0!important;
  border-right:0!important;
}
.page-builder-section.page-builder-full[data-source-id="antes-despues-08"] .carousel{
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  min-height:100%!important;
  margin:0!important;
  display:flex!important;
  flex-direction:column!important;
}
.page-builder-section.page-builder-full[data-source-id="antes-despues-08"] .carousel-track{
  flex:1 1 auto!important;
  min-height:0!important;
}
.page-builder-section.page-builder-full[data-source-id="antes-despues-08"]
:is(.carousel-slide,.carousel .compare){
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  min-height:100%!important;
  margin:0!important;
  aspect-ratio:auto!important;
}

/* ---------- ACORDEÓN · AC001–AC009 ---------- */
.page-builder-section[data-section-category="Acordeones"]
:is(.accordion-embed,.accordion-module){
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
.page-builder-section[data-section-category="Acordeones"] .acc-section:not(.acc-full-section){
  width:var(--pb-validated-width)!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* AC003: fondo y líneas 100%; rail interno centrado. */
.page-builder-section[data-source-id="acordeon-03"]
:is(.accordion-embed,#acordeon-03,#DEMO-ACORDEON-03,.accordion-module,.acc-full-section,.acc-full-width-accordion){
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}
.page-builder-section[data-source-id="acordeon-03"]
.acc-full-width-accordion > article{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
.page-builder-section[data-source-id="acordeon-03"]
.acc-full-width-accordion > article > button{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  justify-content:center!important;
  align-items:stretch!important;
}
.page-builder-section[data-source-id="acordeon-03"] .ac003-row-inner{
  flex:0 1 1440px!important;
  width:var(--pb-validated-width)!important;
  max-width:1440px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  display:grid!important;
  grid-template-columns:110px minmax(0,1fr) 80px!important;
  column-gap:20px!important;
  align-items:center!important;
  padding:36px 0!important;
  box-sizing:border-box!important;
  color:inherit!important;
}
.page-builder-section[data-source-id="acordeon-03"] .ac003-row-inner > span{
  justify-self:start!important;
  margin:0!important;
  padding:0!important;
}
.page-builder-section[data-source-id="acordeon-03"] .ac003-row-inner > strong{
  justify-self:start!important;
  margin:0!important;
}
.page-builder-section[data-source-id="acordeon-03"] .ac003-row-inner > i{
  justify-self:end!important;
  margin:0!important;
  padding:0!important;
}
.page-builder-section[data-source-id="acordeon-03"]
.acc-full-width-accordion > article.open .ac003-row-inner > i{
  transform:rotate(45deg)!important;
}
.page-builder-section[data-source-id="acordeon-03"]
.acc-full-width-accordion > article > div{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
.page-builder-section[data-source-id="acordeon-03"] .ac003-panel-inner{
  width:var(--pb-validated-width)!important;
  max-width:1440px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.page-builder-section[data-source-id="acordeon-03"] .ac003-panel-inner > p{
  max-width:1110px!important;
  margin:0!important;
  padding:0 0 34px 130px!important;
  box-sizing:border-box!important;
}


/* AC003 · diferencia real entre 1440px y 100%.
   El fondo continúa siempre full-width; solo cambia el rail interno. */

/* 1440px: rail máximo 1440px, centrado. */
.page-builder-section.page-builder-1440[data-source-id="acordeon-03"] .ac003-row-inner{
  flex:0 1 1440px!important;
  width:min(1440px, calc(100% - 60px))!important;
  max-width:1440px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.page-builder-section.page-builder-1440[data-source-id="acordeon-03"] .ac003-panel-inner{
  width:min(1440px, calc(100% - 60px))!important;
  max-width:1440px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* 100%: sin límite de 1440px; exactamente 30px por lado. */
.page-builder-section.page-builder-full[data-source-id="acordeon-03"] .ac003-row-inner{
  flex:1 1 auto!important;
  width:calc(100% - 60px)!important;
  max-width:none!important;
  margin-left:30px!important;
  margin-right:30px!important;
}
.page-builder-section.page-builder-full[data-source-id="acordeon-03"] .ac003-panel-inner{
  width:calc(100% - 60px)!important;
  max-width:none!important;
  margin-left:30px!important;
  margin-right:30px!important;
}

/* ---------- GALERÍAS · GL001–GL010 ---------- */
.page-builder-section[data-section-category="Galerías"]
:is(.gallery-embed,.gallery-module,.template-demo){
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
.page-builder-section[data-section-category="Galerías"]
.gallery-module .gallery-section{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding-left:var(--pb-validated-edge)!important;
  padding-right:var(--pb-validated-edge)!important;
  box-sizing:border-box!important;
}
.page-builder-section[data-section-category="Galerías"] .gallery-module{
  --max:1440px!important;
}
.page-builder-section[data-section-category="Galerías"]
:is(.hero-slider,.lightbox-grid,.results-gallery,.hover-expand,.masonry,.horizontal-scroll,.coverflow,.filter-tools,.filter-grid,.stacked-cards){
  max-width:none!important;
}

/* 600px de alto para el área visual principal, excepto GL006. */
.page-builder-section[data-source-id="galerias-01-slider-hero-de-im-genes"]
:is(.hero-slider,.slides,.slide){
  height:600px!important;
  min-height:600px!important;
}
.page-builder-section[data-source-id="galerias-02-galer-a-grid-con-popup-lightbox"] .lightbox-grid{
  height:600px!important;
  min-height:600px!important;
  grid-auto-rows:1fr!important;
}
.page-builder-section[data-source-id="galerias-03-galeria-de-resultados"] .results-stage{
  height:600px!important;
  min-height:600px!important;
  aspect-ratio:auto!important;
}
.page-builder-section[data-source-id="galerias-04-hover-expand-horizontal"] .hover-expand.horizontal,
.page-builder-section[data-source-id="galerias-04-hover-expand-horizontal"] .hover-expand.horizontal article,
.page-builder-section[data-source-id="galerias-05-hover-expand-vertical"] .hover-expand.vertical,
.page-builder-section[data-source-id="galerias-05-hover-expand-vertical"] .hover-expand.vertical article{
  height:600px!important;
  min-height:600px!important;
}
/* GL006 · masonry natural, 7 cards. */
.page-builder-section[data-source-id="galerias-06-masonry-galer-a-irregular"] .masonry{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
}
.page-builder-section[data-source-id="galerias-06-masonry-galer-a-irregular"] .masonry article{
  height:auto!important;
  max-height:none!important;
}
.page-builder-section[data-source-id="galerias-07-galer-a-horizontal-scroll"]
:is(.horizontal-scroll,.horizontal-scroll article){
  height:600px!important;
  min-height:600px!important;
}
.page-builder-section[data-source-id="galerias-08-coverflow-carrusel-3d-simple"]
:is(.coverflow,.cover-track){
  height:600px!important;
  min-height:600px!important;
}
.page-builder-section[data-source-id="galerias-08-coverflow-carrusel-3d-simple"] .cover-card{
  height:520px!important;
}
.page-builder-section[data-source-id="galerias-10-galer-a-con-filtros"] .filter-grid{
  min-height:600px!important;
}
.page-builder-section[data-source-id="galerias-11-stacked-cards-tarjetas-apiladas"] .stacked-cards{
  height:600px!important;
  min-height:600px!important;
}
.page-builder-section[data-source-id="galerias-11-stacked-cards-tarjetas-apiladas"] .stacked-cards article{
  height:520px!important;
}

/* GL007 Full: 30px a la izquierda y pegada al borde derecho. */
.page-builder-section.page-builder-full[data-source-id="galerias-07-galer-a-horizontal-scroll"]
.gallery-module .gallery-section{
  padding-left:30px!important;
  padding-right:0!important;
}
.page-builder-section.page-builder-full[data-source-id="galerias-07-galer-a-horizontal-scroll"]
.horizontal-scroll{
  width:calc(100vw - 30px)!important;
  max-width:none!important;
  margin-right:0!important;
  padding-right:0!important;
}



/* =========================================================
   CARRUSELES · CR001–CR012 · VALIDADO
   Fondo full width.
   1440 = rail centrado máximo 1440px.
   Full = 30px laterales, salvo excepciones validadas.
   ========================================================= */

.page-builder-section[data-section-category="Carruseles"] :is(
  .carousel-embed,
  .template-demo,
  .carousel-section,
  .split-carousel,
  .testimonial-carousel,
  .logo-carousel,
  .vertical-carousel,
  .thumb-carousel,
  .fullcard-carousel,
  .fifty-carousel,
  .commerce-carousel,
  .compact-carousel,
  .number-card-carousel,
  .twohalf-carousel
){
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

.page-builder-section[data-section-category="Carruseles"] :is(
  .carousel-section,
  .split-carousel,
  .testimonial-carousel,
  .logo-carousel,
  .vertical-carousel,
  .thumb-carousel,
  .fullcard-carousel,
  .fifty-carousel,
  .commerce-carousel
){
  padding-left:0!important;
  padding-right:0!important;
}

.page-builder-section[data-section-category="Carruseles"] #CAROUSEL-01 .carousel-head,
.page-builder-section[data-section-category="Carruseles"] #CAROUSEL-01 .carousel-track{
  width:var(--pb-validated-width)!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

.page-builder-section[data-section-category="Carruseles"] :is(
  .split-shell,
  .testimonial-shell,
  .logo-shell,
  .vertical-shell,
  .thumb-shell,
  .fullcard-shell,
  .fifty-shell,
  .commerce-shell,
  .compact-shell,
  .number-card-shell,
  .twohalf-shell
){
  width:var(--pb-validated-width)!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
  box-sizing:border-box!important;
}

.page-builder-section[data-section-category="Carruseles"] :is(
  .carousel-head,
  .split-top,
  .testimonial-top,
  .thumb-head,
  .logo-head
){
  padding-left:0!important;
  padding-right:0!important;
}

.page-builder-section[data-section-category="Carruseles"] :is(
  .compact-copy,
  .number-card-copy,
  .twohalf-copy
){
  margin-left:0!important;
}

.page-builder-section[data-section-category="Carruseles"] :is(
  .compact-track,
  .number-card-track,
  .twohalf-track
){
  margin-right:0!important;
  padding-right:0!important;
}

/* CR004 · Full:
   título mantiene 30px; carrusel/marquee pegado a ambos bordes. */
.page-builder-section.page-builder-full[data-source-id="CARRUSELES-04"] .logo-shell{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}
.page-builder-section.page-builder-full[data-source-id="CARRUSELES-04"] .logo-head{
  width:calc(100% - 60px)!important;
  max-width:none!important;
  margin-left:30px!important;
  margin-right:30px!important;
  padding-left:0!important;
  padding-right:0!important;
}
.page-builder-section.page-builder-full[data-source-id="CARRUSELES-04"] .logo-marquee{
  width:100vw!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
  overflow:hidden!important;
}

/* CR008–CR012 · Full:
   30px a la izquierda y borde derecho full-bleed. */
.page-builder-section.page-builder-full[data-source-id="CARRUSELES-08"] .fifty-shell,
.page-builder-section.page-builder-full[data-source-id="CARRUSELES-09"] .commerce-shell,
.page-builder-section.page-builder-full[data-source-id="CARRUSELES-10"] .compact-shell,
.page-builder-section.page-builder-full[data-source-id="CARRUSELES-11"] .number-card-shell,
.page-builder-section.page-builder-full[data-source-id="CARRUSELES-12"] .twohalf-shell{
  width:calc(100% - 30px)!important;
  max-width:none!important;
  margin-left:30px!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
}

.page-builder-section.page-builder-full[data-source-id="CARRUSELES-08"] .fifty-track,
.page-builder-section.page-builder-full[data-source-id="CARRUSELES-09"] .commerce-track,
.page-builder-section.page-builder-full[data-source-id="CARRUSELES-10"] .compact-track,
.page-builder-section.page-builder-full[data-source-id="CARRUSELES-11"] .number-card-track,
.page-builder-section.page-builder-full[data-source-id="CARRUSELES-12"] .twohalf-track{
  margin-right:0!important;
  padding-right:0!important;
}

/* =========================================================
   TIMELINE · TL001–TL010 · VALIDADO
   Fondo full width.
   Contenido = rail centrado 1440px / 30px.
   ========================================================= */

.page-builder-section[data-section-category="Timeline"] :is(
  .timeline-embed,
  .template-demo,
  .timeline-module
){
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}

.page-builder-section[data-section-category="Timeline"] .timeline-module{
  background:var(--color-dark)!important;
  --max:1440px!important;
}

.page-builder-section[data-section-category="Timeline"] .timeline-module .section,
.page-builder-section[data-section-category="Timeline"] .timeline-module .section.wide{
  width:var(--pb-validated-width)!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
  box-sizing:border-box!important;
}

.page-builder-section[data-section-category="Timeline"] .timeline-module .section{
  border-left:0!important;
  border-right:0!important;
}

/* TL004 · popup stepper */
.page-builder-section[data-source-id="timeline-05"] .timeline-module #tl-popup-stepper{
  width:var(--pb-validated-width)!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
  box-sizing:border-box!important;
}
.page-builder-section[data-source-id="timeline-05"] .timeline-module #tl-popup-stepper .popup-stepper{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding-left:0!important;
  padding-right:0!important;
  box-sizing:border-box!important;
}
.page-builder-section[data-source-id="timeline-05"] .popup-stepper > button:first-of-type{
  justify-self:start!important;
}
.page-builder-section[data-source-id="timeline-05"] .popup-stepper > button:last-of-type{
  justify-self:end!important;
}

/* TL007 · vertical */
.page-builder-section[data-source-id="timeline-08"] .timeline-module #tl-vertical{
  width:var(--pb-validated-width)!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
  box-sizing:border-box!important;
}
.page-builder-section[data-source-id="timeline-08"] .timeline-module #tl-vertical .timeline-vertical{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box!important;
}



/* =========================================================
   STATS / TRAYECTORIA · ST001–ST010 · VALIDADO
   ========================================================= */

.page-builder-section[data-section-category="Stats / trayectoria"] :is(
  .trayectoria-stats-embed,
  .template-demo,
  .tray-section,
  .about-5050
){
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

.page-builder-section[data-section-category="Stats / trayectoria"] .tray-section{
  padding-left:0!important;
  padding-right:0!important;
}

.page-builder-section[data-section-category="Stats / trayectoria"] .tray-wrap{
  width:var(--pb-validated-width)!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

.page-builder-section[data-source-id="trayectoria-stats-10"] .about-5050{
  padding-left:0!important;
  padding-right:0!important;
}

.page-builder-section[data-source-id="trayectoria-stats-10"] .about-5050-wrap{
  width:var(--pb-validated-width)!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* ST010 Full:
   bloque centrado dentro de su mitad; texto alineado a la izquierda. */
.page-builder-section.page-builder-full[data-source-id="trayectoria-stats-10"] .about-5050-copy{
  width:min(620px, calc(100% - 96px))!important;
  max-width:620px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  justify-self:center!important;
  padding:72px 0!important;
  align-items:flex-start!important;
  text-align:left!important;
}
.page-builder-section.page-builder-full[data-source-id="trayectoria-stats-10"]
.about-5050-copy :is(.eyebrow,h2,.lead){
  margin-left:0!important;
  margin-right:0!important;
  text-align:left!important;
}
.page-builder-section.page-builder-full[data-source-id="trayectoria-stats-10"] .about-5050-actions{
  width:100%!important;
  justify-content:flex-start!important;
}

/* =========================================================
   PLANES / PAQUETES · PP001–PP003 · VALIDADO
   Fondo full. Rail 1440 / Full 30px.
   ========================================================= */

.page-builder-section[data-section-category="Planes / paquetes"] :is(
  .packages-embed,
  .template-demo,
  .demo-block
){
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

.page-builder-section[data-section-category="Planes / paquetes"] .demo-block{
  padding-left:0!important;
  padding-right:0!important;
}

.page-builder-section[data-section-category="Planes / paquetes"] .demo-container{
  width:var(--pb-validated-width)!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}

/* Sobrescribir los IDs originales que conservaban max-width en Full. */
.page-builder-section.page-builder-full[data-source-id="recursos-2-21a"] #DEMO-RECURSOS-2-21A .demo-container,
.page-builder-section.page-builder-full[data-source-id="recursos-2-21"] #DEMO-RECURSOS-2-21 .demo-container,
.page-builder-section.page-builder-full[data-source-id="recursos-2-21c"] #DEMO-RECURSOS-2-21C .demo-container{
  width:calc(100% - 60px)!important;
  max-width:none!important;
  margin-left:30px!important;
  margin-right:30px!important;
}

/* =========================================================
   ETIQUETAS · ET001–ET014 · VALIDADO
   Sin altura 100vh ni espacio azul posterior.
   ========================================================= */

.page-builder-section[data-section-category="Etiqueta"] :is(
  .visual-resources-embed,
  .recursos-original-demo,
  .combined-tags-demo,
  .combined-tag-grid,
  .combined-tag-card,
  .tag-demo-standalone
){
  min-height:0!important;
  height:auto!important;
  margin-top:0!important;
  margin-bottom:0!important;
}

.page-builder-section[data-section-category="Etiqueta"] .visual-resources-embed{
  width:100%!important;
  max-width:none!important;
  padding:0!important;
  margin:0!important;
}

.page-builder-section[data-section-category="Etiqueta"] .recursos-original-demo.combined-tags-demo{
  width:100%!important;
  max-width:none!important;
  padding:0!important;
}

.page-builder-section[data-section-category="Etiqueta"] .combined-tag-grid{
  width:var(--pb-validated-width)!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
  gap:0!important;
}

.page-builder-section[data-section-category="Etiqueta"] .combined-tag-card{
  width:100%!important;
  max-width:none!important;
  padding-top:0!important;
  padding-bottom:0!important;
  padding-left:0!important;
  padding-right:0!important;
  border-bottom:0!important;
}

.page-builder-section[data-section-category="Etiqueta"] .tag-demo-standalone{
  width:100%!important;
  min-height:64px!important;
  padding-left:0!important;
  padding-right:0!important;
}

/* =========================================================
   LOGOS · LG001–LG005 · VALIDADO
   ========================================================= */

.page-builder-section[data-section-category="Logos"] :is(
  .visual-resources-embed,
  .logos-clientes-embed,
  .template-demo,
  .logo-section
){
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* LG001 / LG002 */
.page-builder-section[data-source-id="logos-clientes-01"] .logo-inner,
.page-builder-section[data-source-id="logos-clientes-02"] .logo-inner{
  width:var(--pb-validated-width)!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}

/* LG003 / LG004:
   título dentro del rail; logos de borde a borde. */
.page-builder-section[data-source-id="logos-clientes-03"] .logo-inner,
.page-builder-section[data-source-id="logos-clientes-04"] .logo-inner{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding-left:0!important;
  padding-right:0!important;
}

.page-builder-section[data-source-id="logos-clientes-03"] .logo-head,
.page-builder-section[data-source-id="logos-clientes-04"] .logo-head{
  width:var(--pb-validated-width)!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}

.page-builder-section[data-source-id="logos-clientes-03"] .marquee,
.page-builder-section[data-source-id="logos-clientes-04"] .marquee{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
}

/* LG005:
   panel derecho intacto; copy dentro del rail de 1440 en esa mitad. */
.page-builder-section[data-source-id="logos-clientes-05"] .split-showcase{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}

.page-builder-section[data-source-id="logos-clientes-05"] .split-copy{
  padding-left:0!important;
  padding-right:0!important;
}

.page-builder-section.page-builder-1440[data-source-id="logos-clientes-05"] .lg005-copy-inner{
  width:calc(100% - var(--pb-validated-edge))!important;
  max-width:720px!important;
  margin-left:var(--pb-validated-edge)!important;
  margin-right:0!important;
  box-sizing:border-box!important;
}

.page-builder-section.page-builder-full[data-source-id="logos-clientes-05"] .lg005-copy-inner{
  width:min(720px, calc(100% - 60px))!important;
  max-width:720px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

.page-builder-section[data-source-id="logos-clientes-05"] .split-logo-panel{
  margin-right:0!important;
  padding-right:0!important;
}

/* =========================================================
   MARQUEE · MQ001–MQ007 · VALIDADO
   Sin espacio azul posterior.
   Full = cinta pegada a ambos bordes.
   ========================================================= */

.page-builder-section[data-section-category="Marquee"] :is(
  .visual-resources-embed,
  .recursos-original-demo,
  .combined-marquees-demo,
  .combined-marquee-list,
  .combined-marquee-item,
  .combined-marquee-visual
){
  min-height:0!important;
  height:auto!important;
  margin-top:0!important;
  margin-bottom:0!important;
}

.page-builder-section[data-section-category="Marquee"] .visual-resources-embed{
  width:100%!important;
  max-width:none!important;
  padding:0!important;
  margin:0!important;
}

.page-builder-section[data-section-category="Marquee"] .recursos-original-demo.combined-marquees-demo{
  width:100%!important;
  max-width:none!important;
  padding:0!important;
}

.page-builder-section[data-section-category="Marquee"] .combined-marquee-list{
  width:100%!important;
  max-width:none!important;
  gap:0!important;
}

.page-builder-section[data-section-category="Marquee"] .combined-marquee-item{
  width:100%!important;
  max-width:none!important;
  padding:0!important;
  border-bottom:0!important;
}

.page-builder-section.page-builder-1440[data-section-category="Marquee"] .combined-marquee-visual{
  width:var(--pb-validated-width)!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
  overflow:hidden!important;
}

/* Full: cero margen lateral, cinta de borde a borde. */
.page-builder-section.page-builder-full[data-section-category="Marquee"] .combined-marquee-visual{
  width:100vw!important;
  max-width:none!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  padding-left:0!important;
  padding-right:0!important;
  overflow:hidden!important;
}

.page-builder-section[data-section-category="Marquee"]
.combined-marquee-visual .marquee{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

@media(max-width:1500px){
  .page-builder-section.page-builder-1440[data-source-id="logos-clientes-05"] .lg005-copy-inner{
    width:calc(100% - 30px)!important;
    max-width:none!important;
    margin-left:30px!important;
    margin-right:0!important;
  }
}

@media(max-width:900px){
  .page-builder-section[data-source-id="logos-clientes-05"] .split-showcase{
    grid-template-columns:1fr!important;
  }
  .page-builder-section[data-source-id="logos-clientes-05"] .lg005-copy-inner{
    width:calc(100% - 60px)!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}





/* =========================================================
   HEADERS ESTRUCTURALES · HD009–HD013
   Estos headers reorganizan TODO el sitio.
   ========================================================= */
.pb-site-content{
  position:relative;
  width:100%;
  min-width:0;
  margin:0;
  padding:0;
  transition:width .25s ease,margin .25s ease,padding .25s ease;
}

/* El rail 1440 se calcula sobre el NUEVO ancho útil de la web,
   no sobre el viewport completo. */
.pb-site-content .page-builder-1440{
  --pb-validated-width:min(1440px,calc(100% - 60px))!important;
  --pb-validated-edge:max(30px,calc((100vw - 1440px)/2))!important;
}

/* ---------------------------------------------------------
   HD009 · Sidebar fijo izquierdo, 280px
   Toda la web se mueve a la derecha.
   --------------------------------------------------------- */
body.pb-has-HD009{
  padding-left:280px!important;
}
.pb-layout-HD009{
  width:100%!important;
}
.pb-structural-HD009{
  position:fixed!important;
  z-index:12000!important;
  left:0!important;
  top:0!important;
  bottom:0!important;
  width:280px!important;
  height:100vh!important;
  overflow:auto!important;
}
.pb-structural-HD009 .left-sidebar-demo{
  width:280px!important;
  min-height:100vh!important;
  height:100%!important;
  padding:28px 24px!important;
  border-right:1px solid var(--color-line)!important;
  background:var(--color-white)!important;
}

/* ---------------------------------------------------------
   HD010 · Rail fijo izquierdo, 108px
   Toda la web reserva exactamente esos 108px.
   --------------------------------------------------------- */
body.pb-has-HD010{
  padding-left:108px!important;
}
.pb-structural-HD010{
  position:fixed!important;
  z-index:12000!important;
  left:0!important;
  top:0!important;
  bottom:0!important;
  width:108px!important;
  height:100vh!important;
}
.pb-structural-HD010 .icon-rail{
  width:108px!important;
  min-height:100vh!important;
  height:100%!important;
  padding:22px 30px!important;
  border-right:1px solid var(--color-line)!important;
  background:var(--color-white)!important;
  overflow:visible!important;
}
.pb-structural-HD010 .rail-logo{
  width:48px!important;
  height:48px!important;
}
.pb-structural-HD010 .rail-link{
  width:48px!important;
}
.pb-structural-HD010 .rail-label{
  z-index:12010!important;
}

/* ---------------------------------------------------------
   HD011 · Barra fija inferior, 88px
   La web conserva ancho completo y reserva altura inferior.
   --------------------------------------------------------- */
body.pb-has-HD011{
  padding-bottom:88px!important;
}
.pb-structural-HD011{
  position:fixed!important;
  z-index:12000!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  width:100%!important;
  height:88px!important;
}
.pb-structural-HD011 .bottom-bar{
  width:100%!important;
  min-height:88px!important;
  height:88px!important;
  margin:0!important;
  padding-left:max(30px,calc((100% - 1440px)/2))!important;
  padding-right:max(30px,calc((100% - 1440px)/2))!important;
  background:var(--color-white)!important;
}

/* ---------------------------------------------------------
   HD012 · Menú flotante derecho
   Reserva 160px: 112px de menú + respiración exterior.
   --------------------------------------------------------- */
body.pb-has-HD012{
  padding-right:160px!important;
}
.pb-structural-HD012{
  position:fixed!important;
  z-index:12000!important;
  top:24px!important;
  right:0!important;
  bottom:24px!important;
  width:112px!important;
}
.pb-structural-HD012 .floating-menu{
  position:absolute!important;
  inset:0!important;
  width:112px!important;
  height:auto!important;
  margin:0!important;
}

/* ---------------------------------------------------------
   HD013 · Menú radial flotante
   Se superpone SOBRE el contenido y no altera el ancho útil
   de la página.
   --------------------------------------------------------- */
body.pb-has-HD013{
  padding-left:0!important;
  padding-right:0!important;
  padding-bottom:0!important;
}
.pb-layout-HD013{
  width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
}
.pb-structural-HD013{
  position:fixed!important;
  z-index:12000!important;
  right:0!important;
  bottom:40px!important;
  width:280px!important;
  height:280px!important;
  pointer-events:none!important;
}
.pb-structural-HD013 .radial-menu{
  position:relative!important;
  inset:auto!important;
  width:280px!important;
  height:280px!important;
  margin:0!important;
  pointer-events:auto!important;
}


/* Cinco links de referencia estándar en menús especiales. */
.pb-structural-HD011 .main-nav{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:clamp(10px,1.5vw,28px)!important;
  flex-wrap:wrap!important;
}
.pb-structural-HD012 .floating-nav{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:10px!important;
}

/* En estos cinco recursos el contenido demostrativo no existe
   en la web final. */
.page-builder-structural-nav :is(
  .side-content-demo,
  .rail-content-demo,
  .sticky-copy,
  .floating-canvas,
  .radial-copy
){
  display:none!important;
}

/* Responsive: cuando el espacio lateral deja de ser viable,
   los menús pasan a una banda accesible y la web recupera ancho. */
@media(max-width:900px){
  body.pb-has-HD009,
  body.pb-has-HD010,
  body.pb-has-HD012,
  body.pb-has-HD013{
    padding-left:0!important;
    padding-right:0!important;
  }

  .pb-structural-HD009,
  .pb-structural-HD010{
    position:sticky!important;
    top:0!important;
    left:0!important;
    width:100%!important;
    height:auto!important;
    bottom:auto!important;
  }
  .pb-structural-HD009 .left-sidebar-demo{
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    padding:14px 30px!important;
    flex-direction:row!important;
    align-items:center!important;
    flex-wrap:wrap!important;
    gap:12px!important;
    border-right:0!important;
    border-bottom:1px solid var(--color-line)!important;
  }
  .pb-structural-HD009 .side-nav{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:4px!important;
  }
  .pb-structural-HD009 .side-cta{
    margin-top:0!important;
    margin-left:auto!important;
  }

  .pb-structural-HD010 .icon-rail{
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    padding:10px 30px!important;
    flex-direction:row!important;
    justify-content:flex-start!important;
    flex-wrap:wrap!important;
    border-right:0!important;
    border-bottom:1px solid var(--color-line)!important;
  }
  .pb-structural-HD010 .rail-link{
    width:auto!important;
  }
  .pb-structural-HD010 .rail-label{
    position:static!important;
    opacity:1!important;
    transform:none!important;
    margin-left:8px!important;
    padding:0!important;
    background:transparent!important;
    color:var(--color-dark)!important;
  }

  .pb-structural-HD012{
    top:auto!important;
    left:20px!important;
    right:20px!important;
    bottom:20px!important;
    width:auto!important;
    height:92px!important;
  }
  .pb-structural-HD012 .floating-menu{
    width:100%!important;
    min-height:92px!important;
    flex-direction:row!important;
    justify-content:space-between!important;
  }
  .pb-structural-HD012 .floating-nav{
    flex-direction:row!important;
    gap:12px!important;
    margin:0!important;
  }
  .pb-structural-HD012 .floating-nav a{
    writing-mode:initial!important;
    transform:none!important;
  }
  body.pb-has-HD012{
    padding-bottom:132px!important;
  }

  .pb-structural-HD013{
    right:20px!important;
    bottom:20px!important;
    transform:scale(.78)!important;
    transform-origin:right bottom!important;
  }
  body.pb-has-HD013{
    padding-left:0!important;
    padding-right:0!important;
    padding-bottom:0!important;
  }
}

@media(max-width:680px){
  .pb-structural-HD011{
    height:auto!important;
  }
  .pb-structural-HD011 .bottom-bar{
    height:auto!important;
    min-height:88px!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    padding:12px 30px!important;
  }
  body.pb-has-HD011{
    padding-bottom:160px!important;
  }
}


/* =========================================================
   MENÚ HAMBURGUESA · MH001–MH007
   Se construye como tipo de menú.
   ========================================================= */
.page-builder-section[data-section-category="Menú hamburguesa"]{
  overflow:visible!important;
  z-index:90;
}

.page-builder-section[data-section-category="Menú hamburguesa"] .menu-section,
.page-builder-section[data-section-category="Menú hamburguesa"] .menu-real{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  overflow:visible!important;
}

.page-builder-section[data-section-category="Menú hamburguesa"] .hamburger-stage,
.page-builder-section[data-section-category="Menú hamburguesa"] .hamburger-demo{
  width:100%!important;
  min-height:78px!important;
  height:78px!important;
  margin:0!important;
  border:0!important;
  overflow:visible!important;
}

.page-builder-section[data-section-category="Menú hamburguesa"] .hamburger-demo-header{
  width:var(--pb-validated-width)!important;
  max-width:none!important;
  min-height:78px!important;
  height:78px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}

.page-builder-section[data-section-category="Menú hamburguesa"] .hamburger-content{
  display:none!important;
}

.page-builder-section[data-section-category="Menú hamburguesa"] .hamburger-panel{
  position:fixed!important;
  z-index:10000!important;
  top:0!important;
  bottom:0!important;
  min-height:100vh!important;
  max-height:100vh!important;
}

.page-builder-section[data-section-category="Menú hamburguesa"] :is(
  .panel-fullscreen,
  .panel-overlay,
  .panel-editorial
){
  inset:0!important;
  width:100vw!important;
  height:100vh!important;
}

.page-builder-section[data-section-category="Menú hamburguesa"] .mobile-first-demo{
  min-height:78px!important;
  height:78px!important;
  margin:0 auto!important;
  overflow:visible!important;
}

.page-builder-hero-overlay
.page-builder-section[data-section-category="Menú hamburguesa"]{
  pointer-events:auto;
}


/* =========================================================
   CTA · CA001–CA010 · VALIDADO · FULL-BLEED
   Regla:
   - El fondo/contenedor exterior siempre ocupa 100%.
   - 1440: solo el contenido interno se limita a máx. 1440px.
   - Full: solo el contenido interno queda a 30px de cada lado.
   ========================================================= */
.page-builder-section[data-section-category="CTA"],
.page-builder-section[data-section-category="CTA"] :is(.cta-section,.cta-real,.cta){
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* El fondo llega siempre al borde del viewport. */
.page-builder-section[data-section-category="CTA"] .cta,
.page-builder-section[data-section-category="CTA"] .cta-overlay,
.page-builder-section[data-section-category="CTA"] .cta-card-wrap{
  padding-left:0!important;
  padding-right:0!important;
}

/* Solo el contenido se restringe por el modo elegido. */
.page-builder-section[data-section-category="CTA"] .cta-inner{
  box-sizing:border-box!important;
  width:var(--pb-validated-width)!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}

/* CA005: el fondo claro es full-bleed; la tarjeta es el contenido restringido. */
.page-builder-section[data-source-id="cta-05"] .cta-card-wrap{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
}
.page-builder-section[data-source-id="cta-05"] .cta-card{
  box-sizing:border-box!important;
  width:var(--pb-validated-width)!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* =========================================================
   FORMULARIOS · FM001–FM004 · VALIDADO
   ========================================================= */
.page-builder-section[data-section-category="Formularios"] :is(.form-section,.form-real,.template-demo,.original-resource,.resource-demo,.section.contact){
  width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important
}
.page-builder-section[data-section-category="Formularios"] .form-section{padding-top:0!important}
.page-builder-section[data-source-id="formulario-01"] .contact-form-inner{
  width:var(--pb-validated-width)!important;max-width:none!important;margin-left:auto!important;margin-right:auto!important;padding-left:0!important;padding-right:0!important
}
.page-builder-section[data-source-id="formulario-29"] .catalog-embed.form-contact-view-embed{
  width:100%!important;max-width:none!important;margin:0!important;padding:0!important;background:transparent!important
}
.page-builder-section[data-source-id="formulario-29"] #formulario-29-vista-contacto,
.page-builder-section[data-source-id="formulario-29"] #DEMO-FORMULARIO-29{
  width:100%!important;max-width:none!important;margin:0!important
}
.page-builder-section[data-source-id="formulario-29"] #DEMO-FORMULARIO-29 .original-resource section.block{
  width:100%!important;max-width:none!important;margin:0!important;padding-left:0!important;padding-right:0!important
}
.page-builder-section[data-source-id="formulario-29"] #DEMO-FORMULARIO-29 .container{
  width:var(--pb-validated-width)!important;max-width:none!important;margin-left:auto!important;margin-right:auto!important;padding-left:0!important;padding-right:0!important
}
.page-builder-section[data-source-id="formulario-29"] #DEMO-FORMULARIO-29 .contact-info-card>h3{color:var(--color-white)!important}
.page-builder-section[data-source-id="formulario-03"] .section.contact,
.page-builder-section[data-source-id="formulario-04"] .section.contact{padding-left:0!important;padding-right:0!important}
.page-builder-section[data-source-id="formulario-03"] .wrap,
.page-builder-section[data-source-id="formulario-04"] .wrap{
  width:var(--pb-validated-width)!important;max-width:none!important;margin-left:auto!important;margin-right:auto!important;padding-left:0!important;padding-right:0!important
}

/* =========================================================
   FOOTERS · FT001–FT005 / FT007–FT010 · VALIDADO
   FT006 eliminado.
   ========================================================= */
.page-builder-section[data-section-category="Footers"] :is(.footer-section,.footer-real,.site-footer){
  width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important
}
.page-builder-section[data-section-category="Footers"] .footer-inner,
.page-builder-section[data-section-category="Footers"] .footer-bottom{
  width:var(--pb-validated-width)!important;max-width:none!important;margin-left:auto!important;margin-right:auto!important;padding-left:0!important;padding-right:0!important
}


/* Los medios visuales no reciben reglas de ancho del constructor:
   conservan las dimensiones y el posicionamiento definidos por cada recurso. */
/* Responsive: en pantallas pequeñas el rail evita comerse el contenido. */
@media (max-width:700px){
  .page-builder-section.page-builder-full,
  .page-builder-section.page-builder-1440{
    --pb-content-gutter:18px;
  }
}

/* TT005 / TT006 · FINAL · MISMO LAYOUT DEL VALIDADOR ORIGINAL */
.page-builder-section[data-source-id="titulos-05"] #TITLE-DEMO-05 .title-resource-inner,
.page-builder-section[data-source-id="titulos-06"] #TITLE-DEMO-06 .title-resource-inner{
  display:block!important;
  align-items:initial!important;
  width:var(--pb-validated-width)!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:80px 0!important;
}
.page-builder-section[data-source-id="titulos-05"] #TITLE-DEMO-05 .title-block{
  width:25%!important;
  max-width:25%!important;
  text-align:left!important;
}
.page-builder-section[data-source-id="titulos-06"] #TITLE-DEMO-06 .title-block{
  width:20%!important;
  max-width:20%!important;
  text-align:left!important;
}
.page-builder-section[data-source-id="titulos-05"] #TITLE-DEMO-05 .title-block > h2,
.page-builder-section[data-source-id="titulos-06"] #TITLE-DEMO-06 .title-block > h2{
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  text-align:left!important;
}
.page-builder-section[data-source-id="titulos-05"] #TITLE-DEMO-05 .title-block > p,
.page-builder-section[data-source-id="titulos-06"] #TITLE-DEMO-06 .title-block > p{
  width:auto!important;
  max-width:none!important;
  margin:24px 0 0!important;
  text-align:left!important;
}
.page-builder-section[data-source-id="titulos-05"] #TITLE-DEMO-05 .eyebrow,
.page-builder-section[data-source-id="titulos-06"] #TITLE-DEMO-06 .eyebrow{
  width:auto!important;
  max-width:none!important;
  margin:0 0 12px!important;
  text-align:left!important;
}
@media(max-width:900px){
  .page-builder-section[data-source-id="titulos-05"] #TITLE-DEMO-05 .title-block,
  .page-builder-section[data-source-id="titulos-06"] #TITLE-DEMO-06 .title-block{
    width:100%!important;
    max-width:100%!important;
  }
}

/* Recursos auditados · correcciones estructurales canónicas */
@media(max-width:560px){
  .page-builder-section[data-source-id^="secciones-"]
  >.pb-section-validator-preview.validator-preview.mode-1440
  >.pb-section-validator-rail.validator-rail,
  .page-builder-section[data-source-id^="secciones-"]
  >.pb-section-validator-preview.validator-preview.mode-full
  >.pb-section-validator-rail.validator-rail{
    width:calc(100% - 36px)!important;
  }
}

/* ============================================================
   IMAGEN · FULL REAL / 1440 CENTRADO
   Full: el medio ocupa 100% del ancho, conserva el alto del recurso
   y recorta con object-fit:cover sin deformarse.
   1440: el recurso completo se centra en un único rail de 1440px.
   ============================================================ */
.page-builder-section[data-section-category="Imagen"]>section{
  box-sizing:border-box!important;
  max-width:none!important;
  padding-left:0!important;
  padding-right:0!important;
  overflow:hidden!important;
}
.page-builder-section.page-builder-full[data-section-category="Imagen"]>section{
  width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
}
.page-builder-section.page-builder-1440[data-section-category="Imagen"]>section{
  width:min(1440px,calc(100% - 60px))!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.page-builder-section[data-section-category="Imagen"] .intermediate-image img{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center!important;
}
@media(max-width:560px){
  .page-builder-section.page-builder-full[data-section-category="Imagen"]>section{
    width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  .page-builder-section.page-builder-1440[data-section-category="Imagen"]>section{
    width:calc(100% - 60px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

.page-builder-section.page-builder-alt-color-on[data-source-id="secciones-13"]{
  color:var(--pb-theme-white)!important;
  background:var(--pb-theme-dark)!important;
}
.page-builder-section.page-builder-alt-color-on[data-source-id="secciones-13"]
>.pb-section-validator-preview{
  background:var(--pb-theme-dark)!important;
}
.page-builder-section.page-builder-alt-color-on[data-source-id="secciones-13"]
a[data-proposal-cta="1"]{
  color:var(--pb-theme-white)!important;
}


/* ============================================================
   HD009–HD013 · GUTTER DIRECCIONAL DE 30PX INTEGRADO AL MENÚ
   Mantiene el rail contractual; solo hace que el gutter del lado
   funcional forme parte visual del menú, sin crear una franja vacía.
   ============================================================ */

/* HD009 / HD010 / HD011 · menú orientado a la izquierda.
   El contenido conserva exactamente el borde contractual del rail;
   solo el fondo/componente visual ocupa los 30px anteriores. */
.page-builder-section.page-builder-full:is(
  [data-source-id="header-menu-09"],
  [data-source-id="header-menu-10"],
  [data-source-id="header-menu-11"]
) .menu-stage > div{
  width:calc(var(--pb-validated-width) + 30px)!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
  transform:translateX(-15px)!important;
}

/* El contenido del menú continúa empezando en el límite real del rail. */
.page-builder-section[data-source-id="header-menu-09"] .left-sidebar-demo{
  padding-left:30px!important;
}
.page-builder-section[data-source-id="header-menu-11"] .sticky-copy,
.page-builder-section[data-source-id="header-menu-11"] .bottom-bar{
  padding-left:30px!important;
}

@media (max-width:1100px){
  .page-builder-section[data-source-id="header-menu-09"] .left-sidebar-demo,
  .page-builder-section[data-source-id="header-menu-11"] .sticky-copy,
  .page-builder-section[data-source-id="header-menu-11"] .bottom-bar{
    padding-left:30px!important;
  }
}

/* HD012 / HD013 · menú orientado a la derecha.
   El borde izquierdo del rail permanece intacto y el componente visual
   absorbe únicamente los 30px del lado derecho. */
.page-builder-section.page-builder-full:is(
  [data-source-id="header-menu-12"],
  [data-source-id="header-menu-13"]
) .menu-stage > div{
  width:calc(var(--pb-validated-width) + 30px)!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
  transform:translateX(15px)!important;
}

.page-builder-section[data-source-id="header-menu-12"] .floating-menu,
.page-builder-section[data-source-id="header-menu-13"] .radial-menu{
  right:0!important;
}

/* =========================================================
   CONTRATO FINAL · PREVALECE SOBRE AJUSTES HISTÓRICOS
   ========================================================= */
.page-builder-section.page-builder-full{
  --pb-content-width:calc(100% - 60px)!important;
  --pb-validated-width:calc(100% - 60px)!important;
  --pb-validated-edge:30px!important;
}
.page-builder-section.page-builder-1440{
  --pb-content-width:min(1440px,calc(100% - 60px))!important;
  --pb-validated-width:min(1440px,calc(100% - 60px))!important;
  --pb-validated-edge:30px!important;
}
.page-builder-section .pb-section-content{
  width:var(--pb-content-width)!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}
.page-builder-section :has(> .pb-section-content){
  padding-left:0!important;
  padding-right:0!important;
}
@media(max-width:1180px){
  .page-builder-section.page-builder-full,
  .page-builder-section.page-builder-1440{
    --pb-content-width:calc(100% - 60px)!important;
    --pb-validated-width:calc(100% - 60px)!important;
    --pb-validated-edge:30px!important;
  }
}
@media(max-width:560px){
  .page-builder-section.page-builder-full,
  .page-builder-section.page-builder-1440{
    --pb-content-width:calc(100% - 60px)!important;
    --pb-validated-width:calc(100% - 60px)!important;
    --pb-validated-edge:30px!important;
  }
  .page-builder-section .pb-section-content,
  .page-builder-section[data-source-id^="secciones-"] > .pb-section-validator-preview > .pb-section-validator-rail,
  .page-builder-section.page-builder-1440[data-section-category="Imagen"]>section{
    width:calc(100% - 60px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .page-builder-section.page-builder-full[data-section-category="Imagen"]>section{
    width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
  }
}
/* =========================================================
   PASO 5 · MODO NATURAL · CONTRATO CROMÁTICO
   Natural consume siempre los siete tokens globales heredados.
   No modifica composiciones oscuras/claras propias del recurso;
   únicamente evita que el wrapper de instancia cree una paleta local.
   ========================================================= */
.page-builder-section:not(.page-builder-alt-color-on){
  --color-dark:inherit!important;
  --color-key:inherit!important;
  --color-support:inherit!important;
  --color-light:inherit!important;
  --color-white:inherit!important;
  --color-muted:inherit!important;
  --color-line:inherit!important;
}

/* CTA inferior en Natural: contrato ya definido por el sistema. */
.page-builder-section:not(.page-builder-alt-color-on) .pb-standard-cta-note{
  color:var(--color-muted)!important;
}
.page-builder-section:not(.page-builder-alt-color-on) .pb-standard-cta-note strong,
.page-builder-section:not(.page-builder-alt-color-on) .pb-standard-cta-note span{
  color:inherit!important;
}
.page-builder-section:not(.page-builder-alt-color-on) .pb-standard-cta-dot{
  background:var(--color-key)!important;
}

/* =========================================================
   PASO 6 · MODO ALTERNATIVO · CONTRATO CROMÁTICO
   El modo Alternativo no crea una paleta paralela: toma una
   instantánea semántica de los siete tokens globales y cambia
   únicamente su función dentro de la instancia Alternativa.
   ========================================================= */
:root{
  --pb-theme-dark:var(--color-dark);
  --pb-theme-key:var(--color-key);
  --pb-theme-support:var(--color-support);
  --pb-theme-light:var(--color-light);
  --pb-theme-white:var(--color-white);
  --pb-theme-muted:var(--color-muted);
  --pb-theme-line:var(--color-line);
}
.page-builder-section.page-builder-alt-color-on{
  /* Inversión funcional controlada: los recursos que ya consumen
     --color-dark / --color-white cambian de contraste sin hardcodes. */
  --color-dark:var(--pb-theme-white)!important;
  --color-white:var(--pb-theme-dark)!important;
  --color-muted:var(--pb-theme-line)!important;
  --color-key:var(--pb-theme-key)!important;
  --color-support:var(--pb-theme-support)!important;
  --color-light:var(--pb-theme-light)!important;
  --color-line:var(--pb-theme-line)!important;
  background:var(--pb-theme-dark)!important;
  color:var(--pb-theme-white)!important;
}
/* El wrapper/preview inmediato no debe reintroducir una superficie
   propia que tape el fondo Alternativo de la instancia. */
.page-builder-section.page-builder-alt-color-on > .pb-section-validator-preview{
  color:inherit;
}
/* CTA estándar · color inferior por modo */
.page-builder-section .pb-standard-cta-note{
  color:var(--color-muted)!important;
}
.page-builder-section .pb-standard-cta-note strong,
.page-builder-section .pb-standard-cta-note span{
  color:inherit!important;
}
.page-builder-section .pb-standard-cta-dot{
  background:var(--color-key)!important;
}
.page-builder-section.page-builder-alt-color-on .pb-standard-cta-note{
  color:var(--color-line)!important;
}

/* =========================================================
   HD010 / HD012 / HD013 · ANCLAJE ESTRUCTURAL DEFINITIVO
   Misma geometría en Vista demo, Vista final y exportación.
   ========================================================= */
.page-builder-section.pb-structural-HD010{
  position:fixed!important;
  left:0!important;
  right:auto!important;
  top:0!important;
  bottom:0!important;
  width:78px!important;
  max-width:78px!important;
  margin:0!important;
  transform:none!important;
}
.page-builder-section.pb-structural-HD012{
  position:fixed!important;
  left:auto!important;
  right:0!important;
  top:24px!important;
  bottom:24px!important;
  width:112px!important;
  max-width:112px!important;
  margin:0!important;
  transform:none!important;
}
.page-builder-section.pb-structural-HD013{
  position:fixed!important;
  left:auto!important;
  right:0!important;
  top:auto!important;
  bottom:40px!important;
  width:280px!important;
  max-width:280px!important;
  height:280px!important;
  margin:0!important;
  transform:none!important;
}


/* =========================================================
   CATÁLOGO · TÍTULOS DE PRODUCTO = CARD
   CT001 / CT002 / CT003 · Vista demo + final + exportación
   ========================================================= */
.page-builder-section[data-section-category="Catálogo"] .product-card .product-info > h3,
.page-builder-section[data-section-category="Catálogo"] .catalog-card > h4{
  font-family:var(--font-main)!important;
  font-size:var(--card)!important;
  font-weight:400!important;
}

/* =========================================================
   CT003 · ETIQUETAS DE FILTRO = SMALL OFICIAL
   Buscar equipo / Categorías / Marcas / Mostrando 36 equipos
   ========================================================= */
.page-builder-section[data-source-id="recursos-2-24"]
#view-equipo-medico .cat-sidebar > h4,
.page-builder-section[data-source-id="recursos-2-24"]
#view-equipo-medico .cat-toolbar .result-count,
.page-builder-section[data-source-id="recursos-2-24"]
#view-equipo-medico .cat-toolbar .result-count strong{
  font-family:var(--font-main)!important;
  font-size:13px!important;
  line-height:1.4!important;
}
.page-builder-section[data-source-id="recursos-2-24"]
#view-equipo-medico .cat-sidebar > h4{
  font-weight:500!important;
}
.page-builder-section[data-source-id="recursos-2-24"]
#view-equipo-medico .cat-toolbar .result-count{
  font-weight:400!important;
}
.page-builder-section[data-source-id="recursos-2-24"]
#view-equipo-medico .cat-toolbar .result-count strong{
  font-weight:700!important;
}


/* =========================================================
   PASO 7 · CTA GLOBAL · CONTRATO ÚNICO
   Solo afecta instancias con Aplicar CTA activo.
   Los colores reales de los botones se toman de la instantánea
   global para no invertirse accidentalmente en modo Alternativo.
   ========================================================= */
.page-builder-section.page-builder-cta-on .pb-standard-cta-row{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:12px!important;
}

.page-builder-section.page-builder-cta-on :is(
  .pb-standard-cta-primary,
  .pb-standard-cta-secondary
){
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:48px!important;
  padding:0 24px!important;
  border:1px solid var(--pb-theme-line)!important;
  border-radius:0!important;
  background:var(--pb-theme-white)!important;
  color:var(--pb-theme-dark)!important;
  font-family:var(--font-main)!important;
  font-size:var(--small)!important;
  font-weight:700!important;
  line-height:1!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  box-shadow:none!important;
  transition:transform .24s ease,background .24s ease,color .24s ease,border-color .24s ease!important;
}

/* La acción de propuesta es siempre la acción Key, sin importar
   si era el primer botón original o si fue creada como segundo CTA. */
.page-builder-section.page-builder-cta-on [data-proposal-cta="1"]{
  border-color:var(--pb-theme-key)!important;
  background:var(--pb-theme-key)!important;
  color:var(--pb-theme-white)!important;
}

/* Hover del botón no-propuesta: Key / White. */
.page-builder-section.page-builder-cta-on :is(
  .pb-standard-cta-primary,
  .pb-standard-cta-secondary
):not([data-proposal-cta="1"]):hover{
  transform:translateY(-2px)!important;
  border-color:var(--pb-theme-key)!important;
  background:var(--pb-theme-key)!important;
  color:var(--pb-theme-white)!important;
}

/* Hover de Cotización/Propuesta: Dark / White, conservando línea
   visible para que no se pierda sobre una sección Alternativa oscura. */
.page-builder-section.page-builder-cta-on [data-proposal-cta="1"]:hover{
  transform:translateY(-2px)!important;
  border-color:var(--pb-theme-line)!important;
  background:var(--pb-theme-dark)!important;
  color:var(--pb-theme-white)!important;
}

.page-builder-section.page-builder-cta-on :is(
  .pb-standard-cta-primary,
  .pb-standard-cta-secondary
):focus-visible{
  outline:2px solid var(--pb-theme-key)!important;
  outline-offset:3px!important;
}

/* Texto inferior del CTA: fuente única por modo. */
.page-builder-section.page-builder-cta-on .pb-standard-cta-note{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:8px!important;
  margin-top:12px!important;
  color:var(--color-muted)!important;
  font-family:var(--font-main)!important;
  font-size:var(--small)!important;
  font-weight:500!important;
  line-height:1.4!important;
}
.page-builder-section.page-builder-cta-on .pb-standard-cta-note strong,
.page-builder-section.page-builder-cta-on .pb-standard-cta-note span{
  color:inherit!important;
}
.page-builder-section.page-builder-cta-on .pb-standard-cta-note strong{
  font-weight:700!important;
}
.page-builder-section.page-builder-cta-on .pb-standard-cta-dot{
  display:block!important;
  width:6px!important;
  height:6px!important;
  flex:0 0 6px!important;
  border-radius:50%!important;
  background:var(--color-key)!important;
}
.page-builder-section.page-builder-cta-on.page-builder-alt-color-on .pb-standard-cta-note{
  color:var(--color-line)!important;
}



/* =========================================================
   PASO 12 · NAVEGACIÓN Y HEADERS · CONTRATO CANÓNICO
   TB001–TB004 · HD001–HD013 · MH001–MH005
   - Colores funcionales: siete tokens oficiales.
   - En Alternativo se usan snapshots del valor REAL de la paleta para
     evitar que la inversión semántica rompa el contraste de superficies Key.
   - Sombras/overlays: única excepción cromática permitida,
     derivada exclusivamente de DARK + transparencia.
   - No modifica geometría, anchos, alturas, gaps, posiciones ni responsive.
   ========================================================= */

/* ---------- TOP BAR · TB001–TB004 ---------- */
.page-builder-section[data-section-category="Top bar"] .utility-bar{
  background:var(--pb-theme-key,var(--color-key))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
  border-color:var(--pb-theme-line,var(--color-line))!important;
}
.page-builder-section[data-section-category="Top bar"] :is(.utility-item,.utility-item a,.utility-chip,.social-icon){
  color:var(--pb-theme-white,var(--color-white))!important;
}
.page-builder-section[data-section-category="Top bar"] :is(.utility-chip,.social-icon){
  border-color:var(--pb-theme-line,var(--color-line))!important;
}
.page-builder-section[data-section-category="Top bar"] .utility-label{
  color:var(--pb-theme-line,var(--color-line))!important;
}
.page-builder-section[data-section-category="Top bar"] .social-icon:hover{
  background:var(--pb-theme-white,var(--color-white))!important;
  color:var(--pb-theme-key,var(--color-key))!important;
  border-color:var(--pb-theme-white,var(--color-white))!important;
}
.page-builder-section[data-section-category="Top bar"] :is(.utility-item,.utility-label,.topbar-example-title){
  font-size:var(--small)!important;
  font-weight:500!important;
}
.page-builder-section[data-section-category="Top bar"] .utility-chip{
  font-size:var(--micro)!important;
  font-weight:500!important;
}

/* ---------- HEADERS · HD001–HD013 · NATURAL ---------- */
.page-builder-section[data-section-category="Headers"]:not(.page-builder-alt-color-on) :is(
  .site-header,
  .menu-stage,
  .left-sidebar-demo,
  .icon-rail,
  .bottom-sticky-demo,
  .bottom-bar,
  .floating-right-demo,
  .floating-menu,
  .radial-demo,
  .radial-item
){
  background:var(--color-white)!important;
  color:var(--color-dark)!important;
}
.page-builder-section[data-section-category="Headers"]:not(.page-builder-alt-color-on) :is(
  .logo,
  .main-nav a,
  .side-nav a,
  .rail-link,
  .rail-ico,
  .floating-nav a,
  .radial-item,
  .phone-card,
  .menu-toggle
){
  color:var(--color-dark)!important;
}
.page-builder-section[data-section-category="Headers"]:not(.page-builder-alt-color-on) :is(
  .site-header,
  .menu-stage,
  .left-sidebar-demo,
  .icon-rail,
  .bottom-bar,
  .floating-menu,
  .radial-item,
  .rail-ico,
  .menu-toggle
){
  border-color:var(--color-line)!important;
}
.page-builder-section[data-section-category="Headers"]:not(.page-builder-alt-color-on) :is(
  .main-nav a,
  .side-nav a,
  .rail-link,
  .floating-nav a,
  .radial-item
):hover{
  background:var(--color-light)!important;
  color:var(--color-dark)!important;
}

/* Key surfaces mantienen siempre blanco REAL como contraste. */
.page-builder-section[data-section-category="Headers"] :is(
  .logo-mark,
  .rail-logo,
  .floating-logo,
  .radial-center,
  .contact-btn
){
  background:var(--pb-theme-key,var(--color-key))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
  border-color:var(--pb-theme-key,var(--color-key))!important;
}
.page-builder-section[data-section-category="Headers"] .contact-btn:hover{
  background:var(--pb-theme-dark,var(--color-dark))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
  border-color:var(--pb-theme-dark,var(--color-dark))!important;
}
.page-builder-section[data-section-category="Headers"] .phone-card:hover{
  color:var(--pb-theme-key,var(--color-key))!important;
}

/* Estados activo / actual: una sola lógica para toda navegación Header. */
.page-builder-section[data-section-category="Headers"] :is(
  .main-nav a,
  .side-nav a,
  .rail-link,
  .floating-nav a,
  .radial-item
):is(.active,[aria-current="page"]){
  background:var(--pb-theme-key,var(--color-key))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
  border-color:var(--pb-theme-key,var(--color-key))!important;
}

/* ---------- HEADERS · HD001–HD013 · ALTERNATIVO ---------- */
.page-builder-section[data-section-category="Headers"].page-builder-alt-color-on :is(
  .site-header,
  .menu-stage,
  .left-sidebar-demo,
  .icon-rail,
  .bottom-sticky-demo,
  .bottom-bar,
  .floating-right-demo,
  .floating-menu,
  .radial-demo,
  .radial-item
){
  background:var(--pb-theme-dark)!important;
  color:var(--pb-theme-white)!important;
}
.page-builder-section[data-section-category="Headers"].page-builder-alt-color-on :is(
  .logo,
  .main-nav a,
  .side-nav a,
  .rail-link,
  .rail-ico,
  .floating-nav a,
  .radial-item,
  .phone-card,
  .menu-toggle
){
  color:var(--pb-theme-white)!important;
}
.page-builder-section[data-section-category="Headers"].page-builder-alt-color-on :is(
  .site-header,
  .menu-stage,
  .left-sidebar-demo,
  .icon-rail,
  .bottom-bar,
  .floating-menu,
  .radial-item,
  .rail-ico,
  .menu-toggle
){
  border-color:var(--pb-theme-line)!important;
}
.page-builder-section[data-section-category="Headers"].page-builder-alt-color-on :is(
  .main-nav a,
  .side-nav a,
  .rail-link,
  .floating-nav a,
  .radial-item
):hover{
  background:var(--pb-theme-key)!important;
  color:var(--pb-theme-white)!important;
  border-color:var(--pb-theme-key)!important;
}
.page-builder-section[data-section-category="Headers"].page-builder-alt-color-on .rail-label{
  background:var(--pb-theme-white)!important;
  color:var(--pb-theme-dark)!important;
}

/* Tipografía funcional de navegación. Se preservan logos y botones. */
.page-builder-section[data-section-category="Headers"] :is(
  .main-nav a,
  .side-nav a,
  .rail-label,
  .floating-nav a,
  .radial-item,
  .phone-card
){
  font-size:var(--small)!important;
  font-weight:500!important;
}

/* Sombras de HD012 / HD013: DARK real + transparencia, nunca White invertido. */
.page-builder-section[data-section-category="Headers"] .floating-menu{
  box-shadow:0 18px 50px color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 8%,transparent)!important;
}
.page-builder-section[data-section-category="Headers"] .radial-center{
  box-shadow:0 18px 48px color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 28%,transparent)!important;
}
.page-builder-section[data-section-category="Headers"] .radial-item{
  box-shadow:0 12px 28px color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 6%,transparent)!important;
}

/* Focus de navegación: solo Key oficial. */
.page-builder-section[data-section-category="Headers"] :is(
  a,
  button
):focus-visible{
  outline:2px solid var(--pb-theme-key,var(--color-key))!important;
  outline-offset:2px!important;
}

/* ---------- MENÚ HAMBURGUESA · MH001–MH005 · NATURAL ---------- */
.page-builder-section[data-section-category="Menú hamburguesa"]:not(.page-builder-alt-color-on) :is(
  .hamburger-stage,
  .hamburger-demo,
  .hamburger-demo-header,
  .hamburger-panel,
  .panel-editorial,
  .overlay-card
){
  background:var(--color-white)!important;
  color:var(--color-dark)!important;
}
.page-builder-section[data-section-category="Menú hamburguesa"]:not(.page-builder-alt-color-on) :is(
  .logo,
  .hamburger-content h4,
  .hamburger-links a
){
  color:var(--color-dark)!important;
}
.page-builder-section[data-section-category="Menú hamburguesa"]:not(.page-builder-alt-color-on) :is(
  .hamburger-stage,
  .hamburger-demo-header,
  .hamburger-panel,
  .panel-editorial .hamburger-links a
){
  border-color:var(--color-line)!important;
}
.page-builder-section[data-section-category="Menú hamburguesa"]:not(.page-builder-alt-color-on) :is(
  .hamburger-content p,
  .editorial-meta p
){
  color:var(--color-muted)!important;
}
.page-builder-section[data-section-category="Menú hamburguesa"]:not(.page-builder-alt-color-on) .hamburger-links a:hover{
  background:var(--color-light)!important;
  color:var(--color-key)!important;
}
.page-builder-section[data-section-category="Menú hamburguesa"]:not(.page-builder-alt-color-on) .hamburger-close{
  background:var(--color-light)!important;
  color:var(--color-dark)!important;
}

/* ---------- MENÚ HAMBURGUESA · ALTERNATIVO ---------- */
.page-builder-section[data-section-category="Menú hamburguesa"].page-builder-alt-color-on :is(
  .hamburger-stage,
  .hamburger-demo,
  .hamburger-demo-header,
  .hamburger-panel,
  .panel-editorial,
  .overlay-card
){
  background:var(--pb-theme-dark)!important;
  color:var(--pb-theme-white)!important;
}
.page-builder-section[data-section-category="Menú hamburguesa"].page-builder-alt-color-on :is(
  .logo,
  .hamburger-content h4,
  .hamburger-links a
){
  color:var(--pb-theme-white)!important;
}
.page-builder-section[data-section-category="Menú hamburguesa"].page-builder-alt-color-on :is(
  .hamburger-stage,
  .hamburger-demo-header,
  .hamburger-panel,
  .panel-editorial .hamburger-links a
){
  border-color:var(--pb-theme-line)!important;
}
.page-builder-section[data-section-category="Menú hamburguesa"].page-builder-alt-color-on :is(
  .hamburger-content p,
  .editorial-meta p
){
  color:var(--pb-theme-line)!important;
}
.page-builder-section[data-section-category="Menú hamburguesa"].page-builder-alt-color-on .hamburger-links a:hover{
  background:var(--pb-theme-key)!important;
  color:var(--pb-theme-white)!important;
}
.page-builder-section[data-section-category="Menú hamburguesa"].page-builder-alt-color-on .hamburger-close{
  background:var(--pb-theme-white)!important;
  color:var(--pb-theme-dark)!important;
}

/* Trigger: DARK/WHITE en Natural; WHITE/DARK en Alternativo; hover Key. */
.page-builder-section[data-section-category="Menú hamburguesa"]:not(.page-builder-alt-color-on) .hamburger-trigger{
  background:var(--color-dark)!important;
  color:var(--color-white)!important;
}
.page-builder-section[data-section-category="Menú hamburguesa"].page-builder-alt-color-on .hamburger-trigger{
  background:var(--pb-theme-white)!important;
  color:var(--pb-theme-dark)!important;
}
.page-builder-section[data-section-category="Menú hamburguesa"] .hamburger-trigger:hover,
.page-builder-section[data-section-category="Menú hamburguesa"] .hamburger-close:hover{
  background:var(--pb-theme-key,var(--color-key))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
}

/* Logo mark y botones dentro del menú: Key + White REAL en ambos modos. */
.page-builder-section[data-section-category="Menú hamburguesa"] :is(.logo-mark,.contact-btn){
  background:var(--pb-theme-key,var(--color-key))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
  border-color:var(--pb-theme-key,var(--color-key))!important;
}
.page-builder-section[data-section-category="Menú hamburguesa"] .contact-btn:hover{
  background:var(--pb-theme-dark,var(--color-dark))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
  border-color:var(--pb-theme-dark,var(--color-dark))!important;
}

/* Fullscreen conserva deliberadamente Dark/White reales en cualquier modo. */
.page-builder-section[data-section-category="Menú hamburguesa"] .panel-fullscreen{
  background:var(--pb-theme-dark,var(--color-dark))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
  border-color:var(--pb-theme-line,var(--color-line))!important;
}
.page-builder-section[data-section-category="Menú hamburguesa"] .panel-fullscreen :is(.logo,.hamburger-links a){
  color:var(--pb-theme-white,var(--color-white))!important;
}
.page-builder-section[data-section-category="Menú hamburguesa"] .panel-fullscreen .hamburger-links a:hover{
  background:var(--pb-theme-key,var(--color-key))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
}

/* Sombras y overlay: solo DARK real + transparencia. */
.page-builder-section[data-section-category="Menú hamburguesa"] .hamburger-panel{
  box-shadow:0 30px 90px color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 18%,transparent)!important;
}
.page-builder-section[data-section-category="Menú hamburguesa"] .panel-overlay{
  background:color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 74%,transparent)!important;
  box-shadow:none!important;
}
.page-builder-section[data-section-category="Menú hamburguesa"] .panel-overlay .overlay-card{
  box-shadow:0 24px 70px color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 18%,transparent)!important;
}

/* Navegación estándar del panel; los layouts editoriales/fullscreen conservan escala propia. */
.page-builder-section[data-section-category="Menú hamburguesa"] :is(.panel-left,.panel-right) .hamburger-links a{
  font-size:var(--h3)!important;
  font-weight:700!important;
}
.page-builder-section[data-section-category="Menú hamburguesa"] :is(a,button):focus-visible{
  outline:2px solid var(--pb-theme-key,var(--color-key))!important;
  outline-offset:2px!important;
}

/* =========================================================
   PASO 13 · HERO · CONTRATO CANÓNICO
   HR001–HR018
   - Superficies y texto: siete tokens oficiales.
   - Sombras y overlays: única derivación permitida, DARK real + transparencia.
   - Natural y Alternativo conservan la composición de cada Hero.
   - No modifica rails, dimensiones, gaps, posiciones ni responsive.
   ========================================================= */

/* ---------- Base compartida ---------- */
.page-builder-section[data-section-category="Hero"] .hero-embed{
  --shadow:0 30px 90px color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 22%,transparent)!important;
}
.page-builder-section[data-section-category="Hero"] .hero-embed .screen-section > .hero{
  border-color:var(--pb-theme-line,var(--color-line))!important;
}
.page-builder-section[data-section-category="Hero"] .hero-embed h1{
  font-size:var(--h1)!important;
  font-weight:900!important;
}
.page-builder-section[data-section-category="Hero"] .hero-embed p{
  font-size:var(--body)!important;
  font-weight:400!important;
}
.page-builder-section[data-section-category="Hero"] .hero-embed .eyebrow{
  color:var(--pb-theme-key,var(--color-key))!important;
}

/* ---------- Heroes de superficie neutra · Natural ---------- */
.page-builder-section[data-section-category="Hero"]:not(.page-builder-alt-color-on) .hero-section-example,
.page-builder-section[data-section-category="Hero"]:not(.page-builder-alt-color-on) .hero-embed{
  background-color:var(--pb-theme-light,var(--color-light))!important;
}
.page-builder-section[data-section-category="Hero"]:not(.page-builder-alt-color-on) .hero-embed .hero:not(.dark):not(.hero-slider):not(.hero-before-after){
  background-color:var(--pb-theme-white,var(--color-white))!important;
  color:var(--pb-theme-dark,var(--color-dark))!important;
}
.page-builder-section[data-section-category="Hero"]:not(.page-builder-alt-color-on) .hero-embed .hero:not(.dark):not(.hero-slider):not(.hero-before-after) :is(h1,h2,h3){
  color:var(--pb-theme-dark,var(--color-dark))!important;
}
.page-builder-section[data-section-category="Hero"]:not(.page-builder-alt-color-on) .hero-embed .hero:not(.dark):not(.hero-slider):not(.hero-before-after) p{
  color:var(--pb-theme-muted,var(--color-muted))!important;
}

/* ---------- Heroes de superficie neutra · Alternativo ---------- */
.page-builder-section[data-section-category="Hero"].page-builder-alt-color-on :is(.hero-section-example,.hero-embed){
  background-color:var(--pb-theme-dark)!important;
  color:var(--pb-theme-white)!important;
}
.page-builder-section[data-section-category="Hero"].page-builder-alt-color-on .hero-embed .hero:not(.dark):not(.hero-slider):not(.hero-before-after){
  background-color:var(--pb-theme-dark)!important;
  color:var(--pb-theme-white)!important;
  border-color:var(--pb-theme-line)!important;
}
.page-builder-section[data-section-category="Hero"].page-builder-alt-color-on .hero-embed .hero:not(.dark):not(.hero-slider):not(.hero-before-after) :is(h1,h2,h3){
  color:var(--pb-theme-white)!important;
}
.page-builder-section[data-section-category="Hero"].page-builder-alt-color-on .hero-embed .hero:not(.dark):not(.hero-slider):not(.hero-before-after) p{
  color:var(--pb-theme-line)!important;
}
.page-builder-section[data-section-category="Hero"].page-builder-alt-color-on .hero-embed :is(
  .trust-pill,.mini-nav span,.hero-split-stat span,.float-card span,.stat-box span
){
  color:var(--pb-theme-line)!important;
  border-color:var(--pb-theme-line)!important;
}

/* ---------- Superficies oscuras que nunca deben invertirse ---------- */
.page-builder-section[data-section-category="Hero"] .hero-embed :is(
  .hero.dark,.hero-slider,.saas-dashboard,.campaign-bar,.showcase-grid
){
  background-color:var(--pb-theme-dark,var(--color-dark))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
  border-color:var(--pb-theme-line,var(--color-line))!important;
}
.page-builder-section[data-section-category="Hero"] .hero-embed :is(
  .hero.dark,.hero-slider,.saas-dashboard,.campaign-bar
) :is(h1,h2,h3,strong){
  color:var(--pb-theme-white,var(--color-white))!important;
}
.page-builder-section[data-section-category="Hero"] .hero-embed :is(
  .hero.dark,.hero-slider,.saas-dashboard,.campaign-bar
) p,
.page-builder-section[data-section-category="Hero"] .hero-embed .campaign-bar span{
  color:var(--pb-theme-line,var(--color-line))!important;
}
.page-builder-section[data-section-category="Hero"] .hero-embed :is(.hero-fullscreen,.hero-video-bg) .eyebrow{
  color:var(--pb-theme-white,var(--color-white))!important;
}

/* HR003 / HR008 / HR010 / HR011 · módulos internos. */
.page-builder-section[data-section-category="Hero"]:not(.page-builder-alt-color-on) .hero-embed :is(.float-card,.benefit-card,.stat-box){
  background:var(--pb-theme-white,var(--color-white))!important;
  border-color:var(--pb-theme-line,var(--color-line))!important;
  color:var(--pb-theme-dark,var(--color-dark))!important;
}
.page-builder-section[data-section-category="Hero"].page-builder-alt-color-on .hero-embed :is(.float-card,.benefit-card,.stat-box){
  background:var(--pb-theme-dark)!important;
  border-color:var(--pb-theme-line)!important;
  color:var(--pb-theme-white)!important;
}
.page-builder-section[data-section-category="Hero"] .hero-embed :is(.dashboard-panel,.dashboard-item,.dark-feature){
  background:var(--pb-theme-dark,var(--color-dark))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
  border-color:var(--pb-theme-line,var(--color-line))!important;
}
.page-builder-section[data-section-category="Hero"] .hero-embed :is(.dashboard-panel,.dashboard-item,.dark-feature) p,
.page-builder-section[data-section-category="Hero"] .hero-embed .dark-feature p,
.page-builder-section[data-section-category="Hero"] .hero-embed .dashboard-top{
  color:var(--pb-theme-line,var(--color-line))!important;
}
.page-builder-section[data-section-category="Hero"] .hero-embed .dashboard-top strong{
  color:var(--pb-theme-white,var(--color-white))!important;
}

/* ---------- HR009 · formulario dentro del Hero ----------
   La tarjeta permanece clara en ambos modos para mantener legibilidad. */
.page-builder-section[data-source-id="hero-09"] .form-card{
  background:var(--pb-theme-white,var(--color-white))!important;
  color:var(--pb-theme-dark,var(--color-dark))!important;
  border-color:var(--pb-theme-line,var(--color-line))!important;
}
.page-builder-section[data-source-id="hero-09"] .form-card :is(label,.section-number){
  color:var(--pb-theme-dark,var(--color-dark))!important;
}
.page-builder-section[data-source-id="hero-09"] .form-card .section-number{
  color:var(--pb-theme-key,var(--color-key))!important;
}
.page-builder-section[data-source-id="hero-09"] .form-card :is(input,select,textarea){
  background:var(--pb-theme-light,var(--color-light))!important;
  color:var(--pb-theme-dark,var(--color-dark))!important;
  border-color:var(--pb-theme-line,var(--color-line))!important;
  caret-color:var(--pb-theme-key,var(--color-key))!important;
  box-shadow:none!important;
}
.page-builder-section[data-source-id="hero-09"] .form-card :is(input,textarea)::placeholder{
  color:var(--pb-theme-muted,var(--color-muted))!important;
  opacity:1!important;
}
.page-builder-section[data-source-id="hero-09"] .form-card :is(input,select,textarea):focus{
  border-color:var(--pb-theme-key,var(--color-key))!important;
  outline:2px solid var(--pb-theme-key,var(--color-key))!important;
  outline-offset:1px!important;
}

/* ---------- Botones propios del Hero ---------- */
.page-builder-section[data-section-category="Hero"] .hero-embed .btn.primary{
  background:var(--pb-theme-key,var(--color-key))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
  border-color:var(--pb-theme-key,var(--color-key))!important;
}
.page-builder-section[data-section-category="Hero"]:not(.page-builder-alt-color-on) .hero-embed .btn.dark{
  background:var(--pb-theme-dark,var(--color-dark))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
  border-color:var(--pb-theme-dark,var(--color-dark))!important;
}
.page-builder-section[data-section-category="Hero"].page-builder-alt-color-on .hero-embed .btn.dark{
  background:var(--pb-theme-white)!important;
  color:var(--pb-theme-dark)!important;
  border-color:var(--pb-theme-white)!important;
}
.page-builder-section[data-section-category="Hero"]:not(.page-builder-alt-color-on) .hero-embed .btn.ghost{
  background:transparent!important;
  color:var(--pb-theme-dark,var(--color-dark))!important;
  border-color:var(--pb-theme-line,var(--color-line))!important;
}
.page-builder-section[data-section-category="Hero"].page-builder-alt-color-on .hero-embed .btn.ghost{
  background:transparent!important;
  color:var(--pb-theme-white)!important;
  border-color:var(--pb-theme-line)!important;
}
.page-builder-section[data-section-category="Hero"] .hero-embed .btn.light{
  background:transparent!important;
  color:var(--pb-theme-white,var(--color-white))!important;
  border-color:var(--pb-theme-line,var(--color-line))!important;
}
.page-builder-section[data-section-category="Hero"]:not(.page-builder-alt-color-on) .hero-embed .btn.primary:hover{
  background:var(--pb-theme-dark,var(--color-dark))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
  border-color:var(--pb-theme-dark,var(--color-dark))!important;
}
.page-builder-section[data-section-category="Hero"].page-builder-alt-color-on .hero-embed .btn.primary:hover,
.page-builder-section[data-section-category="Hero"] .hero-embed .btn.dark:hover{
  background:var(--pb-theme-key,var(--color-key))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
  border-color:var(--pb-theme-key,var(--color-key))!important;
}
.page-builder-section[data-section-category="Hero"]:not(.page-builder-alt-color-on) .hero-embed .btn.ghost:hover{
  background:var(--pb-theme-light,var(--color-light))!important;
  color:var(--pb-theme-dark,var(--color-dark))!important;
  border-color:var(--pb-theme-dark,var(--color-dark))!important;
}
.page-builder-section[data-section-category="Hero"].page-builder-alt-color-on .hero-embed .btn.ghost:hover{
  background:var(--pb-theme-key)!important;
  color:var(--pb-theme-white)!important;
  border-color:var(--pb-theme-key)!important;
}
.page-builder-section[data-section-category="Hero"] .hero-embed .btn.light:hover{
  background:var(--pb-theme-white,var(--color-white))!important;
  color:var(--pb-theme-dark,var(--color-dark))!important;
  border-color:var(--pb-theme-white,var(--color-white))!important;
}
.page-builder-section[data-section-category="Hero"] .hero-embed .btn:focus-visible{
  outline:2px solid var(--pb-theme-key,var(--color-key))!important;
  outline-offset:2px!important;
}

/* ---------- Controles visuales ---------- */
.page-builder-section[data-section-category="Hero"] .hero-embed .slider-btn,
.page-builder-section[data-section-category="Hero"] .hero-embed .video-play-inline{
  background:var(--pb-theme-dark,var(--color-dark))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
  border-color:var(--pb-theme-line,var(--color-line))!important;
}
.page-builder-section[data-section-category="Hero"] .hero-embed .slider-dot{
  background:var(--pb-theme-line,var(--color-line))!important;
}
.page-builder-section[data-section-category="Hero"] .hero-embed .slider-dot.active{
  background:var(--pb-theme-key,var(--color-key))!important;
}
.page-builder-section[data-section-category="Hero"] .hero-embed .play-btn{
  background:var(--pb-theme-white,var(--color-white))!important;
  color:var(--pb-theme-dark,var(--color-dark))!important;
}
.page-builder-section[data-section-category="Hero"] .hero-embed :is(.play-btn,.video-play-inline,.slider-btn):focus-visible{
  outline:2px solid var(--pb-theme-key,var(--color-key))!important;
  outline-offset:2px!important;
}

/* ---------- Sombras · siempre DARK real ---------- */
.page-builder-section[data-section-category="Hero"] .hero-embed .float-card{
  box-shadow:0 18px 56px color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 14%,transparent)!important;
}
.page-builder-section[data-section-category="Hero"] .hero-embed .play-btn,
.page-builder-section[data-section-category="Hero"] .hero-embed .form-card,
.page-builder-section[data-section-category="Hero"] .hero-embed .product-pack,
.page-builder-section[data-section-category="Hero"] .hero-embed .saas-dashboard,
.page-builder-section[data-section-category="Hero"] .hero-embed .floating-core{
  box-shadow:0 30px 90px color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 22%,transparent)!important;
}
.page-builder-section[data-source-id="hero-18"] .ba-vs{
  box-shadow:20px 20px 42px color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 18%,transparent)!important;
}

/* ---------- Overlays de imagen/video · siempre DARK real ---------- */
.page-builder-section[data-section-category="Hero"] .hero-embed :is(.visual,.video-frame,.floating-core){
  background-image:
    linear-gradient(180deg,color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 4%,transparent),color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 24%,transparent)),
    var(--sample-image)!important;
}
.page-builder-section[data-section-category="Hero"] .hero-embed .visual.dark-visual{
  background-image:
    linear-gradient(180deg,color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 20%,transparent),color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 58%,transparent)),
    var(--sample-image)!important;
}
.page-builder-section[data-section-category="Hero"] .hero-embed .hero-fullscreen{
  background-image:
    linear-gradient(180deg,color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 10%,transparent) 0%,color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 58%,transparent) 52%,color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 94%,transparent) 100%),
    var(--sample-image)!important;
}
.page-builder-section[data-section-category="Hero"] .hero-embed .slide::before{
  background-image:
    linear-gradient(90deg,color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 92%,transparent) 0%,color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 66%,transparent) 44%,color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 18%,transparent) 100%),
    var(--sample-image)!important;
}
.page-builder-section[data-section-category="Hero"] .hero-embed .video-frame{
  background-image:
    linear-gradient(180deg,color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 18%,transparent),color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 78%,transparent)),
    var(--sample-image)!important;
}
.page-builder-section[data-section-category="Hero"] .hero-embed .product-pack{
  background-image:
    linear-gradient(180deg,color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 8%,transparent),color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 18%,transparent)),
    var(--sample-image)!important;
}
.page-builder-section[data-section-category="Hero"] .hero-embed .hero-video-bg{
  background-image:
    linear-gradient(180deg,color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 10%,transparent) 0%,color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 52%,transparent) 44%,color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 92%,transparent) 100%),
    var(--sample-image)!important;
}
.page-builder-section[data-section-category="Hero"] .hero-embed .showcase-tile{
  background-image:
    linear-gradient(180deg,color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 5%,transparent),color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 72%,transparent)),
    var(--sample-image)!important;
}
.page-builder-section[data-section-category="Hero"] .hero-embed .showcase-tile span{
  color:var(--pb-theme-white,var(--color-white))!important;
}

/* ---------- HR018 · Before / After ---------- */
.page-builder-section[data-source-id="hero-18"] .hero-before-after{
  background:linear-gradient(90deg,var(--pb-theme-dark,var(--color-dark)) 0 50%,var(--pb-theme-light,var(--color-light)) 50% 100%)!important;
}
.page-builder-section[data-source-id="hero-18"] .ba-before,
.page-builder-section[data-source-id="hero-18"] .ba-before :is(h1,h2,h3){
  color:var(--pb-theme-white,var(--color-white))!important;
}
.page-builder-section[data-source-id="hero-18"] .ba-before p{
  color:var(--pb-theme-light,var(--color-light))!important;
}
.page-builder-section[data-source-id="hero-18"] .ba-after,
.page-builder-section[data-source-id="hero-18"] .ba-after :is(h1,h2,h3){
  color:var(--pb-theme-dark,var(--color-dark))!important;
}
.page-builder-section[data-source-id="hero-18"] .ba-after p{
  color:var(--pb-theme-muted,var(--color-muted))!important;
}
.page-builder-section[data-source-id="hero-18"] .ba-title-large .muted-title{
  color:var(--pb-theme-line,var(--color-line))!important;
}
.page-builder-section[data-source-id="hero-18"] .ba-after .ba-title-large .muted-title{
  color:var(--pb-theme-muted,var(--color-muted))!important;
}
.page-builder-section.page-builder-alt-color-on[data-source-id="hero-18"] .hero-before-after{
  background:linear-gradient(90deg,var(--pb-theme-light) 0 50%,var(--pb-theme-dark) 50% 100%)!important;
}
.page-builder-section.page-builder-alt-color-on[data-source-id="hero-18"] .ba-before,
.page-builder-section.page-builder-alt-color-on[data-source-id="hero-18"] .ba-before :is(h1,h2,h3),
.page-builder-section.page-builder-alt-color-on[data-source-id="hero-18"] .ba-before .muted-title{
  color:var(--pb-theme-dark)!important;
}
.page-builder-section.page-builder-alt-color-on[data-source-id="hero-18"] .ba-before p{
  color:var(--pb-theme-muted)!important;
}
.page-builder-section.page-builder-alt-color-on[data-source-id="hero-18"] .ba-after,
.page-builder-section.page-builder-alt-color-on[data-source-id="hero-18"] .ba-after :is(h1,h2,h3){
  color:var(--pb-theme-white)!important;
}
.page-builder-section.page-builder-alt-color-on[data-source-id="hero-18"] .ba-after p{
  color:var(--pb-theme-line)!important;
}

@media(max-width:1180px){
  .page-builder-section[data-source-id="hero-18"] .hero-before-after{
    background:linear-gradient(180deg,var(--pb-theme-dark,var(--color-dark)) 0 50%,var(--pb-theme-light,var(--color-light)) 50% 100%)!important;
  }
  .page-builder-section.page-builder-alt-color-on[data-source-id="hero-18"] .hero-before-after{
    background:linear-gradient(180deg,var(--pb-theme-light) 0 50%,var(--pb-theme-dark) 50% 100%)!important;
  }
}

/* =========================================================
   PASO 14 · SECCIONES SC · CONTRATO CANÓNICO
   SC001–SC014
   - Colores funcionales: siete tokens oficiales.
   - Sombras: única derivación permitida, DARK real + transparencia.
   - Natural / Alternativo conservan la composición original.
   - No modifica rails, grids, alturas, gaps, acciones CTA ni responsive.
   ========================================================= */

/* ---------- Base compartida · sombras con DARK real ---------- */
.page-builder-section[data-section-category="Secciones"]{
  --shadow:0 30px 90px color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 22%,transparent)!important;
}
.page-builder-section[data-section-category="Secciones"] :is(
  .about-square-image,
  .about-image-demo,
  .about-contained-image,
  .about-gallery-img
){
  box-shadow:var(--shadow)!important;
}

/* ---------- SC001–SC010 · Nosotros · Natural ---------- */
.page-builder-section[data-section-category="Secciones"]:not(.page-builder-alt-color-on) :is(
  .about-square-demo,
  .about-layout-demo,
  .about-contained-demo,
  .about-half-demo
){
  background:var(--pb-theme-white,var(--color-white))!important;
  color:var(--pb-theme-dark,var(--color-dark))!important;
  border-color:var(--pb-theme-line,var(--color-line))!important;
}
.page-builder-section[data-section-category="Secciones"]:not(.page-builder-alt-color-on) :is(
  .about-contained-content,
  .about-half-content
){
  background:var(--pb-theme-white,var(--color-white))!important;
  color:var(--pb-theme-dark,var(--color-dark))!important;
}
.page-builder-section[data-section-category="Secciones"]:not(.page-builder-alt-color-on) :is(
  .about-square-content > h2,
  .about-square-content > h3,
  .about-content-demo > h2,
  .about-content-demo > h3,
  .about-contained-copy > h2,
  .about-contained-copy > h3,
  .about-half-copy > h2,
  .about-half-copy > h3,
  .about-feature-grid h4
){
  color:var(--pb-theme-dark,var(--color-dark))!important;
}
.page-builder-section[data-section-category="Secciones"]:not(.page-builder-alt-color-on) :is(
  .about-square-content > p,
  .about-contained-copy > p,
  .about-half-copy > p,
  .about-feature-grid p
){
  color:var(--pb-theme-muted,var(--color-muted))!important;
}
/* SC003 / SC004: validación previa; cuerpo y título usan el mismo color. */
.page-builder-section[data-section-category="Secciones"]:not(.page-builder-alt-color-on):is(
  [data-source-id="seccion-nosotros-01"],
  [data-source-id="seccion-nosotros-02"]
) :is(.about-content-demo > p,.about-content-demo > p strong,.about-feature-grid p,.about-feature-grid p strong){
  color:var(--pb-theme-dark,var(--color-dark))!important;
}

/* ---------- SC001–SC010 · Nosotros · Alternativo ---------- */
.page-builder-section[data-section-category="Secciones"].page-builder-alt-color-on :is(
  .about-square-demo,
  .about-layout-demo,
  .about-contained-demo,
  .about-half-demo,
  .about-contained-content,
  .about-half-content
){
  background:var(--pb-theme-dark)!important;
  color:var(--pb-theme-white)!important;
  border-color:var(--pb-theme-line)!important;
}
.page-builder-section[data-section-category="Secciones"].page-builder-alt-color-on :is(
  .about-square-content > h2,
  .about-square-content > h3,
  .about-content-demo > h2,
  .about-content-demo > h3,
  .about-contained-copy > h2,
  .about-contained-copy > h3,
  .about-half-copy > h2,
  .about-half-copy > h3,
  .about-feature-grid h4
){
  color:var(--pb-theme-white)!important;
}
.page-builder-section[data-section-category="Secciones"].page-builder-alt-color-on :is(
  .about-square-content > p,
  .about-contained-copy > p,
  .about-half-copy > p,
  .about-feature-grid p
){
  color:var(--pb-theme-line)!important;
}
/* SC003 / SC004 conservan título y cuerpo con el mismo White real. */
.page-builder-section[data-section-category="Secciones"].page-builder-alt-color-on:is(
  [data-source-id="seccion-nosotros-01"],
  [data-source-id="seccion-nosotros-02"]
) :is(.about-content-demo > p,.about-content-demo > p strong,.about-feature-grid p,.about-feature-grid p strong){
  color:var(--pb-theme-white)!important;
}

/* ---------- SC001–SC010 · acentos, líneas y tipografía funcional ---------- */
.page-builder-section[data-section-category="Secciones"] :is(
  .about-square-label,
  .about-label-demo,
  .about-contained-label,
  .about-half-label,
  .about-feature-grid article > span
){
  color:var(--pb-theme-key,var(--color-key))!important;
  font-size:var(--micro)!important;
  font-weight:500!important;
}
.page-builder-section[data-section-category="Secciones"] :is(
  .about-square-content > h2,
  .about-square-content > h3,
  .about-content-demo > h2,
  .about-content-demo > h3,
  .about-contained-copy > h2,
  .about-contained-copy > h3,
  .about-half-copy > h2,
  .about-half-copy > h3
){
  font-size:var(--h2)!important;
  font-weight:900!important;
}
.page-builder-section[data-section-category="Secciones"] :is(
  .about-square-content > p,
  .about-content-demo > p,
  .about-contained-copy > p,
  .about-half-copy > p,
  .about-feature-grid p
){
  font-size:var(--body)!important;
  font-weight:400!important;
}
.page-builder-section[data-section-category="Secciones"] .about-feature-grid article{
  border-color:var(--pb-theme-line,var(--color-line))!important;
}
.page-builder-section[data-section-category="Secciones"] :is(
  .about-square-content > p,
  .about-content-demo > p,
  .about-contained-copy > p,
  .about-half-copy > p,
  .about-feature-grid p
) strong{
  color:inherit;
}

/* ---------- SC011 · selector de beneficios ---------- */
.page-builder-section[data-source-id="secciones-11"] .screen-reference-section{
  background:var(--pb-theme-white,var(--color-white))!important;
  color:var(--pb-theme-dark,var(--color-dark))!important;
}
.page-builder-section[data-source-id="secciones-11"] :is(
  .screen-feature-trigger,
  .screen-feature-title,
  .screen-feature-arrow
){
  color:var(--pb-theme-dark,var(--color-dark))!important;
}
.page-builder-section[data-source-id="secciones-11"] .screen-feature-title{
  font-size:var(--card)!important;
  font-weight:400!important;
}
.page-builder-section[data-source-id="secciones-11"] .screen-feature-panel > p{
  color:var(--pb-theme-dark,var(--color-dark))!important;
  font-size:var(--body)!important;
  font-weight:400!important;
}
.page-builder-section[data-source-id="secciones-11"] .screen-reference-media{
  background:var(--pb-theme-light,var(--color-light))!important;
}
.page-builder-section.page-builder-alt-color-on[data-source-id="secciones-11"] .screen-reference-section{
  background:var(--pb-theme-dark)!important;
  color:var(--pb-theme-white)!important;
}
.page-builder-section.page-builder-alt-color-on[data-source-id="secciones-11"] :is(
  .screen-feature-trigger,
  .screen-feature-title,
  .screen-feature-arrow
){
  color:var(--pb-theme-white)!important;
}
.page-builder-section.page-builder-alt-color-on[data-source-id="secciones-11"] .screen-feature-panel > p{
  color:var(--pb-theme-line)!important;
}
.page-builder-section[data-source-id="secciones-11"] .screen-feature-trigger:focus-visible{
  outline:2px solid var(--pb-theme-key,var(--color-key))!important;
  outline-offset:2px!important;
}

/* ---------- SC012 · servicios desplegables ----------
   La lista es una superficie Light intencional incluso en Alternativo;
   por eso su texto usa DARK real y no la inversión del wrapper. */
.page-builder-section[data-source-id="secciones-12"] .service-showcase-section{
  background:var(--pb-theme-white,var(--color-white))!important;
  color:var(--pb-theme-dark,var(--color-dark))!important;
}
.page-builder-section.page-builder-alt-color-on[data-source-id="secciones-12"] .service-showcase-section{
  background:var(--pb-theme-dark)!important;
  color:var(--pb-theme-white)!important;
}
.page-builder-section[data-source-id="secciones-12"] .service-showcase-item,
.page-builder-section[data-source-id="secciones-12"] .service-showcase-item.is-active{
  background:var(--pb-theme-light,var(--color-light))!important;
  color:var(--pb-theme-dark,var(--color-dark))!important;
  border-color:transparent!important;
}
.page-builder-section[data-source-id="secciones-12"] .service-showcase-item.is-active{
  border-color:var(--pb-theme-key,var(--color-key))!important;
}
.page-builder-section[data-source-id="secciones-12"] :is(
  .service-showcase-trigger,
  .service-showcase-title,
  .service-showcase-panel p
){
  color:var(--pb-theme-dark,var(--color-dark))!important;
}
.page-builder-section[data-source-id="secciones-12"] .service-showcase-title{
  font-size:var(--card)!important;
  font-weight:400!important;
}
.page-builder-section[data-source-id="secciones-12"] .service-showcase-panel p{
  font-size:var(--body)!important;
  font-weight:400!important;
}
.page-builder-section[data-source-id="secciones-12"] .service-showcase-chevron::before,
.page-builder-section[data-source-id="secciones-12"] .service-showcase-chevron::after{
  background:var(--pb-theme-dark,var(--color-dark))!important;
}
.page-builder-section[data-source-id="secciones-12"] .service-showcase-media{
  background:var(--pb-theme-light,var(--color-light))!important;
}
.page-builder-section[data-source-id="secciones-12"] .service-showcase-trigger:focus-visible{
  outline:2px solid var(--pb-theme-key,var(--color-key))!important;
  outline-offset:-2px!important;
}

/* ---------- SC013 · contenido + acordeón ---------- */
.page-builder-section[data-source-id="secciones-13"] .additional-section{
  background:var(--pb-theme-white,var(--color-white))!important;
  color:var(--pb-theme-dark,var(--color-dark))!important;
}
.page-builder-section[data-source-id="secciones-13"] .additional-label{
  color:var(--pb-theme-key,var(--color-key))!important;
  font-size:var(--micro)!important;
  font-weight:500!important;
}
.page-builder-section[data-source-id="secciones-13"] .additional-02-copy > h2{
  color:var(--pb-theme-dark,var(--color-dark))!important;
  font-size:var(--h2)!important;
  font-weight:900!important;
}
.page-builder-section[data-source-id="secciones-13"] .additional-02-copy > p{
  color:var(--pb-theme-dark,var(--color-dark))!important;
  font-size:var(--body)!important;
  font-weight:400!important;
}
.page-builder-section[data-source-id="secciones-13"] .additional-02-accordion .accordion-module{
  --bg:var(--pb-theme-light,var(--color-light))!important;
  --panel:var(--pb-theme-white,var(--color-white))!important;
  --text:var(--pb-theme-dark,var(--color-dark))!important;
  --muted:var(--pb-theme-muted,var(--color-muted))!important;
  --gold:var(--pb-theme-key,var(--color-key))!important;
  --line:var(--pb-theme-line,var(--color-line))!important;
  --dark:var(--pb-theme-dark,var(--color-dark))!important;
  background:transparent!important;
  color:var(--pb-theme-dark,var(--color-dark))!important;
}
.page-builder-section[data-source-id="secciones-13"] .additional-02-accordion .acc-accordion{
  border-color:var(--pb-theme-line,var(--color-line))!important;
}
.page-builder-section[data-source-id="secciones-13"] .additional-02-accordion .acc-accordion article{
  background:transparent!important;
  border-color:var(--pb-theme-line,var(--color-line))!important;
}
.page-builder-section[data-source-id="secciones-13"] .additional-02-accordion .acc-accordion article > button,
.page-builder-section[data-source-id="secciones-13"] .additional-02-accordion .acc-accordion article > button *{
  color:var(--pb-theme-dark,var(--color-dark))!important;
}
.page-builder-section[data-source-id="secciones-13"] .additional-02-accordion .acc-accordion article > button{
  font-size:var(--card)!important;
  font-weight:400!important;
}
.page-builder-section[data-source-id="secciones-13"] .additional-02-accordion .acc-accordion article > button span{
  color:var(--pb-theme-key,var(--color-key))!important;
}
.page-builder-section[data-source-id="secciones-13"] .additional-02-accordion .acc-accordion article > div p{
  color:var(--pb-theme-dark,var(--color-dark))!important;
  font-size:var(--body)!important;
  font-weight:400!important;
}
.page-builder-section.page-builder-alt-color-on[data-source-id="secciones-13"] .additional-section{
  background:var(--pb-theme-dark)!important;
  color:var(--pb-theme-white)!important;
}
.page-builder-section.page-builder-alt-color-on[data-source-id="secciones-13"] .additional-02-copy > h2{
  color:var(--pb-theme-white)!important;
}
.page-builder-section.page-builder-alt-color-on[data-source-id="secciones-13"] .additional-02-copy > p{
  color:var(--pb-theme-line)!important;
}
.page-builder-section.page-builder-alt-color-on[data-source-id="secciones-13"] .additional-02-accordion .accordion-module{
  --bg:var(--pb-theme-dark)!important;
  --panel:transparent!important;
  --text:var(--pb-theme-white)!important;
  --muted:var(--pb-theme-line)!important;
  --gold:var(--pb-theme-key)!important;
  --line:var(--pb-theme-line)!important;
  --dark:var(--pb-theme-dark)!important;
  color:var(--pb-theme-white)!important;
}
.page-builder-section.page-builder-alt-color-on[data-source-id="secciones-13"] .additional-02-accordion .acc-accordion article > button,
.page-builder-section.page-builder-alt-color-on[data-source-id="secciones-13"] .additional-02-accordion .acc-accordion article > button *{
  color:var(--pb-theme-white)!important;
}
.page-builder-section.page-builder-alt-color-on[data-source-id="secciones-13"] .additional-02-accordion .acc-accordion article > button span{
  color:var(--pb-theme-key)!important;
}
.page-builder-section.page-builder-alt-color-on[data-source-id="secciones-13"] .additional-02-accordion .acc-accordion article > div p{
  color:var(--pb-theme-line)!important;
}
.page-builder-section[data-source-id="secciones-13"] .additional-02-accordion .acc-accordion article > button:focus-visible{
  outline:2px solid var(--pb-theme-key,var(--color-key))!important;
  outline-offset:-2px!important;
}

/* ---------- SC014 · pasos ---------- */
.page-builder-section[data-source-id="secciones-14"] .steps-section{
  background:var(--pb-theme-white,var(--color-white))!important;
  color:var(--pb-theme-dark,var(--color-dark))!important;
}
.page-builder-section[data-source-id="secciones-14"] .steps-intro h2{
  color:var(--pb-theme-dark,var(--color-dark))!important;
  font-size:var(--h2)!important;
  font-weight:900!important;
}
.page-builder-section[data-source-id="secciones-14"] .steps-intro > p,
.page-builder-section[data-source-id="secciones-14"] .steps-content p{
  color:var(--pb-theme-dark,var(--color-dark))!important;
  font-size:var(--body)!important;
  font-weight:400!important;
}
.page-builder-section[data-source-id="secciones-14"] .steps-row{
  border-color:var(--pb-theme-line,var(--color-line))!important;
}
.page-builder-section[data-source-id="secciones-14"] .steps-number{
  color:var(--pb-theme-muted,var(--color-muted))!important;
  font-size:var(--body)!important;
  font-weight:400!important;
}
.page-builder-section[data-source-id="secciones-14"] .steps-title{
  color:var(--pb-theme-dark,var(--color-dark))!important;
  font-size:var(--card)!important;
  font-weight:400!important;
}
.page-builder-section.page-builder-alt-color-on[data-source-id="secciones-14"] .steps-section{
  background:var(--pb-theme-dark)!important;
  color:var(--pb-theme-white)!important;
}
.page-builder-section.page-builder-alt-color-on[data-source-id="secciones-14"] .steps-intro h2,
.page-builder-section.page-builder-alt-color-on[data-source-id="secciones-14"] .steps-title{
  color:var(--pb-theme-white)!important;
}
.page-builder-section.page-builder-alt-color-on[data-source-id="secciones-14"] :is(
  .steps-intro > p,
  .steps-content p,
  .steps-number
){
  color:var(--pb-theme-line)!important;
}

/* =========================================================
   PASO 15 · GALERÍAS · CONTRATO CANÓNICO
   GL001–GL010
   - Colores funcionales: siete tokens oficiales.
   - Sombras y overlays: única derivación permitida, DARK real + transparencia.
   - Natural / Alternativo conservan composición, geometría e interacción.
   - No modifica rails, alturas, gaps, radios ni comportamiento responsive.
   ========================================================= */

/* ---------- Tokens semánticos locales + efectos con DARK real ---------- */
.page-builder-section[data-section-category="Galerías"] .gallery-module{
  --bg:var(--pb-theme-light,var(--color-light))!important;
  --paper:var(--pb-theme-white,var(--color-white))!important;
  --ink:var(--pb-theme-dark,var(--color-dark))!important;
  --ink-soft:var(--pb-theme-muted,var(--color-muted))!important;
  --ink-mute:var(--pb-theme-muted,var(--color-muted))!important;
  --line:var(--pb-theme-line,var(--color-line))!important;
  --line-strong:var(--pb-theme-line,var(--color-line))!important;
  --shadow-sm:0 1px 3px color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 6%,transparent),0 1px 2px color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 4%,transparent)!important;
  --shadow-md:0 8px 24px -10px color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 18%,transparent),0 3px 8px color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 6%,transparent)!important;
  --shadow-lg:0 28px 56px -22px color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 28%,transparent),0 10px 20px -8px color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 12%,transparent)!important;
}

/* ---------- Natural ---------- */
.page-builder-section[data-section-category="Galerías"]:not(.page-builder-alt-color-on) .gallery-module,
.page-builder-section[data-section-category="Galerías"]:not(.page-builder-alt-color-on) .gallery-module > .template-item,
.page-builder-section[data-section-category="Galerías"]:not(.page-builder-alt-color-on) .gallery-module > .template-item > .template-demo,
.page-builder-section[data-section-category="Galerías"]:not(.page-builder-alt-color-on) .gallery-module .gallery-section{
  background:var(--pb-theme-white,var(--color-white))!important;
  color:var(--pb-theme-dark,var(--color-dark))!important;
}
.page-builder-section[data-section-category="Galerías"]:not(.page-builder-alt-color-on) .gallery-module :is(.section-head h2,.masonry h3){
  color:var(--pb-theme-dark,var(--color-dark))!important;
}
.page-builder-section[data-section-category="Galerías"]:not(.page-builder-alt-color-on) .gallery-module :is(.section-head p,.prompt-guide p){
  color:var(--pb-theme-muted,var(--color-muted))!important;
}

/* ---------- Alternativo ---------- */
.page-builder-section[data-section-category="Galerías"].page-builder-alt-color-on .gallery-module,
.page-builder-section[data-section-category="Galerías"].page-builder-alt-color-on .gallery-module > .template-item,
.page-builder-section[data-section-category="Galerías"].page-builder-alt-color-on .gallery-module > .template-item > .template-demo,
.page-builder-section[data-section-category="Galerías"].page-builder-alt-color-on .gallery-module .gallery-section,
.page-builder-section[data-section-category="Galerías"].page-builder-alt-color-on .gallery-module .gallery-section:nth-of-type(even){
  background:var(--pb-theme-dark)!important;
  color:var(--pb-theme-white)!important;
}
.page-builder-section[data-section-category="Galerías"].page-builder-alt-color-on .gallery-module :is(.section-head h2,.masonry h3){
  color:var(--pb-theme-white)!important;
}
.page-builder-section[data-section-category="Galerías"].page-builder-alt-color-on .gallery-module :is(.section-head p,.prompt-guide p){
  color:var(--pb-theme-line)!important;
}

/* ---------- Acentos, líneas y controles ---------- */
.page-builder-section[data-section-category="Galerías"] .gallery-module :is(
  .section-head span,
  .slide-copy small,
  .results-intro span,
  .results-copy small,
  .cover-card span,
  .filter-card span,
  .stacked-cards span
){
  color:var(--pb-theme-key,var(--color-key))!important;
}
.page-builder-section[data-section-category="Galerías"] .gallery-module :is(
  .gallery-section,
  .hero-slider,
  .photo-card,
  .featured-main,
  .thumbs button,
  .hover-expand article,
  .masonry article,
  .horizontal-scroll article,
  .cover-card,
  .filter-card,
  .stacked-cards article,
  .bottom-stage,
  .bottom-thumb,
  .lightbox-modal img
){
  border-color:var(--pb-theme-line,var(--color-line))!important;
}
.page-builder-section[data-section-category="Galerías"] .gallery-module :is(
  .slider-actions button,
  .results-arrows button,
  .bottom-arrows button,
  .coverflow > button,
  .lightbox-modal button
){
  background:var(--pb-theme-key,var(--color-key))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
}
.page-builder-section[data-section-category="Galerías"] .gallery-module :is(
  .slider-actions button,
  .results-arrows button,
  .bottom-arrows button,
  .coverflow > button,
  .lightbox-modal button,
  .filter,
  .result-thumb,
  .thumbs button,
  .bottom-thumb
):focus-visible{
  outline:2px solid var(--pb-theme-key,var(--color-key))!important;
  outline-offset:2px!important;
}

/* Filtros: superficie neutra por modo; activo siempre Key / White. */
.page-builder-section[data-section-category="Galerías"]:not(.page-builder-alt-color-on) .gallery-module .filter{
  background:var(--pb-theme-white,var(--color-white))!important;
  color:var(--pb-theme-dark,var(--color-dark))!important;
  border-color:var(--pb-theme-line,var(--color-line))!important;
}
.page-builder-section[data-section-category="Galerías"].page-builder-alt-color-on .gallery-module .filter{
  background:var(--pb-theme-dark)!important;
  color:var(--pb-theme-white)!important;
  border-color:var(--pb-theme-line)!important;
}
.page-builder-section[data-section-category="Galerías"] .gallery-module .filter:is(.active,:hover){
  background:var(--pb-theme-key,var(--color-key))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
  border-color:var(--pb-theme-key,var(--color-key))!important;
  box-shadow:0 4px 14px -2px color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 40%,transparent)!important;
}

/* ---------- Texto sobre fotografía: White real en ambos modos ---------- */
.page-builder-section[data-section-category="Galerías"] .gallery-module :is(
  .slide-copy h3,
  .slide-copy p,
  .photo-card span,
  .featured-main h3,
  .hover-expand span,
  .horizontal-scroll h3,
  .image-accordion h3,
  .image-accordion p,
  .bottom-copy,
  .bottom-copy h3,
  .bottom-copy p,
  .bottom-thumb span,
  .result-thumb span,
  .results-intro h3,
  .results-copy h4,
  .results-meta span,
  .lightbox-modal h3
){
  color:var(--pb-theme-white,var(--color-white))!important;
}

/* ---------- Superficies oscuras funcionales: DARK real ---------- */
.page-builder-section[data-section-category="Galerías"] .gallery-module :is(
  .results-section,
  .results-gallery,
  .results-stage,
  .result-thumb,
  .lightbox-modal
){
  background-color:var(--pb-theme-dark,var(--color-dark))!important;
}
.page-builder-section[data-section-category="Galerías"] .gallery-module .results-section :is(.section-head h2,.prompt-guide p){
  color:var(--pb-theme-white,var(--color-white))!important;
}
.page-builder-section[data-section-category="Galerías"] .gallery-module .results-section :is(.section-head span,.results-intro span,.results-copy small){
  color:var(--pb-theme-key,var(--color-key))!important;
}

/* ---------- Overlays: siempre DARK real + transparencia ---------- */
.page-builder-section[data-section-category="Galerías"] .gallery-module .slide::after{
  background:linear-gradient(90deg,color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 86%,transparent),color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 18%,transparent))!important;
}
.page-builder-section[data-section-category="Galerías"] .gallery-module .photo-card::after{
  background:linear-gradient(180deg,transparent 30%,color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 82%,transparent))!important;
}
.page-builder-section[data-section-category="Galerías"] .gallery-module .featured-main::after{
  background:linear-gradient(180deg,transparent 45%,color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 82%,transparent))!important;
}
.page-builder-section[data-section-category="Galerías"] .gallery-module .hover-expand article::after{
  background:linear-gradient(180deg,transparent 30%,color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 78%,transparent))!important;
}
.page-builder-section[data-section-category="Galerías"] .gallery-module .horizontal-scroll article::after{
  background:linear-gradient(180deg,transparent 36%,color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 78%,transparent))!important;
}
.page-builder-section[data-section-category="Galerías"] .gallery-module .cover-card::after{
  background:linear-gradient(180deg,transparent 40%,color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 72%,transparent))!important;
}
.page-builder-section[data-section-category="Galerías"] .gallery-module .image-accordion article::after{
  background:linear-gradient(180deg,transparent 28%,color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 82%,transparent))!important;
}
.page-builder-section[data-section-category="Galerías"] .gallery-module .filter-card::after{
  background:linear-gradient(180deg,transparent 30%,color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 76%,transparent))!important;
}
.page-builder-section[data-section-category="Galerías"] .gallery-module .stacked-cards article::after{
  background:linear-gradient(180deg,transparent 35%,color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 76%,transparent))!important;
}
.page-builder-section[data-section-category="Galerías"] .gallery-module .results-overlay{
  background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 92%,transparent))!important;
}
.page-builder-section[data-section-category="Galerías"] .gallery-module .result-thumb::after{
  background:color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 42%,transparent)!important;
}
.page-builder-section[data-section-category="Galerías"] .gallery-module .bottom-gradient{
  background:linear-gradient(180deg,transparent 0%,transparent 44%,var(--pb-theme-dark,var(--color-dark)) 100%),linear-gradient(90deg,var(--pb-theme-dark,var(--color-dark)) 0%,transparent 56%)!important;
}

/* ---------- Sombras: siempre DARK real + transparencia ---------- */
.page-builder-section[data-section-category="Galerías"] .gallery-module .progress{
  box-shadow:0 0 18px color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 42%,transparent)!important;
}
.page-builder-section[data-section-category="Galerías"] .gallery-module :is(.slider-actions button,.bottom-arrows button,.coverflow > button){
  box-shadow:0 4px 14px -2px color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 40%,transparent)!important;
}
.page-builder-section[data-section-category="Galerías"] .gallery-module :is(.slider-actions button,.bottom-arrows button,.coverflow > button):hover{
  box-shadow:0 8px 24px -4px color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 55%,transparent)!important;
}
.page-builder-section[data-section-category="Galerías"] .gallery-module .bottom-thumb span{
  text-shadow:0 2px 12px color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 78%,transparent)!important;
}

/* ---------- Estados activos ---------- */
.page-builder-section[data-section-category="Galerías"] .gallery-module :is(.thumbs button.active,.bottom-thumb.active,.result-thumb.active){
  outline-color:var(--pb-theme-key,var(--color-key))!important;
  border-color:var(--pb-theme-key,var(--color-key))!important;
}

/* =========================================================
   PASO 16 · ACORDEONES · CONTRATO CANÓNICO
   AC001–AC009
   - Colores funcionales: siete tokens oficiales.
   - Natural / Alternativo con contraste estable.
   - Sombras y overlays: única derivación permitida, DARK real + transparencia.
   - Conserva geometría, rails, alturas, gaps, transiciones e interacción.
   ========================================================= */

/* ---------- Variables funcionales del módulo ---------- */
.page-builder-section[data-section-category="Acordeones"] .accordion-module{
  --gold:var(--pb-theme-key,var(--color-key))!important;
  --line:var(--pb-theme-line,var(--color-line))!important;
  --dark:var(--pb-theme-dark,var(--color-dark))!important;
}
.page-builder-section[data-section-category="Acordeones"]:not(.page-builder-alt-color-on) .accordion-module{
  --bg:var(--pb-theme-white,var(--color-white))!important;
  --panel:var(--pb-theme-white,var(--color-white))!important;
  --text:var(--pb-theme-dark,var(--color-dark))!important;
  --muted:var(--pb-theme-muted,var(--color-muted))!important;
}
.page-builder-section[data-section-category="Acordeones"].page-builder-alt-color-on .accordion-module{
  --bg:var(--pb-theme-dark)!important;
  --panel:var(--pb-theme-dark)!important;
  --text:var(--pb-theme-white)!important;
  --muted:var(--pb-theme-line)!important;
}

/* ---------- Superficie general por modo ---------- */
.page-builder-section[data-section-category="Acordeones"]:not(.page-builder-alt-color-on) :is(
  .accordion-embed,
  .accordion-embed > .template-item,
  .accordion-embed .template-demo,
  .accordion-module,
  .accordion-module .acc-section
){
  background:var(--pb-theme-white,var(--color-white))!important;
  color:var(--pb-theme-dark,var(--color-dark))!important;
}
.page-builder-section[data-section-category="Acordeones"].page-builder-alt-color-on :is(
  .accordion-embed,
  .accordion-embed > .template-item,
  .accordion-embed .template-demo,
  .accordion-module,
  .accordion-module .acc-section
){
  background:var(--pb-theme-dark)!important;
  color:var(--pb-theme-white)!important;
}

/* ---------- Líneas y divisores ---------- */
.page-builder-section[data-section-category="Acordeones"] .accordion-module :is(
  .acc-section,
  .acc-accordion,
  .acc-accordion article,
  .acc-mini-accordion article,
  .acc-full-width-accordion,
  .acc-full-width-accordion article,
  .acc-card-accordion article,
  .acc-horizontal-accordion article,
  .acc-vertical-visual-accordion,
  .acc-vertical-visual-accordion article,
  .acc-tabs-accordion,
  .acc-tab-buttons,
  .acc-tab-buttons button,
  .acc-progress-accordion,
  .acc-bar,
  .acc-mega-demo,
  .acc-mega-panel div
){
  border-color:var(--pb-theme-line,var(--color-line))!important;
}

/* ---------- Texto de filas, paneles y estados ---------- */
.page-builder-section[data-section-category="Acordeones"] .accordion-module :is(
  .acc-accordion button,
  .acc-mini-accordion button,
  .acc-full-width-accordion button,
  .acc-card-accordion button,
  .acc-vertical-visual-accordion button
){
  color:var(--text)!important;
}
.page-builder-section[data-section-category="Acordeones"] .accordion-module :is(
  .acc-accordion p,
  .acc-mini-accordion p,
  .acc-full-width-accordion p,
  .acc-card-accordion p,
  .acc-vertical-visual-accordion p,
  .acc-progress-meta,
  .acc-mega-panel a
){
  color:var(--muted)!important;
}
.page-builder-section[data-section-category="Acordeones"] .accordion-module :is(
  .acc-accordion button span,
  .acc-mini-accordion button span,
  .acc-full-width-accordion button > span,
  .acc-full-width-accordion button i,
  .acc-card-accordion button > span,
  .acc-horizontal-accordion div > span,
  .acc-vertical-visual-accordion button > span,
  .acc-progress-meta strong,
  .acc-mega-panel > div > span
){
  color:var(--pb-theme-key,var(--color-key))!important;
}

/* Hover/focus sin introducir colores propios. */
.page-builder-section[data-section-category="Acordeones"] .accordion-module :is(
  .acc-accordion button,
  .acc-mini-accordion button,
  .acc-full-width-accordion button,
  .acc-card-accordion button,
  .acc-vertical-visual-accordion button,
  .acc-tab-buttons button,
  .acc-mega-demo > button,
  .acc-mega-panel a
):focus-visible{
  outline:2px solid var(--pb-theme-key,var(--color-key))!important;
  outline-offset:2px!important;
}
.page-builder-section[data-section-category="Acordeones"] .accordion-module :is(
  .acc-accordion button,
  .acc-mini-accordion button,
  .acc-full-width-accordion button,
  .acc-vertical-visual-accordion button,
  .acc-mega-panel a
):hover{
  color:var(--pb-theme-key,var(--color-key))!important;
}

/* ---------- AC002 · múltiple ---------- */
.page-builder-section[data-source-id="acordeon-02"] .acc-multiple article.open{
  background:var(--pb-theme-light,var(--color-light))!important;
}
.page-builder-section[data-source-id="acordeon-02"] .acc-multiple article.open :is(button,p){
  color:var(--pb-theme-dark,var(--color-dark))!important;
}
.page-builder-section[data-source-id="acordeon-02"] .acc-multiple article.open p{
  color:var(--pb-theme-muted,var(--color-muted))!important;
}

/* ---------- AC004 · cards ---------- */
.page-builder-section[data-source-id="acordeon-05"]:not(.page-builder-alt-color-on) .acc-card-accordion article{
  background:var(--pb-theme-white,var(--color-white))!important;
}
.page-builder-section[data-source-id="acordeon-05"].page-builder-alt-color-on .acc-card-accordion article{
  background:var(--pb-theme-dark)!important;
}
.page-builder-section[data-source-id="acordeon-05"] .acc-card-accordion article.active{
  background:var(--pb-theme-light,var(--color-light))!important;
}
.page-builder-section[data-source-id="acordeon-05"] .acc-card-accordion article.active :is(button,strong){
  color:var(--pb-theme-dark,var(--color-dark))!important;
}
.page-builder-section[data-source-id="acordeon-05"] .acc-card-accordion article.active p{
  color:var(--pb-theme-muted,var(--color-muted))!important;
}

/* ---------- AC005 · horizontal visual ---------- */
.page-builder-section[data-source-id="acordeon-06"] .acc-horizontal-accordion article::after{
  background:linear-gradient(
    180deg,
    transparent,
    color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 78%,transparent)
  )!important;
}
.page-builder-section[data-source-id="acordeon-06"] .acc-horizontal-accordion h3{
  color:var(--pb-theme-white,var(--color-white))!important;
}
.page-builder-section[data-source-id="acordeon-06"] .acc-horizontal-accordion p{
  color:var(--pb-theme-light,var(--color-light))!important;
}

/* ---------- AC007 · tabs ---------- */
.page-builder-section[data-source-id="acordeon-08"]:not(.page-builder-alt-color-on) .acc-tabs-accordion{
  background:var(--pb-theme-white,var(--color-white))!important;
}
.page-builder-section[data-source-id="acordeon-08"].page-builder-alt-color-on .acc-tabs-accordion{
  background:var(--pb-theme-dark)!important;
}
.page-builder-section[data-source-id="acordeon-08"] .acc-tab-buttons button{
  background:transparent!important;
  color:var(--muted)!important;
}
.page-builder-section[data-source-id="acordeon-08"] .acc-tab-buttons button.active{
  background:var(--pb-theme-key,var(--color-key))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
}

/* ---------- AC008 · progreso ---------- */
.page-builder-section[data-source-id="acordeon-09"]:not(.page-builder-alt-color-on) .acc-progress-accordion{
  background:var(--pb-theme-white,var(--color-white))!important;
}
.page-builder-section[data-source-id="acordeon-09"].page-builder-alt-color-on .acc-progress-accordion{
  background:var(--pb-theme-dark)!important;
}
.page-builder-section[data-source-id="acordeon-09"] .acc-bar{
  background:var(--pb-theme-line,var(--color-line))!important;
}
.page-builder-section[data-source-id="acordeon-09"] .acc-bar i{
  background:var(--pb-theme-key,var(--color-key))!important;
}

/* ---------- AC009 · mega desplegado ---------- */
.page-builder-section[data-source-id="acordeon-10"]:not(.page-builder-alt-color-on) .acc-mega-demo{
  background:var(--pb-theme-white,var(--color-white))!important;
}
.page-builder-section[data-source-id="acordeon-10"].page-builder-alt-color-on .acc-mega-demo{
  background:var(--pb-theme-dark)!important;
}
.page-builder-section[data-source-id="acordeon-10"] .acc-mega-demo > button{
  background:var(--pb-theme-key,var(--color-key))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
}
.page-builder-section[data-source-id="acordeon-10"] .acc-mega-panel div{
  background:var(--pb-theme-light,var(--color-light))!important;
}
.page-builder-section[data-source-id="acordeon-10"] .acc-mega-panel div :is(a){
  color:var(--pb-theme-muted,var(--color-muted))!important;
}
.page-builder-section[data-source-id="acordeon-10"] .acc-mega-panel div a:hover{
  color:var(--pb-theme-key,var(--color-key))!important;
}

/* ---------- Tipografía funcional ---------- */
.page-builder-section[data-section-category="Acordeones"] .accordion-module :is(
  .acc-progress-meta,
  .acc-mega-panel span,
  .acc-horizontal-accordion span,
  .acc-card-accordion span,
  .acc-full-width-accordion button > span
){
  font-size:var(--small)!important;
  font-weight:500!important;
}
.page-builder-section[data-section-category="Acordeones"] .accordion-module :is(
  .acc-accordion p,
  .acc-mini-accordion p,
  .acc-full-width-accordion p,
  .acc-card-accordion p,
  .acc-horizontal-accordion p,
  .acc-vertical-visual-accordion p,
  .acc-mega-panel a
){
  font-size:var(--body)!important;
  font-weight:400!important;
}


/* =========================================================
   PASO 17 · INTERACTIVOS · CONTRATO CANÓNICO
   AD001–AD007 · CR001–CR012 · TL001–TL010
   MQ001–MQ007 · CP001–CP011 · IS001–IS010
   + LG003 / LG004 por comportamiento marquee.
   - Colores funcionales: siete tokens oficiales.
   - Sombras y overlays: única derivación permitida, DARK real + transparencia.
   - Estados, controles e indicadores usan KEY / WHITE / LINE de forma estable.
   - Conserva geometría, velocidades, tracks, transforms y JavaScript existente.
   ========================================================= */

/* ---------- Accesibilidad compartida de controles ---------- */
.page-builder-section:is(
  [data-section-category="Antes / después"],
  [data-section-category="Carruseles"],
  [data-section-category="Timeline"],
  [data-section-category="Marquee"],
  [data-section-category="Cursor personalizado"],
  [data-section-category="Indicadores slider"]
) :is(button,[role="button"],input[type="range"]):focus-visible{
  outline:2px solid var(--pb-theme-key,var(--color-key))!important;
  outline-offset:2px!important;
}

/* =========================================================
   AD001–AD007 · ANTES / DESPUÉS
   El escenario comparativo es intrínsecamente oscuro y no debe
   convertir handles, sombras u overlays en blancos al usar Alternativo.
   ========================================================= */
.page-builder-section[data-section-category="Antes / después"] .before-after-embed .ba-demo{
  --color-dark:var(--pb-theme-dark,var(--color-dark))!important;
  --color-key:var(--pb-theme-key,var(--color-key))!important;
  --color-support:var(--pb-theme-support,var(--color-support))!important;
  --color-light:var(--pb-theme-light,var(--color-light))!important;
  --color-white:var(--pb-theme-white,var(--color-white))!important;
  --color-muted:var(--pb-theme-muted,var(--color-muted))!important;
  --color-line:var(--pb-theme-line,var(--color-line))!important;
}
.page-builder-section[data-section-category="Antes / después"] .ba-demo :is(.dark-stage,.compare,.stack-card){
  background-color:var(--pb-theme-dark,var(--color-dark))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
  border-color:var(--pb-theme-line,var(--color-line))!important;
}
.page-builder-section[data-section-category="Antes / después"] .ba-demo .compare-handle,
.page-builder-section[data-section-category="Antes / después"] .ba-demo .follow-line{
  background:var(--pb-theme-white,var(--color-white))!important;
}
.page-builder-section[data-section-category="Antes / después"] .ba-demo .compare-handle::after{
  background:var(--pb-theme-key,var(--color-key))!important;
}
.page-builder-section[data-section-category="Antes / después"] .ba-demo .compare-handle::before{
  color:var(--pb-theme-white,var(--color-white))!important;
}
.page-builder-section[data-section-category="Antes / después"] .ba-demo .label-chip{
  background:var(--pb-theme-white,var(--color-white))!important;
  color:var(--pb-theme-dark,var(--color-dark))!important;
}
.page-builder-section[data-section-category="Antes / después"] .ba-demo .stage-btn{
  background:var(--pb-theme-key,var(--color-key))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
}
.page-builder-section[data-section-category="Antes / después"] .ba-demo .carousel-controls button{
  border-color:var(--pb-theme-line,var(--color-line))!important;
  background:var(--pb-theme-dark,var(--color-dark))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
}
.page-builder-section[data-section-category="Antes / después"] .ba-demo .carousel-controls button:hover{
  border-color:var(--pb-theme-key,var(--color-key))!important;
  background:var(--pb-theme-key,var(--color-key))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
}
.page-builder-section[data-section-category="Antes / después"] .ba-demo input[type="range"]{
  accent-color:var(--pb-theme-key,var(--color-key))!important;
}

/* =========================================================
   CR001–CR012 · CARRUSELES
   Las superficies claras pueden responder al modo global, pero los
   bloques diseñados como oscuros conservan DARK real y contraste WHITE.
   ========================================================= */
.page-builder-section[data-section-category="Carruseles"] .carousel-embed :is(
  #CAROUSEL-03 .avatar,
  #CAROUSEL-04 .logo-mark,
  #CAROUSEL-05 .vertical-carousel,
  #CAROUSEL-07 .fifty-copy,
  #CAROUSEL-09 .fullcard-item,
  #CAROUSEL-10 .compact-card,
  #CAROUSEL-11 .number-card-cta,
  #CAROUSEL-12 .twohalf-cta
){
  background-color:var(--pb-theme-dark,var(--color-dark))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
}
.page-builder-section[data-section-category="Carruseles"] .carousel-embed :is(
  #CAROUSEL-05 .vertical-intro h2,
  #CAROUSEL-05 .vertical-card h3,
  #CAROUSEL-07 .fifty-copy h2,
  #CAROUSEL-08 .commerce-card h3,
  #CAROUSEL-09 .fullcard-item h3,
  #CAROUSEL-10 .compact-card h3
){
  color:var(--pb-theme-white,var(--color-white))!important;
}
.page-builder-section[data-section-category="Carruseles"] .carousel-embed :is(
  #CAROUSEL-05 .vertical-intro p,
  #CAROUSEL-05 .vertical-card p,
  #CAROUSEL-07 .fifty-copy p,
  #CAROUSEL-08 .commerce-card p,
  #CAROUSEL-09 .fullcard-item p,
  #CAROUSEL-10 .compact-card p
){
  color:var(--pb-theme-line,var(--color-line))!important;
}
.page-builder-section[data-section-category="Carruseles"] .carousel-embed :is(
  #CAROUSEL-05 .vertical-card span,
  #CAROUSEL-07 .fifty-copy > span,
  #CAROUSEL-08 .commerce-card span,
  #CAROUSEL-09 .fullcard-item span,
  #CAROUSEL-10 .compact-card-copy span
){
  color:var(--pb-theme-support,var(--color-support))!important;
}
.page-builder-section[data-section-category="Carruseles"] .carousel-embed #CAROUSEL-08 .commerce-card{
  color:var(--pb-theme-white,var(--color-white))!important;
}
.page-builder-section[data-section-category="Carruseles"] .carousel-embed .carousel-controls button:hover{
  background:var(--pb-theme-key,var(--color-key))!important;
  border-color:var(--pb-theme-key,var(--color-key))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
}
.page-builder-section[data-section-category="Carruseles"] .carousel-embed :is(.thumb-item.is-active,.thumb-item:hover){
  border-color:var(--pb-theme-key,var(--color-key))!important;
}
.page-builder-section[data-section-category="Carruseles"] .carousel-embed :is(.service-card,.thumb-item):hover{
  box-shadow:0 18px 44px color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 12%,transparent)!important;
}

/* =========================================================
   TL001–TL010 · TIMELINE / STEPPERS
   Timeline es una composición oscura nativa. Se fija la semántica local
   a los siete tokens globales reales para impedir inversiones accidentales.
   ========================================================= */
.page-builder-section[data-section-category="Timeline"] .timeline-module{
  --color-dark:var(--pb-theme-dark,var(--color-dark))!important;
  --color-key:var(--pb-theme-key,var(--color-key))!important;
  --color-support:var(--pb-theme-support,var(--color-support))!important;
  --color-light:var(--pb-theme-light,var(--color-light))!important;
  --color-white:var(--pb-theme-white,var(--color-white))!important;
  --color-muted:var(--pb-theme-muted,var(--color-muted))!important;
  --color-line:var(--pb-theme-line,var(--color-line))!important;
  --bg:var(--pb-theme-dark,var(--color-dark))!important;
  --panel:var(--pb-theme-dark,var(--color-dark))!important;
  --text:var(--pb-theme-light,var(--color-light))!important;
  --muted:var(--pb-theme-muted,var(--color-muted))!important;
  --gold:var(--pb-theme-key,var(--color-key))!important;
  --green:var(--pb-theme-key,var(--color-key))!important;
  --blue-line:var(--pb-theme-key,var(--color-key))!important;
  --line:var(--pb-theme-line,var(--color-line))!important;
  --dark:var(--pb-theme-dark,var(--color-dark))!important;
  background:var(--pb-theme-dark,var(--color-dark))!important;
  color:var(--pb-theme-light,var(--color-light))!important;
}
.page-builder-section[data-section-category="Timeline"].page-builder-alt-color-on .timeline-module{
  --text:var(--pb-theme-white,var(--color-white))!important;
  --muted:var(--pb-theme-line,var(--color-line))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
}
.page-builder-section[data-section-category="Timeline"] .timeline-module :is(
  .stepper-card,.timeline-horizontal article,.horizontal-line-process article,
  .popup-stepper,.compact-timeline,.cinematic-timeline article,.roadmap article,
  .sticky-steps article,.horizontal-scroll-timeline article,.gantt,.tracker,.modal-box
){
  background-color:var(--pb-theme-dark,var(--color-dark))!important;
  border-color:var(--pb-theme-line,var(--color-line))!important;
}
.page-builder-section[data-section-category="Timeline"] .timeline-module .modal{
  background:color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 88%,transparent)!important;
}
.page-builder-section[data-section-category="Timeline"] .timeline-module :is(
  .step.active strong,.timeline-horizontal span,.stepper-copy button,.tracker-panel button,
  .tracker-steps span.active,.tracker-steps span.done
){
  background-color:var(--pb-theme-key,var(--color-key))!important;
  border-color:var(--pb-theme-key,var(--color-key))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
}
.page-builder-section[data-section-category="Timeline"] .timeline-module :is(
  .hero span,.section-head span,.horizontal-line-process span,.compact-timeline span,
  .cinematic-timeline span,.roadmap span,.timeline-vertical span,.timeline-zigzag span,
  .sticky-process aside span,.sticky-steps span,.horizontal-scroll-timeline span,
  .gantt-head span,.carousel-track span,.chapters strong,.modal-box span
){
  color:var(--pb-theme-key,var(--color-key))!important;
}
.page-builder-section[data-section-category="Timeline"] .timeline-module :is(
  .stepper-copy p,.timeline-horizontal p,.horizontal-line-process p,.compact-timeline p,
  .cinematic-timeline p,.timeline-vertical p,.timeline-zigzag p,.roadmap p,
  .sticky-process aside p,.sticky-steps p,.horizontal-scroll-timeline p,.tracker-panel p,
  .timeline-accordion p,.modal-box p
){
  color:var(--pb-theme-muted,var(--color-muted))!important;
}
.page-builder-section[data-section-category="Timeline"].page-builder-alt-color-on .timeline-module :is(
  .stepper-copy p,.timeline-horizontal p,.horizontal-line-process p,.compact-timeline p,
  .cinematic-timeline p,.timeline-vertical p,.timeline-zigzag p,.roadmap p,
  .sticky-process aside p,.sticky-steps p,.horizontal-scroll-timeline p,.tracker-panel p,
  .timeline-accordion p,.modal-box p
){
  color:var(--pb-theme-line,var(--color-line))!important;
}

/* =========================================================
   MQ001–MQ007 · MARQUEE
   Cada opción conserva su identidad cromática original; el modo de sección
   no sustituye DARK/WHITE dentro de la propia cinta.
   ========================================================= */
.page-builder-section[data-section-category="Marquee"] .combined-marquee-visual{
  --color-dark:var(--pb-theme-dark,var(--color-dark))!important;
  --color-key:var(--pb-theme-key,var(--color-key))!important;
  --color-support:var(--pb-theme-support,var(--color-support))!important;
  --color-light:var(--pb-theme-light,var(--color-light))!important;
  --color-white:var(--pb-theme-white,var(--color-white))!important;
  --color-muted:var(--pb-theme-muted,var(--color-muted))!important;
  --color-line:var(--pb-theme-line,var(--color-line))!important;
}
.page-builder-section[data-section-category="Marquee"] .combined-marquee-visual :is(.marquee-5,.marquee-7){
  box-shadow:0 18px 40px color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 20%,transparent)!important;
}
.page-builder-section[data-section-category="Marquee"] .combined-marquee-visual .marquee-6::before{
  background:linear-gradient(90deg,var(--pb-theme-dark,var(--color-dark)),transparent)!important;
}
.page-builder-section[data-section-category="Marquee"] .combined-marquee-visual .marquee-6::after{
  background:linear-gradient(270deg,var(--pb-theme-dark,var(--color-dark)),transparent)!important;
}

/* LG003 / LG004: marquees de Logos también mantienen sus tokens reales. */
.page-builder-section:is([data-source-id="logos-clientes-03"],[data-source-id="logos-clientes-04"]) .logos-clientes-embed{
  --color-dark:var(--pb-theme-dark,var(--color-dark))!important;
  --color-key:var(--pb-theme-key,var(--color-key))!important;
  --color-support:var(--pb-theme-support,var(--color-support))!important;
  --color-light:var(--pb-theme-light,var(--color-light))!important;
  --color-white:var(--pb-theme-white,var(--color-white))!important;
  --color-muted:var(--pb-theme-muted,var(--color-muted))!important;
  --color-line:var(--pb-theme-line,var(--color-line))!important;
}
.page-builder-section:is([data-source-id="logos-clientes-03"],[data-source-id="logos-clientes-04"]) .logos-clientes-embed .client-logo{
  box-shadow:0 14px 34px color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 6%,transparent)!important;
}

/* =========================================================
   CP001–CP011 · CURSOR PERSONALIZADO
   El escenario oscuro mantiene contraste real. CP010 genera el SVG desde
   --color-support y --color-white por JS; no conserva HEX dentro del cursor.
   ========================================================= */
.page-builder-section[data-section-category="Cursor personalizado"] .combined-cursor-visual{
  --color-dark:var(--pb-theme-dark,var(--color-dark))!important;
  --color-key:var(--pb-theme-key,var(--color-key))!important;
  --color-support:var(--pb-theme-support,var(--color-support))!important;
  --color-light:var(--pb-theme-light,var(--color-light))!important;
  --color-white:var(--pb-theme-white,var(--color-white))!important;
  --color-muted:var(--pb-theme-muted,var(--color-muted))!important;
  --color-line:var(--pb-theme-line,var(--color-line))!important;
}
.page-builder-section[data-section-category="Cursor personalizado"] .combined-cursor-visual .cursor-demo{
  color:var(--pb-theme-white,var(--color-white))!important;
}
.page-builder-section[data-section-category="Cursor personalizado"] .combined-cursor-visual .cursor-demo-title span{
  color:var(--pb-theme-support,var(--color-support))!important;
}
.page-builder-section[data-section-category="Cursor personalizado"] .combined-cursor-visual .cursor-demo-button{
  background:var(--pb-theme-white,var(--color-white))!important;
  color:var(--pb-theme-dark,var(--color-dark))!important;
}

/* =========================================================
   IS001–IS010 · INDICADORES DE SLIDER
   Track = LINE, activo = SUPPORT/KEY, texto = WHITE sobre escenario DARK.
   ========================================================= */
.page-builder-section[data-section-category="Indicadores slider"] .combined-indicator-visual{
  --color-dark:var(--pb-theme-dark,var(--color-dark))!important;
  --color-key:var(--pb-theme-key,var(--color-key))!important;
  --color-support:var(--pb-theme-support,var(--color-support))!important;
  --color-light:var(--pb-theme-light,var(--color-light))!important;
  --color-white:var(--pb-theme-white,var(--color-white))!important;
  --color-muted:var(--pb-theme-muted,var(--color-muted))!important;
  --color-line:var(--pb-theme-line,var(--color-line))!important;
}
.page-builder-section[data-section-category="Indicadores slider"] .combined-indicator-visual .mock-slider{
  color:var(--pb-theme-white,var(--color-white))!important;
  border-color:var(--pb-theme-line,var(--color-line))!important;
}
.page-builder-section[data-section-category="Indicadores slider"] .combined-indicator-visual :is(
  .ind-bars .bar,.ind-dots .dot-ind,.ind-expand-dots .expand-dot,
  .ind-pills .pill,.ind-line-dot,.ind-ring-dots .ring-dot::before,.fraction-line
){
  background-color:var(--pb-theme-line,var(--color-line))!important;
  border-color:var(--pb-theme-line,var(--color-line))!important;
}
.page-builder-section[data-section-category="Indicadores slider"] .combined-indicator-visual :is(
  .mock-slider[data-active="0"] .ind-dots .dot-ind:nth-child(1),
  .mock-slider[data-active="1"] .ind-dots .dot-ind:nth-child(2),
  .mock-slider[data-active="2"] .ind-dots .dot-ind:nth-child(3),
  .mock-slider[data-active="3"] .ind-dots .dot-ind:nth-child(4),
  .mock-slider[data-active="0"] .ind-expand-dots .expand-dot:nth-child(1),
  .mock-slider[data-active="1"] .ind-expand-dots .expand-dot:nth-child(2),
  .mock-slider[data-active="2"] .ind-expand-dots .expand-dot:nth-child(3),
  .mock-slider[data-active="3"] .ind-expand-dots .expand-dot:nth-child(4),
  .moving-dot,.fraction-progress
){
  background-color:var(--pb-theme-support,var(--color-support))!important;
}
.page-builder-section[data-section-category="Indicadores slider"] .combined-indicator-visual .mock-slider h3{
  color:var(--pb-theme-white,var(--color-white))!important;
}
.page-builder-section[data-section-category="Indicadores slider"] .combined-indicator-visual :is(.mock-slider-kicker,.mock-slider h3 span){
  color:var(--pb-theme-support,var(--color-support))!important;
}

/* =========================================================
   PASO 18 · CATÁLOGO · CONTRATO CANÓNICO
   CT001 · CT002 · CT003
   - Colores funcionales: siete tokens oficiales.
   - Sombras: única derivación permitida, DARK real + transparencia.
   - Cards de producto y controles responden a Natural / Alternativo.
   - Acciones CT001 / CT003 conservan: Ver más = WHITE/DARK real;
     Cotizar = KEY/WHITE real.
   - Se preservan productos, orden, imágenes, grids, medidas y JavaScript.
   ========================================================= */

/* ---------- Accesibilidad compartida ---------- */
.page-builder-section:is(
  [data-source-id="recursos-2-07"],
  [data-source-id="recursos-2-14"],
  [data-source-id="recursos-2-24"]
) .catalog-embed :is(button,input,[role="button"]):focus-visible{
  outline:2px solid var(--pb-theme-key,var(--color-key))!important;
  outline-offset:2px!important;
}

/* ---------- Superficie general del catálogo ---------- */
.page-builder-section[data-source-id="recursos-2-07"]:not(.page-builder-alt-color-on) .catalog-embed .original-resource,
.page-builder-section[data-source-id="recursos-2-07"]:not(.page-builder-alt-color-on) .catalog-embed section.block.tinted,
.page-builder-section[data-source-id="recursos-2-14"]:not(.page-builder-alt-color-on) .catalog-embed .demo-block,
.page-builder-section[data-source-id="recursos-2-24"]:not(.page-builder-alt-color-on) .catalog-embed .original-resource,
.page-builder-section[data-source-id="recursos-2-24"]:not(.page-builder-alt-color-on) .catalog-embed section.block{
  background:var(--pb-theme-light,var(--color-light))!important;
  color:var(--pb-theme-dark,var(--color-dark))!important;
}
.page-builder-section[data-source-id="recursos-2-07"].page-builder-alt-color-on .catalog-embed .original-resource,
.page-builder-section[data-source-id="recursos-2-07"].page-builder-alt-color-on .catalog-embed section.block.tinted,
.page-builder-section[data-source-id="recursos-2-14"].page-builder-alt-color-on .catalog-embed .demo-block,
.page-builder-section[data-source-id="recursos-2-24"].page-builder-alt-color-on .catalog-embed .original-resource,
.page-builder-section[data-source-id="recursos-2-24"].page-builder-alt-color-on .catalog-embed section.block{
  background:var(--pb-theme-dark,var(--color-dark))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
}

/* =========================================================
   CT001 + CT003 · CARDS DE PRODUCTO
   ========================================================= */
.page-builder-section:is(
  [data-source-id="recursos-2-07"],
  [data-source-id="recursos-2-24"]
) .catalog-embed .product-card{
  background:var(--color-white)!important;
  color:var(--color-dark)!important;
  border-color:var(--color-line)!important;
  box-shadow:none!important;
}
.page-builder-section:is(
  [data-source-id="recursos-2-07"],
  [data-source-id="recursos-2-24"]
) .catalog-embed .product-card:hover{
  border-color:transparent!important;
  box-shadow:0 18px 48px color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 14%,transparent)!important;
}
.page-builder-section:is(
  [data-source-id="recursos-2-07"],
  [data-source-id="recursos-2-24"]
) .catalog-embed .product-img{
  background:var(--color-light)!important;
}
.page-builder-section:is(
  [data-source-id="recursos-2-07"],
  [data-source-id="recursos-2-24"]
) .catalog-embed .product-img .brand-tag{
  background:var(--color-white)!important;
  color:var(--color-dark)!important;
  box-shadow:
    0 1px 3px color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 6%,transparent),
    0 1px 2px color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 4%,transparent)!important;
}
.page-builder-section:is(
  [data-source-id="recursos-2-07"],
  [data-source-id="recursos-2-24"]
) .catalog-embed .product-cat{
  color:var(--color-key)!important;
  font-size:var(--small)!important;
  font-weight:500!important;
}
.page-builder-section:is(
  [data-source-id="recursos-2-07"],
  [data-source-id="recursos-2-24"]
) .catalog-embed .product-info h3{
  color:var(--color-dark)!important;
  font-size:var(--card)!important;
  font-weight:400!important;
}
.page-builder-section:is(
  [data-source-id="recursos-2-07"],
  [data-source-id="recursos-2-24"]
) .catalog-embed .product-info h3 span{
  color:var(--color-muted)!important;
  font-weight:400!important;
}
.page-builder-section:is(
  [data-source-id="recursos-2-07"],
  [data-source-id="recursos-2-24"]
) .catalog-embed .product-info p{
  color:var(--color-muted)!important;
  font-size:var(--small)!important;
  font-weight:400!important;
}

/* Acciones validadas de producto: se mantienen estables en ambos modos. */
.page-builder-section:is(
  [data-source-id="recursos-2-07"],
  [data-source-id="recursos-2-24"]
) .catalog-embed .product-actions .btn-info-sm{
  background:var(--pb-theme-white,var(--color-white))!important;
  color:var(--pb-theme-dark,var(--color-dark))!important;
  border-color:var(--pb-theme-line,var(--color-line))!important;
  font-size:var(--small)!important;
  font-weight:500!important;
}
.page-builder-section:is(
  [data-source-id="recursos-2-07"],
  [data-source-id="recursos-2-24"]
) .catalog-embed .product-actions .btn-info-sm:hover{
  background:var(--pb-theme-light,var(--color-light))!important;
  color:var(--pb-theme-dark,var(--color-dark))!important;
  border-color:var(--pb-theme-line,var(--color-line))!important;
}
.page-builder-section:is(
  [data-source-id="recursos-2-07"],
  [data-source-id="recursos-2-24"]
) .catalog-embed .product-actions .btn-quote-sm{
  background:var(--pb-theme-key,var(--color-key))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
  border-color:var(--pb-theme-key,var(--color-key))!important;
  font-size:var(--small)!important;
  font-weight:500!important;
}
.page-builder-section:is(
  [data-source-id="recursos-2-07"],
  [data-source-id="recursos-2-24"]
) .catalog-embed .product-actions .btn-quote-sm:hover{
  background:var(--pb-theme-dark,var(--color-dark))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
  border-color:var(--pb-theme-dark,var(--color-dark))!important;
}

/* =========================================================
   CT002 · CATÁLOGO FILTRABLE
   ========================================================= */
.page-builder-section[data-source-id="recursos-2-14"] .catalog-embed .catalog-tools input{
  background:var(--color-white)!important;
  color:var(--color-dark)!important;
  border-color:var(--color-line)!important;
  caret-color:var(--color-key)!important;
  box-shadow:none!important;
}
.page-builder-section[data-source-id="recursos-2-14"] .catalog-embed .catalog-tools input::placeholder{
  color:var(--color-muted)!important;
  opacity:1!important;
}
.page-builder-section[data-source-id="recursos-2-14"] .catalog-embed .catalog-tools input:focus{
  border-color:var(--color-key)!important;
  outline:2px solid var(--color-key)!important;
  outline-offset:1px!important;
  box-shadow:none!important;
}
.page-builder-section[data-source-id="recursos-2-14"] .catalog-embed .filter{
  background:var(--color-white)!important;
  color:var(--color-dark)!important;
  border-color:var(--color-line)!important;
  font-size:var(--small)!important;
  font-weight:500!important;
  filter:none!important;
}
.page-builder-section[data-source-id="recursos-2-14"] .catalog-embed .filter:is(:hover,.active){
  background:var(--pb-theme-key,var(--color-key))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
  border-color:var(--pb-theme-key,var(--color-key))!important;
  filter:none!important;
}
.page-builder-section[data-source-id="recursos-2-14"] .catalog-embed .catalog-card{
  background:var(--color-white)!important;
  color:var(--color-dark)!important;
  border-color:var(--color-line)!important;
  box-shadow:0 18px 50px color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 8%,transparent)!important;
}
.page-builder-section[data-source-id="recursos-2-14"] .catalog-embed .catalog-card small{
  color:var(--color-key)!important;
  font-size:var(--small)!important;
  font-weight:500!important;
}
.page-builder-section[data-source-id="recursos-2-14"] .catalog-embed .catalog-card h4{
  color:var(--color-dark)!important;
  font-size:var(--card)!important;
  font-weight:400!important;
}
.page-builder-section[data-source-id="recursos-2-14"] .catalog-embed .catalog-card p{
  color:var(--color-muted)!important;
  font-size:var(--small)!important;
  font-weight:400!important;
}
.page-builder-section[data-source-id="recursos-2-14"] .catalog-embed .catalog-card button{
  background:var(--pb-theme-key,var(--color-key))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
  border-color:var(--pb-theme-key,var(--color-key))!important;
  font-size:var(--small)!important;
  font-weight:700!important;
  filter:none!important;
}
.page-builder-section[data-source-id="recursos-2-14"] .catalog-embed .catalog-card button:hover{
  background:var(--pb-theme-dark,var(--color-dark))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
  border-color:var(--pb-theme-dark,var(--color-dark))!important;
  filter:none!important;
}

/* =========================================================
   CT003 · BUSCADOR / FILTROS / RESULTADOS
   ========================================================= */
.page-builder-section[data-source-id="recursos-2-24"] .catalog-embed .cat-sidebar{
  background:var(--color-white)!important;
  color:var(--color-dark)!important;
  border-color:var(--color-line)!important;
  box-shadow:0 8px 24px color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 8%,transparent)!important;
}
.page-builder-section[data-source-id="recursos-2-24"] .catalog-embed .cat-sidebar h4{
  color:var(--color-muted)!important;
  font-size:var(--small)!important;
  font-weight:500!important;
}
.page-builder-section[data-source-id="recursos-2-24"] .catalog-embed .cat-search{
  background:var(--color-white)!important;
  color:var(--color-dark)!important;
  border-color:var(--color-line)!important;
  caret-color:var(--color-key)!important;
  font-size:var(--small)!important;
  box-shadow:none!important;
}
.page-builder-section[data-source-id="recursos-2-24"] .catalog-embed .cat-search::placeholder{
  color:var(--color-muted)!important;
  opacity:1!important;
}
.page-builder-section[data-source-id="recursos-2-24"] .catalog-embed .cat-search:focus{
  border-color:var(--color-key)!important;
  outline:2px solid var(--color-key)!important;
  outline-offset:1px!important;
  box-shadow:none!important;
}
.page-builder-section[data-source-id="recursos-2-24"] .catalog-embed .filter-list::-webkit-scrollbar-thumb{
  background:var(--color-line)!important;
}
.page-builder-section[data-source-id="recursos-2-24"] .catalog-embed .filter-list button{
  color:var(--color-muted)!important;
  font-size:var(--small)!important;
  font-weight:500!important;
}
.page-builder-section[data-source-id="recursos-2-24"] .catalog-embed .filter-list button:hover{
  background:var(--pb-theme-light,var(--color-light))!important;
  color:var(--pb-theme-dark,var(--color-dark))!important;
}
.page-builder-section[data-source-id="recursos-2-24"] .catalog-embed .filter-list button.active{
  background:var(--pb-theme-key,var(--color-key))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
}
.page-builder-section[data-source-id="recursos-2-24"] .catalog-embed .filter-list .badge{
  background:var(--color-light)!important;
  color:var(--color-key)!important;
  font-size:var(--small)!important;
  font-weight:500!important;
}
.page-builder-section[data-source-id="recursos-2-24"] .catalog-embed .filter-list button.active .badge{
  background:var(--pb-theme-key,var(--color-key))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
}
.page-builder-section[data-source-id="recursos-2-24"] .catalog-embed .cat-toolbar{
  border-color:var(--color-line)!important;
}
.page-builder-section[data-source-id="recursos-2-24"] .catalog-embed .cat-toolbar .result-count{
  color:var(--color-muted)!important;
  font-size:var(--small)!important;
  font-weight:500!important;
}
.page-builder-section[data-source-id="recursos-2-24"] .catalog-embed .cat-toolbar .result-count strong{
  color:var(--color-dark)!important;
  font-size:var(--small)!important;
  font-weight:700!important;
}
.page-builder-section[data-source-id="recursos-2-24"] .catalog-embed #active-filters{
  color:var(--color-key)!important;
  font-size:var(--small)!important;
  font-weight:500!important;
}
.page-builder-section[data-source-id="recursos-2-24"] .catalog-embed button[onclick^="resetFilters"]{
  background:var(--pb-theme-light,var(--color-light))!important;
  color:var(--pb-theme-dark,var(--color-dark))!important;
  border:1px solid var(--pb-theme-line,var(--color-line))!important;
  font-size:var(--small)!important;
  font-weight:500!important;
}
.page-builder-section[data-source-id="recursos-2-24"] .catalog-embed button[onclick^="resetFilters"]:hover{
  background:var(--pb-theme-key,var(--color-key))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
  border-color:var(--pb-theme-key,var(--color-key))!important;
}



/* =========================================================
   PASO 19 · FOOTER Y FORMULARIOS FINALES · CONTRATO CANÓNICO
   FT001 · FT002 · FT003 · FT004 · FT005 · FT007 · FT008 · FT009 · FT010
   - Colores funcionales: siete tokens oficiales.
   - Contraste Natural / Alternativo resuelto con snapshots del tema.
   - Formularios finales permanecen como superficies claras legibles.
   - Estados hover/focus no introducen colores independientes.
   - Se preservan estructura, grids, medidas, contenidos y responsive.
   ========================================================= */

/* ---------- Superficie y tipografía compartida ---------- */
.page-builder-section[data-section-category="Footers"] .footer-real{
  background:transparent!important;
}
.page-builder-section[data-section-category="Footers"]:not(.page-builder-alt-color-on) .site-footer:not(.footer-editorial){
  background:var(--pb-theme-white,var(--color-white))!important;
  color:var(--pb-theme-dark,var(--color-dark))!important;
  border-top-color:var(--pb-theme-line,var(--color-line))!important;
}
.page-builder-section[data-section-category="Footers"].page-builder-alt-color-on .site-footer:not(.footer-editorial){
  background:var(--pb-theme-dark,var(--color-dark))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
  border-top-color:var(--pb-theme-line,var(--color-line))!important;
}

/* Títulos de columna = Small; copias y navegación mantienen escala Small. */
.page-builder-section[data-section-category="Footers"] .footer-title{
  font-size:var(--small)!important;
  font-weight:500!important;
}
.page-builder-section[data-section-category="Footers"] :is(.footer-copy,.footer-nav a,.footer-bottom,.footer-logo,.branch-card strong,.legal-item strong){
  font-size:var(--small)!important;
}
.page-builder-section[data-section-category="Footers"] :is(.footer-nav a,.branch-card strong,.legal-item strong){
  font-weight:500!important;
}
.page-builder-section[data-section-category="Footers"] .payment-tag{
  font-size:var(--micro)!important;
  font-weight:500!important;
}

/* ---------- Natural ---------- */
.page-builder-section[data-section-category="Footers"]:not(.page-builder-alt-color-on) :is(
  .footer-logo,
  .footer-title,
  .footer-nav a,
  .footer-bottom a,
  .footer-link,
  .big-contact a,
  .legal-item strong
){
  color:var(--pb-theme-dark,var(--color-dark))!important;
}
.page-builder-section[data-section-category="Footers"]:not(.page-builder-alt-color-on) :is(.footer-copy,.footer-bottom){
  color:var(--pb-theme-muted,var(--color-muted))!important;
}

/* ---------- Alternativo ---------- */
.page-builder-section[data-section-category="Footers"].page-builder-alt-color-on :is(
  .footer-logo,
  .footer-title,
  .footer-nav a,
  .footer-bottom a,
  .footer-link,
  .big-contact a,
  .legal-item strong
){
  color:var(--pb-theme-white,var(--color-white))!important;
}
.page-builder-section[data-section-category="Footers"].page-builder-alt-color-on :is(.footer-copy,.footer-bottom){
  color:var(--pb-theme-line,var(--color-line))!important;
}

/* Divisores y líneas */
.page-builder-section[data-section-category="Footers"] :is(.site-footer,.footer-bottom,.legal-item,.footer-social a,.payment-tag){
  border-color:var(--pb-theme-line,var(--color-line))!important;
}
.page-builder-section[data-section-category="Footers"] .footer-divider{
  background:var(--pb-theme-line,var(--color-line))!important;
}

/* Marca sólida KEY: White real en ambos modos. */
.page-builder-section[data-section-category="Footers"] .footer-logo-mark{
  background:var(--pb-theme-key,var(--color-key))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
}

/* Enlaces y contactos */
.page-builder-section[data-section-category="Footers"] :is(
  .footer-nav a,
  .footer-bottom a,
  .footer-link,
  .big-contact a
):hover{
  color:var(--pb-theme-key,var(--color-key))!important;
}

/* ---------- Redes sociales ---------- */
.page-builder-section[data-section-category="Footers"] .footer-social a{
  background:transparent!important;
  border-color:var(--pb-theme-line,var(--color-line))!important;
}
.page-builder-section[data-section-category="Footers"]:not(.page-builder-alt-color-on) .footer-social a{
  color:var(--pb-theme-dark,var(--color-dark))!important;
}
.page-builder-section[data-section-category="Footers"].page-builder-alt-color-on .footer-social a{
  color:var(--pb-theme-white,var(--color-white))!important;
}
.page-builder-section[data-section-category="Footers"] .footer-social a:hover{
  background:var(--pb-theme-light,var(--color-light))!important;
  color:var(--pb-theme-dark,var(--color-dark))!important;
}
.page-builder-section[data-section-category="Footers"] .footer-social a svg :is(path,rect,circle){
  color:inherit!important;
}

/* ---------- FT002 · formulario final / newsletter ---------- */
.page-builder-section[data-section-category="Footers"] .footer-input{
  background:var(--pb-theme-white,var(--color-white))!important;
  color:var(--pb-theme-dark,var(--color-dark))!important;
  border-color:var(--pb-theme-line,var(--color-line))!important;
  caret-color:var(--pb-theme-key,var(--color-key))!important;
  box-shadow:none!important;
  font-size:var(--body)!important;
  font-weight:400!important;
}
.page-builder-section[data-section-category="Footers"] .footer-input::placeholder{
  color:var(--pb-theme-muted,var(--color-muted))!important;
  opacity:1!important;
}
.page-builder-section[data-section-category="Footers"] .footer-input:focus{
  border-color:var(--pb-theme-key,var(--color-key))!important;
  outline:2px solid var(--pb-theme-key,var(--color-key))!important;
  outline-offset:1px!important;
  box-shadow:none!important;
}

/* CTA propio del Footer: KEY/WHITE estable. */
.page-builder-section[data-section-category="Footers"] .footer-cta{
  background:var(--pb-theme-key,var(--color-key))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
  border-color:var(--pb-theme-key,var(--color-key))!important;
  font-size:var(--small)!important;
  font-weight:700!important;
}
.page-builder-section[data-section-category="Footers"] .footer-cta:hover{
  background:var(--pb-theme-dark,var(--color-dark))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
  border-color:var(--pb-theme-line,var(--color-line))!important;
}
.page-builder-section[data-section-category="Footers"] :is(a,button,input):focus-visible{
  outline:2px solid var(--pb-theme-key,var(--color-key))!important;
  outline-offset:2px!important;
}

/* ---------- FT004 · tarjetas de sedes ----------
   Conservan superficie clara incluso en Alternativo, igual que otros
   subpaneles claros ya validados del sistema. */
.page-builder-section[data-source-id="footer-04"] .branch-card{
  background:var(--pb-theme-light,var(--color-light))!important;
  color:var(--pb-theme-dark,var(--color-dark))!important;
  border-color:var(--pb-theme-line,var(--color-line))!important;
}
.page-builder-section[data-source-id="footer-04"] .branch-card strong{
  color:var(--pb-theme-dark,var(--color-dark))!important;
}
.page-builder-section[data-source-id="footer-04"] .branch-card .footer-copy{
  color:var(--pb-theme-muted,var(--color-muted))!important;
}

/* ---------- FT007 · datos legales ---------- */
.page-builder-section[data-source-id="footer-07"] .legal-item{
  border-bottom-color:var(--pb-theme-line,var(--color-line))!important;
}

/* ---------- FT009 · medios de pago ---------- */
.page-builder-section[data-source-id="footer-09"]:not(.page-builder-alt-color-on) .payment-tag{
  background:transparent!important;
  color:var(--pb-theme-dark,var(--color-dark))!important;
  border-color:var(--pb-theme-line,var(--color-line))!important;
}
.page-builder-section[data-source-id="footer-09"].page-builder-alt-color-on .payment-tag{
  background:transparent!important;
  color:var(--pb-theme-white,var(--color-white))!important;
  border-color:var(--pb-theme-line,var(--color-line))!important;
}

/* ---------- FT010 · editorial: composición intrínsecamente oscura ---------- */
.page-builder-section[data-source-id="footer-10"] .footer-editorial{
  background:var(--pb-theme-dark,var(--color-dark))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
  border-top-color:var(--pb-theme-line,var(--color-line))!important;
}
.page-builder-section[data-source-id="footer-10"] .footer-editorial-logo,
.page-builder-section[data-source-id="footer-10"] .footer-editorial .footer-title,
.page-builder-section[data-source-id="footer-10"] .footer-editorial .footer-logo{
  color:var(--pb-theme-white,var(--color-white))!important;
}
.page-builder-section[data-source-id="footer-10"] .footer-editorial :is(.footer-copy,.footer-nav a,.footer-bottom,.footer-bottom a){
  color:var(--pb-theme-line,var(--color-line))!important;
}
.page-builder-section[data-source-id="footer-10"] .footer-editorial :is(.footer-nav a,.footer-bottom a):hover{
  color:var(--pb-theme-white,var(--color-white))!important;
}
.page-builder-section[data-source-id="footer-10"] .footer-editorial .footer-bottom{
  border-top-color:var(--pb-theme-line,var(--color-line))!important;
}


/* =========================================================
   PASO 23 · BARRIDO FINAL DE EXCEPCIONES
   - KEY conserva WHITE real como contraste.
   - Sombras/overlays consumen DARK real + transparencia.
   - Composiciones declaradas como oscuras no se blanquean en Alternativo.
   - No altera geometría, responsive ni interacción.
   ========================================================= */

/* Flotantes: Key no cambia de identidad en Alternativo, por tanto su
   contenido debe conservar WHITE real. */
.page-builder-section[data-section-category="Flotantes"] :is(
  .floating-alert,
  .floating-whatsapp,
  .floating-phone,
  .floating-calendar,
  .floating-quote
){
  background:var(--pb-theme-key,var(--color-key))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
  border-color:var(--pb-theme-key,var(--color-key))!important;
}
.page-builder-section[data-section-category="Flotantes"] :is(
  .floating-alert-dot,
  .floating-whatsapp-icon,
  .floating-calendar-icon
){
  color:var(--pb-theme-white,var(--color-white))!important;
}
.page-builder-section[data-section-category="Flotantes"] .floating-alert-dot{
  background:var(--pb-theme-white,var(--color-white))!important;
}
.page-builder-section[data-section-category="Flotantes"] .floating-back-top{
  background:var(--pb-theme-white,var(--color-white))!important;
  color:var(--pb-theme-dark,var(--color-dark))!important;
  border-color:var(--pb-theme-line,var(--color-line))!important;
}
.page-builder-section[data-section-category="Flotantes"] .floating-quote-icon{
  background:var(--pb-theme-line,var(--color-line))!important;
  color:var(--pb-theme-dark,var(--color-dark))!important;
}

/* Stats cuyo concepto visual es explícitamente oscuro. */
.page-builder-section[data-source-id="trayectoria-stats-01"] :is(.tray-dark,.tray-dark article),
.page-builder-section[data-source-id="trayectoria-stats-05"] #DEMO-TRAYECTORIA-05 article,
.page-builder-section[data-source-id="trayectoria-stats-09"] :is(.tray-authority,.tray-authority-main,.tray-authority-side article){
  background:var(--pb-theme-dark,var(--color-dark))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
}
.page-builder-section[data-source-id="trayectoria-stats-01"] :is(.tray-heading h2,.tray-dark strong),
.page-builder-section[data-source-id="trayectoria-stats-09"] :is(.tray-authority h2,.tray-authority h3){
  color:var(--pb-theme-white,var(--color-white))!important;
}

/* Problema/Solución: superficies nombradas como dark mantienen DARK real. */
.page-builder-section[data-section-category="Problema / solución"] :is(
  .dark-card,
  .answer-strip,
  .check-panel .intro,
  .objection > div + div,
  .alert-main
){
  background:var(--pb-theme-dark,var(--color-dark))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
}
.page-builder-section[data-section-category="Problema / solución"] :is(
  .dark-card h3,.dark-card h4,
  .check-panel .intro h3,
  .objection > div + div h4,
  .alert-main h3
){
  color:var(--pb-theme-white,var(--color-white))!important;
}
.page-builder-section[data-section-category="Problema / solución"] :is(
  .dark-card p,
  .dark-card .list li,
  .objection > div + div p,
  .alert-main p
){
  color:var(--pb-theme-line,var(--color-line))!important;
}

/* LG005 contiene una mitad editorial deliberadamente oscura. */
.page-builder-section[data-source-id="logos-clientes-05"] :is(.split-copy,.split-logo.dark){
  background:var(--pb-theme-dark,var(--color-dark))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
}
.page-builder-section[data-source-id="logos-clientes-05"] .split-copy :is(h2,h3,p,strong,span){
  color:inherit!important;
}

/* =========================================================
   PASO 24 · PRUEBA GLOBAL DE CAMBIO DE TEMA
   Efectos que requieren transparencia toman siempre el Dark
   real del tema mediante --pb-theme-dark.
   ========================================================= */


/* =========================================================
   AJUSTES PUNTUALES · SECCIONES REPORTADAS
   TL001 / TL008 / ST005 / LG004 / MQ002 / MQ003 / FM001
   Corrige únicamente contraste de superficies normalizadas y
   overflow estructural de FM001. No altera otros recursos.
   ========================================================= */

/* TL001 · la caja de contenido es una superficie clara interna. */
.page-builder-section[data-source-id="timeline-01"] .timeline-module .stepper-copy{
  background:var(--pb-theme-light,var(--color-light))!important;
  border-color:var(--pb-theme-line,var(--color-line))!important;
  color:var(--pb-theme-dark,var(--color-dark))!important;
}
.page-builder-section[data-source-id="timeline-01"] .timeline-module .stepper-copy h3{
  color:var(--pb-theme-dark,var(--color-dark))!important;
}
.page-builder-section[data-source-id="timeline-01"] .timeline-module .stepper-copy p{
  color:var(--pb-theme-muted,var(--color-muted))!important;
}
.page-builder-section[data-source-id="timeline-01"] .timeline-module .stepper-copy button{
  background:var(--pb-theme-key,var(--color-key))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
  border-color:var(--pb-theme-key,var(--color-key))!important;
}

/* TL008 · las tarjetas zigzag son superficies claras, no paneles oscuros. */
.page-builder-section[data-source-id="timeline-09"] .timeline-module .timeline-zigzag > article > div{
  background:var(--pb-theme-light,var(--color-light))!important;
  border-color:var(--pb-theme-line,var(--color-line))!important;
  color:var(--pb-theme-dark,var(--color-dark))!important;
}
.page-builder-section[data-source-id="timeline-09"] .timeline-module .timeline-zigzag h3{
  color:var(--pb-theme-dark,var(--color-dark))!important;
}
.page-builder-section[data-source-id="timeline-09"] .timeline-module .timeline-zigzag p{
  color:var(--pb-theme-muted,var(--color-muted))!important;
}
.page-builder-section[data-source-id="timeline-09"] .timeline-module .timeline-zigzag span{
  color:var(--pb-theme-key,var(--color-key))!important;
}

/* ST005 · el marco original era un velo tenue sobre DARK; al quedar sólido
   en LINE se volvió gris claro. Se restaura como composición oscura exacta. */
.page-builder-section[data-source-id="trayectoria-stats-05"] #DEMO-TRAYECTORIA-05 .tray-proof,
.page-builder-section[data-source-id="trayectoria-stats-05"] #DEMO-TRAYECTORIA-05 .tray-proof-box{
  background:var(--pb-theme-dark,var(--color-dark))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
}
.page-builder-section[data-source-id="trayectoria-stats-05"] #DEMO-TRAYECTORIA-05 .tray-proof-box{
  border-color:var(--pb-theme-line,var(--color-line))!important;
}
.page-builder-section[data-source-id="trayectoria-stats-05"] #DEMO-TRAYECTORIA-05 .tray-heading h2{
  color:var(--pb-theme-white,var(--color-white))!important;
}
.page-builder-section[data-source-id="trayectoria-stats-05"] #DEMO-TRAYECTORIA-05 .tray-proof-grid{
  background:var(--pb-theme-line,var(--color-line))!important;
}
.page-builder-section[data-source-id="trayectoria-stats-05"] #DEMO-TRAYECTORIA-05 article{
  background:var(--pb-theme-dark,var(--color-dark))!important;
}
.page-builder-section[data-source-id="trayectoria-stats-05"] #DEMO-TRAYECTORIA-05 article p{
  color:var(--pb-theme-line,var(--color-line))!important;
}

/* LG004 · el fondo del marquee vuelve a ser oscuro y cada logo usa una
   superficie clara controlada, evitando WHITE sobre LINE sólido. */
.page-builder-section[data-source-id="logos-clientes-04"] #LOGO-DEMO-04 .logo-section,
.page-builder-section[data-source-id="logos-clientes-04"] #LOGO-DEMO-04 .marquee{
  background:var(--pb-theme-dark,var(--color-dark))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
}
.page-builder-section[data-source-id="logos-clientes-04"] #LOGO-DEMO-04 .marquee{
  border-color:var(--pb-theme-line,var(--color-line))!important;
}
.page-builder-section[data-source-id="logos-clientes-04"] #LOGO-DEMO-04 .client-logo{
  background:var(--pb-theme-light,var(--color-light))!important;
  border-color:var(--pb-theme-line,var(--color-line))!important;
  color:var(--pb-theme-dark,var(--color-dark))!important;
}
.page-builder-section[data-source-id="logos-clientes-04"] #LOGO-DEMO-04 .client-logo:hover{
  background:var(--pb-theme-light,var(--color-light))!important;
  border-color:var(--pb-theme-key,var(--color-key))!important;
  color:var(--pb-theme-key,var(--color-key))!important;
}

/* MQ002 · cápsula clara con texto DARK; el escenario permanece DARK. */
.page-builder-section[data-source-id="marquee-02"] :is(
  .visual-resources-embed,.combined-marquees-demo,.combined-marquee-list,
  .combined-marquee-item,.combined-marquee-visual
){
  background-color:var(--pb-theme-dark,var(--color-dark))!important;
}
.page-builder-section[data-source-id="marquee-02"] .marquee-2{
  background:var(--pb-theme-light,var(--color-light))!important;
  border-color:var(--pb-theme-line,var(--color-line))!important;
}
.page-builder-section[data-source-id="marquee-02"] .marquee-2 span{
  color:var(--pb-theme-dark,var(--color-dark))!important;
}
.page-builder-section[data-source-id="marquee-02"] .marquee-2 span::after{
  background:var(--pb-theme-support,var(--color-support))!important;
}

/* MQ003 · no estaba roto; se fija únicamente su escenario oscuro para que
   no herede una superficie clara del wrapper. */
.page-builder-section[data-source-id="marquee-03"] :is(
  .visual-resources-embed,.combined-marquees-demo,.combined-marquee-list,
  .combined-marquee-item,.combined-marquee-visual,.marquee-3
){
  background-color:var(--pb-theme-dark,var(--color-dark))!important;
}
.page-builder-section[data-source-id="marquee-03"] .marquee-3{
  border-color:var(--pb-theme-support,var(--color-support))!important;
}
.page-builder-section[data-source-id="marquee-03"] .marquee-3 span{
  color:transparent!important;
  -webkit-text-stroke:1px var(--pb-theme-line,var(--color-line))!important;
}
.page-builder-section[data-source-id="marquee-03"] .marquee-3 span::after{
  background:transparent!important;
  border-color:var(--pb-theme-support,var(--color-support))!important;
}

/* FM001 · 50% + 50% + gap excedía el ancho disponible. */
.page-builder-section[data-source-id="formulario-01"] #formulario-01 .contact-form-inner{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:22px!important;
  box-sizing:border-box!important;
}
.page-builder-section[data-source-id="formulario-01"] #formulario-01 :is(.contact-info-card,.contact-form-card){
  min-width:0!important;
  box-sizing:border-box!important;
}
@media (max-width:900px){
  .page-builder-section[data-source-id="formulario-01"] #formulario-01 .contact-form-inner{
    grid-template-columns:minmax(0,1fr)!important;
    gap:28px!important;
  }
}


/* =========================================================
   PERSONALIZAR CSS · CONTRATO SEMÁNTICO GLOBAL POST-24
   Adaptador transversal entre Constructor de Estilos y recursos.
   No modifica HTML, JS, data-*, responsive ni lógica de los 24 pasos.

   Los tokens nuevos se capturan en :root con alias internos para
   impedir que variables legacy redefinidas dentro de cada recurso
   (por ejemplo --font-main / --font-secondary) anulen Personalizar.
   Si un token no existe, su declaración dependiente es inválida y
   permanece intacto el estilo original validado del recurso.
   ========================================================= */
:root{
  --pb-style-font-primary:var(--font-primary);
  --pb-style-font-secondary:var(--font-secondary);

  --pb-style-type-h1:var(--type-h1);
  --pb-style-type-h2:var(--type-h2);
  --pb-style-type-h3:var(--type-h3);
  --pb-style-type-h4:var(--type-h4);
  --pb-style-type-h5:var(--type-h5);
  --pb-style-type-h6:var(--type-h6);
  --pb-style-type-card:var(--type-card);
  --pb-style-type-stats:var(--type-stats);
  --pb-style-type-body:var(--type-body);
  --pb-style-type-small:var(--type-small);
  --pb-style-type-micro:var(--type-micro);

  --pb-style-space-content:var(--space-content);
  --pb-style-radius-card:var(--radius-card);
  --pb-style-radius-button:var(--radius-button);
  --pb-style-radius-label:var(--radius-label);

  /* Bridge de escala legacy -> tokens del Constructor de Estilos.
     Los fallbacks reproducen exactamente la escala maestra vigente. */
  --h1:var(--type-h1,clamp(38px,4.25vw,61px));
  --stats:var(--type-stats,var(--h1));
  --h2:var(--type-h2,clamp(34px,3.4vw,49px));
  --h3:var(--type-h3,clamp(29px,2.7vw,39px));
  --h4:var(--type-h4,clamp(26px,2.2vw,31px));
  --h5:var(--type-h5,clamp(22px,1.8vw,25px));
  --h6:var(--type-h6,clamp(18px,1.45vw,20px));
  --card:var(--type-card,clamp(18px,1.45vw,20px));
  --body:var(--type-body,16px);
  --small:var(--type-small,13px);
  --micro:var(--type-micro,10px);
}

/* Base tipográfica transversal. Incluye spans/divs con texto directo
   que antes heredaban --font-main local y por eso dejaban de responder. */
#pb-global-css-scope :where(
  section,article,main,aside,header,footer,nav,div,
  p,span,a,strong,b,em,small,li,dt,dd,blockquote,figcaption,
  button,input,textarea,select,option,label
){
  font-family:var(--pb-style-font-secondary)!important;
}

/* Tipografía secundaria = lectura, controles y navegación. */
#pb-global-css-scope :where(
  p,li,dt,dd,blockquote,figcaption,small,
  button,input,textarea,select,option,label,
  nav a
){
  font-family:var(--pb-style-font-secondary)!important;
}

/* Tipografía primaria = jerarquía editorial y títulos semánticos. */
#pb-global-css-scope :where(h1,h2,h3,h4,h5,h6),
#pb-global-css-scope :where(
  [class~="title"],[class$="-title"],[class*="-title "],
  [class~="heading"],[class$="-heading"],[class*="-heading "]
){
  font-family:var(--pb-style-font-primary)!important;
}

/* Escala tipográfica canónica. */
#pb-global-css-scope :where(h1,.type-h1){font-size:var(--pb-style-type-h1)!important;}
#pb-global-css-scope :where(h2,.type-h2){font-size:var(--pb-style-type-h2)!important;}
#pb-global-css-scope :where(h3,.type-h3){font-size:var(--pb-style-type-h3)!important;}
#pb-global-css-scope :where(h4,.type-h4){font-size:var(--pb-style-type-h4)!important;}
#pb-global-css-scope :where(h5,.type-h5){font-size:var(--pb-style-type-h5)!important;}
#pb-global-css-scope :where(h6,.type-h6){font-size:var(--pb-style-type-h6)!important;}

#pb-global-css-scope :where(p,li,dt,dd,blockquote,textarea){
  font-size:var(--pb-style-type-body)!important;
}

#pb-global-css-scope :where(
  .type-small,small,
  button,input,textarea,select,
  nav a,
  a[class~="btn"],a[class*="-btn"],a[class*="button"],a[class*="cta"],
  [role="button"]
){
  font-size:var(--pb-style-type-small)!important;
}

#pb-global-css-scope :where(
  .type-micro,
  [class~="eyebrow"],[class$="-eyebrow"],[class*="-eyebrow "],
  [class~="kicker"],[class$="-kicker"],[class*="-kicker "],
  [class~="badge"],[class$="-badge"],[class*="-badge "],
  [class~="tag"],[class$="-tag"],[class*="-tag "],
  [class~="pill"],[class$="-pill"],[class*="-pill "],
  [class~="chip"],[class$="-chip"],[class*="-chip "],
  [class~="label"],[class$="-label"],[class*="-label "]
){
  font-size:var(--pb-style-type-micro)!important;
}

/* Títulos contenidos dentro de cards consumen Card, sin depender
   de que el recurso use h2, h3, h4, strong o una clase propia. */
#pb-global-css-scope :is(
  [class~="card"],[class$="-card"],[class*="-card "],
  [class~="tile"],[class$="-tile"],[class*="-tile "]
) :where(h2,h3,h4,h5,h6,strong,[class~="title"],[class$="-title"],[class*="-title "]){
  font-family:var(--pb-style-font-primary)!important;
  font-size:var(--pb-style-type-card)!important;
}
#pb-global-css-scope :where(.type-card,[class~="card-title"],[class$="-card-title"],[class*="-card-title "]){
  font-family:var(--pb-style-font-primary)!important;
  font-size:var(--pb-style-type-card)!important;
}

/* Títulos de componentes desplegables: contrato por tipo de componente,
   no por código de recurso. Cubre AC presentes y futuros. */
#pb-global-css-scope :is(
  [class~="accordion-embed"],[class*="accordion"],
  [class~="acc-section"],[class^="acc-"],[class*=" acc-"]
) button :where(strong,b,[class~="title"],[class$="-title"],[class*="-title "]),
#pb-global-css-scope details > summary{
  font-family:var(--pb-style-font-primary)!important;
  font-size:var(--pb-style-type-card)!important;
}

/* Métricas / cifras / KPI. */
#pb-global-css-scope :where(
  .type-stats,
  [class~="stat-value"],[class$="-stat-value"],[class*="-stat-value "],
  [class~="stat-number"],[class$="-stat-number"],[class*="-stat-number "],
  [class~="metric-value"],[class$="-metric-value"],[class*="-metric-value "],
  [class~="metric-number"],[class$="-metric-number"],[class*="-metric-number "],
  [class~="kpi-value"],[class$="-kpi-value"],[class*="-kpi-value "],
  [class~="counter-value"],[class$="-counter-value"],[class*="-counter-value "]
),
#pb-global-css-scope :is(
  [class~="stat"],[class$="-stat"],[class*="-stat "],
  [class~="stat-box"],[class$="-stat-box"],[class*="-stat-box "],
  [class~="kpi"],[class$="-kpi"],[class*="-kpi "]
) > :where(strong,b,[class*="value"],[class*="number"]){
  font-family:var(--pb-style-font-primary)!important;
  font-size:var(--pb-style-type-stats)!important;
}

/* Cards: curva y espacio interior globales. Solo se activan si
   Constructor de Estilos define los tokens correspondientes. */
#pb-global-css-scope :where(
  [class~="card"],[class$="-card"],[class*="-card "],
  [class~="tile"],[class$="-tile"],[class*="-tile "],
  [class~="stat-box"],[class$="-stat-box"],[class*="-stat-box "],
  [class~="kpi"],[class$="-kpi"],[class*="-kpi "]
){
  border-radius:var(--pb-style-radius-card)!important;
}

#pb-global-css-scope :is(
  [class~="card"],[class$="-card"],[class*="-card "],
  [class~="tile"],[class$="-tile"],[class*="-tile "],
  [class~="stat-box"],[class$="-stat-box"],[class*="-stat-box "],
  [class~="kpi"],[class$="-kpi"],[class*="-kpi "]
) > :where(
  [class~="card-content"],[class$="-card-content"],[class*="-card-content "],
  [class~="card-body"],[class$="-card-body"],[class*="-card-body "],
  [class~="card-copy"],[class$="-card-copy"],[class*="-card-copy "],
  [class$="-content"],[class*="-content "],
  [class$="-body"],[class*="-body "],
  [class$="-copy"],[class*="-copy "]
){
  padding:var(--pb-style-space-content)!important;
}

/* Cards sin wrapper de contenido/media reconocible reciben el espacio
   directamente; cards con imagen conservan su composición y aplican
   el espacio en su wrapper textual cuando existe. */
#pb-global-css-scope :where(
  [class~="card"],[class$="-card"],[class*="-card "],
  [class~="tile"],[class$="-tile"],[class*="-tile "],
  [class~="stat-box"],[class$="-stat-box"],[class*="-stat-box "],
  [class~="kpi"],[class$="-kpi"],[class*="-kpi "]
):not(:has(> :is(
  [class$="-content"],[class*="-content "],
  [class$="-body"],[class*="-body "],
  [class$="-copy"],[class*="-copy "],
  img,picture,figure,
  [class$="-image"],[class*="-image "],
  [class$="-img"],[class*="-img "],
  [class$="-media"],[class*="-media "]
))){
  padding:var(--pb-style-space-content)!important;
}

/* Botones y CTA textuales. El radio cubre también controles compactos;
   el espacio se limita a acciones textuales para no agrandar dots/arrows. */
#pb-global-css-scope :where(
  button,
  a[class~="btn"],a[class*="-btn"],a[class*="button"],a[class*="cta"],
  [role="button"]
){
  border-radius:var(--pb-style-radius-button)!important;
}

#pb-global-css-scope :where(
  a[class~="btn"],a[class*="-btn"],a[class*="button"],a[class*="cta"],
  button[class~="btn"],button[class*="-btn"],button[class*="button"],button[class*="cta"],
  button[type="submit"],
  [role="button"]
){
  padding-block:calc(var(--pb-style-space-content) * .5)!important;
  padding-inline:var(--pb-style-space-content)!important;
}

/* Labels visuales. Los <label> de formularios conservan su geometría;
   se normalizan badges/tags/pills/chips y labels de componente. */
#pb-global-css-scope :where(
  [class~="badge"],[class$="-badge"],[class*="-badge "],
  [class~="tag"],[class$="-tag"],[class*="-tag "],
  [class~="pill"],[class$="-pill"],[class*="-pill "],
  [class~="chip"],[class$="-chip"],[class*="-chip "],
  [class~="label"],[class$="-label"],[class*="-label "]
){
  border-radius:var(--pb-style-radius-label)!important;
}



/* =========================================================
   PERSONALIZAR CSS · PROPAGACIÓN SEMÁNTICA GLOBAL V2
   Completa el contrato post-24 sin modificar recursos ni JS.
   1) Los wrappers *-embed no pueden reinstalar paletas/fuentes locales.
   2) Acciones sin clase propia heredan Espacio y curvas por su contenedor.
   3) Chips/tags/pills/badges consumen Espacio + radius-label.
   4) Superficies legacy con rol de card consumen card-space/radius.
   ========================================================= */

/* Paleta/fuente global a través de wrappers legacy.
   Las capas internas especiales de Pasos 23–24 conservan prioridad
   porque redefinen los tokens más abajo en el árbol del recurso. */
#pb-global-css-scope .page-builder-section :is(
  [class$="-embed"],[class*="-embed "]
){
  --color-dark:inherit!important;
  --color-key:inherit!important;
  --color-support:inherit!important;
  --color-light:inherit!important;
  --color-white:inherit!important;
  --color-muted:inherit!important;
  --color-line:inherit!important;
  --font-main:var(--pb-style-font-secondary)!important;
  --font-secondary:var(--pb-style-font-secondary)!important;
}

/* Acciones textuales: el rol lo define el grupo de acciones, no la clase
   individual del enlace. Cubre SC001 y cualquier recurso presente/futuro
   que siga la convención semántica *-actions / btn-row / button-row / cta-row. */
#pb-global-css-scope :is(
  [class~="actions"],[class$="-actions"],[class*="-actions "],
  [class~="btn-row"],[class$="-btn-row"],[class*="-btn-row "],
  [class~="button-row"],[class$="-button-row"],[class*="-button-row "],
  [class~="cta-row"],[class$="-cta-row"],[class*="-cta-row "]
) :where(a,button,input[type="button"],input[type="submit"]),
#pb-global-css-scope :where(
  a[class~="action"],a[class$="-action"],a[class*="-action "],
  button[class~="action"],button[class$="-action"],button[class*="-action "]
){
  border-radius:var(--pb-style-radius-button)!important;
  padding-block:calc(var(--pb-style-space-content) * .5)!important;
  padding-inline:var(--pb-style-space-content)!important;
}

/* Grupos de etiquetas/chips. No se aplica a Indicadores slider para no
   convertir dots/pills de navegación en etiquetas de contenido. */
#pb-global-css-scope .page-builder-section:not([data-section-category="Indicadores slider"]) :is(
  .mini-nav,
  [class~="chips"],[class$="-chips"],[class*="-chips "],
  [class~="tags"],[class$="-tags"],[class*="-tags "],
  [class~="pills"],[class$="-pills"],[class*="-pills "],
  [class~="badges"],[class$="-badges"],[class*="-badges "]
) > :where(span,a,button){
  border-radius:var(--pb-style-radius-label)!important;
  padding-block:calc(var(--pb-style-space-content) * .25)!important;
  padding-inline:calc(var(--pb-style-space-content) * .5)!important;
}

#pb-global-css-scope .page-builder-section:not([data-section-category="Indicadores slider"]) :where(
  [class~="badge"],[class$="-badge"],[class*="-badge "],
  [class~="tag"],[class$="-tag"],[class*="-tag "],
  [class~="pill"],[class$="-pill"],[class*="-pill "],
  [class~="chip"],[class$="-chip"],[class*="-chip "]
){
  border-radius:var(--pb-style-radius-label)!important;
  padding-block:calc(var(--pb-style-space-content) * .25)!important;
  padding-inline:calc(var(--pb-style-space-content) * .5)!important;
}

/* Superficies legacy que visualmente son cards pero no incluyen "card"
   en su nombre. No se usan códigos de recurso; se normaliza el rol visual. */
#pb-global-css-scope :where(
  [class~="bubble"],[class$="-bubble"],[class*="-bubble "],
  [class$="-info-block"],[class*="-info-block "],
  [class$="-solution-card"],[class*="-solution-card "],
  .orbit-wrap,.orbit-center
){
  border-radius:var(--pb-style-radius-card)!important;
}

#pb-global-css-scope :where(
  [class~="bubble"],[class$="-bubble"],[class*="-bubble "],
  [class$="-info-block"],[class*="-info-block "],
  [class$="-solution-card"],[class*="-solution-card "],
  .orbit-center
){
  padding:var(--pb-style-space-content)!important;
}

/* Problema/Solución: completa el rol DARK ya validado por la familia.
   PS001 (classic-solution-card) y el centro de órbita comparten la misma
   semántica que dark-card/check-panel/alert-main ya protegidos en Paso 23. */
#pb-global-css-scope .page-builder-section[data-section-category="Problema / solución"] :is(
  .classic-solution-card,
  .orbit-center,
  .timeline-box.solve
){
  background:var(--pb-theme-dark,var(--color-dark))!important;
  color:var(--pb-theme-white,var(--color-white))!important;
  border-color:var(--pb-theme-line,var(--color-line))!important;
}
#pb-global-css-scope .page-builder-section[data-section-category="Problema / solución"] :is(
  .classic-solution-card,
  .orbit-center,
  .timeline-box.solve
) :is(h1,h2,h3,h4,h5,h6,strong){
  color:var(--pb-theme-white,var(--color-white))!important;
}
#pb-global-css-scope .page-builder-section[data-section-category="Problema / solución"] :is(
  .classic-solution-card,
  .orbit-center,
  .timeline-box.solve
) :is(p,li){
  color:var(--pb-theme-line,var(--color-line))!important;
}


/* =========================================================
   PERSONALIZAR CSS · PROPAGACIÓN SEMÁNTICA GLOBAL V3
   Segunda cobertura transversal post-24.
   - Iconografía de contacto -> KEY.
   - Stats / trayectoria -> tipo Stats real.
   - Medios visuales -> radio de card (excepto composiciones fullscreen).
   - Controles radiales / acordeones -> Espacio y curvas por función.
   - Carrusel con miniaturas -> superficie limpia tipo card.
   No cambia HTML, JS, data-*, breakpoints ni registro de recursos.
   ========================================================= */

/* Formularios / contacto: la iconografía funcional usa KEY.
   Se actúa sobre el SVG, no sobre la superficie que lo contiene. */
#pb-global-css-scope .page-builder-section[data-section-category="Formularios"] :is(
  .contact-data-icon svg,
  .contact-info-card dt svg,
  .social-row a svg
){
  color:var(--pb-theme-key,var(--color-key))!important;
}

/* Stats / trayectoria: tray-counter es el número canónico de ST001–ST010.
   Consume directamente tipografía primaria + tamaño Stats para no depender
   de --stats / --font-main redefinidos por recursos legacy. */
#pb-global-css-scope .page-builder-section[data-section-category="Stats / trayectoria"] .tray-counter{
  font-family:var(--pb-style-font-primary)!important;
  font-size:var(--pb-style-type-stats)!important;
}

/* Medios visuales: imágenes/fotos/media/frames de contenido se comportan
   como superficies visuales y consumen la curva de card. No se añade
   padding a la imagen: --space-content continúa perteneciendo al contenido
   y a los controles, evitando crear marcos artificiales alrededor del medio. */
#pb-global-css-scope .page-builder-section:not([data-section-category="Headers"]):not([data-section-category="Top bar"]):not([data-section-category="Logos"]):not([data-section-category="Cursor personalizado"]):not([data-section-category="Indicadores slider"]) :where(
  [class~="visual"],[class$="-visual"],[class*="-visual "],
  [class~="image"],[class$="-image"],[class*="-image "],
  [class~="img"],[class$="-img"],[class*="-img "],
  [class~="photo"],[class$="-photo"],[class*="-photo "],
  [class~="media"],[class$="-media"],[class*="-media "],
  [class~="frame"],[class$="-frame"],[class*="-frame "]
):not(.thumb-visual):not(.thumb-mini-photo){
  border-radius:var(--pb-style-radius-card)!important;
}

/* Hero: superficies visuales legacy que no llevan image/photo/media en
   su nombre también consumen radius-card. */
#pb-global-css-scope .page-builder-section[data-section-category="Hero"] :is(
  .floating-core,
  .saas-dashboard,
  .dashboard-panel,
  .product-pack,
  .dark-feature,
  .campaign-bar
){
  border-radius:var(--pb-style-radius-card)!important;
}
#pb-global-css-scope .page-builder-section[data-section-category="Hero"] :is(
  .saas-dashboard,
  .dashboard-panel,
  .dark-feature,
  .campaign-bar
){
  padding:var(--pb-style-space-content)!important;
}

/* Fullscreen mantiene borde a sangre. No se curva una composición cuyo
   propósito es ocupar el viewport completo. */
#pb-global-css-scope .page-builder-section[data-section-category="Hero"] :is(
  .hero-fullscreen,
  .hero-slider,
  .hero-video-bg,
  .hero-grid-showcase,
  .hero-before-after
) :where(
  [class~="visual"],[class$="-visual"],[class*="-visual "],
  [class~="image"],[class$="-image"],[class*="-image "],
  [class~="img"],[class$="-img"],[class*="-img "],
  [class~="photo"],[class$="-photo"],[class*="-photo "],
  [class~="media"],[class$="-media"],[class*="-media "],
  [class~="frame"],[class$="-frame"],[class*="-frame "]
){
  border-radius:0!important;
}

/* Carrusel con miniaturas: el slide principal y cada miniatura son cards.
   Se elimina la línea neutra extra; hover/activo conserva KEY como estado. */
#pb-global-css-scope .page-builder-section[data-section-category="Carruseles"] :is(
  .thumb-slide,
  .thumb-item
){
  border-radius:var(--pb-style-radius-card)!important;
  overflow:hidden!important;
}
#pb-global-css-scope .page-builder-section[data-section-category="Carruseles"] .thumb-item{
  border-color:transparent!important;
}
#pb-global-css-scope .page-builder-section[data-section-category="Carruseles"] .thumb-item:is(:hover,.is-active){
  border-color:var(--pb-theme-key,var(--color-key))!important;
}
#pb-global-css-scope .page-builder-section[data-section-category="Carruseles"] .thumb-mini-photo{
  border-radius:var(--pb-style-radius-card)!important;
  overflow:hidden!important;
}

/* HD013: los elementos radiales son acciones de navegación aunque no
   utilicen .btn. Por eso consumen el mismo radius/space de botones. */
#pb-global-css-scope .page-builder-section[data-section-category="Headers"] :is(
  .radial-center,
  .radial-item
){
  border-radius:var(--pb-style-radius-button)!important;
}
#pb-global-css-scope .page-builder-section[data-section-category="Headers"] .radial-item{
  padding-inline:var(--pb-style-space-content)!important;
}

/* Acordeones: el article es la superficie (card) y el trigger es el control.
   Se conserva apertura/cierre y alturas; solo se parametrizan curva y espacio. */
#pb-global-css-scope .page-builder-section[data-section-category="Acordeones"] .accordion-module :is(
  .acc-accordion article,
  .acc-mini-accordion article,
  .acc-full-width-accordion article,
  .acc-card-accordion article,
  .acc-horizontal-accordion article,
  .acc-vertical-visual-accordion article
){
  border-radius:var(--pb-style-radius-card)!important;
}

#pb-global-css-scope .page-builder-section[data-section-category="Acordeones"] .accordion-module :is(
  .acc-accordion button,
  .acc-mini-accordion button,
  .acc-card-accordion button,
  .acc-vertical-visual-accordion button,
  .acc-tab-buttons button,
  .acc-mega-demo > button
){
  border-radius:var(--pb-style-radius-button)!important;
  padding-block:calc(var(--pb-style-space-content) * .75)!important;
  padding-inline:var(--pb-style-space-content)!important;
}

/* AC full-width: el botón sigue ocupando todo el ancho y el rail de los
   24 pasos permanece intacto; el espacio se aplica al row-inner, no al rail. */
#pb-global-css-scope .page-builder-section[data-section-category="Acordeones"] .acc-full-width-accordion > article > button{
  border-radius:var(--pb-style-radius-button)!important;
}
#pb-global-css-scope .page-builder-section[data-section-category="Acordeones"] .acc-full-width-accordion > article > button > [class$="-row-inner"]{
  padding-top:var(--pb-style-space-content)!important;
  padding-bottom:var(--pb-style-space-content)!important;
}

/* Títulos de acordes: contrato explícito Card + primaria. Refuerza AC003
   y cualquier título fuerte dentro de un trigger actual o futuro. */
#pb-global-css-scope .page-builder-section[data-section-category="Acordeones"] .accordion-module :is(
  .acc-accordion button,
  .acc-mini-accordion button,
  .acc-full-width-accordion button,
  .acc-card-accordion button,
  .acc-vertical-visual-accordion button,
  .acc-mega-demo > button
){
  font-family:var(--pb-style-font-primary)!important;
  font-size:var(--pb-style-type-card)!important;
}
#pb-global-css-scope .page-builder-section[data-section-category="Acordeones"] .accordion-module button :is(
  strong,b,
  [class~="title"],[class$="-title"],[class*="-title "]
){
  font-family:var(--pb-style-font-primary)!important;
  font-size:var(--pb-style-type-card)!important;
  color:inherit!important;
}
#pb-global-css-scope .page-builder-section[data-section-category="Acordeones"] .accordion-module .acc-horizontal-accordion h3{
  font-family:var(--pb-style-font-primary)!important;
  font-size:var(--pb-style-type-card)!important;
}

/* Imágenes internas de acordeones son medios contenidos, no fullscreen. */
#pb-global-css-scope .page-builder-section[data-section-category="Acordeones"] .accordion-module img{
  border-radius:var(--pb-style-radius-card)!important;
}

/* SC012 y futuros service-showcase: semánticamente son un acordeón de cards. */
#pb-global-css-scope .page-builder-section :where(.service-showcase-item){
  border-radius:var(--pb-style-radius-card)!important;
  overflow:hidden!important;
}
#pb-global-css-scope .page-builder-section :where(.service-showcase-trigger){
  border-radius:var(--pb-style-radius-button)!important;
  padding:calc(var(--pb-style-space-content) * .75) var(--pb-style-space-content)!important;
}
#pb-global-css-scope .page-builder-section :where(.service-showcase-panel-inner){
  padding-left:var(--pb-style-space-content)!important;
  padding-right:var(--pb-style-space-content)!important;
}
#pb-global-css-scope .page-builder-section .service-showcase-item.is-active .service-showcase-panel-inner{
  padding-bottom:var(--pb-style-space-content)!important;
}
#pb-global-css-scope .page-builder-section :where(.service-showcase-title){
  font-family:var(--pb-style-font-primary)!important;
  font-size:var(--pb-style-type-card)!important;
}

/* =========================================================
   PERSONALIZAR CSS · COBERTURA SEMÁNTICA V7
   Segunda ampliación del contrato post-24.
   Corrige medios con nombre compuesto, superficies/form-controls,
   Stats/Trayectoria, Timeline y títulos de Footer por rol visual.
   No usa códigos de recurso ni modifica HTML/JS/runtime funcional.
   ========================================================= */

/* Medios con el rol en medio del nombre de clase, p. ej. about-image-demo.
   V6 cubría -image al final; esta extensión cubre -image-, -media-, etc. */
#pb-global-css-scope .page-builder-section:not([data-section-category="Headers"]):not([data-section-category="Top bar"]):not([data-section-category="Logos"]):not([data-section-category="Cursor personalizado"]):not([data-section-category="Indicadores slider"]) :where(
  [class*="-visual-"],
  [class*="-image-"],
  [class*="-img-"],
  [class*="-photo-"],
  [class*="-media-"],
  [class*="-frame-"]
){
  border-radius:var(--pb-style-radius-card)!important;
}
#pb-global-css-scope .page-builder-section:not([data-section-category="Headers"]):not([data-section-category="Top bar"]):not([data-section-category="Logos"]) :where(
  [class*="-visual-"],
  [class*="-image-"],
  [class*="-img-"],
  [class*="-photo-"],
  [class*="-media-"],
  [class*="-frame-"]
) > :where(img,picture,video){
  border-radius:inherit!important;
}

/* Variantes fotográficas cuyo rol abre el nombre de clase (photo-mid,
   photo-tall, etc.) también son superficies de imagen. Se limita a article
   para no capturar wrappers técnicos o labels que solo contienen la palabra. */
#pb-global-css-scope .page-builder-section:not([data-section-category="Headers"]):not([data-section-category="Top bar"]):not([data-section-category="Logos"]) article:is(
  [class^="photo-"],[class*=" photo-"]
){
  border-radius:var(--pb-style-radius-card)!important;
  overflow:hidden!important;
}

/* Los Hero fullscreen siguen a sangre aunque el medio use un nombre compuesto. */
#pb-global-css-scope .page-builder-section[data-section-category="Hero"] :is(
  .hero-fullscreen,
  .hero-slider,
  .hero-video-bg,
  .hero-grid-showcase,
  .hero-before-after
) :where(
  [class*="-visual-"],
  [class*="-image-"],
  [class*="-img-"],
  [class*="-photo-"],
  [class*="-media-"],
  [class*="-frame-"]
),
#pb-global-css-scope .page-builder-section[data-section-category="Hero"] :is(
  .hero-fullscreen,
  .hero-slider,
  .hero-video-bg,
  .hero-grid-showcase,
  .hero-before-after
) :where(img,picture,video){
  border-radius:0!important;
}

/* Formularios: los controles consumen la misma geometría de controles
   textuales. Se excluyen checkbox/radio porque su forma es funcional. */
#pb-global-css-scope form :where(
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
  select,
  textarea
){
  border-radius:var(--pb-style-radius-button)!important;
  padding-block:calc(var(--pb-style-space-content) * .5)!important;
  padding-inline:calc(var(--pb-style-space-content) * .75)!important;
}

/* Formularios que son una superficie visual propia (contact-form, form-card
   y futuros equivalentes) consumen Card + Espacio. Formularios
   internos sin superficie, como whatsapp-form o footer-form, no se fuerzan. */
#pb-global-css-scope :where(
  form.contact-form,
  form.form-card,
  form[class~="form-panel"],form[class$="-form-panel"],form[class*="-form-panel "],
  form[class~="form-box"],form[class$="-form-box"],form[class*="-form-box "]
){
  border-radius:var(--pb-style-radius-card)!important;
  padding:var(--pb-style-space-content)!important;
}

/* Stats / Trayectoria.
   Grillas densas de 1px son una superficie compuesta: la curva pertenece
   al grupo. Cards separadas reciben curva individual. Todo contenido de
   métrica consume --space-content sin alterar el contador ni su runtime. */
#pb-global-css-scope .page-builder-section[data-section-category="Stats / trayectoria"] :is(
  .tray-grid,
  .tray-metric-grid,
  .tray-proof-grid,
  .tray-authority-grid
){
  border-radius:var(--pb-style-radius-card)!important;
  overflow:hidden!important;
}

#pb-global-css-scope .page-builder-section[data-section-category="Stats / trayectoria"] :is(
  .tray-kpi-grid > article,
  .tray-counter-list > article,
  .tray-impact-cards > article,
  .tray-badge-grid > article,
  .tray-milestone-line > article,
  .about-5050-card,
  .tray-proof-box
){
  border-radius:var(--pb-style-radius-card)!important;
}

#pb-global-css-scope .page-builder-section[data-section-category="Stats / trayectoria"] :is(
  .tray-grid > article,
  .tray-kpi-grid > article,
  .tray-counter-list > article,
  .tray-metric-grid > article,
  .tray-proof-grid > article,
  .tray-impact-cards > article,
  .tray-badge-grid > article,
  .tray-milestone-line > article,
  .tray-authority-main,
  .tray-authority-side > article,
  .about-5050-card
){
  padding:var(--pb-style-space-content)!important;
}
#pb-global-css-scope .page-builder-section[data-section-category="Stats / trayectoria"] .tray-proof-box{
  padding:var(--pb-style-space-content)!important;
}

/* Timeline: se parametrizan las superficies que visualmente son cards.
   No se fuerza padding sobre líneas/rails/posicionamiento absoluto del
   contenedor, solo sobre los ítems de contenido. */
#pb-global-css-scope .page-builder-section[data-section-category="Timeline"] .timeline-module :is(
  .stepper-card,
  .timeline-horizontal > article,
  .horizontal-line-process > article,
  .popup-stepper,
  .compact-timeline,
  .cinematic-timeline,
  .roadmap,
  .gantt,
  .tracker-panel,
  .timeline-accordion article,
  .carousel-window,
  .chapters article,
  .modal-box
){
  border-radius:var(--pb-style-radius-card)!important;
}
#pb-global-css-scope .page-builder-section[data-section-category="Timeline"] .timeline-module :is(
  .compact-timeline,
  .gantt
){
  overflow:hidden!important;
}

#pb-global-css-scope .page-builder-section[data-section-category="Timeline"] .timeline-module :is(
  .stepper-card,
  .timeline-horizontal > article,
  .horizontal-line-process > article,
  .compact-timeline > article,
  .cinematic-timeline > article,
  .roadmap > article,
  .sticky-process > aside,
  .sticky-steps > article,
  .horizontal-scroll-timeline > article,
  .tracker-panel,
  .timeline-accordion > article,
  .chapters > article,
  .modal-box
){
  padding:var(--pb-style-space-content)!important;
}

/* Zigzag: la superficie visible es el div interno del article. */
#pb-global-css-scope .page-builder-section[data-section-category="Timeline"] .timeline-module .timeline-zigzag > article > div{
  border-radius:var(--pb-style-radius-card)!important;
  padding:var(--pb-style-space-content)!important;
}

/* Gantt: el espacio vive en las celdas, no alrededor
   del rail, para conservar el cálculo de columnas y el scroll horizontal. */
#pb-global-css-scope .page-builder-section[data-section-category="Timeline"] .timeline-module :is(
  .gantt-head > span,
  .gantt-row > strong
){
  padding-block:calc(var(--pb-style-space-content) * .5)!important;
  padding-inline:calc(var(--pb-style-space-content) * .75)!important;
}

/* Footer: títulos de navegación con lectura normal. Se elimina el tratamiento
   editorial forzado de mayúsculas + tracking en todas las variantes análogas. */
#pb-global-css-scope .page-builder-section[data-section-category="Footers"] .footer-title{
  letter-spacing:0!important;
  text-transform:none!important;
}



/* =========================================================
   PERSONALIZAR CSS · COBERTURA SEMÁNTICA V9
   Barrido transversal por función visual:
   - Problema/Solución: panels, tables, objections, alerts.
   - Galerías: superficie visual real, incluida imagen principal.
   - Carruseles: slides/items que funcionan como cards.
   - Timeline: contenido y recuadros internos.
   - Flotantes: curva de botón global.
   - AD003: altura compacta coherente en modo Full.
   No modifica HTML, JS, data-*, registro ni breakpoints.
   ========================================================= */

/* Problema / solución · todas las superficies visuales equivalentes a Card. */
#pb-global-css-scope .page-builder-section[data-section-category="Problema / solución"] .pain-solution-embed :is(
  .card,
  .classic-info-block,
  .classic-solution-card,
  .traffic-card,
  .arrow-box,
  .compare-table,
  .check-panel,
  .criterion,
  .orbit-center,
  .bubble,
  .objection,
  .alert-main,
  .mini-card
){
  border-radius:var(--pb-style-radius-card)!important;
}
#pb-global-css-scope .page-builder-section[data-section-category="Problema / solución"] .pain-solution-embed :is(
  .card,
  .classic-info-block,
  .classic-solution-card,
  .traffic-card,
  .arrow-box,
  .orbit-center,
  .bubble,
  .alert-main,
  .mini-card
){
  padding:var(--pb-style-space-content)!important;
}
#pb-global-css-scope .page-builder-section[data-section-category="Problema / solución"] .pain-solution-embed :is(
  .compare-table,
  .check-panel,
  .objection
){
  overflow:hidden!important;
}
#pb-global-css-scope .page-builder-section[data-section-category="Problema / solución"] .pain-solution-embed .compare-cell,
#pb-global-css-scope .page-builder-section[data-section-category="Problema / solución"] .pain-solution-embed .check-panel .intro,
#pb-global-css-scope .page-builder-section[data-section-category="Problema / solución"] .pain-solution-embed .criterion,
#pb-global-css-scope .page-builder-section[data-section-category="Problema / solución"] .pain-solution-embed .objection > div{
  padding:var(--pb-style-space-content)!important;
}

/* Galerías · el radio pertenece al marco visual que recorta el medio.
   Esto vence la limpieza histórica border-radius:0!important sin reponer
   bordes o sombras que fueron eliminados deliberadamente. */
#pb-global-css-scope .page-builder-section[data-section-category="Galerías"] .gallery-module{
  --radius:var(--pb-style-radius-card)!important;
  --radius-lg:var(--pb-style-radius-card)!important;
}
#pb-global-css-scope .page-builder-section[data-section-category="Galerías"] .gallery-module :is(
  .hero-slider,
  .photo-card,
  .results-stage,
  .result-thumb,
  .featured-main,
  .hover-expand > article,
  .image-accordion > article,
  .masonry > article,
  .horizontal-scroll > article,
  .cover-card,
  .filter-card,
  .stacked-cards > article,
  .bottom-stage,
  .bottom-thumb,
  .lightbox-modal > div
){
  border-radius:var(--pb-style-radius-card)!important;
  overflow:hidden!important;
}

/* Carruseles · slides/items que cumplen función de Card aunque el nombre
   no termine literalmente en "-card". */
#pb-global-css-scope .page-builder-section[data-section-category="Carruseles"] .carousel-embed :is(
  .service-card,
  .split-slide,
  .testimonial-slide,
  .logo-item,
  .vertical-card,
  .thumb-slide,
  .thumb-item,
  .fullcard-item,
  .fifty-card,
  .commerce-card,
  .compact-card,
  .number-card-item,
  .twohalf-card
){
  border-radius:var(--pb-style-radius-card)!important;
  overflow:hidden!important;
}
#pb-global-css-scope .page-builder-section[data-section-category="Carruseles"] .carousel-embed :is(
  .logo-item,
  .vertical-card,
  .fullcard-item,
  .commerce-card,
  .number-card-item,
  .twohalf-card
){
  padding:var(--pb-style-space-content)!important;
}
#pb-global-css-scope .page-builder-section[data-section-category="Carruseles"] .carousel-embed :is(
  .service-copy,
  .split-copy,
  .testimonial-copy,
  .thumb-copy,
  .fifty-card-copy,
  .compact-card-copy
){
  padding:var(--pb-style-space-content)!important;
}

/* CTA de carrusel: geometría de botón y centrado real del contenido.
   Evita el aspecto descuadrado cuando --space-content cambia de forma extrema. */
#pb-global-css-scope .page-builder-section[data-section-category="Carruseles"] .carousel-embed :is(
  .number-card-cta,
  .twohalf-cta
){
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:var(--pb-style-radius-button)!important;
  padding-block:calc(var(--pb-style-space-content) * .5)!important;
  padding-inline:var(--pb-style-space-content)!important;
}

/* Timeline · contenido interno y cards reales. */
#pb-global-css-scope .page-builder-section[data-section-category="Timeline"] .timeline-module .stepper-copy{
  border-radius:var(--pb-style-radius-card)!important;
  padding:var(--pb-style-space-content)!important;
  overflow:hidden!important;
}
#pb-global-css-scope .page-builder-section[data-section-category="Timeline"] .timeline-module :is(
  .timeline-horizontal > article,
  .horizontal-line-process > article,
  .cinematic-timeline > article,
  .roadmap > article
){
  border-radius:var(--pb-style-radius-card)!important;
  padding:var(--pb-style-space-content)!important;
  overflow:hidden!important;
}

/* Flotantes · todos son controles de acción y consumen la curva Button.
   Los controles solo-icono conservan sus dimensiones; únicamente los
   flotantes textuales consumen también el espacio global. */
#pb-global-css-scope .page-builder-section[data-section-category="Flotantes"] .site-floating{
  border-radius:var(--pb-style-radius-button)!important;
}
#pb-global-css-scope .page-builder-section[data-section-category="Flotantes"] :is(
  .floating-alert,
  .floating-quote
){
  padding-block:calc(var(--pb-style-space-content) * .5)!important;
  padding-inline:var(--pb-style-space-content)!important;
}

/* AD003 · en Full usa una altura compacta. Conserva ancho completo y runtime
   del comparador diagonal, pero usa la altura validada de escritorio y
   reduce de forma fluida en pantallas estrechas sin introducir breakpoints. */
.page-builder-section.page-builder-full[data-source-id="antes-despues-03"] .example-stage,
.page-builder-section.page-builder-full[data-source-id="antes-despues-03"] .compare{
  height:clamp(420px,55vw,550px)!important;
  min-height:clamp(420px,55vw,550px)!important;
  max-height:550px!important;
}


/* =========================================================
   PERSONALIZAR CSS · COBERTURA SEMÁNTICA V10
   Ajuste de la superficie que realmente pinta/recorta:
   - Galería de resultados: stage + imagen principal + overlay.
   - Carrusel de aliados: marquee completo.
   - Carruseles 50/50/verticales: columna visual izquierda.
   Se trabaja por rol/clase estructural, no por código de recurso.
   ========================================================= */

/* Galería de resultados:
   el radio debe existir también en la imagen que ocupa el stage completo,
   no solamente en el wrapper exterior. */
#pb-global-css-scope .page-builder-section[data-section-category="Galerías"] .gallery-module .results-gallery > .results-stage{
  border-radius:var(--pb-style-radius-card)!important;
  overflow:hidden!important;
}
#pb-global-css-scope .page-builder-section[data-section-category="Galerías"] .gallery-module .results-stage > .results-main-image{
  border-radius:inherit!important;
}
#pb-global-css-scope .page-builder-section[data-section-category="Galerías"] .gallery-module .results-stage > .results-overlay{
  border-radius:inherit!important;
  overflow:hidden!important;
}

/* Carrusel de aliados/logos:
   visualmente la Card es el marquee completo. Los logo-item conservan
   su espacio interno, pero la curva se percibe en el marco que los recorta. */
#pb-global-css-scope .page-builder-section[data-section-category="Carruseles"] .carousel-embed .logo-marquee{
  border-radius:var(--pb-style-radius-card)!important;
  overflow:hidden!important;
}

/* Carruseles con columna izquierda visual.
   Estas superficies tienen fondo/foto propios y por eso son Cards reales,
   aunque su nombre termine en intro/copy en vez de "-card". */
#pb-global-css-scope .page-builder-section[data-section-category="Carruseles"] .carousel-embed :is(
  .vertical-intro,
  .fullcard-copy,
  .fifty-copy,
  .compact-copy
){
  border-radius:var(--pb-style-radius-card)!important;
  padding:var(--pb-style-space-content)!important;
  overflow:hidden!important;
}


/* =========================================================
   PERSONALIZAR CSS · CTA GENERADO POST-24
   Adaptador exclusivo para los elementos creados por "Aplicar CTA".
   No modifica PASO 7: cuando los tokens de Personalizar no existen,
   las declaraciones dependientes son inválidas y prevalece el contrato
   original validado de 48px / 24px / radio 0.
   ========================================================= */

/* Grupo de acciones generado. */
#pb-global-css-scope .page-builder-section.page-builder-cta-on .pb-standard-cta-row{
  gap:calc(var(--pb-style-space-content) * .5)!important;
}

/* Botones creados o normalizados por Aplicar CTA. */
#pb-global-css-scope .page-builder-section.page-builder-cta-on :is(
  .pb-standard-cta-primary,
  .pb-standard-cta-secondary
){
  font-family:var(--pb-style-font-secondary)!important;
  font-size:var(--pb-style-type-small)!important;
  border-radius:var(--pb-style-radius-button)!important;
  padding-block:calc(var(--pb-style-space-content) * .5)!important;
  padding-inline:var(--pb-style-space-content)!important;

  /* Mantiene como mínimo la altura validada del Paso 7 y permite
     crecer cuando Espacio/Small aumentan de forma deliberada. */
  min-height:max(
    48px,
    calc(var(--pb-style-type-small) + var(--pb-style-space-content))
  )!important;

  border-color:var(--pb-theme-line)!important;
  background:var(--pb-theme-white)!important;
  color:var(--pb-theme-dark)!important;
}

/* Acción comercial/propuesta = KEY / WHITE, también con Personalizar. */
#pb-global-css-scope .page-builder-section.page-builder-cta-on [data-proposal-cta="1"]{
  border-color:var(--pb-theme-key)!important;
  background:var(--pb-theme-key)!important;
  color:var(--pb-theme-white)!important;
}

/* Hovers conservan el contrato cromático aprobado. */
#pb-global-css-scope .page-builder-section.page-builder-cta-on :is(
  .pb-standard-cta-primary,
  .pb-standard-cta-secondary
):not([data-proposal-cta="1"]):hover{
  border-color:var(--pb-theme-key)!important;
  background:var(--pb-theme-key)!important;
  color:var(--pb-theme-white)!important;
}
#pb-global-css-scope .page-builder-section.page-builder-cta-on [data-proposal-cta="1"]:hover{
  border-color:var(--pb-theme-line)!important;
  background:var(--pb-theme-dark)!important;
  color:var(--pb-theme-white)!important;
}
#pb-global-css-scope .page-builder-section.page-builder-cta-on :is(
  .pb-standard-cta-primary,
  .pb-standard-cta-secondary
):focus-visible{
  outline-color:var(--pb-theme-key)!important;
}

/* Nota inferior generada por Aplicar CTA. */
#pb-global-css-scope .page-builder-section.page-builder-cta-on .pb-standard-cta-note{
  font-family:var(--pb-style-font-secondary)!important;
  font-size:var(--pb-style-type-small)!important;
  gap:calc(var(--pb-style-space-content) * .25)!important;
  margin-top:calc(var(--pb-style-space-content) * .5)!important;
  color:var(--color-muted)!important;
}
#pb-global-css-scope .page-builder-section.page-builder-cta-on .pb-standard-cta-note :is(
  strong,span
){
  font-family:inherit!important;
  font-size:inherit!important;
}
#pb-global-css-scope .page-builder-section.page-builder-cta-on .pb-standard-cta-dot{
  background:var(--color-key)!important;
}


/* =========================================================
   AC001–AC008 · TÍTULOS SEMÁNTICOS H3
   Los triggers mantienen su estructura y eventos originales.
   El H3 consume la escala tipográfica global y hereda el estado/color
   del botón para Natural, Alternativo, hover y activo.
   ========================================================= */
#pb-global-css-scope .page-builder-section[data-section-category="Acordeones"]
.accordion-module button h3{
  margin:0!important;
  padding:0!important;
  color:inherit!important;
  text-align:inherit!important;
  font-family:var(--pb-style-font-primary)!important;
  font-size:var(--pb-style-type-h3)!important;
  line-height:1.25!important;
}
#pb-global-css-scope .page-builder-section[data-section-category="Acordeones"]
.accordion-module .ac003-row-inner > h3{
  justify-self:start!important;
  margin:0!important;
}


/* =========================================================
   AC005 / AC007 · AJUSTE TIPOGRÁFICO SEMÁNTICO
   - AC005: el título ya es H3 y ahora consume H3 visualmente.
   - AC007: tabs = control CTA (secundaria + Small).
   No altera estructura, eventos ni comportamiento del acordeón.
   ========================================================= */

/* AC005 · H3 real también en escala H3, no Card. */
#pb-global-css-scope .page-builder-section[data-section-category="Acordeones"]
.accordion-module .acc-horizontal-accordion h3{
  margin:0!important;
  padding:0!important;
  font-family:var(--pb-style-font-primary)!important;
  font-size:var(--pb-style-type-h3)!important;
  line-height:1.25!important;
}

/* AC007 · navegación por tabs con la misma escala tipográfica de CTA. */
#pb-global-css-scope .page-builder-section[data-section-category="Acordeones"]
.accordion-module .acc-tab-buttons button{
  font-family:var(--pb-style-font-secondary)!important;
  font-size:var(--pb-style-type-small)!important;
  line-height:1!important;
}


/* =========================================================
   CR013 · FULL BLEED REAL
   En modo Full este recurso no consume el rail general de 30 px.
   El modo 1440 permanece intacto.
   ========================================================= */
#pb-global-css-scope
.page-builder-section.page-builder-full[data-source-id="CARRUSELES-13"]{
  --pb-content-width:100%!important;
  --pb-validated-width:100%!important;
  --pb-validated-edge:0px!important;
}

#pb-global-css-scope
.page-builder-section.page-builder-full[data-source-id="CARRUSELES-13"]
:is(
  .carousel-embed,
  .template-item,
  .template-demo,
  #CAROUSEL-13,
  .category-zone
){
  width:100vw!important;
  max-width:none!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
}

/* Evita que un rail interno heredado vuelva a introducir 30 px. */
#pb-global-css-scope
.page-builder-section.page-builder-full[data-source-id="CARRUSELES-13"]
.pb-section-content{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
}

/* =========================================================
   MENÚ HAMBURGUESA · SOBRE EL SIGUIENTE HERO
   En overlay se elimina visualmente la barra cerrada:
   quedan únicamente logo + trigger sobre el Hero.
   El panel abierto y el flujo normal conservan su diseño original.
   ========================================================= */
.page-builder-hero-overlay
.page-builder-overlay-item.page-builder-section[data-section-category="Menú hamburguesa"] :is(
  .menu-section,
  .menu-real,
  .hamburger-stage,
  .hamburger-demo,
  .hamburger-demo-header
){
  background:transparent!important;
  background-image:none!important;
  border-color:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

.page-builder-hero-overlay
.page-builder-overlay-item.page-builder-section[data-section-category="Menú hamburguesa"] .hamburger-demo-header{
  border-top-width:0!important;
  border-bottom-width:0!important;
}

/* El panel desplegado mantiene íntegramente su superficie y contraste. */
.page-builder-hero-overlay
.page-builder-overlay-item.page-builder-section[data-section-category="Menú hamburguesa"] :is(
  .hamburger-panel,
  .hamburger-panel-inner,
  .panel-fullscreen,
  .panel-overlay,
  .panel-editorial,
  .overlay-card
){
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}

/* =========================================================
   FL002 · ÚNICA EXCEPCIÓN CROMÁTICA INDEPENDIENTE
   WhatsApp conserva su verde oficial; el ícono usa WHITE del sistema.
   No altera Natural/Alternativo ni introduce un token adicional.
   ========================================================= */
.page-builder-section[data-source-id="flotante-02"] .floating-whatsapp,
#flotante-02 .floating-whatsapp{
  background:#25D366!important;
  border-color:#25D366!important;
  color:var(--pb-theme-white,var(--color-white))!important;
}
.page-builder-section[data-source-id="flotante-02"] .floating-whatsapp-icon,
#flotante-02 .floating-whatsapp-icon{
  color:var(--pb-theme-white,var(--color-white))!important;
}


/* Personalización posterior */
/* PASO 24 · Toda personalización generada consume los siete tokens oficiales.
   Solo sombras/overlays derivan del Dark real mediante transparencia. */
html{scroll-behavior:smooth}

/* EP001 · Barra de progreso de scroll */
.pb-scroll-progress{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:4px;
  z-index:2147483000;
  pointer-events:none;
  background:var(--color-line);
}
.pb-scroll-progress>span{
  display:block;
  width:100%;
  height:100%;
  background:var(--color-key);
  transform:scaleX(0);
  transform-origin:left center;
  will-change:transform;
}

/* EP002 · Intro loader animado */
.pb-intro-loader{
  position:fixed;
  inset:0;
  z-index:2147482990;
  display:grid;
  place-items:center;
  background:var(--pb-theme-dark,var(--color-dark));
  color:var(--pb-theme-white,var(--color-white));
  opacity:1;
  visibility:visible;
  transition:opacity .35s ease,visibility .35s ease;
}
.pb-intro-loader.is-leaving{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.pb-intro-loader-inner{
  display:grid;
  justify-items:center;
  gap:12px;
  padding:30px;
  text-align:center;
}
.pb-intro-loader-inner strong{
  margin:0;
  color:var(--pb-theme-white,var(--color-white));
  font-size:var(--small,13px);
  font-weight:700;
  line-height:1.2;
}
.pb-intro-loader-inner small{
  color:var(--color-support);
  font-size:var(--micro,10px);
  font-weight:500;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.pb-intro-spinner{
  width:42px;
  height:42px;
  border:2px solid var(--color-line);
  border-top-color:var(--color-key);
  border-radius:50%;
  animation:pbIntroSpin .8s linear infinite;
}
@keyframes pbIntroSpin{to{transform:rotate(360deg)}}

/* EP003 · Mantener Header
   Top bar excluido. Headers y Menú hamburguesa se fijan y pueden apilarse. */
.pb-effect-fixed-header .page-builder-section[data-section-category="Headers"],
.pb-effect-fixed-header .page-builder-section[data-section-category="Menú hamburguesa"]{
  position:fixed!important;
  top:var(--pb-fixed-header-top,0px)!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  z-index:2147482000!important;
  margin-left:0!important;
  margin-right:0!important;
}
.pb-fixed-header-placeholder{
  display:block;
  width:100%;
  height:0;
  margin:0;
  padding:0;
  border:0;
  pointer-events:none;
}

@media (prefers-reduced-motion:reduce){
  .pb-intro-spinner{animation:none}
  .pb-intro-loader{transition:none}
}

.pb-slider-indicator{position:relative;z-index:25;width:100%;display:flex;justify-content:center;padding:12px 30px;pointer-events:none}
.pb-slider-indicator .mock-slider{width:100%;min-height:44px;display:flex;align-items:center;justify-content:center;background:transparent!important}
.pb-slider-indicator .indicator-area{pointer-events:auto}
.pb-global-tag{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
  width:max-content!important;
  max-width:100%!important;
  min-width:0!important;

  /* Neutraliza el tipo de etiqueta anterior sin alterar su posición
     dentro de la composición. */
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  outline:0!important;
  backdrop-filter:none!important;

  font-size:10px!important;
  line-height:1.35!important;
  font-weight:600!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
  text-decoration:none!important;
  white-space:normal!important;

  transition:background .18s ease,border-color .18s ease,color .18s ease!important;
}

/* Oculta adornos de la etiqueta original para que no se mezclen
   con el nuevo ET seleccionado. Se conserva el texto real. */
.pb-global-tag > :is(.dot,.icon,.icon-box,.divider,.mini-badge){
  display:none!important;
}

.pb-global-tag::before,
.pb-global-tag::after{
  content:none!important;
}

/* ET001 · Cápsula glassmorphism */
.pb-tag-ET001{
  color:var(--pb-theme-dark,var(--color-dark))!important;
  padding:11px 22px!important;
  border:1px solid var(--color-line)!important;
  border-radius:999px!important;
  background:var(--color-light)!important;
  backdrop-filter:blur(8px)!important;
}

/* ET002 · Línea inferior técnica */
.pb-tag-ET002{
  padding:0 0 10px!important;
  border-bottom:1px solid currentColor!important;
}

/* ET003 · Bloque técnico lateral */
.pb-tag-ET003{
  color:var(--pb-theme-dark,var(--color-dark))!important;
  padding:11px 18px!important;
  border-left:3px solid var(--color-support)!important;
  background:var(--color-light)!important;
}

/* ET004 · Marco azul fino */
.pb-tag-ET004{
  padding:10px 20px!important;
  border:1px solid var(--color-support)!important;
  border-radius:4px!important;
  color:var(--color-support)!important;
}

/* ET005 · Editorial con líneas laterales */
.pb-tag-ET005{
  padding:8px 0!important;
}
.pb-tag-ET005::before,
.pb-tag-ET005::after{
  content:""!important;
  display:block!important;
  width:42px!important;
  height:1px!important;
  flex:0 0 42px!important;
  background:currentColor!important;
  opacity:.42!important;
}

/* ET006 · Cápsula con degradado */
.pb-tag-ET006{
  padding:11px 22px!important;
  border:1px solid var(--color-line)!important;
  border-radius:999px!important;
  background:var(--color-light)!important;
  color:var(--pb-theme-dark,var(--color-dark))!important;
}

/* ET007 · Categoría + país destacado
   En contenido genérico se traduce a un tratamiento técnico azul. */
.pb-tag-ET007{
  padding:9px 14px!important;
  border-left:2px solid var(--color-support)!important;
  color:var(--color-support)!important;
  letter-spacing:.08em!important;
}

/* ET008 · Badge blanco premium */
.pb-tag-ET008{
  padding:10px 20px!important;
  background:var(--pb-theme-white,var(--color-white))!important;
  color:var(--pb-theme-dark,var(--color-dark))!important;
  border-radius:999px!important;
  box-shadow:0 8px 24px color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 10%,transparent)!important;
}

/* ET009 · Cápsula con ícono */
.pb-tag-ET009{
  color:var(--pb-theme-dark,var(--color-dark))!important;
  padding:9px 16px!important;
  border:1px solid var(--color-line)!important;
  border-radius:999px!important;
  background:var(--color-light)!important;
  letter-spacing:.03em!important;
  text-transform:none!important;
  font-size:12px!important;
}
.pb-tag-ET009::before{
  content:"◇"!important;
  display:inline-grid!important;
  place-items:center!important;
  width:18px!important;
  height:18px!important;
  flex:0 0 18px!important;
  color:var(--color-support)!important;
  font-size:13px!important;
}

/* ET010 · Lineal con separadores */
.pb-tag-ET010{
  padding:8px 12px!important;
  border-left:1px solid currentColor!important;
  border-right:1px solid currentColor!important;
  letter-spacing:.04em!important;
  text-transform:none!important;
  font-size:12px!important;
}

/* ET011 · Ícono circular + énfasis */
.pb-tag-ET011{
  color:var(--pb-theme-dark,var(--color-dark))!important;
  padding:8px 14px 8px 8px!important;
  border-radius:999px!important;
  background:var(--color-light)!important;
  letter-spacing:.03em!important;
  text-transform:none!important;
  font-size:12px!important;
}
.pb-tag-ET011::before{
  content:""!important;
  display:block!important;
  width:26px!important;
  height:26px!important;
  flex:0 0 26px!important;
  border-radius:50%!important;
  background:var(--color-support)!important;
  border:8px solid var(--color-light)!important;
}

/* ET012 · Técnica con mini badge */
.pb-tag-ET012{
  color:var(--pb-theme-dark,var(--color-dark))!important;
  padding:10px 16px!important;
  border:1px solid var(--color-line)!important;
  border-radius:6px!important;
  background:var(--color-light)!important;
  letter-spacing:.03em!important;
  text-transform:none!important;
  font-size:12px!important;
}
.pb-tag-ET012::after{
  content:"PE"!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:25px!important;
  height:18px!important;
  padding:0 5px!important;
  border-radius:4px!important;
  background:var(--color-support)!important;
  color:var(--pb-theme-white,var(--color-white))!important;
  font:800 8px/1 Inter,system-ui,sans-serif!important;
}

/* ET013 · Pill clara premium */
.pb-tag-ET013{
  padding:10px 18px 10px 10px!important;
  background:var(--pb-theme-white,var(--color-white))!important;
  color:var(--pb-theme-dark,var(--color-dark))!important;
  border-radius:999px!important;
  box-shadow:0 8px 24px color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 10%,transparent)!important;
  letter-spacing:.03em!important;
  text-transform:none!important;
  font-size:12px!important;
}
.pb-tag-ET013::before{
  content:""!important;
  display:block!important;
  width:26px!important;
  height:26px!important;
  flex:0 0 26px!important;
  border-radius:50%!important;
  background:var(--color-support)!important;
  border:7px solid var(--pb-theme-white,var(--color-white))!important;
}

/* ET014 · Editorial minimalista */
.pb-tag-ET014{
  padding:8px 0!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}
.pb-tag-ET014::before{
  content:""!important;
  display:block!important;
  width:38px!important;
  height:1px!important;
  flex:0 0 38px!important;
  background:var(--color-support)!important;
  opacity:.8!important;
}
.pb-global-cursor{
  position:fixed;
  left:0;
  top:0;
  z-index:2147483646;
  pointer-events:none;
  display:none;
  color:var(--color-key)!important;
  transform:translate(-50%,-50%);
}
body.pb-cursor-active,
body.pb-cursor-active a,
body.pb-cursor-active button,
body.pb-cursor-active [role="button"]{
  cursor:none!important;
}

/* Simples */
.pb-cursor-CP001{
  width:10px;height:10px;border-radius:50%;
  background:var(--color-key)!important;
}
.pb-cursor-CP002{
  width:28px;height:28px;border:1.5px solid var(--color-key)!important;border-radius:50%;
}
.pb-cursor-CP004{
  width:34px;height:34px;border:1px solid var(--color-key)!important;border-radius:50%;
}
.pb-cursor-CP004:before,
.pb-cursor-CP004:after{
  content:"";position:absolute;background:var(--color-key)!important;
}
.pb-cursor-CP004:before{width:48px;height:1px;left:-8px;top:16px}
.pb-cursor-CP004:after{width:1px;height:48px;left:16px;top:-8px}

.pb-cursor-CP005,
.pb-cursor-CP007{
  padding:7px 10px;border-radius:999px;background:var(--color-key)!important;
  color:var(--pb-theme-white,var(--color-white))!important;font:700 10px/1 sans-serif;white-space:nowrap;
}
.pb-cursor-CP010{
  width:24px;height:24px;border:2px solid var(--color-key)!important;
  transform:translate(-50%,-50%) rotate(45deg);
}

/* Cursores con efecto compuesto:
   el wrapper queda anclado al viewport y sus piezas se posicionan
   de forma independiente mediante JS. */
.pb-cursor-CP003,
.pb-cursor-CP006,
.pb-cursor-CP008,
.pb-cursor-CP009,
.pb-cursor-CP011{
  left:0!important;top:0!important;width:0!important;height:0!important;
  transform:none!important;
}

/* CP003 · punto inmediato + aro con retraso */
.pb-cursor-CP003 .pb-cursor-ring{
  position:absolute;width:38px;height:38px;border:1.5px solid var(--color-key);
  border-radius:50%;transform:translate(-50%,-50%);
  box-shadow:0 0 0 5px color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 6%,transparent);
}
.pb-cursor-CP003 .pb-cursor-dot{
  position:absolute;width:6px;height:6px;border-radius:50%;
  background:var(--color-key);transform:translate(-50%,-50%);
}

/* CP006 · aro magnético que se pega al centro de botones/links */
.pb-cursor-CP006 .pb-cursor-magnetic-ring{
  position:absolute;width:40px;height:40px;border:1.5px solid var(--color-key);
  border-radius:50%;transform:translate(-50%,-50%);
  background:var(--color-light);
  transition:width .16s ease,height .16s ease,background .16s ease,
             box-shadow .16s ease,border-width .16s ease;
}
.pb-cursor-CP006 .pb-cursor-magnetic-ring.is-magnet{
  width:64px;height:64px;border-width:2px;
  background:var(--color-support);
  box-shadow:0 0 0 8px color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 7%,transparent);
}

/* CP008 · mezcla/inversión real del contenido bajo el cursor */
.pb-cursor-CP008 .pb-cursor-blend-disc{
  position:absolute;width:46px;height:46px;border:2px solid var(--color-key);
  border-radius:50%;transform:translate(-50%,-50%);
  background:var(--color-light);
  -webkit-backdrop-filter:invert(1) contrast(1.08);
  backdrop-filter:invert(1) contrast(1.08);
  box-shadow:0 0 0 1px color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 22%,transparent) inset,
             0 0 20px color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 18%,transparent);
}

/* CP009 · rastro real con partículas independientes */
.pb-cursor-CP009 .pb-cursor-main-dot,
.pb-cursor-CP009 .pb-cursor-trail-dot{
  position:absolute;border-radius:50%;transform:translate(-50%,-50%);
  background:var(--color-key);
}
.pb-cursor-CP009 .pb-cursor-main-dot{width:9px;height:9px}
.pb-cursor-CP009 .pb-cursor-trail-dot{width:8px;height:8px}

/* CP011 · punto con inercia + aro con inercia más lenta */
.pb-cursor-CP011 .pb-cursor-inertia-ring{
  position:absolute;width:42px;height:42px;border:1.5px solid var(--color-key);
  border-radius:50%;transform:translate(-50%,-50%);
  box-shadow:0 0 18px color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 10%,transparent);
}
.pb-cursor-CP011 .pb-cursor-inertia-dot{
  position:absolute;width:7px;height:7px;border-radius:50%;
  background:var(--color-key);transform:translate(-50%,-50%);
  box-shadow:0 0 0 4px color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 12%,transparent),0 0 18px color-mix(in srgb,var(--pb-theme-dark,var(--color-dark)) 38%,transparent);
}


