/* =========================
   HAMBURGER
========================= */
.hamburger{
  display:none;
  flex-direction:column;
  gap:6px;
  cursor:pointer;
}

.hamburger span{
  width:26px;
  height:3px;
  background:#0f172a;
}

/* =========================
   MOBILE MENU
========================= */
.mobile-menu{
  position:fixed;
  inset:0;
  background:#ffffff;
  padding:90px 24px;
  transform:translateX(100%);
  transition:transform .35s ease;
  z-index:2000;
  display:flex;
  flex-direction:column;
}

.mobile-menu.open{
  transform:translateX(0);
}

/* HEADER */
.mobile-menu-header{
  position:absolute;
  top:20px;
  left:24px;
  right:24px;
  display:flex;
  justify-content:space-between;
  align-items:center;
}

.mobile-logo{
  height:38px;
}

/* CLOSE */
.mobile-close{
  background:none;
  border:0;
  width:36px;
  height:36px;
  position:relative;
  cursor:pointer;
}

.mobile-close span{
  position:absolute;
  top:50%;
  left:50%;
  width:24px;
  height:2px;
  background:#0f172a;
}

.mobile-close span:first-child{
  transform:translate(-50%,-50%) rotate(45deg);
}

.mobile-close span:last-child{
  transform:translate(-50%,-50%) rotate(-45deg);
}

/* LINKS */
.mobile-menu a{
  display:block;
  font-size:18px;
  font-weight:600;
  padding:16px 0;
  border-bottom:1px solid #e5e7eb;
}

/* LINK ANIMATION */
.mobile-menu-links a{
  opacity:0;
  transform:translateX(20px);
  animation:menuFade .4s ease forwards;
}

.mobile-menu.open .mobile-menu-links a{
  animation-delay:calc(var(--i) * .06s);
}

@keyframes menuFade{
  to{
    opacity:1;
    transform:translateX(0);
  }
}

/* BODY LOCK */
.no-scroll{
  overflow:hidden;
}

/* =========================
   OVERLAY
========================= */
.menu-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.45);
  opacity:0;
  visibility:hidden;
  transition:.25s;
  z-index:1900;
}

.menu-overlay.show{
  opacity:1;
  visibility:visible;
}

/* =========================
   GRID & MAP (TABLET ↓)
========================= */
@media(max-width:900px){

  .grid-2{
    grid-template-columns:1fr;
  }

  .map-box iframe{
    height:320px;
  }
}

/* =========================
   BREAKPOINTS
========================= */
@media(max-width:1024px){
  .grid-4{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:768px){

  .desktop-nav{
    display:none;
  }

  .hamburger{
    display:flex;
  }

  .grid-3,
  .grid-2{
    grid-template-columns:1fr;
  }

  .hero h1{
    font-size:34px;
  }

  .hero{
    padding:60px 0 40px;
  }

  .kpi .grid-4{
    grid-template-columns:repeat(2,1fr);
    gap:24px;
  }
}

@media(max-width:480px){
  .kpi .grid-4{
    grid-template-columns:1fr;
  }
}

/* =========================
   FOOTER MOBILE FIX
========================= */
@media(max-width:768px){

  footer,
  footer *{
    box-sizing:border-box;
  }

  footer .container,
  footer .row,
  footer .footer-row{
    display:block !important;
  }

  footer [class*="col"],
  footer .footer-col,
  footer .footer-box{
    width:100% !important;
    max-width:100% !important;
    margin-bottom:32px !important;
  }

  footer{
    padding:40px 0 !important;
  }

  footer h3{
    font-size:16px !important;
    margin-bottom:12px !important;
  }

  footer p,
  footer li{
    font-size:14px !important;
    line-height:1.7 !important;
  }

  footer .footer-top{
    display:block !important;
  }

  footer .footer-top > div{
    width:100% !important;
    margin-bottom:12px !important;
  }
}

@media(max-width:480px){
  footer p,
  footer li{
    font-size:13px !important;
  }
}
.dropdown-toggle::after,
.mobile-dropdown-toggle::after{
  content:"▼" !important;
}
.mobile-menu{
  background:#ffffff !important;
}

.mobile-menu-links a,
.mobile-dropdown-toggle{
  color:#0f172a !important;
}

