.reading-route {
  margin-top: 54px;
}
.reading-route-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.reading-route-grid > a {
  display: flex;
  gap: 16px;
  min-height: 158px;
  padding: 23px;
  border: 1px solid var(--line);
  background: #efeee5;
}
.reading-route-grid > a:hover {
  background: #e7e9dc;
}
.route-number {
  color: var(--red);
  font: italic 26px Georgia, serif;
}
.route-copy {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 7px;
}
.route-copy strong {
  font: normal 23px/1.2 Georgia, serif;
}
.route-copy small {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}
.route-copy em {
  margin-top: auto;
  color: var(--red);
  font-size: 11px;
  font-style: normal;
  letter-spacing: .5px;
}
.route-arrow {
  align-self: flex-start;
  color: var(--red);
}
.related-intro {
  margin: -8px 0 28px;
  color: var(--muted);
  font-size: 14px;
}
.related-back {
  display: inline-block;
  margin-top: 28px;
  border-bottom: 1px solid currentColor;
  font-size: 13px;
}
.reading-text .source-note {
  padding: 20px 24px;
  border: 1px solid var(--line);
  background: #eeece2;
}
.reading-text .source-note strong {
  color: var(--red);
  font-size: 13px;
}
.reading-text .source-note p {
  margin: 8px 0 0;
  font-size: 14px;
  line-height: 1.6;
}
.plan-nav {
  flex-wrap: wrap;
}
@media (max-width: 800px) {
  .reading-route-grid {
    grid-template-columns: 1fr;
  }
  .reading-route-grid > a {
    min-height: 130px;
  }
}

.tool-promise {
  margin: 22px 0 28px;
  padding: 15px 18px;
  border-left: 3px solid #304a40;
  background: #e9eee5;
  color: #3d5147;
  font-size: 14px;
}
.tongue-tool .quality-panel {
  padding: 17px 22px;
}
.tongue-tool .quality-panel summary {
  font: 16px Georgia, serif;
  color: #304a40;
}
.tongue-tool .capture-tips {
  padding: 8px 0;
}
.tongue-tool .tool-learning {
  display: block;
  padding: 22px 28px;
}
.tongue-tool .tool-learning summary {
  font: 23px Georgia, serif;
}
.tool-learning .term-buttons {
  margin-top: 24px;
}
.tongue-tool .result-next {
  display: inline-block;
  margin-top: 14px;
  padding: 13px 18px;
  background: #304a40;
  color: #fff;
  text-decoration: none;
}
.tongue-tool .result-next:hover {
  color: #fff;
  background: #24392f;
}
.tongue-tool .tool-related {
  margin-top: 28px;
}
.tongue-tool .tool-related a {
  font-size: 13px;
}
.topics-more {
  margin-top: 40px;
  font-size: 13px;
  text-align: center;
}
.topics-more a,
.tongue-guide a:not(.guide-next a) {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.tongue-guide {
  max-width: 1080px;
  margin: 0 auto;
}
.guide-hero {
  padding: 68px 0 42px;
  border-bottom: 1px solid var(--line);
}
.guide-hero h1 {
  max-width: 870px;
  margin: 15px 0 18px;
  font: normal clamp(36px, 4.4vw, 62px)/1.11 Georgia, serif;
}
.guide-hero p {
  color: var(--muted);
  font: 21px Georgia, serif;
}
.guide-body {
  max-width: 730px;
  margin: 0 auto;
}
.guide-body > p,
.guide-body section p,
.guide-next p,
.guide-sources p {
  font-size: 17px;
  line-height: 1.8;
  color: #495148;
}
.guide-body .guide-answer {
  margin: 44px 0;
  font: 21px/1.65 Georgia, serif;
  color: var(--ink);
}
.guide-body section {
  margin-top: 38px;
}
.guide-body h2 {
  font: normal 31px/1.2 Georgia, serif;
}
.guide-next {
  margin-top: 55px;
  padding: 30px;
  background: #e9eee5;
}
.guide-next h2 {
  margin: 10px 0;
}
.guide-next a {
  display: inline-block;
  padding: 12px 16px;
  background: #304a40;
  color: white;
  font-size: 14px;
}
.guide-sources {
  margin-top: 45px;
  border-top: 1px solid var(--line);
}
.guide-sources h2 {
  font-size: 22px;
}
.guide-sources p {
  font-size: 14px;
}
@media (max-width: 700px) {
  .tongue-tool .tool-learning {
    padding: 18px;
  }
  .tongue-tool .tool-learning summary {
    font-size: 20px;
  }
  .guide-hero {
    padding-top: 38px;
  }
  .guide-hero h1 {
    font-size: 40px;
  }
  .guide-body .guide-answer {
    font-size: 19px;
  }
}
