/* Golden Vault Studio — motion walkthrough */
.gvt{--g:#d8b46a;--hi:#f6e3a8;position:relative;border:1px solid rgba(216,180,106,.3);border-radius:20px;background:radial-gradient(500px 240px at 50% 20%,rgba(216,180,106,.12),transparent 70%),#0a0806;overflow:hidden}
.gvt-stage{position:relative;aspect-ratio:16/10;max-height:380px;width:100%}
.gvt-scene{position:absolute;inset:0;display:grid;grid-template-rows:1fr auto;opacity:0;transition:opacity .5s;pointer-events:none}
.gvt-scene.on{opacity:1;pointer-events:auto}
.gvt-art{display:grid;place-items:center;padding:14px 14px 0;min-height:0}.gvt-art svg{width:100%;height:100%;max-height:260px}
.gvt-cap{display:flex;gap:14px;align-items:center;padding:12px 20px 16px}
.gvt-n{flex:none;width:34px;height:34px;border-radius:50%;border:1px solid var(--g);display:grid;place-items:center;font:900 18px "Big Shoulders Display",Impact,sans-serif;color:var(--hi)}
.gvt-cap b{display:block;font:900 22px/1 "Big Shoulders Display",Impact,sans-serif;text-transform:uppercase;letter-spacing:.04em;color:var(--hi)}
.gvt-cap span{font-size:14px;color:#cbbfa6}
.gvt-scene.on .gvt-cap{animation:gvtUp .6s .1s both}
@keyframes gvtUp{from{opacity:0;transform:translateY(12px)}}
.gvt-nav{position:absolute;top:12px;right:12px;display:flex;gap:6px;align-items:center}
.gvt-nav button{border:0;background:none;padding:6px 2px;cursor:pointer}.gvt-nav button i{display:block;width:22px;height:3px;border-radius:2px;background:rgba(216,180,106,.25);overflow:hidden;position:relative}
.gvt-nav button.seen i{background:rgba(216,180,106,.7)}
.gvt-nav button.on i::after{content:"";position:absolute;inset:0;background:var(--hi);transform-origin:left;animation:gvtFill 4.2s linear both}
.gvt.paused .gvt-nav button.on i::after{animation:none;transform:none}
@keyframes gvtFill{from{transform:scaleX(0)}}
.gvt-pp{color:var(--hi);font-size:11px;margin-left:6px}
/* art */
.gvt svg .ph{fill:#15100a;stroke:rgba(216,180,106,.6);stroke-width:1.5}.gvt svg .scr{fill:#0a0806;stroke:rgba(216,180,106,.15)}
.gvt svg .em{fill:none;stroke:var(--g);stroke-width:2}
.gvt svg .fld{fill:none;stroke:rgba(216,180,106,.35)}.gvt svg .typ{fill:#efe6d2;transform-box:fill-box;transform-origin:left;transform:scaleX(0)}
.gvt-scene.on .typ.t1{animation:gvtType .6s .3s forwards}.gvt-scene.on .typ.t2{animation:gvtType .7s 1s forwards}.gvt-scene.on .typ.t3{animation:gvtType .6s 1.8s forwards}
@keyframes gvtType{to{transform:scaleX(1)}}
.gvt svg .btn{fill:rgba(216,180,106,.25)}.gvt-scene.on .btn.b1{animation:gvtBtn .5s 2.6s forwards}
@keyframes gvtBtn{50%{fill:#f6e3a8}to{fill:#d8b46a}}
.gvt svg .paper{fill:#f7f0de}.gvt svg .txt{fill:#cdbf9f}.gvt svg .sline{stroke:#b8a37a}
.gvt svg .sig{fill:none;stroke:#14100a;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:300;stroke-dashoffset:300}
.gvt-scene.on .sig{animation:gvtDraw 2s .4s ease-in-out forwards}@keyframes gvtDraw{to{stroke-dashoffset:0}}
.gvt svg .pen{fill:var(--g);opacity:0}.gvt-scene.on .pen{animation:gvtPen 2.4s .4s forwards}@keyframes gvtPen{0%{opacity:0;transform:translate(-136px,14px)}10%{opacity:1}90%{opacity:1}to{opacity:1;transform:none}}
.gvt svg .card rect:first-child{fill:#15100a;stroke:rgba(216,180,106,.4)}.gvt svg .card .ln{fill:rgba(239,230,210,.25)}
.gvt svg .card text{fill:var(--hi);font:900 18px "Big Shoulders Display",Impact,sans-serif;text-anchor:middle}
.gvt svg .chk{fill:var(--g);transform-box:fill-box;transform-origin:center;transform:scale(0)}.gvt svg .tick{fill:none;stroke:#050403;stroke-width:2.2;stroke-linecap:round;stroke-dasharray:14;stroke-dashoffset:14}
.gvt-scene.on .c2 .chk{animation:gvtPop .4s 1s forwards}.gvt-scene.on .c2 .tick{animation:gvtDraw .3s 1.3s forwards}
.gvt-scene.on .c4 .chk{animation:gvtPop .4s 2s forwards}.gvt-scene.on .c4 .tick{animation:gvtDraw .3s 2.3s forwards}
.gvt-scene.on .c2 rect:first-child{animation:gvtSel .4s 1s forwards}.gvt-scene.on .c4 rect:first-child{animation:gvtSel .4s 2s forwards}
@keyframes gvtPop{to{transform:scale(1)}}@keyframes gvtSel{to{stroke:#f6e3a8;stroke-width:2;fill:#241a0c}}
.gvt-scene.on .card{animation:gvtUp .5s both}.gvt-scene.on .c1{animation-delay:.08s}.gvt-scene.on .c2{animation-delay:.16s}.gvt-scene.on .c3{animation-delay:.24s}.gvt-scene.on .c4{animation-delay:.32s}
.gvt svg .cap,.gvt svg .ok,.gvt svg .tm{fill:var(--g);font:500 10px "JetBrains Mono",monospace;letter-spacing:.2em;text-anchor:middle}
.gvt svg .roll .ln{fill:rgba(239,230,210,.28)}.gvt svg .roll .hl{fill:#fff3c4}
.gvt-scene.on .roll{animation:gvtRoll 4s linear forwards}@keyframes gvtRoll{to{transform:translateY(-70px)}}
.gvt svg .guide{stroke:var(--g);stroke-dasharray:4 4;opacity:.7}
.gvt svg .rec{fill:#ff5a45}.gvt-scene.on .rec{animation:gvtBlink 1s steps(2) infinite}@keyframes gvtBlink{50%{opacity:.2}}
.gvt svg .tm{text-anchor:start;fill:#efe6d2;letter-spacing:.05em;font-size:11px}
.gvt svg .door{fill:#15100a;stroke:var(--g);stroke-width:3}.gvt svg .ring{fill:none;stroke:rgba(216,180,106,.45);stroke-width:2;stroke-dasharray:6 5}
.gvt svg .dial{stroke:var(--hi);stroke-width:3;stroke-linecap:round;fill:#b8862e;transform-origin:160px 88px}
.gvt-scene.on .dial{animation:gvtSpin 2.6s cubic-bezier(.6,0,.3,1) forwards}@keyframes gvtSpin{to{transform:rotate(540deg)}}
.gvt svg .pb{fill:rgba(255,255,255,.08)}.gvt svg .pf{fill:var(--g);transform-box:fill-box;transform-origin:left;transform:scaleX(0)}
.gvt-scene.on .pf{animation:gvtType 2.4s .2s ease-out forwards}
.gvt svg .ok{opacity:0}.gvt-scene.on .ok{animation:gvtFade .5s 2.8s forwards}@keyframes gvtFade{to{opacity:1}}
.gvt-scene.on .door{animation:gvtGlow .8s 2.7s forwards}@keyframes gvtGlow{to{stroke:#f6e3a8;filter:drop-shadow(0 0 10px rgba(246,227,168,.6))}}
.gvt.reduce *{animation-duration:.01s!important;animation-delay:0s!important}
@media(max-width:600px){.gvt-cap b{font-size:18px}.gvt-cap span{font-size:13px}.gvt-nav{top:8px;right:8px}}
