@font-face{font-family:Geologica;src:url(/fonts/geologica-var.woff2)format("woff2-variations");font-weight:300 500;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-400.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-500.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}:root{--color-bg:#ededeb;--color-text:#1a1a1a;--color-muted:#767674;--color-accent:#0062f0;--color-surface:#fff;--color-tile-bg:#d9d9d7;--font-sans:"Geologica", Helvetica, Arial, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--container-max:1440px}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}html,body{background:var(--color-bg);margin:0;padding:0}*,:before,:after{box-sizing:border-box}body{font-family:var(--font-sans);font-feature-settings:"tnum" 1;background:var(--color-bg);color:var(--color-text);min-height:100vh;font-size:16px;line-height:1.55}a{color:var(--color-accent);text-decoration:none}a:hover{text-underline-offset:3px;text-decoration:underline}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}img{max-width:100%;display:block}.site-header{z-index:10;background:var(--color-bg);position:sticky;top:0}.site-header__inner{max-width:var(--container-max);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px 24px;margin:0 auto;padding:20px clamp(20px,4vw,40px);display:flex}@media (width>=768px){.site-header__inner{gap:16px 60px}}.logo{color:var(--color-text);text-transform:uppercase;letter-spacing:.04em;font-size:15px;font-weight:400;line-height:1.3;text-decoration:none}.logo:hover{text-decoration:none}.logo__role{color:var(--color-muted)}.nav{text-transform:uppercase;letter-spacing:.04em;gap:40px;font-size:15px;font-weight:400;display:flex}@media (width>=768px){.nav{gap:60px}}.nav__link{color:var(--color-text);text-decoration:none;transition:color .15s linear}.nav__link:hover{text-decoration:none}.nav__link.is-active{color:var(--color-accent)}.lang-switch{text-transform:uppercase;letter-spacing:.04em;justify-content:flex-end;gap:12px;margin-left:auto;font-size:15px;font-weight:400;display:flex}.lang-switch__sep{color:var(--color-muted)}.lang-switch__link{color:var(--color-text);text-decoration:none}.lang-switch__link:hover{text-decoration:none}.lang-switch__link.is-active{color:var(--color-accent)}.home{max-width:var(--container-max);margin:0 auto;padding:0 clamp(20px,4vw,40px)}.projects-grid{grid-template-columns:1fr;gap:20px;padding-top:120px;scroll-margin-top:100px;display:grid}@media (width>=768px){.projects-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1200px){.projects-grid{grid-template-columns:repeat(4,1fr)}}.tile{text-decoration:none;display:block;position:relative}.tile:hover{text-decoration:none}.tile__frame{aspect-ratio:1;background:var(--color-tile-bg);position:relative;overflow:hidden}.tile__frame img{object-fit:cover;filter:grayscale();width:100%;height:100%}.tile__overlay{background:var(--color-accent);opacity:0;flex-direction:column;justify-content:space-between;padding:20px;transition:opacity .15s linear;display:flex;position:absolute;inset:0}@media (width>=768px){.tile:hover .tile__overlay,.tile:focus-visible .tile__overlay{opacity:.9}}.tile__title{text-transform:uppercase;letter-spacing:.04em;color:var(--color-surface);font-size:16px;font-weight:500}.tile__year{color:var(--color-surface);font-size:16px}.tile__arrow{color:var(--color-surface);text-align:right;font-size:16px;font-weight:500}.tile__caption{color:var(--color-muted);padding-top:8px;font-size:14px;display:block}@media (width>=768px){.tile__caption{display:none}}.contacts{flex-wrap:wrap;align-items:flex-start;gap:40px;padding:80px 0 60px;scroll-margin-top:100px;display:flex}.contacts__photo{aspect-ratio:1;background:var(--color-tile-bg);flex:0 240px;max-width:240px;overflow:hidden}.contacts__photo img{object-fit:cover;width:100%;height:100%}.contacts__bio{flex:2 360px;min-width:0}.bio-primary{max-width:70ch;margin:0;font-size:16px;line-height:1.55}.bio-secondary{max-width:70ch;margin:0;padding-top:4px;font-size:14px;font-weight:200;line-height:1.55}.contact-links{flex-direction:column;align-items:flex-start;gap:12px;margin-top:24px;display:flex}.site-footer{color:var(--color-muted);padding-bottom:40px;font-size:13px}.project-page{max-width:var(--container-max);margin:0 auto;padding-left:clamp(20px,11vw,160px);padding-right:clamp(20px,11vw,160px)}.project-nav{text-transform:uppercase;letter-spacing:.04em;flex-wrap:wrap;justify-content:space-between;gap:20px;max-width:1100px;padding:20px 0 40px;font-size:14px;font-weight:400;display:flex}.project-nav__back{color:var(--color-text);white-space:nowrap}.project-nav__adjacent{gap:40px;display:flex}.project-nav__adjacent a{color:var(--color-text);white-space:nowrap;text-decoration:none}.project-nav__adjacent a:hover{text-underline-offset:3px;text-decoration:underline}.project-nav__adjacent span[aria-disabled]{color:var(--color-muted);white-space:nowrap}.project-cover{aspect-ratio:3/2;background:var(--color-tile-bg);max-width:1100px;overflow:hidden}.project-cover img{object-fit:cover;width:100%;height:100%}.project-body{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start;gap:40px;max-width:1100px;padding:40px 0 60px;display:grid}.project-info{min-width:0}.project-title{text-transform:uppercase;max-width:24ch;margin:0;font-size:22px;font-weight:500;line-height:1.25}@media (width>=768px){.project-title{font-size:28px}}.project-meta{grid-template-columns:auto 1fr;gap:8px 20px;margin:0;padding-top:40px;font-size:13px;font-weight:400;display:grid}.project-meta dt{color:var(--color-muted);grid-column:1;margin:0}.project-meta dd{color:var(--color-text);grid-column:2;margin:0}.project-description{grid-column:span 2;min-width:0}.project-description p{max-width:70ch;margin:0;padding-bottom:20px;font-size:16px;line-height:1.55}.project-role{color:var(--color-muted);max-width:70ch;padding-top:20px;font-size:14px}.gallery{flex-direction:column;gap:20px;max-width:1100px;display:flex}.gallery>figure{margin:0}.gallery__frame{background:var(--color-tile-bg)}.gallery__frame img{width:100%;height:auto;display:block}.gallery__frame.is-clickable{background:var(--color-surface);cursor:zoom-in;border:0;width:100%;padding:0;display:block}.gallery__caption{font-family:var(--font-mono);letter-spacing:.02em;color:var(--color-muted);text-transform:uppercase;padding-top:8px;font-size:12px}.back-all{text-transform:uppercase;letter-spacing:.04em;padding:60px 0 40px;font-size:14px;font-weight:400}.back-all a{color:var(--color-text);white-space:nowrap}.back-all a:hover{text-underline-offset:3px;text-decoration:underline}.lightbox{width:100%;max-width:none;height:100%;max-height:none;color:var(--color-surface);background:#1a1a1a;border:0;margin:0;padding:0;position:fixed;inset:0}.lightbox::backdrop{background:#1a1a1a}.lightbox__scroll{cursor:zoom-in;justify-content:center;align-items:center;padding:60px clamp(20px,4vw,40px) 40px;display:flex;position:absolute;inset:0}.lightbox.is-zoomed .lightbox__scroll{cursor:grab;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;display:block;overflow:auto}.lightbox.is-zoomed .lightbox__scroll.is-dragging{cursor:grabbing}.lightbox__image{object-fit:contain;background:var(--color-surface);max-width:100%;max-height:100%;display:block}.lightbox.is-zoomed .lightbox__image{object-fit:unset;user-select:none;-webkit-user-drag:none;width:auto;max-width:none;height:auto;max-height:none;margin:auto}.lightbox__bar{pointer-events:none;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:20px;display:flex;position:absolute;top:20px;left:clamp(20px,4vw,40px);right:clamp(20px,4vw,40px)}.lightbox__bar>*{pointer-events:auto}.lightbox__caption{font-family:var(--font-mono);letter-spacing:.02em;color:var(--color-muted);text-transform:uppercase;font-size:12px}.lightbox__controls{text-transform:uppercase;letter-spacing:.04em;align-items:baseline;gap:40px;font-size:14px;font-weight:500;display:flex}.lightbox__zoom{color:var(--color-surface);font:inherit;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;background:0 0;border:0;padding:0;font-weight:500}.lightbox__close{color:var(--color-surface);cursor:pointer;background:0 0;border:0;padding:0;font-size:20px;line-height:1}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
