/* =========================

   SOLIDPRO FOOTER (PREMIUM)
========================= */

:root{--theme-color: #1e3a8a; --thm-base: #d90528;--theme-color2: #6653E8;--primary-color: #0b1b2b;--title-color: #0B1422;--body-color: #6E7070;--smoke-color: #F2F5FA;--smoke-color2: #F3F4F6;--smoke-color3: #EEF1FF;--smoke-color4: #F4F6F8;--black-color: #000000;--black-color2: #0D0D0C;--gray-color: #E1E4E5;--gray-color2: #999999;--white-color: #ffffff;--light-color: #E1E4E5;--light-bg-color: #242528;--dark-bg-color: #1A1B1D;--yellow-color: #FFB539;--success-color: #28a745;--error-color: #dc3545;--th-border-color: #D5D7DA;--th-border-color2: #E6E6E6;--brand-color: #79F4E4;--light-blue-color: #001C49;--title-font: "Plus Jakarta Sans", sans-serif;--body-font: "Inter", sans-serif;--style-font: "Nunito", sans-serif;--icon-font: "Font Awesome 6 Pro";--main-container: 1320px;--container-gutters: 24px;--section-space: 50px;--section-space-mobile: 80px;--section-title-space: 60px;--ripple-ani-duration: 2s}


html,body{scroll-behavior:auto !important}



.site-footer{
  position: relative;
  color: rgba(255,255,255,0.88);
  background:
    radial-gradient(900px 420px at 15% 20%, rgba(30,75,184,0.28), transparent 60%),
    radial-gradient(600px 320px at 70% 80%, rgba(229,57,53,0.16), transparent 60%),
    linear-gradient(135deg, #050b1d 0%, #0b1533 45%, #050b1d 100%);
  overflow: hidden;
}

.site-footer::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
  background:
    linear-gradient(to right, rgba(255,255,255,0.05) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,0.05) 1px, transparent 1px),
    radial-gradient(circle, rgba(30,75,184,0.20) 1px, transparent 1.6px),
    radial-gradient(1200px 700px at 50% 50%, transparent 40%, rgba(0,0,0,0.60) 100%);
  background-size: 64px 64px, 64px 64px, 22px 22px, cover;
  background-position: center, center, 10px 10px, center;
  opacity: 0.50;
}

.footer-container{
  width: min(1200px, 92%);
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.footer-top{
  padding: 70px 0 40px;
  border-top: 1px solid rgba(255,255,255,0.08);
}

/* =========================
   REQUIRED STRUCTURE:
   Row1: 3 menus, Row2: 4 menus
========================= */
.footer-top .footer-container{
  display: grid;
  grid-template-columns: 1.4fr repeat(4, 1fr);
  grid-template-rows: auto auto;
  gap: 26px;
  align-items: start;
}

/* brand spans 2 rows */
.footer-brand{ grid-row: 1 / span 2; }

/* Row 1 (3 menus) */
.menu-1{ grid-column: 2; grid-row: 1; }
.menu-2{ grid-column: 3; grid-row: 1; }
.menu-3{ grid-column: 4; grid-row: 1; }

/* Row 2 (4 menus) */
.menu-4{ grid-column: 2; grid-row: 2; }
.menu-5{ grid-column: 3; grid-row: 2; }
.menu-6{ grid-column: 4; grid-row: 2; }
.menu-7{ grid-column: 5; grid-row: 2; }

/* Brand column */
.footer-logo img{
  max-width: 170px;
  height: auto;
  display: block;
  filter: drop-shadow(0 10px 22px rgba(0,0,0,0.35));
  margin-bottom: 18px;
}

.footer-desc{
  font-size: 0.98rem;
  line-height: 1.65;
  color: rgba(255,255,255,0.78);
  margin: 0 0 18px;
}

.footer-contact{
  display: grid;
  gap: 10px;
  margin-top: 10px;
}

.footer-contact-item{
  display: flex;
  gap: 10px;
  align-items: center;
  color: rgba(255,255,255,0.84);
  font-size: 0.95rem;
}

.footer-icon{
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.10);
  box-shadow: 0 10px 24px rgba(0,0,0,0.25);
}

.footer-icon svg{
  width: 18px;
  height: 18px;
  color: rgba(255,255,255,0.88);
}

/* Links */
.footer-link{
  display: inline-block;
  color: rgba(255,255,255,0.72);
  text-decoration: none;
  font-size: 0.94rem;
  line-height: 1.6;
  margin: 6px 0;
  transition: transform .2s ease, color .2s ease, opacity .2s ease;
}

.footer-link:hover{
  color: #7fdcff;
  transform: translateX(4px);
}

/* Headings */
.footer-heading{
  font-size: 1rem;
  font-weight: 800;
  margin: 0 0 12px;
  color: #ffffff;
  letter-spacing: .2px;
  position: relative;
  padding-bottom: 10px;
}

.footer-heading::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width: 54px;
  height: 2px;
  border-radius: 99px;
  background: linear-gradient(90deg, #1E4BB8, #E53935);
  opacity: 0.95;
}

/* Bottom bar */
.footer-bottom{
  border-top: 1px solid rgba(255,255,255,0.08);
  padding: 18px 0;
  background: rgba(0,0,0,0.18);
  backdrop-filter: blur(10px);
}

.footer-bottom-inner{
  display: flex;
  gap: 16px;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

.footer-copy{
  font-size: 0.92rem;
  color: rgba(255,255,255,0.70);
}

.footer-copy-link{
  color: rgba(255,255,255,0.80);
  text-decoration: none;
  border-bottom: 1px dashed rgba(255,255,255,0.25);
  padding-bottom: 1px;
  transition: color .2s ease, border-color .2s ease;
}

.footer-copy-link:hover{
  color: #ffffff;
  border-color: rgba(127,220,255,0.7);
}

/* Social buttons */
.footer-socials{
  display: flex;
  gap: 10px;
}

.footer-social{
  width: 42px;
  height: 42px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  text-decoration: none;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.10);
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.footer-social:hover{
  transform: translateY(-3px);
  border-color: rgba(127,220,255,0.35);
  box-shadow: 0 18px 40px rgba(0,0,0,0.35);
}

.footer-social:hover .footer-icon svg{
  color: #7fdcff;
}

/* =========================
   RESPONSIVE
========================= */
@media (max-width: 991.98px){
  .footer-top .footer-container{
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
  }

  .footer-brand{
    grid-column: 1 / -1;
    grid-row: auto;
  }

  .menu-1, .menu-2, .menu-3, .menu-4, .menu-5, .menu-6, .menu-7{
    grid-column: auto;
    grid-row: auto;
  }
}

@media (max-width: 575.98px){
  .footer-top{
    padding: 50px 0 30px;
  }

  .footer-top .footer-container{
    grid-template-columns: 1fr;
  }
}


body{
  margin:0;
  background:#fff;
  font-family: var(--body-font);
}

.mega-footer{
  background:#0b2a6f;
  color:#fff;
}

/* Container */
.footer-container{
  width:92%;
  max-width:1400px;
  margin:auto;
}

/* Grid */
.footer-grid{
  display:grid;
  grid-template-columns:1.2fr 1.2fr 2fr 1.2fr;
  gap:40px;
  padding:60px 0 40px;
}

/* Titles */
.footer-title{
  font-size:15px;
  font-weight:600;
  margin-bottom:12px;
  border-bottom:1px solid rgba(255,255,255,.3);
  padding-bottom:6px;
  cursor:pointer;
}

.footer-title .arrow{
  float:right;
  transition:transform .3s ease;
}

/* Links */
.footer-col a{
  display:block;
  font-size:14px;
  margin:8px 0;
  color:rgba(255,255,255,.85);
}

.footer-col a:hover{
  color:#5fd3ff;
}

/* Submenu */
.footer-submenu{
  max-height:0;
  overflow:hidden;
  transition:max-height .4s ease;
}

.footer-submenu.open{
  max-height:400px;
}

/* Arrow rotate */
.footer-title.active .arrow{
  transform:rotate(180deg);
}

/* Two col */
.two-col{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}

/* Bottom */
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.25);
}

.bottom-inner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:18px 0;
}

.brand .logo{
  font-weight:700;
  font-size:18px;
}

.social span{
  margin-left:14px;
  font-size:16px;
  opacity:.9;
}

