:root{--ink:#1A1A2E;--stock:#EDE8D0;--lilac:#C3A6FF;--teal:#4FFFDF;--pink:#FF6EC7;--ink-80:rgba(26,26,46,0.8);--ink-40:rgba(26,26,46,0.4);--stock-60:rgba(237,232,208,0.6);--stock-10:rgba(237,232,208,0.1)}html{scroll-behavior:smooth}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}*{box-sizing:border-box}body{font-family:'DM Sans',sans-serif;background-color:var(--ink);color:var(--stock);overflow-x:hidden;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,.serif{font-family:'Fraunces',serif}.grain-overlay::after{content:'';position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");pointer-events:none;z-index:100;opacity:0.035}.iridescent{position:relative;overflow:hidden}.iridescent::before{content:'';position:absolute;inset:0;background:linear-gradient( 135deg,transparent 0%,rgba(195,166,255,0.15) 25%,rgba(79,255,223,0.1) 50%,rgba(255,110,199,0.12) 75%,transparent 100% );opacity:0;transition:opacity 0.4s ease;pointer-events:none;z-index:10}.iridescent:hover::before{opacity:1}@keyframes shimmer{0%{background-position:-200% center}100%{background-position:200% center}}@keyframes shimmerMove{0%{transform:translateX(-100%) rotate(35deg)}100%{transform:translateX(300%) rotate(35deg)}}.shimmer-text{background:linear-gradient( 90deg,var(--lilac) 0%,var(--teal) 30%,var(--pink) 60%,var(--lilac) 100% );background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer 4s linear infinite}@keyframes pinkPulse{0%,100%{box-shadow:0 0 20px rgba(255,110,199,0.3),0 0 40px rgba(255,110,199,0.1)}50%{box-shadow:0 0 30px rgba(255,110,199,0.6),0 0 60px rgba(255,110,199,0.2)}}.pulse-pink{animation:pinkPulse 2.5s ease-in-out infinite}@keyframes sweepShimmer{0%{transform:translateX(-150%) skewX(-15deg)}100%{transform:translateX(250%) skewX(-15deg)}}.tile-shimmer{position:relative;overflow:hidden}.tile-shimmer::after{content:'';position:absolute;top:-50%;left:-50%;width:50%;height:200%;background:linear-gradient( 90deg,transparent,rgba(195,166,255,0.2),rgba(79,255,223,0.15),transparent );transform:translateX(-150%) skewX(-15deg);transition:none;pointer-events:none;z-index:20}.tile-shimmer:hover::after{animation:sweepShimmer 0.8s ease-out forwards}.mosaic-img{transition:transform 0.8s cubic-bezier(0.16,1,0.3,1),filter 0.5s ease;filter:saturate(0.7) brightness(0.85)}.mosaic-img:hover{transform:scale(1.04);filter:saturate(1) brightness(1)}@keyframes revealUp{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.reveal-up{animation:revealUp 0.8s cubic-bezier(0.16,1,0.3,1) forwards;opacity:0}.delay-1{animation-delay:0.1s}.delay-2{animation-delay:0.2s}.delay-3{animation-delay:0.3s}.delay-4{animation-delay:0.4s}.delay-5{animation-delay:0.5s}.delay-6{animation-delay:0.6s}.ink-texture{background-color:var(--ink);background-image:radial-gradient(ellipse at 20% 50%,rgba(195,166,255,0.06) 0%,transparent 60%),radial-gradient(ellipse at 80% 20%,rgba(79,255,223,0.04) 0%,transparent 50%),radial-gradient(ellipse at 60% 80%,rgba(255,110,199,0.05) 0%,transparent 50%)}.holo-border{position:relative}.holo-border::before{content:'';position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,var(--lilac),var(--teal),var(--pink));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity 0.3s ease;pointer-events:none;z-index:5}.holo-border:hover::before{opacity:1}.stamp-rotate{transform:rotate(-8deg)}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}.btn-press{transition:transform 0.15s cubic-bezier(0.25,1,0.5,1),box-shadow 0.15s ease}.btn-press:hover{transform:scale(1.02)}.btn-press:active{transform:scale(0.97)}@keyframes ripple{0%{transform:scale(0);opacity:0.6}100%{transform:scale(2.5);opacity:0}}.btn-ripple{position:relative;overflow:hidden}.btn-ripple::after{content:'';position:absolute;top:50%;left:50%;width:100%;height:100%;background:radial-gradient(circle,rgba(255,255,255,0.3) 0%,transparent 70%);transform:translate(-50%,-50%) scale(0);pointer-events:none}.btn-ripple:active::after{animation:ripple 0.6s ease-out forwards}.input-focus{transition:border-color 0.25s ease,box-shadow 0.25s ease,transform 0.2s ease}.input-focus:focus{transform:translateY(-1px);box-shadow:0 4px 20px rgba(195,166,255,0.15)}@keyframes successPulse{0%,100%{box-shadow:0 0 0 0 rgba(79,255,223,0.4)}50%{box-shadow:0 0 0 12px rgba(79,255,223,0)}}.success-pulse{animation:successPulse 0.6s ease-out}@keyframes shake{0%,100%{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-4px)}20%,40%,60%,80%{transform:translateX(4px)}}.shake{animation:shake 0.5s ease-in-out}@keyframes countUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.count-up{animation:countUp 0.6s cubic-bezier(0.25,1,0.5,1) forwards}.card-hover{transition:transform 0.3s cubic-bezier(0.25,1,0.5,1),box-shadow 0.3s ease,border-color 0.3s ease}.card-hover:hover{transform:translateY(-4px)}@keyframes badgePop{0%{transform:scale(0.8) rotate(-8deg);opacity:0}60%{transform:scale(1.1) rotate(-8deg)}100%{transform:scale(1) rotate(-8deg);opacity:1}}.badge-pop{animation:badgePop 0.5s cubic-bezier(0.25,1,0.5,1) forwards}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--ink)}::-webkit-scrollbar-thumb{background:rgba(195,166,255,0.4);border-radius:2px}