/* A browsable film catalog: a clear center, receding images, and a stable horizon. */
.project-dialog{--project-rgb:49,101,120;--project-dark:10,30,38;--project-light:212,240,242;--accent:rgb(var(--project-light));background:radial-gradient(ellipse at 10% 10%,rgba(var(--project-rgb),.8),transparent 66%),linear-gradient(125deg,rgba(var(--project-dark),.95),rgba(var(--project-rgb),.9));color:rgb(var(--project-light));padding:0 30px 35px}
.project-dialog::backdrop{background:rgba(var(--project-dark),.72)}
.dialog-bar{height:76px;max-width:1260px}.close-dialog>span:last-child{color:inherit}.dialog-logo{font-size:23px}
.project-detail{--ink:rgb(var(--project-light));--muted:rgba(var(--project-light),.68);color:var(--ink);max-width:1260px;background:linear-gradient(130deg,rgba(var(--project-light),.12),rgba(var(--project-rgb),.04));border:1px solid rgba(var(--project-light),.25);border-radius:27px;box-shadow:0 40px 90px rgba(var(--project-dark),.2),inset 0 1px 0 #ffffff35;backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px)}
.detail-heading{padding:32px 42px 25px;grid-template-columns:1.05fr 1fr;gap:22px 45px}.detail-eyebrow{font-size:9px;letter-spacing:.1em;margin:0;gap:12px;color:var(--muted)}.detail-eyebrow span{width:auto!important;height:auto!important;background:none!important;border:0!important;color:inherit!important}.detail-heading h1{font-size:clamp(48px,5.8vw,78px);line-height:1;letter-spacing:-.065em}.detail-description{font-size:13px;line-height:1.65;color:rgba(var(--project-light),.8);max-width:390px}
.project-catalog{margin:0 18px;scroll-margin-top:18px;border:1px solid rgba(var(--project-light),.25);border-radius:21px;background:radial-gradient(ellipse at 50% 25%,rgba(var(--project-light),.06),transparent 65%),linear-gradient(180deg,rgba(var(--project-light),.015),rgba(var(--project-dark),.13));position:relative;isolation:isolate;overflow:hidden}
.catalog-top{padding:19px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative;z-index:5}.catalog-overline{font-size:10px;letter-spacing:.02em}.catalog-overline span{margin-left:10px;opacity:.45}.catalog-modes{display:flex;gap:3px;background:rgba(var(--project-light),.08);padding:4px;border:1px solid rgba(var(--project-light),.25);border-radius:30px;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.catalog-modes button{padding:8px 16px;border-radius:25px;color:var(--ink);font-size:10px}.catalog-modes button[aria-pressed=true]{background:rgba(var(--project-light),.92);color:rgb(var(--project-dark));box-shadow:0 3px 10px #0001}.catalog-modes button:hover{background:rgba(var(--project-light),.22)}.catalog-modes button[aria-pressed=true]:hover{background:rgb(var(--project-light))}
.catalog-stage{height:440px;position:relative;perspective:1300px;perspective-origin:50% 44%;touch-action:pan-y;outline-offset:-4px;cursor:grab}
.catalog-stage:after{content:"";position:absolute;bottom:1%;left:13%;right:13%;height:45px;border-radius:50%;background:radial-gradient(ellipse,rgba(var(--project-dark),.28),transparent 66%);filter:blur(14px);pointer-events:none;z-index:-1}
.catalog-track{position:absolute;inset:0;transform-style:preserve-3d}
.catalog-card{position:absolute;left:50%;top:48%;width:min(57%,660px);padding:7px;border-radius:15px;background:linear-gradient(145deg,rgba(var(--project-light),.3),rgba(var(--project-light),.08));border:1px solid rgba(var(--project-light),.55);box-shadow:0 25px 45px rgba(var(--project-dark),.4),inset 0 1px 0 #ffffff45,1px 1px 0 rgba(var(--project-light),.3);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transform-origin:50% 50%;backface-visibility:hidden;transition:transform .72s cubic-bezier(.22,.78,.2,1),opacity .5s,box-shadow .5s;will-change:transform;user-select:none}
.catalog-card.is-active{box-shadow:0 35px 65px rgba(var(--project-dark),.38),0 0 0 1px rgba(var(--project-light),.2),inset 0 1px 0 #ffffff50}
.catalog-card-header{height:27px;display:flex;align-items:center;justify-content:space-between;padding:0 8px 7px;font-size:9px;color:rgb(var(--project-light));letter-spacing:.04em}.catalog-card-header>span:last-child{opacity:.6;font-size:8px}
.catalog-media{aspect-ratio:16/9;border-radius:9px;background:rgba(var(--project-dark),.7);overflow:hidden;position:relative;display:grid;place-items:center}.catalog-media img,.catalog-media video,.catalog-media iframe{display:block;width:100%;height:100%;object-fit:contain;border:0;border-radius:9px}.catalog-media video,.catalog-media iframe{position:absolute;inset:0}.catalog-media img{pointer-events:none}.catalog-media.vertical-media{background:rgba(var(--project-dark),.8)}
.catalog-jump{position:absolute;inset:0;border-radius:15px;z-index:3;background:transparent}.catalog-jump:hover{background:rgba(var(--project-light),.04);box-shadow:inset 0 0 0 1px rgba(var(--project-light),.8)}.is-dragging .catalog-card{transition:none}.is-dragging .catalog-stage{cursor:grabbing}
.catalog-bottom{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;padding:0 24px 22px;min-height:55px}.catalog-hint{font-size:10px;color:var(--muted)}.catalog-navigation{display:flex;align-items:center;gap:18px}.catalog-arrow{width:37px;height:37px;font-size:21px;border-radius:50%;background:rgba(var(--project-light),.1);border:1px solid rgba(var(--project-light),.35);color:var(--ink)}.catalog-arrow:hover{background:rgb(var(--project-light));color:rgb(var(--project-dark))}.catalog-counter{font-variant-numeric:tabular-nums;font-size:11px;min-width:41px}.catalog-counter>span{opacity:.45;font-size:10px;margin-left:4px}.sound-toggle,.catalog-caption{justify-self:end;font-size:10px;color:var(--ink)}.sound-toggle{padding:11px 15px;border:1px solid rgba(var(--project-light),.3);border-radius:25px;background:rgba(var(--project-light),.08)}.sound-toggle:hover{background:rgba(var(--project-light),.2)}
.catalog-thumbnails{display:flex;justify-content:center;gap:9px;padding:17px 22px 21px;border-top:1px solid rgba(var(--project-light),.14);background:rgba(var(--project-dark),.06)}.catalog-thumb{width:73px;height:48px;padding:3px;border:1px solid rgba(var(--project-light),.2);border-radius:8px;position:relative;background:rgba(var(--project-light),.06);opacity:.56;transition:opacity .25s,border-color .25s,transform .25s}.catalog-thumb img{width:100%;height:100%;object-fit:cover;border-radius:4px;display:block;filter:none}.catalog-thumb span{position:absolute;right:7px;bottom:6px;color:#fff;font-size:8px;text-shadow:0 1px 5px #000;line-height:1.2;background:#142a315c;padding:2px 3px;border-radius:2px}.catalog-thumb:hover,.catalog-thumb.is-active{opacity:1;border-color:rgba(var(--project-light),.88)}.catalog-thumb.is-active{transform:translateY(-3px);box-shadow:0 5px 14px rgba(var(--project-dark),.25)}
.project-catalog.is-focused .catalog-card{width:min(64%,730px)}.project-catalog.is-focused .catalog-card:not(.is-active){pointer-events:none}.project-information{padding:40px 42px 15px;display:grid;grid-template-columns:1.05fr 1fr;gap:45px}.project-about p:last-child{font-size:13px;line-height:1.65;max-width:425px;color:var(--muted);margin-top:16px}.project-about .micro{font-size:9px;color:var(--muted)}.project-meta{padding:0;grid-template-columns:1fr 1fr;gap:20px;margin:0}.meta-item{border-color:rgba(var(--project-light),.2);padding-top:15px}.meta-item dt{color:var(--muted)}.meta-item dd{font-size:12px}
.detail-frames{padding:20px 42px 42px}.frames-heading{border-color:rgba(var(--project-light),.2);padding-top:24px;margin-bottom:22px}.frames-heading h2{font-size:25px}.frames-heading>span{color:var(--muted)}.frame-grid{grid-template-columns:repeat(2,1fr);gap:23px;align-items:start}.frame-entry{padding:8px;border-radius:16px;border:1px solid rgba(var(--project-light),.25);background:rgba(var(--project-light),.055);width:100%;text-align:left;box-shadow:0 12px 30px rgba(var(--project-dark),.13);transition:background .2s,transform .25s}.frame-entry>img{width:100%;display:block;border-radius:9px;height:auto}.frame-entry>span{display:flex;justify-content:space-between;align-items:center;font-size:9px;color:var(--muted);padding:12px 5px 4px}.frame-entry>span>span:last-child{font-size:16px;color:var(--ink)}.frame-entry:hover{background:rgba(var(--project-light),.12);transform:translateY(-3px)}.frame-entry:nth-child(2n){margin-top:42px}.frame-entry:last-child:nth-child(odd){grid-column:1/-1;width:70%;justify-self:center;margin-top:0}.frame-grid.portrait-frames{grid-template-columns:repeat(3,1fr)}.portrait-frames .frame-entry{margin-top:0}.portrait-frames .frame-entry:last-child:nth-child(odd){grid-column:auto;width:100%}
.detail-end{background:rgba(var(--project-light),.045);border-color:rgba(var(--project-light),.2);padding:27px 42px}.detail-end a:hover{color:white}.next-project small{color:var(--muted)}.next-project>span:last-child{background:rgba(var(--project-light),.12);border:1px solid rgba(var(--project-light),.4);color:var(--ink)}
@media(min-width:1500px){.catalog-stage{height:460px}}
@media(max-width:1000px){.catalog-stage{height:350px}.detail-heading{gap:20px 30px}.detail-heading h1{font-size:57px}.catalog-hint{max-width:150px;line-height:1.5;font-size:9px}.catalog-card{width:60%}.catalog-bottom{gap:10px}.project-catalog.is-focused .catalog-card{width:66%}}
@media(max-width:760px){.project-dialog{padding:0 10px 20px}.dialog-bar{height:68px}.project-detail{border-radius:22px}.detail-heading{padding:25px 22px 23px;grid-template-columns:1fr;gap:17px}.detail-heading h1{font-size:52px}.detail-eyebrow{font-size:8px;gap:7px;line-height:1.5}.detail-description{font-size:12px;max-width:none}.project-catalog{margin:0 9px;border-radius:17px}.catalog-top{padding:13px 13px 4px;gap:10px}.catalog-overline{font-size:9px}.catalog-overline span{margin-left:4px}.catalog-modes button{font-size:9px;padding:7px 12px}.catalog-modes{padding:3px}.catalog-stage{height:300px;perspective:950px;perspective-origin:50% 43%}.catalog-card{width:73%;padding:5px;border-radius:11px}.catalog-card-header{height:22px;padding:0 5px 5px;font-size:8px}.catalog-card-header>span:last-child{font-size:7px}.catalog-media,.catalog-media img,.catalog-media video,.catalog-media iframe{border-radius:6px}.catalog-jump{border-radius:11px}.catalog-bottom{grid-template-columns:1fr auto;padding:0 15px 18px;gap:14px}.catalog-hint{grid-column:1/-1;grid-row:2;max-width:none;text-align:center;font-size:9px}.catalog-navigation{gap:12px}.catalog-counter{font-size:10px}.catalog-arrow{width:34px;height:34px}.sound-toggle{font-size:9px;padding:10px 13px}.catalog-thumbnails{padding:14px 11px 15px;gap:6px}.catalog-thumb{width:calc((100% - 30px)/6);max-width:65px;height:auto;aspect-ratio:1.45;border-radius:6px;padding:2px}.catalog-thumb img{border-radius:3px}.catalog-thumb span{font-size:7px;bottom:4px;right:4px}.project-catalog.is-focused .catalog-card{width:88%}.project-information{padding:30px 23px 10px;grid-template-columns:1fr;gap:23px}.project-about{display:none}.project-meta{gap:20px}.meta-item dd{font-size:11px}.detail-frames{padding:20px 22px 30px}.frames-heading{padding-top:18px}.frames-heading h2{font-size:23px}.frame-grid{gap:17px;grid-template-columns:1fr}.frame-entry{padding:6px;border-radius:13px}.frame-entry>img{border-radius:7px}.frame-entry:nth-child(2n){margin:0}.frame-entry:last-child:nth-child(odd){grid-column:auto;width:100%;margin:0}.frame-grid.portrait-frames{grid-template-columns:1fr 1fr}.detail-end{padding:23px 22px}.next-project strong{font-size:18px}.next-project>span:last-child{width:34px;height:34px}.detail-end a{font-size:10px;max-width:100px}}
@media(max-width:430px){.catalog-stage{height:237px}.catalog-top{padding:12px 10px 5px}.catalog-overline{font-size:8px}.catalog-card-header{font-size:7px}.catalog-card{top:50%}.catalog-media video{object-fit:contain}.detail-heading h1{font-size:46px}}
.project-information{display:block}.project-meta{grid-template-columns:repeat(3,1fr)}
.youtube-play{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#fff;background:linear-gradient(180deg,#07131b25,#07131b73);font-size:12px;text-align:center;padding:14px}.youtube-play-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#f4ffefde;color:rgb(var(--project-dark));font-size:17px;border:1px solid white;box-shadow:0 8px 30px #0003}.youtube-play small{font-size:9px;opacity:.7}.youtube-play:hover .youtube-play-icon{background:white;transform:scale(1.05)}
@media(max-width:760px){.youtube-play{gap:8px;font-size:10px}.youtube-play-icon{width:40px;height:40px;font-size:13px}}
@media(prefers-reduced-motion:reduce){.catalog-card,.catalog-thumb,.frame-entry{transition:none;animation:none}.catalog-stage{scroll-behavior:auto}}
