footer{background:linear-gradient(135deg,#101010 0,#040404 100%);color:var(--color-white);margin-top:auto;overflow-x:hidden;width:100%}.footer-top{padding:3.5rem 0 2.5rem}.footer-content{display:grid;grid-template-columns:repeat(4,1fr);gap:2.5rem;align-items:flex-start;max-width:100%}.footer-logo img{height:48px;margin-bottom:1rem}.footer-logo-fallback{display:none;font-weight:700;font-size:1.6rem;letter-spacing:.08em;color:var(--color-green-light)}.footer-description{color:rgba(255,255,255,.72);line-height:1.6;margin-bottom:1rem}.footer-meta{list-style:none;padding:0;margin:0 0 1.5rem;display:grid;gap:.5rem;color:rgba(255,255,255,.65);font-size:.9rem}.footer-social{display:flex;flex-direction:column;gap:.75rem}.footer-social-label{font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.65)}.social-links{display:flex;gap:.75rem}.social-link{display:inline-flex;width:40px;height:40px;border-radius:50%;align-items:center;justify-content:center;background:rgba(255,255,255,.12);color:var(--color-white);transition:transform .3s ease,background .3s ease}.social-link:hover{transform:translateY(-3px);background:rgba(255,255,255,.24)}.footer-links-column h5,.footer-title{font-size:1rem;color:var(--color-white);margin-bottom:1rem;text-transform:uppercase;letter-spacing:.08em}.footer-contact-list{display:grid;gap:1rem}.contact-item{display:flex;gap:.75rem;align-items:flex-start;color:rgba(255,255,255,.75)}.contact-item .icon{font-size:1.3rem;color:var(--color-green-light)}.contact-item a{color:inherit;text-decoration:none;transition:color .3s ease}.contact-item a:hover{color:var(--color-green-light)}.contact-label{display:block;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.6)}.footer-list{list-style:none;padding:0;margin:0;display:grid;gap:.75rem;color:rgba(255,255,255,.75)}.footer-links-column{display:grid;gap:1rem;margin-top:1.5rem}.footer-links{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.footer-link{color:rgba(255,255,255,.72);text-decoration:none;font-size:.95rem;transition:color .3s ease,transform .3s ease}.footer-link:hover{color:var(--color-green-light);transform:translateX(4px)}.footer-middle{padding:2.5rem 0}.footer-cta{display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding:1.75rem 0}.footer-bottom-content{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap}.footer-bottom-links{display:flex;gap:1.5rem;flex-wrap:wrap}.developer-credit{font-size:.8rem;color:rgba(255,255,255,.55)}.developer-link{color:var(--color-green-light);text-decoration:none}.developer-link:hover{text-decoration:underline}.newsletter-message{margin-top:.75rem;padding:.5rem .75rem;border-radius:4px;font-size:.85rem;background:rgba(255,255,255,.08);color:var(--color-white)}.newsletter-message.success{background:rgba(116,170,31,.2);color:var(--color-white)}.newsletter-message.error{background:rgba(244,67,54,.2);color:#ffcdd2}.scroll-to-top{position:fixed;right:1.5rem;bottom:1.5rem;width:48px;height:48px;border:none;border-radius:50%;background:var(--color-green-light);color:var(--color-black);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(12px);transition:all .3s ease;z-index:999}.scroll-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}.scroll-to-top:hover{background:var(--color-white);color:var(--color-green-light)}.footer-cta.animate-in,.footer-section.animate-in{animation:footerFadeUp .6s ease forwards}@keyframes footerFadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1024px){.footer-content{grid-template-columns:repeat(2,1fr);gap:2rem}.footer-cta{flex-direction:column;align-items:flex-start}}@media (max-width:768px){.footer-content{grid-template-columns:1fr}.footer-cta{align-items:stretch;text-align:center}.cta-actions{width:100%;display:grid;gap:.75rem}.footer-bottom-content{flex-direction:column;align-items:center;text-align:center}.footer-bottom-links{justify-content:center}.footer-contact-list{gap:.75rem}}.cta-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.cta-actions .btn{display:inline-flex;align-items:center;gap:.5rem}