.hero-section .decorative-shapes{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.hero-section .decorative-circle{position:absolute;border-radius:50%;opacity:.08;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%)}.hero-section .decorative-circle-1{width:400px;height:400px;top:-200px;right:-100px;animation:float 20s ease-in-out infinite}.hero-section .decorative-circle-2{width:300px;height:300px;bottom:-150px;left:-100px;animation:float 25s ease-in-out infinite reverse}.hero-section .decorative-circle-3{width:200px;height:200px;top:50%;right:-50px;animation:float 15s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-30px) rotate(5deg)}}.card-accent{position:relative;overflow:hidden}.card-accent:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,var(--primary) 0%,var(--primary-light) 100%)}.card-accent-corner{position:relative}.card-accent-corner:after{content:"";position:absolute;top:-2px;right:-2px;width:60px;height:60px;background:linear-gradient(135deg,transparent 50%,var(--primary-light) 50%);opacity:.2;border-radius:0 var(--radius-lg) 0 0}.section-with-bg-pattern{position:relative;background-image:linear-gradient(to right,var(--gray-100) 1px,transparent 1px),linear-gradient(to bottom,var(--gray-100) 1px,transparent 1px);background-size:40px 40px}.floating-badge{position:absolute;padding:.75rem 1.5rem;background:#fff;border-radius:var(--radius-full);box-shadow:var(--shadow-xl);display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.875rem;z-index:2}.floating-badge svg{width:20px;height:20px;color:var(--primary)}.floating-badge-1{top:10%;left:-20px;animation:float-badge 6s ease-in-out infinite}.floating-badge-2{bottom:15%;right:-20px;animation:float-badge 7s ease-in-out infinite reverse}@keyframes float-badge{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}.gradient-border-card{position:relative;padding:2px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);border-radius:var(--radius-lg)}.gradient-border-card-inner{background:#fff;border-radius:calc(var(--radius-lg) - 2px);padding:2rem}.section-divider{position:relative;height:60px;display:flex;align-items:center;justify-content:center;overflow:hidden}.section-divider:before{content:"";position:absolute;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,var(--primary-light) 50%,transparent 100%);opacity:.3}.section-divider-icon{position:relative;width:40px;height:40px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);z-index:1}.section-divider-icon svg{width:20px;height:20px;color:var(--primary)}.stats-section .stat-item{position:relative}.stats-section .stat-item:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:60px;height:4px;background:linear-gradient(90deg,var(--primary) 0%,var(--primary-light) 100%);border-radius:2px;opacity:0;transition:opacity var(--transition)}.stats-section .stat-item:hover:before{opacity:1}.feature-card{position:relative;transition:transform var(--transition-slow)}.feature-card:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary) 0%,var(--primary-light) 100%);border-radius:0 0 var(--radius-lg) var(--radius-lg);transform:scaleX(0);transition:transform var(--transition-slow)}.feature-card:hover:after{transform:scaleX(1)}.formation-card{position:relative}.formation-card:before{content:"";position:absolute;inset:-3px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);border-radius:calc(var(--radius-lg) + 3px);opacity:0;transition:opacity var(--transition);z-index:-1}.formation-card:hover:before{opacity:.3}@media (max-width: 768px){.hero-section .decorative-circle-1{width:250px;height:250px}.hero-section .decorative-circle-2{width:200px;height:200px}.hero-section .decorative-circle-3,.floating-badge-1,.floating-badge-2{display:none}}
