:root{
  --barn:#1C1A15; --lake:#1E3D5C; --oat:#F5F0E3; --copper:#B4622D;
  --copper-text:#8F4A1E; --fog:#A9B9C4; --paper:#FDFBF4; --line:#D8CFB9;
  --ink:#37342C; --dim:#6B675C;
}
*{box-sizing:border-box}
body{margin:0;background:var(--oat);color:var(--barn);
  font:400 17px/1.7 Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--copper-text)}a:hover{color:var(--copper)}
.mono{font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.22em}
.dim{color:var(--dim)} .copper{color:var(--copper)}
h1,h2,h3{font-family:Fraunces,serif;font-weight:500;line-height:1.15;margin:0 0 .5em}

/* header */
.site-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;
  gap:16px;padding:22px clamp(16px,5vw,64px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--barn)}
.mark{width:40px;height:40px;display:block}
.brand-text{display:flex;flex-direction:column}
.brand-name{font-family:Fraunces,serif;font-weight:500;font-size:24px;line-height:1}
.brand-sub{font-family:"IBM Plex Mono",monospace;font-size:9px;letter-spacing:.4em;
  color:var(--lake);margin-top:4px}
.site-nav{display:flex;flex-wrap:wrap;gap:4px}
.site-nav a{font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.14em;
  text-transform:uppercase;text-decoration:none;color:var(--ink);padding:8px 12px;border-radius:4px}
.site-nav a:hover{background:var(--paper);color:var(--copper-text)}
.site-nav a.on{color:var(--copper-text);text-decoration:underline;text-underline-offset:6px}

/* hero */
.hero{text-align:center;padding:clamp(48px,10vw,110px) 16px 36px}
.hero-mark{width:clamp(88px,14vw,130px);height:auto;display:block;margin:0 auto 18px}
.hero h1{font-size:clamp(44px,8vw,84px);margin:0}
.hero-sub{display:block;font-size:clamp(12px,1.6vw,16px);letter-spacing:.5em;color:var(--lake);margin-top:10px}
.tagline{font-family:Fraunces,serif;font-style:italic;font-size:clamp(19px,2.6vw,26px);
  color:var(--lake);margin:18px 0 0}

/* bands */
.band{padding:clamp(40px,7vw,80px) clamp(16px,5vw,64px)}
.band-inner{max-width:820px;margin:0 auto}
.band-lake{background:var(--lake);color:#E9E3D2}
.band-lake .statement{color:var(--oat)}
.band-lake a{color:#D9915B}
.band-oat{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.kicker{margin-bottom:14px;color:var(--copper-text)}
.band-lake .kicker{color:#D9915B}
.statement{font-size:clamp(28px,4.4vw,42px)}
.three-up{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;max-width:1000px}
.three-up p{margin:10px 0 0;font-size:15px}
@media(max-width:720px){.three-up{grid-template-columns:1fr}}

/* content pages */
.prose-wrap{max-width:760px;margin:0 auto;padding:clamp(40px,7vw,72px) clamp(16px,5vw,32px)}
.prose-wrap h1{font-size:clamp(34px,5.5vw,52px)}
.lede{font-size:19px;color:var(--ink)}
.prose p{margin:0 0 1.2em}
.prose h2{font-size:26px;margin-top:1.6em}
.founder-list{list-style:none;padding:0;margin:0 0 1.2em}
.founder-list li{padding:10px 0;border-bottom:1px solid var(--line)}
blockquote{margin:1.4em 0;padding:4px 0 4px 20px;border-left:3px solid var(--copper)}
code{font-family:"IBM Plex Mono",monospace;font-size:.88em;background:var(--paper);
  border:1px solid var(--line);border-radius:3px;padding:1px 5px}

/* posts */
.post-list{display:flex;flex-direction:column;gap:18px;margin-top:28px}
.post-card{display:block;background:var(--paper);border:1px solid var(--line);border-radius:8px;
  padding:24px 28px;text-decoration:none;color:var(--barn)}
.post-card:hover{border-color:var(--copper)}
.post-card h2{font-size:24px;margin:8px 0 6px}
.post-card p{margin:0;color:var(--ink);font-size:15px}
.backlink{margin-top:3em}
.backlink a{text-decoration:none}

/* services */
.svc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:32px 0}
@media(max-width:720px){.svc-grid{grid-template-columns:1fr}}
.svc{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:26px 28px}
.svc p{margin:12px 0 0;font-size:15px}
.cta{font-size:19px}

/* footer */
.site-foot{background:var(--barn);color:var(--oat);margin-top:40px}
.foot-inner{display:flex;align-items:center;gap:20px;flex-wrap:wrap;
  padding:34px clamp(16px,5vw,64px)}
.foot-mark{width:34px;height:34px}
.foot-lines{display:flex;flex-direction:column;gap:6px}
.site-foot .dim{color:#8f8b80}
.foot-right{margin-left:auto}
.foot-right a{color:var(--fog);text-decoration:none}
.foot-right a:hover{color:var(--oat)}
@media(max-width:720px){.foot-right{margin-left:0}}

/* project cards + dossier gallery */
.proj-card .thumb{display:block;margin:-26px -28px 18px;border-radius:8px 8px 0 0;overflow:hidden}
.proj-card .thumb img{display:block;width:100%;height:auto}
.prose-wrap.wide{max-width:900px}
.gallery{display:flex;flex-direction:column;gap:36px;margin:48px 0}
.gallery figure{margin:0}
.gallery img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:8px}
.gallery figcaption{margin-top:10px;font-size:10px;color:var(--dim)}

/* research post figures: break out of the text column */
.post-fig{width:min(68rem,94vw);margin:36px 0 36px 50%;transform:translateX(-50%)}
.post-fig img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:8px}
.post-fig figcaption{margin-top:10px;font-size:10px;color:var(--dim);text-align:center}
