@font-face{font-family:Visia Pro;src:url(/fonts/visiapro-regular.woff)format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Visia Pro;src:url(/fonts/visiapro-bold.woff)format("woff");font-weight:700;font-style:normal;font-display:swap}:root{--bg:#0b0b0b;--fg:#f5f5f5;--muted:#a8a8a8;--line:#2e2e2e;--surface:#161616;--gutter:clamp(1.25rem, 5vw, 2.5rem);--pad:var(--gutter);color-scheme:dark}:root[data-theme=light]{--bg:#fff;--fg:#0b0b0b;--muted:#595959;--line:#d9d9d9;--surface:#f3f3f3;color-scheme:light}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;margin:0;font-family:Visia Pro,Avenir Next,Avenir,Century Gothic,system-ui,sans-serif;font-size:clamp(1.0625rem,.95rem + .4vw,1.25rem);line-height:1.6}img{max-width:100%;height:auto;display:block}a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--fg);outline-offset:4px;border-radius:2px}h1,h2,h3{letter-spacing:-.02em;text-wrap:balance;margin:0;font-weight:400;line-height:1.02}h1,.display{font-size:clamp(2.75rem,1.2rem + 7.5vw,7.5rem)}h2{font-size:clamp(2rem,1.2rem + 3.6vw,4rem)}h3{font-size:clamp(1.5rem,1.2rem + 1.4vw,2.25rem);line-height:1.1}p{max-width:62ch;margin:0 0 1em}ul[role=list]{margin:0;padding:0;list-style:none}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{z-index:100;background:var(--fg);color:var(--bg);padding:.6em 1em;position:fixed;top:.75rem;left:.75rem;transform:translateY(-200%)}.skip:focus{transform:none}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 1.5rem;font-size:.8125rem}.lead{max-width:38ch;font-size:clamp(1.25rem,1.05rem + .9vw,1.75rem);line-height:1.4}.muted{color:var(--muted)}.site-header{z-index:50;padding:.75rem var(--gutter);background:var(--bg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;display:flex;position:sticky;top:0}.brand{line-height:0;display:block}.brand .logo{width:auto;height:3.5rem}.controls{align-items:center;gap:.25rem;display:flex}.controls a,.controls button{min-width:2.75rem;min-height:2.75rem;color:inherit;font:inherit;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;place-items:center;padding:0 .5rem;font-size:.8125rem;text-decoration:none;display:inline-grid}.controls a:hover,.controls button:hover{text-decoration:underline}.theme-toggle svg{width:1.25rem;height:1.25rem}.site-nav{flex-basis:100%}.site-nav ul{flex-wrap:wrap;gap:.25rem 1.5rem;display:flex}.site-nav a{letter-spacing:.16em;text-transform:uppercase;padding:.6rem 0;font-size:.8125rem;text-decoration:none;display:inline-block}.site-nav a:hover,.site-nav a[aria-current]{text-decoration:underline 2px}@media (width<=68.74rem){.js .site-nav{display:none}.js .site-nav.is-open{padding:2rem var(--gutter);background:var(--bg);display:block;position:fixed;inset:5rem 0 0;overflow-y:auto}.js .site-nav.is-open ul{flex-direction:column;gap:0}.js .site-nav.is-open a{letter-spacing:-.02em;padding:.35rem 0;font-size:clamp(2rem,9vw,3rem)}html:not(.js) .menu-toggle{display:none}}@media (width>=68.75rem){:root{--pad:clamp(2.5rem, 5vw, 5rem)}.site-header{padding:1rem var(--pad);flex-wrap:nowrap;gap:2.5rem}.brand .logo{height:3.75rem}.menu-toggle{display:none!important}.site-nav{flex-basis:auto;order:2;margin-left:auto}.site-nav ul{flex-wrap:nowrap;gap:clamp(1.5rem,2.5vw,2.75rem)}.site-nav a{padding:.9rem 0;font-size:.875rem}.controls{order:3}}.progress{z-index:60;height:3px;position:fixed;top:0;left:0;right:0}.progress:after{content:"";background:var(--fg);transform:scaleX(var(--progress,0));transform-origin:0;position:absolute;inset:0}main,.site-footer{padding-inline:var(--pad)}.section{border-top:1px solid var(--line);padding-block:clamp(4rem,9vw,8.5rem)}.section:first-child,.reel+.section{border-top:0}.section>h2{margin-bottom:clamp(2rem,5vw,4rem)}.page-head{padding-block:clamp(3rem,12vh,9rem) clamp(3rem,7vw,6rem)}.page-head .lead{margin-top:2rem}.btn{border:1px solid var(--fg);min-height:3rem;color:var(--fg);font:inherit;cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:.7em;padding:.75em 1.5em;font-size:1rem;text-decoration:none;transition:background-color .2s,color .2s;display:inline-flex}.btn:hover,.btn--solid{background:var(--fg);color:var(--bg)}.btn--solid:hover{color:var(--fg);background:0 0}.btn .mark{width:1.4em;height:1.4em}.actions{flex-wrap:wrap;gap:1rem;margin-top:2.5rem;display:flex}.more{margin-top:clamp(2rem,5vw,4rem);display:inline-block}.hero{flex-direction:column;justify-content:center;min-height:calc(100svh - 5rem);padding-block:clamp(3rem,10vh,8rem);display:flex}.hero h1{max-width:17ch;font-size:clamp(2.5rem,1.2rem + 6vw,6.25rem)}.hero h1 span{letter-spacing:0;color:var(--muted);margin-top:.6em;font-size:clamp(1.25rem,1rem + 1.4vw,2.25rem);line-height:1.2;display:block}.hero .lead{margin-top:2.5rem}.hero--video{--fg:#f5f5f5;--bg:#0b0b0b;--muted:#d0d0d0;isolation:isolate;margin-inline:calc(var(--pad) * -1);padding-inline:var(--pad);color:var(--fg);background:#0b0b0b;position:relative;overflow:hidden}.hero--video :focus-visible{outline-color:#fff}.hero__video{z-index:-2;object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.hero--video:after{content:"";z-index:-1;background:#000000b8;position:absolute;inset:0}.hero__pause{color:#fff;cursor:pointer;background:#00000080;border:1px solid #fff;border-radius:50%;place-items:center;width:2.75rem;height:2.75rem;display:grid;position:absolute;bottom:1rem;right:1rem}.hero__pause svg{fill:currentColor;width:1.25rem;height:1.25rem}@media (width>=68.75rem){.hero--video:after{background:linear-gradient(90deg,#000c 35%,#0000008c)}.hero--video{min-height:calc(100svh - 5.75rem)}}.project-grid{gap:clamp(2.5rem,5vw,4.5rem) clamp(1.5rem,4vw,3.5rem);display:grid}@media (width>=48rem){.project-grid{grid-template-columns:repeat(2,1fr)}}.card{position:relative}.card__media{background:var(--surface);aspect-ratio:16/9;overflow:hidden}.card__media img{object-fit:cover;width:100%;height:100%;transition:transform .6s}.card:hover .card__media img{transform:scale(1.04)}.card h3{margin-top:1.25rem}.card h3 a{text-decoration:none}.card h3 a:after{content:"";position:absolute;inset:0}.card:hover h3 a{text-decoration:underline 2px}.card p{color:var(--muted);margin:.5rem 0 0}.badge{color:var(--fg);align-items:center;gap:.5em;display:inline-flex}.badge .mark{width:.9em;height:.9em}.video{aspect-ratio:16/9;background:#000;position:relative;overflow:hidden}.video img,.video iframe{object-fit:cover;border:0;width:100%;height:100%;position:absolute;inset:0}.video__play{color:#fff;background:#00000059;place-items:center;text-decoration:none;transition:background-color .2s;display:grid;position:absolute;inset:0}.video__play:hover{background:#00000026}.video__play:focus-visible{outline-offset:-8px;outline-color:#fff}.video__play span{color:#0b0b0b;background:#fff;border-radius:999px;align-items:center;gap:.7em;padding:.8em 1.5em;font-size:1rem;display:inline-flex}.video__play .mark{width:1.5em;height:1.5em}.note{color:var(--muted);max-width:none;margin-top:.75rem;font-size:.875rem}dialog.reel{color:#fff;background:#000;border:0;width:min(72rem,100vw - 2rem);padding:0;overflow:visible}dialog.reel::backdrop{background:#000000d9}dialog.reel .video{width:100%}.reel__close{color:#fff;min-height:2.75rem;font:inherit;cursor:pointer;background:#000;border:1px solid #fff;border-radius:999px;padding:0 1rem;font-size:.9375rem;position:absolute;bottom:calc(100% + .5rem);right:0}.reel__close:focus-visible{outline-color:#fff}.project-head .film{max-width:30ch;margin-top:1.5rem;font-size:clamp(1.25rem,1.05rem + .9vw,1.75rem)}.project-text p{max-width:34rem}.project-text p+p{margin-top:1.25em}.project-body{gap:3rem;padding-block:clamp(3rem,6vw,5rem);display:grid}@media (width>=56rem){.project-body{grid-template-columns:5fr 6fr;gap:4rem}}.credits{margin:0}.credits div{border-top:1px solid var(--line);grid-template-columns:minmax(8rem,2fr) 3fr;gap:1rem;padding:.85rem 0;display:grid}.credits dt{color:var(--muted)}.credits dd{margin:0}.next{text-decoration:none;display:block}.next .display{letter-spacing:-.02em;line-height:1.02;display:block}.next:hover .display{text-decoration:underline 3px}.rows>*{border-top:1px solid var(--line);gap:.75rem 3rem;padding-block:clamp(1.75rem,4vw,3rem);display:grid}.rows>:last-child{border-bottom:1px solid var(--line)}@media (width>=56rem){.rows>*{grid-template-columns:5fr 6fr;align-items:start}}.rows p:last-child{margin-bottom:0}.rows .num{color:var(--muted);letter-spacing:.16em;margin-bottom:.75rem;font-size:.8125rem;display:block}.awards{background:var(--line);border:1px solid var(--line);gap:1px;display:grid}@media (width>=48rem){.awards{grid-template-columns:repeat(3,1fr)}}.awards li{background:var(--bg);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;padding:clamp(2rem,5vw,3.5rem) 1.5rem;display:flex}.award-logo{height:11.5rem;-webkit-mask:var(--logo) center / contain no-repeat;mask:var(--logo) center / contain no-repeat;background:currentColor;display:block}.award-logo--cannes{aspect-ratio:503/428;background:0 0;position:relative;-webkit-mask:none;mask:none}.award-logo--cannes:before,.award-logo--cannes span{content:"";background:currentColor;position:absolute;inset:0;-webkit-mask:url(/awards/cannes.svg) 50%/contain no-repeat;mask:url(/awards/cannes.svg) 50%/contain no-repeat}.award-logo--cannes span{background:var(--muted);-webkit-mask-image:url(/awards/cannes-silver.svg);mask-image:url(/awards/cannes-silver.svg)}.award-logo--kreativpreis{--logo:url(/awards/kreativpreis.svg);aspect-ratio:322/409}.seal{width:11.5rem;height:11.5rem}.awards p{max-width:34ch;margin:0}.logos{grid-template-columns:repeat(2,1fr);align-items:center;gap:clamp(2.5rem,5vw,4rem) clamp(1.5rem,4vw,3.5rem);display:grid}@media (width>=36rem){.logos{grid-template-columns:repeat(4,1fr)}}@media (width>=90rem){.logos{grid-template-columns:repeat(8,1fr)}}.logos li,.marquee__track li{place-items:center;display:grid}.logos img,.marquee__track img{filter:invert();opacity:.9;max-width:100%;height:auto}:root[data-theme=light] .logos img,:root[data-theme=light] .marquee__track img{filter:none}.marquee__view{display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.marquee__track{flex:none;align-items:center;gap:clamp(4rem,7vw,6rem);animation:42s linear infinite marquee;display:flex}.marquee__view .marquee__track{padding-right:clamp(4rem,7vw,6rem)}.marquee__track li{flex:none}.marquee__track img{max-width:none}.js .marquee:not(.is-inview) .marquee__track,.marquee.is-paused .marquee__track{animation-play-state:paused}@media (hover:hover) and (pointer:fine){.marquee__view:hover .marquee__track{animation-play-state:paused}}@keyframes marquee{to{transform:translate(-100%)}}.marquee__pause{min-height:2.75rem;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:.6rem;margin-top:2rem;padding:0;font-size:.875rem;display:inline-flex}.marquee__pause:hover{color:var(--fg)}.marquee__pause svg{fill:currentColor;width:1.1rem;height:1.1rem}@media (prefers-reduced-motion:reduce){.marquee__view{display:block;-webkit-mask-image:none;mask-image:none}.marquee__track{flex-wrap:wrap;justify-content:center;gap:2.5rem 3rem}.marquee__view .marquee__track{padding-right:0}.marquee__track[aria-hidden=true],.marquee__pause{display:none}}.about{gap:3rem;display:grid}@media (width>=56rem){.about{grid-template-columns:4fr 7fr;align-items:start;gap:5rem}.about__photo{position:sticky;top:8rem}}.about__photo img{width:100%;max-width:26rem}.about__text h2{margin:3.5rem 0 1rem;font-size:clamp(1.75rem,1.3rem + 2vw,3rem)}.about__text h2:first-child{margin-top:0}.contact{gap:4rem;display:grid}@media (width>=56rem){.contact{grid-template-columns:4fr 6fr;gap:5rem}}.contact address{font-style:normal}.contact address a{padding-block:.3rem;display:inline-block}.form{gap:1.5rem;display:grid}.form label,.form legend{margin-bottom:.5rem;padding:0;font-size:.9375rem;display:block}.form input[type=text],.form input[type=email],.form input[type=tel],.form textarea{border:1px solid var(--muted);width:100%;color:var(--fg);font:inherit;background:0 0;border-radius:0;padding:.85rem 1rem}.form textarea{resize:vertical;min-height:10rem}.form fieldset{border:0;margin:0;padding:0}.checks{flex-wrap:wrap;gap:.5rem 1.75rem;display:flex}.checks label{align-items:center;gap:.6rem;min-height:2.75rem;margin:0;font-size:1rem;display:inline-flex}.checks input{width:1.25rem;height:1.25rem;accent-color:var(--fg)}.form .hp{position:absolute;left:-9999px}.form__status{min-height:1.6em;margin:0}.form__status[data-state=error]{border:1px solid var(--fg);padding:1rem}.prose{max-width:46rem;padding-bottom:clamp(4rem,9vw,8rem)}.prose h2{margin:3rem 0 1rem;font-size:clamp(1.5rem,1.2rem + 1.2vw,2rem)}.prose p,.prose dl{max-width:none;color:var(--fg)}.prose dt{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;margin-top:1.25rem;font-size:.8125rem}.prose dd{margin:.25rem 0 0}.cta h2{margin-bottom:0;font-size:clamp(2.75rem,1.2rem + 7.5vw,7.5rem)}.site-footer{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:end;gap:2rem;padding-block:3rem;font-size:.9375rem;display:flex}.site-footer .footer-brand{padding:0;line-height:0;display:block}.site-footer .logo{width:auto;height:5.5rem}.site-footer ul{flex-wrap:wrap;gap:.25rem 1.5rem;display:flex}.site-footer a{padding-block:.6rem;display:inline-block}.site-footer p{color:var(--muted);margin:0}@property --bg{syntax:"<color>";inherits:true;initial-value:#0b0b0b}@property --fg{syntax:"<color>";inherits:true;initial-value:#f5f5f5}@property --muted{syntax:"<color>";inherits:true;initial-value:#a8a8a8}@property --line{syntax:"<color>";inherits:true;initial-value:#2e2e2e}@property --surface{syntax:"<color>";inherits:true;initial-value:#161616}@media (prefers-reduced-motion:no-preference){:root.theme-fade{transition:--bg .4s,--fg .4s,--muted .4s,--line .4s,--surface .4s}.theme-fade .logos img,.theme-fade .marquee__track img{transition:filter .4s!important}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}
