/* NSL Keys Locksmith card BACK: same landscape size/rotation as .nsl-front. Scoped under .nsl-back. */
.nsl-back{--nsl-brass:#cda865;--nsl-ink:#f1e9d6;--nsl-muted:#a8a08f;--nsl-card:#151412;--nsl-stage:#efe6d2;--nsl-olive:#4f5a3b;
  --nsl-display:"Zilla Slab",Rockwell,"Roboto Slab",Georgia,serif;
  --nsl-mono:"JetBrains Mono",ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
  --w:min(760px,calc(100vw - 32px),calc((100svh - 32px) * 1.72));
  position:relative;box-sizing:border-box;width:var(--w);aspect-ratio:1.72;container-type:inline-size;overflow:hidden;
  display:flex;flex-direction:column;background:var(--nsl-card);color:var(--nsl-ink);border-radius:clamp(18px,3.4cqw,30px);
  box-shadow:0 1px 0 rgba(255,255,255,.06) inset,0 18px 40px -18px rgba(0,0,0,.55);font-family:var(--nsl-display)}
.nsl-back *{box-sizing:border-box}
.nsl-back::before{content:"";position:absolute;inset:0 0 auto;height:max(.55cqw,4px);background:var(--nsl-brass)}
.nsl-b-head{display:flex;align-items:center;justify-content:space-between;padding:2.2cqw 3cqw 1.2cqw}
.nsl-b-brand{display:flex;align-items:center;gap:1.6cqw}
.nsl-b-logo{display:block;width:8.4cqw;height:auto;border-radius:50%;box-shadow:0 0 0 .3cqw rgba(205,168,101,.6)}
.nsl-b-org{margin:0;font:700 max(3cqw,14px)/1 var(--nsl-display);letter-spacing:.02em}
.nsl-b-org span{display:block;margin-top:.5cqw;font:500 max(1.6cqw,9.5px)/1 var(--nsl-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--nsl-muted)}
.nsl-b-branch{margin:0;font:italic 700 max(3.2cqw,15px)/1 var(--nsl-display);letter-spacing:.06em;text-transform:uppercase;color:var(--nsl-brass)}
.nsl-b-stagewrap{flex:1;min-height:0;margin:0 2.4cqw;border-radius:max(2cqw,12px);overflow:hidden;background:var(--nsl-stage);display:flex}
.nsl-b-stage{display:block;width:100%;height:100%}
.nsl-b-case{fill:#1d1b17}
.nsl-b-case-rim{fill:none;stroke:var(--nsl-brass);stroke-opacity:.55;stroke-width:2}
.nsl-b-key-shape{color:#b8913f}
.nsl-b-count{font:500 22px/1 var(--nsl-mono);letter-spacing:.18em;fill:#8a7a58}
.nsl-b-name{font:700 50px/1 var(--nsl-display);fill:#1a1814}
.nsl-b-detail{font:500 26px/1 var(--nsl-display);fill:#5f584a}
.nsl-b-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:1.2cqw 3cqw 1.9cqw}
.nsl-b-dots{display:flex;gap:max(1cqw,6px);margin:0;padding:0;list-style:none}
.nsl-b-dots li{width:max(1cqw,6px);height:max(1cqw,6px);border-radius:50%;background:#4a463d;transition:width .3s,background .3s}
.nsl-b-dots li.is-on{width:max(2.6cqw,15px);border-radius:4px;background:var(--nsl-brass)}
.nsl-b-area{margin:0;font:500 max(1.7cqw,10px)/1 var(--nsl-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--nsl-muted)}
.nsl-b-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:max(5.6cqw,32px);height:max(5.6cqw,32px);padding:0 1cqw 0 1.8cqw;border-radius:99px;
  border:1.5px solid #3e3a31;background:transparent;color:var(--nsl-ink);font:600 max(1.9cqw,12px) var(--nsl-display);cursor:pointer}
.nsl-b-btn[hidden]{display:none}
.nsl-b-btn svg{width:max(2.4cqw,14px);height:max(2.4cqw,14px);fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.nsl-b-btn:focus-visible{outline:3px solid var(--nsl-brass);outline-offset:2px}
.nsl-b-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.nsl-back .nsl-b-keymove,.nsl-back .nsl-b-keyturn,.nsl-back .nsl-b-textmove{transform-box:view-box;transform-origin:0 0}
.nsl-back .nsl-b-textgrp{animation:nsl-b-text 7.5s infinite both}
.nsl-back .nsl-b-textmove{animation:nsl-b-textmove 7.5s infinite both}
.nsl-back .nsl-b-keymove{animation:nsl-b-keymove 7.5s infinite both}
.nsl-back .nsl-b-keyturn{animation:nsl-b-keyturn 7.5s infinite both}
.nsl-back .nsl-b-glint{animation:nsl-b-glint 7.5s infinite both}
.nsl-back .nsl-b-reveal{animation:nsl-b-reveal 7.5s infinite both}
.nsl-back.is-paused *{animation-play-state:paused!important}
@keyframes nsl-b-keymove{0.000%{transform:translateX(-420px);}4.000%{transform:translateX(-420px);animation-timing-function:cubic-bezier(.2,.7,.4,1);}17.333%{transform:translateX(0px);}80.000%{transform:translateX(0px);animation-timing-function:cubic-bezier(.6,0,.8,.4);}90.667%{transform:translateX(-420px);}100.000%{transform:translateX(-420px);}}@keyframes nsl-b-keyturn{0.000%{transform:rotate(-24deg);}18.000%{transform:rotate(-24deg);animation-timing-function:cubic-bezier(.5,0,.3,1.5);}24.667%{transform:rotate(0deg);}78.667%{transform:rotate(0deg);animation-timing-function:cubic-bezier(.2,.7,.4,1);}82.667%{transform:rotate(-24deg);}100.000%{transform:rotate(-24deg);}}@keyframes nsl-b-glint{0.000%{opacity:0;}24.000%{opacity:0;animation-timing-function:cubic-bezier(.2,.7,.4,1);}26.667%{opacity:1;}33.333%{opacity:0;}100.000%{opacity:0;}}@keyframes nsl-b-reveal{0.000%{clip-path:inset(100% 0 0 0 round 12px);}24.000%{clip-path:inset(100% 0 0 0 round 12px);animation-timing-function:cubic-bezier(.2,.7,.4,1);}34.667%{clip-path:inset(0 0 0 0 round 12px);}80.000%{clip-path:inset(0 0 0 0 round 12px);animation-timing-function:cubic-bezier(.6,0,.8,.4);}88.000%{clip-path:inset(0 0 100% 0 round 12px);}100.000%{clip-path:inset(0 0 100% 0 round 12px);}}@keyframes nsl-b-text{0.000%{opacity:0;}28.000%{opacity:0;animation-timing-function:cubic-bezier(.2,.7,.4,1);}36.000%{opacity:1;}78.667%{opacity:1;animation-timing-function:cubic-bezier(.6,0,.8,.4);}85.333%{opacity:0;}100.000%{opacity:0;}}@keyframes nsl-b-textmove{0.000%{transform:translateY(16px);}28.000%{transform:translateY(16px);animation-timing-function:cubic-bezier(.2,.7,.4,1);}36.000%{transform:none;}78.667%{transform:none;animation-timing-function:cubic-bezier(.6,0,.8,.4);}85.333%{transform:translateY(-10px);}100.000%{transform:translateY(-10px);}}
@media (prefers-reduced-motion:reduce){.nsl-back *{animation:none!important}.nsl-back .nsl-b-keyturn{transform:none}.nsl-back .nsl-b-glint{opacity:0}}
.nsl-back-host{position:fixed;inset:0;display:grid;place-items:center;overflow:hidden}
@media (orientation:portrait) and (max-width:760px){
  .nsl-back-host .nsl-back{--w:min(760px,calc(100svh - 36px),calc((100vw - 24px) * 1.72));position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(90deg)}
}
