
:root{--pft-navy:#002364;--pft-blue:#0B3A78;--pft-gold:#B89445;--pft-text:#172033;--pft-line:#E4E9F0}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;color:var(--pft-text);background:#fff;font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased}
.pft-v4-topline{height:3px;background:linear-gradient(90deg,var(--pft-navy),var(--pft-gold),var(--pft-blue))}
.pft-v4-contactbar{background:var(--pft-navy);color:#d8e1ec;font-size:12px}
.pft-v4-contactbar-inner{max-width:1240px;margin:auto;padding:8px 24px;display:flex;justify-content:flex-end;align-items:center;gap:22px}
.pft-v4-contactbar a{color:#d8e1ec;text-decoration:none}.pft-v4-contactbar a:hover{color:#fff}
.pft-v4-mainbar{max-width:1240px;margin:auto;padding:17px 24px;display:flex;align-items:center;gap:35px;background:#fff}
.pft-v4-logo{display:block;flex:0 0 auto;text-decoration:none}.pft-v4-logo img{display:block;max-width:240px;max-height:80px;width:auto;height:auto}
.pft-v4-logo-text{font-size:24px;font-weight:900;letter-spacing:-1.4px;color:var(--pft-navy)}.pft-v4-logo-text em{color:var(--pft-gold);font-style:normal}
.pft-v4-nav{display:flex;align-items:center;justify-content:flex-end;gap:2px;flex:1}
.pft-v4-nav a{font-size:13px;font-weight:700;color:#465267;text-decoration:none;padding:10px 11px;border-radius:8px;transition:.2s}
.pft-v4-nav a:hover,.pft-v4-nav a.active{color:var(--pft-blue);background:#eef4fb}
.pft-v4-nav .contact{color:#fff;background:var(--pft-navy);border-radius:999px;padding:11px 17px;margin-left:8px}
.pft-v4-page{min-height:400px}
.pft-v4-footer{background:var(--pft-navy);color:#c4cfdd;margin-top:70px}
.pft-v4-footer-inner{max-width:1240px;margin:auto;padding:48px 24px 20px}
.pft-v4-footer-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;gap:40px}
.pft-v4-footer-title{color:#fff;font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:1.2px;margin-bottom:14px}
.pft-v4-footer p,.pft-v4-footer a,.pft-v4-footer span{font-size:13px;color:#b8c4d5;text-decoration:none;margin:6px 0;display:block}
.pft-v4-footer a:hover{color:#fff}.pft-v4-copy{border-top:1px solid rgba(255,255,255,.12);margin-top:35px;padding-top:16px;font-size:11px;color:#91a0b4;display:flex;justify-content:space-between}
@media(max-width:1050px){.pft-v4-mainbar{gap:15px}.pft-v4-nav a{padding:9px 7px;font-size:11px}.pft-v4-footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){
.pft-v4-contactbar-inner{padding:7px 16px;justify-content:center;gap:12px;flex-wrap:wrap}
.pft-v4-mainbar{padding:12px 16px;display:block}.pft-v4-logo{margin-bottom:12px}
.pft-v4-logo img{max-height:54px}.pft-v4-nav{justify-content:flex-start;overflow:auto;white-space:nowrap}
.pft-v4-nav a{font-size:11px;padding:8px 7px}.pft-v4-nav .contact{display:none}
.pft-v4-footer-grid{grid-template-columns:1fr}.pft-v4-footer-inner{padding-left:18px;padding-right:18px}.pft-v4-copy{display:block}
}

/* V4 FIDELITE — requested navigation updates only */
.pft-v4-header{position:sticky!important;top:0!important;z-index:9999!important;background:#fff}
.pft-v4-contactbar-inner{position:relative}
.pft-v4-socials{display:flex;align-items:center;gap:7px;margin-left:8px}
.pft-v4-socials a{width:25px;height:25px;border:1px solid rgba(255,255,255,.25);border-radius:50%;display:flex!important;align-items:center;justify-content:center;color:#fff!important;text-decoration:none!important;font-size:10px;font-weight:800;line-height:1}
.pft-v4-socials a:hover{background:#fff;color:#002364!important}
.pft-v4-gotop{position:fixed;right:24px;bottom:24px;width:46px;height:46px;border:0;border-radius:50%;background:#002364;color:#fff;display:flex;align-items:center;justify-content:center;font-size:21px;line-height:1;cursor:pointer;box-shadow:0 12px 28px rgba(7,26,54,.25);z-index:10000;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px);transition:opacity .2s,visibility .2s,transform .2s,background .2s}
.pft-v4-gotop.is-visible{opacity:.95;visibility:visible;pointer-events:auto;transform:translateY(0)}
.pft-v4-gotop:hover{background:#B89445}
.pft-v4-group-menu{max-width:1240px;margin:0 auto;padding:10px 24px;background:#f7f9fc;border-bottom:1px solid #E4E9F0;display:flex;gap:4px;flex-wrap:wrap}
.pft-v4-group-menu a{font-size:12px;font-weight:800;color:#465267;text-decoration:none;padding:8px 11px;border-radius:7px}
.pft-v4-group-menu a:hover{color:#0B3A78;background:#fff}
@media(max-width:760px){
.pft-v4-socials{margin-left:0}
.pft-v4-gotop{right:16px;bottom:16px;width:42px;height:42px}
.pft-v4-group-menu{padding:10px 16px;overflow:auto;flex-wrap:nowrap;white-space:nowrap}
}

/* ================================================================
   V6 — MENU RESPONSIVE + ESPACE TIER
   These rules intentionally come last so they override the older
   horizontal/mobile rules from the base stylesheet.
   ================================================================ */

/* Desktop / large screens */
.pft-v4-menu-toggle{
  display:none!important;
}

.pft-v4-tier-trigger{
  appearance:none!important;
  -webkit-appearance:none!important;
  border:0!important;
  cursor:pointer!important;
  font:inherit!important;
  font-size:13px!important;
  font-weight:700!important;
  line-height:1.2!important;
  color:#fff!important;
  background:#B89445!important;
  padding:11px 17px!important;
  margin:0 0 0 6px!important;
  border-radius:999px!important;
  white-space:nowrap!important;
  text-decoration:none!important;
  transition:background .2s ease,transform .2s ease,box-shadow .2s ease!important;
}
.pft-v4-tier-trigger:hover{
  background:#9f7c35!important;
  color:#fff!important;
  transform:translateY(-1px)!important;
  box-shadow:0 6px 16px rgba(0,0,0,.14)!important;
}

/* Espace Tier drawer: completely out of the document flow when closed */
.pft-v4-tier-panel{
  position:fixed!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  z-index:20000!important;
  background:rgba(0,0,0,.48)!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
  transition:opacity .28s ease,visibility .28s ease!important;
}
.pft-v4-tier-panel.is-open{
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}
.pft-v4-tier-panel-inner{
  position:absolute!important;
  top:0!important;
  right:0!important;
  width:min(430px,92vw)!important;
  height:100%!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  background:#fff!important;
  box-shadow:-18px 0 45px rgba(0,0,0,.22)!important;
  padding:34px 30px 45px!important;
  transform:translate3d(100%,0,0)!important;
  transition:transform .32s cubic-bezier(.22,.61,.36,1)!important;
}
.pft-v4-tier-panel.is-open .pft-v4-tier-panel-inner{
  transform:translate3d(0,0,0)!important;
}
.pft-v4-tier-close{
  position:absolute!important;
  top:12px!important;
  right:16px!important;
  width:38px!important;
  height:38px!important;
  border:0!important;
  border-radius:50%!important;
  background:#eef2f7!important;
  color:#002364!important;
  font-size:27px!important;
  line-height:38px!important;
  text-align:center!important;
  cursor:pointer!important;
  z-index:2!important;
}
.pft-v4-tier-header{
  padding:12px 45px 20px 0!important;
  border-bottom:1px solid #e4e9f0!important;
  margin-bottom:22px!important;
}
.pft-v4-tier-header span{
  display:block!important;
  color:#B89445!important;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:1.8px!important;
  margin-bottom:5px!important;
}
.pft-v4-tier-header strong{
  display:block!important;
  color:#002364!important;
  font-size:25px!important;
  line-height:1.2!important;
}
.pft-v4-tier-form label{
  display:block!important;
  color:#172033!important;
  font-size:13px!important;
  font-weight:700!important;
  margin:0 0 7px!important;
}
.pft-v4-tier-form input[type="email"],
.pft-v4-tier-form input[type="password"],
.pft-v4-tier-form input[type="text"],
.pft-v4-tier-form select{
  width:100%!important;
  min-height:44px!important;
  border:1px solid #d8dee8!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#172033!important;
  padding:10px 12px!important;
  margin:0 0 15px!important;
  outline:none!important;
  box-shadow:none!important;
}
.pft-v4-tier-form input:focus,
.pft-v4-tier-form select:focus{
  border-color:#B89445!important;
  box-shadow:0 0 0 3px rgba(184,148,69,.12)!important;
}
.pft-v4-tier-options{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin:-2px 0 18px!important;
  font-size:11px!important;
}
.pft-v4-tier-options label{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  margin:0!important;
  font-size:11px!important;
  font-weight:500!important;
}
.pft-v4-tier-options input{margin:0!important}
.pft-v4-tier-options a{font-size:11px!important;color:#0B3A78!important;text-decoration:none!important}
.pft-v4-tier-submit{
  display:block!important;
  width:100%!important;
  border:0!important;
  border-radius:999px!important;
  background:#002364!important;
  color:#fff!important;
  padding:12px 18px!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.4px!important;
  cursor:pointer!important;
  transition:background .2s ease,transform .2s ease!important;
}
.pft-v4-tier-submit:hover{background:#0B3A78!important;transform:translateY(-1px)!important}
.pft-v4-tier-divider{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  margin:23px 0 14px!important;
  color:#8b95a5!important;
  font-size:11px!important;
  text-transform:uppercase!important;
  letter-spacing:1px!important;
}
.pft-v4-tier-divider:before,
.pft-v4-tier-divider:after{
  content:""!important;
  height:1px!important;
  flex:1!important;
  background:#e4e9f0!important;
}
.pft-v4-tier-social-title{
  text-align:center!important;
  color:#6f7a8b!important;
  font-size:11px!important;
  margin-bottom:10px!important;
}
.pft-v4-tier-socials{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}
.pft-v4-tier-socials button{
  min-height:42px!important;
  border:1px solid #d8dee8!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#172033!important;
  font-size:12px!important;
  font-weight:700!important;
  cursor:pointer!important;
}

/* ================================================================
   Tablet + Mobile: hamburger + vertical menu.
   Both CTA buttons stay INSIDE the responsive menu and are visible.
   ================================================================ */
@media (max-width:1050px){
  .pft-v4-mainbar{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:15px!important;
    position:relative!important;
    padding:12px 18px!important;
  }
  .pft-v4-logo{margin:0!important;min-width:0!important}
  .pft-v4-logo img{max-width:210px!important;max-height:62px!important}

  .pft-v4-menu-toggle{
    display:flex!important;
    flex:0 0 auto!important;
    width:48px!important;
    height:44px!important;
    padding:8px!important;
    margin:0!important;
    border:1px solid #B89445!important;
    border-radius:8px!important;
    background:#fff!important;
    align-items:center!important;
    justify-content:center!important;
    flex-direction:column!important;
    gap:5px!important;
    cursor:pointer!important;
    z-index:10002!important;
  }
  .pft-v4-menu-toggle span{
    display:block!important;
    width:24px!important;
    height:2px!important;
    background:#002364!important;
    border-radius:2px!important;
    transition:transform .2s ease,opacity .2s ease!important;
  }
  .pft-v4-menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)!important}
  .pft-v4-menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0!important}
  .pft-v4-menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)!important}

  .pft-v4-nav{
    display:none!important;
    position:absolute!important;
    top:100%!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    max-height:calc(100vh - 90px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:0!important;
    padding:12px 18px 18px!important;
    background:#fff!important;
    border-top:1px solid #e4e9f0!important;
    border-bottom:1px solid #dce3ec!important;
    box-shadow:0 14px 28px rgba(0,0,0,.13)!important;
    z-index:10001!important;
  }
  .pft-v4-nav.is-mobile-open{
    display:flex!important;
  }
  .pft-v4-nav > a:not(.contact),
  .pft-v4-nav > .contact,
  .pft-v4-nav > .pft-v4-tier-trigger{
    display:block!important;
    width:100%!important;
    box-sizing:border-box!important;
    text-align:left!important;
    margin:0!important;
  }
  .pft-v4-nav > a:not(.contact){
    padding:12px 10px!important;
    border-radius:6px!important;
    font-size:14px!important;
  }
  .pft-v4-nav > .contact{
    color:#fff!important;
    background:#002364!important;
    border-radius:999px!important;
    padding:12px 18px!important;
    margin:10px 0 7px!important;
    text-align:center!important;
    font-size:13px!important;
  }
  .pft-v4-nav > .pft-v4-tier-trigger{
    color:#fff!important;
    background:#B89445!important;
    border:0!important;
    border-radius:999px!important;
    padding:12px 18px!important;
    margin:7px 0 2px!important;
    text-align:center!important;
    font-size:13px!important;
  }
  .pft-v4-nav > .pft-v4-tier-trigger:hover{background:#9f7c35!important}

  body.pft-v4-menu-open{overflow:hidden!important}
}

@media (max-width:760px){
  .pft-v4-contactbar-inner{padding:7px 12px!important;justify-content:center!important;gap:10px!important}
  .pft-v4-mainbar{padding:10px 14px!important}
  .pft-v4-logo img{max-width:175px!important;max-height:52px!important}
  .pft-v4-menu-toggle{width:44px!important;height:42px!important}
  .pft-v4-nav{padding:10px 14px 16px!important}
  .pft-v4-tier-panel-inner{width:min(430px,94vw)!important;padding:30px 20px 35px!important}
  .pft-v4-tier-options{align-items:flex-start!important;flex-direction:column!important}
}

/* Safety: the drawer itself must NEVER occupy normal page space. */
body.pft-v4-tier-open{overflow:hidden!important}


/* =========================================================
   CONFIRMED FINAL FIX — ESPACE TIER ABOVE MOBILE MENU
   ========================================================= */
@media screen and (max-width:1050px){
  .pft-v4-tier-panel{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100%!important;height:100vh!important;height:100dvh!important;z-index:9999999!important;isolation:isolate!important;}
  .pft-v4-tier-panel-inner{position:relative!important;z-index:10000000!important;}
  .pft-v4-nav{z-index:9990!important;}
  .pft-v4-header{z-index:9995!important;}
}

/* =========================================================
   FINAL FIX — TOP BAR SUBMENUS ABOVE THE STICKY HEADER
   ========================================================= */
#top-bar{
  position:relative!important;
  z-index:10000!important;
}
#top-bar .top-links-sub-menu,
#top-bar .top-links-section{
  z-index:10001!important;
}
@media screen and (max-width:1050px){
  #top-bar{
    z-index:10000!important;
  }
  #top-bar .top-links-sub-menu,
  #top-bar .top-links-section{
    z-index:10001!important;
  }
}
