/* Shared refinements applied after each page's own stylesheet. */
.site-footer{
  background:#07152d;
  color:#fff;
  padding:62px 0 30px;
}
.site-footer .footer-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr .9fr;
  gap:50px;
}
.site-footer p{color:#bdcbe0}
.site-footer a{color:#fff;text-decoration:none}
.site-footer .footer-links{display:grid;align-content:start;gap:10px}
.site-footer .copyright{
  margin-top:44px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.15);
  color:#98aac3;
  font-size:.9rem;
}
.site-header .mobile-nav{
  position:absolute;
  top:100%;
  left:0;
  right:0;
  z-index:60;
  max-height:calc(100dvh - 78px);
  overflow-y:auto;
  box-shadow:0 18px 30px rgba(7,19,39,.3);
}
.page-template-page-about .final-cta .text-link{
  color:#fff;
  border:0;
  border-bottom:2px solid rgba(255,255,255,.65);
  padding:0 0 4px;
  box-shadow:none;
  border-radius:0;
}
.page-template-page-about .final-cta .text-link:hover{border-bottom-color:#fff}
.page-template-page-services .showcase-visual img{
  /* The image itself has a 2.2% white inset on every edge. Crop that inset. */
  width:105%;
  height:105%;
  max-width:none;
  flex:none;
  object-fit:cover;
}
@media(max-width:1100px){
  .page-template-page-services .hero-grid{grid-template-columns:minmax(0,1fr)}
  .page-template-page-services .hero-grid > *{min-width:0}
  .page-template-page-services .hero-visual{width:100%;min-width:0;min-height:0;aspect-ratio:auto}
  .page-template-page-services .hero-visual img{width:100%;height:auto;object-fit:contain}
}
@media(max-width:760px){
  .site-footer .footer-grid{grid-template-columns:1fr;gap:32px}
  .site-footer{padding:48px 0 26px}
}
