/* Page scaffolding and navigation structure: container, header, desktop nav, hamburger, mobile drawer. */
.container{max-width:1180px; margin:0 auto; padding:0 var(--space-6);}
section{position:relative;}

/* ===== Header ===== */
header{
  position:sticky; top:0; z-index:100;
  background:rgba(248,249,252,0.78);
  backdrop-filter:blur(20px) saturate(1.5);
  -webkit-backdrop-filter:blur(20px) saturate(1.5);
  border-bottom:1px solid transparent;
  transition: box-shadow .3s ease, background .3s ease, border-color .3s ease;
}
header.scrolled{
  box-shadow:0 8px 30px -14px rgba(10,23,48,0.14);
  background:rgba(248,249,252,0.92);
  border-bottom-color:var(--border);
}
.header-inner{
  max-width:1180px; margin:0 auto; padding:var(--space-3) var(--space-6);
  display:flex; align-items:center; gap:var(--space-5);
}
.logo{display:flex; align-items:center;}
.logo-img{height:42px; width:auto; display:block; flex-shrink:0;}

/* ===== Desktop nav ===== */
nav.main-nav{display:flex; align-items:center; gap:var(--space-7); margin-inline-start:var(--space-4);}
nav.main-nav a{
  font-size:var(--fs-sm); font-weight:600; color:var(--slate); position:relative; padding:6px 2px;
  transition:color .2s ease;
}
nav.main-nav a::after{
  content:''; position:absolute; bottom:-1px; right:50%; translate:50% 0; width:0; height:2.5px; border-radius:3px; background:var(--grad-gold);
  transition:width .28s var(--ease-entrance);
}
nav.main-nav a:hover{color:var(--navy);}
nav.main-nav a:hover::after,
nav.main-nav a.active::after{width:calc(100% - 4px);}
nav.main-nav a.active{color:var(--navy);}

.header-cta{display:flex; align-items:center; gap:var(--space-3); margin-inline-start:auto;}

/* ===== Hamburger ===== */
.hamburger{display:none; flex-direction:column; gap:var(--space-1); width:26px; background:none; padding:var(--space-1) 0;}
.hamburger span{display:block; width:100%; height:2px; background:var(--navy); border-radius:2px; transition:.3s;}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* ===== Mobile nav drawer ===== */
.mobile-nav{
  position:fixed; inset:0; z-index:99; background:rgba(5,11,24,0.6);
  opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .3s ease, visibility 0s linear .3s;
}
.mobile-nav.open{opacity:1; visibility:visible; pointer-events:auto; transition:opacity .3s ease;}
body.nav-open{overflow:hidden;}
.mobile-nav-panel{
  position:absolute; top:0; right:0; bottom:0; width:82%; max-width:340px;
  background:#fff; padding:96px 28px 30px; display:flex; flex-direction:column; gap:var(--space-2);
  transform:translateX(100%); transition:transform .38s var(--ease-entrance);
  box-shadow:-24px 0 60px -30px rgba(10,23,48,0.4);
  border-inline-start:4px solid var(--gold-2);
}
.mobile-nav.open .mobile-nav-panel{transform:translateX(0);}
.mobile-nav-panel a:not(.btn){
  font-size:17.5px; font-weight:600; color:var(--navy);
  padding:13px 14px; margin:0 -14px; border-radius:var(--radius-sm);
  transition:background .2s ease;
}
.mobile-nav-panel a:not(.btn):hover{background:var(--bg2);}
.mobile-nav-panel .btn{margin-top:16px;}
