.acmp-page { background: var(--bg-page); min-height: 100vh; overflow-x: clip; }html, body { overflow-x: clip; }@keyframes acmp-scrim-in { from { opacity: 0 } to { opacity: 1 } }@keyframes acmp-panel-in {
  from { transform: translateY(-12px); opacity: 0 }
  to   { transform: translateY(0); opacity: 1 }
}.acmp-br-desktop { display: none; }@media (min-width: 861px) {
.acmp-br-desktop { display: block; }
}
.acmp-hero {
  max-width: 1200px; margin: -24px auto 0;
  padding: 0 28px;
  display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 48px;
  align-items: center;
}.acmp-hero h1.acmp-hero-h1-extenda {
  font-family: 'Extenda 30 Deca', 'Poppins', sans-serif;
  font-weight: 800;
  font-size: 140px;
  text-transform: uppercase;
  letter-spacing: -0.01em;
  line-height: 0.92;
  margin: 14px 0 4px;
}.acmp-hero h1.acmp-hero-h1-extenda + p.lead { margin-top: 0; }.acmp-hero .eyebrow { margin-bottom: 6px !important; margin-top: -34px !important; }.acmp-hero-eyebrow {
  display: flex; flex-direction: column; gap: 2px;
  line-height: 1.3;
}.acmp-hero p.lead {
  font-size: 15px; color: var(--fg-2); max-width: 46ch; margin: 0 0 28px;
}.acmp-hero.acmp-hero-ingles p.lead { max-width: none; font-size: 17px; }.acmp-hero-art img.hero-photo {
  width: 216%; height: 216%;
  object-fit: contain;
  display: block;
  transform-origin: center;
}.acmp-logos {
  background: #f2f2f2;
  padding: 92px 0 44px;
  display: flex; flex-direction: column; gap: 22px;
}.acmp-logos .brand-logo {
  height: 202px; width: auto; max-width: 648px;
  object-fit: contain;
  flex-shrink: 0;
  filter: grayscale(100%);
  opacity: 0.72;
  transition: filter 0.3s, opacity 0.3s;
}.acmp-stats {
  max-width: 1200px; margin: 0 auto;
  padding: 20px 28px 56px;
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
}.acmp-section-head {
  max-width: 1200px; margin: 0 auto;
  padding: 32px 28px 40px;
  text-align: center;
}.acmp-bonos-wrap {
  max-width: 1100px; margin: 0 auto;
  padding: 24px 28px 80px;
}max-width: 1100px; margin: 0 auto;
  padding: 24px 28px 80px;
}
.acmp-bonos-head { text-align: center; max-width: 720px; margin: 0 auto 36px; }.acmp-bonos-head .eyebrow { color: var(--acmp-orange); margin-bottom: 10px; }.acmp-bonos-head h2 { color: var(--acmp-navy); margin: 0 0 8px; text-wrap: balance; }.acmp-bonos-head h2 .kw { color: var(--acmp-orange); }.acmp-bonos-head .desc { color: var(--fg-2); margin: 0 auto; }.acmp-bonos-list { display: flex; flex-direction: column; gap: 12px; }.acmp-bonus {
  text-align: left; width: 100%; cursor: pointer;
  background: #fff;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg, 20px);
  padding: 18px 22px;
  font-family: inherit; color: inherit;
  transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}.acmp-bonus:hover {
  border-color: rgba(217, 119, 87, .35);
  box-shadow: 0 6px 24px rgba(34, 43, 73, 0.06);
}.acmp-bonus.no-body { cursor: default; }.acmp-bonus.no-body:hover { transform: none; }.acmp-bonus-row {
  display: flex; align-items: center; gap: 18px;
}.acmp-bonus-tag {
  flex: 0 0 auto;
  font-family: var(--font-section, 'Inter', sans-serif);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #fff;
  background: var(--acmp-orange);
  padding: 8px 12px;
  border-radius: 999px;
}.acmp-bonus-main { flex: 1; min-width: 0; }.acmp-bonus-title {
  font-family: var(--font-section, 'Inter', sans-serif);
  font-weight: 700;
  font-size: 17px; color: var(--acmp-navy);
  letter-spacing: -0.01em;
  line-height: 1.3;
}.acmp-bonus-by {
  font-family: var(--font-body, 'Inter', sans-serif);
  font-size: 13px; color: var(--fg-2);
  margin-top: 2px;
}.acmp-bonus-chev {
  color: var(--acmp-navy);
  transition: transform .2s ease;
}.acmp-bonus.is-open .acmp-bonus-chev { transform: rotate(180deg); }.acmp-bonus-badge {
  width: 26px; height: 26px;
  border-radius: 999px;
  background: rgba(217, 119, 87, .12);
  color: var(--acmp-orange);
  display: inline-flex; align-items: center; justify-content: center;
}.acmp-bonus-body { padding: 8px 0 6px 0; }.acmp-bonus-body ul {
  list-style: none; margin: 14px 0 4px; padding: 0;
  display: flex; flex-direction: column; gap: 10px;
}.acmp-bonus-body li {
  position: relative;
  padding-left: 18px;
  font-family: var(--font-body, 'Inter', sans-serif);
  font-size: 15px; line-height: 1.5; color: var(--fg-1);
}.acmp-bonus-body li::before {
  content: ''; position: absolute;
  left: 2px; top: 9px; width: 6px; height: 6px;
  border-radius: 999px; background: var(--acmp-orange);
}.acmp-ad { background: #fff; padding: 96px 0 64px; }.acmp-ad-wrap {
  max-width: 1200px; margin: 0 auto;
  padding: 0 28px;
}.acmp-ad-head { text-align: center; margin-bottom: 48px; }.acmp-ad-head .eyebrow { color: var(--acmp-orange); margin-bottom: 14px; }.acmp-ad-head h2 .kw { color: var(--acmp-orange); }.acmp-ad-grid {
  display: grid;
  grid-template-columns: 1fr 0.85fr 1fr;
  gap: 28px;
  align-items: stretch;
}.acmp-ad-col {
  background: #f6f6f6;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg, 20px);
  padding: 26px 26px 28px;
}.acmp-ad-col-head { margin-bottom: 18px; display: flex; }.acmp-ad-col-tag {
  font-family: var(--font-section, 'Inter', sans-serif);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  padding: 6px 12px;
  border-radius: 999px;
}.acmp-ad-tag-antes {
  color: #8a8a8a;
  background: #ebebeb;
}.acmp-ad-tag-despues {
  color: #fff;
  background: var(--acmp-orange);
}.acmp-ad-col ul {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-direction: column; gap: 12px;
}.acmp-ad-col li {
  display: flex; align-items: flex-start; gap: 12px;
  font-family: var(--font-body, 'Inter', sans-serif);
  font-size: 15px; line-height: 1.45;
  color: var(--fg-1);
}.acmp-ad-icon {
  flex: 0 0 22px;
  width: 22px; height: 22px;
  border-radius: 999px;
  display: inline-flex; align-items: center; justify-content: center;
  margin-top: 1px;
}.acmp-ad-icon-x {
  background: #e0e0e0;
  color: #6b6b6b;
}.acmp-ad-icon-check {
  background: var(--acmp-orange);
  color: #fff;
}.acmp-ad-col-antes li { color: var(--fg-2); }.acmp-ad-col-despues { background: #fff7f2; border-color: rgba(217, 119, 87, .25); }.acmp-ad-media {
  display: flex; align-items: stretch; justify-content: center;
}.acmp-ad-photo {
  width: 100%;
  border-radius: var(--radius-lg, 20px);
  overflow: hidden;
  background: #f2f2f2;
}.acmp-ad-photo img {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
}@media (max-width: 1100px) {
.acmp-ad-grid {
    grid-template-columns: 1fr 1fr;
  }.acmp-ad-media { grid-column: 1 / -1; order: -1; max-height: 420px; }
}
@media (max-width: 640px) {
.acmp-ad-grid { grid-template-columns: 1fr; }
}
.acmp-empresas-cta {
  position: relative;
  background:
    linear-gradient(rgba(34, 43, 73, 0.78), rgba(34, 43, 73, 0.88)),
    url('../assets/empresas-bg.webp') center / cover no-repeat,
    var(--acmp-navy, #222b49);
  padding: 80px 28px;
  margin: 0;
  max-width: 100%;
  border-radius: 0;
  overflow: hidden;
}.acmp-page section h2,
.acmp-page .acmp-section-head h2,
.acmp-outcomes-head h2,
.acmp-modules-head h2,
.acmp-vsl-head h2,
.acmp-test-head h2,
.acmp-bio-text h2,
.acmp-para-quien-head h2,
.acmp-empresas-cta-title,
.acmp-accion-title,
.acmp-certs-title {
  font-family: 'DM Sans', 'Inter', system-ui, sans-serif;
  font-size: 34px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.02em;
  text-transform: none;
}.acmp-para-quien {
  background: #fff;
  padding: 96px 0 64px;
}.acmp-para-quien-inner {
  max-width: 1200px; margin: 0 auto;
  padding: 0 28px;
}.acmp-para-quien-head { text-align: center; margin-bottom: 48px; }.acmp-para-quien-head .eyebrow { color: var(--acmp-orange); margin-bottom: 14px; }.acmp-para-quien-head h2 {
  font-family: 'Extenda 30 Deca', 'Poppins', sans-serif;
  font-weight: 800;
  font-size: clamp(2rem, 4.4vw, 56px);
  line-height: 1.02;
  letter-spacing: -0.01em;
  text-transform: uppercase;
  color: var(--acmp-navy);
  margin: 0;
  text-wrap: balance;
}.acmp-para-quien-head h2 .kw { color: var(--acmp-orange); }.acmp-para-quien-grid {
  list-style: none; padding: 0; margin: 0;
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px;
}.acmp-para-quien-card {
  background: #f6f6f6;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg, 20px);
  padding: 22px 22px 22px 22px;
  display: flex; align-items: flex-start; gap: 14px;
  font-family: var(--font-body);
  font-size: 16px; line-height: 1.45; color: var(--fg-1);
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}.acmp-para-quien-card:hover {
  transform: translateY(-2px);
  background: #fff;
  box-shadow: var(--shadow-md, 0 6px 24px rgba(0,0,0,.06));
}.acmp-para-quien-check {
  flex: 0 0 28px;
  width: 28px; height: 28px;
  border-radius: 999px;
  background: var(--acmp-orange);
  color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
  margin-top: 1px;
}.acmp-para-quien-text { display: block; }@media (max-width: 1100px) {
.acmp-para-quien-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
.acmp-para-quien-grid { grid-template-columns: 1fr; }
}
.acmp-test-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}.acmp-testimonial::before {
  content: ''; position: absolute; right: -60px; top: -60px;
  width: 360px; height: 360px;
  background-image: url('../assets/isotype-waves.svg');
  background-size: contain; background-repeat: no-repeat;
  color: #fff; opacity: 0.10;
}.acmp-bio-section-title { color: var(--acmp-navy); margin: 0; }.acmp-bio-grid-single {
  grid-template-columns: 1fr;
  max-width: calc((1200px - 28px * 2 - 40px) / 2);
  margin: 40px auto 0;
}.acmp-bio {
  display: flex; flex-direction: column; align-items: center;
  gap: 20px; text-align: center;
  background: #fff;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg, 20px);
  padding: 32px 28px;
}.acmp-bio-photo {
  width: 280px; height: 280px; aspect-ratio: 1 / 1;
  border-radius: 8px;
  background: #f2f2f2;
  overflow: hidden;
  flex: 0 0 auto;
  align-self: center;
}.acmp-bio-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }.acmp-bio-name {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 28px;
  letter-spacing: -0.02em;
  line-height: 1.1;
  color: var(--acmp-orange);
  margin: 0 0 6px;
}overflow: hidden;
  background: linear-gradient(160deg, #f6f4ef 0%, #e9e4d8 100%);
  box-shadow: 0 24px 60px rgba(34, 43, 73, 0.14);
  position: relative;
}
.acmp-bio-placeholder {
  position: absolute; inset: 0;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 8px;
  font-family: var(--font-section); color: #000; text-align: center;
  border: 2px dashed rgba(0,0,0,0.18);
  border-radius: var(--radius-xl);
  margin: 14px;
}@media (max-width: 860px) {
.acmp-bio-photo { width: 260px; height: 260px; }
}
.acmp-accion-title {
  font-family: 'Poppins', sans-serif; font-weight: 700;
  font-size: 34px; line-height: 1.05; letter-spacing: -0.03em;
  color: var(--acmp-navy); margin: 0;
}.acmp-ebook-eyebrow {
  font-family: 'Poppins', sans-serif; font-weight: 700;
  font-size: 34px; letter-spacing: -0.03em;
  color: var(--acmp-navy); margin: 0 0 18px;
  text-transform: uppercase;
}.acmp-ebook-title {
  font-family: 'DM Sans', 'Inter', system-ui, sans-serif; font-weight: 700;
  font-size: 34.5px; line-height: 1.2;
  color: var(--acmp-navy); margin: 0 0 28px;
  letter-spacing: -0.02em;
  max-width: 18ch;
}.acmp-ebook-cover-img {
  display: block;
  width: 100%;
  max-width: 360px;
  height: auto;
  border-radius: 12px;
  box-shadow: 0 30px 80px rgba(34, 43, 73, 0.18);
  transition: transform var(--dur-base) var(--ease-standard);
}.acmp-ebook-cover-img:hover { transform: rotate(-1deg) translateY(-4px); }.acmp-ebook-cover {
  position: relative;
  aspect-ratio: 3 / 4;
  width: 100%; max-width: 360px;
  transform: rotate(-3deg);
  transition: transform var(--dur-base) var(--ease-standard);
}.acmp-ebook-cover-kicker {
  font-family: 'Poppins', sans-serif; font-weight: 700;
  font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase;
  color: #fff; opacity: 0.92; margin: 0 0 8px;
}.acmp-ebook-cover-title {
  font-family: 'DM Sans', 'Inter', system-ui, sans-serif; font-weight: 800;
  font-size: 25.3px; line-height: 1.05; letter-spacing: -0.01em;
  margin: 0 auto 8px; color: #fff;
  max-width: 16ch;
  text-wrap: balance;
}.acmp-outcomes-head h2 {
  font-family: 'Poppins', sans-serif; font-weight: 700;
  font-size: 34px;
  letter-spacing: -0.04em; line-height: 1.05;
  color: #000; margin: 0; text-wrap: balance;
}.acmp-vsl-wrap {
  background: #fff;
  max-width: none; margin: 0;
  padding: 80px max(28px, calc((100% - 1200px) / 2)) 40px;
}.acmp-vsl-frame {
  position: relative; aspect-ratio: 16 / 9;
  border-radius: var(--radius-xl); overflow: hidden;
  background: transparent;
  box-shadow: 0 30px 80px rgba(34, 43, 73, 0.12);
}.acmp-faq-wrap {
  max-width: 880px; margin: 0 auto;
  padding: 40px 28px 96px;
}.acmp-faq-title {
  font-family: 'Poppins', sans-serif; font-weight: 700;
  font-size: 34px; line-height: 1.05; letter-spacing: -0.03em;
  color: var(--acmp-navy); margin: 0;
}.acmp-faq-q {
  font-family: 'Poppins', sans-serif; font-weight: 600;
  font-size: 17px; color: var(--acmp-navy);
  letter-spacing: -0.02em; line-height: 1.3;
}.acmp-certs-title {
  font-family: 'Poppins', sans-serif; font-weight: 700;
  font-size: 34px; line-height: 1.1; letter-spacing: -0.03em;
  color: var(--acmp-navy); margin: 0 0 14px;
}.acmp-buy-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  align-items: stretch;
}.acmp-buy-card.is-combo { height: 100%; }.acmp-buy-combo-title {
  font-family: 'DM Sans', 'Inter', system-ui, sans-serif;
  font-weight: 700; font-size: 26px;
  line-height: 1.15; letter-spacing: -0.02em;
  color: #fff; margin: 0;
}.acmp-buy-kicker {
  font-family: var(--font-section, 'Inter', sans-serif);
  font-weight: 700; font-size: 12px;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--acmp-orange, #f74604);
  margin: 0 0 -10px;
}.acmp-buy-kicker.is-combo { color: rgba(255,255,255,0.78); }font-family: 'DM Sans', 'Inter', system-ui, sans-serif;
  font-weight: 700; font-size: 26px;
  line-height: 1.15; letter-spacing: -0.02em;
  color: #fff; margin: 0;
}
.acmp-buy-perclass {
  font-family: var(--font-body, 'Inter', sans-serif);
  font-size: 14px; opacity: 0.78; font-weight: 500;
}.acmp-buy-preventa {
  display: inline-flex; align-items: center; gap: 8px;
  align-self: center;
  font-family: var(--font-section, 'Inter', sans-serif);
  font-weight: 700; font-size: 12.5px;
  letter-spacing: 0.04em;
  color: #fff;
  background: var(--acmp-orange, #f74604);
  padding: 7px 14px; border-radius: 999px;
}.acmp-buy-preventa-dot {
  width: 7px; height: 7px; border-radius: 999px;
  background: #fff;
  box-shadow: 0 0 0 0 rgba(255,255,255,0.7);
  animation: acmp-pulse 1.6s infinite;
}@keyframes acmp-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(255,255,255,0.6); }
  70%  { box-shadow: 0 0 0 7px rgba(255,255,255,0); }
  100% { box-shadow: 0 0 0 0 rgba(255,255,255,0); }
}.acmp-buy-startdate {
  font-family: var(--font-body, 'Inter', sans-serif);
  font-size: 14px; line-height: 1.4;
  color: rgba(255,255,255,0.88);
  margin: 0;
}.acmp-buy-startdate strong { color: #fff; }.acmp-community-head h2 {
  font-family: 'DM Sans', 'Inter', system-ui, sans-serif;
  font-weight: 700; font-size: 34px;
  color: var(--acmp-navy, #222b49); margin: 0 0 10px;
  letter-spacing: -0.02em; line-height: 1.1;
}@media (max-width: 900px) {
.acmp-community { padding: 56px 0; }.acmp-community-wrap { padding: 0 20px; }.acmp-community-head h2 { font-size: 26px; }.acmp-community-grid { grid-template-columns: repeat(3, 1fr); gap: 4px; }.acmp-community-profile {
    flex-direction: column; gap: 8px;
    padding: 0;
    background: transparent;
    border: none;
    box-shadow: none;
  }.acmp-community-profile:hover {
    transform: none;
    box-shadow: none;
  }.acmp-community-handle { text-align: center; align-items: center; }
}
@media (max-width: 900px) {
.acmp-logo img { height: 36px !important; }.acmp-hero {
    grid-template-columns: 1fr;
    gap: 4px;
    padding: 56px 20px 0;
    margin: 0 auto;
    text-align: center;
  }.acmp-hero h1.acmp-hero-h1-extenda {
    font-size: 100px;
    line-height: 0.94;
    margin: 4px 0 6px;
    text-align: center;
  }.acmp-hero .eyebrow { margin-top: 0 !important; font-size: 11px; text-align: center; }.acmp-hero-eyebrow { align-items: center; }.acmp-hero-eyebrow span { display: block; text-align: center; }.acmp-hero p.lead,
  .acmp-hero.acmp-hero-ingles p.lead {
    font-size: 12px; max-width: 44ch;
    margin: 8px auto 20px; text-align: center;
    text-wrap: balance;
  }.acmp-hero p.lead .hide-mobile { display: none; }.acmp-hero-ctas { flex-direction: column; align-items: center; gap: 10px; }.acmp-hero-ctas .acmp-btn { width: auto; justify-content: center; }.acmp-hero-art { aspect-ratio: 5 / 4; }.acmp-hero-art img.hero-photo { width: 169% !important; height: 169% !important; }.acmp-logos { padding: 8px 0 12px; }.acmp-logos .label { font-size: 14px; padding: 0 20px; text-align: center; }.brand-logo { height: 90px !important; }.acmp-stats {
    grid-template-columns: 1fr;
    gap: 18px; padding: 32px 20px; text-align: center;
  }.acmp-stat .num { font-size: 44px; }.acmp-stat .lbl { font-size: 13px; }.acmp-page section h2,
  .acmp-page .acmp-section-head h2,
  .acmp-outcomes-head h2,
  .acmp-modules-head h2,
  .acmp-vsl-head h2,
  .acmp-test-head h2,
  .acmp-bio-text h2,
  .acmp-para-quien-head h2,
  .acmp-empresas-cta-title,
  .acmp-bonos-head h2,
  .acmp-ad-head h2,
  .acmp-accion-title,
  .acmp-faq-title,
  .acmp-certs-title {
    font-size: 26px;
    line-height: 1.15;
  }.acmp-section-head { padding: 0 20px; text-align: center; }.acmp-section-head .desc { font-size: 14px; }.acmp-vsl-wrap { padding: 32px 20px 24px; }.acmp-vsl-frame { border-radius: 14px; box-shadow: 0 12px 32px rgba(34,43,73,.10); }.acmp-outcomes { padding: 48px 0; }.acmp-outcomes-wrap { padding: 0 20px; }.acmp-outcomes-head { margin-bottom: 24px; text-align: center; }.acmp-outcomes-grid {
    grid-template-columns: 1fr !important;
    gap: 16px;
  }.acmp-outcomes-media { order: -1; }.acmp-outcomes-photo { max-width: 320px; margin: 0 auto; }.acmp-outcomes-list li { font-size: 14px; }.acmp-ebook { padding: 48px 0; }.acmp-ebook-wrap {
    grid-template-columns: 1fr;
    gap: 32px; padding: 0 20px; text-align: center;
  }.acmp-ebook-copy { text-align: center; }.acmp-ebook-title { margin: 0 auto 18px; font-size: 26px; max-width: 28ch; }.acmp-ebook-cover { max-width: 240px; margin: 0 auto; }.acmp-ebook-cover-img { max-width: 240px; margin: 0 auto; }.acmp-accion { padding: 48px 0 32px; }.acmp-accion-card { width: 286px !important; height: 364px !important; }.acmp-accion-track { gap: 10px !important; }.acmp-modules-wrap { padding: 48px 20px; }.acmp-modules-head { text-align: center; margin-bottom: 24px; }.acmp-module { padding: 14px 16px; }.acmp-module-row {
    display: grid !important;
    grid-template-columns: auto 1fr auto;
    gap: 12px; align-items: center;
  }.acmp-module-n { font-size: 16px; }.acmp-module-title { font-size: 14px; line-height: 1.3; }.acmp-module-meta { display: none; }.acmp-module-bullets li { font-size: 14px; }.acmp-bonos-wrap { padding: 16px 20px 56px; }.acmp-bonos-head { margin-bottom: 24px; }.acmp-bonus { padding: 14px 16px; }.acmp-bonus-row { gap: 12px; }.acmp-bonus-tag {
    font-size: 9px; padding: 6px 9px; letter-spacing: 0.14em;
  }.acmp-bonus-title { font-size: 14px; line-height: 1.3; }.acmp-bonus-by { font-size: 12px; }.acmp-bonus-body li { font-size: 14px; }.acmp-bio-wrap { padding: 48px 20px; }.acmp-bio-head { margin-bottom: 24px; }.acmp-bio-grid {
    grid-template-columns: 1fr !important;
    gap: 24px;
  }.acmp-bio {
    padding: 24px 20px;
  }.acmp-bio-photo { width: 220px; height: 220px; margin: 0 auto; }.acmp-bio-name { font-size: 24px; }.acmp-bio-role { font-size: 14px; }.acmp-bio-lead { font-size: 14px; text-align: left; }.acmp-bio-socials { justify-content: center; }.acmp-para-quien { padding: 56px 0 32px; }.acmp-para-quien-inner { padding: 0 20px; }.acmp-para-quien-grid { grid-template-columns: 1fr !important; gap: 12px; }.acmp-para-quien-card { padding: 16px; font-size: 14px; }.acmp-ad { padding: 56px 0 32px; }.acmp-ad-wrap { padding: 0 20px; }.acmp-ad-head { margin-bottom: 24px; }.acmp-ad-grid {
    grid-template-columns: 1fr !important;
    gap: 16px;
  }.acmp-ad-media { order: -1; max-height: 260px; }.acmp-ad-col { padding: 20px; }.acmp-ad-col li { font-size: 14px; }.acmp-testimonial-wrap { padding: 48px 20px; }.acmp-test-grid {
    grid-template-columns: 1fr !important;
    gap: 16px;
  }.acmp-test-card { padding: 22px; }.acmp-test-text { font-size: 14px; }.acmp-courses {
    grid-template-columns: 1fr !important;
    gap: 16px; padding: 0 20px;
    max-width: 64%; margin: 0 auto;
  }.acmp-section-head { padding: 32px 20px 32px; text-align: center; }.acmp-empresas-cta {
    margin: 0;
    padding: 48px 24px;
    width: 100% !important;
    height: auto !important;
    text-align: center;
  }.acmp-empresas-cta-inner { margin: 0 auto; text-align: center; align-items: center; display: flex; flex-direction: column; border-radius: 0; }.acmp-empresas-cta-text { font-size: 15px; }.acmp-certs { padding: 48px 0; }.acmp-certs-head { padding: 0 20px; margin-bottom: 24px; }.acmp-certs-sub { font-size: 14px; }.acmp-certs-card { width: 280px !important; }.acmp-faq { padding: 48px 0; }.acmp-faq-wrap { padding: 0 20px; }.acmp-faq-head { text-align: center; margin-bottom: 24px; }.acmp-faq-q { font-size: 15px; }.acmp-faq-a { font-size: 14px; }.acmp-socials-wrap { padding: 24px 20px 64px; }.acmp-socials-row { gap: 32px; }.acmp-social-link { font-size: 12px; }.acmp-socials .acmp-social-ico svg { width: 36px !important; height: 36px !important; }.acmp-modal { width: calc(100% - 32px); max-width: 480px; padding: 24px; }
}
@media (max-width: 600px) {
.acmp-vsl-head h2 { font-size: 25px !important; }
}
@media (max-width: 480px) {
.acmp-hero h1.acmp-hero-h1-extenda { font-size: 84px; }.acmp-hero p.lead, .acmp-hero.acmp-hero-ingles p.lead { font-size: 12px; }.acmp-stat .num { font-size: 36px; }.acmp-page section h2,
  .acmp-outcomes-head h2,
  .acmp-modules-head h2,
  .acmp-vsl-head h2,
  .acmp-test-head h2,
  .acmp-bio-text h2,
  .acmp-para-quien-head h2,
  .acmp-empresas-cta-title,
  .acmp-bonos-head h2,
  .acmp-ad-head h2,
  .acmp-accion-title,
  .acmp-faq-title,
  .acmp-certs-title {
    font-size: 22px;
  }
}
}

