/* G4.8N8I2_EXAM_MODULE_LAYOUT_AND_IMAGE_UPLOAD */
.msa-module-details-page{max-width:1240px;margin:0 auto;padding:1.1rem 0 2rem;color:#172033}
.msa-module-breadcrumb{display:flex;gap:.5rem;align-items:center;color:#667085;font-size:.82rem;margin:.25rem 0 1rem}
.msa-module-breadcrumb a{color:#2563eb;text-decoration:none;font-weight:700}
.msa-module-hero{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.65fr);gap:1.35rem;align-items:stretch;background:linear-gradient(135deg,#0b2d6b 0%,#1f58c7 100%);color:#fff;border-radius:1.45rem;padding:clamp(1.5rem,3vw,2.5rem);box-shadow:0 1rem 2.4rem rgba(15,23,42,.14);overflow:hidden;position:relative}
.msa-module-hero:after{content:"";position:absolute;width:340px;height:340px;border-radius:50%;right:-120px;top:-145px;background:rgba(255,255,255,.08);pointer-events:none}
.msa-module-hero-copy,.msa-module-purchase-card{position:relative;z-index:1}
.msa-module-kicker,.msa-module-section-kicker{font-size:.72rem;letter-spacing:.11em;text-transform:uppercase;font-weight:850}
.msa-module-kicker{color:#cfe0ff}
.msa-module-title{font-size:clamp(2rem,4vw,3.2rem);line-height:1.04;letter-spacing:-.045em;font-weight:900;margin:.45rem 0 .75rem;color:#fff}
.msa-module-lead{max-width:760px;color:rgba(255,255,255,.86);font-size:1rem;line-height:1.65;margin:0 0 1.2rem}
.msa-module-purchase-card{background:#fff;color:#172033;border-radius:1.05rem;padding:1.3rem;display:flex;flex-direction:column;justify-content:center;box-shadow:0 .7rem 1.5rem rgba(0,0,0,.1)}
.msa-module-label{font-size:.74rem;color:#667085;text-transform:uppercase;letter-spacing:.06em;font-weight:800}
.msa-module-price{font-size:1.55rem;margin:.15rem 0;color:#101828}
.msa-module-duration{font-size:.86rem;color:#667085;margin-bottom:.65rem}
.msa-module-hero-cta,.msa-module-purchase-cta{margin-top:.5rem}.msa-module-cta-form{display:inline}.msa-module-cta-btn{min-width:170px}
.msa-module-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.8rem;margin:1rem 0}
.msa-module-stats>div{background:#fff;border:1px solid #e4e7ec;border-radius:1rem;padding:1rem;text-align:center;box-shadow:0 .28rem .85rem rgba(15,23,42,.045)}
.msa-module-stats strong{display:block;font-size:1.25rem;line-height:1.15;color:#101828;overflow-wrap:anywhere}
.msa-module-stats span{display:block;font-size:.69rem;color:#667085;text-transform:uppercase;letter-spacing:.05em;font-weight:800;margin-top:.3rem}
.msa-module-section{background:#fff;border:1px solid #e4e7ec;border-radius:1.1rem;padding:clamp(1.15rem,2.5vw,1.65rem);margin:1rem 0;box-shadow:0 .3rem 1rem rgba(15,23,42,.045)}
.msa-module-section-kicker{color:#2563eb;margin-bottom:.3rem}
.msa-module-section h3{font-size:1.25rem;font-weight:850;letter-spacing:-.02em;margin:.05rem 0 .7rem}
.msa-module-section p{color:#475467}
.msa-module-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:.55rem 1.25rem;color:#344054}
.msa-module-coverage{display:grid;gap:.7rem;margin-top:1rem}
.msa-module-topic{border:1px solid #e4e7ec;border-radius:.9rem;overflow:hidden;background:#fff}
.msa-module-topic>summary{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.85rem 1rem;background:#f8fafc;cursor:pointer;font-weight:800;color:#344054}
.msa-module-topic>summary span:last-child{font-size:.78rem;color:#667085;font-weight:700;text-align:right}
.msa-module-chapter-list{padding:0 1rem .5rem}
.msa-module-chapter-row{display:grid;grid-template-columns:1fr auto;gap:1rem;padding:.7rem 0;border-top:1px solid #eef2f6;font-size:.9rem}
.msa-module-chapter-row strong{font-size:.82rem;color:#475467}
.msa-module-steps{padding-left:1.25rem;color:#475467}.msa-module-steps li{margin:.4rem 0}
.msa-module-section details{border-top:1px solid #e4e7ec;padding:.8rem 0}.msa-module-section details:first-of-type{margin-top:.6rem}
.msa-module-section summary{cursor:pointer;font-weight:750;color:#344054}
.msa-module-final-cta{background:#101828;color:#fff;border-radius:1.15rem;padding:1.45rem 1.6rem;margin:1rem 0;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.msa-module-final-cta h3{color:#fff;margin:0 0 .25rem;font-size:1.25rem}.msa-module-final-cta p{color:#cbd5e1;margin:0}
.msa-module-back-row{margin:1.25rem 0}
@media(max-width:900px){.msa-module-hero{grid-template-columns:1fr}.msa-module-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.msa-module-feature-grid{grid-template-columns:1fr}}
@media(max-width:575.98px){.msa-module-details-page{padding:.1rem 0 1rem}.msa-module-hero{border-radius:1.05rem;padding:1.25rem}.msa-module-title{font-size:1.8rem}.msa-module-stats{grid-template-columns:1fr 1fr}.msa-module-topic>summary{align-items:flex-start;flex-direction:column}.msa-module-topic>summary span:last-child{text-align:left}.msa-module-final-cta{display:block}.msa-module-final-cta .msa-module-cta-btn{width:100%;margin-top:1rem}.msa-module-purchase-card .msa-module-cta-btn{width:100%}}

/* G4.8N8I3_PUBLIC_DETAILS_LAYOUT
   Public Exam Module header + section layout refinement. */
.msa-module-hero{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:1.35rem;
  align-items:stretch;
}
.msa-module-hero-image{
  min-width:0;
  min-height:330px;
  border-radius:1.1rem;
  overflow:hidden;
  background:#fff;
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
}
.msa-module-hero-image img{
  width:100%;
  height:100%;
  min-height:330px;
  display:block;
  object-fit:cover;
  object-position:center;
}
.msa-module-image-fallback{
  width:100%;
  min-height:330px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.65rem;
  color:#315a9e;
  background:linear-gradient(135deg,#eef4ff,#fff);
  font-weight:850;
}
.msa-module-image-fallback i{font-size:3rem}
.msa-module-hero-content{
  min-width:0;
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  gap:1rem;
  justify-content:space-between;
}
.msa-module-hero-content .msa-module-purchase-card{margin-top:auto}
.msa-module-live-faq-grid{
  display:grid;
  grid-template-columns:minmax(0,2fr) minmax(280px,1fr);
  gap:1rem;
  margin:1rem 0;
  align-items:stretch;
}
.msa-module-live-faq-grid>.msa-module-section{
  margin:0;
  height:100%;
}
.msa-module-faq-section details p{font-size:.9rem}
.msa-module-exam-specific-section{margin-top:1rem;margin-bottom:1rem}

@media(max-width:900px){
  .msa-module-hero{grid-template-columns:1fr}
  .msa-module-hero-image,.msa-module-hero-image img,.msa-module-image-fallback{min-height:0}
  .msa-module-hero-image{aspect-ratio:16/9}
  .msa-module-live-faq-grid{grid-template-columns:1fr}
}

/* G4.8N8I3C_BACKGROUND_HERO_CSS_ONLY
   Keep the original horizontal Exam Module hero.
   Reuse the I3 Exam image as a full-background layer without changing runtime HTML. */
.msa-module-hero{
  grid-template-columns:minmax(0,1.55fr) minmax(260px,.65fr);
  gap:1.35rem;
  align-items:stretch;
  position:relative;
  isolation:isolate;
  background:linear-gradient(135deg,#0b2d6b 0%,#1f58c7 100%);
}

/* I3 already renders the current Exam image in this div.
   Move that div behind the horizontal hero instead of showing it as a separate column. */
.msa-module-hero-image{
  position:absolute;
  inset:0;
  width:auto;
  min-width:0;
  min-height:0;
  border-radius:inherit;
  overflow:hidden;
  background:transparent;
  z-index:0;
  display:block;
  pointer-events:none;
}
.msa-module-hero-image img{
  width:100%;
  height:100%;
  min-height:0;
  display:block;
  object-fit:cover;
  object-position:center;
}

/* If no image exists, leave the original blue hero background visible. */
.msa-module-image-fallback{
  display:none;
}

/* Readability layer over the photograph. */
.msa-module-hero:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  border-radius:inherit;
  background:linear-gradient(
    90deg,
    rgba(4,22,55,.94) 0%,
    rgba(8,40,96,.88) 42%,
    rgba(11,45,107,.70) 72%,
    rgba(11,45,107,.58) 100%
  );
  pointer-events:none;
}
.msa-module-hero:after{z-index:1}

/* I3 wrapped the original two hero columns in hero-content.
   display:contents restores the original horizontal grid without changing stored page HTML. */
.msa-module-hero-content{
  display:contents;
}
.msa-module-hero-copy,
.msa-module-purchase-card{
  position:relative;
  z-index:2;
}
.msa-module-hero-content .msa-module-purchase-card{
  margin-top:0;
}
.msa-module-purchase-card{
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(2px);
}

@media(max-width:900px){
  .msa-module-hero{
    grid-template-columns:1fr;
  }
  .msa-module-hero-content{
    display:contents;
  }
}
