:root {
  --bg: #030611;
  --panel: rgba(9, 16, 34, 0.62);
  --panel-strong: rgba(7, 12, 28, 0.82);
  --line: rgba(211, 225, 255, 0.18);
  --text: #f7f8ff;
  --muted: rgba(234, 238, 255, 0.72);
  --pink: #ff6bb8;
  --pink2: #ff9bd6;
  --purple: #a975ff;
  --blue: #7db7ff;
  --gold: #ffd27d;
  --max: 1180px;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  min-height: 100vh;
  font-family: "Pretendard", "Noto Sans KR", "Apple SD Gothic Neo", Arial, sans-serif;
  color: var(--text);
  background: var(--bg);
  word-break: keep-all;
  overflow-x: hidden;
}

a { color: inherit; text-decoration: none; }

button, a { -webkit-tap-highlight-color: transparent; }

.cosmos-bg {
  position: fixed;
  inset: 0;
  z-index: -5;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 39%, rgba(118, 137, 255, 0.16) 0 9%, transparent 21%),
    radial-gradient(circle at 70% 44%, rgba(160, 95, 255, 0.15) 0 6%, transparent 19%),
    radial-gradient(circle at 48% 52%, rgba(255, 95, 184, 0.12) 0 5%, transparent 19%),
    radial-gradient(circle at 50% 67%, rgba(255, 118, 194, 0.22) 0 3%, transparent 20%),
    linear-gradient(180deg, #02040d 0%, #061128 42%, #040915 70%, #02040b 100%);
}

.cosmos-bg:before {
  content: "";
  position: absolute;
  inset: -15% -10% auto;
  height: 72%;
  opacity: .55;
  background:
    radial-gradient(ellipse at 52% 48%, rgba(194, 210, 255, .42), transparent 7%),
    radial-gradient(ellipse at 57% 51%, rgba(120, 142, 255, .23), transparent 13%),
    radial-gradient(ellipse at 45% 45%, rgba(255, 101, 198, .16), transparent 17%);
  filter: blur(18px);
  transform: rotate(-14deg);
}

.cosmos-bg:after {
  content: "";
  position: absolute;
  left: -8%;
  right: -8%;
  bottom: 0;
  height: 36%;
  background:
    radial-gradient(ellipse at 50% 18%, rgba(255, 139, 214, .46), transparent 12%),
    linear-gradient(170deg, transparent 0 42%, rgba(4, 9, 18, .92) 43%),
    linear-gradient(-170deg, transparent 0 48%, rgba(3, 8, 18, .94) 49%);
  clip-path: polygon(0 52%, 8% 38%, 18% 57%, 30% 34%, 42% 55%, 54% 35%, 70% 54%, 83% 31%, 100% 49%, 100% 100%, 0 100%);
  opacity: .9;
}

.star-layer,
.star-layer:before,
.star-layer:after {
  position: absolute;
  content: "";
  width: 2px;
  height: 2px;
  border-radius: 50%;
  background: rgba(255,255,255,.9);
  box-shadow:
    8vw 7vh rgba(255,255,255,.8), 12vw 19vh rgba(255,255,255,.35), 18vw 9vh rgba(170,205,255,.8),
    25vw 27vh rgba(255,255,255,.55), 32vw 12vh rgba(255,255,255,.8), 41vw 21vh rgba(255,190,238,.65),
    48vw 8vh rgba(255,255,255,.45), 56vw 17vh rgba(160,190,255,.85), 64vw 7vh rgba(255,255,255,.6),
    72vw 23vh rgba(255,255,255,.5), 81vw 12vh rgba(255,255,255,.9), 93vw 19vh rgba(255,255,255,.55),
    5vw 44vh rgba(255,255,255,.55), 16vw 61vh rgba(255,255,255,.45), 27vw 49vh rgba(255,255,255,.7),
    38vw 63vh rgba(170,205,255,.55), 51vw 57vh rgba(255,255,255,.75), 66vw 42vh rgba(255,255,255,.65),
    77vw 55vh rgba(255,255,255,.8), 88vw 47vh rgba(255,255,255,.5), 96vw 64vh rgba(255,255,255,.6);
}

