:root{ --primary:#8b5cf6; --primary-hover:#7c3aed; --bg:#f8fafc; --text:#1e293b; --muted:#64748b; --muted-2:#94a3b8; --border:#e2e8f0; --white:#fff; }

.footer-wrap{ background:var(--bg); }
.footer-container{ max-width:1200px; margin:0 auto; padding:0 2rem; }

/* Newsletter */
.newsletter{ background:var(--bg); padding:3rem 0; text-align:center; }
.newsletter__heading{ font-family:Inter, system-ui, sans-serif; font-size:3rem; font-weight:700; line-height:1.2; color:var(--text); margin:0 0 2rem; }
.newsletter__heading .hl{ color:var(--primary); text-decoration:underline; text-decoration-thickness:3px; text-underline-offset:3px; }
.newsletter__form{ max-width:600px; margin:0 auto; display:flex; gap:1rem; }
.newsletter__input{ flex:1; background:var(--white); border:1px solid var(--border); border-radius:8px; padding:1rem 1.5rem; font-size:1rem; color:#64748b; }
.newsletter__input:focus{ outline:none; border-color:var(--primary); box-shadow:0 0 0 3px rgba(139,92,246,.1); }
.newsletter__btn{ background:var(--primary); color:#fff; border:none; border-radius:8px; padding:1rem 2rem; font-size:1rem; font-weight:600; cursor:pointer; transition:all .2s ease; }
.newsletter__btn:hover{ background:var(--primary-hover); transform:translateY(-1px); }
.newsletter__note{ margin-top:1rem; font-size:.875rem; color:var(--muted-2); }

@media (max-width: 767px){ .newsletter{ padding:2rem 1rem; } .newsletter__heading{ font-size:2rem; } .newsletter__form{ flex-direction:column; } .newsletter__btn{ width:100%; } }

/* Footer links */
.footer-links{ background:var(--bg); padding:4rem 0 2rem; }
.footer-grid{ display:grid; gap:3rem; grid-template-columns:1fr; }
@media (min-width: 768px){ .footer-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); gap:2rem; } }
@media (min-width: 1024px){ .footer-grid{ grid-template-columns:2fr 1fr 1fr 1fr; gap:3rem; } }

.footer-brand__logo{ display:flex; align-items:center; gap:.5rem; margin-bottom:1rem; }
.footer-brand__icon{ width:16px; height:16px; background:#06b6d4; border-radius:3px; display:inline-block; }
.footer-brand__text{ font-size:1.5rem; font-weight:700; color:var(--text); }
.footer-brand__desc{ font-size:1rem; color:var(--muted); line-height:1.6; max-width:280px; margin:0 0 2rem; }

.footer-social{ display:flex; gap:1rem; }
.footer-social a{ width:36px; height:36px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; color:#64748b; background:#eef2f7; text-decoration:none; transition:color .2s ease, background .2s ease; }
.footer-social a:hover{ color:#fff; background:var(--primary); }

.footer-col__title{ font-size:1.125rem; font-weight:600; color:var(--text); margin:0 0 1.5rem; }
.footer-col__links{ list-style:none; margin:0; padding:0; }
.footer-col__links a{ font-size:1rem; color:#64748b; line-height:2.5; text-decoration:none; transition:color .2s ease; }
.footer-col__links a:hover{ color:var(--primary); }

/* Back to top */
.back-to-top{ position:fixed; right:2rem; bottom:2rem; width:48px; height:48px; border-radius:50%; background:var(--primary); color:#fff; display:inline-flex; align-items:center; justify-content:center; box-shadow:0 4px 12px rgba(139,92,246,.3); cursor:pointer; transition:transform .3s cubic-bezier(0.4,0,0.2,1), background .2s ease; opacity:0; visibility:hidden; }
.back-to-top:hover{ background:var(--primary-hover); transform:translateY(-2px); }
.back-to-top.is-visible{ opacity:1; visibility:visible; }

