/* =========================================================
   HEADER.CSS
   Load this AFTER base.css, on every page that includes header.php.
   Contains: announcement bar, sticky header, logo, main nav,
   mega menus, header-right controls, mobile hamburger panel.
========================================================= */

.announce{
  background:var(--navy);
  color:#EAEEFA;
  text-align:center;
  font-size:12.5px;
  letter-spacing:.02em;
  padding:9px 16px;
  display:flex;align-items:center;justify-content:center;gap:8px;
}
.announce .spark{color:#5B8CFF;font-size:14px;line-height:1;}

header.hdr{
  position:sticky;top:0;z-index:40;
  background:var(--white);
  border-bottom:1px solid var(--line);
  transition:box-shadow .25s ease;
}
header.hdr.is-stuck{box-shadow:0 6px 20px -14px rgba(8,16,40,.28);}
.hdr-row{
  max-width:1320px;margin:0 auto;padding:0 32px;height:72px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
}

/* logo */
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit;cursor:pointer;user-select:none;}
.logo-mark{
  width:34px;height:34px;border-radius:9px;
  background:var(--accent);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.logo-mark svg{width:18px;height:18px;}
.logo-text{display:flex;flex-direction:column;line-height:1;}
.logo-text .word{font-family:var(--font-display);font-size:21px;font-weight:700;letter-spacing:-.015em;color:var(--ink);}
.logo-text .tag{font-size:9px;font-weight:600;letter-spacing:.14em;color:var(--ink-faint);margin-top:3px;}
.logo-img-wrap{border-radius:9px;padding:8px 12px;display:flex;align-items:center;}
.logo-img-wrap img{height:25px;width:auto;display:block;}

/* main nav */
nav.main-nav{display:flex;align-items:center;gap:2px;position:relative;}
.nav-item{position:relative;}
.nav-link{
  display:flex;align-items:center;gap:5px;
  padding:10px 14px;font-size:14.5px;font-weight:500;color:var(--ink-soft);
  background:none;border:none;cursor:pointer;font-family:inherit;
  border-radius:var(--radius-sm);
  transition:color .15s ease, background .15s ease;
  white-space:nowrap;text-decoration:none;
}
.nav-link:hover, .nav-item.open .nav-link{color:var(--ink);background:var(--line-soft);}
.nav-link svg{width:13px;height:13px;transition:transform .2s ease;color:var(--ink-faint);}
.nav-item.open .nav-link svg{transform:rotate(180deg);}

/* mega menu */
.mega{
  position:absolute;top:calc(100% + 10px);left:0;
  background:var(--white);border:1px solid var(--line);
  border-radius:var(--radius-lg);box-shadow:var(--shadow-md);
  padding:22px;
  opacity:0;visibility:hidden;transform:translateY(6px);
  transition:opacity .16s ease, transform .16s ease, visibility .16s;
  z-index:50;
}
.nav-item.open .mega{opacity:1;visibility:visible;transform:translateY(0);}

.mega-products{width:640px;left:-40px;}
.prod-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;}
.prod-card{
  padding:6px;border-radius:var(--radius-md);
  display:flex;flex-direction:column;gap:8px;
  text-decoration:none;color:inherit;
  transition:background .15s ease;
}
.prod-card:hover{background:var(--line-soft);}
.prod-icon{
  width:32px;height:32px;border-radius:8px;background:var(--accent-soft);
  display:flex;align-items:center;justify-content:center;
}
.prod-icon svg{width:16px;height:16px;color:var(--accent);}
.prod-card .p-name{font-size:14px;font-weight:600;color:var(--ink);}
.prod-card .p-desc{font-size:12.5px;color:var(--ink-soft);line-height:1.45;}
.prod-card .p-explore{font-size:12.5px;font-weight:600;color:var(--accent);display:flex;align-items:center;gap:4px;margin-top:2px;}
.prod-card .p-explore svg{width:11px;height:11px;transition:transform .15s ease;}
.prod-card:hover .p-explore svg{transform:translateX(3px);}

.mega-foot{
  margin-top:16px;padding-top:14px;border-top:1px solid var(--line-soft);
  display:flex;align-items:center;justify-content:space-between;
}
.mega-foot a{font-size:13px;font-weight:600;color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:5px;}
.mega-foot a svg{width:11px;height:11px;color:var(--accent);}
.mega-foot a:hover{color:var(--accent);}

.mega-services{width:300px;}
.svc-row{
  display:flex;align-items:flex-start;gap:11px;
  padding:9px 8px;border-radius:var(--radius-sm);
  text-decoration:none;color:inherit;
  transition:background .15s ease;
}
.svc-row:hover{background:var(--line-soft);}
.svc-ico{width:26px;height:26px;border-radius:7px;background:var(--line-soft);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;}
.svc-row:hover .svc-ico{background:var(--accent-soft);}
.svc-ico svg{width:14px;height:14px;color:var(--ink-soft);}
.svc-row:hover .svc-ico svg{color:var(--accent);}
.svc-name{font-size:13.5px;font-weight:500;color:var(--ink);}