.star-layer-1 {
  top: 0;
  left: 0;
  animation: twinkle 5s ease-in-out infinite alternate;
}

.star-layer-2 {
  top: 8%;
  left: 4%;
  opacity: .48;
  transform: scale(.72);
  animation: twinkle 7s ease-in-out infinite alternate-reverse;
}

.meteor {
  position: absolute;
  width: 220px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.95), rgba(255,102,196,.85), transparent);
  filter: drop-shadow(0 0 8px rgba(255, 114, 201, .85));
  opacity: .85;
  transform: rotate(-31deg);
}

.meteor:before {
  content: "";
  position: absolute;
  right: 34px;
  top: -3px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 16px rgba(255, 118, 205, .95);
}

.meteor-1 { top: 19%; left: 54%; animation: meteorMove 7s linear infinite; }
.meteor-2 { top: 30%; left: 78%; width: 170px; opacity: .62; animation: meteorMove 9s linear 1.8s infinite; }
.meteor-3 { top: 47%; left: 67%; width: 270px; filter: drop-shadow(0 0 9px rgba(104, 166, 255, .9)); animation: meteorMove 10s linear 3s infinite; }
.meteor-4 { top: 24%; left: 30%; width: 150px; opacity: .38; animation: meteorMove 11s linear 4s infinite; }

.horizon-glow {
  position: absolute;
  left: 50%;
  bottom: 24%;
  width: 62vw;
  height: 22vh;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at center, rgba(255, 122, 203, .34), rgba(91, 123, 255, .13) 35%, transparent 70%);
  filter: blur(18px);
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  padding: 20px 28px 0;
}

.nav-wrap {
  width: min(var(--max), 100%);
  min-height: 74px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 1px solid rgba(187, 207, 255, .22);
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(7, 12, 27, .82), rgba(5, 9, 21, .58));
  box-shadow: 0 20px 60px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter: blur(18px);
}

.brand {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  font-weight: 950;
  letter-spacing: -1px;
  font-size: 25px;
}

.brand-pink { color: var(--pink); text-shadow: 0 0 18px rgba(255, 107, 184, .55); }

.nav-links { display: flex; align-items: center; gap: 36px; }

.nav-links a:not(.spark-btn) {
  position: relative;
  color: rgba(255,255,255,.86);
  font-weight: 900;
  font-size: 16px;
}

.nav-links a:not(.spark-btn):after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -24px;
  width: 0;
  height: 2px;
  transform: translateX(-50%);
  background: var(--pink);
  box-shadow: 0 0 16px rgba(255,107,184,.85);
  transition: width .2s ease;
}

.nav-links a:hover:after,
.nav-links .is-active:after { width: 28px; }

.spark-btn {
  width: 46px;
  height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: var(--gold);
  border: 1px solid rgba(255, 210, 125, .38);
  background: rgba(255,255,255,.05);
  box-shadow: 0 0 28px rgba(255, 107, 184, .18);
}

.nav-toggle { display: none; }

.section-shell {
  width: min(var(--max), calc(100% - 56px));
  margin: 0 auto;
}

.hero {
  min-height: 630px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 420px;
  align-items: center;
  gap: 52px;
  padding: 78px 0 52px;
}

.eyebrow {
  margin: 0 0 16px;
  color: var(--pink2);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 3px;
  text-transform: uppercase;
}

.hero h1 {
  margin: 0;
  font-size: clamp(54px, 7vw, 96px);
  line-height: .98;
  letter-spacing: -5px;
}

.hero h1 span,
.hero h1 strong { display: block; }

.hero h1 span {
  color: #fff;
  text-shadow: 0 8px 30px rgba(0,0,0,.5);
}

