/* Brutalist field-guide aesthetic — monospace, high contrast, hard borders */ :root { --ink: #000; --paper: #fff; --border: 1px solid var(--ink); --mono: 'IBM Plex Mono', monospace; --serif: 'Source Serif 4', serif; } body { background: var(--paper); color: var(--ink); font-family: var(--mono); font-size: 16px; line-height: 1.5; margin: 0; padding: 0; } .wrap { max-width: 1200px; margin: 0 auto; padding: 0 20px; } .sheet { border: var(--border); padding: 16px; margin-bottom: 24px; } header.sheet { margin-top: 24px; } .meta-row { display: flex; justify-content: space-between; font-size: 14px; margin-bottom: 12px; border-bottom: var(--border); padding-bottom: 8px; } h1 { font-family: var(--serif); font-size: 48px; font-weight: 600; margin: 0 0 12px 0; letter-spacing: -0.5px; } .lede { font-size: 18px; max-width: 650px; margin-bottom: 16px; } .stamp { font-size: 12px; border: var(--border); padding: 2px 6px; display: inline-block; margin-bottom: 16px; } .hero { width: 100%; height: auto; display: block; margin: 24px 0; } .cap { font-size: 14px; margin: -16px 0 24px 0; text-align: center; } .columns { display: flex; gap: 24px; } main { flex: 2; } aside.rail { flex: 1; border-left: var(--border); padding-left: 16px; } h2 { font-family: var(--serif); font-size: 24px; font-weight: 600; margin: 24px 0 12px 0; border-bottom: var(--border); padding-bottom: 4px; } p { margin: 0 0 16px 0; } ol { margin: 0 0 16px 20px; } .figure { border: var(--border); padding: 12px; margin: 24px 0; } .figure img { width: 100%; height: auto; display: block; } .figure .cap { margin: 8px 0 0 0; } footer.sheet { margin-top: 48px; text-align: center; font-size: 14px; } fort-nav { display: block; margin-bottom: 16px; } fort-mind, fort-film, fort-fedi, fort-citizen, fort-kg { display: block; margin: 16px 0; padding: 12px; border: var(--border); } @media (max-width: 768px) { .columns { flex-direction: column; } aside.rail { border-left: none; padding-left: 0; } }