/* Mortgage landing — spacious, product-first and intentionally quiet. */
body { margin: 0; }

.mortgage-page {
  --mg-blue: #2d6bff;
  --mg-blue-deep: #174bd1;
  --mg-blue-soft: #eef4ff;
  --mg-ink: #191f28;
  --mg-sub: #6b7684;
  --mg-muted: #8b95a1;
  --mg-line: #e5e8eb;
  --mg-soft: #f7f8fa;
  min-height: 100dvh;
  overflow-x: hidden;
  color: var(--mg-ink);
  font-family: var(--b-font);
  word-break: keep-all;
}

.mortgage-page .lp-frame { overflow: hidden; }
.mortgage-page a { text-decoration: none; }
.mortgage-page button { font: inherit; }
.mortgage-page :is(a, button, summary) { touch-action: manipulation; }
.mortgage-page [id] { scroll-margin-top: 84px; }
.mortgage-page h1,
.mortgage-page h2,
.mortgage-page h3 { text-wrap: balance; }

.mg-eyebrow {
  margin: 0;
  color: var(--mg-blue);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: -0.01em;
}

.mg-hero {
  display: grid;
  gap: 44px;
  padding: 62px 22px 54px;
  background:
    radial-gradient(circle at 80% 28%, rgba(45, 107, 255, 0.1), transparent 34%),
    linear-gradient(180deg, #fff 0%, #fafbff 100%);
}

.mg-hero h1 {
  margin: 15px 0 0;
  color: var(--mg-ink);
  font-size: clamp(42px, 11.5vw, 58px);
  font-weight: 800;
  letter-spacing: -0.065em;
  line-height: 1.07;
}

.mg-hero--hub h1 span { color: var(--mg-blue); }

.mg-hero__lead {
  margin: 24px 0 0;
  color: var(--mg-sub);
  font-size: 17px;
  line-height: 1.65;
  letter-spacing: -0.025em;
}

.mg-hero__actions {
  display: flex;
  gap: 10px;
  margin-top: 30px;
}

.mg-btn {
  display: inline-flex;
  min-height: 54px;
  align-items: center;
  justify-content: center;
  padding: 0 21px;
  border: 1px solid transparent;
  border-radius: 17px;
  font-size: 14px;
  font-weight: 800;
  transition: transform 160ms ease, background-color 160ms ease, border-color 160ms ease;
}

.mg-btn--primary {
  flex: 1;
  background: var(--mg-blue);
  color: #fff;
  box-shadow: 0 14px 30px rgba(45, 107, 255, 0.22);
}
.mg-btn--primary:hover { background: var(--mg-blue-deep); transform: translateY(-1px); }
.mg-btn--quiet { flex: none; border-color: #dce2ea; background: #fff; color: #4e5968; }
.mg-btn--quiet:hover { border-color: #a9bfff; color: var(--mg-blue); }

.mg-micro { margin: 12px 0 0; color: var(--mg-muted); font-size: 11.5px; line-height: 1.5; }

/* Code-native apartment visual: one memorable object, not a second text panel. */
.mg-equity-stage {
  position: relative;
  isolation: isolate;
  min-height: 360px;
  overflow: hidden;
  border-radius: 34px;
  background: #e4edff;
  box-shadow: inset 0 0 0 1px rgba(45, 107, 255, 0.08);
}
.mg-equity-stage__photo {
  position: absolute;
  inset: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.mg-float-stat {
  position: absolute;
  z-index: 2;
  display: grid;
  min-width: 104px;
  padding: 14px 15px;
  border: 1px solid rgba(255, 255, 255, 0.9);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 16px 34px rgba(41, 65, 108, 0.14);
  backdrop-filter: blur(14px);
}
.mg-float-stat--first { top: 42px; left: 18px; }
.mg-float-stat--second { top: 121px; right: 16px; }
.mg-float-stat span { color: var(--mg-blue); font-size: 11px; font-weight: 800; }
.mg-float-stat strong { margin-top: 3px; font-family: 'Space Grotesk', var(--b-font); font-size: 31px; letter-spacing: -0.05em; }
.mg-float-stat small { margin-top: 1px; color: var(--mg-sub); font-size: 10px; }
.mg-equity-stage > p { position: absolute; right: 16px; bottom: 16px; left: 16px; margin: 0; padding: 10px 14px; border-radius: 14px; background: rgba(255, 255, 255, 0.9); backdrop-filter: blur(6px); color: #52627c; font-size: 12.5px; font-weight: 700; line-height: 1.5; text-align: center; }

.mg-facts {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: 4px 22px 0;
  border: 1px solid var(--mg-line);
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
}
.mg-facts div { padding: 22px 8px; text-align: center; }
.mg-facts div + div { border-left: 1px solid var(--mg-line); }
.mg-facts strong { display: block; font-size: 16px; letter-spacing: -0.03em; }
.mg-facts span { display: block; margin-top: 5px; color: var(--mg-muted); font-size: 10.5px; }


.mg-terms {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin: 0 22px;
  overflow: hidden;
  border: 1px solid var(--mg-line);
  border-radius: 20px;
  background: #fff;
}
.mg-terms div { display: grid; gap: 4px; padding: 17px; border-right: 1px solid var(--mg-line); border-bottom: 1px solid var(--mg-line); }
.mg-terms div:nth-child(2n) { border-right: 0; }
.mg-terms div:nth-child(n+3) { border-bottom: 0; }
.mg-terms span { color: var(--mg-muted); font-size: 10px; }
.mg-terms strong { font-size: 12px; font-variant-numeric: tabular-nums; }

.mg-cost-note {
  margin: 24px 22px 56px;
  padding: 14px 16px;
  border-radius: 15px;
  background: #fff8ec;
  color: #7a5520;
  font-size: 10.5px;
  line-height: 1.6;
  text-align: center;
}
.mg-cost-note--detail { margin-bottom: 0; }

.mg-section { padding: 94px 22px; }
.mg-section__head { max-width: 620px; margin: 0 auto; text-align: center; }
.mg-section__head > p { margin: 0; color: var(--mg-blue); font-size: 12px; font-weight: 800; }
.mg-section__head h2 { margin: 11px 0 0; font-size: 34px; line-height: 1.2; letter-spacing: -0.055em; }

.mg-selector { background: var(--mg-soft); }
.mg-selector__choices { display: grid; gap: 12px; margin-top: 36px; }
.mg-selector__choices button {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 12px;
  align-items: center;
  width: 100%;
  min-height: 78px;
  padding: 14px 16px;
  border: 1px solid var(--mg-line);
  border-radius: 21px;
  background: #fff;
  color: var(--mg-ink);
  text-align: left;
  cursor: pointer;
  transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}
.mg-selector__choices button:hover { transform: translateY(-2px); border-color: #b8c9f4; box-shadow: 0 12px 25px rgba(25, 31, 40, 0.05); }
.mg-selector__choices button[aria-pressed='true'] { border-color: var(--mg-blue); box-shadow: 0 0 0 3px rgba(45, 107, 255, 0.09); }
.mg-selector__choice-icon { display: grid; width: 45px; height: 45px; place-items: center; border-radius: 15px; background: var(--mg-blue-soft); color: var(--mg-blue); font-size: 10px; font-weight: 900; }
.mg-selector__choices strong { font-size: 14px; }
.mg-selector__choices small { color: var(--mg-blue); font-size: 11px; font-weight: 800; }
.mg-selector__result {
  display: grid;
  gap: 20px;
  margin-top: 14px;
  padding: 23px;
  border-radius: 22px;
  background: var(--mg-ink);
  color: #fff;
}
.mg-selector__result[hidden] { display: none; }
.mg-selector__result span { color: #9fbcff; font-size: 10.5px; font-weight: 800; }
.mg-selector__result h3 { margin: 6px 0 0; font-size: 20px; }
.mg-selector__result p { margin: 6px 0 0; color: #b8c0cc; font-size: 12px; line-height: 1.55; }
.mg-selector__result-actions { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.mg-selector__result-actions a { display: flex; min-height: 47px; align-items: center; justify-content: center; padding: 0 15px; border-radius: 14px; font-size: 12px; font-weight: 800; }
.mg-selector__result-actions a:first-child { background: var(--mg-blue); color: #fff; }
.mg-selector__result-actions a:last-child { border: 1px solid #4e5968; color: #d9dee5; }

.mg-trust-rail {
  display: grid;
  gap: 0;
  margin: 0 22px 70px;
  overflow: hidden;
  border: 1px solid var(--mg-line);
  border-radius: 24px;
  background: #fff;
}
.mg-trust-rail div { display: grid; grid-template-columns: 36px 1fr; gap: 1px 10px; padding: 17px 18px; border-bottom: 1px solid var(--mg-line); }
.mg-trust-rail div:last-child { border-bottom: 0; }
.mg-trust-rail span { grid-row: 1 / span 2; align-self: center; color: var(--mg-blue); font-family: 'Space Grotesk', var(--b-font); font-size: 11px; font-weight: 800; }
.mg-trust-rail strong { font-size: 13px; }
.mg-trust-rail small { color: var(--mg-muted); font-size: 10.5px; }

.mg-form { background: #f1f5ff; }
.mg-form .b-form-intro__title { letter-spacing: -0.045em; }
.mg-form .b-form-intro__desc { margin-bottom: 24px; }
.mg-form .b-form-intro__proof-item { color: #4e5968; }
.mg-form .b-form-card { border: 1px solid #dfe7f5; box-shadow: 0 18px 44px rgba(45, 107, 255, 0.1); }
.mg-form .b-form-card button[type='submit'] { background: var(--mg-blue); box-shadow: 0 10px 22px rgba(45, 107, 255, 0.22); }
.mg-form .b-form-card button[type='submit']:hover { background: var(--mg-blue-deep); }
.mg-form .b-form-card input:focus,
.mg-form .b-form-card select:focus { border-color: var(--mg-blue); }
.mg-form .mortgage-eligibility { border-color: #cfdcff; background: #f5f8ff; }
.mg-form .mortgage-eligibility legend { color: var(--mg-blue); }

/* Product detail: the hero owns the facts; everything else stays quiet. */
.mg-toplink { padding: 14px 22px 0; background: #fff; }
.mg-toplink a { display: inline-flex; padding: 8px 12px; border-radius: 99px; background: var(--mg-blue-soft); color: var(--mg-blue); font-size: 11.5px; font-weight: 800; }
.mg-hero--detail h1 { font-size: clamp(43px, 12vw, 62px); }
.mg-limit-orbit {
  display: grid;
  place-items: center;
  min-height: 370px;
  padding: 34px 22px 25px;
  border-radius: 34px;
  background: linear-gradient(155deg, #f7f9ff 0%, #e8efff 100%);
  text-align: center;
}
.mg-limit-orbit__ring {
  position: relative;
  display: grid;
  width: 222px;
  height: 222px;
  place-content: center;
  border-radius: 50%;
  background: conic-gradient(var(--mg-blue) 0 82%, rgba(45, 107, 255, 0.1) 82% 100%);
  box-shadow: 0 25px 55px rgba(45, 107, 255, 0.16);
}
.mg-detail--second .mg-limit-orbit__ring { background: conic-gradient(var(--mg-blue) 0 96%, rgba(45, 107, 255, 0.1) 96% 100%); }
.mg-limit-orbit__ring::after { position: absolute; inset: 13px; border-radius: 50%; background: #fff; content: ''; }
.mg-limit-orbit__ring > * { position: relative; z-index: 1; }
.mg-limit-orbit__ring span { color: var(--mg-blue); font-size: 12px; font-weight: 800; }
.mg-limit-orbit__ring strong { margin: 2px 0 -2px; font-family: 'Space Grotesk', var(--b-font); font-size: 59px; letter-spacing: -0.08em; }
.mg-limit-orbit__ring small { color: var(--mg-muted); font-size: 11px; }
.mg-limit-orbit__facts { display: grid; grid-template-columns: 1fr 1fr; width: 100%; margin-top: 26px; }
.mg-limit-orbit__facts span { display: grid; gap: 4px; padding: 0 8px; }
.mg-limit-orbit__facts span + span { border-left: 1px solid #cfd9ea; }
.mg-limit-orbit__facts small { color: var(--mg-muted); font-size: 10px; }
.mg-limit-orbit__facts strong { font-size: 12px; font-variant-numeric: tabular-nums; }
.mg-limit-orbit > p { max-width: 290px; margin: 18px 0 0; color: #80520a; font-size: 12px; line-height: 1.55; }
.mg-limit-orbit > p strong { font-weight: 900; }

.mg-fit { background: #fff; }
.mg-fit__items { display: grid; gap: 10px; margin-top: 38px; }
.mg-fit__items div { display: flex; min-height: 67px; align-items: center; gap: 16px; padding: 0 19px; border-radius: 19px; background: var(--mg-soft); }
.mg-fit__items span { color: var(--mg-blue); font-family: 'Space Grotesk', var(--b-font); font-size: 11px; font-weight: 800; }
.mg-fit__items strong { font-size: 14px; }

.mg-range { background: var(--mg-soft); }
.mg-range__rail { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 46px; }
.mg-range__rail::before { position: absolute; top: 8px; right: 10%; left: 10%; height: 2px; background: #d8e2f2; content: ''; }
.mg-range__rail div { position: relative; z-index: 1; display: grid; justify-items: center; min-width: 0; text-align: center; }
.mg-range__rail i { width: 18px; height: 18px; border: 5px solid var(--mg-blue-soft); border-radius: 50%; background: var(--mg-blue); box-shadow: 0 0 0 1px rgba(45, 107, 255, 0.12); }
.mg-range__rail strong { margin-top: 13px; font-size: 12px; }
.mg-range__rail small { margin-top: 3px; color: var(--mg-muted); font-size: 9.5px; }
.mg-range__caption { margin: 26px 0 0; color: var(--mg-sub); font-size: 11.5px; line-height: 1.55; text-align: center; }

.mg-detail .mg-trust-rail { margin-top: 70px; }

.mg-aftercare { padding: 50px 22px 76px; background: #fff; }
.mg-switch { display: grid; gap: 5px; padding: 24px; border-radius: 22px; background: var(--mg-ink); color: #fff; }
.mg-switch span { color: #9fbcff; font-size: 10.5px; font-weight: 800; }
.mg-switch strong { font-size: 17px; }
.mg-switch em { margin-top: 15px; color: #fff; font-size: 12px; font-style: normal; font-weight: 800; }
.mg-library { display: grid; gap: 10px; margin-top: 30px; }
.mg-conditions { overflow: hidden; border: 1px solid var(--mg-line); border-radius: 20px; background: #fff; }
.mg-conditions > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px; list-style: none; cursor: pointer; }
.mg-conditions > summary::-webkit-details-marker { display: none; }
.mg-conditions > summary::after { color: var(--mg-blue); content: '+'; font-size: 21px; font-weight: 500; }
.mg-conditions[open] > summary::after { content: '−'; }
.mg-conditions > summary span { font-size: 13px; font-weight: 800; }
.mg-conditions > summary small { margin-left: auto; color: var(--mg-muted); font-size: 10.5px; }
.mg-conditions__table { border-top: 1px solid var(--mg-line); }
.mg-conditions__table > div { display: grid; gap: 5px; padding: 15px 19px; border-bottom: 1px solid #f2f4f6; }
.mg-conditions__table > div:last-child { border-bottom: 0; }
.mg-conditions__table span { color: var(--mg-sub); font-size: 11px; }
.mg-conditions__table strong { overflow-wrap: anywhere; word-break: normal; font-size: 12px; font-weight: 600; line-height: 1.65; }
.mg-faq__list { border-top: 1px solid var(--mg-line); }
.mg-faq__list > details { border-bottom: 1px solid #f2f4f6; }
.mg-faq__list > details:last-child { border-bottom: 0; }
.mg-faq__list > details > summary { padding: 17px 19px; font-size: 12.5px; font-weight: 700; line-height: 1.5; cursor: pointer; }
.mg-faq__list p { margin: -3px 19px 18px; color: var(--mg-sub); font-size: 12px; line-height: 1.7; }

.mortgage-page :is(a, button, summary, input, select):focus-visible { outline: 3px solid rgba(45, 107, 255, 0.4); outline-offset: 3px; }

@media (max-width: 767px) {
  .mortgage-page .lp-sticky { position: fixed; right: 0; bottom: 0; left: 0; z-index: 200; }
  .mortgage-page .b-footer { padding-bottom: 96px; }
}

@media (min-width: 768px) {
  .mg-hero { grid-template-columns: minmax(0, 1fr) 420px; gap: 58px; align-items: center; padding: 88px 50px 82px; }
  .mg-hero h1 { font-size: 58px; }
  .mg-hero--detail h1 { font-size: 60px; }
  .mg-hero__lead { font-size: 18px; }
  .mg-hero__actions { width: max-content; }
  .mg-btn--primary { flex: none; }
  .mg-equity-stage { min-height: 430px; }
  .mg-float-stat--first { top: 50px; left: 28px; }
  .mg-float-stat--second { top: 145px; right: 25px; }
  .mg-facts strong { font-size: 19px; }
  .mg-facts span { font-size: 11px; }
  .mg-terms { grid-template-columns: repeat(4, 1fr); margin: 0 50px; }
  .mg-terms div,
  .mg-terms div:nth-child(2n),
  .mg-terms div:nth-child(n+3) { border-right: 1px solid var(--mg-line); border-bottom: 0; }
  .mg-terms div:last-child { border-right: 0; }
  .mg-cost-note { margin-right: 50px; margin-left: 50px; }
  .mg-section { padding: 110px 50px; }
  .mg-section__head h2 { font-size: 43px; }
  .mg-selector__choices { grid-template-columns: 1fr 1fr; }
  .mg-selector__result { grid-template-columns: 1fr auto; align-items: center; }
  .mg-trust-rail { grid-template-columns: repeat(3, 1fr); margin: 0 50px 90px; }
  .mg-trust-rail div { border-right: 1px solid var(--mg-line); border-bottom: 0; }
  .mg-trust-rail div:last-child { border-right: 0; }
  .mg-toplink { padding: 18px 50px 0; }
  .mg-limit-orbit { min-height: 430px; }
  .mg-fit__items { grid-template-columns: repeat(3, 1fr); }
  .mg-fit__items div { display: grid; min-height: 128px; justify-items: center; align-content: center; text-align: center; }
  .mg-fit__items strong { font-size: 15px; }
  .mg-range__rail { max-width: 680px; margin-right: auto; margin-left: auto; }
  .mg-range__rail strong { font-size: 13px; }
  .mg-detail .mg-trust-rail { margin-top: 90px; }
  .mg-aftercare { padding: 64px 50px 94px; }
  .mg-switch { grid-template-columns: auto 1fr auto; gap: 18px; align-items: center; }
  .mg-switch strong { font-size: 16px; }
  .mg-switch em { margin-top: 0; }
  .mg-conditions__table > div { grid-template-columns: 150px 1fr; gap: 20px; }
}

/* ─────────────────────────────────────────────────────────
   후킹 보강 블록 (B 톤) — pain · 후순위 spotlight · 상품요약 · 시나리오 · FAQ
   ───────────────────────────────────────────────────────── */
.mg-h2 { margin: 12px 0 0; color: var(--mg-ink); font-size: 27px; font-weight: 800; line-height: 1.36; letter-spacing: -0.03em; }
.mg-h2 span { color: var(--mg-blue); }

/* 히어로 안심 칩 */
.mg-assure { display: flex; flex-wrap: wrap; gap: 7px; margin: 22px 0 0; padding: 0; list-style: none; }
.mg-assure li { display: inline-flex; align-items: center; gap: 5px; padding: 6px 11px; border-radius: 99px; background: var(--mg-blue-soft); color: var(--mg-blue-deep); font-size: 11.5px; font-weight: 700; }
.mg-assure li::before { content: "✓"; font-weight: 900; }

/* 블록1 · Pain */
.mg-pain { padding: 64px 22px 8px; }
.mg-pain__list { margin: 22px 0 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.mg-pain__list li { position: relative; padding: 15px 16px 15px 42px; border-radius: 14px; background: var(--mg-soft); color: var(--mg-sub); font-size: 14px; line-height: 1.5; }
.mg-pain__list li::before { content: ""; position: absolute; left: 18px; top: 50%; width: 8px; height: 8px; margin-top: -4px; border-radius: 50%; background: var(--mg-blue); opacity: .4; }
.mg-pain__punch { margin: 22px 0 0; color: var(--mg-ink); font-size: 19px; font-weight: 800; letter-spacing: -0.03em; line-height: 1.4; }

/* 블록2 · 후순위 spotlight */
.mg-spotlight { margin: 56px 22px 0; padding: 40px 26px 30px; border-radius: 24px; background: linear-gradient(158deg, var(--mg-blue) 0%, var(--mg-blue-deep) 100%); color: #fff; text-align: center; }
.mg-spotlight__eyebrow { margin: 0; font-size: 13px; font-weight: 800; color: #cfe0ff; }
.mg-spotlight__title { margin: 10px 0 0; font-size: 30px; font-weight: 800; line-height: 1.25; letter-spacing: -0.03em; }
.mg-spotlight__title em { font-style: normal; font-size: 1.18em; }
.mg-spotlight__desc { margin: 16px auto 0; max-width: 30em; font-size: 14px; line-height: 1.7; color: #eaf1ff; }
.mg-spotlight .mg-btn--invert { display: inline-flex; align-items: center; justify-content: center; margin-top: 22px; padding: 0 26px; height: 52px; border-radius: 14px; background: #fff; color: var(--mg-blue-deep); font-weight: 800; font-size: 15.5px; transition: transform .2s; }
.mg-spotlight .mg-btn--invert:hover { transform: translateY(-1px); }
.mg-spotlight__fine { margin: 18px auto 0; max-width: 32em; font-size: 10.5px; line-height: 1.55; color: #c3d5ff; }

/* 블록5a · 상품 요약 2카드 */
.mg-lineup { padding: 64px 22px 8px; }
.mg-lineup__grid { display: grid; gap: 12px; margin-top: 24px; }
.mg-pcard { display: block; padding: 22px 20px; border: 1px solid var(--mg-line); border-radius: 18px; background: #fff; color: inherit; transition: transform .2s, border-color .2s, box-shadow .2s; }
.mg-pcard:hover { transform: translateY(-2px); border-color: var(--mg-blue-soft); box-shadow: 0 12px 30px rgba(45, 107, 255, .1); }
.mg-pcard--accent { border-color: var(--mg-blue-soft); background: linear-gradient(180deg, var(--mg-blue-soft), #fff 62%); }
.mg-pcard__tag { display: inline-block; padding: 4px 12px; border-radius: 99px; background: var(--mg-blue); color: #fff; font-size: 12px; font-weight: 800; }
.mg-pcard--accent .mg-pcard__tag { background: var(--mg-blue-deep); }
.mg-pcard__head { display: block; margin: 14px 0 0; font-size: 17px; font-weight: 800; letter-spacing: -0.02em; color: var(--mg-ink); }
.mg-pcard__specs { margin: 14px 0 0; padding: 0; list-style: none; display: grid; gap: 7px; }
.mg-pcard__specs li { display: flex; align-items: center; gap: 8px; font-size: 13.5px; font-weight: 600; color: var(--mg-sub); }
.mg-pcard__specs li::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: var(--mg-blue); flex: none; }
.mg-pcard__note { display: block; margin-top: 12px; padding-top: 12px; border-top: 1px dashed var(--mg-line); color: var(--mg-muted); font-size: 10.5px; line-height: 1.5; }
.mg-pcard__more { display: inline-block; margin-top: 14px; color: var(--mg-blue); font-size: 13px; font-weight: 800; }

/* 블록3 · 사용 시나리오 */
.mg-usecase { padding: 64px 22px 8px; }
.mg-usecase__grid { display: grid; gap: 10px; margin-top: 24px; }
.mg-usecase__grid div { padding: 20px 18px; border-radius: 16px; background: var(--mg-soft); }
.mg-usecase__grid strong { display: block; font-size: 16px; font-weight: 800; color: var(--mg-ink); }
.mg-usecase__grid p { margin: 7px 0 0; font-size: 13px; line-height: 1.55; color: var(--mg-sub); }

/* 블록5b · FAQ */
.mg-faq { padding: 64px 22px 44px; }
.mg-faq__list { margin-top: 24px; display: grid; gap: 10px; }
.mg-faq__item { border: 1px solid var(--mg-line); border-radius: 14px; background: #fff; overflow: hidden; }
.mg-faq__item summary { list-style: none; cursor: pointer; padding: 17px 44px 17px 18px; position: relative; font-size: 14.5px; font-weight: 700; color: var(--mg-ink); }
.mg-faq__item summary::-webkit-details-marker { display: none; }
.mg-faq__item summary::after { content: "+"; position: absolute; right: 18px; top: 50%; transform: translateY(-50%); font-size: 20px; font-weight: 400; color: var(--mg-blue); }
.mg-faq__item[open] summary::after { content: "−"; }
.mg-faq__item p { margin: 0; padding: 0 18px 18px; font-size: 13px; line-height: 1.7; color: var(--mg-sub); }

@media (min-width: 1024px) {
  .mg-h2 { font-size: 34px; }
  .mg-pain, .mg-lineup, .mg-usecase, .mg-faq { padding-left: 50px; padding-right: 50px; }
  .mg-pain { padding-top: 94px; }
  .mg-pain__list { grid-template-columns: 1fr 1fr; }
  .mg-spotlight { margin: 84px 50px 0; padding: 56px 48px; }
  .mg-spotlight__title { font-size: 42px; }
  .mg-lineup__grid { grid-template-columns: 1fr 1fr; gap: 16px; }
  .mg-usecase__grid { grid-template-columns: repeat(3, 1fr); }
  .mg-faq__list { max-width: 760px; margin-inline: auto; }
}

@media (prefers-reduced-motion: reduce) {
  .mg-btn,
  .mg-btn--invert,
  .mg-pcard,
  .mg-selector__choices button { transition: none; }
}
