:root {
  color-scheme: light;
  --flow-ink: #122b3f;
  --flow-muted: #566b7d;
  --flow-line: #dce5eb;
  --flow-surface: #fff;
  --flow-canvas: #f3f6f8;
  --flow-blue: #126b83;
  --flow-blue-dark: #0c536d;
  --flow-soft: #e9f4f5;
  font-family: Inter, "Noto Sans KR", "Apple SD Gothic Neo", system-ui, sans-serif;
  color: var(--flow-ink);
  background: var(--flow-canvas);
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

html { scroll-behavior: smooth; scroll-padding-top: 120px; background: var(--flow-canvas); }
body { min-width: 320px; margin: 0; background: var(--flow-canvas); color: var(--flow-ink); line-height: 1.65; }
body, button, input, textarea, select { font-family: inherit; }
body::before,body::after { display: none; }
button, a, input, summary { -webkit-tap-highlight-color: transparent; }
a { color: var(--flow-blue-dark); text-underline-offset: 3px; }
a:focus-visible, button:focus-visible, input:focus-visible, summary:focus-visible { outline: 3px solid #70c5cf !important; outline-offset: 3px; }
.site-shell { width: min(1120px, calc(100% - 40px)); margin-inline: auto; overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.site-shell::before,.site-shell::after { display: none; }
.topbar { position: sticky; top: 0; z-index: 40; display: flex; min-height: 68px; align-items: center; justify-content: space-between; gap: 18px; padding: 10px clamp(0px, 1vw, 12px); border-bottom: 1px solid #dce5eb; background: #ffffffed; backdrop-filter: blur(16px); }
.brand { display: inline-flex; align-items: center; gap: 11px; color: var(--flow-ink); text-decoration: none; }
.brand-name { font-size: 22px; font-weight: 900; letter-spacing: -.055em; }
.brand-name span { color: var(--flow-blue); }
.brand-sub { display: inline-block; color: var(--flow-muted); font-size: 12px; font-weight: 650; letter-spacing: -.02em; }
.header-help { display: inline-flex; min-height: 42px; align-items: center; justify-content: center; padding: 0 13px; border: 1px solid var(--flow-line); border-radius: 999px; background: #fff; color: var(--flow-ink); font-size: 13px; font-weight: 700; text-decoration: none; }
main { padding-bottom: 36px; }
.hero { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(230px, .56fr); align-items: center; gap: clamp(20px, 4vw, 54px); min-height: 330px; margin: 22px 0 20px; padding: clamp(25px, 5vw, 54px); overflow: hidden; border: 1px solid var(--flow-line); border-radius: 25px; background: linear-gradient(135deg, #fff 0%, #fff 66%, #edf6f6 100%); box-shadow: 0 12px 32px #152f4308; }
.hero-copy { position: relative; z-index: 2; max-width: 650px; }
.eyebrow { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 12px; color: var(--flow-blue-dark); font-size: 13px; font-weight: 800; letter-spacing: -.015em; }
.eyebrow .point { width: 8px; height: 8px; border-radius: 50%; background: #1a9a8b; box-shadow: none; }
.hero h1 { margin: 0; color: #102b40; font-size: clamp(32px, 4.4vw, 54px); font-weight: 850; letter-spacing: -.065em; line-height: 1.18; word-break: keep-all; white-space: normal; text-shadow: none; }
.hero-intro { max-width: 620px; margin: 15px 0 0; color: var(--flow-muted); font-size: clamp(15px, 1.5vw, 18px); line-height: 1.7; word-break: keep-all; }
.hero-offer { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px 13px; margin: 14px 0 0; color: var(--flow-blue-dark); font-size: 15px; }
.hero-offer strong { font-size: 17px; letter-spacing: -.035em; }
.hero-offer a { font-size: 13px; font-weight: 700; }
.terms-hint,.hero-caveat { margin: 9px 0 0; color: var(--flow-muted); font-size: 12px; line-height: 1.65; word-break: keep-all; }
.cta-main { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; gap: 9px; margin-top: 19px; padding: 0 19px; border: 0; border-radius: 12px; background: var(--flow-blue-dark); box-shadow: none; color: #fff; font-size: 15px; font-weight: 800; text-decoration: none; cursor: pointer; }
.cta-main:hover { background: #08435a; transform: translateY(-1px); }
.cta-main svg { width: 19px; height: 19px; }
.hero-art { position: relative; width: 100%; max-width: 340px; aspect-ratio: 1.12; justify-self: end; transform: scale(.76); transform-origin: center; }
.hero-art::before { content: ""; position: absolute; inset: 12%; border-radius: 50%; background: radial-gradient(circle, #d9eeee 0%, #edf6f6 48%, transparent 72%); filter: none; }
.hero-art .sim-image { filter: drop-shadow(0 14px 18px #23495922); }
.hero-art .holo-ring { border-color: #5e9fae55; box-shadow: none; }
.hero-art .spark { box-shadow: none; }
.hero-art .hero-badges { display: none; }
.slogan { display: none; }
.content { width: min(900px, 100%); margin: 0 auto; }
.content > section { margin: 18px 0; padding: clamp(20px, 3.4vw, 34px); border: 1px solid var(--flow-line); border-radius: 22px; background: var(--flow-surface); box-shadow: 0 10px 28px #17344a08; scroll-margin-top: 120px; }
.steps-heading,.content > section > h2,.application-head h2,.section-head h2 { margin: 0; color: #132f44; font-size: clamp(22px, 3vw, 30px); font-weight: 830; letter-spacing: -.05em; line-height: 1.35; word-break: keep-all; }
.section-intro { margin: 8px 0 20px; color: var(--flow-muted); font-size: 14px; line-height: 1.65; word-break: keep-all; }
.steps-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.step { display: flex; min-height: 190px; gap: 12px; align-items: flex-start; padding: 18px; border: 1px solid var(--flow-line); border-radius: 16px; background: #fff; box-shadow: none; }
.step-icon { display: grid; flex: 0 0 38px; width: 38px; height: 38px; place-items: center; border-radius: 12px; background: var(--flow-soft); color: var(--flow-blue-dark); }
.step-icon svg { width: 23px; height: 23px; stroke: currentColor; fill: none; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.step h3 { margin: 1px 0 7px; color: #17354a; font-size: 15px; font-weight: 800; letter-spacing: -.035em; line-height: 1.4; }
.step p { margin: 0; color: var(--flow-muted); font-size: 13px; line-height: 1.65; word-break: keep-all; }
.step-action { display: flex; width: fit-content; max-width: 100%; min-height: 40px; align-items: center; margin-top: 10px; padding-inline: 4px; white-space: nowrap; font-size: 13px; font-weight: 800; letter-spacing: -.035em; }
.step-action + .step-action { margin-top: 6px; }
.flow-note { margin: 14px 0 0; padding: 12px 14px; border-radius: 12px; background: #f3f7f9; color: var(--flow-muted); font-size: 13px; line-height: 1.6; word-break: keep-all; }
.application { scroll-margin-top: 132px; }
.application-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.application-head p { margin: 8px 0 0; color: var(--flow-muted); font-size: 14px; line-height: 1.65; word-break: keep-all; }
.application-kicker { display: block; margin: 0 0 5px; color: var(--flow-blue); font-size: 12px; font-weight: 800; }
.start-status { flex: 0 0 auto; padding: 5px 10px; border-radius: 999px; background: var(--flow-soft); color: var(--flow-blue-dark); font-size: 12px; font-weight: 750; }
.application-reminder { margin: 16px 0 0; color: var(--flow-muted); font-size: 13px; line-height: 1.6; }
.application-form-content { margin-top: 19px; padding-top: 18px; border-top: 1px solid var(--flow-line); }
.contact-route-note { margin: 0 0 14px; color: var(--flow-muted); font-size: 13px; }
.contact-route-note a { font-weight: 700; }
.upload-panel { padding: 18px; border: 1.5px dashed #9db5c3; border-radius: 15px; background: #f9fbfc; }
.upload-label { display: block; color: var(--flow-ink); font-size: 15px; font-weight: 800; }
.upload-help { display: block; margin-top: 5px; color: var(--flow-muted); font-size: 12px; line-height: 1.65; word-break: keep-all; }
.upload-panel input[type="file"] { width: 100%; min-height: 48px; margin-top: 13px; padding: 7px; border: 1px solid var(--flow-line); border-radius: 10px; background: #fff; color: var(--flow-ink); font-size: 13px; }
.image-preview { margin-top: 12px; }
.image-preview img { display: block; max-width: min(100%, 500px); max-height: 420px; margin: auto; object-fit: contain; border-radius: 10px; }
.image-preview span { display: block; margin-top: 7px; color: var(--flow-muted); font-size: 12px; text-align: center; overflow-wrap: anywhere; }
.privacy-note { margin: 14px 0; padding: 13px 15px; border: 1px solid #d9e7eb; border-radius: 12px; background: #f4f9fa; color: #3c596b; font-size: 12px; line-height: 1.75; word-break: keep-all; }
.privacy-note strong { color: #163c52; }
.privacy-details { margin: 10px 0 14px; border: 1px solid var(--flow-line); border-radius: 12px; background: #fff; overflow: hidden; }
.privacy-details summary { min-height: 46px; padding: 11px 15px; color: var(--flow-blue-dark); font-size: 13px; font-weight: 750; cursor: pointer; }
.privacy-details ul { display: grid; gap: 10px; margin: 0; padding: 0 18px 16px 34px; color: var(--flow-muted); font-size: 12px; line-height: 1.7; }
.consent-box { display: flex; gap: 10px; align-items: flex-start; margin: 14px 0; color: var(--flow-ink); font-size: 13px; font-weight: 700; line-height: 1.55; cursor: pointer; }
.consent-box input { flex: 0 0 20px; width: 20px; height: 20px; margin: 1px 0 0; accent-color: var(--flow-blue-dark); }
.turnstile-wrap { min-height: 0; margin-top: 10px; overflow: auto; }
.submit-row { display: flex; align-items: center; flex-wrap: wrap; gap: 11px; margin-top: 14px; }
.submit-row .cta-main { min-height: 48px; margin: 0; }
.submit-row .cta-main:disabled { opacity: .48; cursor: not-allowed; transform: none; }
.submit-row small { flex: 1 1 100%; color: var(--flow-muted); font-size: 12px; line-height: 1.6; word-break: keep-all; }
.retry-turnstile { min-height: 44px; padding: 0 14px; border: 1px solid #b8cbd4; border-radius: 10px; background: #fff; color: var(--flow-blue-dark); font-size: 13px; font-weight: 750; cursor: pointer; }
.retry-turnstile[hidden] { display: none; }
.lookup-result { min-height: 24px; margin: 12px 0 0; color: var(--flow-muted) !important; font-size: 13px; line-height: 1.6; }
.lookup-result.error { color: #a23d36 !important; }
.lookup-view,.guide-view { scroll-margin-top: 132px; }
.lookup-view > h2,.guide-view > h2 { margin-bottom: 0; }
.receipt-panel { margin: 15px 0; padding: 18px; border: 1px solid #b9dedb; border-radius: 15px; background: #f0f9f8; }
.receipt-panel[hidden] { display: none; }
.receipt-panel h3,.lookup-panel h3 { margin: 0 0 8px; color: var(--flow-ink); font-size: 17px; letter-spacing: -.03em; }
.receipt-panel p,.lookup-panel p { margin: 0 0 11px; color: var(--flow-muted); font-size: 13px; line-height: 1.65; }
.receipt-credentials { display: grid; gap: 7px; padding: 12px; border-radius: 10px; background: #fff; overflow-wrap: anywhere; }
.receipt-credentials code { display: block; padding: 9px 11px; border: 1px solid var(--flow-line); border-radius: 8px; background: #fff; color: var(--flow-ink); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 13px; overflow-wrap: anywhere; }
.receipt-panel .lookup-fields-button { min-height: 44px; margin-top: 12px; padding: 0 14px; border: 0; border-radius: 10px; background: var(--flow-blue-dark); color: white; font-weight: 750; cursor: pointer; }
.lookup-details { margin-top: 14px; border: 1px solid var(--flow-line); border-radius: 14px; background: #fff; overflow: hidden; scroll-margin-top: 132px; }
.lookup-disclosure { min-height: 52px; padding: 13px 16px; color: var(--flow-blue-dark); font-size: 14px; font-weight: 800; cursor: pointer; }
.lookup-panel { margin: 0; padding: 18px; border-top: 1px solid var(--flow-line); background: #f9fbfc; }
.lookup-panel h3 { margin: 0 0 12px; font-size: 15px; }
.lookup-fields { display: grid; grid-template-columns: 1fr 1fr auto; align-items: end; gap: 11px; }
.lookup-fields label { display: grid; gap: 6px; color: var(--flow-muted); font-size: 12px; font-weight: 750; }
.lookup-fields input { width: 100%; min-height: 46px; padding: 0 12px; border: 1px solid #cbd8df; border-radius: 9px; background: #fff; color: var(--flow-ink); font-size: 14px; }
.lookup-fields button { min-height: 46px; padding: 0 16px; border: 0; border-radius: 9px; background: var(--flow-blue-dark); color: #fff; font-size: 13px; font-weight: 800; cursor: pointer; }
.lookup-fields button:disabled { opacity: .5; cursor: wait; }
.application-reward { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 18px; }
.application-reward > div { padding: 16px; border: 1px solid var(--flow-line); border-radius: 14px; background: #fff; }
.application-reward small { display: block; color: var(--flow-muted); font-size: 12px; line-height: 1.5; }
.application-reward strong { display: block; margin-top: 5px; color: var(--flow-blue-dark); font-size: 17px; letter-spacing: -.04em; }
.payout-total,.payout-warning { margin: 12px 0 0; color: var(--flow-muted); font-size: 13px; line-height: 1.7; word-break: keep-all; }
.payout-total strong { color: var(--flow-ink); }
.payout-warning { border-color: #e8d3bc; background: #fff8ef; color: #75451b; }
.participation-note { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 16px 0 26px; }
.participation-note > div { display: grid; gap: 3px; padding: 15px; border-radius: 13px; background: #f3f7f9; }
.participation-note strong { color: #174c55; font-size: 13px; }
.participation-note span { color: var(--flow-muted); font-size: 13px; line-height: 1.65; }
.guide-shortcuts { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 24px; }
.guide-shortcuts a { display: inline-flex; min-height: 40px; align-items: center; padding: 0 12px; border: 1px solid var(--flow-line); border-radius: 999px; background: #fff; font-size: 12px; font-weight: 750; text-decoration: none; }
.contact-section h2 { margin: 0 0 13px; color: #132f44; font-size: 21px; letter-spacing: -.04em; }
.contact-section { margin-top: 28px; scroll-margin-top: 132px; }
.contact-section .section-head p { margin: 6px 0 13px; color: var(--flow-muted); font-size: 13px; }
.channels { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.channel { display: flex; min-height: 64px; align-items: center; gap: 12px; padding: 12px 14px; border: 1px solid var(--flow-line); border-radius: 13px; background: #fff; text-decoration: none; }
.channel[aria-disabled="true"] { opacity: .72; cursor: pointer; }
.channel:focus-visible { outline: 3px solid var(--flow-mint); outline-offset: 3px; }
.channel-icon { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 11px; background: var(--flow-soft); color: var(--flow-blue-dark); font-size: 19px; font-weight: 800; }
.channel strong,.channel small { display: block; }
.channel strong { color: var(--flow-ink); font-size: 13px; }
.channel small { margin-top: 2px; color: var(--flow-muted); font-size: 12px; }
.operator-info { display: block; grid-column: 1 / -1; min-width: 0; margin: 0; color: var(--flow-muted); font-size: 12px; text-align: left; }
.operator-info summary { display: inline-flex; min-height: 42px; align-items: center; color: var(--flow-blue-dark); font-weight: 700; cursor: pointer; }
.operator-info span { display: block; margin-top: 2px; overflow-wrap: break-word; }
.operator-info__details span { display: inline; margin: 0; }
.site-footer { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.5fr) minmax(145px, .65fr); align-items: start; gap: 10px 22px; padding: 20px 10px 26px; border-top: 1px solid var(--flow-line); color: var(--flow-muted); font-size: 12px; line-height: 1.7; }
.site-footer__brand { display: grid; min-width: 0; gap: 2px; }
.site-footer__terms { min-width: 0; margin: 0; font-size: 12px; line-height: 1.75; overflow-wrap: break-word; word-break: keep-all; line-break: strict; }
.site-footer .footer-mark { color: var(--flow-blue-dark); letter-spacing: -.02em; }
.site-footer a { color: var(--flow-muted); }
.bottom-sticky { display: none !important; }
#toast.toast { position: fixed; left: 50%; top: 50%; bottom: auto; z-index: 1001; display: grid; grid-template-columns: 52px minmax(0, 1fr); align-items: center; gap: 14px; width: min(460px, calc(100vw - 32px)); max-height: calc(100vh - 32px); min-height: 104px; place-content: center; padding: 20px 22px; transform: translate(-50%, calc(-50% + 16px)) scale(.97); border: 1px solid #607b8c; border-radius: 18px; background: #102331; box-shadow: 0 22px 70px #000b, 0 0 0 1px #ffffff12; color: #f4fbff; font-size: 15px; font-weight: 600; line-height: 1.5; text-align: left; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .2s, transform .2s, visibility .2s; overflow-wrap: break-word; overflow-y: auto; overscroll-behavior: contain; }
#toast.toast.show { transform: translate(-50%, -50%) scale(1); opacity: 1; visibility: visible; }
#toast.toast .toast-icon { display: grid; width: 52px; height: 52px; place-items: center; border-radius: 50%; background: #20394b; color: #dcecf5; font-size: 27px; font-weight: 900; line-height: 1; }
#toast.toast .toast-copy { display: grid; min-width: 0; gap: 5px; line-height: 1.55; }
#toast.toast .toast-copy strong { color: #fff; font-size: 18px; font-weight: 850; line-height: 1.35; letter-spacing: -.03em; }
#toast.toast .toast-copy span { color: #d0e0e8; font-size: 14px; font-weight: 600; line-height: 1.6; }
#toast.toast.toast-success { border-color: #57e4d4; background: #0b292e; box-shadow: 0 22px 70px #000b, 0 0 35px #35d9ec28; }
#toast.toast.toast-success .toast-icon { background: #57e4d4; color: #08202a; }
#toast.toast.toast-error { border-color: #ff7f8d; background: #30191f; box-shadow: 0 22px 70px #000b, 0 0 35px #ff445a24; }
#toast.toast.toast-error .toast-icon { background: #ff7382; color: #2b1016; }
#toast.toast.toast-info .toast-icon { background: #6eb5dc; color: #092033; }

@media (max-width: 760px) {
  html { scroll-padding-top: 107px; }
  .site-shell { width: min(100% - 24px, 600px); }
  .topbar { top: 0; min-height: 58px; margin: 0 -12px; padding: 7px 12px; }
  .brand { gap: 7px; }
  .brand-name { font-size: 20px; }
  .brand-sub { display: inline-block; font-size: 10px; }
  .header-help { min-height: 40px; padding-inline: 11px; font-size: 12px; }
  main { padding-bottom: 18px; }
  .hero { display: block; min-height: 0; margin: 14px 0 13px; padding: 23px 20px; border-radius: 19px; }
  .hero-copy { max-width: 100%; }
  .eyebrow { margin-bottom: 8px; font-size: 12px; }
  .hero h1 { font-size: clamp(29px, 8.4vw, 38px); line-height: 1.2; }
  .hero-intro { margin-top: 9px; font-size: 14px; line-height: 1.6; }
  .hero-offer { margin-top: 9px; gap: 5px 9px; font-size: 13px; }
  .hero-offer strong { font-size: 15px; }
  .terms-hint,.hero-caveat { margin-top: 6px; font-size: 13px; }
  .hero .cta-main { width: 100%; min-height: 48px; margin-top: 13px; font-size: 14px; }
  .hero-art { display: block; width: min(100%, 270px); height: 170px; margin: 0 auto -6px; aspect-ratio: auto; transform: none; }
  .hero-art .sim-image { width: 190px; max-height: 180px; }
  .hero-art .ring-one { width: 270px; height: 135px; }
  .hero-art .ring-two { width: 205px; height: 245px; }
  .hero-art .holo-ring { border-color: #5e9fae99; box-shadow: 0 0 22px #35a6b52e, inset 0 0 12px #2ddfff17; }
  .hero-art .spark { box-shadow: 0 0 0 4px #77fff51a, 0 0 19px 5px #3ef1ff9c; }
  .hero-art .pedestal { box-shadow: 0 0 25px #53eaff45, 0 16px 23px #23374822; }
  .content > section { margin: 12px 0; padding: 19px 16px; border-radius: 17px; }
  .steps-heading,.content > section > h2,.application-head h2 { font-size: 22px; }
  .section-intro { margin: 6px 0 14px; font-size: 13px; }
  .steps-grid { grid-template-columns: 1fr; gap: 8px; }
  .step { min-height: 0; gap: 10px; padding: 13px; border-radius: 13px; }
  .step-icon { flex-basis: 34px; width: 34px; height: 34px; border-radius: 10px; }
  .step-icon svg { width: 20px; height: 20px; }
  .step h3 { font-size: 14px; }
  .step p { font-size: 14px; line-height: 1.6; }
  .step-action { min-height: 42px; margin-top: 4px; padding-inline: 4px; white-space: nowrap; font-size: 13px; }
  .flow-note { margin-top: 10px; padding: 10px 11px; font-size: 12px; }
  .application-head { gap: 8px; }
  .application-head p { font-size: 13px; }
  .application-kicker { font-size: 11px; }
  .start-status { padding: 4px 8px; font-size: 11px; }
  .application-reminder { margin-top: 11px; font-size: 12px; }
  .application-form-content { margin-top: 13px; padding-top: 13px; }
  .upload-panel { padding: 14px 12px; }
  .privacy-note { padding: 11px 12px; font-size: 13px; }
  .application-reward { grid-template-columns: 1fr; gap: 7px; margin-top: 12px; }
  .application-reward > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 11px 12px; }
  .application-reward small { flex: 1; font-size: 11px; }
  .application-reward strong { margin-top: 0; font-size: 14px; white-space: nowrap; }
  .participation-note { grid-template-columns: 1fr; gap: 7px; margin: 12px 0 20px; }
  .participation-note > div { padding: 12px; }
  .participation-note span { font-size: 12px; }
  .lookup-fields { grid-template-columns: 1fr; gap: 10px; }
  .lookup-fields button { width: 100%; }
  .lookup-panel { padding: 14px 12px; }
  .receipt-panel { padding: 14px; }
  .contact-section h2 { font-size: 19px; }
  .site-footer { grid-template-columns: 1fr; gap: 7px; padding: 15px 5px calc(20px + env(safe-area-inset-bottom)); font-size: 13px; line-height: 1.7; }
  .site-footer__terms { max-width: 54ch; font-size: 13px; line-height: 1.75; }
  .operator-info { text-align: left; }
  #toast.toast { top: 50%; bottom: auto; grid-template-columns: 44px minmax(0, 1fr); gap: 12px; width: calc(100vw - 28px); min-height: 94px; padding: 17px; }
  #toast.toast .toast-icon { width: 44px; height: 44px; font-size: 24px; }
  #toast.toast .toast-copy strong { font-size: 17px; }
  #toast.toast .toast-copy span { font-size: 14px; }
}

@media (max-width: 380px) {
  .channels { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 360px) {
  .brand-sub { display: none; }
}

/* Keep the first screen focused on the offer and its one main action. */
.hero {
  min-height: 310px;
  margin-top: 18px;
  padding: clamp(24px, 4.5vw, 48px);
  grid-template-columns: minmax(0, 1fr) minmax(220px, .55fr);
}
.hero-copy { max-width: 630px; padding-bottom: 0; }
.hero h1 { max-width: 620px; font-size: clamp(34px, 4.2vw, 53px); }
.hero-offer { margin-top: 16px; }
.hero-offer strong { color: #0c536d; font-size: clamp(15px, 1.5vw, 18px); line-height: 1.55; }
.terms-hint { max-width: 56ch; }
.hero .cta-main { min-width: min(100%, 240px); min-height: 56px; margin-top: 16px; font-size: 16px; }
.hero-caveat { font-size: 13px; }
.hero-art { max-width: 300px; }
.quick-flow {
  display: flex;
  min-height: 56px;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 7px 12px;
  margin: 6px 0 13px;
  padding: 4px 12px 9px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #35566b;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.45;
  text-align: center;
}
.quick-flow > #quickFlow { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 7px 12px; }
.quick-flow span[aria-hidden="true"] { color: #91a4b2; font-size: 16px; }
.application-details,.guide-disclosure {
  margin: 12px 0;
  border: 1px solid var(--flow-line);
  border-radius: 17px;
  background: #fff;
  box-shadow: 0 8px 22px #17344a06;
  scroll-margin-top: 84px;
}
.application-trigger,.guide-disclosure > summary {
  display: flex;
  min-height: 68px;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 13px 18px;
  color: var(--flow-ink);
  font-size: 16px;
  font-weight: 820;
  line-height: 1.45;
  list-style: none;
  cursor: pointer;
}
.application-trigger::-webkit-details-marker,.guide-disclosure > summary::-webkit-details-marker { display: none; }
.application-trigger::after,.guide-disclosure > summary::after {
  flex: 0 0 auto;
  color: var(--flow-blue-dark);
  content: "+";
  font-size: 24px;
  font-weight: 500;
  line-height: 1;
}
.application-details[open] > .application-trigger::after,.guide-disclosure[open] > summary::after { content: "−"; }
.application-trigger span { color: var(--flow-blue-dark); }
.application-trigger small { margin-left: auto; color: var(--flow-muted); font-size: 12px; font-weight: 600; }
.application-details > .application,.guide-disclosure > .guide-view { margin: 0; padding: 0 18px 20px; border: 0; border-radius: 0 0 17px 17px; background: transparent; box-shadow: none; }
.application-details > .application { scroll-margin-top: 84px; }
.application-details:not([open]) > .application-trigger,.lookup-details:not([open]) > .lookup-disclosure { display: none; }
.lookup-view { margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; }
.application-details:not([open]),.lookup-details:not([open]) { display: none; }
.lookup-details { margin: 12px 0; border-radius: 17px; box-shadow: 0 8px 22px #17344a06; }
.lookup-disclosure { display: flex; min-height: 64px; align-items: center; padding: 12px 18px; color: var(--flow-blue-dark); font-size: 15px; }
.full-steps { margin: 0 0 22px; padding: 16px 0 20px; border-bottom: 1px solid var(--flow-line); }
.full-steps h3 { margin: 0 0 12px; color: #17354a; font-size: 17px; letter-spacing: -.03em; }
.step h4 { margin: 1px 0 7px; color: #17354a; font-size: 15px; font-weight: 800; letter-spacing: -.035em; line-height: 1.4; }
.guide-disclosure > summary { min-height: 60px; font-size: 14px; }
.guide-view .steps-heading { display: none; }
.site-footer { margin-top: 16px; }

@media (max-width: 760px) {
  .hero { min-height: 0; margin: 12px 0 10px; padding: 22px 18px 16px; }
  .hero h1 { font-size: clamp(31px, 8.2vw, 38px); }
  .hero-offer { margin-top: 12px; }
  .hero-offer strong { font-size: 15px; }
  .terms-hint,.hero-caveat { font-size: 13px; }
  .hero .cta-main { width: 100%; min-height: 54px; margin-top: 12px; }
  .hero-art { display: block; width: min(100%, 230px); height: 120px; margin: 0 auto -2px; }
  .hero-art .sim-image { width: 150px; max-height: 140px; }
  .hero-art .ring-one { width: 225px; height: 112px; }
  .hero-art .ring-two { width: 172px; height: 190px; }
  .quick-flow { min-height: 42px; gap: 5px 8px; margin: 3px 0 8px; padding: 2px 4px 6px; font-size: 12px; }
  .quick-flow > #quickFlow { gap: 5px 8px; }
  .application-trigger,.guide-disclosure > summary { min-height: 62px; padding: 11px 14px; font-size: 14px; }
  .application-trigger { flex-wrap: wrap; justify-content: flex-start; gap: 2px 8px; }
  .application-trigger small { flex-basis: calc(100% - 30px); margin-left: 0; font-size: 11px; }
  .application-trigger::after { margin-left: auto; }
  .application-details > .application,.guide-disclosure > .guide-view { padding: 0 13px 15px; }
  .lookup-details { margin: 10px 0; }
  .lookup-disclosure { min-height: 60px; padding: 10px 14px; font-size: 14px; }
  .full-steps { padding: 13px 0 16px; }
  .site-footer { margin-top: 12px; }
}

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

/* Restore the original USIM PLUS navy and mint identity over the responsive layout layer. */
:root {
  color-scheme: dark;
  --flow-ink: #f6fbff;
  --flow-muted: #a4b7ca;
  --flow-line: #284153;
  --flow-surface: #0a1724;
  --flow-canvas: #040a11;
  --flow-blue: #60f1d4;
  --flow-blue-dark: #8cffe8;
  --flow-soft: #102032;
  --flow-button-label: #08202a;
  font-family: 'Pretendard', 'Noto Sans KR', 'NanumSquare', system-ui, -apple-system, 'Segoe UI', sans-serif;
  color: var(--flow-ink);
  background: var(--flow-canvas);
}
html, body { background: #040a11; }
body { color: #f6fbff; overflow-x: visible; }
body::before,body::after { display: block; }
body::before { content: ""; z-index: -2; position: fixed; inset: -10%; background: radial-gradient(ellipse 31% 44% at 10% 26%,#1641597a,transparent 85%),radial-gradient(ellipse 35% 28% at 91% 8%,#5c415144,transparent 75%),radial-gradient(ellipse 30% 49% at 81% 85%,#16304777,transparent 77%),linear-gradient(130deg,#020811,#06121d 48%,#03070b); }
body::after { content: ""; z-index: -1; position: fixed; inset: 0; pointer-events: none; opacity: .2; background: repeating-linear-gradient(90deg,transparent 0 122px,#9befff09 123px 124px,transparent 125px 216px); }
a { color: #8cffe8; }
.site-shell { margin: 28px auto 42px; position: relative; isolation: isolate; overflow: hidden; border: 1px solid #52647861; border-radius: 22px; background: linear-gradient(165deg,rgba(8,18,29,.98),rgba(4,11,20,.99)); box-shadow: 0 36px 100px #000a,0 0 80px #48d4e008; }
.site-shell::before,.site-shell::after { display: block; }
.site-shell::before { content: ""; position: absolute; inset: 0 0 auto; height: 780px; pointer-events: none; z-index: -1; background: radial-gradient(ellipse at 74% 32%,#39b9c52a,transparent 42%),radial-gradient(ellipse at 44% 10%,#e4b87709,transparent 48%); }
.site-shell::after { content: ""; pointer-events: none; position: absolute; top: 0; right: 8%; width: 5px; height: 480px; background: linear-gradient(180deg,#ffebbb00,#72efff45,#fff0); filter: blur(9px); transform: skewX(-9deg); }
.topbar { border-bottom-color: #3850648a; background: rgba(7,17,27,.94); }
.brand-name span,.application-kicker { color: #75ead5; }
.header-help { border-color: #365369; background: #0c1b2a; color: #f6fbff; }
.hero { border-color: #315066b8; background: linear-gradient(135deg,#112437,#0a1726 75%); box-shadow: 0 12px 32px #0005,inset 0 1px #8cf7ff14; }
.quick-flow { color: #d2e0e8; }
.eyebrow { color: #8cffe8; }
.eyebrow .point { background: #60f1d4; box-shadow: 0 0 12px #60f1d499; }
.hero h1 { color: #f6fbff; line-height: 1.2; text-shadow: 0 3px 22px #0008; }
.hero-intro { color: #c5d5df; }
.hero-payouts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin: 14px 0 0; }
.hero-payouts > div { min-width: 0; padding: 10px 8px; border: 1px solid #34576c; border-radius: 12px; background: linear-gradient(140deg,#102437,#0a1726); text-align: center; }
.hero-payouts small { display: block; color: #a4b7ca; font-size: 11px; line-height: 1.4; white-space: normal; word-break: keep-all; line-break: strict; }
.hero-payouts strong { display: block; margin-top: 4px; color: #8cffe8; font-size: clamp(13px,1.45vw,17px); line-height: 1.35; letter-spacing: -.035em; white-space: normal; word-break: keep-all; line-break: strict; }
.hero-offer,.hero-offer strong { color: #8cffe8; }
.terms-hint,.hero-caveat { color: #c1d0da; }
.hero-actions { display: grid; gap: 8px; margin-top: 16px; }
.hero-actions .cta-main { width: 100%; min-height: 52px; margin: 0; }
.cta-secondary { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; padding: 0 16px; border: 1px solid #527184; border-radius: 12px; background: #102032; color: #d9f8ff; font-size: 14px; font-weight: 750; text-decoration: none; }
.cta-secondary:hover { border-color: #60f1d4; color: #8cffe8; }
.payout-note { margin: 8px 0 0; color: #a4b7ca; font-size: 12px; line-height: 1.65; }
.cta-main,.lookup-fields button,.receipt-panel .lookup-fields-button { background: #57e4d4; box-shadow: 0 10px 24px #04d5da20; color: #08202a; }
.cta-main:hover { background: #8cffe8; }
.hero-art::before { background: radial-gradient(circle,#1b6570 0%,#0b2634 48%,transparent 72%); filter: blur(2px); }
.hero-art .sim-image { filter: drop-shadow(0 14px 18px #35d9ec44); }
.hero-art .holo-ring { border-color: #5e9fae99; box-shadow: 0 0 22px #35a6b52e,inset 0 0 12px #2ddfff17; }
.hero-art .spark { box-shadow: 0 0 0 4px #77fff51a,0 0 19px 5px #3ef1ff9c; }
.content > section { border-color: #284153; background: linear-gradient(155deg,#0c1b2a,#081522); box-shadow: 0 10px 28px #0004; }
.steps-heading,.content > section > h2,.application-head h2,.section-head h2,.contact-section h2 { color: #f6fbff; }
.step,.application-reward > div { border-color: #315066b8; background: linear-gradient(130deg,#112437,#0a1726 75%); box-shadow: inset 0 1px #8cf7ff14,0 9px 25px #0003; }
.step-icon { background: linear-gradient(145deg,#1b3c52,#0a1623 80%); color: #60f1d4; }
.step h3,.step h4,.full-steps h3 { color: #f2fbff; }
.flow-note,.participation-note > div { border: 1px solid #29475a; background: #0d1d2b; }
.start-status { border: 1px solid #71899b; background: #172b3c; color: #d5e2e9; }
.application-details,.guide-disclosure,.lookup-details { border-color: #34576c; background: #091927; box-shadow: 0 8px 22px #0004; }
.application-trigger::after,.guide-disclosure > summary::after,.lookup-disclosure { color: #82f5e0; }
.application-trigger span,.privacy-details summary,.operator-info summary { color: #8cffe8; }
.application-details > .application,.guide-disclosure > .guide-view,.lookup-view { background: transparent; }
.upload-panel,.lookup-panel { border-color: #496778; background: #091927; }
.upload-panel input[type="file"],.lookup-fields input { border-color: #496778; background: #081724; color: #f3fbff; color-scheme: dark; }
.upload-help { color: #a9c0cf; }
.privacy-note { border-color: #365569; border-left: 3px solid #65e5d1; background: #09202a; color: #c8dce4; font-size: 13px; }
.privacy-note strong { color: #ecfff9; }
.privacy-details { border-color: #365569; background: #0a1926; }
.privacy-details summary { color: #e7f7fb; }
.retry-turnstile { border-color: #447687; background: #102032; color: #a8fff1; }
.lookup-result.error { color: #ffaaaa !important; }
.receipt-panel { border-color: #3b6876; background: linear-gradient(140deg,#0b262d,#0b1a27); }
.receipt-panel h3,.lookup-panel h3 { color: #eafffb; }
.receipt-panel p,.lookup-panel p { color: #b6ccd6; }
.receipt-credentials { border: 1px solid #284153; background: #06131e; }
.receipt-credentials code { border-color: #284153; background: #06131e; color: #a8f4e7; }
.application-reward > div { border-color: #34576c; background: #0a1b2a; }
.application-reward strong,.payout-total strong { color: #a8fff1; }
.payout-warning { padding: 10px 12px; border: 1px solid #795c36; border-radius: 9px; background: #241c13; color: #ffdda7; font-weight: 700; }
.participation-note strong { color: #8cebd9; }
.guide-shortcuts a { border-color: #365369; background: #0d1d2b; }
.channel { border-color: #365369; background: linear-gradient(140deg,#101e2d,#081420); }
.channel-icon { background: #0d9ee7; color: #fff; }
.site-footer .footer-mark { color: #60f1d4; }
#toast.toast { border-color: #607b8c; background: #102331; box-shadow: 0 22px 70px #000b,0 0 0 1px #ffffff12; color: #f4fbff; line-height: 1.5; }
#toast.toast.toast-success { border-color: #57e4d4; background: #0b292e; box-shadow: 0 22px 70px #000b,0 0 35px #35d9ec28; color: #f4fffd; }
#toast.toast.toast-error { border-color: #ff7f8d; background: #30191f; box-shadow: 0 22px 70px #000b,0 0 35px #ff445a24; color: #fff2f3; }
#toast.toast.toast-info { border-color: #607b8c; background: #102331; color: #f4fbff; }
.hero-intro,.terms-hint,.hero-caveat,.section-intro,.step p,.application-head p,.application-reminder,.upload-help,.privacy-note,.privacy-details li,.submit-row small,.receipt-panel p,.lookup-panel p,.payout-total,.payout-warning,.participation-note span,.contact-section .section-head p,.site-footer__terms { white-space: pre-line; line-height: 1.85; }
.hero-intro { margin-top: 15px; }
.hero-caveat,.terms-hint { font-size: 13px; }
.site-footer__terms { max-width: 54ch; }
@media (max-width: 760px) {
  .site-shell { margin: 14px auto 28px; }
  .hero-intro { margin-top: 10px; font-size: 14px; line-height: 1.85; }
  .hero-payouts { gap: 6px; margin-top: 11px; }
  .hero-payouts > div { padding: 9px 3px; }
  .hero-payouts small { font-size: 10px; }
  .hero-payouts strong { font-size: clamp(12px,3.4vw,15px); }
  .hero-actions { margin-top: 12px; }
  .hero-actions .cta-main { min-height: 50px; }
  .cta-secondary { min-height: 44px; }
  .step p { font-size: 14px; line-height: 1.85; }
}

/* Korean text rhythm: preserve author-entered line breaks without mid-word wrapping. */
.hero-intro,.consultation-intro,.section-intro,.step p,.legacy-help,.site-footer__terms{
  word-break:keep-all;
  overflow-wrap:break-word;
  line-break:strict;
}
@supports (text-wrap:pretty){
  .hero-intro,.consultation-intro,.section-intro,.step p,.legacy-help,.site-footer__terms{
    text-wrap:pretty;
  }
}

/* Reviews hub + home strip */
.reviews-page { margin: 0; min-height: 100vh; color: #f6fbff; background: #040a11; font-family: 'Pretendard','Noto Sans KR',system-ui,sans-serif; }
.reviews-shell { width: min(920px, calc(100% - 32px)); margin: 0 auto; padding: 28px 0 64px; }
.reviews-back { color: #79f4df; font-size: 14px; text-decoration: none; }
.reviews-header h1 { font-size: clamp(28px, 5vw, 36px); margin: 12px 0 8px; letter-spacing: -.04em; }
.reviews-disclaimer { color: #afc4d2; font-size: 14px; line-height: 1.75; margin: 0 0 16px; word-break: keep-all; }
.reviews-stats { font-size: 18px; font-weight: 800; color: #a8fff1; margin-bottom: 12px; }
.reviews-histogram { display: grid; gap: 6px; margin-bottom: 18px; }
.reviews-bar-row { display: grid; grid-template-columns: 28px 1fr 48px; gap: 8px; align-items: center; font-size: 12px; color: #b5cbd5; }
.reviews-bar { height: 8px; border-radius: 99px; background: #1a2f3f; overflow: hidden; }
.reviews-bar i { display: block; height: 100%; background: linear-gradient(90deg,#55e7d4,#3cd9cf); border-radius: 99px; }
.reviews-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.reviews-filter { min-height: 40px; padding: 0 14px; border-radius: 999px; border: 1px solid #365369; background: #0d1d2b; color: #e3edf5; cursor: pointer; font: inherit; }
.reviews-filter.is-active { border-color: #7decf4; background: #123040; color: #a8fff1; }
.reviews-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.reviews-card { padding: 16px; border: 1px solid #315066; border-radius: 14px; background: linear-gradient(145deg,#112437,#081724); }
.reviews-card__head { display: flex; justify-content: space-between; gap: 10px; align-items: center; margin-bottom: 8px; font-size: 13px; color: #8ca8b9; }
.reviews-stars { color: #ffe08a; letter-spacing: .05em; }
.reviews-snippet { margin: 0; color: #dceaf1; font-size: 15px; line-height: 1.75; cursor: pointer; word-break: keep-all; }
.reviews-name { font-size: 12px; color: #9ab2c2; }
.reviews-more { display: block; width: 100%; min-height: 48px; margin-top: 16px; border-radius: 12px; border: 1px solid #67edf0; background: #122b34; color: #a4fff3; font: inherit; font-weight: 800; cursor: pointer; }
.reviews-status { color: #8ca8b9; font-size: 14px; min-height: 1.4em; }
.reviews-cta { text-align: center; margin-top: 28px; }
.reviews-cta a { color: #79f4df; font-weight: 800; }
.home-reviews { margin: 24px 0; padding: 22px 20px; border: 1px solid #346277; border-radius: 18px; background: linear-gradient(145deg,#0e2433,#081722); }
.home-reviews__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 10px; margin-bottom: 14px; }
.home-reviews__head h2 { margin: 0; font-size: 22px; letter-spacing: -.04em; }
.home-reviews__stats { color: #a8fff1; font-size: 14px; font-weight: 700; }
.home-reviews__list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.home-reviews__item { padding: 12px 14px; border: 1px solid #304d61; border-radius: 12px; background: #0b1a29; font-size: 14px; line-height: 1.65; color: #dceaf1; word-break: keep-all; }
.home-reviews__meta { display: flex; justify-content: space-between; gap: 8px; font-size: 12px; color: #9ab2c2; margin-bottom: 6px; }
.home-reviews__link { display: inline-flex; margin-top: 14px; min-height: 44px; align-items: center; color: #79f4df; font-weight: 800; text-decoration: none; }
.text-scale-lg body { font-size: 106%; }
.a11y-toggle { position: fixed; right: 16px; bottom: 88px; z-index: 20; min-height: 44px; padding: 0 14px; border-radius: 999px; border: 1px solid #6a8a9a; background: #0b1b2b; color: #dff7ff; font-size: 13px; cursor: pointer; }
@media (max-width:720px){ .a11y-toggle { bottom: calc(72px + env(safe-area-inset-bottom)); } }

/* Hero intro: semantic line groups (sentence chunks > phrase parts).
   Desktop flows inline with the authored <br> line breaks; mobile stacks each
   chunk/part as its own balanced line, like Toss/Kakao Bank copy blocks. */
.hero-intro { max-width: min(100%, 38em); word-break: keep-all; line-break: strict; overflow-wrap: break-word; letter-spacing: -0.01em; }
.hero-intro__chunk, .hero-intro__part { display: inline; }
@media (max-width: 760px) {
  .hero-intro { max-width: 24em; line-height: 1.75; }
  .hero-intro__chunk { display: block; }
  .hero-intro__part { display: inline; }
  .hero-intro__chunk + .hero-intro__chunk { margin-top: .15em; }
  .hero-intro > br + .hero-intro__chunk { margin-top: .55em; }
}
@supports (text-wrap: balance) {
  @media (max-width: 760px) { .hero-intro__part { text-wrap: balance; } }
}

/* Keep the first decision brief; full service details remain visible below. */
.hero { overflow: visible; }
.hero-cost { margin: 10px 0 0; color: #a8fff1; font-weight: 750; }
.hero-actions #heroApplyButton { justify-self: start; width: auto; min-height: 44px; padding: 8px 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; text-decoration: underline; text-underline-offset: 4px; }
.service-overview { margin: 24px 0; padding: 22px 20px; border: 1px solid #346277; border-radius: 18px; background: #081722; }
.service-overview h2 { margin: 0 0 16px; font-size: 22px; }
.service-overview .hero-intro { max-width: 100%; }
.service-overview .service-facts-summary { margin-top: 0; }
@media (max-width: 760px) {
  .hero .hero-art { display: none; }
  .hero .service-definition { margin: 12px 0 0; font-size: 14px; line-height: 1.65; }
  .hero .hero-actions { gap: 2px; margin-top: 12px; }
  .hero .payout-note { margin: 6px 0 0; font-size: 12px; line-height: 1.6; }
}

.service-overview__steps { padding-left: 1.5em; line-height: 1.8; }
.service-overview__steps li + li { margin-top: .25em; }
