.logo{display:block;width:96px;height:52px}
.pm-mark{display:block;width:100%;height:100%;overflow:visible}
.pm-stroke{fill:none;stroke:var(--fg);stroke-width:2.95;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1}
.pm-p{animation:write-mark .76s cubic-bezier(.55,.05,.25,1) forwards}
.pm-m{animation:write-mark .86s .76s cubic-bezier(.55,.05,.25,1) forwards}
.pm-pen,.pm-dot{fill:var(--acid)}
.pm-pen{filter:drop-shadow(0 0 5px rgba(0,127,152,.75));animation:pen-away .12s 1.6s forwards}
.pm-dot{opacity:0;transform-origin:80px 30px;animation:dot-land .32s 1.55s cubic-bezier(.2,1.7,.45,1) forwards}
@keyframes write-mark{to{stroke-dashoffset:0}}
@keyframes pen-away{to{opacity:0}}
@keyframes dot-land{0%{opacity:0;transform:scale(.2)}100%{opacity:1;transform:scale(1)}}
.hero{position:relative;isolation:isolate;min-height:auto;padding-top:145px}
.hero-copy{min-height:calc(100vh - 145px);display:flex;flex-direction:column;justify-content:space-between;padding-bottom:9vh}
.showreel-stage{margin:0 4vw 7vh 13vw;transform:rotate(-1.2deg)}
.showreel-topline{display:flex;justify-content:space-between;gap:20px;padding:0 2px 12px;text-transform:uppercase;font-size:.68rem;letter-spacing:.16em;color:#8e8e88}
.showreel-frame{position:relative;aspect-ratio:16/9;background:#111;border:1px solid #373733;overflow:hidden;box-shadow:0 36px 90px rgba(0,0,0,.48)}
.hero-reel{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.showreel-badge{position:absolute;z-index:2;left:-1px;top:-1px;background:var(--acid);color:#070707;padding:16px 22px;font-weight:900;line-height:.82;letter-spacing:-.06em;font-size:clamp(1.2rem,2vw,2.1rem)}
.reel-toggle{position:absolute;z-index:2;right:18px;bottom:18px;border:1px solid rgba(255,255,255,.65);background:rgba(7,7,7,.58);backdrop-filter:blur(8px);color:white;border-radius:99px;padding:10px 16px;text-transform:uppercase;letter-spacing:.12em;font-size:.65rem;cursor:pointer}
.card{border:0;color:inherit;text-align:left;width:100%;font:inherit;cursor:pointer}
.card-visual{background:#151515}
.card-visual:before,.card-visual:after{display:none}
.card-visual img,.card-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.card-visual img{transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .35s,opacity .35s}
.card-video{opacity:0;transition:opacity .28s ease;pointer-events:none}
.card:hover .card-visual img{transform:scale(1.035);filter:saturate(1.08)}
.card.is-playing .card-video{opacity:1}
.card.is-playing .card-poster{opacity:0}
.motion-label{position:absolute;z-index:2;left:14px;bottom:14px;border:1px solid rgba(255,255,255,.48);border-radius:99px;background:rgba(0,0,0,.48);backdrop-filter:blur(7px);padding:8px 11px;color:white;font-size:.62rem;letter-spacing:.11em;text-transform:uppercase;transition:opacity .25s}
.card.is-playing .motion-label{opacity:0}
.project-dialog{width:min(1100px,94vw);max-height:92vh;padding:0;border:1px solid #343432;background:#0c0c0c;color:var(--fg);overflow:auto}
.project-dialog::backdrop{background:rgba(0,0,0,.82);backdrop-filter:blur(8px)}
.dialog-close{position:fixed;z-index:2;top:calc(4vh + 12px);right:calc(3vw + 12px);width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:#080808;color:white;font-size:1.7rem;cursor:pointer}
.dialog-image{width:100%;max-height:62vh;object-fit:cover;display:block}
.dialog-content{padding:42px}
.dialog-content h2{font-size:clamp(2.8rem,6vw,6rem);margin-bottom:28px}
.dialog-client{font-size:1.25rem;margin:0 0 12px}
.dialog-description{color:#aaa;line-height:1.55;max-width:680px;font-size:1.05rem}
.legacy-link{display:inline-block;margin-top:28px;border-bottom:1px solid var(--acid);padding-bottom:4px;color:var(--acid)}
@media(max-width:760px){.dialog-content{padding:26px}.dialog-close{top:5vh;right:5vw}.hero-copy{min-height:76vh;padding-bottom:60px}.showreel-stage{margin:0 0 45px;transform:none}.showreel-topline span:last-child{display:none}.showreel-badge{padding:11px 14px}.motion-label{display:none}}
@media(prefers-reduced-motion:reduce){.pm-stroke{stroke-dashoffset:0;animation:none}.pm-pen{display:none}.pm-dot{opacity:1;animation:none}.hero-reel{display:none}.showreel-frame{background:center/cover no-repeat url("assets/showreel-2025-poster.jpg")}.reel-toggle{display:none}.card-video{display:none}}

.showreel-stage{margin:0 auto 7vh;width:min(1100px,100%);transform:none}
.card{padding:0;min-height:0;gap:0}.card-visual{flex:none;min-height:0;aspect-ratio:16/9}.card-meta,.motion-label{display:none}.card:focus-visible{outline:2px solid var(--acid);outline-offset:3px}
.dialog-video{width:100%;max-height:62vh;display:block;background:#080808}.dialog-image[hidden],.dialog-video[hidden]{display:none}
