:root{
  --canvas:#FFFFFF;
  --tint:#F4F6F6;
  --ink:#222222;
  --muted:#5A6166;
  --accent:#33628C;
  --rule:#DDE1E3;
  --charcoal:#2E2E2E;
  --shell:1040px;
  --sans:Arial,"Helvetica Neue",Helvetica,sans-serif;
  --cond:"Arial Narrow","Helvetica Neue Condensed",Arial,sans-serif;
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;background:var(--canvas);color:var(--ink);
  font:16px/1.65 var(--sans);
}
img{max-width:100%;height:auto;}
a{color:var(--accent);}
a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
.shell{max-width:var(--shell);margin:0 auto;padding:0 16px;}

.skip{position:absolute;left:-9999px;top:0;background:#fff;color:var(--ink);padding:8px 12px;z-index:20;}
.skip:focus{left:8px;top:8px;}

/* 1. top primary nav strip */
.navstrip{background:var(--charcoal);}
.navstrip ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;}
.navstrip li{margin:0;}
.navstrip a{
  display:block;color:#fff;text-decoration:none;
  font:700 12px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;
  padding:15px 14px;
}
.navstrip a:hover,.navstrip a[aria-current="page"]{background:#404040;color:#fff;}

/* 2. slim wordmark band */
.wordmark-band{border-bottom:1px solid var(--rule);background:#fff;}
.wordmark-band .shell{
  display:flex;align-items:flex-end;justify-content:space-between;
  gap:24px;padding-top:16px;padding-bottom:16px;min-height:78px;
}
.wordmark{margin:0;font:700 34px/1.05 var(--cond);letter-spacing:.02em;}
.wordmark a{color:var(--ink);text-decoration:none;}
.wordmark-kicker{
  margin:4px 0 0;font:12px/1 var(--sans);letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted);
}
.band-tagline{
  margin:0;font:12px/1 var(--sans);letter-spacing:.1em;
  text-transform:uppercase;color:var(--muted);white-space:nowrap;
}

/* 3. home-top proposition band */
.hometop{background:var(--tint);border-bottom:1px solid var(--rule);}
.hometop .shell{padding-top:44px;padding-bottom:44px;}
.hometop h1,.hometop p.prop{
  margin:0;font:700 38px/1.24 var(--cond);letter-spacing:.01em;max-width:26ch;
}
.hometop .support{margin:16px 0 0;font-size:17px;max-width:62ch;color:#333;}
.hometop .more{margin:16px 0 0;font-size:15px;}

/* grid */
.grid{display:block;padding-top:40px;padding-bottom:8px;}
.content-col{min-width:0;}
.rail{min-width:0;margin-top:40px;}

.content-col h2{font:700 26px/1.25 var(--cond);letter-spacing:.01em;margin:0 0 12px;}
.content-col p{max-width:66ch;}

/* 5. numbered capability rows */
.dest-list{margin:32px 0 0;padding:0;list-style:none;border-top:1px solid var(--rule);}
.destination-row{
  padding:24px 0;border-bottom:1px solid var(--rule);
  display:grid;grid-template-columns:56px 1fr;column-gap:16px;
}
.destination-row__num{
  font:700 32px/1 var(--cond);color:var(--accent);letter-spacing:.02em;
}
.destination-row h3{margin:0 0 8px;font:700 22px/1.25 var(--cond);}
.destination-row p{margin:0 0 10px;max-width:60ch;}
.destination-row .rowlink{font-size:15px;}
.destination-row figure{margin:0 0 12px;}
.destination-row img{border:1px solid var(--rule);display:block;width:100%;aspect-ratio:3/2;object-fit:cover;}

/* 6. proof and resource rail */
.rail-widget{border:1px solid var(--rule);background:#fff;padding:16px;margin:0 0 20px;}
.rail-widget h2{
  margin:0 0 10px;font:700 13px/1.2 var(--sans);letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink);
}
.rail-widget ul{margin:0;padding:0;list-style:none;}
.rail-widget li{padding:5px 0;border-bottom:1px solid var(--rule);font-size:14px;}
.rail-widget li:last-child{border-bottom:0;}
.rail-widget p{margin:0 0 8px;font-size:14px;}
.rail-widget p:last-child{margin-bottom:0;}
.pullquote{font:italic 17px/1.5 Georgia,"Times New Roman",serif;color:#33383c;margin:0;}

/* 7. recent updates band */
.updates-band{background:var(--tint);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin-top:40px;}
.updates-band .shell{padding-top:36px;padding-bottom:36px;}
.updates-band h2{margin:0 0 6px;font:700 26px/1.25 var(--cond);}
.updates-band .band-note{margin:0 0 18px;font-size:14px;color:var(--muted);}
.updates{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule);}
.updates li{padding:14px 0;border-bottom:1px solid var(--rule);}
.updates .cats{
  display:block;font:700 11px/1.4 var(--sans);letter-spacing:.1em;
  text-transform:uppercase;color:var(--muted);margin-bottom:4px;
}
.updates a{font:700 18px/1.35 var(--cond);text-decoration:none;}
.updates a:hover{text-decoration:underline;}
.updates .dateline{display:block;font-size:13px;color:var(--muted);margin-top:4px;}

/* 8. light footer widget columns */
.site-footer{background:var(--tint);border-top:1px solid var(--rule);margin-top:0;}
.footer-cols{display:block;padding-top:32px;padding-bottom:8px;}
.footer-cols section{margin-bottom:24px;}
.footer-cols h2{
  margin:0 0 10px;font:700 13px/1.2 var(--sans);letter-spacing:.1em;
  text-transform:uppercase;
}
.footer-cols ul{list-style:none;margin:0;padding:0;}
.footer-cols li{padding:4px 0;font-size:14px;}
.credit{
  border-top:1px solid var(--rule);text-align:center;
  font:11px/1.6 var(--sans);letter-spacing:.1em;text-transform:uppercase;
  color:var(--muted);padding:16px;margin:0;
}

/* inner pages */
.page-head{padding-top:36px;border-bottom:1px solid var(--rule);padding-bottom:14px;margin-bottom:24px;}
.page-head h1{margin:0;font:700 26px/1.25 var(--cond);letter-spacing:.01em;}
.article-head{padding-top:32px;border-bottom:1px solid var(--rule);padding-bottom:16px;margin-bottom:22px;}
.article-head .cats{
  display:block;font:700 11px/1.4 var(--sans);letter-spacing:.1em;
  text-transform:uppercase;color:var(--muted);margin-bottom:8px;
}
.article-head h1{margin:0;font:700 30px/1.24 var(--cond);letter-spacing:.01em;max-width:22ch;}
.article-head .dateline{margin:10px 0 0;font-size:13px;color:var(--muted);}
.lead-figure{margin:0 0 24px;}
.lead-figure img{display:block;width:100%;border:1px solid var(--rule);}
.article-body{counter-reset:n;}
.article-body p{max-width:66ch;}
.article-body h2{font:700 22px/1.3 var(--cond);margin:30px 0 10px;}
.numbered{list-style:none;margin:24px 0 0;padding:0;border-top:1px solid var(--rule);counter-reset:n;}
.numbered>li{
  counter-increment:n;padding:18px 0;border-bottom:1px solid var(--rule);
  display:grid;grid-template-columns:48px 1fr;column-gap:16px;
}
.numbered>li::before{
  content:counter(n,decimal-leading-zero);
  font:700 24px/1.2 var(--cond);color:var(--accent);
}
.numbered h3{margin:0 0 6px;font:700 19px/1.3 var(--cond);}
.numbered p{margin:0;max-width:60ch;}
.numbered.contnum{counter-reset:none;margin-top:14px;}
.tipgroup{margin-top:34px;}
.tipgroup>h2{margin:0;}
.related{margin:34px 0 0;padding:18px 0 0;border-top:2px solid var(--ink);}
.related h2{margin:0 0 10px;font:700 13px/1.2 var(--sans);letter-spacing:.1em;text-transform:uppercase;}
.related ul{list-style:none;margin:0;padding:0;}
.related li{padding:6px 0;border-bottom:1px solid var(--rule);font-size:15px;}
.dest-group{margin-top:28px;}
.dest-group h2{margin:0 0 8px;font:700 22px/1.3 var(--cond);}
.dest-group ul{margin:0;padding:0 0 0 20px;}
.dest-group li{padding:4px 0;}
.plain-list{margin:12px 0 0;padding:0 0 0 20px;}
.plain-list li{padding:3px 0;}
.notfound{padding:56px 0 64px;}
.notfound h1{font:700 34px/1.2 var(--cond);margin:0 0 12px;}

@media (min-width:781px){
  .grid{
    display:grid;grid-template-columns:640px 300px;gap:40px;
    align-items:start;padding-top:48px;
  }
  .rail{margin-top:0;grid-column:2;grid-row:1 / span 2;}
  .mod-overview{grid-column:1;grid-row:1;}
  .mod-rows{grid-column:1;grid-row:2;}
  .mod-rows .dest-list{margin-top:8px;}
  .footer-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;}
  .footer-cols section{margin-bottom:24px;}
  .destination-row{grid-template-columns:64px 1fr;column-gap:24px;}
  .hometop h1,.hometop p.prop{font-size:38px;}
}
@media (max-width:780px){
  .hometop h1,.hometop p.prop{font-size:29px;max-width:none;}
  .wordmark-band .shell{flex-direction:column;align-items:flex-start;gap:8px;}
  .band-tagline{white-space:normal;}
  .navstrip a{padding:14px 12px;}
  .destination-row{display:block;}
  .destination-row__num{display:block;margin-bottom:4px;font-size:26px;}
  .numbered>li{display:block;}
  .numbered>li::before{display:block;margin-bottom:4px;}
  .article-head h1{font-size:26px;max-width:none;}
}
