:root{
    --navy:#122354;
    --navy-deep:#0b1938;
    --blue:#2793CB;
    --blue-deep:#1E5FA8;
    --orange:#F4773F;
    --orange-deep:#F4A93F;
    --bg:#FFFFFF;
    --bg-soft:#F6F8FC;
    --text:#3B4457;
    --text-soft:#68708A;
    --line:#E4E8F1;
    --radius:14px;
    --shadow: 0 20px 50px -20px rgba(18,35,84,0.18);
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Inter', sans-serif;
    color:var(--text);
    background:var(--bg);
    line-height:1.65;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,h4{
    font-family:'Poppins', sans-serif;
    color:var(--navy);
    line-height:1.2;
    letter-spacing:-0.01em;
  }
  a{color:inherit; text-decoration:none;}
  img{max-width:100%; display:block;}
  .wrap{max-width:1180px; margin:0 auto; padding:0 24px;}
  .eyebrow{
    display:inline-flex; align-items:center; gap:8px;
    font-family:'Poppins', sans-serif;
    font-size:12.5px; font-weight:700; letter-spacing:0.14em;
    text-transform:uppercase; color:var(--orange);
  }
  .eyebrow::before{
    content:""; width:22px; height:2px; background:var(--orange); display:inline-block;
  }
  section{padding:96px 0;}
  @media (max-width:768px){ section{padding:64px 0;} }

  /* Buttons */
  .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    font-family:'Poppins', sans-serif; font-weight:600; font-size:15px;
    padding:14px 26px; border-radius:999px; border:2px solid transparent;
    cursor:pointer; transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
    white-space:nowrap;
  }
  .btn-primary{
    background:linear-gradient(100deg, var(--orange) 0%, var(--orange-deep) 100%);
    color:#fff; box-shadow:0 14px 30px -10px rgba(244,119,63,0.55);
  }
  .btn-primary:hover{transform:translateY(-2px); box-shadow:0 18px 34px -8px rgba(244,119,63,0.6);}
  .btn-ghost{
    background:transparent; border-color:rgba(255,255,255,0.35); color:#fff;
  }
  .btn-ghost:hover{background:rgba(255,255,255,0.1); transform:translateY(-2px);}
  .btn-outline-navy{
    background:transparent; border-color:var(--navy); color:var(--navy);
  }
  .btn-outline-navy:hover{background:var(--navy); color:#fff; transform:translateY(-2px);}

  /* ===================================================================
     Header / Navigation
     Targets WordPress's own wp_nav_menu() markup:
     nav.primary-navigation > ul.menu > li.menu-item > a
     li.menu-item-has-children > ul.sub-menu (+ our injected .submenu-toggle)
     =================================================================== */
  .site-header{
    position:sticky; top:0; z-index:999;
    background:rgba(255,255,255,0.92); backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  .header-container{
    max-width:1180px; margin:0 auto; padding:14px 24px;
    display:flex; align-items:center; justify-content:space-between; gap:24px;
  }
  .site-logo img, .site-logo .logo-img{height:38px; width:auto; display:block;}
  .site-logo a{display:block;}

  /* Primary nav — flex row, WP core markup */
  .primary-navigation{position:static;}
  .primary-navigation ul.menu{
    display:flex; align-items:center; gap:6px;
    list-style:none; margin:0; padding:0;
  }
  .primary-navigation ul.menu li.menu-item{position:relative; margin:0;}
  .primary-navigation ul.menu li.menu-item > a{
    display:inline-flex; align-items:center; gap:4px;
    font-family:'Poppins', sans-serif; font-size:14.5px; font-weight:600; color:var(--navy);
    position:relative; padding:10px 12px; text-decoration:none;
  }
  .primary-navigation ul.menu li.menu-item > a::after{
    content:""; position:absolute; left:12px; right:12px; bottom:4px; height:2px;
    background:var(--orange); transform:scaleX(0); transform-origin:left; transition:transform .2s ease;
  }
  .primary-navigation ul.menu li.menu-item > a:hover::after,
  .primary-navigation ul.menu li.menu-item.current-menu-item > a::after{transform:scaleX(1);}

  /* Dropdown toggle button (added by DGGrowth_Walker_Nav_Menu after the link) */
  .submenu-toggle{
    display:inline-flex; align-items:center; justify-content:center;
    width:20px; height:20px; margin-left:-6px; padding:0; border:none; background:none;
    color:var(--navy); font-size:11px; cursor:pointer; border-radius:4px;
  }
  .submenu-toggle:hover, .submenu-toggle:focus-visible{background:var(--bg-soft);}
  .submenu-toggle::before{content:"▾"; display:block; transition:transform .2s ease;}
  .menu-item-has-children.submenu-open > .submenu-toggle::before{transform:rotate(180deg);}

  /* Dropdown panel */
  .menu-item-has-children{position:relative;}
  .menu-item-has-children > .sub-menu{
    position:absolute; top:calc(100% + 10px); left:0; z-index:9999;
    background:#fff; border-radius:12px; box-shadow:var(--shadow); border:1px solid var(--line);
    min-width:250px; padding:10px; margin:0; list-style:none;
    opacity:0; visibility:hidden; pointer-events:none; transform:translateY(6px);
    transition:opacity .18s ease, transform .18s ease, visibility .18s;
  }
  /* Hover (desktop) */
  .menu-item-has-children:hover > .sub-menu,
  .menu-item-has-children:focus-within > .sub-menu,
  /* Click / keyboard toggle (JS adds .submenu-open to the <li>) */
  .menu-item-has-children.submenu-open > .sub-menu{
    opacity:1; visibility:visible; pointer-events:auto; transform:translateY(0);
  }
  .sub-menu li.menu-item{width:100%;}
  .sub-menu li.menu-item > a{
    display:block; padding:10px 12px; border-radius:8px; font-size:14px; font-weight:500;
    color:var(--navy); white-space:nowrap;
  }
  .sub-menu li.menu-item > a:hover, .sub-menu li.menu-item > a:focus-visible{
    background:var(--bg-soft); color:var(--orange-deep);
  }
  .sub-menu li.menu-item > a::after{display:none;}

  /* Right side: phone + CTA + burger */
  .header-contact{display:flex; align-items:center; gap:18px; flex-shrink:0;}
  .nav-phone{font-family:'Poppins',sans-serif; font-weight:600; font-size:14px; color:var(--navy); display:flex; align-items:center; gap:6px; text-decoration:none;}
  .burger{
    display:none; flex-direction:column; justify-content:center; gap:5px;
    width:36px; height:36px; cursor:pointer; background:none; border:none; padding:0;
  }
  .burger span{width:22px; height:2px; background:var(--navy); display:block; transition:transform .2s ease, opacity .2s ease;}
  .burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .burger[aria-expanded="true"] span:nth-child(2){opacity:0;}
  .burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

  /* Hero */
  .hero{
    position:relative; overflow:hidden;
    background:radial-gradient(1200px 600px at 85% -10%, rgba(39,147,203,0.16), transparent 60%),
               linear-gradient(180deg, var(--navy-deep) 0%, var(--navy) 100%);
    padding:110px 0 90px;
  }
  .hero-grid{
    display:grid; grid-template-columns:1.05fr 0.95fr; gap:56px; align-items:center;
  }
  .hero h1{
    color:#fff; font-size:52px; font-weight:700; margin:18px 0 22px; letter-spacing:-0.02em;
  }
  .hero p.lead{
    color:rgba(255,255,255,0.82); font-size:17.5px; max-width:520px; margin-bottom:34px;
  }
  .hero-cta{display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:30px;}
  .hero-phone{
    display:inline-flex; align-items:center; gap:10px; color:#fff; font-family:'Poppins',sans-serif; font-weight:600; font-size:15px;
  }
  .hero-phone .ring{
    width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,0.12);
    display:flex; align-items:center; justify-content:center; font-size:16px;
  }
  .hero-visual{position:relative; height:420px;}
  .growth-path{position:absolute; inset:0;}
  .node{
    position:absolute; display:flex; flex-direction:column; align-items:center; gap:8px;
    font-family:'Poppins', sans-serif; font-weight:600; font-size:12.5px; color:#fff; text-align:center;
    width:88px;
  }
  .node .dot{
    width:52px; height:52px; border-radius:50%; display:flex; align-items:center; justify-content:center;
    font-size:20px; box-shadow:0 12px 24px -8px rgba(0,0,0,0.4);
    animation:float 4.5s ease-in-out infinite;
  }
  @keyframes float{ 0%,100%{transform:translateY(0);} 50%{transform:translateY(-9px);} }
  .n1{left:0; top:78%;} .n1 .dot{background:linear-gradient(135deg,var(--blue),var(--blue-deep)); animation-delay:0s;}
  .n2{left:20%; top:56%;} .n2 .dot{background:linear-gradient(135deg,#2793CB,#3AA0D0); animation-delay:.3s;}
  .n3{left:42%; top:62%;} .n3 .dot{background:linear-gradient(135deg,#3AA0D0,#5FAEC9); animation-delay:.6s;}
  .n4{left:60%; top:38%;} .n4 .dot{background:linear-gradient(135deg,#F4A93F,#F4903F); animation-delay:.9s;}
  .n5{left:80%; top:20%;} .n5 .dot{background:linear-gradient(135deg,var(--orange),var(--orange-deep)); animation-delay:1.2s;}
  .n6{left:97%; top:2%; width:70px;} .n6 .dot{width:60px; height:60px; background:linear-gradient(135deg,var(--orange-deep),#ffb45f); animation-delay:1.5s; font-size:24px;}
  .growth-svg{position:absolute; inset:0; width:100%; height:100%;}
  .badge-logo{
    position:absolute; right:-6px; top:-10px; background:#fff; border-radius:14px; padding:10px 16px;
    box-shadow:var(--shadow); display:flex; align-items:center; gap:8px;
  }
  .badge-logo img{height:22px;}

  .trust-bar{
    background:var(--navy-deep); border-top:1px solid rgba(255,255,255,0.08);
    padding:20px 0;
  }
  .trust-list{
    display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:14px 34px;
  }
  .trust-list span{
    font-family:'Poppins',sans-serif; font-size:13px; font-weight:600; letter-spacing:0.06em;
    color:rgba(255,255,255,0.65); text-transform:uppercase;
  }
  .trust-list .sep{color:rgba(244,119,63,0.6); font-size:13px;}

  /* About / Intro */
  .intro{background:var(--bg);}
  .intro-grid{display:grid; grid-template-columns:0.9fr 1.1fr; gap:70px; align-items:start;}
  .intro h2{font-size:34px; margin:14px 0 20px; max-width:480px;}
  .intro-copy p{color:var(--text-soft); font-size:16px; margin-bottom:18px;}

  /* Left column sticks in view while the longer right column scrolls past,
     so the shorter heading column never looks like empty leftover space. */
  .intro-sticky-col{position:sticky; top:112px; align-self:start;}
  .intro-accent{
    display:flex; align-items:flex-start; gap:16px; margin-top:32px; max-width:380px;
  }
  .intro-accent-line{
    flex-shrink:0; width:3px; height:52px; border-radius:2px; margin-top:2px;
    background:linear-gradient(180deg, var(--blue), var(--orange));
  }
  .intro-accent p{
    font-family:'Poppins',sans-serif; font-weight:600; font-size:15.5px; color:var(--navy);
    line-height:1.5; margin:0;
  }
  @media (max-width:980px){
    .intro-sticky-col{position:static;}
  }

  .stat-cards{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
  .stat-card{
    background:var(--bg-soft); border:1px solid var(--line); border-radius:var(--radius);
    padding:26px 22px;
  }
  .stat-card .num{font-family:'Poppins',sans-serif; font-weight:700; font-size:30px; color:var(--navy);}
  .stat-card .lbl{font-size:13.5px; color:var(--text-soft); margin-top:6px;}

  /* Services */
  .services{background:var(--bg-soft);}
  .section-head{max-width:640px; margin-bottom:52px;}
  .section-head h2{font-size:34px; margin-top:14px;}
  .section-head p{color:var(--text-soft); font-size:16px; margin-top:14px;}
  .service-grid{
    display:grid; grid-template-columns:repeat(4, 1fr); gap:20px;
  }
  .service-card{
    background:#fff; border:1px solid var(--line); border-radius:var(--radius);
    padding:30px 24px; transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
    display:flex; flex-direction:column; gap:14px;
  }
  .service-card:hover{transform:translateY(-6px); box-shadow:var(--shadow); border-color:transparent;}
  .service-icon{
    width:48px; height:48px; border-radius:12px;
    display:flex; align-items:center; justify-content:center; font-size:22px;
    background:linear-gradient(135deg, rgba(39,147,203,0.14), rgba(244,119,63,0.14));
  }
  .service-card h3{font-size:18px;}
  .service-card p{color:var(--text-soft); font-size:14.5px; flex-grow:1;}
  .service-card .link{
    font-family:'Poppins',sans-serif; font-weight:600; font-size:13.5px; color:var(--orange-deep);
    display:inline-flex; align-items:center; gap:6px;
  }

  /* Why us */
  .why{background:var(--bg);}
  .why-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:18px;}
  .why-card{
    border-top:3px solid var(--blue); padding:26px 6px 0 0;
  }
  .why-card:nth-child(2){border-color:var(--blue-deep);}
  .why-card:nth-child(3){border-color:var(--navy);}
  .why-card:nth-child(4){border-color:var(--orange-deep);}
  .why-card:nth-child(5){border-color:var(--orange);}
  .why-card .idx{font-family:'Poppins',sans-serif; font-weight:700; color:var(--text-soft); font-size:13px; letter-spacing:.08em;}
  .why-card h3{font-size:16.5px; margin:10px 0 8px;}
  .why-card p{color:var(--text-soft); font-size:14px;}

  /* Process */
  .process{
    background:linear-gradient(180deg, var(--navy-deep), var(--navy));
    color:#fff; position:relative; overflow:hidden;
  }
  .process .section-head h2, .process .section-head p{color:#fff;}
  .process .section-head p{color:rgba(255,255,255,0.7);}
  .process-track{
    position:relative; display:grid; grid-template-columns:repeat(7,1fr); gap:14px;
  }
  .process-track::before{
    content:""; position:absolute; top:26px; left:4%; right:4%; height:2px;
    background:repeating-linear-gradient(90deg, rgba(255,255,255,0.25) 0 8px, transparent 8px 16px);
  }
  .p-step{position:relative; text-align:left;}
  .p-step .p-num{
    width:52px; height:52px; border-radius:50%; display:flex; align-items:center; justify-content:center;
    font-family:'Poppins',sans-serif; font-weight:700; font-size:16px;
    background:linear-gradient(135deg, var(--blue), var(--orange));
    margin-bottom:18px; position:relative; z-index:2; box-shadow:0 0 0 6px var(--navy-deep);
  }
  .p-step h4{color:#fff; font-size:15.5px; margin-bottom:8px;}
  .p-step p{color:rgba(255,255,255,0.65); font-size:13px;}

  /* Service areas */
  .areas{background:var(--bg-soft); position:relative; overflow:hidden;}
  .areas::before{
    content:""; position:absolute; top:-120px; right:-140px; width:420px; height:420px; border-radius:50%;
    background:radial-gradient(circle, rgba(39,147,203,0.10), transparent 70%);
  }
  .areas-grid{
    display:grid; grid-template-columns:1fr auto 1fr auto 1fr;
    align-items:stretch; gap:0; margin-top:36px; position:relative; z-index:1;
  }
  .area-connector{display:flex; align-items:center; justify-content:center; padding:0 6px;}
  .area-connector svg{width:52px; height:22px;}

  .area-card{
    background:#fff; border-radius:20px; padding:34px 28px; border:1px solid var(--line);
    position:relative; overflow:hidden; transition:transform .22s ease, box-shadow .22s ease;
  }
  .area-card:hover{transform:translateY(-6px); box-shadow:var(--shadow);}
  .area-card::before{
    content:""; position:absolute; top:0; left:0; width:100%; height:4px;
    background:linear-gradient(90deg, var(--blue), var(--orange));
  }
  .area-icon{
    display:flex; align-items:center; justify-content:center;
    width:56px; height:56px; border-radius:16px; font-size:26px; margin-bottom:18px;
    background:linear-gradient(135deg, rgba(39,147,203,0.14), rgba(244,119,63,0.14));
  }
  .area-card h3{font-size:20px; margin-bottom:10px;}
  .area-card p{color:var(--text-soft); font-size:14.5px; min-height:66px;}
  .area-card .tag{
    display:inline-block; margin-top:16px; font-size:11.5px; font-weight:700; letter-spacing:.06em;
    color:var(--blue-deep); text-transform:uppercase; font-family:'Poppins',sans-serif;
    background:var(--bg-soft); padding:6px 14px; border-radius:999px;
  }

  /* Featured (Delhi NCR) card — the flagship market, visually elevated */
  .area-card-featured{
    background:linear-gradient(150deg, var(--navy-deep), var(--navy) 70%, #1a3170);
    border-color:transparent; padding-top:40px; padding-bottom:40px;
    box-shadow:0 24px 50px -18px rgba(11,25,56,0.55);
  }
  .area-card-featured::before{background:linear-gradient(90deg, var(--orange), var(--orange-deep));}
  .area-card-featured .area-icon{background:rgba(255,255,255,0.14); font-size:28px;}
  .area-card-featured h3{color:#fff; font-size:22px;}
  .area-card-featured p{color:rgba(255,255,255,0.72);}
  .area-card-featured .tag{
    background:linear-gradient(100deg, var(--orange), var(--orange-deep)); color:#fff;
  }
  .area-card-featured:hover{transform:translateY(-8px) scale(1.02);}

  @media (max-width:900px){
    .areas-grid{grid-template-columns:1fr;}
    .area-connector{transform:rotate(90deg); padding:6px 0;}
    .area-card-featured{padding-top:34px; padding-bottom:34px;}
  }

  /* Industries */
  .industries{background:var(--bg);}
  .chip-row{display:flex; flex-wrap:wrap; gap:14px; margin-top:10px;}
  .chip{
    padding:14px 24px; border-radius:999px; border:1.5px solid var(--line);
    font-family:'Poppins',sans-serif; font-weight:600; font-size:14.5px; color:var(--navy);
    transition:all .2s ease;
  }
  .chip:hover{border-color:var(--orange); background:rgba(244,119,63,0.06); transform:translateY(-2px);}

  /* CTA */
  .cta-final{
    background:linear-gradient(120deg, var(--blue-deep) 0%, var(--navy) 55%, var(--orange-deep) 130%);
    color:#fff; text-align:center; position:relative; overflow:hidden;
  }
  .cta-final h2{color:#fff; font-size:36px; max-width:680px; margin:14px auto 16px;}
  .cta-final p{color:rgba(255,255,255,0.85); max-width:560px; margin:0 auto 34px; font-size:16px;}
  .cta-final .eyebrow{color:#fff;}
  .cta-final .eyebrow::before{background:#fff;}
  .cta-btns{display:flex; gap:16px; justify-content:center; flex-wrap:wrap;}
  .cta-contact-line{margin-top:28px; font-family:'Poppins',sans-serif; font-weight:600; font-size:15px; color:#fff;}

  /* FAQ */
  .faq{background:var(--bg-soft);}
  .faq-list{max-width:820px;}
  .faq-item{
    background:#fff; border:1px solid var(--line); border-radius:12px; margin-bottom:14px; overflow:hidden;
  }
  .faq-q{
    display:flex; align-items:center; justify-content:space-between; gap:16px;
    padding:20px 24px; cursor:pointer; font-family:'Poppins',sans-serif; font-weight:600; font-size:15.5px; color:var(--navy);
  }
  .faq-q .plus{font-size:20px; color:var(--orange-deep); transition:transform .25s ease; flex-shrink:0;}
  .faq-item.open .plus{transform:rotate(45deg);}
  .faq-a{
    max-height:0; overflow:hidden; transition:max-height .3s ease;
    padding:0 24px; color:var(--text-soft); font-size:14.5px;
  }
  .faq-item.open .faq-a{max-height:220px; padding-bottom:22px;}

  /* Contact */
  .contact{background:var(--bg);}
  .contact-grid{display:grid; grid-template-columns:0.85fr 1.15fr; gap:60px;}
  .contact-info h2{font-size:32px; margin:14px 0 18px;}
  .contact-info p{color:var(--text-soft); margin-bottom:28px;}
  .contact-line{
    display:flex; align-items:center; gap:14px; margin-bottom:18px; font-family:'Poppins',sans-serif; font-weight:600; color:var(--navy);
  }
  .contact-line .ic{
    width:42px; height:42px; border-radius:10px; background:var(--bg-soft); display:flex; align-items:center; justify-content:center; font-size:17px;
  }
  .form-card{
    background:var(--bg-soft); border-radius:var(--radius); padding:34px; border:1px solid var(--line);
  }
  .form-grid{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
  .form-grid .full{grid-column:1/-1;}
  label{font-size:13px; font-weight:600; font-family:'Poppins',sans-serif; color:var(--navy); display:block; margin-bottom:6px;}
  input, select, textarea{
    width:100%; padding:12px 14px; border-radius:9px; border:1.5px solid var(--line);
    font-family:'Inter',sans-serif; font-size:14.5px; background:#fff; color:var(--text);
  }
  input:focus, select:focus, textarea:focus{outline:2px solid var(--blue); border-color:transparent;}
  .form-field{margin-bottom:16px;}
  textarea{resize:vertical; min-height:100px;}
  .form-card .btn{width:100%; margin-top:6px; border:none;}

  /* Footer */
  footer{background:var(--navy-deep); color:rgba(255,255,255,0.75); padding-top:70px;}
  .footer-grid{
    display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:40px; padding-bottom:50px;
    border-bottom:1px solid rgba(255,255,255,0.1);
  }
  .footer-logo{height:34px; margin-bottom:16px; filter:brightness(0) invert(1);}
  .footer-grid p{font-size:14px; color:rgba(255,255,255,0.55); max-width:280px;}
  .footer-col h4{color:#fff; font-family:'Poppins',sans-serif; font-size:14.5px; margin-bottom:18px; letter-spacing:.03em;}
  .footer-col a{display:block; font-size:14px; color:rgba(255,255,255,0.6); margin-bottom:12px; transition:color .2s;}
  .footer-col a:hover{color:var(--orange);}
  .footer-bottom{
    display:flex; justify-content:space-between; align-items:center; padding:26px 0; flex-wrap:wrap; gap:12px;
    font-size:13px; color:rgba(255,255,255,0.45);
  }
  .footer-bottom .legal a{color:rgba(255,255,255,0.45); margin-left:18px;}

  @media (max-width: 980px){
    .hero-grid{grid-template-columns:1fr; text-align:center;}
    .hero p.lead{margin-left:auto; margin-right:auto;}
    .hero-cta{justify-content:center;}
    .hero-visual{display:none;}
    .primary-navigation{
      display:none; position:absolute; top:100%; left:0; right:0; background:#fff;
      padding:10px 24px 20px; border-bottom:1px solid var(--line); box-shadow:var(--shadow);
      max-height:calc(100vh - 100%); overflow-y:auto;
    }
    .primary-navigation.nav-open{display:block;}
    .primary-navigation ul.menu{flex-direction:column; align-items:stretch; gap:0;}
    .primary-navigation ul.menu li.menu-item{width:100%;}
    .primary-navigation ul.menu li.menu-item > a{padding:14px 4px; width:100%;}
    .primary-navigation ul.menu li.menu-item > a::after{display:none;}

    /* Mobile submenu: expand in place instead of floating dropdown */
    .menu-item-has-children > .sub-menu{
      position:static; transform:none; opacity:1; visibility:visible; pointer-events:auto;
      box-shadow:none; border:none; background:var(--bg-soft); border-radius:10px;
      padding:6px; margin:0 0 8px; min-width:0;
      max-height:0; overflow:hidden; display:block;
      transition:max-height .25s ease, padding .25s ease;
    }
    .menu-item-has-children.submenu-open > .sub-menu{max-height:600px;}
    .submenu-toggle{
      position:absolute; right:4px; top:4px; width:38px; height:38px; font-size:14px;
      border:1px solid var(--line); border-radius:8px;
    }

    .site-header{position:sticky;}
    .header-container{position:relative;}
    .burger{display:flex;}
    .intro-grid, .contact-grid{grid-template-columns:1fr;}
    .service-grid{grid-template-columns:repeat(2,1fr);}
    .why-grid{grid-template-columns:repeat(2,1fr);}
    .process-track{grid-template-columns:repeat(4,1fr); row-gap:36px;}
    .process-track::before{display:none;}
    .areas-grid{grid-template-columns:1fr;}
    .footer-grid{grid-template-columns:1fr 1fr;}
    .hero h1{font-size:38px;}
    .nav-phone{display:none;}
  }
  @media (max-width:560px){
    .service-grid{grid-template-columns:1fr;}
    .why-grid{grid-template-columns:1fr;}
    .process-track{grid-template-columns:repeat(2,1fr);}
    .form-grid{grid-template-columns:1fr;}
    .footer-grid{grid-template-columns:1fr;}
    .hero h1{font-size:32px;}
    section{padding:56px 0;}
    .site-logo img, .site-logo .logo-img{height:30px;}
    .header-contact .btn-outline-navy{display:none;}
    .header-container{gap:10px;}
  }

  @media (prefers-reduced-motion: reduce){
    .node .dot{animation:none;}
    html{scroll-behavior:auto;}
  }
/* ===== Inner / Service Page Additions ===== */
.page-hero{
  position:relative; overflow:hidden;
  background:radial-gradient(1000px 500px at 90% -20%, rgba(39,147,203,0.18), transparent 60%),
             linear-gradient(180deg, var(--navy-deep) 0%, var(--navy) 100%);
  padding:70px 0 60px;
}
.breadcrumb{
  font-family:'Poppins',sans-serif; font-size:13px; font-weight:600; color:rgba(255,255,255,0.55);
  margin-bottom:18px; display:flex; align-items:center; gap:8px;
}
.breadcrumb a{color:rgba(255,255,255,0.75);}
.breadcrumb a:hover{color:var(--orange);}
.page-hero h1{color:#fff; font-size:42px; margin:14px 0 16px; max-width:720px;}
.page-hero p.lead{color:rgba(255,255,255,0.82); font-size:16.5px; max-width:620px; margin-bottom:0;}
.page-hero .hero-cta{margin-top:26px; margin-bottom:0;}

.content-layout{display:grid; grid-template-columns:1.65fr 1fr; gap:60px; align-items:start;}
.content-main h2{font-size:27px; margin:0 0 16px;}
.content-main h2:not(:first-child){margin-top:44px;}
.content-main p{color:var(--text-soft); font-size:15.5px; margin-bottom:16px;}
.content-main .lead-p{font-size:17px; color:var(--text); margin-bottom:20px;}

.check-list{list-style:none; margin:6px 0 8px;}
.check-list li{
  display:flex; align-items:flex-start; gap:12px; padding:11px 0; border-bottom:1px dashed var(--line);
  color:var(--text); font-size:15px; font-family:'Inter',sans-serif;
}
.check-list li:last-child{border-bottom:none;}
.check-list li::before{
  content:"✓"; flex-shrink:0; width:24px; height:24px; border-radius:50%;
  background:linear-gradient(135deg, var(--blue), var(--orange)); color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:700;
}

.sub-service-card{
  background:var(--bg-soft); border:1px solid var(--line); border-radius:var(--radius);
  padding:24px; margin-bottom:16px;
}
.sub-service-card h3{font-size:17px; margin-bottom:8px;}
.sub-service-card p{color:var(--text-soft); font-size:14.5px; margin:0;}

.flow-strip{
  display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:22px 0 6px;
  font-family:'Poppins',sans-serif; font-weight:600; font-size:13.5px; color:var(--navy);
}
.flow-strip span.step{
  background:var(--bg-soft); border:1px solid var(--line); padding:9px 16px; border-radius:999px;
}
.flow-strip span.arrow{color:var(--orange-deep); font-size:15px;}

/* Sidebar */
.side-card{
  background:var(--bg-soft); border:1px solid var(--line); border-radius:var(--radius);
  padding:28px 24px; margin-bottom:20px;
}
.side-card h4{font-family:'Poppins',sans-serif; font-size:15.5px; color:var(--navy); margin-bottom:16px;}
.side-card.contact-side{
  background:linear-gradient(135deg, var(--navy-deep), var(--navy)); color:#fff;
}
.side-card.contact-side h4{color:#fff;}
.side-card.contact-side p{color:rgba(255,255,255,0.75); font-size:14px; margin-bottom:18px;}
.side-card .side-phone{
  display:flex; align-items:center; gap:10px; font-weight:700; font-family:'Poppins',sans-serif;
  margin-bottom:12px; color:#fff;
}
.side-links a{
  display:flex; align-items:center; justify-content:space-between; padding:11px 0;
  border-bottom:1px solid var(--line); font-size:14px; font-weight:600; color:var(--navy);
  font-family:'Poppins',sans-serif; gap:12px;
}
.side-links a .side-link-icon{flex-shrink:0;}
.side-links a .side-link-title{text-align:right;}
.side-links a:last-child{border-bottom:none;}
.side-links a:hover{color:var(--orange-deep);}
.side-links a.active{color:var(--orange-deep);}

.mini-cta{
  background:var(--bg-soft); border-radius:var(--radius); padding:30px 26px; text-align:center;
  border:1px dashed var(--line); margin-top:10px;
}
.mini-cta p{color:var(--text-soft); font-size:14px; margin-bottom:16px;}

.page-cta-band{
  background:linear-gradient(120deg, var(--blue-deep) 0%, var(--navy) 60%, var(--orange-deep) 140%);
  color:#fff; text-align:center; padding:64px 0;
}
.page-cta-band h2{color:#fff; font-size:28px; margin-bottom:14px;}
.page-cta-band p{color:rgba(255,255,255,0.85); margin-bottom:26px;}

.two-col-grid{display:grid; grid-template-columns:1fr 1fr; gap:20px;}

.blog-card{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden;
  transition:transform .2s ease, box-shadow .2s ease;
}
.blog-card:hover{transform:translateY(-6px); box-shadow:var(--shadow);}
.blog-thumb{
  height:160px; background:linear-gradient(135deg, var(--blue), var(--orange)); display:flex; align-items:center; justify-content:center;
  font-size:34px;
}
.blog-body{padding:22px;}
.blog-tag{font-family:'Poppins',sans-serif; font-size:11.5px; font-weight:700; letter-spacing:.06em; color:var(--orange-deep); text-transform:uppercase;}
.blog-body h3{font-size:17px; margin:10px 0 8px;}
.blog-body p{color:var(--text-soft); font-size:14px; margin:0;}

@media (max-width:980px){
  .content-layout{grid-template-columns:1fr;}
  .page-hero h1{font-size:32px;}
  .two-col-grid{grid-template-columns:1fr;}
}

/* ===================================================================
   WordPress-specific additions
   =================================================================== */

/* Alignment classes (Gutenberg core) */
.alignwide{margin-left:calc(50% - 45vw); margin-right:calc(50% - 45vw); max-width:1000px;}
.alignfull{margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); max-width:none; width:100vw;}
.alignleft{float:left; margin:0 24px 16px 0;}
.alignright{float:right; margin:0 0 16px 24px;}
.aligncenter{display:block; margin-left:auto; margin-right:auto;}
.wp-caption, .wp-block-image{max-width:100%;}
.wp-caption-text{font-size:13px; color:var(--text-soft); margin-top:8px;}
.screen-reader-text{
  position:absolute !important; width:1px; height:1px; overflow:hidden;
  clip:rect(1px,1px,1px,1px); white-space:nowrap; border:0; padding:0; margin:-1px;
}
.skip-link{
  position:absolute; top:-100px; left:12px; background:var(--navy); color:#fff;
  padding:12px 18px; border-radius:8px; z-index:9999; transition:top .2s ease;
}
.skip-link:focus{top:12px;}

/* Entry content — styles native WP editor output inside page.php / single.php */
.entry-content h1{font-size:32px; margin:0 0 18px;}
.entry-content h2{font-size:27px; margin:36px 0 16px;}
.entry-content h2:first-child{margin-top:0;}
.entry-content h3{font-size:19px; margin:26px 0 12px; color:var(--navy);}
.entry-content p{color:var(--text-soft); font-size:15.5px; margin-bottom:16px;}
.entry-content ul, .entry-content ol{margin:0 0 18px 22px; color:var(--text-soft); font-size:15.5px;}
.entry-content li{margin-bottom:8px;}
.entry-content a{color:var(--blue-deep); text-decoration:underline; text-underline-offset:2px;}
.entry-content a:hover{color:var(--orange-deep);}
.entry-content blockquote{
  border-left:3px solid var(--orange); padding:6px 0 6px 20px; margin:22px 0;
  color:var(--navy); font-style:italic; font-size:16.5px;
}
.entry-content img{border-radius:var(--radius); margin:20px 0;}
.entry-content table{width:100%; border-collapse:collapse; margin-bottom:20px;}
.entry-content table th, .entry-content table td{border:1px solid var(--line); padding:10px 14px; font-size:14.5px; text-align:left;}
.entry-content table th{background:var(--bg-soft); font-family:'Poppins',sans-serif; color:var(--navy);}
.entry-content .wp-block-button__link{
  display:inline-flex; font-family:'Poppins',sans-serif; font-weight:600; font-size:15px;
  padding:14px 26px; border-radius:999px;
  background:linear-gradient(100deg, var(--orange) 0%, var(--orange-deep) 100%); color:#fff; text-decoration:none;
}

/* Blog / archive cards (reuses .blog-card look) */
.post-card{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden;
  transition:transform .2s ease, box-shadow .2s ease; margin-bottom:0;
}
.post-card:hover{transform:translateY(-6px); box-shadow:var(--shadow);}
.post-card .post-thumb{
  height:170px; background:linear-gradient(135deg, var(--blue), var(--orange));
  display:flex; align-items:center; justify-content:center; overflow:hidden;
}
.post-card .post-thumb img{width:100%; height:100%; object-fit:cover;}
.post-card .post-body{padding:22px;}
.post-card .post-meta{font-family:'Poppins',sans-serif; font-size:11.5px; font-weight:700; letter-spacing:.06em; color:var(--orange-deep); text-transform:uppercase;}
.post-card h3{font-size:17px; margin:10px 0 8px;}
.post-card h3 a{color:var(--navy);}
.post-card h3 a:hover{color:var(--orange-deep);}
.post-card p{color:var(--text-soft); font-size:14px; margin:0;}
.post-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
@media (max-width:980px){ .post-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:640px){ .post-grid{grid-template-columns:1fr;} }

.pagination-row{display:flex; gap:10px; justify-content:center; margin-top:48px; flex-wrap:wrap;}
.pagination-row a, .pagination-row span{
  font-family:'Poppins',sans-serif; font-weight:600; font-size:14px; padding:10px 16px;
  border-radius:8px; border:1px solid var(--line); color:var(--navy);
}
.pagination-row .current{background:var(--navy); color:#fff; border-color:var(--navy);}
.pagination-row a:hover{border-color:var(--orange); color:var(--orange-deep);}

/* Single post */
.single-post-header{margin-bottom:28px;}
.single-post-header .post-meta-line{
  font-family:'Poppins',sans-serif; font-size:13px; font-weight:600; color:var(--text-soft); margin-bottom:10px;
}
.single-post-header h1{font-size:34px;}
.single-featured-img{border-radius:var(--radius); overflow:hidden; margin-bottom:32px;}
.single-featured-img img{width:100%; display:block;}
.tags-row{margin-top:30px; padding-top:24px; border-top:1px solid var(--line);}
.tags-row a{
  display:inline-block; font-size:13px; font-weight:600; font-family:'Poppins',sans-serif;
  padding:8px 14px; border-radius:999px; background:var(--bg-soft); color:var(--navy); margin:0 8px 8px 0;
}
.tags-row a:hover{background:rgba(244,119,63,0.12); color:var(--orange-deep);}

/* Comments */
.comments-area{margin-top:56px; padding-top:40px; border-top:1px solid var(--line);}
.comments-title{font-size:24px; margin-bottom:24px;}
.comment-list{list-style:none; margin:0;}
.comment-body{background:var(--bg-soft); border-radius:var(--radius); padding:22px; margin-bottom:16px;}
.comment-author{font-family:'Poppins',sans-serif; font-weight:700; color:var(--navy); font-size:14.5px;}
.comment-metadata{font-size:12.5px; color:var(--text-soft); margin-bottom:10px;}
.comment-content p{color:var(--text-soft); font-size:14.5px; margin:0;}
.comment-reply-link{font-family:'Poppins',sans-serif; font-weight:600; font-size:12.5px; color:var(--orange-deep);}
.comment-respond{margin-top:30px;}
.comment-respond input[type="text"], .comment-respond input[type="email"], .comment-respond input[type="url"], .comment-respond textarea{
  width:100%; padding:12px 14px; border-radius:9px; border:1.5px solid var(--line); font-family:'Inter',sans-serif; font-size:14.5px; margin-bottom:14px;
}
.comment-respond .comment-form-cookies-consent{display:flex; align-items:center; gap:8px; font-size:13px; color:var(--text-soft); margin-bottom:14px;}
.comment-respond .comment-form-cookies-consent input{width:auto;}

/* Search */
.search-form{display:flex; gap:10px; max-width:520px; margin:0 auto 20px;}
.search-form input[type="search"]{flex:1; padding:14px 18px; border-radius:999px; border:1.5px solid var(--line); font-size:15px;}
.search-form button{border:none;}
.search-results-count{color:var(--text-soft); font-size:14.5px; margin-bottom:30px;}
.no-results{text-align:center; padding:60px 0;}
.no-results h2{margin-bottom:14px;}
.no-results p{color:var(--text-soft); margin-bottom:24px;}

/* 404 */
.error-404{text-align:center; padding:100px 0;}
.error-404 .code-404{
  font-family:'Poppins',sans-serif; font-weight:800; font-size:96px;
  background:linear-gradient(120deg, var(--blue), var(--orange)); -webkit-background-clip:text; background-clip:text; color:transparent;
  line-height:1;
}
.error-404 h1{font-size:26px; margin:18px 0 12px;}
.error-404 p{color:var(--text-soft); margin-bottom:28px;}

/* Widget area (footer) */
.widget{margin-bottom:20px;}
.widget-title{color:#fff; font-family:'Poppins',sans-serif; font-size:14.5px; margin-bottom:16px;}
.widget ul{list-style:none; margin:0; padding:0;}
.widget ul li{margin-bottom:12px;}
.widget a{color:rgba(255,255,255,0.6); font-size:14px;}
.widget a:hover{color:var(--orange);}

/* Form status messages */
.form-status{padding:14px 18px; border-radius:9px; font-size:14px; font-weight:600; margin-bottom:18px; font-family:'Poppins',sans-serif;}
.form-status.success{background:rgba(39,147,203,0.12); color:var(--blue-deep); border:1px solid rgba(39,147,203,0.3);}
.form-status.error{background:rgba(244,119,63,0.12); color:var(--orange-deep); border:1px solid rgba(244,119,63,0.3);}

/* ===================================================================
   Blog Engagement Features: TOC, Share Buttons, Related Posts
   =================================================================== */

/* Table of Contents */
.post-toc{
  background:var(--bg-soft); border:1px solid var(--line); border-radius:var(--radius);
  padding:22px 26px; margin:28px 0; max-width:480px;
}
.post-toc-title{
  font-family:'Poppins',sans-serif; font-weight:700; font-size:14.5px; color:var(--navy);
  margin-bottom:12px;
}
.post-toc ul{list-style:none; margin:0; padding:0;}
.post-toc li{margin-bottom:9px;}
.post-toc li:last-child{margin-bottom:0;}
.post-toc li a{
  font-size:14px; color:var(--blue-deep); text-decoration:none; font-weight:500;
  border-bottom:1px dashed transparent; transition:border-color .2s ease;
}
.post-toc li a:hover{border-bottom-color:var(--blue-deep); color:var(--orange-deep);}
.post-toc li.toc-sub{margin-left:18px;}
.post-toc li.toc-sub a{font-size:13.5px; color:var(--text-soft);}

/* Share Buttons */
.share-buttons{
  display:flex; align-items:center; flex-wrap:wrap; gap:10px;
  padding:18px 0; margin:8px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line);
}
.share-label{
  font-family:'Poppins',sans-serif; font-weight:700; font-size:13px; color:var(--navy);
  margin-right:4px;
}
.share-btn{
  display:inline-flex; align-items:center; gap:6px;
  font-family:'Poppins',sans-serif; font-weight:600; font-size:13px;
  padding:9px 16px; border-radius:999px; border:1.5px solid var(--line);
  color:var(--navy); text-decoration:none; background:#fff; cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.share-btn:hover{transform:translateY(-2px); box-shadow:0 8px 18px -6px rgba(18,35,84,0.2);}
.share-whatsapp:hover{border-color:#25D366; color:#1da851;}
.share-linkedin:hover{border-color:#0A66C2; color:#0A66C2;}
.share-facebook:hover{border-color:#1877F2; color:#1877F2;}
.share-twitter:hover{border-color:#000; color:#000;}
.share-copy:hover{border-color:var(--orange); color:var(--orange-deep);}
.share-copy.copied{background:var(--bg-soft); border-color:var(--blue);}

/* Related Posts */
.related-posts{margin-top:56px; padding-top:44px; border-top:1px solid var(--line);}
.related-posts-title{font-size:24px; margin-bottom:24px;}
.related-posts .post-grid{grid-template-columns:repeat(3,1fr);}
@media (max-width:900px){ .related-posts .post-grid{grid-template-columns:1fr;} }

/* ===================================================================
   Social Media Icon Links
   =================================================================== */
.social-links{
  display:flex; align-items:center; gap:12px; margin-top:22px;
}
.social-icon{
  width:40px; height:40px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.15);
  color:rgba(255,255,255,0.75);
  transition:transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}
.social-icon svg{width:18px;height:18px;}
.social-icon:hover{
  transform:translateY(-3px);
  color:#fff;
  border-color:transparent;
}
.social-icon.social-facebook:hover{background:#1877F2;}
.social-icon.social-instagram:hover{background:linear-gradient(135deg,#F58529,#DD2A7B,#8134AF,#515BD4);}
.social-icon.social-linkedin:hover{background:#0A66C2;}
.social-icon.social-twitter:hover{background:#000;}
.social-icon.social-youtube:hover{background:#FF0000;}
.social-icon.social-whatsapp:hover{background:#25D366;}

/* Header variant, if used inside .header-contact */
.header-contact .social-links{margin-top:0; gap:8px;}
.header-contact .social-icon{
  width:34px;height:34px;
  background:var(--bg-soft); border-color:var(--line); color:var(--navy);
}
.header-contact .social-icon svg{width:15px;height:15px;}

/* ===================================================================
   Floating WhatsApp Chat Button
   =================================================================== */
.wa-float{
  position:fixed; right:24px; bottom:24px; z-index:9999;
  display:flex; flex-direction:column; align-items:flex-end; gap:14px;
}

/* The circular button */
.wa-btn{
  position:relative; width:62px; height:62px; border-radius:50%;
  background:linear-gradient(135deg, #25D366, #1DA851);
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 28px -6px rgba(37,211,102,0.65), 0 4px 10px rgba(0,0,0,0.15);
  transition:transform .2s ease, box-shadow .2s ease;
}
.wa-btn:hover{transform:scale(1.08) translateY(-2px); box-shadow:0 16px 34px -6px rgba(37,211,102,0.75);}
.wa-icon{width:30px; height:30px; color:#fff; position:relative; z-index:2;}

/* Pulsing attention rings (the "flash") */
.wa-ring{
  position:absolute; inset:0; border-radius:50%;
  border:2.5px solid #25D366;
  animation:wa-pulse 2.4s ease-out infinite;
}
.wa-ring-delay{animation-delay:1.2s;}
@keyframes wa-pulse{
  0%{transform:scale(1); opacity:0.7;}
  100%{transform:scale(1.9); opacity:0;}
}

/* Gentle periodic bounce to catch the eye without being obnoxious */
@keyframes wa-bounce{
  0%, 88%, 100%{transform:translateY(0);}
  91%{transform:translateY(-8px);}
  94%{transform:translateY(0);}
  97%{transform:translateY(-4px);}
}
.wa-btn{animation:wa-bounce 6s ease-in-out infinite;}

/* Notification badge */
.wa-badge{
  position:absolute; top:-4px; right:-4px; z-index:3;
  width:22px; height:22px; border-radius:50%;
  background:linear-gradient(135deg, var(--orange), var(--orange-deep));
  color:#fff; font-family:'Poppins',sans-serif; font-weight:700; font-size:11.5px;
  display:flex; align-items:center; justify-content:center;
  border:2.5px solid #fff;
  animation:wa-badge-pop 2.4s ease-in-out infinite;
}
@keyframes wa-badge-pop{
  0%, 80%, 100%{transform:scale(1);}
  85%{transform:scale(1.25);}
  90%{transform:scale(1);}
}

/* Chat bubble popup */
.wa-bubble{
  position:relative; width:290px; background:#fff; border-radius:18px;
  box-shadow:0 22px 50px -12px rgba(0,0,0,0.28); border:1px solid var(--line);
  padding:18px 18px 16px; opacity:0; visibility:hidden; transform:translateY(14px) scale(0.96);
  transform-origin:bottom right;
  transition:opacity .28s ease, transform .28s ease, visibility .28s;
}
.wa-bubble.wa-bubble-show{opacity:1; visibility:visible; transform:translateY(0) scale(1);}
.wa-bubble-close{
  position:absolute; top:10px; right:12px; background:none; border:none; cursor:pointer;
  font-size:20px; line-height:1; color:var(--text-soft); padding:2px;
}
.wa-bubble-close:hover{color:var(--navy);}
.wa-bubble-row{display:flex; gap:12px; margin-bottom:14px;}
.wa-bubble-avatar{
  flex-shrink:0; width:42px; height:42px; border-radius:50%;
  background:linear-gradient(135deg, var(--blue), var(--orange));
  color:#fff; font-family:'Poppins',sans-serif; font-weight:700; font-size:14px;
  display:flex; align-items:center; justify-content:center;
}
.wa-bubble-text strong{font-family:'Poppins',sans-serif; font-size:14px; color:var(--navy); display:block; margin-bottom:4px;}
.wa-bubble-text p{font-size:13.5px; color:var(--text-soft); margin:0; line-height:1.5;}
.wa-bubble-cta{
  display:flex; align-items:center; justify-content:center; gap:6px;
  width:100%; padding:11px; border-radius:999px;
  background:linear-gradient(135deg, #25D366, #1DA851); color:#fff; text-decoration:none;
  font-family:'Poppins',sans-serif; font-weight:600; font-size:14px;
  transition:transform .15s ease;
}
.wa-bubble-cta:hover{transform:translateY(-2px);}

@media (max-width:560px){
  .wa-float{right:16px; bottom:16px;}
  .wa-btn{width:56px; height:56px;}
  .wa-icon{width:26px; height:26px;}
  .wa-bubble{width:min(78vw, 280px);}
}
