:root{
  --navy:#1F4E79;
  --navy-deep:#173B5C;
  --slate:#4B5563;
  --muted:#6B7280;
  --accent:#8C6D46;
  --rule:#E3E7EB;
  --tint:#F7F9FB;
  --maxw:44rem;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:#FFFFFF;
  color:var(--slate);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  font-size:17px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 1.5rem}

/* ---------- header ---------- */
.masthead{padding:4.5rem 0 2.75rem;border-bottom:1px solid var(--rule)}
.wordmark{
  margin:0 0 .85rem;
  color:var(--navy);
  font-size:clamp(1.65rem,4.6vw,2.1rem);
  font-weight:600;
  letter-spacing:-.012em;
  line-height:1.2;
}
.wordmark::after{
  content:"";display:block;width:2.25rem;height:2px;
  background:var(--accent);margin-top:1rem;
}
.tagline{
  margin:0;color:var(--muted);
  font-size:1.0rem;line-height:1.55;max-width:32rem;
}

/* ---------- sections ---------- */
main{padding-bottom:1rem}
section{padding:3.5rem 0;border-bottom:1px solid var(--rule)}
section:last-of-type{border-bottom:0}

.eyebrow{
  display:block;margin:0 0 .9rem;
  color:var(--accent);
  font-size:.7rem;font-weight:700;
  letter-spacing:.15em;text-transform:uppercase;
}
.eyebrow .num{color:var(--muted);font-weight:600;margin-right:.55rem}

h2{
  margin:0 0 1.1rem;
  color:var(--navy);
  font-size:clamp(1.25rem,3vw,1.45rem);
  font-weight:600;letter-spacing:-.008em;line-height:1.35;
}
p{margin:0 0 1.05rem}
p:last-child{margin-bottom:0}

/* ---------- hero ---------- */
.hero{padding-top:3.25rem}
.hero p{
  font-size:clamp(1.06rem,2.4vw,1.2rem);
  line-height:1.65;color:#3D4654;
}
.hero .scope{
  display:inline-block;margin-top:.35rem;
  color:var(--navy);font-weight:600;
}

/* ---------- criteria list ---------- */
.lead-in{margin-bottom:1.35rem}
.criteria{list-style:none;margin:0;padding:0}
.criteria li{
  position:relative;padding:0 0 0 1.6rem;margin:0 0 .85rem;
}
.criteria li:last-child{margin-bottom:0}
.criteria li::before{
  content:"";position:absolute;left:0;top:.62rem;
  width:.42rem;height:.42rem;border-radius:50%;
  background:var(--accent);
}

/* ---------- ordered steps ---------- */
.steps{list-style:none;margin:0;padding:0;counter-reset:step}
.steps li{
  counter-increment:step;
  position:relative;padding:0 0 0 2.3rem;margin:0 0 1.15rem;
}
.steps li:last-child{margin-bottom:0}
.steps li::before{
  content:counter(step,decimal-leading-zero);
  position:absolute;left:0;top:.06rem;
  color:var(--accent);font-size:.78rem;font-weight:700;
  letter-spacing:.04em;
}

/* ---------- boundary section ---------- */
.boundary{background:var(--tint)}
.boundary .inner{
  border-left:2px solid var(--navy);
  padding-left:1.35rem;
}

/* ---------- contact ---------- */
.contact-link{
  display:inline-block;margin-top:.15rem;
  color:var(--navy);font-size:clamp(1.05rem,2.6vw,1.18rem);
  font-weight:600;text-decoration:none;
  border-bottom:2px solid var(--accent);padding-bottom:2px;
}
.contact-link:hover,.contact-link:focus{color:var(--navy-deep)}
.contact-note{margin-top:1.1rem;font-size:.94rem;color:var(--muted)}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--rule);padding:2.25rem 0 3rem;margin-top:1rem}
.disclaimer{
  margin:0 0 .75rem;color:var(--muted);
  font-size:.86rem;line-height:1.6;
}
.legal{margin:0;color:#9AA1AC;font-size:.8rem}

a:focus-visible,.contact-link:focus-visible{
  outline:2px solid var(--navy);outline-offset:3px;border-radius:2px;
}

@media (max-width:34rem){
  body{font-size:16px}
  .masthead{padding:3rem 0 2.25rem}
  section{padding:2.75rem 0}
  .hero{padding-top:2.5rem}
}
