/* Prestige v314 — authoritative public-site header.
   Loaded LAST on every public website view so legacy page-specific CSS cannot
   make the homepage header look different on dropdown/detail pages.
   Prestige Secure is intentionally excluded. */

:root{
  --v314-header-navy:#071c35;
  --v314-header-navy-2:#0b2f59;
  --v314-header-text:#173451;
  --v314-header-muted:#52657a;
  --v314-header-line:#e5edf5;
  --v314-header-surface:#ffffff;
  --v314-header-soft:#f1f5fa;
  --v314-header-shadow:0 8px 28px rgba(7,28,53,.08);
}

/* Shared width contract: identical on homepage, list pages, detail pages and
   every other public Prestige Coding website page. */
.v314-canonical-public-topbar > .container,
.v314-canonical-public-header > .container.nav{
  width:min(1180px,calc(100% - 40px))!important;
  max-width:1180px!important;
  margin-inline:auto!important;
  padding-inline:0!important;
  box-sizing:border-box!important;
}

/* Top information bar */
.v314-canonical-public-topbar{
  display:block!important;
  position:relative!important;
  z-index:3200!important;
  width:100%!important;
  background:#061a31!important;
  color:#dce9f7!important;
  border:0!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
  box-shadow:none!important;
}
.v314-canonical-public-topbar > .container{
  min-height:38px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:24px!important;
}
.v314-canonical-public-topbar p{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  margin:0!important;
  padding:0!important;
  font:700 .82rem/1.35 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif!important;
  letter-spacing:0!important;
  color:#dce9f7!important;
  text-transform:none!important;
}
.v314-canonical-public-topbar a{
  color:#fff!important;
  text-decoration:none!important;
  font:inherit!important;
}
.v314-canonical-public-topbar a:hover,
.v314-canonical-public-topbar a:focus-visible{
  color:#fff!important;
  text-decoration:underline!important;
  text-underline-offset:3px!important;
}
.v314-topbar-icon{
  width:15px!important;
  height:15px!important;
  flex:0 0 15px!important;
  color:#fff!important;
}

/* Main public header */
.v314-canonical-public-header{
  display:block!important;
  position:sticky!important;
  top:0!important;
  left:auto!important;
  right:auto!important;
  z-index:3100!important;
  width:100%!important;
  overflow:visible!important;
  background:rgba(255,255,255,.98)!important;
  color:var(--v314-header-text)!important;
  border:0!important;
  border-bottom:1px solid var(--v314-header-line)!important;
  box-shadow:var(--v314-header-shadow)!important;
  backdrop-filter:blur(18px)!important;
  -webkit-backdrop-filter:blur(18px)!important;
  transform:none!important;
}
.v314-canonical-public-header > .container.nav{
  height:82px!important;
  min-height:82px!important;
  max-height:82px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:14px!important;
  position:relative!important;
  overflow:visible!important;
}

