/* Proof in Motion — 3D verification trifecta */
.proof{padding:92px 0 44px;}
.proof-stage{position:relative;perspective:1600px;height:clamp(430px,74vw,520px);max-width:600px;margin:0 auto 6px;transform-style:preserve-3d;}
.proof-glow{position:absolute;left:50%;top:50%;width:min(72%,330px);aspect-ratio:1;transform:translate(-50%,-50%);background:radial-gradient(circle at 50% 42%,rgba(150,178,214,0.18),rgba(0,255,200,0.055) 42%,transparent 68%);filter:blur(22px);z-index:0;animation:proofPulse 5.5s ease-in-out infinite alternate;pointer-events:none;}
@keyframes proofPulse{0%{opacity:.5;transform:translate(-50%,-50%) scale(.92);}100%{opacity:1;transform:translate(-50%,-50%) scale(1.06);}}
.proof-frame{position:absolute;left:50%;top:50%;width:clamp(206px,56vw,256px);margin:0;transform:translate(-50%,-50%);transform-origin:center;will-change:transform,opacity;transition:transform 950ms cubic-bezier(.16,1,.3,1),opacity 720ms ease;box-shadow:0 26px 54px rgba(0,0,0,.55);border-radius:24px;}
.proof-frame img{width:100%;height:auto;display:block;border-radius:24px;}
.proof-frame::after{content:'';position:absolute;inset:0;border-radius:24px;pointer-events:none;background:linear-gradient(to top,rgba(3,4,6,0.62) 0%,rgba(3,4,6,0.14) 20%,transparent 44%);}
.proof-frame::before{content:'';position:absolute;inset:0;border-radius:24px;pointer-events:none;background:linear-gradient(152deg,rgba(255,255,255,0.16) 0%,rgba(255,255,255,0) 32%);opacity:0;mix-blend-mode:screen;transition:opacity 720ms ease;z-index:2;}
.proof-frame.is-active{cursor:pointer;box-shadow:0 46px 96px rgba(0,0,0,.7),0 0 52px rgba(150,178,214,.2),0 0 0 1px rgba(185,191,198,.32),0 0 0 4px rgba(0,255,200,.06);}
.proof-frame.is-active::before{opacity:1;}
.proof-floor{position:absolute;left:50%;bottom:5%;width:min(56%,232px);height:38px;transform:translateX(-50%);background:radial-gradient(ellipse at center,rgba(0,0,0,0.62),transparent 72%);filter:blur(11px);z-index:0;pointer-events:none;}
.proof-rail{max-width:560px;margin:0 auto;}
.proof-track{position:relative;height:1px;background:var(--border-default);margin:0 auto 22px;max-width:76%;}
.proof-progress{position:absolute;left:0;top:0;height:1px;width:0;background:linear-gradient(90deg,var(--champagne-500),var(--accent-mint));box-shadow:0 0 10px rgba(0,255,200,.5);transition:width 900ms cubic-bezier(.16,1,.3,1);}
.proof-steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0;padding:0;}
.proof-step{display:flex;flex-direction:column;align-items:center;text-align:center;gap:3px;cursor:pointer;padding:7px 4px;border-radius:6px;transition:background var(--transition);}
.proof-step:hover{background:rgba(185,191,198,.045);}
.proof-step-idx{font-family:var(--font-mono);font-size:10px;letter-spacing:0.2em;color:var(--steel-500);transition:color var(--transition);}
.proof-step-label{font-size:14px;font-weight:600;letter-spacing:0.02em;color:var(--steel-400);transition:color var(--transition);}
.proof-step-sub{font-family:var(--font-mono);font-size:9px;letter-spacing:0.12em;text-transform:uppercase;color:var(--steel-500);}
.proof-step.is-done .proof-step-idx{color:var(--champagne-500);}
.proof-step.is-active .proof-step-idx{color:var(--accent-mint);}
.proof-step.is-active .proof-step-label{color:var(--metal-100);text-shadow:0 0 16px rgba(0,255,200,.3);}
@media (prefers-reduced-motion:reduce){.proof-glow{animation:none;}.proof-frame{transition:opacity 300ms ease;}}

/* NFT × NFC lead-in */
.nfx{display:flex;flex-direction:column;align-items:center;gap:14px;margin-bottom:44px;}
.nfx-badge{display:inline-flex;align-items:baseline;gap:18px;font-family:var(--font-sans);font-weight:700;font-size:clamp(30px,5.4vw,52px);letter-spacing:0.02em;line-height:1;color:var(--metal-100);}
.nfx-badge .nfx-term{text-shadow:0 0 22px rgba(241,239,230,0.12);}
.nfx-badge .nfx-x{font-weight:300;font-size:0.82em;color:var(--accent-coral);text-shadow:0 0 22px rgba(255,111,97,0.55),0 0 4px rgba(255,111,97,0.4);}
.nfx-rule{width:clamp(120px,26vw,220px);height:1px;background:linear-gradient(90deg,transparent,var(--accent-coral) 30%,var(--accent-mint) 70%,transparent);opacity:0.75;}
.nfx-sub{font-family:var(--font-mono);font-size:11px;letter-spacing:0.28em;text-transform:uppercase;color:var(--steel-400);}
.nfx-sub b{color:var(--accent-coral);font-weight:500;}
