/* CG Services — shared sticky nav + brand tokens. Loaded after each page's own <style> so these win. */
:root{
  --navy:#4E2766;
  --navy-dark:#3a1c4d;
  --gold:#bf9b46;
  --gold-dark:#9c7c30;
}

.site-nav{
  position:sticky; top:0; z-index:100;
  background:rgba(255,255,255,0.92);
  -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
  border-bottom:1px solid #e7e9ee;
  display:flex; align-items:center; justify-content:space-between;
  gap:24px; padding:11px clamp(20px,5vw,56px);
  transition:box-shadow .3s, border-color .3s;
  font-family:'Work Sans',system-ui,-apple-system,sans-serif;
}
.site-nav.scrolled{ box-shadow:0 6px 24px rgba(20,33,59,0.08); border-bottom-color:transparent; }
.site-nav .nav-logo img{ height:48px; width:auto; display:block; margin:0; }
.site-nav .nav-right{ display:flex; align-items:center; gap:26px; }
.site-nav .nav-links{ display:flex; align-items:center; gap:28px; list-style:none; margin:0; padding:0; }
.site-nav .nav-links a{
  text-decoration:none; color:#1f2733; font-weight:600; font-size:0.9rem;
  letter-spacing:0.2px; position:relative; padding:6px 0; transition:color .2s; display:inline-block;
}
.site-nav .nav-links a:hover, .site-nav .nav-links a.active{ color:var(--navy); }
.site-nav .nav-links a.active::after{
  content:""; position:absolute; left:0; right:0; bottom:-1px; height:2px; background:var(--gold);
}
.site-nav .nav-cta{
  display:inline-block; background:var(--navy); color:#fff;
  padding:11px 22px; border-radius:50px; text-decoration:none;
  font-weight:700; font-size:0.78rem; letter-spacing:0.6px; text-transform:uppercase;
  white-space:nowrap; box-shadow:0 6px 18px rgba(20,33,59,0.18);
  transition:background .2s, transform .2s;
}
.site-nav .nav-cta:hover{ background:var(--navy-dark); transform:translateY(-2px); }
.site-nav .nav-mobile-cta{ display:none; }
.site-nav .nav-toggle{ display:none; background:none; border:0; cursor:pointer; padding:6px; color:var(--navy); }
.site-nav .nav-toggle svg{ display:block; }
@media (max-width:880px){
  .site-nav .nav-links{
    position:absolute; top:100%; left:0; right:0; z-index:99;
    flex-direction:column; align-items:stretch; gap:0;
    background:#fff; border-bottom:1px solid #e7e9ee;
    padding:6px clamp(20px,5vw,56px) 18px;
    box-shadow:0 14px 30px rgba(20,33,59,0.10);
    display:none;
  }
  .site-nav.open .nav-links{ display:flex; }
  .site-nav .nav-links a{ display:block; padding:13px 0; border-bottom:1px solid #e7e9ee; font-size:1rem; }
  .site-nav .nav-links li:last-child a{ border-bottom:0; }
  .site-nav .nav-mobile-cta{ display:block; margin-top:14px; }
  .site-nav .nav-mobile-cta a{ border-bottom:0 !important; color:#fff; text-align:center; }
  .site-nav .desktop-cta{ display:none; }
  .site-nav .nav-toggle{ display:inline-flex; }
}

/* Shared rounded buttons */
.btn-fill{
  display:inline-flex; align-items:center; gap:8px; background:var(--navy); color:#fff;
  padding:15px 30px; border-radius:50px; text-decoration:none; font-weight:700;
  font-size:0.84rem; letter-spacing:0.6px; text-transform:uppercase;
  box-shadow:0 10px 26px rgba(20,33,59,0.18); transition:background .2s, transform .2s;
}
.btn-fill:hover{ background:var(--navy-dark); transform:translateY(-2px); }
.btn-outline{
  display:inline-flex; align-items:center; gap:8px; background:#fff; color:var(--navy);
  padding:15px 28px; border-radius:50px; text-decoration:none; font-weight:700;
  font-size:0.84rem; letter-spacing:0.6px; text-transform:uppercase;
  border:1.5px solid var(--navy); transition:background .2s, color .2s, transform .2s;
}
.btn-outline:hover{ background:var(--navy); color:#fff; transform:translateY(-2px); }
