/* === START: typography — headings, type scale, font helpers === */

/* general classes */
a {color: #15c; text-decoration: none;}

a.default-text        {color:rgb(21, 27, 38); text-decoration: none;}
a.default-text:hover  {color:rgb(21, 27, 38); text-decoration: none; cursor:pointer;}

a:hover {color: #73c5eb;text-decoration: none;}

a.link_submit, a.pointer { cursor:pointer; }

.nowrap {
  white-space: nowrap;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Inter', sans-serif;
  font-optical-sizing: auto;
  margin-top: 0;
}

h1 {
  font-size: clamp(2rem, 1.6rem + 1.5vw, 2.75rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.15;
  margin-top: 2rem;
  margin-bottom: 0.75rem;
}

h2 {
  font-size: clamp(1.6rem, 1.3rem + 0.9vw, 2rem);
  font-weight: 600;
  letter-spacing: -0.015em;
  line-height: 1.2;
  margin-top: 2rem;
  margin-bottom: 0.75rem;
}
/* called in _global */
h2.page_heading {
  font-size: clamp(1.5rem, 1.3rem + 0.8vw, 1.9rem);
  font-weight: 600;
  letter-spacing: -0.015em;
  line-height: 1.25;
  margin-bottom: 0.5rem;
}
h5.page_subheading {
  font-size: clamp(1.05rem, 1rem + 0.3vw, 1.2rem);
  font-weight: 500;
  letter-spacing: -0.01em;
  line-height: 1.3;
  margin-top: 1.5rem;
  margin-bottom: 0.35rem;
  color: rgb(31, 41, 55);
}

h3 {
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.25;
  margin-top: 1.75rem;
  margin-bottom: 0.5rem;
}

h4 {
  font-size: 1.15rem;
  font-weight: 600;
  letter-spacing: -0.005em;
  line-height: 1.3;
  margin-top: 1.5rem;
  margin-bottom: 0.5rem;
}

h5 {
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.35;
  margin-top: 1.25rem;
  margin-bottom: 0.4rem;
}

h6 {
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.4;
  margin-top: 1rem;
  margin-bottom: 0.4rem;
}


/* === START: type helpers — serif, inter, lead, cta, trust, ref-input === */

/* instead of <p><strong>bla blah blah</strong><br /> use:  <span class="content-subheading">SAGE Scholars FastTrak</span><br />  */
.content-subheading {
  font-size: 1.0625rem;/* renders at 18px with our defalt size of 17px */
  font-weight: 650; /* Inter supports this craziness */
  letter-spacing: -0.01em;
  color: rgb(31, 41, 55);   /* same as body, not muted */
  display: inline-block;
  margin-bottom: 0.15rem;
}
ul.program-list h4 {
  margin-top: 0.25rem;
  font-weight: 500;
  color: rgb(55, 65, 81);
}


h1.serif,
h2.serif,
h3.serif,
h4.serif,
h5.serif,
h6.serif {
  font-family: 'Source Serif 4', serif;
  font-optical-sizing: auto;
  font-weight: 600;               /* Stronger than 500 */
  letter-spacing: -0.015em;       /* Subtle tightening */
  line-height: 1.2;               /* Better headline rhythm */
  text-wrap: balance;             /* Modern browser support */
}
h1.serif { font-weight: 700; }
h2.serif { font-weight: 600; }
h3.serif { font-weight: 600; }
h4.serif,
h5.serif,
h6.serif { font-weight: 500; }

.lead {
  font-size: 1.2rem;   /* Slight bump, not oversized */
  font-weight: 500;      /* Much better for Inter */
  line-height: 1.6;
  margin-bottom: 1.5rem;
}

p.serif {
  font-family: 'Source Serif 4', serif;
  font-optical-sizing: auto;
  font-weight: 400;
  line-height: 1.7;          /* Serif needs more breathing room */
  letter-spacing: 0.01em;    /* Slight clarity boost */
}

p.inter {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  font-size: 18px;          /* Excellent reading size */
  line-height: 1.65;        /* Ideal for body text */
  font-weight: 400;
  letter-spacing: 0.01em;   /* Slight refinement */
  color: #1a1a1a;           /* Softer than pure black */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

p.inter-auto {
  font-family: "Inter", sans-serif;
  font-size: 18px;
  line-height: 1.65;
  font-weight: 400;
  font-optical-sizing: auto;   /* enabled */
}



h1.mnst, h2.mnst, h3.mnst, h4.mnst, h5.mnst, h6.mnst, .mnst {
  font-family: 'Inter', sans-serif;
  font-weight:500;
}


.font-mnst {
  font-family: 'Inter', sans-serif;
}

.lh-relaxed {
  line-height: 1.65; /* 26.4px on 16px font — comfortably readable */
  font-size: inherit; /* key: don't override size */
}

.cta-intro {
  font-size: 1.4rem;
  font-weight: 600;
  text-align: center;
  margin-top: 2rem;
  margin-bottom: 1.2rem;
  line-height: 1.4;
  letter-spacing: 0.5px;
}
@media (max-width: 576px) { .cta-intro {font-size: 1.15rem;} }


/* Reduce the gap between CTA line and trust badges */
.trust-row { margin-top: 1rem; margin-bottom: 0.25rem;}
.trust-text {font-size: 1rem; color: #444;}
.trust-item i {line-height: 1;vertical-align: middle;}
.trust-item { font-size: 1rem;}
.cue-inline {
  color: var(--bs-royal);
  font-size: 1.2rem;
  margin-top: 1rem;
  margin-bottom: 1.2rem;
}
.cue-inline i { opacity: 0.9; cursor: pointer;}
.cue-inline span {cursor: pointer;}
.cue-inline:hover { opacity: .95; }

.ref-input {
  border: 1px solid #cfd8dc;
  border-radius: 30px;
  padding: 4px 12px;
  display: flex;
  align-items: center;
  background: #fff;
}

.ref-input:focus-within {
  border-color: var(--bs-sage);
  box-shadow: 0 0 0 2px rgba(0, 150, 100, .15);
}

.ref-icon {
  color: var(--bs-sage);
  margin-right: 8px;
  font-size: 0.9rem;
}

.ref-field {
  border: none;
  box-shadow: none;
}

.ref-field:focus {
  outline: none;
  box-shadow: none;
}

.ref-remove {
  border: none;
  background: transparent;
  color: var(--bs-sage);
  padding: 4px 6px;
  border-radius: 50%;
}

.ref-remove:hover {
  background: rgba(0,0,0,.05);
}





/* === END: typography === */