/* ============================================================
   SouthLine — glass pill navbar
   Self-contained replacement for the Elementor header template.
   Logo left · menu centred · CTA right · burger panel under 1025px.

   The bar is position:fixed, so page content runs underneath it.
   That is intentional for a hero that sits behind the pill.
   If your first section is NOT a full-bleed hero and now hides
   under the navbar, uncomment the body rule at the bottom.
   ============================================================ */

.slnav-root,.slnav-root *{box-sizing:border-box!important}
.slnav-root{
  --sl-accent:#00DF9C;
  --sl-ink:#101010;
  --sl-blur:18px;
  --sl-tint:.55;
  --sl-tint-stuck:.77;
  --sl-max:1400px;
  --sl-ease:cubic-bezier(.2,.8,.25,1);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
}

.slnav{
  position:fixed!important;
  top:0;left:0;right:0;
  z-index:9990;
  padding:14px 20px 0!important;
  margin:0!important;
  pointer-events:none;
}
.slnav__pill{
  display:grid!important;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:18px;
  max-width:var(--sl-max);
  margin:0 auto!important;
  padding:8px 8px 8px 26px!important;
  border-radius:999px;
  pointer-events:auto;
  background:rgba(20,23,23,var(--sl-tint));
  -webkit-backdrop-filter:blur(var(--sl-blur)) saturate(160%);
  backdrop-filter:blur(var(--sl-blur)) saturate(160%);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 14px 34px -14px rgba(0,0,0,.65), inset 0 1px 0 rgba(255,255,255,.07);
  transition:background .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.slnav.is-stuck .slnav__pill{
  background:rgba(14,16,16,var(--sl-tint-stuck));
  border-color:rgba(255,255,255,.14);
  box-shadow:0 18px 40px -14px rgba(0,0,0,.8), inset 0 1px 0 rgba(255,255,255,.08);
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .slnav__pill{background:rgba(16,18,18,.94)}
  .slnav.is-stuck .slnav__pill{background:rgba(13,15,15,.97)}
}

.slnav__logo{justify-self:start;display:flex!important;align-items:center;line-height:0;text-decoration:none!important}
.slnav__logo img{width:152px!important;max-width:152px!important;height:auto!important;display:block!important}

.slnav__nav{justify-self:center;min-width:0}
.slnav__links{
  display:flex!important;align-items:center;gap:2px;
  margin:0!important;padding:0!important;list-style:none!important;
}
.slnav__links li{margin:0!important;padding:0!important;list-style:none!important}
.slnav__links a{
  display:block!important;
  padding:9px 14px!important;
  border-radius:999px!important;
  font-size:13.5px!important;font-weight:500!important;line-height:1.2!important;
  color:rgba(255,255,255,.72)!important;
  text-decoration:none!important;white-space:nowrap;
  transition:color .22s ease, background .22s ease;
}
.slnav__links a:hover{color:#fff!important;background:rgba(255,255,255,.07)!important}
.slnav__links a.is-current{color:var(--sl-accent)!important}
.slnav__links a:focus-visible{outline:2px solid var(--sl-accent);outline-offset:2px}

.slnav__right{justify-self:end;display:flex!important;align-items:center;gap:10px}

.slnav__cta{
  display:inline-block!important;
  padding:12px 18px!important;
  border:0!important;border-radius:35px!important;
  background-color:var(--sl-accent)!important;
  color:var(--sl-ink)!important;fill:var(--sl-ink)!important;
  font-size:13px!important;font-weight:600!important;line-height:1!important;
  text-transform:uppercase!important;text-align:center!important;text-decoration:none!important;
  white-space:nowrap;
}
.slnav__cta:focus-visible{outline:2px solid var(--sl-accent);outline-offset:3px}
.slnav__cta--wide{display:block!important;padding:16px 18px!important;font-size:14px!important}

.slnav__burger{
  display:none!important;
  appearance:none;-webkit-appearance:none;
  width:42px!important;height:42px!important;min-width:42px;max-width:42px;min-height:42px;max-height:42px;aspect-ratio:1/1;flex:0 0 42px;
  align-items:center;justify-content:center;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.05)!important;
  cursor:pointer;padding:0!important;margin:0!important;
}
.slnav__burger span{display:block;width:16px;height:1.5px;background:#fff;position:relative;transition:background .2s ease}
.slnav__burger span::before,.slnav__burger span::after{
  content:"";position:absolute;left:0;width:16px;height:1.5px;background:#fff;
  transition:transform .28s var(--sl-ease), top .28s var(--sl-ease);
}
.slnav__burger span::before{top:-5px}
.slnav__burger span::after{top:5px}
.slnav__burger[aria-expanded="true"] span{background:transparent}
.slnav__burger[aria-expanded="true"] span::before{top:0;transform:rotate(45deg)}
.slnav__burger[aria-expanded="true"] span::after{top:0;transform:rotate(-45deg)}
.slnav__burger:focus-visible{outline:2px solid var(--sl-accent);outline-offset:3px}

.slnav__scrim{
  position:fixed!important;inset:0!important;z-index:9980;
  background:rgba(6,8,8,.6);
  -webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);
  opacity:0;transition:opacity .3s ease;
}
.slnav__scrim.is-open{opacity:1}

.slnav__panel{
  position:fixed!important;
  top:0;right:0;
  width:min(420px,100%);height:100dvh;height:100vh;
  z-index:9985;
  display:flex!important;flex-direction:column!important;justify-content:center!important;
  gap:8px;
  padding:96px 32px 40px!important;margin:0!important;
  background:rgba(10,11,11,.86);
  -webkit-backdrop-filter:blur(22px) saturate(150%);backdrop-filter:blur(22px) saturate(150%);
  border-left:1px solid rgba(255,255,255,.08);
  transform:translateX(100%);
  transition:transform .42s var(--sl-ease);
  overflow-y:auto;
}
.slnav__panel.is-open{transform:translateX(0)}
.slnav__panel nav{display:flex!important;flex-direction:column!important;gap:2px;margin:0 0 26px!important}
.slnav__panel nav a{
  display:block!important;
  padding:12px 0!important;
  font-size:26px!important;font-weight:600!important;line-height:1.15!important;letter-spacing:-.02em!important;
  color:rgba(255,255,255,.9)!important;text-decoration:none!important;
  transition:color .2s ease;
}
.slnav__panel nav a:hover{color:var(--sl-accent)!important}
.slnav__panel nav a.is-current{color:var(--sl-accent)!important}
.slnav__panel nav a:focus-visible{outline:2px solid var(--sl-accent);outline-offset:3px}

@media (max-width:1024px){
  .slnav{padding:12px 16px 0!important}
  .slnav__pill{grid-template-columns:1fr auto;gap:12px;padding:8px 8px 8px 18px!important}
  .slnav__nav{display:none!important}
  .slnav__right>.slnav__cta{display:none!important}
  .slnav__burger{display:flex!important}
  .slnav__logo img{width:132px!important;max-width:132px!important}
}
@media (max-width:767px){
  .slnav{padding:10px 12px 0!important}
  .slnav__pill{padding:7px 7px 7px 16px!important}
  .slnav__logo img{width:120px!important;max-width:120px!important}
  .slnav__panel{width:100%;padding:92px 26px 36px!important;border-left:0}
  .slnav__panel nav a{font-size:23px!important}
}
@media (prefers-reduced-motion:reduce){
  .slnav__pill,.slnav__panel,.slnav__scrim,
  .slnav__panel nav a,.slnav__panel .slnav__cta--wide,
  .slnav__burger span,.slnav__burger span::before,.slnav__burger span::after{
    transition:none!important;
  }
}

/* --- optional content offset ---------------------------------
   The old Elementor header took up space in the page flow; this
   one does not. If removing it pulled your content up under the
   pill, uncomment the matching line below.
   ------------------------------------------------------------ */
/* body{padding-top:96px}                                   */
/* @media (max-width:1024px){body{padding-top:86px}}        */
/* @media (max-width:767px) {body{padding-top:78px}}        */
