
    
  
/* MedulearnerX landing-page design layer
 * Load AFTER stylenew.css. All page-specific rules are scoped to .index-page
 * so shared styles for authenticated pages remain unchanged.
 */

.index-page {
  /* Design tokens */
  --ml-color-navy: #173b78;
  --ml-color-blue: #294a91;
  --ml-color-teal: #087f8c;
  --ml-color-text: #344054;
  --ml-color-muted: #535d6b;
  --ml-color-page: #f5f8fc;
  --ml-color-surface: #fff;
  --ml-color-border: #d0d5dd;
  --ml-color-focus: #087f8c;

  --ml-space-1: 0.5rem;   /* 8px */
  --ml-space-2: 1rem;     /* 16px */
  --ml-space-3: 1.5rem;   /* 24px */
  --ml-space-4: 2rem;     /* 32px */
  --ml-space-6: 3rem;     /* 48px */
  --ml-space-8: 4rem;     /* 64px */

  --ml-radius-sm: 0.5rem;
  --ml-radius-card: 0.875rem;
  --ml-shadow-card: 0 0.5rem 1.75rem rgb(23 59 120 / 7%);
  --ml-shadow-header: 0 0.25rem 1.125rem rgb(16 24 40 / 8%);
  --ml-motion-fast: 160ms ease;

  color: var(--ml-color-text);
  background: var(--ml-color-surface);
  font-family: "Open Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  line-height: 1.6;
}

.index-page :where(h1, h2, h3, h4, h5, h6) {
  color: var(--ml-color-navy);
  font-family: "Questrial", "Open Sans", sans-serif;
  line-height: 1.2;
}

.index-page a {
  transition: color var(--ml-motion-fast), background-color var(--ml-motion-fast),
    border-color var(--ml-motion-fast), box-shadow var(--ml-motion-fast);
}

.index-page :where(a, button, [role="button"], input, select, textarea):focus-visible {
  outline: 3px solid var(--ml-color-focus);
  outline-offset: 3px;
}

/* Fixed header */
.index-page .header {
  padding: 1rem 0;
  background: rgb(255 255 255 / 96%);
  border-bottom: 1px solid rgb(208 213 221 / 55%);
  backdrop-filter: blur(10px);
  transition: box-shadow var(--ml-motion-fast), background-color var(--ml-motion-fast);
}

.index-page.scrolled .header {
  box-shadow: var(--ml-shadow-header);
}

.index-page .header .logo .sitename {
  color: var(--ml-color-navy);
  font-family: "Questrial", sans-serif;
  font-size: clamp(1.25rem, 2vw, 1.5rem);
  font-weight: 700;
  letter-spacing: -0.025em;
}

.index-page .navmenu a {
  font-weight: 600;
}

.index-page .navmenu a:hover,
.index-page .navmenu a.active {
  color: var(--ml-color-navy);
}

.index-page .navmenu a::before {
  background-color: var(--ml-color-teal);
}

/* Shared section rhythm */
.index-page main > .section {
  padding-block: clamp(3.5rem, 7vw, 5.5rem);
  scroll-margin-top: 5.5rem;
}

.index-page .section-title {
  max-width: 52rem;
  margin-inline: auto;
  padding-bottom: var(--ml-space-6);

