:root{
  --paper:#fcfcfb;
  --card:#ffffff;
  --ink:#181c19;
  --quiet:#5f665d;
  --sage:#4f6b54;
  --sage-pale:#e8efe7;
  --lake:#3d6a79;
  --lake-pale:#e4edf0;
  --line:rgba(24,28,25,.09);
  --wrap:70rem;
  --r:14px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'DM Sans',system-ui,sans-serif;background:var(--paper);color:var(--ink);
  line-height:1.6;-webkit-font-smoothing:antialiased;
}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 1.75rem}
.tag{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sage);font-weight:500}
a:focus-visible{outline:2px solid var(--lake);outline-offset:3px}
.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:var(--sage);color:#fff;padding:.7rem 1.1rem;text-decoration:none;font-size:.9rem;border-radius:0 0 var(--r) 0}
.skip-link:focus{left:0}

nav{position:sticky;top:0;z-index:10;background:rgba(252,252,251,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav-in{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 0}
.mark{font-size:1.05rem;font-weight:500;letter-spacing:-.02em;color:var(--sage)}
.nav-links{display:flex;gap:1.75rem;list-style:none}
.nav-links a{font-size:.92rem;color:var(--quiet);text-decoration:none;transition:color .2s}
.nav-links a:hover,.nav-links a:focus-visible{color:var(--ink)}

/* hero */
.hero-band{background:linear-gradient(165deg,var(--sage-pale) 0%,var(--lake-pale) 55%,var(--paper) 100%);padding:5.5rem 0 4rem}
.hero h1{
  font-size:clamp(3.4rem,13vw,8rem);font-weight:500;letter-spacing:-.055em;
  line-height:.92;color:var(--sage);
}
.hero h1 .thin{font-weight:300;color:var(--lake)}
.hero .sub{
  margin-top:1.6rem;font-size:clamp(1.1rem,2vw,1.5rem);font-weight:300;
  color:#3d443c;max-width:34ch;line-height:1.4;
}
.hero-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:12px;margin-top:3.25rem}
.ph{border-radius:var(--r);background:linear-gradient(135deg,#e9eee8,#d6ded4)}
.hero-grid>.ph{height:27rem}
.hero-col{display:grid;grid-template-rows:1fr 1fr;gap:12px}
.hero-col .ph{background:linear-gradient(135deg,#e2ecee,#cddddf)}

.prose{padding:6rem 0;max-width:40rem}
.prose h2{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:400;letter-spacing:-.028em;margin:.9rem 0 1.2rem;line-height:1.22}
.prose p+p{margin-top:1rem}
.prose p{color:#3d443c}

.photos h2{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:400;letter-spacing:-.028em;margin:.9rem 0 2rem}
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding-bottom:6rem}
.gal .ph{height:15rem}
.gal .ph:nth-child(1){grid-column:span 2;height:20rem}
.gal .ph:nth-child(2){height:20rem}
.gal .ph:nth-child(5){grid-column:span 2}
.gal .ph:nth-child(odd){background:linear-gradient(135deg,#e9efe8,#d7e0d5)}

/* people */
.people{padding-bottom:6rem}
.people h2{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:400;letter-spacing:-.028em;margin:.9rem 0 2rem}
.pgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:14px}
.pcard{
  text-decoration:none;color:inherit;text-align:center;display:block;
}
.pcard .face{
  width:100%;aspect-ratio:1;border-radius:50%;
  background:linear-gradient(140deg,var(--sage-pale),var(--lake-pale));
  transition:transform .25s ease;
}
.pcard:hover .face,.pcard:focus-visible .face{transform:scale(1.04)}
.pcard .nm{margin-top:.9rem;font-weight:500;font-size:1.02rem;letter-spacing:-.015em}
.pcard:hover .nm,.pcard:focus-visible .nm{color:var(--sage)}

/* links */
.links{padding-bottom:6rem}
.links h2{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:400;letter-spacing:-.028em;margin:.9rem 0 2rem}
.lgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:12px}
.lcard{
  background:var(--card);border:1px solid var(--line);border-radius:var(--r);
  padding:1.5rem;text-decoration:none;color:inherit;display:block;
  border-top:3px solid var(--lake);
  transition:border-color .2s,transform .2s;
}
.lcard:nth-child(2){border-top-color:var(--sage)}
.lcard:nth-child(3){border-top-color:#8a9c6a}
.lcard:hover,.lcard:focus-visible{transform:translateY(-3px);outline:none}
.lcard .lt{font-weight:500;font-size:1.15rem;letter-spacing:-.015em}
.lcard .ld{font-size:.9rem;color:var(--quiet);margin-top:.35rem}
.lcard .go{font-size:.82rem;color:var(--lake);margin-top:1.1rem;display:inline-block}

footer{border-top:1px solid var(--line);padding:2.5rem 0;color:var(--quiet);font-size:.88rem}
.foot-in{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap}
.build{font-size:.78rem;letter-spacing:.03em;color:#6b7269}

/* 404 */
.backlink{display:inline-block;margin-top:2rem;color:var(--lake);text-decoration:none;font-weight:500}
.backlink:hover,.backlink:focus-visible{color:var(--ink)}

@media(max-width:760px){
  .nav-links{display:none}
  .hero-band{padding:3.5rem 0 2.5rem}
  .hero-grid{grid-template-columns:1fr}
  .hero-grid>.ph{height:16rem}
  .hero-col{grid-template-rows:auto auto}
  .hero-col .ph{height:11rem}
  .gal{grid-template-columns:repeat(2,1fr)}
  .gal .ph,.gal .ph:nth-child(1),.gal .ph:nth-child(2){height:11rem}
  .gal .ph:nth-child(1),.gal .ph:nth-child(5){grid-column:span 2}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto}}