.hero h1 strong {
  margin-top: 10px;
  font-style: normal;
  background: linear-gradient(100deg, #ff7bbe 0%, #ffd4ec 38%, #9ca7ff 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-shadow: none;
}

.lead {
  margin: 28px 0 0;
  color: rgba(255,255,255,.86);
  font-size: 21px;
  font-weight: 700;
  line-height: 1.7;
}

.hero-actions { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 38px; }

.btn {
  min-height: 62px;
  min-width: 188px;
  padding: 0 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border-radius: 17px;
  font-size: 17px;
  font-weight: 950;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.btn:hover { transform: translateY(-3px); }

.btn-primary {
  color: #fff;
  background: linear-gradient(135deg, rgba(255, 107, 184, .92), rgba(116, 85, 255, .88));
  border: 1px solid rgba(255, 189, 226, .55);
  box-shadow: 0 0 0 1px rgba(255,255,255,.06) inset, 0 16px 42px rgba(255, 88, 181, .32);
}

.btn-secondary {
  color: #eaf0ff;
  background: rgba(12, 24, 49, .62);
  border: 1px solid rgba(179, 205, 255, .28);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 16px 42px rgba(0,0,0,.22);
}

.hero-orbit {
  position: relative;
  width: 380px;
  height: 380px;
  justify-self: center;
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 50%, rgba(255, 107, 184, .35) 0 8%, transparent 10%),
    radial-gradient(circle at 50% 50%, rgba(106, 137, 255, .22) 0 24%, transparent 26%);
  filter: drop-shadow(0 0 45px rgba(255, 107, 184, .16));
  opacity: .9;
}

.orbit-ring {
  position: absolute;
  inset: 32px;
  border-radius: 50%;
  border: 1px solid rgba(188, 207, 255, .24);
  box-shadow: inset 0 0 35px rgba(255, 107, 184, .08);
  animation: spin 18s linear infinite;
}

.ring-2 { inset: 82px; border-color: rgba(255, 107, 184, .33); animation-duration: 12s; animation-direction: reverse; }

.orbit-core {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 96px;
  height: 96px;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: var(--gold);
  font-size: 42px;
  background: rgba(7, 12, 27, .64);
  border: 1px solid rgba(255, 210, 125, .35);
  box-shadow: 0 0 58px rgba(255, 107, 184, .28), inset 0 1px 0 rgba(255,255,255,.1);
}


.intro-section {
  padding: 0 0 64px;
}

.intro-panel {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(360px, .96fr);
  gap: 34px;
  align-items: stretch;
  padding: 38px;
  border: 1px solid rgba(211, 225, 255, .16);
  border-radius: 26px;
  background:
    radial-gradient(circle at 18% 12%, rgba(255, 107, 184, .20), transparent 32%),
    radial-gradient(circle at 88% 78%, rgba(125, 183, 255, .16), transparent 36%),
    linear-gradient(180deg, rgba(10, 18, 42, .72), rgba(4, 9, 22, .54));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 28px 90px rgba(0,0,0,.30);
  backdrop-filter: blur(18px);
  overflow: hidden;
}

.intro-panel:before {
  content: "";
  position: absolute;
  inset: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(255,107,184,.85), rgba(169,117,255,.78), transparent);
}

.intro-panel:after {
  content: "";
  position: absolute;
  right: -120px;
  top: -120px;
  width: 320px;
  height: 320px;
  border-radius: 50%;
  border: 1px solid rgba(255, 107, 184, .14);
  box-shadow: 0 0 0 38px rgba(169,117,255,.035), 0 0 0 78px rgba(125,183,255,.025);
  pointer-events: none;
}

.intro-copy {
  position: relative;
  z-index: 1;
}

.intro-copy h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(32px, 4vw, 50px);
  line-height: 1.16;
  letter-spacing: -2px;
}

.intro-copy h2:after {
  content: "";
  display: block;
  width: 48px;
  height: 3px;
  margin: 20px 0 24px;
  border-radius: 999px;
  background: var(--pink);
  box-shadow: 0 0 18px rgba(255,107,184,.78);
}

