:root{--paper: #000000;--ink: #ffffff;--preview-border: color-mix(in srgb, var(--ink) 16%, transparent);--line: color-mix(in srgb, var(--ink) 16%, transparent);--gutter: clamp(1rem, 2.2vw, 2rem);--text-small: clamp(.75rem, 1vw, 1.125rem);--text-label: clamp(.625rem, .9vw, 1rem);--text-control: clamp(.875rem, 1.1vw, 1.25rem);color:var(--ink);background:var(--paper);font-family:IBM Plex Mono,monospace;font-synthesis:none;font-kerning:normal}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;color:var(--ink);background:var(--paper);transition:color .4s cubic-bezier(.16,1,.3,1),background-color .4s cubic-bezier(.16,1,.3,1)}button,a{color:inherit}button{font:inherit}a{text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid currentColor;outline-offset:3px}.site-shell{min-height:100vh;overflow:hidden}.masthead{display:grid;grid-template-columns:auto 1fr auto;gap:0 1.5rem;align-items:center;min-height:4.5rem;padding:0 var(--gutter);font-size:var(--text-small);text-transform:uppercase}.wordmark{width:max-content;padding:.75rem 0;font-weight:500}.palette-button{display:flex;gap:.625rem;align-items:center;min-height:2.75rem;padding:0;border:0;background:none;color:inherit;text-transform:uppercase;cursor:pointer}.palette-dot{width:.875rem;height:.875rem;border:1px solid currentColor;border-radius:50%;background:var(--ink)}.hero{position:relative;min-height:clamp(28rem,64svh,46rem);padding:clamp(1.5rem,3vw,3rem) var(--gutter) 2rem}.eyebrow,footer{font-size:var(--text-small);line-height:1.5;text-transform:uppercase}.eyebrow{margin:0;justify-self:end}h1,h2,p{margin-top:0}h1,h2{font-family:Faculty Glyphic,sans-serif;font-weight:400}h1{margin-bottom:clamp(1.5rem,3vh,3rem);font-size:clamp(3.75rem,10.5vw,10rem);line-height:1.05}h1 span{display:block;white-space:nowrap}.title-indent{margin-left:0}.hero-notes{margin-top:auto}.intro{max-width:32ch;margin-bottom:0;font-size:clamp(1rem,1.5vw,1.35rem);line-height:1.35}.student-section{padding:0 var(--gutter) clamp(6rem,14vw,12rem)}.student-list{margin:0;padding:0;list-style:none}.student-row{display:grid;grid-template-columns:minmax(3rem,.75fr) 3fr minmax(9rem,auto);gap:1rem;align-items:center;min-height:clamp(5.5rem,9vw,8.5rem);border-bottom:1px solid var(--line)}.student-number,.forthcoming{font-size:var(--text-small);text-transform:uppercase}.student-name{font-family:Faculty Glyphic,sans-serif;font-size:clamp(1.75rem,4vw,3.75rem);line-height:1;white-space:nowrap}.student-row-link{text-decoration:none;cursor:pointer}.row-action{justify-self:end;padding:.75rem 0;font-size:var(--text-label);text-decoration:underline transparent;text-underline-offset:.25em}.student-row-link:hover .row-action,.student-row-link:focus-visible .row-action{text-decoration-color:currentColor}.student-row-link:active{opacity:.72}.student-list:has(.student-row-link:hover) .student-row-link:not(:hover),.student-list:has(.student-row-link:focus-visible) .student-row-link:not(:focus-visible){opacity:.38}.student-row-link{transition:opacity .24s cubic-bezier(.16,1,.3,1)}.forthcoming{justify-self:end;opacity:.72}.site-preview{position:fixed;z-index:10;top:50%;right:var(--gutter);width:min(42vw,40rem);max-width:calc((100svh - 6rem)*1.6);border:1px solid var(--preview-border);background:var(--paper);opacity:0;pointer-events:none;transform:translate(2rem,-50%);transition:opacity .18s ease-out,transform .36s cubic-bezier(.16,1,.3,1),background-color .4s cubic-bezier(.16,1,.3,1),border-color .4s cubic-bezier(.16,1,.3,1)}.site-preview.is-visible{opacity:1;transform:translateY(-50%)}.preview-viewport{position:relative;aspect-ratio:16 / 10;overflow:hidden;background:#f2f0e8}.preview-image{display:block;width:100%;height:100%;object-fit:contain}.preview-message{position:absolute;inset:0;display:grid;place-content:center;margin:0;padding:2rem;background:var(--paper);color:var(--ink);font-size:var(--text-small);line-height:1.6;text-align:center}footer{display:grid;grid-template-columns:1fr auto;gap:1rem;padding:1.25rem var(--gutter) 3rem}footer p{margin:0}@media(max-width:48rem){.masthead{grid-template-columns:1fr auto;padding-top:.75rem;padding-bottom:.75rem}.masthead .eyebrow{grid-column:1 / -1;grid-row:2;justify-self:start}.hero{min-height:28rem}h1{font-size:clamp(3.5rem,13.5vw,7rem);line-height:1.05}.hero-notes{grid-template-columns:1fr;max-width:calc(100% - 4.5rem)}.intro{grid-column:1}.student-row{grid-template-columns:2.5rem 1fr;padding:1rem 0}.row-action{display:none}.forthcoming{grid-column:2;justify-self:start}.student-name{font-size:clamp(1rem,5.5vw,2rem)}footer{grid-template-columns:1fr auto}.site-preview{display:none}}@media(hover:none){.site-preview{display:none}}@media(max-width:30rem){h1{font-size:clamp(2.4rem,13vw,5rem)}}@media(max-width:18rem){:root{--gutter: .5rem}.student-row{grid-template-columns:1.5rem 1fr;gap:.5rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body,.student-row-link,.site-preview{transition:none}}[hidden]{display:none!important}.work-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.5rem;padding:0;border-bottom:1px solid var(--line)}.work-views{display:flex;gap:1.5rem;margin-bottom:-1px}.work-views button{min-height:2.75rem;padding:.65rem 0;border:0;border-bottom:2px solid transparent;background:none;color:var(--ink);cursor:pointer;font-size:var(--text-control)}.work-views button[aria-pressed=true]{border-bottom-color:currentColor}.work-views button:not([aria-pressed=true]){color:color-mix(in srgb,var(--ink) 65%,var(--paper))}.work-views button:hover{color:var(--ink);border-bottom-color:currentColor}.week-control{display:flex;align-items:center;gap:1rem}.gallery-count,.project-week{font-size:var(--text-small);line-height:1.6}.week-control select{max-width:100%;min-height:2.75rem;padding:.65rem 1.25rem .65rem 0;border:0;border-bottom:2px solid transparent;border-radius:0;font:inherit;font-size:var(--text-small);color:var(--ink);background-color:var(--paper);cursor:pointer}.week-control select:focus{outline:none}.gallery-heading{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:.75rem 2rem;padding:2.5rem 0 1.5rem}.gallery-heading h2{margin:0;font-size:clamp(1.8rem,3.5vw,3.25rem);line-height:1.2}.gallery-count{margin:0}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.75rem 1.5rem;margin:0;padding:0;list-style:none}.project-link{display:block}.project-image{position:relative;isolation:isolate;aspect-ratio:16 / 10;overflow:hidden;background:color-mix(in srgb,var(--ink) 8%,var(--paper));border:1px solid var(--preview-border);background-clip:padding-box}.project-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:var(--paper);transition:transform .24s ease-out}.preview-fallback{display:none;position:absolute;inset:0;align-content:center;justify-items:center;gap:.75rem;padding:1rem;font-size:var(--text-small)}.has-missing-preview .preview-fallback{display:grid}.project-link:hover img{transform:scale(1.025)}.project-caption{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.45rem .75rem;padding-top:1rem}.project-student{font-family:Faculty Glyphic,sans-serif;font-size:clamp(1.1rem,1.65vw,1.65rem);line-height:1.25;overflow-wrap:anywhere}.project-caption h3{grid-column:1 / -1;margin:0;font-size:var(--text-small);font-weight:400;line-height:1.5}.project-week{white-space:nowrap;color:color-mix(in srgb,var(--ink) 50%,transparent)}.gallery-empty{grid-column:1 / -1;padding:3rem 0;line-height:1.6}@media(max-width:64rem){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:40rem){.work-toolbar{align-items:stretch;gap:1rem;border-bottom:0}.work-views{width:100%;margin-bottom:0;border-bottom:1px solid var(--line)}.work-views button{margin-bottom:-1px}.week-control{width:100%;justify-content:space-between;gap:.5rem}.week-control select{min-width:0}.project-grid{grid-template-columns:1fr;gap:2rem}.gallery-heading{padding-top:2rem}.project-student{font-size:1.35rem}}@media(prefers-reduced-motion:reduce){.project-image img{transition:none}.project-link:hover img{transform:none}}.gallery-filters{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem}.project-type{grid-column:1 / -1;width:fit-content;margin-top:.25rem;font-size:clamp(.5625rem,.75vw,.8125rem);text-transform:uppercase;letter-spacing:.08em;opacity:.7}@media(max-width:40rem){.gallery-filters{width:100%}}
