@charset "UTF-8";
:root{color-scheme:light;--bg:#fafaf9;--fg:#202020;--muted:#666664;--soft:#ededeb;--line:#dededb}html[data-theme="dark"]{color-scheme:dark;--bg:#151515;--fg:#ededeb;--muted:#aaa9a5;--soft:#272727;--line:#383838}*{box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.7}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:5px}a:hover{color:var(--muted)}a:focus-visible,button:focus-visible{outline:2px solid var(--fg);outline-offset:6px}::selection{background:var(--fg);color:var(--bg)}.skip{position:absolute;left:20px;top:-100px;background:var(--bg);padding:10px;z-index:3}.skip:focus{top:8px}.shell{max-width:1000px;margin:auto;padding:0 48px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:38px}.brand{text-decoration:none;font-size:15px;letter-spacing:-.35px;font-weight:600}.nav{display:flex;align-items:center;gap:28px}.nav a{font-size:13px;color:var(--muted);text-decoration:none}.nav a[aria-current="page"]{color:var(--fg);text-decoration:underline;text-underline-offset:7px}.theme-toggle{background:none;color:var(--fg);border:1px solid var(--line);border-radius:50%;width:32px;height:32px;display:grid;place-items:center;cursor:pointer;padding:7px}.theme-toggle:hover{background:var(--soft)}.theme-toggle svg{width:16px;height:16px}.hero{padding:103px 0 67px;max-width:760px}.eyebrow,.section-label,.meta{font-size:11px;color:var(--muted);letter-spacing:1.8px;text-transform:uppercase}.eyebrow{margin:0 0 23px}.hero h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(42px,5.8vw,62px);letter-spacing:-2.4px;line-height:1.13;margin:0 0 26px;max-width:740px}.hero h1 em{font-weight:400}.lead{max-width:610px;font-size:17px;line-height:1.85;color:var(--muted);margin:0}.section-label{margin:5px 0;font-weight:400;letter-spacing:1.3px}.text-link{font-size:13px}.note-row{display:grid;grid-template-columns:110px 1fr 20px;gap:24px;text-decoration:none;margin-bottom:29px;align-items:baseline}.note-row time{font-size:12px;color:var(--muted)}.note-row h3{font:400 23px/1.35 Georgia,serif;letter-spacing:-.3px;margin:0 0 8px}.note-row p{font-size:14px;color:var(--muted);line-height:1.7;margin:0;max-width:590px}.arrow{font-size:19px}.footer{border-top:1px solid var(--line);padding:23px 0 30px;display:flex;justify-content:space-between;gap:18px;color:var(--muted);font-size:11px;letter-spacing:.2px}.footer a{text-decoration:none}.page-hero{padding-bottom:55px}.page-hero h1{font-size:56px}.archive{padding-bottom:70px}.archive .note-row{margin-bottom:45px}.archive-year{font:400 20px Georgia,serif;margin:0 0 28px;color:var(--muted)}.article{max-width:650px;margin:80px auto 85px}.back{font-size:12px;text-decoration:none;color:var(--muted)}.article h1{font:400 clamp(36px,5vw,49px)/1.16 Georgia,serif;letter-spacing:-1.6px;margin:24px 0}.article .meta{letter-spacing:.9px;margin:24px 0 38px}.article .prose{font-family:Georgia,'Times New Roman',serif;font-size:19px;line-height:1.85}.prose h2{font:400 28px/1.3 Georgia,serif;letter-spacing:-.4px;margin:39px 0 15px}.prose p{margin:0 0 22px}.prose blockquote{margin:30px 0;font-size:26px;line-height:1.5;font-style:italic}.article-end{margin-top:45px;color:var(--muted);font-size:12px}.article-nav{margin-top:30px;font-size:13px}.quiet-note{font-size:12px;color:var(--muted);max-width:600px;margin:0 0 40px}@media(min-width:1400px){.shell{max-width:1040px}.hero{padding-top:115px}}@media(max-width:640px){.shell{padding:0 25px}.topbar{padding-top:24px;gap:10px}.brand{font-size:14px}.nav{gap:18px}.nav a{font-size:12px}.theme-toggle{width:29px;height:29px;padding:6px}.hero{padding:70px 0 47px}.hero h1{letter-spacing:-1.6px}.lead{font-size:16px}.note-row{grid-template-columns:1fr 18px;gap:5px 15px;margin-bottom:31px}.note-row time{grid-column:1/-1}.note-row h3{font-size:22px}.note-row .arrow{grid-column:2;grid-row:2}.footer{font-size:10px;flex-wrap:wrap}.page-hero h1{font-size:47px}.article{margin:55px auto}.article .prose{font-size:18px}.article h1{letter-spacing:-1px}.section-label{font-size:10px}.text-link{font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.link-arrow{width:12px;height:12px;vertical-align:baseline;margin-left:3px}

.home-page main,
.projects-page main {
  max-width: 640px;
  margin-inline: auto;
  padding-bottom: 52px;
}

.hero.home-hero {
  padding-bottom: 36px;
}

.home-hero .lead + .lead {
  margin-top: 12px;
}

.home-hero .contact-links {
  margin: 18px 0 0;
}

.home-section {
  border-top: 1px solid var(--line);
  padding-top: 27px;
}

.home-section + .home-section {
  margin-top: 36px;
}

.home-section h2 {
  font: 400 30px/1.2 Georgia, serif;
  letter-spacing: -.4px;
  margin: 0 0 16px;
}

.home-section p,
.home-section ul,
.project-summary p {
  margin: 0 0 14px;
}

.home-section ul {
  padding-left: 1.25em;
}

.home-section li + li {
  margin-top: 6px;
}

.project-summary + .project-summary {
  margin-top: 25px;
}

.project-summary h3 {
  font: 400 23px/1.3 Georgia, serif;
  margin: 0 0 4px;
}

.hero.projects-hero {
  padding-bottom: 28px;
}

.projects-hero h1 {
  margin-bottom: 0;
}

.projects-page .project-summary {
  border-top: 1px solid var(--line);
  padding-top: 25px;
}

.projects-page .project-summary + .project-summary {
  margin-top: 32px;
}

.project-summary h2 {
  font: 400 30px/1.2 Georgia, serif;
  letter-spacing: -.4px;
  margin: 0 0 6px;
}

.project-category {
  color: var(--muted);
  font-size: 14px;
}

.home-section > :last-child,
.project-summary > :last-child {
  margin-bottom: 0;
}

.contact-links {
  font-size: 14px;
}

.contact-links span {
  margin-inline: 4px;
  color: var(--muted);
}

@media (max-width: 380px) {
  .topbar {
    flex-wrap: wrap;
  }

  .nav {
    gap: 13px;
  }
}