.intro-copy p:not(.eyebrow) {
  max-width: 650px;
  margin: 0 0 13px;
  color: rgba(234, 238, 255, .78);
  font-size: 18px;
  font-weight: 650;
  line-height: 1.84;
}

.intro-points {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 14px;
}

.intro-points article {
  position: relative;
  min-height: 118px;
  padding: 22px 24px 22px 82px;
  border: 1px solid rgba(211, 225, 255, .13);
  border-radius: 20px;
  background: rgba(4, 10, 24, .46);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}

.intro-points article span {
  position: absolute;
  left: 22px;
  top: 24px;
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  color: #fff;
  font-size: 15px;
  font-weight: 950;
  background: linear-gradient(135deg, rgba(255,107,184,.72), rgba(169,117,255,.62));
  box-shadow: 0 0 28px rgba(255,107,184,.18);
}

.intro-points article strong {
  display: block;
  color: #fff;
  font-size: 20px;
  letter-spacing: -.7px;
}

.intro-points article p {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 15px;
  font-weight: 650;
  line-height: 1.65;
}

.quick-section { padding: 12px 0 64px; }

.quick-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}

.glass-card,
.step-card,
.faq-grid details,
.cta-panel {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--line);
  background: linear-gradient(180deg, rgba(12, 22, 48, .72), rgba(5, 10, 24, .56));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 26px 70px rgba(0,0,0,.26);
  backdrop-filter: blur(16px);
}

.glass-card:before,
.step-card:before,
.cta-panel:before {
  content: "";
  position: absolute;
  inset: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, currentColor, transparent);
  opacity: .8;
}

.glass-card {
  min-height: 265px;
  padding: 36px 34px;
  border-radius: 22px;
  color: var(--pink);
}

.card-purple { color: var(--purple); }
.card-blue { color: var(--blue); }
.card-gold { color: var(--gold); }

.card-icon {
  width: 70px;
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: currentColor;
  font-size: 31px;
  font-weight: 950;
  background: color-mix(in srgb, currentColor 17%, transparent);
  border: 1px solid color-mix(in srgb, currentColor 28%, transparent);
  box-shadow: 0 0 35px color-mix(in srgb, currentColor 18%, transparent);
}

.glass-card h2 {
  margin: 30px 0 14px;
  color: #fff;
  font-size: 28px;
  letter-spacing: -1.4px;
}

.glass-card p {
  margin: 0;
  color: var(--muted);
  font-size: 16px;
  font-weight: 650;
  line-height: 1.72;
}

.card-arrow {
  position: absolute;
  right: 24px;
  bottom: 24px;
  width: 43px;
  height: 43px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: currentColor;
  font-size: 23px;
  font-weight: 900;
  border: 1px solid color-mix(in srgb, currentColor 55%, transparent);
  background: rgba(255,255,255,.03);
}

.section-title { text-align: center; margin-bottom: 36px; }
.section-title h2 {
  position: relative;
  display: inline-block;
  margin: 0;
  font-size: clamp(34px, 4vw, 52px);
  letter-spacing: -2px;
}
.section-title h2:after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -12px;
  width: 36px;
  height: 3px;
  transform: translateX(-50%);
  border-radius: 999px;
  background: var(--pink);
  box-shadow: 0 0 16px rgba(255,107,184,.75);
}
.section-title p:not(.eyebrow) {
  margin: 26px auto 0;
  color: var(--muted);
  font-size: 18px;
  font-weight: 650;
}

.guide-section { padding: 28px 0 76px; }

.step-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

