/* ToTrip site navigation — shared across all pages */
.site-header{
  background:#0f2340;
  position:sticky;
  top:0;
  z-index:100;
  box-shadow:0 1px 0 rgba(255,255,255,.08);
}
.site-header .header-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:14px 24px;
}
.site-header .brandmark{
  font-family:"Fraunces",Georgia,serif;
  font-size:1.25rem;
  font-weight:600;
  color:#fff;
  text-decoration:none;
  white-space:nowrap;
}
.site-header .brandmark span{ color:#b6924a; }
.site-header nav#siteNav{ display:flex; align-items:center; gap:28px; flex:1; justify-content:flex-end; }
.site-header nav#siteNav > ul{ display:flex; align-items:center; gap:22px; list-style:none; margin:0; padding:0; }
.site-header nav#siteNav > ul li a{ color:#dfe6f0; text-decoration:none; font-size:.88rem; font-weight:500; white-space:nowrap; }
.site-header nav#siteNav > ul li a:hover{ color:#b6924a; }
.site-header .nav-faq-link{ display:flex; align-items:center; gap:5px; }
.site-header .header-actions{ display:flex; align-items:center; gap:16px; }
.site-header .header-cta{ display:flex; gap:10px; }
.site-header .nav-mobile-cta{ display:none; }
.site-header .nav-toggle{ display:none; flex-direction:column; justify-content:center; gap:5px; width:38px; height:38px; background:none; border:1px solid rgba(255,255,255,.35); border-radius:2px; cursor:pointer; padding:0; }
.site-header .nav-toggle span{ display:block; width:18px; height:2px; margin:0 auto; background:#fff; }

@media (max-width:860px){
  .site-header .header-cta{ display:none; }
  .site-header .nav-toggle{ display:flex; }
  .site-header nav#siteNav{
    position:fixed; top:0; right:0; height:100vh; width:min(300px,84vw);
    background:#0a1830; flex-direction:column; align-items:flex-start; justify-content:flex-start;
    gap:0; padding:80px 28px 28px; transform:translateX(100%); transition:transform .25s ease;
    box-shadow:-8px 0 24px rgba(0,0,0,.3);
  }
  .site-header nav#siteNav.is-open{ transform:translateX(0); }
  .site-header nav#siteNav > ul{ flex-direction:column; align-items:flex-start; gap:18px; width:100%; }
  .site-header nav#siteNav > ul li{ width:100%; }
  .site-header nav#siteNav > ul li a{ display:block; font-size:1rem; padding:6px 0; }
  .site-header .nav-mobile-cta{ display:flex; flex-direction:column; gap:10px; width:100%; margin-top:24px; padding-top:24px; border-top:1px solid rgba(255,255,255,.12); }
  .site-header .nav-mobile-cta .btn{ text-align:center; width:100%; }
}

.nav-backdrop{ display:none; position:fixed; inset:0; background:rgba(10,24,48,.5); z-index:99; }
.nav-backdrop.is-open{ display:block; }
