
@font-face{
  font-family:"Newsreader"; font-style:normal; font-weight:400 500; font-display:swap;
  src:url("/assets/fonts/newsreader-variable.woff2") format("woff2");
}
@font-face{
  font-family:"Newsreader"; font-style:italic; font-weight:400; font-display:swap;
  src:url("/assets/fonts/newsreader-italic-variable.woff2") format("woff2");
}
@font-face{
  font-family:"Nunito"; font-style:normal; font-weight:700 800; font-display:swap;
  src:url("/assets/fonts/nunito-variable.woff2") format("woff2");
}
@font-face{
  font-family:"Source Sans 3"; font-style:normal; font-weight:400 600; font-display:swap;
  src:url("/assets/fonts/source-sans-3-variable.woff2") format("woff2");
}

:root{
  --purple:#5B21D8;
  --blue:#2563EB;
  --teal:#0AC2B3;
  --teal-ink:#066F68;
  --navy:#0E1B4D;

  --ground:#FAF9F7;
  --band:#F3F0EA;
  --card:#FFFFFF;
  --ink:#0E1B4D;
  --ink-2:#3A3F52;
  --muted:#5F6376;
  --line:#E3DFD7;
  --line-2:#B9B4AA;
  --field-line:#7F8492;
  --stone:#DCD8D0;
  --stone-2:#C9C4BA;

  --measure:64ch;
  --pad:clamp(20px,5vw,40px);
  --gap-section:clamp(56px,8vw,96px);
}

*,*::before,*::after{box-sizing:border-box}

html{-webkit-text-size-adjust:100%}

body{
  margin:0;
  background:var(--ground);
  color:var(--ink-2);
  font-family:"Source Sans 3","Gill Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  font-size:18px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3{
  font-family:Newsreader,"Iowan Old Style",Georgia,serif;
  font-weight:500;
  color:var(--ink);
  margin:0;
  text-wrap:balance;
  letter-spacing:-.01em;
}
h1{font-size:clamp(42px,5.6vw,72px); line-height:1.04}
h2{font-size:clamp(32px,3.6vw,48px); line-height:1.1}
h3{font-size:clamp(22px,2vw,26px); line-height:1.25}
h4{font-family:Nunito,sans-serif; font-weight:800; font-size:19px; line-height:1.3; color:var(--ink); margin:0}

p{margin:0; text-wrap:pretty}
a{color:var(--ink); text-decoration-thickness:1.5px; text-underline-offset:4px; text-decoration-color:var(--teal)}
a:hover{color:var(--purple)}
img{max-width:100%; height:auto; display:block}

:focus-visible{outline:3px solid var(--purple); outline-offset:3px; border-radius:4px}
.section--navy :focus-visible{outline-color:var(--teal)}

.skip{position:absolute; left:-9999px}
.skip:focus{left:16px; top:16px; z-index:100; background:#fff; padding:14px 20px;
  border:1px solid var(--line); font-weight:700}

