html { scroll-padding-top: 105px; }

.reg-hero { position: relative; overflow: hidden; color: #fff; background: linear-gradient(125deg, #071f32 0%, #0b3d5d 62%, #0f688d 100%); }
.reg-hero::before { content: ''; position: absolute; inset: 0; opacity: .12; background-image: linear-gradient(rgba(255,255,255,.18) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.18) 1px, transparent 1px); background-size: 72px 72px; }
.reg-hero-grid { position: relative; min-height: 500px; display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(290px, .6fr); gap: 80px; align-items: center; padding-block: 76px; }
.reg-hero h1 { max-width: 760px; margin: 0; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(46px, 5.4vw, 72px); line-height: 1.02; font-weight: 500; letter-spacing: -.035em; }
.reg-lead { max-width: 720px; margin: 27px 0 0; color: #d8e7ef; font-size: 18px; line-height: 1.7; }
.reg-summary { padding: 30px; border: 1px solid rgba(255,255,255,.22); background: rgba(255,255,255,.1); backdrop-filter: blur(12px); }
.reg-summary > span { display: block; color: #9fc8d9; font-size: 11px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.reg-summary strong { display: block; margin: 18px 0 14px; color: var(--gold); font-family: Georgia, 'Times New Roman', serif; font-size: 46px; font-weight: 500; }
.reg-summary p { margin: 0; color: #dce9ef; font-size: 14px; line-height: 1.7; }

.authority-note { border-block: 1px solid #efd07d; background: #fff8df; }
.authority-note-inner { min-height: 150px; display: flex; align-items: center; gap: 25px; }
.authority-note-inner > span { flex: 0 0 48px; width: 48px; height: 48px; display: grid; place-items: center; border: 2px solid #b87b0a; border-radius: 50%; color: #9b690c; font-size: 23px; font-weight: 900; }
.authority-note strong { color: #65470e; font-size: 16px; }
.authority-note p { max-width: 950px; margin: 8px 0 0; color: #705e35; font-size: 14px; line-height: 1.65; }

.reg-guide { display: grid; grid-template-columns: 285px 1fr; gap: 80px; padding-block: 90px 105px; }
.reg-toc { position: sticky; top: 125px; align-self: start; padding: 27px 25px; border: 1px solid var(--line); border-top: 4px solid var(--blue); background: var(--paper); }
.reg-toc nav { border-top: 1px solid var(--line); }
.reg-toc nav a { display: grid; grid-template-columns: 34px 1fr; gap: 10px; align-items: center; min-height: 52px; border-bottom: 1px solid var(--line); color: #3f5562; font-size: 12px; font-weight: 700; }
.reg-toc nav a:hover { color: var(--blue); }
.reg-toc nav span { color: var(--blue); font-family: Georgia, 'Times New Roman', serif; font-size: 17px; }
.toc-help { display: block; margin-top: 22px; color: var(--blue); font-size: 11px; font-weight: 800; }

.reg-steps { border-top: 1px solid var(--line); }
.reg-step { scroll-margin-top: 105px; display: grid; grid-template-columns: 82px 1fr; gap: 30px; padding: 52px 0; border-bottom: 1px solid var(--line); }
.reg-step-number { color: var(--blue); font-family: Georgia, 'Times New Roman', serif; font-size: 31px; }
.step-kicker { margin: 0 0 12px; color: var(--blue); font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.reg-step h2 { margin: 0 0 18px; color: var(--navy); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(29px, 3vw, 40px); line-height: 1.12; font-weight: 500; }
.reg-step-content > p:not(.step-kicker) { max-width: 780px; margin: 0 0 20px; color: var(--muted); font-size: 15px; line-height: 1.75; }
.resource-button { display: flex; align-items: center; justify-content: space-between; max-width: 620px; min-height: 58px; margin-top: 25px; padding: 0 18px; border: 1px solid #bfd5df; background: var(--sky); color: var(--navy); font-size: 13px; font-weight: 800; }
.resource-button span { color: var(--blue); }
.resource-button:hover { border-color: var(--blue); }
.data-list { display: grid; gap: 0; max-width: 760px; margin: 23px 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.data-list li { position: relative; padding: 14px 12px 14px 31px; border-bottom: 1px solid var(--line); color: #4f626d; font-size: 14px; line-height: 1.55; }
.data-list li::before { content: '✓'; position: absolute; left: 4px; color: var(--blue); font-weight: 900; }
.free-note { width: fit-content; padding: 10px 14px; border-left: 3px solid var(--gold); background: #fff8df; color: #6b4b0d !important; font-size: 13px !important; }
.topic-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; max-width: 760px; margin: 24px 0; }
.topic-grid span { min-height: 54px; display: flex; align-items: center; padding: 12px 14px; border: 1px solid var(--line); background: var(--paper); color: #405762; font-size: 12px; font-weight: 700; }
.warning-card { max-width: 760px; margin-top: 28px; padding: 24px 26px; border: 1px solid #efd07d; border-left: 5px solid var(--gold); background: #fff8df; }
.warning-card span { display: block; color: #9b690c; font-size: 10px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.warning-card strong { display: block; margin: 10px 0; color: #5f430b; font-family: Georgia, 'Times New Roman', serif; font-size: 25px; }
.warning-card p { margin: 0; color: #705e35; font-size: 13px; line-height: 1.65; }
.reg-code { width: fit-content; margin: 25px 0; padding: 18px 23px; border: 1px solid #bdd9e5; background: var(--sky); color: var(--navy); font-family: Consolas, monospace; font-size: 23px; font-weight: 800; letter-spacing: .04em; }

.reg-final { color: #fff; background: linear-gradient(120deg, #08243a, #0d5478); }
.reg-final-inner { min-height: 350px; display: grid; grid-template-columns: 1fr auto; gap: 70px; align-items: center; }
.reg-final h2 { max-width: 720px; margin: 0; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(35px, 4vw, 52px); line-height: 1.08; font-weight: 500; }
.reg-final p:not(.eyebrow) { color: #c6d9e2; font-size: 14px; }
.reg-final-actions { display: grid; gap: 18px; justify-items: center; }
.reg-final-actions > a:not(.button) { color: #dce9ef; font-size: 12px; font-weight: 800; }

@media (max-width: 900px) {
  .reg-hero-grid { grid-template-columns: 1fr; gap: 35px; }
  .reg-summary { max-width: 520px; }
  .reg-guide { grid-template-columns: 1fr; gap: 42px; }
  .reg-toc { position: static; }
  .reg-toc nav { display: grid; grid-template-columns: repeat(2, 1fr); border-left: 1px solid var(--line); }
  .reg-toc nav a { padding-inline: 12px; border-right: 1px solid var(--line); }
  .reg-final-inner { grid-template-columns: 1fr; gap: 32px; padding-block: 70px; }
  .reg-final-actions { justify-items: start; }
}

@media (max-width: 600px) {
  .reg-hero-grid { min-height: auto; padding-block: 62px; }
  .reg-hero h1 { font-size: clamp(41px, 12vw, 54px); }
  .reg-lead { font-size: 16px; }
  .authority-note-inner { align-items: flex-start; padding-block: 27px; }
  .reg-guide { padding-block: 60px 75px; }
  .reg-toc nav { grid-template-columns: 1fr; }
  .reg-step { grid-template-columns: 50px 1fr; gap: 11px; padding: 40px 0; }
  .reg-step-number { font-size: 24px; }
  .topic-grid { grid-template-columns: 1fr; }
  .warning-card { padding: 20px; }
  .reg-code { font-size: 18px; }
}
