*{box-sizing:border-box}html,body{margin:0;height:100%;background:#111;color:#fff;font-family:Degular,Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;border-radius:0}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid #fe0000;outline-offset:3px}#aa{--red:#fe0000;max-width:520px;margin:auto;height:100dvh;position:relative;container-type:inline-size;overflow:hidden;background:#000}header{position:absolute;z-index:20;left:7%;right:7%;top:max(20px,env(safe-area-inset-top));display:flex;align-items:center;justify-content:space-between;pointer-events:none;color:#000;transition:color .3s}header>*{pointer-events:auto}.mark{font-size:14cqw;font-weight:600;line-height:.7;letter-spacing:-.08em}.menu-button{background:none;border:0;color:inherit;width:44px;height:44px;display:flex;flex-direction:column;justify-content:center;gap:5px;padding:9px}.menu-button span{display:block;height:3px;border-radius:9px;background:currentColor;width:100%}.overlay{position:absolute;inset:0;z-index:50;background:#000;color:#fff;padding:24px;display:flex;flex-direction:column;overflow:auto}.overlay[hidden]{display:none}.overlay-close{align-self:flex-end;background:none;color:var(--red);border:0;width:44px;height:44px;font-size:40px;line-height:1}.nav-links{display:flex;flex-direction:column;gap:20px;margin:auto 0;font-size:13cqw;line-height:.9;letter-spacing:-.04em}.nav-links a:nth-child(even){font-family:Instrument,serif;font-style:italic;color:var(--red);margin-left:12%}.overlay-foot{font-size:13px}header{color:#fff}.work-heading{position:absolute;top:max(20px,env(safe-area-inset-top));left:24%;right:24%;height:44px;margin:0;display:flex;align-items:center;justify-content:center;text-align:center;font-size:2.8cqw;font-weight:400;letter-spacing:.08em;z-index:21;pointer-events:none}#work-scroll{height:100%;overflow-y:auto;overflow-x:hidden;padding:calc(max(20px,env(safe-area-inset-top)) + 72px) 3% max(24px,env(safe-area-inset-bottom));overscroll-behavior-y:contain;scrollbar-width:none}#work-scroll::-webkit-scrollbar{display:none}.work-grid{display:flex;align-items:flex-start;gap:8px}.work-column{width:calc((100% - 8px)/2);display:flex;flex-direction:column;gap:8px}.work-tile{position:relative;display:block;width:100%;overflow:hidden;border-radius:7px;background:#191919;isolation:isolate}.work-tile img,.work-tile video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.work-tile:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#0007);pointer-events:none}.work-tile strong{position:absolute;z-index:2;left:10px;right:8px;bottom:10px;font-size:2.8cqw;letter-spacing:.02em;font-weight:400;text-transform:uppercase;overflow-wrap:anywhere}.work-empty{font-size:4cqw;padding:20px 7%;line-height:1.3}
/* V37 — expandable case studies and a compact contact ending. */
.work-more{display:block;margin:32px auto 0;padding:16px 32px;border:1px solid #fff7;border-radius:40px;background:transparent;color:#fff;font-size:3.4cqw;letter-spacing:.08em}.work-more[hidden]{display:none}
.work-contact{position:relative;margin:0 -3.2% calc(-1 * max(24px,env(safe-area-inset-bottom)));padding:32cqw 7% max(32px,env(safe-area-inset-bottom));background:linear-gradient(to bottom,#000 0%,#580000 23%,#be0000 45%,#fe0000 65%);color:#000;min-height:65svh}.work-contact p{margin:0 0 7cqw 36%;font-size:3cqw;font-weight:400}.work-say{display:block;font-size:32cqw;letter-spacing:-.045em;line-height:.8;font-weight:600}.work-say span{display:block}.work-say i{display:block;margin-left:25%;font-family:Instrument,serif;font-weight:400}.work-contact-bottom{display:flex;justify-content:space-between;gap:15px;align-items:end;margin-top:12cqw;font-size:3cqw}.work-contact-bottom a{text-decoration:underline;text-underline-offset:4px}
/* Extra crop for the white edges baked into the Untapped cover. */
.work-tile.work-tile-tight video,.work-tile.work-tile-tight img{transform:scale(1.09)}
#work-scroll{overflow-anchor:none}
/* V41 — posters first, light videos fade in once playing; quiet hover on desktop. */
.work-tile img{opacity:0;transition:opacity .45s ease}
.work-tile img.is-ready{opacity:1}
.work-tile video{opacity:0;transition:opacity .5s ease}
.work-tile video.is-ready{opacity:1}
.work-tile img,.work-tile video{transition:opacity .5s ease,transform .9s cubic-bezier(.22,.7,.15,1)}
.work-tile strong{transition:transform .5s cubic-bezier(.22,.7,.15,1)}
@media(hover:hover) and (pointer:fine){.work-tile:hover video,.work-tile:hover img{transform:scale(1.06)}.work-tile:hover strong{transform:translateY(-4px)}}
@media(prefers-reduced-motion:reduce){.work-tile img,.work-tile video,.work-tile strong{transition:none}}
/* V44 — Work shows video only: light copies start loading immediately, first frame fades in fast. */
.work-tile video{transition:opacity .25s ease,transform .9s cubic-bezier(.22,.7,.15,1)}
