/* Shared reading defaults. Homepage composition is owned by home.css.
   Keep selectors on HTML UI: SVG lesson positioning and animation are content. */

body:not(.home-page),
body:not(.home-page) * {
  cursor: revert;
}

body:not(.home-page) :is(a, button, summary, [role="button"], input[type="button"], input[type="submit"]) {
  cursor: pointer;
}

body:not(.home-page) :is(.cursor, .particle-container) {
  display: none !important;
}

/* These are decorative entry effects, not lesson-diagram animation classes. */
body:not(.home-page) :is(div, section, article, header, p, a).reveal,
body:not(.home-page) .hero :is(.hi, .sub, .prose, .actions),
body:not(.home-page) .hero h1 span,
body:not(.home-page) .reveal-line > span {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
  transition: none !important;
}

body:not(.home-page) .topnav :is(.tnlinks a, .tntoggle),
body:not(.home-page) :is(a.btn, button.btn, a.chip, .row .go, .card .links a, .demo-card-cta, .grouphead .gl),
body:not(.home-page) :is(.hi, .eyebrow, .grouphead h2, .card .k, .tags span, .wiptag, .wipcite, .mlbl) {
  font-size: max(14px, .875rem);
  line-height: 1.5;
  letter-spacing: normal;
  text-transform: none;
}

body:not(.home-page) :is(a.btn, button.btn, a.chip, .card .links a) {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}

/* Collection introductions should leave room for the first item. */
body:not(.home-page) main > header.hero {
  min-height: 0;
  padding-block: clamp(2rem, 4vw, 3rem) 1.5rem;
}

body:not(.home-page) main > header.hero h1 {
  font-size: clamp(2.25rem, 4.5vw, 3.5rem);
  line-height: 1.12;
}

body:not(.home-page) main > header.hero .hi {
  margin-bottom: .75rem;
}

body:not(.home-page) main > header.hero :is(.sub, .prose) {
  margin-top: 1rem;
  line-height: 1.65;
}

body:not(.home-page) :is(.row .rd, .card p, .prose) {
  line-height: 1.65;
}

body:not(.home-page) .grouphead {
  margin-top: 1.5rem;
}

/* A stationary target remains easier to follow while scanning a collection. */
body:not(.home-page) .row:hover {
  padding-left: 0;
}

body:not(.home-page) .row:hover .go {
  transform: none;
}

@media (max-width: 640px) {
  body:not(.home-page) .row {
    grid-template-columns: minmax(0, 1fr);
    gap: .5rem .75rem;
    padding-block: 1.25rem;
  }

  body:not(.home-page) .row .num {
    display: none;
  }

  body:not(.home-page) .row .go {
    grid-column: 1;
    white-space: normal;
  }
}

/* Long service names and URLs must wrap within narrow policy pages. */
body:not(.home-page) .legal-content{overflow-wrap:anywhere}
