.open-page { overflow-x: hidden; }
.open-page .site-header { box-shadow: 0 6px 24px rgba(17,47,104,.04); }
.open-hero { padding: clamp(82px,10vw,132px) 0 78px; background: radial-gradient(circle at 82% 18%,rgba(23,105,232,.15),transparent 25%),#f5f9ff; text-align: center; }
.open-hero h1 { margin: 0 0 22px; font-size: clamp(40px,6vw,68px); line-height: 1.13; letter-spacing: -.055em; }
.open-hero__lead { margin: 0 0 34px; color: var(--text); font-size: clamp(17px,2vw,20px); }
.open-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.open-actions--carrier { display: grid; grid-template-columns: repeat(2,minmax(0,250px)); align-items: start; }
.open-actions--carrier .open-button--kt { grid-column: 1; grid-row: 1; }
.open-actions--carrier .open-button--lg { grid-column: 2; grid-row: 1; }
.kt-device-lock-note { grid-column: 1 / -1; grid-row: 2; display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; margin: 0; padding: 10px 14px; border: 1px solid #f1ca70; border-radius: 11px; color: #725100; background: #fff9e9; font-size: 13px; line-height: 1.5; text-align: left; }
.kt-device-lock-note > span:first-child { flex: 0 0 22px; display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; color: #fff; background: #e79a00; font-size: 13px; font-weight: 900; }
.kt-device-lock-note strong,.kt-device-lock-note b { color: #5f4000; font-weight: 900; }
.open-button { min-height: 58px; display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-width: 250px; padding: 13px 24px; border-radius: 12px; color: #fff; background: var(--blue); font-weight: 800; box-shadow: 0 12px 28px rgba(23,105,232,.2); transition: transform .2s,box-shadow .2s; }
.open-button:hover { transform: translateY(-2px); box-shadow: 0 16px 32px rgba(23,105,232,.28); }
.open-button--lg { background: #8f3670; }
.open-button--white { color: var(--navy); background: #fff; }
.open-text-link { display: inline-block; margin-top: 22px; color: var(--blue); font-weight: 750; }
.open-text-link--light { color: #dceaff; }
.step-nav { position: sticky; top: 76px; z-index: 50; border-block: 1px solid var(--line); background: rgba(255,255,255,.96); backdrop-filter: blur(12px); }
.step-nav__scroll { display: flex; overflow-x: auto; scrollbar-width: thin; scroll-behavior: smooth; }
.step-nav a { position: relative; flex: 1 0 auto; margin-block: 5px; padding: 10px 12px; border-radius: 10px; color: #5f6c80; text-align: center; font-size: 12px; white-space: nowrap; transition: color .28s ease,background-color .28s ease,box-shadow .28s ease,transform .28s ease; }
.step-nav a::after { content: ""; position: absolute; left: 14px; right: 14px; bottom: 4px; height: 2px; border-radius: 999px; background: #81ddff; opacity: 0; transform: scaleX(.25); transition: opacity .28s ease,transform .32s ease; }
.step-nav b { margin-right: 3px; color: var(--blue); transition: color .28s ease; }
.step-nav a.is-active { color: #fff; background: linear-gradient(135deg,#1769e8,#3d8cff); box-shadow: 0 7px 17px rgba(23,105,232,.25); transform: translateY(-1px); }
.step-nav a.is-active b { color: #d9f6ff; }
.step-nav a.is-active::after { opacity: 1; transform: scaleX(1); }
.step-nav__important { color: #9c235c!important; font-weight: 850; }
.open-section { padding: clamp(76px,9vw,108px) 0; scroll-margin-top: 132px; }
.open-section--soft { background: #f7f9fc; }
.open-heading { max-width: 760px; margin-bottom: 38px; }
.open-heading--center { margin-inline: auto; text-align: center; }
.open-heading h2,.step-copy h2 { margin: 4px 0 13px; font-size: clamp(30px,4vw,44px); line-height: 1.25; letter-spacing: -.045em; }
.open-heading > p:last-child,.step-copy > p { color: var(--text); }
.prepare-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 15px; }
.prepare-grid article,.choice-grid article,.hours-grid article,.usim-number-grid article,.install-grid article { min-width: 0; padding: 27px; border: 1px solid var(--line); border-radius: 18px; background: #fff; box-shadow: 0 10px 28px rgba(25,50,95,.05); }
.prepare-grid span,.install-grid span { color: #a5bee4; font-weight: 900; }
.prepare-grid h3,.choice-grid h3,.install-grid h3 { margin: 9px 0 6px; }
.prepare-grid p,.choice-grid p { margin: 0; color: var(--text); font-size: 14px; }
.info-callout { margin: 25px 0 0; padding: 17px 20px; border-radius: 12px; color: #28496f; background: #eaf3ff; }
.hours-grid,.choice-grid,.usim-number-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.network-tag,.prepaid-badge { display: inline-flex; padding: 6px 11px; border-radius: 999px; color: #087b73; background: #e7faf7; font-size: 12px; font-weight: 850; }
.network-tag--lg { color: #962b69; background: #fff0f8; }
.hours-grid dl { margin: 18px 0 0; }
.hours-grid dl div { display: flex; justify-content: space-between; gap: 20px; padding: 15px 0; border-top: 1px solid var(--line); }
.hours-grid dt { color: var(--text); }.hours-grid dd { margin: 0; color: var(--navy); font-weight: 850; }
.policy-note { margin: 24px 0 0; color: #718096; font-size: 13px; }
.step-layout { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); align-items: center; gap: clamp(35px,7vw,86px); }
.step-kicker { margin: 0 0 8px!important; color: var(--blue)!important; font-size: 13px; font-weight: 900; letter-spacing: .12em; }
.step-copy .button { margin-top: 17px; }
.simple-visual { min-height: 320px; display: grid; place-items: center; align-content: center; gap: 8px; border: 1px solid #dce7f5; border-radius: 20px; background: #f2f7fd; text-align: center; }
.simple-visual span { display: grid; place-items: center; width: 112px; height: 74px; margin-bottom: 14px; border: 5px solid var(--navy); border-radius: 10px; color: var(--blue); background: #fff; font-size: 22px; font-weight: 900; }
.simple-visual small { color: var(--text); }
.choice-grid article > span { color: var(--blue); font-size: 12px; font-weight: 900; }
.choice-grid h3 { font-size: 25px; }
.number-transfer-choice { display: flex; flex-direction: column; }
.number-transfer-choice > a { align-self: flex-start; display: inline-flex; align-items: center; gap: 7px; margin-top: 20px; padding: 10px 14px; border: 1px solid #b9d5fa; border-radius: 10px; color: #1769e8; background: #eef6ff; font-size: 14px; font-weight: 850; }
.number-transfer-choice > a:hover,.number-transfer-choice > a:focus-visible { border-color: #1769e8; background: #e1efff; }
.security-callout { display: flex; gap: 18px; max-width: 900px; margin-bottom: 46px; padding: 25px; border: 1px solid #cfe1fa; border-radius: 18px; background: #f1f7ff; }
.security-callout > span { flex: 0 0 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; color: #fff; background: var(--blue); font-weight: 900; }
.security-callout h3 { margin: 0 0 6px; }.security-callout p { margin: 0; color: var(--text); }
.face-layout { align-items: start; }
.auth-order { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); align-items: center; gap: 18px; max-width: 760px; margin: 0 0 42px; }
.auth-order > div { display: grid; grid-template-columns: auto 1fr; gap: 3px 12px; align-items: center; padding: 20px; border: 1px solid #cfe1fa; border-radius: 16px; background: #fff; }
.auth-order span { grid-row: 1 / 3; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; color: #fff; background: var(--blue); font-weight: 900; }
.auth-order small { color: var(--text); }.auth-order > b { color: var(--blue); font-size: 24px; }
.number-list,.flow-list { padding: 0; margin: 20px 0; list-style: none; }
.number-list li { display: flex; align-items: center; gap: 12px; margin: 10px 0; }
.number-list span { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; color: var(--blue); background: var(--blue-light); font-weight: 900; }
.check-list { padding: 18px 0; margin: 18px 0; border-block: 1px solid var(--line); list-style: none; }
.check-list li { position: relative; padding: 5px 0 5px 22px; color: var(--text); }.check-list li::before { content: "✓"; position: absolute; left: 0; color: #159986; font-weight: 900; }
.guide-stack { display: grid; gap: 14px; }
.guide-stack img,.usim-number-grid img,.step-section > .container > img { display: block; width: 100%; height: auto; object-fit: contain; border-radius: 12px; }
.guide-image,.usim-guide-image { margin: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.guide-image img,.usim-guide-image img { border-radius: 0; }
.guide-image figcaption,.usim-guide-image figcaption { padding: 12px 14px; color: var(--text); background: #f7f9fc; font-size: 13px; line-height: 1.55; }
.usim-guide-image { margin-top: 24px; }
.image-placeholder { min-height: 300px; display: grid; place-items: center; align-content: center; gap: 6px; margin: 0; padding: 25px; border: 1px dashed #adc4e3; border-radius: 12px; color: var(--navy); background: #f5f8fc; text-align: center; }
.image-placeholder span,.image-placeholder small { color: #718096; font-size: 12px; }.image-placeholder--small { min-height: 140px; }.image-placeholder--wide { min-height: 230px; margin-top: 24px; }
.easy-auth { margin-top: 44px; padding: 30px; border-radius: 18px; background: var(--navy); color: #fff; }.easy-auth h3 { margin: 0 0 8px; }.easy-auth p { margin: 0 0 20px; color: #dce8fa; }.easy-auth > div { display: flex; flex-wrap: wrap; gap: 9px; }.easy-auth span { padding: 10px 14px; border-radius: 10px; background: rgba(255,255,255,.12); font-weight: 750; }
.video-button { gap: 8px; color: #fff; border-color: #6fe9ff; background: linear-gradient(135deg,#123c7e,#1769e8); box-shadow: 0 0 0 1px rgba(111,233,255,.5),0 0 20px rgba(58,218,255,.34),0 12px 28px rgba(23,105,232,.24); font-size: 16px; font-weight: 850; }
.video-button:hover { color: #fff; border-color: #b9f6ff; background: linear-gradient(135deg,#164b98,#237cf0); box-shadow: 0 0 0 1px rgba(185,246,255,.7),0 0 27px rgba(58,218,255,.48),0 15px 32px rgba(23,105,232,.3); }
.usim-number-grid article h3 { margin: 17px 0 8px; }.usim-number-grid article > p { margin: 0; color: var(--text); }
.usim-number-grid .image-caption { margin-top: 14px; font-size: 14px; line-height: 1.65; }
.flow-list { counter-reset: flow; display: grid; gap: 10px; }.flow-list li { counter-increment: flow; position: relative; padding: 18px 20px 18px 58px; border: 1px solid var(--line); border-radius: 14px; background: #fff; font-weight: 750; }.flow-list li::before { content: counter(flow); position: absolute; left: 18px; top: 15px; display: grid; place-items: center; width: 29px; height: 29px; border-radius: 9px; color: #fff; background: var(--blue); font-size: 12px; }.flow-list small { display: block; color: var(--text); font-weight: 400; }
.install-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }.install-grid article { text-align: center; }.install-grid h3 { font-size: 16px; }
.strong-note { margin: 26px 0 0; padding: 19px; border-radius: 12px; background: #edf5ff; text-align: center; }
.prepaid-badge { margin-bottom: 12px; color: #6d4b00; background: #fff4cf; }
.charge-card { padding: 30px; border: 1px solid var(--line); border-radius: 18px; background: #fff; box-shadow: 0 12px 30px rgba(25,50,95,.06); }.charge-card h3 { margin-top: 0; }.charge-card p { color: var(--navy); }
.membership-app { background: #fff; }
.app-install-note { max-width: 900px; margin: 0 auto 28px; padding: 17px 20px; border: 1px solid #cfe1fa; border-radius: 13px; color: #28496f; background: #f1f7ff; text-align: center; }
.app-install-note strong { margin-right: 6px; color: var(--navy); }
.membership-app-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.membership-app-card { min-width: 0; padding: 27px; border: 1px solid var(--line); border-top: 4px solid #168d82; border-radius: 18px; background: #fff; box-shadow: 0 12px 32px rgba(25,50,95,.07); }
.membership-app-card--lg { border-top-color: #a73779; }.membership-app-card--postpaid { border-top-color: var(--blue); }
.membership-app-card h3 { margin: 17px 0 8px; font-size: 21px; }.membership-app-card > p { min-height: 52px; margin: 0 0 22px; color: var(--text); font-size: 14px; }
.postpaid-app-badge { display: inline-flex; padding: 6px 11px; border-radius: 999px; color: #1758b8; background: #eaf3ff; font-size: 12px; font-weight: 850; }
.store-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
.store-actions a { position: relative; min-width: 0; display: grid; gap: 2px; padding: 14px 31px 14px 15px; border: 1px solid #c8dcf5; border-radius: 12px; color: var(--navy); background: linear-gradient(145deg,#fff,#edf5ff); box-shadow: 0 9px 20px rgba(23,105,232,.1); line-height: 1.2; transition: transform .2s,border-color .2s,box-shadow .2s; }
.membership-app-card--kt .store-actions a { border-color: #9cddd4; background: linear-gradient(145deg,#f8fffd,#ddf8f2); box-shadow: 0 9px 20px rgba(22,141,130,.13); }
.membership-app-card--lg .store-actions a { border-color: #efb9d8; background: linear-gradient(145deg,#fffafd,#ffebf6); box-shadow: 0 9px 20px rgba(167,55,121,.13); }
.membership-app-card--postpaid .store-actions a { border-color: #b9d5fb; background: linear-gradient(145deg,#fff,#e7f1ff); }
.store-actions a:hover { transform: translateY(-3px); border-color: #77aaf0; box-shadow: 0 13px 25px rgba(23,105,232,.2); }.store-actions span { color: #61718a; font-size: 13px; }.store-actions strong { font-size: 16px; }.store-actions b { position: absolute; top: 50%; right: 12px; transform: translateY(-50%); color: var(--blue); }
.app-login-note { margin: 25px 0 0; color: #58677b; font-size: 16px; text-align: center; }
.membership-recharge-link { display: flex; justify-content: center; margin-top: 22px; }

/* 카드 제목과 설명의 공통 가독성 기준 */
.prepare-grid h3,.choice-grid h3,.install-grid h3 { font-size: 22px; line-height: 1.35; }
.prepare-grid p,.choice-grid p,.guide-image figcaption,.usim-guide-image figcaption { font-size: 16px; }
.auth-order strong { font-size: 18px; }.auth-order small,.flow-list small { font-size: 15px; }
.membership-app-card > p { font-size: 16px; }
.happy-call { padding: clamp(78px,9vw,108px) 0; color: #fff; background: #102f68; }
.happy-call__inner { display: grid; grid-template-columns: .8fr 1.2fr; align-items: center; gap: clamp(40px,8vw,100px); }
.happy-call h2 { margin: 0 0 18px; font-size: clamp(34px,5vw,52px); line-height: 1.2; letter-spacing: -.045em; }
.happy-number { display: inline-block; color: #8fc5ff; font-size: clamp(32px,5vw,50px); font-weight: 900; letter-spacing: .02em; }
.happy-call__copy { padding: 30px; border: 1px solid rgba(255,255,255,.18); border-radius: 18px; background: rgba(255,255,255,.08); }.happy-call__copy p { color: #dce8fa; }.happy-call__purpose { margin: 0; font-size: 18px; line-height: 1.75; }.happy-call__purpose strong { color: #fff; }.happy-emphasis { display: block; margin-top: 22px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.16); color: #fff; font-size: 19px; }
.open-bottom-cta { padding: 88px 0; color: #fff; background: #1769e8; text-align: center; }.open-bottom-cta h2 { margin: 0 0 30px; font-size: clamp(34px,5vw,48px); }
@media (max-width: 900px) { .prepare-grid,.install-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.membership-app-grid { grid-template-columns: 1fr; }.membership-app-card > p { min-height: 0; } }
@media (max-width: 760px) {
  .step-nav { top: 68px; }.step-nav__scroll { margin-inline: -16px; padding-inline: 10px; }.step-nav a { padding-inline: 10px; }
  .open-hero { padding: 64px 0 54px; }.open-hero__lead br { display: none; }.open-actions { display: grid; }.open-button { width: 100%; min-width: 0; }
  .open-actions--carrier { grid-template-columns: minmax(0,1fr); }
  .open-actions--carrier .open-button--kt,.open-actions--carrier .kt-device-lock-note,.open-actions--carrier .open-button--lg { grid-column: 1; grid-row: auto; }
  .kt-device-lock-note { justify-content: flex-start; padding: 10px 12px; font-size: 12.5px; }
  .step-layout,.hours-grid,.choice-grid,.usim-number-grid,.happy-call__inner { grid-template-columns: 1fr; }.step-layout { gap: 30px; }.step-copy { order: -1; }
  .open-heading { margin-bottom: 28px; }.simple-visual { min-height: 260px; }.security-callout { padding: 20px; }
  .auth-order { gap: 10px; }
  .happy-call__copy { padding: 23px; }
}

@media (prefers-reduced-motion: reduce) {
  .step-nav__scroll { scroll-behavior: auto; }
  .step-nav a,.step-nav a::after,.step-nav b { transition: none; }
}

/* 1.2.0 · 유심 보유/미보유 두 경로 */
.usim-route-step { background: linear-gradient(180deg,#fff,#f6f8fc); }
.usim-route-step .route-grid { margin-top: 38px; text-align: left; }
.online-coverage-checker { max-width: 820px; margin: 20px auto 0; text-align: left; }
.online-coverage-checker .coverage-actions { margin-bottom: 0; }

@media (max-width: 760px) {
  .usim-route-step .route-grid { margin-top: 27px; }
}
@media (max-width: 430px) {
  .open-page .container { width: min(calc(100% - 28px),var(--container)); }.open-page .brand-logo { width: 150px; }
  .prepare-grid,.install-grid { grid-template-columns: 1fr; }.prepare-grid article,.choice-grid article,.hours-grid article,.usim-number-grid article { padding: 22px; }
  .open-hero h1 { font-size: 38px; }.security-callout { display: block; }.security-callout > span { margin-bottom: 14px; }.easy-auth { padding: 22px; }
  .auth-order { grid-template-columns: 1fr; }.auth-order > b { transform: rotate(90deg); justify-self: center; }.auth-order > div { width: 100%; }
  .image-placeholder small { overflow-wrap: anywhere; }
  .membership-app-card { padding: 22px; }.store-actions { grid-template-columns: 1fr; }.app-install-note { text-align: left; }
}

/* 1.3.140 · 좁은 폭과 조약돌형 흐름으로 정돈한 온라인 개통 화면 */
.open-page {
  --open-shell: 1040px;
  background:
    radial-gradient(circle at 8% 7%,rgba(105,211,255,.17),transparent 24%),
    radial-gradient(circle at 94% 23%,rgba(169,121,255,.12),transparent 26%),
    #f4f8fe;
}
.open-page main { overflow: clip; }
.open-page main .container,.open-page .step-nav .container { width: min(calc(100% - 40px),var(--open-shell)); }
.open-hero { padding: 54px 0 28px; background: transparent; }
.open-hero__inner {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(42px,6vw,68px) clamp(28px,6vw,68px) clamp(34px,5vw,52px);
  border: 1px solid rgba(92,139,213,.18);
  border-radius: 44px 34px 48px 32px;
  background: linear-gradient(145deg,rgba(255,255,255,.97),rgba(239,247,255,.96));
  box-shadow: 0 24px 70px rgba(32,71,127,.11),inset 0 1px 0 rgba(255,255,255,.95);
}
.open-hero__inner::before,.open-hero__inner::after {
  content: "";
  position: absolute;
  z-index: -1;
  border-radius: 50%;
  filter: blur(1px);
}
.open-hero__inner::before { width: 260px; height: 260px; top: -150px; right: -72px; background: rgba(80,193,255,.17); }
.open-hero__inner::after { width: 190px; height: 190px; bottom: -112px; left: -58px; background: rgba(178,122,255,.12); }
.open-hero .eyebrow {
  display: inline-flex;
  margin-bottom: 15px;
  padding: 7px 13px;
  border-radius: 999px;
  color: #1769e8;
  background: #eaf3ff;
  letter-spacing: .11em;
}
.open-hero h1 { margin-bottom: 15px; font-size: clamp(40px,5.2vw,58px); }
.open-hero__lead { max-width: 680px; margin: 0 auto 26px; color: #5a6c84; font-size: clamp(16px,1.8vw,19px); line-height: 1.75; }
.open-journey {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);
  align-items: center;
  gap: 10px;
  max-width: 790px;
  margin: 0 auto 28px;
}
.open-journey a {
  min-width: 0;
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 1px 11px;
  align-items: center;
  min-height: 74px;
  padding: 12px 16px;
  border: 1px solid rgba(102,147,214,.18);
  border-radius: 34px 26px 35px 25px;
  color: #17345d;
  background: rgba(255,255,255,.82);
  box-shadow: 0 10px 24px rgba(41,82,139,.07);
  text-align: left;
  transition: transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.open-journey a:hover,.open-journey a:focus-visible { transform: translateY(-3px); border-color: #83b6f7; box-shadow: 0 15px 28px rgba(41,82,139,.13); }
.open-journey a > span { grid-row: 1 / 3; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; color: #fff; background: linear-gradient(145deg,#1769e8,#58b9ff); font-weight: 900; }
.open-journey a:nth-of-type(2) > span { background: linear-gradient(145deg,#7a55e9,#b078f3); }
.open-journey a:nth-of-type(3) > span { background: linear-gradient(145deg,#0c9487,#55cdb6); }
.open-journey small { color: #7c8da4; font-size: 11px; font-weight: 800; }
.open-journey strong { overflow-wrap: anywhere; font-size: 15px; line-height: 1.25; }
.open-journey i { color: #9cb5d7; font-style: normal; font-size: 19px; }
.open-actions__label { margin: 0 0 12px; color: #294568; font-size: 14px; font-weight: 850; }
.open-actions--carrier { max-width: 720px; margin: 0 auto; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.open-button {
  min-width: 0;
  min-height: 64px;
  padding: 9px 17px 9px 11px;
  border: 1px solid rgba(255,255,255,.5);
  border-radius: 999px 820px 999px 780px / 820px 999px 760px 999px;
  box-shadow: 0 14px 29px rgba(23,105,232,.22),inset 0 1px 0 rgba(255,255,255,.28);
}
.open-button > span:not(.sr-only) { font-size: 16px; }
.open-button b { margin-left: auto; font-size: 18px; }
.open-button__mark { flex: 0 0 44px; display: grid!important; place-items: center; width: 44px; height: 44px; border-radius: 50%; color: #1769e8; background: #fff; font-size: 12px!important; font-weight: 950; }
.open-button--lg .open-button__mark { color: #9a316f; }
.kt-device-lock-note { border-radius: 999px; background: rgba(255,249,233,.92); }
.open-text-link {
  margin-top: 17px;
  padding: 10px 16px;
  border: 1px solid #c7ddfa;
  border-radius: 999px;
  background: rgba(255,255,255,.72);
  font-size: 14px;
}
.step-nav { top: 72px; padding: 7px 0; border: 0; background: rgba(244,248,254,.9); box-shadow: 0 8px 20px rgba(30,68,123,.06); }
.step-nav__scroll { gap: 7px; }
.step-nav a { flex: 0 0 auto; margin: 0; padding: 10px 14px; border: 1px solid #dce8f7; border-radius: 999px; background: rgba(255,255,255,.92); box-shadow: 0 5px 12px rgba(35,73,125,.04); }
.step-nav a::after { display: none; }
.step-nav a.is-active { box-shadow: 0 8px 18px rgba(23,105,232,.22); }
.open-section { padding: 17px 0; background: transparent; }
.open-section--soft,.usim-route-step,.membership-app { background: transparent; }
.open-section > .container {
  padding: clamp(28px,5vw,52px);
  border: 1px solid rgba(97,137,194,.15);
  border-radius: 36px 28px 40px 30px;
  background: rgba(255,255,255,.93);
  box-shadow: 0 17px 45px rgba(34,70,121,.075);
}
.open-section--soft > .container { background: linear-gradient(145deg,rgba(247,251,255,.98),rgba(242,246,253,.98)); }
.open-heading { max-width: 690px; margin-bottom: 28px; }
.open-heading h2,.step-copy h2 { font-size: clamp(27px,3.4vw,38px); }
.prepare-grid,.install-grid { gap: 12px; }
.prepare-grid article,.choice-grid article,.hours-grid article,.usim-number-grid article,.install-grid article,.charge-card,.membership-app-card {
  border-color: rgba(93,137,201,.15);
  border-radius: 26px 22px 30px 20px;
  box-shadow: 0 10px 25px rgba(31,70,125,.06);
}
.prepare-grid article { padding: 23px; }
.prepare-grid article:nth-child(1) { background: linear-gradient(145deg,#fff,#edf6ff); }
.prepare-grid article:nth-child(2) { background: linear-gradient(145deg,#fff,#f3efff); }
.prepare-grid article:nth-child(3) { background: linear-gradient(145deg,#fff,#eafaf7); }
.prepare-grid article:nth-child(4) { background: linear-gradient(145deg,#fff,#fff3f8); }
.prepare-grid span,.install-grid span { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; color: #1769e8; background: #e7f2ff; }
.info-callout,.strong-note,.app-install-note { border-radius: 999px; }
.route-card { min-height: 0; border-radius: 31px 24px 34px 23px; }
.route-card__number { border-radius: 50%; }
.open-page .route-card__link,.number-transfer-choice > a,.delivery-tracking-link,.membership-recharge-link .button,.open-page .video-button { border-radius: 999px; }
.open-page .route-card__link { justify-content: center; }
.gps-coverage-button { border-radius: 38px 30px 40px 29px; }
.online-coverage-checker { max-width: 760px; padding: 24px; border-radius: 28px; background: #f8fbff; }
.security-callout,.easy-auth,.auth-order > div,.guide-image,.usim-guide-image { border-radius: 27px 22px 30px 21px; }
.auth-order span,.number-list span,.flow-list li::before { border-radius: 50%; }
.easy-auth > div > span { border-radius: 999px; }
.flow-list li { border-radius: 999px; }
.store-actions a { border-radius: 999px; }
.happy-call,.open-bottom-cta {
  width: min(calc(100% - 40px),var(--open-shell));
  margin: 17px auto;
  padding: 0;
  overflow: hidden;
  border-radius: 40px 30px 44px 32px;
  box-shadow: 0 22px 52px rgba(22,53,102,.16);
}
.happy-call > .container,.open-bottom-cta > .container { width: 100%; padding: clamp(34px,6vw,62px); }
.happy-call__copy { border-radius: 28px; }
.open-bottom-cta { margin-bottom: 38px; background: linear-gradient(145deg,#1769e8,#6655df); }
.open-bottom-cta .open-button { color: #15335e; }

/* 1.3.141 · 하단 유심 구매 버튼 가독성 보강 */
.open-bottom-cta .open-text-link--light,
.open-bottom-cta .open-text-link--light:visited {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 18px;
  padding: 12px 19px;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 999px;
  color: #fff;
  background: #113c8d;
  box-shadow: 0 10px 24px rgba(5,31,86,.28);
  font-weight: 900;
  text-shadow: 0 1px 2px rgba(0,20,60,.35);
}
.open-bottom-cta .open-text-link--light:hover,
.open-bottom-cta .open-text-link--light:focus-visible {
  color: #fff;
  border-color: #fff;
  background: #082d71;
  box-shadow: 0 13px 28px rgba(5,26,72,.38);
}

@media (max-width: 760px) {
  .open-page main .container { width: min(calc(100% - 24px),var(--open-shell)); }
  .open-page .step-nav .container { width: 100%; }
  .open-hero { padding: 26px 0 17px; }
  .open-hero__inner { padding: 31px 18px 27px; border-radius: 31px 25px 34px 23px; }
  .open-hero h1 { font-size: clamp(35px,10vw,44px); }
  .open-hero__lead { margin-bottom: 22px; font-size: 16px; }
  .open-journey { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; }
  .open-journey a { grid-template-columns: 1fr; justify-items: center; min-height: 94px; padding: 9px 5px; border-radius: 25px 20px 27px 19px; text-align: center; }
  .open-journey a > span { grid-row: auto; width: 32px; height: 32px; }
  .open-journey small { font-size: 10px; }
  .open-journey strong { font-size: 12px; line-height: 1.25; }
  .open-journey i { display: none; }
  .open-actions--carrier { grid-template-columns: 1fr; }
  .open-actions--carrier .open-button--kt,.open-actions--carrier .kt-device-lock-note,.open-actions--carrier .open-button--lg { grid-column: 1; grid-row: auto; }
  .open-button { width: 100%; min-height: 60px; }
  .kt-device-lock-note,.info-callout,.strong-note,.app-install-note { border-radius: 22px; }
  .step-nav__scroll { gap: 6px; margin-inline: 0; padding-inline: 12px; }
  .open-section { padding: 10px 0; }
  .open-section > .container { padding: 27px 20px; border-radius: 28px 23px 31px 22px; }
  .open-heading { margin-bottom: 23px; }
  .flow-list li { border-radius: 24px; }
  .happy-call,.open-bottom-cta { width: calc(100% - 24px); margin-block: 10px; border-radius: 30px 24px 33px 23px; }
  .happy-call > .container,.open-bottom-cta > .container { padding: 34px 22px; }
  .open-bottom-cta { margin-bottom: 25px; }
}

@media (max-width: 430px) {
  .open-page main .container { width: calc(100% - 20px); }
  .open-journey strong { font-size: 14px; }
  .prepare-grid article,.choice-grid article,.hours-grid article,.usim-number-grid article,.membership-app-card { padding: 20px; }
  .open-section > .container { padding: 24px 17px; }
  .happy-call,.open-bottom-cta { width: calc(100% - 20px); }
}
