:root{
  --ivory:#fff9f3;
  --paper:#fffdf9;
  --plum:#583f59;
  --plum-deep:#3f2d40;
  --rose:#d79aa9;
  --rose-deep:#c98292;
  --sage:#a7b5a0;
  --sage-soft:#edf1ea;
  --champagne:#d5b77a;
  --charcoal:#302c30;
  --muted:#6f666c;
  --line:#eaded6;
  --shadow:0 18px 48px rgba(73,53,64,.10);
  --shadow-soft:0 10px 30px rgba(73,53,64,.08);
  --radius:26px;
  --container:min(1180px, calc(100% - 48px));
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Manrope",sans-serif;
  color:var(--charcoal);
  background:var(--paper);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,a{-webkit-tap-highlight-color:transparent}
button{font:inherit}
.container{width:var(--container);margin-inline:auto}
.narrow{max-width:860px}
.centered{text-align:center}
.soft{background:linear-gradient(180deg,var(--ivory),#fff)}
.section{
  padding:96px 0;
  position:relative;
  overflow:hidden;
}

.topbar{
  padding:10px 20px;
  text-align:center;
  font-size:.82rem;
  letter-spacing:.05em;
  background:var(--plum-deep);
  color:#fff;
}

.site-header{
  position:sticky;
  top:0;
  z-index:40;
  background:rgba(255,253,249,.92);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(234,222,214,.9);
}
.nav{
  min-height:86px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.brand img{width:64px;height:64px;object-fit:contain}
.nav-actions{display:flex;align-items:center;gap:18px}
.nav-link{font-size:.95rem;font-weight:700;color:var(--plum-deep)}
.nav-pill{
  padding:12px 18px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
}

h1,h2,h3{
  font-family:"DM Serif Display",serif;
  color:var(--plum-deep);
  font-weight:400;
  margin:0 0 18px;
}
p{margin:0 0 18px}
.lead{font-size:1.08rem}
.eyebrow{
  font-size:.78rem;
  letter-spacing:.18em;
  font-weight:800;
  color:var(--rose-deep);
  text-transform:uppercase;
  margin:0 0 16px;
}

h1,
.hero-title{
  font-size:clamp(3.2rem,4.6vw,5rem);
  line-height:.98;
  letter-spacing:-.03em;
}

h2{
  font-size:clamp(2.55rem,3.35vw,4rem);
  line-height:1.03;
  letter-spacing:-.022em;
}

h3{font-size:1.38rem;line-height:1.2}

.hero{
  padding:86px 0 92px;
  background:
    radial-gradient(circle at 85% 18%,rgba(215,154,169,.17),transparent 30%),
    linear-gradient(180deg,#fffaf6,#fffdf9);
}
.hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr);
  gap:84px;
  align-items:center;
}
.hero-copy{
  max-width:590px;
}
.hero-title{
  max-width:8.6ch;
  margin:0 0 24px;
}
.hero-title span{display:block;white-space:nowrap}
.hero-lead{
  font-size:1.07rem;
  max-width:34rem;
  color:var(--muted);
  line-height:1.68;
}
.mini-benefits{
  display:flex;
  flex-wrap:wrap;
  gap:10px 12px;
  margin:28px 0 26px;
}
.mini-benefits span{
  background:#fff;
  border:1px solid var(--line);
  padding:9px 13px;
  border-radius:999px;
  font-size:.88rem;
  font-weight:700;
}
.hero-art{
  position:relative;
  width:100%;
  max-width:610px;
  margin-inline:auto;
}
.hero-image{
  width:100%;
  aspect-ratio:4 / 3;
  object-fit:cover;
  object-position:center;
  border-radius:30px;
  box-shadow:var(--shadow);
}
.floating-note{
  position:absolute;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 12px 30px rgba(73,53,64,.10);
  padding:12px 17px;
  border-radius:999px;
  font-size:.84rem;
  font-weight:700;
}
.note-one{left:-18px;bottom:22px}
.note-two{right:-18px;top:36px}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:14px 24px;
  font-weight:800;
  transition:.2s ease;
  border:0;
  cursor:pointer;
}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--plum);color:#fff;box-shadow:0 14px 28px rgba(88,63,89,.22)}
.btn-primary:hover{background:var(--plum-deep)}
.btn-secondary{background:#fff;color:var(--plum-deep);border:1px solid var(--rose)}
.btn-large{padding:16px 28px;font-size:1rem}
.microcopy{font-size:.82rem;color:var(--muted);margin-top:12px}

.section-heading{
  max-width:860px;
  margin:0 auto 46px;
  text-align:center;
}
.section-heading h2{
  max-width:12ch;
  margin-inline:auto;
}
.section-heading > p{max-width:680px;margin-inline:auto}

.question-cloud{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px;
  margin:28px 0 26px;
}
.question-cloud span{
  padding:10px 14px;
  border-radius:999px;
  background:#fff;
  border:1px solid var(--line);
}
.closing-line{font-weight:700;color:var(--plum)}

.two-col,
.instructor-grid,
.final-grid{
  display:grid;
  gap:76px;
  align-items:center;
}
.two-col{grid-template-columns:minmax(360px,520px) minmax(0,1fr)}
.two-col > .reveal:not(.media-card){max-width:560px}
.instructor-grid{grid-template-columns:minmax(280px,360px) minmax(0,1fr)}
.instructor-grid > .reveal{max-width:640px}
.final-grid{grid-template-columns:minmax(360px,500px) minmax(0,1fr)}
.final-grid > .reveal{max-width:560px}
.business .two-col{grid-template-columns:minmax(0,1fr) minmax(360px,520px)}
.business .two-col > .reveal:not(.media-card){max-width:560px}

.two-col > .reveal:not(.media-card) h2,
.instructor-grid > .reveal h2,
.final-grid > .reveal h2{
  max-width:12ch;
}

.media-card,
.final-image{
  width:100%;
  max-width:520px;
  justify-self:center;
}
.media-card img,
.final-image img,
.section-visual img,
.portrait-wrap img{
  width:100%;
  border-radius:var(--radius);
  box-shadow:var(--shadow-soft);
  object-fit:cover;
  object-position:center;
}
.media-card img,
.final-image img{
  aspect-ratio:4 / 3;
  max-height:390px;
}

/* Ajustes finos por sección para no “acercar” de más */
#errores .media-card img{object-position:center 50%}
#curso .media-card img{object-position:center 45%}
#emprendimiento .media-card img{object-position:center 52%}
#acompanamiento .media-card img{object-position:center 48%}
#cta-final .final-image img{object-position:center 46%}

.quote-card{
  margin-top:24px;
  padding:20px 22px;
  border-left:4px solid var(--rose);
  background:var(--ivory);
  border-radius:0 18px 18px 0;
  font-weight:800;
  color:var(--plum);
}

.steps-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}
.step-card{
  padding:28px 24px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:22px;
}
.step-card span{font-size:.76rem;font-weight:800;color:var(--rose-deep);letter-spacing:.14em}
.step-card p{color:var(--muted);font-size:.92rem}

.gallery-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:18px;
  max-width:1040px;
  margin-inline:auto;
}
.gallery-card{
  margin:0;
  background:#fff;
  border:1px solid var(--line);
  border-radius:22px;
  overflow:hidden;
  cursor:zoom-in;
  transition:.25s ease;
}
.gallery-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-soft)}
.gallery-card:nth-child(1),.gallery-card:nth-child(2),.gallery-card:nth-child(3){grid-column:span 4}
.gallery-card:nth-child(4),.gallery-card:nth-child(5){grid-column:span 6}
.gallery-card img{
  width:100%;
  aspect-ratio:4 / 3;
  object-fit:cover;
  object-position:center;
  transition:transform .45s ease;
}
.gallery-card:hover img{transform:scale(1.02)}
.gallery-card figcaption{padding:17px 18px 19px;display:flex;flex-direction:column;gap:4px}
.gallery-card figcaption strong{color:var(--plum-deep)}
.gallery-card figcaption span{font-size:.86rem;color:var(--muted)}
.gallery-cta{margin-top:30px}

