:root {
  --blue: #087f5b;
  --blue-dark: #055f45;
  --blue-soft: #e8f7f0;
  --yellow: #ffd84d;
  --mint: #0ca678;
  --navy: #17211c;
  --ink: #17211c;
  --muted: #607068;
  --line: #d8e5dd;
  --surface: #f3f7f4;
  --white: #ffffff;
  --shadow: 0 12px 30px rgba(8, 78, 57, 0.08);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--navy);
  background: var(--white);
  font-family: Pretendard, "Noto Sans KR", "Apple SD Gothic Neo", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: 0;
  word-break: keep-all;
}
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { color: inherit; }
img { display: block; max-width: 100%; }
.skip-link { position: fixed; left: 12px; top: -80px; z-index: 9999; padding: 12px 16px; background: var(--navy); color: #fff; }
.skip-link:focus { top: 12px; }

.site-header { position: sticky; top: 0; z-index: 100; background: rgba(255, 255, 255, 0.98); border-bottom: 1px solid #dce9e1; box-shadow: 0 8px 28px rgba(7, 92, 65, .06); }
.header-inner { width: min(1180px, calc(100% - 28px)); height: 72px; margin: 0 auto; display: flex; align-items: center; gap: 10px; }
.brand { display: inline-flex; align-items: center; gap: 8px; min-width: 0; font-size: 18px; font-weight: 800; }
.brand img { width: 48px; height: 48px; object-fit: contain; border: 0; }
.brand b { color: var(--blue); }
.brand-name { min-width: 0; display: inline-flex; align-items: center; gap: 4px; line-height: 1; white-space: nowrap; }
.brand-name b { color: var(--blue); font-size: 16px; font-weight: 900; }
.brand-name em { color: var(--ink); font-size: 16px; font-style: normal; font-weight: 900; }
.desktop-nav { margin-left: auto; display: none; align-items: center; gap: 26px; font-size: 15px; font-weight: 700; }
.desktop-nav a:hover, .desktop-nav a:focus-visible { color: var(--blue); }
.header-chat { margin-left: auto; display: inline-flex; min-height: 46px; align-items: center; justify-content: center; gap: 7px; padding: 0 16px; border: 1px solid var(--blue); border-radius: 12px; background: #fff; color: var(--blue); font-weight: 900; box-shadow: 0 7px 18px rgba(8, 127, 91, .06); }
.header-chat::before { content: "•••"; width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; background: var(--blue); color: #fff; font-size: 9px; letter-spacing: 0; line-height: 1; }
.header-chat:hover, .header-chat:focus-visible { background: var(--blue-soft); }
.menu-toggle { flex: 0 0 44px; width: 44px; height: 44px; display: grid; place-content: center; gap: 6px; padding: 0; border: 0; border-radius: 0; background: transparent; cursor: pointer; }
.menu-toggle span { width: 27px; height: 3px; border-radius: 3px; background: var(--navy); transition: transform .2s ease, opacity .2s ease; }
.menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.menu-backdrop { position: fixed; inset: 68px 0 0; z-index: 98; background: rgba(17, 24, 39, .34); }
.mobile-menu { position: absolute; top: 68px; left: 0; right: 0; z-index: 99; padding: 18px max(16px, calc((100% - 560px) / 2)) 24px; border-bottom: 1px solid var(--line); background: #fff; box-shadow: 0 18px 35px rgba(17, 24, 39, .14); }
.mobile-menu-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; font-size: 18px; }
.mobile-menu-head button { width: 40px; height: 40px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 12px; background: var(--surface); font-size: 28px; line-height: 1; cursor: pointer; }
.mobile-menu-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.mobile-menu-grid a { min-height: 52px; display: flex; align-items: center; padding: 0 16px; border: 1px solid var(--line); border-radius: 14px; background: #fff; font-size: 15px; font-weight: 800; }
.mobile-menu-grid a:hover, .mobile-menu-grid a:focus-visible { border-color: var(--blue); color: var(--blue); background: var(--blue-soft); }
body.menu-open { overflow: hidden; }

.hero { position: relative; overflow: hidden; padding: 42px 0 44px; background: linear-gradient(145deg, #ffffff 0%, #f5fbf7 48%, #eef8f2 100%); border-bottom: 1px solid #dbe9e0; }
.hero::before { content: ""; position: absolute; width: 170px; height: 96px; right: -48px; top: 42px; border-radius: 100% 0 100% 0; background: rgba(148, 211, 171, .18); transform: rotate(-18deg); pointer-events: none; }
.hero::after { content: "✓"; position: absolute; left: -28px; top: 285px; width: 112px; height: 132px; display: grid; place-items: center; border: 2px solid rgba(8, 127, 91, .07); border-radius: 44% 44% 52% 52%; color: rgba(8, 127, 91, .11); font-size: 48px; font-weight: 900; transform: rotate(-8deg); pointer-events: none; }
.hero-inner, .section-inner, .final-inner, .footer-inner { width: min(1120px, calc(100% - 32px)); margin: 0 auto; }
.hero-inner { position: relative; z-index: 1; max-width: 920px; display: grid; gap: 34px; }
.hero-copy { text-align: center; }
.eyebrow, .section-kicker { margin: 0 0 16px; color: var(--blue); font-size: 14px; font-weight: 900; }
.hero .eyebrow { width: fit-content; margin-left: auto; margin-right: auto; padding: 8px 16px; border: 1px solid #b9dbc9; border-radius: 999px; background: rgba(255,255,255,.82); box-shadow: 0 8px 22px rgba(8, 127, 91, .05); }
.hero h1 { margin: 0; font-size: 42px; line-height: 1.12; letter-spacing: 0; }
.hero h1 strong { color: var(--blue); }
.hero-description { margin: 20px auto 0; max-width: 620px; color: #27352e; font-size: 16px; font-weight: 700; line-height: 1.6; }
.hero-description strong { color: var(--blue); }
.open-hours { width: fit-content; display: flex; align-items: center; justify-content: center; gap: 9px; margin: 20px auto 0; padding: 10px 18px; border: 1px solid #e0ebe5; border-radius: 999px; background: #fff; color: #27352e; font-size: 13px; font-weight: 800; box-shadow: 0 10px 24px rgba(8, 78, 57, .08); }
.open-hours span { display: inline-flex; align-items: center; gap: 5px; padding: 0; background: transparent; color: var(--blue); font-size: 12px; }
.open-hours span::before { content: "●"; font-size: 16px; line-height: 1; }
.hero-actions, .final-actions { display: grid; grid-template-columns: 1fr; gap: 10px; margin-top: 20px; }
.button { min-height: 56px; display: inline-flex; align-items: center; justify-content: center; padding: 0 20px; border: 1px solid transparent; border-radius: 12px; font-size: 17px; font-weight: 900; text-align: center; transition: transform 160ms ease, box-shadow 160ms ease; }
.button:hover { transform: translateY(-1px); }
.button:focus-visible, .choice-button:focus-visible, summary:focus-visible, .flow-back:focus-visible { outline: 3px solid rgba(20, 92, 255, 0.28); outline-offset: 3px; }
.button-primary { background: var(--blue); color: #fff; box-shadow: 0 10px 22px rgba(20, 92, 255, 0.22); }
.button-kakao { background: var(--yellow); color: #251f00; }
.button-white { background: #fff; color: var(--blue-dark); }
.hero-paths { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.hero-path { min-width: 0; overflow: hidden; display: grid; grid-template-rows: auto 1fr auto; border: 1px solid #cde2d5; border-radius: 18px; background: #fff; text-align: left; box-shadow: 0 16px 36px rgba(8,78,57,.10); transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease; }
.hero-path:hover { transform: translateY(-2px); border-color: #6bbb99; box-shadow: 0 14px 30px rgba(8,78,57,.11); }
.hero-path:focus-visible { outline: 3px solid #16835f; outline-offset: 3px; }
.hero-path:active { transform: scale(.985); }
.path-visual { height: 178px; display: grid; place-items: center; overflow: hidden; background: #edf8f2; }
.path-visual picture { display: block; width: 100%; height: 100%; }
.path-visual img { width: 100%; height: 100%; object-fit: cover; }
.path-visual-certificate img { width: 100%; height: 100%; }
.path-visual-id { background: #f4f8f6; }
.path-action { min-height: 56px; display: flex; align-items: center; justify-content: center; gap: 8px; margin: 0 14px 14px; padding: 0 16px; border-radius: 12px; background: var(--blue); color: #fff; font-size: 15px; font-weight: 900; box-shadow: 0 8px 18px rgba(8, 127, 91, .16); }
.path-chat .path-action { border: 1px solid var(--blue); background: #fff; color: var(--blue); box-shadow: none; }
.path-action i { flex: 0 0 auto; font-size: 18px; font-style: normal; }
.path-detail { min-height: 112px; display: grid; align-content: start; gap: 8px; padding: 18px 16px 14px; }
.path-detail b { display: block; font-size: 20px; line-height: 1.35; }
.path-detail small { color: var(--muted); font-size: 13px; line-height: 1.55; }
.path-mark { width: 26px; height: 26px; flex: 0 0 26px; display: grid; place-items: center; border-radius: 9px; background: var(--blue-soft); color: var(--blue); font-size: 10px; font-weight: 900; }
.path-chat .path-mark { background: #ddf8f2; color: #087d66; }

.section { padding: 70px 0; }
.section-heading { margin-bottom: 28px; text-align: center; }
.section-heading.compact { text-align: left; }
.section-heading h2 { margin: 0; font-size: 30px; line-height: 1.25; }
.section-heading > p:last-child { margin: 10px auto 0; max-width: 610px; color: var(--muted); }

.flow-section { background: linear-gradient(180deg, #fff 0%, #f5faf7 100%); }
.flow-inner { max-width: 760px; }
.flow-section .section-heading { margin-bottom: 30px; }
.flow-section .section-kicker { margin-bottom: 12px; font-size: 15px; }
.flow-section .section-heading h2 { font-size: 36px; }
.flow-progress { display: flex; align-items: center; justify-content: center; margin: -2px 0 32px; }
.flow-progress span { width: 42px; height: 42px; display: grid; place-items: center; border: 2px solid #cdd9d2; border-radius: 50%; background: #fff; color: #637169; font-size: 15px; font-weight: 900; }
.flow-progress span.is-active { border-color: var(--blue); background: var(--blue); color: #fff; }
.flow-progress i { width: 74px; height: 2px; background: #d6e1da; }
.flow-progress span.is-active + i { background: var(--blue); }
.flow-card { display: grid; gap: 22px; padding: 30px; border: 1px solid #d8e6de; border-radius: 22px; background: rgba(255,255,255,.94); box-shadow: 0 18px 42px rgba(8, 78, 57, 0.09); }
.flow-card[hidden] { display: none; }
.flow-number { width: 62px; height: 42px; display: grid; place-items: center; border-radius: 999px; background: var(--blue); color: #fff; font-size: 16px; font-weight: 900; box-shadow: 0 8px 18px rgba(8, 127, 91, .18); }
.flow-content h3 { margin: 0; font-size: 30px; line-height: 1.3; }
.flow-content > p { margin: 9px 0 24px; color: var(--muted); font-size: 16px; }
.choice-grid { display: grid; gap: 14px; }
.flow-card .choice-grid.two, .flow-card .choice-grid.three { grid-template-columns: 1fr; }
[data-inline-funnel] .flow-card[data-inline-step="network"] .choice-grid.network-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.choice-button { position: relative; width: 100%; min-height: 112px; display: flex; align-items: center; gap: 18px; padding: 18px 52px 18px 18px; border: 1px solid #e1e9e4; border-radius: 16px; background: #fff; text-align: left; cursor: pointer; box-shadow: 0 10px 24px rgba(15, 67, 49, .07); transition: border-color 160ms ease, transform 160ms ease, box-shadow 160ms ease; }
.choice-button::after { content: "›"; position: absolute; right: 22px; top: 50%; color: #9aa7a0; font-size: 30px; font-weight: 400; line-height: 1; transform: translateY(-52%); }
.choice-button:hover { border-color: #83bea3; transform: translateY(-2px); box-shadow: 0 14px 30px rgba(8, 127, 91, 0.11); }
.choice-button:active { transform: scale(.985); }
.choice-button.is-selected { border-color: var(--blue); background: var(--blue-soft); box-shadow: 0 0 0 3px rgba(8, 127, 91, .12); }
.sim-guide-link::after { content: "→"; color: var(--blue); font-size: 26px; font-weight: 800; }
.choice-button > span:last-child { min-width: 0; display: grid; gap: 2px; }
.choice-button b { font-size: 20px; }
.choice-button small { color: var(--muted); font-size: 14px; }
.choice-icon-image { flex: 0 0 78px; width: 78px; height: 78px; overflow: hidden; border-radius: 50%; background: #f2f8f4; }
.choice-icon-image img { width: 100%; height: 100%; object-fit: cover; }
.choice-icon { flex: 0 0 50px; width: 50px; height: 50px; display: grid; place-items: center; border-radius: 16px; font-size: 13px; font-weight: 900; }
.choice-icon.blue { color: var(--blue); background: var(--blue-soft); }
.choice-icon.mint { color: #087d66; background: #ddf8f2; }
.choice-icon.yellow { color: #725b00; background: #fff5c7; font-size: 24px; }
.choice-icon.question { flex-basis: 78px; width: 78px; height: 78px; border-radius: 22px; background: #e7f7ef; color: var(--blue); font-size: 38px; }
.sim-choice img { flex: 0 0 78px; width: 78px; height: 78px; object-fit: contain; border-radius: 12px; }
.flow-safe { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 24px 0 0 !important; color: #617068 !important; font-size: 14px !important; }
.flow-safe span { width: 22px; height: 22px; display: grid; place-items: center; border: 2px solid #38a57d; border-radius: 50%; color: #16835f; font-size: 11px; font-weight: 900; }
.flow-hours span { width: auto; min-width: 34px; padding: 0 7px; border: 0; border-radius: 999px; background: #e8f6ef; color: var(--blue); font-size: 10px; }
.flow-back { margin-top: 22px; padding: 6px 0; border: 0; background: transparent; color: #5a6675; font-size: 14px; font-weight: 800; text-decoration: underline; cursor: pointer; }

/*
 * The home activation flow is rendered in the hero on the current home
 * template.  Keep this contract data-attribute based so the preview and
 * production markup can share the same responsive treatment while the
 * existing flow-card tokens remain available to older snapshots.
 */
[data-inline-funnel] {
  position: relative;
  z-index: 2;
  width: min(100%, 820px);
  max-width: 100%;
  min-width: 0;
  margin: 0 auto;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  isolation: isolate;
}

[data-inline-funnel] > .section-inner,
[data-inline-funnel] > .flow-inner { width: 100%; max-width: none; }

[data-inline-funnel] [data-inline-step] {
  position: relative;
  z-index: 0;
  min-width: 0;
  min-height: 455px;
  display: grid;
  align-content: start;
  gap: 22px;
  overflow: visible;
  padding: clamp(22px, 3vw, 32px);
  border: 1px solid #d8e6de;
  border-radius: 20px;
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 14px 34px rgba(8, 78, 57, .08);
}

[data-inline-funnel] [data-inline-step][hidden] { display: none; }
[data-inline-funnel] [hidden] { display: none !important; }
[data-inline-funnel] [data-inline-step] > * { min-width: 0; }
[data-inline-funnel] [data-inline-step] h2,
[data-inline-funnel] [data-inline-step] h3,
[data-inline-funnel] [data-inline-step] p,
[data-inline-funnel] [data-inline-step] b,
[data-inline-funnel] [data-inline-step] small { overflow-wrap: anywhere; }

[data-inline-funnel] [data-inline-progress],
[data-inline-funnel] .flow-progress {
  width: 100%;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(6px, 1.5vw, 14px);
  margin: 0 auto clamp(16px, 2.5vw, 26px);
}

[data-inline-funnel] [data-inline-progress] > span,
[data-inline-funnel] [data-inline-progress] > li,
[data-inline-funnel] [data-inline-progress-step],
[data-inline-funnel] .flow-progress > span {
  width: 42px;
  min-width: 42px;
  height: 42px;
  min-height: 42px;
  flex: 0 0 42px;
  display: grid;
  place-items: center;
  border: 2px solid #cdd9d2;
  border-radius: 50%;
  background: #fff;
  color: #637169;
  font-size: 15px;
  font-weight: 900;
  list-style: none;
}

[data-inline-funnel] [data-inline-progress] > i,
[data-inline-funnel] [data-inline-progress] > hr,
[data-inline-funnel] [data-inline-progress-connector],
[data-inline-funnel] .flow-progress > i {
  width: auto;
  min-width: 16px;
  max-width: 74px;
  height: 2px;
  flex: 1 1 34px;
  margin: 0;
  border: 0;
  background: #d6e1da;
}

[data-inline-funnel] [data-inline-progress] [aria-current="step"],
[data-inline-funnel] [data-inline-progress] .is-active,
[data-inline-funnel] [data-inline-progress-step][aria-current="step"],
[data-inline-funnel] [data-inline-progress-step].is-active,
[data-inline-funnel] .flow-progress [aria-current="step"],
[data-inline-funnel] .flow-progress .is-active {
  border-color: var(--blue);
  background: var(--blue);
  color: #fff;
}

[data-inline-funnel] [data-inline-progress] [aria-current="step"] + i,
[data-inline-funnel] [data-inline-progress] [aria-current="step"] + hr,
[data-inline-funnel] [data-inline-progress] [aria-current="step"] + [data-inline-progress-connector],
[data-inline-funnel] .flow-progress .is-active + i { background: var(--blue); }

[data-inline-funnel] [data-inline-choices],
[data-inline-funnel] .inline-funnel-choices,
[data-inline-funnel] .choice-grid,
[data-inline-funnel] .flow-card .choice-grid.two,
[data-inline-funnel] .flow-card .choice-grid.three {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
}

[data-inline-funnel] button[data-inline-choice],
[data-inline-funnel] a[data-inline-choice],
[data-inline-funnel] [data-inline-choice],
[data-inline-funnel] [data-inline-action="answer"],
[data-inline-funnel] .choice-button {
  position: relative;
  min-width: 0;
  min-height: 64px;
  display: flex;
  align-items: center;
  cursor: pointer;
  overflow-wrap: anywhere;
}

[data-inline-funnel] button[data-inline-choice],
[data-inline-funnel] a[data-inline-choice] {
  width: 100%;
  justify-content: flex-start;
  text-align: left;
}

[data-inline-funnel] [data-inline-choice]:focus-visible,
[data-inline-funnel] [data-inline-action="answer"]:focus-visible,
[data-inline-funnel] [data-inline-back]:focus-visible,
[data-inline-funnel] [data-inline-reset]:focus-visible,
[data-inline-funnel] [data-inline-cta]:focus-visible,
[data-inline-funnel] .flow-back:focus-visible {
  outline: 3px solid #16835f;
  outline-offset: 4px;
}

/* Certificate choices reuse the rich hero-path card and must retain its
 * image/detail/action grid when the state-machine answer attribute is added. */
[data-inline-funnel] .hero-path[data-inline-action="answer"] {
  display: grid;
  grid-template-rows: auto 1fr auto;
  align-items: stretch;
}

[data-inline-funnel] [data-inline-choice][aria-pressed="true"],
[data-inline-funnel] [data-inline-choice].is-selected,
[data-inline-funnel] .choice-button[aria-pressed="true"],
[data-inline-funnel] .choice-button.is-selected {
  border-color: var(--blue);
  background: var(--blue-soft);
  box-shadow: 0 0 0 3px rgba(8, 127, 91, .12);
}

[data-inline-funnel] [data-inline-result],
[data-inline-funnel] [data-inline-step="result"] {
  align-content: center;
}

.flow-usim-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 18px 0 14px;
}

.flow-usim-option {
  min-width: 0;
  overflow: hidden;
  display: grid;
  grid-template-rows: 112px 1fr;
  border: 1px solid #cfe2d7;
  border-radius: 16px;
  background: #fff;
}

.flow-usim-option.is-kt { border-color: #9fce55; }
.flow-usim-option.is-lg { border-color: #55c9bf; }

.flow-usim-option > img {
  width: 100%;
  height: 112px;
  padding: 8px;
  object-fit: contain;
  background: #f8fcfa;
}

.flow-usim-option-body {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 11px 8px 9px;
  text-align: center;
}

.flow-usim-network {
  display: inline-flex;
  align-items: center;
  min-height: 21px;
  padding: 0 8px;
  border-radius: 999px;
  background: var(--blue-soft);
  color: var(--blue);
  font-size: 10px;
  font-weight: 900;
}

.flow-usim-option h4 {
  margin: 7px 0 0;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.3;
  letter-spacing: -.4px;
}

.flow-usim-option p {
  min-height: 38px;
  margin: 6px 0 10px !important;
  color: var(--muted) !important;
  font-size: 11px !important;
  line-height: 1.55;
}

.flow-usim-option p b { color: #33473d; }

.flow-usim-option a {
  width: 100%;
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  margin-top: auto;
  border-radius: 10px;
  background: var(--blue);
  color: #fff;
  font-size: 12px;
  font-weight: 900;
}

.flow-usim-option.is-lg a {
  border: 1px solid var(--blue);
  background: #fff;
  color: var(--blue);
}

[data-inline-funnel] .flow-result-actions .inline-result-action {
  min-height: 56px;
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 16px;
  border-radius: 12px;
  font-size: 15px;
  font-weight: 900;
  text-align: center;
}

[data-inline-funnel] .flow-result-actions .inline-result-action::after { content: none; }

[data-inline-funnel] .flow-result-actions .inline-result-primary {
  border: 1px solid var(--blue);
  background: var(--blue);
  color: #fff;
  box-shadow: 0 10px 22px rgba(8, 127, 91, .16);
}

[data-inline-funnel] .flow-result-actions .inline-result-secondary {
  border: 1px solid var(--blue);
  background: #fff;
  color: var(--blue);
  box-shadow: none;
}

[data-inline-funnel] [data-inline-result-actions],
[data-inline-funnel] .inline-funnel-actions,
[data-inline-funnel] .flow-result-actions,
[data-inline-funnel] .final-actions {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  margin-top: 6px;
}

[data-inline-funnel] button[data-inline-cta],
[data-inline-funnel] a[data-inline-cta],
[data-inline-funnel] [data-inline-cta],
[data-inline-funnel] [data-inline-result-action],
[data-inline-funnel] [data-home-open-check] {
  min-width: 0;
  min-height: 56px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 18px;
  border-radius: 12px;
  text-align: center;
  overflow-wrap: anywhere;
}

[data-inline-funnel] [data-inline-back],
[data-inline-funnel] [data-inline-reset],
[data-inline-funnel] .inline-funnel-back,
[data-inline-funnel] .inline-funnel-reset,
[data-inline-funnel] .flow-back {
  min-width: 44px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 12px;
  padding: 8px 12px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: #4e6056;
  font-size: 14px;
  font-weight: 800;
  text-decoration: underline;
  cursor: pointer;
}

[data-inline-funnel] [data-inline-back]:hover,
[data-inline-funnel] [data-inline-reset]:hover,
[data-inline-funnel] .inline-funnel-back:hover,
[data-inline-funnel] .inline-funnel-reset:hover,
[data-inline-funnel] .flow-back:hover { background: var(--blue-soft); color: var(--blue-dark); }

[data-inline-funnel] [data-inline-live]:not(.sr-only),
[data-inline-funnel] .inline-funnel-live:not(.sr-only) {
  min-width: 0;
  min-height: 1.5em;
  margin: 8px 0 0;
  color: #4e6056;
  font-size: 13px;
  font-weight: 700;
  overflow-wrap: anywhere;
}

@media (min-width: 768px) {
  [data-inline-funnel] [data-inline-choices],
  [data-inline-funnel] .inline-funnel-choices,
  [data-inline-funnel] .choice-grid,
  [data-inline-funnel] .flow-card .choice-grid.two,
  [data-inline-funnel] .flow-card .choice-grid.three,
  [data-inline-funnel] [data-inline-result-actions],
  [data-inline-funnel] .inline-funnel-actions,
  [data-inline-funnel] .flow-result-actions,
  [data-inline-funnel] .final-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  [data-inline-funnel] [data-inline-step] { min-height: 430px; }
}

@media (max-width: 380px) {
  [data-inline-funnel] {
    padding: 0;
    border-radius: 0;
  }

  [data-inline-funnel] [data-inline-step] {
    min-height: 500px;
    gap: 18px;
    padding: 20px;
    border-radius: 18px;
  }

  [data-inline-funnel] [data-inline-progress] > span,
  [data-inline-funnel] [data-inline-progress] > li,
  [data-inline-funnel] [data-inline-progress-step],
  [data-inline-funnel] .flow-progress > span {
    width: 38px;
    min-width: 38px;
    height: 38px;
    min-height: 38px;
    flex-basis: 38px;
  }

  [data-inline-funnel] [data-inline-progress],
  [data-inline-funnel] .flow-progress { gap: 5px; }

  [data-inline-funnel] [data-inline-choice],
  [data-inline-funnel] .choice-button { min-height: 64px; }
}

@media (prefers-reduced-motion: reduce) {
  [data-inline-funnel],
  [data-inline-funnel] *,
  [data-inline-funnel] *::before,
  [data-inline-funnel] *::after {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}

.section-heading-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 26px; }
.section-heading-row .section-heading { margin: 0; }
.section-heading-row > a, .text-link { color: var(--blue); font-size: 14px; font-weight: 900; white-space: nowrap; }
.plan-grid { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(280px, 86%); gap: 14px; margin-right: 0; padding: 2px 16px 14px 0; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; }
.plan-card { min-height: 350px; display: flex; flex-direction: column; padding: 22px; border: 1px solid var(--line); border-radius: 8px; background: #fff; scroll-snap-align: start; box-shadow: 0 9px 24px rgba(8,78,57,.06); }
.plan-card.featured { border: 2px solid var(--blue); }
.plan-card.plan-5g { border-color: var(--blue); background: #f4fbf7; }
.plan-card.plan-5g > a { background: var(--blue); }
.plan-badge { align-self: flex-start; padding: 6px 9px; border-radius: 999px; background: var(--blue-soft); color: var(--blue); font-size: 12px; font-weight: 900; }
.plan-badge.new-5g { background: var(--blue); color: #fff; }
.plan-badge.mint { color: #087d66; background: #dff8f2; }
.plan-badge.yellow { color: #695300; background: #fff2ad; }
.plan-card h3 { margin: 18px 0 4px; font-size: 23px; }
.price { margin: 0; color: var(--muted); }
.price strong { color: var(--navy); font-size: 30px; }
.plan-card ul { display: grid; gap: 10px; margin: 22px 0; padding: 18px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); list-style: none; color: #425063; }
.plan-card li::before { content: "✓"; margin-right: 8px; color: var(--mint); font-weight: 900; }
.plan-card > a { min-height: 48px; margin-top: auto; display: flex; align-items: center; justify-content: center; border-radius: 14px; background: var(--navy); color: #fff; font-weight: 900; }

.home-plan-surface { position: relative; overflow: clip; background: radial-gradient(circle at 50% 0, rgba(207, 244, 226, .78), transparent 38%), linear-gradient(180deg, #f7fcf9 0%, #ffffff 100%); }
.home-plan-inner { width: min(92%, 1380px); max-width: 1380px; }
.home-plan-heading { max-width: 900px; margin: 0 auto 34px; text-align: center; }
.home-plan-kicker { width: fit-content; margin: 0 auto 18px; padding: 10px 24px; border-radius: 999px; background: linear-gradient(135deg, #07946d, #087d5b); color: #fff; font-size: 21px; font-weight: 950; line-height: 1.35; letter-spacing: -.3px; }
.home-plan-heading h2 { margin: 0; color: var(--blue); font-size: clamp(54px, 5vw, 68px); line-height: 1.08; letter-spacing: -2px; }
.home-plan-lead { margin: 18px auto 0; color: #4e5e57; font-size: 20px; font-weight: 800; line-height: 1.5; }
.home-plan-header-actions { display: flex; justify-content: center; align-items: center; margin-bottom: 24px; }
.home-plan-tabs { width: min(486px, 100%); min-height: 58px; display: flex; padding: 0; border: 2px solid var(--blue); border-radius: 20px; background: #fff; box-shadow: 0 10px 28px rgba(8, 78, 57, .08); overflow: hidden; }
.home-plan-tabs button { flex: 1 1 50%; min-width: 0; min-height: 54px; padding: 10px 18px; border: 0; border-radius: 0; background: transparent; color: #51675d; font-size: 20px; font-weight: 950; cursor: pointer; }
.home-plan-tabs button[aria-selected="true"] { background: linear-gradient(135deg, #07946d, #087d5b); color: #fff; box-shadow: none; }
.home-plan-tabs button:focus-visible,
.home-plan-filters button:focus-visible,
.home-partner-logo-button:focus-visible,
.home-plan-price-link:focus-visible,
.home-plan-all-link:focus-visible,
.home-plan-empty a:focus-visible { outline: 3px solid rgba(8, 127, 91, .34); outline-offset: 3px; }
.home-plan-icon-sprite { position: absolute; width: 0; height: 0; overflow: hidden; pointer-events: none; }
.home-plan-all-link { min-height: 44px; display: flex; align-items: center; justify-content: center; gap: 5px; margin: 24px auto 0; color: var(--blue); font-size: 15px; font-weight: 950; white-space: nowrap; }
.home-plan-source { margin: 24px auto 0; color: var(--muted); font-size: 13px; line-height: 1.7; text-align: center; overflow-wrap: anywhere; }
.home-plan-source a { color: var(--blue); text-decoration: underline; text-underline-offset: 3px; }
.home-plan-filters { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 14px; margin-bottom: 40px; }
.home-plan-filters button { min-width: 116px; min-height: 50px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 8px 18px; border: 2px solid #a9d9c1; border-radius: 999px; background: #fff; color: #087d5b; font-size: 16px; font-weight: 950; cursor: pointer; transition: border-color 160ms ease, color 160ms ease, background 160ms ease, transform 160ms ease; }
.home-plan-filters button:hover { border-color: #58af88; color: var(--blue); transform: translateY(-1px); }
.home-plan-filters button[aria-pressed="true"] { border-color: var(--blue); background: linear-gradient(135deg, #07946d, #087d5b); color: #fff; }
.home-plan-filter-icon { width: 25px; height: 25px; flex: 0 0 25px; display: inline-grid; place-items: center; }
.home-plan-filter-icon svg { width: 100%; height: 100%; display: block; }
.home-plan-filters[hidden],
.home-postpaid-partner-strip[hidden] { display: none; }
.home-postpaid-partner-strip { width: min(895px, 100%); margin: 0 auto 40px; text-align: center; }
.home-postpaid-partner-title { margin: 0 0 9px; color: #415148; font-size: 13px; font-weight: 800; letter-spacing: -.025em; }
.home-postpaid-partner-options { display: flex; align-items: flex-start; justify-content: center; gap: 12px; }
.home-partner-logo-button { width: 92px; min-width: 0; display: grid; justify-items: center; gap: 5px; padding: 5px 4px 6px; border: 1px solid transparent; border-radius: 12px; background: transparent; color: #5a6760; font-size: 11px; font-weight: 700; line-height: 1.25; cursor: pointer; scroll-snap-align: center; transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, color 160ms ease; }
.home-partner-logo-button img { display: block; width: 56px; height: 56px; object-fit: contain; border-radius: 50%; }
.home-partner-logo-button:hover { background: #f3faf6; color: var(--blue); }
.home-partner-logo-button.is-active { border-color: #9ccdb2; background: #eef9f2; color: var(--blue); box-shadow: inset 0 0 0 2px rgba(8, 119, 71, .18); }
.home-partner-logo-button.is-active span { font-weight: 900; text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 4px; }
.home-plan-status { margin: 0; }
.home-plan-grid {
  --home-plan-slide-width: min(82%, 340px);
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: var(--home-plan-slide-width);
  grid-template-columns: none;
  align-items: stretch;
  gap: 12px;
  width: 100%;
  max-width: none;
  margin: -20px 0 0;
  padding: 20px max(22px, calc((100% - var(--home-plan-slide-width)) / 2)) 10px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: max(22px, calc((100% - var(--home-plan-slide-width)) / 2));
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.home-plan-grid::-webkit-scrollbar { display: none; }
.home-plan-card { position: relative; min-width: 0; min-height: 430px; display: flex; flex-direction: column; overflow: hidden; border: 1px solid #d6e4dc; border-radius: 20px; background: #fff; box-shadow: 0 14px 34px rgba(8, 78, 57, .09); transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease; }
.home-plan-card { width: 100%; scroll-snap-align: center; scroll-snap-stop: always; }
.home-plan-card:hover { border-color: #7abf9b; box-shadow: 0 16px 34px rgba(8, 78, 57, .11); transform: translateY(-2px); }
.home-plan-card[hidden], .home-plan-empty[hidden] { display: none; }
.home-plan-card-click-area { position: absolute; z-index: 1; inset: 0; border-radius: inherit; }
.home-plan-card-click-area:focus-visible { outline: 3px solid #f3aa00; outline-offset: 3px; }
.home-plan-card-body { position: relative; z-index: 2; min-width: 0; flex: 1; display: flex; flex-direction: column; padding: 32px; pointer-events: none; }
.home-plan-card--badged { position: relative; overflow: visible; }
.home-plan-card--badged .home-plan-card-body { padding-top: 38px; }
.home-plan-card-tags { min-height: 23px; display: flex; align-items: center; gap: 6px; margin: 0 0 12px; }
.home-plan-card-tag { min-height: 22px; display: inline-flex; align-items: center; justify-content: center; padding: 3px 9px; border-radius: 999px; font-size: 11px; font-weight: 900; line-height: 1.15; white-space: nowrap; }
.home-plan-card-tag--network { background: #edf5ff; color: #2e68a2; }
.home-plan-card-tag--billing { background: #e4f6eb; color: #087d5b; }
.home-plan-card-tag--partner { margin-left: auto; background: #d9f3e2; color: #126941; }
.home-plan-badge { position: absolute; z-index: 2; top: 0; left: 50%; transform: translate(-50%, -50%); min-height: 30px; display: inline-flex; align-items: center; justify-content: center; gap: 5px; padding: 6px 14px; border: 1px solid transparent; border-radius: 999px; white-space: nowrap; font-size: 13px; font-weight: 950; letter-spacing: -.1px; line-height: 1.2; box-shadow: 0 8px 18px rgba(8, 78, 57, .14); }
.home-plan-badge--popular,
.home-plan-badge--new { background: var(--yellow); border-color: var(--yellow); color: var(--navy); }
.home-plan-badge-mark { width: 20px; height: 20px; flex: 0 0 20px; display: inline-grid; place-items: center; border-radius: 50%; background: var(--navy); color: var(--yellow); font-size: 11px; font-weight: 950; line-height: 1; }
.home-plan-card h3 { margin: 0; color: var(--navy); font-size: 28px; line-height: 1.3; letter-spacing: -.7px; }
.home-plan-summary { min-height: 56px; margin: 9px 0 0; color: #53645c; font-size: 17px; line-height: 1.55; }
.home-plan-benefits { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: 0; margin: auto 0 0; padding: 24px 0 0; border-top: 1px solid #e2ece6; list-style: none; color: #3f594d; }
.home-plan-benefits li { min-width: 0; display: flex; flex-direction: column; align-items: center; padding: 0 12px; text-align: center; border-right: 1px solid #e1ebe5; }
.home-plan-benefits li:first-child { padding-left: 0; }
.home-plan-benefits li:last-child { padding-right: 0; border-right: 0; }
.home-plan-benefit-icon { width: 64px; height: 64px; order: 0; margin: 0 auto; display: grid; place-items: center; border-radius: 50%; background: #e7f7ef; color: var(--blue); }
.home-plan-benefit-icon svg { width: 34px; height: 34px; display: block; }
.home-plan-benefit-label { display: block; order: 3; margin-top: 9px; color: #53665c; font-size: 13px; font-weight: 800; line-height: 1.3; }
.home-plan-benefits li strong { display: block; order: 1; margin-top: 10px; color: var(--navy); font-size: 20px; line-height: 1.3; letter-spacing: -.35px; }
.home-plan-benefits li small { display: block; order: 2; margin-top: 4px; color: #617068; font-size: 13px; line-height: 1.35; }
.home-plan-benefits--two { grid-template-columns: repeat(2, minmax(0, 1fr)); width: 72%; margin-inline: auto; }
.home-plan-price-link { position: relative; z-index: 3; min-height: 70px; display: flex; align-items: center; justify-content: center; gap: 7px; border-top: 1px solid rgba(255,255,255,.14); border-radius: 0 0 19px 19px; background: linear-gradient(135deg, #07946d, #087d5b); color: #fff; font-size: 32px; font-weight: 950; letter-spacing: -.7px; }
.home-plan-price-link:hover { background: var(--blue-dark); }
.home-plan-price-link:focus-visible { outline: 3px solid #fff; outline-offset: -6px; }
.home-plan-price-period { color: rgba(255,255,255,.86); font-size: 14px; font-weight: 800; letter-spacing: 0; }
.home-plan-empty { display: grid; justify-items: center; gap: 16px; padding: 38px 22px; border: 1px solid #d7e6dd; border-radius: 18px; background: #fff; text-align: center; box-shadow: 0 12px 30px rgba(8, 78, 57, .06); }
.home-plan-empty p { margin: 0; color: var(--navy); font-size: 17px; font-weight: 900; }
.home-plan-empty a { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 5px; padding: 8px 18px; border-radius: 12px; background: var(--blue); color: #fff; font-size: 14px; font-weight: 900; }
.home-plan-carousel-controls { min-height: 44px; display: flex; align-items: center; justify-content: center; gap: 18px; margin: 8px auto 0; }
.home-plan-carousel-controls[hidden] { display: none; }
.home-plan-carousel-arrow { width: 40px; height: 40px; flex: 0 0 40px; display: inline-grid; place-items: center; padding: 0; border: 1px solid #a9d9c1; border-radius: 50%; background: #fff; color: var(--blue); font-size: 20px; font-weight: 900; line-height: 1; cursor: pointer; transition: border-color 160ms ease, background 160ms ease, color 160ms ease, transform 160ms ease; }
.home-plan-carousel-arrow:hover:not(:disabled) { border-color: var(--blue); background: var(--blue-soft); transform: translateY(-1px); }
.home-plan-carousel-arrow:disabled { border-color: #d9e7df; color: #a4b5ac; background: #f8fbf9; cursor: not-allowed; }
.home-plan-carousel-arrow:focus-visible,
.home-plan-pagination button:focus-visible { outline: 3px solid rgba(8, 127, 91, .34); outline-offset: 3px; }
.home-plan-pagination { min-width: 78px; display: flex; align-items: center; justify-content: center; gap: 0; }
.home-plan-pagination button {
  position: relative;
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  cursor: pointer;
}
.home-plan-pagination button::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #c9dbd1;
  transform: translate(-50%, -50%);
  transition: width 160ms ease, background 160ms ease, transform 160ms ease;
}
.home-plan-pagination button[aria-current="true"]::before { width: 22px; background: var(--blue); }
.home-plan-pagination button:hover::before { background: #6cba93; transform: translate(-50%, -50%) scale(1.15); }

.section.home-trust-section { padding: 74px 0; background: #fff; }
.section-inner.home-trust-inner { width: min(1216px, calc(100% - 32px)); max-width: none; }
.home-trust-panel { --trust-line: #a9cfbd; --trust-mint: #eaf7f0; --trust-copy: #26382f; position: relative; padding: clamp(40px, 4vw, 52px) clamp(24px, 4vw, 48px) 32px; border-block: 1px solid #cfe2d7; background: linear-gradient(180deg, #fff 0%, #f8fcfa 100%); }
.home-trust-heading { display: grid; grid-template-columns: minmax(0, .92fr) minmax(360px, 1.08fr); align-items: end; gap: clamp(40px, 7vw, 96px); }
.home-trust-title-group { min-width: 0; }
.home-trust-heading h2 { max-width: 10em; margin: 0; color: var(--navy); font-size: clamp(42px, 4.5vw, 56px); font-weight: 950; line-height: 1.18; letter-spacing: -.035em; text-wrap: balance; }
.home-trust-heading h2 span { display: block; }
.home-trust-intro { max-width: 590px; margin: 0 0 4px; color: var(--trust-copy); font-size: clamp(16px, 1.65vw, 19px); font-weight: 600; line-height: 1.75; letter-spacing: -.015em; }
.home-trust-intro strong { color: inherit; font-weight: 800; }
.home-trust-timeline { position: relative; margin: 56px 0 36px; }
.home-trust-milestones { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; margin: 0; padding: 0; list-style: none; }
.home-trust-milestones::before { content: ""; position: absolute; top: 43px; right: calc(100% / 6); left: calc(100% / 6); z-index: 0; height: 2px; background: var(--trust-line); }
.home-trust-milestone { position: relative; min-width: 0; display: flex; flex-direction: column; align-items: center; color: var(--blue); text-align: center; }
.home-trust-icon { position: relative; z-index: 1; width: 88px; height: 88px; display: grid; flex: 0 0 auto; place-items: center; overflow: hidden; border: 1px solid #b9d9c9; border-radius: 50%; background: #fff; color: var(--blue); }
.home-trust-icon > img { width: 64px; height: 64px; max-width: 100%; display: block; object-fit: contain; pointer-events: none; user-select: none; }
.home-trust-milestone-copy { min-width: 0; margin-top: 20px; padding-inline: 12px; }
.home-trust-milestone-copy strong { display: block; color: var(--blue); font-size: clamp(27px, 2.6vw, 32px); font-weight: 950; line-height: 1.1; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.home-trust-milestone-copy p { margin: 10px 0 0; color: var(--navy); font-size: 17px; font-weight: 750; line-height: 1.55; text-wrap: balance; }
.home-trust-milestone-copy small { display: block; margin-top: 5px; color: #31443a; font-size: 14px; font-weight: 700; line-height: 1.55; text-wrap: balance; }
.home-trust-milestone.is-current .home-trust-icon { border-color: #5da98a; background: var(--trust-mint); box-shadow: 0 8px 18px rgba(8, 127, 91, .1); }
.home-trust-milestone.is-current .home-trust-milestone-copy p { margin-top: 8px; }
.home-trust-evidence { min-height: 88px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 12px 12px 12px 20px; border-top: 1px solid #cfe2d7; background: rgba(255, 255, 255, .58); }
.home-trust-evidence-body { min-width: 0; display: flex; align-items: center; gap: 24px; }
.home-trust-evidence-title { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 10px; color: var(--blue); font-size: 15px; font-weight: 950; white-space: nowrap; }
.home-trust-evidence-icon { width: 32px; height: 32px; display: grid; flex: 0 0 auto; place-items: center; overflow: hidden; }
.home-trust-evidence-icon img { width: 28px; height: 28px; max-width: 100%; display: block; object-fit: contain; pointer-events: none; user-select: none; }
.home-trust-sources { min-width: 0; display: flex; flex-wrap: wrap; align-items: center; }
.home-trust-sources a { min-height: 44px; display: inline-flex; align-items: center; padding: 4px clamp(14px, 2vw, 24px); border-left: 1px solid #dbe8e0; color: #4f6258; font-size: 14px; font-weight: 650; line-height: 1.45; white-space: normal; transition: color 160ms ease, background 160ms ease; }
.home-trust-sources a:hover { color: var(--blue); }
.home-trust-sources time { margin-left: 4px; }
.home-trust-sources a:focus-visible,
.home-trust-primary:focus-visible { outline: 3px solid rgba(8, 127, 91, .28); outline-offset: 3px; }
.home-trust-primary { min-height: 48px; display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; gap: 14px; padding: 0 14px; border-radius: 10px; color: var(--blue); font-size: 15px; font-weight: 950; line-height: 1.35; transition: color 160ms ease, background 160ms ease, transform 160ms ease; }
.home-trust-primary:hover { background: var(--blue-soft); color: var(--blue-dark); transform: translateX(2px); }
.home-trust-primary > svg { width: 22px; height: 22px; display: block; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; shape-rendering: geometricPrecision; }
.home-trust-primary > svg path { vector-effect: non-scaling-stroke; }

@media (max-width: 899px) {
  .home-trust-heading { grid-template-columns: 1fr; gap: 20px; }
  .home-trust-heading h2 { font-size: clamp(38px, 6.4vw, 48px); }
  .home-trust-intro { max-width: 680px; margin-bottom: 0; }
  .home-trust-evidence { align-items: stretch; }
  .home-trust-evidence-body { flex-wrap: wrap; gap: 12px 18px; }
  .home-trust-sources a:first-child { padding-left: 0; border-left: 0; }
}

@media (max-width: 719px) {
  .section.home-trust-section { padding: 50px 0; }
  .section-inner.home-trust-inner { width: min(100% - 24px, 560px); }
  .home-trust-panel { padding: 36px 20px 20px; }
  .home-trust-heading { gap: 16px; }
  .home-trust-heading h2 { font-size: clamp(32px, 9vw, 36px); line-height: 1.22; letter-spacing: -.035em; }
  .home-trust-intro { color: #33473d; font-size: 16px; font-weight: 650; line-height: 1.7; letter-spacing: -.015em; }
  .home-trust-intro br { display: none; }
  .home-trust-timeline { margin: 40px 0 28px; }
  .home-trust-milestones { grid-template-columns: 1fr; gap: 32px; }
  .home-trust-milestones::before { top: 40px; right: auto; bottom: 40px; left: 39px; width: 2px; height: auto; }
  .home-trust-milestone { min-height: 80px; display: grid; grid-template-columns: 80px minmax(0, 1fr); align-items: center; gap: 20px; text-align: left; }
  .home-trust-icon { width: 80px; height: 80px; }
  .home-trust-icon > img { width: 56px; height: 56px; }
  .home-trust-milestone-copy { margin: 0; padding: 0; }
  .home-trust-milestone-copy strong { font-size: 27px; }
  .home-trust-milestone-copy p,
  .home-trust-milestone.is-current .home-trust-milestone-copy p { margin-top: 6px; font-size: 16px; line-height: 1.5; }
  .home-trust-milestone-copy small { margin-top: 3px; font-size: 14px; line-height: 1.5; }
  .home-trust-evidence { min-height: 0; display: block; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
  .home-trust-evidence-body { display: grid; gap: 8px; padding: 16px; border-top: 1px solid #cfe2d7; background: rgba(255, 255, 255, .62); }
  .home-trust-evidence-title { gap: 8px; font-size: 14px; }
  .home-trust-evidence-icon { width: 28px; height: 28px; }
  .home-trust-sources { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 8px; }
  .home-trust-sources a,
  .home-trust-sources a:first-child { min-height: 44px; padding: 6px 0; border: 0; color: #52655b; font-size: 13px; }
  .home-trust-primary { width: 100%; min-height: 50px; margin-top: 11px; padding: 0 14px; border-radius: 10px; background: var(--blue); color: #fff; font-size: 14px; box-shadow: 0 8px 18px rgba(8, 127, 91, .16); }
  .home-trust-primary:hover { background: var(--blue-dark); color: #fff; transform: translateY(-1px); }
}

@media (max-width: 380px) {
  .home-trust-panel { padding-inline: 16px; }
  .home-trust-heading h2 { font-size: 32px; }
  .home-trust-milestone { gap: 16px; }
  .home-trust-sources { grid-template-columns: 1fr; }
}

.section.faq-section {
  padding: 52px 0 74px;
  border-top: 1px solid #cce3d8;
  background: linear-gradient(180deg, #eff7f2 0%, #f9fdfb 100%);
}
.section-inner.faq-inner { width: min(1216px, calc(100% - 32px)); max-width: none; }
.home-faq-layout {
  display: grid;
  grid-template-columns: minmax(290px, 392px) minmax(0, 760px);
  align-items: center;
  justify-content: space-between;
  gap: 64px;
}
.home-faq-intro { min-width: 0; padding: 8px 0 8px 16px; border-left: 4px solid var(--blue); }
.home-faq-intro .section-heading { margin: 0; }
.home-faq-intro .section-kicker { margin-bottom: 17px; color: var(--blue); font-size: 14px; }
.home-faq-intro .section-heading h2 {
  color: var(--blue-dark);
  font-size: clamp(38px, 3.8vw, 46px);
  font-weight: 950;
  line-height: 1.16;
  letter-spacing: -1.8px;
}
.home-faq-intro .section-heading h2 span { display: block; }
.home-faq-lead {
  max-width: 340px;
  margin: 22px 0 0;
  color: #2f463e;
  font-size: 17px;
  line-height: 1.65;
}
.home-faq-hours {
  max-width: 340px;
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 26px 0 0;
  padding-top: 18px;
  border-top: 1px solid #bdd3c7;
  color: #234a3f;
  font-size: 14px;
  line-height: 1.4;
}
.home-faq-hours-dot { width: 9px; height: 9px; flex: 0 0 9px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 5px rgba(8, 127, 91, .14); }
.home-faq-hours strong { color: var(--blue-dark); font-weight: 900; }
.home-faq-hours > span:last-child { margin-left: auto; font-variant-numeric: tabular-nums; }
.text-link.home-faq-link { min-height: 44px; display: inline-flex; align-items: center; gap: 9px; margin-top: 22px; color: var(--blue-dark); font-size: 15px; font-weight: 900; }
.text-link.home-faq-link > span { font-size: 18px; transition: transform 160ms ease; }
.text-link.home-faq-link:hover > span { transform: translateX(3px); }
.text-link.home-faq-link:focus-visible { outline: 3px solid rgba(5, 95, 69, .35); outline-offset: 3px; border-radius: 4px; }
.faq-list {
  overflow: hidden;
  border: 1px solid #9ed0b8;
  border-radius: 16px;
  background: #f5fcf7;
  box-shadow: 0 14px 30px rgba(8, 78, 57, .1);
}
.faq-list details { border-bottom: 1px solid #c7ddd3; }
.faq-list details:last-child { border-bottom: 0; }
.faq-list details[open] { background: #e5f6ec; border-color: #93c8af; box-shadow: inset 4px 0 0 var(--blue), inset 0 -1px 0 rgba(8, 127, 91, .1); }
.faq-list details:hover summary { background: #eaf9f2; }
.faq-list summary {
  min-height: 84px;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 34px;
  align-items: center;
  gap: 16px;
  padding: 20px 24px;
  color: #12372c;
  cursor: pointer;
  list-style: none;
}
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary:focus-visible { position: relative; z-index: 1; outline: 3px solid rgba(5, 95, 69, .38); outline-offset: -3px; }
.faq-list .faq-index { color: var(--blue-dark); font-size: 14px; font-weight: 950; font-variant-numeric: tabular-nums; letter-spacing: .04em; }
.faq-list .faq-question { min-width: 0; font-size: 17px; font-weight: 850; line-height: 1.45; }
.faq-list details[open] .faq-question { color: #0e5d43; }
.faq-list .faq-toggle { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; border: 1px solid #9fd1bb; background: #d7efe3; color: var(--blue-dark); font-size: 22px; line-height: 1; transition: transform 160ms ease, background 160ms ease; }
.faq-list details[open] .faq-toggle { background: #c0ebd8; border-color: var(--blue); color: #0b5a43; transform: rotate(45deg); }
.faq-list details p { margin: -4px 0 0; padding: 0 72px 24px 82px; color: #425b52; font-size: 15px; line-height: 1.72; }
.text-link { display: inline-block; margin-top: 20px; }

@media (max-width: 899px) {
  .home-faq-layout { grid-template-columns: minmax(250px, 320px) minmax(0, 1fr); gap: 34px; }
  .home-faq-intro .section-heading h2 { font-size: 39px; }
  .home-faq-lead { font-size: 15px; }
  .faq-list summary { grid-template-columns: 34px minmax(0, 1fr) 32px; gap: 12px; padding-inline: 18px; }
  .faq-list .faq-question { font-size: 16px; }
  .faq-list details p { padding-right: 58px; padding-left: 64px; }
}

@media (max-width: 719px) {
  .section.faq-section { padding: 46px 0 56px; }
  .section-inner.faq-inner { width: min(100% - 24px, 560px); }
  .home-faq-layout { grid-template-columns: 1fr; gap: 26px; }
  .home-faq-intro { padding-inline: 6px; }
  .home-faq-intro .section-kicker { margin-bottom: 11px; font-size: 13px; }
  .home-faq-intro .section-heading h2 { font-size: clamp(30px, 9vw, 35px); line-height: 1.18; letter-spacing: -1.2px; }
  .home-faq-intro .section-heading h2 span { display: inline; }
  .home-faq-intro .section-heading h2 span + span::before { content: " "; }
  .home-faq-lead { max-width: 100%; margin-top: 13px; font-size: 14px; line-height: 1.65; }
  .home-faq-hours { max-width: 100%; gap: 8px; margin-top: 18px; padding-top: 15px; font-size: 12px; }
  .home-faq-hours-dot { width: 8px; height: 8px; flex-basis: 8px; box-shadow: 0 0 0 4px rgba(12, 166, 120, .1); }
  .home-faq-link { margin-top: 13px; font-size: 14px; }
  .faq-list { border-radius: 14px; }
  .faq-list summary { min-height: 76px; grid-template-columns: 28px minmax(0, 1fr) 30px; gap: 10px; padding: 16px; }
  .faq-list .faq-index { font-size: 12px; }
  .faq-list .faq-question { font-size: 15px; line-height: 1.5; }
  .faq-list .faq-toggle { width: 30px; height: 30px; font-size: 20px; }
  .faq-list details p { margin-top: -2px; padding: 0 18px 20px 54px; font-size: 13px; line-height: 1.7; }
}

.home-help-section {
  padding: 54px 0;
  background: linear-gradient(180deg, #f2faf6 0%, #ffffff 100%);
  border-top: 1px solid #e0eee6;
}
.home-help-inner { max-width: 1120px; }
.home-help-heading { max-width: 780px; margin: 0 auto 30px; text-align: center; }
.home-help-kicker {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  margin: 0 0 14px;
  padding: 7px 16px;
  border-radius: 999px;
  background: var(--blue);
  color: #fff;
  font-size: 14px;
  font-weight: 900;
  line-height: 1.2;
}
.home-help-heading h2 {
  margin: 0;
  color: var(--ink);
  font-size: clamp(28px, 3.5vw, 44px);
  line-height: 1.2;
  letter-spacing: -.04em;
}
.home-help-lead {
  max-width: 620px;
  margin: 12px auto 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.65;
}
.home-help-grid { display: grid; grid-template-columns: 1fr; gap: 14px; }
.home-help-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 22px 20px 0;
  border: 1px solid #cfe3d7;
  border-radius: 20px;
  background: #fff;
  box-shadow: var(--shadow);
  transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}
.home-help-card:hover {
  transform: translateY(-2px);
  border-color: #6bbb99;
  box-shadow: 0 16px 34px rgba(8, 78, 57, .13);
}
.home-help-card:focus-visible {
  outline: 3px solid rgba(8, 127, 91, .32);
  outline-offset: 4px;
}
.home-help-number {
  width: 42px;
  height: 32px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: var(--blue-soft);
  color: var(--blue);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .03em;
}
.home-help-card-copy { display: grid; gap: 9px; margin-top: 18px; }
.home-help-card-copy h3 { margin: 0; color: var(--ink); font-size: 20px; line-height: 1.35; letter-spacing: -.03em; }
.home-help-card-copy p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.65; overflow-wrap: anywhere; }
.home-help-link {
  min-height: 50px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 22px -20px 0;
  padding: 0 20px;
  background: var(--blue);
  color: #fff;
  font-size: 14px;
  font-weight: 900;
}
.home-help-link span { flex: 0 0 auto; font-size: 18px; line-height: 1; }

@media (min-width: 620px) and (max-width: 899px) {
  .home-help-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-help-card:last-child { grid-column: 1 / -1; }
}

@media (min-width: 900px) {
  .home-help-section { padding: 82px 0; }
  .home-help-heading { margin-bottom: 34px; }
  .home-help-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
  .home-help-card { padding: 26px 24px 0; }
  .home-help-card-copy { margin-top: 20px; }
  .home-help-card-copy h3 { font-size: 21px; }
  .home-help-link { margin: 24px -24px 0; padding-inline: 24px; }
}

@media (prefers-reduced-motion: reduce) {
  .home-help-card { transition: none; }
}

.site-footer { padding: 38px 0 110px; background: #14231d; color: #c9d9d1; }
.footer-inner { font-size: 13px; }
.footer-inner b { color: #fff; font-size: 16px; }
.footer-inner p { margin: 8px 0 0; }
.footer-inner a { text-decoration: underline; }

.mobile-cta { position: fixed; left: 0; right: 0; bottom: 0; z-index: 150; display: grid; grid-template-columns: 1fr 1.15fr; gap: 10px; padding: 8px 12px calc(8px + env(safe-area-inset-bottom)); background: rgba(255,255,255,.96); border-top: 1px solid #e3ece7; box-shadow: 0 -8px 26px rgba(17,24,39,.11); }
.mobile-cta a { min-height: 58px; display: flex; align-items: center; justify-content: center; gap: 9px; border-radius: 16px; font-size: 16px; font-weight: 900; }
.mobile-cta a:first-child { background: var(--yellow); color: #251f00; }
.mobile-cta a:last-child { background: var(--blue); color: #fff; }
.mobile-cta span { display: inline-grid; place-items: center; font-weight: 900; }
.cta-kakao-mark { width: 28px; height: 28px; display: inline-grid; place-items: center; border-radius: 0; background: transparent url("/kakao-channel-logo.webp") center / contain no-repeat; color: transparent; font-size: 0; letter-spacing: 0; }
.cta-open-mark { width: 22px; height: 28px; color: #fff; font-size: 27px; line-height: 1; }

/* Phones keep both certificate choices side by side so users can compare the
 * two paths at a glance. The mobile density is intentionally closer to a
 * choice tile than the richer desktop card. */
@media (max-width: 619px) {
  .hero {
    padding-top: 22px;
    padding-bottom: 28px;
  }

  .hero .hero-inner { gap: 18px; }

  .hero .eyebrow {
    margin-bottom: 10px;
    padding: 6px 12px;
    font-size: 12px;
  }

  .hero .hero-copy h1 {
    font-size: clamp(34px, 9.2vw, 38px);
    line-height: 1.08;
    letter-spacing: -.7px;
  }

  .hero .hero-description {
    margin-top: 12px;
    font-size: 14px;
    line-height: 1.5;
  }

  .hero .open-hours {
    margin-top: 12px;
    padding: 7px 12px;
    font-size: 11px;
  }

  .hero .open-hours span { font-size: 11px; }

  [data-inline-funnel] {
    padding: 0;
    border-radius: 0;
  }

  [data-inline-funnel] .section-heading { margin-bottom: 12px; }

  [data-inline-funnel] .section-kicker {
    margin-bottom: 5px;
    font-size: 12px;
  }

  [data-inline-funnel] .section-heading h2 {
    font-size: clamp(24px, 7vw, 28px);
    line-height: 1.2;
    letter-spacing: -.65px;
  }

  [data-inline-funnel] .section-heading > p:last-child {
    margin-top: 5px;
    font-size: 12px;
  }

  [data-inline-funnel] .flow-progress {
    gap: 5px;
    margin-bottom: 10px;
  }

  [data-inline-funnel] .flow-progress > span,
  [data-inline-funnel] [data-inline-progress-step] {
    width: 34px;
    min-width: 34px;
    height: 34px;
    min-height: 34px;
    flex-basis: 34px;
    font-size: 13px;
  }

  [data-inline-funnel] [data-inline-step] {
    min-height: 0;
    gap: 12px;
    padding: 12px;
  }

  [data-inline-funnel] [data-inline-step] .flow-number {
    width: 52px;
    height: 36px;
    margin-right: auto;
    margin-left: auto;
    font-size: 14px;
  }

  [data-inline-funnel] [data-inline-step] .flow-content > h3,
  [data-inline-funnel] [data-inline-step] .flow-content > p {
    text-align: center;
  }

  [data-inline-funnel] .flow-content h3 {
    font-size: clamp(21px, 5.8vw, 23px);
    letter-spacing: -.55px;
  }

  [data-inline-funnel] [data-inline-step] .flow-content > p {
    margin-top: 5px;
    margin-bottom: 14px;
    font-size: 13px;
    line-height: 1.5;
  }

  [data-inline-funnel] .hero-paths {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  [data-inline-funnel] .hero-path {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: 118px auto auto;
    border-radius: 16px;
  }

  [data-inline-funnel] .hero-path.path-open { border-color: #9fce55; }
  [data-inline-funnel] .hero-path.path-chat { border-color: #55c9bf; }

  [data-inline-funnel] .hero-path .path-visual {
    grid-column: 1;
    grid-row: 1;
    width: 100%;
    height: 118px;
    min-height: 0;
    padding: 7px;
    background: #fbfdfb;
  }

  [data-inline-funnel] .hero-path .path-visual img {
    object-fit: contain;
    object-position: center;
  }

  [data-inline-funnel] .hero-path .path-detail {
    grid-column: 1;
    grid-row: 2;
    min-height: 0;
    gap: 5px;
    padding: 12px 6px 7px;
    text-align: center;
  }

  [data-inline-funnel] .hero-path .path-detail b {
    font-size: clamp(12px, 3.5vw, 14px);
    line-height: 1.3;
    letter-spacing: -.7px;
    white-space: nowrap;
  }

  [data-inline-funnel] .hero-path .path-detail small {
    min-height: 32px;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    font-size: 11px;
    line-height: 1.45;
  }

  [data-inline-funnel] .hero-path .path-action {
    grid-column: 1;
    grid-row: 3;
    min-height: 44px;
    justify-content: center;
    gap: 8px;
    margin: 0 8px 10px;
    padding: 0 9px;
    font-size: 12px;
    line-height: 1.25;
    white-space: nowrap;
  }

  [data-inline-funnel] .hero-path .path-action i { font-size: 16px; }

  [data-inline-funnel] [data-inline-step="sim"] .choice-grid.two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  [data-inline-funnel] [data-inline-step="sim"] .choice-button {
    min-height: 194px;
    flex-direction: column;
    justify-content: flex-start;
    gap: 9px;
    padding: 16px 7px 34px;
    border-radius: 16px;
    text-align: center;
  }

  [data-inline-funnel] [data-inline-step="sim"] .choice-button:first-child { border-color: #9fce55; }
  [data-inline-funnel] [data-inline-step="sim"] .choice-button:last-child { border-color: #55c9bf; }

  [data-inline-funnel] [data-inline-step="sim"] .choice-button::after {
    content: "→";
    top: auto;
    right: 50%;
    bottom: 10px;
    color: var(--blue);
    font-size: 18px;
    font-weight: 900;
    transform: translateX(50%);
  }

  [data-inline-funnel] [data-inline-step="sim"] .choice-icon-image {
    width: 68px;
    height: 68px;
    flex-basis: 68px;
  }

  [data-inline-funnel] [data-inline-step="sim"] .choice-button > span:last-child {
    width: 100%;
    place-items: center;
  }

  [data-inline-funnel] [data-inline-step="sim"] .choice-button b {
    font-size: clamp(14px, 3.8vw, 16px);
    line-height: 1.35;
    letter-spacing: -.45px;
  }

  [data-inline-funnel] [data-inline-step="sim"] .choice-button small {
    min-height: 32px;
    font-size: 11px;
    line-height: 1.45;
  }

  [data-inline-funnel] [data-inline-step="network"] .network-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  [data-inline-funnel] [data-inline-step="network"] .choice-button {
    min-height: 194px;
    flex-direction: column;
    justify-content: flex-start;
    gap: 9px;
    padding: 16px 7px 34px;
    border-radius: 16px;
    text-align: center;
  }

  [data-inline-funnel] [data-inline-step="network"] .choice-button:first-child { border-color: #9fce55; }
  [data-inline-funnel] [data-inline-step="network"] .choice-button:last-child { border-color: #55c9bf; }

  [data-inline-funnel] [data-inline-step="network"] .choice-button::after {
    content: "→";
    top: auto;
    right: 50%;
    bottom: 10px;
    color: var(--blue);
    font-size: 18px;
    font-weight: 900;
    transform: translateX(50%);
  }

  [data-inline-funnel] [data-inline-step="network"] .sim-choice > img {
    width: 68px;
    height: 68px;
    flex-basis: 68px;
  }

  [data-inline-funnel] [data-inline-step="network"] .choice-button > span:last-child {
    width: 100%;
    place-items: center;
  }

  [data-inline-funnel] [data-inline-step="network"] .choice-button b {
    font-size: clamp(14px, 3.8vw, 16px);
    line-height: 1.35;
    letter-spacing: -.45px;
  }

  [data-inline-funnel] [data-inline-step="network"] .choice-button small {
    min-height: 32px;
    font-size: 11px;
    line-height: 1.45;
  }
}

@media (max-width: 340px) {
  [data-inline-funnel] [data-inline-step] { padding: 10px; }
  [data-inline-funnel] .hero-paths { gap: 6px; }
  [data-inline-funnel] .hero-path { grid-template-rows: 100px auto auto; }
  [data-inline-funnel] .hero-path .path-visual { height: 100px; padding: 5px; }
  [data-inline-funnel] .hero-path .path-detail { padding-inline: 4px; }
  [data-inline-funnel] .hero-path .path-detail b { font-size: 12px; letter-spacing: -.9px; }
  [data-inline-funnel] .hero-path .path-detail small { font-size: 10px; }
  [data-inline-funnel] .hero-path .path-action {
    margin-inline: 6px;
    padding-inline: 6px;
  }

  [data-inline-funnel] [data-inline-step="sim"] .choice-grid.two { gap: 6px; }
  [data-inline-funnel] [data-inline-step="sim"] .choice-button {
    min-height: 176px;
    padding: 12px 4px 30px;
  }
  [data-inline-funnel] [data-inline-step="sim"] .choice-icon-image {
    width: 58px;
    height: 58px;
    flex-basis: 58px;
  }
  [data-inline-funnel] [data-inline-step="sim"] .choice-button b { font-size: 13px; }
  [data-inline-funnel] [data-inline-step="sim"] .choice-button small { font-size: 10px; }

  [data-inline-funnel] [data-inline-step="network"] .network-grid { gap: 6px; }
  [data-inline-funnel] [data-inline-step="network"] .choice-button {
    min-height: 176px;
    padding: 12px 4px 30px;
  }
  [data-inline-funnel] [data-inline-step="network"] .sim-choice > img {
    width: 58px;
    height: 58px;
    flex-basis: 58px;
  }
  [data-inline-funnel] [data-inline-step="network"] .choice-button b { font-size: 13px; }
  [data-inline-funnel] [data-inline-step="network"] .choice-button small { font-size: 10px; }
}

@media (min-width: 620px) {
  .hero-actions, .final-actions { grid-template-columns: 1fr 1fr; }
  .hero-paths { grid-template-columns: 1fr 1fr; gap: 22px; }
  .path-visual { height: auto; aspect-ratio: 1 / 1; padding: 0; background: #f8fcfa; }
  .path-visual img { object-fit: contain; object-position: center; }
  .mobile-cta { left: auto; right: 20px; bottom: 20px; width: min(430px, calc(100% - 40px)); transform: none; padding: 8px; border: 1px solid #dce9e1; border-radius: 20px; box-shadow: 0 16px 38px rgba(17,24,39,.16); }
  .flow-card .choice-grid.two, .flow-card .choice-grid.three { grid-template-columns: 1fr; }
  .choice-grid.three .choice-button { flex-direction: row; align-items: center; }
  .plan-grid { grid-auto-columns: minmax(280px, 46%); }
}

@media (min-width: 900px) {
  [data-inline-funnel] [data-inline-step="certificate"] .flow-number,
  [data-inline-funnel] [data-inline-step="sim"] .flow-number,
  [data-inline-funnel] [data-inline-step="network"] .flow-number { margin-inline: auto; }
  [data-inline-funnel] [data-inline-step="certificate"] .flow-content > h3,
  [data-inline-funnel] [data-inline-step="certificate"] .flow-content > p,
  [data-inline-funnel] [data-inline-step="sim"] .flow-content > h3,
  [data-inline-funnel] [data-inline-step="sim"] .flow-content > p,
  [data-inline-funnel] [data-inline-step="network"] .flow-content > h3,
  [data-inline-funnel] [data-inline-step="network"] .flow-content > p { text-align: center; }

  .site-header { position: sticky; }
  .header-inner { height: 78px; }
  .desktop-nav { display: flex; }
  .menu-toggle, .mobile-menu, .menu-backdrop { display: none !important; }
  .header-chat { margin-left: 10px; min-width: 112px; }
  .hero { padding: 66px 0 58px; }
  .hero-inner { max-width: 1120px; gap: 34px; }
  .hero h1 { font-size: 64px; }
  .hero-description { font-size: 18px; }
  .hero-paths { gap: 26px; }
  .path-detail { min-height: 118px; padding: 22px 24px 16px; }
  .path-detail b { font-size: 25px; }
  .path-detail small { font-size: 15px; }
  .path-action { min-height: 62px; margin: 0 22px 22px; padding: 0 22px; font-size: 18px; }
  .hero-actions { max-width: 580px; margin-left: auto; margin-right: auto; }
  .section { padding: 94px 0; }
  .section-heading h2 { font-size: 38px; }
  .flow-card { grid-template-columns: 1fr; padding: 36px; }
  .plan-grid { grid-auto-flow: row; grid-template-columns: repeat(5, 1fr); margin: 0; padding: 2px; overflow: visible; }
  .site-footer { padding-bottom: 126px; }
  .mobile-cta { right: 24px; bottom: 24px; width: min(430px, calc(100% - 48px)); }
  .mobile-cta a { min-height: 56px; border-radius: 14px; font-size: 15px; }
}

@media (max-width: 899px) {
  .header-inner { gap: 8px; }
  .brand { gap: 6px; }
  .brand img { width: 40px; height: 40px; }
  .brand-name { gap: 3px; }
  .brand-name b, .brand-name em { font-size: 13px; }
  .header-chat { min-height: 42px; padding: 0 8px; font-size: 12px; }
}

@media (max-width: 480px) {
  .flow-card { gap: 18px; padding: 22px; border-radius: 18px; }
  .flow-content h3 { font-size: 25px; }
  .flow-content > p { margin-bottom: 20px; font-size: 14px; }
  .choice-button { min-height: 102px; gap: 12px; padding: 12px 40px 12px 12px; }
  .choice-button::after { right: 16px; }
  .choice-button b { font-size: 18px; }
  .choice-button small { font-size: 12px; }
  .choice-icon-image, .sim-choice img { flex-basis: 68px; width: 68px; height: 68px; }
  .choice-icon.question { flex-basis: 68px; width: 68px; height: 68px; font-size: 34px; }
}

@media (max-width: 380px) {
  .header-inner, .hero-inner, .section-inner, .final-inner, .footer-inner { width: min(100% - 24px, 1120px); }
  .header-inner { gap: 6px; }
  .brand { gap: 5px; }
  .brand img { width: 36px; height: 36px; }
  .brand-name { gap: 3px; }
  .brand-name b, .brand-name em { font-size: 12px; }
  .header-chat { min-height: 40px; padding: 0 6px; font-size: 11px; }
  .menu-toggle { flex-basis: 40px; width: 40px; height: 40px; }
  .hero h1 { font-size: 36px; }
  .hero-description { font-size: 15px; }
  .hero { padding-top: 34px; }
  .hero-inner { gap: 28px; }
  .hero-paths { gap: 8px; }
  .hero-path { border-radius: 14px; }
  .path-visual { height: 148px; }
  .path-detail { min-height: 112px; padding: 15px 11px 12px; }
  .path-detail b { font-size: 17px; }
  .path-detail small { font-size: 11px; }
  .path-action { min-height: 52px; margin: 0 9px 9px; padding: 0 10px; font-size: 13px; }
  .hero-support { font-size: 12px; }
  .section-heading h2 { font-size: 27px; }
  .flow-section .section-heading h2 { font-size: 31px; }
  .flow-progress span { width: 38px; height: 38px; }
  .flow-progress i { width: 52px; }
  .flow-card { gap: 18px; padding: 20px; border-radius: 18px; }
  .flow-content h3 { font-size: 22px; }
  .flow-content > p { margin-bottom: 18px; font-size: 14px; }
  .choice-button { min-height: 98px; gap: 12px; padding: 12px 38px 12px 12px; }
  .choice-button::after { right: 15px; }
  .choice-button b { font-size: 17px; }
  .choice-button small { font-size: 12px; }
  .choice-icon-image, .sim-choice img { flex-basis: 64px; width: 64px; height: 64px; }
  .choice-icon.question { flex-basis: 64px; width: 64px; height: 64px; font-size: 32px; }
}

@media (max-width: 619px) {
  .home-plan-heading { margin-bottom: 28px; }
  .home-plan-kicker { margin-bottom: 14px; padding: 8px 17px; font-size: 16px; }
  .home-plan-heading h2 { font-size: clamp(44px, 12vw, 52px); letter-spacing: -1.3px; }
  .home-plan-lead { margin-top: 13px; font-size: 17px; line-height: 1.5; }
  .home-plan-header-actions { margin-bottom: 18px; }
  .home-plan-tabs { width: 100%; min-height: 52px; border-radius: 18px; }
  .home-plan-tabs button { min-height: 48px; padding-inline: 8px; font-size: 17px; }
  .home-plan-filters { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-bottom: 36px; }
  .home-plan-filters button { min-width: 0; min-height: 58px; gap: 4px; padding: 6px 4px; font-size: 13px; }
  .home-plan-filter-icon { width: 22px; height: 22px; flex-basis: 22px; }
  .home-postpaid-partner-strip { width: 100%; margin-bottom: 30px; overflow: hidden; }
  .home-postpaid-partner-title { margin-bottom: 8px; font-size: 12px; }
  .home-postpaid-partner-options { width: 100%; justify-content: flex-start; gap: 8px; padding: 2px 14px 8px; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x proximity; overscroll-behavior-x: contain; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .home-postpaid-partner-options::-webkit-scrollbar { display: none; }
  .home-partner-logo-button { width: 72px; flex: 0 0 72px; gap: 4px; padding: 4px 3px 5px; font-size: 10px; }
  .home-partner-logo-button img { width: 48px; height: 48px; }
  .home-plan-grid { --home-plan-slide-width: clamp(220px, calc(100vw - 100px), 340px); gap: 12px; }
  .home-plan-card { min-height: 400px; }
  .home-plan-card-body { padding: 28px 24px; }
  .home-plan-card-tags { gap: 5px; margin-bottom: 10px; }
  .home-plan-card-tag { padding-inline: 7px; font-size: 10px; }
  .home-plan-card h3 { font-size: 26px; }
  .home-plan-summary { min-height: 56px; font-size: 16px; }
  .home-plan-benefits { padding-top: 22px; }
  .home-plan-benefit-icon { width: 56px; height: 56px; }
  .home-plan-benefit-icon svg { width: 30px; height: 30px; }
  .home-plan-benefit-label { margin-top: 9px; font-size: 12px; }
  .home-plan-benefits li strong { font-size: 18px; }
  .home-plan-benefits li small { font-size: 12px; }
  .home-plan-price-link { min-height: 76px; font-size: 30px; }
  .home-plan-all-link { margin-top: 20px; }
}

@media (min-width: 620px) and (max-width: 899px) {
  .home-plan-grid { gap: 24px; }
}

@media (min-width: 900px) {
  .home-plan-inner { width: min(92%, 1380px); max-width: 1380px; }
  .home-plan-heading h2 { font-size: clamp(54px, 5vw, 68px); }
  .home-plan-grid { gap: 24px; }
}

@media (min-width: 1200px) {
  .home-plan-inner { width: min(90%, 1380px); max-width: 1380px; }
  .home-plan-grid { gap: 24px; }
}

@media (min-width: 620px) {
  .home-plan-grid {
    display: grid;
    grid-auto-flow: row;
    grid-auto-columns: auto;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    width: min(100%, 920px);
    max-width: 920px;
    margin: 0 auto;
    padding: 0;
    overflow: visible;
    scroll-snap-type: none;
    scroll-padding-inline: 0;
    overscroll-behavior-x: auto;
    -webkit-overflow-scrolling: auto;
    scrollbar-width: auto;
  }
  .home-plan-grid[data-visible-count="1"] {
    grid-template-columns: minmax(0, 448px);
    justify-content: center;
  }
  .home-plan-card {
    width: 100%;
    scroll-snap-align: none;
    scroll-snap-stop: normal;
  }
  .home-plan-grid[data-home-plan-carousel="true"] {
    grid-auto-flow: column;
    grid-auto-columns: calc((100% - 24px) / 2);
    grid-template-columns: none;
    justify-content: normal;
    margin: -20px auto 0;
    padding: 20px 0 10px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 0;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .home-plan-grid[data-home-plan-carousel="true"]::-webkit-scrollbar { display: none; }
  .home-plan-grid[data-home-plan-carousel="true"]::after {
    content: "";
    display: block;
    min-width: 0;
    pointer-events: none;
  }
  .home-plan-grid[data-home-plan-carousel="true"] .home-plan-card {
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }
  .home-plan-carousel-controls[hidden] { display: none !important; }
}

@media (max-width: 380px) {
  .home-plan-heading h2 { font-size: 44px; }
  .home-plan-card { min-height: 380px; }
  .home-plan-card-body { padding: 24px 20px; }
  .home-plan-card h3 { font-size: 24px; }
  .home-plan-summary { min-height: 52px; font-size: 14px; }
  .home-plan-filters { gap: 6px; }
  .home-plan-filters button { gap: 2px; padding-inline: 2px; font-size: 12px; }
  .home-plan-filter-icon { width: 20px; height: 20px; flex-basis: 20px; }
  .home-plan-benefits { padding-top: 18px; }
  .home-plan-benefits li { padding-inline: 4px; }
  .home-plan-benefit-icon { width: 50px; height: 50px; }
  .home-plan-benefit-icon svg { width: 26px; height: 26px; }
  .home-plan-benefit-label { margin-top: 7px; font-size: 11px; }
  .home-plan-benefits li strong { max-width: 100%; font-size: 15px; overflow-wrap: anywhere; word-break: break-word; }
  .home-plan-benefits li small { font-size: 11px; }
  .home-plan-price-link { min-height: 70px; font-size: 28px; }
}

@media (prefers-reduced-motion: reduce) {
  .home-plan-card,
  .home-plan-filters button,
  .home-partner-logo-button,
  .home-plan-carousel-arrow,
  .home-plan-pagination button { transition: none; }
  .home-plan-card:hover { transform: none; }
  .home-plan-grid { scroll-behavior: auto; }
}

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

.face-popup,
.face-guide-dialog { position: fixed; inset: 0; z-index: 320; display: grid; place-items: center; padding: 18px; }
.face-popup[hidden],
.face-guide-dialog[hidden] { display: none; }
.face-popup-shade { position: absolute; inset: 0; background: rgba(12, 29, 21, .54); backdrop-filter: blur(4px); }
.face-popup-card { position: relative; z-index: 1; width: min(100%, 390px); overflow: hidden; border: 1px solid #d5e6dc; border-radius: 24px; background: #fff; box-shadow: 0 24px 70px rgba(10, 35, 23, .32); }
.face-popup-image { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; }
.face-popup-cta { position: relative; width: calc(100% - 24px); min-height: 66px; display: flex; align-items: center; justify-content: center; gap: 12px; margin: 0 12px 12px; padding: 14px 18px; overflow: hidden; border: 2px solid rgba(255, 255, 255, .72); border-radius: 17px; background: linear-gradient(135deg, #087f5b 0%, #0b966c 52%, #087f5b 100%); color: #fff; font-size: 19px; font-weight: 950; box-shadow: 0 12px 26px rgba(8, 127, 91, .32), inset 0 1px 0 rgba(255, 255, 255, .25); cursor: pointer; transition: transform .18s ease, box-shadow .18s ease; }
.face-popup-cta span { color: #fff; background: linear-gradient(110deg, #fff 32%, #fff 42%, #fff3a0 49%, #fff 56%, #fff 68%); background-size: 240% 100%; background-position: 120% 0; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; animation: facePopupCtaShine 2.6s ease-in-out infinite; }
.face-popup-cta b { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 50%; background: rgba(255, 255, 255, .16); color: #fff; font-size: 23px; line-height: 1; transition: transform .18s ease, background .18s ease; }
.face-popup-cta:hover { transform: translateY(-3px); box-shadow: 0 17px 32px rgba(8, 127, 91, .38), inset 0 1px 0 rgba(255, 255, 255, .3); }
.face-popup-cta:hover b { transform: translateX(3px); background: rgba(255, 255, 255, .24); }
.face-popup-cta:focus-visible { outline: 4px solid var(--yellow); outline-offset: 3px; }
@keyframes facePopupCtaShine { 0%, 28% { background-position: 120% 0; } 68%, 100% { background-position: -120% 0; } }
@media (prefers-reduced-motion: reduce) { .face-popup-cta span { animation: none; -webkit-text-fill-color: #fff; } }
.face-dialog-close { position: absolute; z-index: 2; top: 3.5%; right: 3.5%; width: 11%; aspect-ratio: 1; padding: 0; border: 0; border-radius: 50%; background: transparent; color: transparent; cursor: pointer; }
.face-dialog-close:focus-visible { outline: 3px solid var(--yellow); outline-offset: 3px; }
.face-guide-dialog { padding: 12px; background: rgba(12, 29, 21, .64); }
.face-guide-panel { width: min(100%, 480px); height: min(calc(100dvh - 32px), 820px); display: grid; grid-template-rows: minmax(0, 1fr) auto; overflow: hidden; border: 1px solid #cfe3d8; border-radius: 24px; background: #f5faf7; box-shadow: 0 24px 70px rgba(10, 35, 23, .36); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.face-guide-close { top: 10px; right: 10px; width: 38px; background: rgba(255, 255, 255, .94); color: var(--navy); font-size: 27px; line-height: 1; box-shadow: 0 6px 16px rgba(23, 68, 45, .12); }
.face-guide-stage { position: relative; min-height: 0; display: grid; grid-template-rows: auto minmax(0, 1fr); gap: 12px; overflow: hidden; padding: 18px 14px 12px; background: linear-gradient(180deg, #f8fcfa 0%, #eef7f1 100%); }
.face-guide-heading { padding: 0 44px; text-align: center; }
.face-guide-heading > span { display: inline-flex; align-items: center; min-height: 28px; padding: 5px 11px; border-radius: 999px; background: #ffda45; color: #2c2600; font-size: 12px; font-weight: 950; }
.face-guide-heading > span strong { margin-left: 3px; color: #d83932; font-size: 1.18em; }
.face-guide-heading h2 { margin: 8px 0 0; color: var(--navy); font-size: 22px; line-height: 1.28; }
.face-guide-heading p { margin: 5px 0 0; color: var(--muted); font-size: 13px; font-weight: 700; line-height: 1.5; }
.face-guide-media { min-height: 0; display: grid; grid-template-rows: minmax(0, 1fr) auto; gap: 8px; justify-items: center; overflow: hidden; }
.face-guide-player { display: block; width: auto; height: 100%; max-width: 100%; max-height: 100%; aspect-ratio: 1080 / 2338; border: 2px solid #b8dfcf; border-radius: 16px; background: #111; object-fit: contain; box-shadow: 0 12px 28px rgba(23, 68, 45, .16); }
.face-guide-player:focus-visible { outline: 3px solid var(--yellow); outline-offset: 3px; }
.face-guide-downloads { width: 100%; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.face-guide-downloads a { min-width: 0; min-height: 45px; display: flex; align-items: center; justify-content: center; gap: 8px; padding: 6px 9px; border: 1px solid #9bcbb6; border-radius: 11px; background: #fff; color: var(--navy); text-decoration: none; }
.face-guide-downloads a:hover { border-color: var(--blue); background: #f4fbf7; }
.face-guide-downloads a:focus-visible { outline: 3px solid var(--yellow); outline-offset: 2px; }
.face-guide-store-logo { width: 21px; height: 24px; flex: 0 0 auto; }
.face-guide-store-logo--apple { width: 23px; height: 23px; }
.face-guide-downloads b, .face-guide-downloads small { display: block; white-space: nowrap; }
.face-guide-downloads b { font-size: 11px; line-height: 1.15; }
.face-guide-downloads small { margin-top: 2px; color: #718078; font-size: 9px; line-height: 1; }
.face-guide-footer { padding: 9px 10px calc(10px + env(safe-area-inset-bottom)); border-top: 1px solid #d9e8df; background: #fff; }
.face-guide-actions { display: grid; }
.face-guide-back { min-height: 54px; display: flex; align-items: center; justify-content: center; gap: 8px; padding: 10px 18px; border: 1px solid #b9d6c5; border-radius: 14px; background: #fff; color: var(--blue); font-size: 16px; font-weight: 900; cursor: pointer; }
.face-guide-back:hover { background: #edf8f2; }
.face-guide-back:focus-visible { outline: 3px solid var(--yellow); outline-offset: 2px; }
.guide-cta-icon { display: grid; place-items: center; min-width: 27px; height: 27px; border-radius: 50%; background: #251f00; color: #ffe66a; font-size: 8px; font-weight: 900; letter-spacing: 0; }
.face-guide-primary .guide-cta-icon { width: auto; min-width: 0; height: auto; border-radius: 0; background: transparent; color: #ffdc53; font-size: 23px; }
body.face-dialog-open { overflow: hidden; }
.home-guide-open-label { display: inline-flex; align-items: center; justify-content: center; gap: 4px; }
.home-guide-open-label strong { color: #d83932; }
.home-guide-open-star { color: #e5a400; font-size: 1.15em; }

@media (min-width: 620px) {
  .face-popup,
  .face-guide-dialog { padding: 30px; }
  .face-popup-card { max-width: 430px; }
  .face-guide-panel { max-height: min(820px, calc(100vh - 60px)); }
  .face-guide-stage { padding-inline: 34px; }
}

@media (max-width: 380px) {
  .face-popup { padding: 12px; }
  .face-popup-card { width: min(100%, 356px); border-radius: 20px; }
  .face-popup-cta { min-height: 60px; padding-inline: 14px; font-size: 17px; }
  .face-guide-dialog { padding: 8px; }
  .face-guide-close { top: 8px; right: 8px; width: 34px; }
  .face-guide-stage { padding: 14px 7px 8px; }
  .face-guide-heading { padding-inline: 36px; }
  .face-guide-heading h2 { font-size: 19px; }
  .face-guide-heading p { font-size: 12px; }
  .face-guide-back { min-height: 48px; font-size: 14px; }
}

/* Keep the active question marker beside its title while compacting Q1–Q3. */
[data-inline-funnel] [data-inline-step="certificate"],
[data-inline-funnel] [data-inline-step="sim"],
[data-inline-funnel] [data-inline-step="network"] {
  min-height: 0;
  gap: 0;
  padding: clamp(12px, 2.4vw, 24px);
}

[data-inline-funnel] [data-inline-step="certificate"] .flow-content,
[data-inline-funnel] [data-inline-step="sim"] .flow-content,
[data-inline-funnel] [data-inline-step="network"] .flow-content {
  min-width: 0;
}

[data-inline-funnel] .flow-heading-row {
  width: 100%;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(8px, 1.6vw, 14px);
  margin: 0 0 6px;
  text-align: center;
}

[data-inline-funnel] .flow-heading-row .flow-number {
  flex: 0 0 auto;
  width: 50px;
  height: 34px;
  margin: 0;
  font-size: 14px;
}

[data-inline-funnel] .flow-heading-row h3 {
  min-width: 0;
  flex: 0 1 auto;
  margin: 0;
  text-align: center;
  overflow-wrap: anywhere;
}

[data-inline-funnel] [data-inline-step="certificate"] .flow-content > p,
[data-inline-funnel] [data-inline-step="sim"] .flow-content > p,
[data-inline-funnel] [data-inline-step="network"] .flow-content > p {
  margin-top: 0;
  margin-bottom: 18px;
  text-align: center;
}
