/* Balk VIP Transfer — V12 reliable mobile navigation */
:root{--mobile-header-h:68px}
/* Preserve V11 typography and the slightly raised desktop bar. */
:root{--display-font:"Inter Tight",Manrope,Arial,sans-serif}
h1,h2{font-family:var(--display-font)!important;font-weight:800!important;letter-spacing:-.052em!important;line-height:.95!important}
h3,.service-card h3,.feature-row h3,.value-card h3,.route-card b,.contact-link b,.nationwide-card h3{font-family:var(--display-font)!important}
em{font-family:inherit!important;font-style:normal!important;font-weight:800!important}
.hero-copy h1{font-size:clamp(4.3rem,7.1vw,7.7rem)!important;line-height:.91!important;letter-spacing:-.062em!important}
@media (min-width:901px){
  .site-header{height:82px!important}
  .site-header.scrolled{height:70px!important}
  .site-header .nav-wrap{transform:translateY(-4px)!important}
  .main-nav{gap:27px!important}
  .hero-grid{padding-top:124px!important}
}


/* Desktop: keep the original navigation, only normalize the toggle. */
.nav-toggle{appearance:none;-webkit-appearance:none}
.mobile-nav-backdrop,.mobile-nav-drawer{display:none}

@media (max-width:900px){
  html,body{max-width:100%;overflow-x:hidden}
  body.menu-open{overflow:hidden!important;touch-action:none}
  /* Disable all legacy pseudo-element menu backdrops. */
  body::after,body.menu-open::after{content:none!important;display:none!important;pointer-events:none!important}

  /* Header is always a clean, single mobile bar. */
  .site-header,
  .site-header.scrolled{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    height:var(--mobile-header-h)!important;
    min-height:var(--mobile-header-h)!important;
    z-index:5000!important;
    background:rgba(8,15,20,.97)!important;
    border-bottom:1px solid rgba(225,199,137,.14)!important;
    box-shadow:0 10px 28px rgba(0,0,0,.18)!important;
    backdrop-filter:blur(14px)!important;
    -webkit-backdrop-filter:blur(14px)!important;
    transform:none!important;
  }
  .site-header .container.nav-wrap{
    width:calc(100% - 24px)!important;
    max-width:none!important;
    height:100%!important;
    margin:0 auto!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    transform:none!important;
  }
  .site-header .brand{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    flex:1 1 auto!important;
    min-width:0!important;
    max-width:calc(100% - 58px)!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
  }
  .site-header .brand-logo,
  .site-header.scrolled .brand-logo{
    width:42px!important;
    height:42px!important;
    flex:0 0 42px!important;
    margin:0!important;
  }
  .site-header .brand>span{display:block!important;min-width:0!important}
  .site-header .brand strong{
    display:block!important;
    color:#f1eee7!important;
    font-size:.86rem!important;
    line-height:1!important;
    letter-spacing:.16em!important;
    white-space:nowrap!important;
  }
  .site-header .brand small{
    display:block!important;
    margin-top:5px!important;
    color:#d8b96e!important;
    font-size:.42rem!important;
    line-height:1!important;
    letter-spacing:.16em!important;
    white-space:nowrap!important;
  }

  /* Desktop navigation must never participate in mobile layout. */
  .site-header .main-nav,
  body.menu-open .site-header .main-nav{
    display:none!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }

  /* Dedicated hamburger. */
  .nav-toggle{
    display:block!important;
    position:relative!important;
    z-index:5020!important;
    flex:0 0 44px!important;
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid rgba(225,199,137,.18)!important;
    border-radius:12px!important;
    background:rgba(255,255,255,.035)!important;
    box-shadow:none!important;
    cursor:pointer!important;
  }
  .nav-toggle span{
    position:absolute!important;
    left:10px!important;
    display:block!important;
    width:22px!important;
    height:2px!important;
    margin:0!important;
    border:0!important;
    border-radius:99px!important;
    background:#eee9df!important;
    opacity:1!important;
    transform:none!important;
    transform-origin:center!important;
    transition:top .22s ease,transform .22s ease,opacity .16s ease!important;
  }
  .nav-toggle span:nth-child(1){top:13px!important}
  .nav-toggle span:nth-child(2){top:20px!important}
  .nav-toggle span:nth-child(3){top:27px!important}
  body.menu-open .nav-toggle span:nth-child(1){top:20px!important;transform:rotate(45deg)!important}
  body.menu-open .nav-toggle span:nth-child(2){opacity:0!important}
  body.menu-open .nav-toggle span:nth-child(3){top:20px!important;transform:rotate(-45deg)!important}

  /* Real DOM backdrop; no pseudo-element tricks. */
  .mobile-nav-backdrop{
    display:block!important;
    position:fixed!important;
    z-index:4980!important;
    top:var(--mobile-header-h)!important;
    right:0!important;
    bottom:0!important;
    left:0!important;
    background:rgba(2,7,11,.68)!important;
    backdrop-filter:blur(3px)!important;
    -webkit-backdrop-filter:blur(3px)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:opacity .24s ease,visibility .24s ease!important;
  }
  body.menu-open .mobile-nav-backdrop{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }

  /* Dedicated drawer. It is not .main-nav, so old CSS cannot break it. */
  .mobile-nav-drawer{
    display:flex!important;
    position:fixed!important;
    z-index:4995!important;
    top:var(--mobile-header-h)!important;
    right:0!important;
    bottom:0!important;
    width:min(86vw,350px)!important;
    height:calc(100dvh - var(--mobile-header-h))!important;
    padding:20px 18px max(26px,env(safe-area-inset-bottom))!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:0!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    background:
      radial-gradient(circle at 92% 4%,rgba(199,162,91,.12),transparent 28%),
      linear-gradient(180deg,#121e26 0%,#091116 100%)!important;
    border-left:1px solid rgba(225,199,137,.14)!important;
    box-shadow:-26px 0 70px rgba(0,0,0,.48)!important;
    transform:translateX(102%)!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:none!important;
    transition:transform .30s cubic-bezier(.22,.75,.18,1)!important;
  }
  body.menu-open .mobile-nav-drawer{
    transform:translateX(0)!important;
    pointer-events:auto!important;
  }
  .mobile-nav-drawer .mobile-menu-label{
    display:block!important;
    padding:7px 10px 16px!important;
    color:#b99a58!important;
    font-size:.62rem!important;
    font-weight:800!important;
    letter-spacing:.22em!important;
    text-transform:uppercase!important;
  }
  .mobile-nav-drawer a{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    width:100%!important;
    min-height:56px!important;
    padding:15px 10px!important;
    margin:0!important;
    color:#dce0e2!important;
    font-family:"Inter Tight",Manrope,Arial,sans-serif!important;
    font-size:1rem!important;
    font-weight:700!important;
    line-height:1.2!important;
    letter-spacing:.01em!important;
    text-decoration:none!important;
    border:0!important;
    border-bottom:1px solid rgba(255,255,255,.075)!important;
    background:transparent!important;
  }
  .mobile-nav-drawer a::before,
  .mobile-nav-drawer a::after{content:none!important;display:none!important}
  .mobile-nav-drawer .nav-instagram,
  .mobile-nav-drawer [data-instagram]{display:none!important}

  .mobile-nav-drawer a.active{color:#e0c47c!important}
  .mobile-nav-drawer a.mobile-nav-cta{
    justify-content:center!important;
    min-height:56px!important;
    margin-top:20px!important;
    color:#11181d!important;
    background:linear-gradient(135deg,#bd9650,#dfc67f)!important;
    border:0!important;
    border-radius:3px!important;
  }

  /* Keep page content below the fixed bar. */
  .hero{padding-top:calc(var(--mobile-header-h) + 32px)!important}
  .page-hero{padding-top:calc(var(--mobile-header-h) + 62px)!important}
  .breadcrumbs{top:calc(var(--mobile-header-h) + 10px)!important}
  .wa-float{z-index:4900!important}
  body.menu-open .wa-float{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
}

@media (max-width:390px){
  :root{--mobile-header-h:64px}
  .site-header .brand-logo,.site-header.scrolled .brand-logo{width:39px!important;height:39px!important;flex-basis:39px!important}
  .site-header .brand strong{font-size:.78rem!important;letter-spacing:.13em!important}
  .site-header .brand small{font-size:.38rem!important;letter-spacing:.13em!important}
  .nav-toggle{width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important}
  .mobile-nav-drawer{width:min(90vw,330px)!important}
}

@media (min-width:901px){
  .mobile-nav-backdrop,.mobile-nav-drawer{display:none!important}
}

/* V14 — real cross-document page transition (no artificial delay) */
html{
  background:#081016;
}

/* Chrome/Edge and other browsers supporting cross-document View Transitions. */
@view-transition{
  navigation:auto;
}

::view-transition-group(root){
  animation-duration:.34s;
  animation-timing-function:cubic-bezier(.22,.72,.18,1);
}

::view-transition-old(root){
  animation:balk-vt-old .24s cubic-bezier(.4,0,.2,1) both;
}

::view-transition-new(root){
  animation:balk-vt-new .34s cubic-bezier(.16,.84,.24,1) both;
}

@keyframes balk-vt-old{
  from{
    opacity:1;
    transform:translateY(0) scale(1);
    filter:blur(0);
  }
  to{
    opacity:.15;
    transform:translateY(-10px) scale(.992);
    filter:blur(2px);
  }
}

@keyframes balk-vt-new{
  from{
    opacity:.08;
    transform:translateY(14px) scale(1.006);
    filter:blur(5px);
  }
  to{
    opacity:1;
    transform:translateY(0) scale(1);
    filter:blur(0);
  }
}

@media (prefers-reduced-motion:reduce){
  ::view-transition-old(root),
  ::view-transition-new(root),
  ::view-transition-group(root){
    animation-duration:.001ms!important;
  }
}
