:root { color-scheme: light; --ink:#18221d; --muted:#617068; --paper:#f3f1e9; --wash:#e4e8dd; --line:#b9c1b7; --accent:#245b47; --warm:#c8633d; font-family: Inter, ui-sans-serif, system-ui, sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); line-height:1.55; }
a { color:inherit; text-underline-offset:.2em; }
button { font:inherit; }
.skip-link { position:absolute; left:1rem; top:-4rem; padding:.7rem 1rem; background:var(--ink); color:white; z-index:20; }
.skip-link:focus { top:1rem; }
.site-header { min-height:5rem; padding:1.25rem clamp(1.25rem,4vw,4.5rem); display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.wordmark { font-family:Georgia,serif; font-size:1.25rem; text-decoration:none; }
.site-header nav { display:flex; gap:1.2rem; font-size:.9rem; }
.site-header nav a { text-decoration:none; }
main, footer { padding-left:clamp(1.25rem,4vw,4.5rem); padding-right:clamp(1.25rem,4vw,4.5rem); }
.hero { min-height:72vh; display:flex; flex-direction:column; justify-content:center; max-width:62rem; padding-top:5rem; padding-bottom:5rem; }
h1,h2,h3,p { margin-top:0; }
h1,h2 { font-family:Georgia,serif; font-weight:400; letter-spacing:-.035em; line-height:1.03; }
h1 { font-size:clamp(3.4rem,9vw,8rem); max-width:10ch; margin-bottom:1.5rem; }
h2 { font-size:clamp(2.2rem,5vw,4.5rem); max-width:13ch; }
h3 { font-size:1.35rem; line-height:1.2; }
.kicker,.meta { text-transform:uppercase; letter-spacing:.11em; font-size:.72rem; font-weight:700; color:var(--muted); }
.lede { font-size:clamp(1.2rem,2vw,1.65rem); max-width:43rem; color:#344239; }
.primary-link,.return-link { display:inline-block; margin-top:1.5rem; font-weight:700; color:var(--accent); }
.surface { padding-top:6rem; padding-bottom:7rem; border-top:1px solid var(--line); }
.section-heading { display:flex; gap:2rem; align-items:end; justify-content:space-between; margin-bottom:3rem; }
.surface-status { max-width:29rem; color:var(--muted); }
.work-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:1rem; align-items:start; }
.work-card { grid-column:span 3; min-height:23rem; padding:1.5rem; border-top:2px solid var(--ink); background:rgba(255,255,255,.23); transition:opacity .25s, transform .25s, background .25s; }
.work-card:nth-child(even) { margin-top:3.5rem; }
.locus-control { border:0; padding:0; text-align:left; background:none; color:inherit; cursor:pointer; text-decoration:underline; text-decoration-color:transparent; text-underline-offset:.2em; }
.locus-control:hover,.locus-control:focus-visible { text-decoration-color:var(--warm); }
.work-card[data-role="locus"] { grid-column:span 5; background:#dce4d8; transform:translateY(-1rem); }
.work-card[data-role="neighbor"] { grid-column:span 3; background:#eee8da; }
.work-card[data-role="quiet"] { opacity:.34; grid-column:span 2; }
.relation-reason { font-size:.88rem; color:var(--accent); }
.deep-link { display:inline-block; margin-top:1rem; font-weight:700; }
.reset-control { margin-top:2rem; border:1px solid var(--ink); background:transparent; padding:.65rem 1rem; cursor:pointer; }
.questions,.about { padding-top:7rem; padding-bottom:7rem; border-top:1px solid var(--line); }
.questions ul,.neighborhood ul { list-style:none; padding:0; margin:3rem 0 0; }
.questions li { max-width:58rem; padding:1.25rem 0; border-top:1px solid var(--line); font-family:Georgia,serif; font-size:clamp(1.25rem,2.5vw,2rem); }
.about p:last-child { max-width:44rem; font-size:1.3rem; }
footer { padding-top:3rem; padding-bottom:3rem; border-top:1px solid var(--line); color:var(--muted); }
.document-page { max-width:88rem; margin:auto; }
.breadcrumb { display:flex; gap:.6rem; padding-top:2rem; color:var(--muted); }
.document-header { padding-top:8rem; padding-bottom:4rem; max-width:70rem; }
.document-header h1 { max-width:13ch; }
.prose { max-width:46rem; font-family:Georgia,serif; font-size:1.22rem; padding-bottom:6rem; }
.prose blockquote { margin:3rem 0 0; padding:1.5rem 0 0 2rem; border-left:2px solid var(--warm); font-size:1.55rem; }
.neighborhood { padding:5rem 0; border-top:1px solid var(--line); }
.neighborhood ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem; }
.neighborhood li { border-top:2px solid var(--ink); padding-top:1rem; }
.return-link { margin-bottom:6rem; }
.empty-page { min-height:70vh; display:flex; flex-direction:column; justify-content:center; }
:focus-visible { outline:3px solid var(--warm); outline-offset:4px; }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none!important; } }
@media (max-width:800px) {
  .site-header { align-items:flex-start; gap:1rem; }
  .site-header nav { gap:.7rem; flex-wrap:wrap; justify-content:flex-end; }
  .section-heading { display:block; }
  .work-grid { display:block; }
  .work-card,.work-card:nth-child(even),.work-card[data-role] { min-height:0; margin:0 0:1rem; transform:none; opacity:1; }
  .work-card[data-role="quiet"] { display:none; }
  .neighborhood ul { grid-template-columns:1fr; }
}

