/* Analogue texture belongs to the image, while type and playback stay clean. */
:root{--cinema-warm:#e07852;--cinema-violet:#a88ddb}
.signal-image{isolation:isolate}
.signal-image:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 3px,#06070f34 3px 4px);opacity:.16;mix-blend-mode:multiply}
.signal-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;opacity:0}
.signal-image .project-image-top,.signal-image .image-bottom,.signal-image .award-badge{z-index:4}
.signal-image .view-project{z-index:5}
.cinema-burn{position:fixed;inset:0;width:100%;height:100%;z-index:7;pointer-events:none;opacity:0;mix-blend-mode:screen;mask-image:linear-gradient(90deg,transparent 20%,#0009 55%,#000 82%)}
body:has(dialog[open]) .cinema-burn{visibility:hidden}
.cinema-heading h2{clip-path:inset(0 0 0 0);transition:opacity 520ms var(--ease-out),clip-path 650ms var(--ease-in-out)}
.cinema-heading:not(.cinema-visible) h2{opacity:0;clip-path:inset(0 0 100% 0)}
.cinema-heading .eyebrow{transition:opacity 360ms ease}
.cinema-heading:not(.cinema-visible) .eyebrow{opacity:0}
.cinema-heading.cinema-instant h2,.cinema-heading.cinema-instant .eyebrow{transition:none}
.film-rail:after{content:"";display:block;width:1px;height:90px;background:linear-gradient(transparent,#b690ac90,#e5a07280,transparent);margin:4px 0 0 3px}
.travel-ready .project-card .project-image{border-radius:3px;border-color:#c5b8d846;box-shadow:0 25px 80px #03050dcc,0 0 45px #6948a912}
.travel-ready .project-card .project-image{transition:none}
.travel-ready .project-open{border-radius:3px}
.travel-ready .film-viewport:after{background:linear-gradient(90deg,transparent 65%,#3016320d 85%,#91443b08);z-index:0}
.collection-heading h2 em{color:#a19db3}
.director-profile{display:grid;grid-template-columns:1.15fr 1fr;gap:6vw;align-items:center}
.director-portrait{margin:0;position:relative;aspect-ratio:1.18;overflow:hidden;border:1px solid #a599ac2b;background:#111019}
.director-portrait img{width:100%;height:100%;display:block;object-fit:cover;object-position:34% center}
.director-portrait:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#0b0b16b5,transparent 30%);box-shadow:inset 0 0 70px #08071330}
.director-portrait figcaption{position:absolute;bottom:20px;left:24px;z-index:1;font:9px var(--type-ui);letter-spacing:.15em;color:#c9bcb1}
.about .director-note h2{font-size:clamp(62px,7.6vw,130px);line-height:.91;letter-spacing:-.07em;white-space:nowrap}
.about .director-note h2 em{color:#9591a6}
.director-role{margin:29px 0 0;display:flex;flex-direction:column;gap:7px;font-size:14px;color:#d0c8d5}
.director-role [lang=en]{font-size:11px;letter-spacing:.04em;color:#918a9e}
.director-note .about-body{display:block;margin:27px 0 0;max-width:520px;font-size:16px;line-height:1.85;color:#c0b9c6}
.director-note .about-body p{margin:0}
.director-note .about-body [lang=en]{font-size:13px;line-height:1.7;margin-top:22px;color:#8e8a9c}
.about .profile-highlights{margin-top:52px;border-color:#a598b32f;padding:24px 0}
.profile-highlights strong{font-size:16px;color:#c7becd;margin-top:12px}
.profile-highlights small{color:#8e859b;font-size:9px;line-height:1.7}
.about .profile-slot{margin-top:20px;color:#837b90}.about .profile-name{font-size:15px;color:#b4aabd}
.closing-orbit{position:absolute;inset:0;width:100%;height:100%;opacity:0;perspective:1100px;pointer-events:none;filter:drop-shadow(0 0 12px #c7955020);mask-image:linear-gradient(90deg,#0004 10%,#000 58%)}
.orbit-plane{position:absolute;transform-origin:50% 50%;transform-style:preserve-3d;backface-visibility:visible}
.orbit-spinner{position:absolute;inset:0;width:100%;height:100%;transform-origin:50% 50%;backface-visibility:visible}
.type-orbit-ready .orbit-plane{display:none}
.orbit-spinner{font-family:var(--type-display);font-weight:800;fill:#c4aa7f;animation:credit-orbit 48s linear infinite;animation-play-state:paused}
.orbit-plane-1 .orbit-spinner{fill:#9d896d;opacity:.64;animation-duration:51s}
.orbit-plane-2 .orbit-spinner{fill:#af9781;opacity:.46;animation-duration:54s}
.orbit-plane-3 .orbit-spinner{fill:#7d756d;opacity:.34;animation-duration:57s}
.orbit-signature{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:800 30px var(--type-display);letter-spacing:-.035em;white-space:nowrap;color:#c1b393;text-align:center}
.orbit-signature span{display:block;margin-top:9px;font:8px var(--type-ui);letter-spacing:.14em;color:#887b68}
.contact h2{font-size:clamp(65px,8.3vw,144px);max-width:850px}
.contact-details{display:grid;gap:16px;padding:18px 0;border-top:1px solid #b7c8c32b;min-width:355px}
.contact-method{display:grid;grid-template-columns:95px auto;align-items:baseline;gap:18px}
.contact-method-label{font:10px var(--type-meta);letter-spacing:.04em;color:#98afa9}
.contact-method-value{font:17px var(--type-ui);line-height:1.5;color:#d8e7e2;user-select:text}
.contact-method a{transition:color 180ms ease}
.contact-method a:hover{color:#cabb9e}
.contact-method a:focus-visible{outline:2px solid #cabb9e;outline-offset:5px;border-radius:2px}
.lab-grid-six{grid-template-columns:repeat(2,minmax(0,1fr))}
.lab-grid-six .lab-card:first-child{grid-column:auto;display:block}
.lab-grid-six .lab-card .lab-art{height:auto;min-height:0;aspect-ratio:16/9;flex:none}
.lab-grid-six .lab-card .lab-art img{object-fit:contain}
.lab-grid-six .lab-card .lab-info{display:grid;grid-template-columns:1fr auto;justify-content:normal;padding:25px 28px;gap:14px 20px}
.lab-grid-six .lab-card .lab-info h3{font-size:28px}
.lab-grid-six .lab-card .lab-number{display:block}
.lab-grid-six .lab-card .lab-tags{margin-top:7px}
body:has(dialog[open]) .closing-orbit{visibility:hidden}
.motion-paused .orbit-spinner{animation-play-state:paused!important}
@keyframes credit-orbit{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.orbit-spinner{animation:none!important}}
.motion-paused .signal-canvas,.motion-paused .cinema-burn{opacity:0!important}
.motion-paused .cinema-heading h2,.motion-paused .cinema-heading .eyebrow{transition:none;clip-path:none;opacity:1}
@media(prefers-reduced-motion:reduce){.signal-image:before{opacity:.08}.signal-canvas,.cinema-burn{display:none}.cinema-heading h2,.cinema-heading .eyebrow{transition:none!important;clip-path:none!important;opacity:1!important}}
