
@font-face {
  font-family: "Open Sans";
  src: url("/fonts/open-sans.woff2") format("woff2");
  font-weight: 300 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Open Sans";
  src: url("/fonts/open-sans-italic.woff2") format("woff2");
  font-weight: 300 800;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Roboto Slab";
  src: url("/fonts/roboto-slab.woff2") format("woff2");
  font-weight: 300 800;
  font-style: normal;
  font-display: swap;
}
:root {
  --navy: #130045;
  --orange: #f29100;
  --orange-ink-large: #c47400; 
  --orange-ink: #a35f00;       
  --grey-ink: #595959;         
  --grey-bg: #f7f7f7;
  --grey-band: #ebebeb;
  --grey-faq: #f3f3f3;
  --grey-tab: #e1e1e1;
  --quote: #e5e5e5;
  --line: #d7d7d7;
  --overlay: linear-gradient(to right, #110041 0%, #2c1433 60%, #562c30 100%);
  --font: "Open Sans", "Helvetica Neue", Arial, sans-serif;
  --font-head: "Roboto Slab", Georgia, serif;
  --gutter: calc(8.333vw + 10px);
  --header-h: 83px;
}
@media (min-width: 40em) {
  :root { --gutter: 20px; }
}
@media (min-width: 64em) {
  :root { --header-h: 110px; }
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 90px; }
body {
  margin: 0;
  font-family: var(--font);
  font-size: 16px;
  line-height: 1.5;
  color: var(--navy);
  background: #fff;
  -webkit-font-smoothing: antialiased;
}
img, svg, video { max-width: 100%; height: auto; display: block; }
button, input, textarea, select { font: inherit; }
picture { display: contents; }
h1, h2, h3, h4 {
  font-family: var(--font-head);
  font-weight: 800;
  color: var(--navy);
  line-height: 1.3;
  margin: 0 0 .5rem;
}
h1 { font-size: 24px; line-height: 1.1; }
h2 { font-size: 20px; }
h3 { font-size: 20px; }
h4 { font-size: 18px; }
p, li, dd, address { font-size: 16px; line-height: 1.4; }
p { margin: 0 0 1rem; }
ul, ol { margin: 0 0 1rem; padding-left: 1.25rem; }
address { font-style: normal; }
strong { font-weight: 700; }
a { color: #2f7a7f; font-weight: 700; text-decoration: underline; text-underline-offset: 2px; transition: color .25s, background-color .25s, border-color .25s; }
a:hover { color: #1468a0; }
:focus-visible { outline: 3px solid var(--orange); outline-offset: 2px; }
table { border-collapse: collapse; width: 100%; margin: 0 0 1rem; }
th, td { padding: 8px; border: 1px solid var(--line); text-align: left; vertical-align: top; font-size: 16px; }
th { background: var(--navy); color: #fff; font-weight: 400; border-color: var(--navy); }
@media (min-width: 40em) {
  h1 { font-size: 48px; }
  h2 { font-size: 30px; }
  h3 { font-size: 28px; }
  h4 { font-size: 20px; }
  p, li, dd, address { font-size: 18px; }
}
.visually-hidden {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.skip-link {
  position: absolute; left: 1rem; top: -100px; z-index: 10000;
  background: #fff; color: var(--navy); padding: .75rem 1rem; border-radius: 30px;
}
.skip-link:focus { top: 1rem; }
main:focus { outline: none; }
.center { text-align: center; }
.wrap { max-width: 1480px; margin: 0 auto; padding-inline: var(--gutter); }
.wrap.narrow { max-width: 1120px; }
hr.rule { width: 85px; margin: 20px auto; border: 0; border-bottom: 9px solid var(--orange); }
.button {
  display: inline-block;
  min-width: 136px;
  padding: 14px 16px;
  margin: 15px 12px 10px 0;
  border: 2px solid var(--navy);
  border-radius: 30px;
  background: transparent;
  color: var(--navy);
  font: 700 16px/1 var(--font);
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}
.button:hover, .button:focus-visible { background: var(--navy); color: #fff; }
.button.orange { background: var(--orange); border-color: var(--orange); color: var(--navy); }
.button.orange:hover, .button.orange:focus-visible { background: var(--navy); border-color: var(--navy); color: #fff; }
.button.outline-white { border-color: #fff; color: #fff; }
.button.outline-white:hover, .button.outline-white:focus-visible { background: var(--navy); border-color: var(--navy); color: #fff; }
.button.dark { background: var(--navy); color: #fff; }
.button.dark:hover, .button.dark:focus-visible { background: var(--orange); border-color: var(--orange); color: var(--navy); }
.button.small { min-width: 122px; padding: 9px 16px; margin: 10px 10px 10px 0; font-size: 14px; }
.header-buttons .button.small { min-width: 100px; padding: 6px 20px; margin: 0 0 10px 20px; font-size: 13px; }
@media (min-width: 40em) {
  .button { min-width: 200px; padding: 18px; margin-top: 25px; font-size: 20px; }
  .button.small { min-width: 122px; padding: 9px 16px; margin-top: 10px; font-size: 14px; }
  .header-buttons .button.small { min-width: 100px; padding: 6px 20px; margin-top: 0; font-size: 13px; }
}
.link-button {
  border: 0; padding: 0; background: none; font: inherit; color: inherit; cursor: pointer; text-decoration: underline;
}
.site-header {
  position: fixed; inset: 0 0 auto; z-index: 900;
  padding-top: 15px;
  background: rgba(19, 0, 69, .4);
  transition: background-color .2s, padding .2s;
}
.header-inner { display: flex; align-items: flex-start; justify-content: space-between; }
.logo img { width: 105px; height: auto; margin: 0 0 20px; transition: width .2s, margin .2s; }
.header-right { display: none; text-align: right; }
.header-buttons { margin: 0; }
.menu-toggle {
  margin-top: 6px; padding: 4px; width: 45px; border: 0; background: none; color: #fff; cursor: pointer;
  transition: color .4s;
}
.main-nav ul { list-style: none; margin: 0; padding: 0; }
.nav-list > li { display: inline-block; position: relative; margin-left: 40px; }
.nav-list > li > a {
  display: inline-block; padding-bottom: 25px;
  color: #fff; font-size: 17px; font-weight: 600; text-decoration: none;
}
.nav-list > li.is-active > a, .nav-list > li > a:hover { color: var(--orange); }
.nav-list li ul {
  position: absolute; left: -20px; top: 36px; min-width: 220px; text-align: left;
  visibility: hidden; opacity: 0; transform: translateY(-6px);
  transition: opacity .3s, transform .3s, visibility .3s;
}
.nav-list > li:hover > ul, .nav-list > li:focus-within > ul { visibility: visible; opacity: 1; transform: none; }
.nav-list li ul li { background: rgba(19, 0, 69, .75); }
.nav-list li ul a {
  display: block; padding: 8px 20px; color: #fff; font-size: 17px; font-weight: 600; text-decoration: none;
}
.nav-list li ul a:hover, .nav-list li ul a[aria-current] { color: var(--orange); }
.site-header.is-scrolled { background: rgba(19, 0, 69, .9); padding-top: 0; }
.site-header.is-scrolled .logo img { width: 105px; margin: 12px 0; }
.site-header.is-scrolled .menu-toggle { margin-top: 19px; }
@media (min-width: 64em) {
  .logo img { width: 180px; margin: 10px 0 20px; }
  .header-right { display: block; }
  .menu-toggle { display: none; }
  .site-header.is-scrolled .header-right { display: none; }
  .site-header.is-scrolled .menu-toggle { display: block; }
}
.menu-dialog {
  position: fixed; inset: 0; z-index: 1000;
  width: 100%; max-width: none; height: 100%; max-height: none; margin: 0; padding: 15px 0 40px;
  border: 0; background: rgba(19, 0, 69, .97); color: #fff; text-align: center;
  opacity: 0; transform: scale(.9);
  transition: opacity .4s, transform .4s, overlay .4s allow-discrete, display .4s allow-discrete;
}
.menu-dialog[open] { opacity: 1; transform: none; }
.menu-dialog::backdrop {
  background: rgba(19, 0, 69, .6); opacity: 0;
  transition: opacity .4s, overlay .4s allow-discrete, display .4s allow-discrete;
}
.menu-dialog[open]::backdrop { opacity: 1; }
@starting-style {
  .menu-dialog[open] { opacity: 0; transform: scale(.9); }
  .menu-dialog[open]::backdrop { opacity: 0; }
}
.menu-top { display: flex; justify-content: space-between; align-items: flex-start; text-align: left; }
.menu-top .logo img { width: 105px; }
.menu-buttons .button { margin: 10px 6px; }
.menu-list { list-style: none; padding: 0; margin: 20px 0 0; }
.menu-list > li { margin: 0 0 18px; }
.menu-list a { color: #fff; text-decoration: none; font-size: 22px; font-weight: 700; }
.menu-list ul { list-style: none; padding: 0; margin: 6px 0 0; }
.menu-list ul a { font-size: 17px; font-weight: 400; line-height: 2; }
.menu-list a:hover, .menu-list a[aria-current] { color: var(--orange); }
.menu-buttons .button:hover, .menu-buttons .button:focus-visible { background: #fff; border-color: #fff; color: var(--navy); }
.menu-toggle:hover, .menu-dialog .dialog-close:hover { color: var(--orange); }
.dialog-close {
  width: 46px; height: 46px; padding: 0; border: 0; background: none; color: currentColor; cursor: pointer;
}
.dialog {
  width: min(1100px, 94vw); max-height: 92vh; padding: 0; border: 0; border-radius: 8px;
  background: #fff; color: var(--navy);
}
.dialog::backdrop { background: rgba(19, 0, 69, .75); }
.dialog-inner { position: relative; padding: 56px 24px 24px; }
.dialog .dialog-close { position: absolute; top: 8px; right: 8px; color: var(--navy); }
.dialog .dialog-close:hover { color: var(--orange-ink-large); }
.dialog.video-dialog { background: #000; }
.video-dialog .dialog-close { color: #fff; }
.video-dialog .dialog-close:hover { color: var(--orange); }
.video-frame, .embed-frame { position: relative; aspect-ratio: 16 / 9; width: 100%; }
.video-frame iframe, .embed-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.embed-frame { aspect-ratio: auto; height: min(600px, 70vh); }
.dialog-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 12px; padding: 0; list-style: none; }
.dialog-tabs button {
  padding: 8px 14px; border: 2px solid var(--navy); border-radius: 30px; background: #fff;
  color: var(--navy); font: 700 14px var(--font); cursor: pointer;
}
.dialog-tabs button:hover, .dialog-tabs button[aria-selected="true"] { background: var(--navy); color: #fff; }
.home-hero {
  position: relative; overflow: hidden; color: #fff;
  min-height: 380px; padding: 125px 0 40px;
}
.hero-slides, .hero-slides img, .page-hero .hero-img, .hero-overlay { position: absolute; inset: 0; }
.hero-slides img, .page-hero .hero-img { width: 100%; height: 100%; object-fit: cover; }
.hero-slides img { opacity: 0; transition: opacity 1s linear; }
.hero-slides img.is-current { opacity: 1; }
.hero-overlay { background: var(--overlay); opacity: .6; }
.home-hero .wrap { position: relative; z-index: 2; }
.home-hero h1 { color: #fff; font-weight: 300; margin-bottom: 20px; }
.home-hero h1 strong { font-weight: 700; display: block; }
.home-hero .hero-rule { width: 85px; margin: 10px 0; border: 0; border-bottom: 2px solid #fff; }
.home-hero p { color: #fff; margin-top: 20px; }
.stats { display: none; list-style: none; margin: 40px 0 0; padding: 0; }
@media (min-width: 40em) {
  .home-hero { min-height: 560px; padding-top: 170px; }
}
@media (min-width: 64em) {
  .home-hero { height: 800px; padding-top: 200px; }
  .home-hero h1 { margin-bottom: 40px; }
  .home-hero p { margin-top: 30px; }
  .stats { display: grid; }
}
.stats { grid-template-columns: repeat(var(--n, 5), 1fr); }
.stats li { position: relative; text-align: center; animation: fade-up .85s both; }
.stats li:nth-child(2) { animation-delay: .4s; }
.stats li:nth-child(3) { animation-delay: .8s; }
.stats li:nth-child(4) { animation-delay: 1.2s; }
.stats li:nth-child(5) { animation-delay: 1.6s; }
.stats li:not(:last-child)::after {
  content: ""; position: absolute; top: 52px; left: calc(50% + 52px); right: calc(-50% + 52px);
  border-top: 2px solid var(--orange); transform-origin: left; animation: grow .4s .9s both;
}
.stats strong {
  display: grid; place-items: center; width: 104px; height: 104px; margin: 0 auto 14px;
  border: 3px solid var(--orange); border-radius: 50%;
  color: var(--orange); font-size: 20px; font-weight: 700;
}
.stats span { display: block; color: #fff; font-size: 16px; line-height: 1.4; max-width: 180px; margin: 0 auto; }
.stats.light { --n: 4; display: grid; margin: 40px auto 0; max-width: 1200px; }
.stats.light li, .stats.light li::after { animation: none; }
.stats.light strong { border-color: #6b6b6b; color: var(--navy); border-width: 2px; }
.stats.light li:not(:last-child)::after { border-top-color: #6b6b6b; }
.stats.light span { color: var(--navy); }
@media (max-width: 39.99em) {
  .stats.light { grid-template-columns: 1fr 1fr; row-gap: 24px; }
  .stats.light li::after { display: none; }
}
@keyframes fade-up { from { opacity: 0; transform: translateY(12px); } }
@keyframes grow { from { transform: scaleX(0); } }
.page-hero { position: relative; overflow: hidden; height: 215px; padding-top: 125px; color: #fff; text-align: center; }
.hero-content { position: relative; z-index: 2; }
.hero-title { margin: 0 auto; max-width: 1040px; color: #fff; font: 800 24px/1.1 var(--font-head); }
@media (min-width: 40em) {
  .page-hero { height: 380px; padding-top: 200px; }
  .hero-title { font-size: 44px; }
}
@media (min-width: 64em) {
  .page-hero { height: 530px; padding-top: 290px; }
  .hero-title { font-size: 60px; font-weight: 700; }
}
.section { padding: 40px 0; }
.section.grey { background: var(--grey-band); }
.section.light { background: var(--grey-bg); }
.intro .narrow p, .intro .narrow li { color: var(--navy); }
.intro h3 { font-size: 20px; margin: 25px 0 20px; }
@media (min-width: 40em) {
  .section { padding: 60px 0 45px; }
  .section.roomy { padding: 130px 0 110px; }
  .intro h3 { font-size: 24px; margin: 25px 0 35px; }
}
.expand-text { text-align: left; }
.expand-text[hidden] { display: none; }
.home-split { display: grid; }
.who-we-are { padding: 40px var(--gutter); }
.who-we-are hr.hero-rule { display: none; }
.subhead { color: var(--orange-ink-large); font-weight: 700; font-size: 19px; }
.video-tile {
  position: relative; display: block; width: 100%; min-height: 240px; padding: 0; border: 0;
  background: var(--navy); color: #fff; cursor: pointer; text-align: left; overflow: hidden;
}
.video-tile img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.video-tile .play { position: absolute; left: 50%; top: 45%; width: 72px; transform: translate(-50%, -50%); color: rgba(255, 255, 255, .85); transition: color .25s, filter .25s; }
.video-tile:hover .play, .video-tile:focus-visible .play { color: #fff; filter: drop-shadow(0 0 20px rgba(0, 0, 0, .7)); }
.video-caption {
  position: absolute; left: 0; right: 0; bottom: 0; padding: 18px var(--gutter);
  background: rgba(21, 8, 71, .55); color: #fff; font-weight: 700; font-size: 16px;
}
@media (min-width: 40em) {
  .home-split { grid-template-columns: 1fr 1fr; }
  .who-we-are { padding: 70px 20px 80px; }
  .video-caption { padding: 37px 70px 18px; font-size: 18px; }
}
.link-boxes { background: var(--grey-bg); padding: 40px 0 20px; }
.link-boxes ul { list-style: none; padding: 0; margin: 0 auto; max-width: 1200px; display: grid; gap: 30px; }
.link-box {
  position: relative; padding: 30px 30px 20px; border: 2px solid var(--navy); text-align: center; background: transparent;
  transition: background-color .25s, border-color .25s;
}
.link-box h3 { font-size: 22px; margin-bottom: 20px; }
.link-box p { font-size: 16px; }
.link-box:hover { background: var(--orange); border-color: var(--orange); }
@media (min-width: 40em) {
  .link-boxes { padding: 75px 0 130px; }
  .link-boxes ul { grid-template-columns: 1fr 1fr; gap: 40px; }
  .link-box { padding: 60px 50px 40px; }
  .link-box h3 { font-size: 28px; }
  .link-box p { font-size: 18px; }
}
.feature { display: grid; align-items: center; }
.feature-img img { width: 100%; height: 100%; max-height: 500px; object-fit: cover; }
.feature-text { padding: 30px var(--gutter) 40px; }
.big-number { margin: 0 0 -60px; font: 800 90px/1.4 var(--font); color: #f1f1f1; user-select: none; }
.big-number::before { content: attr(data-number); }
.feature-text h2 { position: relative; }
@media (min-width: 40em) {
  .feature { grid-template-columns: 1fr 1fr; padding: 20px 20px 20px; gap: 40px; }
  .feature-text { padding: 0; }
  .big-number { font-size: 120px; margin-bottom: -82px; }
}
.alt { position: relative; padding: 40px 0; overflow: hidden; }
.alt-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: right center; }
.alt.img-left .alt-img img { object-position: left center; }
.alt .wrap { position: relative; z-index: 1; }
.alt-body h2 { margin-bottom: 30px; }
.alt-body li { margin-bottom: 8px; }
.alt.blue { background: var(--navy); }
.alt.blue h2, .alt.blue p, .alt.blue li, .alt.blue a, .alt.blue th, .alt.blue h3 { color: #fff; }
.alt.blue td { color: var(--navy); background: #fff; }
.alt.white { background: #fff; }
.alt.orange { background: var(--orange); }
.alt.orange h2, .alt.orange h3, .alt.orange p, .alt.orange li { color: var(--navy); }
.alt.orange a { color: var(--navy); }
.alt.orange .button.orange { background: transparent; border-color: var(--navy); color: var(--navy); }
.alt.orange .button.orange:hover, .alt.orange .button.orange:focus-visible { background: var(--navy); color: #fff; }
.alt.blue .button { border-color: #fff; color: #fff; }
.alt.blue .button:hover, .alt.blue .button:focus-visible { background: #fff; color: var(--navy); }
.alt.blue .button.orange { border-color: var(--orange); color: var(--navy); }
.alt.white .alt-body { background: rgba(255, 255, 255, .82); }
@media (max-width: 39.99em) {
  .alt-img { display: none; }
}
@media (min-width: 40em) {
  .alt { padding: 80px 0 70px; }
  .alt.white .alt-body { background: none; }
}
@media (min-width: 64em) {
  .alt-body { width: 50%; padding-right: 20px; }
  .alt.text-right .alt-body { margin-left: 50%; padding: 0 0 0 20px; }
}
.prices { display: grid; gap: 30px; }
.prices table { min-width: 560px; }
.table-scroll { overflow-x: auto; }
.prices th, .prices td { text-align: right; white-space: nowrap; }
.prices th:first-child, .prices td:first-child, .prices tbody th { text-align: left; }
.prices tbody th { background: #fff; color: var(--navy); border-color: var(--line); font-weight: 400; }
.prices tfoot td, .prices tfoot th { font-weight: 700; }
.prices tfoot th { background: #fff; color: var(--navy); border-color: var(--line); text-align: right; }
.prices .note { font-size: 14px; color: var(--grey-ink); }
@media (min-width: 64em) {
  .prices { grid-template-columns: 1fr 1fr; gap: 40px; align-items: start; }
}
.benefits { display: grid; gap: 10px 40px; max-width: 1150px; margin: 30px auto 0; }
.benefits h3 { font-size: 22px; }
@media (min-width: 40em) {
  .benefits { grid-template-columns: 1fr 1fr; }
  .benefits h3 { font-size: 28px; }
}
.htabs { max-width: 1040px; margin: 30px auto 0; }
.htab { border-top: 2px solid var(--navy); }
.htab-head { margin: 0; }
.htab-head button {
  display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 14px 16px;
  border: 0; background: #fff; color: var(--navy); font: 800 16px var(--font); text-transform: uppercase; letter-spacing: .02em; cursor: pointer;
  transition: background-color .25s, color .25s;
}
.htab-head .icon-plus { width: 26px; height: 26px; transition: transform .25s; }
.htab-head button:hover { background: var(--navy); color: #fff; }
.htab.is-open .htab-head button { background: var(--orange); }
.htab.is-open .htab-head .icon-plus { transform: rotate(45deg); }
.htab-panel { background: #fff; padding: 20px 20px 10px; }
.htab-title { display: none; }
.htab-body p, .htab-body li { color: var(--navy); font-size: 16px; }
@media (min-width: 64em) {
  .htabs { display: flex; height: 400px; }
  .htab { display: flex; border-top: 0; }
  .htab.is-open { flex: 1; }
  .htab-head { order: 2; }
  .htab.is-open .htab-head { display: none; }
  .htab-head button {
    flex-direction: row; justify-content: space-between; width: 62px; height: 100%; padding: 25px 0 15px;
    border-left: 2px solid var(--navy); background: transparent; writing-mode: vertical-rl; font-size: 18px;
  }
  .htab-head .icon-plus { writing-mode: horizontal-tb; }
  .htab-panel { display: flex; flex: 1; padding: 0; }
  .htab-panel[hidden] { display: none; }
  .htab-title {
    display: block; flex: 0 0 300px; margin: 0; padding: 40px 20px; background: var(--orange);
    color: var(--navy); font: 800 18px var(--font); text-transform: uppercase; text-align: center; letter-spacing: .02em;
  }
  .htab-body { flex: 1; padding: 40px 40px 20px; }
}
.values { position: relative; overflow: hidden; background: var(--navy); color: #fff; padding: 50px 0 60px; }
.values h2 { color: #fff; }
.values ul { position: relative; list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 30px 80px; padding: 0; margin: 30px 0 0; }
.values li { text-align: center; font-weight: 700; font-size: 18px; letter-spacing: .04em; text-transform: uppercase; color: #fff; }
.values li img { width: 100px; height: auto; margin: 0 auto 18px; }
.values .alt-img img { object-position: right center; }
@media (min-width: 40em) {
  .values { padding: 65px 0 100px; }
  .values li img { width: 140px; }
}
.facts { display: grid; gap: 14px 40px; max-width: 1040px; margin: 30px auto 0; padding: 0; list-style: none; text-align: left; }
.facts li { padding: 14px 18px; border-left: 6px solid var(--orange); background: var(--grey-bg); }
.facts strong { display: block; font-family: var(--font-head); font-size: 15px; text-transform: uppercase; letter-spacing: .03em; color: var(--orange-ink); }
@media (min-width: 40em) { .facts { grid-template-columns: 1fr 1fr; } }
.carousel { position: relative; padding-inline: 40px; }
.carousel-track {
  display: grid; grid-auto-flow: column; grid-auto-columns: 100%; gap: 24px;
  margin: 0; padding: 0; list-style: none;
  overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none;
}
.carousel-track::-webkit-scrollbar { display: none; }
.carousel-track > li { scroll-snap-align: start; }
.carousel-btn {
  position: absolute; top: 50%; z-index: 5; width: 44px; height: 44px; padding: 10px; transform: translateY(-50%);
  border: 0; border-radius: 50%; background: rgba(225, 225, 225, .9); color: #6b6b6b; cursor: pointer;
}
.carousel-btn:not([disabled]):hover { color: var(--navy); }
.carousel-btn.prev { left: -6px; }
.carousel-btn.next { right: -6px; }
.carousel-btn[disabled] { opacity: .35; cursor: default; }
.quotes { padding: 50px 0 70px; }
.quote-track { grid-auto-columns: 100%; max-width: 1200px; margin: 30px auto 0; padding: 0; }
.quote { margin: 0 0 30px; }
.quote blockquote {
  position: relative; margin: 0; padding: 30px 20px; border-radius: 7px; background: var(--quote);
}
.quote blockquote::after {
  content: ""; position: absolute; left: 22px; bottom: -20px;
  border: 14px solid transparent; border-top: 20px solid var(--quote); border-bottom: 0;
}
.quote p { margin: 0; color: var(--grey-ink); font-style: italic; font-size: 16px; line-height: 1.3; }
@media (min-width: 40em) {
  .quote-track { grid-auto-columns: calc((100% - 24px) / 2); }
}
@media (min-width: 64em) {
  .quote-track { grid-auto-columns: calc((100% - 120px) / 3); gap: 60px; }
  .quote p { font-size: 19px; }
}
.team-track { grid-auto-columns: 100%; max-width: 1200px; margin: 30px auto 0; padding: 0; }
.team-card { position: relative; overflow: hidden; background: #eee; }
.team-card img { width: 100%; aspect-ratio: 1 / 1; height: auto; object-fit: cover; object-position: center 15%; filter: grayscale(1); }
@media (min-width: 40em) { .team-card img { aspect-ratio: 2 / 3; object-position: center; } }
.team-bar {
  position: absolute; left: 0; right: 0; bottom: 0; min-height: 96px; padding: 14px 64px 12px 20px;
  background: rgba(19, 0, 69, .78); color: #fff; text-align: left; transition: background-color .25s;
}
.team-card:hover .team-bar { background: rgba(19, 0, 69, .9); }
.team-name { margin: 0; color: #fff; font: 700 16px var(--font); text-transform: uppercase; }
.team-role { margin: 0; color: #fff; font-size: 15px; }
.team-more { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); width: 40px; height: 40px; padding: 0; border: 0; background: none; color: #fff; cursor: pointer; }
.team-more::after { content: ""; position: absolute; inset: -400px -14px -30px -400px; }
.team-more .icon-plus { width: 32px; height: 32px; }
.team-dialog-grid { display: grid; gap: 24px; }
.team-dialog-grid img { width: 100%; max-width: 280px; height: auto; filter: grayscale(1); }
.team-dialog h3 { font-size: 26px; margin: 0; }
.team-dialog-role { color: var(--orange-ink); font-weight: 700; }
.team-qa dt { font-weight: 700; margin-top: 14px; font-size: 17px; }
.team-qa dd { margin: 4px 0 0; color: var(--grey-ink); }
@media (min-width: 40em) {
  .team-track { grid-auto-columns: calc((100% - 24px) / 2); }
  .team-dialog-grid { grid-template-columns: 280px 1fr; }
  .team-name, .team-role { font-size: 18px; }
}
@media (min-width: 64em) {
  .team-track { grid-auto-columns: calc((100% - 48px) / 3); }
}
.members { position: relative; overflow: hidden; background: var(--navy); color: #fff; padding: 40px 0 30px; text-align: center; }
.members-head { position: relative; z-index: 3; }
.members h2 { color: var(--orange); max-width: 800px; margin: 0 auto 30px; }
.members-list { grid-auto-columns: 100%; }
.member-item { position: relative; min-height: 300px; display: grid; place-items: center; padding: 20px; }
.member-item picture img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.member-item::before { content: ""; position: absolute; inset: 0; z-index: 1; background: rgba(19, 0, 69, .6); }
.member-text { position: relative; z-index: 2; max-width: 360px; padding: 30px 20px; border-radius: 6px; background: rgba(255, 255, 255, .12); }
.member-text h3 { color: #fff; font-size: 20px; }
.member-text p { color: #ececec; margin: 0; }
.member-text hr.rule { width: 60px; border-bottom-width: 5px; }
.members-carousel { position: relative; z-index: 2; padding-inline: var(--gutter); }
.members-carousel .carousel-btn.prev { left: calc(var(--gutter) - 22px); }
.members-carousel .carousel-btn.next { right: calc(var(--gutter) - 22px); }
.members-buttons { position: relative; z-index: 3; margin: 10px 0 0; }
.members-buttons .button { margin: 10px 6px; }
@media (min-width: 64em) {
  .members { height: 790px; padding: 65px 0; }
  .members-carousel { position: static; padding: 0; }
  .members-carousel .carousel-btn { display: none; }
  .members-list {
    position: absolute; inset: 0; z-index: 2; display: grid; grid-auto-flow: row; grid-template-columns: repeat(4, 1fr);
    gap: 0; overflow: visible; scroll-snap-type: none;
  }
  .member-item { position: static; display: block; min-height: 0; padding: 320px 40px 0; }
  .member-item::before { content: none; }
  .member-item picture img {
    position: absolute; inset: 0 auto 0 0; z-index: 0; width: 25%;
    transition: width .4s ease-in-out .3s, left .4s ease-in-out .3s;
  }
  .member-item:nth-child(2) picture img { left: 25%; object-position: 42% 50%; }
  .member-item:nth-child(3) picture img { left: 50%; object-position: 70% 50%; }
  .member-item:nth-child(4) picture img { left: 75%; object-position: 65% 50%; }
  .members-list::after { content: ""; position: absolute; inset: 0; z-index: 1; background: rgba(19, 0, 69, .6); pointer-events: none; }
  .member-text { z-index: 2; padding: 0; background: none; transition: opacity .3s; }
  .member-text h3 { font-size: 24px; margin-bottom: 20px; }
  .member-text hr.rule, .member-text p { opacity: 0; transition: opacity .3s; }
  .member-item:hover .member-text hr.rule, .member-item:hover .member-text p { opacity: 1; }
  .members-list:has(.member-item:hover) .member-item:not(:hover) .member-text { opacity: .3; }
  .members-list:has(.member-item:hover) .member-item picture img { width: 0; }
  .members-list:has(.member-item:hover) .member-item:hover picture img { left: 0; width: 100%; }
  .members-buttons { position: absolute; left: 0; right: 0; bottom: 60px; }
}
@media (min-width: 64em) and (prefers-reduced-motion: reduce) {
  .member-item picture img { transition: none; }
}
.contact-section { background: var(--navy); color: #fff; padding: 40px 0; }
.contact-section h2 { color: #fff; }
.contact-grid { display: grid; gap: 40px; margin-top: 30px; }
.field { position: relative; margin: 0 0 30px; }
.field input, .field textarea {
  width: 100%; padding: 20px 26px; border: 2px solid #fff; border-radius: 35px;
  background: var(--navy); color: #fff; font: italic 16px/1.15 var(--font); letter-spacing: 1px;
}
.field textarea { border-radius: 30px; resize: vertical; min-height: 200px; }
.field label {
  position: absolute; left: 26px; top: 20px; padding: 0 6px; margin-left: -6px;
  color: #d0d0d0; font: italic 16px/1.15 var(--font); letter-spacing: 1px; pointer-events: none;
  transition: top .15s, font-size .15s, color .15s;
}
.field .optional { font-size: .85em; }
.field input:focus + label, .field input:not(:placeholder-shown) + label,
.field textarea:focus + label, .field textarea:not(:placeholder-shown) + label {
  top: -9px; font-size: 13px; color: #fff; background: var(--navy);
}
.field input:focus, .field textarea:focus { outline: 3px solid var(--orange); outline-offset: 2px; }
.field [aria-invalid="true"] { border-color: #ffb46b; }
.field .field-error { display: block; margin: 6px 0 0 26px; color: #ffcf99; font-size: 14px; }
.contact-form .button { margin-top: 0; }
.contact-form .button.orange:hover, .contact-form .button.orange:focus-visible { background: #fff; border-color: #fff; color: var(--navy); }
.form-status { color: #fff; font-weight: 700; }
.form-status.is-error { color: #ffcf99; }
.recaptcha-note { font-size: 13px; color: #cfcfcf; }
.recaptcha-note a { color: #fff; font-weight: 400; }
.contact-section .recaptcha-note a:hover { color: var(--orange); }
.grecaptcha-badge { visibility: hidden; }
.hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.contact-address, .contact-sub p { color: #fff; font-style: italic; }
.contact-sub { display: grid; gap: 0 30px; }
.contact-sub h3 { margin: 30px 0 3px; color: var(--orange); font-size: 18px; text-transform: uppercase; }
.contact-sub a { color: #fff; font-weight: 400; }
.contact-sub a:hover { color: var(--orange); }
.contact-legal { max-width: 510px; margin-top: 40px; color: #b5b5b5; font-style: italic; }
@media (min-width: 40em) {
  .contact-section { padding: 65px 0 150px; }
  .contact-grid { grid-template-columns: 1fr 1fr; gap: 40px; }
  .contact-details { padding-left: 8%; }
  .contact-sub { grid-template-columns: 1fr 1fr; }
  .field input, .field textarea, .field label { font-size: 18px; }
  .field input, .field textarea { padding: 26px 40px; }
  .field label { left: 40px; top: 27px; }
}
.light-form { max-width: 760px; margin: 30px auto 0; }
.light-form .row { display: grid; gap: 6px; margin: 0 0 22px; align-items: center; }
.light-form label, .light-form legend { font-size: 15px; font-weight: 600; color: var(--navy); }
.light-form input[type=text], .light-form input[type=email], .light-form textarea {
  width: 100%; padding: 16px 22px; border: 2px solid #dcdcdc; border-radius: 30px; font: 16px var(--font); color: var(--navy);
}
.light-form textarea { min-height: 120px; resize: vertical; }
.light-form fieldset { border: 0; padding: 0; margin: 0 0 22px; display: grid; gap: 6px; }
.light-form .choices { display: flex; gap: 22px; flex-wrap: wrap; }
.light-form .choices label { font-weight: 400; display: inline-flex; gap: 8px; align-items: center; }
.light-form .req { color: var(--orange-ink); }
.light-form .field-error { color: #b00020; font-size: 14px; }
.light-form .form-status.is-error { color: #b00020; }
.light-form .form-status { color: var(--navy); }
.light-form .recaptcha-note { color: var(--grey-ink); }
.light-form .recaptcha-note a { color: var(--navy); }
@media (min-width: 40em) {
  .light-form .row { grid-template-columns: 170px 1fr; }
  .light-form fieldset { display: block; }
  .light-form fieldset legend { float: left; width: 176px; padding: 0; }
  .light-form .actions { padding-left: 176px; }
}
.side-section { background: var(--grey-faq); padding: 40px 0 60px; }
.side-layout { display: grid; gap: 30px; max-width: 1360px; margin: 0 auto; }
.side-nav ul { list-style: none; margin: 0; padding: 0; background: #fff; }
.side-nav a {
  display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 14px 20px 14px 25px;
  color: #333; font-size: 15px; font-weight: 700; text-decoration: none; line-height: 1.2;
}
.side-nav a .icon-chevron { width: 16px; height: 16px; flex: none; color: var(--navy); transition: transform .25s; }
.side-nav a[aria-current="true"] { background: var(--navy); color: #fff; }
.side-nav a[aria-current="true"] .icon-chevron { visibility: hidden; }
.side-nav a:hover { color: var(--navy); }
.side-nav a:hover .icon-chevron { transform: translateX(5px); }
.side-nav a[aria-current="true"]:hover { color: #fff; background: var(--navy); }
.faq-group { margin-bottom: 30px; }
.faq-group h2 .tag { display: inline-block; vertical-align: middle; margin-left: 8px; padding: 2px 10px; border-radius: 20px; background: var(--grey-tab); font: 700 13px var(--font); color: var(--navy); }
[data-filter-groups].is-filtered .faq-group:not(.is-shown) { display: none; }
.accordion { margin: 0 0 8px; background: #fff; }
.accordion summary {
  position: relative; display: block; padding: 16px 64px 16px 20px; background: var(--grey-tab); cursor: pointer; list-style: none;
}
.accordion summary::-webkit-details-marker { display: none; }
.accordion summary h3 { margin: 0; font: 700 17px/1.3 var(--font); color: var(--navy); }
.accordion summary .icon-plus { position: absolute; right: 18px; top: 50%; width: 28px; height: 28px; transform: translateY(-50%); color: var(--navy); transition: transform .25s; }
.accordion[open] summary .icon-plus { transform: translateY(-50%) rotate(45deg); }
@media (hover: hover) {
  .accordion summary:hover { background: var(--navy); }
  .accordion summary:hover h3, .accordion summary:hover .icon-plus { color: #fff; }
}
.accordion-body { padding: 20px 20px 30px; }
.accordion-body p, .accordion-body li, .accordion-body td, .accordion-body th { font-size: 16px; }
.accordion-body p, .accordion-body li { color: var(--grey-ink); }
.accordion-body td { color: var(--navy); }
.accordion-body table { display: block; overflow-x: auto; }
.report-list { list-style: none; margin: 0; padding: 10px 20px 20px; }
.report-list li { border-bottom: 1px solid #eee; }
.report-list a { display: flex; justify-content: space-between; gap: 10px; margin: 0 -10px; padding: 10px; color: var(--navy); text-decoration: none; font-size: 16px; }
.report-list a:hover { color: var(--navy); background: #f6f6f6; }
.report-list .meta { display: inline-flex; gap: 6px; align-items: center; font-weight: 400; color: var(--grey-ink); font-size: 14px; white-space: nowrap; }
.report-list .icon { width: 18px; height: 18px; }
@media (min-width: 40em) {
  .side-section { padding: 65px 0 130px; }
  .side-layout { grid-template-columns: 260px 1fr; gap: 40px; }
  .side-nav { position: sticky; top: 100px; align-self: start; margin-top: 59px; }
  .accordion summary h3 { font-size: 20px; }
  .accordion-body p, .accordion-body li { font-size: 18px; }
}
@media (min-width: 64em) {
  .side-layout { grid-template-columns: 320px minmax(0, 800px); gap: 0 8%; }
  .side-nav a { font-size: 18px; padding: 16px 30px 16px 25px; }
  .accordion summary h3 { font-size: 22px; }
}
.timeline { max-width: 1000px; margin: 40px auto 0; }
.tl-list { position: relative; list-style: none; margin: 0; padding: 0; }
.tl-list::before { content: ""; position: absolute; top: 0; bottom: 0; left: 40px; border-left: 2px solid var(--orange); }
.tl-year { position: relative; padding: 0 0 30px 100px; }
.tl-year[hidden] { display: none; }
.tl-badge {
  position: absolute; left: 0; top: 0; display: grid; place-items: center; width: 80px; height: 80px; margin: 0;
  border-radius: 50%; background: var(--navy); color: #fff; font: 900 22px var(--font);
}
.tl-side { list-style: none; margin: 0; padding: 0; }
.tl-card { margin: 0 0 15px; }
.tl-cat { margin: 0 0 2px 25px; color: var(--orange-ink); font-size: 13px; font-weight: 800; text-transform: uppercase; }
.tl-box { position: relative; padding: 32px 15px 5px; border: 1px solid #ddd; border-radius: 25px; background: #fff; }
.tl-date { position: absolute; top: -1px; right: -1px; margin: 0; padding: 2px 12px; border-radius: 0 25px 0 12px; background: var(--navy); color: #fff; font-size: 12px; font-weight: 700; }
.tl-box h4 { font-size: 18px; }
.tl-detail { color: var(--grey-ink); font-size: 14px !important; }
.tl-more { text-align: center; }
.tl-list::after { content: ""; display: block; width: 52px; margin-left: 15px; border-top: 2px solid var(--orange); }
@media (min-width: 64em) {
  .tl-list::before { left: 50%; }
  .tl-list::after { margin: 0 auto; }
  .tl-year { display: grid; grid-template-columns: 1fr 1fr; gap: 0 120px; padding: 0 0 30px; }
  .tl-badge { left: calc(50% - 40px); }
  .tl-left { grid-column: 1; padding-top: 110px; }
  .tl-right { grid-column: 2; }
  .tl-year:has(.tl-left:empty) .tl-left { display: none; }
  .tl-year:has(.tl-left:empty) .tl-right { grid-column: 2; }
}
.news-grid { list-style: none; display: grid; gap: 24px; margin: 30px 0; padding: 0; }
.news-card { position: relative; padding: 26px 28px 18px; background: var(--grey-bg); }
.news-card:hover { background: #eee; }
.news-icon { position: absolute; top: 14px; right: 18px; width: 30px; color: #9a9a9a; }
.news-date { display: flex; align-items: center; gap: 6px; margin: 0 0 4px; color: var(--orange-ink); font-size: 14px; }
.news-date .icon { width: 14px; height: 14px; }
.news-title { margin: 0 0 8px; font: 700 17px/1.25 var(--font-head); }
.news-title a { color: var(--navy); text-decoration: none; }
.news-title a::after { content: ""; position: absolute; inset: 0; }
.news-summary { margin: 0; color: var(--grey-ink); font-size: 16px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.pagination ul { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; padding: 0; margin: 20px 0 0; }
.pagination a {
  display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%;
  background: var(--navy); color: #fff; text-decoration: none; font-size: 14px;
}
.pagination a[aria-current="page"] { color: var(--orange); }
.pagination a:hover { color: var(--orange); }
@media (min-width: 40em) { .news-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 64em) { .news-grid { grid-template-columns: repeat(3, 1fr); } }
.article-title { font-size: 22px; }
.article-meta { color: var(--orange-ink); font-weight: 700; }
.article-body { padding-bottom: 20px; }
.article-body p, .article-body li { color: var(--navy); }
.article-source { margin-top: 24px; padding: 16px 20px; background: var(--grey-bg); border-left: 6px solid var(--orange); font-size: 16px !important; }
.article-nav { display: grid; gap: 16px; margin: 40px 0 10px; }
.article-nav-link { display: block; padding: 16px 20px; border: 2px solid var(--navy); color: var(--navy); text-decoration: none; font-weight: 600; font-size: 16px; }
.article-nav-link span { display: block; color: var(--orange-ink); font-size: 13px; text-transform: uppercase; font-weight: 800; }
.article-nav-link.older { text-align: right; }
.article-nav-link:hover { background: var(--navy); color: #fff; }
.article-nav-link:hover span { color: var(--orange); }
@media (min-width: 40em) {
  .article-title { font-size: 30px; }
  .article-nav { grid-template-columns: 1fr 1fr; }
}
.hub-cards { list-style: none; display: grid; gap: 24px; margin: 30px auto 0; padding: 0; max-width: 1200px; }
.hub-card { position: relative; display: flex; flex-direction: column; padding: 34px 30px 26px; border: 2px solid var(--navy); background: #fff; }
.hub-card h3 { font-size: 22px; }
.hub-card p { flex: 1; font-size: 16px; }
.hub-card .button { align-self: flex-start; margin: 10px 0 0; }
.hub-card .button::after { content: ""; position: absolute; inset: 0; }
.hub-card:hover { background: var(--grey-bg); }
@media (min-width: 40em) { .hub-cards { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 64em) { .hub-cards.three { grid-template-columns: repeat(3, 1fr); } }
.prose { max-width: 1040px; margin: 0 auto; }
.prose h2 { margin-top: 36px; }
.prose h3 { font-size: 22px; margin-top: 28px; }
.prose p, .prose li { color: var(--navy); }
.pre-footer { background: var(--grey-band); padding: 20px 0 10px; text-align: center; }
.pre-footer p { color: var(--grey-ink); font-size: 15px; }
.footer-inner { display: grid; grid-template-columns: 1fr auto; gap: 20px; align-items: center; padding-top: 35px; padding-bottom: 25px; }
.footer-logo img { width: 105px; height: auto; }
.footer-text { grid-column: 1 / -1; grid-row: 2; }
.footer-text p { margin: 0 0 6px; color: #666; font-size: 15px; }
.footer-text a, .footer-text .link-button { color: #666; font-weight: 400; text-decoration: none; }
.footer-text a:hover, .footer-text .link-button:hover { color: var(--navy); }
.footer-social { list-style: none; display: flex; gap: 10px; margin: 0; padding: 0; }
.footer-social a { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--navy); color: #fff; }
.footer-social a:hover { background: var(--orange); color: var(--navy); }
.footer-social svg { width: 17px; height: 17px; }
@media (min-width: 40em) {
  .footer-inner { grid-template-columns: 180px 1fr 180px; padding-top: 50px; padding-bottom: 40px; }
  .footer-logo img { width: 180px; }
  .footer-text { grid-column: 2; grid-row: 1; text-align: center; }
  .footer-text p { font-size: 16px; }
  .footer-social { justify-content: flex-end; }
}
.consent {
  position: fixed; z-index: 950; right: 0; bottom: 0; width: min(560px, 100%);
  padding: 24px 24px 12px; background: #fff; color: var(--navy); box-shadow: -2px 1px 7px rgba(0, 0, 0, .29);
}
.consent[hidden] { display: none; }
.consent-title { font: 700 20px var(--font); text-transform: uppercase; margin: 0 0 10px; }
.consent p { font-size: 15px; }
.consent a { color: var(--navy); }
.consent-buttons .button { margin: 4px 8px 4px 0; }
@media (min-width: 40em) { .consent { padding: 2rem 2rem 1.25rem; } }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-delay: 0s !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
.h2-like { font: 800 22px/1.3 var(--font-head); }
.alt.blue .h2-like, .alt.blue .h2-like strong { color: #fff; }
@media (min-width: 40em) { .h2-like { font-size: 30px; } }
.prose code { font-size: .9em; background: var(--grey-bg); padding: 1px 5px; border-radius: 4px; }
.light-form .optional { font-weight: 400; font-size: 13px; color: var(--grey-ink); }
