.bfs {
  --bfs-cyan: #38C8EF;
  --bfs-light: #F0F7FF;
  --bfs-navy: #102B55;
  --bfs-blue: #0866E8;
  --bfs-ink: #102B55;
  --bfs-rule: #b6cce3;
  color: var(--bfs-ink);
  background: #fff;
  font-family: Inter, system-ui, sans-serif;
  font-size: clamp(14px, 1.13vw, 17px);
  line-height: 1.48;
}

.bfs *, .bfs *::before, .bfs *::after { box-sizing: border-box; }
.bfs h1, .bfs h2, .bfs h3, .bfs p { color: inherit; margin: 0; }
.bfs h1, .bfs h2, .bfs h3 { font-weight: 800; }
.bfs h1 { font-size: clamp(34px, 4.28vw, 68px); line-height: 1.04; letter-spacing: -.043em; }
.bfs h2 { font-size: clamp(24px, 2.51vw, 40px); line-height: 1.12; letter-spacing: -.038em; }
.bfs h3 { font-size: 1.03em; line-height: 1.25; letter-spacing: -.02em; }
.bfs h2 + p, .bfs p + p { margin-top: .62em; }
.bfs h3 + p { margin-top: .3em; }
.bfs-wrap { width: min(89%, 1390px); margin-inline: auto; }
.bfs-band { padding-block: clamp(20px, 2.15vw, 40px); }
.bfs-light { background: var(--bfs-light); }

