/* =========================================================
   ISSL — Concept D: "Proof-Driven Editorial"
   Inspired by modern B2B/tech-services sites (bold stat-led
   storytelling, light canvas, alternating proof blocks) while
   keeping ISSL's real orange/navy brand identity.
   ========================================================= */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=Poppins:wght@600;700;800&display=swap');

:root {
  --navy-900: #131b2a;
  --navy-800: #1a2438;
  --navy-700: #212c43;
  --orange: #f5821f;
  --orange-dark: #d96c0f;
  --orange-tint: #fff1e2;
  --blue: #2f6fed;
  --blue-tint: #eaf1ff;
  --green: #10b981;
  --green-tint: #e8faf3;
  --purple: #8b5cf6;
  --purple-tint: #f3efff;
  --gray-50: #f8f9fb;
  --gray-100: #f0f2f5;
  --gray-200: #e6e9ee;
  --gray-500: #6b7280;
  --gray-600: #4b5563;
  --ink: #131b2a;
  --radius-lg: 20px;
  --radius-md: 14px;
  --radius-sm: 9px;
  --shadow-sm: 0 1px 3px rgba(19,27,42,.06), 0 1px 2px rgba(19,27,42,.04);
  --shadow-md: 0 10px 28px rgba(19,27,42,.08);
  --shadow-lg: 0 24px 48px rgba(19,27,42,.14);
}

html { scroll-behavior: smooth; }
body {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: #ffffff;
  -webkit-font-smoothing: antialiased;
}
h1,h2,h3,h4,h5,h6 { font-family: "Poppins","Inter",sans-serif; font-weight: 700; color: var(--ink); }
p { color: var(--gray-600); }
a { text-decoration: none; }

.section-pad { padding-top: 6rem; padding-bottom: 6rem; }
.section-eyebrow {
  display: inline-flex; align-items: center; gap: .5rem;
  color: var(--orange-dark); font-weight: 700; letter-spacing: .08em;
  font-size: .78rem; text-transform: uppercase;
}
.section-eyebrow::before { content:""; width:20px; height:2px; background:var(--orange); display:inline-block; }
.section-heading { font-size: 2.15rem; line-height:1.2; margin-bottom: .75rem; }
.section-subtext { color: var(--gray-500); font-size: 1.05rem; max-width: 640px; }
.bg-tint { background-color: var(--gray-50); }

