.prereg-page { background: #f5f8fc; }
.prereg-intro { padding: 30px 0 32px; }
.prereg-intro .internal-breadcrumb { margin-bottom: 28px; }
.prereg-intro h1 { color: var(--navy-900); font-size: clamp(2.4rem, 4.4vw, 4rem); margin: 0 0 14px; line-height: 1.08; }
.prereg-intro p { color: #536b7a; font-size: 1.08rem; margin: 0; max-width: 760px; }
.prereg-workspace { padding-bottom: 85px; }
.prereg-panel { padding: 32px; background: white; border: 1px solid #dce6ef; border-radius: 20px; box-shadow: 0 14px 38px rgba(7,59,122,.04); }
.prereg-section-heading { display: flex; align-items: center; gap: 16px; margin-bottom: 25px; }
.prereg-number { display: grid; place-items: center; width: 46px; height: 46px; flex: 0 0 46px; border-radius: 50%; background: #eaf3ff; color: var(--navy-900); font-weight: 700; }
.prereg-section-heading h2 { margin: 5px 0 0; font-size: 1.8rem; color: var(--navy-900); }
.prereg-search { position: relative; }
.prereg-search > i { position: absolute; top: 16px; left: 18px; color: #1263bd; }
.prereg-search input { padding: 14px 16px 14px 47px; border-radius: 12px; border-color: #bdcedf; font-size: 1rem; }
.prereg-hint { font-size: .875rem; line-height: 1.6; color: #627581; margin-top: 10px; }
.prereg-result-count { color: #526b7b; font-size: .875rem; margin: 20px 0 10px; }
.prereg-neighborhoods { max-height: 245px; overflow-y: auto; overscroll-behavior: contain; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-content: start; gap: 0 20px; padding: 0 16px; margin: 0; list-style: none; border: 1px solid #dce6ef; border-radius: 12px; background: #f8fbfe; }
.prereg-neighborhoods li { padding: 12px 0; border-bottom: 1px solid #e2eaf1; font-size: .875rem; color: #344f61; overflow-wrap: anywhere; }
.prereg-neighborhoods[hidden], .prereg-empty[hidden] { display: none; }
.prereg-empty { padding: 28px; background: #f8fbfe; border-radius: 12px; text-align: center; color: #526b7b; }
.prereg-empty i { color: #1263bd; font-size: 1.6rem; }
.prereg-empty h3 { font-size: 1.1rem; margin: 12px 0; }
.prereg-empty p { margin: 0; }
.prereg-help { display: flex; gap: 12px; padding-top: 22px; color: #526b7b; }
.prereg-help > i { color: #1263bd; font-size: 1.2rem; }
.prereg-help strong { color: #24485f; }
.prereg-help p { margin: 5px 0 0; line-height: 1.6; }
.prereg-help a { color: #0b4fa3; overflow-wrap: anywhere; }
.prereg-confirm { margin-top: 24px; }
.prereg-checkbox { display: flex; align-items: flex-start; gap: 13px; padding: 20px; background: #f0f6fd; border-radius: 12px; margin-bottom: 22px; cursor: pointer; color: #294c64; line-height: 1.6; }
.prereg-checkbox input { flex: 0 0 20px; width: 20px; height: 20px; margin-top: 3px; }
.prereg-aside { padding: 30px; border-radius: 20px; background: #eaf2fc; border: 1px solid #d5e4f3; }
.prereg-aside h2 { color: #0b4fa3; font-size: 2rem; line-height: 1.15; margin-bottom: 18px; }
.prereg-aside p { color: #536b7a; line-height: 1.7; }
.prereg-guide { display: flex; gap: 13px; padding: 20px; margin: 24px 0; border-radius: 12px; background: white; text-decoration: none; color: #0b4fa3; }
.prereg-guide i { font-size: 1.4rem; }
.prereg-guide small { display: block; margin-top: 6px; color: #627581; font-size: .875rem; }
.prereg-next { display: flex; gap: 14px; padding: 8px 0; }
.prereg-next .prereg-number { background: white; }
.prereg-aside h3 { font-size: 1rem; color: #24485f; font-weight: 700; }
.prereg-contact { display: block; padding: 9px 0; text-decoration: none; color: #0b4fa3; }
.prereg-contact i { margin-right: 8px; }
.prereg-page a:focus-visible, .prereg-neighborhoods:focus-visible { outline: 3px solid #1263bd; outline-offset: 3px; }
@media(max-width: 767.98px) {
 .prereg-panel, .prereg-aside { padding: 23px 20px; }
 .prereg-neighborhoods { grid-template-columns: 1fr; }
 .prereg-section-heading h2 { font-size: 1.5rem; }
 .prereg-confirm .btn { width: 100%; white-space: normal; }
 .prereg-intro { padding-top: 22px; }
}
@media(max-width: 767.98px) {
 .site-footer .row { --bs-gutter-x: 1.5rem; }
}