/* Brand */
.v314-canonical-public-header .brand{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:11px!important;
  flex:0 0 auto!important;
  min-width:0!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  text-decoration:none!important;
  transform:none!important;
}
.v314-canonical-public-header .brand img{
  display:block!important;
  width:50px!important;
  height:50px!important;
  min-width:50px!important;
  max-width:50px!important;
  min-height:50px!important;
  max-height:50px!important;
  flex:0 0 50px!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.v314-canonical-public-header .brand span{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:0!important;
  width:auto!important;
  max-width:190px!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  line-height:1.08!important;
}
.v314-canonical-public-header .brand strong{
  display:block!important;
  margin:0!important;
  padding:0!important;
  color:var(--v314-header-navy)!important;
  font:900 .98rem/1.08 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif!important;
  letter-spacing:-.02em!important;
  white-space:nowrap!important;
}
.v314-canonical-public-header .brand small{
  display:block!important;
  margin:4px 0 0!important;
  padding:0!important;
  color:var(--v314-header-muted)!important;
  font:700 .69rem/1.08 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
}

/* Desktop navigation: reset every legacy layout rule. */
.v314-canonical-public-header .prestige-menu{
  margin:0 0 0 auto!important;
  padding:0!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  display:flex!important;
  flex:0 1 auto!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:4px!important;
  position:static!important;
  inset:auto!important;
  overflow:visible!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:none!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  transition:none!important;
}
.v314-canonical-public-header .prestige-menu > a:not(.btn),
.v314-canonical-public-header .nav-dropbtn{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  min-width:0!important;
  width:auto!important;
  height:40px!important;
  min-height:40px!important;
  max-height:40px!important;
  margin:0!important;
  padding:0 9px!important;
  border:1px solid transparent!important;
  border-radius:10px!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--v314-header-text)!important;
  font:750 .9rem/1 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif!important;
  letter-spacing:0!important;
  text-decoration:none!important;
  text-transform:none!important;
  white-space:nowrap!important;
  cursor:pointer!important;
  overflow:visible!important;
  transform:none!important;
  transition:background .18s ease,color .18s ease,border-color .18s ease!important;
}
.v314-canonical-public-header .prestige-menu > a:not(.btn)::before,
.v314-canonical-public-header .prestige-menu > a:not(.btn)::after,
.v314-canonical-public-header .nav-dropbtn::before,
.v314-canonical-public-header .nav-dropbtn::after{
  content:none!important;
  display:none!important;
}
.v314-canonical-public-header .prestige-menu > a:not(.btn):hover,
.v314-canonical-public-header .prestige-menu > a:not(.btn):focus-visible,
.v314-canonical-public-header .prestige-menu > a:not(.btn)[aria-current="page"],
.v314-canonical-public-header .nav-dropbtn:hover,
.v314-canonical-public-header .nav-dropbtn:focus-visible,
.v314-canonical-public-header .nav-dropdown.open > .nav-dropbtn,
.v314-canonical-public-header .nav-dropdown.is-open > .nav-dropbtn,
.v314-canonical-public-header .nav-dropdown[data-active="true"] > .nav-dropbtn{
  background:var(--v314-header-soft)!important;
  border-color:#e7eef6!important;
  color:var(--v314-header-navy)!important;
  outline:none!important;
}
.v314-canonical-public-header .v314-chevron{
  width:15px!important;
  height:15px!important;
  flex:0 0 15px!important;
  transition:transform .18s ease!important;
  color:currentColor!important;
}
.v314-canonical-public-header .nav-dropdown.open > .nav-dropbtn .v314-chevron,
.v314-canonical-public-header .nav-dropdown.is-open > .nav-dropbtn .v314-chevron{
  transform:rotate(180deg)!important;
}
.v314-canonical-public-header .prestige-secure-nav{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
}
.v314-canonical-public-header .prestige-secure-icon{
  display:block!important;
  width:18px!important;
  height:18px!important;
  flex:0 0 18px!important;
  color:currentColor!important;
}

/* Dropdowns — same dimensions, spacing, animation and stacking on every page. */
.v314-canonical-public-header .nav-dropdown{
  position:relative!important;
  display:block!important;
  flex:0 0 auto!important;
  margin:0!important;
  padding:0!important;
}
.v314-canonical-public-header .nav-dropdown-menu{
  display:block!important;
  position:absolute!important;
  top:calc(100% + 10px)!important;
  left:0!important;
  right:auto!important;
  bottom:auto!important;
  z-index:3300!important;
  width:max-content!important;
  min-width:260px!important;
  max-width:320px!important;
  height:auto!important;
  max-height:min(70vh,540px)!important;
  overflow:auto!important;
  margin:0!important;
  padding:9px!important;
  border:1px solid #dce6f1!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 22px 55px rgba(7,28,53,.16)!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translateY(-7px)!important;
  transform-origin:top left!important;
  transition:opacity .16s ease,transform .16s ease,visibility .16s ease!important;
}
.v314-canonical-public-header .nav-dropdown:last-of-type .nav-dropdown-menu{
  left:auto!important;
  right:0!important;
  transform-origin:top right!important;
}
.v314-canonical-public-header .nav-dropdown:hover > .nav-dropdown-menu,
.v314-canonical-public-header .nav-dropdown:focus-within > .nav-dropdown-menu,
.v314-canonical-public-header .nav-dropdown.open > .nav-dropdown-menu,
.v314-canonical-public-header .nav-dropdown.is-open > .nav-dropdown-menu{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:translateY(0)!important;
}
.v314-canonical-public-header .nav-dropdown-menu a{
  display:flex!important;
  align-items:center!important;
  width:100%!important;
  min-height:42px!important;
  margin:0!important;
  padding:10px 12px!important;
  border:0!important;
  border-radius:10px!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#203a55!important;
  font:750 .88rem/1.35 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif!important;
  text-decoration:none!important;
  text-transform:none!important;
  white-space:normal!important;
  transform:none!important;
  transition:background .16s ease,color .16s ease!important;
}
.v314-canonical-public-header .nav-dropdown-menu a:hover,
.v314-canonical-public-header .nav-dropdown-menu a:focus-visible,
.v314-canonical-public-header .nav-dropdown-menu a[aria-current="page"]{
  background:#f1f5fa!important;
  color:var(--v314-header-navy)!important;
  outline:none!important;
}