.footer-legal{
  border-top:1px solid rgba(255,255,255,.15);
  padding:12px 5%;
  display:flex;
  gap:18px;
  font-size:12px;
  opacity:.75;
  flex-wrap:wrap;
}


.footer{
  background:#132a63;
  color:#cfd6e4;
  font-family:Inter,Segoe UI,sans-serif;
}

/* ================= ACCORDION ================= */
.footer-accordion{
  max-width:1400px;
  margin:auto;
  padding:60px 24px;
}

.footer-item{
  border-bottom:1px solid rgba(255,255,255,.25);
}

.footer-toggle{
  width:100%;
  background:none;
  border:none;
  color:#fff;
  font-size:15px;
  font-weight:600;
  padding:18px 0;
  display:flex;
  justify-content:space-between;
  align-items:center;
  cursor:pointer;
}

.footer-toggle .icon{
  font-size:22px;
  transition:.3s ease;
}

.footer-item.active .icon{
  transform:rotate(45deg);
}

/* CONTENT */
.footer-content{
  max-height:0;
  overflow:hidden;
  transition:max-height .45s ease;
  display:flex;
  flex-direction:column;
  gap:10px;
  padding-left:4px;
}

.footer-content a{
  font-size:14px;
  color:#cfd6e4;
  text-decoration:none;
}

.footer-content a:hover{
  color:#4da3ff;
}

/* ================= BRAND ROW ================= */
.footer-brand-row{
  max-width:1400px;
  margin:auto;
  padding:28px 24px;
  border-top:1px solid rgba(255,255,255,.25);
  display:flex;
  justify-content:space-between;
  align-items:center;
}

.footer-logo{
  height:42px;
}

.footer-social{
  display:flex;
  gap:18px;
}

.footer-social img{
  width:20px;
  opacity:.85;
  transition:.3s;
}

.footer-social img:hover{
  opacity:1;
  transform:translateY(-2px);
}

/* ================= COPYRIGHT ================= */
.footer-bottom-links{
  max-width:1400px;
  margin:auto;
  padding:18px 24px 30px;
  font-size:13px;
  color:#b8c2dc;
  display:flex;
  flex-wrap:wrap;
  gap:16px;
}

.footer-bottom-links a{
  color:#b8c2dc;
  text-decoration:none;
}

.footer-bottom-links a:hover{
  color:#4da3ff;
}

/* MOBILE */
@media(max-width:768px){
  .footer-brand-row{
    flex-direction:column;
    align-items:flex-start;
    gap:16px;
  }
}


/* Footer Styles */
.footer.main {
    background: #222;
    color: #fff;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;
    font-size: 14px;
    line-height: 1.6;
}

/* Upper Footer */
.upper-footer {
    padding: 60px 0 40px;
    border-bottom: 1px solid #333;
}

.block.menu.navigation.menu--footer-nav {
    width: 100%;
}

.menu.menu-level-0,
.menu.menu-level-1,
.menu.menu-level-2 {
    list-style: none;
    margin: 0;
    padding: 0;
}

.menu.menu-level-0 {
    display: flex;
    flex-wrap: wrap;
}

.menu-item {
    margin-bottom: 8px;
}

.menu-item--expanded {
    position: relative;
}

.menu-item a {
    color: #ccc;
    text-decoration: none;
    transition: color 0.3s ease;
    display: block;
    padding: 4px 0;
}

.menu-item a:hover {
    color: #fff;
}

.menu-level-1,
.menu-level-2 {
    margin-top: 8px;
    margin-left: 20px;
}

.menu-level-0 > .menu-item {
    width: 100%;
}

/* Column Layout */
.row {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
}

.col-group--1,
.col-group--2,
.col-group--3 {
    padding: 0 15px;
    box-sizing: border-box;
}

.col-group--1 {
    flex: 0 0 100%;
    max-width: 100%;
}

.col-group--2,
.col-group--3 {
    flex: 0 0 100%;
    max-width: 100%;
    margin-top: 30px;
}

@media (min-width: 992px) {
    .col-group--1 {
        flex: 0 0 50%;
        max-width: 50%;
    }
    
    .col-group--2 {
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
        margin-top: 0;
    }
    
    .col-group--3 {
        flex: 0 0 16.666667%;
        max-width: 16.666667%;
        margin-top: 0;
    }
}

.row-group--1 {
    padding: 0 15px;
}

/* Lower Footer */
.lower-footer {
    padding: 30px 0;
}

.footer-wrapper {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}

.footer-logo-wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin-bottom: 20px;
}

.footer-branding {
    flex: 0 0 auto;
}

.footer-logo {
    flex: 0 0 auto;
}

.navbar-brand {
    display: flex;
    align-items: center;
}

.site-logo {
    display: block;
}

.site-logo img {
    height: 40px;
    width: auto;
}

/* Social Links */
.social-links--footer-bottom {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 15px;
}

.social-links--footer-bottom li {
    margin: 0;
}

.social-links--footer-bottom a {
    display: block;
    width: 32px;
    height: 32px;
    text-indent: -9999px;
    overflow: hidden;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: opacity 0.3s ease;
}

.social-links--footer-bottom a:hover {
    opacity: 0.8;
}

.social-links--footer-bottom .twitter {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M23 3a10.9 10.9 0 0 1-3.14 1.53 4.48 4.48 0 0 0-7.86 3v1A10.66 10.66 0 0 1 3 4s-4 9 5 13a11.64 11.64 0 0 1-7 2c9 5 20 0 20-11.5a4.5 4.5 0 0 0-.08-.83A7.72 7.72 0 0 0 23 3z'/%3E%3C/svg%3E");
}

.social-links--footer-bottom .in {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z'/%3E%3C/svg%3E");
}

.social-links--footer-bottom .utube {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z'/%3E%3C/svg%3E");
}

.social-links--footer-bottom .fb {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z'/%3E%3C/svg%3E");
}

.social-links--footer-bottom .ig {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z'/%3E%3C/svg%3E");
}

/* Legal Links */
.legal-links--footer-bottom {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.legal-links--footer-bottom li {
    margin: 0;
}

.legal-links--footer-bottom a {
    color: #ccc;
    text-decoration: none;
    transition: color 0.3s ease;
}

.legal-links--footer-bottom a:hover {
    color: #fff;
}

/* Footer Link Text */
.footer-link-text.row {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    align-items: center;
    justify-content: space-between;
}

.footer-link,
.copyright {
    padding: 0 15px;
    box-sizing: border-box;
}

.footer-link {
    flex: 0 0 100%;
    max-width: 100%;
    margin-bottom: 15px;
}

.copyright {
    flex: 0 0 100%;
    max-width: 100%;
    text-align: center;
}

@media (min-width: 992px) {
    .footer-link {
        flex: 0 0 50%;
        max-width: 50%;
        margin-bottom: 0;
        text-align: left;
    }
    
    .copyright {
        flex: 0 0 50%;
        max-width: 50%;
        text-align: right;
    }
    
    .footer-logo-wrapper {
        width: auto;
        margin-bottom: 0;
    }
}

.copyright p {
    margin: 0;
    color: #999;
    font-size: 13px;
}

/* Utility Classes */
.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.block {
    display: block;
}

.d-flex {
    display: flex;
}

.align-items-center {
    align-items: center;
}

.d-block {
    display: block;
}

.mt-12 {
    margin-top: 12px;
}

/* Responsive */
@media (max-width: 768px) {
    .upper-footer {
        padding: 40px 0 30px;
    }
    
    .social-links--footer-bottom {
        justify-content: center;
    }
    
    .legal-links--footer-bottom {
        justify-content: center;
        gap: 15px;
    }
}

@media (max-width: 576px) {
    .legal-links--footer-bottom {
        flex-direction: column;
        align-items: center;
        gap: 10px;
    }
    
    .social-links--footer-bottom {
        gap: 10px;
    }
    
    .social-links--footer-bottom a {
        width: 28px;
        height: 28px;
    }
}



/* =========================
   LTTS-STYLE FOOTER LAYOUT
========================= */

/* Main container for columns */
.footer-main-content .footer-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 60px 0 40px;
    gap: 30px;
}

/* Each footer column */
.footer-col {
    flex: 1;
    min-width: 180px;
    margin-bottom: 20px;
}

/* Brand column can be slightly wider */
.footer-brand {
    flex: 1.5;
    min-width: 250px;
}

