:root{--bg: #17161a;--bg-alt: #141414;--bg-tile: #1c1c1c;--text: #f7f7f7;--text-muted: #a8a8a7;--accent: #e3d0a8;--line: #2e2e2e;--max-width: 1200px;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text)}body{font-family:Montserrat,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh;display:flex;flex-direction:column}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font-family:inherit}.container{max-width:var(--max-width);margin:0 auto;padding:0 32px}@media (max-width: 640px){.container{padding:0 20px}}.site-header{position:sticky;top:0;z-index:50;background:#17161ad9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.site-header .container{max-width:1600px;padding:0 36px}@media (max-width: 640px){.site-header .container{padding:0 27px}}.site-header__inner{display:flex;align-items:center;justify-content:space-between;height:84px}.site-header__logo{font-weight:900;font-size:18px;letter-spacing:.08em;text-transform:uppercase}.site-nav{display:flex;align-items:center;gap:36px}.site-nav a{font-size:13px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);transition:color .2s ease;padding:6px 0;position:relative}.site-nav a:hover,.site-nav a.active{color:var(--accent)}.site-nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:var(--accent)}.nav-toggle{display:none;background:none;border:1px solid var(--line);color:var(--text);padding:8px 12px;border-radius:4px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}@media (max-width: 780px){.site-nav{display:none;position:absolute;top:84px;left:0;right:0;background:var(--bg);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:0;padding:8px 20px 20px}.site-nav.open{display:flex}.site-nav a{width:100%;padding:14px 0;border-bottom:1px solid var(--line)}.nav-toggle{display:inline-block}}.hero{padding:96px 0 40px;position:relative;overflow:hidden}.hero .container{max-width:1600px;padding:0 36px}@media (max-width: 640px){.hero .container{padding:0 27px}}.hero__inner{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}@media (max-width: 700px){.hero__inner{grid-template-columns:1fr}}.hero__heading{font-size:clamp(24px,4vw,44px);font-weight:400;line-height:.95;letter-spacing:-.02em;margin:0;text-transform:uppercase}.hero__heading span{display:block;font-weight:900;color:var(--accent)}.hero__rule{display:block;width:32px;height:1px;background:var(--accent);margin:14px 0}.hero__location{font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin:0}.hero__desc-block{text-align:right}@media (max-width: 700px){.hero__desc-block{text-align:left}}.hero__tagline{font-size:clamp(15px,1.8vw,20px);font-weight:500;margin:0}.hero__subtext{margin-top:6px;font-size:14px;color:var(--text-muted);line-height:1.6}.works{padding:60px 0 100px}.works .container{max-width:1600px;padding:0 36px}@media (max-width: 640px){.works .container{padding:0 27px}}.works--offset{padding-top:160px}.works__heading{font-size:14px;font-weight:700;letter-spacing:.24em;color:var(--accent);margin:0 0 36px}.works__status{color:var(--text-muted);font-size:14px}.works__status--error{color:#e08a8a}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}.skeleton-tile{aspect-ratio:16 / 9;border-radius:2px;background:var(--bg-tile);animation:skeleton-pulse 1.4s ease-in-out infinite}.skeleton-media{background:var(--bg-tile);animation:skeleton-pulse 1.4s ease-in-out infinite}.skeleton-line{border-radius:2px;background:var(--bg-tile);animation:skeleton-pulse 1.4s ease-in-out infinite}.works__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}@media (max-width: 900px){.works__grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.works__grid{grid-template-columns:1fr}}.works__load-more{display:block;margin:32px auto 0;padding:14px 36px;background:none;border:1px solid var(--accent);color:var(--accent);font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;border-radius:999px;cursor:pointer;transition:background .2s ease,color .2s ease}.works__load-more:hover:not(:disabled){background:var(--accent);color:var(--bg)}.works__load-more:disabled{opacity:.6;cursor:default}.project-tile{position:relative;aspect-ratio:16 / 9;border-radius:2px;overflow:hidden;cursor:pointer;background:var(--bg-tile);border:none;padding:0;display:block;width:100%}.project-tile img,.project-tile__fallback{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.project-tile__fallback{background:linear-gradient(135deg,var(--bg-tile),#262626)}.project-tile:hover img{transform:scale(1.06)}.project-tile__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,#000000d1,#00000026 55%,#00000059);display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:20px;text-align:left;opacity:0;transition:opacity .2s ease}.project-tile:hover .project-tile__overlay{opacity:1}.project-tile__play{width:52px;height:52px;border-radius:50%;border:1.5px solid var(--accent);display:flex;align-items:center;justify-content:center;margin-bottom:14px}.project-tile__play svg{fill:var(--accent)}.project-tile__name{font-size:14px;font-weight:600;color:var(--text)}.project-tile__tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.project-tile__tag{font-size:9px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);border:.5px solid rgba(227,208,168,.35);padding:2px 7px;border-radius:1px}.cta{padding:100px 0;border-top:1px solid var(--line);text-align:center}.cta__heading{font-size:clamp(32px,5vw,56px);font-weight:900;margin:0}.cta__subheading{margin-top:12px;font-size:18px;color:var(--accent);font-weight:600}.cta__text{margin:22px auto 0;max-width:560px;color:var(--text-muted);line-height:1.7;font-size:15px}.cta__clients{margin:14px auto 0;max-width:560px;color:var(--text-muted);line-height:1.7;font-size:15px}.cta__button{display:inline-block;margin-top:34px;padding:16px 38px;border:1px solid var(--accent);color:var(--accent);font-size:13px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;border-radius:999px;transition:background .2s ease,color .2s ease}.cta__button:hover{background:var(--accent);color:var(--bg)}.site-footer{border-top:1px solid var(--line);padding:36px 0;margin-top:auto}.site-footer__inner{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;font-size:13px;color:var(--text-muted)}.site-footer__inner a:hover{color:var(--accent)}.site-footer__links{display:flex;gap:24px}.project-page-status{padding:200px 32px 100px;text-align:center;color:var(--text-muted)}.project-page{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}@media (max-width: 900px){.project-page{grid-template-columns:minmax(0,1fr)}}.project-page__media{position:sticky;top:84px;height:calc(100vh - 84px);border:none;padding:0;cursor:pointer;background-color:var(--bg-tile);background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center}@media (max-width: 900px){.project-page__media{position:static;height:auto;aspect-ratio:16 / 9}}.project-page__play-ring{width:68px;height:68px;border-radius:50%;border:1.5px solid var(--accent);background:#0a0a0a4d;display:flex;align-items:center;justify-content:center;transition:background .2s ease}.project-page__media:hover .project-page__play-ring{background:var(--accent)}.project-page__play-ring svg{fill:var(--accent);margin-left:3px;transition:fill .2s ease}.project-page__media:hover .project-page__play-ring svg{fill:var(--bg)}.project-page__info{position:relative;min-width:0;padding:120px 64px 64px;display:flex;flex-direction:column}@media (max-width: 900px){.project-page__info{padding:48px 24px 64px}}.project-page__back{position:absolute;top:100px;background:none;border:none;padding:0;font-family:inherit;font-size:12px;color:var(--text-muted);letter-spacing:.04em;cursor:pointer}.project-page__back:hover{color:var(--accent)}@media (max-width: 900px){.project-page__back{position:static;margin-bottom:24px;display:inline-block}}.project-page__category{font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin:0 0 12px}.project-page__title{margin:0 0 28px;display:flex;flex-direction:column}.project-page__title-sub{font-size:clamp(18px,2vw,24px);font-weight:400;color:var(--text-muted);overflow-wrap:break-word}.project-page__title-main{font-size:clamp(28px,4vw,44px);font-weight:900;line-height:1.1;overflow-wrap:break-word}.project-page__meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,160px));gap:20px;margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--line)}.project-page__meta-label{display:block;font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px}.project-page__meta-value{font-size:14px}.project-page__desc{color:var(--text-muted);line-height:1.7;font-size:15px;max-width:480px;margin:0 0 24px}.project-page__tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:32px}.project-page__tag{font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);border:.5px solid rgba(227,208,168,.35);padding:3px 9px;border-radius:1px}.project-page__watch{display:flex;align-items:center;gap:12px;background:none;border:1px solid var(--line);color:var(--text);padding:18px 24px;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;max-width:420px;transition:border-color .2s ease,color .2s ease}.project-page__watch svg{fill:var(--text);transition:fill .2s ease}.project-page__watch:hover{border-color:var(--accent);color:var(--accent)}.project-page__watch:hover svg{fill:var(--accent)}.contact-page{padding:160px 0 120px;min-height:70vh;display:flex;align-items:center}.not-found-page{padding:160px 0 120px;min-height:70vh;display:flex;align-items:center;text-align:center}.not-found-page .container{margin:0 auto}.not-found-page__eyebrow{font-size:clamp(36px,6vw,64px);font-weight:900;text-transform:uppercase;color:var(--accent);line-height:1.1;margin:0 0 20px}.not-found-page__text{color:var(--text-muted);max-width:420px;margin:0 auto 32px;line-height:1.7}.not-found-page__link{display:inline-block;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);border-bottom:1px solid transparent;transition:border-color .2s ease}.not-found-page__link:hover{border-color:var(--accent)}.contact-page__eyebrow{font-size:13px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--accent);margin:0 0 16px}.contact-page__heading{font-size:clamp(48px,9vw,96px);font-weight:900;text-transform:uppercase;line-height:.95;margin:0 0 24px}.contact-page__intro{color:var(--text-muted);max-width:480px;line-height:1.7;font-size:16px;margin:0 0 56px}.contact-page__details{display:flex;flex-direction:column;gap:28px;max-width:480px}.contact-page__detail{display:flex;flex-direction:column;gap:4px;padding-bottom:20px;border-bottom:1px solid var(--line);transition:opacity .2s ease}.contact-page__detail:hover{opacity:.75}.contact-page__detail-label{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}.contact-page__detail-value{font-size:clamp(20px,3vw,28px);font-weight:600;color:var(--text)}.vimeo-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#000000eb;display:flex;align-items:center;justify-content:center;padding:24px}.vimeo-modal__content{width:100%;max-width:1100px}.vimeo-modal__player{position:relative;width:100%;aspect-ratio:16 / 9;background:var(--bg-tile);border-radius:6px;overflow:hidden}.vimeo-modal__player iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.vimeo-modal__placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--text-muted);text-align:center;padding:24px}.vimeo-modal__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.vimeo-modal__title{font-size:16px;font-weight:600}.vimeo-modal__close{background:none;border:1px solid var(--line);color:var(--text);width:36px;height:36px;border-radius:50%;cursor:pointer;font-size:16px;line-height:1}.vimeo-modal__close:hover{border-color:var(--accent);color:var(--accent)}.photo-gallery{padding:60px 0 100px}.photo-gallery__heading{font-size:clamp(32px,5vw,56px);font-weight:700;text-align:center;margin:0 0 48px}.photo-gallery__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}@media (max-width: 900px){.photo-gallery__grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.photo-gallery__grid{grid-template-columns:1fr}}.photo-gallery__item{aspect-ratio:9 / 16;overflow:hidden;border-radius:2px;background:var(--bg-tile);border:none;padding:0;cursor:pointer;display:block;width:100%}.photo-gallery__item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}.photo-gallery__item:hover img{transform:scale(1.04)}.photo-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0a0a0af0;display:flex;align-items:center;justify-content:center;padding:48px}.photo-lightbox__image{max-width:100%;max-height:100%;object-fit:contain;border-radius:2px}.photo-lightbox__close{position:absolute;top:24px;right:32px;background:none;border:none;color:var(--text-muted);font-family:inherit;font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.photo-lightbox__close:hover{color:var(--accent)}.photo-lightbox__nav{position:absolute;top:50%;transform:translateY(-50%);border:none;background:none;color:var(--accent);font-size:36px;line-height:1;padding:12px;cursor:pointer;transition:opacity .2s ease}.photo-lightbox__nav:hover{opacity:.7}.photo-lightbox__nav--prev{left:24px}.photo-lightbox__nav--next{right:24px}@media (max-width: 640px){.photo-lightbox{padding:24px}.photo-lightbox__nav{font-size:26px;padding:8px}}@keyframes page-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.page-transition{animation:page-fade-in .35s ease}
