:root{
  --site-rail: 960px;
  --nav-rail: 1080px;
  --text-rail: 760px;
}

.wrap,
.wide,
.wrap-wide{
  max-width:var(--site-rail) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.nav-wrap{
  max-width:var(--nav-rail) !important;
  align-items:center !important;
}

.brand,
.nav-brand{
  font-size:.95rem !important;
  font-weight:700 !important;
  letter-spacing:-.01em !important;
  color:var(--ink) !important;
  text-decoration:none !important;
}

.nav-links{
  gap:1.15rem !important;
  flex-wrap:wrap !important;
}

.nav-links a{
  white-space:nowrap;
}

.hero,
.hero-tiny,
.score-band{
  padding:5rem 0 3rem !important;
  border-bottom:1px solid var(--line) !important;
}

.hero .wrap,
.hero-tiny .wrap,
.score-band .wrap{
  max-width:var(--site-rail) !important;
}

.hero h1,
.hero-tiny h1,
.empty-state h1{
  font-size:clamp(2.1rem,6vw,4rem) !important;
  line-height:1.05 !important;
  letter-spacing:-.03em !important;
  margin:0 0 1rem !important;
  max-width:820px !important;
}

.hero .lead,
.hero-tiny p,
.lead{
  max-width:680px !important;
}

.content > p,
.content > h2,
.content > h3,
.content > h4,
.content > ul,
.content > ol,
.content > .quote,
.content > .note{
  max-width:var(--text-rail);
}

.content > img{
  max-width:min(100%,var(--text-rail));
}

.grid,
.cards,
.path-grid,
.stack-list,
.table-wrap,
.level-grid,
.result-card,
.score-form fieldset{
  border-radius:8px !important;
}

.foot{
  border-top:1px solid var(--line) !important;
  padding:3rem 1.5rem !important;
  text-align:left !important;
  color:var(--muted) !important;
  font-size:.85rem !important;
  background:var(--bg) !important;
}

.foot-inner{
  max-width:var(--site-rail);
  margin:0 auto;
}

.foot-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:2rem;
  margin-bottom:2rem;
}

.foot-group h3{
  font-size:.76rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--ink);
  margin-bottom:.75rem;
}

.foot-group a,
.foot a{
  color:var(--muted);
  text-decoration:none;
  border-bottom:1px solid var(--line);
  padding-bottom:1px;
}

.foot-group a{
  display:block;
  width:max-content;
  max-width:100%;
  margin-top:.45rem;
}

.foot a:hover{
  color:var(--ink);
  border-bottom-color:var(--ink);
}

.copyright{
  border-top:1px solid var(--line);
  padding-top:1.25rem;
}

@media(max-width:760px){
  .nav-wrap{
    align-items:flex-start !important;
    flex-direction:column !important;
  }

  .nav-links{
    gap:.8rem !important;
  }

  .foot-grid{
    grid-template-columns:1fr;
  }
}
