/* Shared landing typography: complete sentences, wrapping at word boundaries. */
.hero h1.kin {
  max-width: 19em;
  line-height: 1.32;
  letter-spacing: -.045em;
  word-break: keep-all;
  overflow-wrap: anywhere;
  text-wrap: pretty;
}
.hero h1.kin .ln {
  overflow: visible;
  padding-bottom: .08em;
}
.hero h1.kin .ln + .ln { margin-top: .08em; }
.hero h1.kin .ln > span { text-wrap: balance; }
.hero .sub {
  word-break: keep-all;
  overflow-wrap: anywhere;
  text-wrap: pretty;
}
.hero .sub .hero-sentence { display: inline; }
.hero .sub .hero-sentence + .hero-sentence { margin-top: 0; }
.hero .sub .hero-sentence:last-child { display: block; margin-top: .75em; }
.sec .head h2, #who .say, #who .txt, #who .fin, .end h2, .end p {
  word-break: keep-all;
  overflow-wrap: anywhere;
  text-wrap: pretty;
}
/* Marker ink: white hero type with a blue sweep beneath the letters. */
.hl, .hl.on {
  --jg-marker: rgba(74, 119, 184, .30);
  background-image: linear-gradient(178deg, transparent 4%, var(--jg-marker) 18%, var(--jg-marker) 84%, transparent 98%) !important;
  background-repeat: no-repeat !important;
  background-position: left calc(100% - .035em) !important;
  background-size: 100% .21em !important;
  text-decoration: none !important;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  padding-bottom: .055em !important;
  animation: none !important;
  transition: background-size 1.2s cubic-bezier(.16,.72,.2,1) !important;
}
.hl.jg-marker-pending { background-size: 0% .21em !important; }
.hero h1 em.hl { color: #fff !important; --jg-marker: rgba(64, 127, 226, .82); font-style: normal; }
.hero .hl, .end .hl, .night .hl { --jg-marker: rgba(64, 127, 226, .82); }
.head h2 .hl, #who .say .hl { color: #284F86; }
.jg-unit { display: inline-block; white-space: nowrap; }
@media (prefers-reduced-motion: reduce) {
  .hl, .hl.jg-marker-pending { background-size: 100% .21em !important; transition: none !important; }
}
#who .fin { border-top: 1px solid var(--line, #E4E8EE); }
.sec .head h2, #who .say, #who .fin { text-wrap: balance; }
#who .fin .hl-full { color: var(--navy, #12203A); --hlc: #6386B8; }
.hero .sub, .sec .lede, #who .txt { line-height: 1.85; }
.hero .btns, .end .btns { gap: 12px; }
.hero .btns .btn, .end .btns .btn {
  white-space: normal;
  height: auto;
  min-height: 52px;
  line-height: 1.45;
  text-align: center;
}
.btn:focus-visible, .tb:focus-visible, .mbar a:focus-visible {
  outline: 3px solid #7FA6E5;
  outline-offset: 4px;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .head h2 .hl,
  :root:not([data-theme="light"]) #who .say .hl,
  :root:not([data-theme="light"]) #who .fin .hl-full {
    color: #C5D8F4;
    --hlc: #8CAAD4;
  }
}
:root[data-theme="dark"] .head h2 .hl,
:root[data-theme="dark"] #who .say .hl,
:root[data-theme="dark"] #who .fin .hl-full { color: #C5D8F4; --hlc: #8CAAD4; }
@media (max-width: 600px) {
  .hero h1.kin { font-size: clamp(27px, 7.1vw, 36px); line-height: 1.38; }
  .hero .sub { font-size: 16px; line-height: 1.8; }
  .hero .btns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero .btns .btn { justify-content: center; padding: 14px 12px; min-width: 0; }
  .hero .btns .btn[hidden] { display: none; }
}
