/* Editorial monumental — shared by the public home and Micro. */
*, *::before, *::after { box-sizing: border-box; }
:root { --paper:#f5f3ef; --ink:#24211d; --muted:#625a50; --line:#b8afa3; --sand:#e5ded2; }
html { color-scheme:light; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:'DM Mono',monospace; font-weight:300; -webkit-font-smoothing:antialiased; }
a { color:inherit; }
a:focus-visible { outline:2px solid var(--ink); outline-offset:5px; }
.site-page { width:min(100%,1320px); margin:auto; padding:36px 56px 28px; }
.masthead { display:flex; justify-content:space-between; gap:24px; align-items:center; padding:0 0 38px; font-size:12px; line-height:1.6; text-transform:uppercase; letter-spacing:.1em; }
.masthead a { display:inline-flex; align-items:center; min-height:44px; text-decoration:none; padding:10px 4px; }
.home-page .masthead { padding-bottom:1.5rem; }
.identity h1 { margin:0 0 1rem -5px; font-family:'Cormorant',Georgia,serif; font-weight:300; font-size:clamp(88px,16.72vw,218.24px); line-height:.76; letter-spacing:-.045em; }
.identity h1 span { display:block; }
.tagline { margin:1rem 0 1.75rem; font-family:'Cormorant',Georgia,serif; font-size:clamp(24px,3vw,38px); line-height:1.2; }
.section-heading { border-top:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; gap:20px; padding:26px 0 20px; }
.section-heading h2,.section-heading>span { margin:0; font:300 14px/1.5 'DM Mono',monospace; letter-spacing:.12em; text-transform:uppercase; }
.section-heading>span { font-size:10px; color:var(--muted); letter-spacing:.02em; }
.project-map { width:100%; }
.treemap { display:grid; grid-template-columns:var(--lead-share) minmax(0,1fr); height:480px; }
.treemap-rest { min-width:0; min-height:0; display:grid; grid-template-rows:minmax(0,var(--row-1,1fr)) minmax(0,var(--row-2,1fr)); }
.project { min-width:0; min-height:0; border:3px solid var(--paper); display:flex; flex-direction:column; justify-content:flex-end; position:relative; padding:55px 24px 24px; text-decoration:none; transition:filter .15s; }
.project:hover { filter:brightness(.95); }
.project h3 { margin:0 0 22px; font:300 clamp(38px,calc(3.5vw + var(--level,0)*.5vw),80px)/.94 'Cormorant',Georgia,serif; letter-spacing:-.035em; overflow-wrap:anywhere; }
.treemap-rest .project h3 { font-size:clamp(32px,3.6vw,52px); margin-bottom:14px; }
.project p { margin:0; max-width:36ch; font-size:13px; line-height:1.65; }
.project-arrow { position:absolute; top:18px; right:22px; font-size:26px; }
.tone-0 { background:#e9e0d1; color:#24211d; }
.tone-1 { background:#d4c4aa; color:#24211d; }
.tone-2 { background:#b8a184; color:#24211d; }
.tone-3 { background:#75614d; color:#fffaf1; }
.tone-4 { background:#514337; color:#fffaf1; }
.map-note { max-width:70ch; margin:16px 0 26px; font:300 13px/1.65 'DM Mono',monospace; color:var(--muted); }
.profile-links { display:flex; flex-wrap:wrap; gap:12px 28px; padding-bottom:42px; font-size:14px; }
.profile-links a { display:inline-flex; align-items:center; min-height:44px; text-decoration:none; padding:10px 0; border-bottom:1px solid var(--line); }
.home-notes { margin-top:6px; }
.home-note { border-bottom:1px solid var(--line); }
.note-link { display:block; padding:26px 0 30px; text-decoration:none; }
.note-date,.note-open { display:block; font-size:12px; line-height:1.6; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); }
.note-text { margin:20px 0 24px; font:300 clamp(26px,3vw,42px)/1.12 'Cormorant',Georgia,serif; letter-spacing:-.015em; overflow-wrap:anywhere; }
.note-1 { background:var(--sand); border-bottom:0; }
.note-1 .note-link { padding:30px 34px 32px; }
.note-1 .note-text { font-size:clamp(36px,5.8vw,76px); line-height:1.02; }
.note-2 .note-text { font-size:clamp(30px,4vw,52px); }
.note-link:hover .note-open { text-decoration:underline; text-underline-offset:5px; }
.notes-empty { padding:24px 0; font-size:13px; line-height:1.7; color:var(--muted); }
.all-notes { display:flex; justify-content:space-between; align-items:center; gap:28px; width:fit-content; margin:30px 0 0; padding:16px 24px; border:1px solid var(--ink); text-decoration:none; font:300 24px/1.2 'Cormorant',Georgia,serif; }
.all-notes:hover { background:var(--ink); color:var(--paper); }
.site-footer { display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px; margin-top:68px; padding-top:20px; border-top:1px solid var(--line); font-size:12px; line-height:1.6; color:var(--muted); }
.site-footer a { display:inline-flex; align-items:center; min-width:44px; min-height:44px; text-decoration:none; }
/* Public Micro only. The publishing screen retains its existing styles. */
.micro-title { margin:0 0 30px; font:300 clamp(110px,21vw,260px)/.8 'Cormorant',Georgia,serif; letter-spacing:-.045em; }
.micro-heading { padding-bottom:28px; border-bottom:1px solid var(--line); margin-bottom:26px; }
.post { padding:28px 0; border-bottom:1px solid var(--line); }
.post.featured { background:var(--sand); padding:34px; border-bottom:0; margin-bottom:8px; }
.post-body { margin:20px 0 26px; font:300 clamp(28px,3.5vw,46px)/1.15 'Cormorant',Georgia,serif; letter-spacing:-.012em; overflow-wrap:anywhere; }
.featured .post-body { font-size:clamp(36px,5.8vw,76px); line-height:1.04; }
.post-body p { margin:0; }
.post-body p+p { margin-top:.7em; }
.post-body a { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:5px; }
.post-date,.post-meta { font-size:12px; line-height:1.6; letter-spacing:.07em; text-transform:uppercase; color:var(--muted); }
.post-meta { margin:20px 0 0; }
.post-meta a,.post-date a { display:inline-flex; align-items:center; min-height:44px; padding:10px 0; }
.post-meta a { text-decoration:none; }
.post-signature { text-transform:none; }
.post-meta a:hover { text-decoration:underline; }
.images { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:10px; margin-top:20px; }
.images img { width:100%; height:auto; max-height:760px; object-fit:contain; display:block; }
.back { display:inline-block; margin-top:30px; min-height:44px; padding:12px 0; font-size:13px; text-decoration:none; }
.empty { padding:30px 0; font-size:13px; color:var(--muted); }
@media(min-width:1600px) { .identity h1 { font-size:218.24px; } }
@media(max-width:760px) {
  .site-page { padding:24px 24px 22px; }
  .masthead { padding-bottom:26px; font-size:12px; }
  .identity h1 { font-size:clamp(100px,23vw,180px); margin-left:-2px; }
  .home-page .masthead { padding-bottom:1rem; }
  .tagline { margin:0.875rem 0 1.25rem; }
  .treemap { height:500px; }
  .project { padding:48px 16px 20px; }
  .project h3 { font-size:clamp(30px,5vw,52px); }
  .project p { font-size:12px; }
  .section-heading>span { font-size:9px; }
  .note-1 .note-link,.post.featured { padding:26px; }
}
@media(max-width:520px) {
  .site-page { padding:22px 18px; }
  .masthead { gap:12px; letter-spacing:.07em; }
  .identity h1 { font-size:23vw; }
  .section-heading { padding-top:22px; }
  .section-heading>span { max-width:15ch; text-align:right; }
  .treemap { height:520px; grid-template-columns:minmax(0,1fr); grid-template-rows:var(--lead-share) minmax(0,1fr); }
  .treemap-rest { grid-template-columns:minmax(0,var(--row-1,1fr)) minmax(0,var(--row-2,1fr)); grid-template-rows:minmax(0,1fr); }
  .project { padding:36px 12px 16px; }
  .project h3 { font-size:clamp(34px,10vw,48px); margin-bottom:14px; }
  .treemap-rest .project h3 { font-size:clamp(28px,7.5vw,36px); }
  .project-arrow { right:14px; top:12px; font-size:22px; }
  .project p { font-size:12px; line-height:1.5; max-width:38ch; }
  .map-note { font-size:12px; }
  .profile-links { padding-bottom:30px; }
  .note-1 .note-link,.post.featured { padding:24px 20px; }
  .note-1 .note-text,.featured .post-body { font-size:38px; }
  .note-2 .note-text { font-size:32px; }
  .note-text,.post-body { font-size:27px; }
  .all-notes { width:100%; font-size:24px; }
  .site-footer { margin-top:48px; }
}
@media(max-width:359px) {
  .treemap { height:560px; }
  .treemap-rest .project h3 { font-size:27px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { transition:none!important; scroll-behavior:auto!important; } }
