/* EvolveOne showcase: process build, website wall, 3D gallery ring, full-screen viewer */
.proc{position:relative;z-index:3;background:radial-gradient(80% 60% at 70% 50%,#0a1630 0%,var(--bg) 70%)}
.proc__pin{height:100svh;display:grid;grid-template-columns:minmax(300px,.8fr) 1.2fr;align-items:center;gap:clamp(20px,4vw,60px);padding:90px var(--gut) 40px;overflow:hidden}
.proc__steps{margin-top:34px;display:grid;gap:6px;position:relative}
.pstep{display:grid;grid-template-columns:54px 1fr;gap:14px;padding:16px 0 16px;opacity:.32;transition:opacity .5s var(--ease)}
.pstep.on{opacity:1}
.pstep b{font-family:var(--display);font-size:15px;letter-spacing:.12em;color:var(--gold2);padding-top:6px}
.pstep h3{font-family:var(--display);font-weight:800;font-size:clamp(24px,2.3vw,34px);text-transform:uppercase;line-height:1}
.pstep p{color:var(--mute);font-size:15px;margin-top:6px;max-height:0;overflow:hidden;transition:max-height .6s var(--ease)}
.pstep.on p{max-height:120px}
.proc__bar{position:absolute;left:0;top:0;width:2px;height:100%;background:var(--line)}
.proc__bar i{position:absolute;inset:0;background:linear-gradient(var(--gold2),var(--gold));transform-origin:top;transform:scaleY(0)}
.proc__stage{perspective:1800px;perspective-origin:50% 40%;height:min(74vh,640px);display:grid;place-items:center;position:relative}
.pdev{position:relative;width:min(92%,720px);aspect-ratio:16/10.4;transform-style:preserve-3d;transform:rotateX(18deg) rotateY(-24deg) rotateZ(4deg)}
.play{position:absolute;inset:0;border-radius:16px;transform-style:preserve-3d;backface-visibility:hidden}
.pframe{background:#0b1222;border:1px solid rgba(143,211,255,.25);box-shadow:0 60px 120px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.03) inset}
.pframe .bar{height:34px;display:flex;align-items:center;gap:7px;padding:0 14px;border-bottom:1px solid rgba(143,211,255,.14)}
.pframe .bar i{width:10px;height:10px;border-radius:50%;background:#26324c}.pframe .bar i:nth-child(1){background:#ff5f57}.pframe .bar i:nth-child(2){background:#febc2e}.pframe .bar i:nth-child(3){background:#28c840}
.pframe .bar span{margin-left:12px;flex:1;max-width:320px;height:20px;border-radius:6px;background:#121c33;font-size:11px;color:#7f8db0;display:flex;align-items:center;padding:0 10px;letter-spacing:.02em}
.pscreen{position:absolute;left:0;right:0;top:34px;bottom:0;overflow:hidden;border-radius:0 0 16px 16px}
/* layer 1: brief */
.lay-brief{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:1fr 1fr;gap:12px;padding:46px 16px 16px;pointer-events:none}
.lay-brief>div{border-radius:12px;overflow:hidden;box-shadow:0 20px 40px rgba(0,0,0,.45)}
.lay-brief .sw{display:grid;grid-template-rows:repeat(4,1fr)}.lay-brief .sw i{display:block}
.lay-brief .ty{background:#f5f2ee;color:#0a0a0a;display:flex;flex-direction:column;justify-content:center;padding:14px;font-family:'Bebas Neue',var(--display);font-size:clamp(30px,4vw,62px);line-height:.9}.lay-brief .ty small{font-family:var(--sans);font-size:10px;letter-spacing:.2em;margin-top:6px;color:#777}
.lay-brief img{width:100%;height:100%;object-fit:cover}
.lay-brief .note{background:#ffe27a;color:#3b2f00;padding:14px;font-family:'Caveat',cursive,var(--sans);font-size:clamp(15px,1.5vw,21px);line-height:1.2;transform:rotate(-3deg)}
/* layer 2: wireframe */
.lay-wire{border:1.5px dashed rgba(143,211,255,.5);background:rgba(10,20,40,.35);pointer-events:none}
.wf{position:absolute;border:1.5px dashed rgba(143,211,255,.55);border-radius:6px}
.wf.f{background:rgba(61,139,255,.08)}
.wf.x::before,.wf.x::after{content:"";position:absolute;left:0;top:50%;width:100%;height:1px;background:rgba(143,211,255,.3);transform:rotate(20deg)}.wf.x::after{transform:rotate(-20deg)}
/* layer 3: code */
.lay-code{background:rgba(5,9,18,.94);border:1px solid rgba(143,211,255,.2);font:12px/1.65 ui-monospace,SFMono-Regular,Menlo,monospace;color:#8fb3ff;padding:46px 22px 20px;overflow:hidden;pointer-events:none}
.lay-code pre{white-space:pre}.lay-code .k{color:#ff7ab6}.lay-code .s{color:#9cf0a6}.lay-code .c{color:#56607a}.lay-code .t{color:#ffd27a}
/* layer 4: live screenshot */
.lay-live img{width:100%;height:100%;object-fit:cover;object-position:top}
.pphone{position:absolute;right:1%;bottom:-10%;width:20%;aspect-ratio:9/19.5;border-radius:26px;background:#05070d;border:5px solid #1b2440;box-shadow:0 40px 80px rgba(0,0,0,.65);overflow:hidden;transform:translateZ(120px)}
.pphone img{width:100%;height:100%;object-fit:cover;object-position:top}
.pnote{position:absolute;left:-7%;top:16%;transform:translateZ(180px);display:flex;gap:12px;align-items:center;padding:14px 18px;border-radius:16px;background:rgba(255,255,255,.96);color:#0b1222;box-shadow:0 30px 60px rgba(0,0,0,.5);font-size:13.5px;line-height:1.3;white-space:nowrap}
.pnote i{width:34px;height:34px;border-radius:10px;background:var(--gold);display:grid;place-items:center;color:#fff;font-style:normal;font-weight:800}
.pnote small{color:#5a6785}
.plive{position:absolute;right:4%;top:-7%;transform:translateZ(160px);padding:9px 16px;border-radius:999px;background:#0f2a18;border:1px solid #2fd16b;color:#7dffaa;font:700 12px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;display:flex;gap:8px;align-items:center}
.plive::before{content:"";width:8px;height:8px;border-radius:50%;background:#2fd16b;box-shadow:0 0 12px #2fd16b;animation:blink 1.4s infinite}
@keyframes blink{50%{opacity:.3}}
.pglow{position:absolute;inset:10% 0;background:radial-gradient(closest-side,rgba(61,139,255,.35),transparent);filter:blur(40px);transform:translateZ(-200px)}

/* website wall */
.wall{position:relative;z-index:3;height:115vh;min-height:760px;overflow:hidden;background:var(--bg);display:grid;place-items:center;isolation:isolate}
.wall__tilt{position:absolute;inset:-30% -20%;display:flex;gap:28px;justify-content:center;transform:perspective(1600px) rotateX(38deg) rotateZ(-18deg) translateY(-6%);transform-style:preserve-3d}
.wall__col{display:flex;flex-direction:column;gap:28px;width:min(30vw,440px);flex-shrink:0;will-change:transform}
.wall__col img{width:100%;border-radius:14px;border:1px solid rgba(143,211,255,.14);box-shadow:0 30px 60px rgba(0,0,0,.6);aspect-ratio:16/10;object-fit:cover;object-position:top}
.wall__col img.m{aspect-ratio:9/16}
.wall::before{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(60% 55% at 50% 50%,rgba(4,6,11,.9),rgba(4,6,11,.55) 60%,rgba(4,6,11,.2)),linear-gradient(180deg,var(--bg),transparent 18%,transparent 82%,var(--bg))}
.wall__txt{position:relative;z-index:2;text-align:center;padding:0 var(--gut);max-width:1100px}
.wall__txt .h1{font-size:clamp(46px,8.4vw,150px)}

/* gallery ring */
.show{position:relative;z-index:3;background:var(--bg);overflow:hidden;padding-bottom:clamp(60px,8vw,110px)}
.ring-wrap{position:relative;height:clamp(380px,56vh,600px);perspective:2400px;perspective-origin:50% 35%;margin-top:clamp(-10px,-1vw,0px);cursor:grab;touch-action:pan-y;user-select:none}
.ring-wrap.drag{cursor:grabbing}
.ring{position:absolute;left:50%;top:46%;width:0;height:0;transform-style:preserve-3d}
.rcard{position:absolute;left:0;top:0;width:var(--cw);aspect-ratio:16/11;margin-left:calc(var(--cw) / -2);margin-top:calc(var(--cw) * -.34);border-radius:16px;overflow:hidden;background:#0b1222;border:1px solid rgba(143,211,255,.18);padding:0;cursor:pointer;color:var(--ink);text-align:left;transition:box-shadow .4s,border-color .4s;box-shadow:0 40px 80px rgba(0,0,0,.55);backface-visibility:hidden;-webkit-backface-visibility:hidden}
.rcard:hover,.rcard:focus-visible{border-color:var(--gold2);box-shadow:0 40px 90px rgba(61,139,255,.35)}
.rcard .bar{height:26px;display:flex;align-items:center;gap:6px;padding:0 12px;background:#0d1628;border-bottom:1px solid rgba(143,211,255,.12)}
.rcard .bar i{width:8px;height:8px;border-radius:50%;background:#26324c}
.rcard .bar span{margin-left:8px;font-size:10px;color:#7f8db0;letter-spacing:.04em}
.rcard img{width:100%;height:calc(100% - 26px);object-fit:cover;object-position:top;transition:transform 1.2s var(--ease)}
.rcard:hover img{transform:scale(1.04)}
.rcard .meta{position:absolute;left:0;right:0;bottom:0;padding:44px 18px 16px;background:linear-gradient(transparent,rgba(4,6,11,.92));display:flex;justify-content:space-between;align-items:flex-end;gap:12px}
.rcard .meta span{display:block;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--c,var(--gold2));font-weight:700}
.rcard .meta b{font-family:var(--display);font-weight:800;font-size:clamp(20px,1.8vw,28px);text-transform:uppercase;line-height:1.05}
.rcard .meta em{font-style:normal;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:9px 13px;border-radius:999px;background:var(--gold);color:#fff;white-space:nowrap;opacity:0;transform:translateY(6px);transition:all .4s var(--ease)}
.rcard:hover .meta em,.rcard.front .meta em{opacity:1;transform:none}
.ring-floor{position:absolute;left:50%;bottom:4%;width:min(90vw,1100px);height:120px;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(61,139,255,.28),transparent);filter:blur(20px);pointer-events:none}
.ring-ctrl{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:6px;position:relative;z-index:2}
.ring-ctrl button.arr{width:52px;height:52px;border-radius:50%;border:1px solid var(--line);background:rgba(10,16,30,.6);color:var(--ink);display:grid;place-items:center;cursor:pointer;transition:all .3s}
.ring-ctrl button.arr:hover{background:var(--gold);border-color:var(--gold)}
.ring-ctrl button.arr svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2}
.ring-ctrl .hint{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--mute);min-width:200px;text-align:center}
.show__chips{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:26px;position:relative;z-index:2;padding:0 var(--gut)}
.show__chips button{padding:11px 18px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--ink);font:500 13.5px var(--sans);cursor:pointer;transition:all .3s;display:inline-flex;gap:10px;align-items:center}
.show__chips button i{width:8px;height:8px;border-radius:50%;background:var(--c)}
.show__chips button:hover{border-color:var(--gold2);background:rgba(61,139,255,.12)}

/* showcase page grid */
.sgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(18px,2.4vw,34px)}
.scard{position:relative;border-radius:22px;overflow:hidden;border:1px solid var(--line);background:#0b1222;cursor:pointer;text-align:left;color:var(--ink);padding:0;transform-style:preserve-3d;transition:border-color .4s,box-shadow .4s}
.scard:hover{border-color:var(--gold2);box-shadow:0 40px 90px rgba(61,139,255,.25)}
.scard .shot{aspect-ratio:16/10;overflow:hidden;position:relative}
.scard .shot img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform 1.4s var(--ease)}
.scard:hover .shot img{transform:scale(1.05)}
.scard .shot .mob{position:absolute;right:5%;bottom:-8%;width:20%;aspect-ratio:9/18;border-radius:16px;border:4px solid #0b1222;overflow:hidden;box-shadow:0 20px 40px rgba(0,0,0,.55);transition:transform .8s var(--ease)}
.scard:hover .shot .mob{transform:translateY(-14%)}
.scard .shot .mob img{transform:none!important}
.scard .info{padding:24px 26px 26px;display:flex;justify-content:space-between;gap:18px;align-items:flex-end}
.scard .info span{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--c);font-weight:700}
.scard .info h3{font-family:var(--display);font-weight:800;font-size:clamp(26px,2.4vw,36px);text-transform:uppercase;line-height:1;margin:6px 0 8px}
.scard .info p{color:var(--mute);font-size:14.5px;max-width:440px}

/* viewer */
.viewer{position:fixed;inset:0;z-index:400;background:rgba(3,5,10,.92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);display:flex;flex-direction:column;opacity:0;visibility:hidden;transition:opacity .45s var(--ease),visibility 0s .45s}
.viewer.open{opacity:1;visibility:visible;transition:opacity .45s var(--ease)}
.viewer__top{display:flex;align-items:center;gap:14px;padding:14px clamp(14px,2.4vw,28px);border-bottom:1px solid var(--line);flex-wrap:wrap}
.viewer__id{display:flex;flex-direction:column;min-width:0;margin-right:auto}
.viewer__id span{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold2);font-weight:700}
.viewer__id b{font-family:var(--display);font-weight:800;font-size:22px;text-transform:uppercase;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vdevs{display:flex;padding:4px;border-radius:999px;border:1px solid var(--line);background:#0a1020}
.vdevs button{padding:8px 14px;border-radius:999px;border:0;background:transparent;color:var(--mute);font:600 12px var(--sans);letter-spacing:.06em;cursor:pointer;display:flex;gap:7px;align-items:center}
.vdevs button svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.8}
.vdevs button.on{background:var(--gold);color:#fff}
.vbtn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;border:1px solid var(--line);color:var(--ink);font:600 12.5px var(--sans);background:transparent;cursor:pointer;transition:all .3s;white-space:nowrap}
.vbtn:hover{border-color:var(--gold2)}
.vbtn--gold{background:var(--gold);border-color:var(--gold);color:#fff}
.vclose{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:22px;line-height:1;cursor:pointer;display:grid;place-items:center;transition:all .3s}
.vclose:hover{background:#fff;color:#000;transform:rotate(90deg)}
.viewer__stage{flex:1;display:grid;place-items:center;padding:clamp(12px,2.4vw,30px);position:relative;perspective:2000px;min-height:0}
.vdev{position:relative;width:100%;height:100%;max-width:1400px;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 60px 140px rgba(0,0,0,.7),0 0 0 1px rgba(143,211,255,.2);transition:width .7s var(--ease),max-width .7s var(--ease),border-radius .7s var(--ease);display:flex;flex-direction:column}
.vdev .bar{flex:0 0 32px;display:flex;align-items:center;gap:7px;padding:0 14px;background:#0d1628}
.vdev .bar i{width:10px;height:10px;border-radius:50%;background:#26324c}.vdev .bar i:nth-child(1){background:#ff5f57}.vdev .bar i:nth-child(2){background:#febc2e}.vdev .bar i:nth-child(3){background:#28c840}
.vdev .bar span{margin-left:12px;font-size:11.5px;color:#8a98ba;background:#121c33;padding:4px 12px;border-radius:6px}
.vdev iframe{flex:1;width:100%;border:0;background:#fff}
.vdev[data-dev="tablet"]{max-width:820px}
.vdev[data-dev="mobile"]{max-width:400px;border-radius:40px;border:10px solid #0b0f1a}
.vdev[data-dev="mobile"] .bar{display:none}
.vnav{position:absolute;top:50%;transform:translateY(-50%);width:50px;height:50px;border-radius:50%;border:1px solid var(--line);background:rgba(10,16,30,.8);color:var(--ink);cursor:pointer;display:grid;place-items:center;z-index:2;transition:background .3s}
.vnav:hover{background:var(--gold)}
.vnav svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2}
.vnav.p{left:clamp(6px,1.4vw,20px)}.vnav.n{right:clamp(6px,1.4vw,20px)}
.vload{position:absolute;inset:32px 0 0;display:grid;place-items:center;background:#0b1222;color:var(--mute);font-size:12px;letter-spacing:.2em;text-transform:uppercase;transition:opacity .4s;pointer-events:none}
.vload.gone{opacity:0}
html.viewer-on,html.viewer-on body{overflow:hidden}

@media (max-width:980px){
  .proc__pin{grid-template-columns:1fr;grid-template-rows:auto 1fr;padding-top:84px;gap:0;align-content:start}
  .proc__steps{margin-top:14px}.pstep{padding:8px 0;display:none}.pstep.on{display:grid}.proc .h2{font-size:clamp(34px,8vw,54px)}
  .proc__stage{height:auto;min-height:0;align-self:center;padding:10px 0 30px}
  .pdev{width:88%}
  .pnote{font-size:11px;padding:10px 12px;left:-3%}.pnote i{width:26px;height:26px}
  .wall__col{width:46vw}
  .sgrid{grid-template-columns:1fr}
  .vdevs button span{display:none}
  .vbtn.hm{display:none}
  .vnav{display:none}
}
@media (max-width:600px){.viewer__id b{font-size:17px}.vdevs{order:3}.vbtn{padding:9px 12px}}
@media (prefers-reduced-motion:reduce){.plive::before{animation:none}}

html.viewer-on iframe[src*="orimon"],html.viewer-on #chatbotContainer,html.viewer-on [id*="orimon"]{visibility:hidden!important}
@media (max-width:980px){.pphone{right:2%;width:22%}.proc__stage{perspective:2800px}.pdev{width:80%}}
