/**
 * Nanban Landing Psychology v3 — IVORY PREMIUM (max specificity, loads LAST)
 * Trust psychology: navy ink · teal action · warm cream · NO red on landing
 */

html.nb-ivory-theme #loginScreen.nb-ultra {
  --nb-psych-navy: #0f172a;
  --nb-psych-ink: #1e293b;
  --nb-psych-teal: #0d9488;
  --nb-psych-teal-dark: #0f766e;
  --nb-psych-teal-soft: #ccfbf1;
  --nb-psych-cream: #faf8f5;
  --nb-psych-warm: #f3f0eb;
  background: var(--nb-psych-warm) !important;
}

/* ── Hero canvas — soft ivory wash over video ── */
html.nb-ivory-theme #loginScreen.nb-ultra .nb-hero-video {
  filter: saturate(0.9) brightness(0.92) contrast(1.02) !important;
  transform: scale(1.04) !important;
}

html.nb-ivory-theme #loginScreen.nb-ultra .nb-hero-overlay {
  background:
    linear-gradient(180deg, rgba(243, 240, 235, 0.55) 0%, rgba(243, 240, 235, 0.82) 55%, rgba(250, 248, 245, 0.96) 100%),
    linear-gradient(105deg, rgba(255, 255, 255, 0.75) 0%, rgba(243, 240, 235, 0.4) 50%, rgba(255, 255, 255, 0.65) 100%) !important;
}

html.nb-ivory-theme #loginScreen.nb-ultra .nb-hero-overlay::after {
  background: radial-gradient(ellipse 80% 50% at 50% 100%, rgba(255, 255, 255, 0.85), transparent 70%) !important;
}

html.nb-ivory-theme #loginScreen.nb-ultra .nb-hero-ambient {
  opacity: 0.35 !important;
}

/* ── Hero card — solid readable panel ── */
html.nb-ivory-theme #loginScreen.nb-ultra .nb-hero-content {
  position: relative !important;
  z-index: 5 !important;
  width: min(1080px, calc(100% - 32px)) !important;
  max-width: 1080px !important;
  margin: 0 auto clamp(36px, 6vh, 64px) !important;
  padding: calc(88px + env(safe-area-inset-top, 0px)) clamp(24px, 4vw, 40px) clamp(28px, 4vw, 36px) !important;
  background: rgba(255, 255, 255, 0.97) !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  border-radius: 28px !important;
  box-shadow:
    0 32px 80px rgba(15, 23, 42, 0.1),
    0 2px 0 rgba(255, 255, 255, 1) inset !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  color: var(--nb-psych-ink) !important;
}

html.nb-ivory-theme #loginScreen.nb-ultra .nb-hero-content::before {
  content: "";
  position: absolute;
  top: 0;
  left: clamp(24px, 4vw, 40px);
  right: clamp(24px, 4vw, 40px);
  height: 4px;
  border-radius: 0 0 6px 6px;
  background: linear-gradient(90deg, #0d9488, #14b8a6, #d97706) !important;
}

/* ── Nav — always light, dark ink ── */
html.nb-ivory-theme #loginScreen.nb-ultra .nb-nav,
html.nb-ivory-theme #loginScreen.nb-ultra .nb-nav.is-scrolled {
  background: rgba(255, 255, 255, 0.96) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border-bottom: 1px solid rgba(15, 23, 42, 0.08) !important;
  box-shadow: 0 4px 24px rgba(15, 23, 42, 0.06) !important;
}

html.nb-ivory-theme #loginScreen.nb-ultra .nb-nav-brand {
  color: var(--nb-psych-ink) !important;
}

html.nb-ivory-theme #loginScreen.nb-ultra .nb-nav-title .nb-nav-ta,
html.nb-ivory-theme #loginScreen.nb-ultra #nbNavSchoolName {
  display: block !important;
  font-family: "Noto Sans Tamil", "Plus Jakarta Sans", "Inter", sans-serif !important;
  font-size: clamp(0.95rem, 2.2vw, 1.1rem) !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  color: var(--nb-psych-navy) !important;
  -webkit-text-fill-color: var(--nb-psych-navy) !important;
  background: none !important;
  letter-spacing: -0.01em !important;
  opacity: 1 !important;
  visibility: visible !important;
}

html.nb-ivory-theme #loginScreen.nb-ultra .nb-nav-title small,
html.nb-ivory-theme #loginScreen.nb-ultra #nbNavSchoolLoc {
  color: #64748b !important;
  font-size: 0.62rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
}

html.nb-ivory-theme #loginScreen.nb-ultra .nb-nav-a {
  color: #475569 !important;
  font-weight: 600 !important;
}

html.nb-ivory-theme #loginScreen.nb-ultra .nb-nav-a:hover {
  color: var(--nb-psych-navy) !important;
  background: rgba(15, 23, 42, 0.05) !important;
}