/* -------------------- Buttons -------------------- */
.btn-issl-primary { background: var(--orange); border:1px solid var(--orange); color:#fff; font-weight:600; padding:.8rem 1.7rem; border-radius: var(--radius-sm); transition:.2s ease; display:inline-flex; align-items:center; }
.btn-issl-primary:hover { background: var(--orange-dark); border-color: var(--orange-dark); color:#fff; transform: translateY(-1px); box-shadow: var(--shadow-md); }
.btn-issl-dark { background: var(--navy-900); border:1px solid var(--navy-900); color:#fff; font-weight:600; padding:.8rem 1.7rem; border-radius: var(--radius-sm); transition:.2s ease; display:inline-flex; align-items:center; }
.btn-issl-dark:hover { background:#0b101c; border-color:#0b101c; color:#fff; }
.btn-issl-outline { background: transparent; border:1.5px solid var(--gray-200); color: var(--ink); font-weight:600; padding:.75rem 1.6rem; border-radius: var(--radius-sm); transition:.2s ease; display:inline-flex; align-items:center; }
.btn-issl-outline:hover { border-color: var(--navy-900); }

/* -------------------- Navbar -------------------- */
.navbar-issl { background:#fff; padding: 1.1rem 0; border-bottom:1px solid var(--gray-200); transition: box-shadow .2s ease; }
.navbar-issl.scrolled { box-shadow: var(--shadow-sm); }
.navbar-brand-issl img { height: 42px; }
.navbar-issl .nav-link { color: var(--ink); font-weight:500; font-size:.95rem; padding:.5rem 1rem !important; }
.navbar-issl .nav-link.active { color: var(--orange-dark); font-weight:600; }
.navbar-issl .dropdown-menu { border:none; box-shadow: var(--shadow-lg); border-radius: var(--radius-sm); padding:.5rem; }
.navbar-issl .dropdown-item { border-radius:6px; padding:.55rem .9rem; font-size:.92rem; }
.navbar-issl .dropdown-item:hover { background: var(--orange-tint); color: var(--orange-dark); }

/* -------------------- Hero -------------------- */
.hero-d { padding: 5rem 0 4rem; position: relative; overflow: hidden; }
.hero-d .cert-strip { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1.75rem; }
.cert-chip {
  display:inline-flex; align-items:center; gap:.4rem;
  background: var(--gray-50); border:1px solid var(--gray-200);
  color: var(--gray-600); font-size:.78rem; font-weight:600;
  padding:.4rem .85rem; border-radius:999px;
}
.cert-chip i { color: var(--orange); }

.hero-d h1 { font-size: 3rem; line-height: 1.08; letter-spacing: -0.01em; }
.hero-d h1 .accent { color: var(--orange); }
.hero-d .lede { font-size: 1.1rem; max-width: 480px; margin: 1.25rem 0 1.75rem; }

.hero-stat-inline {
  display:flex; flex-wrap:wrap; gap: 2.25rem; margin-top: 2.75rem;
  border-top: 1px solid var(--gray-200); padding-top: 1.75rem;
}
.hero-stat-inline .num { font-family:"Poppins",sans-serif; font-weight:800; font-size:1.9rem; color: var(--navy-900); line-height:1; }
.hero-stat-inline .lbl { font-size:.82rem; color: var(--gray-500); margin-top:.3rem; max-width:120px; }

.hero-photo-stack { position:relative; }
.hero-photo-stack img {
  width:100%; border-radius: var(--radius-lg); box-shadow: var(--shadow-lg);
  display:block;
}
.hero-photo-badge {
  position:absolute; left:-1.25rem; bottom:-1.25rem;
  background:#fff; border-radius: var(--radius-md); box-shadow: var(--shadow-lg);
  padding:1.1rem 1.4rem; display:flex; align-items:center; gap:.75rem;
  max-width: 260px;
}
.hero-photo-badge .hpb-icon {
  width:42px; height:42px; min-width:42px; border-radius:50%;
  background: var(--orange); color:#fff; display:flex; align-items:center; justify-content:center; font-size:1.15rem;
}
.hero-photo-badge .hpb-title { font-weight:700; font-size:.92rem; color: var(--ink); }
.hero-photo-badge .hpb-sub { font-size:.76rem; color: var(--gray-500); }

/* -------------------- Two-column proof blocks (DSi-inspired) -------------------- */
.proof-block { display:flex; flex-direction:column; height:100%; }
.proof-media { border-radius: var(--radius-lg); overflow:hidden; margin-bottom:1.75rem; box-shadow: var(--shadow-md); }
.proof-media img { width:100%; height:230px; object-fit:cover; display:block; }
.proof-block h3 { font-size:1.4rem; margin-bottom:.5rem; }
.proof-block .proof-kicker { font-weight:700; color: var(--orange-dark); font-size:.85rem; text-transform:uppercase; letter-spacing:.05em; margin-bottom:.4rem; }
.proof-mini-links { display:flex; flex-wrap:wrap; gap:.6rem; margin: 1.1rem 0 1.6rem; }
.proof-mini-links a {
  display:inline-flex; align-items:center; gap:.4rem;
  background: var(--gray-50); border:1px solid var(--gray-200);
  color: var(--ink); font-weight:600; font-size:.85rem;
  padding:.5rem .9rem; border-radius: var(--radius-sm);
  transition: all .2s ease;
}
.proof-mini-links a:hover { border-color: var(--orange); color: var(--orange-dark); }
.proof-stat-row { display:flex; gap:2rem; margin-top:auto; padding-top:1.4rem; border-top:1px solid var(--gray-200); }
.proof-stat-row .num { font-family:"Poppins",sans-serif; font-weight:800; font-size:1.4rem; color: var(--navy-900); }
.proof-stat-row .lbl { font-size:.78rem; color: var(--gray-500); }

/* -------------------- What sets us apart (alternating pillar + story) -------------------- */
.apart-row { display:flex; align-items:stretch; gap: 3rem; margin-bottom: 3.5rem; }
.apart-row:nth-child(even) { flex-direction: row-reverse; }
.apart-pillars { flex: 1 1 0; }
.apart-pillars ul { list-style:none; padding:0; margin: 1.25rem 0 0; }
.apart-pillars ul li {
  display:flex; align-items:flex-start; gap:.65rem;
  font-size:.95rem; color: var(--ink); font-weight:500;
  padding:.55rem 0;
}
.apart-pillars ul li i { color: var(--orange); margin-top:.2rem; }
.apart-num { font-family:"Poppins",sans-serif; font-weight:800; font-size:2.1rem; }
.apart-num.c-blue { color: var(--blue); }
.apart-num.c-green { color: var(--green); }
.apart-num.c-purple { color: var(--purple); }

.story-quote-card {
  flex: 1 1 0; border-radius: var(--radius-lg); padding: 2.25rem;
  display:flex; flex-direction:column; justify-content:center;
}
.story-quote-card.tint-blue { background: var(--blue-tint); }
.story-quote-card.tint-green { background: var(--green-tint); }
.story-quote-card.tint-purple { background: var(--purple-tint); }
.story-quote-card .sq-icon { font-size:1.8rem; margin-bottom:1rem; }
.story-quote-card.tint-blue .sq-icon { color: var(--blue); }
.story-quote-card.tint-green .sq-icon { color: var(--green); }
.story-quote-card.tint-purple .sq-icon { color: var(--purple); }
.story-quote-card h5 { font-size:1.05rem; margin-bottom:.4rem; }
.story-quote-card .sq-client { font-size:.85rem; color: var(--gray-500); margin-bottom:1rem; }
.story-quote-card p { color: var(--gray-600); font-size:.95rem; margin-bottom:0; }

@media (max-width: 991.98px) {
  .apart-row, .apart-row:nth-child(even) { flex-direction: column; gap: 1.5rem; }
}

/* -------------------- Impact stat strip (portfolio-style) -------------------- */
.impact-strip { background: var(--navy-900); border-radius: var(--radius-lg); padding: 3rem; }
.impact-strip .section-eyebrow { color: var(--orange); }
.impact-strip .section-eyebrow::before { background: var(--orange); }
.impact-strip h2 { color:#fff; }
.impact-strip p.section-subtext { color: #97a1b5; }
.impact-card { padding: 1.5rem 0; border-top: 1px solid rgba(255,255,255,.12); }
.impact-card:first-of-type { border-top: none; }
.impact-card .ic-num { font-family:"Poppins",sans-serif; font-weight:800; font-size:2.1rem; color: var(--orange); line-height:1; }
.impact-card .ic-lbl { color:#97a1b5; font-size:.85rem; margin: .3rem 0 .6rem; }
.impact-card h6 { color:#fff; font-size:1rem; margin-bottom:.25rem; }
.impact-card .ic-client { color: var(--orange); font-size:.8rem; font-weight:600; }

/* -------------------- Capability tag strip -------------------- */
.capability-strip { border-top:1px solid var(--gray-200); border-bottom:1px solid var(--gray-200); padding: 1.75rem 0; }
.capability-strip .cap-label { font-size:.78rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color: var(--gray-500); }
.capability-strip .cap-list { display:flex; flex-wrap:wrap; gap: .6rem 1rem; }
.capability-strip .cap-item { font-weight:600; font-size:.92rem; color: var(--ink); }
.capability-strip .cap-item::after { content:"·"; margin-left:1rem; color: var(--gray-200); }
.capability-strip .cap-item:last-child::after { content:""; }

/* -------------------- CTA -------------------- */
.cta-d { background: linear-gradient(120deg, var(--orange) 0%, var(--orange-dark) 100%); border-radius: var(--radius-lg); padding: 3.25rem; display:flex; align-items:center; justify-content:space-between; gap:2rem; flex-wrap:wrap; }
.cta-d h2 { color:#fff; margin:0; font-size:1.7rem; }
.cta-d p { color: rgba(255,255,255,.9); margin:.35rem 0 0; }

/* -------------------- Footer -------------------- */
.footer-issl { background: var(--navy-900); color:#aab2c5; padding-top:4rem; }
.footer-issl h6 { color:#fff; font-weight:700; font-size:.95rem; margin-bottom:1.25rem; }
.footer-issl .footer-logo { height: 38px; margin-bottom:1rem; filter: brightness(0) invert(1); }
.footer-issl p { color:#8b93a7; font-size:.9rem; }
.footer-links { list-style:none; padding-left:0; margin-bottom:0; }
.footer-links li { margin-bottom:.75rem; }
.footer-links a { color:#aab2c5; font-size:.88rem; transition: color .2s ease; }
.footer-links a:hover { color: var(--orange); }
.footer-social { display:flex; gap:.6rem; margin-top:1.3rem; }
.footer-social a { width:36px; height:36px; border-radius:50%; background: rgba(255,255,255,.08); color:#fff; display:flex; align-items:center; justify-content:center; transition: background .2s ease; }
.footer-social a:hover { background: var(--orange); }
.footer-contact-item { display:flex; gap:.75rem; margin-bottom:1rem; font-size:.88rem; color:#aab2c5; align-items:flex-start; }
.footer-contact-item i { color: var(--orange); margin-top:.15rem; }
.footer-map { border-radius: var(--radius-md); overflow:hidden; border:1px solid rgba(255,255,255,.08); height:220px; }
.footer-map iframe { width:100%; height:100%; border:0; filter: grayscale(35%) contrast(1.05); }
.footer-bottom { border-top:1px solid rgba(255,255,255,.08); margin-top:3rem; padding:1.4rem 0; font-size:.85rem; color:#7d859a; }
.footer-bottom a { color:#8b93a7; margin-left:1.25rem; }
.footer-bottom a:hover { color: var(--orange); }

/* -------------------- Live support widget (smart & timely) -------------------- */
.live-support-wrap { position: fixed; bottom: 1.75rem; left: 1.75rem; z-index: 1000; }
.live-support-toggle { width:52px; height:52px; border-radius:50%; background: var(--navy-900); color:#fff; border:none; display:flex; align-items:center; justify-content:center; font-size:1.35rem; box-shadow: var(--shadow-lg); position:relative; cursor:pointer; transition: all .2s ease; }
.live-support-toggle:hover { background: var(--orange); transform: translateY(-2px); }
.ls-dot { position:absolute; top:4px; right:4px; width:12px; height:12px; border-radius:50%; border:2px solid #fff; background: var(--gray-500); }
.ls-dot.ls-online { background:#10b981; box-shadow:0 0 0 0 rgba(16,185,129,.6); animation: lsPulse 1.8s infinite; }
.ls-dot.ls-offline { background:#9ca3af; }
@keyframes lsPulse { 0%{box-shadow:0 0 0 0 rgba(16,185,129,.55);} 70%{box-shadow:0 0 0 9px rgba(16,185,129,0);} 100%{box-shadow:0 0 0 0 rgba(16,185,129,0);} }
.live-support-card { position:absolute; bottom:64px; left:0; width:270px; background:#fff; border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); padding:1.25rem; opacity:0; visibility:hidden; transform: translateY(8px); transition: all .2s ease; }
.live-support-card.show { opacity:1; visibility:visible; transform: translateY(0); }
.ls-card-head { display:flex; align-items:center; gap:.5rem; font-weight:700; font-size:.92rem; color: var(--ink); margin-bottom:.5rem; }
.ls-card-head .ls-dot { position:static; border:none; width:9px; height:9px; }
.ls-time { font-family:"Poppins",sans-serif; font-weight:700; font-size:1rem; color: var(--navy-900); margin-bottom:.4rem; }
.ls-note { font-size:.78rem; color: var(--gray-500); margin-bottom:1rem; }
.ls-chat-btn { display:flex; align-items:center; justify-content:center; width:100%; font-size:.88rem; padding:.65rem 1rem; }

/* -------------------- Back to top -------------------- */
.back-to-top { position:fixed; bottom:1.75rem; right:1.75rem; width:46px; height:46px; border-radius:50%; background: var(--orange); color:#fff; display:flex; align-items:center; justify-content:center; box-shadow: var(--shadow-lg); opacity:0; visibility:hidden; transform: translateY(10px); transition: all .25s ease; z-index:999; }
.back-to-top.show { opacity:1; visibility:visible; transform: translateY(0); }
.back-to-top:hover { background: var(--orange-dark); color:#fff; }

/* -------------------- Responsive -------------------- */
@media (max-width: 991.98px) {
  .hero-d h1 { font-size: 2.25rem; }
  .section-pad { padding-top: 3.75rem; padding-bottom: 3.75rem; }
  .hero-photo-stack { margin-top: 2.5rem; }
}
@media (max-width: 575.98px) {
  .hero-d h1 { font-size: 1.9rem; }
  .section-heading { font-size: 1.6rem; }
}

/* =========================================================
   INNER PAGES — shared components (Concept D)
   ========================================================= */
.bg-light-gray { background-color: var(--gray-50); }
.bg-navy { background-color: var(--navy-800); }

.btn-issl-outline-light { background: transparent; border:1px solid rgba(255,255,255,.55); color:#fff; font-weight:600; padding:.75rem 1.6rem; border-radius: var(--radius-sm); transition:.2s ease; display:inline-flex; align-items:center; }
.btn-issl-outline-light:hover { background: rgba(255,255,255,.12); border-color:#fff; color:#fff; }
.btn-issl-outline-dark { background: transparent; border:1px solid rgba(19,27,42,.25); color: var(--ink); font-weight:600; padding:.75rem 1.6rem; border-radius: var(--radius-sm); transition:.2s ease; display:inline-flex; align-items:center; }
.btn-issl-outline-dark:hover { background: var(--ink); border-color: var(--ink); color:#fff; }
.btn-issl-white { background:#fff; border:1px solid #fff; font-weight:600; padding:.75rem 1.6rem; border-radius: var(--radius-sm); transition:.2s ease; }
.btn-issl-white:hover { transform: translateY(-1px); box-shadow: var(--shadow-md); }
.btn-white-blue { color:#1B3FAE; } .btn-white-blue:hover { color:#1B3FAE; background:#f2f6ff; }
.btn-white-green { color:#0D6E5C; } .btn-white-green:hover { color:#0D6E5C; background:#f0fbf8; }
.btn-white-purple { color:#4C2FB0; } .btn-white-purple:hover { color:#4C2FB0; background:#f6f3ff; }
.btn-white-orange { color:#DC2626; } .btn-white-orange:hover { color:#DC2626; background:#fff4f2; }

/* Page hero banners */
.page-hero { padding-top: 8.5rem; padding-bottom: 3.5rem; position: relative; overflow: hidden; }
.page-hero .container { position: relative; z-index: 1; }
.page-hero-icon { width:60px; height:60px; border-radius: var(--radius-md); background: rgba(255,255,255,.18); display:flex; align-items:center; justify-content:center; font-size:1.75rem; color:#fff; margin-bottom:1.25rem; }
.page-hero h1 { color:#fff; font-size:2.4rem; margin-bottom:.9rem; }
.page-hero p.lead-text,
.page-hero p.lede { color: rgba(255,255,255,.88); font-size:1.05rem; max-width:700px; margin-bottom:1.5rem; }
.page-hero .hero-eyebrow {
  display: inline-flex; align-items: center; gap: .5rem;
  color: #fff; font-weight: 700; letter-spacing: .08em;
  font-size: .78rem; text-transform: uppercase;
  background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.3);
  padding: .35rem .9rem; border-radius: 999px; margin-bottom: 1.1rem;
}
.page-hero.hero-simple .hero-eyebrow { display:inline-flex; }
.page-hero.hero-simple { padding-bottom:3.75rem; text-align:center; }
.page-hero.hero-simple h1 { font-size:2.5rem; }
.page-hero.hero-simple p.lead-text,
.page-hero.hero-simple p.lede { margin-left:auto; margin-right:auto; text-align:center; }

.hero-blue    { background-image: linear-gradient(120deg, rgba(47,111,237,0.86) 0%, rgba(27,63,174,0.9) 100%), url('https://images.pexels.com/photos/7682087/pexels-photo-7682087.jpeg?auto=compress&cs=tinysrgb&w=1920'); background-size:cover; background-position:center; }
.hero-green   { background-image: linear-gradient(120deg, rgba(16,185,129,0.86) 0%, rgba(13,110,92,0.9) 100%), url('https://images.pexels.com/photos/12902862/pexels-photo-12902862.jpeg?auto=compress&cs=tinysrgb&w=1920'); background-size:cover; background-position:center; }
.hero-purple  { background-image: linear-gradient(120deg, rgba(139,92,246,0.86) 0%, rgba(76,47,176,0.9) 100%), url('https://images.pexels.com/photos/36706460/pexels-photo-36706460.jpeg?auto=compress&cs=tinysrgb&w=1920'); background-size:cover; background-position:center; }
.hero-orange  { background-image: linear-gradient(120deg, rgba(245,130,31,0.88) 0%, rgba(217,108,15,0.92) 100%), url('https://images.pexels.com/photos/7876755/pexels-photo-7876755.jpeg?auto=compress&cs=tinysrgb&w=1920'); background-size:cover; background-position:center; }
.hero-navy    { background-image: linear-gradient(135deg, rgba(19,27,42,0.92) 0%, rgba(33,44,67,0.88) 100%), url('https://images.pexels.com/photos/29267512/pexels-photo-29267512.jpeg?auto=compress&cs=tinysrgb&w=1920'); background-size:cover; background-position:center; }
.hero-about   { background-image: linear-gradient(135deg, rgba(19,27,42,0.90) 0%, rgba(33,44,67,0.86) 100%), url('https://images.pexels.com/photos/9301291/pexels-photo-9301291.jpeg?auto=compress&cs=tinysrgb&w=1920'); background-size:cover; background-position:center; }
.hero-industries { background-image: linear-gradient(135deg, rgba(19,27,42,0.90) 0%, rgba(33,44,67,0.86) 100%), url('https://images.pexels.com/photos/8636606/pexels-photo-8636606.jpeg?auto=compress&cs=tinysrgb&w=1920'); background-size:cover; background-position:center; }
.hero-cases   { background-image: linear-gradient(135deg, rgba(19,27,42,0.90) 0%, rgba(33,44,67,0.86) 100%), url('https://images.pexels.com/photos/8069428/pexels-photo-8069428.jpeg?auto=compress&cs=tinysrgb&w=1920'); background-size:cover; background-position:center; }
.hero-contact { background-image: linear-gradient(135deg, rgba(19,27,42,0.90) 0%, rgba(33,44,67,0.86) 100%), url('https://images.pexels.com/photos/8933650/pexels-photo-8933650.jpeg?auto=compress&cs=tinysrgb&w=1920'); background-size:cover; background-position:center; }

/* Platform strip */
.platform-strip { background: var(--gray-50); padding:1.4rem 0; border-bottom:1px solid var(--gray-200); }
.platform-strip .platform-item { display:inline-flex; align-items:center; gap:.5rem; font-weight:600; color: var(--ink); font-size:.95rem; }
.platform-strip .platform-item i { font-size:1.1rem; }

/* Generic feature card */
.feature-card { background:#fff; border:1px solid var(--gray-200); border-radius: var(--radius-md); padding:1.75rem; height:100%; transition: all .25s ease; }
.feature-card:hover { box-shadow: var(--shadow-lg); transform: translateY(-4px); border-color: transparent; }
.feature-card .feature-icon { width:52px; height:52px; border-radius: var(--radius-sm); display:flex; align-items:center; justify-content:center; font-size:1.35rem; color:#fff; margin-bottom:1.1rem; }
.feature-card h5 { font-size:1.05rem; margin-bottom:.55rem; }
.feature-card p { font-size:.88rem; margin-bottom:0; }

.fi-blue   { background-color:#2F6FED; }
.fi-green  { background-color:#10B981; }
.fi-purple { background-color:#8B5CF6; }
.fi-orange { background-color:#F97316; }
.fi-pink   { background-color:#EC4899; }
.fi-navy   { background-color:#1B3FAE; }

/* Checklists */
.check-list { list-style:none; padding-left:0; margin-bottom:0; }
.check-list li { display:flex; align-items:flex-start; gap:.7rem; margin-bottom:.95rem; font-size:.95rem; color: var(--gray-600); }
.check-list li:last-child { margin-bottom:0; }
.check-list .cl-icon { width:22px; height:22px; min-width:22px; border-radius:5px; display:flex; align-items:center; justify-content:center; color:#fff; font-size:.8rem; margin-top:.1rem; }
.cl-blue   { background-color:#2F6FED; }
.cl-green  { background-color:#10B981; }
.cl-purple { background-color:#8B5CF6; }
.cl-orange { background-color:#F97316; }
.check-list.on-dark li { color: rgba(255,255,255,.92); }

/* Stat panels */
.stat-panel { border-radius: var(--radius-lg); padding:2rem; color:#fff; }
.stat-panel h5 { color:#fff; font-size:1.05rem; margin-bottom:1.4rem; }
.stat-panel .stat-big { font-family:"Poppins",sans-serif; font-weight:800; font-size:2rem; line-height:1; }
.stat-panel .stat-lbl { font-size:.82rem; color: rgba(255,255,255,.85); margin-top:.3rem; }
.stat-panel.sp-blue   { background: linear-gradient(135deg, #2F6FED, #1B3FAE); }
.stat-panel.sp-green  { background: linear-gradient(135deg, #10B981, #0D6E5C); }
.stat-panel.sp-purple { background: rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.25); }
.stat-panel.sp-orange { background: rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.3); }

/* Process steps */
.process-step { text-align:center; }
.process-num { width:52px; height:52px; border-radius:50%; color:#fff; font-family:"Poppins",sans-serif; font-weight:700; font-size:1.1rem; display:flex; align-items:center; justify-content:center; margin:0 auto .9rem; }
.process-step .process-icon { font-size:1.4rem; margin-bottom:.7rem; }
.process-step h6 { font-weight:700; margin-bottom:.4rem; font-size:1rem; }
.process-step p { font-size:.85rem; margin-bottom:0; }
.pn-blue   { background-color:#2F6FED; } .pn-green  { background-color:#10B981; }
.pn-purple { background-color:#8B5CF6; } .pn-orange { background-color: var(--orange); }
.pi-blue   { color:#2F6FED; } .pi-green  { color:#10B981; }
.pi-purple { color:#8B5CF6; } .pi-orange { color: var(--orange); }

/* Pill / tech box */
.pill-box { background:#fff; border:1px solid var(--gray-200); border-radius: var(--radius-sm); padding:.85rem 1rem; text-align:center; font-weight:600; font-size:.9rem; color: var(--ink); height:100%; display:flex; align-items:center; justify-content:center; transition: all .2s ease; }
.pill-box:hover { box-shadow: var(--shadow-sm); transform: translateY(-2px); }

/* CTA band variants (inner pages) */
.cta-band { padding: 4rem 0; }
.cta-band h2 { color:#fff; font-size:2rem; }
.cta-band p { color: rgba(255,255,255,.9); max-width:620px; margin:0 auto; }
.cta-band.cta-blue   { background: linear-gradient(120deg, #2F6FED 0%, #1B3FAE 100%); }
.cta-band.cta-green  { background: linear-gradient(120deg, #10B981 0%, #0D6E5C 100%); }
.cta-band.cta-purple { background: linear-gradient(120deg, #8B5CF6 0%, #4C2FB0 100%); }
.cta-band.cta-orange { background: linear-gradient(120deg, var(--orange) 0%, var(--orange-dark) 100%); }
.cta-band.cta-navy   { background: var(--navy-800); }
.cta-band.cta-light  { background: var(--gray-50); padding:4rem 0; }
.cta-band.cta-light h2 { color: var(--ink); }
.cta-band.cta-light p { color: var(--gray-500); }

/* Industries detail cards */
.industry-detail-card { background:#fff; border:1px solid var(--gray-200); border-radius: var(--radius-md); padding:1.75rem; height:100%; transition: all .25s ease; }
.industry-detail-card:hover { box-shadow: var(--shadow-lg); transform: translateY(-4px); border-color: transparent; }
.industry-detail-card .id-icon { width:48px; height:48px; border-radius: var(--radius-sm); display:flex; align-items:center; justify-content:center; font-size:1.25rem; color:#fff; margin-bottom:1rem; }
.industry-detail-card h5 { font-size:1.05rem; margin-bottom:.55rem; }
.industry-detail-card p { font-size:.86rem; margin-bottom:1rem; }
.industry-detail-card .id-key-label { font-size:.72rem; font-weight:700; letter-spacing:.06em; color: var(--gray-500); margin-bottom:.5rem; }
.industry-detail-card ul.id-key-list { list-style:none; padding-left:0; margin-bottom:0; }
.industry-detail-card ul.id-key-list li { font-size:.83rem; color: var(--gray-600); padding-left:1.1rem; position:relative; margin-bottom:.4rem; }
.industry-detail-card ul.id-key-list li::before { content:""; position:absolute; left:0; top:.5em; width:6px; height:6px; border-radius:50%; background-color: var(--orange); }

/* Case study cards */
.case-card { background:#fff; border:1px solid var(--gray-200); border-radius: var(--radius-lg); padding:2rem; margin-bottom:1.75rem; }
.case-tag { display:inline-flex; align-items:center; gap:.5rem; background-color: var(--ink); color:#fff; font-size:.72rem; font-weight:700; padding:.3rem .7rem; border-radius:999px; margin-bottom:.9rem; }
.case-tag .case-tag-icon { width:20px; height:20px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:.68rem; }
.case-card h4 { font-size:1.3rem; margin-bottom:.3rem; }
.case-client { color: var(--orange-dark); font-weight:600; font-size:.88rem; margin-bottom:1.3rem; }
.case-stat-block { border-radius: var(--radius-md); padding:1.1rem 1.2rem; color:#fff; margin-bottom:.85rem; }
.case-stat-block .cs-num { font-family:"Poppins",sans-serif; font-weight:800; font-size:1.6rem; line-height:1.1; }
.case-stat-block .cs-lbl { font-size:.78rem; opacity:.9; }
.case-section-label { display:flex; align-items:center; gap:.5rem; font-weight:700; font-size:.92rem; color: var(--ink); margin-bottom:.5rem; }
.case-section-label i { color: var(--orange-dark); }
.case-body-text { font-size:.88rem; color: var(--gray-600); margin-bottom:1.2rem; }
.case-results-list { list-style:none; padding-left:0; margin-bottom:0; }
.case-results-list li { display:flex; align-items:flex-start; gap:.5rem; font-size:.85rem; color: var(--gray-600); margin-bottom:.55rem; }
.case-results-list li i { color:#10B981; margin-top:.15rem; }

.case-color-blue   .cs-block { background: linear-gradient(135deg, #2F6FED, #1B3FAE); }
.case-color-pink   .cs-block { background: linear-gradient(135deg, #EC4899, #BE185D); }
.case-color-orange .cs-block { background: linear-gradient(135deg, var(--orange), var(--orange-dark)); }
.case-color-green  .cs-block { background: linear-gradient(135deg, #10B981, #0D6E5C); }
.case-color-purple .cs-block { background: linear-gradient(135deg, #8B5CF6, #4C2FB0); }
.case-color-teal   .cs-block { background: linear-gradient(135deg, #14B8A6, #0F766E); }
.case-color-blue   .case-tag { background-color:#1B3FAE; }
.case-color-pink   .case-tag { background-color:#BE185D; }
.case-color-orange .case-tag { background-color: var(--orange-dark); }
.case-color-green  .case-tag { background-color:#0D6E5C; }
.case-color-purple .case-tag { background-color:#4C2FB0; }
.case-color-teal   .case-tag { background-color:#0F766E; }

.impact-stat { background:#fff; border-radius: var(--radius-md); padding:1.75rem 1rem; text-align:center; box-shadow: var(--shadow-sm); }
.impact-stat .impact-num { font-family:"Poppins",sans-serif; font-weight:800; font-size:2rem; color: var(--orange-dark); }
.impact-stat .impact-lbl { font-size:.85rem; color: var(--gray-500); margin-top:.2rem; }

/* About page */
.about-hero-stat { border-radius: var(--radius-md); padding:1.6rem; color:#fff; height:100%; }
.about-hero-stat .ahs-num { font-family:"Poppins",sans-serif; font-weight:800; font-size:1.9rem; line-height:1; }
.about-hero-stat .ahs-lbl { font-size:.85rem; opacity:.92; margin-top:.3rem; }
.ahs-navy   { background-color: var(--navy-800); }
.ahs-orange { background: linear-gradient(135deg, var(--orange), var(--orange-dark)); }

.mv-card { background:#fff; border-radius: var(--radius-md); padding:2rem; height:100%; box-shadow: var(--shadow-sm); }
.mv-icon { width:54px; height:54px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1.4rem; color:#fff; margin-bottom:1.2rem; }

.value-card { background:#fff; border-radius: var(--radius-md); padding:1.75rem 1.25rem; text-align:center; height:100%; box-shadow: var(--shadow-sm); transition: all .25s ease; }
.value-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.value-icon { width:56px; height:56px; border-radius:50%; background-color: var(--navy-700); color:#fff; display:flex; align-items:center; justify-content:center; font-size:1.3rem; margin:0 auto 1.1rem; }
.value-card h6 { font-weight:700; margin-bottom:.5rem; }
.value-card p { font-size:.85rem; margin-bottom:0; }

/* Timeline */
.timeline { position:relative; padding:1rem 0; }
.timeline::before { content:""; position:absolute; left:50%; top:0; bottom:0; width:2px; background: rgba(255,255,255,.18); transform: translateX(-50%); }
.timeline-item { position:relative; width:50%; padding:0 3rem 2.5rem; }
.timeline-item:nth-child(odd) { left:0; text-align:right; }
.timeline-item:nth-child(even) { left:50%; text-align:left; }
.timeline-dot { position:absolute; top:.4rem; width:14px; height:14px; border-radius:50%; background-color: var(--orange); border:3px solid var(--navy-900); }
.timeline-item:nth-child(odd) .timeline-dot { right:-7px; }
.timeline-item:nth-child(even) .timeline-dot { left:-7px; }
.timeline-card { background: rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); border-radius: var(--radius-md); padding:1.25rem 1.5rem; display:inline-block; }
.timeline-year { color: var(--orange); font-family:"Poppins",sans-serif; font-weight:800; font-size:1.3rem; }
.timeline-card h6 { color:#fff; font-weight:700; margin:.2rem 0; font-size:1rem; }
.timeline-card p { color:#97a1b5; font-size:.85rem; margin-bottom:0; }

@media (max-width: 767.98px) {
  .timeline::before { left:20px; }
  .timeline-item, .timeline-item:nth-child(odd), .timeline-item:nth-child(even) { width:100%; left:0; text-align:left; padding:0 0 2rem 3rem; }
  .timeline-item:nth-child(odd) .timeline-dot, .timeline-item:nth-child(even) .timeline-dot { left:13px; right:auto; }
}

/* Contact page */
.contact-info-card { background:#fff; border:1px solid var(--gray-200); border-radius: var(--radius-md); padding:1.5rem; display:flex; gap:1rem; align-items:flex-start; margin-bottom:1rem; }
.contact-info-card .ci-icon { width:44px; height:44px; min-width:44px; border-radius: var(--radius-sm); background-color: var(--orange); color:#fff; display:flex; align-items:center; justify-content:center; font-size:1.1rem; }
.contact-info-card h6 { font-weight:700; margin-bottom:.3rem; font-size:.98rem; }
.contact-info-card p { font-size:.88rem; margin-bottom:0; }

.contact-form-card { background:#fff; border:1px solid var(--gray-200); border-radius: var(--radius-lg); padding:2.25rem; box-shadow: var(--shadow-sm); }
.form-label-issl { font-weight:600; font-size:.88rem; color: var(--ink); margin-bottom:.4rem; }
.form-control-issl, .form-select.form-control-issl { background-color: var(--gray-50); border:1px solid var(--gray-200); border-radius: var(--radius-sm); padding:.7rem .9rem; font-size:.92rem; }
.form-control-issl:focus { background-color:#fff; border-color: var(--orange); box-shadow: 0 0 0 .2rem rgba(245,130,31,.15); }
.btn-send-message { background: linear-gradient(120deg, var(--navy-800) 0%, var(--orange) 100%); border:none; color:#fff; font-weight:600; padding:.85rem 1.5rem; border-radius: var(--radius-sm); width:100%; transition: opacity .2s ease; }
.btn-send-message:hover { opacity:.92; color:#fff; }

.office-map-wrap { border-radius: var(--radius-lg); overflow:hidden; border:1px solid var(--gray-200); height:340px; }
.office-map-wrap iframe { width:100%; height:100%; border:0; }