/* Header buttons: deliberately scoped so page CTA CSS cannot mutate them. */
.v314-canonical-public-header .btn{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  width:auto!important;
  height:42px!important;
  min-height:42px!important;
  max-height:42px!important;
  margin:0!important;
  padding:0 15px!important;
  border-radius:11px!important;
  font:800 .88rem/1 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif!important;
  letter-spacing:0!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  box-shadow:none!important;
  transform:none!important;
  transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease!important;
}
.v314-canonical-public-header .btn.btn-outline{
  border:1px solid #cdd9e6!important;
  background:#fff!important;
  color:var(--v314-header-navy-2)!important;
}
.v314-canonical-public-header .btn.btn-outline:hover,
.v314-canonical-public-header .btn.btn-outline:focus-visible{
  border-color:#9eb3c8!important;
  background:#f5f8fc!important;
  color:var(--v314-header-navy)!important;
  outline:none!important;
}
.v314-canonical-public-header .btn.btn-primary,
.v314-canonical-public-header .nav-cta{
  border:1px solid var(--v314-header-navy-2)!important;
  background:var(--v314-header-navy-2)!important;
  color:#fff!important;
}
.v314-canonical-public-header .btn.btn-primary:hover,
.v314-canonical-public-header .btn.btn-primary:focus-visible,
.v314-canonical-public-header .nav-cta:hover,
.v314-canonical-public-header .nav-cta:focus-visible{
  border-color:var(--v314-header-navy)!important;
  background:var(--v314-header-navy)!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(7,28,53,.18)!important;
  outline:none!important;
}
.v314-canonical-public-header .nav-cta{
  flex:0 0 auto!important;
  margin-left:2px!important;
}

/* Desktop does not expose mobile controls. */
.v314-canonical-public-header .mobile-toggle,
.v314-canonical-public-header .mobile-menu-head,
.v314-canonical-public-header .mobile-close,
.v314-canonical-public-header .public-mobile-overlay-v314{
  display:none!important;
}

/* Prevent legacy menu-open classes from changing desktop page width. */
@media (min-width:1051px){
  html,
  body{
    overflow-x:hidden;
  }
  body.public-menu-open-v314{
    overflow:auto!important;
    padding-right:0!important;
  }
}

/* Compact desktop. Keep exact visual contract while making enough room for all links. */
@media (min-width:1051px) and (max-width:1220px){
  .v314-canonical-public-topbar > .container,
  .v314-canonical-public-header > .container.nav{
    width:min(100% - 28px,1180px)!important;
  }
  .v314-canonical-public-header > .container.nav{
    gap:9px!important;
  }
  .v314-canonical-public-header .brand span{
    max-width:165px!important;
  }
  .v314-canonical-public-header .brand strong{
    font-size:.9rem!important;
  }
  .v314-canonical-public-header .brand small{
    font-size:.62rem!important;
  }
  .v314-canonical-public-header .prestige-menu > a:not(.btn),
  .v314-canonical-public-header .nav-dropbtn{
    padding-inline:7px!important;
    font-size:.84rem!important;
  }
  .v314-canonical-public-header .btn{
    padding-inline:12px!important;
    font-size:.83rem!important;
  }
}

