@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes slideInLeft{0%{transform:translateX(-100%)}to{transform:translateX(0)}}@keyframes slideInRight{0%{transform:translateX(100%)}to{transform:translateX(0)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-md) var(--spacing-xl);font-family:var(--font-primary);font-size:var(--text-base);font-weight:var(--weight-semibold);border-radius:var(--radius-sm);border:0;cursor:pointer;text-decoration:none;transition:all var(--transition-fast);white-space:nowrap}.btn-primary,.btn-secondary{background-color:var(--color-primary);color:var(--color-white)}.btn-primary:hover,.btn-secondary:hover{background-color:#163d22;transform:translateY(-2px);box-shadow:0 8px 20px rgba(30,77,43,.3)}.btn-secondary{background-color:var(--color-accent)}.btn-secondary:hover{background-color:#b0934f;box-shadow:0 8px 20px rgba(200,165,94,.3)}.btn-light,.btn-outline{color:var(--color-primary)}.btn-outline{background-color:transparent;border:2px solid var(--color-primary)}.btn-outline:hover{background-color:var(--color-primary);color:var(--color-white)}.btn-light{background-color:var(--color-white)}.btn-light:hover{background-color:var(--color-lighter-gray)}.btn-large{padding:var(--spacing-lg) var(--spacing-2xl);font-size:var(--text-lg)}.btn-small{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--text-sm)}.btn-full{width:100%}.btn-icon,.social-btn{border-radius:var(--radius-full)}.btn-icon{width:48px;height:48px;padding:0}.social-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;background-color:rgba(255,255,255,.1);color:var(--color-white);transition:all var(--transition-fast);backdrop-filter:blur(10px)}.social-btn:hover{background-color:var(--color-accent);transform:translateY(-3px)}.footer .social-btn{background-color:rgba(255,255,255,.05)}.footer .social-btn:hover{background-color:var(--color-primary)}.form-control{width:100%;padding:var(--spacing-md);border:2px solid var(--color-light-gray);border-radius:var(--radius-sm);font-family:var(--font-primary);font-size:var(--text-base);color:var(--color-dark);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-control:focus{outline:0;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(30,77,43,.1)}.form-control::placeholder{color:var(--color-gray)}textarea.form-control{min-height:120px;resize:vertical}.form-group.error .form-control{border-color:#dc3545}.form-group.success .form-control{border-color:#28a745}.error-message,.success-message{font-size:var(--text-sm);color:#dc3545;margin-top:var(--spacing-xs)}.success-message{color:#28a745}.select-wrapper{position:relative}.select-wrapper::after{content:"▼";position:absolute;right:var(--spacing-md);top:50%;transform:translateY(-50%);pointer-events:none;color:var(--color-gray);font-size:var(--text-xs)}.select-wrapper select{appearance:none;padding-right:var(--spacing-2xl)}.checkbox-wrapper,.radio-wrapper{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer}.checkbox-wrapper input[type=checkbox],.radio-wrapper input[type=radio]{width:20px;height:20px;cursor:pointer}.card{background-color:var(--color-white);border-radius:var(--radius-md);overflow:hidden;box-shadow:0 2px 20px rgba(0,0,0,.08);transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.card:hover{transform:translateY(-5px);box-shadow:0 8px 30px rgba(0,0,0,.15)}.card-image{position:relative;overflow:hidden;aspect-ratio:16/10}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.card:hover .card-image img{transform:scale(1.05)}.card-body{padding:var(--spacing-xl)}.card-title{font-size:var(--text-xl);font-weight:var(--weight-semibold);margin-bottom:var(--spacing-md);color:var(--color-dark)}.card-text{color:var(--color-gray);line-height:1.7}.card-footer{padding:var(--spacing-md) var(--spacing-xl);border-top:1px solid var(--color-light-gray);display:flex;align-items:center;justify-content:space-between}.page-numbers,.pagination{align-items:center;justify-content:center}.pagination{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-3xl)}.page-numbers{display:inline-flex;min-width:44px;height:44px;padding:0 var(--spacing-md);border:2px solid var(--color-light-gray);border-radius:var(--radius-sm);font-weight:var(--weight-medium);color:var(--color-dark);transition:all var(--transition-fast);text-decoration:none}.page-numbers.current,.page-numbers:hover{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.page-numbers.dots{border:0;pointer-events:none}.page-numbers.next,.page-numbers.prev{font-weight:var(--weight-semibold)}.breadcrumbs{flex-wrap:wrap;margin-bottom:var(--spacing-lg);font-size:var(--text-sm)}.breadcrumb-item,.breadcrumbs{display:flex;align-items:center;gap:var(--spacing-sm)}.breadcrumb-item a{color:var(--color-gray);transition:color var(--transition-fast)}.breadcrumb-item a:hover{color:var(--color-primary)}.breadcrumb-separator{color:var(--color-light-gray)}.breadcrumb-item.active{color:var(--color-dark);font-weight:var(--weight-medium)}.modal,.modal-overlay{position:fixed;opacity:0;pointer-events:none}.modal-overlay{top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.8);z-index:9998;transition:opacity var(--transition-normal);backdrop-filter:blur(5px)}.modal-overlay.active,.modal.active{opacity:1;pointer-events:auto}.modal{top:50%;left:50%;transform:translate(-50%,-50%) scale(.9);background-color:var(--color-white);border-radius:var(--radius-md);padding:var(--spacing-2xl);max-width:600px;width:90%;max-height:90vh;overflow-y:auto;z-index:9999;transition:all var(--transition-normal)}.modal.active{transform:translate(-50%,-50%) scale(1)}.modal-close{position:absolute;top:var(--spacing-lg);right:var(--spacing-lg);background:0 0;border:0;font-size:var(--text-2xl);cursor:pointer;color:var(--color-gray);width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);transition:all var(--transition-fast)}.modal-close:hover{background-color:var(--color-lighter-gray);color:var(--color-dark)}.alert{padding:var(--spacing-lg);border-radius:var(--radius-sm);margin-bottom:var(--spacing-lg);display:flex;align-items:flex-start;gap:var(--spacing-md)}.alert-success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.alert-error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.alert-warning{background-color:#fff3cd;color:#856404;border:1px solid #ffeaa7}.alert-info{background-color:#d1ecf1;color:#0c5460;border:1px solid #bee5eb}.loading-spinner{width:48px;height:48px;border:4px solid var(--color-lighter-gray);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}.loading-spinner-small{width:24px;height:24px;border-width:3px}.loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(255,255,255,.9);display:flex;align-items:center;justify-content:center;z-index:9999}.fade-in{animation:fadeIn .6s ease-out}.fade-in-up{animation:fadeInUp .8s ease-out}.scale-in{animation:scaleIn .5s ease-out}.slide-in-left{animation:slideInLeft .6s ease-out}.slide-in-right{animation:slideInRight .6s ease-out}.stagger-item{opacity:0;transform:translateY(20px);animation:fadeInUp .6s ease-out forwards}.stagger-item:nth-child(1){animation-delay:.1s}.stagger-item:nth-child(2){animation-delay:.2s}.stagger-item:nth-child(3){animation-delay:.3s}.stagger-item:nth-child(4){animation-delay:.4s}.stagger-item:nth-child(5){animation-delay:.5s}.stagger-item:nth-child(6){animation-delay:.6s}.hidden{display:none!important}.invisible{visibility:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.bg-white{background-color:var(--color-white)}.bg-light{background-color:var(--color-lighter-gray)}.bg-beige{background-color:var(--color-beige)}.bg-primary{background-color:var(--color-primary)}.bg-dark{background-color:var(--color-dark-bg)}.hover-lift,.hover-scale{transition:transform var(--transition-normal)}.hover-lift:hover{transform:translateY(-5px)}.hover-scale:hover{transform:scale(1.05)}.img-grayscale{filter:grayscale(100%)}.img-grayscale:hover{filter:grayscale(0%)}.overlay-dark,.overlay-dark>*{position:relative}.overlay-dark::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);z-index:1}.overlay-dark>*{z-index:2}