:root {
  --blue: #001f3f; --blue-mid: #0b4f78; --cream: #f4ebdd; --paper: #fffdf9;
  --ink: #172633; --muted: #53616c; --orange: #f26a21; --content: 78rem; --reading: 50rem;
  --shadow: 0 1.5rem 4rem rgba(0, 31, 63, 0.12); color-scheme: light; scroll-behavior: smooth;
}
* { box-sizing: border-box; }
html { background: var(--blue); }
body { margin: 0; background: #fbf7f0; color: var(--ink); font-family: Lato, Arial, Helvetica, sans-serif; font-size: 1rem; line-height: 1.65; }
img { display: block; max-width: 100%; }
a { color: inherit; }
h1, h2, h3, p { text-wrap: pretty; }
h1, h2, h3 { margin: 0; color: var(--blue); font-family: Inter, Arial, Helvetica, sans-serif; letter-spacing: -0.035em; line-height: 1.08; }
h1 { max-width: 62rem; font-size: clamp(2.8rem, 7vw, 5.8rem); font-weight: 800; }
h2 { max-width: 48rem; font-size: clamp(2rem, 4.5vw, 3.8rem); font-weight: 700; }
h3 { font-size: clamp(1.45rem, 2.4vw, 2rem); font-weight: 700; }
p { margin: 0; }
.content-width, .reading-width { width: min(calc(100% - 2rem), var(--content)); margin-inline: auto; }
.reading-width { max-width: var(--reading); }
.skip-link { position: fixed; top: 1rem; left: 1rem; z-index: 100; transform: translateY(-180%); border-radius: .35rem; background: var(--paper); color: var(--blue); padding: .7rem 1rem; font-weight: 700; }
.skip-link:focus { transform: translateY(0); }
.site-header { position: relative; z-index: 10; border-bottom: .0625rem solid rgba(0,31,63,.14); background: #fff; }
.site-header__inner { display: flex; width: min(calc(100% - 2rem), var(--content)); min-height: 5.25rem; align-items: center; justify-content: space-between; gap: 1.5rem; margin-inline: auto; }
.brand { display: inline-flex; width: clamp(7.6rem, 12.8vw, 9.6rem); border-radius: .35rem; text-decoration: none; }
.brand img { width: 100%; height: auto; object-fit: contain; }
.site-header__label { color: var(--blue-mid); font-family: Inter, Arial, Helvetica, sans-serif; font-size: .8rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.brand:focus-visible, .button:focus-visible, .pw-footer a:focus-visible { outline: .1875rem solid var(--orange); outline-offset: .3rem; }
.hero { overflow: hidden; background: var(--cream); padding: clamp(1rem,3vw,2rem) 0 clamp(3.5rem,7vw,6rem); }
.hero__copy { margin-top: clamp(3rem,7vw,5.5rem); }
.eyebrow, .section-label { margin: 0 0 1rem; color: var(--blue-mid); font-family: Inter, Arial, Helvetica, sans-serif; font-size: .8rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.hero__lede { max-width: 48rem; margin-top: 1.75rem; color: #334958; font-size: clamp(1.3rem,2.5vw,1.8rem); line-height: 1.45; }
.button { display: inline-flex; min-height: 3.25rem; align-items: center; justify-content: center; margin-top: 2rem; border: .125rem solid var(--blue); border-radius: 999px; background: var(--blue); color: #fff; padding: .75rem 1.5rem; font-family: Inter, Arial, Helvetica, sans-serif; font-weight: 700; text-decoration: none; transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease; }
.button:hover { border-color: var(--orange); background: var(--orange); transform: translateY(-.125rem); }
.hero__image-wrap { overflow: hidden; border-radius: clamp(.85rem,2vw,1.5rem); box-shadow: var(--shadow); }
.hero__image { width: 100%; height: clamp(17rem,38vw,31rem); object-fit: cover; object-position: center 48%; }
.section { padding: clamp(5rem,10vw,9rem) 0; }
.introduction { background: var(--paper); }
.introduction__copy { display: grid; gap: 1.5rem; margin-top: clamp(2.5rem,5vw,4rem); color: #344550; font-size: clamp(1.08rem,1.8vw,1.25rem); line-height: 1.8; }
.introduction__lead { color: var(--blue); font-size: clamp(1.25rem,2vw,1.5rem); font-weight: 700; line-height: 1.55; }
.turn { color: var(--blue-mid); font-family: Inter, Arial, Helvetica, sans-serif; font-size: 1.2rem; font-weight: 800; }
.principle { margin-top: .75rem; border-left: .3rem solid var(--orange); color: var(--blue); padding: .25rem 0 .25rem 1.5rem; font-family: Inter, Arial, Helvetica, sans-serif; font-size: clamp(1.5rem,3vw,2.35rem); font-weight: 800; line-height: 1.35; }
.benefits { background: #e7eef1; }
.section-heading { margin-bottom: clamp(2.5rem,5vw,4rem); }
.benefit-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.5rem; }
.benefit-card { position: relative; min-height: 22rem; overflow: hidden; border: .0625rem solid rgba(0,31,63,.11); border-radius: 1rem; background: var(--paper); padding: clamp(1.75rem,3vw,2.5rem); box-shadow: 0 .8rem 2.5rem rgba(0,31,63,.07); }
.benefit-card::before { display: block; width: 3.5rem; height: .3rem; margin-bottom: 3rem; background: var(--orange); content: ""; }
.benefit-card--learn::before { background: var(--blue-mid); }
.benefit-card--connect::before { background: #748f6d; }
.benefit-card__number { position: absolute; top: 1.5rem; right: 1.75rem; color: rgba(0,31,63,.18); font-family: Inter, Arial, Helvetica, sans-serif; font-weight: 800; }
.benefit-card > p:last-child { margin-top: 1.25rem; color: var(--muted); font-size: 1.08rem; line-height: 1.7; }
.receive { background: var(--blue); color: #fff; }
.receive__layout { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: clamp(3rem,8vw,8rem); align-items: start; }
.receive .section-label { color: #ffb27f; }
.receive h2 { color: #fff; }
.receive__heading > p:last-child { margin-top: 1.75rem; color: var(--cream); font-size: 1.2rem; font-weight: 700; }
.receive__list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 0; padding: 0; list-style: none; }
.receive__list li { border-top: .0625rem solid rgba(244,235,221,.28); padding: 1.15rem 1rem 1.15rem 0; color: #fff; font-size: 1.08rem; font-weight: 700; }
.receive__list li:nth-child(even) { padding-left: 1.25rem; }
.receive__close { margin-top: 2rem; color: #ffb27f; font-family: Inter, Arial, Helvetica, sans-serif; font-size: clamp(1.15rem,2vw,1.4rem); font-weight: 800; }
.signup { background: var(--cream); scroll-margin-top: 1rem; }
.signup__layout { display: grid; grid-template-columns: minmax(16rem,.8fr) minmax(28rem,1.2fr); gap: clamp(3rem,7vw,7rem); align-items: start; }
.signup__intro { position: sticky; top: 2rem; }
.signup__intro > p:last-child { margin-top: 1.75rem; color: var(--muted); font-size: 1.15rem; line-height: 1.75; }
.signup__form { width: 100%; min-width: 0; border: .0625rem solid rgba(0,31,63,.11); border-radius: 1.1rem; background: var(--paper); box-shadow: var(--shadow); padding: clamp(1rem,3vw,2.25rem); }
.ctct-inline-form { width: 100%; min-height: 12rem; }
/* The account-level loader is required for the inline form; never display its legacy popup, banner, or flyout forms on this microsite. */
:is(.ctct-popup-form,.ctct-popup-overlay,.ctct-popup-trigger,.ctct-form-popup,.ctct-form-banner,.ctct-form-flyout) { display: none !important; }
.signup__form :is(input,select,textarea,button) { max-width: 100%; }
.signup__form :is(input,select,textarea):focus-visible, .signup__form button:focus-visible { outline: .1875rem solid var(--orange) !important; outline-offset: .125rem !important; }
.closing { background: var(--paper); padding: clamp(4.5rem,9vw,8rem) 0; text-align: center; }
.closing p { color: var(--blue); font-family: Inter, Arial, Helvetica, sans-serif; font-size: clamp(1.65rem,3.5vw,2.8rem); font-weight: 700; letter-spacing: -.025em; line-height: 1.35; }
@media (max-width: 58rem) {
  .benefit-grid { grid-template-columns: 1fr; }
  .benefit-card { min-height: 0; }
  .receive__layout, .signup__layout { grid-template-columns: 1fr; }
  .signup__intro { position: static; max-width: 42rem; }
}
@media (max-width: 44rem) {
  .site-header__inner { min-height: 4.5rem; }
  .brand { width: 7.6rem; }
  .site-header__label { font-size: .72rem; }
  .hero { padding-top: 1rem; }
  .hero__image-wrap { border-radius: .75rem; }
  .hero__image { height: 16rem; object-position: center center; }
  .section { padding-block: 4.5rem; }
  .benefit-card { padding: 1.5rem; }
  .receive__list { grid-template-columns: 1fr; }
  .receive__list li:nth-child(even) { padding-left: 0; }
  .signup__form { border-radius: .75rem; padding: .75rem; }
  .closing { text-align: left; }
}
@media (prefers-reduced-motion: reduce) {
  :root { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; }
}
