/* Deflex finish: physical print, deliberate light, quiet interface. */
:root{--ease:cubic-bezier(.25,1,.5,1)}
.atelier-copy h1{letter-spacing:-.058em;text-wrap:balance}
.atelier-intro{max-width:400px;line-height:1.75}
.atelier-copy .project-invitation{font-size:15px;gap:15px;min-height:44px}
.atelier-copy .invitation-arrow{width:29px;height:24px}
.book-actions button{min-height:44px}
.book-viewport:focus-visible,.story-scene:focus-visible{outline:1px solid var(--violet);border-radius:24px;outline-offset:5px}
.paper-sheet,.paper-back{box-shadow:0 1px 0 #f8f7f4,1px 2px 0 #c4c1bd,2px 3px 0 #f3f1ed,3px 4px 0 #79767b,10px 24px 30px #0005}
.paper-left .paper-sheet::before{background:linear-gradient(90deg,transparent 70%,#0003 94%,#0006);opacity:1;mix-blend-mode:multiply;pointer-events:none}
.paper-right .paper-sheet::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0003,transparent 9%),radial-gradient(ellipse at var(--light-x,54%) 10%,#fff2,transparent 75%);z-index:2;pointer-events:none}
.paper-facet{position:absolute;top:0;bottom:0;width:8.42%;transform-style:preserve-3d;transform-origin:50% 50%}
.facet-front,.facet-back{position:absolute;inset:0;display:block;backface-visibility:hidden;background-size:1200% 100%;background-position:var(--print-x) 0;background-repeat:no-repeat;background-color:white}
.facet-front{transform:translateZ(1px)}.facet-back{transform:rotateY(180deg) translateZ(1px);background-position:calc(100% - var(--print-x)) 0}
.facet-front::after,.facet-back::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0002,#fff1);opacity:var(--leaf-shade,0);pointer-events:none}
.paper-turn>.paper-sheet,.paper-turn>.paper-back{visibility:hidden}
.paper-turn{filter:none}
.story-scene{isolation:isolate}.story-paper{transition:box-shadow .6s var(--ease)}
.story-paper:hover{box-shadow:0 2px 0 #ffffff24,0 20px 50px #0006,0 0 32px #a36aff20}
.story-meta{border-top:1px solid #f4f0f712;letter-spacing:.025em}
.story-dots{gap:6px}.story-dots i{position:relative;width:28px;height:2px;border-radius:2px;overflow:hidden;background:#f4f0f71f}
.story-dots i.active{background:#f4f0f71f}.story-dots i::after{content:'';position:absolute;inset:0;background:var(--orange);transform-origin:left;transform:scaleX(var(--beat-progress,0))}
.story-beat p{line-height:1.75;max-width:345px}
.services-3d #serviceCards .service{background:radial-gradient(ellipse at 15% 0%,#a36aff12,transparent 65%),linear-gradient(145deg,#201a2a,#15121b 80%);border-color:#c4a2ff26;transition:border-color .45s var(--ease),box-shadow .6s var(--ease),opacity .3s}
.service-pick{border-radius:10px;transition:background .4s var(--ease),border-color .4s var(--ease),box-shadow .4s var(--ease),translate .4s var(--ease)}
.service-pick:active{translate:0 1px}.service-pick:focus-visible{outline-color:var(--electric-blue)}
.service-carousel-controls button{min-width:72px;min-height:44px}
.icon{stroke-linecap:round;stroke-linejoin:round}
.step{border-radius:26px;padding:26px}.step:nth-child(2){margin-left:12px}.step:nth-child(3){margin-right:0}
.form input:not([type=checkbox]),.form textarea{transition:background .35s var(--ease),border-color .35s var(--ease),box-shadow .35s var(--ease);border-radius:8px}
.form input:focus,.form textarea:focus{background:#a36aff08;box-shadow:0 3px 18px #a36aff0c}
.choice:has(input:checked){background:#a36aff0b;border-color:#a36aff65}
dialog{border-radius:20px;border-color:#a36aff35;box-shadow:0 35px 100px #0009}
dialog[open]{animation:dialog-arrive .45s var(--ease) both}dialog[open]::backdrop{animation:backdrop-arrive .35s ease both}
.icon-button{border-radius:50%;min-width:44px;min-height:44px;transition:background .35s var(--ease),border-color .35s var(--ease)}
#workDialog{max-width:900px;padding:22px}.viewer-canvas{max-height:72dvh;border-radius:10px;overflow:auto;background:#0c0b0e;touch-action:pan-y}#workDialog.is-zoomed .viewer-canvas{touch-action:auto}
#workImage{max-height:min(72dvh,calc(90dvh - 160px));animation:print-arrive .35s var(--ease) both}
@keyframes dialog-arrive{from{opacity:0;translate:0 14px;scale:.985}to{opacity:1;translate:0 0;scale:1}}
@keyframes backdrop-arrive{from{opacity:0}to{opacity:1}}
@keyframes print-arrive{from{opacity:.4;translate:0 5px}to{opacity:1;translate:0 0}}
@media(max-width:760px){.atelier-copy h1{letter-spacing:-.055em}.atelier-copy .project-invitation{font-size:14px}.atelier-intro{max-width:390px}.story-beat p{line-height:1.65}.story-dots i{width:20px}.story-meta{gap:10px}.step{padding:23px 20px;border-radius:23px}#workDialog{padding:15px;border-radius:18px}#workImage{max-height:68dvh}.viewer-controls{gap:12px}.book-viewport:focus-visible{outline-offset:-12px}}
@media(prefers-reduced-motion:reduce){dialog[open],dialog[open]::backdrop,#workImage{animation:none}.paper-facet{transform:none!important}.service-pick:active{translate:none}}
