/* Site header (#site-header) — shared by every page except media-kit.html, which had drifted; see report */
  #site-header {
    --deep: #0D1026; --deep-2: #171B3D; --leaf: #35AD51; --leaf-dark: #248238; --leaf-light: #8FD9A1;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    position: sticky; top: 0; z-index: 999; background: var(--deep);
    border-bottom: 1px solid rgba(255,255,255,0.08);
  }
  #site-header * { box-sizing: border-box; }
  #site-header a { text-decoration: none; }
  #site-header .bar {
    max-width: 1280px; margin: 0 auto; padding: 20px 32px;
    display: flex; align-items: center; justify-content: space-between; gap: 24px;
  }
  #site-header .brand { display: flex; align-items: center; gap: 12px; text-decoration: none; flex: none; }
  #site-header .brand img { height: 60px; width: 60px; object-fit: contain; flex: none; display: block; }
  #site-header .brand-text { line-height: 1.15; }
  #site-header .brand-text .name {
    font-family: 'Fraunces', Georgia, serif; font-weight: 600; font-size: 15.5px; color: #fff; display: block;
  }
  #site-header .brand-text .tag {
    font-size: 10.5px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--leaf-light); display: block; margin-top: 2px;
  }
  #site-header nav.main-nav { display: flex; align-items: center; gap: 8px; flex: 1; justify-content: center; }
  #site-header nav.main-nav > .nav-item { position: relative; }
  #site-header nav.main-nav > .nav-item:not(:last-child)::after {
    content: ''; position: absolute; right: -5px; top: 50%; transform: translateY(-50%);
    width: 1px; height: 18px; background: rgba(255,255,255,0.14);
  }
  #site-header nav.main-nav > .nav-item > a, #site-header nav.main-nav > .nav-item > button {
    display: flex; align-items: center; gap: 5px; background: none; border: none; cursor: pointer;
    font-family: inherit; font-size: 14px; font-weight: 600; color: #D7DBEA; padding: 12px 16px; border-radius: 8px;
    transition: color .15s ease, background .15s ease;
  }
  #site-header nav.main-nav > .nav-item > a:hover, #site-header nav.main-nav > .nav-item > button:hover { color: #fff; background: rgba(255,255,255,0.06); }
  #site-header nav.main-nav > .nav-item > button svg { width: 12px; height: 12px; transition: transform .15s ease; }
  #site-header nav.main-nav > .nav-item.open > button svg { transform: rotate(180deg); }
  #site-header nav.main-nav > .nav-item.active > button,
  #site-header nav.main-nav > .nav-item > a.active { color: #fff; background: rgba(255,255,255,0.08); }
  #site-header .dropdown {
    position: absolute; top: calc(100% + 10px); left: 50%; transform: translateX(-50%);
    background: var(--deep-2); border: 1px solid rgba(255,255,255,0.08); border-radius: 14px; padding: 10px;
    min-width: 240px; box-shadow: 0 20px 40px -12px rgba(0,0,0,0.5);
    opacity: 0; visibility: hidden; translate: 0 6px; transition: opacity .15s ease, translate .15s ease, visibility .15s;
  }
  #site-header .nav-item.open .dropdown, #site-header .nav-item:hover .dropdown { opacity: 1; visibility: visible; translate: 0 0; }
  #site-header .dropdown a {
    display: block; padding: 9px 12px; border-radius: 8px; font-size: 13px; font-weight: 500; color: #C7CCDF;
    transition: background .15s ease, color .15s ease;
  }
  #site-header .dropdown a:hover { background: rgba(53,173,81,0.14); color: #fff; }
  #site-header .dropdown a.active { background: rgba(53,173,81,0.14); color: #fff; }
  #site-header .cta-group { flex: none; display: flex; align-items: center; gap: 10px; }
  #site-header .cta {
    flex: none; display: inline-flex; align-items: center; gap: 8px; padding: 13px 22px; border-radius: 10px;
    background: linear-gradient(135deg, var(--leaf) 0%, var(--leaf-dark) 100%); color: #fff; font-size: 14px; font-weight: 700;
    box-shadow: 0 8px 18px -8px rgba(36,130,56,0.55);
  }
  #site-header .cta svg { width: 14px; height: 14px; }
  #site-header .cta-portal {
    flex: none; display: inline-flex; align-items: center; gap: 8px; padding: 13px 20px; border-radius: 10px;
    background: transparent; color: #fff; font-size: 14px; font-weight: 700; border: 1.5px solid rgba(255,255,255,0.28);
  }
  #site-header .cta-portal:hover { border-color: var(--leaf-light); color: var(--leaf-light); }
  #site-header .cta-portal svg { width: 14px; height: 14px; }
  #site-header .burger {
    display: none; flex: none; width: 40px; height: 40px; border-radius: 9px; border: none; background: rgba(255,255,255,0.06);
    color: #fff; cursor: pointer; align-items: center; justify-content: center;
  }
  #site-header .burger svg { width: 20px; height: 20px; }
  #site-header .mobile-portal-item { display: none; }
  @media (max-width: 1080px) {
    #site-header nav.main-nav {
      display: none; position: absolute; top: 100%; left: 0; right: 0; flex-direction: column; align-items: stretch;
      background: var(--deep-2); border-top: 1px solid rgba(255,255,255,0.08); padding: 10px; max-height: 80vh; overflow-y: auto;
    }
    #site-header nav.main-nav.mobile-open { display: flex; }
    #site-header nav.main-nav > .nav-item > a, #site-header nav.main-nav > .nav-item > button { width: 100%; justify-content: space-between; }
    #site-header nav.main-nav > .nav-item::after { display: none; }
    #site-header .dropdown {
      position: static; transform: none; opacity: 1; visibility: visible; translate: 0; display: none;
      box-shadow: none; margin: 2px 0 8px;
    }
    #site-header .nav-item.open .dropdown { display: block; }
    #site-header .cta-group { order: 2; gap: 8px; }
    #site-header .cta { padding: 9px 14px; font-size: 12.5px; }
    #site-header .cta svg { display: none; }
    #site-header .cta-portal { padding: 9px 14px; font-size: 12.5px; }
    #site-header .cta-portal svg { display: none; }
    #site-header .burger { display: flex; order: 3; }
    #site-header .brand { order: 1; }
    #site-header .mobile-portal-item { display: block; margin-top: 6px; padding-top: 10px; border-top: 1px solid rgba(255,255,255,0.08); }
    #site-header nav.main-nav > .nav-item > a.mobile-portal-link {
      display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%;
      padding: 12px 16px; border-radius: 9px; font-size: 14px; font-weight: 700; color: #fff;
      background: linear-gradient(135deg, var(--leaf) 0%, var(--leaf-dark) 100%); border: none;
    }
    #site-header nav.main-nav > .nav-item > a.mobile-portal-link svg { width: 14px; height: 14px; flex: none; }
    #site-header nav.main-nav > .nav-item > a.mobile-portal-link:hover { filter: brightness(1.08); background: linear-gradient(135deg, var(--leaf) 0%, var(--leaf-dark) 100%); color: #fff; }
  }
  @media (max-width: 560px) {
    #site-header .cta-portal { display: none; }
  }
