/* =====================================================================
   XSUNT shared styles: Services dropdown, mobile menu & footer
   Linked from every page AFTER the page's own <style> block.
   ===================================================================== */

.nav-cta{display:flex;align-items:center;gap:18px}

.btn-white{background:#fff;color:var(--xblue)}

/* ---------- Services dropdown ---------- */
.nav-links{align-items:center}
.nav-item{position:relative;display:flex;align-items:center}
.nav-trigger{background:none;border:0;cursor:pointer;font:inherit;color:var(--slate);font-size:.95rem;font-weight:500;
  padding:6px 0;position:relative;display:inline-flex;align-items:center;gap:6px;transition:color .2s}
.nav-trigger:hover,.nav-item.open .nav-trigger,.nav-trigger.active{color:var(--ink)}
.nav-trigger::before{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:2px;background:var(--teal);transition:right .25s ease}
.nav-trigger:hover::before{right:0}
.nav-trigger.active::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--teal);border-radius:2px}
.nav-trigger .chev{flex:none;width:14px;height:14px;transform-origin:50% 50%;
  transform:scaleY(1);transition:transform .25s cubic-bezier(.4,0,.2,1)}
.nav-item.open .chev{transform:scaleY(-1)}
.dropdown{position:absolute;top:100%;left:50%;min-width:290px;padding-top:14px;
  transform:translate(-50%,8px);opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .2s ease,transform .2s ease,visibility .2s}
.nav-item.open .dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
/* Open on hover only for a real mouse/trackpad. Touch screens (iPad) use tap only. */
@media (hover:hover) and (pointer:fine){
  .nav-item:hover .chev{transform:scaleY(-1)}
  .nav-item:hover .dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
}
.dropdown-panel{background:var(--white);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);
  padding:8px;display:flex;flex-direction:column;gap:6px}
.nav-links .dropdown a{display:block;padding:12px 14px;border-radius:10px;color:var(--ink);transition:background .15s ease}
.nav-links .dropdown a::before,.nav-links .dropdown a::after{display:none}
.nav-links .dropdown a:hover,.nav-links .dropdown a:focus-visible{background:var(--tint)}
.nav-links .dropdown a.active{background:var(--teal-soft)}
.nav-links .dropdown a.active .dd-title{color:#149181}
.dd-title{display:block;font-weight:600;font-size:.95rem}
.dd-sub{display:block;font-size:.82rem;color:var(--slate);font-weight:400;line-height:1.4;margin-top:2px}

/* ---------- Mobile menu ---------- */
.menu-toggle{display:none;position:relative;width:44px;height:44px;border:0;border-radius:10px;
  background:transparent;cursor:pointer;flex:none}
.menu-toggle:hover{background:rgba(10,18,48,.06)}
.menu-toggle span{position:absolute;left:12px;right:12px;height:2px;border-radius:2px;background:var(--ink);
  transition:transform .25s ease,opacity .2s ease}
.menu-toggle span:nth-child(1){top:15px}
.menu-toggle span:nth-child(2){top:21px}
.menu-toggle span:nth-child(3){top:27px}
.nav.menu-open .menu-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav.menu-open .menu-toggle span:nth-child(2){opacity:0}
.nav.menu-open .menu-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.mobile-menu{display:none}
.mobile-menu .wrap{padding-top:12px;padding-bottom:24px}
.mobile-menu .m-link{display:block;padding:12px 0;font-size:1.05rem;font-weight:500;color:var(--ink)}
.mobile-menu .m-link.active{color:#149181}
.m-group{padding:12px 0 6px}
.m-label{display:block;font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--slate);margin-bottom:6px}
.m-group a{display:block;margin-left:2px;padding:9px 0 9px 14px;border-left:2px solid transparent;
  color:var(--ink);font-weight:500}
.m-group a.active{border-left-color:var(--teal);color:#149181}
.mobile-menu .btn{width:100%;justify-content:center;margin-top:16px}

@media (max-width:960px){
  .nav-links{display:none}
  .menu-toggle{display:block}
  .mobile-menu{display:block;position:absolute;top:100%;left:0;right:0;background:var(--white);
    border-bottom:1px solid var(--chrome-line);box-shadow:0 24px 40px -24px rgba(10,18,48,.3);
    max-height:calc(100vh - 74px);overflow-y:auto;
    opacity:0;visibility:hidden;transform:translateY(-8px);
    transition:opacity .2s ease,transform .2s ease,visibility .2s}
  .nav.menu-open .mobile-menu{opacity:1;visibility:visible;transform:none}
}
@media (min-width:601px){ .mobile-menu .btn{display:none} }
@media (max-width:600px){ .nav-cta .btn-primary{display:none} }

/* ---------- Shared Footer ---------- */
.footer{background:var(--chrome);color:var(--slate);padding:70px 0 36px;font-size:.93rem}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:44px;margin-bottom:52px}
.footer h5{color:var(--ink);font-family:'Inter',sans-serif;font-size:.82rem;letter-spacing:.1em;
  text-transform:uppercase;margin-bottom:16px;font-weight:600}
.footer ul{list-style:none}
.footer li{margin-bottom:10px}
.footer a:hover{color:var(--xblue)}
.footer-grid a{position:relative;display:inline-block;transition:color .2s ease,transform .2s ease}
.footer-grid a:hover{color:var(--xblue);transform:translateX(3px)}
.footer-base{border-top:1px solid var(--chrome-line);padding-top:26px;display:flex;
  justify-content:space-between;align-items:center;font-size:.85rem;color:var(--slate)}
.compliance{display:flex;gap:10px}
.compliance span{border:1px solid var(--chrome-line);border-radius:8px;padding:5px 12px;
  font-size:.75rem;font-weight:600;letter-spacing:.06em;color:var(--slate)}

@media (max-width:960px){
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:600px){
  .footer-grid{grid-template-columns:1fr}
  .footer-base{flex-direction:column;gap:8px;text-align:center}
}