/* Cinematic line studies â€” quiet motion, native scrolling, original SVG artwork. */
.motion-stage{isolation:isolate;overflow:hidden}
.hero-atmosphere{inset:0;z-index:-1;overflow:visible;color:#997226;pointer-events:none;transition:transform 1.3s cubic-bezier(.16,1,.3,1);contain:layout style}
.hero-atmosphere .motion-canvas{position:absolute;width:min(54vw,700px);aspect-ratio:1;right:-3%;top:50%;transform:translateY(-50%);mask-image:linear-gradient(90deg,transparent,#000 22%,#000 92%,transparent);opacity:.62}
.hero-atmosphere .motion-canvas svg{position:static;width:100%;height:100%;opacity:1;filter:none;transform:none;animation:none!important;overflow:visible}
.hero-atmosphere:after{display:none}
.hero-atmosphere .art-lines{stroke:currentColor;stroke-width:.85}
.hero-atmosphere path{animation:none;stroke-dasharray:none;stroke-dashoffset:0}
.hero-atmosphere .quiet-ring{opacity:.24;stroke-width:.65}
.hero-atmosphere .light-seed{stroke:none;fill:currentColor;opacity:.65}
.hero-atmosphere .atmosphere-glow{position:absolute;right:1%;top:0;width:52%;height:100%;background:radial-gradient(ellipse at 60% 45%,#ccb58528,transparent 65%);transform-origin:65% 45%}
.motion-stage h1,.motion-stage .eyebrow,.motion-stage .lead,.motion-stage .hero-description{animation:none}
.motion-on .hero-cue{animation:cinema-enter 1.45s cubic-bezier(.16,1,.3,1) var(--cue,0ms) both!important}
.motion-on .hero-atmosphere .draw-line{stroke-dasharray:1;stroke-dashoffset:1;animation:line-compose 3.8s cubic-bezier(.3,.1,.15,1) calc(var(--i,0)*100ms) forwards!important}
.motion-on .hero-atmosphere .halo-ring{animation:halo-breathe 9s ease-in-out calc(var(--i,0)*-.6s) infinite alternate!important}
.motion-on .hero-atmosphere .breathing{animation:form-breathe 12s ease-in-out infinite alternate!important;transform-origin:300px 300px}
.motion-on .hero-atmosphere .orbiting{animation:orbit-turn 100s linear infinite!important;transform-origin:300px 300px}
.motion-on .hero-atmosphere .counter-orbit{animation:orbit-turn 140s linear infinite reverse!important;transform-origin:300px 300px}
.motion-on .hero-atmosphere .swaying{animation:form-sway 15s ease-in-out infinite alternate!important;transform-origin:300px 480px}
.motion-on .hero-atmosphere .slow-drift{animation:form-drift 16s ease-in-out infinite alternate!important;transform-origin:300px 300px}
.motion-on .hero-atmosphere .water-ring{animation:water-breathe 8s ease-in-out calc(var(--i,0)*-.7s) infinite!important;transform-origin:310px 310px}
.motion-on .hero-atmosphere .rising{animation:form-drift 18s ease-in-out infinite alternate!important;transform-origin:300px 480px}
.motion-on .hero-atmosphere .sun-ring{animation:form-breathe 10s ease-in-out infinite alternate!important;transform-origin:305px 260px}
.motion-on .hero-atmosphere .unfolding{animation:page-unfold 13s ease-in-out infinite alternate!important;transform-origin:300px 510px}
.motion-on .hero-atmosphere .light-seed{animation:seed-glimmer 7s ease-in-out calc(var(--i,0)*-.8s) infinite alternate!important}
.motion-on .hero-atmosphere .dust{animation:form-drift 23s ease-in-out infinite alternate!important}
.motion-on .atmosphere-glow{animation:glow-breathe 14s ease-in-out infinite alternate!important}
.home .hero-atmosphere{z-index:0;color:#f2dfb6}
.home .hero-atmosphere .motion-canvas{width:min(60vw,850px);right:-6%;opacity:.51;top:48%;mask-image:linear-gradient(90deg,transparent,#000 24%)}
.home .hero-atmosphere .atmosphere-glow{background:radial-gradient(ellipse at 65% 45%,#e8c78025,transparent 65%);width:75%;mix-blend-mode:screen}
.home .hero-inner,.home .hero-foot{position:relative;z-index:1}
.home .hero-foot{position:absolute}
.page-intro .hero-atmosphere .motion-canvas,.gallery-intro .hero-atmosphere .motion-canvas{width:min(45vw,540px);right:-5%;opacity:.5;mask-image:linear-gradient(90deg,transparent,#000 42%)}
.page-intro h1,.page-intro .lead,.page-intro .eyebrow{position:relative;z-index:1}
.book-hero .hero-atmosphere .motion-canvas{right:0;opacity:.26;width:58%}
.book-hero .book-scene{position:relative;background:transparent}
.book-hero .book-object{transform-origin:50% 80%;transition:transform 1.2s cubic-bezier(.16,1,.3,1),box-shadow 1.2s}
.motion-on .book-hero .book-scene:hover .book-object{transform:perspective(1000px) rotateY(-11deg) rotateZ(-2deg) translateY(-7px);box-shadow:20px 30px 45px #102c4229}
.motion-on .reveal-pending{opacity:0;transform:translate3d(0,28px,0);transition:opacity 1s ease,transform 1.2s cubic-bezier(.16,1,.3,1);transition-delay:var(--reveal-delay,0ms)}
.motion-on .reveal-pending.reveal-shown{opacity:1;transform:none}
.motion-on .depth-image{will-change:transform}
.practice-gallery figure{overflow:hidden}
.motion-on .button{transition:background .3s,box-shadow .4s,transform .45s cubic-bezier(.16,1,.3,1)}
.motion-on .button:hover{transform:translateY(-3px);box-shadow:0 9px 24px #0c223519}
.button>span,.text-link>span{transition:transform .45s cubic-bezier(.16,1,.3,1)}
.motion-on .button:hover>span,.motion-on .text-link:hover>span{transform:translateX(4px)}
.motion-on .workspace-card,.motion-on .purchase-card{transition:background .4s,border-color .4s,box-shadow .4s,transform .65s cubic-bezier(.16,1,.3,1),opacity 1s}
.motion-on .workspace-card:hover,.motion-on .purchase-card:hover{transform:translateY(-5px);box-shadow:0 16px 32px #0c223510}
.motion-dock{position:fixed;right:20px;bottom:18px;z-index:45;display:flex;align-items:center;gap:8px;margin:0;padding:10px 15px;border:1px solid #ffffff38;border-radius:24px;background:#0c2235e8;color:#fbf8ef;font:10px/1.4 var(--sans,Arial,sans-serif);letter-spacing:.35px;opacity:.9;box-shadow:0 3px 15px #0c223512;backdrop-filter:blur(12px)}
.motion-dock:before{content:"";width:7px;height:9px;border-inline:2px solid currentColor;box-sizing:border-box}
.motion-dock[aria-pressed=true]:before{border:0;width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.6}
.motion-dock:disabled{cursor:default;opacity:.65}
.motion-dock:focus-visible{outline:3px solid #997226;outline-offset:4px}
/* Pausing is complete, including motion inherited from edition styles. */
.motion-off *, .motion-off *:before,.motion-off *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.motion-off{scroll-behavior:auto!important}
.motion-off .hero-cue,.motion-off .reveal-pending,.motion-off .reveal-ready{opacity:1!important;transform:none!important}
.motion-off .hero-atmosphere,.motion-off .depth-image{transform:none!important}
.motion-off .draw-line{stroke-dashoffset:0!important}
.motion-off .button:hover,.motion-off .workspace-card:hover,.motion-off .purchase-card:hover,.motion-off .book-scene:hover .book-object{transform:none!important}
html.motion-on.motion-sleep *,html.motion-on.motion-sleep *:before,html.motion-on.motion-sleep *:after,html.motion-on.motion-sleep .hero-atmosphere *,html.motion-on .motion-stage.stage-asleep .hero-atmosphere *{animation-play-state:paused!important}
@keyframes cinema-enter{from{opacity:0;transform:translate3d(0,25px,0)}to{opacity:1;transform:none}}
@keyframes line-compose{to{stroke-dashoffset:0}}
@keyframes halo-breathe{from{opacity:.28;stroke-width:.6}to{opacity:.85;stroke-width:1}}
@keyframes form-breathe{from{transform:scale(.96)}to{transform:scale(1.035)}}
@keyframes orbit-turn{to{transform:rotate(360deg)}}
@keyframes form-sway{from{transform:rotate(-3deg) translateY(3px)}to{transform:rotate(3deg) translateY(-5px)}}
@keyframes form-drift{from{transform:translate3d(-5px,7px,0)}to{transform:translate3d(6px,-9px,0)}}
@keyframes water-breathe{0%,100%{opacity:.22;scale:.97}50%{opacity:.85;scale:1.045}}
@keyframes page-unfold{from{transform:perspective(800px) rotateY(-12deg) rotate(-2deg)}to{transform:perspective(800px) rotateY(12deg) rotate(2deg)}}
@keyframes seed-glimmer{from{opacity:.16}to{opacity:.8}}
@keyframes glow-breathe{from{opacity:.45;transform:scale(.92) translate(-2%,2%)}to{opacity:1;transform:scale(1.12) translate(2%,-2%)}}
@media(max-width:900px){.hero-atmosphere .motion-canvas{width:65vw;right:-12%}.page-intro .hero-atmosphere .motion-canvas{width:57vw;right:-12%;opacity:.32}.home .hero-atmosphere .motion-canvas{width:90vw;right:-24%;opacity:.38}.motion-dock{bottom:12px;right:12px}}
@media(max-width:600px){.hero-atmosphere .motion-canvas{width:100vw;right:-40%;opacity:.3}.home .hero-atmosphere .motion-canvas{width:115vw;right:-49%;top:42%;opacity:.34}.page-intro .hero-atmosphere .motion-canvas,.gallery-intro .hero-atmosphere .motion-canvas{width:90vw;right:-41%;opacity:.27}.book-hero .hero-atmosphere .motion-canvas{width:100%;top:62%;right:0;opacity:.23}.motion-dock{font-size:9px;padding:9px 12px}.motion-on .reveal-pending{transform:translate3d(0,16px,0)}.motion-on .reveal-shown{transform:none}.hero-atmosphere .dust{display:none}}
@media(max-width:360px){.gallery .site-header{flex-wrap:wrap;gap:12px}.gallery .site-header .admin-link{margin-left:auto}}
@media(prefers-reduced-motion:reduce){html:not(.motion-on) *,html:not(.motion-on) *:before,html:not(.motion-on) *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}html:not(.motion-on) .hero-cue,html:not(.motion-on) .reveal-pending{opacity:1!important;transform:none!important}html:not(.motion-on) .hero-atmosphere,html:not(.motion-on) .depth-image{transform:none!important}html:not(.motion-on) .hero-atmosphere .draw-line{stroke-dashoffset:0!important}}
@media print{.hero-atmosphere,.motion-dock{display:none!important}.hero-cue,.reveal-pending{opacity:1!important;transform:none!important}}
