/* ==========================================================================
   Chandusoft - Modern refresh layer (2026)
   Self-contained, prefixed with .cs- so it coexists with the legacy theme.
   ========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&display=swap');

:root{
  --cs-primary:#1597d6;
  --cs-primary-dark:#0d7bb0;
  --cs-navy:#10243b;
  --cs-accent:#ff7a18;
  --cs-text:#5a6b7b;
  --cs-soft:#f4f9fc;
  --cs-border:#e7eef4;
  --cs-shadow:0 10px 30px rgba(16,36,59,.08);
  --cs-shadow-h:0 18px 40px rgba(21,151,214,.18);
  --cs-radius:14px;
}

/* ---- shared typography / helpers ---- */
.cs-font{ font-family:'Poppins',"Segoe UI",Arial,sans-serif; }
.cs-section{ padding:74px 0; font-family:'Poppins',"Segoe UI",Arial,sans-serif; }
.cs-section--soft{ background:var(--cs-soft); }
.cs-section--navy{ background:var(--cs-navy); }
/* aqua stats band — a #65D8EC variant blended into the brand blue (navy text for contrast) */
.cs-section--aqua{ background:linear-gradient(135deg,#65D8EC 0%, #2fb0d6 52%, #1597d6 100%); }
.cs-section--aqua .cs-head h2{ color:var(--cs-navy) !important; }
.cs-section--aqua .cs-rule{ background:var(--cs-navy); }
.cs-section--aqua .cs-stat .cs-num{ color:var(--cs-navy); }
.cs-section--aqua .cs-stat .cs-lbl{ color:rgba(16,36,59,.82); }
.cs-container{ max-width:1180px; margin:0 auto; padding:0 18px; }

.cs-head{ text-align:center; max-width:760px; margin:0 auto 46px; font-family:'Poppins',"Segoe UI",Arial,sans-serif; }
.cs-head .cs-eyebrow{
  display:inline-block; font-size:13px; letter-spacing:2px; text-transform:uppercase;
  font-weight:600; color:var(--cs-primary); margin-bottom:10px;
}
.cs-head h2{
  font-size:34px; font-weight:700; color:var(--cs-navy); margin:0 0 14px; line-height:1.2;
}
.cs-head h2 span{ color:var(--cs-primary); }
.cs-head p{ font-size:16px; color:var(--cs-text); line-height:1.7; margin:0; }
.cs-head .cs-rule{ width:64px; height:4px; border-radius:4px; background:var(--cs-accent); margin:16px auto 0; }

/* ---- buttons ---- */
.cs-btn{
  display:inline-block; font-family:'Poppins',sans-serif; font-weight:600; font-size:15px;
  padding:13px 30px; border-radius:50px; text-decoration:none; cursor:pointer;
  transition:.25s ease; border:2px solid transparent; line-height:1;
}
.cs-btn--primary{ background:var(--cs-primary); color:#fff; }
.cs-btn--primary:hover{ background:var(--cs-primary-dark); color:#fff; transform:translateY(-2px); box-shadow:var(--cs-shadow-h); }
.cs-btn--accent{ background:var(--cs-accent); color:#fff; }
.cs-btn--accent:hover{ background:#e9670c; color:#fff; transform:translateY(-2px); }
.cs-btn--whatsapp{ background:#25d366; color:#fff; margin-top:14px; }
.cs-btn--whatsapp:hover{ background:#1da851; color:#fff; transform:translateY(-2px); box-shadow:0 10px 24px rgba(37,211,102,.3); }
.cs-btn--whatsapp i{ margin-right:7px; }
.cs-btn--ghost{ background:transparent; color:#fff; border-color:rgba(255,255,255,.8); }
.cs-btn--ghost:hover{ background:#fff; color:var(--cs-navy); }

/* ---- service card grid ---- */
.cs-grid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(270px,1fr)); gap:26px;
}
.cs-card{
  background:#fff; border:1px solid var(--cs-border); border-radius:var(--cs-radius);
  padding:32px 26px; box-shadow:var(--cs-shadow); transition:.3s ease; position:relative; overflow:hidden;
}
.cs-card:hover{ transform:translateY(-8px); box-shadow:var(--cs-shadow-h); border-color:transparent; }
/* 4-segment service grid: balanced 2x2 on desktop, single column on mobile */
.cs-grid--4{ grid-template-columns:repeat(2,minmax(0,1fr)); }
@media (max-width:767px){ .cs-grid--4{ grid-template-columns:1fr; } }
/* tech-stack line under a service card title */
.cs-card-tech{ font-family:'Poppins',sans-serif; font-size:13.5px; font-weight:600; color:var(--cs-primary);
  margin:0 0 10px; letter-spacing:.01em; }
/* "Explore this pod ->" link at the foot of a service card */
.cs-card-link{ display:inline-flex; align-items:center; gap:7px; margin-top:14px; font-family:'Poppins',sans-serif;
  font-weight:600; font-size:14px; color:var(--cs-primary); text-decoration:none; }
.cs-card-link i{ transition:transform .2s; }
.cs-card:hover .cs-card-link i{ transform:translateX(4px); }
/* industries: 5-across row that wraps gracefully */
.cs-grid--5{ grid-template-columns:repeat(5,minmax(0,1fr)); }
.cs-ind{ text-align:center; padding:26px 18px; }
.cs-ind .cs-ico{ margin:0 auto 14px; }
.cs-ind h3{ font-size:18px; }
.cs-ind p{ font-size:14px; }
@media (max-width:991px){ .cs-grid--5{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:575px){ .cs-grid--5{ grid-template-columns:1fr; } }
.cs-card .cs-ico{
  width:64px; height:64px; border-radius:16px; display:flex; align-items:center; justify-content:center;
  font-size:28px; color:#fff; margin-bottom:20px;
  background:linear-gradient(135deg,var(--cs-primary),#36b6e8);
}
.cs-card h3{ font-size:19px; font-weight:600; color:var(--cs-navy); margin:0 0 10px; }
.cs-card p{ font-size:14.5px; color:var(--cs-text); line-height:1.65; margin:0; }
.cs-card .cs-tag{
  position:absolute; top:16px; right:-34px; transform:rotate(45deg);
  background:var(--cs-accent); color:#fff; font-size:11px; font-weight:600; letter-spacing:.5px;
  padding:4px 40px;
}

/* ---- feature / advantage list ---- */
.cs-features{ display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:22px; }
.cs-feature{ display:flex; gap:16px; align-items:flex-start; }
.cs-feature .cs-fico{
  flex:0 0 46px; width:46px; height:46px; border-radius:12px; background:rgba(21,151,214,.12);
  color:var(--cs-primary); display:flex; align-items:center; justify-content:center; font-size:20px;
}
.cs-feature h4{ font-size:16.5px; font-weight:600; color:var(--cs-navy); margin:2px 0 6px; }
.cs-feature p{ font-size:14px; color:var(--cs-text); line-height:1.6; margin:0; }

/* ---- stats ---- */
.cs-stats{ display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:24px; text-align:center; }
.cs-stat .cs-num{ font-size:42px; font-weight:800; color:#fff; line-height:1; }
.cs-stat .cs-lbl{ font-size:15px; color:rgba(255,255,255,.85); margin-top:8px; }

/* ---- CTA band ---- */
.cs-cta{
  background:linear-gradient(120deg,var(--cs-primary),#0d6a99);
  border-radius:18px; padding:46px 40px; text-align:center; color:#fff; box-shadow:var(--cs-shadow);
}
.cs-cta h2{ font-size:30px; font-weight:700; margin:0 0 12px; color:#fff; }
.cs-cta p{ font-size:17px; opacity:.92; margin:0 0 26px; }
.cs-cta .cs-btn--ghost{ margin-left:12px; }

/* ---- "news / updates" list (replaces deprecated <marquee>) ---- */
.cs-news{ background:#fff; border:1px solid var(--cs-border); border-radius:var(--cs-radius); box-shadow:var(--cs-shadow); height:330px; overflow:hidden; position:relative; }
.cs-news ul{ list-style:none; margin:0; padding:0; animation:cs-ticker 26s linear infinite; }
.cs-news:hover ul{ animation-play-state:paused; }
.cs-news li{ padding:14px 20px; border-bottom:1px solid var(--cs-border); }
.cs-news li a{ color:var(--cs-navy); font-size:14px; text-decoration:none; display:flex; gap:10px; align-items:flex-start; line-height:1.5; }
.cs-news li a:hover{ color:var(--cs-primary); }
.cs-news li i{ color:var(--cs-primary); margin-top:3px; }
@keyframes cs-ticker{ 0%{transform:translateY(0);} 100%{transform:translateY(-50%);} }

/* ---- process steps ---- */
.cs-steps{ display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:20px; text-align:center; }
.cs-step .cs-scircle{
  width:84px; height:84px; border-radius:50%; margin:0 auto 14px; display:flex; align-items:center; justify-content:center;
  font-size:30px; color:var(--cs-primary); background:#fff; border:2px dashed var(--cs-primary);
  position:relative; transition:.3s;
}
.cs-step:hover .cs-scircle{ background:var(--cs-primary); color:#fff; }
.cs-step .cs-snum{
  position:absolute; top:-6px; right:-6px; width:26px; height:26px; border-radius:50%;
  background:var(--cs-accent); color:#fff; font-size:13px; font-weight:700; display:flex; align-items:center; justify-content:center;
}
.cs-step h4{ font-size:15px; font-weight:600; color:var(--cs-navy); letter-spacing:.5px; margin:0; }

/* ---- two-column info (vision / mission etc.) ---- */
.cs-split{ display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; }
.cs-split img{ width:100%; border-radius:var(--cs-radius); box-shadow:var(--cs-shadow); }
.cs-split h3{ font-size:22px; font-weight:600; color:var(--cs-navy); margin:0 0 12px; }
.cs-split p{ font-size:15px; color:var(--cs-text); line-height:1.7; }
.cs-list{ list-style:none; padding:0; margin:14px 0 0; }
.cs-list li{ position:relative; padding:7px 0 7px 30px; font-size:14.5px; color:var(--cs-text); line-height:1.55; }
.cs-list li:before{ content:"\f00c"; font-family:"FontAwesome"; position:absolute; left:0; top:7px; color:var(--cs-primary); }

/* ---- modern hero overlay (homepage #home-slider) ---- */
#home-slider .item{ background:var(--cs-navy); }
#home-slider .item:after{
  content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(90deg,rgba(8,20,33,.78) 0%,rgba(8,20,33,.45) 45%,rgba(8,20,33,.05) 75%);
}
#home-slider .slider-inner{ position:absolute; inset:0; z-index:2; display:flex; align-items:center; }
#home-slider .slider-inner .container1{ max-width:1180px; margin:0 auto; padding:0 30px; width:100%; }
#home-slider .cs-hero-tag{ display:inline-block; background:rgba(21,151,214,.9); color:#fff; font-family:'Poppins',sans-serif; font-size:13px; font-weight:600; letter-spacing:1px; text-transform:uppercase; padding:6px 16px; border-radius:50px; margin-bottom:18px; }
#home-slider .slider-inner h2{
  font-family:'Poppins',sans-serif; color:#fff; font-size:42px; font-weight:700; line-height:1.18;
  max-width:620px; margin:0 0 16px; text-shadow:0 2px 10px rgba(0,0,0,.3);
}
#home-slider .cs-hero-sub{ font-family:'Poppins',sans-serif; color:rgba(255,255,255,.92); font-size:18px; max-width:520px; margin:0 0 26px; line-height:1.6; }
#home-slider .cs-hero-btns .cs-btn{ margin-right:14px; }

/* ---- contact layout: equal-height form card + tall map ---- */
.cs-contact-split{ align-items:stretch !important; }
.cs-form-card{ background:#fff; border:1px solid var(--cs-border); border-radius:18px; padding:34px; box-shadow:var(--cs-shadow); }
.cs-form-card h2{ font-family:'Poppins',"Segoe UI",sans-serif; color:var(--cs-navy); font-weight:700; font-size:26px; margin:0 0 6px; }
.cs-form-card .cs-form-sub{ color:var(--cs-text); margin:0 0 24px; }
.cs-contact-split .map-area{ display:flex; }
.cs-contact-split .map-area .map{ flex:1; width:100%; display:flex; }
.cs-contact-split .mapp{ width:100%; height:100%; min-height:560px; border:0; border-radius:18px; display:block; }
@media (max-width:992px){ .cs-contact-split .mapp{ min-height:340px; } }

/* ---- contact form (attractive, taller fields, aqua-blue typed text) ---- */
#contact-form .form-control{
  width:100%; box-sizing:border-box; height:auto; min-height:56px;
  padding:15px 18px; margin-bottom:18px;
  font-family:'Poppins',"Segoe UI",sans-serif; font-size:16px; font-weight:600;
  color:#0a93b8;                              /* bold aqua-blue typed text */
  background:#f8fdff; border:2px solid #dbe9f1; border-radius:12px;
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease; box-shadow:none;
}
#contact-form textarea.form-control{ min-height:150px; resize:vertical; line-height:1.6; }
#contact-form select.form-control{ color:#0a93b8 !important; font-weight:600; cursor:pointer; min-height:56px; }
#contact-form .form-control::placeholder{ color:#9fb6c6; font-weight:400; }
#contact-form .form-control:hover{ border-color:#bfe0ea; }
#contact-form .form-control:focus{
  outline:none; border-color:#15bcd6; background:#fff; color:#0a93b8;
  box-shadow:0 0 0 4px rgba(21,188,214,.20);
}
#contact-form #submit{ display:block !important; margin-top:6px; }
#contact-form input[type="submit"], #contact-form #contact-submit{
  display:block !important; visibility:visible !important; opacity:1 !important;
  width:100%; height:auto !important; line-height:1.2 !important; cursor:pointer;
  padding:16px 30px !important; margin:0 !important;
  font-family:'Poppins',sans-serif; font-size:17px; font-weight:700 !important; letter-spacing:.3px;
  color:#fff !important; border:none !important; border-radius:50px !important;
  background:linear-gradient(120deg,#15bcd6,#1597d6) !important;
  box-shadow:0 10px 24px rgba(21,151,214,.35); transition:.25s ease;
}
#contact-form input[type="submit"]:hover, #contact-form #contact-submit:hover{
  background:linear-gradient(120deg,#0fa6c2,#0d7bb0) !important; transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(21,151,214,.45);
}

/* ==========================================================================
   MOBILE / RESPONSIVE
   The legacy Bootstrap-3 navbar collapses below 768px. The dropdown submenus
   are hover-only (position:absolute) so they can't be tapped on phones - here
   we show them inline inside the collapsed menu, and add general mobile polish.
   ========================================================================== */
@media (max-width:767px){
  /* --- collapsed mobile menu --- */
  #main-menu .navbar-collapse{ max-height:82vh; overflow-y:auto; background:#fff; box-shadow:0 10px 24px rgba(16,36,59,.12); border-top:1px solid #eef2f6; }
  #main-menu .navbar-nav{ float:none; margin:4px 0; }
  #main-menu .navbar-nav > li{ float:none; }
  #main-menu .navbar-nav > li > a{ padding:13px 18px; border-top:1px solid #eef2f6; }
  /* show the Products / Services dropdowns inline (tap-free) */
  #main-menu .submenu{ display:block !important; position:static !important; width:auto !important; z-index:auto !important; box-shadow:none !important; padding:0 !important; background:#f6f9fc !important; transition:none !important; }
  #main-menu .submenu li{ float:none !important; display:block !important; font-size:14px !important; }
  #main-menu .submenu li a{ padding:10px 18px 10px 34px !important; color:#33475b !important; white-space:normal !important; }

  /* --- content spacing / typography --- */
  .cs-section{ padding:44px 0; }
  .cs-container{ padding:0 16px; }
  .cs-head{ margin-bottom:30px; }
  .cs-head h2{ font-size:24px; }
  .cs-cta{ padding:34px 22px; }
  .cs-cta h2{ font-size:22px; }
  .cs-btn{ display:inline-block; }
  /* full-width buttons in hero/CTA so they're easy to tap */
  .cs-hero-btns .cs-btn, .cs-cta .cs-btn{ display:block; width:100%; margin:0 0 12px 0; text-align:center; }
  /* stack any two-column bootstrap rows already handled by col-md-*; ensure images fit */
  .cs-article-body img, .cs-form-card img, .middle img{ max-width:100%; height:auto; }
  /* footer bottom bar centers (also handled) */
  .cs-footer-grid{ padding:40px 0 30px; }
}

/* tablet */
@media (min-width:768px) and (max-width:991px){
  .cs-head h2{ font-size:28px; }
  .cs-container{ padding:0 22px; }
}

/* ---- pagination ---- */
.cs-pagination{ display:flex; justify-content:center; gap:8px; margin-top:44px; flex-wrap:wrap; }
.cs-pagination a, .cs-pagination span{ min-width:44px; text-align:center; padding:10px 14px; border-radius:8px; text-decoration:none; font-family:'Poppins',sans-serif; font-weight:600; font-size:14px; border:1px solid var(--cs-border); color:var(--cs-navy); background:#fff; transition:.2s; }
.cs-pagination a:hover{ background:var(--cs-primary); color:#fff; border-color:var(--cs-primary); }
.cs-pagination .cs-page-cur{ background:var(--cs-primary); color:#fff; border-color:var(--cs-primary); }

/* ---- vision & mission: illustration (left) + feature cards (right) ---- */
.cs-vm-split{ grid-template-columns:0.85fr 1.15fr; align-items:stretch; }
.cs-vm-visual{ position:relative; border-radius:18px; overflow:hidden; box-shadow:var(--cs-shadow); }
.cs-vm-img{ width:100%; height:100%; min-height:380px; object-fit:cover; display:block; }
.cs-vm-cards{ display:flex; flex-direction:column; justify-content:center; gap:12px; }
.cs-vm-card{ display:flex; gap:18px; align-items:flex-start; background:#fff; border:1px solid var(--cs-border);
  border-radius:16px; padding:18px 24px; box-shadow:var(--cs-shadow); position:relative; overflow:hidden; transition:.3s ease; }
.cs-vm-card::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:5px;
  background:linear-gradient(180deg,var(--cs-primary),#7b2ff7); }
.cs-vm-card--mission::before{ background:linear-gradient(180deg,var(--cs-accent),#ff4d6d); }
.cs-vm-card:hover{ transform:translateY(-4px); box-shadow:var(--cs-shadow-h); border-color:transparent; }
.cs-vm-ico{ flex:0 0 auto; width:58px; height:58px; border-radius:14px; display:flex; align-items:center; justify-content:center;
  font-size:24px; color:#fff; background:linear-gradient(135deg,var(--cs-primary),#7b2ff7); box-shadow:0 8px 18px rgba(21,151,214,.28); }
.cs-vm-card--mission .cs-vm-ico{ background:linear-gradient(135deg,var(--cs-accent),#ff4d6d); box-shadow:0 8px 18px rgba(255,122,24,.28); }
.cs-vm-body h3{ font-size:22px; font-weight:700; color:var(--cs-navy); margin:2px 0 8px; }
.cs-vm-body p{ font-size:17.5px; line-height:1.6; color:var(--cs-text); margin:0; }
.cs-vm-body p strong{ color:var(--cs-navy); }
.cs-vm-values{ display:flex; flex-wrap:wrap; gap:10px; margin-top:0; }
.cs-vm-values span{ display:inline-flex; align-items:center; gap:8px; font-family:'Poppins',sans-serif; font-weight:600;
  font-size:14px; color:var(--cs-navy); background:#eef6fc; border:1px solid #d9ecf8; border-radius:999px; padding:9px 16px; }
.cs-vm-values span i{ color:var(--cs-primary); }
.cs-vm-drives{ background:#f6fafd; border:1px solid var(--cs-border); border-radius:16px; padding:18px 24px; margin-top:2px; }
.cs-vm-drives h4{ font-family:'Poppins',sans-serif; font-size:16px; font-weight:700; color:var(--cs-navy); margin:0 0 12px;
  text-transform:uppercase; letter-spacing:.06em; }
.cs-vm-drives-list{ list-style:none; margin:0; padding:0; }
.cs-vm-drives-list li{ position:relative; padding:0 0 0 30px; margin:0 0 9px; font-size:16px; line-height:1.5; color:var(--cs-text); }
.cs-vm-drives-list li:last-child{ margin-bottom:0; }
.cs-vm-drives-list li i{ position:absolute; left:0; top:3px; color:var(--cs-primary); font-size:16px; }
@media (max-width:767px){
  .cs-vm-drives{ padding:20px; }
  .cs-vm-split{ grid-template-columns:1fr; }
  .cs-vm-img{ min-height:260px; }
  .cs-vm-card{ padding:22px 20px; gap:16px; }
  .cs-vm-ico{ width:50px; height:50px; font-size:20px; }
}

/* ---- case studies: horizontal rows (one per row) ---- */
.cs-case-list{ display:flex; flex-direction:column; gap:26px; }
.cs-case-card{ display:flex; background:#fff; border:1px solid var(--cs-border); border-radius:16px; overflow:hidden; box-shadow:var(--cs-shadow); transition:.3s; }
.cs-case-card:hover{ transform:translateY(-4px); box-shadow:var(--cs-shadow-h); }
.cs-case-card .cs-case-img{ flex:0 0 38%; background-size:cover; background-position:center; min-height:250px; display:block; }
.cs-case-card .cs-case-body{ flex:1; padding:32px 36px; display:flex; flex-direction:column; justify-content:center; }
.cs-case-card .cs-case-tag{ display:inline-block; align-self:flex-start; background:rgba(21,151,214,.12); color:var(--cs-primary); font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.5px; padding:5px 13px; border-radius:50px; margin-bottom:14px; }
.cs-case-card h3{ font-size:22px; color:var(--cs-navy); font-weight:600; margin:0 0 8px; line-height:1.3; }
.cs-case-card h3 a{ color:inherit; text-decoration:none; }
.cs-case-card h3 a:hover{ color:var(--cs-primary); }
.cs-case-card .cs-case-client{ color:var(--cs-text); font-size:14px; margin:0 0 14px; }
.cs-case-card .cs-case-client i{ color:var(--cs-primary); margin-right:6px; }
.cs-case-card p{ color:var(--cs-text); font-size:15px; line-height:1.65; margin:0 0 18px; }
@media (max-width:768px){ .cs-case-card{ flex-direction:column; } .cs-case-card .cs-case-img{ flex:none; width:100%; height:200px; min-height:200px; } }

/* ---- blog ---- */
.cs-blog-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:28px; }
.cs-blog-card{ background:#fff; border:1px solid var(--cs-border); border-radius:14px; overflow:hidden; box-shadow:var(--cs-shadow); transition:.3s; display:flex; flex-direction:column; }
.cs-blog-card:hover{ transform:translateY(-6px); box-shadow:var(--cs-shadow-h); }
.cs-blog-card .cs-blog-img{ height:200px; background-size:cover; background-position:center; }
.cs-blog-card .cs-blog-body{ padding:24px; display:flex; flex-direction:column; flex:1; }
.cs-blog-card .cs-blog-date{ font-size:12px; color:var(--cs-primary); font-weight:600; text-transform:uppercase; letter-spacing:.5px; margin-bottom:8px; }
.cs-blog-card h3{ font-size:18px; color:var(--cs-navy); font-weight:600; margin:0 0 10px; line-height:1.35; }
.cs-blog-card p{ font-size:14px; color:var(--cs-text); line-height:1.6; margin:0 0 16px; flex:1; }
.cs-readmore{ color:var(--cs-primary); font-weight:600; text-decoration:none; font-size:14px; }
.cs-readmore:hover{ color:var(--cs-primary-dark); }
/* single article */
.cs-article{ max-width:820px; margin:0 auto; }
.cs-article .cs-article-img{ width:100%; border-radius:14px; margin-bottom:26px; box-shadow:var(--cs-shadow); }
.cs-article h1{ font-family:'Poppins',sans-serif; color:var(--cs-navy); font-size:32px; font-weight:700; line-height:1.25; margin:0 0 12px; }
.cs-article .cs-article-meta{ color:var(--cs-primary); font-weight:600; font-size:13px; margin-bottom:24px; }
.cs-article-body{ color:var(--cs-text); font-size:16px; line-height:1.8; font-family:'Poppins',sans-serif; }
.cs-article-body h3{ color:var(--cs-navy); font-size:20px; font-weight:600; margin:28px 0 12px; }
.cs-article-body p{ margin:0 0 16px; }
.cs-article-body ul{ padding-left:22px; margin:0 0 16px; }
.cs-article-body li{ margin-bottom:8px; }
.cs-article-body a{ color:var(--cs-primary); }
@media (max-width:768px){ .cs-article h1{ font-size:24px; } }

/* ---- global presence / office cards ---- */
.cs-offices{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:24px; }
.cs-office{ background:#fff; border:1px solid var(--cs-border); border-radius:14px; padding:30px 24px; text-align:center; box-shadow:var(--cs-shadow); transition:.3s; }
.cs-office:hover{ transform:translateY(-6px); box-shadow:var(--cs-shadow-h); }
.cs-office .cs-office-ico{ width:60px; height:60px; border-radius:14px; margin:0 auto 16px; display:flex; align-items:center; justify-content:center; font-size:26px; color:#fff; background:linear-gradient(135deg,var(--cs-primary),#36b6e8); }
.cs-office h3{ font-size:18px; color:var(--cs-navy); font-weight:600; margin:0 0 6px; }
.cs-office p{ color:var(--cs-text); font-size:14px; margin:0 0 12px; }
.cs-office .cs-office-count{ display:inline-block; background:rgba(21,151,214,.12); color:var(--cs-primary); font-weight:600; font-size:13px; padding:5px 14px; border-radius:50px; }

/* ---- standards / certifications strip ---- */
.cs-standards{ display:flex; flex-wrap:wrap; justify-content:center; gap:14px; margin-top:40px; }
.cs-standard{ display:flex; align-items:center; gap:10px; background:#fff; border:1px solid var(--cs-border); border-radius:50px; padding:11px 22px; font-family:'Poppins',sans-serif; font-weight:600; color:var(--cs-navy); font-size:14px; box-shadow:var(--cs-shadow); }
.cs-standard i{ color:var(--cs-primary); font-size:17px; }

/* ---- AI accents ---- */
.cs-hero-tag.cs-ai{ background:linear-gradient(135deg,#7b2ff7,#1597d6); }
.cs-card .cs-badge-new{ position:absolute; top:14px; right:14px; background:#7b2ff7; color:#fff; font-size:10px; font-weight:700; letter-spacing:.5px; padding:3px 11px; border-radius:50px; }
.cs-card .cs-ico.cs-ico-ai{ background:linear-gradient(135deg,#7b2ff7,#1597d6); }

/* ---- modern footer (all pages) ---- */
#footer{ background:transparent !important; padding:0 !important; }
.cs-footer{ background:var(--cs-navy); color:rgba(255,255,255,.72); font-family:'Poppins',"Segoe UI",sans-serif; }
.cs-footer-grid{ display:grid; grid-template-columns:1.7fr 1fr 1.3fr 1.5fr; gap:36px; padding:58px 0 40px; }
.cs-footer-col h4{ color:#fff; font-size:16px; font-weight:600; margin:0 0 18px; position:relative; padding-bottom:10px; }
.cs-footer-col h4:after{ content:""; position:absolute; left:0; bottom:0; width:36px; height:3px; background:var(--cs-accent); border-radius:3px; }
.cs-footer-col ul{ list-style:none; padding:0; margin:0; }
.cs-footer-col ul li{ display:block; float:none; width:100%; margin-bottom:10px; }
.cs-footer-col a{ color:rgba(255,255,255,.72); text-decoration:none; font-size:14px; transition:.2s; }
.cs-footer-col a:hover{ color:#fff; }
.cs-footer-about p{ font-size:14px; line-height:1.7; margin:14px 0 18px; color:rgba(255,255,255,.6); }
.cs-footer-logo{ height:46px; background:#fff; padding:6px 12px; border-radius:8px; }
.cs-social{ list-style:none; padding:0; margin:0; display:flex; gap:10px; }
.cs-social li{ margin:0 !important; }
.cs-social a{ width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,.1); display:flex; align-items:center; justify-content:center; color:#fff; font-size:16px; transition:.25s; }
.cs-social a:hover{ background:var(--cs-primary); transform:translateY(-3px); }
.cs-footer-contact ul li{ display:flex; gap:10px; align-items:flex-start; font-size:14px; color:rgba(255,255,255,.7); margin-bottom:12px; }
.cs-footer-contact ul li i{ color:var(--cs-primary); margin-top:4px; }
.cs-footer-bottom{ border-top:1px solid rgba(255,255,255,.1); }
.cs-footer-bottom .cs-container{ display:flex; justify-content:space-between; align-items:center; padding:18px; font-size:13px; color:rgba(255,255,255,.55); }
@media (max-width:900px){ .cs-footer-grid{ grid-template-columns:1fr 1fr; gap:28px; } }
@media (max-width:560px){ .cs-footer-grid{ grid-template-columns:1fr; } .cs-footer-bottom .cs-container{ flex-direction:column; gap:8px; text-align:center; } }

/* ---- inner-page hero band (clears the fixed navbar) ---- */
.cs-page-hero{
  background:linear-gradient(120deg,var(--cs-navy),#16466e);
  padding:130px 0 64px; font-family:'Poppins',"Segoe UI",sans-serif; text-align:left;
}
.cs-page-hero .cs-eyebrow{ display:inline-block; font-size:13px; letter-spacing:2px; text-transform:uppercase; font-weight:600; color:#bfe3f5; margin-bottom:12px; }
.cs-page-hero h1{ color:#fff; font-size:40px; font-weight:700; line-height:1.2; margin:0 0 16px; max-width:900px; }
.cs-page-hero p{ color:rgba(255,255,255,.9); font-size:17px; line-height:1.7; max-width:780px; margin:0; }
.cs-team-photo{ width:130px; height:130px; border-radius:50%; object-fit:cover; border:4px solid rgba(21,151,214,.15); display:inline-block; }
@media (max-width:768px){ .cs-page-hero{ padding:104px 0 44px; } .cs-page-hero h1{ font-size:27px; } }

/* ==========================================================================
   GLOBAL LIFT for legacy theme pages (about, solutions, products, contact...)
   Safe typography/button/list polish — does not touch hero background images.
   ========================================================================== */
.section-title{
  font-family:'Poppins',"Segoe UI",sans-serif !important;
  color:var(--cs-navy) !important; font-weight:700 !important;
  font-size:32px !important; line-height:1.25; position:relative;
}
.section-header{ margin-bottom:42px; }
.section-header p{ color:var(--cs-text); font-size:16px; line-height:1.7; max-width:780px; margin-left:auto; margin-right:auto; }
.section-header .section-title:after,
.section-header h2.section-title:after{
  content:""; display:block; width:62px; height:4px; border-radius:4px;
  background:var(--cs-accent); margin:16px auto 0;
}

/* modern buttons across the site */
.btn-primary, a.btn-primary, .btn.btn-primary{
  background:var(--cs-primary) !important; border:2px solid var(--cs-primary) !important;
  border-radius:50px !important; padding:11px 28px !important;
  font-family:'Poppins',sans-serif !important; font-weight:600 !important; transition:.25s ease !important;
}
.btn-primary:hover, a.btn-primary:hover, .btn.btn-primary:hover{
  background:var(--cs-primary-dark) !important; border-color:var(--cs-primary-dark) !important;
  transform:translateY(-2px); box-shadow:var(--cs-shadow-h); color:#fff !important;
}

/* tidy check-mark lists */
ul.nostyle{ padding-left:0; list-style:none; }
ul.nostyle li{ line-height:1.7; color:var(--cs-text); margin-bottom:6px; }
ul.nostyle li i.fa{ color:var(--cs-primary); margin-right:8px; }

/* breadcrumb + page-title text on dark headers stays readable */
.breadcrumb{ background:transparent !important; }

/* legacy section headings get the modern font */
.column-title, .under-h3{ font-family:'Poppins',"Segoe UI",sans-serif; color:var(--cs-navy); font-weight:600; }

/* neutralise legacy theme backgrounds/padding on the reused section IDs
   (#id.class beats the theme's #id selector) */
#cta.cs-section, #services.cs-section, #about.cs-section,
#work-process.cs-section, #animated-number.cs-section{ background-image:none; }
#services.cs-section--soft, #work-process.cs-section--soft{ background:var(--cs-soft); }
#animated-number.cs-section--navy{ background:var(--cs-navy); }
#animated-number.cs-section--navy .cs-head h2{ color:#fff; }
/* aqua variant on the homepage stats band (id-level to beat background-image:none above) */
#animated-number.cs-section--aqua{ background:linear-gradient(135deg,#65D8EC 0%, #2fb0d6 52%, #1597d6 100%); }
#animated-number.cs-section--aqua .cs-head h2{ color:var(--cs-navy); }
/* legacy #id h2 rules force white on these reused sections - force navy back */
#cta .cs-head h2, #services .cs-head h2, #about .cs-head h2, #work-process .cs-head h2, #global .cs-head h2{ color:var(--cs-navy); }
#cta .cs-head h2 span, #services .cs-head h2 span, #about .cs-head h2 span, #work-process .cs-head h2 span, #global .cs-head h2 span{ color:var(--cs-primary); }
/* team avatars must stay circular even inside .cs-split */
.cs-split img.cs-team-photo, img.cs-team-photo{ width:130px; height:130px; border-radius:50%; object-fit:cover; }

@media (max-width:992px){
  #home-slider .slider-inner h2{ font-size:30px; }
  #home-slider .cs-hero-sub{ font-size:16px; }
  .cs-split{ grid-template-columns:1fr; }
}
@media (max-width:768px){
  .cs-section{ padding:48px 0; }
  .cs-head h2{ font-size:26px; }
  #home-slider .item:after{ background:linear-gradient(90deg,rgba(8,20,33,.82),rgba(8,20,33,.55)); }
  #home-slider .slider-inner h2{ font-size:24px; }
  .cs-cta h2{ font-size:23px; }
  .cs-cta .cs-btn--ghost{ margin-left:0; margin-top:12px; }
}