.bfs-hero {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  min-height: clamp(290px, 24vw, 400px);
  background: var(--bfs-navy);
  color: white;
  overflow: hidden;
}
.bfs-hero-copy { position: relative; padding-block: clamp(24px, 2.1vw, 38px); }
.bfs-hero-copy p { max-width: 30ch; margin-top: .55em; font-size: 1.12em; line-height: 1.25; }
.bfs-hero-copy .bfs-button { margin-top: .85em; }
.bfs-hero-photo {
  position: absolute;
  inset: 0 0 0 auto;
  width: 56.54%;
  height: 100%;
  object-fit: fill;
  clip-path: polygon(16.5% 0, 100% 0, 100% 100%, 0 100%);
  z-index: -1;
}
.bfs-button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 44px;
  padding: .68em 1.35em;
  border-radius: 6px;
  background: var(--bfs-cyan);
  color: var(--bfs-navy);
  font-size: .93em;
  font-weight: 800;
  text-align: center;
  text-decoration: none;
}
.bfs-button:hover { background: #a3e9fa; color: var(--bfs-navy); }
.bfs a:focus-visible, .bfs summary:focus-visible { outline: 3px solid var(--bfs-blue); outline-offset: 4px; }

.bfs-split { display: grid; grid-template-columns: 42fr 58fr; align-items: center; gap: clamp(18px, 3.5vw, 54px); }
.bfs-divide > :last-child { border-left: 1px solid var(--bfs-rule); padding-left: clamp(18px, 3.1vw, 46px); }
.bfs-with-list { display: grid; grid-template-columns: 30fr 70fr; align-items: start; gap: 16px; }
.bfs-grid { display: grid; gap: clamp(12px, 1.3vw, 22px); }
.bfs-four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.bfs-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bfs-grid article { min-width: 0; }
.bfs-grid article p { font-size: .9em; }
.bfs svg { flex: 0 0 auto; width: 29px; height: 29px; color: var(--bfs-blue); vertical-align: middle; }
.bfs-grid article > svg { margin-bottom: .3em; }
.bfs-rules article + article { border-left: 1px solid var(--bfs-rule); padding-left: clamp(10px, 1.25vw, 20px); }
.bfs-horizontal article { display: flex; align-items: flex-start; gap: .65em; }
.bfs-horizontal article > svg { margin-bottom: 0; }
.bfs-process, .bfs-options { margin-top: .7em; }
.bfs-process { gap: clamp(23px, 4.4vw, 66px); }
.bfs-process article, .bfs-options article { padding: clamp(12px, 1.3vw, 22px); border-radius: 9px; }
.bfs-process article { position: relative; background: white; }
.bfs-process article + article::before {
  content: '→';
  position: absolute;
  top: 50%;
  left: calc(-1 * clamp(22px, 3.25vw, 49px));
  transform: translateY(-50%);
  font-size: clamp(17px, 2vw, 29px);
}
.bfs-options article { background: var(--bfs-light); }

.bfs-media { grid-template-columns: 1.12fr 1fr; gap: clamp(18px, 3vw, 46px); }
.bfs-media img { display: block; width: 100%; aspect-ratio: 3.65; object-fit: cover; border-radius: 7px; }
.bfs-media > div + img { aspect-ratio: 4; }
.bfs-checks { margin: .45em 0 0; padding: 0; list-style: none; }
.bfs-checks li { display: flex; align-items: flex-start; gap: .55em; margin-top: .35em; }
.bfs-checks svg { width: 21px; height: 21px; color: var(--bfs-blue); }
.bfs-checks li:nth-child(odd) svg { color: #007ea6; }

.bfs-faq h2 { margin-bottom: .48em; }
.bfs-faq details { border: 1px solid var(--bfs-rule); border-radius: 6px; margin-top: .45em; }
.bfs-faq summary { position: relative; cursor: pointer; list-style: none; padding: .55em 2.8em .55em 1.15em; font-weight: 750; }
.bfs-faq summary::-webkit-details-marker { display: none; }
.bfs-faq summary::after {
  content: '';
  position: absolute;
  right: 1.2em;
  top: .9em;
  width: .58em;
  height: .58em;
  border: solid var(--bfs-navy);
  border-width: 0 1.5px 1.5px 0;
  transform: rotate(45deg);
}
.bfs-faq details[open] summary::after { transform: rotate(225deg); top: 1.15em; }
.bfs-faq details p { padding: 0 1.15em .8em; max-width: 90ch; }
.bfs-quote { background: var(--bfs-navy); color: white; }
.bfs-quote .bfs-wrap { display: grid; grid-template-columns: 1fr 1fr auto; align-items: center; gap: clamp(16px, 2.2vw, 32px); }
.bfs-quote h2 { font-size: clamp(24px, 2.35vw, 36px); }
.bfs-quote h2 + p { margin: 0; border-left: 1px solid var(--bfs-rule); padding-left: 1.45em; }

@media (min-width: 992px) {
  .header-area--absolute + .bfs { padding-top: var(--bfs-header-height, 122px); background-color: var(--bfs-navy); }
  .bfs-band:not(.bfs-light):not(.bfs-quote) { background: white; }
}
@media (max-width: 991px) {
  .bfs-hero { min-height: 0; }
  .bfs-hero-copy { padding-block: 32px; }
  .bfs-hero h1 { max-width: 13ch; }
  .bfs-hero-photo { width: 55%; object-fit: cover; object-position: 69% 50%; }
  .bfs-desktop { display: none; }
  .bfs-with-list { grid-template-columns: 1fr; }
  .bfs-quote .bfs-wrap { grid-template-columns: 1fr auto; }
  .bfs-quote p { grid-row: 2; grid-column: 1; }
  .bfs-quote .bfs-button { grid-row: 1 / span 2; grid-column: 2; }
  .bfs-quote h2 + p { border: 0; padding: 0; }
}
@media (max-width: 650px) {
  .bfs-wrap { width: 90%; }
  .bfs-band { padding-block: 26px; }
  .bfs-hero { display: flex; flex-direction: column-reverse; align-items: stretch; }
  .bfs-hero h1 { max-width: 18ch; }
  .bfs-hero-photo { position: relative; width: 100%; height: auto; aspect-ratio: 2; object-position: right center; clip-path: none; }
  .bfs-hero-copy { padding-block: 30px 24px; }
  .bfs-split, .bfs-quote .bfs-wrap { grid-template-columns: 1fr; }
  .bfs-divide > :last-child { padding-left: 0; border: 0; }
  .bfs-media img { aspect-ratio: 3; }
  .bfs-four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bfs-three { grid-template-columns: 1fr; }
  .bfs-grid article + article { border-left: 0; }
  .bfs-rules article + article { padding-left: 0; }
  .bfs-process { gap: 12px; }
  .bfs-process article + article::before { display: none; }
  .bfs-quote .bfs-button, .bfs-quote p { grid-row: auto; grid-column: auto; justify-self: start; }
}
