/* Shared public footer — used by marketing, authenticated, and administrative shells. */
.footer { margin:0; padding:0; background:#112121; color:#d2e1dc; border-top:1px solid rgba(255,255,255,.13); }
.footer-container { width:min(92%,1920px); max-width:none; padding:64px 0 0; margin:0 auto; }
.footer-grid { display:grid; grid-template-columns:1.8fr repeat(3,1fr); gap:28px; padding:0 0 54px; }
.footer-logo { width:auto; height:34px; margin-bottom:20px; }
.footer-brand p { color:#acc5be; max-width:400px; margin:0 0 16px; font-size:14px; line-height:1.6; }
.footer-heading { margin:4px 0 12px; color:#fff; font-size:12px; font-weight:600; letter-spacing:.04em; text-transform:none; }
.footer-heading .kicker-dot { display:inline-block; width:6px; height:6px; margin-right:8px; border-radius:50%; background:#2dd4bf; }
.footer-links { display:grid; gap:7px; padding:0; margin:0; list-style:none; }
.footer-links li { margin:0; }
.footer-links a { color:#acc5be; font-size:14px; font-weight:600; text-decoration:none; transition:color .2s ease,transform .2s ease; }
.footer-links a:hover { color:#fff; padding-left:0; transform:translateX(3px); }
.footer-links .social-item { display:inline-flex; align-items:center; gap:10px; padding:3px 0; font-weight:600; }
.footer-links .social-item i { display:grid; width:34px; height:34px; place-items:center; border:1px solid rgba(45,212,191,.26); border-radius:8px; background:rgba(45,212,191,.12); color:#2dd4bf; transition:background .2s ease,color .2s ease,transform .2s ease; }
.footer-links .social-item:hover { color:#fff; transform:none; }
.footer-links .social-item:hover i { background:#2dd4bf; color:#0a1515; transform:translateY(-2px); }
.footer-bottom { padding:20px 0; border-top:1px solid rgba(255,255,255,.13); color:#8ca49d; font-size:12px; line-height:1.5; }
.footer-bottom p { margin:0; }
.footer-bottom .tagline { margin-top:8px; color:#2dd4bf; }
@media (max-width:1080px) { .footer-container { padding-left:24px; padding-right:24px; }.footer-grid { grid-template-columns:1.5fr repeat(2,1fr); }.footer-grid > :first-child { grid-column:1 / -1; } }
@media (max-width:640px) { .footer-container { width:100%; padding:46px 22px 0; }.footer-grid { grid-template-columns:1fr; }.footer-grid > :first-child { grid-column:auto; }.footer-bottom { display:block; }.footer-bottom .tagline { margin-top:12px; } }
