@charset "utf-8";
/* CSS Document */
@media (min-width: 1536px) {
    .container {
        max-width: 1390px !important;
    }
}
@media screen and (min-width : 1400px) {
}
@media screen and (max-width : 1360px) {
}
@media screen and (min-width : 992px) and (max-width : 1199px) {
    /* Tablet landscape optimizations */
    .menu-outer ul {
        gap: 1px;
        padding: 8px 20px;
    }
    
    .menu-outer ul li a {
        padding: 12px 16px;
        font-size: 14px;
    }
    
    /* Adjust header padding for tablets */
    header .container .flex {
        padding: 20px 0;
    }
    
    /* Optimize logo size for tablets */
    header img {
        max-width: 140px;
    }
}
@media screen and (min-width : 768px) and (max-width : 991px) {
}
@media screen and (max-width : 991px) {
    /* Ensure header stays above overlay */
    header {
        z-index: 1003;
    }
    
    .menu-togg {
        display: block !important;
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        cursor: pointer;
        z-index: 1002;
        position: relative;
    }
    
    .menu-outer {
        position: fixed;
        top: 0;
        right: -320px;
        width: 320px;
        height: 100vh;
        background: rgba(14, 40, 55, 0.98);
        backdrop-filter: blur(20px);
        -webkit-backdrop-filter: blur(20px);
        z-index: 1001;
        transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
        box-shadow: -10px 0 30px rgba(0, 0, 0, 0.3);
        border-left: 1px solid rgba(255, 255, 255, 0.1);
        overflow-y: auto;
    }
    
    .menu-outer ul {
        flex-direction: column;
        gap: 0;
        background: none !important;
        border: none !important;
        padding: 80px 0 40px 0;
        height: auto;
        justify-content: flex-start;
    }
    
    .menu-outer ul li {
        width: 100%;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }
    
    .menu-outer ul li:last-child {
        border-bottom: none;
    }
    
    .menu-outer ul li a {
        padding: 20px 30px;
        width: 100%;
        display: block;
        color: rgba(255, 255, 255, 0.9) !important;
        font-size: 16px;
        font-weight: 400;
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        position: relative;
    }
    
    .menu-outer ul li a:hover {
        color: #F89921 !important;
        background: rgba(248, 153, 33, 0.1);
        transform: translateX(10px);
    }
    
    /* Mobile dropdown styles */
    .menu-outer .sub-menu {
        position: static !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        background: rgba(0, 0, 0, 0.2) !important;
        backdrop-filter: none !important;
        box-shadow: none !important;
        border: none !important;
        margin: 0 !important;
        padding: 0 !important;
        min-width: auto !important;
        border-radius: 0 !important;
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }
    
    .menu-outer .dropdown-active .sub-menu {
        max-height: 200px;
    }
    
    .menu-outer .sub-menu li {
        border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    }
    
    .menu-outer .sub-menu li:last-child {
        border-bottom: none;
    }
    
    .menu-outer .sub-menu li a {
        padding: 15px 30px 15px 50px;
        font-size: 14px;
        color: rgba(255, 255, 255, 0.7) !important;
    }
    
    .menu-outer .sub-menu li a:hover {
        color: #F89921 !important;
        background: rgba(248, 153, 33, 0.1);
        transform: translateX(5px);
    }
    
    /* Mobile menu overlay */
    .menu-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.5);
        z-index: 10;
        opacity: 0;
        visibility: hidden;
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }
    
    .menu-open-mobile .menu-overlay {
        opacity: 1;
        visibility: visible;
    }
    
    .menu-open-mobile .menu-outer {
        right: 0;
    }
    
    .menu-open-mobile .menu-togg {
        transform: rotate(90deg);
    }
    
    /* Mobile menu toggle animation */
    .menu-togg svg {
        transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }
    
    .menu-open-mobile .menu-togg svg {
        transform: rotate(90deg);
    }
    
    /* Contact button in mobile menu */
    .menu-outer .mobile-contact-btn {
        display: block !important;
        padding: 20px 30px;
        border-top: 1px solid rgba(255, 255, 255, 0.1);
    }
    
    .menu-outer .mobile-contact-btn .btn-primary {
        width: 100%;
        text-align: center;
        background: #F89921 !important;
        color: white !important;
        border: none;
        padding: 15px 20px;
        border-radius: 8px;
        font-weight: 500;
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }
    
    .menu-outer .mobile-contact-btn .btn-primary:hover {
        background: #e8891f !important;
        transform: translateY(-2px);
        box-shadow: 0 5px 15px rgba(248, 153, 33, 0.3);
    }
    
    /* Hide desktop contact button on mobile */
    .flex.items-center.gap-2 .btn-primary {
        display: none;
    }
}
@media screen and (max-width : 767px) {
    .container {
        padding: 0 20px;
    }
    
    /* Mobile-specific menu adjustments */
    .menu-outer {
        width: 100%;
        right: -100%;
    }
    
    .menu-open-mobile .menu-outer {
        right: 0;
    }
    
    /* Mobile header adjustments */
    header .container .flex {
        padding: 15px 0;
    }
    
    /* Mobile logo adjustments */
    header img {
        max-width: 120px;
    }
    
    /* Mobile contact button adjustments */
    .flex.items-center.gap-2 .btn-primary {
        display: none !important;
    }
    
    /* Mobile menu items */
    .menu-outer ul li a {
        padding: 18px 25px;
        font-size: 15px;
    }
    
    .menu-outer .sub-menu li a {
        padding: 12px 25px 12px 40px;
        font-size: 13px;
    }
}
@media screen and (max-width : 500px) {
    /* Small mobile adjustments */
    .menu-outer {
        width: 100%;
    }
    
    .menu-outer ul {
        padding: 60px 0 30px 0;
    }
    
    .menu-outer ul li a {
        padding: 16px 20px;
        font-size: 14px;
    }
    
    .menu-outer .sub-menu li a {
        padding: 10px 20px 10px 35px;
        font-size: 12px;
    }
    
    /* Smaller logo for very small screens */
    header img {
        max-width: 100px;
    }
    
    /* Adjust header padding */
    header .container .flex {
        padding: 12px 0;
    }
}
@media screen and (max-width : 340px) {
    /* Extra small screens */
    .menu-outer ul li a {
        padding: 14px 15px;
        font-size: 13px;
    }
    
    .menu-outer .sub-menu li a {
        padding: 8px 15px 8px 30px;
        font-size: 11px;
    }
    
    /* Very small logo */
    header img {
        max-width: 80px;
    }
}/* Base (mobile-first) */
section.py-\[100px\].bg-\[\#ECF0F4\] {
  padding-top: 60px;
  padding-bottom: 60px;
  background: #ECF0F4; /* redundant but explicit */
}

