/* ==========================================================================
   NEUROCENTER.KZ — IMPECCABLE TYPOGRAPHIC SYSTEM
   ========================================================================== */

:root {
  --nc-font-sans: 'Jost', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --nc-color-heading: #0f172a;
  --nc-color-subheading: #1e293b;
  --nc-color-body: #334155;
  --nc-color-muted: #64748b;
  --nc-color-primary: #1f4068;
  --nc-color-accent: #162447;
  --nc-measure-optimal: 70ch;
}

html {
  font-family: var(--nc-font-sans);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

body {
  font-family: var(--nc-font-sans);
  color: var(--nc-color-body);
  font-size: 1.05rem;
  line-height: 1.65;
  font-weight: 400;
}

/* Browser surface theming */
::selection {
  background-color: var(--nc-color-primary);
  color: #ffffff;
}

::-moz-selection {
  background-color: var(--nc-color-primary);
  color: #ffffff;
}

/* Hierarchical Headings Ramp */
h1, .display-1 {
  font-family: var(--nc-font-sans);
  font-size: clamp(2rem, 3.5vw + 0.5rem, 2.75rem) !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.025em !important;
  color: var(--nc-color-heading);
  margin-top: 0;
  margin-bottom: 1.25rem;
  text-wrap: balance;
}

h2, .display-2 {
  font-family: var(--nc-font-sans);
  font-size: clamp(1.45rem, 2.5vw + 0.4rem, 2rem) !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.02em !important;
  color: var(--nc-color-subheading);
  margin-top: 2rem;
  margin-bottom: 1rem;
  text-wrap: balance;
}

h3, .display-5 {
  font-family: var(--nc-font-sans);
  font-size: clamp(1.15rem, 1.5vw + 0.4rem, 1.4rem) !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  letter-spacing: -0.01em !important;
  color: var(--nc-color-subheading);
  margin-top: 1.5rem;
  margin-bottom: 0.75rem;
}

h4, h5, h6 {
  font-family: var(--nc-font-sans);
  font-weight: 600 !important;
  line-height: 1.4 !important;
  color: var(--nc-color-subheading);
  margin-bottom: 0.5rem;
}

.cid-header-title h1,
.mbr-white h1,
.mbr-white h2,
.mbr-white h3 {
  color: #ffffff !important;
}

/* Prose Reading Comfort & Measure */
p, .mbr-text, .display-7 {
  font-size: 1.05rem !important;
  line-height: 1.68 !important;
  color: var(--nc-color-body) !important;
  margin-bottom: 1.25rem;
}

.content4 .mbr-text,
.content7 .mbr-text,
.content8 .mbr-text,
.content9 .mbr-text,
.content10 .mbr-text,
.content11 .mbr-text,
.content12 .mbr-text {
  max-width: var(--nc-measure-optimal);
  margin-left: auto;
  margin-right: auto;
}

/* Medical Doctor & Team Credentials Role Hierarchy */
.mbr-role,
.card-title,
.item-title {
  font-family: var(--nc-font-sans);
  font-weight: 600 !important;
  letter-spacing: -0.01em;
  color: var(--nc-color-heading);
}

.item-subtitle,
.mbr-role {
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  color: var(--nc-color-primary) !important;
  line-height: 1.5 !important;
  margin-bottom: 0.5rem;
}

/* Medical Lists & Bullet Points */
ul.mbr-fonts-style,
ol.mbr-fonts-style,
.mbr-text ul {
  padding-left: 1.5rem;
  margin-bottom: 1.5rem;
}

ul.mbr-fonts-style li,
ol.mbr-fonts-style li,
.mbr-text ul li {
  margin-bottom: 0.6rem;
  line-height: 1.6;
  color: var(--nc-color-body);
}

/* Action Elements & Buttons */
.btn {
  font-family: var(--nc-font-sans);
  font-weight: 600 !important;
  letter-spacing: 0.01em;
  font-size: 0.95rem !important;
  padding: 0.75rem 1.75rem !important;
  border-radius: 8px !important;
}

/* Navigation Links */
.navbar-nav .nav-link {
  font-family: var(--nc-font-sans);
  font-weight: 500 !important;
  font-size: 0.95rem !important;
  letter-spacing: 0.01em;
}

/* Accessibility & Focus States */
a:focus-visible,
button:focus-visible,
.btn:focus-visible {
  outline: 3px solid rgba(31, 64, 104, 0.5) !important;
  outline-offset: 2px !important;
}



/* ==========================================================================
   DOCTORS & SPECIALISTS FULL NAMES (ФИО ВРАЧЕЙ) — SUBHEADING SCALE
   ========================================================================== */
.features-image .card-title,
.item-wrapper .card-title,
.team-card .card-title,
.content-wrap .card-title,
.mbr-section-title.card-title,
h5.card-title,
h5.mbr-section-title.card-title,
.features-image h5.card-title,
.item-wrapper h5.card-title {
  font-family: var(--nc-font-sans) !important;
  font-size: clamp(1.65rem, 2.5vw + 0.3rem, 2.15rem) !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.02em !important;
  color: #0f172a !important;
  margin-top: 1rem !important;
  margin-bottom: 0.75rem !important;
  text-align: center;
}

/* Subtitles of sections */
.mbr-section-subtitle,
p.mbr-section-subtitle,
.mbr-section-subtitle.display-5 {
  font-family: var(--nc-font-sans) !important;
  font-size: clamp(1.15rem, 1.5vw + 0.3rem, 1.35rem) !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
  color: #334155 !important;
  max-width: 80ch;
  margin-left: auto;
  margin-right: auto;
}

/* Doctor Credentials & Subtitles */
.features-image .mbr-role,
.item-wrapper .mbr-role,
.team-card .mbr-role,
.content-wrap .mbr-role,
.mbr-role.display-4 {
  font-family: var(--nc-font-sans) !important;
  font-size: clamp(1.05rem, 1.2vw + 0.2rem, 1.2rem) !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
  color: #1f4068 !important;
  margin-bottom: 1rem !important;
  text-align: center;
}

.features-image .card-text,
.item-wrapper .card-text {
  font-size: 1.05rem !important;
  color: #475569 !important;
  line-height: 1.55 !important;
}
