/* Immersize Creation 45A — performance + visual stability.
   Scope: creation-sur-mesure only. No JS. No component reconstruction.
*/

body.page-id-4355 {
  background: #000 !important;
  color: rgba(255,255,255,.94) !important;
  overflow-x: hidden !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}

body.page-id-4355 main,
body.page-id-4355 .site-content,
body.page-id-4355 .content-area,
body.page-id-4355 .entry-content,
body.page-id-4355 :is(.ims28l-about,.ims28p-process,.ims32f-process,.ims28y-system,.ims29c-faq) {
  background: #000 !important;
}

/* Hero typography guard */
body.page-id-4355 .ims28c-title {
  max-width: min(760px, 100%) !important;
  font-family: Tomorrow, Goldman, Arial, sans-serif !important;
  font-size: clamp(2.2rem, 4.1vw, 4.2rem) !important;
  font-weight: 660 !important;
  line-height: .98 !important;
  letter-spacing: -.035em !important;
  color: #fff !important;
}

body.page-id-4355 .ims28c-title > .ims28c-title-line {
  display: block !important;
  font: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
}

body.page-id-4355 .ims28c-title > .ims28c-title-accent {
  color: #a9c5ff !important;
  -webkit-text-fill-color: #a9c5ff !important;
}

/* Keep premium process sane */
body.page-id-4355 .ims32f-process {
  position: relative !important;
  isolation: isolate !important;
}

body.page-id-4355 .ims32f-title,
body.page-id-4355 .ims28y-title,
body.page-id-4355 .ims29c-faq h2 {
  font-family: Tomorrow, Goldman, Arial, sans-serif !important;
  font-size: clamp(1.85rem, 3.2vw, 3.3rem) !important;
  font-weight: 650 !important;
  line-height: 1.06 !important;
  letter-spacing: -.034em !important;
  color: #fff !important;
  text-wrap: balance !important;
}

body.page-id-4355 :is(.ims32f-process,.ims28y-system,.ims29c-faq) :is(h3,button,summary) {
  font-family: Tomorrow, Goldman, Arial, sans-serif !important;
  font-size: clamp(1rem, 1.25vw, 1.28rem) !important;
  font-weight: 620 !important;
  line-height: 1.24 !important;
}

body.page-id-4355 :is(.ims32f-process,.ims28y-system,.ims29c-faq) p {
  font-size: clamp(.98rem, 1.05vw, 1.1rem) !important;
  font-weight: 460 !important;
  line-height: 1.68 !important;
}

/* Prevent old Escape Mobile typography from dominating FAQ */
body.page-id-4355 .ims29c-faq {
  padding-block: clamp(56px, 8vw, 110px) !important;
}

body.page-id-4355 .ims29c-faq :is(button,summary) {
  text-align: left !important;
}

/* Black-card safety for puzzle / FAQ */
body.page-id-4355 .ims28y-panel,
body.page-id-4355 .ims29c-faq details,
body.page-id-4355 .ims29c-faq-list > * {
  background:
    radial-gradient(circle at 16% 0%, rgba(169,197,255,.08), transparent 35%),
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018)) !important;
  border: 1px solid rgba(169,197,255,.18) !important;
  border-radius: 24px !important;
  box-shadow: 0 18px 55px rgba(0,0,0,.32) !important;
}

/* Final CTA owner 43A/45A visual */
body.page-id-4355 .ims43a-cta,
body.page-id-4355 .ims43a-cta * {
  box-sizing: border-box !important;
}

body.page-id-4355 .ims43a-cta {
  position: relative !important;
  z-index: 50 !important;
  display: block !important;
  padding: clamp(72px, 7vw, 112px) 0 clamp(76px, 8vw, 124px) !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(73,105,255,.16), transparent 34%),
    linear-gradient(180deg, rgba(0,0,0,.1) 0%, #000 32%, #000 100%) !important;
  color: #fff !important;
  overflow: hidden !important;
}

