.elementor-32 .elementor-element.elementor-element-c6bac88{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS for html, class: .elementor-element-7f476ac *//* =========================================================
     NAV
  ========================================================= */
  .nav-shell{
    position:sticky;
    top:0;
    z-index:100;
    display:flex;
    justify-content:center;
    padding:var(--sp-xs) var(--sp-sm) 0;
  }
  .nav{
    display:inline-flex;
    align-items:center;
    gap:clamp(1.5rem, 0.8rem + 2.6vw, 3.25rem);
    max-width:calc(100vw - 2 * var(--sp-sm));
    background:rgba(255,255,255,0.88);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    border:1px solid rgba(219,230,247,0.9);
    box-shadow:var(--shadow-md);
    border-radius:var(--radius-pill);
    padding:clamp(0.6rem,0.5rem + 0.4vw,0.85rem) clamp(0.65rem,0.5rem + 0.6vw,0.95rem) clamp(0.6rem,0.5rem + 0.4vw,0.85rem) clamp(1rem,0.85rem + 0.7vw,1.4rem);
    transition:box-shadow .3s var(--ease);
  }
  .brand{
    display:flex;
    align-items:center;
    gap:10px;
    font-family:'Montserrat', sans-serif;
    font-weight:600;
    font-size:var(--fs-md);
    letter-spacing:-0.01em;
    color:var(--black);
  }
  .brand img{
    width:clamp(36px,1.8vw + 26px,46px);
    height:clamp(36px,1.8vw + 26px,46px);
    border-radius:50%;
    object-fit:cover;
    box-shadow:0 0 0 2px var(--cream), 0 0 0 3px var(--gold);
  }

  .nav-links{
    display:flex;
    align-items:center;
    gap:clamp(1rem, 0.7rem + 1.2vw, 2rem);
    font-size:var(--fs-xs);
    font-weight:700;
    color:var(--text-muted);
  }
  .nav-links a{ position:relative; padding:6px 2px; transition:color .25s var(--ease); }
  .nav-links a:hover, .nav-links a.active{ color:var(--black); }
  .nav-links a.active::after{
    content:"";
    position:absolute; left:2px; right:2px; bottom:-2px;
    height:2px; border-radius:2px;
    background:linear-gradient(90deg,var(--gold-dark),var(--gold));
  }
  .nav-links .has-mega{ display:flex; align-items:center; gap:5px; cursor:pointer; }
  .nav-links .has-mega svg{ transition:transform .3s var(--ease); }
  .nav-item-services:hover .has-mega svg{ transform:rotate(180deg); }

  .nav-item-services{ position:relative; }

  .mega{
    position:absolute;
    top:100%;
    left:50%;
    transform:translateX(-50%);
    width:min(880px, calc(100vw - 2 * var(--sp-sm)));
    padding-top:14px;
    opacity:0;
    pointer-events:none;
    transition:opacity .28s var(--ease);
    z-index:90;
  }
  .nav-item-services:hover .mega{
    opacity:1; pointer-events:auto;
  }
  .nav-item-services:hover .mega-panel{ transform:translateY(0); }

  .mega-panel{
    background:var(--paper);
    border:1px solid var(--border);
    border-radius:var(--radius-lg);
    box-shadow:var(--shadow-lg);
    padding:var(--sp-md);
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:var(--sp-sm) var(--sp-md);
    max-height:min(70vh, 560px);
    overflow-y:auto;
    transform:translateY(6px);
    transition:transform .28s var(--ease);
  }
  .mega-panel::-webkit-scrollbar{ width:6px; }
  .mega-panel::-webkit-scrollbar-thumb{ background:var(--border); border-radius:99px; }

  .mega-col{ display:flex; flex-direction:column; gap:2px; min-width:0; }
  .mega-col .eyebrow{ margin-bottom:8px; white-space:normal; line-height:1.3; }
  .mega-col .eyebrow::before{ content:none; }

  .mega-item{
    display:flex;
    align-items:center;
    gap:10px;
    font-size:var(--fs-xs);
    color:var(--text-muted);
    font-weight:400;
    line-height:1.3;
    padding:6px 8px;
    margin:0 -8px;
    border-radius:var(--radius-sm);
    transition:color .2s var(--ease), background .2s var(--ease);
  }
  .mega-item:hover{ color:var(--gold-dark); background:var(--cream-alt); }
  .mega-item-icon{
    flex:none;
    width:26px; height:26px;
    border-radius:8px;
    overflow:hidden;
    background:var(--cream-alt);
    display:flex; align-items:center; justify-content:center;
  }
  .mega-item-icon img{ width:16px; height:16px; object-fit:contain; }

  .mega-footer{
    grid-column:1 / -1;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:var(--sp-sm);
    margin-top:var(--sp-2xs);
    padding-top:var(--sp-sm);
    border-top:1px solid var(--border-soft);
    font-size:var(--fs-2xs);
    color:var(--text-faint);
  }
  .mega-viewall{
    display:inline-flex;
    align-items:center;
    gap:6px;
    font-family:'Montserrat', sans-serif;
    font-weight:700;
    font-size:var(--fs-xs);
    color:var(--gold-dark);
    transition:gap .25s var(--ease);
  }
  .mega-viewall:hover{ gap:10px; }
  .mega-viewall svg{ flex:none; }

  .nav-cta{ display:flex; align-items:center; gap:10px; }
  .burger{
    display:none;
    width:38px; height:38px;
    align-items:center; justify-content:center;
    background:var(--black); color:var(--gold);
    border-radius:50%;
    border:none;
  }
  .burger span{ position:relative; width:16px; height:2px; background:currentColor; }
  .burger span::before,.burger span::after{
    content:""; position:absolute; left:0; width:16px; height:2px; background:currentColor;
  }
  .burger span::before{ top:-5px; }
  .burger span::after{ top:5px; }

  .mobile-panel{
    max-width:var(--container);
    margin:8px auto 0;
    padding:0 var(--sp-sm);
  }
  .mobile-panel-inner{
    background:var(--paper);
    border:1px solid var(--border);
    border-radius:var(--radius-md);
    box-shadow:var(--shadow-lg);
    padding:var(--sp-sm);
    display:flex;
    flex-direction:column;
    gap:var(--sp-2xs);
    max-height:0;
    overflow:hidden;
    opacity:0;
    transition:max-height .45s var(--ease), opacity .3s var(--ease), padding .45s var(--ease), margin .45s var(--ease);
  }
  .mobile-panel-inner a{
    font-family:'Montserrat',sans-serif;
    font-size:var(--fs-sm);
    font-weight:600;
    padding:10px 6px;
    border-bottom:1px solid var(--border-soft);
    color:var(--black);
  }
  .mobile-panel-inner a.btn{
    color:#ffffff;
    border-bottom:none;
  }
  body.menu-open .mobile-panel-inner{
    max-height:480px; opacity:1;
    padding:var(--sp-sm);
  }

  /* ---------- Responsive (mega menu, narrower desktop) ---------- */
  @media (max-width: 1000px) and (min-width: 721px){
    .mega{ width:min(560px, calc(100vw - 2 * var(--sp-sm))); }
    .mega-panel{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  }

  /* ---------- Responsive (mobile nav) ---------- */
  @media (max-width: 720px){
    .nav-links, .nav-cta .btn{ display:none; }
    .burger{ display:flex; }
    .problem-grid,.services-grid,.serve-grid,.testi-grid{ grid-template-columns:1fr; }
    .process-steps{ grid-template-columns:repeat(2,minmax(0,1fr)); }
    .stats{ flex-direction:column; gap:var(--sp-sm); }
    .stat-divider{ width:60px; height:1px; align-self:center; margin:0; background:linear-gradient(90deg, transparent, rgba(249,109,3,0.35), transparent); }
    .footer-grid{ grid-template-columns:repeat(2,1fr); }
  }/* End custom CSS */