.site-footer { position: relative; overflow: clip; isolation: isolate; background: var(--grad-ink); color: #bcc6f0; padding-top: clamp(3.5rem, 6vw, 5.5rem); }
.footer-meridian { position: absolute; inset: 0; z-index: -1; pointer-events: none; background: url("../images/backgrounds/meridian-dark.svg") right -14% bottom -55% / min(900px, 100vw) auto no-repeat; opacity: .6; }
.footer-grid { display: grid; gap: 2.5rem 3rem; }
@media (min-width: 700px) { .footer-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1000px) { .footer-grid { grid-template-columns: 1.5fr 1fr 1fr .8fr 1.1fr; gap: 2.5rem 2rem; } }
.footer-brand img { height: 52px; width: auto; }
.footer-brand p { margin-top: 1.1rem; max-width: 24rem; font-size: .95rem; }
.footer-brand .footer-place { display: flex; align-items: center; gap: .65rem; margin-top: 1.4rem; color: #fff; font-weight: 600; font-size: .9375rem; }
.footer-brand .footer-place + .footer-place { margin-top: .6rem; }
.footer-place .icon { color: var(--cyan-400); }
.footer-col h2 { font: 650 1rem var(--font-display); color: #fff; margin-bottom: 1.1rem; letter-spacing: -.01em; }
.footer-col ul { display: grid; gap: .65rem; }
.footer-col a { font-size: .95rem; transition: color var(--t-fast); }
.footer-col ul a:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.footer-enquiry p { margin-bottom: 1.25rem; font-size: .95rem; }
.footer-social { display: flex !important; flex-wrap: wrap; gap: 1rem !important; margin-top: 1.5rem; }
.footer-base { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem 2rem; margin-top: clamp(2.5rem, 5vw, 4rem); padding-block: 1.5rem; border-top: 1px solid rgba(255, 255, 255, .12); font-size: .875rem; }
.footer-base ul { display: flex; gap: 1.5rem; }
.footer-base a:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