.step-card {
  min-height: 230px;
  padding: 36px 32px;
  border-radius: 22px;
  color: var(--pink);
}
.step-card:nth-child(2) { color: var(--purple); }
.step-card:nth-child(3) { color: var(--blue); }
.step-no {
  display: inline-block;
  color: currentColor;
  font-size: 32px;
  font-weight: 950;
  letter-spacing: -1px;
}
.step-icon {
  position: absolute;
  right: 30px;
  top: 32px;
  width: 74px;
  height: 74px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-size: 30px;
  background: color-mix(in srgb, currentColor 12%, transparent);
  border: 1px solid color-mix(in srgb, currentColor 28%, transparent);
}
.step-card h3 {
  margin: 42px 0 13px;
  color: #fff;
  font-size: 25px;
  letter-spacing: -1px;
}
.step-card p {
  margin: 0;
  color: var(--muted);
  font-size: 16px;
  font-weight: 650;
  line-height: 1.72;
}

.faq-section { padding: 8px 0 78px; }
.faq-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}
.faq-grid details {
  border-radius: 18px;
  padding: 0;
}
.faq-grid summary {
  min-height: 74px;
  padding: 0 24px;
  display: flex;
  align-items: center;
  gap: 14px;
  cursor: pointer;
  color: rgba(255,255,255,.9);
  font-size: 17px;
  font-weight: 900;
  list-style: none;
}
.faq-grid summary::-webkit-details-marker { display: none; }
.faq-grid summary:after {
  content: "⌄";
  margin-left: auto;
  color: rgba(255,255,255,.84);
  font-size: 23px;
  transition: transform .2s ease;
}
.faq-grid details[open] summary:after { transform: rotate(180deg); }
.faq-grid summary span {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #fff;
  background: rgba(169, 117, 255, .22);
  border: 1px solid rgba(169, 117, 255, .33);
}
.faq-grid details p {
  margin: -4px 24px 24px 72px;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.75;
  font-weight: 650;
}

.cta-section { padding: 0 0 72px; }
.cta-panel {
  min-height: 220px;
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr) auto;
  align-items: center;
  gap: 34px;
  padding: 36px 46px;
  border-radius: 24px;
  color: var(--pink);
}
.cta-panel:after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 60%;
  background: radial-gradient(ellipse at 50% 100%, rgba(255, 111, 190, .24), transparent 60%);
  z-index: -1;
}
.cta-emblem {
  width: 126px;
  height: 126px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-size: 55px;
  color: var(--pink);
  background: radial-gradient(circle, rgba(255, 107, 184, .22), rgba(169, 117, 255, .08));
  border: 1px solid rgba(255, 107, 184, .34);
  box-shadow: 0 0 55px rgba(255, 107, 184, .24), inset 0 1px 0 rgba(255,255,255,.12);
}
.cta-copy h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(31px, 4vw, 48px);
  letter-spacing: -2px;
}
.cta-copy p:not(.eyebrow) {
  max-width: 560px;
  margin: 16px 0 0;
  color: var(--muted);
  font-size: 17px;
  font-weight: 650;
  line-height: 1.75;
}
.cta-btn { white-space: nowrap; }

.site-footer {
  border-top: 1px solid rgba(211, 225, 255, .12);
  background: rgba(2, 5, 12, .7);
  backdrop-filter: blur(14px);
}
.footer-inner {
  width: min(var(--max), calc(100% - 56px));
  min-height: 130px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.1fr 1fr auto;
  align-items: center;
  gap: 28px;
}
.footer-brand { font-size: 24px; }
.site-footer p { margin: 10px 0 0; color: rgba(255,255,255,.56); font-size: 14px; font-weight: 650; }
.footer-links { display: flex; gap: 28px; justify-content: center; }
.footer-links a { color: rgba(255,255,255,.78); font-weight: 800; }
.copyright { text-align: right; white-space: nowrap; }

@keyframes twinkle {
  from { opacity: .42; }
  to { opacity: .92; }
}
@keyframes meteorMove {
  0% { transform: translate(90px, -80px) rotate(-31deg); opacity: 0; }
  10% { opacity: .9; }
  45% { opacity: .75; }
  100% { transform: translate(-620px, 390px) rotate(-31deg); opacity: 0; }
}
@keyframes spin {
  to { transform: rotate(360deg); }
}

