.works-page{min-height:100svh}.works-page .top{z-index:30}.gallery{position:relative;isolation:isolate;max-width:1800px;margin:auto;padding:20px 0 24px}.ambience{position:absolute;inset:0 calc(-1 * var(--gutter));overflow:hidden;z-index:-2;pointer-events:none;opacity:.18;mask-image:linear-gradient(transparent,#000 20%,#000 72%,transparent)}.ambience>div{position:absolute;inset:-100px;background:center/cover no-repeat;filter:blur(65px) saturate(.5);transition:background-image .8s;transform:scale(1.12)}.ambience:after{content:"";position:absolute;inset:0;background:color-mix(in srgb,var(--bg) 45%,transparent);backdrop-filter:blur(24px)}
.gallery-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;position:relative;z-index:2}.eyebrow{font-size:10px;letter-spacing:.17em;font-weight:700;margin:8px 0 14px;color:var(--muted)}.gallery h1{font:400 clamp(34px,4vw,62px)/1.02 var(--serif);letter-spacing:-.035em;margin:0}.view-toggle{font:500 12px var(--body);color:var(--ink);background:color-mix(in srgb,var(--surface) 50%,transparent);border:1px solid color-mix(in srgb,var(--ink) 22%,transparent);padding:12px 18px;border-radius:30px;cursor:pointer;backdrop-filter:blur(12px)}.view-toggle span{margin-left:14px}.view-toggle:hover{background:var(--ink);color:var(--bg)}
.stage{position:relative;height:clamp(330px,46vh,510px);margin-top:-26px;perspective:1500px;touch-action:pan-y;user-select:none;outline-offset:-8px;overflow:clip;overflow-clip-margin:40px;cursor:grab}.stage.is-dragging{cursor:grabbing}.horizon{position:absolute;left:12%;right:12%;top:76%;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--ink) 13%,transparent),transparent)}.cards{position:absolute;inset:0;transform-style:preserve-3d}.project-card{position:absolute;left:50%;top:46%;width:clamp(210px,23vw,320px);height:clamp(250px,29vw,385px);margin:0;transform-style:preserve-3d;text-decoration:none;transition:transform .72s cubic-bezier(.22,.75,.2,1),opacity .5s,filter .5s;will-change:transform;outline-offset:8px}.project-card[aria-hidden="true"]{visibility:hidden;pointer-events:none}.card-face{position:absolute;inset:0;border-radius:15px;overflow:hidden;background:var(--surface);border:1px solid rgba(255,255,255,.25);box-shadow:0 22px 40px -26px rgba(0,0,0,.6);transform:translateZ(0)}.card-face img{width:100%;height:100%;object-fit:cover;pointer-events:none}.card-face:after{content:"";position:absolute;inset:0;background:linear-gradient(145deg,rgba(255,255,255,.12),transparent 40%,rgba(0,0,0,.2));pointer-events:none}.card-number{position:absolute;left:17px;top:15px;color:white;text-shadow:0 1px 8px #000;font:400 28px/1 var(--serif);z-index:1}.card-caption{position:absolute;left:16px;right:16px;bottom:15px;color:#fff;text-shadow:0 1px 10px #000;font:700 13px var(--body);z-index:1}.card-reflection{position:absolute;left:0;right:0;top:calc(100% + 11px);height:46%;background:center bottom/100% auto no-repeat;transform:scaleY(-1);border-radius:15px;opacity:.12;mask-image:linear-gradient(transparent 5%,#000);filter:blur(1px);pointer-events:none}.project-card:not(.is-selected) .card-caption{opacity:.7}.stage.is-dragging .project-card{transition:none}
.selection{display:flex;gap:clamp(16px,4vw,60px);align-items:center;justify-content:center;position:relative;z-index:3;margin-top:4px}.selection-copy{width:min(540px,65vw);text-align:center;min-height:123px}.project-meta{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin:0 0 9px}.project-link{display:inline-flex;gap:18px;align-items:baseline;text-decoration:none}.project-link h2{font:400 clamp(26px,3vw,43px)/1.08 var(--serif);letter-spacing:-.025em;margin:0}.project-link>span{font-size:23px;color:var(--olive)}.project-link:hover h2{color:var(--olive)}.project-description{font-size:13px;line-height:1.6;max-width:48ch;margin:10px auto 0;color:var(--muted)}.step{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border-radius:50%;border:1px solid color-mix(in srgb,var(--ink) 24%,transparent);background:color-mix(in srgb,var(--surface) 40%,transparent);color:var(--ink);font-size:22px;cursor:pointer;backdrop-filter:blur(12px);transition:background .2s,transform .2s}.step:hover{background:var(--ink);color:var(--bg);transform:scale(1.08)}.gesture-hint{text-align:center;font-size:10px;letter-spacing:.08em;color:var(--muted);margin:8px 0 23px}.project-index{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;position:relative;z-index:3}.index-button{border:0;border-bottom:1px solid transparent;color:var(--muted);background:transparent;cursor:pointer;padding:9px 10px;font:500 11px var(--body);transition:color .2s,background .2s;border-radius:5px}.index-button span{font-size:9px;margin-right:6px;opacity:.65}.index-button[aria-current="true"]{color:var(--ink);border-bottom-color:var(--olive);background:color-mix(in srgb,var(--surface) 65%,transparent)}.index-button:hover{color:var(--ink);background:color-mix(in srgb,var(--surface) 45%,transparent)}.gallery-foot{display:flex;gap:14px;justify-content:space-between;margin-top:35px;padding-top:15px;border-top:1px solid color-mix(in srgb,var(--ink) 16%,transparent);color:var(--muted);font-size:10px;letter-spacing:.06em}.gallery-foot a{text-decoration:none}.gallery-foot a:hover{color:var(--olive)}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.index-view{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;padding:36px 0}.index-view>a{padding:25px;border-bottom:1px solid var(--muted);text-decoration:none}.enhanced .index-view{display:none}.gallery.list-mode .gallery-experience{display:none}.gallery.list-mode .index-view{display:grid}.index-tile{position:relative;border:0!important;padding:0!important;overflow:hidden;border-radius:10px;background:var(--surface)}.index-tile img{width:100%;height:240px;object-fit:cover;transition:transform .4s}.index-tile:hover img{transform:scale(1.035)}.index-tile div{padding:17px}.index-tile small{font-size:10px;letter-spacing:.08em;color:var(--muted)}.index-tile h2{font:400 24px var(--serif);margin:6px 0}.index-tile p{font-size:12px;color:var(--muted);margin:0}.gallery.list-mode .gallery-foot{margin-top:10px}
@media(min-width:1500px){.stage{margin-top:-55px}}@media(max-width:1000px){.index-view{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-heading h1{font-size:42px}.stage{margin-top:5px;height:380px}.project-card{width:250px;height:310px}.gallery-foot span{max-width:38ch;text-align:right}}
@media(max-width:640px){.works-page .top{gap:8px;flex-wrap:wrap;padding-bottom:10px}.works-page .mark{font-size:21px}.works-page .nav{order:3;width:100%;justify-content:center}.works-page .nav a{font-size:12px;padding:8px 13px}.works-page .right{gap:14px}.works-page .cord{height:33px}.gallery{padding-top:12px}.gallery-heading h1{font-size:34px}.eyebrow{font-size:8px;margin-top:0}.view-toggle{padding:10px 12px;font-size:11px}.view-toggle span{margin-left:7px}.stage{height:330px;margin:16px calc(-1 * var(--gutter)) 0;perspective:1100px;overflow-clip-margin:0}.project-card{width:218px;height:264px;top:45%}.card-face{border-radius:12px}.card-reflection{opacity:.06;height:26%}.selection{gap:10px;margin-top:5px;align-items:flex-start}.step{width:38px;height:38px;flex-basis:38px;margin-top:20px}.selection-copy{width:auto;flex:1;min-height:138px}.project-link{gap:9px}.project-link h2{font-size:28px}.project-meta{font-size:8px;letter-spacing:.06em}.project-description{font-size:12px}.gesture-hint{margin:4px 0 15px;font-size:9px}.project-index{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.index-button{padding:10px 3px;font-size:10px;white-space:nowrap}.index-button span{display:block;font-size:9px;margin:0 0 3px}.gallery-foot{margin-top:25px;font-size:9px}.gallery-foot span{display:none}.index-view{gap:12px}.index-tile img{height:180px}.index-tile div{padding:12px}.index-tile h2{font-size:21px}.index-tile p{font-size:11px}}
@media(prefers-reduced-motion:reduce){.project-card,.ambience>div,.index-tile img{transition:none!important}.card-reflection{display:none}.stage{perspective:none}.works-page *{scroll-behavior:auto!important}}

/* Contain the carousel's off-screen 3D cards on narrow viewports. */
html, body { overflow-x: clip; }

/* Full-page exhibition space — no inset backdrop or clipped mirror strip. */
.works-page{background:var(--bg);position:relative}
.gallery{isolation:auto;min-height:calc(100svh - 90px);padding-top:22px}
.ambience{position:fixed;inset:0;z-index:-1;opacity:.12;mask-image:none}
.ambience>div{filter:blur(110px) saturate(.35);transform:scale(1.3)}
.ambience:after{background:color-mix(in srgb,var(--bg) 65%,transparent);backdrop-filter:none}
.gallery-heading{align-items:center}
.gallery h1{font-family:var(--body);font-size:clamp(26px,3vw,42px);font-weight:400;letter-spacing:-.055em;line-height:1.15}
.eyebrow{font-weight:500;font-size:9px;letter-spacing:.21em;margin:0 0 10px}
.view-toggle{border:0;border-radius:0;background:none;backdrop-filter:none;padding:10px 0;font-size:11px;border-bottom:1px solid color-mix(in srgb,var(--ink) 22%,transparent)}
.stage{height:clamp(390px,54vh,590px);margin-top:24px;overflow:visible;overflow-clip-margin:0;perspective:1800px;z-index:1}
.project-card{top:43%;width:clamp(220px,23vw,330px);height:clamp(275px,29vw,405px)}
.card-face{border-radius:3px;border:0;box-shadow:0 24px 40px -32px #0009}
.card-face:after{background:linear-gradient(180deg,transparent 65%,#0004)}
.card-number{font:400 11px var(--body);letter-spacing:.15em;top:15px;left:15px;text-shadow:0 1px 6px #0008}
.card-caption{font-size:10px;letter-spacing:.04em;font-weight:500;bottom:14px}
.card-reflection{top:calc(100% + 2px);height:100%;background-size:cover;border-radius:2px;opacity:.24;filter:blur(1.4px);mask-image:linear-gradient(to bottom,transparent 5%,#0002 44%,#000 100%)}
.horizon{display:none}
.selection{z-index:4;margin-top:0}
.selection-copy{min-height:104px}
.project-link h2{font-family:var(--body);font-size:clamp(24px,2.5vw,36px);font-weight:400;letter-spacing:-.05em}
.project-meta{font-size:9px;letter-spacing:.14em}
.project-description{font-size:12px}
.step{width:40px;height:40px;flex-basis:40px;background:transparent;backdrop-filter:none;border-color:color-mix(in srgb,var(--ink) 15%,transparent)}
.gesture-hint,.project-index,.gallery-foot{position:relative;z-index:4}
.gesture-hint{margin:10px 0 26px;font-size:9px}
.index-button{border-radius:0;font-size:10px;padding:10px 13px}
.index-button[aria-current="true"]{background:none}
.gallery-foot{margin-top:30px;border-top-color:color-mix(in srgb,var(--ink) 10%,transparent);font-size:9px}
@media(min-width:1500px){.stage{margin-top:24px}}
@media(max-width:1000px){.gallery-heading h1{font-size:34px}.stage{height:430px;margin-top:28px}.project-card{width:250px;height:315px}}
@media(max-width:640px){.gallery{padding-top:24px}.gallery-heading h1{font-size:30px}.view-toggle{font-size:10px;padding:7px 0}.stage{height:365px;margin:30px calc(-1 * var(--gutter)) 0;overflow:visible}.project-card{top:44%;width:218px;height:275px}.card-face{border-radius:3px}.card-reflection{height:100%;opacity:.19}.selection-copy{min-height:125px}.project-link h2{font-size:25px}.project-meta{font-size:8px}.gesture-hint{margin:5px 0 18px}.index-button{padding:10px 3px}.gallery-foot{margin-top:24px}}