/* Style for the highlighted "Our Offices" column */
.footer-highlight {
    background: rgba(255, 255, 255, 0.05);
    border-radius: 12px;
    padding: 25px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
}

.footer-highlight .footer-heading {
    color: #7fdcff;
    margin-bottom: 20px;
}

.office-location {
    margin-bottom: 18px;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.office-location:last-child {
    border-bottom: none;
    margin-bottom: 25px;
}

.office-location strong {
    display: block;
    color: rgba(255, 255, 255, 0.95);
    font-size: 0.95rem;
    margin-bottom: 4px;
}

.office-location p {
    color: rgba(255, 255, 255, 0.75);
    font-size: 0.9rem;
    margin: 0;
}

.office-link {
    display: inline-block;
    color: #7fdcff;
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 500;
    transition: opacity 0.2s ease;
}

.office-link:hover {
    opacity: 0.8;
}

/* =========================
   BOTTOM BAR LAYOUT (LTTS Style)
========================= */
.footer-bottom-bar {
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    padding: 20px 0;
    background: rgba(0, 0, 0, 0.25);
    position: relative;
    z-index: 10;
}

.bottom-bar-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
}

.footer-copyright {
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.9rem;
    flex-shrink: 0;
}

.footer-legal-links {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
    flex: 1;
}

.legal-link {
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
    font-size: 0.85rem;
    transition: color 0.2s ease;
}

.legal-link:hover {
    color: #7fdcff;
}

.footer-socials {
    display: flex;
    align-items: center;
    gap: 15px;
    flex-shrink: 0;
}

.social-label {
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.85rem;
    margin-right: 5px;
}

.footer-social {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.1);
    transition: all 0.2s ease;
}

.footer-social:hover {
    background: rgba(127, 220, 255, 0.15);
    border-color: rgba(127, 220, 255, 0.4);
    transform: translateY(-2px);
}

.footer-social svg {
    color: rgba(255, 255, 255, 0.9);
    width: 18px;
    height: 18px;
}

/* =========================
   RESPONSIVE ADJUSTMENTS
========================= */
@media (max-width: 992px) {
    .footer-main-content .footer-container {
        gap: 40px;
    }
    .footer-col {
        min-width: 45%;
    }
    .bottom-bar-inner {
        flex-direction: column;
        text-align: center;
        gap: 15px;
    }
    .footer-legal-links {
        order: 3;
        width: 100%;
    }
}

@media (max-width: 576px) {
    .footer-col {
        min-width: 100%;
    }
    .footer-legal-links {
        flex-direction: column;
        gap: 12px;
    }
}

/* =========================
   FOOTER LINK STYLES
========================= */
.footer-link {
    display: block;
    color: rgba(255, 255, 255, 0.72);
    text-decoration: none;
    font-size: 0.94rem;
    line-height: 1.6;
    padding: 6px 0;
    transition: transform .2s ease, color .2s ease, padding-left .2s ease;
    border-left: 2px solid transparent;
}

.footer-link:hover {
    color: #7fdcff;
    transform: translateX(8px);
    padding-left: 10px;
    border-left-color: rgba(127, 220, 255, 0.5);
}

/* =========================
   SERVICES BOTTOM DROPDOWN (FIXED)
========================= */

/* Services column - REMOVED conflicting styles, only keep positioning */
.services-column {
    position: static;
}