/* Mobile / tablet — exact same breakpoint as the v314 controller. */
@media (max-width:1050px){
  .v314-canonical-public-topbar{
    display:none!important;
  }
  .v314-canonical-public-header{
    position:sticky!important;
    top:0!important;
  }
  .v314-canonical-public-header > .container.nav{
    width:min(100% - 28px,1180px)!important;
    height:72px!important;
    min-height:72px!important;
    max-height:72px!important;
    justify-content:space-between!important;
    gap:12px!important;
  }
  .v314-canonical-public-header .brand img{
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    max-width:46px!important;
    min-height:46px!important;
    max-height:46px!important;
    flex-basis:46px!important;
  }
  .v314-canonical-public-header .brand strong{
    font-size:.88rem!important;
  }
  .v314-canonical-public-header .brand small{
    font-size:.61rem!important;
  }
  .v314-canonical-public-header .brand span{
    max-width:190px!important;
  }
  .v314-canonical-public-header .nav-cta{
    display:none!important;
  }
  .v314-canonical-public-header .mobile-toggle{
    display:grid!important;
    place-items:center!important;
    position:relative!important;
    z-index:3502!important;
    width:44px!important;
    min-width:44px!important;
    max-width:44px!important;
    height:44px!important;
    min-height:44px!important;
    max-height:44px!important;
    flex:0 0 44px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid #dce6f1!important;
    border-radius:12px!important;
    background:#fff!important;
    color:var(--v314-header-navy)!important;
    box-shadow:0 7px 20px rgba(7,28,53,.09)!important;
    cursor:pointer!important;
    transform:none!important;
  }
  .v314-canonical-public-header .mobile-toggle svg{
    display:block!important;
    width:24px!important;
    height:24px!important;
  }

  .v314-canonical-public-header .prestige-menu{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:5px!important;
    position:fixed!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:auto!important;
    z-index:3501!important;
    width:min(390px,90vw)!important;
    height:100dvh!important;
    min-height:100vh!important;
    max-height:100dvh!important;
    margin:0!important;
    padding:18px 18px 28px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    background:#fff!important;
    border:0!important;
    border-left:1px solid #dce6f1!important;
    border-radius:0!important;
    box-shadow:-28px 0 70px rgba(5,24,48,.22)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translate3d(105%,0,0)!important;
    transition:transform .24s ease,opacity .18s ease,visibility .24s ease!important;
  }
  .v314-canonical-public-header .prestige-menu.active,
  .v314-canonical-public-header .prestige-menu.open{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translate3d(0,0,0)!important;
  }
  .v314-canonical-public-header .mobile-menu-head{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    width:100%!important;
    min-height:58px!important;
    margin:0 0 12px!important;
    padding:0 0 14px!important;
    border-bottom:1px solid #e6edf5!important;
  }
  .v314-canonical-public-header .mobile-menu-head .brand{
    min-width:0!important;
    flex:1 1 auto!important;
  }
  .v314-canonical-public-header .mobile-menu-head .brand img{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    max-width:42px!important;
    min-height:42px!important;
    max-height:42px!important;
    flex-basis:42px!important;
  }
  .v314-canonical-public-header .mobile-close{
    display:grid!important;
    place-items:center!important;
    width:42px!important;
    min-width:42px!important;
    max-width:42px!important;
    height:42px!important;
    min-height:42px!important;
    max-height:42px!important;
    flex:0 0 42px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid #dce6f1!important;
    border-radius:12px!important;
    background:#f7f9fc!important;
    color:var(--v314-header-navy)!important;
    box-shadow:none!important;
    cursor:pointer!important;
  }
  .v314-canonical-public-header .prestige-menu > a:not(.btn),
  .v314-canonical-public-header .nav-dropbtn{
    display:flex!important;
    justify-content:space-between!important;
    width:100%!important;
    height:auto!important;
    min-height:46px!important;
    max-height:none!important;
    padding:12px 13px!important;
    border-radius:11px!important;
    font-size:.94rem!important;
  }
  .v314-canonical-public-header .prestige-secure-nav{
    justify-content:flex-start!important;
  }
  .v314-canonical-public-header .prestige-secure-nav .prestige-secure-label{
    margin-right:auto!important;
  }
  .v314-canonical-public-header .nav-dropdown{
    width:100%!important;
  }
  .v314-canonical-public-header .nav-dropdown:hover > .nav-dropdown-menu,
  .v314-canonical-public-header .nav-dropdown:focus-within > .nav-dropdown-menu{
    /* Mobile dropdowns are click-controlled only. */
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
  .v314-canonical-public-header .nav-dropdown-menu,
  .v314-canonical-public-header .nav-dropdown:last-of-type .nav-dropdown-menu{
    display:none!important;
    position:static!important;
    inset:auto!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    max-height:none!important;
    margin:4px 0 7px!important;
    padding:5px!important;
    overflow:visible!important;
    border:1px solid #e1e9f2!important;
    border-radius:12px!important;
    background:#f7f9fc!important;
    box-shadow:none!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
    transition:none!important;
  }
  .v314-canonical-public-header .nav-dropdown.open > .nav-dropdown-menu,
  .v314-canonical-public-header .nav-dropdown.is-open > .nav-dropdown-menu{
    display:block!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
  .v314-canonical-public-header .nav-dropdown.open:hover > .nav-dropdown-menu,
  .v314-canonical-public-header .nav-dropdown.is-open:hover > .nav-dropdown-menu,
  .v314-canonical-public-header .nav-dropdown.open:focus-within > .nav-dropdown-menu,
  .v314-canonical-public-header .nav-dropdown.is-open:focus-within > .nav-dropdown-menu{
    display:block!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
  .v314-canonical-public-header .nav-dropdown-menu a{
    min-height:40px!important;
    padding:10px 11px!important;
    font-size:.88rem!important;
  }
  .v314-canonical-public-header .prestige-menu > .btn{
    display:flex!important;
    width:100%!important;
    min-height:46px!important;
    height:46px!important;
    max-height:46px!important;
    margin-top:3px!important;
  }
  .v314-canonical-public-header .public-mobile-overlay-v314{
    display:block!important;
    position:fixed!important;
    inset:0!important;
    z-index:3500!important;
    width:100vw!important;
    height:100dvh!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:rgba(2,14,29,.58)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    backdrop-filter:blur(2px)!important;
    -webkit-backdrop-filter:blur(2px)!important;
    transition:opacity .2s ease,visibility .2s ease!important;
  }
  .v314-canonical-public-header .public-mobile-overlay-v314.active{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
  body.public-menu-open-v314{
    overflow:hidden!important;
    touch-action:none!important;
  }
}

@media (max-width:390px){
  .v314-canonical-public-header > .container.nav{
    width:calc(100% - 22px)!important;
  }
  .v314-canonical-public-header .brand{
    gap:8px!important;
  }
  .v314-canonical-public-header .brand img{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    max-width:42px!important;
    min-height:42px!important;
    max-height:42px!important;
    flex-basis:42px!important;
  }
  .v314-canonical-public-header .brand span{
    max-width:158px!important;
  }
  .v314-canonical-public-header .brand strong{
    font-size:.8rem!important;
  }
  .v314-canonical-public-header .brand small{
    font-size:.56rem!important;
  }
  .v314-canonical-public-header .prestige-menu{
    width:min(360px,94vw)!important;
    padding-inline:15px!important;
  }
}

@media (prefers-reduced-motion:reduce){
  .v314-canonical-public-header *,
  .v314-canonical-public-header *::before,
  .v314-canonical-public-header *::after{
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
  }
}

/* --------------------------------------------------------------------------
   Prestige v317 — mobile navigation stacking + dropdown permanent hardening.
   The mobile menu is portaled to <body> by the canonical controller above so
   neither backdrop-filter nor any page-specific stacking context can trap it
   underneath the screen overlay. Prestige Secure is intentionally untouched.
   -------------------------------------------------------------------------- */

/* Body-level overlay is intentionally inert outside the canonical breakpoint. */
body > .public-mobile-overlay-v314.v317-public-mobile-overlay{
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

@media (max-width:1050px){
  /* Keep the physical header/toggle above the dimmer while the drawer is open. */
  .v314-canonical-public-header.v317-mobile-nav-active{
    z-index:2147483610!important;
    isolation:isolate!important;
  }

  body > .public-mobile-overlay-v314.v317-public-mobile-overlay{
    display:block!important;
    position:fixed!important;
    inset:0!important;
    z-index:2147483600!important;
    width:100vw!important;
    width:100dvw!important;
    height:100vh!important;
    height:100dvh!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:rgba(2,14,29,.58)!important;
    box-shadow:none!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:none!important;
    -webkit-appearance:none!important;
    appearance:none!important;
    transition:opacity .18s ease,visibility .18s ease!important;
  }
  body > .public-mobile-overlay-v314.v317-public-mobile-overlay.active{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }

  /* This selector intentionally starts at BODY. Once portaled, the menu is no
     longer constrained by the sticky header/backdrop-filter stacking context. */
  body > .prestige-menu.v317-mobile-menu-portal{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:5px!important;
    position:fixed!important;
    top:0!important;
    right:0!important;
    bottom:auto!important;
    left:auto!important;
    z-index:2147483620!important;
    width:min(390px,92vw)!important;
    height:100vh!important;
    height:100dvh!important;
    min-height:100vh!important;
    min-height:100dvh!important;
    max-height:100vh!important;
    max-height:100dvh!important;
    margin:0!important;
    padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) 18px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-y!important;
    background:#fff!important;
    color:#173451!important;
    border:0!important;
    border-left:1px solid #dce6f1!important;
    border-radius:0!important;
    box-shadow:-28px 0 70px rgba(5,24,48,.28)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translate3d(105%,0,0)!important;
    transition:transform .24s ease,opacity .18s ease,visibility .24s ease!important;
    contain:layout style!important;
  }
  body > .prestige-menu.v317-mobile-menu-portal.active,
  body > .prestige-menu.v317-mobile-menu-portal.open{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translate3d(0,0,0)!important;
  }

  body > .prestige-menu.v317-mobile-menu-portal .mobile-menu-head{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    width:100%!important;
    min-height:58px!important;
    margin:0 0 12px!important;
    padding:0 0 14px!important;
    border-bottom:1px solid #e6edf5!important;
  }
  body > .prestige-menu.v317-mobile-menu-portal .mobile-menu-head .brand{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:9px!important;
    min-width:0!important;
    flex:1 1 auto!important;
    width:auto!important;
    margin:0!important;
    padding:0!important;
    color:#173451!important;
    background:transparent!important;
    border:0!important;
    text-decoration:none!important;
  }
  body > .prestige-menu.v317-mobile-menu-portal .mobile-menu-head .brand img{
    display:block!important;
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    max-width:42px!important;
    min-height:42px!important;
    max-height:42px!important;
    flex:0 0 42px!important;
    object-fit:contain!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  body > .prestige-menu.v317-mobile-menu-portal .mobile-menu-head .brand span{
    display:flex!important;
    flex-direction:column!important;
    min-width:0!important;
    max-width:205px!important;
    line-height:1.1!important;
  }
  body > .prestige-menu.v317-mobile-menu-portal .mobile-menu-head .brand strong{
    color:#0b2f59!important;
    font:800 .84rem/1.15 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif!important;
  }
  body > .prestige-menu.v317-mobile-menu-portal .mobile-menu-head .brand small{
    margin-top:3px!important;
    color:#52657a!important;
    font:700 .58rem/1.2 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif!important;
  }
  body > .prestige-menu.v317-mobile-menu-portal .mobile-close{
    display:grid!important;
    place-items:center!important;
    position:relative!important;
    z-index:2!important;
    width:42px!important;
    min-width:42px!important;
    max-width:42px!important;
    height:42px!important;
    min-height:42px!important;
    max-height:42px!important;
    flex:0 0 42px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid #dce6f1!important;
    border-radius:12px!important;
    background:#f7f9fc!important;
    color:#071c35!important;
    box-shadow:none!important;
    cursor:pointer!important;
    pointer-events:auto!important;
    touch-action:manipulation!important;
  }

  body > .prestige-menu.v317-mobile-menu-portal > a:not(.btn),
  body > .prestige-menu.v317-mobile-menu-portal .nav-dropbtn{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    width:100%!important;
    height:auto!important;
    min-height:46px!important;
    max-height:none!important;
    margin:0!important;
    padding:12px 13px!important;
    border:0!important;
    border-radius:11px!important;
    background:transparent!important;
    color:#173451!important;
    box-shadow:none!important;
    font:800 .94rem/1.3 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif!important;
    letter-spacing:0!important;
    text-align:left!important;
    text-decoration:none!important;
    text-transform:none!important;
    cursor:pointer!important;
    pointer-events:auto!important;
    touch-action:manipulation!important;
    -webkit-tap-highlight-color:transparent!important;
  }
  body > .prestige-menu.v317-mobile-menu-portal > a:not(.btn):hover,
  body > .prestige-menu.v317-mobile-menu-portal > a:not(.btn):focus-visible,
  body > .prestige-menu.v317-mobile-menu-portal .nav-dropbtn:hover,
  body > .prestige-menu.v317-mobile-menu-portal .nav-dropbtn:focus-visible,
  body > .prestige-menu.v317-mobile-menu-portal .nav-dropdown[data-v317-open="true"] > .nav-dropbtn{
    background:#f1f5fa!important;
    color:#071c35!important;
    outline:none!important;
  }
  body > .prestige-menu.v317-mobile-menu-portal .prestige-secure-nav{
    justify-content:flex-start!important;
  }
  body > .prestige-menu.v317-mobile-menu-portal .prestige-secure-nav .prestige-secure-label{
    margin-right:auto!important;
  }
  body > .prestige-menu.v317-mobile-menu-portal .prestige-secure-icon{
    display:block!important;
    width:18px!important;
    height:18px!important;
    flex:0 0 18px!important;
  }
  body > .prestige-menu.v317-mobile-menu-portal .v314-chevron{
    display:block!important;
    width:16px!important;
    height:16px!important;
    flex:0 0 16px!important;
    transition:transform .18s ease!important;
  }
  body > .prestige-menu.v317-mobile-menu-portal .nav-dropdown[data-v317-open="true"] > .nav-dropbtn .v314-chevron,
  body > .prestige-menu.v317-mobile-menu-portal .nav-dropdown.open > .nav-dropbtn .v314-chevron,
  body > .prestige-menu.v317-mobile-menu-portal .nav-dropdown.is-open > .nav-dropbtn .v314-chevron{
    transform:rotate(180deg)!important;
  }

  body > .prestige-menu.v317-mobile-menu-portal .nav-dropdown{
    display:block!important;
    position:relative!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
  }
  body > .prestige-menu.v317-mobile-menu-portal .nav-dropdown-menu,
  body > .prestige-menu.v317-mobile-menu-portal .nav-dropdown:hover > .nav-dropdown-menu,
  body > .prestige-menu.v317-mobile-menu-portal .nav-dropdown:focus-within > .nav-dropdown-menu{
    display:none!important;
    position:static!important;
    inset:auto!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    max-height:none!important;
    margin:4px 0 7px!important;
    padding:5px!important;
    overflow:visible!important;
    border:1px solid #e1e9f2!important;
    border-radius:12px!important;
    background:#f7f9fc!important;
    box-shadow:none!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
    transition:none!important;
  }
  body > .prestige-menu.v317-mobile-menu-portal .nav-dropdown[data-v317-open="true"] > .nav-dropdown-menu,
  body > .prestige-menu.v317-mobile-menu-portal .nav-dropdown.open > .nav-dropdown-menu,
  body > .prestige-menu.v317-mobile-menu-portal .nav-dropdown.is-open > .nav-dropdown-menu{
    display:block!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
  body > .prestige-menu.v317-mobile-menu-portal .nav-dropdown-menu a{
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    min-height:40px!important;
    margin:0!important;
    padding:10px 11px!important;
    border:0!important;
    border-radius:9px!important;
    background:transparent!important;
    color:#203a55!important;
    box-shadow:none!important;
    font:750 .88rem/1.35 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif!important;
    text-decoration:none!important;
    white-space:normal!important;
    pointer-events:auto!important;
    touch-action:manipulation!important;
  }
  body > .prestige-menu.v317-mobile-menu-portal .nav-dropdown-menu a:hover,
  body > .prestige-menu.v317-mobile-menu-portal .nav-dropdown-menu a:focus-visible,
  body > .prestige-menu.v317-mobile-menu-portal .nav-dropdown-menu a[aria-current="page"]{
    background:#eaf0f7!important;
    color:#071c35!important;
    outline:none!important;
  }

  body > .prestige-menu.v317-mobile-menu-portal > .btn{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-height:46px!important;
    height:46px!important;
    max-height:46px!important;
    margin:3px 0 0!important;
    padding:0 15px!important;
    border-radius:11px!important;
    font:800 .9rem/1 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif!important;
    text-decoration:none!important;
    pointer-events:auto!important;
    touch-action:manipulation!important;
  }
  body > .prestige-menu.v317-mobile-menu-portal > .btn.btn-outline{
    border:1px solid #cdd9e6!important;
    background:#fff!important;
    color:#0b2f59!important;
  }
  body > .prestige-menu.v317-mobile-menu-portal > .btn.btn-primary{
    border:1px solid #0b2f59!important;
    background:#0b2f59!important;
    color:#fff!important;
  }

  /* Lock the document scroll without disabling touch/click interaction inside
     the drawer. The old touch-action:none rule is deliberately neutralized. */
  body.public-menu-open-v314{
    overflow:hidden!important;
    touch-action:auto!important;
  }
}

@media (max-width:390px){
  body > .prestige-menu.v317-mobile-menu-portal{
    width:min(360px,94vw)!important;
    padding-left:15px!important;
    padding-right:max(15px,env(safe-area-inset-right))!important;
  }
}
