:root{--bg: #f6f5f1;--fg: #141414;--muted: #7a7873;--rule: #d9d6cf;--hover: #ecebe5;--sans: "Archivo", system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, monospace;color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--bg: #111110;--fg: #ecebe6;--muted: #8a8882;--rule: #2a2927;--hover: #1b1b19}}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--fg);font-family:var(--sans);font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.wrap{max-width:1120px;margin:0 auto;padding:0 32px}.site-header{display:flex;justify-content:space-between;align-items:baseline;padding-top:32px}.mark{font-weight:600;letter-spacing:-.02em}.site-header nav{display:flex;gap:28px;font-size:15px;color:var(--muted)}.site-header nav a:hover{color:var(--fg)}.site-footer{border-top:1px solid var(--rule);margin-top:18vh;padding:32px 0 48px;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;font-size:15px;color:var(--muted)}.site-footer a:hover{color:var(--fg)}.site-footer .links{display:flex;gap:28px;flex-wrap:wrap}.label{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.hero{padding:22vh 0 14vh}.hero h1{font-weight:500;letter-spacing:-.045em;line-height:.95;font-size:clamp(56px,11vw,168px)}.hero p{margin-top:40px;max-width:30ch;font-size:clamp(20px,2.2vw,26px);line-height:1.35;letter-spacing:-.01em}.hero p span{color:var(--muted)}.work,.about{--cell: 16px;--cols: 40px 1.1fr 1.6fr 170px 24px}.work .label{padding:0 var(--cell) 16px;border-bottom:1px solid var(--fg)}.row{display:grid;grid-template-columns:var(--cols);gap:24px;align-items:baseline;padding:32px var(--cell);border-bottom:1px solid var(--rule);position:relative;isolation:isolate}.row:before{content:"";position:absolute;inset:0;z-index:-1;background:var(--hover);opacity:0;transition:opacity .25s ease}.row:hover:before,.row:focus-visible:before{opacity:1}.row .n{font-family:var(--mono);font-size:13px;color:var(--muted)}.row h2{font-size:clamp(24px,2.6vw,34px);font-weight:500;letter-spacing:-.03em;line-height:1.1}.row .d{color:var(--muted);max-width:42ch}.status{font-family:var(--mono);font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.status i{display:inline-block;width:6px;height:6px;border-radius:50%;border:1px solid currentColor;margin-right:8px;vertical-align:1px}.row .a{font-family:var(--mono);font-size:13px;line-height:1;color:var(--muted);text-align:right;transform:translate(-10px);transition:transform .3s ease,color .25s ease}.row .a svg{width:22px;height:22px;display:inline-block;vertical-align:middle}.row:hover .a,.row:focus-visible .a{color:var(--fg)}.row:hover .a,.row:focus-visible .a{transform:translate(0)}.row:focus-visible{outline:none}@media(prefers-reduced-motion:reduce){.row:before,.row .a{transition:none}}.split{display:grid;grid-template-columns:1fr 1.6fr;gap:24px}.about{display:grid;grid-template-columns:var(--cols);column-gap:24px;align-items:baseline;padding:18vh var(--cell) 0}.about .label{grid-column:1 / 3}.about>div{grid-column:3 / 6}.about p{font-size:clamp(20px,2vw,24px);line-height:1.4;letter-spacing:-.01em;max-width:34ch}.about p+p{margin-top:20px;color:var(--muted)}.back{display:inline-block;margin-top:18vh;font-size:15px;color:var(--muted)}.back:hover{color:var(--fg)}.project-head{padding:32px 0 12vh}.project-head h1{font-weight:500;letter-spacing:-.04em;line-height:1;font-size:clamp(48px,8vw,120px)}.project-head .meta{margin-top:24px;display:flex;gap:24px;flex-wrap:wrap}.project-head .lead{margin-top:40px;max-width:34ch;font-size:clamp(20px,2.2vw,26px);line-height:1.35;letter-spacing:-.01em}.block{padding:40px 0;border-top:1px solid var(--rule)}.prose p{max-width:60ch}.prose p+p{margin-top:16px}.list{list-style:none;max-width:60ch}.list li{padding:10px 0;border-bottom:1px solid var(--rule)}.list li:last-child{border-bottom:0}.muted{color:var(--muted)}.links-inline{display:flex;gap:28px;flex-wrap:wrap}.links-inline a{border-bottom:1px solid var(--rule)}.links-inline a:hover{border-color:var(--fg)}.legal{max-width:680px;padding-top:32px}.legal h1{font-weight:500;letter-spacing:-.03em;line-height:1.05;font-size:clamp(36px,5vw,56px);margin-bottom:12px}.legal .updated{font-family:var(--mono);font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:48px}.legal h2{font-size:20px;font-weight:600;letter-spacing:-.01em;margin:40px 0 12px}.legal p,.legal li{line-height:1.65}.legal p+p{margin-top:14px}.legal ul{padding-left:20px}.legal li{margin-bottom:10px}.legal a{border-bottom:1px solid var(--rule)}.legal a:hover{border-color:var(--fg)}.legal code{font-family:var(--mono);font-size:.88em}@media(max-width:760px){body{font-size:16px}.wrap{padding:0 16px}.site-header{padding-top:20px}.site-header nav{gap:18px}.hero{padding:16vh 0 10vh}.work,.about{--cell: 12px;--cols: 28px 1fr 20px}.row{gap:8px 12px;padding:22px var(--cell)}.about{column-gap:12px;row-gap:16px;padding-top:12vh}.about .label{grid-column:1 / -1}.about>div{grid-column:2 / 4}.row .n{grid-row:1}.row h2{grid-column:2}.row .a{grid-column:3;grid-row:1}.row .d,.row .status{grid-column:2 / 4}.row .a svg{width:20px;height:20px}.split{grid-template-columns:1fr;gap:16px}.back{margin-top:10vh}.site-footer{flex-direction:column}}
