/* Shared footer refinement layer. */
.site-footer {
  position: relative;
  overflow: hidden;
  border-top: 1px solid rgb(56 189 248 / 22%);
  background: radial-gradient(ellipse at 82% 0%, rgb(15 75 125 / 28%), transparent 44%), linear-gradient(180deg, #071222, #030817 82%) !important;
  color: #b6c4d3;
  padding: clamp(2.5rem, 6vw, 4.5rem) var(--page-gutter, 24px) 2rem;
}
.site-footer-grid { width: min(100%, var(--content-width, 70rem)); margin-inline: auto; display: grid; grid-template-columns: 1.35fr .8fr 1.15fr; gap: clamp(2rem, 6vw, 6rem); }
.footer-brand .brand-mark { display: inline-flex; align-items: center; gap: .7rem; color: #f4f8fc; font-size: 1.1rem; font-weight: 750; text-decoration: none; }
.footer-brand .brand-mark img { width: 2.5rem; height: 2rem; object-fit: contain; }
.footer-brand p { max-width: 34ch; margin: 1rem 0 0; color: #91a2b5; line-height: 1.65; }
.footer-brand .footer-copy { margin-top: 2.2rem; font-size: .82rem; }
.footer-nav, .footer-legal { display: flex; flex-direction: column; align-items: flex-start; gap: .7rem; }
.site-footer h2 { margin: .25rem 0 .55rem; color: #e8f2fb; font-size: .76rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.site-footer a:not(.brand-mark) { color: #aab9c9; text-decoration: none; text-underline-offset: .24em; transition: color .2s ease; }
.site-footer a:not(.brand-mark):hover, .site-footer a:not(.brand-mark):focus-visible { color: #7dd3fc; text-decoration: underline; }
@media (max-width: 600px) {
  .hero-section { height: 100svh; min-height: 0; padding: calc(var(--nav-height) + 1.75rem) 1.1rem 3.5rem; place-items: start center; }
  .hero-layout, .hero-content { width: 100%; }
  .hero-kicker { margin-bottom: .9rem; padding: .55rem .7rem; font-size: .75rem; letter-spacing: .025em; }
  .hero-content > p:not(.hero-services):not(.hero-kicker) { max-width: 36ch; margin-top: .8rem; font-size: .96rem; line-height: 1.45; }
  .hero-actions { margin-top: 1rem; gap: .75rem; }
  .hero-actions .button-primary, .hero-actions .button-secondary { min-height: 2.9rem; }
  .scroll-cue { bottom: .65rem; }
  .site-footer-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 2rem 1.25rem; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-brand .footer-copy { margin-top: 1.25rem; }
}
@media (prefers-reduced-motion: reduce) {
  .site-footer a { transition: none; }
}
