/* Canonical marketing headings and navigation. This layer follows the legacy styles. */
:root {
  --ui-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --heading-ink: #17263c;
  --heading-page: clamp(2rem, 4vw, 3.25rem);
  --heading-section: clamp(1.75rem, 2.6vw, 2.25rem);
  --heading-card: 1.3rem;
}
body #main h1 {
  font: 600 var(--heading-page)/1.16 var(--ui-font) !important;
  letter-spacing: -.035em !important;
  color: var(--heading-ink) !important;
  text-align: left !important;
  text-wrap: pretty;
  max-width: 900px !important;
  margin: 0 0 20px !important;
  animation: none !important;
  opacity: 1 !important;
  transform: none !important;
}
body #main h2 {
  font: 600 var(--heading-section)/1.2 var(--ui-font) !important;
  letter-spacing: -.025em !important;
  color: var(--heading-ink) !important;
  text-align: left !important;
  text-wrap: pretty;
  max-width: 800px;
  margin: 0 0 16px;
}
body #main h3 {
  font-family: var(--ui-font) !important;
  font-size: var(--heading-card);
  line-height: 1.35;
  letter-spacing: -.015em;
  font-weight: 600;
  text-align: left;
  text-wrap: pretty;
}
body #main :is(h1,h2) :is(span,.serif) {
  color: inherit !important;
  font: inherit !important;
  letter-spacing: inherit !important;
}
body #main :is(.home-hero,.page-hero,.business-hero,.fd-security-hero) {
  padding-block: 52px 48px !important;
  text-align: left !important;
}
body #main :is(.home-hero,.page-hero,.business-hero) > .container:not(.split),
body #main .business-hero > .container > div:first-child,
body #main .fd-finance-hero > .container > div {
  max-width: 1200px;
  text-align: left !important;
  margin-inline: 0 !important;
}
body #main :is(.home-hero,.page-hero,.business-hero) > .container:not(.split) {
  margin-inline: auto !important;
}
body #main :is(.home-hero,.page-hero,.business-hero,.fd-security-hero) :is(.eyebrow,.lead,.time-promise,.actions) {
  text-align: left !important;
  margin-inline: 0 !important;
  justify-content: flex-start !important;
}
body #main :is(.home-hero,.page-hero,.business-hero,.fd-security-hero) .eyebrow {
  display: block !important;
  width: auto !important;
  max-width: none !important;
  font-size: .8rem;
  line-height: 1.5;
  letter-spacing: .025em;
  margin-bottom: 14px !important;
}
body #main :is(.home-hero,.page-hero,.business-hero,.fd-security-hero) .lead {
  max-width: 700px !important;
  font-size: 1.05rem !important;
  line-height: 1.7;
  margin-top: 0 !important;
}
body #main :is(.home-hero,.page-hero,.business-hero,.fd-security-hero) .actions {
  margin-top: 24px !important;
  gap: 20px;
}
body #main :is(.section-header,.fd-section-heading) {
  display: block !important;
  width: 100%;
  max-width: none !important;
  text-align: left !important;
  margin: 0 0 32px !important;
}
body #main .section-header > div {
  max-width: none;
}
body #main .section-header :is(h2,.eyebrow,.body-copy) {
  text-align: left !important;
  margin-inline: 0 !important;
}
body #main .section-header .eyebrow {
  width: auto !important;
  font-size: .8rem;
  letter-spacing: .025em;
  margin-bottom: 12px;
}
body #main .section-header .body-copy {
  max-width: 700px;
  font-size: 1rem;
  line-height: 1.75;
  margin-top: 14px;
}
body #main .section-header > .text-link {
  margin-top: 18px;
}
body #main .section {
  padding-block: 72px;
}
body #main .section.slim {
  padding-block: 48px;
}
body #main :is(.cta-panel,.contact-copy) :is(h2,h3) {
  color: #fff !important;
}
body #main .cta-panel h2 {
  font-size: clamp(1.75rem,2.6vw,2.1rem) !important;
}
body #main .book-subtitle {
  font-size: 1.5rem !important;
  line-height: 1.4 !important;
  margin-top: 16px;
}
body #main .fd-workspace-explainer h2 {
  font-size: 1.75rem !important;
}
body #main .fd-finance-hero {
  padding-block: 36px 30px !important;
}
body #main .fd-finance-hero .time-promise {
  max-width: 730px !important;
  font-size: 1rem !important;
}
body #main .fd-finance-hero .finance-proof {
  justify-content: flex-start !important;
  max-width: 680px !important;
  margin: 20px 0 0 !important;
}
body #main .fd-report-first {
  padding-block: 18px 60px !important;
}
body #main .fd-report-first .section-header {
  margin-bottom: 10px !important;
}
body #main .fd-report-first h2 {
  font-size: 1.6rem !important;
  margin-bottom: 0;
}
body #main .fd-cat-hero {
  padding-block: 36px 28px !important;
}
body #main .fd-cat-hero h1 {
  text-wrap: balance;
}
body #main #catastrophe-workspace {
  padding-top: 12px !important;
  padding-bottom: 32px;
  scroll-margin-top: 140px;
}
body #main .fd-cat-principles {
  padding-top: 40px;
}
body #main .fd-cat-principles .fd-principle {
  padding: 24px;
  border: 1px solid #dce5f1;
  border-radius: 14px;
  background: #f8fafd;
}
body #main .fd-cat-principles .fd-principle h3 {
  margin-top: 0;
}
body #main .fd-cat-principles .fd-principle p {
  max-width: none;
}
body #main .fd-process-hub {
  padding-top: 40px;
  margin-top: 36px;
  border-top: 1px solid #d8e2ef;
}
body #main .fd-process-hub-intro {
  max-width: 760px;
}
body #main .fd-process-hub-intro .body-copy {
  color: #526276;
  font-size: 1rem;
  line-height: 1.75;
}
body #main .fd-process-hub .fd-hub-preview {
  max-width: none;
  margin: 26px 0 0;
}
body #main .fd-testimonials {
  padding-block: 48px;
}
body #main .fd-finance-resources > .container {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 28px;
  align-items: center;
  padding-block: 24px;
  border-bottom: 1px solid #dbe3ed;
}
body #main .fd-finance-resources p {
  margin: 0 auto 0 0;
  font-size: .9rem;
  color: #526276;
}
body #main .fd-finance-resources a {
  min-height: 44px;
  font-size: .85rem;
}
body .site-header {
  background: #fff !important;
  backdrop-filter: none;
}
body .branch-name {
  font-size: .73rem;
  letter-spacing: .035em;
}
body .branch-links > a,
body .fd-customer-menu summary {
  font-size: .85rem;
  font-weight: 500;
  letter-spacing: 0;
}
@media(max-width:800px) {
  body #main :is(.home-hero,.page-hero,.business-hero,.fd-security-hero) {
    padding-block: 32px !important;
  }
  body #main h1 {
    font-size: 2rem !important;
    line-height: 1.18 !important;
    letter-spacing: -.025em !important;
    margin-bottom: 16px !important;
  }
  body #main h2 {
    font-size: 1.75rem !important;
    letter-spacing: -.02em !important;
  }
  body #main :is(.home-hero,.page-hero,.business-hero,.fd-security-hero) .lead {
    font-size: 1rem !important;
  }
  body #main .section {
    padding-block: 48px;
  }
  body #main .section-header {
    margin-bottom: 24px !important;
  }
  body #main .section-header h2 {
    max-width: 100%;
  }
  body #main .fd-finance-hero {
    padding-block: 26px !important;
  }
  body #main .fd-finance-hero .time-promise {
    max-width: none !important;
    font-size: .95rem !important;
  }
  body #main .fd-finance-resources > .container {
    display: block;
    padding-block: 18px;
  }
  body #main .fd-finance-resources p {
    margin-bottom: 8px;
  }
  body #main .fd-finance-resources a {
    display: flex;
    width: fit-content;
  }
  body .branch-links > a,
  body .fd-customer-menu summary {
    min-height: 44px;
    font-size: .8rem;
  }
}

