/**
 * The site footer, as one component.
 *
 * Every page renders it with `<site-footer>` and loads this file — and this
 * file is the only place its appearance is decided. It paints its own white
 * surface rather than inheriting the page's, which is what makes it identical
 * on all nine pages and is what stops the ambient background from running into
 * it: the atmosphere sits behind the page at `z-index: -1`, so an opaque
 * surface here ends it cleanly at the footer's top edge.
 *
 * A page must not re-style the footer. Everything it needs is below.
 */
site-footer { display: block; }
/* The footer belongs to the page, and a load bound straight for VestStudio or
   VestMonitor never shows that page — see `html[data-boot="workspace"]` in
   layout.css, which hides the landing markup this same document carries until
   the shell has decided which surface the investor gets. */
html[data-boot="workspace"] site-footer { display: none; }
site-footer .site-footer { background: #fff; border-top: 1px solid #e3e7ed; color: #001d5c; font: 15px/1.6 var(--font-body); margin: 0; padding: 36px max(24px, calc((100% - 1240px) / 2)) 22px; }
site-footer .footer-grid { display: grid; gap: 32px; grid-template-columns: 1.35fr repeat(3, .75fr) 1.2fr; }
site-footer .footer-grid > div { align-items: stretch; display: flex; flex-direction: column; gap: 12px; }
site-footer .footer-grid strong { font-size: 14px; margin-bottom: 8px; }
site-footer .footer-grid a, site-footer .footer-grid p { color: #53627a; font-size: 14px; margin: 0; text-decoration: none; }
site-footer .footer-about p { line-height: 1.65; max-width: 280px; }
site-footer .footer-about vestmind-logo { align-self: flex-start; }
site-footer .socials { display: flex; flex-direction: row; gap: 8px; margin-top: 4px; }
site-footer .socials a { background: #f1f2f3; border-radius: 50%; display: grid; height: 32px; place-items: center; width: 32px; }
/* The networks' own marks, drawn monochrome in the brand navy so the footer
   stays quiet, and in each network's own colour only on hover or focus. */
site-footer .socials a { color: #0F172A; transition: background-color .2s ease, color .2s ease; }
site-footer .socials svg { display: block; fill: currentColor; height: 15px; width: 15px; }
site-footer .socials a:hover, site-footer .socials a:focus-visible { background: #e8eef7; }
site-footer .socials .social-linkedin:hover, site-footer .socials .social-linkedin:focus-visible { color: #0A66C2; }
site-footer .socials .social-instagram:hover, site-footer .socials .social-instagram:focus-visible { color: #E4405F; }
site-footer .socials .social-youtube:hover, site-footer .socials .social-youtube:focus-visible { color: #FF0000; }
site-footer .socials a:focus-visible { outline: 2px solid #2563EB; outline-offset: 2px; }
site-footer .newsletter { min-width: 0; }
site-footer .newsletter strong { margin-bottom: 0; }
site-footer .newsletter form { display: flex; margin-top: 6px; }
site-footer .newsletter input { background: #f8fafc; border: 1px solid #e1e4e8; border-radius: 22px; font: inherit; height: 44px; min-width: 0; padding: 0 16px; width: 100%; }
site-footer .newsletter button { background: #001d5c; border: 0; border-radius: 50%; color: #fff; font: inherit; height: 44px; margin-left: -44px; width: 44px; z-index: 1; }
site-footer .legal { border-top: 1px solid #e3e7ed; color: #8490a1; display: flex; font-size: 13px; justify-content: space-between; margin-top: 24px; padding-top: 16px; }
site-footer .legal span:last-child { display: flex; gap: 24px; }
site-footer .legal a { color: #8490a1; text-decoration: none; }
site-footer .sr-only { clip: rect(0, 0, 0, 0); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }

@media (max-width: 1000px) {
  site-footer .footer-grid { gap: 28px; grid-template-columns: 1.2fr repeat(2, .7fr); }
  site-footer .newsletter { max-width: 360px; }
}

@media (max-width: 680px) {
  site-footer .site-footer { padding-left: 20px; padding-right: 20px; }
  site-footer .footer-grid { grid-template-columns: 1fr 1fr; }
  site-footer .footer-about { grid-column: 1 / -1; }
  site-footer .newsletter { justify-self: center; width: 100%; }
  site-footer .legal { align-items: flex-start; flex-direction: column; gap: 16px; }
  site-footer .legal span:last-child { flex-wrap: wrap; gap: 10px 18px; }
}

@media (max-width: 640px) {
  site-footer .site-footer { text-align: center; }
  site-footer .footer-grid > div { align-items: center; }
  site-footer .footer-about p { margin-inline: auto; }
  site-footer .footer-about vestmind-logo { align-self: center; }
  site-footer .socials { justify-content: center; }
  site-footer .newsletter { margin-inline: auto; width: 100%; }
  site-footer .newsletter form { margin-inline: auto; max-width: 360px; width: 100%; }
  site-footer .legal { align-items: center; text-align: center; width: 100%; }
  site-footer .legal span:last-child { justify-content: center; width: 100%; }
}