/* Services trigger styling */
.services-bottom-trigger {
    position: relative;
    padding-bottom: 12px;
    margin-bottom: 0;
    cursor: pointer;
    transition: color 0.2s ease;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.services-bottom-trigger::after {
    background: linear-gradient(90deg, #1E4BB8, #E53935);
    opacity: 0.95;
}

.services-bottom-trigger:hover {
    color: #7fdcff;
}

.services-bottom-trigger:hover .services-dropdown-icon {
    color: #7fdcff;
    transform: rotate(180deg);
}

.services-dropdown-icon {
    color: rgba(255, 255, 255, 0.7);
    transition: transform 0.3s ease, color 0.2s ease;
}

/* Full-width bottom dropdown - CORRECTED */
.services-bottom-dropdown {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: rgba(5, 11, 29, 0.98);
    backdrop-filter: blur(20px);
    border-top: 1px solid rgba(255, 255, 255, 0.15);
    box-shadow: 0 -10px 60px rgba(0, 0, 0, 0.5);
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transform: translateY(100%);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    padding: 40px 0;
    max-height: 70vh;
    overflow-y: auto;
}

/* Show dropdown when hovering over Services */
.services-column:hover ~ .services-bottom-dropdown,
.services-bottom-dropdown:hover {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* Dropdown content layout */
.bottom-dropdown-content {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
    padding: 20px 0;
}

.dropdown-section {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.dropdown-section-title {
    color: #7fdcff;
    font-size: 0.9rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 8px;
    padding-bottom: 8px;
    border-bottom: 2px solid rgba(127, 220, 255, 0.3);
}

.dropdown-link {
    color: rgba(255, 255, 255, 0.85);
    text-decoration: none;
    font-size: 0.95rem;
    padding: 8px 12px;
    border-radius: 6px;
    transition: all 0.2s ease;
    display: block;
    position: relative;
    padding-left: 20px;
}

.dropdown-link::before {
    content: "→";
    position: absolute;
    left: 0;
    opacity: 0;
    transform: translateX(-10px);
    transition: all 0.2s ease;
    color: #7fdcff;
}

.dropdown-link:hover {
    color: #7fdcff;
    background: rgba(127, 220, 255, 0.1);
    padding-left: 30px;
}

.dropdown-link:hover::before {
    opacity: 1;
    transform: translateX(0);
}

/* Mobile adaptation */
@media (max-width: 992px) {
    .services-bottom-dropdown {
        position: fixed;
        padding: 30px 0;
        max-height: 60vh;
    }
    
    .bottom-dropdown-content {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;
    }
    
    .services-bottom-trigger {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    
    /* Add mobile toggle class */
    .services-column.active .services-dropdown-icon {
        transform: rotate(180deg);
    }
}

@media (max-width: 576px) {
    .services-bottom-dropdown {
        padding: 20px 0;
        max-height: 70vh;
    }
    
    .bottom-dropdown-content {
        grid-template-columns: 1fr;
        gap: 25px;
    }
    
    .dropdown-section {
        border-bottom: 1px solid rgba(255, 255, 255, 0.05);
        padding-bottom: 20px;
    }
    
    .dropdown-section:last-child {
        border-bottom: none;
    }
}

/* REMOVE these conflicting styles - DELETE the following sections from your CSS: */
/*
  =========================
   SERVICES DROPDOWN STYLES
  =========================
*/

/*
  =========================
   SERVICES HOVER DROPDOWN STYLES
  =========================
*/


/* =========================
   SERVICES BOTTOM DROPDOWN - FIXED Z-INDEX
========================= */
.services-bottom-dropdown {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: rgba(5, 11, 29, 0.98);
    backdrop-filter: blur(20px);
    border-top: 1px solid rgba(255, 255, 255, 0.15);
    box-shadow: 0 -10px 60px rgba(0, 0, 0, 0.5);
    z-index: 99999; /* Increased z-index to be above everything */
    opacity: 0;
    visibility: hidden;
    transform: translateY(100%);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    padding: 40px 0;
    max-height: 70vh;
    overflow-y: auto;
}

/* IMPORTANT: Make sure body doesn't hide overflow */
body {
    overflow-x: hidden;
    position: relative;
}

/* Ensure footer has proper stacking context */
.site-footer {
    position: relative;
    z-index: 1;
}

/* Make sure Services column is clickable/hoverable */
.services-column {
    position: static !important; /* Override any conflicting positioning */
    cursor: pointer;
}

.services-bottom-trigger {
    position: relative;
    padding-bottom: 12px;
    margin-bottom: 0;
    cursor: pointer;
    transition: color 0.2s ease;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.services-bottom-trigger::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 54px;
    height: 2px;
    border-radius: 99px;
    background: linear-gradient(90deg, #1E4BB8, #E53935);
    opacity: 0.95;
}

.services-bottom-trigger:hover {
    color: #7fdcff;
}

.services-bottom-trigger:hover .services-dropdown-icon {
    color: #7fdcff;
    transform: rotate(180deg);
}

.services-dropdown-icon {
    color: rgba(255, 255, 255, 0.7);
    transition: transform 0.3s ease, color 0.2s ease;
}

/* Debug styles - remove these after it works */
.services-column {
    border: 1px solid rgba(255, 0, 0, 0.3) !important; /* Red border to see area */
}




/* Option 1: Callout Box */
.outcome-box {
    background: linear-gradient(135deg, #f8f9ff 0%, #f0f2ff 100%);
    border-left: 4px solid #16469D;
    border-radius: 8px;
    padding: 20px;
    display: flex;
    gap: 15px;
    align-items: flex-start;
}

.outcome-icon {
    background: #16469D;
    color: white;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.outcome-content {
    flex: 1;
}

.outcome-title {
    font-size: 16px;
    font-weight: 600;
    color: #333;
    margin: 0 0 5px 0;
}

.outcome-desc {
    color: #555;
    margin: 0 0 10px 0;
    line-height: 1.5;
}

.outcome-link {
    color: #16469D;
    text-decoration: none;
    font-weight: 500;
    font-size: 14px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.outcome-link:hover {
    text-decoration: underline;
}

/* Option 2: Modern Card */
.outcome-card {
    background: white;
    border-radius: 12px;
    padding: 25px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.08);
    border-top: 3px solid #16469D;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.outcome-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0,0,0,0.12);
}

.outcome-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
}

.outcome-badge {
    background: rgba(0,123,255,0.1);
    color: #16469D;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.5px;
}

.outcome-arrow {
    color: #16469D;
    font-size: 20px;
}

.outcome-text {
    color: #444;
    font-size: 16px;
    line-height: 1.6;
    margin: 0 0 20px 0;
}

.outcome-footer {
    border-top: 1px solid #eee;
    padding-top: 15px;
}

.outcome-action {
    color: #16469D;
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: gap 0.3s ease;
}

.outcome-action:hover {
    gap: 12px;
}

/* Option 3: Minimal Badge */
.outcome-minimal {
    background: #f8f9fa;
    border-radius: 8px;
    padding: 15px 20px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    border: 1px solid #e9ecef;
}

.outcome-label {
    background: #16469D;
    color: white;
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.outcome-value {
    color: #333;
    font-size: 15px;
    flex: 1;
    min-width: 200px;
}

.outcome-cta {
    color: #16469D;
    text-decoration: none;
    font-weight: 500;
    font-size: 14px;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.outcome-cta:hover {
    text-decoration: underline;
}

/* Option 4: Progress Bar */
.outcome-progress {
    background: white;
    border-radius: 10px;
    padding: 20px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
}

.progress-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.progress-label {
    font-weight: 600;
    color: #333;
    font-size: 14px;
}

.progress-percentage {
    color: #28a745;
    font-weight: 600;
    font-size: 14px;
}

.progress-bar {
    height: 6px;
    background: #e9ecef;
    border-radius: 3px;
    margin-bottom: 15px;
    overflow: hidden;
}

.progress-fill {
    height: 100%;
    background: linear-gradient(90deg, #16469D, #16469D);
    border-radius: 3px;
}

.outcome-statement {
    color: #444;
    font-size: 15px;
    line-height: 1.5;
    margin: 0 0 10px 0;
}

.progress-link {
    color: #16469D;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.progress-link:hover {
    text-decoration: underline;
}

/* Responsive */
@media (max-width: 768px) {
    .outcome-minimal {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
    
    .outcome-value {
        min-width: 100%;
    }
    
    .outcome-box {
        flex-direction: column;
    }
    
    .outcome-icon {
        align-self: flex-start;
    }
}

/* Option 5: Floating Tag */
.outcome-tag {
    background: linear-gradient(135deg, #ffffff 0%, #f8f9ff 100%);
    border-radius: 16px;
    padding: 25px;
    position: relative;
    overflow: hidden;
    border: 2px solid #e3e6ff;
    box-shadow: 0 8px 32px rgba(0, 123, 255, 0.1);
}

.outcome-tag::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 6px;
    height: 100%;
    background: linear-gradient(to bottom, #16469D, #16469D);
}

.tag-icon {
    position: absolute;
    top: -15px;
    right: -15px;
    background: #16469D;
    color: white;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    box-shadow: 0 4px 12px rgba(0, 123, 255, 0.3);
}

.tag-content {
    position: relative;
    z-index: 1;
}

.tag-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
}

.tag-badge {
    background: rgba(0, 123, 255, 0.1);
    color: #16469D;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.tag-impact {
    background: rgba(40, 167, 69, 0.1);
    color: #28a745;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
}

.tag-main h5 {
    color: #333;
    font-size: 18px;
    margin: 0 0 10px 0;
    font-weight: 600;
}

.tag-main p {
    color: #555;
    line-height: 1.6;
    margin: 0 0 20px 0;
}

.tag-cta a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #16469D;
    text-decoration: none;
    font-weight: 600;
    transition: gap 0.3s ease;
}

.tag-cta a:hover {
    gap: 12px;
}

/* Option 6: Sidebar Highlight */
.outcome-sidebar {
    display: flex;
    gap: 20px;
    position: relative;
}

.sidebar-connector {
    width: 3px;
    background: linear-gradient(to bottom, #16469D, #16469D);
    border-radius: 2px;
    flex-shrink: 0;
}

.sidebar-content {
    flex: 1;
    background: #f8f9ff;
    border-radius: 12px;
    padding: 20px;
    border: 1px solid #e3e6ff;
}

.sidebar-label {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
    color: #16469D;
    font-weight: 600;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.sidebar-label i {
    font-size: 18px;
}

.sidebar-main {
    margin-bottom: 20px;
}

.sidebar-text {
    color: #444;
    line-height: 1.6;
    margin-bottom: 15px;
    padding-left: 10px;
    border-left: 3px solid #dee2ff;
    padding-left: 15px;
}

.sidebar-metrics {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.metric {
    text-align: center;
    min-width: 100px;
}

.metric-value {
    display: block;
    font-size: 24px;
    font-weight: 700;
    color: #16469D;
    line-height: 1;
}

.metric-label {
    display: block;
    font-size: 12px;
    color: #666;
    margin-top: 5px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.sidebar-link {
    color: #16469D;
    text-decoration: none;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 14px;
}

.sidebar-link:hover {
    text-decoration: underline;
}

/* Option 7: Timeline Node */
.outcome-timeline {
    display: flex;
    gap: 20px;
    position: relative;
}

.timeline-node {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 60px;
    flex-shrink: 0;
}

.node-marker {
    width: 50px;
    height: 50px;
    background: linear-gradient(135deg, #16469D, #16469D);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 20px;
    box-shadow: 0 4px 12px rgba(0, 123, 255, 0.3);
    z-index: 2;
}

.node-line {
    width: 2px;
    height: 100%;
    background: linear-gradient(to bottom, #16469D, transparent);
    margin-top: 10px;
}

.timeline-content {
    flex: 1;
    background: white;
    border-radius: 12px;
    padding: 25px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.08);
    border: 1px solid #e9ecef;
}

.timeline-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid #eee;
}

.timeline-header h4 {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    color: #333;
    font-size: 18px;
}

.timeline-status {
    background: #d4edda;
    color: #155724;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
}

.outcome-highlight {
    display: flex;
    gap: 15px;
    align-items: flex-start;
    background: #f8f9ff;
    padding: 15px;
    border-radius: 8px;
    margin-bottom: 20px;
}

.highlight-icon {
    background: #16469D;
    color: white;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.highlight-text {
    color: #444;
    line-height: 1.5;
}

.timeline-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.action-btn {
    padding: 8px 16px;
    border-radius: 6px;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.3s ease;
}

.action-btn.primary {
    background: #16469D;
    color: white;
}

.action-btn.primary:hover {
    background: #0056b3;
}

.action-btn.secondary {
    background: transparent;
    color: #16469D;
    border: 1px solid #16469D;
}

.action-btn.secondary:hover {
    background: #16469D;
    color: white;
}

/* Option 8: Dashboard Card */
.outcome-dashboard {
    background: white;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 5px 20px rgba(0,0,0,0.08);
    border: 1px solid #e9ecef;
}

.dashboard-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 25px;
    background: linear-gradient(90deg, #f8f9ff 0%, #ffffff 100%);
    border-bottom: 1px solid #e9ecef;
}

.dashboard-title {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #333;
}

.dashboard-title h5 {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
}

.dashboard-title i {
    color: #16469D;
    font-size: 18px;
}

.dashboard-btn {
    background: none;
    border: 1px solid #dee2e6;
    width: 32px;
    height: 32px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #666;
    cursor: pointer;
    transition: all 0.3s ease;
}

.dashboard-btn:hover {
    background: #16469D;
    color: white;
    border-color: #16469D;
}

.dashboard-body {
    padding: 25px;
}

.kpi-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    margin-bottom: 25px;
}

.kpi-item {
    background: #f8f9fa;
    border-radius: 8px;
    padding: 15px;
    display: flex;
    align-items: center;
    gap: 12px;
}

.kpi-icon {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
}

.kpi-icon.success {
    background: rgba(40, 167, 69, 0.1);
    color: #28a745;
}

.kpi-icon.warning {
    background: rgba(255, 193, 7, 0.1);
    color: #ffc107;
}

.kpi-icon.info {
    background: rgba(0, 123, 255, 0.1);
    color: #16469D;
}

.kpi-content {
    flex: 1;
}

.kpi-value {
    font-size: 18px;
    font-weight: 700;
    color: #333;
    line-height: 1.2;
}

.kpi-label {
    font-size: 12px;
    color: #666;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.dashboard-summary {
    background: #f8f9ff;
    padding: 20px;
    border-radius: 8px;
    border-left: 4px solid #16469D;
}

.dashboard-summary p {
    margin: 0 0 15px 0;
    color: #444;
    line-height: 1.6;
}

.dashboard-link {
    color: #16469D;
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.dashboard-link:hover {
    text-decoration: underline;
}

/* Option 9: Sticky Note */
.outcome-sticky {
    transform: rotate(-1deg);
    transition: transform 0.3s ease;
}

.outcome-sticky:hover {
    transform: rotate(0deg);
}

.sticky-note {
    background: linear-gradient(135deg, #fff8e1 0%, #ffecb3 100%);
    border-radius: 8px;
    padding: 25px;
    position: relative;
    box-shadow: 0 8px 25px rgba(0,0,0,0.1);
    border: 1px solid #ffe082;
    max-width: 400px;
}

.sticky-corner {
    position: absolute;
    top: -10px;
    right: -10px;
    width: 40px;
    height: 40px;
    background: #ff5722;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}

.sticky-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 2px dashed #ffd54f;
}

.sticky-title {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #5d4037;
}

.sticky-title h5 {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
}

.sticky-date {
    background: #ff5722;
    color: white;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
}

.sticky-content p {
    color: #5d4037;
    font-style: italic;
    line-height: 1.6;
    margin: 0 0 20px 0;
    font-size: 15px;
}

.sticky-stats {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 20px;
}

.stat-tag {
    background: rgba(255, 87, 34, 0.1);
    color: #ff5722;
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.sticky-footer {
    text-align: center;
}

.sticky-action {
    background: #ff5722;
    color: white;
    text-decoration: none;
    padding: 8px 16px;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: background 0.3s ease;
}

.sticky-action:hover {
    background: #d84315;
    color: white;
}

/* Option 10: Modern Chip */
.outcome-chip-container {
    background: white;
    border-radius: 12px;
    padding: 25px;
    border: 1px solid #e3e6ff;
    box-shadow: 0 4px 20px rgba(0, 123, 255, 0.05);
}

.chip-main {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}

.chip-label {
    background: rgba(0, 123, 255, 0.08);
    padding: 6px 12px;
    border-radius: 20px;
    color: #16469D;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.chip-value {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    flex: 1;
}

.value-main {
    background: #f0f8ff;
    padding: 8px 15px;
    border-radius: 20px;
    color: #0056b3;
    font-weight: 500;
    font-size: 14px;
    border: 1px solid rgba(0, 123, 255, 0.2);
}

.value-separator {
    color: #16469D;
    font-weight: bold;
}

.chip-details {
    display: flex;
    gap: 20px;
    margin-bottom: 20px;
    padding: 15px;
    background: #f8f9ff;
    border-radius: 8px;
    flex-wrap: wrap;
}

.detail-item {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #555;
    font-size: 14px;
}

.detail-icon {
    color: #16469D;
    font-size: 16px;
}

.chip-cta {
    text-align: center;
}

.chip-link {
    color: #16469D;
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border-radius: 6px;
    background: rgba(0, 123, 255, 0.05);
    transition: all 0.3s ease;
}

.chip-link:hover {
    background: rgba(0, 123, 255, 0.1);
    gap: 12px;
}

/* Responsive */
@media (max-width: 992px) {
    .kpi-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .timeline-actions {
        flex-direction: column;
    }
    
    .action-btn {
        justify-content: center;
    }
}

@media (max-width: 768px) {
    .outcome-sidebar {
        flex-direction: column;
    }
    
    .sidebar-connector {
        width: 100%;
        height: 3px;
    }
    
    .outcome-timeline {
        flex-direction: column;
    }
    
    .timeline-node {
        flex-direction: row;
        width: 100%;
        gap: 15px;
    }
    
    .node-line {
        width: 100%;
        height: 2px;
        margin-top: 0;
    }
    
    .kpi-grid {
        grid-template-columns: 1fr;
    }
    
    .sidebar-metrics {
        justify-content: center;
    }
    
    .chip-main {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 576px) {
    .outcome-tag {
        padding: 20px;
    }
    
    .tag-icon {
        width: 50px;
        height: 50px;
        font-size: 20px;
    }
    
    .chip-details {
        flex-direction: column;
        gap: 10px;
    }
    
    .outcome-sticky {
        transform: none;
    }
}

/* Option 11: Interactive Accordion */
.outcome-accordion {
    background: white;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
    border: 1px solid #e9ecef;
}

.accordion-header {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 20px 25px;
    cursor: pointer;
    background: linear-gradient(90deg, #f8f9ff 0%, #ffffff 100%);
    transition: background 0.3s ease;
}

.accordion-header:hover {
    background: #f0f2ff;
}

.accordion-icon {
    width: 40px;
    height: 40px;
    background: linear-gradient(135deg, #16469D, #16469D);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 18px;
}

.accordion-title {
    flex: 1;
}

.accordion-title h5 {
    margin: 0 0 5px 0;
    color: #333;
    font-size: 16px;
    font-weight: 600;
}

.accordion-subtitle {
    color: #666;
    font-size: 13px;
}

.accordion-arrow {
    color: #16469D;
    font-size: 14px;
    transition: transform 0.3s ease;
}

.accordion-header.active .accordion-arrow {
    transform: rotate(180deg);
}

.accordion-content {
    padding: 25px;
    display: none;
}

.accordion-content.active {
    display: block;
}

.outcome-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 25px;
}

.outcome-item {
    background: #f8f9ff;
    border-radius: 8px;
    padding: 15px;
    display: flex;
    align-items: center;
    gap: 12px;
}

.outcome-icon {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
}

.outcome-icon.success {
    background: rgba(40, 167, 69, 0.1);
    color: #28a745;
}

.outcome-icon.warning {
    background: rgba(255, 193, 7, 0.1);
    color: #ffc107;
}

.outcome-icon.info {
    background: rgba(0, 123, 255, 0.1);
    color: #16469D;
}

.outcome-content h6 {
    margin: 0 0 5px 0;
    font-size: 14px;
    color: #333;
}

.outcome-content p {
    margin: 0;
    font-size: 12px;
    color: #666;
}

.accordion-footer {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    padding-top: 20px;
    border-top: 1px solid #eee;
}

.btn-outline, .btn-primary {
    padding: 10px 20px;
    border-radius: 6px;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.3s ease;
}

.btn-outline {
    background: white;
    color: #16469D;
    border: 2px solid #16469D;
}

.btn-outline:hover {
    background: #16469D;
    color: white;
}

.btn-primary {
    background: #16469D;
    color: white;
    border: 2px solid #16469D;
}

.btn-primary:hover {
    background: #0056b3;
    border-color: #0056b3;
}

/* Option 12: Step-by-Step Progress */
.outcome-progress-steps {
    background: white;
    border-radius: 12px;
    padding: 25px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}

.steps-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
    padding-bottom: 15px;
    border-bottom: 1px solid #eee;
}

.steps-header h4 {
    margin: 0;
    color: #333;
    font-size: 18px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.steps-completion {
    background: #28a745;
    color: white;
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
}

.steps-timeline {
    position: relative;
    padding-left: 40px;
    margin-bottom: 30px;
}

.steps-timeline::before {
    content: '';
    position: absolute;
    left: 15px;
    top: 0;
    bottom: 0;
    width: 2px;
    background: #e9ecef;
}

.step-item {
    display: flex;
    gap: 15px;
    margin-bottom: 25px;
    position: relative;
}

.step-marker {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 600;
    position: absolute;
    left: -40px;
    z-index: 2;
}

.step-item.completed .step-marker {
    background: #28a745;
    color: white;
}

.step-item.active .step-marker {
    background: #16469D;
    color: white;
}

.step-item.pending .step-marker {
    background: #6c757d;
    color: white;
}

.step-marker i {
    display: none;
}

.step-item.completed .step-number {
    display: none;
}

.step-item.completed .step-marker i {
    display: block;
}

.step-content h6 {
    margin: 0 0 5px 0;
    color: #333;
    font-size: 14px;
    font-weight: 600;
}

.step-content p {
    margin: 0;
    color: #666;
    font-size: 13px;
}

.steps-outcome {
    background: #f8f9ff;
    border-radius: 8px;
    padding: 20px;
}

.outcome-summary {
    display: flex;
    gap: 15px;
    align-items: flex-start;
    margin-bottom: 15px;
}

.summary-icon {
    width: 40px;
    height: 40px;
    background: #16469D;
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.summary-content h5 {
    margin: 0 0 8px 0;
    color: #333;
    font-size: 16px;
}

.summary-content p {
    margin: 0;
    color: #555;
    font-size: 14px;
}

.steps-cta {
    color: #16469D;
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.steps-cta:hover {
    text-decoration: underline;
}

/* Option 13: Comparison Table */
.outcome-comparison {
    background: white;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}

.comparison-header {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px 25px;
    background: none;
    border-bottom: 1px solid #e9ecef;
}

.comparison-header h4 {
    margin: 0;
    color: #333;
    font-size: 18px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.comparison-toggle {
    display: flex;
    align-items: center;
    gap: 10px;
}

.toggle-label {
    color: #666;
    font-size: 13px;
    font-weight: 500;
}

.toggle-label.active {
    color: #16469D;
    font-weight: 600;
}

.toggle-switch {
    width: 50px;
    height: 26px;
    background: #6c757d;
    border-radius: 13px;
    position: relative;
    cursor: pointer;
}

.toggle-handle {
    position: absolute;
    top: 3px;
    right: 3px;
    width: 20px;
    height: 20px;
    background: white;
    border-radius: 50%;
    transition: right 0.3s ease;
}

.toggle-switch.active .toggle-handle {
    right: 27px;
}

.comparison-table {
    padding: 20px;
}

.table-header {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 15px;
    padding: 15px;
    background: #f8f9fa;
    border-radius: 6px;
    margin-bottom: 10px;
    font-weight: 600;
    color: #333;
    font-size: 14px;
}

.table-row {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 15px;
    padding: 15px;
    border-bottom: 1px solid #eee;
}

.table-row:last-child {
    border-bottom: none;
}

.table-col {
    display: flex;
    align-items: center;
    gap: 10px;
}

.table-col.metric {
    color: #333;
    font-weight: 500;
}

.table-col.metric i {
    color: #16469D;
}

.table-col.before .value {
    color: #666;
    text-decoration: line-through;
}

.table-col.after .value {
    color: #28a745;
    font-weight: 600;
}

.improvement-value {
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
}

.improvement-value.positive {
    background: rgba(40, 167, 69, 0.1);
    color: #28a745;
}

.comparison-footer {
    padding: 20px;
    background: #f8f9ff;
    border-top: 1px solid #e9ecef;
}

.footer-summary p {
    margin: 0 0 15px 0;
    color: #444;
    font-size: 15px;
}

.footer-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.btn-download, .btn-contact {
    padding: 10px 20px;
    border-radius: 6px;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.3s ease;
}

.btn-download {
    background: white;
    color: #16469D;
    border: 2px solid #16469D;
}

.btn-download:hover {
    background: #16469D;
    color: white;
}

.btn-contact {
    background: #16469D;
    color: white;
    border: 2px solid #16469D;
}

.btn-contact:hover {
    background: #0056b3;
    border-color: #0056b3;
}

/* Option 14: Quote/Testimonial Style */
.outcome-testimonial {
    background: linear-gradient(135deg, #f8f9ff 0%, #e3f2fd 100%);
    border-radius: 12px;
    padding: 30px;
    border-left: 5px solid #16469D;
}

.testimonial-quote {
    position: relative;
    margin-bottom: 30px;
}

.quote-icon {
    position: absolute;
    top: -10px;
    left: -10px;
    width: 40px;
    height: 40px;
    background: #16469D;
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
}

blockquote {
    margin: 0;
    padding: 20px 20px 20px 40px;
    background: white;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
}

blockquote p {
    margin: 0;
    color: #444;
    font-size: 16px;
    line-height: 1.6;
    font-style: italic;
}

.quote-author {
    margin-top: 15px;
    display: flex;
    justify-content: flex-end;
}

.author-info {
    text-align: right;
}

.author-name {
    font-weight: 600;
    color: #333;
    font-size: 14px;
}

.author-role {
    color: #666;
    font-size: 12px;
}

.testimonial-metrics {
    margin-bottom: 25px;
}

.metrics-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
}

.metric-card {
    background: white;
    border-radius: 8px;
    padding: 15px;
    text-align: center;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}

.metric-value {
    font-size: 28px;
    font-weight: 700;
    color: #16469D;
    line-height: 1;
    margin-bottom: 8px;
}

.metric-label {
    font-size: 12px;
    color: #666;
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.metric-trend {
    font-size: 11px;
    padding: 3px 8px;
    border-radius: 12px;
    display: inline-block;
}

.metric-trend.up {
    background: rgba(40, 167, 69, 0.1);
    color: #28a745;
}

.metric-trend.down {
    background: rgba(220, 53, 69, 0.1);
    color: #dc3545;
}

.btn-view-case {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: #16469D;
    color: white;
    padding: 12px 25px;
    border-radius: 6px;
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    transition: all 0.3s ease;
}

.btn-view-case:hover {
    background: #0056b3;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

/* Option 15: Floating Action Card */
.outcome-floating-card {
    position: relative;
}

.floating-card {
    background: white;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 10px 40px rgba(0,0,0,0.1);
    position: relative;
    z-index: 1;
}

.card-corner-ribbon {
    position: absolute;
    top: 20px;
    right: -30px;
    background: #16469D;
    color: white;
    padding: 5px 30px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    transform: rotate(45deg);
    box-shadow: 0 2px 10px rgba(0,0,0,0.2);
    z-index: 2;
}

.card-header {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 25px;
    background: linear-gradient(90deg, #16469D 0%, #16469D 100%);
    color: white;
}

.header-icon {
    font-size: 24px;
}

.header-content {
    flex: 1;
}

.header-content h5 {
    margin: 0 0 10px 0;
    font-size: 18px;
}

.header-badges {
    display: flex;
    gap: 8px;
}

.badge {
    padding: 3px 10px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.badge.success {
    background: rgba(255,255,255,0.2);
    color: white;
}

.badge.timeline {
    background: rgba(255,255,255,0.2);
    color: white;
}

.card-body {
    padding: 25px;
    display: flex;
    gap: 30px;
    align-items: center;
}

.outcome-list {
    flex: 1;
}

.outcome-point {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.outcome-point:last-child {
    margin-bottom: 0;
}

.point-icon {
    width: 20px;
    height: 20px;
    background: #16469D;
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    font-weight: bold;
    flex-shrink: 0;
}

.point-text {
    color: #444;
    font-size: 14px;
}

.progress-ring {
    text-align: center;
}

.ring-container {
    position: relative;
    width: 80px;
    height: 80px;
    margin: 0 auto 10px;
}

.progress-ring-svg {
    transform: rotate(-90deg);
}

.progress-ring-circle {
    transition: stroke-dashoffset 0.35s;
}

.ring-percentage {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 18px;
    font-weight: 700;
    color: #16469D;
}

.ring-label {
    font-size: 12px;
    color: #666;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.card-footer {
    padding: 20px 25px;
    background: #f8f9ff;
    border-top: 1px solid #eee;
}

.footer-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.action-btn {
    padding: 10px 20px;
    border-radius: 6px;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.3s ease;
}

.action-btn.primary {
    background: #16469D;
    color: white;
    border: 2px solid #16469D;
}

.action-btn.primary:hover {
    background: #0056b3;
    border-color: #0056b3;
}

.action-btn.secondary {
    background: white;
    color: #16469D;
    border: 2px solid #16469D;
}

.action-btn.secondary:hover {
    background: #16469D;
    color: white;
}

/* Responsive Styles */
@media (max-width: 992px) {
    .outcome-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .card-body {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .metrics-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .outcome-grid {
        grid-template-columns: 1fr;
    }
    
    .table-header, .table-row {
        grid-template-columns: 1fr;
        gap: 10px;
    }
    
    .metrics-grid {
        grid-template-columns: 1fr;
    }
    
    .steps-timeline::before {
        left: 15px;
    }
    
    .step-marker {
        left: -30px;
    }
    
    .steps-timeline {
        padding-left: 30px;
    }
    
    .footer-actions, .accordion-footer {
        flex-direction: column;
    }
    
    .footer-actions a, .accordion-footer a {
        width: 100%;
        text-align: center;
        justify-content: center;
    }
}

@media (max-width: 576px) {
    .comparison-header {
        flex-direction: column;
        gap: 15px;
        align-items: flex-start;
    }
    
    .header-actions {
        flex-direction: column;
    }
    
    .card-header {
        flex-direction: column;
        text-align: center;
        gap: 10px;
    }
    
    .header-badges {
        justify-content: center;
    }
}

/* =========================================================
   FOOTER SERVICES BOTTOM DROPDOWN (FIXED)
   Works with JS class: #siteFooter.services-open
   ========================================================= */

.site-footer{
  position: relative; /* anchor for dropdown */
}

/* Default hidden state */
#servicesDropdown,
.site-footer .services-bottom-dropdown{
  position: fixed;            /* LTTS-style: full width */
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  z-index: 9999;              /* ensure it appears above everything */
  
  opacity: 0;
  visibility: hidden;
  pointer-events: none;       /* prevent hover/click when hidden */
  transform: translateY(100%);
  transition: opacity .25s ease, transform .25s ease, visibility .25s ease;
}

/* Open state controlled by JS */
#siteFooter.services-open #servicesDropdown,
.site-footer.services-open .services-bottom-dropdown{
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

/* Optional: keep dropdown visible while hovering dropdown itself (desktop safety) */
@media (min-width: 993px){
  #servicesDropdown:hover,
  .services-bottom-dropdown:hover{
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
  }
}

/* Dropdown icon */
.services-dropdown-icon{
  transition: transform .25s ease, color .2s ease;
}

/* Rotate icon when open */
#siteFooter.services-open .services-dropdown-icon{
  transform: rotate(180deg);
}

/* Mobile behavior: allow dropdown to scroll if tall */
@media (max-width: 992px){
  #servicesDropdown,
  .services-bottom-dropdown{
    max-height: 70vh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
}


/* =======================================================================
   SOLIDPRO / LTTS-STYLE FOOTER (CLEAN + WORKING SERVICES DROPDOWN)
   - This file is intentionally scoped to the footer to avoid conflicts.
   - Dropdown visibility is controlled ONLY by: #siteFooter.services-open
   ======================================================================= */

/* -------------------------
   Footer base / background
------------------------- */
.site-footer{
  position: relative;
  color: rgba(255,255,255,0.88);
  background:
    radial-gradient(900px 420px at 15% 20%, rgba(30,75,184,0.28), transparent 60%),
    radial-gradient(600px 320px at 70% 80%, rgba(229,57,53,0.16), transparent 60%),
    linear-gradient(135deg, #050b1d 0%, #0b1533 45%, #050b1d 100%);
  overflow: hidden;
  z-index: 1; /* keep footer above page background */
}

.site-footer::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
  background:
    linear-gradient(to right, rgba(255,255,255,0.05) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,0.05) 1px, transparent 1px),
    radial-gradient(circle, rgba(30,75,184,0.20) 1px, transparent 1.6px),
    radial-gradient(1200px 700px at 50% 50%, transparent 40%, rgba(0,0,0,0.60) 100%);
  background-size: 64px 64px, 64px 64px, 22px 22px, cover;
  background-position: center, center, 10px 10px, center;
  opacity: 0.50;
}

/* Footer container (scoped) */
.site-footer .footer-container{
  width: min(1200px, 92%);
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

/* -------------------------
   Main footer layout (LTTS style)
------------------------- */
.site-footer .footer-main-content .footer-container{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 60px 0 40px;
  gap: 30px;
}

.site-footer .footer-col{
  flex: 1;
  min-width: 180px;
  margin-bottom: 20px;
}

.site-footer .footer-brand{
  flex: 1.5;
  min-width: 260px;
}

.site-footer .footer-logo img{
  max-width: 170px;
  height: auto;
  display: block;
  filter: drop-shadow(0 10px 22px rgba(0,0,0,0.35));
  margin-bottom: 18px;
}

.site-footer .footer-desc{
  font-size: 0.98rem;
  line-height: 1.65;
  color: rgba(255,255,255,0.78);
  margin: 0;
}

/* Headings */
.site-footer .footer-heading{
  font-size: 1rem;
  font-weight: 800;
  margin: 0 0 12px;
  color: #ffffff;
  letter-spacing: .2px;
  position: relative;
  padding-bottom: 10px;
}

.site-footer .footer-heading::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width: 54px;
  height: 2px;
  border-radius: 99px;
  background: linear-gradient(90deg, #1E4BB8, #E53935);
  opacity: 0.95;
}

/* Footer links */
.site-footer .footer-link{
  display: block;
  color: rgba(255,255,255,0.72);
  text-decoration: none;
  font-size: 0.94rem;
  line-height: 1.6;
  padding: 6px 0;
  transition: transform .2s ease, color .2s ease, padding-left .2s ease;
  border-left: 2px solid transparent;
}

.site-footer .footer-link:hover{
  color: #7fdcff;
  transform: translateX(8px);
  padding-left: 10px;
  border-left-color: rgba(127, 220, 255, 0.5);
}

/* -------------------------
   Highlight column (Our Offices)
------------------------- */
.site-footer .footer-highlight{
  background: rgba(255, 255, 255, 0.05);
  border-radius: 12px;
  padding: 25px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
}

.site-footer .footer-highlight .footer-heading{
  color: #7fdcff;
  margin-bottom: 20px;
}

.site-footer .office-location{
  margin-bottom: 18px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.site-footer .office-location:last-child{
  border-bottom: none;
  margin-bottom: 25px;
}

.site-footer .office-location strong{
  display: block;
  color: rgba(255, 255, 255, 0.95);
  font-size: 0.95rem;
  margin-bottom: 4px;
}

.site-footer .office-location p{
  color: rgba(255, 255, 255, 0.75);
  font-size: 0.9rem;
  margin: 0;
}

.site-footer .office-link{
  display: inline-block;
  color: #7fdcff;
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 500;
  transition: opacity 0.2s ease;
}

.site-footer .office-link:hover{ opacity: 0.85; }

/* -------------------------
   Bottom bar (LTTS style)
------------------------- */
.site-footer .footer-bottom-bar{
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  padding: 20px 0;
  background: rgba(0, 0, 0, 0.25);
  position: relative;
  z-index: 2; /* stay above footer background */
}

.site-footer .bottom-bar-inner{
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
}

.site-footer .footer-copyright{
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.9rem;
  flex-shrink: 0;
}

.site-footer .footer-legal-links{
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: center;
  flex: 1;
}

.site-footer .legal-link{
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  font-size: 0.85rem;
  transition: color 0.2s ease;
}
.site-footer .legal-link:hover{ color: #7fdcff; }

.site-footer .footer-socials{
  display: flex;
  align-items: center;
  gap: 15px;
  flex-shrink: 0;
}

.site-footer .social-label{
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.85rem;
  margin-right: 5px;
}

.site-footer .footer-social{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.1);
  transition: all 0.2s ease;
}

.site-footer .footer-social:hover{
  background: rgba(127, 220, 255, 0.15);
  border-color: rgba(127, 220, 255, 0.4);
  transform: translateY(-2px);
}

.site-footer .footer-social svg{
  color: rgba(255, 255, 255, 0.9);
  width: 18px;
  height: 18px;
}

/* =======================================================================
   SERVICES DROPDOWN (WORKING)
   - OPEN ONLY by JS adding: #siteFooter.services-open
   - No hover sibling selectors (they break with flex layouts)
   ======================================================================= */

/* Trigger */
#siteFooter .services-column{ position: static; }
#siteFooter .services-bottom-trigger{
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  user-select: none;
}

#siteFooter .services-dropdown-icon{
  color: rgba(255,255,255,0.7);
  transition: transform .25s ease, color .2s ease;
}

#siteFooter.services-open .services-dropdown-icon{
  transform: rotate(180deg);
  color: #7fdcff;
}

/* Dropdown panel base */
#servicesDropdown{
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  z-index: 999999; /* above everything */

  background: rgba(5, 11, 29, 0.98);
  backdrop-filter: blur(18px);
  border-top: 1px solid rgba(255,255,255,0.15);
  box-shadow: 0 -10px 60px rgba(0,0,0,0.55);

  /* closed state */
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(100%);
  transition: opacity .25s ease, transform .25s ease, visibility .25s ease;

  padding: 28px 0;
  max-height: 70vh;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

/* Open state */
#siteFooter.services-open #servicesDropdown{
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

/* Content grid */
#servicesDropdown .bottom-dropdown-content{
  display: grid;
  grid-template-columns: repeat(4, minmax(180px, 1fr));
  gap: 32px;
  align-items: start;
  padding: 10px 0;
}

#servicesDropdown .dropdown-section{ display: block; }

#servicesDropdown .dropdown-section-title{
  color: #7fdcff;
  font-size: 0.9rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin: 0 0 10px 0;
  padding-bottom: 8px;
  border-bottom: 2px solid rgba(127, 220, 255, 0.28);
}

#servicesDropdown .dropdown-link{
  display: block;
  color: rgba(255,255,255,0.88);
  text-decoration: none;
  font-size: 0.95rem;
  line-height: 1.5;
  padding: 8px 12px;
  border-radius: 8px;
  transition: background .2s ease, color .2s ease;
}

#servicesDropdown .dropdown-link:hover{
  color: #7fdcff;
  background: rgba(127, 220, 255, 0.10);
}

/* =======================================================================
   Responsive
   ======================================================================= */
@media (max-width: 992px){
  .site-footer .footer-main-content .footer-container{
    gap: 40px;
  }
  .site-footer .footer-col{
    min-width: 45%;
  }
  .site-footer .bottom-bar-inner{
    flex-direction: column;
    text-align: center;
    gap: 15px;
  }
  .site-footer .footer-legal-links{
    order: 3;
    width: 100%;
  }

  #servicesDropdown{
    max-height: 65vh;
    padding: 22px 0;
  }
  #servicesDropdown .bottom-dropdown-content{
    grid-template-columns: repeat(2, minmax(160px, 1fr));
    gap: 20px;
  }
}

@media (max-width: 576px){
  .site-footer .footer-col{ min-width: 100%; }
  .site-footer .footer-legal-links{
    flex-direction: column;
    gap: 12px;
  }

  #servicesDropdown .bottom-dropdown-content{
    grid-template-columns: 1fr;
    gap: 18px;
  }
}

/* Page safety */
body{ overflow-x: hidden; }



/* =========================================================
   LTTS FOOTER STYLE (matches screenshot)
   ========================================================= */

.ltts-footer{
  background:#122f6e;
  color:rgba(255,255,255,.88);
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

.ltts-container{
  width:min(1250px, 92%);
  margin:0 auto;
}

.ltts-footer__top{
  padding:56px 0 34px;
}

.ltts-grid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap:64px;
}

.ltts-col{ min-width:0; }

/* column title + underline */
.ltts-title{
  font-size:13px;
  font-weight:700;
  color:rgba(255,255,255,.92);
  padding-bottom:14px;
  margin-bottom:14px;
 
  display:flex;
  align-items:center;
  gap:8px;
}
.ltts-title .ext{
  opacity:.8;
  font-size:12px;
}

/* row-style links with chevron like LTTS (Industry/Services top rows) */
.ltts-row-link,
.ltts-row-toggle{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 0;
  border:0;
  background:transparent;
  color:#57d7ff;
  text-decoration:none;
  font-size:13px;
  cursor:pointer;
  border-bottom:1px solid rgba(255,255,255,.14);
}
.ltts-row-link:hover,
.ltts-row-toggle:hover{ opacity:.92; }

.chev{
  color:rgba(255,255,255,.75);
  font-size:12px;
  transition:transform .2s ease;
}

/* normal plain links */
.ltts-plain-link{
  display:flex;
  align-items:center;
  gap:8px;
  color:#57d7ff;
  text-decoration:none;
  font-size:13px;
  padding:7px 0;
}
.ltts-plain-link:hover{ opacity:.92; }

.ltts-plain-link .ext{
  opacity:.75;
  font-size:12px;
}

.ltts-spacer{ height:18px; }

/* Services accordion sublist (inside same column) */
.ltts-sublist{
  max-height:0;
  overflow:hidden;
  transition:max-height .28s ease;
  padding-left:0;
}
.ltts-sublist a{
  display:block;
  color:rgba(255,255,255,.80);
  text-decoration:none;
  font-size:13px;
  padding:8px 0 8px 14px;
}
.ltts-sublist a:hover{ color:#57d7ff; }

/* open state */
.ltts-row-toggle.is-open .chev{ transform:rotate(180deg); }
.ltts-sublist.is-open{ max-height:500px; }

/* bottom strip */
.ltts-footer__bottom{
  border-top:1px solid rgba(255,255,255,.18);
  padding:18px 0;
  background:rgba(0,0,0,.08);
}

.ltts-bottom-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
}

.ltts-brand img{
  height:34px;
  width:auto;
  display:block;
}

.ltts-legal{
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  justify-content:center;
  font-size:12px;
  opacity:.9;
}
.ltts-legal a{
  color:rgba(255,255,255,.78);
  text-decoration:none;
}
.ltts-legal a:hover{ color:#fff; }

.ltts-social{
  display:flex;
  gap:10px;
  align-items:center;
}
.ltts-social a{
  width:26px;
  height:26px;
  border-radius:6px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.10);
  color:#fff;
  text-decoration:none;
  font-weight:700;
  font-size:13px;
}
.ltts-social a:hover{ background:rgba(87,215,255,.18); }

/* responsive */
@media (max-width: 1100px){
  .ltts-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); gap:34px; }
}
@media (max-width: 620px){
  .ltts-grid{ grid-template-columns: 1fr; gap:26px; }
}
/* =========================================================
   LTTS FOOTER (same layout) + PREMIUM BACKGROUND (previous)
   ========================================================= */

.ltts-footer{
  position: relative;
  overflow: hidden;
  color: rgba(255,255,255,0.88);

  /*  your previous premium background */
  background:
    radial-gradient(900px 420px at 15% 20%, rgba(30,75,184,0.28), transparent 60%),
    radial-gradient(600px 320px at 70% 80%, rgba(229,57,53,0.16), transparent 60%),
    linear-gradient(135deg, #050b1d 0%, #0b1533 45%, #050b1d 100%);
}

.ltts-footer::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;

  /*  your previous overlay grid pattern */
  background:
    linear-gradient(to right, rgba(255,255,255,0.05) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,0.05) 1px, transparent 1px),
    radial-gradient(circle, rgba(30,75,184,0.20) 1px, transparent 1.6px),
    radial-gradient(1200px 700px at 50% 50%, transparent 40%, rgba(0,0,0,0.60) 100%);
  background-size: 64px 64px, 64px 64px, 22px 22px, cover;
  background-position: center, center, 10px 10px, center;
  opacity: 0.50;
}

/*  make content sit above background overlay */
.ltts-footer__top,
.ltts-footer__bottom{
  position: relative;
  z-index: 1;
}

/* bottom strip keeps LTTS style but matches premium theme */
.ltts-footer__bottom{
  border-top:1px solid rgba(255,255,255,.18);
  background: rgba(0,0,0,.18);
  backdrop-filter: blur(10px);
}

.ltts-footer__top .ltts-col button{
    background: transparent!important;
    border:none!important;
    text-align:left;
}

@media (max-width: 767px){
    .process-box-img-wrap {
        display:none!important;
    }
}