@font-face{font-family:Satoshi;src:url('fonts/Satoshi-Medium.woff2') format('woff2');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:Satoshi;src:url('fonts/Satoshi-Bold.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}
:root{font-family:Satoshi,Arial,sans-serif;font-weight:500;color:#111;background:#ebebeb;font-synthesis:none;--page-padding:clamp(22px,3.9vw,76px);--content-width:1800px}
*{box-sizing:border-box}body{margin:0;min-height:100svh;display:flex;flex-direction:column}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}img,video{display:block;max-width:100%}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,.carousel:focus-visible{outline:2px solid #1266ee;outline-offset:7px}h1,h2,h3,.booking,.work-link{font-weight:700}.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{position:fixed;z-index:30;top:12px;left:12px;padding:12px;background:white}
.site-header,.site-footer,.archive-grid,.services{width:100%;max-width:var(--content-width);margin-inline:auto;padding-inline:var(--page-padding)}
.site-header{display:flex;justify-content:space-between;align-items:center;padding-block:32px;gap:19.2px;flex-shrink:0}.brand{display:block;width:160px}.brand img{width:100%;height:auto}nav{display:flex;align-items:center;gap:19.2px}.work-link{font-size:14.4px}.work-link:hover{color:#1266ee}.booking{width:136px;display:block;transition:transform .2s}.booking img{width:100%;height:auto}.booking:hover{transform:translateY(-2px)}
.site-footer{padding-block:32px 40px;display:flex;justify-content:flex-end;margin-top:auto}.site-footer .footer-contact{display:block;width:285px;max-width:100%}.site-footer svg{display:block;width:100%;height:auto}.footer-contact a:hover{opacity:.65}.home{flex:1;display:flex;min-height:540px}.hero{position:relative;display:flex;align-items:center;width:100%;overflow:hidden;padding-bottom:65px}.carousel{position:relative;width:100%;height:440px;touch-action:pan-y;cursor:grab;overflow:hidden;-webkit-mask-image:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent)}.carousel.is-dragging{cursor:grabbing}.carousel-track{height:100%;position:relative}.hero-card{position:absolute;left:50%;top:50%;width:216px;height:280px;margin:-140px 0 0 -108px;border:0;padding:0;background:transparent;will-change:transform;backface-visibility:hidden;transform:perspective(520px) rotateY(-48deg);user-select:none;-webkit-user-select:none}.hero-card img,.hero-card video{height:100%;width:100%;object-fit:cover;pointer-events:none}.motion-toggle{position:absolute;right:var(--page-padding);bottom:24px;border:1px solid #ccc;background:transparent;width:30px;height:30px;border-radius:50%;opacity:.45;transition:opacity .2s}.motion-toggle:hover,.motion-toggle:focus-visible{opacity:1}
.logo-strip{overflow:hidden;margin:90px 0 75px;mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent)}.logo-track{display:flex;width:max-content;animation:logos 45s linear infinite}.logo-group{display:flex;align-items:center;gap:60px;padding-right:60px}.logo-group img{width:140px;height:48px;object-fit:contain;filter:grayscale(1);opacity:.5}.logo-strip:hover .logo-track{animation-play-state:paused}@keyframes logos{to{transform:translateX(-50%)}}
.archive-grid{--card-gap:40px;--caption-space:24px;margin-block:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:calc(var(--card-gap) - var(--caption-space)) var(--card-gap)}.archive-item{margin:0;min-width:0}.archive-item figcaption{font-size:13px;line-height:16px;margin:0 0 8px}.archive-item button{display:block;padding:0;border:0;width:100%;aspect-ratio:1/1.06;background:#fff;overflow:hidden}.archive-item img,.archive-item video{height:100%;width:100%;object-fit:cover;transition:transform .4s}.archive-item button:hover img,.archive-item button:hover video{transform:scale(1.035)}.services{margin:180px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:24px}.services a{display:block;transition:transform .2s}.services a:hover{transform:translateY(-4px)}.services img{width:100%;height:auto}.work-page .site-footer{padding-top:45px}
.artwork-dialog{border:0;background:#ebebeb;padding:40px;max-width:94vw;max-height:94svh;overflow:auto}.artwork-dialog::backdrop{background:#111b;backdrop-filter:blur(8px)}.dialog-content img,.dialog-content video{max-width:82vw;max-height:80svh;width:auto;height:auto;object-fit:contain}.dialog-close{position:absolute;right:8px;top:4px;border:0;background:transparent;font-size:30px;line-height:1}.dialog-content{min-width:160px}.home-page .site-footer{flex-shrink:0}
@media(min-width:1600px){.hero-card{width:256px;height:332px;margin:-166px 0 0 -128px}.carousel{height:520px}.home{min-height:650px}}
@media(max-width:1000px){:root{--page-padding:32px}.archive-grid{--card-gap:36px;grid-template-columns:repeat(4,minmax(0,1fr))}.logo-strip{margin:55px 0}.services{margin-top:110px}.site-header{padding-top:22.4px;padding-bottom:22.4px}}
@media(max-width:600px){:root{--page-padding:20px}.site-header{gap:9.6px;padding-block:19.2px}.brand{width:108px}nav{gap:12px}.work-link{font-size:11.2px}.booking{width:89.6px}.home{min-height:450px}.hero{padding-bottom:45px}.carousel{height:340px}.hero-card{width:176px;height:228px;margin:-114px 0 0 -88px}.site-footer{padding-block:24px;justify-content:flex-end}.site-footer .footer-contact{width:265px}.logo-strip{margin:45px 0}.logo-group{gap:35px;padding-right:35px}.logo-group img{width:110px;height:40px}.archive-grid{--card-gap:32px;--caption-space:22px;grid-template-columns:repeat(2,minmax(0,1fr))}.archive-item figcaption{font-size:12px;line-height:14px}.services{grid-template-columns:1fr;gap:18px;margin-top:85px}.work-page .site-footer{padding-top:35px}.artwork-dialog{padding:30px 15px}.dialog-content img,.dialog-content video{max-width:85vw}.motion-toggle{bottom:15px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.logo-track{width:auto}.logo-group[aria-hidden]{display:none}.logo-group{flex-wrap:wrap;justify-content:center;padding:0 20px;gap:25px}.logo-group img{width:100px}}
