:root{color-scheme:light;--bg: #f9f9f7;--paper: #ffffff;--ink: #050505;--muted: #555555;--line: #000000;--accent: #001eff;--accent-2: #001eff;--year-column-collapsed: clamp(43px, 7vw, 105px);--year-column-expanded: clamp(86px, 14vw, 210px);--year-column: var(--year-column-collapsed);--year-font-collapsed: clamp(14px, 2.1vw, 24px);--year-font-expanded: clamp(28px, 5vw, 78px);--year-font: var(--year-font-collapsed);--content-pad: clamp(14px, 3vw, 34px);--header-height: 64px;font-family:Helvetica Neue,Helvetica,Arial,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;padding-top:var(--header-height);background:var(--bg);color:var(--ink)}body.timeline-expanded{--year-column: var(--year-column-expanded);--year-font: var(--year-font-expanded)}body.info-open{overflow:hidden}body.landing-page{min-height:100svh;padding-top:0;overflow:hidden}button,input,textarea,select{font:inherit}.site-header{position:fixed;top:0;left:0;right:0;z-index:40;display:grid;grid-template-columns:minmax(140px,1fr) auto;align-items:center;gap:24px;height:var(--header-height);padding:10px var(--content-pad);background:var(--bg);border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}.site-title{display:inline-flex;align-items:center;gap:18px;color:var(--ink);font-size:13px;font-weight:400;letter-spacing:0;text-decoration:none;text-transform:uppercase}.landing-stack{display:grid;grid-template-rows:repeat(3,1fr);min-height:100svh}.landing-band{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;min-height:calc(100svh / 3);padding:10px var(--content-pad);border-bottom:1px solid var(--line);background:var(--bg);transition:min-height .64s cubic-bezier(.22,1,.36,1),height .64s cubic-bezier(.22,1,.36,1),transform .64s cubic-bezier(.22,1,.36,1),opacity .22s ease,background-color .16s ease}.landing-band:last-child{border-bottom:0}.landing-title,.landing-meta{color:var(--ink);font-size:clamp(18px,3vw,42px);font-weight:400;line-height:.95;letter-spacing:0;text-decoration:none;text-transform:uppercase;transition:font-size .64s cubic-bezier(.22,1,.36,1),color .16s ease}.landing-meta{justify-self:end;font-size:clamp(11px,1.4vw,18px);white-space:nowrap}.landing-page.is-transitioning .landing-band{pointer-events:none}.landing-page.is-transitioning .landing-band:not(.is-selected){opacity:0;transform:translateY(12px)}.landing-page.is-transitioning .landing-band.is-selected{position:fixed;top:0;left:0;right:0;z-index:50;min-height:var(--header-height);height:var(--header-height);transform:translateY(var(--landing-start-y, 0));border-bottom:1px solid var(--line)}.landing-page.is-transitioning .landing-band.is-selected.is-lifting{transform:translateY(0)}.landing-page.is-transitioning .landing-band.is-selected .landing-title,.landing-page.is-transitioning .landing-band.is-selected .landing-meta{font-size:13px;font-weight:400;line-height:1}@media(prefers-reduced-motion:reduce){.landing-band,.landing-title,.landing-meta{transition:none}}.header-tools{display:flex;align-items:center;justify-self:end;gap:8px;min-width:0}.filter-control{position:relative;display:flex;flex-direction:row-reverse;align-items:center;gap:8px;min-width:0;color:var(--ink);font-size:11px;font-weight:400;line-height:1;text-transform:uppercase}body.info-open .filter-control{display:none}.filter-trigger,.filter-tag,.filter-reset,.filter-cancel,.info-trigger{appearance:none;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--ink);cursor:pointer;font-size:11px;line-height:1;text-transform:uppercase}.filter-trigger{min-width:74px;padding:6px 11px 5px}.info-trigger{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:24px;height:24px;padding:0 0 1px;font-family:Georgia,Times New Roman,serif;font-size:15px;font-style:italic;text-transform:none}.info-trigger:hover,.info-trigger[aria-expanded=true]{background:var(--ink);color:var(--bg)}.filter-panel{display:flex;align-items:center;gap:8px;width:max-content;max-width:0;overflow:hidden;padding:0;border:0;background:transparent;opacity:0;pointer-events:none;transition:max-width .21s cubic-bezier(.22,1,.36,1),opacity .12s ease}.filter-control:hover .filter-panel,.filter-control.has-active .filter-panel{max-width:calc(100vw - 180px);opacity:1;pointer-events:auto}.filter-control:hover .filter-trigger,.filter-control:focus-within .filter-trigger,.filter-control.has-active .filter-trigger{background:var(--ink);color:var(--bg)}.filter-tags,.filter-actions{display:flex;align-items:center;gap:5px}.filter-tags{flex-wrap:nowrap;justify-content:flex-end;min-width:max-content}.filter-tag,.filter-reset,.filter-cancel{flex:0 0 auto;padding:5px 9px 4px}.filter-tag[aria-pressed=true]{order:1;background:var(--accent);border-color:var(--accent);color:#fff}.filter-control.has-active:not(:hover) .filter-tag[aria-pressed=false],.filter-actions{display:none}.filter-control:hover .filter-tag{display:inline-flex}.filter-reset,.filter-cancel{color:var(--muted)}.filter-trigger:focus-visible,.filter-tag:focus-visible,.filter-reset:focus-visible,.filter-cancel:focus-visible,.info-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.info-overlay{position:fixed;inset:var(--header-height) 0 0;z-index:30;display:grid;place-items:center;padding:var(--content-pad);background:#f9f9f794;backdrop-filter:blur(24px) saturate(150%);opacity:0;pointer-events:none;transition:opacity .16s ease}.info-overlay.is-open{opacity:1;pointer-events:auto}.info-content{width:min(560px,100%);color:var(--ink)}.info-content p{margin:0 0 12px;font-size:13px;font-weight:400;line-height:1.38}.making-page{min-height:calc(100svh - var(--header-height))}.making-project-row{display:grid;grid-template-columns:minmax(260px,31vw) minmax(0,1fr);grid-template-rows:minmax(0,1fr);height:calc(100svh - var(--header-height));min-height:calc(100svh - var(--header-height));overflow:hidden}.making-project-sidebar{display:grid;grid-template-rows:auto auto auto 1fr auto;align-content:start;gap:14px;min-width:0;padding:9px var(--content-pad) 30px;border-right:1px solid var(--line);overflow-y:auto}.making-project-sidebar h3{margin:0;font-size:clamp(20px,3.3vw,44px);font-weight:400;line-height:.94;letter-spacing:0;text-transform:uppercase}.making-project-sidebar .project-tags{justify-content:flex-start}.making-project-copy{display:grid;align-content:start;gap:12px;max-width:48ch}.making-project-copy p,.making-project-copy li,.making-project-links a{margin:0;color:var(--ink);font-size:12px;font-weight:400;line-height:1.35}.making-project-copy ul{display:grid;gap:5px;margin:0;padding-left:16px}.making-project-links-block{display:grid;align-content:start;gap:7px;align-self:end;margin-top:0}.making-project-links-block p{margin:0;color:var(--ink);font-size:12px;font-weight:400;line-height:1.35;text-transform:uppercase}.making-project-links{display:grid;gap:6px}.making-project-links a{display:inline;min-height:0;padding:0;text-decoration:none;text-transform:uppercase}.making-project-links a{text-decoration-line:underline;text-underline-offset:3px}.making-project-row .media-strip{align-items:stretch;min-height:0;padding-top:18px;padding-bottom:18px;overflow-y:hidden}.making-project-row .media-card{height:100%;min-height:0;max-height:100%}.making-project-row .media-card img,.making-project-row .media-card video{height:100%;width:auto}.course-row{min-height:calc(100svh - var(--header-height))}.course-strip{display:flex;align-items:stretch;gap:0;height:calc(100svh - var(--header-height));min-width:0;overflow-x:auto;overscroll-behavior-x:contain;padding:0;border-left:1px solid var(--line)}.course-sheet{--sheet-overlap: 0px;aspect-ratio:210 / 297;flex:0 0 auto;height:100%;margin:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg);position:relative}.course-sheet:after{content:attr(data-page-number);position:absolute;top:18px;right:18px;z-index:2;font-size:12px;font-weight:400;line-height:1}.course-sheet+.course-sheet{margin-left:calc(var(--sheet-overlap) * -1)}.course-sheet-cover,.course-sheet-text{display:grid;align-content:start;gap:16px;padding:18px;overflow-y:auto}.course-sheet-cover{grid-template-rows:auto auto 1fr auto}.course-sheet-cover p,.course-sheet-cover span,.course-sheet-text h3,.course-sheet-text h4,.course-sheet-text p,.course-sheet-text li{margin:0;font-size:12px;font-weight:400;line-height:1.35}.course-sheet-cover p,.course-sheet-cover span,.course-sheet-text h3,.course-sheet-text h4{text-transform:uppercase}.course-sheet-text h4{margin-top:8px;color:var(--muted)}.course-sheet-cover h2{align-self:start;margin:0;font-size:clamp(28px,5.2vh,54px);font-weight:400;line-height:.92;text-transform:uppercase}.course-cover-slideshow{align-self:end;display:grid;gap:7px;width:min(68%,250px);margin:0}.course-cover-frame{position:relative;aspect-ratio:4 / 3;overflow:hidden;background:#dedede}.course-cover-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .22s ease}.course-cover-slide.is-active{opacity:1}.course-cover-slideshow figcaption{margin:0;font-size:11px;font-weight:400;line-height:1.2;color:var(--muted);text-transform:uppercase}.course-sheet-text ol{display:grid;gap:8px;margin:0;padding-left:18px}.course-sheet-image{overflow:hidden;background:#dedede}.course-sheet-image img{display:block;width:100%;height:100%;object-fit:cover}.intro{min-height:clamp(220px,36vh,390px);display:flex;flex-direction:column;justify-content:end;padding:70px var(--content-pad) 26px;border-bottom:1px solid var(--line)}.kicker{margin:0 0 10px;color:var(--accent);font-size:11px;font-weight:400;letter-spacing:0;text-transform:uppercase}h1{max-width:980px;margin:0;font-size:clamp(30px,7.6vw,96px);font-weight:400;line-height:.9;letter-spacing:0}h1 span{display:block}.timeline{position:relative;padding-top:12px}.timeline:before{content:"";position:absolute;top:0;bottom:0;left:var(--year-column);width:1px;background:var(--line);z-index:2;pointer-events:none;transition:left .15s cubic-bezier(.22,1,.36,1)}.year-section{display:grid;grid-template-columns:var(--year-column) minmax(0,1fr);min-height:200px;border-bottom:1px solid var(--line);scroll-margin-top:88px;transition:grid-template-columns .15s cubic-bezier(.22,1,.36,1)}.year-marker{position:relative;padding:9px 18px 32px var(--content-pad)}.year-marker:after{content:none}.year-marker h2{position:sticky;top:73px;display:inline-block;margin:0;font-size:var(--year-font);font-weight:500;line-height:.9;letter-spacing:0;transition:font-size .15s cubic-bezier(.22,1,.36,1),opacity .12s ease}.year-projects{min-width:0}.project-row{display:grid;grid-template-rows:auto auto auto;border-bottom:1px solid var(--line)}.project-row:last-child{border-bottom:0}.project-heading,.project-info{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,38%);align-items:start;gap:clamp(18px,4vw,52px);padding:9px var(--content-pad)}.project-info{grid-template-columns:minmax(90px,160px) minmax(0,1fr);padding-top:9px;padding-bottom:10px}.project-index,.project-tags{margin:0;color:var(--ink);font-size:11px;font-weight:400;line-height:1.2;text-transform:uppercase}.project-tags{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px;padding-top:2px}.tag-pill{display:inline-flex;align-items:center;min-height:20px;padding:3px 8px 2px;border:1px solid var(--line);border-radius:999px;color:var(--ink);line-height:1;white-space:nowrap}.project-heading h3{margin:0;font-size:clamp(20px,3.3vw,44px);font-weight:400;line-height:.94;letter-spacing:0;text-transform:uppercase}.project-description{appearance:none;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;width:100%;max-width:72ch;margin:0;padding:0;border:0;background:transparent;color:var(--ink);font-size:12px;line-height:1.35;text-align:left;white-space:pre-line;cursor:pointer}.project-description:after{content:"";display:inline-flex;width:22px;height:22px;border:1px solid var(--line);border-radius:50%;background:linear-gradient(var(--ink),var(--ink)) center / 10px 1px no-repeat,linear-gradient(var(--ink),var(--ink)) center / 1px 10px no-repeat;transform:none}.project-description[aria-expanded=true]:after{background:var(--ink);background-image:linear-gradient(var(--bg),var(--bg));background-position:center;background-size:10px 1px;background-repeat:no-repeat}.media-strip{display:flex;gap:10px;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;padding:0 var(--content-pad) 18px var(--content-pad)}.media-strip:focus-visible{outline:2px solid var(--accent-2);outline-offset:6px}.media-card{flex:0 0 auto;margin:0;position:relative;height:clamp(225px,36vw,488px);overflow:hidden;background:#dedede}.media-card img,.media-card video{display:block;height:100%;width:auto;max-width:none;object-fit:contain}.media-card video{background:#191919}.media-card iframe{display:block;height:100%;width:120vh;min-width:320px;border:0;background:#191919}.media-caption{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;gap:12px;min-height:42px;padding:12px;color:#fff;font-size:10px;font-weight:400;background:linear-gradient(to top,#0000009e,#0000)}.media-type{text-transform:uppercase}@media(max-width:820px){:root{--mobile-line-collapsed: 0px;--mobile-line-expanded: 86px;--mobile-line: var(--mobile-line-collapsed);--year-font-collapsed: 0px;--year-font-expanded: clamp(18px, 5.8vw, 24px)}body.timeline-expanded{--mobile-line: var(--mobile-line-expanded)}.site-header{grid-template-columns:1fr;gap:12px;padding-top:10px;padding-bottom:8px}.filter-control{display:none}.timeline:before{left:var(--mobile-line);opacity:0}body.timeline-expanded .timeline:before{opacity:1}.year-section{display:grid;grid-template-columns:var(--mobile-line) minmax(0,1fr);transition:grid-template-columns .15s cubic-bezier(.22,1,.36,1)}.year-marker{overflow:hidden;padding:9px 12px 0 10px;opacity:0;transition:opacity .12s ease}body.timeline-expanded .year-marker{opacity:1}.year-marker h2{position:sticky;top:73px}.project-heading,.project-info{grid-template-columns:1fr;gap:8px;padding-left:10px;padding-right:18px}.project-tags{justify-content:flex-start}.media-strip{padding-left:10px}.media-card{height:clamp(195px,57vw,390px)}}@media(max-width:520px){h1{font-size:clamp(32px,12vw,54px)}.intro{min-height:240px}.media-strip{padding-right:18px}}
