:root{--electric-blue:#369cff}
/* Printed projects: independent manipulation above the existing scroll timeline. */
.story-scene{touch-action:pan-y;cursor:grab;outline-offset:7px}.story-scene.is-dragging{cursor:grabbing}.story-object{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateX(var(--project-rx,0deg)) rotateY(var(--project-ry,0deg));pointer-events:none}.story-object button{pointer-events:auto;touch-action:pan-y}.project-visual{display:block;width:100%;height:100%;overflow:hidden;border-radius:18px;transform:translateZ(2px)}.project-visual img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}.story-paper{aspect-ratio:630/891;height:auto;border-radius:18px;box-shadow:4px 5px 0 #ffffff16,10px 22px 30px #0004,0 0 28px #a36aff13}.story-detail{border-radius:22px;box-shadow:0 15px 45px #0003}.story-detail .project-visual{height:100%}.project-rotate-hint{position:absolute;bottom:-16px;left:0;right:0;text-align:center;color:var(--muted);font-size:11px;pointer-events:none}
#work .story-inside .project-visual img{transform:scale(1.26,1.17)}#work .story-paper,#work .story-detail{box-shadow:0 12px 28px #0002,0 0 25px #a36aff12}#work .story-detail .project-visual img{transform:scale(1.26,1.17)}
#dokteur-picasso .story-paper,#dokteur-picasso .story-detail,#dokteur-picasso .project-visual,#dokteur-picasso .project-visual img{border-radius:22px}
/* A circular presentation contains the authentic Diwali artwork. */
#diwali .story-object{inset:auto;top:50%;left:50%;translate:-50% -50%;width:min(100%,580px);height:auto;aspect-ratio:1;border-radius:50%;overflow:hidden;background:radial-gradient(ellipse at 30% 20%,#63369d55,transparent 62%),#17121f;border:1px solid #c7a7ff2b;box-shadow:inset 0 1px 1px #ffffff20,0 28px 50px #0005,0 0 60px #a36aff15}#diwali .story-paper{width:43%!important;max-width:none;height:auto!important;border-radius:15px}#diwali .project-visual{border-radius:15px}#diwali .story-detail{left:10%;top:10%;width:80%;height:80%;border-radius:50%;background:#241732;box-shadow:inset 0 0 35px #a36aff1f}#diwali.is-enhanced .story-detail{display:flex;align-items:center;justify-content:center}#diwali .story-detail .project-visual{width:65%;height:85%;border-radius:12px}#diwali .story-detail img{object-fit:contain}#diwali .project-rotate-hint{bottom:-16px}
/* A service rail with real horizontal scroll, snap points and depth. */
.service-carousel-controls,.services-slide-hint{display:none}.services-3d .service-section{display:block}.services-3d .service-section>.section-head{max-width:580px}.services-3d .service-carousel{margin:35px 0 50px}.services-3d .services-slide-hint{display:block;color:var(--muted);font-size:12px;text-align:center;margin:0 0 4px}.services-3d #serviceCards{--card-width:350px;display:flex;gap:28px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;perspective:1200px;padding:42px max(24px,calc((100% - var(--card-width))/2)) 48px;touch-action:pan-x pan-y;cursor:grab;overscroll-behavior-x:contain;scroll-padding-inline:50%;min-width:0}.services-3d #serviceCards::-webkit-scrollbar{display:none}.services-3d #serviceCards.is-dragging{cursor:grabbing;scroll-snap-type:none}.services-3d #serviceCards .service{flex:0 0 var(--card-width);width:var(--card-width);min-height:370px;padding:30px;display:flex;flex-direction:column;align-items:flex-start;gap:15px;border:1px solid #c4a2ff38;border-radius:28px;background:linear-gradient(145deg,#211b30,#15121b 72%);scroll-snap-align:center;transform:translateZ(var(--card-depth,-60px)) rotateY(var(--card-turn,0deg)) scale(var(--card-scale,1));opacity:var(--card-alpha,1);transform-style:preserve-3d;transition:border-color .4s,box-shadow .5s,opacity .3s;box-shadow:inset 0 1px 0 #ffffff10,0 12px 22px #0003}.services-3d #serviceCards .service::before{display:none}.services-3d .service.is-current{border-color:#a36affb0;box-shadow:inset 0 1px 0 #ffffff20,0 16px 32px #0005,0 0 32px #a36aff28}.services-3d .service.is-selected{border-color:var(--electric-blue)!important;box-shadow:inset 0 0 24px #369cff12,0 0 15px #369cff55,0 0 42px #a36aff55!important}.services-3d .service-index{position:absolute;right:28px;top:28px;font-size:11px;display:block;color:var(--muted)}.services-3d .service-glyph{width:54px;height:54px;transform:translateZ(15px)}.services-3d .service-glyph .icon{width:48px;height:48px}.services-3d .service-copy{padding:0!important;transform:translateZ(10px);flex:1}.services-3d .service h3{font-size:29px;line-height:1.15;max-width:260px}.services-3d .service p{font-size:14px;line-height:1.7;margin:14px 0 3px}.service-pick{border:1px solid #a36aff80;background:#a36aff13;border-radius:12px;color:var(--ink);font-size:12px;padding:12px 16px;min-height:44px;transition:background .3s,border-color .3s,box-shadow .3s}.service-pick:hover{background:#a36aff30}.service-pick[aria-pressed=true]{border-color:var(--electric-blue);background:#369cff1e;box-shadow:0 0 16px #369cff30}.services-3d .service-link{display:flex;align-items:center;gap:12px;margin:0;font-size:11px;color:var(--muted);min-height:36px;transform:none!important}.services-3d .service-link .icon{width:21px;height:21px}.services-3d .service-carousel-controls{display:flex;align-items:center;justify-content:center;gap:30px;margin-top:-13px}.service-carousel-controls button{border:0;border-bottom:1px solid var(--line);padding:8px 0;background:none;font-size:12px;min-height:40px}.service-carousel-controls button:hover{color:var(--violet);border-color:var(--violet)}.service-carousel-controls button:disabled{opacity:.3}.service-carousel-controls span{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.services-3d .bundle{margin-top:30px;max-width:760px}
@keyframes selection-light{0%{box-shadow:0 0 0 #369cff00}35%{box-shadow:inset 0 0 35px #369cff25,0 0 25px #369cff80,0 0 65px #a36aff70}100%{box-shadow:inset 0 0 24px #369cff12,0 0 15px #369cff55,0 0 42px #a36aff55}}
.service.is-confirming{animation:selection-light .9s ease both}
/* A narrow moving reflection stays behind readable step text. */
.step{overflow:hidden;isolation:isolate;border-color:#a36aff45;box-shadow:inset 0 1px 0 #ffffff20,0 10px 25px #0003,0 12px 35px rgb(143 73 255 / var(--step-glow,.12));background:linear-gradient(145deg,#282132,#17131f 75%);transform-style:preserve-3d}.step>*{position:relative;z-index:1}.step::after{content:'';position:absolute;inset:-40% -25%;z-index:0;background:linear-gradient(112deg,transparent 35%,#a36aff15 44%,#ffffff4a 49%,#90c8ff40 51%,#a36aff24 56%,transparent 65%);translate:var(--shine-x,-130%) 0;pointer-events:none;opacity:.8}.step:hover{border-color:#c7a3ff90}.studio-portrait{will-change:auto}
@media(max-width:760px){.project-visual{border-radius:14px}.project-rotate-hint{font-size:10px;bottom:-10px}.services-3d #serviceCards{--card-width:280px;gap:18px;padding-top:30px;padding-bottom:38px}.services-3d #serviceCards .service{padding:25px;min-height:365px;border-radius:24px}.services-3d .service h3{font-size:26px}.services-3d .service p{font-size:13px}.services-3d .service-section{padding-top:55px}.services-3d .service-carousel{margin-top:25px}.services-3d .services-slide-hint{font-size:11px}#diwali .story-object{width:min(95%,380px);max-height:100%}.step{box-shadow:inset 0 1px 0 #ffffff20,0 8px 24px #0003,0 10px 28px rgb(143 73 255 / var(--step-glow,.12))}}
@media(prefers-reduced-motion:reduce){.story-object{transform:none!important}.step::after{display:none}.service.is-confirming{animation:none}.services-3d #serviceCards .service{transform:none!important;opacity:1}.service-pick{transition:none}}
.services-3d #serviceCards{position:relative}
.services-3d #serviceCards .service.is-current{border-color:#a36affb0;box-shadow:inset 0 1px 0 #ffffff20,0 16px 32px #0005,0 0 32px #a36aff28}
@media(max-width:760px){#diwali .story-object{width:min(95%,380px,42svh);max-height:none}}
