:root{--bg: #f4f2ea;--fg: #111;--muted: #5b5b55;--line: #111;--soft-line: rgba(17, 17, 17, .18);--accent: #f30028;--mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;--sans: Inter, Helvetica, Arial, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--sans);line-height:1.45;text-rendering:optimizeLegibility}a{color:inherit;text-decoration-thickness:.08em;text-underline-offset:.18em}a:hover{color:var(--accent)}img,video{display:block;max-width:100%;height:auto}.skip-link{position:absolute;left:1rem;top:-3rem;padding:.5rem .75rem;background:var(--fg);color:var(--bg);z-index:99}.skip-link:focus{top:1rem}.site-header{min-height:64px;border-bottom:2px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center;padding:1rem clamp(1rem,3vw,2rem);position:sticky;top:0;background:#f4f2eaed;backdrop-filter:blur(8px);z-index:10;font-family:var(--mono);text-transform:lowercase}.brand{font-weight:700;letter-spacing:-.03em}.brand a{text-decoration:none}.brand span{color:var(--muted)}.top-nav{display:flex;flex-wrap:wrap;gap:.75rem 1rem;justify-content:flex-end;font-size:.85rem}main{width:min(100%,1680px);margin:0 auto}.intro{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);min-height:62vh;border-bottom:2px solid var(--line)}.intro-title,.intro-copy{padding:clamp(1rem,4vw,3rem)}.intro-title{display:flex;flex-direction:column;justify-content:space-between;border-right:2px solid var(--line)}.eyebrow,.context,.kicker,.meta dt,.video-slot span{margin:0;font-family:var(--mono);text-transform:lowercase;color:var(--muted)}.eyebrow{color:var(--accent);font-weight:700}h1{font-size:clamp(2.5rem,9vw,5.75rem);line-height:.88;letter-spacing:-.08em;margin:8vh 0 0;max-width:11ch;text-transform:lowercase}.intro-copy{display:flex;flex-direction:column;justify-content:flex-end;font-family:var(--mono);font-size:clamp(1rem,1.6vw,1.35rem)}.intro-copy p{margin:0 0 1.2rem}.index-block{display:grid;grid-template-columns:220px 1fr;border-bottom:2px solid var(--line)}.index-block h2{margin:0;padding:1rem clamp(1rem,3vw,2rem);border-right:2px solid var(--line);font-family:var(--mono);font-size:1rem;text-transform:lowercase}.project-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.project-index a{display:grid;grid-template-columns:4ch 1fr;gap:.4rem 1rem;padding:1rem;border-bottom:1px solid var(--soft-line);border-right:1px solid var(--soft-line);text-decoration:none}.project-index a:hover{background:var(--fg);color:var(--bg)}.project-index span,.project-index em{font-family:var(--mono);font-style:normal;color:inherit;opacity:.66}.project-index strong{font-size:clamp(1rem,2vw,1.45rem);line-height:1.05;letter-spacing:-.04em}.project-index em{grid-column:2;font-size:.78rem}.work{border-bottom:2px solid var(--line);scroll-margin-top:80px}.work-head{display:grid;grid-template-columns:220px 1fr;border-bottom:2px solid var(--line)}.work-number{padding:1rem clamp(1rem,3vw,2rem);border-right:2px solid var(--line);font-family:var(--mono);font-size:clamp(2rem,6vw,5rem);line-height:.82;letter-spacing:-.08em;color:var(--accent)}.work-head>div:nth-child(2){padding:1rem clamp(1rem,3vw,2rem) 1.25rem}.work h2{font-size:clamp(2rem,7vw,6.5rem);line-height:.88;letter-spacing:-.08em;margin:.4rem 0 .35rem;text-transform:lowercase}.kicker{color:var(--fg)}.work-layout{display:grid;grid-template-columns:minmax(300px,.38fr) minmax(0,.62fr)}.work-copy{padding:clamp(1rem,3vw,2rem);border-right:2px solid var(--line);position:sticky;top:64px;align-self:start;max-height:calc(100vh - 64px);overflow:auto}.work-copy p{max-width:62ch}.lead{font-size:clamp(1.08rem,1.45vw,1.45rem);line-height:1.3;letter-spacing:-.02em}.meta{display:grid;gap:1rem;margin:2rem 0 0;padding-top:1rem;border-top:1px solid var(--soft-line)}.meta div{display:grid;grid-template-columns:80px 1fr;gap:1rem}.meta dt{color:var(--accent)}.meta dd{margin:0}.meta ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem}.meta li{border:1px solid var(--line);padding:.16rem .45rem .2rem;font-family:var(--mono);font-size:.78rem}.video-slots{margin-top:1.5rem;display:grid;gap:.5rem}.video-slot{border:1px solid var(--line);padding:.7rem;font-family:var(--mono);background:#11111109}.video-slot strong{display:block;font-size:.9rem;margin:.2rem 0}.video-slot code{display:block;white-space:normal;overflow-wrap:anywhere;font-size:.76rem;color:var(--muted)}.media-column{padding:clamp(1rem,3vw,2rem)}.hero-media{margin:0 0 1rem;border:2px solid var(--line)}.hero-media img{width:100%;max-height:80vh;object-fit:cover}.image-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.image-grid figure{margin:0;border:1px solid var(--line);background:#ddd}.image-grid img{width:100%;aspect-ratio:4 / 3;object-fit:cover}.site-footer{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:clamp(1rem,4vw,3rem);border-top:2px solid var(--line);background:var(--fg);color:var(--bg)}.site-footer h2{font-size:clamp(2rem,7vw,6rem);line-height:.88;letter-spacing:-.08em;margin:0 0 .5rem;text-transform:lowercase}.site-footer p{font-family:var(--mono);margin:0}.contact-links{display:grid;gap:.4rem;align-content:start;justify-items:start;font-family:var(--mono)}.site-footer a:hover{color:var(--bg);text-decoration-thickness:.18em}@media (max-width: 980px){.site-header,.intro,.index-block,.work-head,.work-layout,.site-footer{grid-template-columns:1fr}.intro-title,.index-block h2,.work-number,.work-copy{border-right:0}.intro-title{border-bottom:2px solid var(--line)}h1{margin-top:15vh}.project-index{grid-template-columns:1fr}.work-copy{position:static;max-height:none;border-bottom:2px solid var(--line)}.work-number{border-bottom:2px solid var(--line)}}@media (max-width: 640px){.site-header{position:static}.top-nav{justify-content:flex-start}.image-grid{grid-template-columns:1fr}.meta div{grid-template-columns:1fr;gap:.25rem}}.video-slots{margin-top:1.5rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;max-width:420px}.video-slot{padding:0;border:1px solid var(--line);background:#11111109;font-family:var(--mono)}.video-slot>span,.video-slot>strong,.video-slot>code{display:none}.video-trigger{width:100%;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;text-align:left;font:inherit}.video-trigger__preview{position:relative;display:block}.video-trigger__play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:48px;height:48px;border:2px solid #fff;border-radius:50%;background:#111111d9;box-shadow:0 2px 8px #00000040;pointer-events:none}.video-trigger:hover .video-trigger__play,.video-trigger:focus-visible .video-trigger__play{background:var(--accent)}.video-trigger img{width:100%;aspect-ratio:16 / 9;object-fit:cover;display:block;border-bottom:1px solid var(--line);filter:grayscale(100%)}.video-trigger:hover img,.video-trigger:focus-visible img{filter:grayscale(0%)}.video-trigger__meta{display:grid;gap:.15rem;padding:.5rem}.video-trigger__label{font-size:.68rem;color:var(--accent);text-transform:lowercase}.video-trigger__title{font-size:.76rem;line-height:1.15;text-transform:lowercase}.video-trigger__hint{font-size:.66rem;color:var(--muted);text-transform:lowercase}.video-overlay[hidden]{display:none}.video-overlay{position:fixed;inset:0;z-index:999;display:grid;place-items:center;padding:clamp(1rem,3vw,2rem)}.video-overlay__backdrop{position:absolute;inset:0;background:#000000c7}.video-overlay__panel{position:relative;width:min(1120px,96vw);max-height:92vh;background:var(--bg);color:var(--fg);border:2px solid var(--line);padding:.75rem;box-shadow:0 0 0 2px var(--bg)}.video-overlay__bar{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:.75rem;font-family:var(--mono)}.video-overlay__title{margin:0;font-size:.85rem;text-transform:lowercase}.video-overlay__close{border:1px solid var(--line);background:transparent;color:inherit;font-family:var(--mono);cursor:pointer;padding:.35rem .55rem}.video-overlay__close:hover,.video-overlay__close:focus-visible{background:var(--fg);color:var(--bg)}.video-overlay video{width:100%;max-height:calc(92vh - 4.5rem);background:#000}body.video-overlay-open{overflow:hidden}@media (max-width: 480px){.video-slots{grid-template-columns:1fr;max-width:none}}
