:root{--font:Arial,Helvetica,sans-serif;--size:16px;--nav:14px;--name:24px;--line:1.5;--tracking:0em;--margin:40px;--gap:28px;--height:64vh;--sidebar:240px;--bg:#ffffff;--text:#171717}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:var(--size);line-height:var(--line);letter-spacing:var(--tracking)}button,input{font:inherit}button{cursor:pointer;background:none;border:0;color:inherit}button:disabled{opacity:.3;cursor:default}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:5px}.skip{position:fixed;top:-100px;background:var(--bg);z-index:3;padding:15px}.skip:focus{top:0}header{display:flex;align-items:center;gap:60px;padding:36px var(--margin);min-height:110px}.site-name{font-size:var(--name);font-weight:600;letter-spacing:-.04em;line-height:1.2}nav{display:flex;align-items:center;gap:30px}nav a{font-size:var(--nav);border-bottom:1px solid transparent;padding:6px 0}body[data-active-menu=underline] nav a[aria-current=page]{border-color:currentColor}body[data-active-menu=bold] nav a[aria-current=page]{font-weight:700}.mobile-menu{display:none}.project-header{margin:24px var(--margin) 28px;display:flex;justify-content:space-between;gap:24px;align-items:end}.project-header h1{font:inherit;margin:0 0 5px}.project-header p{font-size:.875em;opacity:.65;margin:0;max-width:65ch}.arrows{display:flex;gap:15px;align-items:center;font-size:.875em}.arrows button{border:1px solid color-mix(in srgb,var(--text) 25%,transparent);border-radius:50%;height:38px;width:38px}.gallery{display:flex;gap:var(--gap);padding:0 var(--margin) 30px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:var(--margin);scrollbar-width:none}.gallery::-webkit-scrollbar{display:none;width:0;height:0}.gallery figure{margin:0;flex-shrink:0;scroll-snap-align:start}.gallery button{padding:0;display:block}.gallery img{height:var(--height);width:auto;max-width:calc(100vw - 2 * var(--margin));object-fit:contain;display:block}figcaption{font-size:.8125em;display:flex;justify-content:space-between;gap:25px;margin-top:12px;opacity:.75}.gallery-hint{margin:0 var(--margin) 40px;font-size:.8125em;opacity:.65}body[data-layout=left] header{position:fixed;inset:0 auto 0 0;width:var(--sidebar);flex-direction:column;align-items:start;gap:55px;overflow:auto}body[data-layout=left] nav{flex-direction:column;align-items:start;gap:14px}body[data-layout=left] main{margin-left:var(--sidebar)}body[data-layout=left] .project-header{padding-top:38px;margin-top:0}body[data-gallery=grid] .gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;overflow:visible}body[data-gallery=grid] .gallery figure{min-width:0}body[data-gallery=grid] .gallery button{width:100%}body[data-gallery=grid] .gallery img{width:100%;height:auto;max-width:100%}body[data-gallery=grid] .arrows,body[data-gallery=grid] .gallery-hint{display:none}body[data-captions=false] figcaption{display:none}.info{max-width:850px;margin:45px var(--margin)}.info h1{font-size:2.5em;line-height:1.15;font-weight:400;letter-spacing:-.03em}.info p{white-space:pre-line;margin:26px 0}.info a{text-decoration:underline}.credits{border-top:1px solid color-mix(in srgb,var(--text) 25%,transparent);margin-top:50px;padding-top:18px;font-size:.8125em;opacity:.7}.credits summary{cursor:pointer}.credits ul{padding-left:18px}dialog{border:0;max-width:none;max-height:none;width:100vw;height:100dvh;padding:24px;background:#111111;color:white}dialog[open]{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:20px}dialog::backdrop{background:#111111}#viewer-image{min-height:0;max-height:calc(100% - 130px);max-width:100%;object-fit:contain}.viewer-bar{display:flex;justify-content:space-between;align-items:center;width:100%;font-size:14px}.viewer-bar button{padding:10px}.viewer-bar.controls{max-width:250px}.empty{margin:60px var(--margin);opacity:.65}@media(max-width:650px){:root{--margin:20px!important}header,body[data-layout=left] header{position:relative;width:auto;padding:25px var(--margin);min-height:80px;flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:22px}.mobile-menu{display:block;font-size:14px}nav,body[data-layout=left] nav{display:none;width:100%;align-items:start;flex-direction:column;gap:10px}nav.open,body[data-layout=left] nav.open{display:flex}body[data-layout=left] main{margin-left:0}.project-header,body[data-layout=left] .project-header{padding-top:0;margin-top:25px}.gallery img{height:auto;max-height:var(--height);max-width:calc(100vw - 40px)}.gallery figure{align-self:start}.arrows{gap:8px}.arrows span{display:none}.project-header p{max-width:220px}.gallery-hint{margin-top:15px}body[data-gallery=grid] .gallery{grid-template-columns:1fr}.info h1{font-size:2em}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.nav-group{font-size:var(--nav);min-width:0}
.nav-group summary{cursor:pointer;list-style:none;padding:6px 0;white-space:nowrap}
.nav-group summary::-webkit-details-marker{display:none}
.nav-group summary::after{content:'+';display:inline-block;margin-left:8px;font-size:.85em;opacity:.55}
.nav-group[open] summary::after{content:'−'}
.submenu{position:static;display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:9px 0 3px;margin:0;background:transparent;border:0;box-shadow:none;min-width:0}
.submenu a{display:block;max-width:100%;overflow-wrap:anywhere;padding:4px 0;line-height:1.5}
.nav-group summary:focus-visible{outline:2px solid currentColor;outline-offset:4px}
@media(max-width:650px){.nav-group{max-width:100%}.submenu{padding:5px 0 8px 12px;gap:2px}.submenu a{padding:7px 0}}


/* Align desktop top-menu text with the site-name baseline at any font size. */
@media(min-width:651px){
 body[data-layout=top] > header{align-items:baseline}
 body[data-layout=top] #site-nav{align-items:baseline}
}
