/* Brand tokens and responsive boundaries; Tutor still owns its templates. */
body.jsu-suite {
  --tutor-color-primary: #43ddf3;
  --tutor-color-primary-hover: #7185ff;
  --tutor-body-color: #edf6ff;
  --tutor-color-secondary: #a8b8cf;
  --tutor-border-color: rgba(168,184,207,.2);
}
.jsu-catalog-intro { margin: 0 0 24px; width: 100%; }
.jsu-catalog-intro > span { color: #43ddf3; font-size: 12px; letter-spacing: .12em; }
.jsu-catalog-intro h1 { margin: 10px 0; color: #edf6ff; font-size: clamp(28px, 5vw, 46px); line-height: 1.13; }
.jsu-catalog-intro p { color: #a8b8cf; max-width: 64ch; }
body.jsu-suite :is(.tutor-course-name,.tutor-course-details-title,.tutor-course-topic-title,.tutor-accordion-item-header) { overflow-wrap: anywhere; }
body.jsu-suite :is(.tutor-row > *, .tutor-course-single-content-wrapper > *) { min-width: 0; }
body.jsu-suite :is(.tutor-course-details-page,.tutor-course-single-content-wrapper) :is(img,video,iframe) { max-width: 100%; }
body.jsu-suite :is(.tutor-btn,.jsp-wow-btn) { white-space: normal; overflow-wrap: break-word; }
body.jsu-suite :is(.jsp-global-mobile,.jsp-language__menu) { max-height: calc(100vh - 100px); max-height: calc(100dvh - 100px); overflow-y: auto; overscroll-behavior: contain; }
body.jsu-suite .tutor-modal-content { max-height: calc(100vh - 40px); max-height: calc(100dvh - 40px); overflow-y: auto; }
body.jsu-suite :is(a,button,input,select,textarea):focus-visible { outline: 2px solid #43ddf3; outline-offset: 3px; }
#jsu-content-start { scroll-margin-top: 100px; }
@media (max-width: 767px) {
  body.jsu-suite :is(.tutor-wrap,.jsp-auth-shell,#jsp-auth-shell) :is(input:not([type=checkbox]):not([type=radio]),select,textarea) { font-size: 16px; }
  body.jsu-suite :is(.tutor-btn,.jsp-wow-btn,.jsp-global-menu-button) { min-height: 44px; }
  body.jsu-suite :is(.tutor-course-details-actions,.tutor-course-topic-single-footer,.tutor-nav) { flex-wrap: wrap; gap: 10px; }
  body.jsu-suite .tutor-course-topic-single-footer > * { min-width: 0; }
  body.jsu-suite .jsp-global-mobile { padding-bottom: max(16px, env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) {
  body.jsu-suite *, body.jsu-suite *::before, body.jsu-suite *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
