/* 01 cinematic palette + 06 softened silhouette + 03 depth-plane motion. */
html[data-theme=cinema]{--paper:#121516;--ink:#eeeade;--muted:#a8afa6;--line:#383d38;--lime:#dac69b;--purple:#c6b69a;--accent:#dac69b;--on-accent:#201f18;--panel:#1c2020;--plum-panel:#262a25;--button:#dac69b;--button-text:#201f18}
.deck-project{--deck-radius:46px 46px 18px 18px;--deck-line:color-mix(in srgb,var(--accent) 28%,transparent);position:relative;isolation:isolate;min-width:0}
.exhibit-deck{user-select:none;-webkit-user-select:none;position:relative;min-width:0;aspect-ratio:1.04;perspective:1100px;border:1px solid transparent;border-radius:24px;background:radial-gradient(ellipse at 50% 62%,color-mix(in srgb,var(--accent) 6%,transparent),transparent 69%);transition:background .35s,border-color .35s;isolation:isolate}
.exhibit-deck:has(:focus-visible){border-color:var(--accent)}
.deck-topline,.deck-bottomline{position:absolute;left:10px;right:10px;display:flex;justify-content:space-between;align-items:center;gap:9px;z-index:40;pointer-events:none;color:var(--muted);font:8px var(--mono);letter-spacing:.6px}
.deck-topline{top:9px}.deck-topline>span:last-child{font-size:7px}.deck-bottomline{bottom:5px;letter-spacing:0}.deck-space{position:absolute;inset:35px 7px 35px;perspective:1100px;transform-style:preserve-3d}
.exhibit-card{--lift:0px;--depth:0px;--spin:-12deg;position:absolute;left:17%;top:8%;width:66%;height:86%;padding:4px;background:var(--panel);border:1px solid var(--deck-line);border-radius:var(--deck-radius);overflow:hidden;text-align:left;box-shadow:0 13px 24px #0003;transform-origin:50% 70%;transform:translate3d(var(--offset),var(--lift),var(--depth)) rotateY(var(--spin)) rotate(var(--angle)) scale(.95);z-index:calc(15 - var(--rank));filter:brightness(.72) saturate(.85);transition:transform .44s cubic-bezier(.18,.8,.23,1),filter .35s,border-color .3s,box-shadow .4s;touch-action:pan-y}
.exhibit-card[data-front=true]{--lift:-13px;--depth:45px;--spin:0deg;filter:brightness(1) saturate(1.04);border-color:color-mix(in srgb,var(--accent) 64%,transparent);z-index:30;box-shadow:0 20px 40px #0005,0 0 18px color-mix(in srgb,var(--accent) 5%,transparent);transform:translate3d(var(--offset),var(--lift),var(--depth)) rotateY(var(--spin)) rotate(calc(var(--angle)*.4)) scale(1)}
.exhibit-deck:hover .exhibit-card[data-front=true],.exhibit-card:focus-visible{--lift:-23px;--depth:68px;border-color:var(--accent);box-shadow:0 26px 42px #0006,0 0 22px color-mix(in srgb,var(--accent) 12%,transparent)}
.deck-art{position:absolute;inset:4px;border-radius:42px 42px 14px 14px;overflow:hidden;background:var(--panel);pointer-events:none}.deck-art img{width:100%;height:100%;object-fit:cover;object-position:50% 37%;transform:none!important;pointer-events:none}
.deck-card-caption{position:absolute;left:4px;right:4px;bottom:4px;display:flex;gap:6px;align-items:end;justify-content:space-between;padding:40px 11px 12px;background:linear-gradient(transparent,#090f14bb);border-radius:0 0 14px 14px;pointer-events:none;color:#eeece1;font:7px/1.8 var(--mono)}.deck-card-caption>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.deck-card-caption>b{font-size:17px;font-weight:400;flex:none;color:#f2e6c8}
.deck-front-label{position:absolute;top:17px;left:0;right:0;text-align:center;font:7px var(--mono);letter-spacing:1px;color:#fcf5e6;text-shadow:0 1px 9px #000;opacity:0;transition:opacity .3s;pointer-events:none}.exhibit-card[data-front=true]:is(:hover,:focus-visible) .deck-front-label{opacity:1}
.deck-ghost{position:absolute;width:62%;height:80%;left:22%;top:4%;border-radius:var(--deck-radius);border:1px solid var(--accent);background:color-mix(in srgb,var(--accent) 25%,transparent);transform:translate(48px,-10px) rotate(13deg);opacity:.16;filter:blur(2px);mask-image:linear-gradient(#000,transparent 95%);pointer-events:none;z-index:0}.deck-ghost.ghost-far{transform:translate(66px,-21px) rotate(18deg);opacity:.08;filter:blur(4px)}
.deck-tabs{display:flex;gap:4px;pointer-events:auto}.deck-tabs>button{width:28px;min-height:28px;padding:0;background:transparent;border:1px solid var(--line);color:var(--muted);font:8px var(--mono);border-radius:50%;transition:color .3s,border-color .3s,background .3s}.deck-tabs>button[aria-pressed=true]{border-color:var(--accent);color:var(--button-text);background:var(--accent)}.deck-gesture{font:7px var(--mono);opacity:.8}.touch-hint{display:none}
.deck-project>.deck-heading{display:flex!important;align-items:baseline;justify-content:space-between;gap:12px;width:100%;background:none;border:0;padding:13px 0 0!important;text-align:left;grid-template-columns:none!important}.deck-heading>h3{font:400 19px/1.5 var(--serif);overflow-wrap:anywhere;min-width:0}.deck-heading>span{font-size:23px;color:var(--accent);flex:none}.deck-project>.card-meta{border-color:var(--line);color:var(--muted);font-size:9px;line-height:1.7;padding-bottom:16px;margin-top:7px;gap:10px}.deck-project .card-meta>span:last-child{color:var(--muted)}
.deck-visible .deck-space{animation:deck-float 7s ease-in-out infinite}.exhibit-deck:is(:hover,:focus-within) .deck-space{animation-play-state:paused}@keyframes deck-float{50%{translate:0 -4px}}
#projectworks-grid>.deck-project{background:none;border:0;overflow:visible}#projectworks-grid>.deck-project button{position:relative;width:100%;height:auto;min-height:0;display:block;background:none;padding:0;text-align:left}#projectworks-grid>.deck-project .exhibit-card{position:absolute;width:66%;height:86%;padding:4px}#projectworks-grid>.deck-project .deck-tabs>button{position:static;width:26px;min-height:26px;text-align:center}#projectworks-grid>.deck-project .deck-heading{position:static}#projectworks-grid>.deck-project img{position:static;aspect-ratio:auto;opacity:1}#projectworks-grid>.deck-project .deck-card-caption{padding:35px 8px 10px}#projectworks-grid>.deck-project .deck-card-caption>span{font-size:6px}#projectworks-grid .deck-heading>h3{font-size:17px}#projectworks-grid .deck-gesture{display:none}#projectworks-grid .exhibit-deck{aspect-ratio:.85}#projectworks-grid>.deck-project .card-meta{display:flex;font-size:8px}
.project-grid.list>.deck-project{display:grid;grid-template-columns:270px 1fr;column-gap:30px;align-items:center;border-top:1px solid var(--line);padding:18px 0}.project-grid.list>.deck-project .exhibit-deck{grid-column:1;grid-row:1/3;aspect-ratio:1.35;width:100%}.project-grid.list>.deck-project>.deck-heading{grid-column:2;align-self:end;padding-top:0!important;border:0;min-width:0}.project-grid.list>.deck-project>.card-meta{grid-column:2;align-self:start;justify-content:flex-start;border:0;margin-top:10px}.project-grid.list>.deck-project .deck-gesture{display:none}.project-grid.list>.deck-project .deck-topline{font-size:7px}.project-grid.list>.deck-project .exhibit-card{--deck-radius:30px 30px 13px 13px}.project-grid.list>.deck-project .deck-art{border-radius:26px 26px 9px 9px}
.stack-explainer{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font:9px/1.8 var(--mono);color:var(--muted);padding:0 0 21px}.stack-explainer b{font-weight:400;color:var(--accent)}
.style-toggle,.layout-switch button.active{background:var(--button);color:var(--button-text);border-color:var(--button)}.style-toggle>small{color:var(--button-text);opacity:.75}#projectworks-grid>.deck-project>.deck-heading{color:var(--ink)}#projectworks-grid>.deck-project>.deck-heading:after{display:none}
@media(min-width:1650px){.exhibit-deck{aspect-ratio:1.15}.deck-heading>h3{font-size:23px}.deck-gesture{font-size:8px}}
@media(max-width:950px){.exhibit-deck{aspect-ratio:.95}.deck-heading>h3{font-size:18px}#featured-grid .deck-gesture{display:none}.deck-gesture{font-size:6px}.deck-tabs>button{width:26px;min-height:26px}.deck-space{inset:37px 7px 38px}.exhibit-card{--deck-radius:36px 36px 16px 16px}.deck-art{border-radius:32px 32px 12px 12px}.project-grid.list>.deck-project{grid-template-columns:230px 1fr;gap:8px 24px}}
@media(max-width:650px){#project-grid:not(.list){grid-template-columns:1fr;gap:28px}#featured-grid{grid-template-columns:1fr;gap:30px}#projectworks-grid{grid-template-columns:1fr;gap:28px}.exhibit-deck,#projectworks-grid .exhibit-deck{aspect-ratio:1.08;max-width:430px;margin:auto}.deck-project{--deck-radius:44px 44px 18px 18px}.deck-art{border-radius:40px 40px 14px 14px}.deck-topline{font-size:8px}.deck-heading>h3,#projectworks-grid .deck-heading>h3{font-size:20px}.deck-project>.card-meta,#projectworks-grid>.deck-project .card-meta{font-size:9px}.deck-space{inset:37px 6px 40px}.deck-card-caption{font-size:7px}.deck-gesture{font-size:8px}.deck-tabs{gap:6px}.deck-tabs>button,#projectworks-grid>.deck-project .deck-tabs>button{width:32px;min-height:32px}.deck-bottomline{bottom:0}.deck-project>.deck-heading{padding-top:16px!important}.project-grid.list>.deck-project{grid-template-columns:145px minmax(0,1fr);gap:8px 15px;padding:18px 0}.project-grid.list>.deck-project .exhibit-deck{aspect-ratio:.82}.project-grid.list>.deck-project .deck-space{inset:25px 3px 30px}.project-grid.list>.deck-project .exhibit-card{left:18%;width:64%;--offset:calc((var(--slot) - 1)*18px)!important;--deck-radius:23px 23px 9px 9px}.project-grid.list>.deck-project .deck-art{border-radius:19px 19px 5px 5px}.project-grid.list>.deck-project .deck-card-caption{display:none}.project-grid.list>.deck-project .deck-topline{left:4px;right:4px;font-size:6px}.project-grid.list>.deck-project .deck-topline>span:last-child{display:none}.project-grid.list>.deck-project .deck-bottomline{left:2px;right:2px}.project-grid.list>.deck-project .deck-tabs{gap:3px}.project-grid.list>.deck-project .deck-tabs>button{width:26px;min-height:26px;font-size:7px}.project-grid.list>.deck-project .deck-heading h3{font-size:15px}.project-grid.list>.deck-project .card-meta{font-size:8px;flex-wrap:wrap;gap:3px 7px}.stack-explainer{font-size:8px;padding-bottom:18px;gap:6px}.deck-ghost.ghost-far{transform:translate(48px,-15px) rotate(18deg)}.deck-ghost.ghost-near{transform:translate(35px,-8px) rotate(13deg)}}
@media(hover:none){.desktop-hint{display:none}.touch-hint{display:inline}.exhibit-deck:hover .exhibit-card[data-front=true]{--lift:-13px;--depth:45px}.deck-tabs>button{min-height:32px;width:32px}}
@media(prefers-reduced-motion:reduce){.deck-space,.exhibit-card,.exhibit-deck,.deck-tabs>button{animation:none!important;transition:none!important}}
