:root{--navy:#1b2252;--grey:#dcdcdc;--ink:#1a1a1a;--soft:#f2f2f2}
*{box-sizing:border-box}
body{margin:0;font:16px/1.55 Helvetica,"Helvetica Neue",Arial,sans-serif;color:var(--ink);background:#fff}
.wrap{max-width:960px;margin:0 auto;padding:0 20px}
a{color:var(--navy)}
a:focus-visible,.btn:focus-visible{outline:3px solid #000;outline-offset:2px}
.top{border-bottom:4px solid var(--navy);padding:12px 0 0}
.brand{display:block;width:100%;text-decoration:none;color:var(--navy)}
.brand img{display:block;width:100%;height:auto;min-height:72px;aspect-ratio:1920/160;object-fit:cover;object-position:left bottom}
nav{background:var(--grey);border-bottom:1px solid #b5b5b5}
nav .wrap{display:flex;flex-wrap:wrap}
nav a{padding:10px 18px 10px 0;margin-right:18px;color:var(--navy);font-weight:700;text-decoration:none}
nav a:hover{text-decoration:underline}
nav a[aria-current]{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:3px}
main{padding:28px 0 40px}
h1{font-size:32px;line-height:1.15;margin:0 0 12px;color:var(--navy);letter-spacing:-.02em}
h2{font-size:21px;margin:36px 0 12px;padding-bottom:6px;border-bottom:1px solid #b5b5b5;color:var(--navy)}
p,ul,ol,dl{max-width:68ch}
.lead{font-size:18px}
.btn{display:inline-block;background:var(--navy);color:#fff;border:1px solid var(--navy);padding:10px 18px;font-weight:700;text-decoration:none;border-radius:0;margin:4px 10px 4px 0}
.btn:hover{background:#fff;color:var(--navy)}
.btn.alt{background:#fff;color:var(--navy)}
.btn.alt:hover{background:var(--navy);color:#fff}
.note{font-size:14px;color:#444}
.box{border:1px solid var(--navy);padding:14px 18px;max-width:68ch}
.faded { opacity: 0.5; }
footer { padding-bottom: 0 !important; }
.footer-inner { position: relative; padding-right: 160px; }
.footer-text { padding-bottom: 24px; }
.footer-text ul { margin-top: 0; }
.footer-logo img { position: absolute; top: 0; right: 0; height: 100%; width: auto; }
dt{font-weight:700;margin-top:18px;color:var(--navy)}
dd{margin:4px 0 0}
footer{background:var(--grey);border-top:2px solid var(--navy);padding:22px 0;font-size:14px}
footer ul{list-style:none;padding:0;margin:0 0 12px;display:flex;flex-wrap:wrap;gap:6px 20px}
footer p{margin:0}
body {
  margin: 0;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
footer { margin-top: auto; }

@media(max-width:560px){h1{font-size:26px}}

button,input,select,textarea,{font-family:inherit}

main{padding-top:20px}
.slide{margin:0}
.slide img{display:block;width:100%;height:auto;border:1px solid #b5b5b5;border-bottom:0}
.slide figcaption{background:var(--navy);color:#fff;padding:9px 14px;font-weight:700}
.js .slide{display:none}
.js .slide.on{display:block}
.gallery{max-width:640px;margin:20px 0 32px}
.slide+.slide{margin-top:20px}
.js .slide+.slide{margin-top:0}
.ctl{display:none}
.js .ctl{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}
.ctl button{font:inherit;font-weight:700;background:#fff;color:var(--navy);border:1px solid var(--navy);border-radius:0;padding:7px 14px;min-width:44px;cursor:pointer}
.ctl button:hover{background:var(--grey)}
.ctl button[aria-current="true"]{background:var(--navy);color:#fff}
.ctl button:focus-visible{outline:3px solid #000;outline-offset:2px}
.step{margin-right:6px}
.count{margin-left:auto;font-size:14px;color:#444}


.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;list-style:none;padding:0;margin:14px 0 0;max-width:none}
.card{margin:0;position:relative}
.card img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border:1px solid #b5b5b5;border-bottom:0}
.card figcaption{background:var(--navy);color:#fff;padding:9px 14px;font-weight:700}
.card figcaption a{color:#fff;text-decoration:none}
.card figcaption a::after{content:"";position:absolute;inset:0}
.card:hover figcaption a{text-decoration:underline;text-underline-offset:3px}
.card:hover img{border-color:var(--navy)}
.card figcaption a:focus-visible{outline:none}
.card figcaption a:focus-visible::after{outline:3px solid #000;outline-offset:3px}
.slide figcaption a{color:#fff;text-underline-offset:3px}
.slide figcaption a:focus-visible{outline:3px solid #fff;outline-offset:2px}
.partners{list-style:none;padding:0;margin:20px 0 0;max-width:640px}
.partners li{padding:14px 0;border-bottom:1px solid #c8c8c8;font-size:19px;font-weight:700;color:var(--navy)}
.partners li:first-child{border-top:1px solid #c8c8c8}

@media (max-width: 600px) {
  .footer-inner { padding-right: 92px; }
  .footer-logo img { width: 72px; height: auto; }
}
