/* The module frames follow the exact visible edges of the two comparison cards. */
.modules-flow .love-module .cel-module{
  container-type:inline-size;box-sizing:border-box;width:100%;max-width:none;margin:0 auto 20px;
  padding:2.22cqi 3.2cqi;border:1.6px solid transparent;border-radius:23px;
  background:radial-gradient(ellipse at 25% 0%,#0a2039,#041529 50%,#021021) padding-box,
    linear-gradient(135deg,#b8ac87,#fff8e0 13%,#d4c79e 32%,#fff9e5 50%,#a99e7d 69%,#fff7dc 88%,#d9ceaa) border-box;
}
/* A global p{max-width:640px} had constrained the module label and shifted it left. */
.modules-flow .love-module .cel-module__label{
  width:100%;max-width:none;margin:0 auto 1.04cqi;gap:1.25cqi;
  font:400 .833cqi/1.25 ModuleSans,Arial,sans-serif;letter-spacing:.208cqi;color:#e5d9b4
}
.modules-flow .love-module .cel-module__label::before,.modules-flow .love-module .cel-module__label::after{width:5.9cqi;max-width:none}
.modules-flow .love-module .cel-module__title{
  margin:0!important;font:400 4.861cqi/1.05 ModuleSerif,Georgia,serif!important;
  letter-spacing:normal!important;background:none!important;color:#f4f0e5!important;
  -webkit-text-fill-color:#f4f0e5!important;text-shadow:none!important;filter:none!important;max-width:none!important
}
.modules-flow .love-module .cel-module__subtitle{max-width:none;margin:.625cqi auto 0!important;font:400 1.806cqi/1.25 ModuleSerif,Georgia,serif}
.modules-flow .love-module .cel-module__divider{width:9.72cqi;max-width:none;height:1px;margin:1.18cqi auto}
.modules-flow .love-module .cel-module__accent{max-width:none;margin:0 auto!important;font:400 2.083cqi/1.24 ModuleSerif,Georgia,serif}
.modules-flow .love-module .cel-module__description{max-width:none;margin:1.18cqi auto 0!important;font:400 1.597cqi/1.32 ModuleSerif,Georgia,serif}
/* The comparison cells are inset 12px on tablets and 6px on phones. */
@media(min-width:701px) and (max-width:1100px){
 .modules-flow .love-module .cel-module{width:calc(100% - 24px);margin-inline:12px;padding:4.04cqi 5.2cqi;border-radius:22px}
 .modules-flow .love-module .cel-module__label{font-size:1.43cqi;letter-spacing:.39cqi;gap:2.08cqi;margin-bottom:1.95cqi}
 .modules-flow .love-module .cel-module__label::before,.modules-flow .love-module .cel-module__label::after{width:7.8cqi}
 .modules-flow .love-module .cel-module__title{font-size:6.38cqi!important}
 .modules-flow .love-module .cel-module__subtitle{font-size:3cqi;margin-top:1.17cqi!important}
 .modules-flow .love-module .cel-module__divider{width:18.2cqi;margin:2.6cqi auto}
 .modules-flow .love-module .cel-module__accent{font-size:3.39cqi}
 .modules-flow .love-module .cel-module__description{font-size:2.73cqi;margin-top:2.6cqi!important}
}
@media(max-width:700px){
 .modules-flow .love-module .cel-module{width:calc(100% - 12px);max-width:none;margin:0 6px 18px;padding:7cqi 6.4cqi;border-radius:18px}
 .modules-flow .love-module .cel-module::before{border-radius:15px}
 .modules-flow .love-module .cel-module__label{font-size:2.56cqi;letter-spacing:.77cqi;gap:3.33cqi;margin-bottom:3.33cqi}
 .modules-flow .love-module .cel-module__label::before,.modules-flow .love-module .cel-module__label::after{width:15.38cqi}
 .modules-flow .love-module .cel-module__title{font-size:9.49cqi!important}
 .modules-flow .love-module .cel-module__subtitle{font-size:5.13cqi;margin-top:2.3cqi!important}
 .modules-flow .love-module .cel-module__divider{width:25.64cqi;margin:4.1cqi auto}
 .modules-flow .love-module .cel-module__accent{font-size:5.9cqi}
 .modules-flow .love-module .cel-module__description{font-size:4.62cqi;margin-top:4.1cqi!important}
}
@media(max-width:359px){.modules-flow .love-module .cel-module{padding-inline:6.4cqi}}

/* Phone: continue the blue satin train behind the three unchanged module cards. */
@media(max-width:700px){
  .hero-program-scene .modules-flow{
    position:relative!important;isolation:isolate!important;
    background:transparent!important
  }
  .hero-program-scene>.modules-flow>.love-module,
  .hero-program-scene>.modules-flow>.love-module>.love-showcase{background:transparent!important}
  /* Hero CTA positioning was leaking onto both module purchase links. */
    .hero-program-scene .modules-flow .module-buy{
    position:static!important;inset:auto!important;left:auto!important;top:auto!important;
    float:none!important;clear:both!important;display:flex!important;align-items:center!important;justify-content:center!important;
    box-sizing:border-box!important;width:min(82%,360px)!important;height:auto!important;
    min-height:58px!important;margin:28px auto 18px!important;padding:12px 20px!important;
    transform:none!important;float:none!important;z-index:auto!important;font-size:clamp(16px,4.3vw,20px)!important;line-height:1.2!important;
    text-align:center!important
  }
}

/* Mobile sales-page sections use the supplied editable SVG layers, while
   tablet and desktop keep their existing responsive artwork. */
@font-face{font-family:'Nimbus Roman';src:url('fonts/NimbusRoman-Regular.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Nimbus Roman';src:url('fonts/NimbusRoman-Bold.otf') format('opentype');font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:'Nimbus Roman';src:url('fonts/NimbusRoman-Italic.woff') format('woff');font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:'Nimbus Roman';src:url('fonts/NimbusRoman-BoldItalic.otf') format('opentype');font-style:italic;font-weight:700;font-display:swap}
@font-face{font-family:'Nimbus Sans';src:url('fonts/NimbusSans-Regular.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Nimbus Sans';src:url('fonts/NimbusSans-Bold.otf') format('opentype');font-style:normal;font-weight:700;font-display:swap}
@media(max-width:700px){
  .post-module-art>.mobile-layer-stack{display:block!important;width:min(100%,430px);margin:0 auto;line-height:0;background:#021327}
  .post-module-art>.mobile-layer-stack .mobile-layer-panel{position:relative;width:100%;margin:0;padding:0;line-height:0;scroll-margin-top:18px}
  .post-module-art>.mobile-layer-stack img{display:block;width:100%;height:auto;margin:0}
  .post-module-art>.mobile-layer-stack .mobile-panel-action{position:absolute;left:var(--hit-left);top:var(--hit-top);width:var(--hit-width);height:var(--hit-height);z-index:2}
  .post-module-art>picture{display:none!important}
  .post-module-art>.art-hotspot{display:none!important}
  .post-module-art>.art-anchor#gold-vip{top:31.938%!important}
  .post-module-art>.art-anchor#tariffs{top:47.495%!important}
}
@media(min-width:701px){.post-module-art>.mobile-layer-stack{display:none!important}}

/* Tablet cover: reveal the dedicated crop, keep the copy on the dark wall,
   and stack both contact buttons clear of the portrait. */
@media (min-width:701px) and (max-width:1100px){
  .hero-program-scene:after{display:none!important}
  .hero-program-scene .hero-scene{
    display:block!important;visibility:visible!important;opacity:1!important;
    width:100%;height:100%;object-fit:cover;object-position:center top;z-index:-1
  }
  .hero-program-scene .layered-hero{min-height:133.333vw!important;padding:0!important;overflow:hidden;background:transparent!important}
  .hero-program-scene .layered-nav{
    top:2.8%!important;left:9.5%!important;right:9.5%!important;
    width:auto!important;min-height:0!important;height:auto!important;padding:0!important;
    display:flex!important;align-items:flex-start!important;justify-content:flex-start!important;
    gap:0!important;background:none!important
  }
  .hero-program-scene .layered-brand{font-size:clamp(15px,1.9vw,20px)!important}
  .hero-program-scene .layered-actions{
    position:absolute;left:33%;top:0;margin:0;align-items:flex-start;flex-direction:column;gap:5px
  }
  .hero-program-scene .layered-actions .layered-reviews,
  .hero-program-scene .layered-actions .layered-question{
    order:initial;min-height:30px;padding:5px 11px!important;
    font-size:clamp(11px,1.35vw,14px)!important;line-height:1.1
  }
  .hero-program-scene .layered-actions .layered-reviews{order:0}
  .hero-program-scene .layered-actions .layered-question{order:1}
  .hero-program-scene .layered-copy{
    top:12%!important;left:9.5%!important;width:44%!important;
    margin:0!important;padding:0!important;background:none!important;border:0!important;box-shadow:none!important
  }
  .hero-program-scene .layered-copy .course-label{margin-bottom:1cqw!important}
  .hero-program-scene .layered-copy h1,
  .hero-program-scene .layered-copy .white-title,
  .hero-program-scene .layered-copy .layered-subtitle{
    text-shadow:0 1px 2px #021326,0 2px 9px #021326aa
  }
  .hero-program-scene .layered-copy .layered-subtitle{
    max-width:92%;font-size:clamp(16px,1.85vw,21px)!important;line-height:1.38!important;
    margin-top:1.4cqw!important;color:#fff8ef!important
  }
  .hero-program-scene .layered-copy .layered-cta{
    min-height:48px!important;margin-top:15px!important;padding:9px 20px!important;
    font-size:clamp(15px,1.65vw,18px)!important
  }
  .hero-program-scene>.modules-flow{margin-top:0!important}
  .hero-program-scene .modules-flow #module-1 .love-showcase{padding-top:20px!important}
}

/* Use the supplied adaptive SVG covers verbatim; only their size follows the layout. */
.modules-flow .love-module .cel-module-source{
  container-type:normal!important;display:block;width:100%;max-width:none;height:auto;
  margin:0 auto 20px!important;padding:0!important;border:0!important;border-radius:0!important;
  overflow:visible;background:none!important;color:transparent;text-align:left
}
.modules-flow .love-module .cel-module-source::before{display:none!important}
.cel-module-picture{display:block;width:100%;line-height:0}
.cel-module-picture img{display:block;width:100%;height:auto;max-width:none}
.module-cover-sr{
  position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;
  overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important
}

/* Mobile repair: the supplied SVG already contains its complete frame and typography.
   Keep the accessible text hidden and do not wrap that artwork in a second card. */
@media (max-width: 700px) {
  .modules-flow .love-module .cel-module-source {
    display: block !important; width: 100% !important; max-width: none !important;
    height: auto !important; margin: 0 auto 18px !important; padding: 0 !important;
    border: 0 !important; border-radius: 0 !important; background: transparent !important;
    box-shadow: none !important; overflow: visible !important;
  }
  .modules-flow .love-module .cel-module-source::before,
  .modules-flow .love-module .cel-module-source::after { display: none !important; }
  .modules-flow .love-module .module-cover-sr {
    position: absolute !important; width: 1px !important; height: 1px !important;
    padding: 0 !important; margin: -1px !important; overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important;
  }
  .modules-flow .love-module .cel-module-picture,
  .modules-flow .love-module .cel-module-picture img {
    display: block !important; width: 100% !important; height: auto !important; max-width: none !important;
  }
  /* Keep FAQ intro, questions and buttons in one readable mobile column. */
  .faq-section > .cel-faq {
    display: grid !important; grid-template-columns: minmax(0, 1fr) !important;
    grid-auto-flow: row !important; gap: 22px !important;
    width: calc(100% - 30px) !important; max-width: 620px !important;
    margin-inline: auto !important; padding: 25px 20px 30px !important;
  }
  .faq-section > .cel-faq .cel-faq__intro,
  .faq-section > .cel-faq .cel-faq__list,
  .faq-section > .cel-faq .cel-faq__controls {
    grid-column: 1 !important; grid-row: auto !important;
    width: 100% !important; min-width: 0 !important;
  }
  .faq-section > .cel-faq .cel-faq__intro { padding: 0 !important; }
  .faq-section > .cel-faq .cel-faq__title { font-size: clamp(42px, 12vw, 54px) !important; }
  .faq-section > .cel-faq .cel-faq__button {
    display: inline-flex !important; width: auto !important; max-width: 100% !important;
    height: auto !important; min-height: 48px !important; aspect-ratio: auto !important;
    border-radius: 999px !important; white-space: normal !important;
  }
  .faq-section > .cel-faq .cel-faq__contact { justify-self: start !important; }
  .faq-section > .cel-faq .cel-faq__controls { display: flex !important; }
}
