/* Critical CSS - минимум для первого рендера */
:root{--premium-bezier:cubic-bezier(.16,1,.3,1);--atomy-blue:#3ba4d6}
*,::after,::before{box-sizing:border-box;border:0 solid #e5e7eb}
body{margin:0;font-family:'Rubik',ui-sans-serif,system-ui,sans-serif;background-color:#fcfcfc;color:#1f2937;-webkit-font-smoothing:antialiased}
.min-h-screen{min-height:100vh}
.flex{display:flex}
.flex-col{flex-direction:column}
.flex-grow{flex-grow:1}
.font-sans{font-family:'Rubik',ui-sans-serif,system-ui,sans-serif}
.bg-\[\#fcfcfc\]{background-color:#fcfcfc}
/* Header critical */
.glass-nav{background:rgba(255,255,255,.75);backdrop-filter:blur(15px) saturate(180%);-webkit-backdrop-filter:blur(15px) saturate(180%);border-bottom:1px solid rgba(255,255,255,.3)}
.fixed{position:fixed}
.top-0{top:0}
.left-0{left:0}
.right-0{right:0}
.z-50{z-index:50}
/* Hero critical */
.relative{position:relative}
.absolute{position:absolute}
.inset-0{inset:0}
.z-0{z-index:0}
.z-10{z-index:10}
.text-center{text-align:center}
.overflow-hidden{overflow:hidden}
/* Reveal animation initial state */
.reveal{opacity:0;filter:blur(12px);transform:translateY(30px) scale(.98);transition:opacity 1.4s var(--premium-bezier),filter 1.2s var(--premium-bezier),transform 1.4s var(--premium-bezier);will-change:opacity,transform,filter}
.reveal.active{opacity:1;filter:blur(0);transform:translateY(0) scale(1)}
/* Skeleton loading */
.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}
/* Spinner */
.animate-spin{animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
