:root{--primary-h: 333;--primary-s: 70%;--primary-l: 50%;--primary: hsl(var(--primary-h), var(--primary-s), var(--primary-l));--primary-hover: hsl(var(--primary-h), var(--primary-s), calc(var(--primary-l) - 5%));--primary-light: hsl(var(--primary-h), var(--primary-s), 95%);--primary-soft: hsl(var(--primary-h), var(--primary-s), 90%);--bg-main: #F8F9FA;--surface: #FFFFFF;--border: #F1F3F5;--text-main: #1A1C1E;--text-muted: #6C757D;--text-light: #ADB5BD;--success: #22C55E;--danger: #EF4444;--warning: #F59E0B;--info: #3B82F6;--radius-card: 12px;--radius-interactive: 14px;--radius-modal: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-premium: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--gradient-church-primary: linear-gradient(135deg, #06b6d4 0%, #3b82f6 100%);--gradient-church-accent: linear-gradient(135deg, #ec4899 0%, #8b5cf6 100%);--gradient-hero-overlay: linear-gradient(135deg, rgba(6, 182, 212, .95) 0%, rgba(59, 130, 246, .95) 100%);--glass-bg: rgba(255, 255, 255, .1);--glass-bg-light: rgba(255, 255, 255, .7);--glass-border: rgba(255, 255, 255, .2);--glass-shadow: 0 8px 32px 0 rgba(31, 38, 135, .15);--spacing-hero: 120px;--spacing-section: 80px}@media screen and (max-width:768px){input,select,textarea{font-size:16px!important}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{overflow-x:hidden;min-height:100%;width:100%;-webkit-font-smoothing:antialiased;background-color:var(--bg-main);color:var(--text-main);margin:0;padding:0}#root{min-height:100%;width:100%;position:relative}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideLeft{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes slideRight{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes gradientX{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.animate-fade-in{animation:fadeIn .5s cubic-bezier(.16,1,.3,1) forwards}.animate-slide-left{animation:slideLeft .5s cubic-bezier(.16,1,.3,1) forwards}.animate-slide-right{animation:slideRight .5s cubic-bezier(.16,1,.3,1) forwards}.animate-scale-in{animation:scaleIn .4s cubic-bezier(.16,1,.3,1) forwards}.animate-gradient-x{background-size:200% 200%;animation:gradientX 3s ease infinite}.stagger-children>*{opacity:0}.stagger-children>*:nth-child(1){animation:fadeIn .5s cubic-bezier(.16,1,.3,1) forwards .1s}.stagger-children>*:nth-child(2){animation:fadeIn .5s cubic-bezier(.16,1,.3,1) forwards .2s}.stagger-children>*:nth-child(3){animation:fadeIn .5s cubic-bezier(.16,1,.3,1) forwards .3s}.stagger-children>*:nth-child(4){animation:fadeIn .5s cubic-bezier(.16,1,.3,1) forwards .4s}.stagger-children>*:nth-child(5){animation:fadeIn .5s cubic-bezier(.16,1,.3,1) forwards .5s}.stagger-children>*:nth-child(6){animation:fadeIn .5s cubic-bezier(.16,1,.3,1) forwards .6s}.hover-lift{transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.hover-lift:hover{transform:translateY(-4px) scale(1.01)}.active-shrink:active{transform:scale(.96)}.glass-effect{background:var(--glass-bg-light);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0006;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex!important;align-items:center;justify-content:center;padding:1rem;z-index:99999!important}.modal-container{position:relative;background-color:#fff;width:100%;border-radius:var(--radius-modal);overflow:hidden;box-shadow:var(--shadow-premium);animation:modalScaleIn .3s cubic-bezier(.16,1,.3,1) forwards;z-index:100000!important}@keyframes modalScaleIn{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}
