/* Shared accessibility safeguards, including the standalone consulting page. */
html { scroll-padding-top: 120px; }
:focus-visible { outline: 3px solid #285d98 !important; outline-offset: 4px !important; }
html[data-theme="dark"] :focus-visible { outline-color: #a6ccfb !important; }
main:focus { outline: none; }
.academy-retheme dialog.privacy-modal { max-height: calc(100dvh - 48px); overflow: auto; border: 1px solid var(--line); margin: auto; color: var(--foreground); background: var(--card); }
.academy-retheme dialog.privacy-modal:not([open]) { display: none !important; }
.academy-retheme dialog.privacy-modal::backdrop { background: rgb(0 0 0 / .75); }
/* Keep brand blue for decoration; use darker blue for text on pale surfaces. */
html[data-theme="light"] .academy-retheme em,
html[data-theme="light"] .academy-retheme .learner-link { color: #285d98 !important; }
html[data-theme="dark"] .academy-retheme {
  --approach-card: #17181c;
  --approach-hover: #172638;
  --approach-label: #a8ceff;
}
html[data-theme="dark"] .academy-retheme .site-navbar a[aria-current="page"],
html[data-theme="dark"] .academy-retheme .site-navbar .is-current summary { color: #f1f3f4 !important; background: #0b1621 !important; }
.public-pages [style*="color: rgb(119, 130, 157)"],
.public-pages [style*="color: #77829d"],
.public-pages .text-\[\#77829d\],
.pricing-presentation__eyebrow,
.pricing-presentation__scroll,
.pricing-presentation__cue { color: #526278 !important; }
.public-pages [style*="color: rgb(92, 138, 255)"],
.public-pages [style*="color: #5c8aff"] { color: #285d98 !important; }
.public-pages [style*="color: rgb(253, 131, 99)"],
.public-pages [style*="color: #fd8363"] { color: #a43d27 !important; }
.public-pages [style*="background-color: rgb(92, 138, 255)"],
.public-pages [style*="background-color: #5c8aff"] { background-color: #285d98 !important; color: #fff !important; }
.public-pages .bg-secondary { background: #14283f !important; color: #fff !important; }
.public-pages .bg-secondary h1 { color: #fff !important; }
html[data-theme="dark"] .public-pages .bg-white,
html[data-theme="dark"] .public-pages .bg-\[\#f2f6f9\] { background: #17181c !important; }
html[data-theme="dark"] .public-pages .bg-gray-50 { background: #0b1621 !important; color: #f1f3f4 !important; }
html[data-theme="dark"] .public-pages [style*="color: #414141"],
html[data-theme="dark"] .public-pages [style*="color: rgb(65, 65, 65)"],
html[data-theme="dark"] .public-pages [style*="color: #77829d"],
html[data-theme="dark"] .public-pages [style*="color: rgb(119, 130, 157)"],
html[data-theme="dark"] .public-pages .text-\[\#77829d\] { color: #bec7d5 !important; }
html[data-theme="dark"] .public-pages .text-\[\#414141\],
html[data-theme="dark"] .public-pages .text-\[\#5c6578\],
html[data-theme="dark"] .public-pages [style*="color: #0e1628"],
html[data-theme="dark"] .public-pages [style*="color: rgb(14, 22, 40)"] { color: #f1f3f4 !important; }
html[data-theme="dark"] .public-pages [style*="color: rgb(92, 138, 255)"],
html[data-theme="dark"] .public-pages [style*="color: #5c8aff"],
html[data-theme="dark"] .public-pages .text-primary { color: #a6ccfb !important; }
html[data-theme="dark"] .public-pages [style*="color: rgb(253, 131, 99)"],
html[data-theme="dark"] .public-pages [style*="color: #fd8363"] { color: #ffb4a2 !important; }
html[data-theme="dark"] .public-pages input::placeholder,
html[data-theme="dark"] .public-pages textarea::placeholder { color: #bec7d5 !important; opacity: 1; }
html[data-theme="dark"] .public-pages .blog-index-masthead { background: #0b1621 !important; }
html[data-theme="dark"] .public-pages .blog-index-masthead h1,
html[data-theme="dark"] .public-pages .blog-index-breadcrumb-current { color: #f1f3f4 !important; }
html[data-theme="dark"] .public-pages .blog-index-breadcrumb a,
html[data-theme="dark"] .public-pages .blog-index-kicker,
html[data-theme="dark"] .public-pages .blog-index-intro { color: #bec7d5 !important; }
html[data-theme="dark"] .public-pages [style*="background-color: rgb(92, 138, 255)"],
html[data-theme="dark"] .public-pages [style*="background-color: #5c8aff"] { color: #fff !important; }
/* These branded pricing panels intentionally stay pale in either theme. */
html[data-theme="dark"] .public-pages #pricing-title { color: #0e1628 !important; }
html[data-theme="dark"] .public-pages .bg-\[\#edf3ff\] { color: #285d98 !important; }
.admin-pages [style*="color: rgb(119, 130, 157)"],
.admin-pages [style*="color: rgb(156, 163, 175)"],
.admin-pages [style*="color: rgb(92, 138, 255)"] { color: #526278 !important; }
.admin-pages [style*="background-color: rgb(92, 138, 255)"] { background-color: #285d98 !important; color: #fff !important; }
html[data-theme="dark"] .admin-pages,
html[data-theme="dark"] .admin-pages .bg-white { background: #17181c !important; color: #f1f3f4; }
html[data-theme="dark"] .admin-pages [style*="background: white"],
html[data-theme="dark"] .admin-pages [style*="background: rgb(255, 255, 255)"],
html[data-theme="dark"] .admin-pages .bg-gray-50,
html[data-theme="dark"] .admin-pages input,
html[data-theme="dark"] .admin-pages textarea,
html[data-theme="dark"] .admin-pages select { background: #0b1621 !important; color: #f1f3f4 !important; }
html[data-theme="dark"] .admin-pages [style*="color: rgb(14, 22, 40)"],
html[data-theme="dark"] .admin-pages .text-\[\#0e1628\],
html[data-theme="dark"] .admin-pages .text-gray-900 { color: #f1f3f4 !important; }
html[data-theme="dark"] .admin-pages [style*="color: rgb(119, 130, 157)"],
html[data-theme="dark"] .admin-pages [style*="color: rgb(156, 163, 175)"],
html[data-theme="dark"] .admin-pages [style*="color: rgb(92, 138, 255)"],
html[data-theme="dark"] .admin-pages [style*="color: rgb(82, 98, 120)"],
html[data-theme="dark"] .admin-pages .text-slate-600,
html[data-theme="dark"] .admin-pages .text-slate-500,
html[data-theme="dark"] .admin-pages .text-gray-500 { color: #bec7d5 !important; }
html[data-theme="dark"] .admin-pages input::placeholder,
html[data-theme="dark"] .admin-pages textarea::placeholder { color: #bec7d5; opacity: 1; }
.admin-pages [style*="color: rgb(107, 114, 128)"] { color: #414b5a !important; }
.admin-pages [style*="color: rgb(22, 163, 74)"] { color: #166534 !important; }
html[data-theme="dark"] .admin-pages [style*="color: rgb(107, 114, 128)"] { color: #bec7d5 !important; }
html[data-theme="dark"] .admin-pages [style*="color: rgb(22, 163, 74)"] { color: #86efac !important; }
html[data-theme="dark"] .admin-pages .text-white { color: #fff !important; }
.admin-pages .overflow-hidden:has(> table) { overflow-x: auto; }
html[data-theme="dark"] .admin-pages [style*="color: rgb(65, 65, 65)"],
html[data-theme="dark"] .admin-pages .prose { color: #bec7d5 !important; }
html[data-theme="dark"] .admin-pages .prose :is(h1,h2,h3,h4,strong) { color: #f1f3f4; }
.public-pages .text-\[\#416bd6\] { color: #285d98 !important; }
html[data-theme="dark"] .public-pages .text-\[\#0e1628\] { color: #f1f3f4 !important; }
html[data-theme="dark"] .public-pages .text-\[\#536078\],
html[data-theme="dark"] .public-pages [style*="color: rgb(82, 98, 120)"] { color: #bec7d5 !important; }
html[data-theme="dark"] .public-pages .text-\[\#416bd6\] { color: #a6ccfb !important; }
.student-auth-input { background: #fff !important; color: #152438 !important; border-color: #64748b !important; opacity: 1 !important; }
.student-auth-input::placeholder { color: #526278 !important; opacity: 1 !important; }
html[data-theme="dark"] .student-auth-input { background: #171c25 !important; color: #f1f3f4 !important; border-color: #8292a8 !important; }
html[data-theme="dark"] .student-auth-input::placeholder { color: #bec7d5 !important; }
@media (prefers-reduced-motion: reduce) {
  html, body, * { scroll-behavior: auto !important; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
@media (forced-colors: active) {
  button, input, select, textarea { border: 1px solid ButtonText; }
  :focus-visible { outline-color: Highlight !important; }
}
