.studio-controls{display:flex;flex-wrap:wrap;gap:24px 50px;border-block:1px solid var(--line);padding:25px 0;margin-bottom:45px}.studio-controls fieldset{border:0;padding:0;margin:0}.studio-controls legend{font-size:11px;font-weight:700;margin-bottom:14px}.swatches{display:flex;gap:8px}.swatches button{border:1px solid var(--line);background:transparent;color:var(--ink);padding:10px 17px;border-radius:4px;min-height:44px}.swatches button[aria-pressed=true]{background:var(--ink);color:var(--bg)}.studio-controls label{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-right:18px;font-size:14px;cursor:pointer}.studio-controls input{accent-color:#385c42;width:18px;height:18px}.studio-status{flex-basis:100%;font-size:12px;color:var(--muted)}.products{--sample:#d5e4c7;--sample-ink:#172a27}.products[data-color=ink]{--sample:#183d32;--sample-ink:#f4f5ef}.products[data-color=clay]{--sample:#e0b6a3;--sample-ink:#34251e}.product-scene{height:470px;position:relative;display:grid;place-items:center;background:#f2f2f2;border-radius:5px;overflow:hidden;perspective:1100px;color:#172a27}.scene-number{position:absolute;left:22px;top:12px;font-size:70px;font-weight:700;letter-spacing:-6px;opacity:.12}.scene-caption{position:absolute;bottom:18px;left:10px;right:10px;text-align:center;font-size:11px}.product-float{width:90%;height:85%;transform-style:preserve-3d}.product-object{width:100%;height:100%;position:relative;display:block;border:0;background:none;color:var(--sample-ink);padding:0;transform-style:preserve-3d}.original-preview{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;transition:opacity .25s}.model-face{position:absolute;left:50%;top:50%;width:210px;height:320px;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;background:var(--sample);border-radius:12px;border:1px solid #172a2730;box-shadow:3px 5px 0 #9da798,10px 22px 26px #172a2726;padding:22px;opacity:0;transition:opacity .25s,background-color .25s,color .25s;pointer-events:none}.model-back{display:none}.product-object[aria-pressed=true] .original-preview{opacity:0}.product-object[aria-pressed=true] .model-front{opacity:1}.sample-logo{display:flex;align-items:center;gap:7px;font-size:9px;font-weight:700}.sample-logo img{width:32px;height:32px;border-radius:4px;background:white}.model-title{font-size:23px;line-height:1.1;letter-spacing:-1px;font-weight:700;text-align:center}.model-nfc{font-size:11px}.sample-qr{width:70px;height:70px;border-radius:2px}.model-foot{font-size:9px;font-weight:700}.object-sticker .model-face{width:245px;height:245px;border-radius:50%;gap:7px;padding:25px}.object-sticker .model-title{font-size:20px}.object-sticker .sample-qr{width:54px;height:54px}.object-keychain .model-face{width:170px;height:240px;top:61%;border-radius:48% 48% 43% 43%;gap:7px;padding:28px 18px 15px}.object-keychain .model-face:before{content:'';position:absolute;width:67px;height:67px;border:7px solid #abb1ad;box-shadow:inset 1px 2px 2px #fff,1px 1px 2px #53635a;border-radius:50%;top:-108px;left:calc(50% - 40px)}.object-keychain .model-face:after{content:'';position:absolute;width:10px;height:42px;border:4px solid #a4aba5;border-radius:10px;top:-35px;left:calc(50% - 9px)}.object-keychain .model-title{font-size:17px}.object-keychain .sample-logo{font-size:7px}.object-keychain .sample-logo img{width:24px;height:24px}.object-keychain .sample-qr{width:50px;height:50px}.object-display .model-face{height:290px;width:215px;transform:translate(-50%,-50%) rotate(-6deg);border-radius:12px 12px 4px 4px}.object-display .model-face:after{content:'';position:absolute;bottom:-22px;left:-22px;width:235px;height:24px;background:var(--sample);transform:skewX(-35deg);border:1px solid #839580;box-shadow:0 12px 12px #172a2720;z-index:-1}.products.hide-logo .sample-logo,.products.hide-qr .sample-qr{display:none}.collection-end{margin-top:140px;display:flex;gap:35px;justify-content:space-between;align-items:center}.collection-end p{max-width:600px;font-size:12px;color:var(--muted)}.collection-end .button{flex-shrink:0}.photo-intro{padding-top:170px}.photo-intro h1{font-size:clamp(55px,8vw,110px);line-height:1.02;letter-spacing:-.065em;margin:25px 0}.photo-intro>p:not(.eyebrow){max-width:630px;color:var(--muted)}.photo-intro .text-link{margin-top:20px}.photo-page .collection{padding-top:65px}.photo-page .section-intro{display:none}.photo-page .main-nav a:first-child{display:none}.hero-original{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#f2f2f2;border-radius:18px}.review-object .card-front{padding:0;background:#f2f2f2}.review-object .card-front:after{display:none}
@media(max-width:900px){.product-scene{height:390px}.model-face{scale:.85}.collection-end{flex-direction:column;align-items:flex-start}.collection-end .button{font-size:12px}.photo-intro{padding-top:130px}}
@media(max-width:550px){.product-scene{height:400px}.studio-controls{gap:20px}.collection-end{margin-top:45px}.photo-intro h1{font-size:55px}.model-face{scale:1}.product-float{width:95%}.collection-end .button{white-space:normal;max-width:100%}.studio-controls label{margin-right:10px}}
@media(prefers-reduced-motion:reduce){.model-face,.original-preview{transition:none}}

.product-object>*,.review-object>*{pointer-events:none;user-select:none}.product-object .original-preview{transform:none}.product-object{touch-action:manipulation}

.scene-sticker .original-preview,.scene-card .original-preview,.scene-display .original-preview{inset:-15%;width:130%;height:130%;max-width:none}.photo-page .section-intro{display:block}.photo-page .section-intro h2{font-size:38px}.photo-page .section-intro>p{display:none}

/* Crop the photographed right-hand card with CSS; keep the source pixels unchanged. */
.card-rig{width:clamp(170px,19vw,290px);aspect-ratio:155 / 300;top:22%;left:68%}.review-object .card-front{clip-path:polygon(4% 2%,93% 8%,96% 93%,4% 99%);border:0;border-radius:0;box-shadow:none;overflow:hidden;background:transparent}.hero-original{width:580.645%;height:200%;max-width:none;left:-329.032%;top:-65%;object-fit:fill;border-radius:0}.card-rig .ghost-card{display:none}.card-rig .object-caption{top:calc(100% + 30px)}.card-rig .card-back{padding:12%;border-radius:8px}.card-rig .card-title{font-size:clamp(20px,2.1vw,30px)}.card-rig .card-top,.card-rig .card-bottom{font-size:11px}
@media(max-width:900px){.card-rig{width:150px;top:55%;left:calc(50% - 75px)}.card-rig .card-title{font-size:21px}.card-rig .card-top,.card-rig .card-bottom{font-size:9px}.card-rig .object-caption{top:calc(100% + 18px);width:230px;left:-40px}.motion-off .card-rig{left:auto;top:auto}}

.original-shell{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:245px;height:300px;overflow:hidden;mix-blend-mode:multiply;transition:opacity .25s;pointer-events:none}.product-object[aria-pressed=true] .original-shell{opacity:0}.product-object .original-preview{opacity:1!important;position:absolute;max-width:none;object-fit:fill;pointer-events:none}.scene-card .original-shell{width:155px;height:300px;clip-path:polygon(4% 2%,93% 8%,96% 93%,4% 99%)}.scene-card .original-preview{width:580.645%;height:200%;left:-329.032%;top:-65%}.scene-sticker .original-shell{width:210px;height:239px;clip-path:ellipse(46% 47% at 50% 50%)}.scene-sticker .original-preview{width:529.412%;height:315.789%;left:-179.412%;top:-70%}.scene-display .original-shell{width:260px;height:303px}.scene-display .original-preview{width:300%;height:171.429%;left:-103.333%;top:-31.429%}.scene-keychain .original-shell{width:230px;height:345px}.scene-keychain .original-preview{width:173.913%;height:115.942%;left:-40%;top:0}.product:hover .original-preview{transform:none}
@media(max-width:550px){.scene-sticker .original-shell{width:200px;height:227px}.scene-display .original-shell{width:240px;height:280px}}

.scene-keychain{background:#fff}.scene-keychain .original-shell{height:370px}.scene-keychain .original-preview{height:108.108%}

/* Scroll choreography: exact product photo cutouts move behind the story. */
.stage-prop{position:absolute;z-index:0;width:260px;height:370px;pointer-events:none;opacity:.28;transform-style:preserve-3d}.stage-prop .original-preview{position:absolute;max-width:none;object-fit:fill}.stage-prop .original-shell{mix-blend-mode:multiply}.prop-sticker{left:-8%;top:66%;transform:rotate(-20deg)}.prop-keychain{right:-8%;top:-18%;transform:rotate(25deg)}.prop-display{right:-9%;top:73%;transform:rotate(-15deg)}.motion-off .stage-prop{display:none}
@media(min-width:901px) and (max-height:700px){.stage{min-height:570px;height:100svh}.stage-copy{top:23%}.stage-copy h1,.stage-copy h2{font-size:clamp(48px,6vw,80px);margin:14px 0 18px}.stage-copy>p:not(.eyebrow){font-size:15px;margin-bottom:16px}.card-rig{top:20%;width:clamp(150px,15vw,200px)}.stage-bottom{bottom:15px}}
@media(max-width:900px){.stage-prop{scale:.55}.prop-sticker{left:-37%;top:58%}.prop-keychain{right:-38%;top:25%}.prop-display{right:-38%;top:76%}}
@media(max-width:900px) and (max-height:650px){.stage{height:650px;min-height:650px}.stage-copy{top:98px}.stage-copy h1,.stage-copy h2{font-size:36px}.card-rig{top:52%;width:125px;left:calc(50% - 62.5px)}.stage-copy>p:not(.eyebrow){font-size:13px;max-width:320px}}

.stage-prop{mix-blend-mode:multiply}:root[data-theme=dark] .stage-prop{mix-blend-mode:screen;opacity:.12}

