:root{
  --ink:#111a1c; --text:#41505a; --dim:#71828d;
  --rule:#e2e9ea; --page:#ffffff; --tint:#f5f9f9;
  --accent:#14655c; --accent-deep:#0f4f48;
  --shell:1120px; --round:6px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:ui-sans-serif,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--text); background:var(--page); line-height:1.7; font-size:16.5px;
  -webkit-font-smoothing:antialiased;
}
.container{max-width:var(--shell);margin:0 auto;padding:0 26px}
h1,h2,h3,h4{color:var(--ink);line-height:1.3;font-weight:600;letter-spacing:-.015em}
h1{font-size:2.35rem;margin-bottom:20px}
h2{font-size:1.55rem;margin-bottom:16px}
h3{font-size:1.05rem;margin-bottom:9px}
p{margin-bottom:15px}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}

/* masthead */
.masthead{border-bottom:1px solid var(--rule);background:var(--page);position:sticky;top:0;z-index:30}
.bar{display:flex;align-items:center;justify-content:space-between;height:72px}
.mark{display:flex;align-items:center;gap:12px;color:var(--ink);font-weight:600;font-size:1.02rem;letter-spacing:-.02em}
.mark img{border-radius:4px;display:block}
.mark:hover{text-decoration:none}
.menu{display:flex;gap:30px;align-items:center}
.menu a{color:var(--text);font-size:.92rem}
.menu a:hover{color:var(--accent);text-decoration:none}
.action{display:inline-block;background:var(--accent);color:#fff;padding:10px 22px;
  border-radius:var(--round);font-weight:500;font-size:.93rem;border:1px solid var(--accent)}
.action:hover{background:var(--accent-deep);text-decoration:none}
.action-plain{background:transparent;color:var(--accent)}
.action-plain:hover{background:var(--tint)}

/* bands */
.band{padding:70px 0}
.opening{padding:100px 0 80px}
.opening .standfirst{font-size:1.14rem;color:var(--dim);max-width:620px;margin-bottom:30px}
.kicker{color:var(--accent);font-weight:600;font-size:.78rem;letter-spacing:.12em;
  text-transform:uppercase;margin-bottom:16px}
.tint{background:var(--tint);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.cols{display:grid;gap:24px}
.three{grid-template-columns:repeat(3,1fr)}
.two{grid-template-columns:repeat(2,1fr)}
.panel{background:var(--page);border:1px solid var(--rule);border-radius:var(--round);padding:28px}
.panel p{color:var(--dim);font-size:.94rem;margin:0}
.intro{max-width:640px;margin-bottom:40px}
.intro p{color:var(--dim)}

/* ordered stages */
ol.stages{list-style:none;counter-reset:n}
ol.stages li{counter-increment:n;position:relative;padding-left:46px;margin-bottom:28px}
ol.stages li::before{content:counter(n,decimal-leading-zero);position:absolute;left:0;top:1px;
  color:var(--accent);font-weight:600;font-size:.95rem;letter-spacing:.04em;
  border-left:2px solid var(--accent);padding-left:12px}

/* policy pages */
.policy{max-width:740px}
.policy h2{margin-top:38px;font-size:1.22rem}
.policy ul,.policy ol{margin:0 0 16px 24px}
.policy li{margin-bottom:9px}
.revised{color:var(--dim);font-size:.88rem;margin-bottom:10px}

/* baseboard */
.baseboard{border-top:1px solid var(--rule);padding:46px 0;font-size:.9rem;color:var(--dim)}
.base-row{display:flex;justify-content:space-between;gap:28px;flex-wrap:wrap}
.base-row a{color:var(--dim);margin-right:20px}
.base-row a:hover{color:var(--accent)}

@media(max-width:820px){
  h1{font-size:1.85rem} .three,.two{grid-template-columns:1fr}
  .menu{display:none} .band{padding:50px 0} .opening{padding:60px 0 50px}
}