@media (max-width: 1024px) {
  .intro-panel { grid-template-columns: 1fr; }
  .nav-links { gap: 22px; }
  .hero { grid-template-columns: 1fr; min-height: auto; padding-top: 70px; }
  .hero-orbit { display: none; }
  .quick-grid { grid-template-columns: repeat(2, 1fr); }
  .cta-panel { grid-template-columns: 110px 1fr; }
  .cta-btn { grid-column: 2; justify-self: start; }
  .footer-inner { grid-template-columns: 1fr; text-align: center; padding: 34px 0; }
  .footer-links { flex-wrap: wrap; }
  .copyright { text-align: center; }
}

@media (max-width: 760px) {
  .intro-section { padding-bottom: 46px; }
  .intro-panel { padding: 26px 20px; border-radius: 22px; }
  .intro-copy h2 { font-size: 31px; letter-spacing: -1.4px; }
  .intro-copy p:not(.eyebrow) { font-size: 16px; line-height: 1.7; }
  .intro-points article { padding: 20px 18px 20px 72px; }
  .intro-points article span { left: 18px; top: 21px; }
  .site-header { padding: 12px 12px 0; }
  .nav-wrap { min-height: 62px; padding: 0 16px; border-radius: 16px; }
  .brand { font-size: 20px; }
  .nav-toggle {
    display: inline-flex;
    width: 40px;
    height: 40px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 12px;
    color: #fff;
    background: rgba(255,255,255,.05);
    font-size: 21px;
  }
  .nav-links {
    position: absolute;
    left: 12px;
    right: 12px;
    top: 84px;
    display: none;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    padding: 14px;
    border-radius: 16px;
    border: 1px solid rgba(187, 207, 255, .18);
    background: rgba(4, 9, 22, .92);
    backdrop-filter: blur(18px);
  }
  .site-header:focus-within .nav-links,
  .site-header:hover .nav-links { display: grid; }
  .nav-links a:not(.spark-btn) {
    min-height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: rgba(255,255,255,.04);
    font-size: 14px;
  }
  .nav-links a:not(.spark-btn):after { display: none; }
  .spark-btn { display: none; }
  .section-shell { width: min(100% - 28px, var(--max)); }
  .hero { padding: 64px 0 42px; }
  .hero h1 { font-size: clamp(48px, 16vw, 68px); letter-spacing: -3px; }
  .lead { font-size: 17px; margin-top: 22px; }
  .hero-actions { gap: 12px; margin-top: 28px; }
  .btn { min-width: 0; width: 100%; min-height: 56px; font-size: 16px; }
  .quick-grid, .step-grid, .faq-grid { grid-template-columns: 1fr; }
  .quick-section { padding-bottom: 52px; }
  .glass-card { min-height: 220px; padding: 28px; }
  .glass-card h2 { margin-top: 24px; font-size: 25px; }
  .guide-section, .faq-section { padding-bottom: 58px; }
  .section-title h2 { font-size: 38px; }
  .section-title p:not(.eyebrow) { font-size: 16px; line-height: 1.65; }
  .step-card { min-height: 206px; padding: 28px; }
  .step-icon { width: 62px; height: 62px; right: 24px; top: 26px; }
  .faq-grid summary { font-size: 15px; padding: 0 18px; }
  .faq-grid details p { margin: -2px 18px 22px 66px; }
  .cta-panel { grid-template-columns: 1fr; padding: 30px 24px; gap: 22px; }
  .cta-emblem { width: 92px; height: 92px; font-size: 40px; }
  .cta-btn { grid-column: auto; width: 100%; }
  .footer-inner { width: min(100% - 28px, var(--max)); }
  .meteor { width: 130px; opacity: .5; }
  .meteor-3, .meteor-4 { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  *, *:before, *:after { animation: none !important; scroll-behavior: auto !important; }
}
