/* Header */
.site-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:var(--space-4) var(--gutter);
  max-width:var(--container-max);
  margin:0 auto;
}
.site-nav{
  display:flex;
  align-items:center;
  gap:var(--space-5);
}
.nav-link{
  color:var(--text-secondary);
  text-decoration:none;
  font-size:var(--body-sm);
}
.nav-link:hover{
  color:var(--text-primary);
}
.nav-current{
  color:var(--text-primary);
  font-size:var(--body-sm);
}

.hamburger-toggle{
  display:none;
  align-items:center;
  justify-content:center;
  background:transparent;
  border:none;
  cursor:pointer;
  padding:8px;
  font-size:1.5rem;
  line-height:1;
  color:var(--text-primary);
}

.mobile-nav-panel{
  display:none;
  flex-direction:column;
  gap:var(--space-4);
  padding:var(--space-5) var(--gutter);
  border-top:1px solid var(--border-subtle);
  background:var(--surface-page);
}
.mobile-nav-panel.is-open{
  display:flex;
}
.mobile-nav-panel .nav-link,
.mobile-nav-panel .nav-current{
  font-size:var(--body-md);
}

@media (max-width:767px){
  .site-nav,
  .site-header-cta{
    display:none;
  }
  .hamburger-toggle{
    display:inline-flex;
  }
}

/* Footer — shared CTA-banner variant (Home, Briefing, Insights, About) */
.site-footer{
  display:flex;
  flex-direction:column;
  gap:var(--space-7);
  border-top:1px solid var(--border-subtle);
  padding:var(--space-8) var(--gutter) var(--space-6);
  max-width:var(--container-max);
  margin:0 auto;
}
.footer-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  flex-wrap:wrap;
  gap:var(--space-7);
}
.footer-cta{
  max-width:420px;
}
.footer-heading{
  font-family:var(--font-display);
  font-size:var(--heading-2);
  font-weight:var(--weight-regular);
  color:var(--text-primary);
  margin:0 0 var(--space-4) 0;
}
.footer-nav{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:var(--space-3);
  padding-top:var(--space-1);
}

.footer-bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:var(--space-5);
  padding-top:var(--space-6);
  border-top:1px solid var(--border-subtle);
}
.footer-logo{
  height:18px;
  width:auto;
  opacity:0.8;
}
.footer-copyright{
  font-size:var(--caption);
  color:var(--text-secondary);
  margin:0;
}

@media (max-width:767px){
  .footer-top{
    flex-direction:column;
    align-items:flex-start;
  }
  .footer-nav{
    align-items:flex-start;
  }
  .footer-bottom{
    flex-direction:column;
    align-items:flex-start;
    gap:var(--space-4);
  }
}
