/* Shared site footer — markup and styling cloned from index.html's/insights.html's
   .site-footer so what-we-do.html, who-we-are.html and customers.html render an
   identical, crawlable footer without duplicating the rules a third time. */
.site-footer { position: relative; background: #040c15; border-top: 1px solid var(--line); padding: clamp(46px, 7vh, 72px) clamp(22px, 6vw, 74px) clamp(28px, 4vh, 40px); }
.site-footer__inner { max-width: 1180px; margin: 0 auto; }
.footer-top { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr 1fr; gap: 32px; padding-bottom: clamp(32px, 5vh, 48px); border-bottom: 1px solid var(--line); }
.footer-brand .brand { margin-bottom: 14px; }
.footer-brand p { max-width: 32ch; margin: 0 0 16px; color: #657a87; font-size: .74rem; line-height: 1.55; }
.footer-iso { display: inline-flex; color: #657a87; font: 500 .58rem/1 var(--sans); text-transform: uppercase; letter-spacing: .03em; }
.footer-col { display: flex; flex-direction: column; gap: 11px; }
.footer-col span { color: #4c6169; font: 500 .5rem/1 var(--sans); text-transform: uppercase; letter-spacing: .1em; margin-bottom: 3px; }
.footer-col a, .footer-col p { margin: 0; color: #8ca0aa; font-size: .76rem; line-height: 1.3; transition: color .2s; }
.footer-col a:hover, .footer-col a:focus-visible { color: var(--mint); }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; padding-top: clamp(20px, 3vh, 28px); }
.footer-bottom span { color: #5c7482; font-size: .68rem; }
.footer-bottom nav { display: flex; gap: 18px; }
.footer-bottom nav a { color: #657a87; font: 500 .62rem/1 var(--sans); text-transform: uppercase; letter-spacing: .03em; transition: color .2s; }
.footer-bottom nav a:hover, .footer-bottom nav a:focus-visible { color: var(--mint); }
.footer-bottom .theme-toggle { width: 34px; height: 34px; font-size: .8rem; }
@media (max-width: 1100px) { .footer-top { grid-template-columns: 1fr 1fr 1fr; } }
@media (max-width: 700px) { .footer-top { grid-template-columns: 1fr 1fr; } }
@media (max-width: 480px) { .footer-top { grid-template-columns: 1fr; } .footer-bottom { flex-direction: column; align-items: flex-start; } }
:root[data-theme="light"] .site-footer { background: #dde8ec; }
:root[data-theme="light"] .footer-col a, :root[data-theme="light"] .footer-col p, :root[data-theme="light"] .footer-brand p { color: #5c7482; }
