#imprint .fp-scroll { overflow:clip; background:var(--ink-deep); }
.imprint-layout { position:relative; height:100%; padding:0; }
.imprint-stage { position:relative; width:100%; height:100%; min-height:0; }
#imprint .imprint-layout { margin:0; padding:0!important; max-width:none; width:100%; height:100%; }
#imprint .imprint-stage { position:absolute; inset:0; width:100%; height:100%; }
.imprint-copy { position:absolute; left:5vw; bottom:5vh; width:min(35vw,430px); opacity:0; transform:translateY(10px); transition:opacity 650ms ease,transform 850ms cubic-bezier(.2,.7,.2,1); }
.imprint-meta { color:#e8d9b899; font:10px/1.5 var(--sans); letter-spacing:.18em; text-transform:uppercase; margin-bottom:9px; }
.imprint-copy h2 { color:#f4eee2; font:400 clamp(22px,2.1vw,32px)/1.25 var(--sans); letter-spacing:-.025em; margin:0 0 9px; }
.imprint-copy p { color:#e4e3d2b3; font:400 12px/1.65 var(--sans); max-width:38ch; margin:0; }
#imprint[data-imprint-state="ready"] .imprint-copy { opacity:1; transform:none; transition-delay:600ms; }
#imprint[data-imprint-state="animating"] .imprint-copy { transition:none; }
.imprint-object { position:absolute; overflow:hidden; }
.imprint-piece { position:absolute; overflow:hidden; background:transparent; border-radius:10% / 7%; }
.imprint-piece img { position:absolute; display:block; max-width:none; max-height:none; user-select:none; }
.imprint-actions { position:absolute; bottom:4vh; right:5vw; display:flex; justify-content:center; gap:24px; }
.imprint-actions :is(a,button) { color:#e8d9b8; background:none; border:0; padding:10px 0; font:11px/1.4 var(--sans); letter-spacing:.08em; cursor:pointer; text-decoration:none; }
.imprint-actions :is(a,button):hover { color:white; }
.imprint-actions { z-index:4; }
.imprint-copy { z-index:4; pointer-events:auto; }
.imprint-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.imprint-transition { position:fixed; z-index:40; overflow:hidden; pointer-events:none; background:var(--ink-deep); isolation:isolate; }
.imprint-transition .atelier-echo { position:absolute; inset:0; width:100%; height:100%; transform:none; pointer-events:none; z-index:0; }
.imprint-transition .atelier-echo .fp-scroll { width:100%; height:100%; overflow:clip; }
.imprint-transition .atelier-echo * { transition:none!important; animation:none!important; }
.imprint-wash { position:absolute; inset:0; background:var(--ink-deep); z-index:1; }
.imprint-transition > .imprint-object { z-index:2; }
.imprint-flat { position:absolute; z-index:3; }
.imprint-flat-piece { position:absolute; overflow:hidden; }
.imprint-flat-piece img { position:absolute; display:block; max-width:none; max-height:none; }
.imprint-transition .imprint-piece { box-shadow:none; }
.imprint-shell .imprint-piece { background:linear-gradient(115deg,#fffdf5 0%,#eee6d4 78%,#c9c0ab 100%); box-shadow:inset 0 0 0 5px #fffcf1aa,inset -8px -6px 12px #958b7040; }
.imprint-frame { position:absolute; inset:0; border:3px double #d7b16b; box-shadow:inset 0 0 0 7px #e6cb8f55; pointer-events:none; }
#imprint[data-imprint-state="animating"] .imprint-stage { visibility:hidden; }
.imprint-scene { position:absolute; inset:0; pointer-events:none; transform-style:preserve-3d; }
.imprint-model-canvas { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.imprint-zoom-target { position:absolute; z-index:3; cursor:zoom-in; left:max(88px,10%); right:max(18px,10%); top:44px; bottom:18%; }
.imprint-zoom-model { position:absolute; }
#imprint[data-imprint-state="animating"] .imprint-zoom-target { visibility:hidden; }
.imprint-model-transition > .imprint-model-canvas { z-index:2; }
.imprint-model-transition { isolation:isolate; }
.imprint-model-control { position:absolute; z-index:2; cursor:grab; touch-action:none; user-select:none; border-radius:20px; outline:none; }
.imprint-model-control:focus-visible { outline:1px solid #e4d5ac88; outline-offset:4px; }
.imprint-model-control.is-dragging { cursor:grabbing; }
.imprint-view-rail { position:absolute; left:22px; top:42%; transform:translateY(-50%); z-index:5; display:flex; flex-direction:column; gap:10px; }
.imprint-view-rail button { color:#e5dcc7; border:1px solid #d4c6a53b; background:#0b2923e6; border-radius:8px; padding:12px 16px; cursor:pointer; font:12px/1.4 var(--sans); }
.imprint-view-rail button:hover,.imprint-view-rail button[aria-pressed="true"] { background:#efe3c9; color:#173d30; }
.imprint-view-rail button:focus-visible { outline:2px solid #efe3c9; outline-offset:3px; }
.imprint-model-hint { position:absolute; top:18px; left:0; right:0; text-align:center; pointer-events:none; color:#d4dac4a3; font:10px/1.5 var(--sans); letter-spacing:.08em; }
#imprint[data-imprint-state="animating"] :is(.imprint-model-control,.imprint-model-hint,.imprint-view-rail) { visibility:hidden; }
.imprint-transition > .imprint-scene { z-index:2; }
.imprint-tile { position:absolute; border-radius:24px; background:#fff; box-shadow:inset -3px -4px 6px #0000000d,0 14px 30px #0002; }
.imprint-depth { position:absolute; border-radius:24px; pointer-events:none; box-shadow:inset 0 0 1px #0002; }
.imprint-replacement { position:absolute; z-index:2; overflow:hidden; }
.imprint-art-window { position:absolute; overflow:hidden; }
.imprint-season-frame { position:absolute; z-index:3; box-sizing:border-box; border-style:solid; border-color:transparent; border-image-source:url('./images/extracted-artwork/seasons-gold-frame-v1.png'); border-image-slice:14%; border-image-repeat:stretch; pointer-events:none; }
.imprint-art { position:absolute; display:block; max-width:none; max-height:none; object-fit:contain; object-position:center; }
.imprint-mark { position:absolute; z-index:3; background:#164f40; mask-image:url('./images/atelier-emblem-white-v2.png'); mask-mode:luminance; mask-size:contain; mask-position:center; mask-repeat:no-repeat; }
@media(max-width:760px) {
  .imprint-zoom-target { left:64px; right:18px; top:40px; bottom:20%; }
  .imprint-view-rail { left:10px; gap:8px; top:37%; }
  .imprint-view-rail button { padding:10px 9px; font-size:11px; }
  .imprint-copy { left:22px; bottom:70px; width:calc(100% - 44px); }
  .imprint-actions { bottom:14px; right:22px; left:22px; flex-direction:row; gap:14px; flex-wrap:wrap; }
  .imprint-actions :is(a,button) { font-size:9px; padding:8px 0; }
  .imprint-copy h2 { font-size:22px; margin-bottom:7px; }
  .imprint-copy p { font-size:11px; line-height:1.7; }
}
@media(prefers-reduced-motion:reduce) { .imprint-copy { transform:none; transition:none!important; } }
