:root{--ink-0:#060606;--ink-1:#101010;--ink-3:#2E2C29;--ink-4:#403D38;--paper:#E8E3D8;--paper-dim:#A29B8C;--red:#E62E1B;--acid:#B4F014;--yellow:#E8C51C;--display:'Anton',Impact,sans-serif;--sans:'Space Grotesk',Arial,sans-serif;--mono:'Space Mono','Courier New',monospace}
*{box-sizing:border-box}
body{margin:0;background:var(--ink-0);color:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E")}
::selection{background:var(--red);color:var(--ink-0)}
a{color:var(--red);text-decoration:none;border-bottom:1px solid currentColor}
a:hover,a:focus-visible{background:var(--red);color:var(--ink-0)}
a:focus-visible{outline:2px solid var(--red);outline-offset:2px}
h1,h2,h3{font-family:var(--display);font-weight:400;text-transform:uppercase;line-height:.92;letter-spacing:-.01em;margin:0}
.wrap{max-width:1080px;margin:0 auto;border-left:1px solid var(--ink-3);border-right:1px solid var(--ink-3);min-height:100vh;display:flex;flex-direction:column}
.label{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:var(--paper-dim)}
.stripes{height:8px;background:repeating-linear-gradient(-45deg,var(--red) 0 8px,transparent 8px 16px)}
header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;border-bottom:1px solid var(--ink-3);flex-wrap:wrap}
header .mark{font-family:var(--display);font-size:22px;text-transform:uppercase;letter-spacing:.02em;color:var(--paper);border:none}
header .mark:hover{background:none;color:var(--paper)}
header .mark span{color:var(--red)}
nav{display:flex;gap:2px;flex-wrap:wrap}
nav a{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--paper-dim);border:none;padding:12px 10px;border-bottom:2px solid transparent}
nav a:hover{background:none;color:var(--paper)}
nav a[aria-current="page"]{color:var(--paper);border-bottom-color:var(--red)}
.hero{padding:64px 20px 48px;border-bottom:1px solid var(--ink-3)}
.hero .meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:28px}
.hero h1{font-size:clamp(56px,14vw,150px)}
.hero h1 em,.accent{font-style:normal;color:var(--red)}
.hero p{max-width:46ch;font-size:clamp(15px,2.5vw,18px);margin:28px 0 0}
.page-head{padding:48px 20px 36px;border-bottom:1px solid var(--ink-3)}
.page-head h1{font-size:clamp(44px,9vw,88px)}
.page-head .meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:20px}
.reveal{animation:up .5s cubic-bezier(.19,1,.22,1) both}
.reveal:nth-child(2){animation-delay:.08s}.reveal:nth-child(3){animation-delay:.16s}
@keyframes up{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.reveal{animation:none}}
.section{padding:48px 20px;border-bottom:1px solid var(--ink-3)}
.section:last-of-type{border-bottom:none}
.section h2{font-size:clamp(30px,6vw,44px);margin-bottom:24px}
.project{border:1px solid var(--paper);padding:24px;display:flex;flex-direction:column;gap:14px}
.project .head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.project .title{font-family:var(--display);font-size:clamp(26px,5vw,38px);text-transform:uppercase;line-height:.95}
.badge{font-family:var(--mono);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;background:var(--red);color:var(--ink-0);padding:4px 8px;white-space:nowrap}
.badge--outline{background:transparent;color:var(--paper);border:1px solid var(--paper-dim)}
.project p{margin:0;max-width:60ch;color:var(--paper-dim)}
.readout{display:flex;gap:24px;flex-wrap:wrap;border-top:1px solid var(--ink-3);padding-top:14px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.readout b{font-weight:400;color:var(--acid)}
.readout .warn{color:var(--yellow)}
.mail{font-family:var(--mono);font-size:clamp(15px,4vw,22px);letter-spacing:.04em;align-self:flex-start;display:inline-block;padding:10px 14px;border:1px solid var(--red)}
.prose{max-width:64ch}
.prose p{margin:0 0 16px}
.prose h2{font-size:clamp(24px,4vw,32px);margin:32px 0 14px}
.prose h2:first-child{margin-top:0}
.prose ul{margin:0 0 16px;padding-left:20px}
.prose li{margin-bottom:6px}
.dim{color:var(--paper-dim)}
.kv{display:flex;flex-direction:column;gap:10px;max-width:460px}
.kv .row{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--ink-3);padding-bottom:8px}
footer{margin-top:auto;padding:20px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--paper-dim);border-top:1px solid var(--ink-3)}
footer a{color:var(--paper-dim);border-bottom:1px solid var(--ink-4)}
footer a:hover{background:none;color:var(--red)}
footer .blocks{letter-spacing:0;color:var(--ink-4)}
@media (max-width:479px){.hero{padding-top:48px}}