.mega-resources{width:420px;}
.res-cols{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;}
.res-col-label{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);padding:2px 8px 8px;}
.res-link{
  display:flex;align-items:center;gap:9px;
  padding:8px;border-radius:var(--radius-sm);
  text-decoration:none;color:var(--ink);font-size:13.5px;font-weight:500;
  transition:background .15s ease;
}
.res-link:hover{background:var(--line-soft);color:var(--accent-dark);}
.res-link svg{width:14px;height:14px;color:var(--ink-faint);flex-shrink:0;}
.mega-promo{
  grid-column:1 / -1;margin-top:10px;padding:12px 14px;
  background:var(--accent-soft);border:1px solid var(--accent-soft-line);
  border-radius:var(--radius-md);
  display:flex;align-items:center;justify-content:space-between;
  text-decoration:none;
}
.mega-promo .mp-text{font-size:12.5px;font-weight:600;color:var(--accent-dark);}
.mega-promo svg{width:12px;height:12px;color:var(--accent-dark);}

/* Company dropdown fix */
.mega-company{width:220px;padding:14px;}
.mega-company .svc-row{white-space:nowrap;padding:10px 8px;}
.mega-company .svc-name{white-space:nowrap;}

/* header right controls */
.hdr-right{display:flex;align-items:center;gap:6px;flex-shrink:0;}
.icon-btn{
  width:36px;height:36px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:none;border:none;cursor:pointer;color:var(--ink-soft);
  transition:background .15s ease,color .15s ease;
}
.icon-btn:hover{background:var(--line-soft);color:var(--ink);}
.icon-btn svg{width:17px;height:17px;}
.v-div{width:1px;height:20px;background:var(--line);margin:0 6px;}
.social-cluster{display:flex;align-items:center;gap:2px;}
.login-link{font-size:14px;font-weight:500;color:var(--ink-soft);text-decoration:none;padding:8px 12px;border-radius:var(--radius-sm);transition:background .15s ease,color .15s ease;}
.login-link:hover{background:var(--line-soft);color:var(--ink);}

/* mobile nav (structure) */
.hamburger{display:none;}
.mnav-panel{display:none;}

/* =========================================================
   RESPONSIVE — TABLET (≤1080px)
========================================================= */
@media (max-width: 1080px){
  .hdr-row{padding:0 20px;}
  .logo-text .tag{display:none;}
  .social-cluster{display:none;}
  .login-link{display:none;}
  .v-div{display:none;}
  nav.main-nav{gap:0;}
  .nav-link{padding:10px 10px;font-size:13.5px;}
}

/* =========================================================
   RESPONSIVE — MOBILE (≤720px)
========================================================= */
@media (max-width: 720px){
  .hdr-row{padding:0 18px;height:64px;}
  nav.main-nav{display:none;}
  .hdr-right .cta{display:none;} /* top-right Get Demo button hides — hamburger takes over */
  .hamburger{
    display:flex;width:36px;height:36px;border-radius:9px;background:var(--line-soft);
    align-items:center;justify-content:center;border:none;cursor:pointer;color:var(--ink);margin-left:2px;
  }
  .hamburger svg{width:18px;height:18px;}
  .logo-text .tag{display:none;}

  .mnav-panel{
    display:none;background:var(--white);border-top:1px solid var(--line);
    padding:16px 18px 22px;
  }
  header.hdr.menu-open .mnav-panel{display:block;}
  .msearch{
    display:flex;align-items:center;gap:9px;background:var(--line-soft);border:1px solid var(--line);
    border-radius:var(--radius-md);padding:10px 12px;margin-bottom:16px;
  }
  .msearch svg{width:15px;height:15px;color:var(--ink-faint);flex-shrink:0;}
  .msearch span{font-size:13.5px;color:var(--ink-faint);}
  .macc{border-bottom:1px solid var(--line-soft);}
  .macc:last-of-type{border-bottom:none;}
  .macc-head{
    display:flex;align-items:center;justify-content:space-between;
    padding:13px 2px;font-size:14.5px;font-weight:600;color:var(--ink);cursor:pointer;
  }
  .macc-head svg{width:14px;height:14px;color:var(--ink-faint);transition:transform .2s ease;}
  .macc.open .macc-head svg{transform:rotate(180deg);}
  .macc-body{max-height:0;overflow:hidden;transition:max-height .22s ease;}
  .macc.open .macc-body{max-height:400px;}
  .macc-body .mli{display:block;padding:8px 2px 8px 14px;font-size:13.5px;color:var(--ink-soft);text-decoration:none;}
  .macc-plain{
    display:flex;align-items:center;justify-content:space-between;
    padding:13px 2px;font-size:14.5px;font-weight:600;color:var(--ink);text-decoration:none;
    border-bottom:1px solid var(--line-soft);
  }
  .mnav-cta{margin-top:16px;}
  .mnav-cta .cta{display:flex;width:100%;justify-content:center;}
  .mnav-login{display:block;text-align:center;font-size:13.5px;font-weight:600;color:var(--ink-soft);text-decoration:none;padding:14px 0 2px;}
}