body.page-id-4355 .ims43a-cta-shell {
  width: min(100% - 48px, 1180px) !important;
  margin: 0 auto !important;
}

body.page-id-4355 .ims43a-cta-card {
  position: relative !important;
  min-height: clamp(340px, 30vw, 450px) !important;
  border-radius: 38px !important;
  background:
    radial-gradient(circle at 25% 0%, rgba(79,125,255,.18), transparent 36%),
    radial-gradient(circle at 86% 86%, rgba(233,71,148,.13), transparent 34%),
    linear-gradient(180deg, rgba(8,13,31,.96), rgba(1,3,12,.985) 58%, rgba(0,0,0,.995)) !important;
  box-shadow: 0 36px 110px rgba(0,0,0,.58), inset 0 1px 0 rgba(255,255,255,.07) !important;
  overflow: hidden !important;
}

body.page-id-4355 .ims43a-cta-inner {
  position: relative !important;
  z-index: 2 !important;
  max-width: 850px !important;
  min-height: clamp(340px, 30vw, 450px) !important;
  margin: 0 auto !important;
  padding: clamp(56px, 6vw, 86px) clamp(32px, 6vw, 92px) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
}

body.page-id-4355 .ims43a-cta-kicker {
  margin: 0 0 18px !important;
  font-family: Tomorrow, Goldman, Arial, sans-serif !important;
  font-size: clamp(.66rem, .74vw, .78rem) !important;
  font-weight: 680 !important;
  line-height: 1 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  color: rgba(169,197,255,.86) !important;
}

body.page-id-4355 .ims43a-cta-title {
  margin: 0 !important;
  font-family: Tomorrow, Goldman, Arial, sans-serif !important;
  font-size: clamp(2rem, 3.75vw, 3.45rem) !important;
  font-weight: 640 !important;
  line-height: 1.04 !important;
  letter-spacing: -.042em !important;
}

body.page-id-4355 .ims43a-cta-rule {
  width: 88px !important;
  height: 2px !important;
  margin: clamp(22px, 2.4vw, 30px) auto clamp(22px, 2.8vw, 34px) !important;
  background: linear-gradient(90deg, #3f76ff, #7d65ff, #e94794) !important;
}

body.page-id-4355 .ims43a-cta-copy {
  max-width: 710px !important;
  margin: 0 !important;
  color: rgba(232,238,255,.76) !important;
  font-size: clamp(1rem, 1.15vw, 1.16rem) !important;
  line-height: 1.62 !important;
}

body.page-id-4355 .ims43a-cta-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  min-width: 188px !important;
  min-height: 52px !important;
  margin-top: clamp(30px, 3.6vw, 42px) !important;
  padding: 0 30px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #3f76ff, #7865ff, #e94794) !important;
  color: #fff !important;
  font-family: Tomorrow, Goldman, Arial, sans-serif !important;
  font-size: .9rem !important;
  font-weight: 760 !important;
  letter-spacing: .045em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}

@media (max-width: 767px) {
  body.page-id-4355 .ims28c-title {
    font-size: clamp(1.8rem, 8vw, 2.55rem) !important;
    font-weight: 640 !important;
    line-height: 1 !important;
  }

  body.page-id-4355 .ims32f-title,
  body.page-id-4355 .ims28y-title,
  body.page-id-4355 .ims29c-faq h2 {
    font-size: clamp(1.55rem, 7vw, 2.28rem) !important;
    font-weight: 640 !important;
    line-height: 1.08 !important;
  }

  body.page-id-4355 .ims43a-cta-shell {
    width: min(100% - 24px, 1180px) !important;
  }

  body.page-id-4355 .ims43a-cta-card {
    min-height: auto !important;
    border-radius: 28px !important;
  }

  body.page-id-4355 .ims43a-cta-inner {
    min-height: auto !important;
    padding: clamp(44px, 12vw, 62px) 22px clamp(48px, 12vw, 68px) !important;
  }

  body.page-id-4355 .ims43a-cta-title {
    font-size: clamp(1.52rem, 7vw, 2.18rem) !important;
  }
}
