:root{
  --paper:#FFFFFF; --tint:#F4F6F4; --green:#1F3A2E; --green-pale:#AFC0B6;
  --gold:#C9A961; --ink:#1A1A1A; --slate:#5A6B7B; --sand:#E0DCD2; --hair:#D8DDD8;
  --measure:36rem; --rail:200px; --gap:4rem; --pad:clamp(20px,4.5vw,56px);
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{margin:0;background:var(--paper);color:var(--ink);
  font-family:"Century Gothic","Questrial","Jost","Futura","Trebuchet MS",sans-serif;
  font-size:16.5px;line-height:1.72;font-weight:400;}
h1,h2,h3{margin:0;font-weight:400;text-wrap:balance;color:var(--green);}
h1{font-size:clamp(1.95rem,4vw,2.95rem);line-height:1.11;letter-spacing:-.022em;max-width:24ch;}
h1.long{max-width:32ch;font-size:clamp(1.7rem,3.3vw,2.45rem);}
h2{font-size:clamp(1.35rem,2.3vw,1.8rem);line-height:1.2;letter-spacing:-.016em;}
h3{font-size:1.02rem;line-height:1.4;letter-spacing:-.005em;}
p{margin:0;}
a{color:inherit;}
.label{padding-left:.95rem;border-left:2px solid var(--green);font-size:.665rem;
  letter-spacing:.19em;text-transform:uppercase;color:var(--slate);line-height:1.5;}
.lede{font-size:1.1rem;line-height:1.62;color:var(--slate);max-width:52ch;}
.wrap{max-width:1180px;margin:0 auto;padding-inline:var(--pad);}
.row{display:grid;grid-template-columns:var(--rail) minmax(0,1fr);gap:var(--gap);align-items:start;}
.stack{display:flex;flex-direction:column;gap:1.2rem;}
.stack-lg{display:flex;flex-direction:column;gap:3rem;}
.measure{max-width:var(--measure);}
section{padding-block:clamp(3.4rem,6.5vw,5.6rem);}
section.rule{border-top:1px solid var(--hair);}
section.tint{background:var(--tint);}
section.deep{background:var(--green);color:#FFFFFF;}
section.deep h1,section.deep h2,section.deep h3{color:#FFFFFF;}
section.deep .label{border-left-color:var(--gold);color:var(--gold);}
header.mast{position:sticky;top:0;z-index:60;background:var(--paper);border-bottom:1px solid var(--hair);}
.mast-in{max-width:1180px;margin:0 auto;padding-inline:var(--pad);display:flex;
  align-items:center;justify-content:space-between;gap:1.5rem;min-height:74px;}
.mark{display:flex;align-items:baseline;gap:.7rem;text-decoration:none;}
.mark .glyph{font-size:1.22rem;font-weight:500;color:var(--green);letter-spacing:.1em;line-height:1;}
.mark .full{font-size:.63rem;letter-spacing:.2em;text-transform:uppercase;color:var(--slate);white-space:nowrap;}
nav.pages{display:flex;gap:.1rem;flex-wrap:wrap;}
nav.pages a{font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--slate);
  padding:.6rem .78rem;border-bottom:1px solid transparent;text-decoration:none;
  transition:color .16s ease,border-color .16s ease;}
nav.pages a:hover{color:var(--green);}
nav.pages a[aria-current="page"]{color:var(--green);border-bottom-color:var(--green);}
nav.pages a:focus-visible{outline:1px solid var(--green);outline-offset:3px;}
.hero{padding-block:clamp(3.2rem,6vw,5rem) clamp(2.6rem,5vw,4rem);}
.criteria{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.6rem;}
.tile{position:relative;padding:1.35rem 1.3rem 1.45rem;border-left:1px solid var(--hair);
  border-right:1px solid var(--hair);display:flex;flex-direction:column;gap:.55rem;}
.tile::before,.tile::after{content:"";position:absolute;height:1px;background:var(--green);}
.tile::before{top:0;left:1.9rem;right:-1px;}
.tile::after{bottom:0;left:-1px;right:1.9rem;}
.tile dt{font-size:.63rem;letter-spacing:.19em;text-transform:uppercase;color:var(--slate);}
.tile dd{margin:0;font-size:1.02rem;line-height:1.38;color:var(--green);
  font-variant-numeric:tabular-nums;letter-spacing:-.008em;}
.statement p.big{font-size:clamp(1.6rem,3.1vw,2.35rem);line-height:1.22;color:#FFFFFF;
  max-width:26ch;letter-spacing:-.024em;font-weight:300;}
.statement p.small{font-size:1rem;line-height:1.68;color:var(--green-pale);max-width:46ch;}
.blocks{display:flex;flex-direction:column;gap:3.6rem;}
.block{display:grid;grid-template-columns:var(--rail) minmax(0,1fr);gap:var(--gap);align-items:start;}
.block .body{display:flex;flex-direction:column;gap:1rem;max-width:var(--measure);}
.block .body.wide{max-width:none;}
.block .body.wide > p{max-width:var(--measure);}
.trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.2rem;}
.trio article{display:flex;flex-direction:column;gap:.6rem;border-top:1px solid var(--green);padding-top:1.1rem;}
.trio p{font-size:.92rem;line-height:1.66;color:var(--slate);}
section.deep .trio article{border-top-color:var(--gold);}
section.deep .trio p{color:rgba(255,255,255,.8);}
ul.sectors{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0 2.6rem;border-top:1px solid var(--hair);}
ul.sectors li{padding:.8rem 0;border-bottom:1px solid var(--hair);font-size:.96rem;color:var(--green);}
ol.process{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;}
ol.process li{display:grid;grid-template-columns:3.2rem minmax(0,1fr);gap:1.4rem;
  padding:1.15rem 0;border-bottom:1px solid var(--hair);align-items:baseline;}
ol.process li:first-child{border-top:1px solid var(--hair);}
ol.process .n{font-size:.72rem;letter-spacing:.14em;color:var(--gold);font-variant-numeric:tabular-nums;}
ol.process .t{font-size:.97rem;color:var(--ink);}
ol.process .t b{font-weight:500;color:var(--green);display:block;}
.roles{display:flex;flex-direction:column;}
.role{display:grid;grid-template-columns:var(--rail) minmax(0,1fr);gap:var(--gap);
  padding:1.8rem 0;border-bottom:1px solid var(--hair);align-items:start;}
.role:first-child{border-top:1px solid var(--green);}
.role .rn{font-size:.95rem;color:var(--green);line-height:1.4;}
.role .rb{max-width:var(--measure);display:flex;flex-direction:column;gap:.9rem;}
.role .rb p{font-size:.96rem;color:var(--ink);}
.firms{display:flex;flex-wrap:wrap;gap:.35rem .45rem;}
.firms span{font-size:.68rem;letter-spacing:.11em;text-transform:uppercase;color:var(--slate);
  border:1px solid var(--sand);padding:.3rem .62rem;}
.routes{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:2.6rem;}
.route{display:flex;flex-direction:column;gap:.85rem;border-top:1px solid var(--green);padding-top:1.2rem;}
.route p{font-size:.94rem;color:var(--slate);}
.mailto{display:inline-block;font-size:.94rem;color:var(--green);text-decoration:none;
  border-bottom:1px solid var(--gold);padding-bottom:.12rem;align-self:flex-start;
  transition:border-color .16s ease;}
.mailto:hover{border-bottom-color:var(--green);}
.mailto:focus-visible{outline:1px solid var(--green);outline-offset:4px;}
footer.foot{background:var(--green);color:#FFFFFF;padding-block:3.2rem 2.2rem;}
.foot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:2.2rem 3rem;align-items:start;}
.foot-grid h4{margin:0 0 .7rem;font-size:.63rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:400;}
.foot-grid p,.foot-grid a{font-size:.89rem;line-height:1.7;color:rgba(255,255,255,.82);
  text-decoration:none;overflow-wrap:anywhere;}
.foot-grid a:hover{color:#FFFFFF;}
.foot-rule{border:0;border-top:1px solid rgba(255,255,255,.16);margin:2.6rem 0 1.3rem;}
.foot-legal{font-size:.75rem;color:rgba(255,255,255,.55);}
@media (prefers-reduced-motion:reduce){*{transition:none !important;}}
@media (max-width:900px){
  :root{--gap:1rem;}
  .row,.block,.role{grid-template-columns:1fr;gap:1rem;}
  .trio{grid-template-columns:1fr;gap:1.8rem;}
  .criteria{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;}
  .mast-in{min-height:60px;flex-wrap:wrap;padding-block:.55rem .3rem;}
  .mark .full{display:none;}
  nav.pages a{padding:.45rem .5rem;font-size:.63rem;}
}
@media (max-width:520px){.criteria{grid-template-columns:1fr;}}
