.marching-text{color:var(--color-text-primary);-webkit-text-fill-color:var(--color-text-primary)}#hero-video-section{position:fixed;top:-100px;left:0;width:100%;height:calc(min((100vw - 40px) * .95,1600px)*.5625 + 50px);z-index:calc(var(--z-card-grid) - 1);display:flex;align-items:center;justify-content:center;overflow:hidden;pointer-events:auto;transition:opacity var(--duration-medium) var(--ease-default)}#hero-top-gradient{position:fixed;top:0;left:0;width:100%;height:100vh;background:linear-gradient(to bottom,rgba(0,0,0,.8) 0%,transparent 40%);z-index:var(--z-gradient);pointer-events:none}#hero-video-section video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 5s ease-in-out}#hero-video-section video.loaded{opacity:1}#hero-video-section:before{content:"";position:absolute;inset:0;background:#0006;z-index:1;pointer-events:none}#hero-video-section:after{content:"";position:absolute;inset:0;background:#000;z-index:2;pointer-events:none;opacity:1;transition:opacity 1.5s ease}#hero-video-section.video-revealed:after{opacity:0}#hero-video-section .crt-overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;pointer-events:none;background:repeating-linear-gradient(to bottom,transparent 0px,transparent 2px,rgba(0,0,0,.06) 2px,rgba(0,0,0,.06) 4px)}#hero-center-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:3;width:80%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none;gap:5px;padding:0 24px;opacity:1}#hero-center-text .stagger-word,#hero-center-text .skills-sep{display:inline-block;opacity:0;transform:scale(0);transition:opacity .8s ease-in,transform .8s cubic-bezier(.2,.9,.3,1)}@keyframes carouselScroll{0%{transform:translate(0)}to{transform:translate(-25%)}}@keyframes logoSparkle{0%,to{opacity:.7;filter:brightness(0) invert(1)}50%{opacity:1;filter:brightness(0) invert(1) brightness(1.6)}}#hero-logo-carousel{position:absolute;bottom:0;left:0;width:100%;overflow:visible;pointer-events:none;z-index:3;opacity:0;transition:opacity .8s ease-in}#hero-logo-carousel.hero-settled{opacity:1;padding:20px 0;transition:none}.carousel-track-mask{overflow:visible;-webkit-mask-image:linear-gradient(to right,transparent 0%,black 12%,black 88%,transparent 100%);mask-image:linear-gradient(to right,transparent 0%,black 12%,black 88%,transparent 100%);-webkit-mask-size:100% 300%;mask-size:100% 300%;-webkit-mask-position:0 -100%;mask-position:0 -100%}.carousel-track{display:flex;align-items:center;gap:clamp(40px,6vw,96px);width:max-content;animation:carouselScroll 30s linear infinite;will-change:transform}.carousel-track img{height:clamp(14px,2vw,30px);width:auto;object-fit:contain;flex-shrink:0;filter:brightness(0) invert(1);opacity:.6;animation:logoSparkle 1.5s ease-in-out infinite}.carousel-track img:nth-child(2n){animation-delay:.5s}.carousel-track img:nth-child(3n){animation-delay:1s}.carousel-track img:nth-child(4n){animation-delay:1.5s}.carousel-track img:nth-child(5n){animation-delay:2s}.carousel-track img:nth-child(7n){animation-delay:.8s}.carousel-track img:nth-child(11n){animation-delay:1.8s}.carousel-track img.carousel-amazon{height:clamp(10px,1.2vw,18px)}.carousel-track img.carousel-no-filter{filter:none;animation:none;opacity:1;height:clamp(20px,2.8vw,42px)}#hero-meta{position:absolute;bottom:80px;right:20px;z-index:var(--z-card-grid);text-align:right;font-family:var(--font-family-display);pointer-events:none;opacity:0;transition:opacity 2s ease-in}#hero-meta.hero-settled,#hero-meta.exit{opacity:1}#hero-meta.enter{transform:translateY(16px);opacity:0;transition:none}#hero-meta-title{color:var(--color-text-primary);font-size:var(--font-size-body);font-weight:var(--font-weight);letter-spacing:var(--letter-spacing);line-height:var(--line-height);text-transform:uppercase;text-shadow:var(--shadow-text)}#hero-meta-subtitle{color:var(--color-text-subtle);-webkit-text-fill-color:var(--color-text-subtle);font-size:var(--font-size-body);font-weight:var(--font-weight);letter-spacing:var(--letter-spacing);line-height:var(--line-height);text-transform:none;margin-top:var(--space-2);text-shadow:var(--shadow-text)}#card-grid{position:fixed;z-index:var(--z-card-grid);left:50%;transform:translate(-50%);transition:opacity var(--duration-slower) var(--ease-default)}#card-grid:before{display:none}#card-grid:after{display:none}.grid-card{position:absolute;overflow:hidden;cursor:pointer;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated);transition:border-color var(--duration-base),transform .45s var(--ease-material),opacity .35s var(--ease-default),left .45s var(--ease-material),top .45s var(--ease-material),width .45s var(--ease-material)}.grid-card:hover{border-color:var(--color-border-hover)}.grid-card.hero-active{border-color:var(--color-border-active);transform:scale(1.05);z-index:var(--z-content);transition:transform var(--duration-medium) var(--ease-default),border-color var(--duration-base) var(--ease-default)}.grid-card-thumb{width:100%;aspect-ratio:16 / 9;object-fit:cover;display:block;transition:opacity var(--duration-fast) var(--ease-default)}.grid-card video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;opacity:0;transition:opacity var(--duration-medium) var(--ease-default)}.grid-card.loading video{opacity:0}.grid-card-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:var(--space-16);background:linear-gradient(to top,rgba(0,0,0,.82) 0%,transparent 60%);opacity:0;transition:opacity var(--duration-base) var(--ease-out);pointer-events:none}.grid-card:hover .grid-card-overlay{opacity:1}@media(pointer:coarse){.grid-card:hover .grid-card-overlay{opacity:0}.grid-card.mobile-active .grid-card-overlay{opacity:1}}.grid-card-name{font-size:calc(var(--font-size-body) * 2);font-weight:var(--font-weight-heavy);letter-spacing:var(--letter-spacing);line-height:var(--line-height);text-transform:uppercase;white-space:nowrap;color:var(--color-text-primary);-webkit-text-fill-color:var(--color-text-primary);transform:translateY(6px);transition:transform var(--duration-base) var(--ease-out)}.grid-card:hover .grid-card-name{transform:translateY(0)}.grid-card-view{font-size:var(--font-size-body);font-weight:var(--font-weight);text-transform:uppercase;letter-spacing:var(--letter-spacing);line-height:var(--line-height);color:var(--color-text-tertiary);-webkit-text-fill-color:var(--color-text-tertiary);margin-top:var(--space-4);transform:translateY(6px);transition:transform var(--duration-base) var(--ease-out) .03s}.grid-card:hover .grid-card-view{transform:translateY(0)}.grid-card.loading:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--color-shimmer-base) 0%,var(--color-shimmer-shine) 50%,var(--color-shimmer-base) 100%);background-size:200% 100%;animation:shimmer 1.4s var(--ease-in) var(--shimmer-delay, 0ms) infinite;z-index:var(--z-base);pointer-events:none}.grid-card-progress{position:absolute;bottom:0;left:0;width:100%;height:3px;background:transparent}.grid-card-progress-fill{height:100%;width:0%;background:var(--color-accent);transition:width .1s linear}.services-item .grid-card-wave{opacity:.05}.grid-card-wave{position:absolute;inset:0;pointer-events:none;z-index:6;will-change:transform;transform:translate(-110%);mix-blend-mode:overlay}#featured-work{position:fixed;z-index:var(--z-content);left:50%;transform:translate(-50%);color:var(--color-text-secondary);pointer-events:auto;text-align:center;text-transform:uppercase}#featured-work h3{font-size:var(--font-size-body);font-weight:var(--font-weight);letter-spacing:var(--letter-spacing);line-height:var(--line-height);color:var(--color-text-tertiary);margin-bottom:var(--space-32)}.featured-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-16)}.featured-card{position:relative;overflow:hidden;border:1px solid var(--color-border);background:var(--color-surface-subtle);cursor:pointer;transition:border-color var(--duration-base),transform var(--duration-base)}.featured-card:hover{border-color:var(--color-border-hover);transform:translateY(-4px)}.featured-card video{width:100%;aspect-ratio:16 / 9;object-fit:cover;display:block;transition:filter var(--duration-medium)}.featured-card-info{padding:var(--space-12) 14px;text-align:left}.featured-card-name{font-size:var(--font-size-body);font-weight:var(--font-weight);letter-spacing:var(--letter-spacing);line-height:var(--line-height);color:var(--color-text-secondary);margin-bottom:var(--space-4)}.featured-card-role{font-size:var(--font-size-body);letter-spacing:var(--letter-spacing);line-height:var(--line-height);color:var(--color-text-dimmed)}#lightbox-backdrop{position:fixed;inset:0;z-index:calc(var(--z-topmost) - 4);background:#0009;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);opacity:0;pointer-events:none;transition:opacity var(--duration-base);overflow:hidden}#lightbox-scroll-space{display:none}#lightbox-backdrop.active{opacity:1;pointer-events:auto}body.lightbox-open #navbar,body.lightbox-open #card-grid,body.lightbox-open #about,body.lightbox-open #clients,body.lightbox-open #contact-section,body.lightbox-open #filters{filter:blur(8px) brightness(.7);transition:filter .3s ease}#lightbox-close{position:fixed;z-index:var(--z-topmost);top:var(--space-24);right:var(--space-24);background:none;border:none;color:#ffffff80;cursor:pointer;padding:0;display:none;align-items:center;justify-content:center;transition:color .2s}#lightbox-close:hover{color:#fff}#lightbox-close svg{width:28px;height:28px;fill:currentColor}#lightbox-skeleton{position:fixed;z-index:calc(var(--z-topmost) - 3);background:var(--color-shimmer-base);opacity:0;pointer-events:none;transition:opacity .2s ease;overflow:hidden}#lightbox-skeleton.active{opacity:1}#lightbox-skeleton:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.05) 40%,rgba(255,255,255,.09) 50%,rgba(255,255,255,.05) 60%,transparent 100%);background-size:200% 100%;animation:skeleton-shimmer 1.8s ease-in-out infinite}@keyframes skeleton-shimmer{0%{background-position:-100% 0}to{background-position:200% 0}}#lightbox-video{position:fixed;z-index:calc(var(--z-topmost) - 3);pointer-events:none;cursor:pointer;object-fit:cover;opacity:0;transform-origin:center center;will-change:transform,opacity}#lightbox-video.visible{pointer-events:auto}#lightbox-iframe{position:fixed;z-index:calc(var(--z-topmost) - 3);pointer-events:none;border:none;background:var(--color-bg);opacity:0;transform-origin:center center;will-change:transform,opacity;display:none}#lightbox-iframe.visible{pointer-events:auto}#playback-controls{position:fixed;z-index:calc(var(--z-topmost) - 2);display:none;align-items:center;gap:20px;padding:24px 28px;background:linear-gradient(to top,rgba(0,0,0,.6) 0%,transparent 100%);opacity:0;transition:opacity .35s var(--ease-out);box-sizing:border-box}#playback-controls.visible{opacity:1}#play-pause{background:none;border:none;color:#ffffffd9;cursor:pointer;padding:0;display:flex;align-items:center;flex-shrink:0;transition:color .2s}#play-pause:hover{color:#fff}#play-pause svg{width:48px;height:48px;fill:currentColor}#scrub-track{flex:1;height:6px;background:#fff3;border-radius:3px;cursor:pointer;position:relative}#scrub-fill{height:100%;background:#fff;border-radius:3px;width:0%;pointer-events:none;transition:background .2s}#scrub-track:hover #scrub-fill{background:#ffffffe6}#loop-toggle{background:none;border:none;color:#ffffffd9;cursor:pointer;padding:0;display:flex;align-items:center;flex-shrink:0;opacity:1;transition:opacity .2s}#loop-toggle.off{opacity:.3}#loop-toggle.off:hover{opacity:.6}#loop-toggle svg{width:24px;height:24px;fill:currentColor;transition:transform .15s ease-out}@keyframes loop-pop{0%{transform:scale(1)}40%{transform:scale(.72)}to{transform:scale(1)}}#loop-toggle.pop svg{animation:loop-pop .25s ease-out forwards}#time-display{color:#fff9;font-size:var(--font-size-body);font-family:var(--font-family);font-weight:var(--font-weight);letter-spacing:var(--letter-spacing);text-align:right;-webkit-user-select:none;user-select:none;flex-shrink:0;white-space:nowrap}#detail-name{position:fixed;z-index:calc(var(--z-topmost) - 2);font-size:var(--font-size-section);font-weight:var(--font-weight-heavy);letter-spacing:var(--letter-spacing);line-height:var(--line-height);white-space:nowrap;text-transform:uppercase;left:50%;transform:translate(-50%);opacity:0;pointer-events:none;transition:opacity var(--duration-base) var(--ease-out);box-sizing:border-box}#detail-name.visible{opacity:1}#lightbox-progress-bar{display:none}#detail-panel{position:fixed;z-index:calc(var(--z-topmost) - 1);display:flex;flex-direction:row;box-sizing:border-box;opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out)}#detail-panel.visible{opacity:1;transform:translateY(0);pointer-events:auto}.detail-row{flex:1;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;gap:var(--space-8);padding:var(--space-12) var(--space-16) var(--space-12) 0;overflow:hidden}.detail-row:last-child{flex:2}.detail-label{font-size:var(--font-size-body);font-weight:var(--font-weight);letter-spacing:var(--letter-spacing);line-height:var(--line-height);color:var(--color-text-primary);text-transform:uppercase;flex-shrink:0;width:100%;text-align:center}.detail-row span:last-child{font-size:var(--font-size-body);font-weight:var(--font-weight);letter-spacing:var(--letter-spacing);line-height:var(--line-height);color:var(--color-text-dimmed);text-align:center;text-transform:none!important}#detail-desc{font-size:var(--font-size-body);font-weight:var(--font-weight);letter-spacing:var(--letter-spacing);line-height:var(--line-height);color:var(--color-text-dimmed);text-transform:none!important;text-align:center;margin:0}@media(max-width:767px){#detail-name{white-space:normal;text-align:center}#playback-controls{padding:10px 20px;height:52px;box-sizing:border-box}#play-pause svg{width:32px;height:32px}#detail-panel{flex-direction:column;padding:0 16px}.detail-row{flex:none;border-right:none;padding:10px 0;border-bottom:1px solid var(--color-border);align-items:flex-start}.detail-row:last-child{border-bottom:none;flex:none;padding-right:0}.detail-label{text-align:left;width:auto}#lightbox-close{top:12px;right:12px}#lightbox-close svg{width:24px;height:24px}}