.acmp-hero-ingles .acmp-hero-art {
  aspect-ratio: auto;
  height: 100%;
  min-height: 480px;
  overflow: hidden;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
}.acmp-hero-ingles .acmp-hero-art img.hero-photo.hero-photo-frame {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  transform: none;
  border-radius: var(--radius-lg);
}.acmp-hero.acmp-hero-ingles {
  margin: 64px auto 64px;
  padding-top: 0;
  gap: 24px;
  grid-template-columns: 1fr 1fr;
  align-items: stretch;
}.acmp-hero-ingles > div:first-child {
  display: flex;
  flex-direction: column;
  justify-content: center;
}.acmp-hero-n0-title, .acmp-hero-n0-title.acmp-hero-ni-title, .acmp-hero-ni-title {
  font-family: 'Poppins', var(--font-display);
  font-weight: 600 !important;
  font-size: clamp(40px, 5.6vw, 72px) !important;
  line-height: 1 !important;
  letter-spacing: -0.065em !important;
  text-transform: none !important;
  text-wrap: balance;
}@media (max-width: 600px) {
.acmp-hero-n0-title, .acmp-hero-n0-title.acmp-hero-ni-title, .acmp-hero-ni-title {
    font-size: clamp(34px, 10vw, 46px) !important;
  }
}
.acmp-hero h1.acmp-hero-h1-extenda.acmp-hero-h1-ingles {
  font-family: 'DM Sans', var(--font-display);
  font-weight: 800;
  font-size: clamp(40px, 5.6vw, 72px);
  line-height: 1;
  letter-spacing: -0.065em;
  text-transform: none;
  color: var(--acmp-orange);
  margin: 22px 0 22px;
  max-width: 15ch;
  text-wrap: balance;
}.acmp-hero h1.acmp-hero-h1-ingles .hero-navy { color: var(--acmp-orange); }.acmp-hero .acmp-hero-eyebrow-ingles { color: #000; margin-top: 0 !important; }.acmp-hero .acmp-hero-eyebrow-ingles .agotado { color: var(--acmp-orange); }@media (max-width: 860px) {
.acmp-hero.acmp-hero-ingles {
    margin-top: 28px;
    grid-template-columns: 1fr;
    align-items: stretch;
  }.acmp-hero-ingles > div:first-child {
    text-align: center;
    align-items: center;
  }.acmp-hero .acmp-hero-eyebrow-ingles {
    align-items: center;
    text-align: center;
  }.acmp-hero .acmp-hero-eyebrow-ingles > span:first-child { font-size: 11px !important; }.acmp-hero .acmp-hero-eyebrow-ingles .acmp-eyebrow-sep { display: none; }.acmp-hero .acmp-hero-eyebrow-ingles .acmp-eyebrow-l1b { display: block; }.acmp-hero .acmp-hero-eyebrow-ingles > span:last-child { white-space: nowrap; font-size: 11px; }.acmp-hero-ingles p.lead {
    margin-left: auto;
    margin-right: auto;
  }.acmp-hero h1.acmp-hero-h1-extenda.acmp-hero-h1-ingles {
    font-size: clamp(34px, 10vw, 46px) !important;
    line-height: 1;
    letter-spacing: normal;
  }.acmp-hero-ingles p.lead {
    font-size: 13px;
    max-width: none;
  }.acmp-hero-ingles .acmp-hero-art {
    aspect-ratio: 4 / 3;
    height: auto;
    min-height: 0;
  }
}
@media (max-width: 480px) {
.acmp-hero h1.acmp-hero-h1-extenda.acmp-hero-h1-ingles { font-size: clamp(34px, 10vw, 46px) !important; }
}
.acmp-niveles {
  background: var(--acmp-gray);
  max-width: none;
  margin: 0 0 72px;
  padding: 40px max(28px, calc((100% - 1200px) / 2)) 72px;
}.acmp-niveles .acmp-section-head .eyebrow { color: var(--acmp-orange); }.acmp-niveles .acmp-section-head h2 { color: var(--acmp-navy); }.acmp-niveles .acmp-section-head h2 .kw { color: var(--acmp-orange); }.acmp-niveles .acmp-section-head .desc { color: var(--acmp-navy-700); }.acmp-niveles-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
  gap: var(--space-5);
  max-width: 1200px;
  margin: 0 auto;
  justify-content: center;
}.acmp-nivel-card {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  text-align: left;
  background: #fff;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
  padding: var(--space-6);
  transition: box-shadow var(--dur-base) var(--ease-standard),
              transform var(--dur-base) var(--ease-standard);
}.acmp-nivel-card:hover {
  box-shadow: var(--shadow-lg);
  transform: translateY(-2px);
}.acmp-nivel-live {
  align-self: center;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--acmp-orange);
  color: #fff;
  border: none;
  border-radius: var(--radius-pill);
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 7px 14px;
  cursor: pointer;
  transition: background var(--dur-fast) var(--ease-standard);
}.acmp-nivel-live:hover { background: var(--acmp-orange-700); }.acmp-nivel-live .dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.6);
  animation: acmp-live-pulse 1.6s var(--ease-standard) infinite;
}@keyframes acmp-live-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.55); }
  70%  { box-shadow: 0 0 0 7px rgba(255, 255, 255, 0); }
  100% { box-shadow: 0 0 0 0 rgba(255, 255, 255, 0); }
}.acmp-nivel-badge {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(247, 70, 4, 0.08);
  color: var(--acmp-orange);
  border-radius: var(--radius-pill);
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 11.5px;
  letter-spacing: 0.08em;
  padding: 8px 14px;
  white-space: nowrap;
}.acmp-nivel-badge .dot {
  width: 9px; height: 9px; border-radius: 50%;
  background: #e11d1d;
  box-shadow: 0 0 0 0 rgba(225, 29, 29, 0.5);
  animation: acmp-live-pulse 1.6s var(--ease-standard) infinite;
}.acmp-nivel-hook {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 16px;
  line-height: 1.4;
  color: var(--acmp-orange);
  margin: 0 0 4px;
}.acmp-nivel-sep {
  width: 100%;
  border: none;
  border-top: 1px solid var(--border-subtle);
  margin: 12px 0 16px;
}.acmp-nivel-kicker {
  font-family: var(--font-section);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--acmp-orange);
  margin: 22px 0 6px;
}.acmp-nivel-title {
  font-family: var(--font-section);
  font-weight: 700;
  font-size: 26px;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: var(--acmp-navy);
  margin: 22px 0 12px;
}.acmp-nivel-desc {
  font-family: var(--font-body);
  font-size: 15.5px;
  line-height: 1.55;
  color: var(--fg-2);
  margin: 0 0 24px;
  flex: 0 1 auto;
}.acmp-nivel-card .acmp-btn-primary {
  width: 100%;
  justify-content: center;
  align-self: stretch;
  text-align: center;
  margin-top: auto;
  box-sizing: border-box;
}@media (max-width: 920px) {
.acmp-niveles-grid { grid-template-columns: 1fr; max-width: 360px; margin: 0 auto; }.acmp-niveles { padding: 32px 20px 48px; }.acmp-nivel-card { padding: var(--space-5); }.acmp-nivel-title { font-size: 21px; }.acmp-nivel-desc { font-size: 13px; }.acmp-nivel-badge { font-size: 10.5px; padding: 7px 12px; }.acmp-nivel-hook { font-size: 15px; }.acmp-nivel-live { font-size: 11px; padding: 6px 12px; }.acmp-nivel-card .acmp-btn-primary { font-size: 13px; }
}
.acmp-featured {
  max-width: 1200px;
  margin: 0 auto;
  padding: 24px 28px 88px;
}.acmp-featured-card {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  align-items: stretch;
  gap: 0;
  background: var(--acmp-gray);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
  overflow: hidden;
}.acmp-featured-media {
  background: var(--acmp-gray);
}.acmp-featured-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}.acmp-featured-body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: var(--space-8) var(--space-8);
  gap: var(--space-4);
}.acmp-featured-authors {
  font-family: var(--font-section);
  font-weight: 700;
  font-size: 15px;
  letter-spacing: 0.02em;
  color: var(--acmp-orange);
}.acmp-featured-desc {
  font-family: var(--font-body);
  font-size: 17px;
  line-height: 1.6;
  color: var(--fg-2);
  margin: 0;
  max-width: 46ch;
}.acmp-featured-cta {
  margin-top: var(--space-2);
  text-decoration: none;
}@media (max-width: 860px) {
.acmp-featured { padding: 16px 20px 64px; }.acmp-featured-card { grid-template-columns: 1fr; }.acmp-featured-media { aspect-ratio: 706 / 400; }.acmp-featured-body { padding: var(--space-6); align-items: center; text-align: center; }.acmp-featured-desc { font-size: 15.5px; }
}
.acmp-comunica {
  max-width: 1200px;
  margin: 0 auto;
  padding: 88px 28px 72px;
}.acmp-comunica-inner {
  display: grid;
  grid-template-columns: 0.92fr 1.08fr;
  gap: var(--space-8);
  align-items: center;
}.acmp-comunica-text h2.acmp-comunica-title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(1.9rem, 2.8vw, 2.4rem);
  line-height: 1.12;
  letter-spacing: -0.03em;
  color: var(--acmp-navy);
  margin: 0 0 20px;
  text-align: left;
  text-wrap: normal;
}.acmp-comunica-text h2.acmp-comunica-title .kw { color: var(--acmp-orange); letter-spacing: -0.03em; }.acmp-comunica-text p {
  font-family: var(--font-body);
  font-size: 16.5px;
  line-height: 1.62;
  color: var(--fg-2);
  margin: 0 0 16px;
  max-width: 52ch;
}.acmp-comunica-lead {
  font-weight: 600;
  color: var(--fg-1) !important;
}.acmp-comunica-emph {
  font-family: var(--font-section);
  font-weight: 700;
  font-size: 19px;
  line-height: 1.3;
  color: var(--acmp-navy) !important;
  margin: 22px 0 18px !important;
}.acmp-comunica-close {
  font-family: var(--font-section);
  font-size: 20px;
  line-height: 1.3;
  color: var(--acmp-navy) !important;
  margin: 0 !important;
}.acmp-comunica-close strong { color: var(--acmp-orange); font-weight: 700; }.acmp-carousel {
  position: relative;
  aspect-ratio: 4 / 5;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-lg);
  background: var(--acmp-gray);
}.acmp-carousel-track {
  display: flex;
  height: 100%;
  transition: transform var(--dur-slow) var(--ease-standard);
}.acmp-carousel-slide {
  min-width: 100%;
  height: 100%;
}.acmp-carousel-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}.acmp-carousel-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: var(--radius-pill);
  background: rgba(255, 255, 255, 0.9);
  color: var(--acmp-navy);
  cursor: pointer;
  box-shadow: var(--shadow-md);
  transition: background var(--dur-fast) var(--ease-standard),
              color var(--dur-fast) var(--ease-standard);
}.acmp-carousel-arrow:hover { background: var(--acmp-orange); color: #fff; }.acmp-carousel-prev { left: 14px; }.acmp-carousel-next { right: 14px; }.acmp-carousel-dots {
  position: absolute;
  bottom: 16px;
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  gap: 8px;
}.acmp-carousel-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  border: none;
  padding: 0;
  background: rgba(255, 255, 255, 0.55);
  cursor: pointer;
  transition: background var(--dur-fast) var(--ease-standard),
              width var(--dur-fast) var(--ease-standard);
}.acmp-carousel-dot.is-active {
  width: 22px;
  border-radius: var(--radius-pill);
  background: var(--acmp-orange);
}@media (max-width: 860px) {
.acmp-comunica { padding: 16px 20px 56px; }.acmp-comunica-inner { grid-template-columns: 1fr; gap: var(--space-6); }.acmp-comunica-media { max-width: 440px; margin: 0 auto; width: 100%; }.acmp-carousel { aspect-ratio: 4 / 3; }.acmp-comunica-text { text-align: left; }.acmp-comunica-text h2.acmp-comunica-title { text-align: left; font-size: clamp(17px, 4.6vw, 20px) !important; line-height: 1.2 !important; margin-bottom: 10px; }.acmp-comunica-text p.acmp-comunica-emph { font-size: 15px !important; line-height: 1.35 !important; }.acmp-comunica-text p.acmp-comunica-close span,
  .acmp-comunica-text p.acmp-comunica-close strong { font-size: 15px !important; line-height: 1.35 !important; }.acmp-comunica-text p { font-size: 13px; line-height: 1.4; margin-left: 0; margin-right: 0; }
}
@media (max-width: 860px) {
.acmp-community-sub { display: none; }.acmp-community-profile { display: none; }
}
@media (max-width: 700px) {
.acmp-page section h2,
  .acmp-page .acmp-section-head h2,
  .acmp-outcomes-head h2,
  .acmp-modules-head h2,
  .acmp-vsl-head h2,
  .acmp-test-head h2,
  .acmp-bio-head h2,
  .acmp-bio-text h2,
  .acmp-para-quien-head h2,
  .acmp-empresas-cta-title,
  .acmp-bonos-head h2,
  .acmp-ad-head h2,
  .acmp-accion-title,
  .acmp-faq-title,
  .acmp-galeria-head h2,
  .acmp-certs-title { font-size: 25px !important; line-height: 1.2 !important; letter-spacing: -0.03em !important; }.acmp-page section h2 span, .acmp-page section h2 .kw,
  .acmp-outcomes-head h2 span, .acmp-modules-head h2 span,
  .acmp-vsl-head h2 span, .acmp-test-head h2 span,
  .acmp-galeria-head h2 span, .acmp-certs-title span { font-size: inherit !important; line-height: inherit !important; }
}
@media (max-width: 480px) {
.acmp-page section h2,
  .acmp-page .acmp-section-head h2,
  .acmp-outcomes-head h2,
  .acmp-modules-head h2,
  .acmp-vsl-head h2,
  .acmp-test-head h2,
  .acmp-bio-head h2,
  .acmp-bio-text h2,
  .acmp-para-quien-head h2,
  .acmp-empresas-cta-title,
  .acmp-bonos-head h2,
  .acmp-ad-head h2,
  .acmp-accion-title,
  .acmp-faq-title,
  .acmp-galeria-head h2,
  .acmp-certs-title { font-size: 22px !important; line-height: 1.22 !important; }
}
/* Satoshi — declarado inline para que aparezca en el selector de tipografías *//* ds-normalize.css de la entrega (fusionado por el pipeline) */
/* ============================================================
   ACMP — normalización del sistema de diseño
   Se carga DESPUÉS de web-kit.css. Solo tipografía, spacing y grilla.
   No toca textos, imágenes, videos ni links.
   ============================================================ */

