/* Órbita · featured projects on a desktop monitor */
@property --pa{syntax:'<color>';inherits:true;initial-value:#b44df1}
.pj{overflow:hidden}
.pj .ob-head{margin-bottom:clamp(32px,4.5vw,52px)}
.pj-show{--pa:#b44df1;position:relative;max-width:1040px;margin:0 auto;transition:--pa 1s var(--ease)}

/* monitor */
.pj-pc{position:relative;margin:0 auto;width:100%;perspective:1600px}
.pj-glow{position:absolute;left:4%;right:4%;top:6%;bottom:18%;z-index:0;pointer-events:none;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--pa) 55%,transparent),transparent);filter:blur(60px);opacity:.75}
.pj-pc::before{content:"";position:absolute;z-index:0;left:50%;top:44%;width:122%;aspect-ratio:1;transform:translate(-50%,-50%) rotateX(78deg);border-radius:50%;border:1px solid color-mix(in srgb,var(--pa) 38%,rgba(255,255,255,.1));background:radial-gradient(circle at 50% 0,#fff 0 3px,color-mix(in srgb,var(--pa) 70%,transparent) 4px,transparent 10px);box-shadow:0 0 50px -8px color-mix(in srgb,var(--pa) 45%,transparent);pointer-events:none;animation:pj-ring 22s linear infinite}
@keyframes pj-ring{to{transform:translate(-50%,-50%) rotateX(78deg) rotate(360deg)}}
.pj-mon{position:relative;z-index:1;border-radius:22px;padding:2px;background:linear-gradient(160deg,#4a4458,#1c1828 40%,#2b2638);box-shadow:0 50px 100px -40px rgba(0,0,0,.95),0 30px 90px -50px var(--pa),0 0 0 1px rgba(255,255,255,.06) inset}
.pj-bezel{position:relative;border-radius:20px 20px 0 0;padding:clamp(10px,1.5vw,18px) clamp(10px,1.5vw,18px) clamp(10px,1.4vw,16px);background:#07050d}
.pj-cam{position:absolute;left:50%;top:clamp(3px,.6vw,7px);width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:#1d1a26;box-shadow:inset 0 0 0 1px #2c2838}
.pj-scr{position:relative;border-radius:6px;overflow:hidden;background:#140d24}
.pj-bar{display:flex;align-items:center;gap:6px;height:clamp(22px,2.6vw,30px);padding:0 12px;background:#1a1626;border-bottom:1px solid rgba(255,255,255,.06)}
.pj-bar>i{width:8px;height:8px;border-radius:50%;background:#ff5f57;flex:none}
.pj-bar>i:nth-child(2){background:#febc2e}
.pj-bar>i:nth-child(3){background:#28c840}
.pj-url{margin:0 auto;max-width:60%;padding:2px 14px;border-radius:9999px;background:rgba(255,255,255,.06);font-family:var(--mono);font-size:clamp(9.5px,1vw,11.5px);color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:opacity .4s}
.pj-url.is-swap{opacity:0}
.pj-view{position:relative;aspect-ratio:1000/476;overflow:hidden}
.pj-shot{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center;opacity:0;transform:scale(1.035);transition:opacity .9s var(--ease),transform 6s linear;will-change:opacity,transform}
.pj-shot.is-on{opacity:1;transform:scale(1)}
.pj-gloss{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.09) 0%,rgba(255,255,255,.02) 28%,transparent 42%)}
.pj-chin{height:clamp(22px,3vw,38px);border-radius:0 0 20px 20px;background:linear-gradient(180deg,#d9d6e0,#b8b3c4);box-shadow:inset 0 1px 0 rgba(255,255,255,.6)}
.pj-stand{position:relative;z-index:0;display:flex;flex-direction:column;align-items:center}
.pj-neck{display:block;width:clamp(90px,13vw,150px);height:clamp(50px,7vw,86px);background:linear-gradient(90deg,#9d97ab,#d4d0dc 45%,#a29cb0);clip-path:polygon(14% 0,86% 0,100% 100%,0 100%)}
.pj-base{display:block;width:clamp(170px,26vw,290px);height:clamp(8px,1vw,12px);border-radius:3px 3px 10px 10px;background:linear-gradient(180deg,#d4d0dc,#8f899d);box-shadow:0 18px 40px -10px rgba(0,0,0,.8)}

/* now showing */
.pj-now{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 10px;margin:clamp(26px,3.4vw,38px) 0 16px;text-align:center}
.pj-now__dot{width:8px;height:8px;border-radius:50%;background:var(--pa);box-shadow:0 0 12px var(--pa)}
.pj-now b{font-size:clamp(18px,2vw,22px);font-weight:600;letter-spacing:-.01em}
.pj-now__i{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.pj-now.is-swap b,.pj-now.is-swap .pj-now__i{animation:pj-up .55s var(--ease) both}
@keyframes pj-up{from{opacity:0;transform:translate3d(0,8px,0)}to{opacity:1;transform:none}}

/* picker */
.pj-pick{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.pj-chip{position:relative;display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:7px 14px;border-radius:9999px;border:1px solid var(--line);background:rgba(255,255,255,.03);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:13.5px;color:var(--ink-3);overflow:hidden;transition:color .25s,border-color .25s,background-color .25s}
.pj-chip>i{width:7px;height:7px;border-radius:50%;background:var(--pa);opacity:.55;transition:opacity .25s,box-shadow .25s}
.pj-chip:hover{color:var(--ink);border-color:var(--line-2)}
.pj-chip.is-on{color:#fff;border-color:color-mix(in srgb,var(--pa) 65%,transparent);background:color-mix(in srgb,var(--pa) 14%,rgba(255,255,255,.03))}
.pj-chip.is-on>i{opacity:1;box-shadow:0 0 10px var(--pa)}
.pj-chip__bar{position:absolute;left:0;bottom:0;height:2px;width:100%;transform-origin:left;transform:scaleX(0);background:var(--pa)}
.pj-chip.is-run .pj-chip__bar{animation:pj-prog var(--pj-t,5s) linear forwards}
.pj-show.is-paused .pj-chip__bar{animation-play-state:paused}
@keyframes pj-prog{to{transform:scaleX(1)}}
.pj-more{display:inline-flex;align-items:center;min-height:38px;padding:7px 14px;border-radius:9999px;border:1px dashed var(--line-2);font-size:13.5px;color:var(--ink-3)}

/* call to action */
.pj-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 18px;margin-top:clamp(30px,4vw,44px)}
.pj-cta p{color:var(--ink-2);font-size:16px}
.pj-cta .ob-btn{width:auto;flex:none}

/* no JavaScript: first site only */
.ob-nojs .pj-pick{display:none}

@media (max-width:560px){
  .pj-mon{border-radius:14px}
  .pj-bezel{border-radius:12px 12px 0 0;padding:7px 7px 6px}
  .pj-cam{display:none}
  .pj-scr{border-radius:4px}
  .pj-bar{height:18px;padding:0 7px;gap:4px}
  .pj-bar>i{width:5px;height:5px}
  .pj-url{font-size:8.5px;padding:1px 8px}
  .pj-chin{height:16px;border-radius:0 0 12px 12px}
  .pj-pc::before{width:140%}
  .pj-pick{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;margin:0 calc(var(--gut)*-1);padding:0 var(--gut) 4px;scrollbar-width:none;scroll-snap-type:x proximity}
  .pj-pick::-webkit-scrollbar{display:none}
  .pj-chip,.pj-more{flex:none;scroll-snap-align:center}
  .pj-now{display:none}
  .pj-pick{margin-top:26px}
  .pj-cta{flex-direction:column}
  .pj-cta .ob-btn{width:100%}
}
@media (prefers-reduced-motion:reduce){
  .pj-pc::before{animation:none}
  .pj-shot{transition:opacity .3s;transform:none}
  .pj-now.is-swap b,.pj-now.is-swap .pj-now__i{animation:none}
}
