:root {
  --navy: #25314f;
  --navy-dark: #1b2540;
  --lime: #d2e404;
  --lime-mid: #b3db04;
  --lime-edge: #92d004;
  --green-ink: #4d7300;
  --paper: #ffffff;
  --gray: #5b6478;
  --rule: #e3e6ea;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0; min-height: 100vh; display: flex; flex-direction: column;
  background: var(--paper); color: var(--navy);
  font: 400 1.0625rem/1.65 "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
}
main { flex: 1; }
a { color: var(--navy); text-underline-offset: 3px; }
a:hover { color: var(--green-ink); }
h1, h2, h3 { font-family: "Barlow Condensed", "Inter", sans-serif; font-weight: 800; text-transform: uppercase; letter-spacing: .01em; line-height: 1.1; }
.lime { background-color: var(--lime-edge); background-image: radial-gradient(ellipse at 50% 45%, var(--lime) 0%, var(--lime-mid) 45%, var(--lime-edge) 100%); }

/* home: just the logo */
.home main { display: grid; place-items: center; padding: 2rem 1rem; }
.home .logo { width: min(34rem, 86vw); height: auto; filter: drop-shadow(0 1rem 1.5rem rgba(27,37,64,.25)); }

/* subpages */
.page-head { padding: 1.25rem 0; }
.page-head .wrap { padding: 0 1rem; display: flex; align-items: center; gap: 1rem; }
.page-head img { height: 3.5rem; width: auto; display: block; }
.wrap { width: 100%; max-width: 46rem; margin: 0 auto; }
.prose { padding: 2.5rem 1rem 4rem; }
.prose h1 { font-size: clamp(2rem, 6vw, 2.75rem); margin: 0 0 .25rem; }
.prose .meta { color: var(--gray); margin: 0 0 2rem; }
.prose h2 { font-size: 1.5rem; margin: 2.25rem 0 .6rem; }
.prose h3 { font-size: 1.15rem; margin: 1.4rem 0 .4rem; color: var(--green-ink); }
.prose ul { padding-left: 1.25rem; }
.prose li { margin: .3rem 0; }
address { font-style: normal; }
.contact-list { display: grid; gap: 1.5rem; margin-top: 1.5rem; }
.contact-list h2 { margin: 0 0 .25rem; font-size: 1.1rem; color: var(--green-ink); }
.contact-list p, .contact-list address { margin: 0; font-size: 1.15rem; }

/* footer */
.site-footer { background: var(--navy-dark); color: #c9cfdb; font-size: .9rem; padding: 1.1rem 1rem; text-align: center; }
.site-footer a { color: #fff; }
.site-footer span + span::before { content: "·"; margin: 0 .6rem; color: #6f7a93; }
