/* Independent campaign styles: do not inherit the host theme's resets. */
#futures-solution-popup, #futures-solution-launcher {
  font-family: -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans KR", sans-serif;
  font-size: 16px; line-height: 1.5; letter-spacing: -.025em; text-align: left;
}
#futures-solution-popup, #futures-solution-popup *, #futures-solution-launcher { box-sizing: border-box; }
#futures-solution-popup {
  --fsp-ink: #172735; --fsp-muted: #53616e; --fsp-accent: #c2a16b;
  position: fixed; inset: 0; width: min(460px, calc(100vw - 32px)); max-width: none;
  max-height: calc(100vh - 32px); max-height: calc(100svh - 32px);
  margin: auto; padding: 0; border: 0; border-radius: 22px; overflow: auto;
  overscroll-behavior: contain; background: #faf8f3; color: var(--fsp-ink);
  box-shadow: 0 28px 100px #0006; isolation: isolate;
}
#futures-solution-popup:not([open]) { display: none !important; }
#futures-solution-popup::backdrop { background: rgb(6 17 29 / 62%); backdrop-filter: blur(4px); }
#futures-solution-popup[data-fsp-fallback="true"][open] { z-index: 2147483000; box-shadow: 0 0 0 100vmax #07101dbc, 0 25px 90px #0007; }
#futures-solution-popup p, #futures-solution-popup h2 { margin: 0; padding: 0; }
#futures-solution-popup button, #futures-solution-popup a { font-family: inherit; letter-spacing: inherit; text-transform: none; }
#futures-solution-popup button { cursor: pointer; appearance: none; -webkit-appearance: none; border: 0; background: none; color: inherit; }
#futures-solution-popup button:focus-visible, #futures-solution-popup a:focus-visible, #futures-solution-launcher:focus-visible { outline: 3px solid #1583ff; outline-offset: -4px; }
#futures-solution-popup .fsp__x {
  position: absolute; top: 12px; right: 12px; z-index: 3; display: grid; place-items: center;
  width: 40px; height: 40px; padding: 0; border: 1px solid #ffffff50; border-radius: 50%;
  background: #101d2de0; color: #fff; font-size: 27px; font-weight: 400; line-height: 1;
}
#futures-solution-popup .fsp__visual { position: relative; height: 205px; overflow: hidden; background: #101c2a; }
#futures-solution-popup .fsp__visual img { display: block; width: 100%; height: 100%; object-fit: cover; border: 0; }
#futures-solution-popup .fsp__visual-label { position: absolute; bottom: 15px; left: 28px; color: #f4e4c9; font-size: 9px; font-weight: 700; letter-spacing: .18em; text-shadow: 0 1px 8px #000; }
#futures-solution-popup .fsp__content { padding: 25px 30px 22px; }
#futures-solution-popup .fsp__eyebrow { color: #775a29; font-size: 10px; font-weight: 800; letter-spacing: .16em; }
#futures-solution-popup .fsp__intro { margin-top: 9px; color: var(--fsp-muted); font-size: 13px; }
#futures-solution-popup #fsp-title { margin-top: 4px; color: var(--fsp-ink); font-size: 33px; font-weight: 800; line-height: 1.3; letter-spacing: -.055em; word-break: keep-all; }
#futures-solution-popup #fsp-title span { display: block; margin-top: 4px; color: #805d24; font-size: 22px; font-weight: 600; letter-spacing: -.025em; }
#futures-solution-popup .fsp__description { margin-top: 13px; color: var(--fsp-muted); font-size: 13px; line-height: 1.7; word-break: keep-all; }
#futures-solution-popup .fsp__services { display: grid; grid-template-columns: repeat(3, 1fr); margin: 18px 0; padding-top: 15px; border-top: 1px solid #17273520; }
#futures-solution-popup .fsp__services > span { display: grid; gap: 2px; padding-left: 12px; border-left: 1px solid #17273520; }
#futures-solution-popup .fsp__services > span:first-child { padding-left: 0; border: 0; }
#futures-solution-popup .fsp__services b { color: var(--fsp-ink); font-size: 13px; font-weight: 700; }
#futures-solution-popup .fsp__services small { color: var(--fsp-muted); font-size: 10px; white-space: nowrap; }
#futures-solution-popup .fsp__cta { display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; min-height: 50px; padding: 12px 17px; border: 0; border-radius: 10px; background: #162838; color: #fff; font-size: 14px; font-weight: 700; line-height: 1.4; text-decoration: none; box-shadow: none; transition: filter .15s; }
#futures-solution-popup .fsp__cta:hover { filter: brightness(1.15); text-decoration: none; }
#futures-solution-popup .fsp__cta > span { font-size: 23px; font-weight: 400; color: inherit; }
#futures-solution-popup .fsp__note { margin-top: 9px; color: var(--fsp-muted); font-size: 10px; text-align: center; }
#futures-solution-popup .fsp__terms { margin-top: 12px; color: var(--fsp-muted); font-size: 10px; line-height: 1.5; text-align: center; word-break: keep-all; }
#futures-solution-popup .fsp__footer { display: flex; justify-content: space-between; align-items: center; min-height: 52px; padding: 0 17px; border-top: 1px solid #17273515; background: #fff9; }
#futures-solution-popup .fsp__footer button { display: inline-flex; align-items: center; gap: 7px; min-height: 48px; padding: 10px 9px; color: #44515d; font-size: 12px; font-weight: 500; line-height: 1.3; }
#futures-solution-popup .fsp__footer button span { font-size: 18px; }

