:root{--content-max-width:1600px}.hero-video{padding:calc(var(--nav-height) + 2.5rem) clamp(1.25rem,5vw,3rem) 3rem;max-width:var(--content-max-width);margin-inline:auto;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(1.5rem,4vw,3.5rem)}.hero-video__player{position:relative;display:block;width:100%;aspect-ratio:16/9;background:var(--color-bg-panel-2);border-radius:12px;overflow:hidden;border:none;padding:0;cursor:pointer}.hero-video__player img{width:100%;height:100%;object-fit:cover;transition:transform .35s var(--ease)}.hero-video__player:hover img{transform:scale(1.03)}.hero-video__play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.6);color:#f2f2f2;font-size:1.5rem;transition:background .2s var(--ease),transform .2s var(--ease)}.hero-video__player:hover .hero-video__play{background:var(--color-red);transform:translate(-50%,-50%) scale(1.08)}.hero-video__title{font-size:clamp(1.8rem, 1.4rem + 1.6vw, 2.8rem);text-transform:uppercase;margin-block:0.4rem 0.5rem}.hero-video__meta{font-family:var(--font-mono);font-size:.85rem;color:var(--color-text-muted);margin-bottom:.75rem}.hero-video__desc{max-width:70ch;color:var(--color-text)}main{max-width:var(--content-max-width);margin-inline:auto;padding-inline:clamp(1.25rem,5vw,3rem)}.section{padding-block:clamp(2.5rem,5vw,4rem);border-bottom:1px solid var(--color-line)}.section:last-child{border-bottom:none}.video-carousel{--video-visible:3;--video-gap:1.75rem;display:flex;flex-direction:column;align-items:stretch;gap:1.5rem}.video-carousel__viewport{width:100%;overflow:hidden;position:relative}.video-carousel__track{display:flex;flex-direction:row;gap:var(--video-gap);transition:transform .5s var(--ease)}.video-carousel__item{flex:0 0 calc((100% - (var(--video-visible) - 1) * var(--video-gap))/ var(--video-visible));min-width:0}.video-card{display:block;text-decoration:none;cursor:pointer}.video-card__thumb{position:relative;width:100%;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:var(--color-bg-panel-2)}.video-card__thumb img{width:100%;height:100%;object-fit:cover;transition:transform .35s var(--ease)}.video-card:hover .video-card__thumb img{transform:scale(1.04)}.video-card__duration{position:absolute;right:.5rem;bottom:.5rem;background:rgba(0,0,0,.85);color:#f2f2f2;font-family:var(--font-mono);font-size:.72rem;padding:.15rem .4rem;border-radius:4px}.video-card__title{font-family:var(--font-body);font-weight:600;font-size:.98rem;color:var(--color-text);margin-top:.75rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.proj-carousel{--proj-visible:5;--proj-gap:1.1rem;display:flex;flex-direction:column;align-items:stretch;gap:1.5rem}.proj-carousel__viewport{width:100%;overflow:hidden;position:relative}.proj-carousel__track{display:flex;flex-direction:row;gap:var(--proj-gap);transition:transform .5s var(--ease)}.proj-card{position:relative;flex:0 0 calc((100% - (var(--proj-visible) - 1) * var(--proj-gap))/ var(--proj-visible));aspect-ratio:9/16;border-radius:14px;overflow:hidden;background:var(--color-bg-panel-2)}.proj-card a{display:block;width:100%;height:100%}.proj-card__img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s var(--ease)}.proj-card:focus-within .proj-card__img,.proj-card:hover .proj-card__img{transform:scale(1.06)}.proj-card__caption{position:absolute;inset:auto 0 0 0;padding:1.6rem .85rem .7rem;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.02em;color:var(--color-text);background:linear-gradient(to top,rgba(0,0,0,.9),transparent);opacity:0;transform:translateY(6px);transition:opacity .25s var(--ease),transform .25s var(--ease);pointer-events:none}.proj-card:focus-within .proj-card__caption,.proj-card:hover .proj-card__caption{opacity:1;transform:translateY(0)}@media (max-width:1024px){.video-carousel{--video-visible:2}.proj-carousel{--proj-visible:4}}@media (max-width:780px){.hero-video{grid-template-columns:1fr;padding-top:calc(var(--nav-height) + 1.5rem)}.video-carousel{--video-visible:1;--video-gap:1rem}.proj-carousel{--proj-visible:2;--proj-gap:0.6rem}}@media (prefers-reduced-motion:reduce){.proj-card__img,.video-card__thumb img,.video-carousel__track{transition:none!important}}