:root {
  --ink: #071b44;
  --muted: #64708a;
  --blue: #0865f5;
  --signal-blue: #1687ff;
  --line: #dbe2ec;
  --paper: #fffdfa;
  --warm: #fff9f1;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: "Noto Sans KR Preview", Pretendard, "Noto Sans KR", Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
button { font: inherit; }
.site-header { position: relative; z-index: 20; background: rgba(255, 255, 255, .97); border-bottom: 1px solid #ece8e2; }
.header-inner { width: min(808px, calc(100% - 40px)); height: 64px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; }
.brand { display: block; width: 222px; height: auto; }
.header-actions { display: flex; gap: 16px; }
.header-button { min-height: 40px; padding: 0 16px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; color: var(--ink); background: #fff; border: 1px solid #d7dfea; border-radius: 10px; cursor: pointer; }
.header-button:focus-visible, button:focus-visible { outline: 3px solid rgba(8, 101, 245, .25); outline-offset: 3px; }
.chevron-icon { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.help-button svg { width: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.partner-strip { height: 42px; display: flex; align-items: center; justify-content: center; gap: 14px; font-size: 14px; background: #fffdf9; }
.partner-strip svg { width: 22px; fill: none; stroke: var(--blue); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.divider { width: 1px; height: 18px; background: #98a3b6; }

main { position: relative; overflow: hidden; padding-bottom: 28px; background-color: var(--paper); }
.signal-journey { position: absolute; z-index: 3; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.signal-core, .signal-glow { fill: none; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; transition: opacity .25s ease, stroke .25s ease; }
.signal-core { stroke: var(--signal-blue); stroke-width: 1.8; opacity: .52; }
.signal-glow { stroke: #79caff; stroke-width: 8; opacity: .14; }
.signal-start-dot, .signal-target-dot { vector-effect: non-scaling-stroke; fill: #fff; stroke: var(--signal-blue); stroke-width: 1.7; opacity: .72; transition: cx .28s ease, cy .28s ease, opacity .25s ease; }
main.journey-focus .signal-core { opacity: .72; }
main.journey-focus .signal-glow { opacity: .16; }
main.journey-active .signal-core { stroke: #007bff; opacity: .96; }
main.journey-active .signal-glow { opacity: .18; }
main.journey-active .signal-target-dot { opacity: 1; }

.hero { position: relative; z-index: 2; padding: 8px 20px 12px; text-align: center; background-color: var(--warm); }
.hero-010 { display: block; width: min(750px, 94vw); height: 265px; object-fit: cover; object-position: 50% 50%; margin: 0 auto -12px; }
.hero-copy { position: relative; z-index: 4; }
main.journey-selected .signal-core { opacity: .66; }
main.journey-selected .signal-glow { opacity: .15; }
.hero h1 { margin: 0; font-size: clamp(31px, 4.2vw, 42px); line-height: 1.05; letter-spacing: -1.7px; }
.hero-kicker { margin: 7px 0 8px; font-size: 22px; font-weight: 750; line-height: 1.25; letter-spacing: -.7px; }
.hero-description { margin: 0 0 12px; font-size: 17px; line-height: 1.42; }
.primary-cta { width: min(364px, 90vw); height: 53px; border: 0; border-radius: 28px; color: #fff; background: var(--blue); box-shadow: 0 10px 22px rgba(8, 70, 170, .18); font-size: 20px; font-weight: 750; cursor: pointer; }
.primary-cta span { float: right; margin-right: 22px; font-size: 29px; line-height: .6; }
.text-cta { display: block; margin: 6px auto 0; border: 0; color: var(--blue); background: transparent; font-weight: 700; cursor: pointer; }

.plans, .quick-check { position: relative; z-index: 4; width: min(808px, calc(100% - 40px)); margin: 0 auto; }
.plans { padding-top: 15px; }
.section-heading h2 { margin: 0; font-size: 23px; line-height: 1.16; letter-spacing: -.7px; }
.section-heading p { margin: 3px 0 9px; color: var(--muted); font-size: 12px; line-height: 1.4; }
.plan-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 8px; }
.plan-card { position: relative; height: 195px; overflow: hidden; border: 1px solid #d6dde8; border-radius: 19px; background: #fff; box-shadow: 0 8px 16px rgba(13, 32, 65, .09); cursor: pointer; isolation: isolate; transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease; }
.plan-card:hover, .plan-card:focus-within { transform: translateY(-3px); box-shadow: 0 13px 24px rgba(13, 32, 65, .15); }
.plan-card.selected { border: 2px solid var(--blue); box-shadow: 0 12px 26px rgba(8, 101, 245, .17); }
.plan-photo { position: absolute; inset: 0; z-index: -4; width: 100%; height: 100%; object-fit: cover; object-position: 68% 50%; filter: saturate(.98) contrast(.98); transition: transform .42s ease, filter .42s ease; }
.plan-card[data-plan="EASY_XL"] .plan-photo { object-position: 64% 48%; }
.plan-card[data-plan="EASY_L"] .plan-photo { object-position: 62% 52%; }
.plan-card[data-plan="EASY_M"] .plan-photo { object-position: 59% 52%; }
.plan-card[data-plan="EASY_S"] .plan-photo { object-position: 72% 54%; }
.plan-card:hover .plan-photo, .plan-card.revealed .plan-photo { transform: scale(1.035); filter: saturate(1.08) contrast(1.04); }
.plan-card.selected .plan-photo { transform: scale(1.025); filter: saturate(1.12) contrast(1.07); }
.mist { position: absolute; inset: 0; z-index: -2; pointer-events: none; transform-origin: left center; transition: opacity .34s ease, transform .42s ease; }
.mist-radial { background: radial-gradient(ellipse 72% 132% at 9% 50%, rgba(255,255,255,.97) 0%, rgba(255,255,255,.95) 39%, rgba(255,255,255,.73) 56%, rgba(255,255,255,.16) 76%, rgba(255,255,255,0) 100%); opacity: .96; }
.mist-veil { background: linear-gradient(90deg, rgba(255,255,255,.94) 0%, rgba(255,255,255,.88) 43%, rgba(255,255,255,.42) 58%, rgba(255,255,255,.09) 72%, rgba(255,255,255,0) 84%); opacity: .74; }
.plan-card:hover .mist-radial, .plan-card.revealed .mist-radial { opacity: .82; transform: translateX(-7%) scaleX(.94); }
.plan-card:hover .mist-veil, .plan-card.revealed .mist-veil { opacity: .60; transform: translateX(-9%) scaleX(.92); }
.plan-card.selected .mist-radial { opacity: .76; transform: translateX(-9%) scaleX(.92); }
.plan-card.selected .mist-veil { opacity: .52; transform: translateX(-11%) scaleX(.90); }
.plan-content { position: relative; z-index: 1; width: 62%; height: 100%; padding: 15px 0 11px 18px; }
.badge { display: inline-flex; margin-bottom: 5px; padding: 2px 7px; color: var(--blue); background: #eef5ff; border-radius: 10px; font-size: 10px; line-height: 1.3; font-weight: 800; }
.plan-content h3 { margin: 0; font-size: 22px; line-height: 1.16; }
.price { margin: 3px 0 7px; color: var(--blue); font-size: 21px; line-height: 1.2; font-weight: 850; letter-spacing: -.6px; }
.plan-detail { margin: 3px 0; font-size: 13px; line-height: 1.35; }
.plan-cta { position: absolute; left: 18px; bottom: 10px; min-height: 44px; margin: 0; padding: 0; color: var(--blue); background: transparent; border: 0; font-weight: 800; cursor: pointer; opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(5px); transition: opacity .2s ease-out, visibility .2s ease-out, transform .2s ease-out; }
.plan-card:hover .plan-cta, .plan-card:focus-within .plan-cta, .plan-card.selected .plan-cta { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); }
.selected-mark { position: absolute; z-index: 3; top: 8px; right: 8px; width: 30px; height: 30px; display: none; place-items: center; color: #fff; background: var(--blue); border-radius: 50%; box-shadow: 0 3px 9px rgba(0, 55, 150, .25); }
.selected-mark svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.selected .selected-mark { display: grid; }
.plan-status-row { display: flex; align-items: center; justify-content: space-between; min-height: 35px; font-size: 13px; }
.selected-plan { display: inline-flex; align-items: center; gap: 8px; margin: 0; }
.status-check { display: inline-grid; place-items: center; width: 18px; height: 18px; color: #fff; background: var(--blue); border-radius: 50%; }
.status-check svg { width: 12px; height: 12px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.feedback { padding: 5px; border: 0; border-bottom: 1px solid #7b8497; color: #657088; background: transparent; cursor: pointer; }

.quick-check { padding-top: 12px; scroll-margin-top: 20px; }
.quick-header { display: grid; grid-template-columns: 245px 1fr; align-items: center; gap: 14px; }
.quick-header h2 { margin: 0; color: var(--blue); font-size: 17px; line-height: 1.2; }
.steps { display: flex; align-items: center; justify-content: space-between; margin: 0; padding: 0; list-style: none; counter-reset: none; }
.steps li { position: relative; z-index: 1; display: grid; place-items: center; width: 27px; height: 27px; color: #fff; background: #aeb7c7; border-radius: 50%; font-size: 13px; font-weight: 800; }
.steps li:not(:last-child)::after { content: ""; position: absolute; z-index: -1; left: 27px; top: 13px; width: calc((808px - 245px - 14px - 108px) / 3); border-top: 1px dashed #b9c2d0; }
.steps li.active { background: var(--blue); box-shadow: 0 0 0 4px rgba(8, 101, 245, .09); }
.quick-panel { margin-top: 8px; padding: 13px 20px 11px; background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 8px 18px rgba(16, 36, 70, .1); }
.quick-panel fieldset { display: grid; grid-template-columns: 1fr 385px; align-items: center; gap: 20px; margin: 0; padding: 0; border: 0; }
.quick-panel legend { display: contents; font-size: 20px; font-weight: 800; letter-spacing: -.5px; }
.quick-options { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.answer { min-height: 48px; color: #fff; background: var(--blue); border: 2px solid var(--blue); border-radius: 10px; font-weight: 800; cursor: pointer; }
.answer.secondary { color: var(--blue); background: #fff; }
.answer.selected { color: #fff; background: var(--blue); box-shadow: 0 0 0 4px rgba(8, 101, 245, .12); }
.answer-status { min-height: 16px; margin: 5px 0 0; color: var(--blue); text-align: right; font-size: 12px; font-weight: 700; }

@media (max-width: 680px) {
  .header-inner { width: calc(100% - 20px); min-height: 58px; height: auto; }
  .brand { width: 120px; }
  .header-actions { gap: 6px; }
  .header-button { min-height: 44px; padding: 0 9px; gap: 5px; border-radius: 8px; font-size: 12px; }
  .chevron-icon { width: 11px; height: 11px; }
  .help-button svg { width: 14px; }
  .partner-strip { height: 32px; padding: 0 8px; gap: 7px; font-size: 10px; white-space: nowrap; }
  .partner-strip svg { width: 14px; }
  .divider { height: 12px; }

  main { padding-bottom: 20px; }
  .hero { padding: 4px 10px 12px; }
  .hero-010 { width: 360px; max-width: 96vw; height: 156px; margin: 0 auto -7px; transform: none; }
  .hero h1 { font-size: 24px; line-height: 1.08; letter-spacing: -1px; }
  .hero-kicker { margin: 5px 0 5px; font-size: 14px; line-height: 1.3; letter-spacing: -.35px; }
  .hero-description { margin: 0 0 9px; font-size: 12px; line-height: 1.45; }
  .primary-cta { width: min(290px, 88vw); min-height: 48px; height: auto; border-radius: 25px; font-size: 14px; box-shadow: 0 7px 16px rgba(8, 70, 170, .17); }
  .primary-cta span { margin-right: 15px; font-size: 21px; line-height: .7; }
  .text-cta { min-height: 44px; margin-top: 1px; font-size: 12px; }

  .plans, .quick-check { width: calc(100% - 24px); }
  .plans { padding-top: 14px; }
  .section-heading h2 { font-size: 18px; line-height: 1.2; letter-spacing: -.45px; }
  .section-heading p { margin: 3px 0 9px; font-size: 11px; line-height: 1.4; }
  .plan-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 8px; }
  .plan-card { height: auto; min-height: 144px; align-self: start; border-radius: 13px; box-shadow: 0 6px 13px rgba(13, 32, 65, .1); transition: min-height 310ms ease-out, transform 100ms ease-out, border-color .22s ease, box-shadow .22s ease; }
  .plan-card:hover, .plan-card:focus-within { transform: none; }
  .plan-card:active { transform: scale(.985); }
  .plan-card.selected { border-width: 1.5px; }
  .plan-card.selected { min-height: 210px; }
  .plan-content { position: absolute; inset: 0 auto 0 0; width: 86%; height: auto; padding: 11px 0 60px 11px; }
  .badge { margin-bottom: 3px; padding: 2px 5px; border-radius: 7px; font-size: 8px; }
  .plan-content h3 { font-size: 15px; line-height: 1.15; }
  .price { margin: 3px 0 5px; font-size: 16px; line-height: 1.16; letter-spacing: -.35px; white-space: nowrap; }
  .plan-detail { margin: 2px 0; font-size: 10.5px; line-height: 1.35; }
  .plan-cta { left: 11px; bottom: 8px; max-width: calc(100% - 18px); min-height: 44px; font-size: 12px; line-height: 1.2; white-space: nowrap; }
  .plan-card:not(.selected) .plan-cta { opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(5px); }
  .plan-card.selected .plan-cta { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); }
  .plan-card.selected .mist-radial { opacity: .89; transform: translateX(-4%) scaleX(.97); }
  .plan-card.selected .mist-veil { opacity: .67; transform: translateX(-5%) scaleX(.95); }
  .selected-mark { top: 6px; right: 6px; width: 22px; height: 22px; }
  .selected-mark svg { width: 12px; height: 12px; }
  .plan-status-row { min-height: 36px; font-size: 11px; }
  .selected-plan { gap: 6px; }
  .status-check { width: 16px; height: 16px; }
  .status-check svg { width: 10px; height: 10px; }
  .feedback { min-height: 44px; padding: 4px; font-size: 11px; }

  .quick-check { padding-top: 8px; scroll-margin-top: 12px; }
  .quick-header { grid-template-columns: 142px 1fr; gap: 8px; }
  .quick-header h2 { font-size: 13px; }
  .steps li { width: 22px; height: 22px; font-size: 10px; }
  .steps li:not(:last-child)::after { left: 22px; top: 11px; width: calc((100vw - 24px - 142px - 8px - 88px) / 3); }
  .quick-panel { margin-top: 7px; padding: 12px; border-radius: 13px; box-shadow: 0 5px 12px rgba(16, 36, 70, .1); }
  .quick-panel fieldset { display: block; }
  .quick-panel legend { display: block; margin-bottom: 10px; font-size: 16px; letter-spacing: -.3px; }
  .quick-options { grid-template-columns: 1fr 1fr; gap: 8px; }
  .answer { min-height: 48px; border-width: 1px; border-radius: 8px; font-size: 14px; }
  .answer-status { min-height: 16px; margin-top: 4px; font-size: 11px; }
}

@media (max-width: 359px) {
  .brand { width: 104px; }
  .header-button { padding-inline: 7px; }
  .plan-grid { grid-template-columns: minmax(0, 1fr); }
  .plan-content { width: 67%; }
}

@media (hover: none) and (pointer: coarse) {
  .plan-card:not(.selected) .plan-cta { opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(5px); }
  .plan-card.selected .plan-cta { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* Phase 2: the journey below the frozen Phase 1 surface. */
.quick-panel fieldset { transition: opacity 150ms ease, transform 150ms ease; }
.quick-panel.is-transitioning fieldset { opacity: 0; transform: translateY(-14px); }
.quick-panel.step-enter fieldset { animation: quick-step-enter 180ms ease-out; }
@keyframes quick-step-enter { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
.quick-panel.is-result fieldset { display: none; }
.steps li.completed { background: #5d91f7; }
.quick-options.form-options { grid-template-columns: minmax(0, 1fr); gap: 9px; }
.quick-options.with-back .quick-back.wide { grid-column: 1 / -1; }
.quick-control-label { color: var(--ink); font-size: 12px; font-weight: 800; }
.quick-control { width: 100%; min-height: 48px; padding: 0 13px; color: var(--ink); background: #fff; border: 1px solid #cbd5e4; border-radius: 10px; font: inherit; }
.quick-control:focus-visible { outline: 3px solid rgba(8, 101, 245, .25); outline-offset: 3px; }
.quick-control-note { margin: -2px 0 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
.quick-navigation { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.quick-back, .quick-next { min-height: 44px; border: 1px solid var(--blue); border-radius: 10px; color: var(--blue); background: #fff; font-weight: 800; cursor: pointer; }
.quick-next { color: #fff; background: var(--blue); }
.quick-result-inline { min-height: 78px; padding: 5px 2px 2px; }
.quick-result-inline strong { display: block; color: var(--ink); font-size: 18px; }
.quick-result-inline p { margin: 4px 0 9px; color: var(--muted); font-size: 13px; line-height: 1.45; }
.quick-result-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.quick-result-inline button { min-height: 44px; padding: 0 18px; border: 1px solid var(--blue); border-radius: 10px; color: #fff; background: var(--blue); font-weight: 800; cursor: pointer; }
.quick-result-inline button.secondary { color: var(--blue); background: #fff; }

.journey-section { position: relative; z-index: 4; width: min(808px, calc(100% - 40px)); margin: 0 auto; }
.journey-anchor { position: absolute; z-index: 5; width: 10px; height: 10px; border: 2px solid var(--signal-blue); border-radius: 50%; background: #fff; box-shadow: 0 0 0 5px rgba(22, 135, 255, .1); pointer-events: none; }
.ready-section { padding-top: 28px; }
.ready-section .journey-anchor { top: 20px; left: -16px; }
.ready-layout { display: grid; grid-template-columns: 210px minmax(0, 1fr); align-items: start; gap: 24px; }
.journey-section-heading { padding-top: 9px; }
.section-kicker { margin: 0 0 5px; color: var(--blue); font-size: 11px; font-weight: 850; letter-spacing: .08em; }
.journey-section-heading h2 { margin: 0; font-size: 24px; line-height: 1.18; letter-spacing: -.7px; }
.journey-section-heading > p:last-child { margin: 6px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.ready-card { overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: rgba(255,255,255,.96); box-shadow: 0 8px 18px rgba(16, 36, 70, .09); }
.ready-row { min-height: 54px; display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 8px 16px; border-bottom: 1px solid #edf0f5; }
.ready-row > div { min-width: 0; }
.ready-row strong, .ready-row span { display: block; }
.ready-row strong { font-size: 13px; line-height: 1.3; }
.ready-row > div span { margin-top: 2px; color: var(--muted); font-size: 11px; line-height: 1.35; }
.ready-icon { width: 22px; height: 22px; display: grid; place-items: center; color: #fff; background: var(--blue); border-radius: 50%; }
.ready-icon svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ready-row.pending .ready-icon { color: #7b879c; background: #edf1f6; }
.ready-row.check-required .ready-icon { color: #8b5b00; background: #fff3d7; }
.ready-row.check-required .ready-icon svg { display: none; }
.ready-row.check-required .ready-icon::after { content: "확인"; font-size: 7px; font-weight: 900; }
.ready-state { color: var(--blue); font-size: 10px; white-space: nowrap; }
.ready-row.check-required .ready-state { color: #855a0b; }
.readiness-summary { margin: 0; padding: 10px 16px; color: var(--ink); background: #f6f9ff; font-size: 11px; font-weight: 750; line-height: 1.45; }
.ready-section.activated .ready-row { animation: ready-row-in 240ms ease-out both; }
.ready-section.activated .ready-row:nth-child(2) { animation-delay: 70ms; }
.ready-section.activated .ready-row:nth-child(3) { animation-delay: 140ms; }
.ready-section.activated .ready-row:nth-child(4) { animation-delay: 210ms; }
@keyframes ready-row-in { from { opacity: .7; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }

.language-section { padding: 26px 0 24px; }
.language-section .journey-anchor { top: 12px; right: -16px; }
.language-layout { display: grid; grid-template-columns: 210px minmax(0, 1fr); align-items: end; gap: 24px; padding-top: 15px; border-top: 1px solid var(--line); }
.journey-section-heading.compact { padding-top: 0; }
.language-controls { min-width: 0; }
.language-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.language-choice { min-height: 44px; padding: 0 10px; border: 1px solid #d2dae7; border-radius: 22px; color: #40506c; background: #fff; font-size: 12px; font-weight: 750; cursor: pointer; white-space: nowrap; }
.language-choice.selected { color: #fff; border-color: var(--blue); background: var(--blue); box-shadow: 0 5px 12px rgba(8, 101, 245, .16); }
.language-support-cta { width: 100%; min-height: 46px; margin-top: 10px; border: 1px solid var(--blue); border-radius: 11px; color: var(--blue); background: #fff; font-size: 13px; font-weight: 800; cursor: pointer; }
.language-support-cta span { margin-left: 8px; }
.language-choice[data-language="zh"],
html[data-language="zh"] #languageLabel,
html[data-language="zh"] #languageSupportCta,
html[data-language="zh"] #finalPrimary,
html[data-language="zh"] #finalSecondary,
html[data-language="zh"] #finalActionStatus {
  font-family: "Noto Sans CJK SC Preview", "Noto Sans SC", sans-serif;
}

.final-connect { min-height: 248px; display: grid; grid-template-columns: 44% 56%; align-items: center; overflow: hidden; margin-bottom: 8px; padding: 24px 30px; border-radius: 24px; color: #fff; background: #06255c; box-shadow: 0 16px 34px rgba(3, 29, 76, .24); isolation: isolate; }
.final-connect .journey-anchor { top: 20px; left: calc(50% - 5px); }
.final-city, .final-overlay { position: absolute; inset: 0; z-index: -3; width: 100%; height: 100%; }
.final-city { object-fit: cover; object-position: 68% 54%; filter: saturate(1.08) contrast(1.05); }
.final-overlay { z-index: -2; background: rgba(2, 23, 67, .58); }
.final-number { color: transparent; font-size: clamp(104px, 14vw, 154px); font-weight: 900; line-height: .9; letter-spacing: -.09em; -webkit-text-stroke: 2px #8fd5ff; text-shadow: 0 0 15px rgba(41, 155, 255, .82), 0 0 34px rgba(41, 155, 255, .58); opacity: .86; }
.final-copy { position: relative; z-index: 1; }
.final-copy .section-kicker { color: #9fd9ff; }
.final-copy h2 { margin: 0; font-size: 28px; line-height: 1.28; letter-spacing: -.8px; }
.final-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 17px; }
.final-cta { min-height: 48px; padding: 0 14px; border: 1px solid #fff; border-radius: 10px; font-size: 13px; font-weight: 850; cursor: pointer; }
.final-cta.primary { color: #fff; border-color: var(--blue); background: var(--blue); }
.final-cta.secondary { color: var(--ink); background: #fff; }
.final-status { min-height: 17px; margin: 6px 0 0; color: #d7ebff; font-size: 10px; line-height: 1.4; }
.final-connect.connected .final-number { animation: final-connect-once 900ms ease-out 1 both; }
@keyframes final-connect-once { 0% { opacity: .45; text-shadow: 0 0 4px rgba(41, 155, 255, .24); } 55% { opacity: 1; text-shadow: 0 0 22px rgba(105, 198, 255, .95), 0 0 44px rgba(41, 155, 255, .72); } 100% { opacity: .9; } }

@media (max-width: 680px) {
  .quick-panel.is-transitioning fieldset { transform: translateY(-12px); }
  .quick-options.form-options { grid-template-columns: minmax(0, 1fr); }
  .quick-control { font-size: 14px; }
  .quick-result-inline strong { font-size: 16px; }
  .quick-result-inline p { font-size: 11px; }
  .journey-section { width: calc(100% - 24px); }
  .ready-section { padding-top: 22px; }
  .ready-layout, .language-layout { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .journey-section-heading { padding: 0 4px; }
  .journey-section-heading h2 { font-size: 21px; }
  .journey-section-heading > p:last-child { margin-top: 4px; font-size: 11px; }
  .ready-section .journey-anchor { top: 8px; left: -16px; }
  .ready-card { border-radius: 14px; }
  .ready-row { min-height: 56px; grid-template-columns: 22px minmax(0, 1fr) auto; gap: 8px; padding: 8px 11px; }
  .ready-row strong { font-size: 12px; }
  .ready-row > div span { font-size: 10px; }
  .ready-icon { width: 20px; height: 20px; }
  .ready-state { max-width: 86px; font-size: 9px; text-align: right; white-space: normal; }
  .readiness-summary { padding: 9px 11px; font-size: 10px; }
  .language-section { padding: 22px 0 18px; }
  .language-section .journey-anchor { top: 8px; right: -16px; }
  .language-layout { padding-top: 12px; }
  .language-strip { gap: 5px; }
  .language-choice { min-height: 44px; padding: 0 5px; font-size: 10px; }
  .language-support-cta { min-height: 46px; font-size: 12px; }
  .final-connect { min-height: 318px; grid-template-columns: minmax(0, 1fr); align-content: end; padding: 23px 20px 18px; border-radius: 18px; }
  .final-connect .journey-anchor { top: 14px; }
  .final-number { align-self: center; justify-self: center; margin-bottom: 18px; font-size: 112px; }
  .final-copy { text-align: center; }
  .final-copy h2 { font-size: 23px; }
  .final-actions { grid-template-columns: minmax(0, 1fr); gap: 8px; margin-top: 13px; }
  .final-cta { min-height: 48px; }
}

@media (max-width: 359px) {
  .language-strip { grid-template-columns: 1fr 1fr; }
  .ready-row { grid-template-columns: 20px minmax(0, 1fr); }
  .ready-state { grid-column: 2; max-width: none; text-align: left; }
  .final-connect { padding-inline: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  .final-connect.connected .final-number { animation: none; opacity: .9; }
}
