
:root{--purple:#4B1D66;--purple2:#2B0D3A;--yellow:#FFD900;--cream:#FFFDF4;--text:#111;--muted:#2A2A2A;--green:#25D366}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:#fff}.skip-link{position:absolute;left:-999px;top:10px;background:#fff;color:#000;padding:10px;z-index:99}.skip-link:focus{left:10px}.topbar{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);border-bottom:1px solid rgba(75,29,102,.12);display:flex;align-items:center;justify-content:space-between;padding:12px 22px;backdrop-filter:blur(10px)}.brand{font-weight:900;text-decoration:none;color:var(--purple);font-size:19px;display:flex;gap:8px;align-items:center}.nav{display:flex;align-items:center;gap:18px}.nav a{color:#111;text-decoration:none;font-weight:800;font-size:15px}.nav-cta{background:var(--yellow);padding:11px 16px;border-radius:999px;color:#111!important;box-shadow:0 8px 20px rgba(75,29,102,.16)}.menu-toggle{display:none;background:var(--yellow);border:0;border-radius:999px;padding:9px 15px;font-weight:900}.jm-maestria-page{background:#fff;color:#111;overflow-x:hidden;width:100%}.jm-maestria-inner{max-width:1240px;margin:0 auto;padding:0 22px}.jm-maestria-hero,.jm-maestria-purple-band,.jm-maestria-white-section,.jm-maestria-light-section{width:100%;box-sizing:border-box}.jm-maestria-hero{background:#fff;padding:52px 0 38px;text-align:center}.jm-badge,.jm-lifetime-label{display:inline-block;background:var(--yellow);color:#111;padding:10px 22px;border-radius:999px;font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:.7px;margin-bottom:22px;box-shadow:0 8px 22px rgba(75,29,102,.18)}.jm-lifetime-label{background:var(--purple);color:#fff}.jm-maestria-hero h1{font-size:clamp(42px,7vw,76px);line-height:.98;max-width:1120px;margin:0 auto 22px;font-weight:900;color:#111;text-transform:uppercase}.jm-maestria-hero h1 span,.jm-section h2 span,.jm-sitges-card h2 span{color:var(--purple)}.jm-subtitle{max-width:980px;margin:0 auto 28px;font-size:24px;line-height:1.38;font-weight:900;color:#2A2A2A}.hero-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin:0 auto 28px}.jm-main-btn,.jm-secondary-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:999px;padding:16px 28px;font-weight:900;font-size:17px;text-transform:uppercase}.jm-main-btn{background:var(--yellow);color:#111;box-shadow:0 12px 28px rgba(75,29,102,.22)}.jm-secondary-btn{border:2px solid var(--purple);color:var(--purple);background:#fff}.jm-hero-img,.jm-image{max-width:1020px;margin:34px auto;border-radius:26px;overflow:hidden;border:4px solid var(--yellow);box-shadow:0 18px 45px rgba(75,29,102,.22)}.jm-hero-img img,.jm-image img{width:100%;display:block;height:auto}.jm-alert{max-width:1080px;margin:24px auto 0;padding:19px 22px;border-radius:22px;background:var(--purple);color:#fff;font-size:18px;font-weight:900;border:3px solid var(--yellow);box-shadow:0 14px 34px rgba(75,29,102,.22)}.jm-maestria-purple-band{background:linear-gradient(135deg,var(--purple2) 0%,var(--purple) 100%);padding:48px 0;text-align:center;color:#fff}.jm-maestria-purple-band h2{font-size:clamp(32px,5vw,56px);line-height:1.08;max-width:1160px;margin:0 auto 14px;font-weight:900;color:#fff;text-transform:uppercase}.jm-maestria-purple-band h2 span,.jm-cta-box h2 span,.jm-professional h2 span{color:var(--yellow)}.jm-maestria-purple-band p{max-width:1060px;margin:0 auto 10px;font-size:21px;line-height:1.45;font-weight:800;color:#fff}.jm-maestria-white-section{background:#fff;padding:52px 0}.jm-maestria-light-section{background:var(--cream);padding:52px 0}.jm-text{font-size:19px;line-height:1.58;max-width:980px;margin:0 auto 18px;color:#2A2A2A;font-weight:700;text-align:center}.jm-section,.jm-sitges-card{max-width:1120px;margin:0 auto;background:#fff;border:3px solid var(--yellow);border-radius:30px;padding:38px 34px;box-shadow:0 16px 42px rgba(75,29,102,.14);text-align:left}.jm-section h2,.jm-sitges-card h2{font-size:clamp(32px,5vw,50px);line-height:1.12;color:#111;margin:0 0 26px;font-weight:900;text-align:center}.jm-section ul{margin:0;padding:0;list-style:none}.jm-section li{position:relative;padding:15px 0 15px 48px;border-bottom:1px solid rgba(75,29,102,.18);font-size:19px;line-height:1.42;color:#111;font-weight:700}.jm-section li:last-child{border-bottom:none}.jm-section li::before{content:"✓";position:absolute;left:0;top:13px;width:29px;height:29px;background:var(--yellow);color:#111;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900}.jm-feature-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.jm-feature-grid-3{grid-template-columns:repeat(3,1fr)}.jm-feature{background:#fff;border:2px solid rgba(75,29,102,.18);border-radius:24px;padding:30px 26px;box-shadow:0 12px 32px rgba(75,29,102,.08);text-align:center}.jm-feature h3{font-size:24px;line-height:1.18;color:var(--purple);margin:0 0 14px;font-weight:900}.jm-feature p{font-size:18px;line-height:1.5;color:#2A2A2A;margin:0;font-weight:700}.jm-sitges-card{background:var(--yellow);text-align:center}.jm-sitges-card p{font-size:19px;line-height:1.55;max-width:920px;margin:12px auto;font-weight:800}.jm-gallery{max-width:1120px;margin:30px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.jm-gallery.wide{grid-template-columns:repeat(3,1fr)}.jm-gallery img{width:100%;height:280px;object-fit:cover;border-radius:22px;border:3px solid var(--yellow);box-shadow:0 10px 24px rgba(75,29,102,.13);background:#eee}.jm-gallery.wide img{height:250px}.jm-cta-box,.jm-professional{max-width:1080px;margin:0 auto;padding:18px;border-radius:30px;background:radial-gradient(circle at top center,rgba(255,217,0,.24) 0%,rgba(255,217,0,.08) 34%,transparent 64%),linear-gradient(135deg,#1A0824 0%,var(--purple) 100%);border:3px solid var(--yellow);box-shadow:0 18px 44px rgba(75,29,102,.24);position:relative;overflow:hidden;text-align:center}.jm-cta-box.light-cta{background:linear-gradient(135deg,#2B0D3A 0%,var(--purple) 100%)}.jm-cta-box::after,.jm-professional::after{content:"";position:absolute;top:-50%;left:-80%;width:42%;height:200%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.68),transparent);transform:rotate(25deg);animation:shine 3.3s infinite;pointer-events:none}@keyframes shine{0%{left:-80%}55%{left:130%}100%{left:130%}}.jm-cta-box h2,.jm-professional h2{position:relative;z-index:2;color:#fff;font-size:clamp(30px,5vw,46px);line-height:1.16;margin:0 0 14px;font-weight:900}.jm-cta-box p,.jm-professional p,.jm-professional li{position:relative;z-index:2;color:#fff;font-size:19px;line-height:1.55;font-weight:750}.jm-cta-box p{margin:0 0 24px}.jm-cta-btn{display:inline-flex;align-items:center;justify-content:center;position:relative;z-index:2;overflow:hidden;background:var(--green);color:#fff!important;text-decoration:none;padding:17px 34px;border-radius:999px;font-weight:900;font-size:18px;box-shadow:0 12px 28px rgba(18,140,74,.28);border:3px solid rgba(255,255,255,.55);text-transform:uppercase}.jm-cta-btn::after{content:"";position:absolute;top:-50%;left:-80%;width:45%;height:200%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.75),transparent);transform:rotate(25deg);animation:shine 2.8s infinite}.jm-cta-btn span{position:relative;z-index:2}.jm-personal-story{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:.85fr 1.15fr;gap:34px;align-items:center;background:#fff;border:3px solid var(--yellow);border-radius:30px;padding:34px;box-shadow:0 16px 42px rgba(75,29,102,.14)}.jm-personal-photo img{width:100%;border-radius:22px;border:3px solid var(--purple);display:block}.jm-personal-text h2{font-size:clamp(30px,4vw,46px);line-height:1.12;margin:0 0 16px}.jm-personal-text p{font-size:20px;line-height:1.52;font-weight:750;color:#2A2A2A}.jm-professional-inner{position:relative;z-index:2;padding:34px 28px;text-align:left}.jm-professional h2{text-align:center}.jm-professional ul{position:relative;z-index:2;margin:22px 0;padding-left:22px}.jm-faq{max-width:1080px;margin:0 auto;background:#fff;border:3px solid var(--yellow);border-radius:28px;padding:36px 30px;box-shadow:0 14px 36px rgba(75,29,102,.14);text-align:left}.jm-faq h2{text-align:center;font-size:34px;margin:0 0 26px;color:#111;font-weight:900}.jm-faq details{border-bottom:1px solid rgba(75,29,102,.18);padding:18px 0}.jm-faq details:last-of-type{border-bottom:none}.jm-faq summary{cursor:pointer;font-size:18px;line-height:1.4;font-weight:900;color:#111;list-style:none;position:relative;padding-right:38px}.jm-faq summary::-webkit-details-marker{display:none}.jm-faq summary::after{content:"+";position:absolute;right:0;top:-2px;width:30px;height:30px;border-radius:50%;background:var(--yellow);color:#111;border:2px solid var(--purple);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:900}.jm-faq details[open] summary::after{content:"−"}.jm-faq p{margin:14px 0 0;font-size:17px;line-height:1.55;color:#2A2A2A;font-weight:650}.footer{background:#14081d;color:#fff;padding:34px 22px;display:flex;gap:20px;justify-content:space-between;align-items:flex-start}.footer p{max-width:620px;color:#eee}.footer a{color:#fff;font-weight:800;margin-left:16px}.cookie-banner{position:fixed;left:18px;right:18px;bottom:18px;z-index:80;background:#fff;border:2px solid var(--yellow);border-radius:18px;box-shadow:0 15px 45px rgba(0,0,0,.18);padding:16px;display:none;align-items:center;justify-content:space-between;gap:16px}.cookie-banner.show{display:flex}.cookie-banner p{margin:0;font-weight:700;line-height:1.4}.cookie-banner a{font-weight:900;color:var(--purple)}.cookie-banner button{background:var(--yellow);border:0;border-radius:999px;padding:10px 16px;font-weight:900;cursor:pointer}@media(max-width:900px){.menu-toggle{display:block}.nav{position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid rgba(75,29,102,.15);display:none;flex-direction:column;align-items:flex-start;padding:14px 22px}.nav.open{display:flex}.jm-feature-grid,.jm-feature-grid-3,.jm-personal-story{grid-template-columns:1fr}.jm-gallery,.jm-gallery.wide{grid-template-columns:1fr 1fr}.footer{flex-direction:column}.footer a{display:inline-block;margin:8px 12px 0 0}}@media(max-width:640px){.topbar{padding:10px 14px}.brand{font-size:16px}.jm-maestria-inner{padding:0 15px}.jm-maestria-hero{padding:34px 0 28px}.jm-maestria-hero h1{font-size:34px}.jm-subtitle{font-size:19px}.jm-hero-img,.jm-image{border-radius:20px;margin:24px auto}.jm-maestria-purple-band{padding:34px 0}.jm-maestria-purple-band p{font-size:18px}.jm-maestria-white-section,.jm-maestria-light-section{padding:36px 0}.jm-section,.jm-faq,.jm-sitges-card{padding:28px 20px;border-radius:24px}.jm-section h2,.jm-faq h2,.jm-sitges-card h2{font-size:27px}.jm-feature{padding:24px 20px}.jm-gallery,.jm-gallery.wide{grid-template-columns:1fr}.jm-gallery img,.jm-gallery.wide img{height:auto}.jm-cta-btn,.jm-main-btn,.jm-secondary-btn{width:100%;box-sizing:border-box}.jm-professional-inner{padding:28px 18px}.cookie-banner{flex-direction:column;align-items:flex-start}.cookie-banner div{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.jm-personal-story{padding:24px 18px}}

/* Ajuste final: fotos centradas y sin recortes extraños en PC y móvil */
.jm-hero-img,
.jm-image,
.jm-n3-hero-image,
.jm-n3-student-image,
.gallery-grid figure,
.proof-grid figure {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fffaf0;
}

.jm-hero-img img,
.jm-image img,
.jm-personal-photo img,
.jm-gallery img,
.jm-gallery.wide img,
.jm-n3-hero-image img,
.jm-n3-student-image img,
.gallery-grid img,
.proof-grid img {
  object-position: center center !important;
}

.jm-image img,
.jm-hero-img img,
.jm-n3-hero-image img,
.jm-n3-student-image img {
  object-fit: contain !important;
}

.jm-gallery img,
.jm-gallery.wide img {
  object-fit: contain !important;
  background: #fffaf0;
}

@media (min-width: 901px) {
  .jm-gallery img,
  .jm-gallery.wide img {
    height: 300px !important;
  }
}

@media (max-width: 900px) {
  .jm-gallery img,
  .jm-gallery.wide img,
  .gallery-grid img,
  .proof-grid img {
    height: auto !important;
    object-fit: contain !important;
  }
}
