/* Vector — landing-shell.css
   Header (sticky) + footer used across the landing AND the SEO articles.
   Light-only; the SEO articles don't toggle dark mode. The CSS is fully
   self-contained (no external CSS variables required) so it can be dropped
   into any page that doesn't already define the landing palette.

   Loaded on:
     - site/index.html (FR landing)         — kept inline; this file is the
                                              SHARED version for the SEO pages.
     - site/en/index.html (EN landing)      — same as above.
     - site/*.html (SEO articles, FR)       — link rel="stylesheet" href="./assets/landing-shell.css"
     - site/en/*.html (SEO articles, EN)    — link rel="stylesheet" href="../assets/landing-shell.css"
*/

.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  transition: background 260ms cubic-bezier(0.22, 1, 0.36, 1),
              border-color 260ms cubic-bezier(0.22, 1, 0.36, 1);
  border-bottom: 1px solid transparent;
}
.site-header.is-scrolled {
  background: rgba(250, 250, 248, 0.82);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border-color: rgba(26, 26, 26, 0.08);
}
.site-header .nav-shell {
  width: min(1200px, calc(100vw - 40px));
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 18px 0;
}
.site-header .nav-right {
  display: flex;
  align-items: center;
  gap: 12px;
}
.site-header .brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-weight: 600;
  letter-spacing: -0.04em;
  font-size: 1.15rem;
  color: #1a1a1a;
  text-decoration: none;
  font-family: inherit;
}
.site-header .brand-mark {
  width: 32px;
  height: 32px;
  border-radius: 10px;
  background: #0a0a0a center / contain no-repeat url("./logo-vector.png");
  box-shadow: 0 10px 24px rgba(10, 10, 10, 0.18);
  flex-shrink: 0;
}
.site-header .nav-links {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.site-header .nav-link {
  padding: 10px 12px;
  border-radius: 8px;
  color: #5e5a55;
  font-size: 0.95rem;
  text-decoration: none;
  transition: color 260ms cubic-bezier(0.22, 1, 0.36, 1),
              background 260ms cubic-bezier(0.22, 1, 0.36, 1);
}
.site-header .nav-link:hover {
  color: #1a1a1a;
  background: rgba(26, 26, 26, 0.04);
}
.site-header .nav-link.is-disabled,
.site-header .nav-link.is-disabled:hover {
  color: #bcb8b1;
  background: transparent;
  cursor: not-allowed;
  pointer-events: none;
  opacity: 0.55;
}
.site-header .nav-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 18px;
  border-radius: 12px;
  background: #1a1a1a;
  color: #fafaf8;
  font-weight: 600;
  text-decoration: none;
  box-shadow: 0 4px 14px rgba(10, 10, 10, 0.08);
  transition: transform 260ms cubic-bezier(0.22, 1, 0.36, 1),
              box-shadow 260ms cubic-bezier(0.22, 1, 0.36, 1);
}
.site-header .nav-cta:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(10, 10, 10, 0.14);
}

@media (max-width: 720px) {
  .site-header .nav-links { display: none; }
  .site-header .nav-right .nav-cta { display: inline-flex; }
}

/* ─── Footer ─── */
.footer-shell {
  display: block;
  width: min(1200px, calc(100vw - 40px));
  margin: 0 auto;
  padding: 0 0 60px;
  border: none;
  border-top: none;
  font-size: 1rem;
  color: #1a1a1a;
}
.footer-shell .footer-card {
  background: #ffffff;
  border: 1px solid rgba(26, 26, 26, 0.08);
  border-radius: 12px;
  padding: 26px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.03);
}
.footer-shell .footer-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) repeat(3, minmax(140px, 0.5fr));
  gap: 20px;
}
.footer-shell .footer-brand {
  max-width: 24rem;
}
.footer-shell .footer-brand p,
.footer-shell .footer-column a,
.footer-shell .footer-column p {
  color: #5e5a55;
  font-size: 0.95rem;
  text-decoration: none;
}
.footer-shell .footer-column {
  display: grid;
  align-content: start;
  gap: 10px;
}
.footer-shell .footer-column strong {
  display: block;
  margin-bottom: 10px;
  font-size: 0.88rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8d887f;
}
.footer-shell .footer-column a {
  transition: color 260ms cubic-bezier(0.22, 1, 0.36, 1);
}
.footer-shell .footer-column a:hover {
  color: #1a1a1a;
}
.footer-shell .footer-bottom {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(26, 26, 26, 0.08);
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: space-between;
  color: #8d887f;
  font-size: 0.88rem;
}

@media (max-width: 720px) {
  .footer-shell .footer-grid { grid-template-columns: 1fr; }
}
