/* Note:
   We avoid setting padding/margins on body here because pages manage their own top spacing
   (e.g., containers with padding-top) to account for the fixed header.
   This prevents double spacing across pages with different layouts. */
:root {
  --header-height-desktop: 64px;   /* visual height incl. padding */
  --header-height-mobile: 48px;    /* visual height incl. padding */
  --header-safe-space: var(--header-height-desktop); /* default, updated by media query or JS */
}
header {
  background-color: transparent;
  min-height: var(--header-height-desktop);
  padding: 0.75rem 2rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 2000;
  width: 100%;
  box-sizing: border-box;
  overflow: hidden;
  transform: translate3d(0, 0, 0);
  backface-visibility: hidden;
}
header nav a {
  color: #fff;
  text-decoration: none;
  margin-left: 1rem;
}
.logo {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #fff;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-decoration: none;
}
.logo-icon {
  display: inline-block;
  max-height: 30px; /* ~30pt visual size */
  height: 30px;
  width: auto;
  filter: grayscale(100%) saturate(0%);
  -webkit-filter: grayscale(100%) saturate(0%);
  opacity: 0.9; /* subtle */
}
.header-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 16px;
  border-radius: 9999px;
  background-color: rgb(27,27,27);
  color: #ffffff;
  text-decoration: none;
  font-weight: 300;
  letter-spacing: 0.02em;
  line-height: 1;
  white-space: nowrap;
  font-size: 0.9rem;
  margin-left: auto; /* push to right edge */
  height: 32px;
}
.header-cta:hover { opacity: 0.9; }


@media (max-width: 768px) {
  header {
    position: fixed;
    padding: 0.5rem 0.75rem;
    top: 0;
    left: 0;
    right: 0;
    z-index: 2000;
    background-color: transparent;
    min-height: var(--header-height-mobile);
  }
  :root { --header-safe-space: var(--header-height-mobile); }
  .logo-icon {
    height: 24px;
  }
  .header-cta {
    padding: 4px 8px;
    font-size: 0.8rem;
    height: 28px;
  }
}