.site-footer{
background: radial-gradient(1200px 600px at 15% 10%, rgba(255,255,255,.06), transparent 55%),
radial-gradient(900px 450px  at 85% 90%, rgba(255,255,255,.04), transparent 55%),
linear-gradient(180deg, #0aa773 0%, #066b5c 100%); color: #d9fff3;
padding: 40px 0 28px;
position: relative;
box-shadow: inset 0 1px 0 rgba(255,255,255,.08), inset 0 10px 40px rgba(0,0,0,.18);
}
.site-footer a{ color:#e9fff8; text-decoration:none; }
.site-footer a:hover{ text-decoration:underline; }
.footer-inner{ max-width:1200px; margin:0 auto; padding:0 20px; }
.footer-grid{ display:flex; flex-direction:column; align-items:center; gap:12px; text-align:center; } .footer-top{
display:flex; gap:22px; flex-wrap:wrap; justify-content:center;
font-weight:600;
}
.footer-top a{ opacity:.95; }
.footer-top a:hover{ opacity:1; } .footer-info{
color:#ccfff0; 
font-size:.98rem;
} .footer-cta{ display:flex; gap:12px; flex-wrap:wrap; justify-content:center; margin-top:6px; }
.footer-cta .ft-btn,
.footer-cta .ft-btn--primary{
display:inline-flex; align-items:center; justify-content:center;
min-width:190px;
padding:.85rem 1.35rem;
border-radius:14px;
border:0;
background:#10b981; color:#fff;
font-weight:800;
box-shadow:0 10px 22px rgba(0,0,0,.18);
transition:background .18s ease, transform .08s ease, box-shadow .18s ease;
}
.footer-cta .ft-btn:hover,
.footer-cta .ft-btn--primary:hover{
background:#0ea371;
box-shadow:0 12px 26px rgba(0,0,0,.22);
}
.footer-cta .ft-btn:active,
.footer-cta .ft-btn--primary:active{ transform: translateY(1px); } .footer-sep{
width: min(980px, 92%);
height:1px;
background: linear-gradient(90deg, transparent, rgba(233,255,248,.55), transparent);
border:0;
margin:18px auto 6px;
} .footer-bottom{
color:#e6fff7;
font-size:.95rem;
opacity:.95;
}
.footer-bottom a{ color:#ffffff; font-weight:700; }
.footer-bottom a:hover{ text-decoration:underline; } @media (max-width:768px){
.site-footer{ padding:32px 0 24px; }
.footer-top{ gap:14px; }
.footer-cta{ gap:10px; }
.footer-cta .ft-btn,
.footer-cta .ft-btn--primary{ min-width:170px; }
} .footer-info{
text-align:center; margin-top: 8px;
}
.footer-top{ justify-content:center;
}
.footer-cta{
justify-content:center;
} .footer-grid{ gap: 16px; } .footer-bottom{
text-align:center;
margin-top: 19px;
} .footer-top { margin-top: 20px; }