/* Shared reading layout for the current ASF pages. */
.asf-content { --content-shadow: 0 8px 28px rgb(11 65 109 / 6%); }
.asf-content p.asf-body-copy {
  font-size: clamp(.9375rem, .9rem + .15vw, 1rem);
  line-height: 1.85;
  max-width: 70ch;
  overflow-wrap: break-word;
}
.asf-content > section:first-of-type p.asf-body-copy {
  font-size: clamp(1rem, .95rem + .2vw, 1.125rem);
  line-height: 1.8;
  max-width: 64ch;
}
.asf-content h1, .asf-content h2, .asf-content h3 {
  text-wrap: balance;
  overflow-wrap: break-word;
}
.asf-content h1 { line-height: 1.15; letter-spacing: -.035em; }
.asf-content h2 { line-height: 1.25; letter-spacing: -.025em; }
.asf-content h3 { line-height: 1.4; }
.asf-content > section.py-20, .asf-content > section.py-24 {
  padding-top: clamp(3.5rem, 6vw, 5.5rem);
  padding-bottom: clamp(3.5rem, 6vw, 5.5rem);
}
.asf-content .rounded-3xl.shadow-xl,
.asf-content .rounded-3xl.shadow-lg,
.asf-content .rounded-3xl.shadow-2xl { box-shadow: var(--content-shadow); }
.asf-content .text-center > p.asf-body-copy { margin-left: auto; margin-right: auto; }
.asf-content a.btn-primary, .asf-content button.btn-primary {
  min-height: 48px;
  font-size: .8125rem;
  line-height: 1.5;
  letter-spacing: .025em;
}
.asf-content [id] { scroll-margin-top: 112px; }
.asf-section-nav { background: #f8fafb; border-bottom: 1px solid #dce5eb; }
.asf-section-nav-inner {
  max-width: 1280px;
  margin: auto;
  padding: 18px 32px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 12px;
}
.asf-section-nav-inner > span {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-weight: 800;
  color: #526979;
  margin-right: 12px;
}
.asf-section-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 9px 14px;
  border: 1px solid #dce5eb;
  border-radius: 8px;
  background: white;
  color: #0b416d;
  font-size: 12px;
  line-height: 1.5;
  font-weight: 600;
  transition: background-color .2s, border-color .2s;
}
.asf-section-nav a:hover { background: #edf6e5; border-color: #8bc751; }
.asf-section-nav a:focus-visible { outline: 2px solid #0b416d; outline-offset: 3px; }
.dark .asf-section-nav { background: #071b2e; border-color: #ffffff1a; }
.dark .asf-section-nav-inner > span { color: #b1c1ce; }
.dark .asf-section-nav a { background: #102a40; border-color: #ffffff24; color: #dce7ef; }
.dark .asf-section-nav a:hover { background: #193c4b; border-color: #97d754; }
.dark .asf-section-nav a:focus-visible { outline-color: #97d754; }
@media (max-width: 639px) {
  .asf-section-nav-inner { padding: 16px; gap: 8px; }
  .asf-section-nav-inner > span { flex-basis: 100%; margin-bottom: 4px; }
  .asf-content .rounded-3xl.p-8 { padding: 24px; border-radius: 20px; }
  .asf-content .hero-visual-copy p.asf-body-copy { font-size: .875rem; line-height: 1.75; }
}
