:root {
  --type-body: 16px;
  --type-copy: 15px;
  --type-support: 14px;
  --type-label: 11px;
  --type-micro: 10px;
  --type-leading: 1.7;
}

/* Shared navigation and library typography */
.libraryNav .navlinks a {
  font-size: 13px;
}
.libraryNav > a:last-child,
.navBack {
  font-size: 11px;
}
.libraryHero > p:last-child,
.scopeLibraryHero > div > p:last-child,
.scopeDetailHero > div > p:last-child {
  font-size: 17px;
  line-height: var(--type-leading);
}
.libraryNotice p,
.scopeBefore p {
  font-size: 15px;
  line-height: 1.65;
}
.libraryNotice b,
.scopeBefore b {
  font-size: 14px;
}
.sensorRow small,
.networkRows small,
.programCards small {
  font-size: 10px;
}
.sensorRow > b,
.networkRows b {
  font-size: 12px;
}
.libraryFooter p,
.libraryFooter > a:last-child {
  font-size: 11px;
}

/* Sensor and actuator field guides */
.sensorHero > div > p:last-child {
  font-size: 16px;
  line-height: 1.75;
}
.actuatorControl strong {
  font-size: 16px;
}
.guideBlock li {
  font-size: 15px;
  line-height: 1.7;
}
.guideBlock li:before,
.blockLabel {
  font-size: 10px;
}
.caution p {
  font-size: 14px;
  line-height: 1.65;
}
.sideBlock span,
.prepBlock span {
  font-size: 14px;
  line-height: 1.6;
}
.guideRule p {
  font-size: 16px;
  line-height: 1.65;
}
.variantIdentify {
  font-size: 16px;
  line-height: 1.75;
}
.variantCard > header p {
  font-size: 14px;
  line-height: 1.6;
}
.variantTroubleshoot p {
  font-size: 14px;
  line-height: 1.65;
}
.variantTroubleshoot small {
  font-size: 10px;
}
.componentTheory > header > p,
.networkTheory > header > p {
  font-size: 16px;
  line-height: 1.75;
}
.componentTheoryGrid p,
.theoryGrid p {
  font-size: 15px;
  line-height: 1.75;
}
.componentTheoryGrid span,
.theoryGrid span {
  font-size: 11px;
}
.componentTheory > aside p,
.networkTheory > aside p {
  font-size: 14px;
  line-height: 1.7;
}
.componentTheory > aside b,
.networkTheory > aside b {
  font-size: 12px;
}

/* Network guides */
.networkRows p,
.networkRows span {
  font-size: 13px;
  line-height: 1.6;
}
.netFacts small {
  font-size: 10px;
}
.netFacts b {
  font-size: 15px;
  line-height: 1.55;
}
.netPrinciple > p:last-child {
  font-size: 16px;
}

/* Programming guides */
.programCards p {
  font-size: 15px;
  line-height: 1.7;
}
.programCards span {
  font-size: 11px;
  line-height: 1.7;
}
.programCards b {
  font-size: 11px;
}
.programOps small {
  font-size: 10px;
}
.programOps b {
  font-size: 14px;
  line-height: 1.5;
}
.programGuideGrid .guideBlock ul li {
  font-size: 15px;
  line-height: 1.65;
}
.programRule > p:last-child {
  font-size: 15px;
  line-height: 1.75;
}

/* Starting and charging */
.scHero > div > p:last-child {
  font-size: 17px;
  line-height: 1.75;
}
.scSnapshot p {
  font-size: 14px;
  line-height: 1.6;
}
.scSnapshot small,
.scTestHead > span {
  font-size: 10px;
}
.scOrder li b {
  font-size: 15px;
}
.scOrder li span {
  font-size: 14px;
  line-height: 1.55;
}
.testBody li {
  font-size: 15px;
  line-height: 1.7;
}
.testBody aside,
.lead,
.dropGrid p {
  font-size: 14px;
  line-height: 1.65;
}
.scSafety p {
  font-size: 16px;
  line-height: 1.75;
}

/* Electric vehicle guide */
.evHero > div > p:last-child {
  font-size: 17px;
  line-height: 1.75;
}
.evSafety p {
  font-size: 16px;
  line-height: 1.7;
}
.evIntro > div > p:last-child,
.evOrderHead p:last-child {
  font-size: 16px;
  line-height: 1.75;
}
.evBoundaries p,
.evSectionHead p,
.evChecks p,
.evChecks li {
  font-size: 14px;
  line-height: 1.7;
}
.evBoundaries small,
.evSectionHead small,
.evChecks small {
  font-size: 10px;
}
.evOrder li span {
  font-size: 15px;
  line-height: 1.7;
}
.evOrder li b {
  font-size: 18px;
}
.evEvidence li {
  font-size: 15px;
  line-height: 1.65;
}
.evSources a {
  font-size: 13px;
  line-height: 1.6;
}

/* Quick oscilloscope guides */
.scopePrinciple p,
.scopeTestCard p {
  font-size: 15px;
  line-height: 1.7;
}
.scopeTestCard > small,
.scopeTestCard footer {
  font-size: 10px;
}
.scopeLimit > p:last-child,
.whyFirst p {
  font-size: 17px;
  line-height: 1.75;
}
.scopeSetup span,
.scopeAside span {
  font-size: 14px;
  line-height: 1.6;
}
.scopeBoundaries p,
.scopeDecision p {
  font-size: 15px;
  line-height: 1.7;
}

/* Preserve compact instrument notation while making it legible. */
.scopeMeta {
  font-size: 10px;
}
.scopeLegend,
.advancedWaveform:after,
.animatedWaveform:after {
  font-size: 9px;
}
.scopePlot > p {
  font-size: 10px;
  line-height: 1.55;
}
.scopeAxis {
  font-size: 14px;
}

@media (max-width: 600px) {
  :root {
    --type-body: 16px;
    --type-copy: 15px;
    --type-support: 14px;
  }
  .libraryHero > p:last-child,
  .sensorHero > div > p:last-child,
  .scopeLibraryHero > div > p:last-child,
  .scopeDetailHero > div > p:last-child,
  .evHero > div > p:last-child,
  .scHero > div > p:last-child {
    font-size: 16px;
  }
  .libraryNotice p,
  .guideBlock li,
  .testBody li,
  .programCards p,
  .componentTheoryGrid p,
  .theoryGrid p,
  .scopeTestCard p {
    font-size: 15px;
  }
  .sideBlock span,
  .prepBlock span,
  .variantTroubleshoot p,
  .evChecks p,
  .evChecks li,
  .scopeAside span {
    font-size: 14px;
  }
  .menuOpen .navlinks a {
    font-size: 14px;
  }
}
