:root{--ui-dark:#0a0a0a;--ui-dark2:#1a1a1a;--ui-dark3:#333;--accent:#3b82f6;--violet:#8b5cf6;--amber:#fbbf24;--ok:#22c55e;--bad:#ef4444;--text-light:#f0f0f0;--text-dim:#888;--mono:"SF Mono","Cascadia Mono","Consolas",ui-monospace,monospace;--rainbow:linear-gradient(90deg,#7ac143,#f7941e,#ed1c45,#ec008c,#92278f,#2e3192,#00aeef)}*{box-sizing:border-box;margin:0;padding:0}html,body{min-height:100%}body{background:var(--ui-dark);color:var(--text-light);background-image:radial-gradient(900px 480px at 50% -8%,#3b82f61a,#0000 70%),radial-gradient(700px 420px at 90% 110%,#8b5cf614,#0000 70%);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-size:13.5px;line-height:1.55}.wrap{max-width:1000px;margin:0 auto;padding:0 22px}.site-header{text-align:center;border-bottom:2px solid #0000;border-image:linear-gradient(90deg,#7ac143,#f7941e,#ed1c45,#ec008c,#92278f,#2e3192,#00aeef) 1;padding:44px 22px 18px}.tagline{text-transform:uppercase;letter-spacing:3px;color:var(--text-dim);margin-top:8px;font-size:11px}.site-header .desc{color:#a9adb4;max-width:560px;margin:14px auto 0}h1,h2,h3{letter-spacing:0;font-weight:800}.eyebrow{text-transform:uppercase;letter-spacing:2.5px;color:var(--text-dim);font-size:10.5px}.mono{font-family:var(--mono)}.panel{background:var(--ui-dark2);border:1px solid var(--ui-dark3);border-radius:14px;padding:20px 22px}.panel.section{border-left:4px solid var(--section-accent,var(--accent))}.panel.section .eyebrow{color:var(--section-accent,var(--accent))}.panel.section .tint{background:var(--section-tint,#3b82f629)}a.panel,.panel.clickable{color:inherit;text-decoration:none;transition:transform .18s,border-color .18s,box-shadow .18s;display:block}a.panel:hover,.panel.clickable:hover{border-color:var(--section-accent,var(--accent));transform:translateY(-3px);box-shadow:0 10px 28px #00000073}.btn{color:#fff;background:var(--section-accent,var(--accent));cursor:pointer;border:none;border-radius:9px;padding:11px 18px;font-size:13px;font-weight:700;transition:filter .15s;display:inline-block}.btn:hover{filter:brightness(1.15)}.btn:disabled,.btn[disabled]{filter:grayscale(.8)brightness(.55);cursor:not-allowed}.btn-secondary{border:1px solid var(--ui-dark3);color:var(--text-dim);background:0 0}.btn-secondary:hover{color:#fff;filter:none;border-color:#555}.btn-danger{background:var(--bad)}.btn-caution{background:var(--amber);color:#0a0a0a}.badge{text-transform:uppercase;letter-spacing:.6px;border:1px solid var(--ui-dark3);color:var(--text-dim);background:#000;border-radius:999px;padding:3px 10px;font-size:10px;font-weight:700;display:inline-block}.badge-ok{background:var(--ok);border-color:var(--ok);color:#0a0a0a}.badge-bad{background:var(--bad);border-color:var(--bad);color:#fff}.meter{border:1px solid var(--ui-dark3);background:#000;border-radius:99px;height:10px;overflow:hidden}.meter>span{background:var(--rainbow);border-radius:99px;height:100%;transition:width .4s;display:block}.meter.single>span{background:var(--section-accent,var(--accent))}input,select,textarea{border:1px solid var(--ui-dark3);color:var(--text-light);font:inherit;background:#101014;border-radius:9px;width:100%;padding:10px 12px;transition:border-color .15s}input:hover,select:hover,textarea:hover{border-color:#4a4a4a}input:focus,select:focus,textarea:focus{border-color:var(--section-accent,var(--accent));outline:none}label{color:var(--text-dim);margin-bottom:6px;font-size:12px;display:block}table{border-collapse:collapse;width:100%}th{text-align:left;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-dim);border-bottom:1px solid var(--ui-dark3);padding:10px 12px;font-size:10px;font-weight:700}td{border-bottom:1px solid var(--ui-dark3);padding:13px 12px}tr:last-child td{border-bottom:none}.alert{background:var(--ui-dark2);border:1px solid var(--ui-dark3);border-left:2px solid var(--accent);color:#cfcfcf;border-radius:10px;padding:14px 16px}.alert-ok{border-left-color:var(--ok)}.alert-warn{border-left-color:var(--amber)}.alert-bad{border-left-color:var(--bad)}.site-footer{text-align:center;padding:34px 22px 40px}.foot-bar{background:var(--rainbow);border-radius:99px;width:120px;height:2px;margin:0 auto 12px}.foot-text{font-family:var(--mono);color:var(--text-dim);font-size:11px}@media (max-width:520px){.grid,.grid-2,.grid-3{grid-template-columns:1fr!important}.site-header{padding:26px 16px 14px}.site-header svg{height:34px}}
[hidden]{display:none!important}html{font-size:100%}body{font-family:var(--font-inter), "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;flex-direction:column;min-height:100vh;font-size:.9375rem;display:flex}.tagline{font-size:.75rem}th{font-size:.6875rem}label{font-size:.75rem}.foot-text{font-size:.6875rem}:root{--control-edge:#5a5a5a}.btn:active,.icon-btn:active:not(:disabled),.filter-chip:active,.carousel-dot:active span,.thumb-strip-btn:active,.menu-button:active{transform:scale(.97)}.btn:active{filter:brightness(.9)}.icon-btn:active:not(:disabled),.filter-chip:active,.menu-button:active{background:#242424}@media (prefers-contrast:more){:root{--text-dim:#b0b0b0;--ui-dark3:#666;--control-edge:#8a8a8a}body{color:#f0f0f0}.page-head p,.description,.work-credit,.site-header .desc{color:#d0d3d8}}html,body{overflow-x:clip}main.wrap{flex:1;width:100%;min-width:0;padding-top:32px;padding-bottom:12px}.wrap-wide{max-width:1200px}.skip-link{z-index:50;clip-path:inset(100%);background:var(--ui-dark2);color:var(--text-light);border:1px solid var(--ui-dark3);border-radius:9px;padding:10px 14px;position:fixed;top:12px;left:12px;transform:translateY(calc(-100% - 24px))}.skip-link:focus{clip-path:none;transform:none}.site-top{z-index:40;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0a0a0adb;position:sticky;top:0}.site-top:after{content:"";background:var(--rainbow);position:absolute;bottom:0;left:0;right:0}.site-top-inner{justify-content:space-between;align-items:center;gap:16px;max-width:1200px;margin:0 auto;padding:12px 22px 14px;display:flex}.brand{color:inherit;flex-direction:column;gap:3px;min-width:0;text-decoration:none;display:inline-flex}.brand .wordmark{display:block}.brand .tagline{margin-top:0;font-size:.75rem}.site-nav ul{align-items:center;gap:4px;list-style:none;display:flex}.site-nav a{min-height:44px;color:var(--text-dim);border-radius:9px;align-items:center;padding:0 12px;text-decoration:none;transition:color .15s,background .15s;display:inline-flex}.site-nav a:hover{color:var(--text-light);background:var(--ui-dark2)}.site-nav a[aria-current=page]{color:var(--text-light)}.menu-button{width:44px;height:44px;color:var(--text-light);border:1px solid var(--control-edge);cursor:pointer;background:0 0;border-radius:9px;justify-content:center;align-items:center;display:none}@media (max-width:1240px){.menu-button{flex:none;display:inline-flex}.brand{flex:1 1 0}.site-top-inner{flex-wrap:wrap}.site-nav{width:100%;display:none}.site-nav.open{display:block}.site-nav ul{flex-direction:column;align-items:stretch;padding:6px 0 4px}.site-nav a{width:100%}}@media (max-width:520px){.site-top-inner{padding:10px 16px 12px}.brand .tagline{letter-spacing:1.5px;font-size:.75rem;line-height:1.4}main.wrap{padding-left:16px;padding-right:16px}}@media (max-width:480px){.brand .tagline{display:none}}.page-head h1{color:var(--text-light)}.empty{border:1px dashed var(--ui-dark3);text-align:center;padding:22px}.grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.status-table td,.status-table th{vertical-align:top}.status-table td{font-size:.8125rem}.status-table .mono{color:var(--text-dim);font-size:.75rem}.stat-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}.stat-row .panel{padding:14px 16px}.stat-row strong{color:var(--text-light);display:block}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.description{white-space:pre-line;max-width:720px;margin-top:10px;font-size:.875rem}.section-head{justify-content:space-between;gap:12px;display:flex}.section-link{align-items:center;min-height:44px;display:inline-flex}.home-section{margin-top:8px}.badge-row{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.badge-archived{color:var(--amber);border-color:#fbbf2473}.chip{letter-spacing:.3px;border-radius:999px;padding:3px 10px;font-size:.6875rem;font-weight:700;display:inline-block}.icon-btn{min-width:44px;min-height:44px;color:var(--text-light);border:1px solid var(--control-edge);cursor:pointer;background:0 0;border-radius:9px;justify-content:center;align-items:center;transition:border-color .15s,background .15s;display:inline-flex}.icon-btn:hover:not(:disabled){background:var(--ui-dark2);border-color:#7a7a7a}.icon-btn:disabled{opacity:.35;cursor:not-allowed}.btn{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.btn:hover{text-decoration:none}a.btn,a.btn:visited{color:#fff}a.btn-secondary,a.btn-secondary:visited{color:var(--text-dim)}a.btn-secondary:hover{color:#fff}.btn-secondary{border-color:var(--control-edge)}.btn-secondary:hover{border-color:#7a7a7a}.breadcrumbs ol{color:var(--text-dim);flex-wrap:wrap;gap:2px 0;margin-bottom:14px;font-size:.8125rem;list-style:none;display:flex}.breadcrumbs li{align-items:center;display:inline-flex}.breadcrumbs li+li:before{content:"/";color:#555;margin:0 8px}.breadcrumbs a{color:var(--text-dim);align-items:center;min-height:32px;display:inline-flex}.breadcrumbs a:hover{color:var(--text-light)}.breadcrumbs [aria-current]{color:#cfd2d8}.course-grid,.work-grid,.issue-grid,.recent-strip{list-style:none}.course-grid{display:grid}.course-card h3{color:var(--text-light);margin:4px 0 6px;font-size:1.125rem}main.wrap:has(.work-grid,.recent-strip,.course-grid){max-width:1200px}.work-grid{grid-template-columns:repeat(auto-fill,minmax(min(230px,100%),1fr));gap:18px;margin-top:14px;display:grid}.work-card{border-left:4px solid var(--section-accent,var(--accent));flex-direction:column;height:100%;padding:0;overflow:hidden;display:flex!important}.work-card-body{flex-direction:column;align-items:flex-start;display:flex}.search-meta{font-size:.6875rem}.thumb{aspect-ratio:4/3;object-fit:cover;border-bottom:1px solid var(--ui-dark3);background:#111;width:100%;max-width:100%;height:auto;display:block}.thumb-placeholder{justify-content:center;align-items:center;display:flex}.course-head h1{margin-top:2px}.filter-row{border:0;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:0 0 8px;display:flex}.filter-row ul{flex-wrap:wrap;gap:8px;list-style:none;display:flex}.filter-chip{border:1px solid var(--control-edge);min-height:44px;color:var(--text-dim);cursor:pointer;background:#000;align-items:center;gap:6px;padding:0 16px;text-decoration:none;display:inline-flex}.filter-chip:hover{color:var(--text-light);border-color:#7a7a7a;text-decoration:none}.filter-chip[aria-current=true]{color:#fff;border-color:var(--section-accent,var(--accent));background:var(--ui-dark2)}.radio-chip:has(input:checked){color:#fff;border-color:var(--section-accent,var(--accent));background:var(--ui-dark2)}.radio-chip input{width:auto;accent-color:var(--accent)}.project-section{border-top:1px solid var(--ui-dark3)}.project-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}main.wrap:has(.work-page){max-width:1200px}.slideshow{border:1px solid var(--ui-dark3);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:#050505;border-radius:14px;overflow:hidden}.slideshow-stage{touch-action:pan-y;justify-content:center;align-items:center;height:auto;min-height:0;max-height:min(70vh,760px);margin:12px auto;display:flex;position:relative}.slideshow-stage .slideshow-page{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;max-width:100%;max-height:100%;display:block;box-shadow:0 10px 28px #00000080}.slideshow-message{color:var(--text-dim);position:absolute}.slideshow-controls{border-top:1px solid var(--ui-dark3);background:var(--ui-dark2);align-items:center;gap:8px;padding:8px 12px;display:flex}.slideshow-count{text-align:center;min-width:64px;color:var(--text-light);font-size:.8125rem}.slideshow-progress{border-top:1px solid var(--ui-dark3);background:#000;height:5px;overflow:hidden}.slideshow-progress>span{background:var(--rainbow);height:100%;transition:width .3s;display:block}.slideshow-progress+.slideshow-controls{border-top:0}@media (prefers-reduced-motion:reduce){.slideshow-progress>span{transition:none}}.slideshow-spacer{flex:1}.thumb-strip{background:var(--ui-dark2);scrollbar-width:thin;gap:8px;padding:10px 12px 12px;list-style:none;display:flex;overflow-x:auto}.thumb-strip-btn{cursor:pointer;background:#000;border:2px solid #0000;border-radius:6px;min-width:44px;min-height:44px;padding:3px;display:block}.thumb-strip-btn img{background:#111;width:auto;min-width:40px;height:64px;display:block}.thumb-strip-btn[aria-current=true]{border-color:var(--section-accent,var(--accent))}.slideshow.is-fullscreen{border:0;border-radius:0;flex-direction:column;height:100vh;display:flex}.slideshow.is-fullscreen .slideshow-stage{flex:1;height:auto;max-height:none;margin:12px;aspect-ratio:auto!important}.work-meta{gap:14px;display:grid}.work-title-row{margin-bottom:14px}.work-title-row h1{color:var(--text-light)}.work-facts{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.work-facts div{background:var(--ui-dark2);border:1px solid var(--ui-dark3);border-radius:10px;padding:10px 14px}.work-facts dt{text-transform:uppercase;letter-spacing:2px;color:var(--text-dim);font-size:.6875rem}.work-facts dd{color:var(--text-light);margin-top:2px;font-size:.875rem}.work-pager{grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;display:grid}.work-pager>:first-child{justify-self:start}.work-pager>:last-child{justify-self:end}.work-pager .btn{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}@media (max-width:620px){.work-pager{grid-template-columns:1fr}.work-pager>*{justify-self:stretch!important}.work-pager>span:empty{display:none}.slideshow-stage{margin:8px}}.carousel{background:var(--ui-dark2);border:1px solid var(--ui-dark3);border-radius:14px;margin-bottom:18px;overflow:hidden}.carousel-slide{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);display:grid}.carousel-slide>*,.issue-feature>*{min-width:0}.carousel-slide[hidden]{display:none}.carousel-image{background-color:var(--ui-dark);background-image:linear-gradient(135deg, color-mix(in srgb, var(--slide,transparent) 16%, transparent), transparent 70%);justify-content:center;align-items:center;display:flex}.carousel-image .thumb{aspect-ratio:16/9;object-fit:contain;background:0 0;border-bottom:0;width:100%;height:auto}.carousel-caption{flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;padding:28px;display:flex}.carousel-course{text-transform:uppercase;letter-spacing:2.5px;font-size:.6875rem;font-weight:700}.carousel-project{opacity:.75;margin-top:4px;font-size:.875rem;font-weight:600}.carousel-title{color:var(--text-light);font-size:clamp(1.375rem,3vw,1.875rem);line-height:1.2}.carousel-caption .btn{margin-top:10px}.carousel-controls{border-top:1px solid var(--ui-dark3);align-items:center;gap:8px;padding:8px 12px;display:flex}.carousel-dots{flex-wrap:wrap;flex:1;justify-content:center;list-style:none;display:flex}.carousel-dot{cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.carousel-dot span{background:var(--control-edge);border-radius:999px;width:10px;height:10px;transition:width .2s,background .2s;display:block}.carousel-dot[aria-current=true] span{width:26px}@media (max-width:900px){.carousel-slide{grid-template-columns:minmax(0,1fr)}.carousel-caption{padding:18px}}.recent-strip{grid-template-columns:repeat(auto-fill,minmax(min(200px,100%),1fr));gap:16px;display:grid}.issue-feature{grid-template-columns:220px minmax(0,1fr);align-items:center;gap:20px;padding:14px;display:grid!important}.issue-feature .thumb{border:1px solid var(--ui-dark3);border-radius:9px}.issue-feature h3{color:var(--text-light);margin:4px 0 12px;font-size:1.25rem}@media (max-width:520px){.issue-feature{grid-template-columns:minmax(0,1fr)}}.about-list{gap:14px;display:grid}.about-course h3{margin-top:2px}.issue-grid{grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));display:grid}.issue-card{height:100%;padding:0;overflow:hidden}.issue-date{font-size:.75rem}.newsletter-frame{background:var(--ui-dark);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border:0;border-radius:0;width:100vw;max-width:none;min-height:200px;margin:8px calc(50% - 50vw) 0;display:block}main.wrap:has(.issue-page){max-width:1000px}.search-form{gap:10px;margin-bottom:14px;display:grid}.search-form input[type=search]{min-height:48px;font-size:1rem}.project-duration{color:var(--text-dim);margin-top:6px;font-size:.75rem}.project-info{grid-template-columns:minmax(0,1fr);gap:12px;max-width:720px;margin-top:16px;display:grid}.project-info>div{background:var(--ui-dark2);border:1px solid var(--ui-dark3);border-left:4px solid var(--section-accent,var(--accent));border-radius:10px;padding:12px 16px}.project-info dt{text-transform:uppercase;letter-spacing:2px;color:var(--text-dim);font-size:.6875rem}.project-info dd{color:var(--text-light);margin-top:4px;font-size:.875rem}.project-standards ul{gap:6px;margin-top:2px;list-style:none;display:grid}.project-standards li{color:#d9dbe0;padding-left:16px;font-size:.875rem;position:relative}.project-standards li:before{content:"";border-radius:999px;width:6px;height:6px;position:absolute;top:.6em;left:0}.panel.section .eyebrow{color:var(--section-text,var(--section-accent,var(--accent)))}a.btn:where(:not(.btn-secondary)):hover{filter:brightness(1.12)}.thumb-strip-placeholder{height:92px}.slideshow-stage .slideshow-page{margin:auto;position:absolute;inset:0}.panel.section,.work-card,.project-info>div{border-left-color:var(--section-edge,var(--section-accent,var(--accent)))}.filter-chip[aria-current=true],.thumb-strip-btn[aria-current=true]{border-color:var(--section-edge,var(--section-accent,var(--accent)))}.radio-chip:has(input:checked){border-color:var(--section-edge,var(--section-accent,var(--accent)))}input:focus,select:focus,textarea:focus{border-color:var(--section-edge,var(--section-accent,var(--accent)))}.student-grid{list-style:none;display:grid}.student-btn{justify-content:space-between;gap:10px;width:100%;font-size:.9375rem}.portfolio-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.share-link{flex-direction:column;align-items:flex-start;gap:6px;min-width:0;display:flex}.share-url{color:var(--text-dim);overflow-wrap:anywhere;font-size:.75rem}.work-project{color:var(--text-dim);margin-top:2px;font-size:.8125rem}.work-portfolios{margin-top:4px;font-size:.875rem}main.wrap:has(.student-grid){max-width:1200px}.card-stretch{position:relative}.card-stretch .card-link{color:inherit;text-decoration:none}.card-stretch .card-link:after{content:"";position:absolute;inset:0}.card-stretch .card-link:focus-visible{outline:none}.card-stretch:has(.card-link:focus-visible){outline:2px solid var(--section-accent,var(--accent));outline-offset:2px}.card-portfolios{z-index:1;margin-top:4px;font-size:.8125rem;position:relative}.search-group{margin:18px 0 8px}.student-card-grid{grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr));gap:12px;list-style:none;display:grid}.student-card{border-left:4px solid var(--section-accent,var(--accent));flex-direction:column;gap:3px;height:100%;padding:14px 16px;text-decoration:none;display:flex!important}.student-card-name{color:var(--text-light)}.student-card-meta{color:#a9adb4;font-size:.8125rem}.student-card-courses{color:var(--text-dim);font-size:.75rem}.student-card-cta{color:var(--section-text,var(--section-accent,var(--accent)));margin-top:6px;font-size:.8125rem}.gallery-jump{flex-wrap:wrap;gap:8px;display:flex}.gallery-jump .filter-chip{align-items:center;gap:8px;text-decoration:none;display:inline-flex}.gallery-jump .mono{color:var(--text-dim);font-size:.6875rem}.gallery-event{scroll-margin-top:80px}.gallery-event-head{flex-wrap:wrap;justify-content:space-between;gap:6px 16px;display:flex;position:relative}.gallery-event-head:after{content:"";background:var(--rainbow);border-radius:2px;width:120px;height:3px;position:absolute;bottom:0;left:0}.mosaic{grid-template-columns:repeat(auto-fill,minmax(min(210px,45%),1fr));grid-auto-rows:200px;grid-auto-flow:dense;gap:10px;list-style:none;display:grid}.mosaic-compact{grid-auto-rows:170px}.tile{position:relative}.tile-big{grid-area:span 2/span 2}.tile-wide{grid-column:span 2}.tile-tall{grid-row:span 2}.tile-open{cursor:zoom-in;border-radius:inherit;background:0 0;border:0;padding:0;position:absolute;inset:0}.tile-open:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.tile-caption{bottom:0;left:0;right:0}.tile-caption a{pointer-events:auto;position:relative}.tile .gallery-what{color:#fff;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.8125rem;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.tile-big .gallery-what{-webkit-line-clamp:3;font-size:1.0625rem}@media (hover:hover){.tile:hover .gallery-people,.tile:hover .gallery-date,.tile:focus-within .gallery-people,.tile:focus-within .gallery-date{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.tile img,.tile .gallery-people,.tile .gallery-date{transition:none}}@media (max-width:560px){.mosaic{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px;gap:8px}.tile-wide,.tile-big{grid-column:span 2}}.gallery-what{color:var(--text-light);font-size:.875rem;line-height:1.4}.gallery-people{color:#a9adb4;font-size:.8125rem}.gallery-date{color:var(--text-dim);font-size:.6875rem}.portfolio-photos{margin-top:12px}main.wrap:has(.mosaic){max-width:1200px}.lightbox{background:0 0;border:0;width:100vw;max-width:100vw;height:100vh;max-height:100vh;margin:auto;padding:0}.lightbox::backdrop{background:#000000eb}.lightbox[open]{flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex}.lightbox-figure{pointer-events:none;flex-direction:column;align-items:center;gap:10px;max-width:min(1200px,100vw - 32px);display:flex}.lightbox-figure img{object-fit:contain;pointer-events:auto;max-width:100%;max-height:calc(100vh - 170px)}.lightbox-figure figcaption{text-align:center;pointer-events:auto;gap:3px;display:grid}.lightbox-count{margin-left:6px}.lightbox-controls{gap:10px;display:flex}.resume{border-left:4px solid var(--accent);margin:4px 0 8px;padding:18px 20px}.resume h2{color:var(--text-light);margin-bottom:10px}.resume-list{gap:0;list-style:none;display:grid}.resume-list li{border-top:1px solid var(--control-edge);grid-template-columns:5.5rem minmax(0,1.4fr) minmax(0,1fr);align-items:baseline;gap:4px 16px;padding:9px 0;display:grid}.resume-list li:first-child{border-top:0}.resume-year{color:var(--text-dim);font-size:.75rem}.resume-show{color:var(--text-light);font-weight:600}.resume-role{color:#a9adb4;font-size:.875rem}@media (max-width:560px){.resume-list li{grid-template-columns:4.5rem minmax(0,1fr)}.resume-role{grid-column:2}}.slideshow-message{align-items:center;gap:10px;display:inline-flex}.slideshow-spinner{border:2px solid var(--control-edge);border-radius:50%;width:18px;height:18px;animation:.9s linear infinite slideshow-spin}@keyframes slideshow-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.slideshow-spinner{animation-duration:3s}}.issue-strip{border-left:4px solid #00aeef;grid-template-columns:96px minmax(0,1fr) auto;align-items:center;gap:16px;padding:10px 14px 10px 10px;text-decoration:none;display:grid!important}.issue-strip .thumb{aspect-ratio:16/10}.issue-strip-text{min-width:0}.issue-strip h2{color:var(--text-light);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;overflow:hidden}.issue-strip .btn{white-space:nowrap}@media (max-width:560px){.issue-strip{grid-template-columns:72px minmax(0,1fr);row-gap:10px}.issue-strip h2{white-space:normal}.issue-strip .btn{grid-column:1/-1}}:root{--poster-display:var(--font-display), "Anton", "Haettenschweiler", "Arial Narrow", Impact, var(--font-inter), "Inter", sans-serif;--poster-ink:#f0f0f0;--poster-body:#d9dbe0;--poster-meta:#a9adb4;--poster-dim:#9aa0a8;--poster-line:#2a2a2a;--poster-scrim:8, 8, 8;--lit:#00aeef;--lit-ink:#0a0a0a;--wash:14%;--r:0}.panel.work-card,.panel.course-card,.poster-slide,.project-info>div,.work-page,.panel.section,.student-card,.issue-strip{--poster-edge:var(--section-edge,var(--section-text,var(--section-accent,var(--lit))))}.issue-strip,.panel.issue-card{--poster-edge:#00aeef;--section-edge:#00aeef}body{color:var(--poster-body);background-image:none}a{color:var(--lit)}.btn:where(:not(.btn-secondary,.btn-danger,.btn-caution)){background:var(--poster-edge,var(--lit));color:var(--lit-ink)}a.btn:where(:not(.btn-secondary)),a.btn:where(:not(.btn-secondary)):visited{color:var(--lit-ink)}.resume{border-left-color:var(--lit)}.slideshow-spinner{border-top-color:var(--lit)}.carousel-dot[aria-current=true] span{background:var(--dot,var(--lit))}.site-top:after{height:4px}.site-nav a{text-transform:uppercase;letter-spacing:.1em;font-size:12.5px;font-weight:700}.site-nav a[aria-current=page]{box-shadow:inset 0 -3px}.brand .tagline{letter-spacing:.22em;color:#9ea3ab}.site-footer{padding-top:0}.foot-bar{border-radius:0;width:100%;max-width:none;height:4px;margin:0 0 22px}.foot-line{color:var(--poster-meta);max-width:46ch;margin:0 auto 16px;font-size:15px;line-height:1.5}.foot-nav{flex-wrap:wrap;justify-content:center;gap:0 6px;margin:0 0 18px;padding:0;list-style:none;display:flex}.foot-nav li{display:inline-flex}.foot-nav a{min-height:44px;color:var(--poster-dim);text-transform:uppercase;letter-spacing:.16em;align-items:center;padding:0 12px;font-size:11.5px;font-weight:800;text-decoration:none;display:inline-flex}.foot-nav a:hover{color:var(--poster-ink)}.foot-text{text-transform:uppercase;letter-spacing:.18em;color:var(--poster-dim)}.page-head{margin-bottom:34px}.page-head h1,.work-title-row h1,.poster-title{font-family:var(--poster-display);text-transform:uppercase;letter-spacing:.012em;color:var(--poster-ink);text-wrap:balance;font-weight:400}.page-head h1{font-size:clamp(2.75rem,8.5vw,5rem);line-height:1.08}.page-head p{color:var(--poster-meta);max-width:46ch;margin-top:12px;font-size:15px}.section-head{align-items:flex-end;margin:52px 0 18px}.section-head h2{font-family:var(--poster-display);text-transform:uppercase;letter-spacing:.015em;color:var(--poster-ink);font-size:clamp(1.5rem,3.2vw,2.25rem);font-weight:400;line-height:1.08}.section-head h2:before{content:"";background:var(--section-edge,var(--poster-line));width:64px;height:4px;margin-bottom:12px;display:block}.section-link{text-transform:uppercase;letter-spacing:.12em;color:var(--poster-body);border-bottom:2px solid var(--poster-line);flex:none;padding-bottom:2px;font-size:11.5px;font-weight:800;text-decoration:none}.section-link:hover{border-bottom-color:currentColor}.eyebrow{letter-spacing:.14em;color:var(--poster-meta);align-items:center;gap:10px;font-size:.75rem;font-weight:800;display:flex}.eyebrow:before{content:"";background:currentColor;flex:none;width:20px;height:2px}.filter-row .eyebrow{display:inline-flex}.panel,.work-facts div,.project-info>div,.tile,.resume{border-radius:var(--r);background-image:linear-gradient(#ffffff0e,#fff0 140px);box-shadow:inset 0 1px #ffffff0f}.panel.section,.student-card,.project-info>div,.issue-strip,.panel.course-card{background-image:linear-gradient(100deg, color-mix(in srgb, var(--poster-edge,var(--lit)) var(--wash), transparent), transparent 62%), linear-gradient(180deg, #ffffff0e, #fff0 140px)}a.panel,.panel.clickable{transition:box-shadow .22s,border-color .22s}a.panel:hover,.panel.clickable:hover{--wash:26%;border-color:var(--poster-edge,var(--lit));box-shadow:inset 0 1px 0 #ffffff1a, 0 18px 40px -14px #000000bf, 0 0 46px -16px var(--poster-edge,var(--lit));transform:none}.poster-hero{border-bottom:5px solid #0000;border-image:var(--rainbow) 1;background:#060606;width:100vw;margin:0 calc(50% - 50vw) 8px;position:relative}main.wrap>.poster-hero:first-child,main.wrap>.sr-only:first-child+.poster-hero{margin-top:-32px}.poster-hero:before{content:"";z-index:-1;pointer-events:none;height:300px;color:var(--hero-stop,var(--lit));opacity:.22;background:radial-gradient(64% 100% at 50% 100%,currentColor,#0000 72%);transition:color .8s;position:absolute;top:-300px;left:0;right:0}.poster-stage{position:relative}.poster-slide{min-height:min(66vh,600px);display:block;position:relative;overflow:hidden}.poster-slide[hidden]{display:none}.poster-media{background:#0d0d0d;display:block;position:absolute;inset:0;overflow:hidden}.poster-img{object-fit:cover;filter:blur(26px)brightness(.5)saturate(1.15);width:100%;height:100%;display:block;transform:scale(1.12)}.poster-plate{background:repeating-linear-gradient(128deg, #ffffff0d 0 2px, transparent 2px 12px), linear-gradient(146deg, var(--section-accent,#444) -28%, #0000 64%), #0b0b0b;display:block;position:absolute;inset:0;overflow:hidden}.poster-ghost{font-family:var(--poster-display);text-transform:uppercase;letter-spacing:.01em;color:var(--poster-edge,#fff);opacity:.22;white-space:nowrap;font-size:clamp(4.5rem,15vw,13rem);font-weight:400;line-height:.86;display:block;position:absolute;top:4%;left:max(22px,50vw - 600px);right:0}.poster-veil{pointer-events:none;background:linear-gradient(to right, rgba(var(--poster-scrim), .5) 0%, rgba(var(--poster-scrim), .2) 50%, rgba(var(--poster-scrim), .1) 100%), linear-gradient(to top, rgba(var(--poster-scrim), .35) 0%, rgba(var(--poster-scrim), .05) 50%, rgba(var(--poster-scrim), .2) 100%);display:block;position:absolute;inset:0}.is-typographic .poster-veil{background:linear-gradient(to top, rgba(var(--poster-scrim), .35) 0%, rgba(var(--poster-scrim), .06) 45%, rgba(var(--poster-scrim), .22) 100%)}.poster-body{z-index:1;pointer-events:none;align-items:center;min-height:min(66vh,600px);display:flex;position:relative}.poster-inner{pointer-events:auto;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:center;gap:48px;width:100%;max-width:1200px;margin:0 auto;padding:40px 22px;display:grid;position:relative}.poster-copy{flex-direction:column;align-items:flex-start;gap:10px;display:flex;position:relative}.poster-copy:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 45% 50%, rgba(var(--poster-scrim), .9) 45%, rgba(var(--poster-scrim), 0) 100%);position:absolute;inset:-56px -72px}.poster-frame{aspect-ratio:16/9;border-bottom:5px solid var(--poster-edge,var(--lit));box-shadow:0 0 0 1px #ffffff14, inset 0 1px 0 #ffffff14, 0 34px 70px -24px #000000f2, 0 0 90px -24px var(--section-accent,var(--lit));background:#000;transition:box-shadow .3s,transform .5s;display:block;position:relative}.poster-frame-img{object-fit:contain;width:100%;height:100%;display:block}.poster-slide:hover .poster-frame{box-shadow:0 0 0 1px #ffffff1f, inset 0 1px 0 #ffffff1a, 0 40px 80px -24px #000000f2, 0 0 110px -22px var(--section-accent,var(--lit));transform:translateY(-3px)}.is-typographic .poster-inner{grid-template-columns:minmax(0,1fr)}.is-typographic .poster-body{align-items:flex-end}.is-typographic .poster-inner{padding-top:190px;padding-bottom:34px}.poster-billing{letter-spacing:.1em;text-transform:uppercase;flex-wrap:wrap;align-items:baseline;gap:6px 14px;font-size:.8125rem;font-weight:700;display:flex}.poster-tag{background:var(--section-accent,var(--lit));color:#0a0a0a;letter-spacing:.2em;align-items:center;padding:5px 9px 4px;font-size:10.5px;line-height:1;display:inline-flex}.poster-no{font-family:var(--mono);letter-spacing:.1em;color:var(--poster-dim)}.poster-project{color:var(--poster-meta);letter-spacing:.16em;font-weight:700}.poster-title{max-width:17ch;margin:2px 0;font-size:clamp(2.25rem,5vw,4rem);line-height:1.04}.is-typographic .poster-title{font-size:clamp(2.5rem,7.4vw,5.25rem)}.poster-credit{color:var(--poster-body);max-width:46ch;font-size:15.5px}.poster-cta{margin-top:14px}.poster-rail{z-index:2;background:#060606eb;border-top:1px solid #ffffff17;position:relative}.poster-rail-inner{align-items:center;gap:4px;max-width:1200px;margin:0 auto;padding:6px 12px;display:flex}.poster-arrow{color:var(--poster-body);border-color:#0000;border-radius:0}.poster-arrow:hover:not(:disabled){background:#ffffff14;border-color:#0000}.poster-index{flex-wrap:wrap;flex:1;justify-content:center;gap:2px;list-style:none;display:flex}.poster-stop{cursor:pointer;min-width:44px;min-height:44px;font-family:var(--mono);letter-spacing:.08em;color:var(--poster-dim);background:0 0;border:0;border-bottom:3px solid #0000;padding:0 6px;font-size:12px;transition:color .15s,border-color .15s}.poster-stop:hover{color:var(--poster-ink);border-bottom-color:#4a4a4a}.poster-stop[aria-current=true]{color:var(--poster-ink);border-bottom-color:var(--stop,var(--lit))}.poster-count{color:var(--poster-dim);letter-spacing:.1em;font-size:12px;display:none}.poster-count span{color:#55595f}@media (max-width:900px){.poster-slide,.poster-body{min-height:0}.poster-inner{grid-template-columns:minmax(0,1fr);gap:22px;padding:22px 22px 28px}.poster-frame{order:-1}.poster-copy:before{inset:-28px -40px}.is-typographic .poster-slide,.is-typographic .poster-body{min-height:min(74vh,560px)}}@media (max-width:760px){.poster-copy{gap:8px}.poster-title{max-width:14ch}.poster-index{display:none}.poster-count{text-align:center;flex:1;display:block}}@media (max-width:520px){.poster-inner{padding-left:16px;padding-right:16px}.poster-credit{font-size:14.5px}}.issue-strip{border-radius:var(--r);border-left-width:5px;margin:22px 0 6px}.issue-strip .thumb{border-radius:0}.issue-strip h2{font-family:var(--poster-display);text-transform:uppercase;letter-spacing:.015em;font-size:clamp(1.25rem,2.2vw,1.6rem);font-weight:400;line-height:1.08}.issue-date{text-transform:uppercase;letter-spacing:.16em;color:var(--poster-dim)}.work-grid,.recent-strip{grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:30px 24px;margin-top:18px}.panel.work-card{box-shadow:none;background:0 0;border:0;border-radius:0;gap:0;padding:0;overflow:visible}a.work-card:hover,.panel.work-card.clickable:hover{box-shadow:none;border-color:#0000;transform:none}.panel.work-card .thumb{aspect-ratio:16/9;border-bottom:5px solid var(--poster-edge,var(--lit));filter:saturate(.92);background:#0d0d0d;border-radius:0;transition:filter .25s,border-bottom-width .18s,box-shadow .25s,transform .5s;box-shadow:inset 0 1px #ffffff0f}a.work-card:hover .thumb{filter:saturate(1.06)brightness(1.06);box-shadow:inset 0 1px 0 #ffffff1a, 0 22px 44px -16px #000c, 0 0 48px -14px var(--poster-edge,var(--lit));border-bottom-width:9px}@media (hover:hover){a.work-card:hover .thumb{transform:translateY(-3px)}}.thumb-placeholder{background-color:#0b0b0b;background-image:repeating-linear-gradient(128deg,#ffffff0d 0 2px,#0000 2px 11px),linear-gradient(146deg,currentColor -34%,#0000 58%);position:relative}.work-card-body{gap:6px;padding:14px 0 0}.work-title{font-family:var(--poster-display);text-transform:uppercase;letter-spacing:.015em;color:var(--poster-ink);font-size:clamp(1.22rem,1.7vw,1.6rem);font-weight:400;line-height:1.08}a.work-card:hover .work-title{color:#fff;text-decoration:none}.work-credit{color:var(--poster-body);font-size:.9375rem;font-weight:600}.search-meta{color:var(--poster-dim);letter-spacing:.04em}.panel.work-card .chip,.search-result .chip{letter-spacing:.06em;text-transform:uppercase;background:0 0;border-radius:0;align-items:center;gap:8px;margin-top:2px;padding:0;font-size:.8125rem;font-weight:700;display:inline-flex}.panel.work-card .chip:before,.search-result .chip:before{content:"";background:var(--poster-edge,var(--lit));flex:none;width:10px;height:10px}.course-grid{grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:20px}.panel.course-card{--wash:30%;border:0;border-top:6px solid var(--poster-edge,var(--lit));background-color:#101010;border-radius:0;gap:10px;min-height:158px;padding:18px 20px 20px}a.panel.course-card{flex-direction:column;justify-content:flex-end;display:flex}.panel.course-card .eyebrow{color:var(--section-text,var(--poster-meta));margin-bottom:auto}.panel.course-card h3{font-family:var(--poster-display);text-transform:uppercase;letter-spacing:.015em;color:var(--poster-ink);margin:0;font-size:clamp(1.6rem,2.7vw,2.15rem);font-weight:400;line-height:1.08}.course-count{color:var(--poster-dim);text-transform:uppercase;letter-spacing:.16em;font-size:11px}a.course-card:hover{--wash:46%}.btn{border-radius:var(--r);text-transform:uppercase;letter-spacing:.14em;min-height:48px;padding:0 24px;font-size:12px;font-weight:800}.btn-secondary{border-width:2px}.filter-chip{border-radius:var(--r);text-transform:uppercase;letter-spacing:.12em;border-width:2px;font-size:11.5px;font-weight:800}.filter-chip[aria-current=true]{background:0 0}.badge{border-radius:var(--r);letter-spacing:.16em;padding:5px 10px;font-size:10px;font-weight:800}.icon-btn,.menu-button,.skip-link,input,select,textarea{border-radius:var(--r)}.panel.issue-feature{box-shadow:none;background:0 0;border:0;border-top:4px solid #00aeef;border-radius:0;grid-template-columns:260px minmax(0,1fr);align-items:start;gap:26px;padding:22px 0 0}.panel.issue-feature .thumb{aspect-ratio:4/3;border:0;border-radius:0}.panel.issue-feature h3{font-family:var(--poster-display);text-transform:uppercase;letter-spacing:.015em;color:var(--poster-ink);margin:6px 0 16px;font-size:clamp(1.6rem,3vw,2.4rem);font-weight:400;line-height:.92}.issue-grid{gap:30px 22px}.panel.issue-card{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.panel.issue-card .thumb{aspect-ratio:16/9;border-bottom:5px solid #00aeef;border-radius:0;transition:filter .25s,box-shadow .25s}a.issue-card:hover{box-shadow:none;transform:none}a.issue-card:hover .thumb{filter:brightness(1.08);box-shadow:0 22px 44px -16px #000c,0 0 48px -14px #00aeef}.panel.issue-card .work-card-body{padding:14px 0 0}.panel.issue-card .work-title,.issue-grid h3{font-family:var(--poster-display)}.course-head h1,.project-head h2{text-wrap:balance}.project-section{border-top-color:var(--poster-line);margin-top:44px;padding-top:28px}.project-head h2{font-family:var(--poster-display);text-transform:uppercase;letter-spacing:.015em;font-size:clamp(1.45rem,2.6vw,2rem);font-weight:400;line-height:1.08}.project-head h2 a{color:var(--poster-ink);text-decoration:none}.project-head h2 a:hover{text-underline-offset:5px;text-decoration:underline;text-decoration-thickness:3px}.description{color:var(--poster-meta)}.project-info>div,.work-facts div{border-color:var(--poster-line);border-left:5px solid var(--poster-edge,var(--lit));background-color:#121212;border-radius:0}.project-info dt,.work-facts dt{letter-spacing:.2em;color:var(--poster-dim);font-weight:800}.project-standards li:before{background:var(--poster-edge,var(--lit))}.empty{border-color:var(--poster-line);color:var(--poster-meta);border-radius:0}.work-title-row h1{font-size:clamp(2.25rem,6vw,4.25rem);line-height:1.08}.work-credit-lg{color:var(--poster-body);letter-spacing:.01em;margin-top:10px;font-size:17px}.work-meta{margin-top:30px}.work-page .slideshow{border-color:var(--poster-line);border-radius:0}.work-page .slideshow-controls,.work-page .thumb-strip{background:#111}.work-pager{border-top:1px solid var(--poster-line);margin-top:40px;padding-top:22px}.gallery-event-head{align-items:flex-end;margin:52px 0 18px;padding-bottom:0}.gallery-event-head:after{display:none}.gallery-event-head h2{font-family:var(--poster-display);text-transform:uppercase;letter-spacing:.015em;color:var(--poster-ink);font-size:clamp(1.5rem,3.2vw,2.25rem);font-weight:400;line-height:1.08}.gallery-event-head h2:before{content:"";background:var(--poster-line);width:64px;height:4px;margin-bottom:12px;display:block}.gallery-event-head p{text-transform:uppercase;letter-spacing:.16em;color:var(--poster-dim);font-size:11px}.gallery-jump{margin:0 0 6px}.mosaic,.mosaic-compact{columns:3;grid-template-columns:none;grid-auto-rows:auto;grid-auto-flow:row;column-gap:24px;display:block}.tile,.tile-big,.tile-wide,.tile-tall{grid-area:auto}.tile{break-inside:avoid;box-shadow:none;isolation:auto;background:0 0;border-radius:0;flex-direction:column;margin:0 0 30px;display:flex;overflow:visible}.tile-big{column-span:all}.tile-big img{aspect-ratio:21/9;object-fit:cover}.tile img{aspect-ratio:4/3;object-fit:cover;border-bottom:3px solid var(--poster-line);filter:saturate(.96);width:100%;height:auto;transition:filter .25s,box-shadow .25s,transform .5s;display:block;position:relative;inset:auto;box-shadow:inset 0 1px #ffffff0f}.tile-open{z-index:1}.tile-caption{z-index:2;pointer-events:none;background:0 0;flex-direction:column;gap:6px;padding:14px 0 0;display:flex;position:relative;inset:auto}.tile .gallery-what,.tile-big .gallery-what{font-family:var(--poster-display);text-transform:uppercase;letter-spacing:.015em;color:var(--poster-ink);-webkit-line-clamp:unset;font-size:clamp(1.22rem,1.7vw,1.6rem);font-weight:400;line-height:1.08;display:block;overflow:visible}.tile .gallery-people{color:var(--poster-meta);font-size:13px}.tile .gallery-people a{color:inherit;text-underline-offset:3px;-webkit-text-decoration:underline #5a5a5a;text-decoration:underline #5a5a5a}.tile .gallery-people a:hover{color:var(--poster-ink);text-decoration-color:currentColor}.tile .gallery-date{color:var(--poster-dim);letter-spacing:.04em;text-transform:uppercase;font-size:.8125rem}@media (hover:hover){.tile .gallery-people,.tile .gallery-date{opacity:1;transition:none;transform:none}.tile:hover img,.tile:focus-within img{filter:saturate(1.06)brightness(1.06);transform:translateY(-3px);box-shadow:inset 0 1px #ffffff1a,0 22px 44px -16px #000c,0 0 48px -14px #ffffff4d}}@media (max-width:900px){.mosaic,.mosaic-compact{columns:2}}@media (max-width:640px){.mosaic,.mosaic-compact{columns:1}.tile{margin-bottom:26px}.tile-big img{aspect-ratio:16/9}}.lightbox-figure img{border-radius:0}.student-grid{grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr));gap:16px}.btn.student-btn{min-height:84px;color:var(--poster-ink);text-transform:uppercase;letter-spacing:.015em;font-family:var(--poster-display);text-align:left;background:#101010 linear-gradient(#ffffff0e,#fff0 140px);border:0;border-top:4px solid #2e2e2e;justify-content:space-between;align-items:flex-end;gap:12px;padding:16px 18px;font-size:1.4rem;font-weight:400;line-height:1.08;transition:box-shadow .22s,border-color .22s;box-shadow:inset 0 1px #ffffff0f}a.btn.student-btn,a.btn.student-btn:visited{color:var(--poster-ink)}a.btn.student-btn:hover,a.btn.student-btn:visited:hover{color:#fff;border-top-color:var(--lit);filter:none;box-shadow:inset 0 1px 0 #ffffff1a, 0 18px 40px -14px #000000bf, 0 0 46px -16px var(--lit)}.student-count{font-family:var(--mono);letter-spacing:.12em;color:var(--poster-dim);flex:none;font-size:12px}.btn.student-btn:hover .student-count{color:var(--poster-body)}.search-form input[type=search]{border-radius:var(--r)}.result-count{text-transform:uppercase;letter-spacing:.16em;color:var(--poster-dim)}.student-card{border-radius:var(--r);border-left-width:5px}.student-card-name{font-family:var(--poster-display);text-transform:uppercase;letter-spacing:.015em;font-size:1.3rem;font-weight:400;line-height:1.08}.resume h2{font-family:var(--poster-display);text-transform:uppercase;letter-spacing:.015em;font-size:1.5rem;font-weight:400}.about-course h3{font-family:var(--poster-display);text-transform:uppercase;letter-spacing:.015em;font-size:clamp(1.35rem,2.4vw,1.85rem);font-weight:400;line-height:1.08}.about-course h3 a{color:var(--poster-ink);text-underline-offset:5px;text-decoration-color:#4a4a4a;text-decoration-thickness:3px}.about-course h3 a:hover{text-decoration-color:currentColor}.alert{border-radius:var(--r)}.stat-row strong{font-family:var(--poster-display);font-size:2.1rem;font-weight:400;line-height:1}@media (max-width:640px){.work-grid,.recent-strip{grid-template-columns:minmax(0,1fr);gap:26px}.panel.issue-feature{grid-template-columns:minmax(0,1fr);gap:16px}.panel.issue-feature .thumb{aspect-ratio:16/9}.section-head{margin-top:40px}}:focus-visible{outline-offset:3px;border-radius:0;outline:3px solid #fff}.poster-stop:focus-visible,.poster-arrow:focus-visible{outline-offset:-3px}@media (prefers-reduced-motion:reduce){.poster-frame,.poster-slide:hover .poster-frame{transition:none;transform:none}a.work-card:hover .thumb{transform:none}.poster-hero:before{transition:none}}@media (prefers-contrast:more){:root{--poster-meta:#d9dbe0;--poster-dim:#c6cad2;--poster-line:#6a6a6a}.poster-veil{background:rgba(var(--poster-scrim), .85)}.poster-img{filter:blur(26px)brightness(.25)}.poster-copy:before{background:rgba(var(--poster-scrim), .97);inset:-20px -24px}.poster-plate,.thumb-placeholder{background:#0c0c0c}.poster-ghost,.poster-hero:before{display:none}.panel.work-card .thumb{border-bottom-width:6px}.panel,.work-facts div,.project-info>div,.tile,.resume,.panel.section,.student-card,.issue-strip,.panel.course-card{background-image:none}.panel.course-card{background-color:#121212}.foot-nav a,.site-nav a{color:#d9dbe0}}.brand{min-width:220px}.site-nav{flex-shrink:0}@media (max-width:480px){.brand{min-width:0}}.search-form>label{font-size:.875rem}.home-search{flex-wrap:wrap;align-items:flex-end;gap:14px 18px;margin:4px 0 8px;display:flex}.home-search form{flex:420px;min-width:0}.home-search label{margin-bottom:8px;font-size:.8125rem}.home-search-row{align-items:stretch;gap:10px;display:flex}.home-search-row input[type=search]{border-radius:var(--r);flex:auto;min-width:0;min-height:48px;font-size:1rem}.home-search-row .btn{flex:none}.home-search>.btn-secondary{flex:none;align-items:center;min-height:48px;display:inline-flex}@media (max-width:560px){.home-search>.btn-secondary{justify-content:center;width:100%}}.browse{grid-template-columns:250px minmax(0,1fr);align-items:start;gap:36px;display:grid}.browse-rail{overscroll-behavior:contain;scrollbar-width:thin;flex-direction:column;gap:26px;min-width:0;max-height:calc(100vh - 112px);margin:-3px -6px -3px -3px;padding:3px 6px 3px 3px;display:flex;position:sticky;top:96px;overflow-y:auto}.browse-rail .search-form{margin-bottom:0}.facet{border:0;flex-direction:column;gap:10px;min-width:0;margin:0;padding:0;display:flex}.facet legend{padding:0}.facet .filter-row{margin:0}.facet-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.facet-btn{cursor:pointer;text-align:left;width:100%;min-height:44px;font:inherit;color:var(--poster-body);border:1px solid var(--ui-dark3);border-radius:var(--r);background:0 0;align-items:center;gap:10px;padding:0 12px;font-size:.8125rem;font-weight:600;transition:border-color .15s,background .15s,color .15s;display:flex}.facet-btn:hover{color:var(--poster-ink);border-color:var(--control-edge)}.facet-btn:active{transform:scale(.99)}.facet-btn[aria-pressed=true]{color:var(--poster-ink);border-color:var(--control-edge);background:#1f1f1f}.facet-dot{background:var(--facet-dot,var(--lit));flex:none;width:10px;height:10px}.facet-name{overflow-wrap:anywhere;flex-grow:1;min-width:0}.facet-count{color:var(--poster-dim);flex:none;font-size:.6875rem}.facet-note{color:var(--poster-dim);border-top:1px solid var(--poster-line);margin:0;padding-top:16px;font-size:.75rem;line-height:1.55}.browse-results{flex-direction:column;gap:14px;min-width:0;display:flex}.browse-head{border-bottom:1px solid var(--poster-line);justify-content:space-between;align-items:baseline;gap:20px;padding-bottom:10px;display:flex}.browse-head .result-count{margin:0}.browse-clear{cursor:pointer;min-height:44px;font:inherit;color:var(--lit);background:0 0;border:0;padding:8px 0;font-size:.8125rem;font-weight:700}.browse-clear:hover:not(:disabled){text-underline-offset:4px;text-decoration:underline}.browse-clear:disabled{color:var(--poster-dim);cursor:not-allowed}.browse-active{flex-wrap:wrap;align-items:center;gap:8px;min-height:36px;margin:0;padding:0;list-style:none;display:flex}.browse-none{color:var(--poster-dim);font-size:.75rem}.browse-pill{cursor:pointer;min-height:36px;font:inherit;background:var(--ui-dark2);color:var(--text-light);border:1px solid var(--control-edge);border-radius:var(--r);align-items:center;gap:9px;padding:0 12px;font-size:.75rem;font-weight:600;display:inline-flex}.browse-pill:hover{border-color:#7a7a7a}.browse-pill:active{transform:scale(.98)}@media (max-width:900px){.browse{grid-template-columns:minmax(0,1fr);gap:22px}.browse-rail{gap:18px;max-height:none;position:static;overflow:visible}.facet-list{flex-flow:wrap}.facet-btn{width:auto}.facet-note{display:none}}.load-more{justify-items:center;gap:10px;margin:32px 0;display:grid}.result-count{font-size:.8125rem}.course-empty-note,.viewer-help,.status-help{color:var(--poster-meta);font-size:.875rem;line-height:1.6}.course-empty-note{text-transform:none;letter-spacing:normal}.empty .btn,.work-title-row .share-link{margin-top:16px}.tile .gallery-what,.tile-big .gallery-what{font-family:var(--font-inter), Inter, sans-serif;text-transform:none;letter-spacing:0;font-size:1rem;font-weight:600;line-height:1.45}.tile .gallery-people{font-size:.875rem}.slideshow-stage{overflow:auto}.slideshow-stage.is-loading{min-height:240px}.slideshow-error{text-align:center;flex-direction:column;max-width:100%;padding:12px}.slideshow-controls{flex-wrap:wrap}.zoom-control{letter-spacing:.04em;min-height:44px;padding:0 12px;font-size:.75rem}.is-zoomed .slideshow-stage{touch-action:pan-x pan-y;cursor:grab;justify-content:flex-start;align-items:flex-start}.is-zoomed .slideshow-stage:active{cursor:grabbing}.is-zoomed .slideshow-stage .slideshow-page{flex-shrink:0;max-width:none;max-height:none;margin:0;position:relative;inset:auto}.viewer-help{padding:10px 14px}.status-help{margin:20px 0}.status-group{border-top:1px solid var(--poster-line);margin-top:20px;padding-top:16px}.status-group summary{cursor:pointer;min-height:44px;font-weight:700}.status-problem{border-left:3px solid var(--amber);background:var(--ui-dark2);margin:10px 0;padding:12px}.status-problem.is-error{border-left-color:var(--bad)}.status-problem p{overflow-wrap:anywhere;margin-top:6px}@media (max-width:520px){.section-head{flex-wrap:wrap}.slideshow-controls{gap:6px;padding:8px}.slideshow-count{min-width:46px}.slideshow-controls .slideshow-spacer{display:none}.zoom-control{margin-left:auto}.slideshow-controls .zoom-control{flex:100%;order:1;margin:0}}.stat-row strong.mono{font-family:var(--mono);overflow-wrap:anywhere;line-height:1.5}.stat-row .eyebrow{letter-spacing:.08em}.website-photo-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem;display:grid}.website-photo-grid img{width:100%;height:auto}.website-photo-grid figure{margin:0}.newsletter-issue-picker{scroll-snap-type:x proximity;gap:12px;padding:0 0 18px;display:flex;overflow-x:auto}.newsletter-issue-picker a{scroll-snap-align:start;border:1px solid #555;border-top-width:3px;flex:0 0 240px;padding:18px;text-decoration:none}.newsletter-issue-picker a[aria-current=page]{background:#111e27;border-color:#00aeef}.newsletter-issue-picker span,.newsletter-issue-picker strong{display:block}.newsletter-issue-picker span{color:#aaa;margin-bottom:10px;font-size:.8rem}
@media print{@page{margin:16mm 14mm}:root{--ui-dark:#fff;--ui-dark2:#fff;--ui-dark3:#c9c9c9;--text-light:#1a1a1a;--text-dim:#555;--control-edge:#999;--poster-ink:#111;--poster-body:#1a1a1a;--poster-meta:#555;--poster-dim:#555;--poster-line:#c9c9c9;--poster-display:Georgia, "Times New Roman", serif;--lit:#1a1a1a;--lit-ink:#fff;--wash:0%;--poster-edge:var(--section-accent,#1a1a1a);--section-text:#444}html,body{color:#1a1a1a;background:#fff!important}body{font-size:10.5pt;line-height:1.55}body,h1,h2,h3,h4,h5,h6,p,li,a,span,div,button,th,td,dt,dd,figcaption,legend,label,.eyebrow,.chip,.badge{font-family:Georgia,Times New Roman,serif}.mono,.share-url,.foot-text,.resume-year,.gallery-date,.issue-date,code{font-family:var(--mono)}h1{text-transform:none;font-size:24pt;font-weight:700;line-height:1.15}h2{font-size:15pt;font-weight:700;line-height:1.25}h3{text-transform:none;font-size:12.5pt;font-weight:700;line-height:1.3}h1,h2,h3,h4{break-after:avoid;color:#111}.eyebrow{color:#555;letter-spacing:.18em;font-size:8pt}a{color:#1a1a1a;text-decoration:none}.site-top{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;position:relative}.site-top:after{-webkit-print-color-adjust:exact;print-color-adjust:exact;height:3px}.site-top-inner{padding-top:0;padding-bottom:10px}.brand .tagline{color:#555}.foot-bar,.section-head h2:before,.gallery-event-head:after,.gallery-event-head h2:before{display:none!important}.poster-hero,.issue-strip,.panel.issue-card,.work-pager,img{border-image-source:none!important;border-image-width:0!important}.panel.work-card,.panel.course-card,.poster-slide,.project-info>div,.work-page,.panel.section,.student-card,.issue-strip{--poster-edge:var(--section-accent,#1a1a1a)!important;--section-edge:var(--section-accent,#1a1a1a)!important;--section-text:#444!important}.chip{background:0 0;border-color:#999;color:#1a1a1a!important}.skip-link,.site-nav,.menu-button,.btn,.icon-btn,.load-more,.filter-row,.filter-chip,.radio-chip,.search-form,.foot-nav,.browse-rail,.browse-active,.browse-clear,.carousel-controls,.carousel-dots,.poster-arrow,.poster-rail,.slideshow-controls,.slideshow-progress,.thumb-strip,.zoom-control,.viewer-help,.lightbox,.gallery-jump,.poster-cta{display:none!important}.share-link{display:block}.share-url{color:#333;font-size:8.5pt}.panel,.panel.course-card,.panel.work-card,.panel.section,.panel.issue-card,.student-card,.issue-strip,.tile,.resume,.work-page,.project-info>div,.work-facts div,.poster-slide{border-color:#c9c9c9;box-shadow:none!important;background-color:#fff!important;background-image:none!important;transform:none!important}.badge{color:#333;background:0 0;border-color:#999}.poster-plate{border:1px solid #c9c9c9;background:#fff!important}.poster-ghost{opacity:.35;color:var(--section-accent,#666)!important}.thumb,.thumb-placeholder{border-bottom-color:#c9c9c9;background:#fff!important}.panel.work-card,.work-page,.panel.section:not(.course-card),.student-card,.project-info>div{-webkit-print-color-adjust:exact;print-color-adjust:exact;border-left:3px solid var(--poster-edge)!important}.panel.course-card{-webkit-print-color-adjust:exact;print-color-adjust:exact;border-top:5px solid var(--poster-edge)!important}.panel,.work-card,.course-card,.student-card,.issue-card,article,figure,.resume-list li,.gallery-event{break-inside:avoid}.section-head{break-after:avoid}img,.thumb{object-fit:contain;break-inside:avoid;max-width:100%;height:auto;max-height:85mm}.work-grid,.course-grid,.student-card-grid,.student-grid,.issue-grid,.recent-strip,.mosaic{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;display:grid!important}main.wrap,.wrap,.wrap-wide{max-width:none;padding:0}.browse{display:block}.site-footer{border-top:1px solid #c9c9c9;padding:18px 0 0}.foot-line{color:#555;font-size:9pt}.foot-text{color:#555;font-size:8pt}}
