:root{--paper:#f2f2ef;--ink:#111;--line:rgba(17,17,17,.18);--muted:#696965;--ease:cubic-bezier(.2,.8,.2,1)}
.theme-dark-preload{background:#090909;color:#f5f5f2}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif}body{overflow:hidden}button,a{font:inherit}.app{height:100dvh;overflow:hidden}.view{display:none;min-height:100dvh}.view.is-active{display:block}.gallery{position:relative;overflow:hidden;padding:28px 32px 24px}.gallery-head{position:relative;z-index:5;display:flex;justify-content:space-between;align-items:flex-start}.eyebrow{text-transform:uppercase;letter-spacing:.11em;font-size:10px;font-weight:600}.status-dot{display:inline-block;width:7px;height:7px;background:#9ed751;border-radius:50%;margin-right:8px}.project-heading{text-align:right;max-width:620px}.project-heading h1{font-size:clamp(42px,7vw,104px);line-height:.85;letter-spacing:-.065em;margin:0;font-weight:500}.project-heading p{font-size:12px;color:var(--muted);margin:16px 3px 0}.wheel-stage{position:absolute;inset:12vh 0 8vh;cursor:grab;touch-action:none;outline:none}.wheel-stage.is-dragging{cursor:grabbing}.orbit{position:absolute;width:min(75vw,1000px);aspect-ratio:1;border:1px solid var(--line);border-radius:50%;left:50%;top:73%;transform:translate(-50%,-50%)}.wheel{position:absolute;inset:0}.work-card{--x:0px;--y:0px;--r:0deg;--s:1;position:absolute;left:50%;top:57%;width:clamp(210px,28vw,430px);aspect-ratio:4/5;border:0;padding:0;border-radius:clamp(22px,3vw,44px);overflow:hidden;background:var(--card);transform:translate(-50%,-50%) translate(var(--x),var(--y)) rotate(var(--r)) scale(var(--s));transform-origin:center 85%;transition:transform .08s linear,opacity .15s;will-change:transform;box-shadow:0 1px 0 rgba(255,255,255,.35) inset;cursor:pointer}.work-card:focus-visible{outline:3px solid #111;outline-offset:4px}.work-card .art{position:absolute;inset:0;overflow:hidden}.work-card .art:before,.work-card .art:after{content:"";position:absolute}.work-card .card-label{position:absolute;z-index:2;left:18px;right:18px;bottom:16px;display:flex;justify-content:space-between;align-items:flex-end;color:var(--label,#fff);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.work-card .card-label strong{font-size:16px;letter-spacing:-.03em;text-transform:none;font-weight:500}.work-card[data-art="orb"] .art{background:#ed5038}.work-card[data-art="orb"] .art:before{width:72%;aspect-ratio:1;border-radius:50%;background:#ffb2b5;top:12%;left:14%;box-shadow:0 0 0 18px rgba(0,0,0,.07)}.work-card[data-art="chrome"] .art{background:#111}.work-card[data-art="chrome"] .art:before{width:66%;height:70%;left:17%;top:8%;border-radius:50%;background:radial-gradient(circle at 35% 25%,#fff 0 5%,#7a7a7a 22%,#090909 50%,#dadada 73%,#222 100%);filter:contrast(1.2)}.work-card[data-art="type"] .art{background:#ddd7ff}.work-card[data-art="type"] .art:before{content:"Aa";font-size:clamp(90px,12vw,180px);font-weight:600;letter-spacing:-.12em;left:6%;top:12%;color:#4529e6}.work-card[data-art="grid"] .art{background-color:#f5d62f;background-image:linear-gradient(#171717 1px,transparent 1px),linear-gradient(90deg,#171717 1px,transparent 1px);background-size:34px 34px}.work-card[data-art="grid"] .art:before{width:45%;height:45%;background:#151515;border-radius:50%;left:27%;top:22%}.work-card[data-art="wave"] .art{background:#1f4ae0}.work-card[data-art="wave"] .art:before{inset:10%;background:repeating-radial-gradient(ellipse at 50% 100%,transparent 0 18px,#fff 19px 22px);border-radius:40%}.work-card[data-art="paper"] .art{background:#e9e7df}.work-card[data-art="paper"] .art:before{width:60%;height:70%;background:#fff;left:20%;top:10%;transform:rotate(-8deg);box-shadow:12px 14px 0 #b8ff53}.work-card[data-art="paper"] .art:after{content:"FORM";font-size:38px;letter-spacing:-.07em;left:27%;top:31%;transform:rotate(-8deg)}.work-card[data-art="rings"] .art{background:#bdff66}.work-card[data-art="rings"] .art:before{width:75%;aspect-ratio:1;border:22px double #151515;border-radius:50%;left:7%;top:12%;box-shadow:0 0 0 22px #bdff66,0 0 0 25px #151515}.work-card[data-art="night"] .art{background:#15142c}.work-card[data-art="night"] .art:before{width:62%;aspect-ratio:1;border-radius:50%;left:19%;top:15%;background:linear-gradient(135deg,#ff6a3d,#ca8fff 55%,#57d8ff)}.drag-hint{position:absolute;z-index:10;left:50%;top:48%;transform:translate(-50%,-50%);background:#111;color:#fff;border-radius:99px;padding:11px 16px;font-size:10px;text-transform:uppercase;letter-spacing:.12em;pointer-events:none;animation:nudge 1.8s ease-in-out infinite;transition:opacity .3s}.drag-hint span{margin-right:8px}.drag-hint.is-hidden{opacity:0}@keyframes nudge{50%{transform:translate(calc(-50% + 10px),-50%)}}.gallery-foot{position:absolute;z-index:6;bottom:22px;left:32px;right:32px;display:grid;grid-template-columns:1fr auto 1fr;align-items:end}.gallery-foot p{font-size:10px;text-transform:uppercase;letter-spacing:.1em;margin:0;color:var(--muted)}.pill{border:0;background:#111;color:#fff;border-radius:100px;padding:11px 16px;font-size:11px;letter-spacing:.04em;min-height:40px}.about-button{justify-self:start;cursor:pointer;transition:transform .25s var(--ease),padding .25s}.about-button:hover{transform:scale(1.05);padding-inline:21px}.about-button span{display:inline-block;margin-left:5px;transition:transform .25s}.about-button:hover span{transform:rotate(45deg)}.help-button{justify-self:end;border:1px solid #111;background:transparent;border-radius:50%;width:44px;height:44px;cursor:pointer;transition:.2s}.help-button:hover{background:#111;color:#fff}.project-view,.about-view{overflow:auto;padding:24px 28px 50px}.back-button{position:sticky;top:20px;z-index:20;cursor:pointer}.project-hero{min-height:82vh;margin-top:-40px;border-radius:36px;background:var(--hero);position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:clamp(25px,5vw,70px);color:var(--hero-label,#fff)}.project-hero .hero-art{position:absolute;inset:0;opacity:.9}.project-hero h1{position:relative;z-index:2;margin:0;font-size:clamp(58px,12vw,170px);line-height:.78;letter-spacing:-.075em;font-weight:500}.project-info{display:grid;grid-template-columns:1fr 2fr;gap:10vw;padding:80px 4vw 110px}.project-info .facts{font-size:11px;text-transform:uppercase;letter-spacing:.08em;line-height:2}.project-info .description{font-size:clamp(24px,3.6vw,52px);line-height:1.1;letter-spacing:-.045em;margin:0}.project-gallery{display:grid;grid-template-columns:1fr 1fr;gap:18px}.project-shot{min-height:60vh;border-radius:30px;background:var(--shot);position:relative;overflow:hidden}.project-shot:nth-child(3n){grid-column:1/-1;min-height:78vh}.about-view{padding:24px 4vw 32px}.about-intro{padding:11vh 0 13vh}.about-intro h1{font-size:clamp(76px,15vw,210px);line-height:.76;letter-spacing:-.08em;font-weight:500;margin:20px 0 55px}.about-intro>p:last-child{max-width:520px;margin-left:auto;font-size:18px;line-height:1.5}.link-section{margin:0 0 80px}.link-section h2{font-size:11px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:17px}.link-list{display:grid;gap:8px}.link-list a{display:grid;grid-template-columns:28px 1fr 30px;align-items:center;padding:20px;border-radius:18px;background:#e5e5e1;color:#111;text-decoration:none;font-size:clamp(18px,2vw,28px);transition:transform .25s var(--ease),background .25s}.link-list a:hover{transform:translateX(7px);background:#dddeda}.link-list i{width:14px;height:14px;border-radius:50%;background:var(--dot)}.link-list b{text-align:right;font-weight:400}.about-footer{display:flex;justify-content:space-between;align-items:center;padding-top:50px}dialog{border:0;border-radius:28px;padding:35px;max-width:430px;background:#111;color:#fff;box-shadow:none}dialog::backdrop{background:rgba(242,242,239,.82);backdrop-filter:blur(8px)}dialog h2{font-size:45px;letter-spacing:-.055em;margin:20px 0}dialog p:last-child{color:#aaa;line-height:1.6;font-size:13px}#close-help{position:absolute;right:18px;top:18px;border:0;background:#2b2b2b;color:#fff;border-radius:50%;width:36px;height:36px;font-size:20px;cursor:pointer}
body,button,a{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
@media(max-width:700px){.gallery{padding:20px 16px}.gallery-head{display:block}.project-heading{text-align:left;margin-top:12px}.project-heading h1{font-size:48px}.project-heading p{margin-top:9px}.wheel-stage{inset:16vh 0 10vh}.orbit{width:155vw;top:75%}.work-card{width:min(64vw,290px);top:59%;border-radius:26px}.gallery-foot{left:16px;right:16px;grid-template-columns:1fr 1fr}.gallery-foot p{display:none}.project-view,.about-view{padding:16px 14px 35px}.project-hero{min-height:75vh;margin-top:-38px;border-radius:24px;padding:24px}.project-info{grid-template-columns:1fr;padding:45px 8px 65px;gap:24px}.project-gallery{grid-template-columns:1fr;gap:10px}.project-shot,.project-shot:nth-child(3n){grid-column:auto;min-height:55vh;border-radius:22px}.about-intro{padding:10vh 0}.about-intro h1{font-size:23vw;margin-bottom:45px}.link-list a{padding:17px;border-radius:15px}.link-section{margin-bottom:55px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important}}

/* Gallery wheel v2 */
:root{--paper:#fff;--ink:#090909;--line:rgba(0,0,0,.11)}
.gallery{padding:0}
.gallery-head{position:absolute;z-index:50;left:clamp(18px,3vw,42px);top:clamp(16px,2.4vw,32px);display:flex;align-items:center;gap:1px}
.gallery-head h1{font-size:clamp(42px,7vw,88px);line-height:1;margin:0;font-weight:700;letter-spacing:-.065em}
.gallery-head h1{cursor:pointer;transform-origin:center center;-webkit-tap-highlight-color:transparent;user-select:none;transition:transform .3s cubic-bezier(.22,.75,.25,1),color .5s ease}
.gallery-head h1.is-pressing{transform:scale(.88)}
.flow-toggle .flow-icon,.flow-toggle .wheel-icon,.theme-toggle .bulb-off,.theme-toggle .bulb-on{display:none}
.flow-toggle{width:clamp(52px,7vw,76px);height:clamp(52px,7vw,76px);padding:0;display:grid;place-items:center}
.flow-toggle::before{content:"";display:block;width:clamp(32px,4.2vw,52px);height:clamp(32px,4.2vw,52px);background:url('./assets-fM.svg') center/contain no-repeat}
.flow-toggle.is-active::before{background-image:url('./assets-wM.svg')}
.theme-toggle{width:clamp(56px,7vw,82px);height:clamp(56px,7vw,82px);padding:0;display:grid;place-items:center}
.theme-toggle::before{content:"";display:block;width:clamp(34px,4.5vw,56px);height:clamp(34px,4.5vw,56px);background:url('./assets-sun-light.svg') center/contain no-repeat}
.theme-dark .theme-toggle::before{background-image:url('./assets-sun-dark.svg')}
.theme-dark .flow-toggle::before{filter:invert(1)}
.flow-toggle{position:relative;top:2px;width:28px;height:28px;padding:0;display:grid;place-items:center;border:0;background:transparent;color:#000;cursor:pointer;-webkit-tap-highlight-color:transparent}.flow-toggle svg{position:absolute;transition:opacity .25s ease,filter .25s ease,transform .25s var(--ease)}.flow-toggle .wheel-icon{opacity:0;filter:blur(4px);transform:scale(.8)}.flow-toggle.is-active .flow-icon{opacity:0;filter:blur(4px);transform:scale(.8)}.flow-toggle.is-active .wheel-icon{opacity:1;filter:blur(0);transform:scale(1)}.flow-toggle:focus-visible{outline:2px solid #111;outline-offset:3px;border-radius:3px}
.wheel-stage{inset:0;perspective:1100px}
.orbit{width:clamp(800px,66vw,950px);top:53%;border:1.5px solid var(--line);transform:translate(-50%,-50%) rotateX(8deg) rotateY(-10deg)}
.wheel-geometry{position:absolute;width:clamp(800px,66vw,950px);aspect-ratio:1;left:50%;top:53%;transform:translate(-50%,-50%) rotateX(8deg) rotateY(-10deg);opacity:.1;pointer-events:none}
.wheel-geometry:before,.wheel-geometry:after,.wheel-geometry i{content:"";position:absolute;background:#000;transform-origin:center}
.wheel-geometry:before{width:100%;height:1px;left:0;top:50%;transform:rotate(32deg)}
.wheel-geometry:after{width:100%;height:1px;left:0;top:50%;transform:rotate(-36deg)}
.wheel-geometry i:nth-child(1){width:1px;height:100%;left:50%;top:0;transform:rotate(18deg)}
.wheel-geometry i:nth-child(2){width:72%;height:72%;left:14%;top:14%;background:transparent;border:1px solid #000;transform:rotate(45deg)}
.wheel-geometry i:nth-child(3){width:52%;height:1px;left:24%;top:50%;transform:rotate(78deg)}
.wheel-geometry i:nth-child(4){width:34%;height:34%;left:33%;top:33%;background:transparent;border:1px solid #000;transform:rotate(22deg)}
.wheel{transform-style:preserve-3d}
.work-card{--z:0px;left:50%;top:53%;width:clamp(190px,16vw,270px);aspect-ratio:1;border-radius:clamp(28px,2.2vw,38px);transform:translate(-50%,-50%) translate3d(var(--x),var(--y),var(--z)) rotate(var(--r)) scale(var(--s));transform-origin:center;box-shadow:none;-webkit-tap-highlight-color:transparent;outline:none;border:0;user-select:none}
.work-card .card-label{display:none}
.gallery-foot{z-index:60;bottom:16px;left:50%;right:auto;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center}
.about-button{padding:clamp(12px,1.2vw,18px) clamp(24px,2.5vw,40px);min-width:clamp(130px,12vw,190px);min-height:clamp(46px,4vw,64px);font-size:clamp(19px,2.2vw,32px);letter-spacing:-.05em;transform-origin:center center}
.about-button:hover{transform:scale(1.05);padding-inline:36px}
.about-button.is-pressing{transform:scale(.86);transition:transform .12s ease,padding .25s}
.down-mark{display:block;width:34px;height:14px;margin-top:6px;overflow:visible}
.down-mark{display:none}
.down-mark path{stroke:#000;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.project-kicker{margin:70px 0 14px;font-size:11px;text-transform:uppercase;letter-spacing:.1em}
@media(max-width:700px){.gallery{padding:0}.gallery-head{left:9px;top:9px}.gallery-head h1{font-size:25px}.wheel-stage{inset:0}.orbit,.wheel-geometry{width:600px;top:52.5%}.work-card{width:220px;top:52.5%;border-radius:30px}.gallery-foot{left:50%;right:auto}.drag-hint{top:46%}}
.work-card[data-art="bloom"] .art{background:#ff7a45}.work-card[data-art="bloom"] .art:before{width:58%;aspect-ratio:1;left:21%;top:18%;border-radius:50%;background:#ffd35a;box-shadow:0 -42px 0 -12px #f43d73,0 42px 0 -12px #f43d73,42px 0 0 -12px #f43d73,-42px 0 0 -12px #f43d73}.work-card[data-art="index"] .art{background:#c9e5dc}.work-card[data-art="index"] .art:before{inset:15% 18%;border:2px solid #123d36;background:repeating-linear-gradient(0deg,transparent 0 18px,#123d36 19px 20px);transform:rotate(-7deg)}.work-card[data-art="index"] .art:after{content:"INDEX";left:24%;top:41%;font-size:28px;letter-spacing:.18em;color:#123d36;transform:rotate(-7deg)}.work-card[data-art="solar"] .art{background:#f08ad9}.work-card[data-art="solar"] .art:before{width:64%;aspect-ratio:1;left:18%;top:16%;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff5a8 0 9%,#ffca4f 28%,#ec5a8e 63%,#41234b 100%);box-shadow:0 0 0 20px rgba(255,232,126,.28)}.work-card[data-art="field"] .art{background:#d8c8b0}.work-card[data-art="field"] .art:before{inset:0;background:linear-gradient(145deg,transparent 0 42%,#8e9c72 43% 56%,transparent 57%);clip-path:polygon(0 58%,28% 42%,52% 57%,76% 34%,100% 51%,100% 100%,0 100%)}.work-card[data-art="field"] .art:after{width:22%;height:22%;right:15%;top:16%;border:5px solid #f6eee2;border-radius:50%}

/* The closed wheel path is intentionally absent; only front-facing cards render. */
.orbit,.wheel-geometry{display:none!important}
.work-card.is-pressing{transform:translate(-50%,-50%) translate3d(var(--x),var(--y),var(--z)) rotate(var(--r)) scale(calc(var(--s) * .96));transition:transform .14s cubic-bezier(.2,.7,.2,1)}
.work-card.is-opening{z-index:999!important;pointer-events:none}
@keyframes card-press{0%{transform:translate(-50%,-50%) translate3d(var(--x),var(--y),var(--z)) rotate(var(--r)) scale(var(--s))}45%{transform:translate(-50%,-50%) translate3d(var(--x),var(--y),var(--z)) rotate(var(--r)) scale(calc(var(--s) * .96))}100%{transform:translate(-50%,-50%) translate3d(var(--x),var(--y),var(--z)) rotate(var(--r)) scale(var(--s))}}

/* Mixed project formats, balanced by approximately equal visual area. */
.work-card{width:270px;height:auto;aspect-ratio:auto;will-change:transform,opacity,filter}
.work-card.format-square{width:338px;aspect-ratio:1/1}
.work-card.format-portrait{width:270px;aspect-ratio:2/3;border-radius:28px}
.work-card.format-landscape{width:412px;aspect-ratio:3/2;border-radius:28px}
.work-card.is-opening{filter:none!important}
@media(max-width:700px){.work-card.format-square{width:250px}.work-card.format-portrait{width:200px}.work-card.format-landscape{width:305px}.work-card.format-portrait,.work-card.format-landscape{border-radius:25px}}

.viewer{position:fixed;inset:0;z-index:500;display:block;visibility:hidden;pointer-events:none;overflow:hidden;color:#fff}
.wheel-stage{transition:filter .52s cubic-bezier(.2,.7,.2,1),opacity .52s ease;will-change:filter,opacity}
.wheel-stage.is-viewing{pointer-events:none}
.wheel-stage.is-flowing{filter:blur(16px);opacity:0;pointer-events:none}
.wheel-stage.is-returning{filter:blur(16px);opacity:0;pointer-events:none}
.flow-view{position:absolute;inset:0;z-index:20;overflow:hidden;opacity:0;visibility:hidden;transition:opacity .7s ease,filter .7s ease,visibility 0s linear .7s;filter:blur(12px);pointer-events:none}.flow-view.is-visible{opacity:1;visibility:visible;transition-delay:0s;filter:blur(0);pointer-events:auto}.flow-track{position:absolute;left:4vw;right:4vw;top:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(10px,1.35vw,20px);align-items:start;animation:masonry-rise 42s linear infinite}.flow-column{display:flex;flex-direction:column;gap:clamp(10px,1.35vw,20px)}.flow-column:nth-child(2){padding-top:18vh}.flow-column:nth-child(3){padding-top:7vh}.flow-card{position:relative;width:100%;flex:none;aspect-ratio:1;border:0;padding:0;border-radius:26px;overflow:hidden;background:var(--card);cursor:pointer;-webkit-tap-highlight-color:transparent}.flow-card.format-portrait{width:100%;aspect-ratio:2/3}.flow-card.format-landscape{width:100%;aspect-ratio:3/2}.flow-card .art{position:absolute;inset:0}.flow-card[data-art="orb"] .art{background:#ed5038}.flow-card[data-art="orb"] .art:before{content:"";position:absolute;width:72%;aspect-ratio:1;border-radius:50%;background:#ffb2b5;top:12%;left:14%}.flow-card[data-art="chrome"] .art{background:#111}.flow-card[data-art="chrome"] .art:before{content:"";position:absolute;width:66%;height:70%;left:17%;top:8%;border-radius:50%;background:radial-gradient(circle at 35% 25%,#fff 0 5%,#7a7a7a 22%,#090909 50%,#dadada 73%,#222 100%)}.flow-card[data-art="type"] .art{background:#ddd7ff}.flow-card[data-art="type"] .art:before{content:"Aa";position:absolute;font-size:clamp(90px,13vw,180px);font-weight:600;letter-spacing:-.12em;left:6%;top:12%;color:#4529e6}.flow-card[data-art="grid"] .art{background-color:#f5d62f;background-image:linear-gradient(#171717 1px,transparent 1px),linear-gradient(90deg,#171717 1px,transparent 1px);background-size:30px 30px}.flow-card[data-art="grid"] .art:before{content:"";position:absolute;width:45%;height:45%;background:#151515;border-radius:50%;left:27%;top:22%}.flow-card[data-art="wave"] .art{background:#1f4ae0}.flow-card[data-art="wave"] .art:before{content:"";position:absolute;inset:10%;background:repeating-radial-gradient(ellipse at 50% 100%,transparent 0 18px,#fff 19px 22px);border-radius:40%}.flow-card[data-art="paper"] .art{background:#e9e7df}.flow-card[data-art="paper"] .art:before{content:"";position:absolute;width:60%;height:70%;background:#fff;left:20%;top:10%;transform:rotate(-8deg);box-shadow:12px 14px 0 #b8ff53}.flow-card[data-art="rings"] .art{background:#bdff66}.flow-card[data-art="rings"] .art:before{content:"";position:absolute;width:75%;aspect-ratio:1;border:20px double #151515;border-radius:50%;left:7%;top:12%}.flow-card[data-art="night"] .art{background:#15142c}.flow-card[data-art="night"] .art:before{content:"";position:absolute;width:62%;aspect-ratio:1;border-radius:50%;left:19%;top:15%;background:linear-gradient(135deg,#ff6a3d,#ca8fff 55%,#57d8ff)}
.flow-top-fade{position:absolute;z-index:5;left:0;right:0;top:0;height:24vh;min-height:120px;background:linear-gradient(to bottom,#fff 0%,rgba(255,255,255,.94) 24%,rgba(255,255,255,.55) 58%,rgba(255,255,255,0) 100%);pointer-events:none}
@keyframes masonry-rise{from{transform:translate3d(0,0,0)}to{transform:translate3d(0,-33.333%,0)}}
@media(max-width:700px){.flow-track{left:7px;right:7px;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;animation-duration:34s}.flow-column{gap:7px}.flow-column:nth-child(3){display:flex}.flow-card{border-radius:14px}.flow-top-fade{height:20vh;min-height:108px}}
.flow-view{touch-action:none}
.flow-view.is-exiting{opacity:0;filter:blur(16px);visibility:visible;transition:opacity .72s ease,filter .72s cubic-bezier(.2,.7,.2,1);pointer-events:none}
.flow-track{top:-20vh;bottom:-20vh;animation:none!important}
.flow-column{display:block;position:relative;will-change:transform}
.flow-block{position:absolute;left:0;right:0;top:0;display:flex;flex-direction:column;gap:clamp(12px,2vw,28px);padding-bottom:clamp(12px,2vw,28px);will-change:transform}
.flow-card{will-change:opacity,filter;opacity:0;filter:blur(7px)}
.flow-bottom-fade{position:absolute;z-index:5;left:0;right:0;bottom:0;height:16vh;background:linear-gradient(to top,#fff 0%,rgba(255,255,255,.45) 45%,rgba(255,255,255,0) 100%);pointer-events:none}
@media(max-width:700px){.flow-block{gap:7px;padding-bottom:7px}.flow-column:nth-child(3){display:block}}
/* All flow columns share the same entry geometry; fade is driven by card bounds. */
.flow-column:nth-child(2),.flow-column:nth-child(3){padding-top:0}
.theme-toggle{position:absolute;z-index:60;right:10px;top:9px;width:28px;height:28px;padding:0;border:0;background:transparent;color:#090909;display:grid;place-items:center;cursor:pointer;-webkit-tap-highlight-color:transparent}.theme-toggle svg{position:absolute;transition:opacity .3s ease,filter .3s ease,transform .3s var(--ease)}.theme-toggle .bulb-on{opacity:0;filter:blur(4px);transform:scale(.8)}.theme-toggle:focus-visible{outline:2px solid currentColor;outline-offset:3px;border-radius:3px}
.brand-mark{position:absolute;z-index:0;left:50%;top:50%;width:100vmin;height:100vmin;transform:translate(-50%,-50%) scale(1.35);object-fit:contain;color:#000;opacity:.15;filter:blur(0);pointer-events:none;transition:color .5s ease,opacity .65s ease,filter .65s ease}
.brand-mark.is-flow-hidden{opacity:0!important;filter:blur(12px)}
.wheel-stage{z-index:2}
body,body .app,body .view{transition:background-color .5s ease,color .5s ease}
.gallery-head h1,.flow-toggle,.theme-toggle,.gallery-foot .pill,.gallery-foot .down-mark path,.about-view .pill,.about-view .help-button{transition:color .5s ease,background-color .5s ease,border-color .5s ease,stroke .5s ease}
body.theme-dark{--paper:#090909;--ink:#f5f5f2;--line:rgba(255,255,255,.18);--muted:#a8a8a3;background:#090909;color:#f5f5f2}.theme-dark .theme-toggle,.theme-dark .flow-toggle{color:#fff}.theme-dark .theme-toggle .bulb-off{opacity:0;filter:blur(4px);transform:scale(.8)}.theme-dark .theme-toggle .bulb-on{opacity:1;filter:blur(0);transform:scale(1)}.theme-dark .down-mark path{stroke:#fff}.theme-dark .flow-top-fade{background:linear-gradient(to bottom,#090909 0%,rgba(9,9,9,.94) 24%,rgba(9,9,9,.55) 58%,rgba(9,9,9,0) 100%)}.theme-dark .flow-bottom-fade{background:linear-gradient(to top,#090909 0%,rgba(9,9,9,.45) 45%,rgba(9,9,9,0) 100%)}.theme-dark .pill{background:#f5f5f2;color:#090909}.theme-dark .help-button{border-color:#f5f5f2;color:#f5f5f2}.theme-dark .help-button:hover{background:#f5f5f2;color:#090909}
.theme-dark .brand-mark{color:#fff;opacity:.35;filter:invert(1)}
@media(max-width:700px){.theme-toggle{right:14px;top:14px}}
@media(max-width:700px){
  .gallery-head{left:14px;top:14px}
  .gallery-head h1{color:var(--ink);-webkit-transition:transform .16s cubic-bezier(.2,.7,.2,1),color .5s ease;transition:transform .16s cubic-bezier(.2,.7,.2,1),color .5s ease}
  .flow-track{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  .flow-column:nth-child(n+4){display:none}
  .work-card{width:250px}
  .work-card.format-square{width:250px}.work-card.format-portrait{width:200px}.work-card.format-landscape{width:305px}
}
.brand-mark{width:100vmin;height:100vmin;transform:translate(-50%,-50%) scale(1.22);transition:width 1s cubic-bezier(.2,.7,.2,1),height 1s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1),color .5s ease,opacity .65s ease,filter .65s ease}
body.intro-starting .brand-mark{width:10vmin;height:10vmin;transform:translate(-50%,-50%) scale(1);filter:blur(0)}
body.intro-pulsing .brand-mark{animation:intro-pulse 1.1s ease-in-out infinite}
body.intro-growing .brand-mark{width:100vmin;height:100vmin;transform:translate(-50%,-50%) scale(1.22);animation:none}
body.intro-starting .gallery-head,body.intro-starting .theme-toggle,body.intro-starting .gallery-foot,body.intro-starting .wheel-stage,body.intro-growing .gallery-head,body.intro-growing .theme-toggle,body.intro-growing .gallery-foot,body.intro-growing .wheel-stage{opacity:0;visibility:hidden;pointer-events:none}
body.intro-wheel .gallery-head,body.intro-wheel .theme-toggle,body.intro-wheel .gallery-foot{opacity:0;visibility:hidden;pointer-events:none}
body.intro-wheel .wheel-stage{opacity:1;visibility:visible;pointer-events:auto;filter:blur(0);transition:opacity .9s ease,filter .9s ease}
body.intro-ready .gallery-head,body.intro-ready .theme-toggle,body.intro-ready .gallery-foot,body.intro-ready .wheel-stage{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .6s ease,visibility 0s linear 0s}
/* About transition: the gallery clears upward before contacts appear. */
.gallery-head,.gallery-foot,.wheel-stage{transition:opacity 1.7s ease,filter 1.7s cubic-bezier(.22,.75,.25,1),transform 1.7s cubic-bezier(.22,.75,.25,1)}
.gallery.is-leaving .gallery-head{opacity:0;filter:blur(14px);transform:translateY(-42px)}
.gallery.is-leaving .theme-toggle{opacity:0;filter:blur(14px);transform:translateY(-42px);transition:opacity 1.2s ease,filter 1.2s ease,transform 1.2s cubic-bezier(.22,.75,.25,1)}
.gallery.is-leaving .gallery-foot{opacity:1;filter:none;transform:translateX(-50%)}
.gallery.is-leaving .about-button{opacity:0;filter:blur(14px);transform:translateY(115vh) scale(.82);transition:opacity 1.2s ease,filter 1.2s ease,transform 1.2s cubic-bezier(.22,.75,.25,1)}
.gallery.is-leaving .about-button.is-about-flying{position:fixed!important;left:50%!important;bottom:24px!important;z-index:100!important;animation:about-button-fly 1.2s cubic-bezier(.22,.75,.25,1) forwards!important;will-change:transform,opacity,filter}
@keyframes about-button-fly{0%{opacity:1;filter:blur(0);transform:translateY(0) scale(1)}24%{opacity:1;filter:blur(0);transform:translateY(8vh) scale(.9)}100%{opacity:0;filter:blur(14px);transform:translateY(115vh) scale(.82)}}
.gallery.is-leaving .wheel-stage{opacity:0;filter:blur(18px);transform:translateY(-100vh)}
.gallery.is-leaving .brand-mark{opacity:0!important;filter:blur(16px);transition:opacity 1.7s ease,filter 1.7s ease}
.about-view.is-entering{opacity:0;filter:blur(16px);transform:translateY(28px)}
.about-view{transition:opacity .72s ease,filter .72s ease,transform .72s cubic-bezier(.2,.7,.2,1)}
.about-back{position:fixed;left:50%;bottom:24px;z-index:20;display:block;width:112px!important;height:48px!important;margin:0;padding:0!important;border:0;border-radius:999px;background:var(--ink);color:var(--paper);font:500 18px/48px Manrope,Arial,sans-serif;text-align:center;white-space:nowrap;transform:translate(-50%,120px);opacity:0;filter:blur(10px);transition:transform .8s cubic-bezier(.2,.8,.2,1),opacity .8s ease,filter .8s ease}
.about-view.is-active .about-back{transform:translate(-50%,0);opacity:1;filter:blur(0);transition-delay:.35s}
.about-view.is-active .about-back.is-entering{animation:about-back-rise .85s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes about-back-rise{0%{transform:translate(-50%,120px);opacity:0;filter:blur(12px)}65%{transform:translate(-50%,-8px);opacity:1;filter:blur(2px)}100%{transform:translate(-50%,0);opacity:1;filter:blur(0)}}
@keyframes back-fly-clean{0%{opacity:1;filter:blur(0);transform:translate(-50%,0) scale(1)}22%{opacity:1;filter:blur(0);transform:translate(-50%,5vh) scale(.9)}100%{opacity:0;filter:blur(16px);transform:translate(-50%,calc(100vh + 180px)) scale(.82)}}
.about-back.is-flying{animation:back-fly-clean .82s cubic-bezier(.22,.75,.25,1) forwards!important}
.gallery.is-returning .wheel-stage{animation:wheel-drop-in 1s cubic-bezier(.2,.8,.2,1) both}
.gallery.is-returning .gallery-head{animation:ui-drop-in .65s cubic-bezier(.2,.8,.2,1) 1s both}
.gallery.is-returning .theme-toggle{animation:ui-drop-in .65s cubic-bezier(.2,.8,.2,1) 1s both}
.gallery.is-returning .gallery-foot{animation:about-return-rise .8s cubic-bezier(.2,.8,.2,1) 1.45s both}
@keyframes wheel-drop-in{0%{opacity:0;filter:blur(18px);transform:translateY(-100vh)}100%{opacity:1;filter:blur(0);transform:translateY(0)}}
@keyframes ui-drop-in{0%{opacity:0;filter:blur(12px);transform:translateY(-55px)}100%{opacity:1;filter:blur(0);transform:translateY(0)}}
@keyframes foot-drop-in{0%{opacity:0;filter:blur(12px);transform:translate(-50%,-55px)}100%{opacity:1;filter:blur(0);transform:translate(-50%,0)}}
@keyframes about-return-rise{0%{opacity:0;filter:blur(14px);transform:translate(-50%,calc(100vh + 90px))}72%{opacity:1;filter:blur(1px);transform:translate(-50%,-7px)}100%{opacity:1;filter:blur(0);transform:translate(-50%,0)}}
.about-back.is-pressing{transform:translate(-50%,0) scale(.86)!important;transition:transform .14s ease}
.platforms-content{width:min(780px,82vw);margin:0 auto;padding-top:clamp(96px,13vh,150px);color:var(--ink)}
.platforms-title{margin:0 0 clamp(20px,3vw,36px);font-size:clamp(48px,7vw,92px);line-height:.9;letter-spacing:-.07em;font-weight:500;opacity:0;filter:blur(14px);transform:translateX(-45vw);will-change:transform,opacity,filter}
.contacts-title{margin-top:clamp(42px,6vw,78px)}
.platform-placeholder-list{display:grid;gap:clamp(10px,1.2vw,16px)}
.platform-placeholder{height:clamp(58px,6.5vw,84px);border-radius:clamp(16px,2vw,24px);background:color-mix(in srgb,var(--ink) 12%,var(--paper));display:flex;align-items:center;gap:clamp(14px,2vw,24px);padding:0 clamp(20px,3vw,32px);color:var(--ink);text-decoration:none;font-size:clamp(16px,2vw,24px);transition:background-color .5s ease,transform .25s ease;opacity:0;filter:blur(12px);transform:translateY(18px)}
.platform-placeholder:hover{background:color-mix(in srgb,var(--ink) 18%,var(--paper));transform:translateY(0) translateX(6px)}
.platform-placeholder i{display:block;width:clamp(22px,3vw,38px);height:clamp(22px,3vw,38px);border-radius:50%;background:#ef6b4a}
.platform-placeholder:nth-child(2) i{background:#6f8df7}.platform-placeholder:nth-child(3) i{background:#a8d65b}.platform-placeholder:nth-child(4) i{background:#d58be8}
.contacts-list .platform-placeholder:nth-child(1) i{background:#f0a43c}.contacts-list .platform-placeholder:nth-child(2) i{background:#58b9ad}
.about-view.is-active .platform-placeholder{animation:platform-rise .7s cubic-bezier(.2,.8,.2,1) forwards}
.about-view.is-active .platforms-title{animation:platform-title-in .8s cubic-bezier(.16,.84,.24,1) .18s forwards}
.about-view.is-active .contacts-title{animation-delay:.58s}
.about-view.is-active .platform-placeholder:nth-child(1){animation-delay:.45s}.about-view.is-active .platform-placeholder:nth-child(2){animation-delay:.54s}.about-view.is-active .platform-placeholder:nth-child(3){animation-delay:.63s}.about-view.is-active .platform-placeholder:nth-child(4){animation-delay:.72s}
.about-view.is-active .contacts-list .platform-placeholder:nth-child(1){animation-delay:.81s}.about-view.is-active .contacts-list .platform-placeholder:nth-child(2){animation-delay:.9s}
.about-view.is-returning .platforms-title,.about-view.is-returning .contacts-title{animation:platform-title-out .72s cubic-bezier(.55,.05,.8,.35) forwards}
.about-view.is-returning .contacts-title{animation-delay:0s}.about-view.is-returning .platforms-title{animation-delay:.18s}
.about-view.is-returning .platform-placeholder{animation:platform-rise-out .72s cubic-bezier(.55,.05,.8,.35) forwards}
.about-view.is-returning .contacts-list .platform-placeholder:nth-child(1){animation-delay:.08s}.about-view.is-returning .contacts-list .platform-placeholder:nth-child(2){animation-delay:.04s}
.about-view.is-returning .platform-placeholder-list:not(.contacts-list) .platform-placeholder:nth-child(1){animation-delay:.42s}.about-view.is-returning .platform-placeholder-list:not(.contacts-list) .platform-placeholder:nth-child(2){animation-delay:.48s}.about-view.is-returning .platform-placeholder-list:not(.contacts-list) .platform-placeholder:nth-child(3){animation-delay:.54s}.about-view.is-returning .platform-placeholder-list:not(.contacts-list) .platform-placeholder:nth-child(4){animation-delay:.6s}
@keyframes platform-rise{to{opacity:1;filter:blur(0);transform:translateY(0)}}
@keyframes platform-title-in{0%{opacity:0;filter:blur(14px);transform:translateX(-45vw)}72%{opacity:1;filter:blur(1px);transform:translateX(8px)}100%{opacity:1;filter:blur(0);transform:translateX(0)}}
@keyframes platform-title-out{0%{opacity:1;filter:blur(0);transform:translateX(0)}100%{opacity:0;filter:blur(14px);transform:translateX(-45vw)}}
@keyframes platform-rise-out{0%{opacity:1;filter:blur(0);transform:translateY(0)}100%{opacity:0;filter:blur(12px);transform:translateY(18px)}}
@media(max-width:700px){.platforms-content{width:calc(100vw - 28px);padding-top:82px}.platforms-title{font-size:clamp(42px,12vw,62px);margin-bottom:20px}.platform-placeholder-list{gap:8px}.platform-placeholder{height:52px;border-radius:15px;padding:0 18px}.platform-placeholder i{width:20px;height:20px}.contacts-title{margin-top:32px;margin-bottom:20px}}
/* Dedicated About control, isolated from the gallery layout during its exit. */
#about-button{position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:clamp(130px,12vw,190px);height:clamp(46px,4vw,64px);padding:0;border:0;border-radius:999px;background:#111;color:#fff;font:500 clamp(19px,2.2vw,32px)/1 Manrope,Arial,sans-serif;cursor:pointer;transform-origin:center;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
#about-button{background:var(--ink);color:var(--paper);transition:background-color .5s ease,color .5s ease,transform .18s ease}
#about-button.is-pressing{transform:scale(.86);transition:transform .18s ease}
#about-button.is-about-flying{position:fixed!important;left:50%!important;bottom:24px!important;z-index:1000!important;animation:about-fly-clean 2.6s cubic-bezier(.22,.75,.25,1) forwards!important;will-change:transform,opacity,filter}
@keyframes about-fly-clean{0%{opacity:1;filter:blur(0);transform:translate(-50%,0) scale(1)}22%{opacity:1;filter:blur(0);transform:translate(-50%,12vh) scale(.9)}100%{opacity:0;filter:blur(16px);transform:translate(-50%,calc(100vh + 180px)) scale(.82)}}
@keyframes intro-pulse{0%,100%{transform:translate(-50%,-50%) scale(.92)}50%{transform:translate(-50%,-50%) scale(1.08)}}
.viewer.is-mounted{visibility:visible;pointer-events:auto}
.viewer-backdrop{position:absolute;inset:-30px;background:rgba(202,202,198,.12);backdrop-filter:blur(0);opacity:0;transition:opacity .62s ease,backdrop-filter .72s cubic-bezier(.2,.7,.2,1)}
.viewer.is-visible .viewer-backdrop{opacity:1;background:rgba(190,190,186,.44);backdrop-filter:blur(18px)}
.theme-dark .viewer.is-visible .viewer-backdrop{background:rgba(9,9,9,.58)}
.viewer-content{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);width:min(68vw,560px);max-width:92vw;max-height:94dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}
.viewer[data-format="portrait"] .viewer-content{width:min(52vw,420px)}
.viewer[data-format="landscape"] .viewer-content{width:min(76vw,680px)}
.viewer-title,.viewer-content h2{position:relative;z-index:3;align-self:flex-start;margin:0 0 20px;max-width:100%;font-size:clamp(48px,7vw,96px);line-height:.86;letter-spacing:-.075em;font-weight:500;opacity:0;filter:blur(18px);transform:translateY(16px);transition:opacity .62s ease .12s,filter .7s ease .12s,transform .7s var(--ease) .12s}
.viewer.is-visible .viewer-content h2{opacity:1;filter:blur(0);transform:none}
.viewer-glow{position:absolute;z-index:1;width:min(78vw,680px);height:min(78vw,680px);border-radius:50%;background:var(--viewer-color,#ed5038);filter:blur(80px);opacity:0;transform:scale(.68);transition:opacity .7s ease,transform .8s var(--ease)}
.viewer.is-visible .viewer-glow{opacity:.48;transform:scale(1)}
.viewer-card{position:relative;z-index:2;border:0;padding:0;background:var(--viewer-color,#ed5038);width:100%;height:auto;aspect-ratio:1;overflow:hidden;border-radius:clamp(28px,3vw,42px);pointer-events:auto;opacity:0;filter:blur(24px);transform:none;transition:opacity .7s ease .05s,filter .82s var(--ease) .05s;cursor:default;-webkit-tap-highlight-color:transparent;outline:none;user-select:none}
.viewer.is-visible .viewer-card{opacity:1;filter:blur(0);transform:none}
.viewer-card.format-portrait{width:100%;aspect-ratio:2/3}
.viewer-card.format-landscape{width:100%;aspect-ratio:3/2}
.viewer-card .art{position:absolute;inset:0}
.viewer-card[data-art="orb"] .art{background:#ed5038}.viewer-card[data-art="orb"] .art:before{content:"";position:absolute;width:72%;aspect-ratio:1;border-radius:50%;background:#ffb2b5;top:12%;left:14%}
.viewer-card[data-art="chrome"] .art{background:#111}.viewer-card[data-art="chrome"] .art:before{content:"";position:absolute;width:66%;height:70%;left:17%;top:8%;border-radius:50%;background:radial-gradient(circle at 35% 25%,#fff 0 5%,#7a7a7a 22%,#090909 50%,#dadada 73%,#222 100%)}
.viewer-card[data-art="type"] .art{background:#ddd7ff}.viewer-card[data-art="type"] .art:before{content:"Aa";position:absolute;font-size:clamp(110px,15vw,220px);font-weight:600;letter-spacing:-.12em;left:6%;top:12%;color:#4529e6}
.viewer-card[data-art="grid"] .art{background-color:#f5d62f;background-image:linear-gradient(#171717 1px,transparent 1px),linear-gradient(90deg,#171717 1px,transparent 1px);background-size:34px 34px}.viewer-card[data-art="grid"] .art:before{content:"";position:absolute;width:45%;height:45%;background:#151515;border-radius:50%;left:27%;top:22%}
.viewer-card[data-art="wave"] .art{background:#1f4ae0}.viewer-card[data-art="wave"] .art:before{content:"";position:absolute;inset:10%;background:repeating-radial-gradient(ellipse at 50% 100%,transparent 0 22px,#fff 23px 27px);border-radius:40%}
.viewer-card[data-art="paper"] .art{background:#e9e7df}.viewer-card[data-art="paper"] .art:before{content:"";position:absolute;width:60%;height:70%;background:#fff;left:20%;top:10%;transform:rotate(-8deg);box-shadow:18px 20px 0 #b8ff53}.viewer-card[data-art="paper"] .art:after{content:"FORM";position:absolute;font-size:clamp(42px,5vw,75px);letter-spacing:-.07em;left:27%;top:31%;transform:rotate(-8deg)}
.viewer-card[data-art="rings"] .art{background:#bdff66}.viewer-card[data-art="rings"] .art:before{content:"";position:absolute;width:75%;aspect-ratio:1;border:25px double #151515;border-radius:50%;left:7%;top:12%;box-shadow:0 0 0 25px #bdff66,0 0 0 29px #151515}
.viewer-card[data-art="night"] .art{background:#15142c}.viewer-card[data-art="night"] .art:before{content:"";position:absolute;width:62%;aspect-ratio:1;border-radius:50%;left:19%;top:15%;background:linear-gradient(135deg,#ff6a3d,#ca8fff 55%,#57d8ff)}
.viewer-content time{position:relative;z-index:3;align-self:flex-end;margin-top:20px;font-size:clamp(19px,2.5vw,32px);letter-spacing:-.04em;opacity:0;filter:blur(14px);transform:translateY(-12px);transition:opacity .62s ease .18s,filter .7s ease .18s,transform .7s var(--ease) .18s}
.viewer.is-visible .viewer-content time{opacity:1;filter:blur(0);transform:none}
.viewer.is-closing .viewer-backdrop,.viewer.is-closing .viewer-glow{opacity:0;filter:blur(18px)}
.viewer.is-closing .viewer-content h2,.viewer.is-closing .viewer-content time{opacity:0;filter:blur(12px);transform:translateY(-10px);transition:opacity .42s ease,filter .48s ease,transform .48s ease}
.viewer.is-closing .viewer-card{opacity:0;filter:blur(16px);transform:translateY(112vh);transition:opacity 1.35s ease,filter 1.35s ease,transform 1.5s cubic-bezier(.2,.8,.2,1)}
.viewer.is-closing + .view{filter:blur(12px);opacity:.45}
.work-card.is-opening{filter:blur(10px)!important;opacity:.52!important;transform:translate(-50%,-50%) translate3d(var(--x),var(--y),var(--z)) rotate(var(--r)) scale(var(--s))!important;transition:filter .7s ease,opacity .7s ease}
@media(max-width:700px){.viewer-content{width:72vw;max-height:92dvh}.viewer[data-format="portrait"] .viewer-content{width:min(58vw,36dvh)}.viewer[data-format="landscape"] .viewer-content{width:82vw}.viewer-content h2{font-size:48px;margin-bottom:18px}.viewer-card{width:100%;max-height:66dvh}.viewer-card.format-portrait,.viewer-card.format-landscape{width:100%}.viewer-content time{margin-top:18px}}
.gallery-head h1{font-size:clamp(42px,7vw,88px)}
.flow-toggle{top:4px;width:clamp(52px,7vw,76px);height:clamp(52px,7vw,76px)}
.flow-toggle::before{width:clamp(27px,3.6vw,44px);height:clamp(27px,3.6vw,44px)}
.theme-toggle{width:clamp(56px,7vw,82px);height:clamp(56px,7vw,82px)}
.theme-toggle::before{width:clamp(34px,4.5vw,56px);height:clamp(34px,4.5vw,56px)}
@keyframes toggle-bounce{0%{transform:scale(1)}30%{transform:scale(.82)}55%{transform:scale(1.12)}75%{transform:scale(.94)}100%{transform:scale(1)}}
.flow-toggle.is-bouncing,.theme-toggle.is-bouncing{animation:toggle-bounce .52s cubic-bezier(.2,.8,.25,1)}
.work-card[data-art^="image-"] .art,.flow-card[data-art^="image-"] .art,.viewer-card[data-art^="image-"] .art{background-color:#222;background-image:var(--image);background-position:center;background-size:cover;background-repeat:no-repeat}
.work-card[data-art^="image-"] .art:before,.work-card[data-art^="image-"] .art:after,.flow-card[data-art^="image-"] .art:before,.flow-card[data-art^="image-"] .art:after,.viewer-card[data-art^="image-"] .art:before,.viewer-card[data-art^="image-"] .art:after{display:none}
.work-card[data-art^="image-"] .art{background-image:none}
.work-card[data-art^="image-"] .art img,.flow-card[data-art^="image-"] .art img,.viewer-card[data-art^="image-"] .art img{display:block;width:100%;height:100%;object-fit:cover}
/* Viewer choreography: blur the wheel first, then lift the selected card from below. */
.wheel-stage.is-viewing{filter:blur(18px);opacity:.08;transition:filter .7s ease,opacity .7s ease}
.wheel-stage.is-viewing{transition:filter .38s ease,opacity .38s ease!important}
.viewer-card{transform:translateY(112vh);opacity:1;filter:blur(14px);transition:transform .95s cubic-bezier(.2,.8,.2,1),filter .95s ease}
.viewer.is-visible .viewer-card{transform:translateY(0);opacity:1;filter:blur(0)}
.viewer-content h2,.viewer-content time{transition-delay:.92s}