html.nb-ivory-theme #loginScreen.nb-ultra .nb-nav-btn--ghost {
  color: var(--nb-psych-ink) !important;
  background: #fff !important;
  border: 1px solid rgba(15, 23, 42, 0.14) !important;
  font-weight: 700 !important;
}

html.nb-ivory-theme #loginScreen.nb-ultra .nb-nav-btn--staff {
  color: var(--nb-psych-teal-dark) !important;
  background: var(--nb-psych-teal-soft) !important;
  border: 1px solid rgba(13, 148, 136, 0.25) !important;
  font-weight: 700 !important;
}

html.nb-ivory-theme #loginScreen.nb-ultra .nb-nav-btn--primary {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background: linear-gradient(135deg, #0d9488 0%, #0f766e 100%) !important;
  border: none !important;
  font-weight: 800 !important;
  box-shadow: 0 8px 24px rgba(13, 148, 136, 0.32) !important;
}

/* ── Hero typography — dark ink on white card ── */
html.nb-ivory-theme #loginScreen.nb-ultra .nb-hero-kicker {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 7px 14px 7px 10px !important;
  margin-bottom: 1.1rem !important;
  border-radius: 999px !important;
  background: var(--nb-psych-teal-soft) !important;
  border: 1px solid rgba(13, 148, 136, 0.2) !important;
  color: var(--nb-psych-teal-dark) !important;
  -webkit-text-fill-color: var(--nb-psych-teal-dark) !important;
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

html.nb-ivory-theme #loginScreen.nb-ultra .nb-hero-kicker-dot {
  background: #14b8a6 !important;
  box-shadow: 0 0 8px rgba(20, 184, 166, 0.6) !important;
}

html.nb-ivory-theme #loginScreen.nb-ultra .nb-hero-title {
  max-width: none !important;
  margin-bottom: 1rem !important;
  color: var(--nb-psych-navy) !important;
  -webkit-text-fill-color: var(--nb-psych-navy) !important;
}

html.nb-ivory-theme #loginScreen.nb-ultra .nb-hero-title-main {
  display: block !important;
  color: var(--nb-psych-teal-dark) !important;
  -webkit-text-fill-color: var(--nb-psych-teal-dark) !important;
  font-size: clamp(0.72rem, 1.6vw, 0.82rem) !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  margin-bottom: 0.55em !important;
}

html.nb-ivory-theme #loginScreen.nb-ultra #nbHeroSchoolName,
html.nb-ivory-theme #loginScreen.nb-ultra .nb-hero-school-name {
  display: block !important;
  color: var(--nb-psych-navy) !important;
  -webkit-text-fill-color: var(--nb-psych-navy) !important;
  font-family: "Noto Sans Tamil", "Plus Jakarta Sans", "Inter", sans-serif !important;
  font-size: clamp(2rem, 7vw, 3.75rem) !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.03em !important;
  text-shadow: none !important;
  border: none !important;
  padding-bottom: 0 !important;
  margin-bottom: 0.35em !important;
  background: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

html.nb-ivory-theme #loginScreen.nb-ultra .nb-hero-title .nb-line-accent {
  display: block !important;
  color: #475569 !important;
  -webkit-text-fill-color: #475569 !important;
  font-size: clamp(0.92rem, 1.9vw, 1.05rem) !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  max-width: 40ch !important;
}

html.nb-ivory-theme #loginScreen.nb-ultra .nb-hero-sub {
  color: #475569 !important;
  -webkit-text-fill-color: #475569 !important;
  font-size: clamp(0.94rem, 1.8vw, 1.04rem) !important;
  line-height: 1.7 !important;
  max-width: 48ch !important;
  margin-bottom: 1.5rem !important;
}

/* Trust chips */
html.nb-ivory-theme #loginScreen.nb-ultra .nb-hero-trust-chips {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-bottom: 1.25rem !important;
}

html.nb-ivory-theme #loginScreen.nb-ultra .nb-hero-trust-chip {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  padding: 6px 12px !important;
  border-radius: 999px !important;
  background: #f8fafc !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  color: #334155 !important;
  -webkit-text-fill-color: #334155 !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
}

html.nb-ivory-theme #loginScreen.nb-ultra .nb-hero-trust-chip em {
  font-style: normal !important;
  color: var(--nb-psych-teal-dark) !important;
  -webkit-text-fill-color: var(--nb-psych-teal-dark) !important;
}

/* CTA — TEAL primary, visible outline secondaries */
html.nb-ivory-theme #loginScreen.nb-ultra .nb-hero-glass-cta {
  background: #f8fafc !important;
  border: 1px solid rgba(15, 23, 42, 0.07) !important;
  border-radius: 18px !important;
  padding: 14px !important;
  margin-bottom: 1.25rem !important;
}

