.n3d{background:#fff;color:#20241f;padding:12px 4% 64px;font-family:"Open Sans",Arial,sans-serif}
.n3d-intro{display:flex;justify-content:space-between;align-items:end;gap:14px;margin-bottom:28px}
.n3d-intro h1{font:400 clamp(46px,7vw,96px)/1 Montserrat,Arial,sans-serif;letter-spacing:-.075em;margin:8px 0}
.n3d-intro p{font-size:12px;color:#62605b;padding:0}
.n3d button{font:inherit;color:inherit;background:white;border:1px solid #cbc9c3;padding:8px 12px;cursor:pointer}
.n3d{padding-inline:0}
.n3d-intro{padding-inline:4%;margin-bottom:8px}
.n3d-intro h1{font-size:clamp(38px,5vw,70px)}
.n3d-gallery{height:clamp(380px,70svh,900px);overflow:auto;scrollbar-width:none;cursor:grab;user-select:none}
.n3d-gallery::-webkit-scrollbar{display:none}
.n3d-gallery[data-dragging]{cursor:grabbing}
.n3d-canvas{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:center;justify-items:center;gap:clamp(20px,3.5vw,66px) clamp(20px,3vw,58px);width:150%;min-width:820px;padding:26px 4% 52px}
.n3d-card{--offset:0px;--depth:1;display:block;position:relative;width:90%;cursor:inherit;transform:translate3d(calc(var(--mx,0px) * var(--depth)),calc(var(--my,0px) * var(--depth) + var(--offset)),0);transition:transform .28s ease-out}
.n3d-card:nth-child(3n){--offset:13px;--depth:1.4}
.n3d-card:nth-child(4n+2){--offset:-12px;--depth:.65}
.n3d-card[data-shape="wide"]{width:100%}
.n3d-card[data-shape="portrait"]{width:68%}
.n3d-card img,.n3d-card video{display:block;width:100%;height:auto;border-radius:10px;object-fit:cover;aspect-ratio:1}
.n3d-card[data-shape="wide"] img{aspect-ratio:1.6}
.n3d-card[data-shape="portrait"] img{aspect-ratio:.8}
@media(hover:hover){.n3d-gallery:not([data-dragging]) .n3d-card:hover{transform:translate3d(calc(var(--mx,0px) * var(--depth)),calc(var(--my,0px) * var(--depth) + var(--offset) - 4px),0) scale(1.04);z-index:1}}
@media(prefers-reduced-motion:reduce){.n3d-card{transition:none}.n3d-gallery .n3d-card:hover{transform:translateY(var(--offset))!important}}
.n3d-card video{display:block;width:100%;height:var(--tile);border-radius:10px;object-fit:cover}
@media(hover:hover){.n3d-gallery:not([data-dragging]) .n3d-card:hover{transform:translateY(-4px) scale(1.035);z-index:1}}
@media(prefers-reduced-motion:reduce){.n3d-card{transition:none}.n3d-gallery .n3d-card:hover{transform:none!important}}
.n3d-card video{display:block;width:100%;border-radius:10px;object-fit:cover;aspect-ratio:1}
.n3d-card[data-shape="wide"] img{aspect-ratio:16/9}
.n3d-card[data-shape="portrait"] img{aspect-ratio:3/4}
.n3d-card video{position:absolute;inset:0;height:100%;opacity:0;pointer-events:none}
.n3d-card video.is-playing{opacity:1}
.n3d-dialog{width:min(920px,94vw);max-height:94dvh;border:0;background:white;padding:18px;color:#20241f}
.n3d-dialog::backdrop{background:#0009}
.n3d-dialog form{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.n3d-view :is(img,video,iframe){display:block;width:100%;max-height:72dvh;object-fit:contain;border:0;border-radius:10px}
.n3d-view iframe{aspect-ratio:16/9}
.n3d-full-film{display:inline-block;margin-top:10px}
.n3d [hidden]{display:none!important}
@media(max-width:680px){.n3d-gallery{height:68svh}.n3d-canvas{grid-template-columns:repeat(6,minmax(0,1fr));min-width:780px;gap:22px;padding-inline:18px}}
.n3d-card[data-png] img{object-fit:contain}

body:has(.n3d-ready){overflow:hidden;overscroll-behavior:none}
body:has(.n3d) :is(.et-l--footer,#main-footer,.et_pb_scroll_top){display:none!important}
.n3d-ready{position:fixed;inset:100px 0 0;display:flex;flex-direction:column;padding:0;z-index:2}
.admin-bar .n3d-ready{top:132px}
.n3d-ready .n3d-intro{flex:none;margin-bottom:0}
.n3d-ready .n3d-gallery{position:relative;flex:1;min-height:0;height:auto;overflow:clip;touch-action:none}
.n3d-world{position:absolute;inset:0 auto auto 0;width:100%;will-change:transform}
.n3d-world .n3d-canvas{box-sizing:border-box;min-height:var(--canvas-height,100vh);align-content:space-around}
.n3d-repeat{position:absolute;top:0;left:0}
.n3d-card[data-film]:not([data-film=""])::after{content:"";position:absolute;bottom:9px;right:9px;width:25px;height:25px;border-radius:50%;background:#222b center/10px 10px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath fill='white' d='M2 0l8 5-8 5z'/%3E%3C/svg%3E");pointer-events:none}
.n3d-dialog[data-film]{width:min(94vw,calc(72svh * var(--film-ratio) + 36px));min-width:min(270px,94vw)}
.n3d-dialog[data-film] iframe{aspect-ratio:var(--film-ratio);max-height:72svh}
@media(max-width:680px){.n3d-ready{top:128px}.admin-bar .n3d-ready{top:174px}}

.n3d .n3d-dialog{inset:0;margin:0;width:100%;height:100%;max-width:none;max-height:none;padding:0;background:transparent;overflow:hidden}
.n3d-dialog[open]{display:grid;place-items:center}
.n3d-dialog::backdrop{background:#fffffff2}
.n3d .n3d-back{position:absolute;top:clamp(20px,5vh,52px);left:4%;border:0;background:transparent;padding:8px 0;font-size:16px;z-index:1}
.n3d-detail{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:60px 18px 24px}
.n3d-view{position:relative;isolation:isolate;transform-origin:top left;border-radius:10px;overflow:hidden;width:min(90vw,960px,calc(65svh * var(--film-ratio)));aspect-ratio:var(--film-ratio)}
.n3d-view :is(.n3d-artwork,video,iframe){position:absolute;inset:0;width:100%;height:100%;max-height:none;border-radius:0;object-fit:contain}
.n3d-view iframe{background:#111}
.n3d-caption{text-align:center;opacity:0;transform:translateY(8px);transition:opacity .24s,transform .24s}
.n3d-detail-open .n3d-caption{opacity:1;transform:none;transition-delay:.23s}
.n3d-caption h2{font:400 clamp(22px,4vw,40px)/1.12 Montserrat,Arial,sans-serif;letter-spacing:-.045em;padding:0}
.n3d-description{max-width:58ch;margin:7px auto 0;color:#62605b}
.n3d-selected{opacity:0}
.n3d .n3d-play{position:absolute;z-index:2;top:50%;left:50%;transform:translate(-50%,-50%);width:clamp(70px,11vw,112px);aspect-ratio:1;border-radius:50%;border:1px solid #fffd;background:#1118;color:#fff;font:400 clamp(17px,3vw,25px)/1 Montserrat,Arial,sans-serif}
@media(prefers-reduced-motion:reduce){.n3d-caption{transition:none}}

/* Reveal the exhibit around the moving tile. */
.n3d .n3d-dialog::backdrop{background:transparent}
.n3d-dialog::before{content:"";position:absolute;inset:0;background:#fffffff5;opacity:0;transition:opacity .42s ease;pointer-events:none}
.n3d-dialog.n3d-detail-open::before{opacity:1}
.n3d-detail{position:relative;--exhibit-width:min(90vw,960px,calc(65svh * var(--film-ratio)))}
.n3d-view,.n3d-caption{width:var(--exhibit-width)}
.n3d-caption{text-align:left;transition:opacity .3s ease,transform .3s ease}
.n3d-detail-open .n3d-caption{transition-delay:.32s}
.n3d-caption h2{font-size:clamp(18px,2.5vw,32px)}
.n3d-description{margin:7px 0 0;font-size:14px;line-height:1.55}
@media(prefers-reduced-motion:reduce){.n3d-dialog::before,.n3d-caption{transition:none}}

.n3d-card[data-preview-playing]::after{display:none}

.n3d-ready .n3d-world,.n3d-ready .n3d-card{touch-action:none}
