.cert{--m: 1;position:relative;width:100%;aspect-ratio:880 / 568;box-shadow:0 30px 80px #0009}.cert-svg{display:block;width:100%;height:100%}.cert-paper{fill:var(--maroon)}.cert-frame{fill:none;stroke:var(--gold);vector-effect:non-scaling-stroke}.cert-frame-outer{stroke-width:1.5px}.cert-frame-inner{stroke-width:.75px}.cert-frame-edge{stroke-width:.75px;stroke-opacity:.6}.cert-guilloche{fill:none;stroke:var(--gold);stroke-opacity:.35;stroke-width:.75px}.cert-near{fill:var(--gold)}.cert-seal-near{fill:var(--maroon)}.cert-seal-ring{fill:none;stroke:var(--maroon);stroke-width:.75px;stroke-opacity:.7}.cert-seal-text{fill:var(--maroon);font:600 8.5px var(--font-mono);letter-spacing:.08em}.cert-moi{fill:var(--gold);font-family:var(--font-display);font-size:38px;font-weight:900;letter-spacing:.3em}.cert-mono{fill:var(--ink-muted);font-family:var(--font-mono);letter-spacing:.22em}.cert-mono-10{font-size:calc(10px * var(--m));letter-spacing:.12em}.cert-mono-11{font-size:calc(11px * var(--m))}.cert-mono-12{font-size:calc(12px * var(--m))}.cert-mono-13{font-size:calc(13px * var(--m))}.cert-figure{fill:var(--ink);font-family:var(--font-display);font-size:56px;font-weight:900}.cert-hand{fill:none;stroke:var(--gold);stroke-width:calc(2.3px * var(--m));stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:calc(var(--hand-len, 1000) * 1px) calc(var(--hand-len, 1000) * 2px);stroke-dashoffset:calc(var(--hand-len, 1000) * 1px * (1 - var(--hand, clamp(0, (var(--p) - .62) * 5, 1))))}.cert-sheen{--sheen: -40%;position:absolute;inset:0;background:linear-gradient(35deg,transparent calc(var(--sheen) - 15%),rgba(255,255,255,.12) var(--sheen),transparent calc(var(--sheen) + 15%));opacity:clamp(0,(var(--hand, var(--p)) - .85) * 20,1);pointer-events:none}.skeleton-svg{fill:#f6efe629;animation:skeleton-pulse 1.4s ease-in-out infinite}@keyframes skeleton-pulse{0%,to{opacity:.45}50%{opacity:1}}@media(max-width:767px){.cert{--m: 1.4}}.cert-swap{animation:cert-swap-in .52s cubic-bezier(.2,.7,.2,1) both}@keyframes cert-swap-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.skeleton-svg,.cert-swap{animation:none}}
