/* Appended Figma gallery. All rules are scoped to this section. */
.fig-gallery{position:relative;isolation:isolate;width:100%;margin:0;background:#000;color:#fff;container-type:inline-size;padding:8.5vw 4.1vw 5vw 6.7vw;min-height:65vw}
.fig-gallery .fig-gallery-bridge{position:absolute;z-index:-1;left:35.058%;top:-10.077cqw;width:32.474%;height:18.577cqw;pointer-events:none}
.fig-gallery .fig-gallery-bridge>img{position:absolute;left:0;top:0;transform:scale(calc(32.474cqw / 679.995px));transform-origin:0 0}
.fig-gallery .fig-work-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:7.5vw;align-items:start}
.fig-gallery .fig-work-column{display:flex;flex-direction:column;gap:7.16vw;min-width:0}
.fig-gallery .fig-work-column:nth-child(2){padding-top:7.13vw}
.fig-gallery .fig-work-column:nth-child(4){padding-top:7.45vw}
.fig-gallery .fig-cover{position:relative;display:block;width:100%;margin:0;overflow:hidden;background:#f8f7f7;container-type:inline-size;aspect-ratio:349/394;border:0;box-shadow:none;border-radius:0}
.fig-gallery .fig-cover>a{display:block;position:absolute;inset:0;color:inherit}
.fig-gallery .fig-cover:has(>a):focus-within{outline:2px solid #fff;outline-offset:7px}
.fig-gallery .fig-poster{aspect-ratio:341.366/387.173}
.fig-gallery .fig-poster>img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}
.fig-gallery .fig-manto{aspect-ratio:361.873/387.238}
.fig-gallery .fig-manto-phone{position:absolute;left:23.130%;top:0;width:53.719%;height:96.978%}
.fig-gallery .fig-manto-phone>img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}
.fig-gallery .fig-manto-title{position:absolute;left:8.411%;top:39.083%;margin:0;font-family:Inter,Arial,sans-serif;font-size:22.43cqw;font-weight:400;line-height:1.2074;color:#ffda20;white-space:nowrap}
.fig-gallery .fig-sneakers>img{position:absolute;left:0;top:-12.18%;width:103.73%;height:112.18%;max-width:none;pointer-events:none}
.fig-gallery .fig-day,.fig-gallery .fig-up{position:absolute;color:#ff0000;font-family:Inter,Arial,sans-serif;font-weight:400;line-height:1.21;white-space:nowrap}
.fig-gallery .fig-day{left:5.731%;top:6.091%;font-size:25.8255cqw}
.fig-gallery .fig-up{left:46.991%;top:30.711%;font-size:22.9226cqw}
.fig-gallery .fig-cat{aspect-ratio:344/388;background:#c1d5ee}
.fig-gallery .fig-cat-art{position:absolute;left:0;top:5.155%;width:100%;aspect-ratio:1}
.fig-gallery .fig-cat-art>img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}
.fig-gallery .fig-tomato{aspect-ratio:342.567/387.238}
.fig-gallery .fig-tomato-scene{position:absolute;left:0;top:0;width:342.567px;height:387.238px;transform:scale(calc(100cqw / 342.567px));transform-origin:0 0}
.fig-gallery .fig-tomato-scene>img{position:absolute;display:block;pointer-events:none}
.fig-gallery .fig-tomato-fill{position:absolute;left:73.012px;top:173.313px;width:196.253px;height:104.952px;background:#ffaf8d;border-radius:46.839px}
.fig-gallery .fig-tomato-glass{position:absolute;left:63.938px;top:162.947px;width:214.832px;height:123.161px;backdrop-filter:blur(5.31px);-webkit-backdrop-filter:blur(5.31px);background:rgba(169,20,20,.04);border:.297px solid white;border-radius:49.478px}
.fig-gallery .fig-tomato-six{position:absolute;left:86.505px;top:187.565px;color:#db1a1a;font-family:TPPoiret,Arial,sans-serif;font-size:62.194px;font-weight:400;line-height:73px}
.fig-gallery .fig-tomato-label{position:absolute;left:129.435px;top:213.48px;width:39.759px;color:#a31313;font-family:TPPoiret,'PingFang SC',sans-serif;font-size:20.943px;line-height:25px}
.fig-gallery .fig-tomato-trace{position:absolute;left:123.614px;top:343.11px;width:116.794px;height:44.1271px;mask-image:url('assets/figma-gallery/077a8.svg');-webkit-mask-image:url('assets/figma-gallery/077a8.svg');mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;mask-size:116.794px 44.1271px;-webkit-mask-size:116.794px 44.1271px}
.fig-gallery .fig-tomato-trace>img{position:absolute;display:block}
.fig-gallery .fig-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:900px){.fig-gallery{padding:10vw 6vw 8vw}.fig-gallery .fig-work-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:9vw;row-gap:9vw}.fig-gallery .fig-work-column{gap:9vw}.fig-gallery .fig-work-column:nth-child(2),.fig-gallery .fig-work-column:nth-child(4){padding-top:12vw}.fig-gallery .fig-work-column:nth-child(3){padding-top:0}}
@media(max-width:520px){.fig-gallery{padding:13vw 7vw 12vw}.fig-gallery .fig-work-grid{column-gap:7vw;row-gap:10vw}.fig-gallery .fig-work-column{gap:10vw}.fig-gallery .fig-work-column:nth-child(2),.fig-gallery .fig-work-column:nth-child(4){padding-top:13vw}}
/* Preserve the deliberately uneven column spacing in the supplied layout. */
@media(min-width:901px){
 .fig-gallery{container-type:normal;padding-left:6.6858vw;padding-right:4.1608vw}
 .fig-gallery .fig-work-grid{display:flex;column-gap:0}
 .fig-gallery .fig-work-column{flex-shrink:0;width:16.6667vw;gap:7.155vw}
 .fig-gallery .fig-work-column:nth-child(2){width:17.2814vw;margin-left:8.214vw;padding-top:7.139vw;gap:7.463vw}
 .fig-gallery .fig-work-column:nth-child(3){margin-left:7.3604vw}
 .fig-gallery .fig-work-column:nth-child(4){width:17.2814vw;margin-left:5.6829vw;padding-top:7.45vw;gap:7.1156vw}
 .fig-gallery .fig-poster{width:97.813%;margin-left:2.292%}
 .fig-gallery .fig-tomato{width:98.157%;margin-left:.86%}
 .fig-gallery .fig-cat{width:95.061%;margin-left:4.974%}
}
/* A single continuous liquid edge joins the white page to the black gallery. */
.fig-gallery .gallery-liquid{position:absolute;z-index:-1;left:0;top:calc(-1 * var(--liquid-reach,200px));width:100%;height:calc(var(--liquid-reach,200px) + 3px);background:#fff;display:none;overflow:hidden;pointer-events:none}
.fig-gallery.liquid-ready .gallery-liquid{display:block}
.fig-gallery.liquid-ready .fig-gallery-bridge{visibility:hidden}
@media(prefers-reduced-motion:reduce){.fig-gallery .gallery-liquid{display:none!important}.fig-gallery .fig-gallery-bridge{visibility:hidden!important}}

/* Reserve the ink transition below the preceding project caption. */
.fig-gallery.liquid-ready{margin-top:var(--liquid-reach,200px)}
@media(prefers-reduced-motion:reduce){.fig-gallery.liquid-ready{margin-top:0}}

/* Original poster animation stays cropped within its existing card. */
.fig-gallery .fig-poster>.fig-poster-motion{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;pointer-events:none}
.fig-gallery .fig-poster.poster-motion-ready>.fig-poster-motion{opacity:1}
.fig-gallery .fig-poster.poster-motion-ready>img{visibility:hidden}

/* The source video includes its own phone frame and pale background. */
.fig-gallery .fig-manto-phone{overflow:hidden}
.fig-gallery .manto-motion{position:absolute;left:-43%;top:-7%;width:186%;height:117%;max-width:none;object-fit:fill;pointer-events:none;opacity:0}
.fig-gallery .fig-manto-phone.manto-playing .manto-motion{opacity:1}
.fig-gallery .fig-manto-phone.manto-playing>img{visibility:hidden}

.fig-gallery .fig-cat-art>picture,.fig-gallery .fig-cat-art>picture>img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}

/* Updated lower gallery artworks, using the supplied Figma image crops. */
.fig-gallery .fig-orange{aspect-ratio:362/394;background:#000}
.fig-gallery .fig-orange-underlay{position:absolute;left:1.657%;top:-12.18%;width:100%;height:112.18%;max-width:none}
.fig-gallery .fig-orange-white{position:absolute;inset:0 0 auto;height:98.284%;background:white}
.fig-gallery .fig-orange-art{position:absolute;left:0;top:13.198%;width:100%;height:69.036%;object-fit:cover}
.fig-gallery .fig-reader{aspect-ratio:361.873/387.238;background:white}
.fig-gallery .fig-reader-art{position:absolute;left:10.777%;top:0;width:78.481%;height:100%;overflow:hidden}
.fig-gallery .fig-reader-art>img{position:absolute;left:-57.93%;top:-11.08%;width:222.91%;height:122.52%;max-width:none}
.fig-gallery .fig-sheep{aspect-ratio:362/402}
.fig-gallery .fig-sheep>img{position:absolute;left:-35.94%;top:.03%;width:151.77%;height:100%;max-width:none}
.fig-gallery .fig-flowers{aspect-ratio:362/422}
.fig-gallery .fig-flowers>img{display:block;width:100%;height:100%;object-fit:cover}
@media(min-width:901px){
 .fig-gallery{padding-left:6.39924vw;padding-bottom:4.3935vw}
 .fig-gallery .fig-work-column{width:17.28749vw}
 .fig-gallery .fig-work-column:nth-child(2){margin-left:7.87966vw}
 .fig-gallery .fig-work-column:nth-child(3){width:17.28749vw;margin-left:6.93063vw;gap:8.53689vw}
 .fig-gallery .fig-work-column:nth-child(4){width:17.28749vw;margin-left:5.49188vw;gap:6.01719vw}
 .fig-gallery .fig-poster{width:94.3001%;margin-left:3.8674%}
 .fig-gallery .fig-tomato{width:94.632%;margin-left:3.31492%}
 .fig-gallery .fig-cat{width:95.02762%;margin-left:4.97238%}
}

/* Only the artwork layers animate; the Figma card geometry is unchanged. */
.fig-gallery .fig-sheep>.sheep-motion{position:absolute;left:-35.94%;top:.03%;width:151.77%;height:100%;max-width:none;object-fit:fill;pointer-events:none;opacity:0}
.fig-gallery .fig-sheep.sheep-playing>.sheep-motion{opacity:1}
.fig-gallery .fig-sheep.sheep-playing>img{visibility:hidden}
.fig-gallery .fig-flowers>.flower-motion{position:absolute;inset:0;width:100%;height:100%;background:#fafafa;pointer-events:none;opacity:0}
.fig-gallery .fig-flowers.flower-active>.flower-motion{opacity:1}
.fig-gallery .fig-flowers.flower-active>img{visibility:hidden}

.fig-gallery .artwork-open{position:absolute;z-index:2;inset:0;display:block;width:100%;height:100%;border:0;padding:0;margin:0;background:transparent;cursor:pointer;border-radius:0}
.fig-gallery .artwork-open:focus-visible{outline:2px solid white;outline-offset:-4px}
.artwork-viewer{position:fixed;inset:0;max-width:none;max-height:none;width:100vw;height:100svh;margin:0;padding:0;border:0;overflow:hidden;background:#000;color:#fff}
.artwork-viewer::backdrop{background:#000}
.artwork-viewer.is-flower{background:#fafafa;color:#19362d}
.artwork-full{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.artwork-full[hidden]{display:none}
.sheep-full>video{display:block;width:100%;height:100%;object-fit:contain}
.flower-detail-art{position:relative;width:min(90vw,calc(90svh * 760 / 800));height:90svh;max-height:calc(90vw * 800 / 760);overflow:hidden}
.flower-detail-art>.flower-motion{display:block;width:100%;height:100%;pointer-events:none}
.artwork-close{position:absolute;z-index:5;right:max(20px,env(safe-area-inset-right));top:max(20px,env(safe-area-inset-top));width:44px;height:44px;border:1px solid currentColor;border-radius:50%;color:inherit;background:transparent;font:300 30px/1 Arial,sans-serif;cursor:pointer}
.artwork-viewer-open{overflow:hidden}

/* Goldfish girl: original frame sequence plus the existing fish illustration. */
.fig-reader .reader-motion{position:absolute;inset:0;display:none;pointer-events:none;background:white}
.fig-reader.reader-ready .reader-motion{display:block}
.fig-reader.reader-ready .fig-reader-art{visibility:hidden}
.fig-reader .reader-girl{position:absolute;left:20%;top:12%;width:auto;height:86%;user-select:none}
.fig-reader .reader-fish{position:absolute;left:39%;top:4%;width:22%;height:auto;overflow:hidden;transform-origin:50% 70%}
.fig-reader .reader-motion.is-playing .reader-fish{animation:reader-fish-hops 3.6s ease-in-out infinite}
@keyframes reader-fish-hops{0%,8%,40%,100%{transform:translateY(0) rotate(0deg)}16%{transform:translateY(-9px) rotate(-10deg)}24%{transform:translateY(0) rotate(3deg)}32%{transform:translateY(-6px) rotate(-7deg)}}
@media(prefers-reduced-motion:reduce){.fig-reader .reader-fish{animation:none!important}}
/* Reuse each live artwork in a contained, webpage-sized viewer. */
.artwork-viewer .expanded-gallery{display:flex;align-items:center;justify-content:center;position:relative;isolation:auto;container-type:normal;width:100%;height:100%;min-height:0;margin:0;padding:0;background:transparent}
.expanded-gallery .is-expanded-art{flex:none;max-width:none;max-height:none;border-radius:0;transform:none;cursor:default}
.expanded-gallery .artwork-open{display:none}
