*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:var(--font);
  color:var(--text);
  background:linear-gradient(180deg, #F7F9FB 0%, #F4F7FA 60%, #F7F9FB 100%);
  font-size:17px;
  line-height:var(--lhNormal);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
a{color:var(--primary); text-decoration:none}
a:hover{text-decoration:underline}

/* typography helpers */
.sectionHeader{max-width:68ch}
.lead{font-size:18px; color:var(--muted); line-height:1.65}
.eyebrow{font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); font-weight:800}
.small{font-size:var(--fsSmall); color:var(--muted); line-height:var(--lhNormal)}
.label{font-size:var(--fsLabel); letter-spacing:.08em; color:var(--muted); font-weight:800}
.h1{font-size:var(--fsH1); line-height:var(--lhTight); margin:0}
.h2{font-size:var(--fsH2); margin:0; line-height:1.25}
.h3{font-size:var(--fsH3); margin:0; line-height:1.35}

/* accessibility */
:focus-visible{ outline: 3px solid rgba(47,93,140,.35); outline-offset: 2px; border-radius: 10px; }

/* Accessibility: respect reduced motion preferences */
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Print styles for legal pages */
@media print{
  nav, .btn, .skipLink, .card .label{display:none !important;}
  body{background:#fff;color:#000;}
  main{max-width:800px;margin:0 auto;}
  a:after{content:" (" attr(href) ")";font-size:12px;}
}
