/* /headshots/ admin portal on a laptop (2026-10-23): pinned scene — the lid opens, the screen powers on, the camera
   glides to Share booking link, back to the full schedule while slots fill (one pill per slot), to Move, to Book,
   then the laptop lifts away. Driven by laptop.js on the IR scroll loop. 2026-10-23 v2: one zoom + one pan, short lines in the portal top bar instead of side captions, no lift-away tail. Everything is scoped with lp-. */
.lp-scene{--display:var(--f-wide);--text:var(--f-sans);--mono:var(--f-mono);--dim:var(--grey);--lime:#A3DB4A;--muted:#8b8f98;--sub:#a8a8ac;--line:rgba(255,255,255,.09)}
.lp-tag{font:400 11px/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--grey)}
.lp-scene{height:520vh;height:520svh;position:relative;overflow-x:clip}
.lp-stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.lp-stage::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,var(--ink) 0,var(--ink) 30%,rgba(11,11,12,0) 44%)}
.lp-copy{position:absolute;left:max(16px,calc(50% - 590px));top:50%;transform:translateY(-50%);width:min(320px,28vw);display:grid;gap:28px;z-index:3}
.lp-copy .lp-h{font-family:var(--display);font-stretch:125%;font-weight:800;font-size:clamp(34px,4.2vw,60px);line-height:.95;letter-spacing:-.01em;margin:0;text-transform:uppercase}
.lp-copy .lp-h span{color:#4a4a4f}
.lp-meterx{display:flex;gap:5px}
.lp-meterx i{width:26px;height:10px;border-radius:10px;background:#26262a;transition:background .35s,box-shadow .35s}
.lp-meterx i.on{background:var(--lime);box-shadow:0 0 10px rgba(163,219,74,.55)}
.lp-view{position:absolute;top:0;bottom:0;right:0;left:30%;display:flex;align-items:center;justify-content:center;z-index:1}
.lp-cam{position:relative;perspective:1500px}
.lp-mon{perspective:2600px;perspective-origin:50% -10%}
.lp-mon .lp-body,.lp-mon .lp-deck,.lp-mon .lp-hinge{filter:brightness(var(--mb,1))}
.lp-mon .lp-body{transform-origin:50% 100%;backface-visibility:hidden}
.lp-glow{position:absolute;left:50%;top:44%;width:150%;aspect-ratio:1.6;transform:translate(-50%,-50%) scale(var(--gs,.6));opacity:var(--go,0);background:radial-gradient(closest-side,rgba(255,255,255,.16),rgba(255,255,255,.05) 55%,transparent);pointer-events:none}
.lp-mon{position:relative;width:var(--mw,720px)}
.lp-body{position:relative;background:#0a0a0b;border-radius:calc(var(--mw)*.018) calc(var(--mw)*.018) 0 0;padding:calc(var(--mw)*.012) calc(var(--mw)*.012) calc(var(--mw)*.014);box-shadow:inset 0 0 0 1px #2c2c31,0 30px 80px -30px rgba(0,0,0,.9)}
.lp-scr{position:relative;width:100%;aspect-ratio:16/10;overflow:hidden;border-radius:calc(var(--mw)*.006);background:#000}
.lp-px{position:absolute;left:0;top:0;width:1280px;height:800px;transform-origin:0 0;transform:scale(var(--k,.5))}
.lp-off{position:absolute;inset:0;z-index:5;background:#000;opacity:var(--off,1);pointer-events:none}
.lp-flash{position:absolute;inset:0;z-index:6;background:#fff;opacity:var(--fl,0);pointer-events:none}
.lp-sheen{position:absolute;inset:0;z-index:7;pointer-events:none;background:linear-gradient(120deg,rgba(255,255,255,.05),transparent 40%)}
.lp-sheen::after{content:"";position:absolute;inset:0;opacity:var(--sh,0);background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.22) 48%,transparent 60%);background-size:260% 100%;background-position:var(--sx,0%) 0}
.lp-body{box-shadow:inset 0 0 0 1px #34343a,inset 0 1px 0 rgba(255,255,255,.18),0 30px 80px -30px rgba(0,0,0,.9)!important}
.lp-body::after{content:"";position:absolute;top:calc(var(--mw)*.0045);left:50%;width:calc(var(--mw)*.006);aspect-ratio:1;border-radius:50%;background:#1d1d21;box-shadow:0 0 0 1px #050506;transform:translateX(-50%)}
.lp-deck{position:relative;width:112%;margin-left:-6%;height:calc(var(--mw)*.022);border-radius:2px 2px calc(var(--mw)*.03) calc(var(--mw)*.03)/2px 2px calc(var(--mw)*.012) calc(var(--mw)*.012);background:linear-gradient(#3a3a3f 0,#2a2a2e 18%,#1b1b1e 60%,#0f0f11 100%);box-shadow:0 18px 40px -12px rgba(0,0,0,.9)}
.lp-deck::before{content:"";position:absolute;left:50%;top:0;width:15%;height:42%;transform:translateX(-50%);border-radius:0 0 calc(var(--mw)*.01) calc(var(--mw)*.01);background:linear-gradient(#141416,#202024)}
.lp-deck::after{content:"";position:absolute;left:1%;right:1%;top:0;height:1px;background:rgba(255,255,255,.14)}
.lp-hinge{width:100%;height:calc(var(--mw)*.006);background:linear-gradient(#050506,#18181b)}

.lp-pc{position:absolute;inset:0;background:#000;color:#e4e4e7;font-family:var(--text)}
.lp-pc *{box-sizing:border-box}
.lp-pc p{margin:0}
.lp-pc .lp-bar{height:96px;display:flex;align-items:center;justify-content:space-between;padding:0 48px;border-bottom:1px solid var(--line)}
.lp-pc .lp-msg{position:relative;flex:1;height:44px;margin:0}
.lp-pc .lp-msg span{position:absolute;left:0;top:0;font:500 38px/44px var(--text);letter-spacing:-.03em;color:#fff;white-space:nowrap;opacity:0;transform:translateY(10px);transition:opacity .4s,transform .4s}
.lp-pc .lp-msg span.on{opacity:1;transform:none}
.lp-pc .lp-co{font:500 12px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.lp-pc .lp-cols{display:grid;grid-template-columns:500px 1fr;height:704px}
.lp-pc .lp-l{padding:56px 48px;border-right:1px solid var(--line)}
.lp-pc .lp-r{padding:40px 48px}
.lp-pc .lp-kick,.lp-pc .lp-lbl,.lp-pc .lp-status{font:500 11px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.lp-pc .lp-kick{margin-bottom:6px}
.lp-pc .lp-h1{font:500 44px/1.05 var(--text);letter-spacing:-.035em;color:#fff;margin:0 0 12px}
.lp-pc .lp-when{font-size:17px;color:#cfcfd4;margin-bottom:4px}
.lp-pc .lp-where{font-size:15px;color:var(--muted);margin-bottom:56px}
.lp-pc .lp-where b{color:var(--sub);font-weight:600}
.lp-pc .lp-lbl{margin-bottom:14px}
.lp-pc .lp-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font:500 12.5px/1 var(--text)}
.lp-pc .lp-main{height:48px;padding:0 26px;background:#fff;color:#0b0b0c;font-size:13px;letter-spacing:.05em}
.lp-pc .lp-status{display:flex;align-items:center;gap:8px;margin-top:20px;color:var(--sub);opacity:var(--st,0)}
.lp-pc .lp-status i{width:7px;height:7px;border-radius:9px;background:var(--lime)}
.lp-pc .lp-pm{display:flex;gap:6px;margin:4px 0 30px}
.lp-pc .lp-pm i{flex:1;height:10px;border-radius:999px;background:rgba(255,255,255,.06);box-shadow:inset 0 1px .5px rgba(255,255,255,.16),inset 0 -1px .5px rgba(0,0,0,.45),0 0 0 .5px rgba(255,255,255,.10);transition:background .4s,box-shadow .4s}
.lp-pc .lp-pm i.on{background:linear-gradient(to bottom,#fff 0%,#EEF4B8 40%,#A3DB4A 100%);box-shadow:inset 0 .5px .5px rgba(255,255,255,.95),0 0 0 .5px rgba(163,219,74,.9),0 0 6px 1px rgba(163,219,74,.95),0 0 16px 3px rgba(163,219,74,.6),0 0 30px 7px rgba(163,219,74,.28)}
.lp-pc .lp-rows{border-top:1px solid var(--line)}
.lp-pc .lp-row{position:relative;display:flex;align-items:center;gap:20px;height:51px;border-bottom:1px solid var(--line)}
.lp-pc .lp-row::before{content:"";position:absolute;inset:0 -14px;border-radius:8px;background:rgba(255,255,255,.07);opacity:var(--hi,0)}
.lp-pc .lp-time{position:relative;width:96px;flex:none;font:500 14px/1 var(--mono);font-variant-numeric:tabular-nums;color:#fff}
.lp-pc .lp-who{position:relative;flex:1;min-width:0;display:grid}
.lp-pc .lp-who>div{grid-area:1/1;transition:opacity .35s}
.lp-pc .lp-n{font-size:15px;font-weight:500;color:#e4e4e7;line-height:1.35}
.lp-pc .lp-e{font-size:12px;color:var(--muted)}
.lp-pc .lp-open .lp-n{color:var(--muted)}
.lp-pc .lp-acts{position:relative;display:grid;flex:none}
.lp-pc .lp-acts>div{grid-area:1/1;display:flex;gap:7px;justify-content:flex-end;transition:opacity .35s}
.lp-pc .lp-q{height:30px;padding:0 15px;border:1px solid rgba(255,255,255,.32);color:var(--sub);font-weight:600}
.lp-pc .lp-tap{position:absolute;width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;background:rgba(255,255,255,.35);box-shadow:0 0 0 2px rgba(255,255,255,.55);opacity:0;z-index:4;pointer-events:none}

@media (max-width:760px){
  .lp-stage::before{display:none}
  .lp-copy{left:0;right:0;top:0;transform:none;width:auto;gap:12px;background:var(--ink);box-shadow:0 18px 22px 4px var(--ink);padding:44px max(16px,env(safe-area-inset-right,0px)) 14px max(16px,env(safe-area-inset-left,0px))}
  .lp-copy .lp-h{font-size:28px}
  .lp-view{left:0;top:auto;bottom:0;height:62%}
}
@media (prefers-reduced-motion:reduce){.lp-pc .lp-pm i,.lp-pc .lp-msg span{transition:none}}
@media (max-width:760px){.lp-copy{padding-top:80px}}
/* short screens (≤500px tall): no pin — the laptop sits open on the full schedule with all captions listed */
@media (max-height:500px){
  .lp-scene{height:auto}
  .lp-stage{position:relative;height:auto;min-height:480px}
}
