/* Register page layout and form (matches static-website/register.html) */

.reg-hero {
  background: url('https://images.unsplash.com/photo-1580582932707-520aed937b7b?w=1920&q=80&fit=crop') center/cover no-repeat;
  padding: 130px 0 70px;
  position: relative;
  overflow: hidden;
}
.reg-hero::before {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(to right, rgba(5,15,35,.88) 45%, rgba(5,15,35,.45) 100%);
  pointer-events: none;
}
.reg-hero-inner { position: relative; z-index: 1; }
.reg-eyebrow {
  display: inline-flex; align-items: center; gap: .5rem;
  background: rgba(37,99,235,.2); border: 1px solid rgba(37,99,235,.35);
  color: #93C5FD; font-size: .72rem; font-weight: 700;
  padding: .3rem .9rem; border-radius: 999px; margin-bottom: 1.25rem;
  letter-spacing: .04em; text-transform: uppercase;
}
.reg-hero h1 {
  font-size: clamp(1.75rem, 4vw, 2.75rem);
  font-weight: 700; color: #fff; line-height: 1.25; margin-bottom: .75rem;
}
.reg-hero h1 span { color: #60A5FA; }
.reg-hero p.lead { color: rgba(255,255,255,.7); font-size: 1.0625rem; max-width: 520px; }
.trust-row { display: flex; flex-wrap: wrap; gap: 1.5rem; margin-top: 2rem; }
.trust-badge {
  display: flex; align-items: center; gap: .5rem;
  color: rgba(255,255,255,.65); font-size: .8rem; font-weight: 600;
}
.trust-badge i { color: #34D399; font-size: 1rem; }
.reg-layout {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 2.5rem;
  align-items: start;
  padding: 3.5rem 0 5rem;
}
@media (max-width: 991px) {
  .reg-layout { grid-template-columns: 1fr; }
  .reg-sidebar { order: -1; }
}
.reg-card {
  background: #fff;
  border-radius: var(--r-xl);
  box-shadow: var(--s-xl);
  overflow: hidden;
}
.reg-section-head {
  display: flex; align-items: center; gap: .75rem;
  padding: 1.75rem 2rem 1.25rem;
  border-bottom: 1px solid var(--border);
}
.reg-section-icon {
  width: 40px; height: 40px; border-radius: 10px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  font-size: 1rem; color: #fff;
}
.reg-section-icon.blue  { background: linear-gradient(135deg, #2563EB, #1D4ED8); }
.reg-section-icon.green { background: linear-gradient(135deg, #059669, #047857); }
.reg-section-icon.purple{ background: linear-gradient(135deg, #7C3AED, #6D28D9); }
.reg-section-title { font-size: .9rem; font-weight: 700; color: var(--ink); margin: 0; }
.reg-section-sub   { font-size: .75rem; color: var(--muted); margin: .1rem 0 0; }
.reg-section-body { padding: 1.5rem 2rem 2rem; }
.sc-register-page .form-label {
  font-size: .8rem; font-weight: 700; color: var(--ink-2);
  margin-bottom: .35rem; display: block;
}
.sc-register-page .form-label .req { color: #E11D48; margin-left: 2px; }
.sc-register-page .form-control,
.sc-register-page .form-select {
  border: 1.5px solid var(--border);
  border-radius: var(--r-sm);
  font-size: .875rem;
  color: var(--ink);
  padding: .65rem 1rem;
  transition: border-color .2s, box-shadow .2s;
  background-color: var(--surface-2);
}
.sc-register-page .form-control:focus,
.sc-register-page .form-select:focus {
  border-color: var(--blue);
  box-shadow: 0 0 0 3px rgba(37,99,235,.12);
  background-color: #fff;
  outline: none;
}
.sc-register-page .form-control.is-invalid,
.sc-register-page .form-select.is-invalid { border-color: #E11D48; }
.sc-register-page .form-text { font-size: .73rem; color: var(--muted); margin-top: .3rem; }
.pw-strength-bar {
  height: 4px; border-radius: 999px;
  background: var(--border); margin-top: .5rem; overflow: hidden;
}
.pw-strength-fill {
  height: 100%; border-radius: 999px; width: 0%;
  transition: width .3s ease, background .3s ease;
}
.pw-strength-label { font-size: .7rem; color: var(--muted); margin-top: .25rem; text-align: right; }
.btn-reg-submit {
  display: flex; align-items: center; justify-content: center; gap: .5rem;
  background: var(--g-brand); color: #fff;
  font-weight: 700; font-size: .9375rem;
  padding: .9rem 2rem; border-radius: var(--r-md);
  border: none; width: 100%; cursor: pointer;
  transition: opacity .2s, transform .2s, box-shadow .2s;
  box-shadow: var(--s-blue);
}
.btn-reg-submit:hover {
  opacity: .92; transform: translateY(-2px);
  box-shadow: 0 16px 40px rgba(37,99,235,.3);
}
.btn-reg-submit:active { transform: translateY(0); }
.reg-sidebar { display: flex; flex-direction: column; gap: 1.25rem; }
.side-card {
  background: #fff; border-radius: var(--r-lg);
  box-shadow: var(--s-md); padding: 1.5rem;
}
.side-card-title {
  font-size: .8rem; font-weight: 800; color: var(--ink);
  text-transform: uppercase; letter-spacing: .06em; margin-bottom: 1rem;
}
.benefit-item { display: flex; align-items: flex-start; gap: .75rem; margin-bottom: .85rem; }
.benefit-item:last-child { margin-bottom: 0; }
.benefit-icon {
  width: 32px; height: 32px; border-radius: 8px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center; font-size: .85rem;
}
.benefit-item p { font-size: .8rem; color: var(--body-txt); margin: 0; line-height: 1.55; }
.benefit-item strong { color: var(--ink); display: block; font-size: .82rem; margin-bottom: .1rem; }
.stat-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
.stat-cell { background: var(--surface-2); border-radius: var(--r-sm); padding: .75rem; text-align: center; }
.stat-cell strong { display: block; font-size: 1.25rem; font-weight: 800; color: var(--blue); }
.stat-cell span { font-size: .7rem; color: var(--muted); font-weight: 600; }
.side-quote { background: var(--g-brand); border-radius: var(--r-lg); padding: 1.5rem; color: #fff; }
.side-quote blockquote {
  font-size: .875rem; line-height: 1.7; font-style: italic;
  color: rgba(255,255,255,.9); margin: 0 0 1rem;
}
.side-quote-author { display: flex; align-items: center; gap: .65rem; }
.side-quote-avatar {
  width: 36px; height: 36px; border-radius: 50%;
  background: rgba(255,255,255,.2); display: flex; align-items: center;
  justify-content: center; font-weight: 700; font-size: .85rem; color: #fff; flex-shrink: 0;
}
.side-quote-name  { font-size: .8rem; font-weight: 700; color: #fff; }
.side-quote-school{ font-size: .72rem; color: rgba(255,255,255,.65); }
.reg-divider { border: none; border-top: 1px solid var(--border); margin: 0; }
.sc-register-page .form-check-input:checked { background-color: var(--blue); border-color: var(--blue); }
.sc-register-page .form-check-label { font-size: .8rem; color: var(--body-txt); }
.sc-register-page .form-check-label a { color: var(--blue); text-decoration: underline; }

/* Thank-you page */
.sc-thank-you-page .site-nav {
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(24px) saturate(180%);
  border-bottom: 1px solid var(--border);
  box-shadow: 0 2px 20px rgba(15,23,42,.06);
}
.sc-thank-you-page .site-nav .nav-link { color: var(--body-txt); }
.sc-thank-you-page .site-nav .nav-link:hover,
.sc-thank-you-page .site-nav .nav-link.active { color: var(--blue); }
.sc-thank-you-page .site-nav .custom-logo-link img,
.sc-thank-you-page .site-nav .nav-logo-mark { filter: none; }
.sc-thank-you-page .site-nav .nav-hamburger span { background: var(--ink); }
.ty-main {
  min-height: 70vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 120px 1rem 80px;
  background: linear-gradient(155deg, #EFF6FF 0%, #F0FDF4 60%, #FEF9C3 100%);
}
.ty-card {
  background: #fff;
  border-radius: 28px;
  box-shadow: 0 24px 80px rgba(15,23,42,.12);
  padding: 3rem 2.5rem;
  max-width: 560px;
  width: 100%;
  text-align: center;
  margin: 0 auto;
}
.ty-check-wrap {
  width: 88px;
  height: 88px;
  border-radius: 50%;
  background: linear-gradient(135deg, #059669, #047857);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1.5rem;
}
.ty-check-wrap i { font-size: 2.35rem; color: #fff; }
.ty-card h1 {
  font-size: clamp(1.55rem, 4vw, 2.1rem);
  font-weight: 700;
  color: #0F172A;
  margin: 0 0 .75rem;
  line-height: 1.25;
}
.ty-card h1 span { color: #2563EB; }
.ty-card .ty-sub {
  font-size: 1rem;
  color: #475569;
  line-height: 1.7;
  margin: 0 auto 1.75rem;
  max-width: 42ch;
}
.ty-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  background: #ECFDF5;
  color: #059669;
  font-size: .72rem;
  font-weight: 700;
  padding: .28rem .9rem;
  border-radius: 999px;
  margin-bottom: 1rem;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.ty-next {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  width: 100%;
  margin: 0 0 1.75rem;
  padding: 1.35rem 1.4rem;
  text-align: left;
  background: linear-gradient(180deg, #F8FAFC 0%, #F0F9FF 100%);
  border: 1px solid #DBEAFE;
  border-radius: 18px;
  box-sizing: border-box;
}
.ty-next-icon {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: linear-gradient(135deg, #2563EB, #059669);
  color: #fff;
  font-size: 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.ty-next-copy {
  min-width: 0;
  flex: 1;
  padding-top: .1rem;
}
.ty-next-copy strong {
  display: block;
  font-size: 1.05rem;
  font-weight: 700;
  color: #0F172A;
  margin-bottom: .35rem;
  line-height: 1.3;
}
.ty-next-copy p {
  margin: 0;
  font-size: .92rem;
  line-height: 1.6;
  color: #64748B;
}
.ty-check-wrap--warn {
  background: linear-gradient(135deg, #D97706, #B45309);
}
.ty-eyebrow--warn {
  background: #FFFBEB;
  color: #B45309;
}
.ty-ctas {
  display: flex;
  gap: .75rem;
  justify-content: center;
  flex-wrap: wrap;
  margin: 0 0 .25rem;
}
.btn-ty-primary {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  background: linear-gradient(135deg, #2563EB, #059669);
  color: #fff;
  font-weight: 700;
  font-size: .9375rem;
  padding: .85rem 1.85rem;
  border-radius: 12px;
  text-decoration: none;
}
.btn-ty-primary:hover { opacity: .9; color: #fff; }
.btn-ty-secondary {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  background: #fff;
  color: #2563EB;
  font-weight: 700;
  font-size: .9375rem;
  padding: .85rem 1.85rem;
  border-radius: 12px;
  text-decoration: none;
  border: 1.5px solid #DBEAFE;
  transition: border-color .2s, transform .2s, box-shadow .2s;
}
.btn-ty-secondary:hover {
  border-color: #2563EB;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(37,99,235,.12);
  color: #2563EB;
}
.ty-email-note {
  margin-top: 1.5rem;
  padding: .9rem 1.15rem;
  background: #FEF9C3;
  border-radius: 12px;
  border: 1px solid #FDE68A;
  display: flex;
  align-items: flex-start;
  gap: .65rem;
  text-align: left;
  width: 100%;
  box-sizing: border-box;
}
.ty-email-note i {
  color: #D97706;
  font-size: 1rem;
  flex-shrink: 0;
  margin-top: 2px;
}
.ty-email-note p {
  font-size: .8rem;
  color: #78350F;
  margin: 0;
  line-height: 1.55;
}
.ty-reregister-link { color: #D97706; font-weight: 700; }

@media (max-width: 540px) {
  .ty-card { padding: 2.25rem 1.35rem; border-radius: 22px; }
  .ty-next {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: .85rem;
  }
  .ty-email-note { text-align: left; }
}

/* NDA modal */
.reg-nda-link {
  display: inline;
  padding: 0;
  border: 0;
  background: none;
  color: #2563EB;
  font-weight: 700;
  text-decoration: underline;
  cursor: pointer;
}
.reg-nda-link:hover { color: #1D4ED8; }
.reg-nda-modal {
  border: 0;
  border-radius: 16px;
  overflow: hidden;
}
.reg-nda-eyebrow {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #64748B;
}
.reg-nda-body {
  max-height: min(48vh, 420px);
  overflow: auto;
  padding: 1rem 1.1rem;
  border: 1px solid #E2E8F0;
  border-radius: 12px;
  background: #F8FAFC;
  font-size: 0.9rem;
  line-height: 1.6;
  color: #334155;
}
.reg-nda-body h3 {
  font-size: 0.95rem;
  font-weight: 700;
  color: #0F172A;
  margin: 1rem 0 0.4rem;
}
.reg-nda-body h3:first-child { margin-top: 0; }
.reg-nda-body ul {
  margin: 0.35rem 0 0.75rem;
  padding-left: 1.2rem;
}
.reg-nda-body li { margin-bottom: 0.35rem; }
#ndaHint.text-success { color: #059669 !important; font-weight: 600; }