.container {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 16px;
  padding-right: 16px;
}

/* Minimal utility support for your existing classes */
.grid {
  display: grid;
  grid-template-columns: 1fr;         /* 1 column on mobile */
  gap: 20px;
}

/* Simulate Tailwind's col-span-6 for wider screens (see media queries) */
.col-span-6 {
  /* no-op on mobile since there's only 1 column */
}

.space-y-6 > * + * { margin-top: 1.5rem; }

.w-full { width: 100%; }

/* Typography tweaks for mobile */
.text-\[36px\] { font-size: 28px; line-height: 1.2; }
.text-\[20px\] { font-size: 16px; line-height: 1.7; }

/* ---------- iPad / Tablet (≥ 768px) ---------- */
@media (min-width: 768px) {

    
    section.py-\[100px\].bg-\[\#ECF0F4\] {
        padding-top: 90px;
        padding-bottom: 90px;
      }
    
      .grid {
        grid-template-columns: repeat(12, minmax(0, 1fr));
        gap: 24px;
      }
    
      .col-span-6 {
        grid-column: span 6 / span 6;
      }
    
      .text-\[36px\] { font-size: 32px; }
      .text-\[20px\] { font-size: 18px; }
}

/* ---------- Desktop (≥ 1024px) ---------- */
@media (min-width: 1024px) {
    section.py-\[100px\].bg-\[\#ECF0F4\] {
        padding-top: 100px;
        padding-bottom: 100px;
      }
    
      .grid { gap: 40px; }
    
      .text-\[36px\] { font-size: 36px; }
      .text-\[20px\] { font-size: 20px; }
}

/* Optional: make image behave nicely */
/* Optional: make image behave nicely */
img.w-full {
    display: block;
    height: auto;
    border-radius: 8px;     /* subtle polish */
    object-fit: cover;
  }
/* Base (mobile-first) */
section.py-\[100px\].bg-\[\#ECF0F4\] {
  padding-top: 60px;
  padding-bottom: 60px;
  background: #ECF0F4; /* redundant but explicit */
}

.container {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 16px;
  padding-right: 16px;
}

/* Minimal utility support for your existing classes */
.grid {
  display: grid;
  grid-template-columns: 1fr;         /* 1 column on mobile */
  gap: 20px;
}

/* Simulate Tailwind's col-span-6 for wider screens (see media queries) */
.col-span-6 {
  /* no-op on mobile since there's only 1 column */
}

.space-y-6 > * + * { margin-top: 1.5rem; }

.w-full { width: 100%; }

/* Typography tweaks for mobile */
.text-\[36px\] { font-size: 28px; line-height: 1.2; }
.text-\[20px\] { font-size: 16px; line-height: 1.7; }

/* ---------- iPad / Tablet (≥ 768px) ---------- */
@media (min-width: 768px) {
  section.py-\[100px\].bg-\[\#ECF0F4\] {
    padding-top: 90px;
    padding-bottom: 90px;
  }

  .grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 24px;
  }

  .col-span-6 {
    grid-column: span 6 / span 6;
  }

  .text-\[36px\] { font-size: 32px; }
  .text-\[20px\] { font-size: 18px; }
}

/* ---------- Desktop (≥ 1024px) ---------- */
@media (min-width: 1024px) {
  section.py-\[100px\].bg-\[\#ECF0F4\] {
    padding-top: 100px;
    padding-bottom: 100px;
  }

  .grid { gap: 40px; }

  .text-\[36px\] { font-size: 36px; }
  .text-\[20px\] { font-size: 20px; }
}

/* Optional: make image behave nicely */
img.w-full {
  display: block;
  height: auto;
  border-radius: 8px;     /* subtle polish */
  object-fit: cover;
}
/* 🎯 Target your 1268px screen (and close sizes) */
@media (min-width:1200px) and (max-width:1300px) {

    /* override Tailwind's md:left-[80px] and gaps */
    .banner-section .md\:absolute {
      left: 40px !important;         /* move card slightly left */
      bottom: 30px !important;       /* optional: bring it up a bit */
      gap: 2.5rem !important;        /* reduce spacing */
      padding: 1.5rem 2rem !important; /* softer padding */
      width: 500px !important;         /* ensure it fits nicely */
    }
  
    /* optionally adjust text inside */
    .banner-section .md\:absolute h3 {
      font-size: 30px !important;
    }
  
    .banner-section .md\:absolute p {
      font-size: 12px !important;
    }
    
  }
    