/* VAS motion edition — the existing VAS mark, framed space, and a calm rhythm. */
.header{position:fixed;transition:background .45s,padding .45s,border-color .45s}.header.scrolled{padding-top:13px;padding-bottom:13px;background:#252923f5;border-color:#eeeade30;backdrop-filter:blur(12px)}
.logo{gap:14px}.logo .brand-symbol{display:block;width:82px;height:48px;background:currentColor;mask:url('assets/vas-logo.png') center / 126% auto no-repeat;mask-mode:luminance;flex-shrink:0}.dialog-top .brand-symbol{color:var(--ink)}.reading-progress{position:fixed;z-index:80;left:0;top:0;height:2px;width:100%;background:#bfc4a1;transform:scaleX(var(--read-progress,0));transform-origin:left;pointer-events:none}
.intro{background:#141913;color:var(--paper);animation:introExit .95s 3.45s var(--ease) forwards}.intro-pictures{inset:0;z-index:0;animation:introFrame 2s 1.4s var(--ease) both}.intro-pictures img{animation:pictureIn .8s 1s var(--ease) forwards;filter:brightness(.52)}.intro-pictures img:nth-child(2){animation-delay:1.7s}.intro-pictures img:nth-child(3){animation-delay:2.4s}.intro-logo{position:absolute;z-index:2;left:50%;top:50%;width:min(65vw,780px);height:min(65vw,780px);transform:translate(-50%,-50%);animation:logoSettle 1.2s 2.9s var(--ease) both}.intro-logo>span{position:absolute;inset:0;background:var(--paper);mask:url('assets/vas-logo.png') center / contain no-repeat;mask-mode:luminance;animation:logoAssemble 1.2s var(--ease) both}.intro-logo>span:nth-child(1){clip-path:inset(0 62% 0 0);animation-delay:.1s}.intro-logo>span:nth-child(2){clip-path:inset(0 39% 0 38%);animation-delay:.26s}.intro-logo>span:nth-child(3){clip-path:inset(0 0 0 61%);animation-delay:.42s}.intro-top,.intro-bottom{z-index:6}.intro-bottom{animation:introCaption .8s .55s both}.intro-line{background:var(--paper);animation-duration:3.45s;z-index:6}.intro-shutter{position:absolute;top:0;bottom:0;background:#141913;z-index:1;width:50%;pointer-events:none}.shutter-left{left:0;transform-origin:left;animation:shutterLeft 1.8s 1.2s var(--ease) forwards}.shutter-right{right:0;transform-origin:right;animation:shutterRight 1.8s 1.2s var(--ease) forwards}
@keyframes logoAssemble{from{opacity:0;transform:translateY(24%)}to{opacity:1;transform:translateY(0)}}@keyframes logoSettle{from{transform:translate(-50%,-50%) scale(1)}to{transform:translate(-50%,-55%) scale(.88)}}@keyframes introFrame{from{clip-path:inset(18% 28%);transform:scale(1.18)}to{clip-path:inset(0);transform:scale(1)}}@keyframes shutterLeft{to{transform:translateX(-100%)}}@keyframes shutterRight{to{transform:translateX(100%)}}@keyframes introCaption{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.hero:before,.hero:after{content:'';position:absolute;inset:0 50% 0 0;background:#252923;z-index:4;pointer-events:none;transform:translateX(-101%);transition:transform 1.5s var(--ease)}.hero:after{inset:0 0 0 50%;transform:translateX(101%);transition-delay:.08s}.opening .hero:before,.opening .hero:after{transform:translateX(0)}.hero h1 .line:nth-child(2)>span{transition-delay:.16s}.hero-side{transition:opacity 1.2s .4s,translate 1.2s .4s var(--ease)}.opening .hero-side{opacity:0;translate:0 30px}.hero-image.changing{animation:heroWipe 1s var(--ease)}@keyframes heroWipe{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}
.cinema{height:170vh;position:relative;background:var(--paper)}.cinema-sticky{height:100svh;min-height:620px;position:sticky;top:0;overflow:hidden;color:var(--paper)}.cinema-image{position:absolute;inset:0;clip-path:inset(var(--cinema-y,12%) var(--cinema-x,18%));will-change:clip-path}.cinema-image>img{height:100%;object-position:center 57%;transform:scale(var(--cinema-scale,1.12));will-change:transform}.cinema-shade{position:absolute;inset:0;background:linear-gradient(#14201310,#14201360)}.cinema-copy{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;transform:translateY(var(--cinema-text,0px))}.cinema-copy .eyebrow{margin-bottom:35px}.cinema-copy h2{font-size:clamp(95px,13vw,200px);text-align:center;line-height:.84;letter-spacing:-.04em}.cinema-copy em{display:block}.cinema-caption{position:absolute;bottom:40px;left:5%;right:5%;display:flex;justify-content:space-between;font-size:11px;letter-spacing:.08em;opacity:var(--cinema-caption,0)}
.js.motion .project.reveal .project-photo{clip-path:inset(9% 12%);transition:clip-path 1.45s var(--ease)}.js.motion .project.reveal.visible .project-photo{clip-path:inset(0)}.js.motion .project.reveal .project-photo img{transform:scale(1.16);transition:transform 1.8s var(--ease)}.js.motion .project.reveal.visible .project-photo img{transform:scale(1.01)}.js.motion .project.reveal.visible:hover .project-photo img{transform:scale(1.055)}.project-photo{isolation:isolate}.project-photo:after{content:'';position:absolute;inset:0;background:var(--olive);transform-origin:top;transform:scaleY(0);transition:transform 1.4s var(--ease);z-index:3;pointer-events:none}.js.motion .project.reveal:not(.visible) .project-photo:after{transform:scaleY(1)}
.roll-label{display:inline-block;position:relative;overflow:hidden;vertical-align:bottom;line-height:1.5}.roll-label>span{display:block;transition:transform .55s var(--ease)}.roll-label:after{content:attr(data-label);position:absolute;left:0;top:100%;white-space:nowrap;transition:transform .55s var(--ease)}a:hover>.roll-label>span,a:focus-visible>.roll-label>span,a:hover>.roll-label:after,a:focus-visible>.roll-label:after{transform:translateY(-100%)}
.menu-dialog[open] nav a{overflow:hidden}.menu-dialog[open] nav a span{animation:menuLineIn .85s var(--ease) both}.menu-dialog[open] nav a:nth-child(2) span{animation-delay:.06s}.menu-dialog[open] nav a:nth-child(3) span{animation-delay:.12s}.menu-dialog[open] nav a:nth-child(4) span{animation-delay:.18s}.menu-dialog[open] nav a:nth-child(5) span{animation-delay:.24s}.menu-dialog[open] nav a:nth-child(6) span{animation-delay:.3s}.menu-dialog[open] .menu-aside{animation:introCaption 1s .3s both}@keyframes menuLineIn{from{transform:translateY(110%)}to{transform:translateY(0)}}
.project-dialog[open] .project-heading h2{animation:introCaption .8s .15s both}.project-dialog[open] .project-full-image{animation:projectImageIn 1.4s var(--ease) both}@keyframes projectImageIn{from{clip-path:inset(0 10%);transform:scale(1.04)}to{clip-path:inset(0);transform:scale(1)}}.project-content-section{overflow:hidden}.project-content-section img{transition:clip-path 1s var(--ease),transform 1s var(--ease)}.js.motion .project-content-section:not(.seen) img{clip-path:inset(10%);transform:translateY(25px)}.js.motion .project-content-section.seen img{clip-path:inset(0);transform:translateY(0)}
.reduce-motion .cinema{height:auto}.reduce-motion .cinema-sticky{height:75vh;position:relative}.reduce-motion .cinema-image{clip-path:none}.reduce-motion .cinema-image>img,.reduce-motion .cinema-copy{transform:none}.reduce-motion .cinema-caption{opacity:1}.reduce-motion .project-photo,.reduce-motion .project-content-section img{clip-path:none!important;transform:none!important}.reduce-motion .project-photo:after{display:none}
@media(max-width:1000px){.logo .brand-symbol{display:block;width:75px;height:42px}.cinema-copy h2{font-size:15vw}.cinema{height:145vh}}
@media(max-width:650px){html{scroll-padding-top:80px}.header{padding-top:15px;padding-bottom:15px}.header.scrolled{padding-top:10px;padding-bottom:10px}.logo .brand-symbol{width:67px;height:38px}.intro-logo{width:96vw;height:96vw}.intro-pictures{animation-name:introFrameMobile}.intro-bottom{font-size:9px}.intro-top{font-size:10px}.cinema{height:auto;padding:0 0 20px}.cinema-sticky{height:78svh;min-height:520px;position:relative}.cinema-image{clip-path:inset(0)}.cinema-image>img{transform:scale(1.03)}.cinema-copy{transform:none}.cinema-copy h2{font-size:23vw}.cinema-copy .eyebrow{font-size:10px;margin-bottom:25px}.cinema-caption{left:6%;right:6%;bottom:25px;font-size:9px;gap:30px;opacity:1}.cinema-caption span:last-child{text-align:right}.project-photo img{will-change:auto}.header.scrolled .menu-button{min-height:38px}@keyframes introFrameMobile{from{clip-path:inset(23% 12%);transform:scale(1.15)}to{clip-path:inset(0);transform:scale(1)}}}
@media(prefers-reduced-motion:reduce){.cinema{height:auto}.cinema-sticky{position:relative;height:75vh}.cinema-image{clip-path:none}.cinema-image>img,.cinema-copy{transform:none}.cinema-caption{opacity:1}.project-photo,.project-content-section img{clip-path:none!important;transform:none!important}.project-photo:after{display:none}.hero:before,.hero:after{display:none}}
