.reveal-mask{margin:-.08em 0 -.16em;padding:.08em 0 .16em;display:block;overflow:hidden}.reveal-line{will-change:transform;display:block}.reveal-sr{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}[data-reveal=out]::marker{color:#0000}.hero{width:100vw;height:100vh;min-height:560px;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);margin-top:calc(-1 * var(--header-h,88px));background:#0a0a0a;position:relative;overflow:hidden}.hero__poster,.hero__video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.hero__poster{z-index:0}.hero__video{z-index:1}.hero__scrim{z-index:2;background:linear-gradient(#00000080 0%,#00000026 45%,#000000b3 100%);position:absolute;inset:0}.hero__content{z-index:3;height:100%;padding:0 var(--page-gutter,6vw) 9vh;color:#f5f4f1;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:18px;display:flex;position:relative}.hero__headline{letter-spacing:-.01em;max-width:640px;margin:0;font-size:clamp(2.1rem,4.2vw,3.4rem);font-weight:600;line-height:1.08}.hero__subtext{color:#f5f4f1d1;max-width:46ch;margin:0;font-size:clamp(.95rem,1.3vw,1.15rem);line-height:1.5}.hero__cta{color:#f5f4f1;letter-spacing:.01em;cursor:pointer;background:0 0;border:1px solid #f5f4f18c;border-radius:0;padding:12px 26px;font-family:inherit;font-size:.95rem;text-decoration:none;transition:background .2s,color .2s,border-color .2s;display:inline-block}.hero__cta:hover{color:#0a0a0a;background:#f5f4f1;border-color:#f5f4f1}.contact-btn.hero__cta{color:#f5f4f1;letter-spacing:.01em;text-transform:none;cursor:pointer;background:0 0;border:1px solid #f5f4f18c;border-radius:0;padding:12px 26px;font-family:inherit;font-size:.95rem;transition:background .2s,color .2s,border-color .2s;display:inline-block}.contact-btn.hero__cta:hover{color:#0a0a0a;background:#f5f4f1;border-color:#f5f4f1}@media (width<=640px){.hero{height:100svh}.hero__content{padding:0 var(--page-gutter,6vw) 7vh}.hero__headline{max-width:none}}@keyframes workflow-slide-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.workflow-page{color:#f5f4f1;background:#0a0a0a;min-height:100vh;padding:4px 0 100px;animation:.65s cubic-bezier(.16,1,.3,1) both workflow-slide-up!important}.workflow-page__header{margin-bottom:20px;padding:0 6vw}.workflow-page__back{color:#f5f4f199;margin-bottom:10px;font-size:.9rem;text-decoration:none;transition:color .16s;display:inline-block}.workflow-page__back:hover{color:#f5f4f1}.workflow-page__title{letter-spacing:-.01em;margin:0;font-size:clamp(1.8rem,3.4vw,2.6rem);font-weight:600}.workflow-page__missing{text-align:center;padding:100px 6vw}.workflow-timeline{padding:0 6vw}.workflow-step{grid-template-columns:1fr 40px 1fr;align-items:start;column-gap:24px;max-width:900px;margin:0 auto;display:grid}.workflow-step__content{max-width:380px}.workflow-step--right .workflow-step__content{text-align:left;grid-column:3}.workflow-step--right .workflow-step__points{text-align:left;padding-left:18px;padding-right:0}.workflow-step--right .workflow-step__spacer{grid-column:1}.workflow-step--left .workflow-step__content{text-align:left;grid-column:1;justify-self:end}.workflow-step--left .workflow-step__spacer{grid-column:3}.workflow-step__index{letter-spacing:.08em;color:#f5f4f173;margin-bottom:8px;font-size:.8rem;display:block}.workflow-step__title{margin:0 0 12px;font-size:1.2rem;font-weight:600;line-height:1.3}.workflow-step__points{color:#f5f4f1bf;flex-direction:column;gap:8px;margin:0;padding-left:18px;font-size:.88rem;line-height:1.5;display:flex}.workflow-connector{justify-content:center;max-width:900px;margin:0 auto;display:flex}.workflow-connector__arrow{color:#f5f4f159;width:24px;height:40px}.workflow-image{max-width:900px;margin:0 auto}.workflow-image img{aspect-ratio:688/384;object-fit:cover;width:100%;height:auto;display:block}.workflow-end{text-align:center;flex-direction:column;align-items:center;gap:18px;max-width:900px;margin:0 auto;padding-top:8px;display:flex}.workflow-end__title{margin:0;font-size:1.4rem;font-weight:600}@media (width<=720px){.workflow-step{grid-template-columns:32px 1fr;column-gap:16px;max-width:100%}.workflow-step--right .workflow-step__content,.workflow-step--left .workflow-step__content{text-align:left;grid-column:2;justify-self:start;max-width:none}.workflow-step--left .workflow-step__points{text-align:left;padding-left:18px;padding-right:0}.workflow-step--right .workflow-step__spacer,.workflow-step--left .workflow-step__spacer{display:none}.workflow-connector{justify-content:flex-start;padding-left:6vw}}:root{--bg:#0d0f10;--bg-elevated:#16181a;--line:#262a2c;--text:#f1efe9;--text-dim:#85817a;--accent:#b5563c;--font-display:"Space Grotesk", system-ui, sans-serif;--font-body:"Inter", system-ui, sans-serif;--font-mono:"IBM Plex Mono", "Courier New", monospace}*{box-sizing:border-box}html,body{background-color:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;background-image:linear-gradient(#ffffff06 1px,#0000 1px),linear-gradient(90deg,#ffffff06 1px,#0000 1px);background-size:48px 48px;margin:0;padding:0}body{min-height:100vh}a{color:inherit}button{cursor:pointer;font-family:inherit}:focus-visible{outline:1px solid var(--accent);outline-offset:3px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}#gallery,#motion,#about,#services,#process{scroll-margin-top:var(--header-h,160px)}.page{width:100%}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:24px;padding:clamp(28px,5vw,56px) 0 clamp(24px,4vw,40px);display:flex}.site-title{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:clamp(22px,3vw,30px);font-weight:600}.site-sub{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-dim);text-transform:uppercase;margin-top:6px;font-size:12px;display:block}.header-right{flex-shrink:0;align-items:center;gap:20px;display:flex}.work-count{font-family:var(--font-mono);color:var(--text-dim);letter-spacing:.04em;font-size:12px}.contact-btn{border:1px solid var(--line);color:var(--text);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;background:0 0;padding:10px 18px;font-size:12px;text-decoration:none;transition:border-color .16s,color .16s}.contact-btn:hover{border-color:var(--accent);color:var(--accent)}.gallery{column-count:1;column-gap:clamp(14px,2vw,24px);padding:clamp(28px,4vw,48px) 0 80px}@media (width>=640px){.gallery{column-count:2}}@media (width>=1100px){.gallery{column-count:3}}.tile{break-inside:avoid;background:var(--bg-elevated);border:1px solid var(--line);margin-bottom:clamp(14px,2vw,24px);position:relative;overflow:hidden}.tile img{width:100%;height:auto;transition:transform .9s cubic-bezier(.16,1,.3,1),filter .6s;display:block}.tile:hover img,.tile:focus-within img{filter:brightness(.86);transform:scale(1.05)}.tile-caption{opacity:0;pointer-events:none;background:linear-gradient(#0000,#0d0f10eb);justify-content:flex-start;align-items:baseline;gap:12px;padding:14px 16px;transition:opacity .4s;display:flex;position:absolute;bottom:0;left:0;right:0}.tile:hover .tile-caption,.tile:focus-within .tile-caption{opacity:1}.tile-title{opacity:0;transition:transform .55s cubic-bezier(.16,1,.3,1),opacity .4s;transform:translateY(14px)}.tile:hover .tile-title,.tile:focus-within .tile-title{opacity:1;transform:translateY(0)}.tile-title{font-family:var(--font-display);color:var(--accent);text-align:left;font-size:14px;font-weight:500}.tile-button{background:0 0;border:none;width:100%;padding:0;display:block}.empty-state{text-align:center;color:var(--text-dim);padding:100px 0}.empty-state h2{font-family:var(--font-display);color:var(--text);margin:0 0 10px;font-size:20px;font-weight:500}.empty-state code{font-family:var(--font-mono);color:var(--accent);background:var(--bg-elevated);border:1px solid var(--line);padding:2px 6px;font-size:13px}.lightbox{z-index:100;background:#080909f5;flex-direction:column;justify-content:center;align-items:center;padding:clamp(20px,5vw,60px);animation:.18s fade-in;display:flex;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.lightbox img{object-fit:contain;border:1px solid var(--line);max-width:100%;max-height:82vh}.lightbox-meta{font-family:var(--font-mono);color:var(--text-dim);letter-spacing:.05em;align-items:baseline;gap:14px;margin-top:18px;font-size:12px;display:flex}.lightbox-meta strong{font-family:var(--font-display);color:var(--text);letter-spacing:normal;font-weight:500}.lightbox-close{border:1px solid var(--line);color:var(--text-dim);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;background:0 0;padding:8px 14px;font-size:12px;transition:color .16s,border-color .16s;position:absolute;top:clamp(20px,4vw,40px);right:clamp(20px,4vw,40px)}.lightbox-close:hover{color:var(--accent);border-color:var(--accent)}.site-footer{border-top:1px solid var(--line);font-family:var(--font-mono);letter-spacing:.05em;color:var(--text-dim);text-transform:uppercase;padding:24px 0 40px;font-size:11px}