body #main .eyebrow { text-transform: uppercase; font-size: .7rem; letter-spacing: .07em; line-height: 1.6; }
body #main .home-hero { background: #fff !important; }

/* The retained archive and campaign pages load the same heading layer. */
body #main .un-hero { padding: 52px 0 48px; text-align: left; }
body #main .un-hero h1 > span { display: inline; }
body #main .un-hero .un-lead { margin-top: 0; font-size: 1.05rem; line-height: 1.7; }
body #main .un-hero .un-eyebrow { font: 600 .7rem/1.6 var(--ui-font); letter-spacing: .07em; margin-bottom: 14px; color: #285fe5; }
body #main .un-article h2 { font-size: 1.75rem !important; margin-block: 32px 16px; }
body #main .un-insights h2 { font-size: 1.35rem !important; margin-block: 18px; }
.page-layout { --heading-ink: #fafafa; }
body #main .hero-title .highlight { background: none; -webkit-text-fill-color: currentColor; }
@media(max-width:800px) { body #main .un-hero { padding-block: 32px; } }

@media(max-width:800px) { body #main .fd-report-first h2 { font-size:1.35rem !important; letter-spacing:-.02em !important; } }

@media(max-width:600px) {
  body #main .fd-cat-hero { padding-block:24px !important; }
  body #main .fd-cat-hero .actions > .text-link { display:none; }
  body #main #catastrophe-workspace { scroll-margin-top:130px; }
}
