
/* === Canonical layout fixes === */

/* Generic container layout */
.container { max-width: 1200px; margin: 0 auto; padding: 0 24px; box-sizing: border-box; }

/* Header wrapper */
header { position: relative; z-index: 100; background: #ffffff; }

/* Header content row (logo + nav) */
header .container.nav, .container.nav {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding-top: 25px;   /* 25px room above logo */
  padding-bottom: 12px;
  min-height: 96px;
}

/* Logo block */
.container.nav .brand { display: flex; align-items: center; gap: 12px; }
.container.nav .brand img { display: block; height: auto; max-height: 88px !important; width: auto; box-shadow: none !important; visibility: visible !important; opacity: 1 !important; }

/* Navigation block */
nav.links { display: flex; align-items: center; gap: 24px; margin: 0; position: relative; z-index: 10; }
nav.links a { font-weight: 700 !important; font-size: 20px !important; line-height: 1; text-decoration: none; }

/* Avoid clipping */
.header, .hero { overflow: visible; }

/* === Requested fix: move nav up inside header === */
header .links {
  position: relative;
  top: -25px; /* move nav up by 25px */
}

/* === Requested fix: add space between header and content === */
header {
  margin-bottom: 25px; /* 25px space below header band */
}

/* === Responsive spacing below header === */
header {
  margin-bottom: 25px; /* default (mobile/tablet) */
}

@media (min-width: 1024px) {
  header {
    margin-bottom: 50px; /* desktop: extra 25px (total 50px) */
  }
}

/* === Responsive navigation font sizes === */
nav.links a {
  font-weight: 700;
  font-size: 16px; /* default mobile/tablet */
  line-height: 1;
  text-decoration: none;
}

@media (min-width: 768px) {
  nav.links a {
    font-size: 18px; /* tablet and up */
  }
}

@media (min-width: 1024px) {
  nav.links a {
    font-size: 20px; /* desktop */
  }
}

/* === About page spacing adjustment === */
body.about-page main, 
body.about main, 
body.about-page section, 
body.about section {
  margin-top: 50px; /* push content down by 50px */
}


/* === Unified sticky navy footer (site-wide) === */
html, body { min-height: 100vh; display: flex; flex-direction: column; margin:0; padding:0; }
main { flex: 1 0 auto; }
.site-footer {
  flex-shrink: 0;
  position: static !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #112240 !important;
  color: #ffffff !important;
  padding: 20px 12px !important;
  margin: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  clear: both !important;
}
.site-footer .container { max-width: 1100px; margin: 0 auto; text-align: center; }
.site-footer p { margin: 0 !important; }
.site-footer a { color: #00aef1 !important; text-decoration: none !important; font-weight: 600 !important; }
.site-footer a:hover { text-decoration: underline !important; }
/* Remove any pre-footer "band" elements */
hr, .prefooter, .pre-footer, .footer-spacer, .divider { display: none !important; height: 0 !important; border: 0 !important; }
/* Media page: neutralize legacy rules that try to repaint footer light */
body.media-page footer, body.media-page footer.site-footer,
body.media-page .footer, body.media-page .legal_footer, body.media-page .copyright {
  background: #112240 !important; color: #ffffff !important; border: 0 !important; box-shadow: none !important;
}


/* === Footer link normalization (site-wide) === */
.site-footer { font-size: 0.9em !important; } /* unify footer text size */
.site-footer a {
  color: #00aef1 !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  font-size: inherit !important;   /* match footer text size */
  text-transform: none !important; /* avoid accidental uppercase */
  letter-spacing: normal !important;
}

/* Strong page-scoped overrides for Media & Contact to beat legacy rules */
body.media-page footer.site-footer a,
body.contact-page footer.site-footer a,
body.contact footer.site-footer a {
  color: #00aef1 !important;
  font-size: inherit !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}

/* === Footer sizing adjustment (25px larger) === */
.site-footer {
  padding-top: 45px !important;  /* was 20px, increased by 25px */
  padding-bottom: 45px !important;
}


/* === Ocean seam final fix (single background layer) === */
html, body {
  background-image: url('water.jpg') !important;  /* adjust if your primary is water2.jpg */
  background-repeat: no-repeat !important;
  background-position: center top !important;
  background-size: cover !important;
  background-attachment: scroll !important;
}

/* Prevent any inner section from repainting a background */
main, .container, .wrapper, .page, section, .hero-adjust, .media-grid, .content, .content-wrap {
  background: transparent !important;
}

/* Remove any pre-footer band/divider that can look like a second ocean bar */
hr, .prefooter, .pre-footer, .footer-spacer, .divider, .band, .bottom-band {
  display: none !important;
  height: 0 !important;
  border: 0 !important;
}

/* Footer sits tight to content and never draws a border line */
.site-footer { margin-top: 0 !important; border: 0 !important; box-shadow: none !important; background-image: none !important; }


/* === Home page extra ocean slab fix === */
body.home-page .hero-adjust {
  min-height: auto !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.site-footer { margin-top: 0 !important; }
body.home-page { background-attachment: scroll !important; }


/* === Add 75px space above hero headline === */
body.home-page .hero-adjust {
  padding-top: 75px !important;  /* extra spacing before LIQUIDITY SOLUTIONS text */
}


/* === Careers page white band fix === */
body.careers-page main,
body.careers-page main > section:last-of-type {
  background: transparent !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  border: 0 !important;
}
/* Hide any trailing empty sections/spacers */
body.careers-page main > section:empty {
  display: none !important;
  height: 0 !important;
}
/* Keep footer snug */
body.careers-page .site-footer { margin-top: 0 !important; }


/* === Careers/Media/Home background continuity fix === */
body.careers-page,
body.media-page,
body.home-page {
  background-attachment: scroll !important;
  background-repeat: repeat-y !important;  /* allow ocean to extend; prevents white band */
  background-position: center top !important;
  background-size: cover !important;
}
/* Ensure no stray margin above footer */
body.careers-page .site-footer,
body.media-page .site-footer,
body.home-page .site-footer {
  margin-top: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}


/* === Final background seam fix for Home, Media, and Careers === */
body.home-page,
body.media-page,
body.careers-page {
  background-attachment: scroll !important;
  background-repeat: repeat-y !important;   /* allows ocean to continue below viewport */
  background-position: center top !important;
  background-size: cover !important;
}

/* Remove any extra space above footer */
body.home-page .site-footer,
body.media-page .site-footer,
body.careers-page .site-footer {
  margin-top: 0 !important;
  border: none !important;
  box-shadow: none !important;
}


/* === Robust ocean continuity: paint on <html>, make body transparent === */
body.careers-page, body.media-page, body.home-page { background: transparent !important; }
html.careers-page, html.media-page, html.home-page { background: transparent !important; } /* fallback */

/* Paint ocean on the root element to avoid inline body overrides */
html {
  background-image: url('water.jpg') !important;   /* change to water2.jpg if that's your asset */
  background-repeat: repeat-y !important;
  background-position: center top !important;
  background-size: cover !important;
  background-attachment: scroll !important;
}

/* Remove any spacer directly above the footer */
hr, .prefooter, .pre-footer, .footer-spacer, .divider { display:none !important; height:0 !important; border:0 !important; }

/* Footer snug */
.site-footer { margin-top:0 !important; border:0 !important; box-shadow:none !important; }


/* === Ocean color/uniformity final unify === */
/* Force the SAME image everywhere and prevent double-painting */
html, body {
  background-image: url('water.jpg') !important; /* use your primary hero image */
  background-position: center top !important;
  background-size: cover !important;
  background-repeat: repeat-y !important;  /* extend ocean */
  background-attachment: scroll !important;
}
/* Make inner wrappers transparent so they don't repaint a darker/whiter layer */
main, .container, .wrapper, .page, section, .hero-adjust, .media-grid, .content, .content-wrap {
  background: transparent !important;
  background-image: none !important;
}
/* Remove any pre-footer band that could look like a different ocean shade */
hr, .prefooter, .pre-footer, .footer-spacer, .divider, .bottom-band {
  display: none !important; height: 0 !important; border: 0 !important;
}
/* Keep footer snug and never draw a separator line */
.site-footer { margin-top: 0 !important; border: 0 !important; box-shadow: none !important; }


/* === Canonical ocean image & seamless behavior (ALL PAGES) === */
html, body {
  background-image: url('water.jpg') !important;   /* canonical hero image */
  background-position: center top !important;
  background-size: cover !important;
  background-repeat: repeat-y !important;          /* extend image, avoid white band */
  background-attachment: scroll !important;
}

/* Make inner wrappers transparent so nothing repaints a different bg */
main, .container, .wrapper, .page, section, .hero-adjust, .media-grid, .content, .content-wrap {
  background: transparent !important;
  background-image: none !important;
}

/* Remove any pre-footer strip elements */
hr, .prefooter, .pre-footer, .footer-spacer, .divider, .bottom-band {
  display: none !important; height: 0 !important; border: 0 !important;
}

/* Footer tight to content */
.site-footer { margin-top: 0 !important; border: 0 !important; box-shadow: none !important; }


/* === Careers page bottom band remover (match Media fix) === */
body.careers-page main > section:last-of-type,
body.careers-page main > section:last-of-type * {
  background: transparent !important;
}
body.careers-page main > section:last-of-type {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  border-bottom: 0 !important;
  min-height: auto !important;
}
/* Remove decorative pseudo-elements that can draw a band */
body.careers-page main > section:last-of-type::before,
body.careers-page main > section:last-of-type::after {
  content: none !important;
  display: none !important;
}
/* Ensure no hr/divider shows up above footer */
body.careers-page hr,
body.careers-page .prefooter,
body.careers-page .pre-footer,
body.careers-page .footer-spacer,
body.careers-page .divider {
  display: none !important;
  height: 0 !important;
  border: 0 !important;
}
/* Footer sits tight */
body.careers-page .site-footer { margin-top: 0 !important; border: 0 !important; box-shadow: none !important; }


/* === Careers: final ocean + band fix === */
body.careers-page { background: transparent !important; }
html { background-image: url('water.jpg') !important; background-repeat: repeat-y !important;
       background-position: center top !important; background-size: cover !important; background-attachment: scroll !important; }
body.careers-page main > section:last-of-type,
body.careers-page main > section:last-of-type * { background: transparent !important; }
body.careers-page main > section:last-of-type { margin-bottom: 0 !important; padding-bottom: 0 !important; border-bottom: 0 !important; }
body.careers-page hr, body.careers-page .prefooter, body.careers-page .pre-footer, body.careers-page .footer-spacer, body.careers-page .divider {
  display:none !important; height:0 !important; border:0 !important;
}
body.careers-page .site-footer { margin-top:0 !important; border:0 !important; box-shadow:none !important; }


/* === Mobile full-bleed header & footer fix (2025-10-07) === */
@media (max-width: 768px) {
  /* Ensure the header/footer backgrounds span edge-to-edge */
  header, .site-header, footer, .site-footer {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  /* Keep inner content readable while letting the background go full-bleed */
  header .container, .site-header .container, footer .container, .site-footer .container {
    width: 100% !important;
    max-width: none !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }
  /* Prevent any legacy wrappers from constraining the header/footer */
  body > header, body > footer {
    display: block !important;
  }
  /* Avoid viewport-side gaps */
  html, body { overflow-x: hidden; }
}

/* === Mobile header unification (match Team page) === */
@media (max-width: 768px) {
  header, .site-header { width: 100% !important; max-width: none !important; margin: 0 !important; }
  header .container.nav { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 12px !important; padding: 10px 14px !important; }
  header .brand img { height: 64px !important; }
  nav.links { display: flex !important; gap: 8px !important; overflow-x: auto !important; white-space: nowrap !important; }
  nav.links a { padding: 8px 10px !important; font-weight: 700 !important; text-decoration: none !important; }
  /* Prevent any leftover horizontal scroll */
  html, body { overflow-x: hidden !important; }
}

/* Careers header safety: avoid inheriting main-scoped full-width rules */
body.careers-page header .container { max-width: 1200px; margin: 0 auto; padding-left: 16px; padding-right: 16px; box-sizing: border-box; }
@media (max-width: 768px) {
  body.careers-page header .container { padding-left: 14px; padding-right: 14px; }
}

/* === Mobile header unification (final) === */
@media (max-width: 768px) {
  header, .site-header { width: 100% !important; max-width: none !important; margin: 0 !important; }
  header .container.nav { display:flex !important; align-items:center !important; justify-content:space-between !important; gap:12px !important; padding:10px 14px !important; }
  header .brand img { height: 64px !important; }
  nav.links { display:flex !important; gap:8px !important; overflow-x:auto !important; white-space:nowrap !important; }
  nav.links a { font-weight:700 !important; text-decoration:none !important; }
}


/* === Global header/footer normalization (2025-10-07) === */
/* Header */
header.nav, header.site-header, header {
  background: #ffffff !important;
  border-bottom: 1px solid #e6efff !important;
  position: sticky;
  top: 0;
  z-index: 100;
}
header .container.nav {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  flex-wrap: nowrap !important;
  padding: 12px 18px !important;
  max-width: 1200px;
  margin: 0 auto;
  box-sizing: border-box;
}
header .brand img {
  display: block !important;
  height: 72px !important;
  width: auto !important;
}
nav.links {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  flex: 1 1 auto !important;
  justify-content: flex-end !important;
  white-space: nowrap;
}
nav.links a { font-weight: 700 !important; text-decoration: none !important; color:#0a2a66 !important; }

@media (max-width: 1024px) {
  header .brand img { height: 60px !important; }
}

@media (max-width: 768px) {
  header .container.nav { padding: 10px 14px !important; }
  header .brand img { height: 56px !important; }
  nav.links { overflow-x: auto !important; gap: 10px !important; }
}

/* Footer */
footer.site-footer, .site-footer {
  background: #112240 !important;
  color: #ffffff !important;
  border-top: 0 !important;
  margin-top: 0 !important;
  box-shadow: none !important;
}
.site-footer .container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 18px 16px;
  box-sizing: border-box;
  text-align: center;
}
.site-footer a { color: #00aef1 !important; font-weight: 600 !important; text-decoration: none !important; }
.site-footer a:hover { text-decoration: underline !important; }