/* Invest: bright editorial card, title above the visual. */
#futures-solution-popup.fsp--invest { width: min(500px, calc(100vw - 32px)); background: #fff; border-radius: 18px; --fsp-ink: #162c4e; --fsp-muted: #52637a; }
#futures-solution-popup.fsp--invest .fsp__layout { display: flex; flex-direction: column; }
#futures-solution-popup.fsp--invest .fsp__content { display: contents; }
#futures-solution-popup.fsp--invest .fsp__eyebrow { order: 0; margin: 29px 30px 0; color: #155ad3; }
#futures-solution-popup.fsp--invest .fsp__intro { order: 1; margin: 9px 30px 0; }
#futures-solution-popup.fsp--invest #fsp-title { order: 2; margin: 4px 30px 0; }
#futures-solution-popup.fsp--invest #fsp-title span { color: #185bca; font-size: 23px; }
#futures-solution-popup.fsp--invest .fsp__visual { order: 3; height: 175px; margin: 12px 22px 0; border-radius: 12px; background: #f0f5fb; }
#futures-solution-popup.fsp--invest .fsp__visual-label { display: none; }
#futures-solution-popup.fsp--invest .fsp__description { order: 4; margin: 10px 30px 0; }
#futures-solution-popup.fsp--invest .fsp__description br { display: none; }
#futures-solution-popup.fsp--invest .fsp__services { order: 5; margin: 16px 30px; padding: 12px 14px; border: 0; border-radius: 10px; background: #eff5ff; }
#futures-solution-popup.fsp--invest .fsp__cta { order: 6; width: auto; margin: 0 30px; background: #165ed6; }
#futures-solution-popup.fsp--invest .fsp__terms { order: 7; margin: 12px 25px 0; }
#futures-solution-popup.fsp--invest .fsp__note { order: 8; margin: 7px 20px 20px; }
#futures-solution-popup.fsp--invest .fsp__x { background: #edf3fc; border-color: #dae5f7; color: #234a79; }

