:root{--paper:#f3f1eb;--ink:#171714;--muted:#62625b;--line:#cfcec5;--accent:#c84320;--space:clamp(20px,4vw,72px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:4px}button,input{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:var(--ink);color:white;padding:15px}.skip:focus{top:10px}.shell{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100vh}.sidebar{padding:36px 26px;border-right:1px solid var(--line);position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.brand{font-size:29px;font-weight:900;line-height:.93;letter-spacing:-1.5px;text-decoration:none;display:block}.brand span{display:block}.brand .design{color:var(--accent);margin-top:6px}.nav{display:flex;flex-direction:column;gap:3px;margin-top:55px}.nav a{text-decoration:none;font-size:15px;line-height:1.3;padding:8px 10px;margin-left:-10px;display:flex;justify-content:space-between}.nav a:hover{color:var(--accent)}.nav a[aria-current=page]{background:var(--ink);color:var(--paper)}.nav a[aria-current=page]:after{content:none}.sidebar-note{margin-top:auto;padding-top:36px;color:var(--muted);font-size:12px;line-height:1.6}.menu-toggle{display:none}main{min-width:0;padding:36px var(--space) 0}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:bold;color:var(--muted);margin:0 0 22px}.page-intro{border-bottom:1px solid var(--ink);padding-bottom:30px;margin-bottom:30px}.page-intro h1{font-size:clamp(42px,5.8vw,88px);line-height:.98;letter-spacing:-.055em;margin:0;max-width:1100px}.page-intro .intro{font-size:clamp(17px,1.5vw,21px);line-height:1.5;max-width:670px;margin:25px 0 0}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 28px;color:var(--muted);font-size:13px}.gallery{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px 24px}.card{min-width:0}.card[hidden]{display:none}.card a{text-decoration:none;display:block}.card-image{aspect-ratio:4/5;background:#e5e3dc;overflow:hidden;display:flex;align-items:center;justify-content:center}.card-image img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(var(--preview-zoom,1));transition:transform .35s ease}.card a:hover img{transform:scale(calc(var(--preview-zoom,1) * 1.025))}.card-title{display:flex;justify-content:space-between;align-items:start;gap:12px;font-size:14px;font-weight:bold;line-height:1.3;letter-spacing:normal;margin:14px 0 5px}.card-title:after{content:'';display:block;flex:0 0 auto;width:.84em;height:.84em;width:1.175cap;height:1.175cap;margin-top:.17em;background:url('rarrow.svg') center/contain no-repeat}.card-category{font-size:12px;color:var(--muted);line-height:1.5}.empty{padding:40px 0;font-size:20px}.project .page-intro{max-width:1100px}.project .page-intro h1{font-size:clamp(36px,4.5vw,66px);max-width:1000px}.project-body{max-width:1100px;font-size:18px;line-height:1.65;overflow-wrap:anywhere}.project-body .prose{max-width:760px;margin:0 0 36px}.project-body p{margin:0 0 24px}.project-body img{display:block;max-width:min(100%,var(--image-width,100%));width:100%;height:auto;margin:0 0 24px;background:#e5e3dc}.project-body h2{font-size:clamp(25px,3vw,38px);line-height:1.15;letter-spacing:-.03em;margin:48px 0 20px}.project-body h3{font-size:23px;line-height:1.3}.project-body iframe{display:block;width:100%;height:auto;aspect-ratio:16/9;border:0;margin:30px 0;background:#e5e3dc}.project-body video{width:100%;height:auto}.project-body .caption{max-width:760px;color:var(--muted);margin:30px 0;font-size:16px}.project-body ul{padding-left:24px}.project-body table{width:100%;border-collapse:collapse}.project-body td{padding:8px}.project-body .media-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;margin:0 0 24px;align-items:start}.project-body .media-grid img{margin:0}.project-body .media-grid>a{display:block;min-width:0}.project-footer{border-top:1px solid var(--ink);margin-top:60px;padding:25px 0;display:flex;justify-content:space-between;gap:25px;font-size:15px}.project-footer a{text-decoration:none}.footer{margin-top:70px;padding:24px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:12px}.footer a{text-decoration:none}.unavailable{padding:20px;border:1px solid var(--line);font-size:15px}.js-only{display:none}.js .js-only{display:flex}
@media(min-width:1600px){.gallery{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1100px){.shell{grid-template-columns:185px minmax(0,1fr)}.sidebar{padding:30px 20px}.brand{font-size:25px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.shell{display:block}.sidebar{position:relative;height:auto;border-right:0;border-bottom:1px solid var(--line);padding:22px 20px;display:grid;grid-template-columns:1fr auto;align-items:center}.brand{font-size:24px;letter-spacing:-1px}.brand span{display:inline}.brand .design{display:block;margin-top:2px}.sidebar-note{display:none}.nav{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;gap:4px 10px;margin-top:22px}.nav a{font-size:14px;padding:8px;margin:0}.nav a[aria-current=page]:after{content:none}.js .menu-toggle{display:block;border:1px solid var(--ink);background:none;padding:10px 14px;font-size:14px}.js .nav:not(.is-open){display:none}main{padding:30px 20px 0}.page-intro{padding-bottom:25px;margin-bottom:22px}.eyebrow{margin-bottom:17px}.page-intro h1{font-size:54px}.page-intro .intro{font-size:17px;margin-top:20px}.gallery{gap:27px 14px}.card-title{font-size:13px;margin-top:11px}.card-category{font-size:11px}.toolbar{align-items:start;flex-direction:column;gap:12px}.project-body{font-size:17px;line-height:1.65}.project .page-intro h1{font-size:38px}.project-body .media-grid{grid-template-columns:1fr}.footer{margin-top:45px;flex-wrap:wrap}.project-footer{font-size:14px}.project-footer a:last-child{text-align:right}}
@media(max-width:360px){.gallery{grid-template-columns:1fr}.page-intro h1{font-size:44px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
@media print{.sidebar,.toolbar,.footer,.project-footer{display:none}.shell{display:block}main{padding:0}body{background:white}.gallery{grid-template-columns:repeat(3,1fr)}a{text-decoration:none}.project-body img{break-inside:avoid}}

@media(min-width:1200px){.project-body .media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.mindflight-title{background:#e3e2dd;text-align:center;padding:16px}.mindflight-title span{font-size:clamp(24px,3.6vw,58px);font-weight:900;line-height:1;letter-spacing:-.06em;color:var(--ink)}.digitalarts-poster img{object-position:45% center}

/* Continuous typographic navigation: brand and links share one scale and rhythm. */
.shell{grid-template-columns:250px minmax(0,1fr)}
.sidebar{display:flex;align-items:stretch;overflow-y:auto}
.brand,.nav a{font-size:29px;font-weight:900;line-height:1.05;letter-spacing:-1.5px;text-transform:uppercase;color:#000}
.brand span{display:block}
.brand,.brand .design{color:#c84320}.brand .design{margin:0}
.nav{display:flex;flex-direction:column;flex-wrap:nowrap;gap:0;margin:0}
.nav a{display:block;margin:0;padding:0;background:none}
.nav a[aria-current=page]{color:#555;background:none;text-decoration:none}
.nav a[aria-current=page]:after{content:none}
.nav a:hover,.nav a:focus-visible{color:#555;text-decoration:none}
.js .nav:not(.is-open){display:flex}
@media(max-width:1100px) and (min-width:721px){.shell{grid-template-columns:230px minmax(0,1fr)}}
@media(max-width:720px){.shell{display:block}.sidebar{display:flex}.brand,.nav a{font-size:24px;line-height:1.05;letter-spacing:-1px}.brand span{display:block}.brand .design{margin:0}.nav{margin:0;gap:0}.nav a{padding:0;margin:0}}
@media print{.shell{display:block}.sidebar{display:none}}

.arrow{display:inline-block;width:1em;height:1em;vertical-align:-.1em;background:url("rarrow.svg") center/contain no-repeat;flex-shrink:0}.arrow-left{transform:rotate(-135deg)}.arrow-up{transform:rotate(-45deg)}.arrow-right{transform:rotate(45deg)}.related-sites{padding-left:0;margin-left:0;text-align:left}.social-links{line-height:1.6}

@media(min-width:1200px){.project-body .media-grid img{margin-inline:auto}}

/* Keep the footer at the bottom without overlaying page content. */
main{display:flex;flex-direction:column;min-height:100vh;min-height:100svh}
main> *{flex-shrink:0}
main>.footer{margin-top:auto;padding-top:24px}
main>.footer:before{content:none}
main>.project-footer{margin-bottom:46px}
main>.gallery{margin-bottom:70px}

@media(max-width:720px){main{min-height:calc(100svh - var(--header-height,0px))}main>.gallery{margin-bottom:45px}main>.project-footer{margin-bottom:21px}}
@media print{main{display:block;min-height:0}}

.project-body .prose,.project-body .caption{max-width:min(100%,var(--text-width,760px));margin-left:0;margin-right:0}

/* Mixed-case headings use the typeface’s natural spacing. */
.page-intro h1,.project-body h2,.project-body h3,.card-title{letter-spacing:normal}