html.nb-ivory-theme #loginScreen.nb-ultra .nb-btn.nb-btn-primary,
html.nb-ivory-theme #loginScreen.nb-ultra .nb-hero-cta .nb-btn-primary,
html.nb-ivory-theme #loginScreen.nb-ultra #nbHeroCtaPrimary,
html.nb-ivory-theme #loginScreen.nb-ultra #landingEnqBtn {
  background: linear-gradient(135deg, #14b8a6 0%, #0d9488 50%, #0f766e 100%) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-weight: 800 !important;
  border: none !important;
  border-radius: 14px !important;
  min-height: 50px !important;
  padding: 14px 24px !important;
  box-shadow: 0 10px 28px rgba(13, 148, 136, 0.35) !important;
}

html.nb-ivory-theme #loginScreen.nb-ultra .nb-btn.nb-btn-outline,
html.nb-ivory-theme #loginScreen.nb-ultra .nb-hero-cta .nb-btn-outline {
  color: var(--nb-psych-ink) !important;
  -webkit-text-fill-color: var(--nb-psych-ink) !important;
  background: #ffffff !important;
  border: 1.5px solid rgba(15, 23, 42, 0.16) !important;
  font-weight: 700 !important;
  border-radius: 14px !important;
  min-height: 50px !important;
  backdrop-filter: none !important;
}

html.nb-ivory-theme #loginScreen.nb-ultra .nb-btn.nb-btn-outline:hover {
  background: #f1f5f9 !important;
  border-color: rgba(15, 23, 42, 0.24) !important;
  color: var(--nb-psych-navy) !important;
}

/* Stats */
html.nb-ivory-theme #loginScreen.nb-ultra .nb-hero-stats {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 10px !important;
}

html.nb-ivory-theme #loginScreen.nb-ultra .nb-hero-stat {
  padding: 12px 10px !important;
  border-radius: 14px !important;
  background: #f8fafc !important;
  border: 1px solid rgba(15, 23, 42, 0.07) !important;
  text-align: center !important;
}

html.nb-ivory-theme #loginScreen.nb-ultra .nb-hero-stat strong {
  color: var(--nb-psych-navy) !important;
  -webkit-text-fill-color: var(--nb-psych-navy) !important;
  background: none !important;
  background-image: none !important;
  font-size: clamp(1rem, 2.2vw, 1.25rem) !important;
}

html.nb-ivory-theme #loginScreen.nb-ultra .nb-hero-stat span {
  color: #64748b !important;
  -webkit-text-fill-color: #64748b !important;
  font-size: 0.62rem !important;
}

html.nb-ivory-theme #loginScreen.nb-ultra .nb-hero-trust {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px 14px !important;
  margin-top: 0.75rem !important;
}

html.nb-ivory-theme #loginScreen.nb-ultra .nb-hero-trust span {
  color: #64748b !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
}

html.nb-ivory-theme #loginScreen.nb-ultra .nb-hero-trust span::before {
  content: "✓ ";
  color: var(--nb-psych-teal) !important;
}

html.nb-ivory-theme #loginScreen.nb-ultra .nb-hero-scroll {
  color: #94a3b8 !important;
}

/* Marquee + sections */
html.nb-ivory-theme #loginScreen.nb-ultra .nb-marquee-band {
  background: var(--nb-psych-cream) !important;
}

html.nb-ivory-theme #loginScreen.nb-ultra .nb-section-kicker {
  color: var(--nb-psych-teal-dark) !important;
}

html.nb-ivory-theme #loginScreen.nb-ultra .nb-section-title {
  color: var(--nb-psych-navy) !important;
}

html.nb-ivory-theme #loginScreen.nb-ultra .nb-btn-public {
  background: linear-gradient(135deg, #0d9488, #0f766e) !important;
  color: #fff !important;
}

@media (max-width: 768px) {
  html.nb-ivory-theme #loginScreen.nb-ultra .nb-hero-content {
    width: calc(100% - 20px) !important;
    border-radius: 22px !important;
    padding-top: calc(80px + env(safe-area-inset-top, 0px)) !important;
  }

  html.nb-ivory-theme #loginScreen.nb-ultra .nb-hero-stats {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  html.nb-ivory-theme #loginScreen.nb-ultra #nbHeroSchoolName,
  html.nb-ivory-theme #loginScreen.nb-ultra .nb-hero-school-name {
    font-size: clamp(1.65rem, 8vw, 2.5rem) !important;
  }

  html.nb-ivory-theme #loginScreen.nb-ultra .nb-hero-cta {
    flex-direction: column !important;
  }

  html.nb-ivory-theme #loginScreen.nb-ultra .nb-hero-cta .nb-btn {
    width: 100% !important;
    text-align: center !important;
  }
}

html.nb-ivory-theme #nanbanStaffLoginModal.is-open {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  z-index: 10050 !important;
}