/* FVC: widescreen technical composition with an independent image column. */
#futures-solution-popup.fsp--fvc { width: min(730px, calc(100vw - 32px)); border: 1px solid #405653; border-radius: 18px; background: #101c23; --fsp-ink: #f4faf9; --fsp-muted: #bccbce; }
#futures-solution-popup.fsp--fvc .fsp__layout { display: grid; grid-template-columns: 1.12fr 1fr; }
#futures-solution-popup.fsp--fvc .fsp__content { grid-column: 1; grid-row: 1; padding: 32px 27px 25px; }
#futures-solution-popup.fsp--fvc .fsp__visual { grid-column: 2; grid-row: 1; height: 100%; min-height: 380px; border-left: 1px solid #ffffff12; }
#futures-solution-popup.fsp--fvc .fsp__visual img { position: absolute; inset: 0; object-position: center; }
#futures-solution-popup.fsp--fvc .fsp__visual-label { bottom: 24px; left: 18px; color: #a4d9d0; font-size: 8px; }
#futures-solution-popup.fsp--fvc .fsp__eyebrow { color: #7ce0cc; }
#futures-solution-popup.fsp--fvc #fsp-title { font-size: 31px; }
#futures-solution-popup.fsp--fvc #fsp-title span { color: #7ce0cc; font-size: 22px; }
#futures-solution-popup.fsp--fvc .fsp__services { border-color: #ffffff26; }
#futures-solution-popup.fsp--fvc .fsp__services > span { border-color: #ffffff26; padding-left: 8px; }
#futures-solution-popup.fsp--fvc .fsp__services > span:first-child { padding-left: 0; }
#futures-solution-popup.fsp--fvc .fsp__services small { font-size: 9px; }
#futures-solution-popup.fsp--fvc .fsp__cta { background: #83e0cd; color: #102e2c; font-size: 13px; border-radius: 7px; }
#futures-solution-popup.fsp--fvc .fsp__footer { border-color: #ffffff20; background: #0c171e; }
#futures-solution-popup.fsp--fvc .fsp__footer button { color: #d1dcdf; }

/* Keep the launcher above the lower-left back-to-top control, away from right-side chat. */
#futures-solution-launcher { position: fixed; left: 20px; bottom: 90px; z-index: 100010; display: flex; align-items: center; gap: 8px; max-width: calc(100vw - 32px); min-height: 44px; padding: 11px 17px; border: 1px solid #ffffff60; border-radius: 999px; color: #fff; background: #172b3e; box-shadow: 0 6px 24px #07182c40; font-size: 12px; font-weight: 700; cursor: pointer; }
#futures-solution-launcher.fsp-launcher--invest { background: #165ed6; }
#futures-solution-launcher.fsp-launcher--fvc { background: #123833; }
#futures-solution-launcher[hidden] { display: none !important; }
#futures-solution-popup.fsp--invest .fsp__cta:focus-visible,
#futures-solution-launcher.fsp-launcher--invest:focus-visible { outline-color: #fff; }
#futures-solution-popup.fsp--fvc .fsp__cta:focus-visible { outline-color: #102e2c; }
@media (max-width: 600px) {
  #futures-solution-popup { border-radius: 18px; }
  #futures-solution-popup .fsp__visual { height: 165px; }
  #futures-solution-popup .fsp__content { padding: 22px 24px 18px; }
  #futures-solution-popup #fsp-title { font-size: 30px; }
  #futures-solution-popup .fsp__services { margin: 15px 0; }
  #futures-solution-popup .fsp__services > span { padding-left: 8px; }
  #futures-solution-popup .fsp__services small { font-size: 9px; }
  #futures-solution-popup.fsp--invest .fsp__eyebrow { margin-top: 25px; }
  #futures-solution-popup.fsp--invest .fsp__visual { height: 145px; }
  #futures-solution-popup.fsp--invest .fsp__services { margin: 13px 30px; }
  #futures-solution-popup.fsp--fvc .fsp__layout { display: flex; flex-direction: column; }
  #futures-solution-popup.fsp--fvc .fsp__visual { order: 0; position: relative; min-height: 150px; height: 150px; border: 0; }
  #futures-solution-popup.fsp--fvc .fsp__visual-label { display: none; }
  #futures-solution-popup.fsp--fvc .fsp__visual img { position: static; }
  #futures-solution-popup.fsp--fvc .fsp__content { order: 1; padding: 22px 24px 18px; }
  #futures-solution-popup.fsp--fvc #fsp-title { font-size: 30px; }
  #futures-solution-launcher { left: 16px; bottom: max(90px, env(safe-area-inset-bottom)); }
}
@media (max-width: 380px) {
  #futures-solution-launcher { left: 12px; width: 84px; padding: 9px 10px; border-radius: 15px; font-size: 11px; text-align: center; word-break: keep-all; }
  #futures-solution-launcher > span { display: none; }
}
@media (max-width: 359px) {
  #futures-solution-popup #fsp-title, #futures-solution-popup.fsp--fvc #fsp-title { font-size: 27px; }
  #futures-solution-popup .fsp__content, #futures-solution-popup.fsp--fvc .fsp__content { padding-left: 19px; padding-right: 19px; }
  #futures-solution-popup .fsp__cta { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) { #futures-solution-popup .fsp__cta { transition: none; } }