.wrap{width:100%; max-width:1280px; margin:0 auto; padding-inline:var(--pad)}
.section{padding-block:var(--gap-section)}
.section--tint{background:var(--band)}
.section--navy{background:var(--navy); color:#C9D3EC}
.section--navy h2,.section--navy h3{color:#fff}
.section--navy a{color:#fff}
.section--navy a:hover{color:var(--teal)}
.section--navy a.btn--light,.section--navy a.btn--light:hover{color:var(--navy)}
.stack{display:flex; flex-direction:column; gap:20px}
.measure{max-width:var(--measure)}

.eyebrow{
  font-family:Nunito,sans-serif; font-weight:800; font-size:13px;
  letter-spacing:.2em; text-transform:uppercase; color:var(--teal-ink); margin:0;
}
.section--navy .eyebrow{color:var(--teal)}
.lede{font-size:clamp(19px,2vw,22px); line-height:1.55; color:var(--ink-2)}
.section--navy .lede{color:#C9D3EC}
.small{font-size:18px; line-height:1.6}
.note{font-size:18px; color:var(--muted)}
.todo{color:var(--purple); font-weight:600}
.btn:hover .todo,.btn:focus-visible .todo{color:inherit}
.section--navy .todo{color:var(--teal)}

.trust-band{padding-top:0; padding-bottom:clamp(28px,3.2vw,40px)}
.section:has(+ .trust-band){padding-bottom:clamp(16px,2vw,28px)}
.trust-band .trust{margin-top:0}
.numbered.trust > li,
.numbered.trust > li:last-child,
.numbered.trust-strip > li,
.numbered.trust-strip > li:last-child{border-bottom:0; padding-bottom:0}
.trust{
  margin-top:0; padding-top:26px; border-top:1px solid var(--ink);
  display:grid; grid-template-columns:repeat(4,1fr); gap:32px;
}
.trust > li{display:flex; flex-direction:column; gap:6px; padding:0; border:0}
.trust > li::before{font-size:30px}
.trust > li p{font-size:18px; font-weight:600; color:var(--ink); line-height:1.5}
@media (max-width:1100px){ .trust{grid-template-columns:1fr 1fr; gap:20px} }
@media (max-width:640px){ .trust{grid-template-columns:1fr} }

html:not(.js) .form button[type="submit"]{display:none}
.js .form__nojs{display:none}

.hair{border:0; border-top:1px solid var(--line); margin:0}
.rule{border:0; border-top:1px solid var(--ink); margin:0}

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  min-height:52px; padding:0 28px; border-radius:4px;
  font-family:Nunito,sans-serif; font-weight:700; font-size:15px;
  letter-spacing:.08em; text-transform:uppercase; line-height:1.2;
  text-decoration:none; border:1.5px solid transparent; cursor:pointer;
  transition:background-color .15s ease, border-color .15s ease, color .15s ease;
}
.btn--primary{background:var(--navy); color:#fff; border-color:var(--navy)}
.btn--primary:hover{background:var(--purple); border-color:var(--purple); color:#fff}
.btn--ghost{background:transparent; color:var(--ink); border-color:var(--ink)}
.btn--ghost:hover{background:var(--navy); color:#fff}
.btn--light{background:#fff; color:var(--navy); border-color:#fff}
.btn--light:hover{background:var(--teal); border-color:var(--teal); color:var(--navy)}
.btn--sm{min-height:48px; padding:0 20px; font-size:14px}
.btn-row{display:flex; flex-wrap:wrap; align-items:center; gap:14px 30px}

.link{display:inline-flex; align-items:center; min-height:48px; padding:0 2px; font-size:19px}
.link--light{color:#fff}
.link--light:hover{color:var(--teal)}

.frame{position:relative; padding:0 0 22px 22px}
.frame::before{content:""; position:absolute; left:0; top:22px; right:22px; bottom:0; border:1.5px solid var(--ink); pointer-events:none}
.frame > *{position:relative; display:block; width:100%}
.frame img,.frame .ph{display:block; width:100%; height:auto; object-fit:cover}
.frame--4x5 img,.frame--4x5 .ph{aspect-ratio:4 / 5}
.frame--1x1 img,.frame--1x1 .ph{aspect-ratio:1 / 1}
.frame--3x2 img,.frame--3x2 .ph{aspect-ratio:3 / 2}
.frame .ph{min-height:0}

.ph{
  background:linear-gradient(170deg,var(--stone) 0%,var(--stone-2) 100%);
  display:flex; align-items:flex-end; padding:20px; min-height:240px;
  color:var(--ink-2); font-family:Nunito,sans-serif; font-weight:700; font-size:14px;
  letter-spacing:.08em; text-transform:uppercase; line-height:1.5;
}

.numbered{list-style:none; margin:0; padding:0; counter-reset:n}
.numbered > li{
  counter-increment:n; display:grid; grid-template-columns:64px 1fr; gap:20px;
  padding:22px 0; border-bottom:1px solid var(--line);
}
.numbered > li::before{content:counter(n,decimal-leading-zero); font-family:Newsreader,serif; font-size:40px; line-height:1; color:var(--teal-ink)}
.numbered > li:last-child{border-bottom:0}
.numbered > li > div{display:flex; flex-direction:column; gap:6px}
.numbered h3{font-size:24px}
.numbered p{font-size:18px; line-height:1.6}

.ticks{list-style:none; margin:0; padding:0}
.ticks li{
  display:grid; grid-template-columns:28px 1fr; gap:14px; align-items:start;
  padding:18px 0; border-bottom:1px solid var(--line); font-size:18px;
}
.ticks li::before{
  content:""; width:28px; height:28px; margin-top:4px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23066F68' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/contain no-repeat;
}

.site-head{border-bottom:1px solid var(--line); background:var(--ground); position:relative; z-index:20}
.masthead{display:flex; align-items:center; gap:24px; min-height:96px}
.brand{display:flex; align-items:center; flex:none; min-height:48px}
.brand img{width:clamp(200px,19vw,280px); height:auto}
.masthead__links{margin-left:auto; display:flex; align-items:center; gap:24px}
.masthead__links .link{font-size:18px; font-family:Nunito,sans-serif; font-weight:700}
.nav{border-top:1px solid var(--line)}
.nav__toggle{display:none}
.menu{list-style:none; margin-block:0; padding-block:0; display:flex; gap:4px 36px}
.menu__cta{display:none}
.menu__plain{display:none}
.menu > li{position:relative}
.menu > li > a{
  display:inline-flex; align-items:center; min-height:56px;
  font-family:Nunito,sans-serif; font-weight:700; font-size:16px; color:var(--ink);
  text-decoration:none; border-bottom:2px solid transparent; white-space:nowrap;
}
.menu > li > a:hover,.menu > li:focus-within > a{color:var(--purple); border-bottom-color:var(--teal)}
.menu__toggle{
  display:inline-flex; align-items:center; gap:8px; min-height:56px; padding:0; margin:0;
  background:none; border:0; border-bottom:2px solid transparent; border-radius:0; cursor:pointer;
  font-family:Nunito,sans-serif; font-weight:700; font-size:16px; color:var(--ink); white-space:nowrap;
}
.menu__toggle::after{
  content:""; width:7px; height:7px; margin-top:-4px; border-right:2px solid currentColor; border-bottom:2px solid currentColor;
  transform:rotate(45deg); transition:transform .15s ease;
}
.menu > li.is-open > .menu__toggle::after{transform:rotate(-135deg); margin-top:4px}
.menu > li:hover > .menu__toggle,.menu > li.is-open > .menu__toggle,.menu > li.is-section > .menu__toggle,
.menu__toggle:focus-visible{color:var(--purple); border-bottom-color:var(--teal)}
.menu > li > span[aria-current]{display:inline-flex; align-items:center; min-height:56px; font-family:Nunito,sans-serif; font-weight:700; font-size:16px; color:var(--purple); border-bottom:2px solid var(--teal); white-space:nowrap}
.sub span[aria-current]{display:flex; align-items:center; min-height:48px; padding:6px 20px; font-size:18px; color:var(--purple); font-weight:600}
.masthead__links span[aria-current]{display:inline-flex; align-items:center; min-height:48px; font-family:Nunito,sans-serif; font-weight:700; font-size:18px; color:var(--purple)}
.site-foot__col span[aria-current]{display:inline-flex; align-items:center; min-height:48px; font-size:18px; color:var(--ink); font-weight:600}
.sub{
  list-style:none; margin:0; padding:10px 0; position:absolute; left:-16px; top:100%; z-index:30;
  min-width:300px; background:var(--card); border:1px solid var(--line); box-shadow:0 12px 28px rgba(14,27,77,.08);
  display:none;
}
.sub a{
  display:flex; align-items:center; min-height:48px; padding:6px 20px; font-size:17px;
  color:var(--ink); text-decoration:none;
}
.sub a:hover,.sub a:focus-visible{background:var(--band); color:var(--purple)}
.sub > li.sub__parent{border-bottom:1px solid var(--line); margin-bottom:6px; padding-bottom:6px}
.sub > li.sub__parent > a,.sub > li.sub__parent > span{font-weight:700}
.menu > li:hover > .sub,.menu > li.is-open > .sub,html:not(.js) .menu > li:focus-within > .sub{display:block}
.menu > li.is-dismissed > .sub{display:none}
@media (hover:none){
  .menu > li:hover > .sub{display:none}
  .menu > li.is-open > .sub{display:block}
}

@media (max-width:1100px){
  .masthead{min-height:0; padding-block:14px; gap:12px}
  .brand img{width:200px}
  .masthead__links{gap:6px}
  .masthead__links .link--contact,.masthead__links span[aria-current],.masthead__links .btn{display:none}
  .menu__plain{display:block}
  .menu__cta{display:flex; padding:8px 0 16px}
  .menu__cta .btn{width:100%}
  .nav{border-top:0}
  .js .nav__toggle{
    display:inline-flex; align-items:center; gap:10px; min-height:48px; padding:0 14px; margin-left:8px;
    background:none; border:1.5px solid var(--ink); border-radius:4px; cursor:pointer;
    font-family:Nunito,sans-serif; font-weight:700; font-size:15px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink);
  }
  .nav__toggle[aria-expanded="true"]{background:var(--navy); color:#fff}
  .menu{display:flex; flex-direction:column; gap:0; border-top:1px solid var(--line); padding-block:8px 16px}
  .js .menu{display:none}
  .js .nav.is-open .menu{display:flex}
  .menu > li{display:block; border-bottom:1px solid var(--line)}
  .menu > li > a{min-height:52px; font-size:18px; border-bottom:0}
  .menu > li > span[aria-current]{min-height:52px; font-size:18px; border-bottom:0}
  .menu > li:hover > a,.menu > li:focus-within > a{border-bottom:0}
  .menu__toggle{display:flex; width:100%; justify-content:space-between; min-height:52px; font-size:18px; border-bottom:0; text-align:left}
  .menu__toggle::after{width:10px; height:10px; margin-right:19px}
  .menu > li:hover > .menu__toggle,.menu > li.is-open > .menu__toggle,.menu > li.is-section > .menu__toggle,
  .menu__toggle:focus-visible{border-bottom:0}
  .menu > li.is-section > .menu__toggle{color:var(--purple)}
  .menu > li:hover > .menu__toggle,.menu > li.is-open > .menu__toggle{color:var(--ink)}
  .menu > li.is-section:hover > .menu__toggle,.menu > li.is-section.is-open > .menu__toggle{color:var(--purple)}
  html:not(.js) .menu__toggle::after{display:none}
  .menu > li.menu__cta{border-bottom:0}
  .menu > li.menu__cta > a.btn{color:#fff; justify-content:center; font-size:15px; min-height:52px}
  .menu > li.menu__cta > a.btn:hover{color:#fff}
  .sub{position:static; display:block; grid-column:1 / -1; min-width:0; background:var(--band); border:0; box-shadow:none; padding:4px 0 8px}
  .js .sub,.js .menu > li:hover > .sub,.js .menu > li:focus-within > .sub{display:none}
  .js .menu > li.is-open > .sub{display:block}
  .sub a{padding-left:24px}
  .js .site-head{position:sticky; top:0}
  .js .nav.is-open .menu{max-height:calc(100vh - 84px); max-height:calc(100dvh - 84px); overflow-y:auto; overscroll-behavior:contain}
  html.js{scroll-padding-top:96px}
}
@media (min-width:1101px){
  .site-head{position:sticky; top:0}
  html{scroll-padding-top:166px}
}

.site-foot{background:var(--band); border-top:1px solid var(--ink); color:var(--ink-2)}
.site-foot__inner{padding-block:clamp(48px,6vw,72px) 40px; display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:48px}
.site-foot__brand{display:flex; flex-direction:column; gap:18px; align-items:center; text-align:center}
@media (max-width:640px){ .site-foot__brand{align-items:flex-start; text-align:left} }
.site-foot__brand img{width:clamp(220px,22vw,320px); height:auto}
.site-foot__tag{font-family:Newsreader,serif; font-style:italic; font-size:24px; color:var(--ink)}
.site-foot__col{display:flex; flex-direction:column}
.site-foot__col .eyebrow{padding-bottom:10px}
.site-foot__col a{display:inline-flex; align-items:center; min-height:48px; font-size:18px; text-decoration:none; color:var(--ink-2)}
.site-foot__col a:hover{color:var(--purple); text-decoration:underline}
.site-foot__legal{border-top:1px solid var(--line); padding-block:24px 40px; display:flex; justify-content:space-between; gap:24px; flex-wrap:wrap; font-size:18px; color:var(--muted)}
.site-foot__legal a{color:var(--muted); display:inline-flex; align-items:center; min-height:48px}
@media (max-width:1100px){ .site-foot__inner{grid-template-columns:1fr 1fr} }
@media (max-width:640px){ .site-foot__inner{grid-template-columns:1fr; gap:28px} }

.reveal{opacity:0; transform:translateY(14px)}
.reveal.is-in{
  opacity:1; transform:none;
  transition:opacity .5s ease-out, transform .5s cubic-bezier(.22,.61,.36,1);
}

@media print{
  .reveal,.reveal.is-in{opacity:1 !important; transform:none !important}
}

@media (prefers-reduced-motion:reduce){
  *{animation:none !important; transition:none !important}
  .reveal,.reveal.is-in{opacity:1 !important; transform:none !important}
}
