/*
  Passives Direct: shared footer, visual redesign
  ------------------------------------------------------------------
  Visual changes only. Markup, links, destinations and the Cookie
  Preferences button (a placeholder here) are unchanged.

  Every selector starts with `footer.site-footer`, so nothing outside the
  footer can be affected. Load site-wide, after site.css, together with
  site-header-redesign.css.

  Note: the footer logo carries inline styles (width, transform), so two
  declarations below use !important to override them. Removing that inline
  style from the template lets you delete the !important flags.
*/

footer.site-footer {
  --ft-teal: #00a0b6;
  --ft-aqua: #7fe3ee;
  --ft-ease: cubic-bezier(.2, .7, .25, 1);
  position: relative;
  isolation: isolate;
  overflow: hidden;
  overflow: clip;
  padding: 0;
  color: #b9d2d8;
  background:
    url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 760 400%22 fill=%22none%22 stroke=%22%237fe3ee%22 stroke-opacity=%22.13%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M0 70H190L226 106H380%22/%3E%3Ccircle cx=%22392%22 cy=%22106%22 r=%225%22/%3E%3Cpath d=%22M0 110H120L150 140H260%22/%3E%3Ccircle cx=%22272%22 cy=%22140%22 r=%225%22/%3E%3Cpath d=%22M380 106H452M452 88V124M468 88V124M468 106H600L640 66H760%22/%3E%3Cpath d=%22M120 250H200L210 234L226 266L242 234L258 266L274 234L284 250H400%22/%3E%3Ccircle cx=%22412%22 cy=%22250%22 r=%225%22/%3E%3Crect x=%22520%22 y=%22200%22 width=%22120%22 height=%2290%22 rx=%226%22/%3E%3Cpath d=%22M540 200V170M570 200V170M600 200V170M620 200V170M540 290V320M570 290V320M600 290V320M620 290V320M520 225H490M520 255H490M640 225H670M640 255H670%22/%3E%3Ccircle cx=%22540%22 cy=%22162%22 r=%225%22/%3E%3Ccircle cx=%22620%22 cy=%22162%22 r=%225%22/%3E%3Ccircle cx=%22480%22 cy=%22225%22 r=%225%22/%3E%3Ccircle cx=%22680%22 cy=%22255%22 r=%225%22/%3E%3Cpath d=%22M540 320V360H300L270 390H0%22/%3E%3Cpath d=%22M620 320V380H760%22/%3E%3Cpath d=%22M480 255H430L400 285%22/%3E%3C/svg%3E") right -70px bottom -150px / min(640px, 60vw) auto no-repeat,
    radial-gradient(ellipse 60% 120% at 100% 0%, #11586a59 0%, transparent 70%),
    linear-gradient(180deg, #071b23 0%, #05141a 100%);
}

/* Brand rail along the top edge (matches the navigation row's rail) */
footer.site-footer::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0 0 auto 0;
  height: 3px;
  background: linear-gradient(90deg, var(--ft-teal) 0%, var(--ft-aqua) 38%, #7fe3ee00 100%);
  pointer-events: none;
}

footer.site-footer .container.footer-inner {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  column-gap: 48px;
  row-gap: 0;
  width: calc(100% - 80px);
  max-width: 1280px;
  margin-inline: auto;
  padding: 56px 0 0;
}

footer.site-footer .brand {
  grid-column: 1;
  grid-row: 1;
  justify-self: start;
}

footer.site-footer .brand img {
  width: 270px !important;
  transform: none !important;
}

footer.site-footer .brand:focus-visible {
  outline: 3px solid var(--ft-aqua);
  outline-offset: 4px;
  border-radius: 4px;
}

/* Let the nav and the copyright line become grid items */
footer.site-footer .footer-links-block { display: contents; }

footer.site-footer .footer-links-block nav {
  grid-column: 2;
  grid-row: 1;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 4px;
  margin: 0;
}

footer.site-footer .footer-links-block nav a {
  position: relative;
  padding: 10px 14px;
  color: #d6eaee;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .2px;
  text-decoration: none;
  transition: color .2s ease;
}

/* Wire underline: draws in from the left on hover / focus */
footer.site-footer .footer-links-block nav a::after {
  content: "";
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 3px;
  height: 2px;
  background: var(--ft-aqua);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s var(--ft-ease);
}

footer.site-footer .footer-links-block nav a:hover,
footer.site-footer .footer-links-block nav a:focus-visible { color: #fff; }

footer.site-footer .footer-links-block nav a:hover::after,
footer.site-footer .footer-links-block nav a:focus-visible::after { transform: scaleX(1); }

footer.site-footer .footer-links-block nav a:focus-visible,
footer.site-footer .cookie-preferences-link:focus-visible {
  outline: 3px solid var(--ft-aqua);
  outline-offset: 2px;
  border-radius: 4px;
}

/* Cookie Preferences: a quiet outlined pill instead of a default browser button */
footer.site-footer .cookie-preferences-link {
  margin-left: 12px;
  padding: 9px 17px;
  border: 1px solid #ffffff38;
  border-radius: 999px;
  background: transparent;
  color: #d6eaee;
  font: 600 13px/1 Arial, Helvetica, sans-serif;
  letter-spacing: .2px;
  cursor: pointer;
  transition: color .2s ease, border-color .2s ease, background-color .2s ease;
}

footer.site-footer .cookie-preferences-link:hover {
  border-color: var(--ft-aqua);
  background: #ffffff14;
  color: #fff;
}

footer.site-footer .footer-copyright {
  grid-column: 1 / -1;
  grid-row: 2;
  align-self: stretch;
  margin: 44px 0 0;
  padding: 22px 0 28px;
  border-top: 1px solid #ffffff1f;
  color: #8fb0ba;
  font-size: 12.5px;
  line-height: 1.5;
  text-align: left;
}

@media (max-width: 1050px) {
  footer.site-footer .container.footer-inner { width: calc(100% - 48px); }
}

@media (max-width: 899px) {
  footer.site-footer .container.footer-inner {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 0;
    padding-top: 44px;
  }

  footer.site-footer .footer-links-block nav {
    grid-column: 1;
    grid-row: 2;
    justify-content: flex-start;
    margin: 22px 0 0 -14px;
  }

  footer.site-footer .footer-copyright { grid-row: 3; margin-top: 30px; }
}

@media (max-width: 760px) {
  footer.site-footer .container.footer-inner { width: calc(100% - 36px); }
  footer.site-footer .brand img { width: 240px !important; }
  footer.site-footer .footer-links-block nav { margin-left: -14px; }
  footer.site-footer .cookie-preferences-link { margin: 8px 0 0 14px; }
}

@media (prefers-reduced-motion: reduce) {
  footer.site-footer *,
  footer.site-footer *::before,
  footer.site-footer *::after { transition: none !important; }
}
