:root{--color-black:#0a0a0a;--color-near-black:#121212;--color-red:#e7232b;--color-red-dim:#7a1418;--color-white:#fff;--color-white-dim:#b9b9b9;--font-display:"Helvetica Neue", Helvetica, Arial, sans-serif;--duration-instant:.15s;--duration-fast:.4s;--duration-base:.8s;--duration-slow:1.6s;--ease-cinematic:cubic-bezier(.16, .84, .32, 1);--ease-cinematic-in:cubic-bezier(.7, 0, .84, 0);--ease-cinematic-in-out:cubic-bezier(.87, 0, .13, 1)}*,:before,:after{box-sizing:border-box}html,body{background:var(--color-black);color:var(--color-white);font-family:var(--font-display);margin:0;padding:0}body{min-height:100vh}img,svg{max-width:100%;display:block}.cs-visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.container{max-width:1240px;margin-inline:auto;padding-inline:clamp(1rem,4vw,2.5rem)}.button{border:1px solid var(--color-white);color:var(--color-white);letter-spacing:.08em;text-transform:uppercase;transition:background-color var(--duration-fast) var(--ease-cinematic), color var(--duration-fast) var(--ease-cinematic), border-color var(--duration-fast) var(--ease-cinematic);padding:.95rem 2.2rem;font-size:.85rem;text-decoration:none;display:inline-block}.button:hover,.button:focus-visible{background:var(--color-white);color:var(--color-black)}.project-card__link{text-decoration:none;display:block;position:relative;overflow:hidden}.project-card__media-wrap{position:relative}.project-card__link:hover .project-media,.project-card__link:focus-visible .project-media{transform:scale(1.02)}.project-media{transition:transform var(--duration-base) var(--ease-cinematic)}.project-card__scrim{opacity:0;height:42%;transition:opacity var(--duration-base) var(--ease-cinematic), transform var(--duration-base) var(--ease-cinematic);pointer-events:none;background:linear-gradient(#0000,#080808eb);position:absolute;inset:auto 0 0;transform:translateY(6%)}.project-card__link:hover .project-card__scrim,.project-card__link:focus-visible .project-card__scrim,.project-card__link.is-inview .project-card__scrim{opacity:1;transform:translateY(0)}.project-card__caption{color:var(--color-white);opacity:.78;transition:opacity var(--duration-base) var(--ease-cinematic);flex-wrap:wrap;align-items:flex-end;gap:.4rem 1.5rem;padding:1.1rem 1.25rem;display:flex;position:absolute;inset:auto 0 0}.project-card__link:hover .project-card__caption,.project-card__link:focus-visible .project-card__caption,.project-card__link.is-inview .project-card__caption{opacity:1}.project-card__caption-text{flex-direction:column;gap:.35rem;min-width:0;display:flex}.project-card__title{color:var(--color-white);font-size:clamp(1.3rem,1.6vw + .9rem,1.6rem);font-weight:600;line-height:1.1}.featured-project .project-card__title{font-size:clamp(1.7rem,2.6vw + .9rem,2.5rem)}.project-card__meta{letter-spacing:.04em;text-transform:uppercase;color:var(--color-white-dim);font-size:.76rem}.project-card__cta{white-space:nowrap;letter-spacing:.08em;text-transform:uppercase;color:var(--color-red);opacity:0;transition:opacity var(--duration-base) var(--ease-cinematic), transform var(--duration-base) var(--ease-cinematic);margin-left:auto;font-size:.72rem;transform:translateY(4px)}.project-card__link:hover .project-card__cta,.project-card__link:focus-visible .project-card__cta,.project-card__link.is-inview .project-card__cta{opacity:1;transform:translateY(0)}.project-card__play{width:50px;height:50px;color:var(--color-white);pointer-events:none;transition:color var(--duration-fast) var(--ease-cinematic), border-color var(--duration-fast) var(--ease-cinematic);border:1px solid #fff6;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.project-card__link:hover .project-card__play,.project-card__link:focus-visible .project-card__play,.project-card__link.is-inview .project-card__play{color:var(--color-red);border-color:#e7232b99}[data-reveal]{opacity:0;transition:opacity .9s var(--ease-cinematic), transform .9s var(--ease-cinematic);transform:translateY(28px)}[data-reveal].is-revealed{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
