*{box-sizing:border-box}
body{margin:0;background:var(--surface-page);color:var(--text-body);font-family:var(--font-serif);font-size:var(--text-base);line-height:var(--leading-body)}
a{color:var(--text-link);text-decoration:none}
a:hover{color:var(--text-link-hover)}
main{max-width:960px;margin:0 auto;padding:48px 32px}
.site-nav{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;row-gap:12px;padding:16px 32px;border-bottom:1px solid var(--border-hairline);background:var(--surface-page)}
.site-nav__brand{font-size:var(--text-lg);color:var(--text-heading)}
.site-nav__links{display:flex;flex-wrap:wrap;gap:12px 28px}
.site-nav__link{font-family:var(--font-mono);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-body)}
.site-nav__link:hover,.site-nav__link.active{color:var(--oxblood);text-decoration:underline;text-underline-offset:3px}
.site-footer{display:flex;justify-content:space-between;align-items:center;padding:28px 32px;border-top:1px solid var(--border-hairline);font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-muted)}
.site-footer__links{display:flex;gap:20px}
.hero{max-width:960px;margin:0 auto 40px}
.hero__label{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-muted);margin-bottom:10px}
.hero__title{font-size:var(--text-3xl);line-height:var(--leading-tight);color:var(--text-heading);margin:0;max-width:18ch}
.hero__sub{font-size:var(--text-md);color:var(--text-muted);max-width:60ch;margin-top:16px}
.page-header h1{font-size:var(--text-2xl);color:var(--text-heading);margin:0 0 24px}
.section-heading{font-size:var(--text-xl);color:var(--text-heading);max-width:720px;margin:0 auto 24px}
.section-break{max-width:720px;margin:56px auto 0;padding-top:40px;border-top:1px solid var(--border-hairline)}
.section-break .section-heading{margin:0 0 24px}
.case-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:960px;margin:0 auto}
.post-card{display:block;background:var(--surface-card);border:1px solid var(--border-hairline);box-shadow:var(--shadow-card);padding:var(--space-5)}
.post-card__meta{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-muted);margin-bottom:8px}
.post-card__title{font-size:var(--text-lg);line-height:var(--leading-snug);color:var(--text-heading);margin-bottom:8px}
.post-card__excerpt{font-size:var(--text-sm);color:var(--text-muted)}
.badge{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-caps);border:1px solid var(--border-default);color:var(--text-muted);border-radius:var(--radius-sm);padding:3px 8px;display:inline-block}
.badge--oxblood{color:var(--oxblood);border-color:var(--oxblood)}
.badge--gold{color:var(--gold-dark);border-color:var(--gold)}
.case-badges{display:flex;gap:8px;margin-bottom:16px;max-width:720px;margin-left:auto;margin-right:auto}
.tag{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-caps);background:transparent;color:var(--text-body);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:5px 10px}
.tag.active{background:var(--charcoal);color:var(--parchment)}
.callout{border:1px solid var(--warning-border);background:var(--warning-bg);color:var(--warning-text);padding:14px 16px;max-width:720px;margin:20px auto}
.callout--note{background:transparent;border-color:var(--gold);color:var(--text-body)}
.callout__label{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-caps);margin-bottom:6px}
.message{border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:14px 16px;max-width:720px;margin:16px auto}
.message__author{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-caps);margin-bottom:6px}
.message__reply-to{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-caps);opacity:0.7;margin-bottom:6px}
.message__reply-to a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.message__footer{text-align:right;margin-top:10px}
.message__id{font-family:var(--font-mono);font-size:0.65rem;color:inherit;opacity:0.55}
.message__id:hover{opacity:1;text-decoration:underline;text-underline-offset:2px}
.message__body>*:first-child{margin-top:0}
.message__body>*:last-child{margin-bottom:0}
.message--accent-0{background:var(--oxblood-tint);border-color:var(--oxblood)}
.message--accent-0 .message__author{color:var(--oxblood-dark)}
.message--accent-1{background:var(--gold-tint);border-color:var(--gold)}
.message--accent-1 .message__author{color:var(--gold-dark)}
.message--accent-2{background:var(--parchment-deep);border-color:var(--charcoal-soft)}
.message--accent-2 .message__author{color:var(--charcoal-soft)}
main blockquote{border-left:3px solid var(--oxblood);padding-left:20px;margin:24px auto;max-width:720px;font-family:var(--font-mono);font-size:var(--text-md);line-height:var(--leading-mono);color:var(--charcoal)}
main p{max-width:720px;margin:20px auto}
.redacted{background:var(--surface-redacted);color:var(--surface-redacted);padding:0 6px}
.archive-list{display:flex;flex-direction:column;border-top:1px solid var(--border-hairline);max-width:720px;margin:0 auto}
.archive-row{display:flex;justify-content:space-between;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--border-hairline);color:var(--text-heading)}
.archive-row__meta{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;flex-shrink:0;margin-left:20px}
.headline-image{display:block;width:100%;max-width:896px;height:auto;object-fit:cover;border:1px solid var(--border-default);border-radius:var(--radius-sm);margin:0 auto 32px}
.about{max-width:640px;margin:0 auto}
.about h1{font-size:var(--text-2xl);color:var(--text-heading);margin:0 0 20px}
.about-form{margin-top:40px;padding-top:32px;border-top:1px solid var(--border-hairline);display:flex;flex-direction:column;gap:20px;max-width:340px}
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--text-muted)}
.input{border:none;border-bottom:1px solid var(--border-default);background:transparent;padding:8px 2px;font-family:var(--font-serif);font-size:var(--text-base);color:var(--text-body);outline:none}
.input:focus{border-color:var(--oxblood)}
.checkbox{display:flex;align-items:center;gap:10px;cursor:pointer}
.checkbox input{display:none}
.checkbox__box{width:16px;height:16px;border:1px solid var(--border-default);border-radius:var(--radius-sm);flex-shrink:0}
.checkbox input:checked + .checkbox__box{background:var(--oxblood);border-color:var(--oxblood)}
.btn{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:var(--tracking-wide);border-radius:var(--radius-sm);padding:10px 20px;font-size:var(--text-base);cursor:pointer;border:1px solid transparent}
.btn--primary{background:var(--oxblood);color:var(--parchment);border-color:var(--oxblood)}
.btn--primary:hover{background:var(--oxblood-dark);border-color:var(--oxblood-dark)}
.btn--secondary{background:transparent;color:var(--oxblood);border-color:var(--oxblood)}
.btn--ghost{background:transparent;color:var(--charcoal)}