.timeline{max-width:850px;margin:auto}
.timeline-item{display:grid;grid-template-columns:64px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}
.timeline-item>span{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:var(--sage-soft);font-weight:800;color:var(--plum)}
.timeline-item p{margin-bottom:0;color:var(--muted)}

.instructor{background:linear-gradient(135deg,#fff,#fff8f4)}
.portrait-wrap{width:100%;max-width:320px;justify-self:center}
.portrait-wrap img{aspect-ratio:1 / 1;max-height:320px}
.instructor-line{font-weight:700;color:var(--plum)}

.accordion{display:grid;gap:11px}
.accordion-item{border:1px solid var(--line);background:#fff;border-radius:17px;overflow:hidden}
.accordion-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;background:#fff;border:0;text-align:left;color:var(--plum-deep);font-weight:800;cursor:pointer}
.accordion-trigger span:last-child{font-size:1.35rem;color:var(--rose-deep);transition:.2s}
.accordion-item.open .accordion-trigger span:last-child{transform:rotate(45deg)}
.accordion-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s ease}
.accordion-item.open .accordion-panel{grid-template-rows:1fr}
.accordion-panel>div{overflow:hidden}
.accordion-content{padding:0 20px 19px;color:var(--muted)}
.accordion-content ul{margin:0;padding-left:20px}
.accordion-content li{margin:6px 0}
.notice{margin-top:20px;padding:15px 17px;border-radius:16px;background:var(--sage-soft);font-size:.86rem;color:#566052}

.feature-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.feature-list span{padding:8px 13px;border-radius:999px;background:var(--ivory);border:1px solid var(--line);font-weight:800;font-size:.86rem}
.section-visual{max-width:900px;margin:0 auto 26px}
.section-visual img{aspect-ratio:16 / 8.4;max-height:420px}
.bonus-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.bonus-card{padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff}
.bonus-card span{color:var(--champagne)}
.bonus-card h3{font-size:1.12rem;margin:6px 0 0}

.trust-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.trust-card{padding:28px 22px;border-radius:21px;border:1px solid var(--line);background:#fff;text-align:center}
.trust-icon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;margin:0 auto 15px;background:var(--sage-soft);font-size:1.45rem;color:var(--plum)}
.trust-card p{color:var(--muted);font-size:.9rem}
.check-list{display:grid;gap:12px}
.check-list p{margin:0;padding:15px 17px;border-radius:15px;background:#fff;border:1px solid var(--line)}

.offer{background:linear-gradient(135deg,var(--plum-deep),var(--plum));color:#fff}
.offer h2,.offer .eyebrow{color:#fff}
.offer-card{max-width:1040px;margin:auto;text-align:center}
.offer-card h2{max-width:14ch;margin-inline:auto}
.offer-intro{max-width:700px;margin:0 auto 26px;color:rgba(255,255,255,.84)}
.offer-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;text-align:left;margin:24px 0 28px}
.offer-list,.offer-side{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:21px;padding:23px}
.product-name{font-family:"DM Serif Display",serif;font-size:1.65rem}
.offer-list ul{margin:0;padding-left:20px}
.offer-list li{margin:8px 0}
.offer-mini+.offer-mini{margin-top:18px}
.offer-mini span{display:block;font-size:.74rem;text-transform:uppercase;letter-spacing:.15em;color:rgba(255,255,255,.65);margin-bottom:5px}
.offer-mini strong{display:block}
.offer .btn-primary{background:#fff;color:var(--plum-deep)}
.offer .microcopy{color:rgba(255,255,255,.76)}

.guarantee-card{display:grid;grid-template-columns:105px 1fr;gap:26px;align-items:center;padding:32px;border:1px solid var(--line);border-radius:24px;background:#fff}
.guarantee-badge{width:92px;height:92px;border-radius:50%;display:grid;place-items:center;background:var(--rose);color:#fff;font-family:"DM Serif Display";font-size:3rem;position:relative}
.guarantee-badge::after{content:"días";font-family:"Manrope";font-size:.62rem;text-transform:uppercase;letter-spacing:.12em;position:absolute;bottom:16px}
.security-pill{display:inline-block;margin-top:13px;padding:9px 15px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:.84rem;font-weight:700}

.share-card{padding:32px;border-radius:24px;background:var(--ivory);border:1px solid var(--line)}
.share-card h2{max-width:13ch}
.share-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.share-btn{border:1px solid var(--line);background:#fff;color:var(--plum-deep);padding:10px 14px;border-radius:999px;font-weight:800;cursor:pointer}
.share-btn:hover{border-color:var(--rose)}
.copy-status{display:block;margin-top:10px;color:var(--sage);font-size:.84rem;font-weight:700;min-height:1.2em}
.final-cta{background:linear-gradient(180deg,#fff,var(--ivory))}
.footer{padding:50px 0 100px;border-top:1px solid var(--line);background:#fff}
.footer-inner{text-align:center;max-width:720px}
.footer-inner img{width:118px;margin:0 auto 16px}
.footer-small{font-size:.76rem;color:var(--muted)}
.mobile-cta{position:fixed;left:14px;right:14px;bottom:14px;z-index:60;display:none;transform:translateY(140%);transition:.3s ease}
.mobile-cta.show{transform:none}
.mobile-cta .btn{width:100%;box-shadow:0 14px 34px rgba(63,45,64,.28)}
.lightbox{position:fixed;inset:0;z-index:100;background:rgba(31,24,29,.88);display:grid;place-items:center;padding:24px}
.lightbox[hidden]{display:none}
.lightbox img{max-width:min(100%,1100px);max-height:86vh;border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,.38)}
.lightbox-close{position:fixed;top:18px;right:18px;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.12);color:#fff;font-size:1.7rem;cursor:pointer}

.reveal{opacity:1;transform:none}
.reveal-ready .reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.reveal-ready .reveal.is-visible{opacity:1;transform:none}
.reveal-delay{transition-delay:.1s}



/* ===== DESKTOP FINAL: mantener composición estable ===== */
.section-heading{max-width:1080px}
h2,.section h2,.section-heading h2,.two-col h2,.instructor-grid h2,.final-grid h2,.share-card h2,.offer-card h2{width:100%;max-width:none;text-wrap:balance}
.two-col > .reveal:not(.media-card),.instructor-grid > .reveal,.final-grid > .reveal,.business .two-col > .reveal:not(.media-card){max-width:none}
.hero-grid{grid-template-columns:minmax(0,1.08fr) minmax(360px,.86fr);gap:88px}
.hero-copy{max-width:640px}
.hero-art{max-width:540px;justify-self:end;margin-right:0}
.hero-image{aspect-ratio:5/4;max-height:none;object-fit:cover;object-position:center}
.two-col{grid-template-columns:minmax(340px,500px) minmax(0,1fr);gap:78px}
.business .two-col{grid-template-columns:minmax(0,1fr) minmax(340px,500px);gap:78px}
.final-grid{grid-template-columns:minmax(340px,500px) minmax(0,1fr);gap:78px}
.instructor-grid{grid-template-columns:minmax(280px,340px) minmax(0,1fr);gap:68px}
.media-card,.final-image{max-width:500px;width:100%;justify-self:center}
.media-card img,.final-image img{width:100%;aspect-ratio:5/4;max-height:none;object-fit:cover}
.portrait-wrap{max-width:340px;width:100%;justify-self:center}
.portrait-wrap img{width:100%;aspect-ratio:4/5;max-height:none;object-fit:cover;object-position:center 10%}
.section-visual{width:100%;max-width:940px;margin:0 auto 26px}
.section-visual img{width:100%;aspect-ratio:16/9;max-height:none;object-fit:cover}

/* ===== TABLET ===== */
@media (max-width:920px){
  :root{--container:min(1180px, calc(100% - 32px))}
  .topbar{display:none}
  .nav{min-height:72px}
  .nav-pill{display:none}
  .section{padding:64px 0}
  .hero{padding:48px 0 56px}
  .hero-grid,.two-col,.business .two-col,.instructor-grid,.final-grid{grid-template-columns:1fr;gap:32px}
  .hero-copy,.two-col > .reveal:not(.media-card),.business .two-col > .reveal:not(.media-card),.instructor-grid > .reveal,.final-grid > .reveal{width:100%;max-width:720px;margin-inline:auto;text-align:center}
  .hero-title{max-width:none;margin-inline:auto;font-size:clamp(2.6rem,6.4vw,3.5rem);line-height:1.05;text-align:center;text-wrap:balance}
  .hero-title span{display:inline;white-space:normal}
  .hero-lead{max-width:620px;margin-inline:auto}
  .mini-benefits,.feature-list,.share-actions{justify-content:center}
  .hero-copy .btn{margin-inline:auto}
  .microcopy{text-align:center}
  .hero-art,.media-card,.final-image{width:100%;max-width:480px;justify-self:center;margin-inline:auto}
  .portrait-wrap{max-width:320px;margin-inline:auto}
  .section-visual{max-width:760px}
  .eyebrow{text-align:center}
  .section-heading{max-width:760px;margin-bottom:34px}
  .steps-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bonus-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .trust-grid{grid-template-columns:1fr}
  .offer-grid{grid-template-columns:1fr}
  .mobile-cta{display:block}
}

/* ===== MÓVIL FINAL ===== */
@media (max-width:700px){
  :root{--container:calc(100% - 28px);--radius:20px}
  body{font-size:15.5px;line-height:1.58}
  .nav{min-height:68px}
  .brand img{width:50px;height:50px}
  .nav-link{font-size:.85rem}
  .section{padding:48px 0}
  .hero{padding:34px 0 46px}
  .hero-grid,.two-col,.business .two-col,.instructor-grid,.final-grid{grid-template-columns:1fr;gap:26px}
  .hero-copy{width:100%;max-width:100%;text-align:center}
  .hero-title{width:100%;max-width:none;margin:0 auto 18px;font-size:clamp(1.95rem,8vw,2.35rem);line-height:1.08;letter-spacing:-.025em;text-align:center;text-wrap:balance}
  .hero-title span{display:inline;white-space:normal}
  h2,.section h2,.section-heading h2,.two-col h2,.instructor-grid h2,.final-grid h2,.share-card h2,.offer-card h2{width:100%;max-width:none;font-size:clamp(1.7rem,6.3vw,2.05rem);line-height:1.15;text-align:center;text-wrap:balance}
  .eyebrow{text-align:center;font-size:.68rem;letter-spacing:.15em;margin-bottom:10px}
  .hero-lead,.section-heading>p,.centered>.lead{font-size:.95rem;line-height:1.58}
  .mini-benefits{justify-content:center;gap:8px;margin:20px 0 22px}
  .mini-benefits span{font-size:.8rem;padding:7px 10px}
  .hero-copy .btn{width:min(100%,320px)}
  .microcopy{text-align:center}
  /* Imágenes: casi ancho completo del contenedor, con margen natural del container */
  .hero-art,.media-card,.final-image,.section-visual,.portrait-wrap{width:100%;max-width:100%;margin-inline:auto;justify-self:center}
  .hero-image,.media-card img,.final-image img{width:100%;aspect-ratio:4/3;max-height:none;object-fit:cover;border-radius:20px}
  .section-visual img{width:100%;aspect-ratio:16/10;max-height:none;object-fit:cover;border-radius:20px}
  /* Retrato: no recortar rostro; usar imagen completa dentro del bloque */
  .portrait-wrap{max-width:360px}
  .portrait-wrap img{width:100%;height:auto;aspect-ratio:auto;max-height:none;object-fit:contain;object-position:center;border-radius:20px}
  .floating-note{font-size:.66rem;padding:7px 10px}
  .note-one{left:8px;bottom:8px}.note-two{right:8px;top:8px}
  .section-heading{margin-bottom:28px}
  .steps-grid{grid-template-columns:1fr;gap:12px}
  .step-card{text-align:center;padding:20px}
  .gallery-grid{display:flex;overflow-x:auto;gap:14px;scroll-snap-type:x mandatory;padding:0 0 8px;scrollbar-width:none}
  .gallery-grid::-webkit-scrollbar{display:none}
  .gallery-card{min-width:88%;max-width:88%;scroll-snap-align:center}
  .gallery-card img{aspect-ratio:4/3;object-fit:cover}
  .timeline-item{grid-template-columns:44px 1fr;gap:12px;padding:15px 0}
  .timeline-item>span{width:40px;height:40px;font-size:.8rem}
  .accordion{gap:10px}
  .accordion-trigger{padding:14px 15px;font-size:.88rem;line-height:1.35}
  .accordion-content{padding:0 15px 15px;font-size:.88rem}
  .bonus-grid{grid-template-columns:1fr}
  .bonus-card{text-align:center;padding:18px}
  .question-cloud{display:grid;grid-template-columns:1fr;max-width:320px;margin-inline:auto}
  .question-cloud span{text-align:center}
  .guarantee-card{grid-template-columns:1fr;text-align:center;gap:16px;padding:24px 18px}
  .guarantee-badge{margin:auto}
  .share-card{padding:24px 18px;text-align:center}
  .share-actions{display:grid;grid-template-columns:1fr 1fr}
  .share-btn:first-child{grid-column:1/-1}
  .footer{padding-bottom:126px}
  .mobile-cta{left:14px;right:14px;bottom:calc(14px + env(safe-area-inset-bottom));display:block}
  .mobile-cta .btn{min-height:54px}
}

@media (max-width:430px){
  :root{--container:calc(100% - 24px)}
  .hero-title{font-size:1.82rem;line-height:1.1}
  h2,.section h2{font-size:1.62rem;line-height:1.16}
  .portrait-wrap{max-width:100%}
  .gallery-card{min-width:90%;max-width:90%}
  .share-actions{grid-template-columns:1fr}
  .share-btn:first-child{grid-column:auto}
  .btn{white-space:normal;text-align:center}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal,.reveal-ready .reveal,.gallery-card img,.btn,.mobile-cta{transition:none;opacity:1;transform:none}
}


/* =========================================================
   DIMENSIONES DE FOTOS — CORRECCIÓN ÚNICA Y DEFINITIVA
   No modifica tipografía, espaciados de texto, botones ni estructura.
   ========================================================= */

/* Regla general: ninguna imagen de contenido puede deformarse */
.hero-image,
.media-card img,
.final-image img,
.section-visual img,
.portrait-wrap img,
.gallery-card img{
  display:block;
  width:100%;
  height:auto;
  max-height:none;
}

/* Desktop: proporción visual consistente, sin sensación alargada */
.hero-art{max-width:520px;}
.hero-image{aspect-ratio:4 / 3; object-fit:cover; object-position:center;}

.media-card,
.final-image{max-width:480px;}
.media-card img,
.final-image img{aspect-ratio:4 / 3; object-fit:cover; object-position:center;}

.section-visual{max-width:860px;}
.section-visual img{aspect-ratio:4 / 3; object-fit:cover; object-position:center;}

/* Productora: formato horizontal 4:3 para evitar efecto alargado,
   cuidando el rostro con encuadre superior */
.portrait-wrap{max-width:360px;}
.portrait-wrap img{
  aspect-ratio:4 / 3;
  object-fit:cover;
  object-position:center 28%;
}

/* Galería: tarjetas uniformes, sin deformación */
.gallery-card img{aspect-ratio:4 / 3; object-fit:cover; object-position:center;}

/* Encuadres específicos */
#yuly .portrait-wrap img{object-position:center 28%;}
#errores .media-card img{object-position:center 50%;}
#curso .media-card img{object-position:center 48%;}
#emprendimiento .media-card img{object-position:center 50%;}
#acompanamiento .media-card img{object-position:center 48%;}
#bonos .section-visual img{object-position:center 50%;}
#cta-final .final-image img{object-position:center 48%;}

/* Tablet */
@media (max-width:920px){
  .hero-art,
  .media-card,
  .final-image,
  .section-visual{
    width:min(92%,520px);
    max-width:520px;
    margin-inline:auto;
  }
  .portrait-wrap{
    width:min(88%,430px);
    max-width:430px;
    margin-inline:auto;
  }
}

/* Móvil: ancho controlado + margen lateral real + 4:3 consistente */
@media (max-width:700px){
  .hero-art,
  .media-card,
  .final-image,
  .section-visual{
    width:92%;
    max-width:520px;
    margin-left:auto;
    margin-right:auto;
  }

  .hero-image,
  .media-card img,
  .final-image img,
  .section-visual img{
    width:100%;
    height:auto;
    aspect-ratio:4 / 3;
    object-fit:cover;
    border-radius:20px;
  }

  .portrait-wrap{
    width:92%;
    max-width:520px;
    margin-left:auto;
    margin-right:auto;
  }

  .portrait-wrap img{
    width:100%;
    height:auto;
    aspect-ratio:4 / 3;
    object-fit:cover;
    object-position:center 28%;
    border-radius:20px;
  }
}

@media (max-width:430px){
  .hero-art,
  .media-card,
  .final-image,
  .section-visual,
  .portrait-wrap{
    width:92%;
  }
}


/* =========================================================
   H2 — AJUSTE FINO SOLO PARA TÍTULOS LARGOS
   No modifica imágenes, layout, botones ni escritorio.
   ========================================================= */

@media (max-width:700px){

  /* H2 general móvil: un poco más limpio y menos pesado */
  h2,
  .section h2{
    font-size:clamp(1.58rem,5.9vw,1.92rem);
    line-height:1.14;
    letter-spacing:-.018em;
    width:100%;
    max-width:none;
    text-wrap:balance;
  }

  /* Títulos especialmente largos: menor tamaño para evitar 4–6 líneas feas */
  #identificacion h2,
  #errores h2,
  #emprendimiento h2,
  #acompanamiento h2,
  #confianza h2,
  #cta-final h2{
    font-size:clamp(1.42rem,5.35vw,1.72rem);
    line-height:1.17;
    letter-spacing:-.014em;
    max-width:100%;
    margin-left:auto;
    margin-right:auto;
  }

  /* H2 medianos: equilibrio sin reducir demasiado */
  #galeria h2,
  #ruta h2,
  #yuly h2,
  #publico h2,
  #oferta h2,
  #garantia h2,
  #pago h2,
  #compartir h2{
    font-size:clamp(1.5rem,5.65vw,1.82rem);
    line-height:1.15;
  }

  /* Los H2 de columnas quedan centrados solo en móvil */
  .two-col h2,
  .instructor-grid h2,
  .final-grid h2{
    text-align:center;
  }
}

@media (max-width:430px){
  #identificacion h2,
  #errores h2,
  #emprendimiento h2,
  #acompanamiento h2,
  #confianza h2,
  #cta-final h2{
    font-size:1.38rem;
    line-height:1.18;
  }
}



/* =========================================================
   H2/H3 DESKTOP — MÁS HORIZONTALES, MENOS APILADOS
   SOLO TIPOGRAFÍA/POSICIÓN DE TÍTULOS. NO TOCA IMÁGENES.
   ========================================================= */

@media (min-width:921px){

  /* Títulos dentro de columnas: usar todo el ancho real */
  .two-col > .reveal:not(.media-card) h2,
  .business .two-col > .reveal:not(.media-card) h2,
  .instructor-grid > .reveal h2,
  .final-grid > .reveal h2{
    width:100% !important;
    max-width:none !important;
    font-size:clamp(2.45rem,2.9vw,3.45rem) !important;
    line-height:1.04 !important;
    letter-spacing:-.022em !important;
    text-wrap:balance;
    text-align:left;
  }

  /* Los títulos especialmente largos necesitan más recorrido horizontal */
  #errores h2,
  #emprendimiento h2,
  #acompanamiento h2,
  #cta-final h2{
    font-size:clamp(2.25rem,2.65vw,3.15rem) !important;
    line-height:1.05 !important;
  }

  /* Autoridad / curso: mantener presencia sin apilar */
  #curso h2,
  #yuly h2{
    font-size:clamp(2.5rem,2.85vw,3.35rem) !important;
    line-height:1.04 !important;
  }

  /* Bloques centrados */
  .section-heading h2,
  .offer-card h2,
  .share-card h2,
  .guarantee-card h2{
    width:100% !important;
    max-width:none !important;
    font-size:clamp(2.35rem,2.75vw,3.25rem) !important;
    line-height:1.05 !important;
    text-wrap:balance;
  }

  /* Pago, garantía y compartir: evitar títulos demasiado altos */
  #garantia h2,
  #pago h2,
  #compartir h2{
    font-size:clamp(2.2rem,2.55vw,3rem) !important;
    line-height:1.06 !important;
  }

  /* H3: evitar saltos innecesarios */
  h3{
    max-width:none;
    line-height:1.18;
  }
}



/* =========================================================
   PARCHE FINAL — H2/H3 EN MÓVIL MÁS HORIZONTALES
   Corrige títulos amontonados en móvil, sin tocar imágenes.
   ========================================================= */
@media (max-width:700px){
  /* base móvil: permitir que respiren horizontalmente */
  h2,
  .section h2,
  .two-col h2,
  .instructor-grid h2,
  .final-grid h2,
  .section-heading h2,
  .share-card h2,
  .offer-card h2,
  .guarantee-card h2{
    width:100% !important;
    max-width:none !important;
    text-wrap:pretty !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
    hyphens:none !important;
    letter-spacing:-.015em !important;
  }

  /* títulos en bloques con imagen + texto */
  #curso h2,
  #yuly h2,
  #emprendimiento h2,
  #acompanamiento h2,
  #cta-final h2,
  #identificacion h2,
  #errores h2,
  #confianza h2{
    font-size:clamp(1.52rem, 6vw, 1.92rem) !important;
    line-height:1.12 !important;
  }

  /* títulos centrados de secciones */
  #programa h2,
  #oferta h2,
  #garantia h2,
  #pago h2,
  #compartir h2,
  #publico h2,
  #galeria h2,
  #ruta h2{
    font-size:clamp(1.48rem, 5.8vw, 1.86rem) !important;
    line-height:1.13 !important;
    max-width:17ch !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  /* títulos extra largos */
  #emprendimiento h2,
  #acompanamiento h2,
  #cta-final h2{
    font-size:clamp(1.42rem, 5.55vw, 1.76rem) !important;
    line-height:1.14 !important;
  }
}

@media (max-width:430px){
  #curso h2,
  #yuly h2,
  #programa h2,
  #oferta h2,
  #garantia h2,
  #pago h2,
  #compartir h2,
  #publico h2,
  #galeria h2,
  #ruta h2{
    font-size:1.52rem !important;
    line-height:1.14 !important;
  }

  #identificacion h2,
  #errores h2,
  #emprendimiento h2,
  #acompanamiento h2,
  #confianza h2,
  #cta-final h2{
    font-size:1.42rem !important;
    line-height:1.15 !important;
  }
}
