/* Decorative light and contours. All content remains visible without motion. */
body.costbook-atelier,body.design-workspace{isolation:isolate}
.costbook-atmosphere{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;contain:strict}
.costbook-atmosphere i{position:absolute;display:block;pointer-events:none;animation-play-state:paused}
.costbook-atmosphere .ambient-light{width:90vmax;height:80vmax;top:-40vmax;right:-28vmax;background:radial-gradient(ellipse at center,#70b5a648 0,#477f8530 30%,transparent 65%);border-radius:50%}
.costbook-atmosphere .ambient-glow{width:75vmax;height:70vmax;bottom:-42vmax;left:-30vmax;background:radial-gradient(ellipse at center,#b8df8d24,transparent 64%);border-radius:50%}
.costbook-atmosphere .ambient-contours{width:105vmax;height:75vmax;top:-30vmax;right:-40vmax;border-radius:45%;border:1px solid #a3dac216;box-shadow:0 0 0 55px #a3dac208,0 0 0 110px #a3dac208,0 0 0 165px #a3dac208;transform:rotate(-22deg)}
.design-workspace .costbook-atmosphere{opacity:.28}.design-workspace .ambient-light{background:radial-gradient(ellipse,#4e8a9d55,transparent 65%)}.design-workspace .ambient-glow{background:radial-gradient(ellipse,#8abf9555,transparent 65%)}
.costbook-atelier .experience-proof{position:relative;isolation:isolate;overflow:hidden}.costbook-atelier .experience-proof::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at top right,#8dccb329,transparent 65%)}
@media(prefers-reduced-motion:no-preference){
 .ambient-ready .ambient-light{animation:ambient-drift 22s ease-in-out infinite alternate}
 .ambient-ready .ambient-glow{animation:ambient-drift 28s -9s ease-in-out infinite alternate-reverse}
 .ambient-ready .ambient-contours{animation:ambient-contour 34s ease-in-out infinite alternate}
 .costbook-atelier.ambient-ready .experience-proof::before{animation:ambient-card-light 12s ease-in-out infinite alternate}
 .costbook-atelier.ambient-ready .feature-panel:not([hidden]){animation:ambient-panel-enter .3s ease-out}
 .costbook-atelier.ambient-ready .demo-business-buttons button,.costbook-atelier.ambient-ready .proof-service-buttons button{transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s}
 .costbook-atelier.ambient-ready .demo-business-buttons button:active,.costbook-atelier.ambient-ready .proof-service-buttons button:active{box-shadow:0 0 0 4px #c7e8b21c}
}
@keyframes ambient-drift{from{transform:translate3d(-3%,0,0) scale(.92)}to{transform:translate3d(8%,9%,0) scale(1.08)}}
@keyframes ambient-contour{from{transform:translate3d(0,0,0) rotate(-22deg)}to{transform:translate3d(-4%,5%,0) rotate(-12deg)}}
@keyframes ambient-card-light{from{opacity:.3}to{opacity:1}}
@keyframes ambient-panel-enter{from{opacity:.7;transform:translateY(6px)}to{opacity:1;transform:none}}
/* Pause in background tabs and while someone types; controls never move. */
.ambient-idle .costbook-atmosphere i,.ambient-idle .experience-proof::before,.motion-paused .costbook-atmosphere i,.motion-paused .experience-proof::before,.ambient-card-off .experience-proof::before,body:has(input:focus,textarea:focus,select:focus) .costbook-atmosphere i{animation-play-state:paused!important}
:root[data-motion=off] .costbook-atmosphere i,:root[data-motion=quiet] .costbook-atmosphere i{animation:none!important}
.motion-paused *::before,.motion-paused *::after{animation:none!important;transition:none!important}
.costbook-atelier .ambient-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin:16px 0;padding:10px 16px;border:1px solid #658579;border-radius:8px;background:#163a3f;color:#dcebdd;font:inherit;font-size:13px;cursor:pointer}
@media(max-width:700px){.costbook-atmosphere .ambient-contours{display:none}.costbook-atmosphere .ambient-glow{display:none}.ambient-ready .ambient-light{animation-duration:30s}}
@media(prefers-reduced-motion:reduce){.costbook-atmosphere i,.experience-proof::before{animation:none!important}.costbook-atelier .feature-panel{animation:none!important}}
@media print{.costbook-atmosphere,.ambient-toggle{display:none!important}}

/* Soft studio-light ribbons: decorative, with stationary controls and text. */
.costbook-atmosphere .ambient-ribbon,.costbook-atmosphere .ambient-ribbon-secondary{width:65vmax;height:140vmax;top:-55vmax;right:-25vmax;border-radius:48%;background:linear-gradient(100deg,transparent 36%,#a6dcc609 43%,#b8e0cd28 49%,#85bccc0d 54%,transparent 62%);transform:rotate(-32deg);opacity:.7}
.costbook-atmosphere .ambient-ribbon-secondary{right:auto;left:-40vmax;top:-15vmax;background:linear-gradient(100deg,transparent 40%,#d7efb513 49%,#82bbc418 52%,transparent 61%);opacity:.5;transform:rotate(24deg)}
@media(prefers-reduced-motion:no-preference){.ambient-ready .ambient-ribbon{animation:studio-ribbon 18s ease-in-out infinite alternate}.ambient-ready .ambient-ribbon-secondary{animation:studio-ribbon-return 25s -8s ease-in-out infinite alternate}}
@keyframes studio-ribbon{from{transform:translate3d(8%,-4%,0) rotate(-35deg);opacity:.35}to{transform:translate3d(-18%,9%,0) rotate(-19deg);opacity:.85}}
@keyframes studio-ribbon-return{from{transform:translate3d(-6%,0,0) rotate(24deg)}to{transform:translate3d(18%,-8%,0) rotate(37deg)}}
@media(max-width:700px){.costbook-atmosphere .ambient-ribbon-secondary{display:none}.ambient-ready .ambient-ribbon{animation-duration:28s;opacity:.4}}
