@font-face{font-family:Uncut Sans;src:url(../assets/UncutSans-D54Masy6.ttf) format("truetype");font-weight:200 900;font-style:normal;font-display:swap}@font-face{font-family:Saint;src:url(../assets/Saint-hPfiANLt.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{font-family:var(--font);font-variation-settings:var(--font-var, "wght" 370);font-feature-settings:"ss01" on,"ss05" on,"ss07" on;font-weight:var(--fw-body, 370);color:var(--on-surface);background:var(--surface);transition:background .24s ease,color .24s ease;--section-gap: 72px}::selection{background:#00f;color:#fff}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--surface);color:var(--on-surface);font-family:var(--font)}a{color:var(--on-surface);text-decoration:none;transition:opacity .16s ease,color .16s ease}a:focus-visible,button:focus-visible{outline:1px solid var(--accent);outline-offset:3px}a:active,button:active{opacity:.75}button{font:inherit;color:inherit;background:none;border:0;padding:0;margin:0;cursor:pointer;text-align:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:root{--ease-out-soft: cubic-bezier(.16, 1, .3, 1);--key-screen-ratio: 906 / 490;--gutter: 32px;--text-s: .875rem;--text-m: 1.125rem;--text-l: 1.5rem;--gutter-top: calc(var(--gutter) - 6px)}.reveal{opacity:0;transform:translateY(16px);transition:opacity .9s var(--ease-out-soft),transform 1.1s var(--ease-out-soft);transition-delay:var(--reveal-delay, 0ms)}.reveal--fade{transform:none}.reveal.is-visible{opacity:1;transform:none}.page{min-height:100vh;display:flex;flex-direction:column;background:var(--surface);margin:0;padding:var(--space-xl) var(--space-l) var(--space-l)}.page-rows{display:flex;flex-direction:column;gap:var(--section-gap);width:100%}.row{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-m);width:100%}.row__aside:empty{display:none}.row__main{min-width:0;max-width:var(--content-max-width)}.name-block{display:flex;flex-direction:column;gap:6px}.wordmark{touch-action:pan-y;user-select:none;-webkit-user-select:none;display:flex;align-items:flex-end;gap:0;margin:0;font-size:2.125rem;letter-spacing:-.02em;color:var(--on-surface);line-height:1}.wordmark-part{font-family:Uncut Sans,system-ui,-apple-system,Segoe UI,sans-serif;font-variation-settings:"wght" 450;font-weight:450;text-transform:none;display:inline-flex;align-items:flex-end;cursor:pointer;line-height:1;transition:letter-spacing .16s ease,opacity .16s ease}.wordmark-part:hover,.wordmark-part:focus-visible{outline:none}.wordmark-part.saint{font-family:Saint,Uncut Sans,system-ui,sans-serif;font-weight:400;letter-spacing:.03em;transform:translateY(3px)}.wordmark-space{width:12px;display:inline-block}.role-title{margin:0;color:var(--muted);font-size:var(--text-s);line-height:1.4}.contact-block{display:flex;flex-direction:column;gap:6px;margin-top:18px;transition:opacity .35s ease,transform .5s var(--ease-out-soft)}.status{display:flex;align-items:center;gap:8px;margin:0;font-size:var(--text-s);line-height:1.4;color:var(--on-surface)}.status__dot{flex-shrink:0;width:8px;height:8px;border-radius:50%;background:var(--accent-dot, var(--accent));box-shadow:var(--accent-glow, none)}.talk-link{align-self:flex-start;font-size:var(--text-s);line-height:1.4}.talk-link__to{display:none}.talk-link:hover .talk-link__from,.talk-link:focus-visible .talk-link__from{display:none}.talk-link:hover .talk-link__to,.talk-link:focus-visible .talk-link__to{display:inline;animation:talk-in .22s ease both}.talk-link__arrow{display:inline-block;margin-left:4px;transition:transform .16s ease}.talk-link:hover .talk-link__arrow{transform:translate(2px,-2px)}@keyframes talk-in{0%{opacity:0;filter:blur(2px)}to{opacity:1;filter:none}}.saint-text__char{position:relative}.saint-text__overlay{position:absolute;left:50%;bottom:0;transform:translate(-50%);line-height:1;white-space:nowrap;pointer-events:none;font-family:Saint,Uncut Sans,system-ui,sans-serif;font-weight:400;font-variation-settings:normal;visibility:hidden}.is-saint .saint-text__base{visibility:hidden}.is-saint .saint-text__overlay{visibility:visible}.hero-intro{margin:0;font-size:1.75rem;line-height:1.1;color:var(--muted);font-variation-settings:"wght" 450;font-weight:450}.hero-intro__lead{color:var(--muted)}.hero-intro__accent{color:var(--on-surface)}.section-label{display:flex;flex-direction:column;gap:var(--space-s);width:100%}.section-label__text{margin:0;color:var(--muted);font-size:var(--text-s);line-height:normal}.section-label__line{width:100%;height:1px;background:var(--divider)}.projects-section{display:flex;flex-direction:column;gap:0}.project-row .row__main{padding:14px 0;border-bottom:1px solid var(--divider)}.project-preview{display:none}.project-row{cursor:pointer}.project-item__dot{position:absolute;left:-16px;top:.55em;width:6px;height:6px;border-radius:50%;background:var(--on-surface);opacity:0;transform:scale(.4);transition:opacity .25s ease,transform .35s var(--ease-out-soft)}.project-item__dot.is-active{opacity:1;transform:none}.project-item__dot.is-muted{background:var(--muted)}.project-item__heading{margin:0;font:inherit}.project-item__header{position:relative;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;width:100%}.project-item__title{flex:1;min-width:0;font-size:var(--text-m);line-height:1.3;color:var(--on-surface)}.project-item__period{order:3;flex-basis:100%;color:var(--muted);font-size:var(--text-s);white-space:nowrap}.project-item__tags{margin:4px 0 0;color:var(--muted);font-size:var(--text-s);line-height:1.4}.project-item__details{padding-top:10px}.project-item__description{margin:0;max-width:36rem;color:var(--muted);font-size:var(--text-s);line-height:1.4}.project-item__more{margin-top:10px;font-size:var(--text-s);color:var(--on-surface)}.project-item__more:hover{color:var(--accent)}.brand-list{list-style:none;margin:0;padding:0}.brand-list__item{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-m);padding:12px 0;border-bottom:1px solid var(--divider)}.brand-list__name{font-size:var(--text-m);color:var(--on-surface)}.brand-list__work{color:var(--muted);font-size:var(--text-s);text-align:right}.dialog{width:min(1120px,calc(100% - 32px));max-height:calc(100vh - 32px);padding:0;border:0;border-radius:6px;background:var(--surface);color:var(--on-surface);overflow:auto}.dialog::backdrop{background:#0c0c148c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.dialog[open]{animation:dialog-in .28s cubic-bezier(.2,.7,.2,1)}@keyframes dialog-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.dialog__panel{position:relative;padding:var(--space-m)}.dialog__close{position:absolute;top:var(--space-m);right:var(--space-m);z-index:1;padding:6px 10px;border-radius:999px;background:var(--surface);font-size:var(--text-s)}.dialog__close:hover{color:var(--accent)}.lightbox__media{margin:0;overflow:hidden;border-radius:4px;background:var(--divider)}.lightbox__media img{display:block;width:100%;height:auto}.lightbox__caption{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-m);padding-top:var(--space-m)}.lightbox__title{margin:0;font-size:var(--text-m);line-height:1.3;font-weight:inherit;font-variation-settings:inherit}.lightbox__tags{margin:4px 0 0;color:var(--muted);font-size:var(--text-s)}.lightbox__period{flex-shrink:0;color:var(--muted);font-size:var(--text-s)}.imprint-page{display:flex;flex-direction:column;gap:.6em;font-size:1.75rem}.imprint-page a{color:inherit}.imprint-page__small{margin-top:4px;font-size:var(--text-s);line-height:1.5}.imprint-page__small p{margin:0 0 .5em;max-width:36rem}.imprint-page__small .hero-intro__lead{color:var(--muted)}.imprint-page__small .hero-intro__accent{color:var(--on-surface)}.imprint-page__back{align-self:flex-start;margin-top:4px;font-size:inherit;line-height:1.1;font-weight:450;font-variation-settings:"wght" 450;color:var(--on-surface)}.site-footer{margin-top:auto;width:100%;background:transparent;color:var(--muted);font-size:var(--text-s);padding-top:var(--section-gap)}.footer-main{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px}.footer-copy{color:var(--muted)}.footer-social{display:flex;flex-wrap:wrap;gap:16px;color:var(--on-surface)}.footer-legal{display:flex;gap:16px}.footer-legal a{color:var(--muted)}.footer-legal a:hover{color:var(--on-surface)}@media(max-width:1023px){:root{--mobile-header: calc(92px + env(safe-area-inset-top)) ;--mobile-dock: calc(112px + env(safe-area-inset-bottom)) ;--header-drop: 48px;--dock-inset: 12px;--content-inline: max(var(--space-l), calc((100% - var(--content-max-width)) / 2))}.page{padding-left:var(--content-inline);padding-right:var(--content-inline);padding-top:calc(var(--mobile-header) + var(--header-drop) + var(--space-m));padding-bottom:calc(var(--mobile-dock) + var(--space-m))}.intro-row .name-block{position:fixed;top:var(--header-shift, var(--header-drop));left:0;right:0;z-index:3;padding:calc(20px + env(safe-area-inset-top)) var(--content-inline) 28px;gap:4px}.intro-row .name-block:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(to bottom,var(--surface) 0%,color-mix(in srgb,var(--surface) 92%,transparent) 70%,transparent 100%);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);-webkit-mask-image:linear-gradient(to bottom,#000 70%,transparent 100%);mask-image:linear-gradient(to bottom,#000 70%,transparent 100%);pointer-events:none}.wordmark{font-size:1.75rem}.contact-block{position:fixed;left:calc(var(--content-inline) - var(--space-l) + var(--dock-inset));right:calc(var(--content-inline) - var(--space-l) + var(--dock-inset));bottom:calc(var(--dock-inset) + env(safe-area-inset-bottom));z-index:3;margin:0;padding:18px calc(var(--space-l) - var(--dock-inset) - 1px);gap:6px;border-radius:18px;border:1px solid var(--divider);background:color-mix(in srgb,var(--surface) 72%,transparent);-webkit-backdrop-filter:blur(18px) saturate(1.4);backdrop-filter:blur(18px) saturate(1.4);box-shadow:0 8px 30px #0c0c1414}.contact-block .talk-link{display:flex;justify-content:space-between;align-items:center;align-self:stretch;font-size:var(--text-m);line-height:1.2}.contact-block .talk-link:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit}.contact-block .status{line-height:1.2}.talk-link__arrow{margin-left:0}.contact-block{transition:opacity .3s ease,transform .45s var(--ease-out-soft)}.contact-block.is-hidden{opacity:0;transform:translateY(8px);pointer-events:none}.project-preview{display:block;position:fixed;left:calc(var(--content-inline) - var(--space-l) + var(--dock-inset));right:calc(var(--content-inline) - var(--space-l) + var(--dock-inset));bottom:calc(var(--dock-inset) + env(safe-area-inset-bottom));z-index:3;aspect-ratio:var(--key-screen-ratio);max-height:40vh;padding:0;border-radius:18px;border:1px solid var(--divider);overflow:hidden;background:color-mix(in srgb,var(--surface) 72%,transparent);-webkit-backdrop-filter:blur(18px) saturate(1.4);backdrop-filter:blur(18px) saturate(1.4);box-shadow:0 8px 30px #0c0c1414;opacity:0;transform:translateY(16px);pointer-events:none;transition:opacity .35s ease,transform .5s var(--ease-out-soft)}.project-preview.is-visible{opacity:1;transform:none;pointer-events:auto}.project-preview__img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .3s ease}.project-preview__img.is-active{opacity:1}.footer-inner{grid-template-columns:1fr auto;grid-template-areas:"social social" "copy imprint";row-gap:12px}.footer-inner .row__aside,.footer-main{display:contents}.footer-social{grid-area:social}.footer-copy{grid-area:copy}.footer-legal{grid-area:imprint}}@media(min-width:600px)and (max-width:1023px){.contact-block{flex-direction:row;align-items:center;justify-content:space-between;gap:var(--space-m)}.contact-block .talk-link{align-self:auto;gap:12px}}@media(min-width:768px){:root{--space-m: 20px;--space-l: 32px;--space-xl: 48px;--space-2xl: 72px;--section-gap: 88px}}@media(min-width:1024px){:root{--space-m: 24px;--space-l: 40px;--space-xl: 64px;--space-2xl: 96px;--section-gap: 184px}.page{padding:var(--gutter-top) var(--gutter) var(--gutter)}.row,.project-row{grid-template-columns:var(--left-side-width) minmax(0,var(--content-max-width));gap:0}.wordmark{transform:translateY(1px)}.intro-row .hero-intro{position:relative;top:2px}.intro-row .name-block{position:fixed;top:var(--gutter-top);left:var(--gutter);z-index:2;width:calc(var(--left-side-width) - var(--gutter))}.contact-block{position:fixed;left:var(--gutter);bottom:max(var(--gutter),var(--contact-lift, 0px));z-index:2;margin-top:0}.contact-block.is-hidden{opacity:0;transform:translateY(6px);pointer-events:none}.project-preview{display:block;position:fixed;left:var(--gutter);bottom:var(--gutter);z-index:2;width:calc(var(--left-side-width) - var(--gutter));aspect-ratio:var(--key-screen-ratio);padding:0;border-radius:12px;overflow:hidden;background:color-mix(in srgb,var(--muted) 14%,var(--surface));opacity:0;transform:translateY(10px) scale(.98);pointer-events:none;transition:opacity .45s var(--ease-out-soft),transform .6s var(--ease-out-soft)}.project-preview.is-visible{opacity:1;transform:none;pointer-events:auto}.project-preview__resize{position:absolute;top:0;right:0;z-index:1;width:36px;height:36px;cursor:nesw-resize;touch-action:none}.project-preview__resize:after{content:"";position:absolute;top:9px;right:9px;width:10px;height:10px;border-top:1.5px solid #fff;border-right:1.5px solid #fff;border-top-right-radius:3px;opacity:0;filter:drop-shadow(0 0 2px rgba(0,0,0,.5));transition:opacity .2s ease}.project-preview:hover .project-preview__resize:after{opacity:.9}.project-preview__img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.02);transition:opacity .35s ease,transform .6s var(--ease-out-soft)}.project-preview__img.is-active{opacity:1;transform:none}.row__aside:empty{display:block}.project-item__header{flex-wrap:nowrap}.project-item__period{order:0;flex-basis:auto;flex-shrink:0}.hero-intro{font-size:2.125rem;line-height:1}.imprint-page{font-size:2.125rem}.footer-inner{align-items:center}.footer-social{gap:var(--space-m)}}@media(prefers-reduced-motion:reduce){.dialog[open]{animation:none}.reveal{opacity:1;transform:none;transition:none}}
