@charset "UTF-8";
/* A continuous image belt seen through a curved, elliptical aperture. */
.carousel-shell{position:relative;margin-top:8px}
.carousel-shell:before{content:"";position:absolute;inset:18% 10% 18%;background:radial-gradient(ellipse,#a7b49a15,transparent 66%);filter:blur(35px);pointer-events:none}
.project-grid{--orbit-card-size:clamp(290px,30vw,480px);--orbit-gap:22px;display:block;position:relative;height:clamp(410px,37vw,600px);padding:0;overflow:hidden;scroll-snap-type:none;scroll-behavior:auto;touch-action:pan-y;border-radius:var(--radius-none);mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 600' preserveAspectRatio='none'%3E%3Cpath d='M0 0Q600 210 1200 0V600Q600 390 0 600Z' fill='white'/%3E%3C/svg%3E");mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 600' preserveAspectRatio='none'%3E%3Cpath d='M0 0Q600 210 1200 0V600Q600 390 0 600Z' fill='white'/%3E%3C/svg%3E");-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat}
.project-grid[data-collection=motion]{--orbit-card-size:clamp(350px,43vw,640px);height:clamp(370px,33vw,530px)}
.project-grid:after{display:none;content:none}
.project-grid:focus-visible{outline-offset:7px}
.orbit-belt{position:relative;display:flex;gap:var(--orbit-gap);width:max-content;height:100%;will-change:transform}
.project-grid .project-card{position:relative;flex:0 0 var(--orbit-card-size);width:var(--orbit-card-size);height:100%;padding:0;border:1px solid #d2e0c32e;border-radius:var(--orbit-radius);transform:none;opacity:.75;box-shadow:0 25px 45px #0006;background:#182119;backdrop-filter:none;-webkit-backdrop-filter:none;transition:opacity .4s,border-color .3s}
.project-grid .project-card.is-active{transform:none;opacity:1;border-color:#ddc5a378}
.project-grid .project-image,.project-grid .video-card .project-image{position:absolute;inset:0;height:100%;width:100%;aspect-ratio:auto;border-radius:var(--orbit-radius);box-shadow:inset 0 1px #f5f8f113}
.project-grid .project-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#050b08bb,transparent 59%);pointer-events:none}
.project-grid .project-image>img{height:100%;object-fit:cover;filter:saturate(.9);transition:transform 1s var(--ease)}
.project-grid .project-card[data-subject=phud] .project-image>img{object-position:25% center}
.project-grid .project-open{top:23%;right:18px;z-index:2;background:#10191380;border-color:#d2dfc84d;border-radius:var(--radius-full)}
.project-grid .project-caption{position:absolute;left:17px;right:17px;bottom:23%;z-index:2;display:flex;gap:12px;padding:17px 18px;border:1px solid #e4ead024;border-radius:var(--radius-caption);background:linear-gradient(135deg,#e5eed00e,#102014a8);box-shadow:0 15px 35px #0005,inset 0 1px #f5f8ef0d;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);pointer-events:none}
.project-grid .project-caption a{pointer-events:auto}
.project-grid .project-caption h2{font-size:12px;line-height:1.5;letter-spacing:.3px;color:#f0f1e7}
.project-grid .project-caption p{font-size:10px;line-height:1.6;color:#c3cbb8;margin-top:6px}
.project-grid .project-category{display:none}
.project-grid .project-number{font-size:9px;line-height:1.5;color:#dec09c;flex-shrink:0}
.project-grid .video-play{z-index:2;top:36%;width:54px;height:54px;background:#101c1499}
.project-grid .video-duration{z-index:2;bottom:auto;top:23%;right:18px;background:#0a140ea8}
.project-grid.is-dragging{scroll-snap-type:none}
.project-grid.is-dragging .project-image>img{transform:none}
.carousel-footer{margin-top:27px}
@media(max-width:1100px){.project-grid{--orbit-card-size:36vw;--orbit-gap:18px;height:clamp(390px,43vw,520px)}.project-grid[data-collection=motion]{--orbit-card-size:48vw;height:clamp(360px,38vw,470px)}.project-grid .project-caption{left:12px;right:12px;padding:14px 13px;gap:9px}.project-grid .project-caption h2{font-size:11px}}
@media(max-width:700px){.carousel-shell{margin-top:4px}.project-grid{--orbit-card-size:76vw;--orbit-gap:15px;height:390px}.project-grid[data-collection=motion]{--orbit-card-size:82vw;height:340px}.project-grid .project-card{border-radius:var(--orbit-radius);opacity:.78;transform:none}.project-grid .project-card.is-active{opacity:1;transform:none}.project-grid .project-image,.project-grid .video-card .project-image{aspect-ratio:auto;border-radius:var(--radius-caption)}.project-grid .project-caption{left:11px;right:11px;bottom:23%;padding:13px 12px;gap:9px}.project-grid .project-caption h2,.project-grid .video-card .project-caption h2{font-size:10px;letter-spacing:0}.project-grid .project-caption p{font-size:9px;line-height:1.6;margin-top:5px}.project-grid .project-number{font-size:8px}.project-grid .project-open{width:29px;height:29px;right:14px;font-size:16px}.project-grid .video-play{width:43px;height:43px;font-size:13px}.project-grid .video-duration{font-size:8px;right:14px}.carousel-footer{margin-top:20px}}
@media(max-width:370px){.project-grid{height:360px}.project-grid[data-collection=motion]{height:320px}.project-grid .project-caption{padding:12px 9px;left:9px;right:9px}.project-grid .project-caption h2{font-size:9px}}

/* Round each curved card before drawing its outer glow. The image alone zooms. */
.project-grid{--orbit-radius:var(--radius-card)}
.project-grid.has-rounded-orbit{mask-image:none;-webkit-mask-image:none}
.project-grid.has-rounded-orbit .project-card{
  border:0;
  border-radius:var(--orbit-radius);
  background:transparent;
  box-shadow:none;
  pointer-events:none;
  filter:drop-shadow(0 8px 15px #0005);
  transition:opacity .4s,filter .4s;
}
.project-grid.has-rounded-orbit .project-image{
  border-radius:var(--orbit-radius);
  clip-path:var(--orbit-outline);
  overflow:hidden;
  isolation:isolate;
  pointer-events:auto;
}
.project-grid .project-image>img,.project-grid .project-image:hover>img{
  transform:scale(1);
  filter:saturate(.9);
  transition:transform .75s var(--ease),filter .4s;
}
.project-grid.has-rounded-orbit .project-card:focus-within{
  filter:drop-shadow(0 0 5px var(--hover-glow)) drop-shadow(0 0 17px var(--hover-glow-soft)) drop-shadow(0 9px 16px #0005);
}
@media(hover:hover) and (pointer:fine){
  .project-grid:not(.is-dragging) .project-card:hover .project-image>img{transform:scale(var(--hover-scale));filter:saturate(1)}
  .project-grid.has-rounded-orbit:not(.is-dragging) .project-card:hover{opacity:1;filter:drop-shadow(0 0 5px var(--hover-glow)) drop-shadow(0 0 17px var(--hover-glow-soft)) drop-shadow(0 9px 16px #0005)}
}
@media(max-width:700px){.project-grid{--orbit-radius:var(--radius-control)}}