/* ---------- 1. Pretítulo / volanta ---------- */
.acmp-page .eyebrow:not(.acmp-hero-eyebrow):not(.acmp-hero-n0-eyebrow){font-family:'Satoshi',sans-serif!important;font-weight:700!important;font-size:13px!important;line-height:1.6!important;letter-spacing:.2em!important;text-transform:uppercase!important;color:var(--acmp-orange)!important;margin:0 0 12px!important}

/* ---------- 2. Título principal de sección ---------- */
.acmp-page section h2:not([style*="font-family"]){font-family:'Satoshi',sans-serif!important;font-weight:700!important}
.acmp-page section h2:not([style*="font-size"]){font-size:34px!important}
.acmp-page section h2{line-height:1.15!important;letter-spacing:-.02em!important;margin-top:0!important}
.acmp-page section h2 .kw{color:var(--acmp-orange)!important}
/* Color navy en todos los títulos de sección, salvo los que van sobre fondo oscuro */
.acmp-page > section:not(.acmp-empresas-cta):not(.acmp-testnivel):not(.acmp-buy):not(.acmp-community):not(.acmp-method):not(.acmp-featured-od):not(.acmp-manifiesto):not(.acmp-quiz) h2:not(.acmp-empresas-cta-title){color:#222b49!important}
.acmp-page > section h2 .kw,.acmp-page > section h2 .hl{color:var(--acmp-orange)!important}

/* ---------- 3. Párrafos y bajadas ---------- */
.acmp-page section:not(.acmp-hero):not(.acmp-hero-n0) p:not([class*="price"]):not([class*="note"]):not([class*="small"]):not([class*="meta"]):not([class*="caption"]):not([class*="legal"]):not([class*="nivel"]):not([style*="font-family"]),
.acmp-page section:not(.acmp-hero):not(.acmp-hero-n0) .lead:not([style*="font-family"]){font-family:'Satoshi',sans-serif!important;font-weight:400!important}
.acmp-page section:not(.acmp-hero):not(.acmp-hero-n0) p:not([class*="price"]):not([class*="note"]):not([class*="small"]):not([class*="meta"]):not([class*="caption"]):not([class*="legal"]):not([class*="nivel"]):not([style*="font-size"]),
.acmp-page section:not(.acmp-hero):not(.acmp-hero-n0) .lead:not([style*="font-size"]){font-size:17px!important;line-height:1.5!important}
/* Tarjetas de nivel: tipografía editable (sin !important) */
.acmp-page .acmp-nivel-hook,.acmp-page .acmp-nivel-desc{font-family:'Inter',sans-serif}

/* ---------- 4. Botones ---------- */
.acmp-page section .acmp-btn{font-family:'Inter',sans-serif!important;font-weight:700!important;font-size:16px!important;border-radius:10px!important;padding:18px 36px!important;width:fit-content!important;max-width:100%}

/* ---------- 5. Grilla y márgenes ---------- */
.acmp-page > section{box-sizing:border-box!important}
.acmp-page > section:not(.acmp-logos):not(.acmp-galeria):not(.acmp-accion):not(.acmp-stats):not(.acmp-hero):not(.acmp-hero-n0):not(.acmp-empresas-cta){padding-top:100px!important;padding-bottom:100px!important}
.acmp-page > section:not(.acmp-logos):not(.acmp-galeria):not(.acmp-accion):not(.acmp-stats):not(.acmp-hero):not(.acmp-hero-n0){padding-left:80px!important;padding-right:80px!important}
.acmp-page > section > .acmp-hero-n0-inner,
.acmp-page > section > .acmp-outcomes-wrap,
.acmp-page > section > .acmp-modules-head,
.acmp-page > section > .acmp-modules-list,
.acmp-page > section > .acmp-bio-head,
.acmp-page > section > .acmp-profes-4col,
.acmp-page > section > .acmp-faq-wrap,
.acmp-page > section > .acmp-buy-wrap,
.acmp-page > section > .acmp-community-wrap,
.acmp-page > section > .acmp-comunica-inner,
.acmp-page > section > .acmp-para-quien-inner,
.acmp-page > section > .acmp-method-inner,
.acmp-page > section > .acmp-test-head,
.acmp-page > section > .acmp-test-grid,
.acmp-page > section > .acmp-vtest-head,
.acmp-page > section > .acmp-vtest-grid,
.acmp-page > section > .acmp-certs-wrap,
.acmp-page > section > .acmp-section-head,
.acmp-page > section > .acmp-niveles-grid,
.acmp-page > section > .acmp-ebook-wrap,
.acmp-page > section > .acmp-ad-wrap{max-width:1200px!important;margin-left:auto!important;margin-right:auto!important;padding-left:0!important;padding-right:0!important}
.acmp-page > section > * { min-width: 0 }
/* Banner Empresas: alto fijo inline — se excluye de la grilla y se libera el alto */
.acmp-page > section.acmp-empresas-cta{padding:80px 28px!important;height:auto!important;min-height:0!important}

/* Dos columnas: misma altura, 60px de separación */
.acmp-page .acmp-comunica-inner,
.acmp-page .acmp-outcomes-grid,
.acmp-page .acmp-ebook-wrap,
.acmp-page .acmp-featured-card{align-items:stretch!important;gap:60px!important}
.acmp-page .acmp-comunica-media img,
.acmp-page .acmp-outcomes-photo img,
.acmp-page .acmp-ebook-art img{width:100%;height:100%;object-fit:cover}

.acmp-page .acmp-hero.acmp-hero-ingles{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.acmp-page .acmp-hero-art,.acmp-page .acmp-hero-art img{max-width:100%}

/* Testimonios a ancho completo */
.acmp-page > section.acmp-testimonial-wrap{max-width:none!important;margin-left:0!important;margin-right:0!important}

/* Tarjetas de nivel: 4 en un renglón siempre; se comprimen en vez de desbordar */
@media (max-width: 1230px) and (min-width: 921px) {
  .acmp-page > section.acmp-niveles{padding-left:20px!important;padding-right:20px!important}
  .acmp-page .acmp-nivel-card{padding:20px}
  .acmp-page .acmp-nivel-badge{font-size:9.5px;padding:6px 10px;white-space:normal;text-align:center;line-height:1.35}
  .acmp-page .acmp-nivel-title{font-size:19px}
  .acmp-page .acmp-nivel-hook{font-size:14px}
  .acmp-page .acmp-nivel-desc{font-size:12.5px}
  .acmp-page .acmp-nivel-card .acmp-btn{font-size:12px!important;padding:10px 12px!important}
}

/* ---------- 6. Mobile (≤768px) — deriva de desktop ---------- */@media (max-width: 768px){
  .acmp-page > section:not(.acmp-logos):not(.acmp-galeria):not(.acmp-accion):not(.acmp-stats):not(.acmp-hero):not(.acmp-hero-n0):not(.acmp-empresas-cta){padding-top:50px!important;padding-bottom:50px!important}
  .acmp-page > section:not(.acmp-logos):not(.acmp-galeria):not(.acmp-accion):not(.acmp-stats):not(.acmp-hero):not(.acmp-hero-n0){padding-left:20px!important;padding-right:20px!important}
  .acmp-page > section.acmp-hero,.acmp-page > section.acmp-hero-n0{padding-left:20px!important;padding-right:20px!important}
  .acmp-page section h2:not([style*="font-size"]){font-size:28px!important}
  .acmp-page section h2{line-height:1.3!important}
  .acmp-page section:not(.acmp-hero):not(.acmp-hero-n0) p:not([class*="price"]):not([class*="note"]):not([class*="small"]):not([class*="meta"]):not([class*="caption"]):not([class*="legal"]):not([style*="font-size"]),
  .acmp-page section:not(.acmp-hero):not(.acmp-hero-n0) .lead:not([style*="font-size"]){font-size:13px!important;line-height:1.5!important}
  .acmp-page .eyebrow:not(.acmp-hero-eyebrow):not(.acmp-hero-n0-eyebrow){font-size:13px!important;line-height:1.6!important}
  .acmp-page section .acmp-btn{font-size:12px!important;padding:9px 18px!important}
  .acmp-page section li{line-height:1.4!important}
  .acmp-page section img,.acmp-page section video,.acmp-page section iframe{max-width:100%!important}
  .acmp-page .acmp-comunica-inner,
  .acmp-page .acmp-outcomes-grid,
  .acmp-page .acmp-ebook-wrap,
  .acmp-page .acmp-featured-card{gap:30px!important}
  .acmp-page > section.acmp-empresas-cta{padding:48px 24px!important;height:auto!important;min-height:0!important}
}

/* Franja de marcas: el fondo blanco ocupa todo el ancho de la página.
   global.css limita .acmp-logos a 1200px centrado (!important) y, como acá la
   sección lleva fondo blanco inline, quedaba un cuadro blanco con márgenes
   grises a los costados. Se libera el tope solo en esta landing; el carrusel
   pasa a recorrer todo el ancho. */
.acmp-page > section.acmp-logos { max-width: none !important; }

/* ═══════════════════════════════════════════════════════════════════════
   MOBILE (≤768px) — hero y proporciones de la landing
   Solo dentro de este @media: desktop no cambia.
   Los selectores usan el prefijo `body:not(#ds)` (misma técnica que
   design-system.css) y !important donde hay que ganarle a estilos inline del
   JSX (font-size:70px del H1, nowrap de badges y subtítulo de niveles, etc.)
   o a reglas !important del sistema tipográfico.
   ═══════════════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {

  /* Hero a UNA columna: badges → H1 → subtítulo → botones → imagen.
     (La regla de la línea ~984, `.acmp-page .acmp-hero.acmp-hero-ingles`,
     forzaba 2 columnas en todos los anchos y le ganaba a la regla mobile.) */
  .acmp-page .acmp-hero.acmp-hero-ingles {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
    margin: 24px auto 40px;
    align-items: start;
  }
  .acmp-page .acmp-hero-ingles > div:first-child {
    min-width: 0;
    align-items: center;
    text-align: center;
  }

  /* Badges: más chicos, menos letter-spacing, centrados y con wrap prolijo. */
  body:not(#ds) .acmp-hero .acmp-hero-eyebrow-ingles {
    gap: 6px;
    margin: 0 0 18px !important;
    max-width: 100%;
    font-size: clamp(11px, 3.1vw, 12.5px) !important;
    line-height: 1.5 !important;
    letter-spacing: 0.08em !important;
    text-align: center;
  }
  body:not(#ds) .acmp-hero .acmp-hero-eyebrow-ingles > span {
    display: block !important;
    max-width: 100%;
    font-size: inherit !important;
    line-height: inherit !important;
    letter-spacing: inherit !important;
    white-space: normal !important;
    text-wrap: balance;
  }
  body:not(#ds) .acmp-hero .acmp-hero-eyebrow-ingles > span span {
    display: inline !important;
    font-size: inherit !important;
    line-height: inherit !important;
    letter-spacing: inherit !important;
  }

  /* H1: escala fluida (3 líneas a 360–430px, 2 a 768px). Los <span> traen
     font-size:70px inline: se heredan del H1. */
  body:not(#ds) .acmp-hero h1.acmp-hero-h1-extenda.acmp-hero-h1-ingles {
    max-width: none;
    margin: 0 0 18px;
    font-size: clamp(30px, 8.8vw, 44px) !important;
    line-height: 1.1 !important;
    letter-spacing: -0.02em !important;
    text-align: center;
    text-wrap: balance;
  }
  body:not(#ds) .acmp-hero h1.acmp-hero-h1-ingles span {
    font-size: inherit !important;
    line-height: inherit !important;
    letter-spacing: inherit !important;
  }

  /* Subtítulo: sin <br> forzados, fluye con el ancho. */
  body:not(#ds) .acmp-hero-ingles p.lead {
    max-width: 34em;
    margin: 0 auto;
    font-size: clamp(15px, 4.1vw, 17px) !important;
    line-height: 1.5 !important;
    text-wrap: pretty;
  }
  body:not(#ds) .acmp-hero-ingles p.lead br { display: none; }

  /* Botones del hero: apilados, a ancho completo, 48px de alto. */
  body:not(#ds) .acmp-hero-ctas.acmp-hero-ctas-ingles {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 12px !important;
    width: 100%;
    max-width: 440px;
    margin: 24px auto 0 !important;
  }
  body:not(#ds) .acmp-hero-ctas.acmp-hero-ctas-ingles a.acmp-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 48px;
    padding: 14px 20px !important;
    text-align: center;
    white-space: normal !important;
  }

  /* Imagen del hero: ancho completo, proporción original 625:445, sin cortes. */
  .acmp-page .acmp-hero-ingles .acmp-hero-art {
    width: 100%;
    aspect-ratio: 625 / 445;
    height: auto;
    min-height: 0;
  }
  /* Foto del hero (grilla 2×2 de Google Meet, proporción 1,25): en mobile el marco es
     1,40 y se recortan unos px arriba y abajo. 58% de posición vertical deja entera la
     cabeza de la fila de arriba y los carteles de nombre de la fila de abajo. */
  .acmp-page .acmp-hero-ingles .acmp-hero-art img.hero-photo.hero-photo-frame {
    object-position: center 58%;
  }

  /* "Conocé tu nivel": el subtítulo traía white-space:nowrap inline y se cortaba. */
  .acmp-niveles .acmp-section-head .desc span { white-space: normal !important; }
  .acmp-niveles .acmp-section-head .desc { text-wrap: balance; }

  /* Zona táctil mínima de 44px en el resto de los botones de la página
     (siguen en fit-content: solo los del hero van a ancho completo). */
  .acmp-page :is(.acmp-btn, .acmp-testnivel-cta, .acmp-featured-od-cta) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-height: 44px;
    text-align: center;
  }
}

/* Foto del hero (grilla 2×2 de Google Meet, proporción 1,25) en desktop: el marco es de
   510–560px de ancho por ~505px de alto y se recortan unos px a los costados. Con 10% de
   posición horizontal (en vez de centrada) los carteles de nombre de la izquierda quedan
   enteros, las 4 caras quedan completas y el logo naranja de la esquina inferior derecha
   (empieza al 90,8% del ancho) queda del todo afuera en vez de cortado a la mitad: el borde
   derecho visible llega al 89,4%, a ~20px del logo. De 1100px para arriba el marco es casi
   cuadrado; por debajo es vertical y se deja centrada. */
@media (min-width: 1100px) {
  .acmp-page .acmp-hero-ingles .acmp-hero-art img.hero-photo.hero-photo-frame {
    object-position: 10% 50%;
  }
}

/* "Test de nivelación" va debajo de "Conocé tu nivel". Esta sección traía 72px de margen
   inferior para separarse de la que le seguía (en gris sobre gris no se notaba). Ahora la
   sigue la franja naranja del test: con el margen, quedaba un hueco gris de ~144px antes
   de la franja. Sin margen, queda solo el padding inferior de la sección (72px desktop). */
.acmp-page > section.acmp-niveles {
  margin-bottom: 0;
}

/* Condiciones de cursada: el requisito de asistencia mínima va en negrita, con el mismo
   tamaño de letra que el resto del bloque (13px / 12px mobile, heredado del párrafo). */
.acmp-page section .acmp-faq-cond p.acmp-faq-cond-legal .acmp-faq-cond-strong {
  font-weight: 700 !important;
}

/* Niveles: "6 cuotas sin interés" va justo arriba del botón de inscripción, con el mismo
   formato que la etiqueta "EN VIVO · GOOGLE MEET" (clase .acmp-nivel-badge: píldora, Inter
   700, mayúsculas con 0,08em de espaciado, mismos tamaños y paddings, incluidos los
   responsive), pero en azul de la marca: texto navy sobre un celeste suave (cyan al 16%).
   Sin el punto rojo: ese es el "en vivo" de la otra etiqueta.
   Las dos piezas (etiqueta + botón) viven en .acmp-nivel-cta, que baja al pie de la tarjeta.
   - Desde 921px el botón ocupa todo el ancho de la tarjeta y la etiqueta va centrada sobre él.
   - Hasta 920px el botón mide lo que su texto y queda a la izquierda: la etiqueta se alinea
     a la izquierda, en el mismo margen que el botón. */
.acmp-nivel-card .acmp-nivel-cta {
  align-self: stretch;
  margin-top: auto;
  display: flex;
  flex-direction: column;
}
.acmp-nivel-card .acmp-nivel-cta .acmp-nivel-cuotas {
  align-self: center;
  margin: 0 0 10px;
  background: rgba(56, 182, 255, 0.16);
  color: var(--acmp-navy);
  text-transform: uppercase;
}
@media (max-width: 920px) {
  .acmp-nivel-card .acmp-nivel-cta { align-self: flex-start; }
  .acmp-nivel-card .acmp-nivel-cta .acmp-nivel-cuotas { align-self: flex-start; }
}

/* Hero del hub, frase de modalidad y fecha: en mobile ocupa 2 renglones, una frase por renglón:
     MODALIDAD VIRTUAL SINCRÓNICA · CLASES EN VIVO
     ARRANCA EL 18 DE NOVIEMBRE · ¡ANOTATE AHORA!
   Antes quedaba en 3 o 4 renglones (13px con 0.08em de letter-spacing). Ahora el tamaño de
   letra sale del ancho disponible (viewport − 20px de padding a cada lado) para que la frase
   más larga (45 caracteres) entre en un solo renglón, y el letter-spacing baja a 0.02em. De
   360px para arriba queda entre 11.2px y 13px; por debajo de ~340px la frase larga puede pasar
   a 2 renglones en vez de achicarse más (sin forzar nowrap, para no generar scroll horizontal).
   Mismo criterio que Nivel Cero y las otras landings de nivel. */
@media (max-width: 768px) {
  body:not(#ds) .acmp-hero .acmp-hero-eyebrow-ingles {
    font-size: clamp(10px, calc((100vw - 40px) / 28.6), 13px) !important;
    letter-spacing: 0.02em !important;
    max-width: none;
  }
}
