:root{
  --pl-navy: rgba(8,14,4,1);
  --pl-blue: rgba(62,156,254,1);
  --pl-white:#ffffff;
}

/* Header visuals */
#siteHeader{transition: background-color .25s, border-color .25s, color .25s, box-shadow .25s}
#siteHeader .nav-link{position:relative; text-decoration:none}
#siteHeader .nav-link:hover{ text-decoration:none }
#siteHeader .nav-link::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:transparent;transition:background .2s}
#siteHeader .nav-link:hover::after{background:currentColor}
#siteHeader.on-hero{background: var(--pl-navy); color:#fff}
#siteHeader.on-hero .brand, #siteHeader.on-hero .nav-link{color:#fff}
#siteHeader.on-hero #openSearch{color:#e5e7eb; border-color: rgba(255,255,255,.35); background: rgba(255,255,255,.08)}
#siteHeader.on-hero #openSearch:hover{background: rgba(255,255,255,.16)}
#siteHeader.scrolled{background:rgba(255,255,255,.86);backdrop-filter:saturate(140%) blur(8px);-webkit-backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid #e5e7eb;box-shadow:0 6px 18px rgba(2,6,23,.08)}

/* Dropdown nav */
.nav-group{position:relative}
.nav-panel{position:absolute;left:0;top:100%;margin-top:.35rem;min-width:14rem;background:#fff;color:#0f172a;border:1px solid #e5e7eb;border-radius:.75rem;box-shadow:0 18px 44px rgba(2,6,23,.16);opacity:0;pointer-events:none;transform:translateY(4px);transition:opacity .15s ease,transform .15s ease;z-index:60}
.nav-group:hover .nav-panel,.nav-group:focus-within .nav-panel,.nav-group.open .nav-panel{opacity:1;pointer-events:auto;transform:none}
.nav-panel a{display:block;padding:.6rem .85rem;border-bottom:1px solid #f1f5f9}
.nav-panel a:last-child{border-bottom:none}

/* Global offsets + animations */
section{scroll-margin-top:88px}
.reveal{opacity:0;transform:translateY(14px);transition:opacity .55s ease,transform .55s ease}
.reveal.show{opacity:1;transform:none}

/* Brand gradients */
.contact-surface{background:linear-gradient(180deg, var(--pl-navy), var(--pl-blue))}

/* Map pins + tooltips */
#mapWrap{position:relative;overflow:hidden}
#pins{position:absolute;inset:0;pointer-events:auto}
.pin{pointer-events:auto;position:absolute;transform:translate(-50%,-50%)}
.pin::before{content:"";display:block;width:10px;height:10px;border-radius:9999px;background:var(--pl-blue);box-shadow:0 0 0 3px rgba(62,156,254,.25)}
.pin[data-type="hq"]::before{background:var(--pl-navy);box-shadow:0 0 0 3px rgba(2,28,61,.25)}
.pin .label{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);font-size:12px;padding:.2rem .4rem;border-radius:.35rem;background:rgba(255,255,255,.92);border:1px solid #e5e7eb;white-space:nowrap;display:none}
.pin:hover .label{display:block}

/* Unified Contact button */
.contact-cta{display:inline-block;padding:.45rem .9rem;border-radius:.65rem;background:var(--pl-blue);color:#fff;border:0;font-weight:600;text-decoration:none}
.contact-cta:hover{filter:brightness(.95)}

/* Interactive shadow for boxes */
.card, .search-panel, .nav-panel,
section .rounded, section .rounded-xl,
section .border.rounded, section .border.rounded-xl {
  transition: box-shadow .25s ease, transform .25s ease;
}
.card:hover, .search-panel:hover, .nav-panel:hover,
section .rounded:hover, section .rounded-xl:hover,
section .border.rounded:hover, section .border.rounded-xl:hover {
  box-shadow: 0 18px 36px rgba(2,6,23,.12);
  transform: translateY(-2px);
}
.card:active, .search-panel:active, .nav-panel:active,
section .rounded:active, section .rounded-xl:active,
section .border.rounded:active, section .border.rounded-xl:active {
  transform: translateY(0);
  box-shadow: 0 10px 22px rgba(2,6,23,.10);
}
