:root{
  --ink:#141414;
  --muted:#5a5a5a;
  --rule:#e2ded6;
  --paper:#faf8f4;
  --accent:#2f4f8f;
  --serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;
  --sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:var(--serif); font-size:18px; line-height:1.62;
}
a{color:var(--accent)}
main{max-width:44rem; margin:0 auto; padding:0 1.5rem}

/* header */
.bar{
  max-width:72rem; margin:0 auto; padding:1.25rem 1.5rem;
  display:flex; justify-content:space-between; align-items:baseline; gap:1rem;
  font-family:var(--sans); font-size:.72rem; letter-spacing:.08em; text-transform:uppercase;
}
.bar a{text-decoration:none; color:var(--ink)}
.wordmark{font-weight:600}
.wordmark span{font-weight:400; color:var(--muted)}
.ig{color:var(--muted) !important}
.ig:hover,.bar a:hover{color:var(--accent) !important}

/* hero */
.hero{padding:4.5rem 0 3.5rem; border-bottom:1px solid var(--rule)}
.eyebrow{
  font-family:var(--sans); font-size:.7rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--muted); margin:0 0 1.5rem;
}
h1{
  font-weight:400; font-size:clamp(2.4rem,7vw,3.6rem); line-height:1.12;
  letter-spacing:-.015em; margin:0 0 1.5rem;
}
h1 em{font-style:italic; color:var(--accent)}
.lede{font-size:1.22rem; color:#333; margin:0; max-width:34rem}

/* sections */
section{padding:3rem 0}
.band{border-bottom:1px solid var(--rule)}
.band.quiet{color:var(--muted)}
h2{
  font-family:var(--sans); font-size:.74rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--muted); font-weight:600; margin:0 0 1.25rem;
}
p{margin:0 0 1.1rem}
p:last-child{margin-bottom:0}

/* module grid */
.cols{border-bottom:1px solid var(--rule)}
.grid{display:grid; gap:2rem 2.5rem; grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}
.grid h3{
  font-family:var(--sans); font-size:.95rem; font-weight:600; letter-spacing:-.01em;
  margin:0 0 .5rem;
}
.grid p{font-size:1rem; color:#3d3d3d; line-height:1.55}

/* contact */
.contact{padding-bottom:3.5rem}
.big{font-size:1.5rem; margin-top:1.5rem}
.big a{text-decoration:none; border-bottom:1px solid var(--accent)}

/* footer */
footer{
  border-top:1px solid var(--rule); margin-top:1rem;
  padding:2.5rem 1.5rem 3.5rem; text-align:center;
  font-family:var(--sans); font-size:.82rem; line-height:1.7; color:var(--muted);
}
footer p{margin:0 0 .9rem}
footer .links a{color:var(--muted); text-decoration:none; border-bottom:1px solid var(--rule)}
footer .links a:hover{color:var(--accent); border-color:var(--accent)}

/* legal pages */
.legal{max-width:42rem; margin:0 auto; padding:3rem 1.5rem 4rem}
.legal h1{font-size:clamp(1.9rem,5vw,2.6rem); margin-bottom:.5rem}
.legal .updated{font-family:var(--sans); font-size:.78rem; color:var(--muted); margin-bottom:2.5rem}
.legal h2{
  font-family:var(--serif); font-size:1.22rem; text-transform:none; letter-spacing:0;
  color:var(--ink); font-weight:600; margin:2.5rem 0 .75rem;
}
.legal ul{margin:0 0 1.1rem; padding-left:1.25rem}
.legal li{margin-bottom:.45rem}
.back{
  display:inline-block; margin-bottom:2rem; font-family:var(--sans); font-size:.78rem;
  letter-spacing:.06em; text-transform:uppercase; text-decoration:none;
}
