/* Shared navigation and footer used by the homepage, blog, archives and posts. */
.site-header,
.site-header.is-sticky {
  position: sticky;
  top: 0;
  left: auto;
  right: auto;
  z-index: 50;
  color: #1d181a;
  background: rgba(250,247,243,.96);
  border-bottom: 1px solid rgba(91,68,77,.09);
  box-shadow: 0 10px 30px rgba(62,45,53,.06);
  backdrop-filter: blur(16px);
}
.admin-bar .site-header,
.admin-bar .site-header.is-sticky { top: 32px; }
.nav-wrap { min-height: 76px; }
.site-header .brand { text-decoration: none; }
.site-header .brand__mark {
  width: 40px;
  height: 40px;
  padding: 8px;
  background: #8b6172;
  color: #fff;
  border-radius: 50%;
}
.site-header .brand__text strong { color: #1d181a; }
.site-header .brand__text small { color: #8b6172; }
.site-header .primary-nav { gap: 26px; }
.site-header .primary-nav > a:not(.button) {
  color: #4d4448;
  text-decoration: none;
  font-weight: 700;
}
.site-header .primary-nav > a:not(.button):hover,
.site-header .primary-nav > a:not(.button):focus-visible { color: #704959; }
.site-header .button--small {
  min-height: 46px;
  padding: 0 19px;
  border-radius: 999px;
  background: #8b6172;
  color: #fff;
  text-decoration: none;
}
.site-header .button--small::after { display: none; content: none; }
.site-header .nav-toggle span:not(.sr-only) { background: #1d181a; }

.site-footer { margin-top: 0; }
.site-footer a { text-decoration: none; }
.site-footer .footer-contact a { text-decoration: underline; }
.site-footer .button--outline { border-color: rgba(255,255,255,.28); color: #fff; }

@media (max-width: 820px) {
  .site-header,
  .site-header.is-sticky { top: 0; }
  .admin-bar .site-header,
  .admin-bar .site-header.is-sticky { top: 46px; }
  .site-header .nav-toggle { display: block; z-index: 52; }
  .site-header .primary-nav {
    position: fixed;
    inset: 0;
    z-index: 51;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 24px;
    padding: 90px 24px 32px;
    background: rgba(250,247,243,.985);
    transform: translateX(100%);
    transition: transform .28s ease;
    font-size: 1.08rem;
  }
  .nav-open .site-header .primary-nav { transform: translateX(0); }
  .site-header .primary-nav > a:not(.button) { color: #1d181a; }
  .site-header .button--small { min-width: min(300px, 88vw); }
}

@media (max-width: 620px) {
  .nav-wrap { min-height: 68px; }
  .site-header .brand__mark { width: 36px; height: 36px; }
  .site-header .brand__text strong { font-size: .86rem; }
  .site-header .brand__text small { font-size: .56rem; }
  .footer-top { grid-template-columns: 1fr; }
}

/* Keep header/footer alignment identical even when blog.css changes the generic container width. */
.site-header .container,
.site-footer .container { width: min(calc(100% - 40px), 1180px); }
@media (max-width: 620px) {
  .site-header .container,
  .site-footer .container { width: min(calc(100% - 28px), 1180px); }
}

/* v1.3.6: explicitly keep the global header/footer identical on every template. */
.site-header .nav-wrap,.site-footer .footer-top,.site-footer .footer-bottom{width:min(calc(100% - 40px),1180px);margin-left:auto;margin-right:auto}
.site-footer{background:#040b14;color:#91a1af;padding:55px 0 25px}
.site-footer .footer-top{display:grid;grid-template-columns:auto 1fr auto;gap:55px;align-items:center;padding-bottom:35px;border-bottom:1px solid rgba(255,255,255,.08)}
.site-footer .footer-bottom{padding-top:23px;display:flex;align-items:center;justify-content:space-between;font-size:.76rem}
@media(max-width:820px){.site-footer .footer-top{grid-template-columns:1fr;gap:25px}.site-footer .footer-bottom{align-items:flex-start;flex-direction:column;gap:15px;padding-bottom:55px}}
@media(max-width:620px){.site-header .nav-wrap,.site-footer .footer-top,.site-footer .footer-bottom{width:min(calc(100% - 28px),1180px)}}


/* v1.3.8 shared trust navigation */
.site-header .primary-nav{gap:20px}
.footer-links{display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:flex-end}
.footer-links a{color:#c8d1d9}
.footer-links a:hover,.footer-links a:focus-visible{color:#fff}
@media(max-width:820px){.footer-links{justify-content:flex-start}}

/* =========================================
   v1.5.0 — unified shared navigation/footer
   ========================================= */
.site-header,
.site-header.is-sticky {
  position: sticky;
  top: 0;
  z-index: 60;
  color: #0b1728;
  background: rgba(251,253,252,.91);
  border-bottom: 1px solid rgba(11,23,40,.08);
  box-shadow: 0 8px 26px rgba(11,23,40,.045);
  backdrop-filter: blur(18px) saturate(1.15);
}
.site-header .nav-wrap {
  min-height: 82px;
  gap: 24px;
}
.site-header .brand {
  gap: 12px;
  min-width: 0;
}
.site-header .brand__mark {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  padding: 7px;
  border-radius: 14px;
  background: #0b1728;
  color: #fff;
  box-shadow: 0 8px 20px rgba(11,23,40,.14);
}
.site-header .brand__mark svg { width: 100%; height: 100%; }
.site-header .brand__text strong {
  color: #0b1728;
  font-size: .98rem;
  font-weight: 850;
  letter-spacing: -.025em;
}
.site-header .brand__text small {
  margin-top: 5px;
  color: #0c7a52;
  font-size: .58rem;
  font-weight: 850;
  letter-spacing: .13em;
}
.site-header .primary-nav { gap: 22px; }
.site-header .primary-nav > a:not(.button) {
  position: relative;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  color: #445468;
  font-size: .88rem;
  font-weight: 750;
}
.site-header .primary-nav > a:not(.button)::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 4px;
  height: 2px;
  border-radius: 99px;
  background: #19a86f;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .18s ease;
}
.site-header .primary-nav > a:not(.button):hover,
.site-header .primary-nav > a:not(.button):focus-visible { color: #0b1728; }
.site-header .primary-nav > a:not(.button):hover::after,
.site-header .primary-nav > a:not(.button):focus-visible::after { transform: scaleX(1); }
.site-header .button--small {
  min-height: 46px;
  padding: 0 18px;
  border-radius: 12px;
  background: #67e2ab;
  color: #0b1728;
  box-shadow: 0 10px 24px rgba(25,168,111,.16);
  font-size: .86rem;
  font-weight: 850;
}
.site-header .button--small:hover { background: #78e7b6; }
.site-header .nav-toggle {
  width: 46px;
  height: 46px;
  padding: 10px;
  border: 1px solid #dbe5e1;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 8px 20px rgba(11,23,40,.045);
}
.site-header .nav-toggle span:not(.sr-only) {
  width: 22px;
  height: 2px;
  margin: 5px auto;
  border-radius: 99px;
  background: #0b1728;
  transition: transform .2s ease, opacity .2s ease;
}
.nav-open .site-header .nav-toggle span:not(.sr-only):nth-of-type(2) { transform: translateY(7px) rotate(45deg); }
.nav-open .site-header .nav-toggle span:not(.sr-only):nth-of-type(3) { opacity: 0; }
.nav-open .site-header .nav-toggle span:not(.sr-only):nth-of-type(4) { transform: translateY(-7px) rotate(-45deg); }

.site-footer {
  background:
    radial-gradient(circle at 12% 0%, rgba(103,226,171,.08), transparent 24%),
    #07111f;
  color: #9aabbb;
  padding: 58px 0 26px;
}
.site-footer .footer-top {
  gap: 48px;
  padding-bottom: 34px;
  border-bottom-color: rgba(255,255,255,.09);
}
.site-footer .brand__mark {
  width: 44px;
  height: 44px;
  padding: 7px;
  border-radius: 14px;
  background: #10263b;
}
.site-footer .brand__text strong { color: #fff; }
.site-footer .brand__text small { color: #79e9b5; }
.site-footer .footer-contact p { color: #9fb0bf; line-height: 1.65; }
.site-footer .footer-contact strong { color: #dce6ee; }
.site-footer .button--outline {
  min-height: 48px;
  border-color: rgba(255,255,255,.2);
  border-radius: 12px;
  background: rgba(255,255,255,.045);
  color: #fff;
}
.site-footer .button--outline:hover { background: rgba(255,255,255,.09); }
.footer-links { gap: 8px 18px; }
.footer-links a { color: #b7c4cf; }
.footer-links a:hover,
.footer-links a:focus-visible { color: #7deab8; }
.mobile-cta {
  background: #67e2ab !important;
  color: #0b1728 !important;
  border-radius: 12px !important;
  box-shadow: 0 16px 38px rgba(11,23,40,.24) !important;
}

@media (max-width: 820px) {
  .site-header .nav-wrap { min-height: 74px; }
  .site-header .nav-toggle { display: block; z-index: 62; }
  .site-header .primary-nav {
    position: fixed;
    inset: 86px 16px auto;
    z-index: 61;
    display: grid;
    gap: 4px;
    align-items: stretch;
    justify-content: stretch;
    padding: 10px;
    border: 1px solid #dbe5e1;
    border-radius: 18px;
    background: rgba(251,253,252,.985);
    box-shadow: 0 24px 60px rgba(11,23,40,.16);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-10px) scale(.985);
    transition: opacity .2s ease, visibility .2s ease, transform .2s ease;
    font-size: 1rem;
  }
  .nav-open .site-header .primary-nav {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0) scale(1);
  }
  .site-header .primary-nav > a:not(.button) {
    min-height: 50px;
    justify-content: flex-start;
    padding: 0 14px;
    border-radius: 10px;
    color: #0b1728;
  }
  .site-header .primary-nav > a:not(.button)::after { display: none; }
  .site-header .primary-nav > a:not(.button):hover,
  .site-header .primary-nav > a:not(.button):focus-visible { background: #edf7f2; }
  .site-header .button--small {
    width: 100%;
    min-width: 0;
    min-height: 52px;
    margin-top: 3px;
  }
  .site-footer .footer-top { grid-template-columns: 1fr; gap: 24px; }
  .site-footer .footer-bottom { gap: 16px; padding-bottom: 64px; }
  .footer-links { justify-content: flex-start; }
}

@media (max-width: 620px) {
  .site-header .nav-wrap { min-height: 68px; }
  .site-header .brand__mark { width: 38px; height: 38px; flex-basis: 38px; border-radius: 12px; }
  .site-header .brand__text strong { font-size: .87rem; }
  .site-header .brand__text small { font-size: .54rem; }
  .site-header .primary-nav { inset: 78px 14px auto; border-radius: 16px; }
  .site-footer { padding-top: 48px; }
}
@media (max-width: 820px) {
  .admin-bar .site-header .primary-nav { top: 132px; }
}
@media (max-width: 620px) {
  .admin-bar .site-header .primary-nav { top: 124px; }
}
