.gallery{background:var(--tk-navy-deep);color:var(--tk-steel-white);--sc-font-display:var(--tk-font);--sc-font-text:var(--tk-font);--sc-canvas:var(--tk-navy-deep);--sc-ink:var(--tk-steel-white);--sc-ink-soft:var(--tk-steel-highlight);--sc-accent:var(--tk-copper-lit)}
.gallery p,.gallery h2{margin:0}.gallery h2{font-weight:600;letter-spacing:0}.gallery-label{font-size:12px;line-height:18px;font-weight:600;color:var(--tk-copper-lit)}
.gallery-threshold{position:relative}.gallery-threshold-inner{max-width:1440px;margin:auto;padding:72px;display:flex;flex-direction:column;gap:24px}.gallery-premise{display:grid;grid-template-columns:minmax(0,780px) minmax(0,390px);gap:100px;align-items:start;transform:translateY(clamp(0px,calc((.45 - var(--sc-p, .45))*22px),10px))}.gallery-premise h2{font-size:64px;line-height:72px}.gallery-premise p{font-size:20px;line-height:32px;color:var(--tk-steel-highlight)}.gallery-seam{height:1px;background:var(--tk-copper);opacity:.5;transform-origin:left;transform:scaleX(clamp(.05,calc(var(--sc-p,1)*2.4),1))}
.product-scene{min-height:620px;padding:72px max(5%,calc((100% - 1296px)/2));display:grid;grid-template-columns:minmax(0,530px) minmax(0,610px);gap:76px;align-items:center;border-bottom:1px solid #bd704780;--art-scale:1}.product-vmt{grid-template-columns:minmax(0,610px) minmax(0,530px)}.product-copy{display:flex;flex-direction:column;gap:16px;align-items:flex-start}.product-status{border:1px solid var(--tk-copper-lit);border-radius:2px;padding:8px 14px;color:var(--tk-copper-lit);font-size:12px;font-weight:600;line-height:18px}.product-name{font-size:20px;line-height:28px;font-weight:600}.product-copy h2,.gallery-closing h2{font-size:48px;line-height:58px}.product-description{font-size:20px;line-height:32px;color:var(--tk-steel-highlight)}.product-soon{font-size:15px;line-height:24px;color:var(--tk-copper-lit)}
.product-art{position:relative;width:100%;max-width:610px;aspect-ratio:610/470}.art-scale{position:absolute;top:0;left:0;width:610px;height:470px;transform:scale(var(--art-scale));transform-origin:top left}.product-ribbon{position:absolute;inset:0;transform:translateY(calc(12px - var(--sc-p,.5)*24px));will-change:transform}.product-ribbon img{display:block;width:610px;height:470px;max-width:none}.product-vmt .product-ribbon{transform:translateY(calc(var(--sc-p,.5)*24px - 12px))}.ribbon-reflection{position:absolute;inset:0;mask:url('assets/gallery-ribbon.svg') no-repeat 0 0 / 610px 470px;background:linear-gradient(110deg,transparent 30%,#5a82f038 48%,transparent 66%);background-size:200% 100%;background-position:calc(var(--sc-p,.5)*100%) 0;mix-blend-mode:screen;pointer-events:none}.product-lettering{position:absolute;left:100px;top:150px;font-weight:600;font-size:108px;letter-spacing:-7.56px;line-height:normal;white-space:nowrap}.vmt-lettering{font-size:134px;letter-spacing:-9.38px}.product-letter-face{position:relative;background:linear-gradient(180deg,#dfe8f6 0%,#a9bde3 38%,#f3cfad 50%,#bd7047 100%);background-clip:text;-webkit-background-clip:text;color:transparent}.product-letter-depth{position:absolute;left:0;top:0;color:#526076;text-shadow:1px 1px #526076,2px 2px #526076,3px 3px #526076,4px 4px #526076,5px 5px #142033,6px 6px #142033,7px 7px #142033}
.gallery-closing{max-width:1440px;margin:auto;padding:72px;display:flex;flex-direction:column;gap:28px}.studio-signature{display:grid;grid-template-columns:510px 510px;gap:240px;font-size:15px;line-height:24px;min-height:35px}.studio-signature p:last-child{color:var(--tk-steel-highlight)}
@media(max-width:1200px){.gallery-premise{gap:40px;grid-template-columns:1.5fr 1fr}.gallery-premise h2{font-size:52px;line-height:1.15}.gallery-threshold-inner,.gallery-closing{padding:64px 5%}.product-scene{gap:40px;grid-template-columns:1fr 1.1fr;padding:64px 5%}.product-vmt{grid-template-columns:1.1fr 1fr}.product-copy h2,.gallery-closing h2{font-size:40px;line-height:1.2}.product-description{font-size:18px;line-height:30px}.product-description br{display:none}.studio-signature{grid-template-columns:1fr 1fr;gap:40px}}
@media(max-width:760px){.gallery-threshold-inner,.gallery-closing{padding:54px 6%;gap:24px}.gallery-label{font-size:11px;line-height:18px}.gallery-premise{display:flex;flex-direction:column;gap:24px;transform:none}.gallery-premise h2{font-size:38px;line-height:46px}.gallery-premise p{font-size:17px;line-height:28px}.product-scene,.product-vmt{display:flex;flex-direction:column;gap:26px;padding:48px 6%;min-height:0}.product-vmt .product-copy{order:-1}.product-copy{align-self:stretch;gap:16px}.product-copy h2,.gallery-closing h2{font-size:36px;line-height:44px}.product-description{font-size:17px;line-height:28px}.product-status{font-size:11px}.product-art{align-self:center}.product-ribbon{transform:translateY(calc(4px - var(--sc-p,.5)*8px))}.product-vmt .product-ribbon{transform:translateY(calc(var(--sc-p,.5)*8px - 4px))}.studio-signature{display:flex;flex-direction:column;gap:12px;font-size:13px}.ribbon-reflection{opacity:.5}}
@media(prefers-reduced-motion:reduce){.gallery .product-ribbon,.gallery .gallery-premise,.gallery .gallery-seam{transform:none!important;will-change:auto}.gallery .ribbon-reflection{display:none}}
@media(forced-colors:active){.product-letter-face{background:none;color:CanvasText}.product-letter-depth,.ribbon-reflection{display:none}.gallery-seam{background:CanvasText}}
.product-art{overflow:hidden}
/* Visible-window choreography: progress remains supplied by Scroll Craft. */
.gallery-threshold{--arrival:clamp(0,calc((var(--sc-p,1) - .32)*2.5),1)}
.gallery-seam{transform:scaleX(var(--arrival));opacity:.8}
.gallery-premise{transform:translateY(calc((1 - var(--arrival))*22px))}
.product-scene{--arrival:clamp(0,calc((var(--sc-p,1) - .16)*2.5),1)}
.product-ribbon{transform-origin:50% 50%;transform:translate(calc((1 - var(--arrival))*72px),calc((1 - var(--arrival))*36px)) rotate(calc((1 - var(--arrival))*-7deg)) scale(calc(.92 + var(--arrival)*.08))}
.product-vmt .product-ribbon{transform:translate(calc((1 - var(--arrival))*-72px),calc((1 - var(--arrival))*28px)) rotate(calc((1 - var(--arrival))*7deg)) scale(calc(.92 + var(--arrival)*.08))}
.product-lettering{transform:translateY(calc((1 - var(--arrival))*-12px))}
.ribbon-reflection{background:linear-gradient(110deg,transparent 30%,#88adffb3 48%,transparent 66%);background-size:240% 100%;background-position:calc(var(--arrival)*100%) 0;opacity:calc(1 - var(--arrival)*.7)}
@media(max-width:760px){.product-ribbon{transform:translate(calc((1 - var(--arrival))*28px),calc((1 - var(--arrival))*16px)) rotate(calc((1 - var(--arrival))*-3deg))}.product-vmt .product-ribbon{transform:translate(calc((1 - var(--arrival))*-28px),calc((1 - var(--arrival))*16px)) rotate(calc((1 - var(--arrival))*3deg))}.product-lettering{transform:none}}
@media(prefers-reduced-motion:reduce){.gallery .product-ribbon,.gallery .product-lettering,.gallery .gallery-premise,.gallery .gallery-seam{transform:none!important}.gallery .ribbon-reflection{display:none}}
/* Review v2: sustained depth while each sculpture is visible, not arrival-only. */
@media(prefers-reduced-motion:no-preference){
 .product-scene{--travel:clamp(-1,calc((var(--sc-p,.5) - .5)*3.3333),1)}
 .product-ribbon{transform:perspective(900px) translate(calc(var(--travel)*-65px),calc(var(--travel)*-36px)) rotateY(calc(var(--travel)*28deg)) rotate(calc(var(--travel)*14deg)) scale(.90)}
 .product-vmt .product-ribbon{transform:perspective(900px) translate(calc(var(--travel)*65px),calc(var(--travel)*-36px)) rotateY(calc(var(--travel)*-28deg)) rotate(calc(var(--travel)*-14deg)) scale(.90)}
 .product-lettering{transform:translateY(calc(var(--travel)*24px))}
 .ribbon-reflection{opacity:.7;background-position:calc((var(--travel) + 1)*50%) 0}
}
@media(max-width:760px) and (prefers-reduced-motion:no-preference){
 .product-ribbon{transform:translate(calc(var(--travel)*-25px),calc(var(--travel)*-18px)) rotate(calc(var(--travel)*8deg)) scale(.9)}
 .product-vmt .product-ribbon{transform:translate(calc(var(--travel)*25px),calc(var(--travel)*-18px)) rotate(calc(var(--travel)*-8deg)) scale(.9)}
 .product-lettering{transform:none}
}
/* Review v3: full visible-pass pacing. Native scroll remains the only timeline. */
@media(min-width:761px){.product-scene{min-height:760px}}
@media(prefers-reduced-motion:no-preference){
 .product-scene{--travel:clamp(-1,calc((var(--sc-p,.5) - .5)*2),1)}
}
