/* Project covers rotate in one shared exhibition space. */
:root{--header-height:104px}
.projects-section{position:relative;z-index:2;height:100svh;min-height:690px;padding:calc(var(--header-height) + 24px) var(--gutter) 68px;scroll-margin-top:0;overflow:hidden}
#project-content{height:100%;display:flex;flex-direction:column;min-height:0}
.gallery-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative;z-index:5}
.gallery-heading h2{font-size:clamp(18px,2vw,29px);font-weight:400;letter-spacing:-.035em;margin:0}
.gallery-heading>span{font:11px monospace;letter-spacing:.06em;color:var(--muted)}
.rotating-gallery{position:relative;flex:1;min-height:0;isolation:isolate}
.gallery-backdrop{position:absolute;inset:0;display:grid;place-items:center;font-size:clamp(75px,12vw,220px);font-weight:500;letter-spacing:-.07em;text-align:center;line-height:1.1;opacity:.18;pointer-events:none;transition:color .7s;word-break:keep-all;filter:saturate(.15)}
.orbit-stage{position:absolute;inset:0;perspective:1500px;transform-style:preserve-3d;touch-action:pan-y}
.orbit-cover{position:absolute;left:50%;top:50%;width:min(57vw,calc((100svh - 300px) * 1.7778),960px);padding:0;aspect-ratio:16/9;background:#151717;transform:translate(-50%,-50%) translateX(calc(var(--offset) * 39vw)) rotateY(calc(var(--offset) * -37deg)) scale(.7);opacity:.52;transition:transform .85s cubic-bezier(.2,.75,.2,1),opacity .65s,filter .7s;filter:saturate(.5);backface-visibility:hidden;will-change:transform;overflow:hidden}
.orbit-cover.is-current{transform:translate(-50%,-50%) translateZ(80px);opacity:1;filter:none}
.orbit-cover img{width:100%;height:100%;display:block;object-fit:contain;user-select:none}
.cover-open{position:absolute;bottom:20px;right:22px;display:flex;align-items:center;gap:32px;background:rgba(0,0,0,.48);backdrop-filter:blur(10px);color:#fff;padding:11px 15px;font-size:11px;letter-spacing:.07em;opacity:0;transform:translateY(8px);transition:opacity .25s,transform .25s}
.cover-open>span{font-size:21px}.is-current:hover .cover-open,.is-current:focus-visible .cover-open{opacity:1;transform:none}
.video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:68px;height:68px;border:1px solid #ffffffbb;border-radius:50%;display:grid;place-items:center;padding-left:4px;font-size:36px;color:white;background:#0005;backdrop-filter:blur(6px)}
.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:10;width:108px;height:108px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--bg) 75%,transparent);transition:background .2s,color .2s}
.gallery-arrow svg{width:50px;height:50px;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.gallery-prev{left:0}.gallery-next{right:0}.gallery-next svg{transform:rotate(180deg)}
.gallery-arrow:hover{background:var(--text);color:var(--bg)}
.gallery-caption{display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative;z-index:5;min-height:46px}
.gallery-caption>div{display:flex;align-items:center;gap:26px}.gallery-position{font:12px monospace;color:var(--muted)}
.gallery-caption h3{font-size:clamp(20px,2vw,30px);font-weight:400;margin:0}.gallery-action{font-size:11px;letter-spacing:.06em;color:var(--muted)}
.playground-invitation{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:15px;color:var(--muted);font-size:11px;letter-spacing:.07em}

/* Separate case studies retain every original image ratio. */
#case-study{position:relative;z-index:2;padding:calc(var(--header-height) + 42px) var(--gutter) 50px;min-height:100svh}
.case-article{max-width:1700px;margin:0 auto}
.case-breadcrumb{display:flex;justify-content:space-between;align-items:center;gap:20px;font:12px monospace;color:var(--muted)}
.case-back,.case-top{padding:12px 0;font-size:12px;letter-spacing:.04em;text-align:left}
.case-title{padding:60px 0 70px}.case-title h1{font-weight:400;line-height:1.2;font-size:clamp(38px,6.1vw,100px);letter-spacing:-.055em;margin:0;outline:none}.case-title p{font-size:12px;color:var(--muted);letter-spacing:.12em;margin-top:23px}
.case-introduction{display:grid;grid-template-columns:1fr 2fr;gap:7vw;padding:36px 0 58px;align-items:start}
.case-label{font-size:12px;font-weight:400;letter-spacing:.06em;margin:0;line-height:1.8;color:var(--muted)}
.case-introduction>p{margin:0;font-size:clamp(17px,1.4vw,22px);line-height:1.95;max-width:880px}
.case-artwork{margin:0 0 40px;break-inside:avoid;opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .85s cubic-bezier(.2,.75,.2,1);will-change:opacity,transform}
.case-artwork.is-visible{opacity:1;transform:none}
.case-artwork button{display:block;width:100%;padding:0;text-align:left;background:transparent}
.case-artwork img{display:block;width:100%;height:auto;object-fit:contain;max-height:none;border:0}
.case-artwork figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-top:14px;font-size:12px;line-height:1.6;color:var(--muted)}
.case-artwork figcaption>span:last-child{font-size:11px;text-align:right}
.case-thinking{display:grid;grid-template-columns:1fr 2fr;gap:7vw;margin:75px 0 100px;padding-top:36px}
.case-thinking>div{display:grid;grid-template-columns:1fr 1fr;gap:4vw}.thinking-note>span{font:12px monospace;color:var(--muted)}
.thinking-note h3{font-size:22px;font-weight:400;margin:24px 0 18px}.thinking-note p{font-size:16px;line-height:1.95;color:var(--muted);margin:0}
.case-images-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.case-images-heading h2{font-size:14px;font-weight:400;letter-spacing:.08em}.case-images-heading>span{font:12px monospace;color:var(--muted)}
.masonry{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 30px;align-items:start}.masonry .case-artwork{min-width:0;margin:0}
.project-film{width:100%;aspect-ratio:16/9;background:#141615;position:relative;margin:0 0 80px}.project-film iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.case-footer{display:flex;justify-content:space-between;gap:24px;margin-top:55px;padding-top:25px;color:var(--muted)}
.closing-section{position:relative;z-index:2;padding:80px var(--gutter) 35px;min-height:100svh;display:flex;flex-direction:column;justify-content:space-between;gap:65px}
.closing-eyebrow{display:flex;align-items:center;justify-content:space-between;padding-top:25px;font-size:11px;letter-spacing:.07em;color:var(--muted)}
.closing-section h2{font-weight:400;letter-spacing:-.072em;line-height:.93;font-size:clamp(56px,10.3vw,220px);margin:0}.closing-section h2>span{display:block}.closing-section h2>span:nth-child(2){margin-left:29%}.closing-section h2>span:nth-child(3){margin-left:9%}
.closing-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:13px}.closing-contact{font-size:clamp(22px,3vw,40px);letter-spacing:-.04em;padding:0}
[data-elastic]{position:relative;border-top:0!important}
.elastic-rule{position:absolute;left:0;top:-65px;width:100%;height:130px;overflow:visible;pointer-events:none;z-index:4;color:var(--text);opacity:.3}
.elastic-rule path{stroke:currentColor;stroke-width:1}
@media(max-width:1100px){.gallery-arrow{width:88px;height:88px}.orbit-cover{width:min(58vw,calc((100svh - 310px)*1.7778))}.nav-target{font-size:16px}.nav-target.current{font-size:23px}}
@media(max-width:700px){
 :root{--header-height:126px}
 .projects-section{min-height:650px;height:100svh;padding-top:calc(var(--header-height) + 28px);padding-bottom:65px}
 .gallery-heading{align-items:flex-start}.gallery-heading h2{max-width:220px;font-size:23px;line-height:1.12}.gallery-heading>span{font-size:9px;white-space:nowrap;padding-top:4px}
 .orbit-cover{width:75vw;transform:translate(-50%,-65%) translateX(calc(var(--offset)*64vw)) rotateY(calc(var(--offset)*-32deg)) scale(.74)}
 .orbit-cover.is-current{transform:translate(-50%,-65%) translateZ(30px)}.gallery-backdrop{font-size:19vw;opacity:.17;padding-bottom:80px}
 .gallery-arrow{width:76px;height:76px;top:auto;bottom:0;transform:none}.gallery-arrow svg{width:38px;height:38px}.gallery-prev{left:calc(50% - 88px)}.gallery-next{right:calc(50% - 88px)}
 .gallery-caption{margin-top:20px;align-items:flex-start;gap:10px}.gallery-caption>div{gap:10px}.gallery-caption h3{font-size:18px}.gallery-position{font-size:10px}.gallery-action{font-size:9px;max-width:80px;text-align:right;line-height:1.6}
 .cover-open{display:none}.video-play{width:48px;height:48px;font-size:27px}
 #case-study{padding-top:calc(var(--header-height) + 25px)}.case-breadcrumb{font-size:10px}.case-back,.case-top{font-size:10px}.case-title{padding:40px 0 42px}.case-title h1{font-size:40px}.case-title p{font-size:10px;line-height:1.7}
 .case-introduction,.case-thinking{grid-template-columns:1fr;gap:22px}.case-introduction{padding:24px 0 35px}.case-introduction>p{font-size:16px;line-height:1.9}
 .case-thinking{margin:45px 0 50px;padding-top:24px}.case-thinking>div{grid-template-columns:1fr;gap:30px}.thinking-note h3{font-size:20px;margin:14px 0 12px}.thinking-note p{font-size:16px}
 .masonry{grid-template-columns:minmax(0,1fr);gap:34px}.case-artwork figcaption{font-size:11px}.case-artwork figcaption>span:last-child{display:none}.project-film{margin-bottom:40px}
 .closing-section{min-height:700px;height:100svh;padding-top:70px;gap:40px}.closing-eyebrow{font-size:9px;gap:24px;line-height:1.5}.closing-section h2{font-size:12.1vw;line-height:1}.closing-section h2>span:nth-child(2){margin-left:19%}.closing-section h2>span:nth-child(3){margin-left:4%}
 .closing-footer{flex-wrap:wrap;font-size:11px;gap:23px}.closing-contact{width:100%;text-align:left;font-size:30px}
}
@media(prefers-reduced-motion:reduce){.case-artwork{opacity:1;transform:none;transition:none}.orbit-cover{transition:none}}
