/* CREATOR CAMP ID STUDIO · V20 — homepage-only, restrained cinematic motion */
:root{--ccid20-violet:#bc86ff;--ccid20-line:rgba(196,147,251,.22)}
html{scroll-padding-top:90px}
html.ccid20-motion{scroll-behavior:smooth}
body.ccid20-ready{isolation:isolate}
body.ccid20-ready .section{position:relative}
/* The accent lines tie sections together without adding large bright glow areas. */
body.ccid20-ready main>.section:not(.hero):not(.ticker)::before{content:"";position:absolute;top:0;left:50%;width:min(740px,78%);height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,rgba(179,120,246,.24),transparent);pointer-events:none}
/* Additive motion uses independent translate property; V19's transform positioning remains untouched. */
body.ccid20-ready [data-ccid20-reveal]{opacity:0;filter:blur(8px);translate:0 25px;transition:opacity 780ms cubic-bezier(.21,.7,.2,1),filter 850ms ease,translate 850ms cubic-bezier(.16,1,.3,1);transition-delay:var(--ccid20-delay,0ms);will-change:opacity,filter,translate}
body.ccid20-ready [data-ccid20-reveal].ccid20-visible{opacity:1;filter:blur(0);translate:0 0;will-change:auto}
/* A quiet visual line under headings gives an arrival cue without modifying content. */
body.ccid20-ready .section-top .eyebrow,body.ccid20-ready .hero .eyebrow{position:relative}
body.ccid20-ready .section-top h2,body.ccid20-ready .contact-card h2{transition:text-shadow .5s ease}
/* Product cards, feature boxes and team profiles gain tactile depth. Excludes V19 3D cards. */
@media(hover:hover) and (pointer:fine){
 body.ccid20-ready #productsGrid .product-card,
 body.ccid20-ready #addonsGrid .product-card,
 body.ccid20-ready .benefit-tiles article,
 body.ccid20-ready .order-card,
 body.ccid20-ready .review-card,
 body.ccid20-ready .team-card{transition:border-color .28s ease,background-color .3s ease,box-shadow .32s ease,transform .32s cubic-bezier(.2,.85,.22,1)}
 body.ccid20-ready #productsGrid .product-card:hover,
 body.ccid20-ready #addonsGrid .product-card:hover,
 body.ccid20-ready .benefit-tiles article:hover,
 body.ccid20-ready .order-card:hover,
 body.ccid20-ready .review-card:hover,
 body.ccid20-ready .team-card:hover{border-color:rgba(191,132,250,.46);box-shadow:0 16px 45px rgba(0,0,0,.28),0 0 0 1px rgba(198,148,246,.09);transform:translateY(-5px)}
 body.ccid20-ready :is(.button,.nav nav a,.contact-link,.lang-switch button,.ccid19-nav button,.menu-toggle,.modal-close):not(:disabled):hover{filter:brightness(1.09)}
}
body.ccid20-ready :is(.button,.lang-switch button,.ccid19-nav button,.menu-toggle,.modal-close,button):not(:disabled){-webkit-tap-highlight-color:transparent;touch-action:manipulation}
body.ccid20-ready :is(.button,.lang-switch button,.ccid19-nav button,.menu-toggle,.modal-close):not(:disabled):active{filter:brightness(.96)}
body.ccid20-ready :is(a,button,[role="button"]):focus-visible{outline:2px solid #d6aeff;outline-offset:4px}
body.ccid20-ready .button:not(.ghost){transition:transform .25s ease,filter .25s ease,box-shadow .3s ease;box-shadow:0 6px 18px rgba(113,51,185,.16)}
@media(hover:hover){body.ccid20-ready .button:not(.ghost):hover{box-shadow:0 11px 28px rgba(122,61,196,.26);transform:translateY(-2px)}}
/* Very light reaction surface, using pointer point tracked by JS. */
body.ccid20-ready .ccid20-pointer-glow{--ccid20-x:50%;--ccid20-y:50%;position:relative;isolation:isolate}
body.ccid20-ready .ccid20-pointer-glow::after{content:"";position:absolute;inset:0;border-radius:inherit;z-index:0;pointer-events:none;opacity:0;transition:opacity .4s ease;background:radial-gradient(340px circle at var(--ccid20-x) var(--ccid20-y),rgba(163,94,244,.065),transparent 74%)}
@media(hover:hover){body.ccid20-ready .ccid20-pointer-glow:hover::after{opacity:1}}
body.ccid20-ready .ccid20-pointer-glow>*{position:relative;z-index:1}
/* Floating audio preference; not part of main navbar so mobile navigation stays unclipped. */
.ccid20-sound-toggle{position:fixed;right:clamp(12px,2.8vw,30px);bottom:max(18px,env(safe-area-inset-bottom,0px) + 16px);z-index:48;display:flex;align-items:center;gap:8px;min-height:43px;padding:9px 14px;color:#ede2fc;font:750 11px/1.1 system-ui,sans-serif;letter-spacing:.09em;border:1px solid rgba(190,144,240,.35);border-radius:999px;background:rgba(20,11,34,.86);box-shadow:0 10px 32px rgba(0,0,0,.32);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);cursor:pointer;transition:border-color .25s,background .25s,transform .25s}
.ccid20-sound-toggle:hover{border-color:rgba(198,151,251,.6);background:rgba(36,20,55,.94)}
.ccid20-sound-toggle:focus-visible{outline:2px solid #d6aeff;outline-offset:3px}
.ccid20-sound-toggle .ccid20-sound-dot{width:7px;height:7px;border-radius:50%;background:#aa88c2;box-shadow:none}
.ccid20-sound-toggle[aria-pressed="true"] .ccid20-sound-dot{background:#a4efc2;box-shadow:0 0 7px rgba(164,239,194,.2)}
.ccid20-sound-toggle svg{width:16px;height:16px;display:block}
@media(max-width:650px){.ccid20-sound-toggle{padding:9px 12px;bottom:max(14px,env(safe-area-inset-bottom,0px) + 12px);font-size:10px}body.ccid20-ready [data-ccid20-reveal]{filter:blur(4px);translate:0 14px;transition-duration:650ms}}
@media(prefers-reduced-motion:reduce){html.ccid20-motion{scroll-behavior:auto!important}body.ccid20-ready [data-ccid20-reveal]{opacity:1!important;filter:none!important;translate:none!important;transition:none!important;will-change:auto!important}body.ccid20-ready :is(.button,.team-card,.product-card,.order-card,.benefit-tiles article,.review-card){animation:none!important;transition:none!important}}
