/*
 * Tekyantra Custom CSS — rebuilt from exact Figma design tokens
 * Fonts: Plus Jakarta Sans (primary) · Inter (products/awards/cta) · IBM Plex Mono (labels)
 * Primary blue: #1868db  |  Dark bg: #13171e  |  Heading: #111827 / #13171e
 */

/* =============================================================
   CSS CUSTOM PROPERTIES
   ============================================================= */
:root {
  /* Brand colours */
  --color-primary: #1868db;
  --color-primary-dark: #0e48a5;
  --color-primary-light: #5b99f1;
  --color-primary-pale: #eef4ff;
  --color-primary-pale2: #ebf2fd;
  --color-accent-light: #a1c9fb; /* labels on dark sections */

  /* Text */
  --color-heading: #111827; /* Plus Jakarta Sans sections */
  --color-heading-dark: #13171e; /* Inter sections */
  --color-body: #4b5563; /* body text PJS sections */
  --color-body-alt: #6b748e; /* body text Inter sections */
  --color-muted: #9ba4b5; /* secondary muted text */
  --color-muted-alt: #8e96ad; /* muted on dark backgrounds */

  /* Borders */
  --color-border: #e0e4ea;
  --color-border-2: #e4e7ee;
  --color-border-3: #d1d5e0;
  --color-border-light: rgba(214, 218, 230, 0.7);

  /* Backgrounds */
  --color-bg-white: #ffffff;
  --color-bg-light: #f8f9fb;
  --color-bg-section: #f3f4f9; /* case studies section */
  --color-bg-dark: #13171e; /* products section */
  --color-bg-card: #0b1432; /* product card */
  --color-bg-testimonial: #1f2937; /* testimonial card */

  /* Stars */
  --color-star: #f59e0b;

  /* Misc */
  --transition: all 0.3s ease;
  --shadow-card:
    0px 2px 6px rgba(0, 0, 0, 0.04), 0px 8px 40px -4px rgba(17, 24, 39, 0.09);
  --shadow-btn: 0px 4px 12px rgba(24, 104, 219, 0.3);
}

/* =============================================================
   GOOGLE FONTS PRECONNECT HINT
   ============================================================= */
/* Loaded via functions.php wp_enqueue_style */

/* =============================================================
   BASE / RESET
   ============================================================= */
*,
*::before,
*::after {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}

body {
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-size: 16px;
  line-height: 1.7;
  color: var(--color-body);
  font-weight: 400;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: var(--color-primary);
  text-decoration: none;
  transition: var(--transition);
}
a:hover {
  color: var(--color-primary-dark);
  text-decoration: none;
}

/* =============================================================
   TYPOGRAPHY
   ============================================================= */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 800;
  line-height: 1.12;
  color: var(--color-heading);
  margin-top: 0;
}

h1 {
  font-size: 64px;
  letter-spacing: -2px;
}
h2 {
  font-size: 44px;
  letter-spacing: -1px;
}
h3 {
  font-size: 30px;
  letter-spacing: -0.5px;
}
h4 {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.3;
}
h5 {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
}
h6 {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.5;
}

p {
  font-size: 16px;
  line-height: 1.75;
  padding: 0;
  margin-top: 0;
  margin-bottom: 20px;
  color: var(--color-body);
}

p strong,
p bold {
  color: var(--color-heading);
  font-weight: 700;
}

ul,
ol {
  margin-top: 27px;
  margin-bottom: 27px;
}
ul > li,
ol > li {
  padding-top: 14px;
  padding-bottom: 0;
}

/* Reset nav items — global li padding must not affect navbar */
.navbar-nav > li,
.navbar-nav .nav-item {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin: 0 !important;
}

/* =============================================================
   CONTAINER + SECTION PADDING
   ============================================================= */
._container {
  max-width: 1400px;
  width: 100%;
  position: relative;
  padding: 0;
  margin: 0 auto;
}

.section-padding {
  padding: 100px 30px;
  position: relative;
}

/* =============================================================
   UTILITY — PADDING (px only)
   ============================================================= */
.paddingtophalfem {
  padding-top: 8px;
}
.paddingtop1em {
  padding-top: 16px;
}
.paddingtop2em {
  padding-top: 32px;
}
.paddingtop3em {
  padding-top: 48px;
}
.paddingtop5em {
  padding-top: 80px;
}
.paddingtop7em {
  padding-top: 112px;
}
.paddingtop8 {
  padding-top: 8px;
}
.paddingtop16 {
  padding-top: 16px;
}
.paddingtop24 {
  padding-top: 24px;
}
.paddingtop32 {
  padding-top: 32px;
}
.paddingtop48 {
  padding-top: 48px;
}
.paddingtop64 {
  padding-top: 64px;
}
.paddingtop80 {
  padding-top: 80px;
}

.paddingbottomhalfem {
  padding-bottom: 8px;
}
.paddingbottom1em {
  padding-bottom: 16px;
}
.paddingbottom2em {
  padding-bottom: 32px;
}
.paddingbottom3em {
  padding-bottom: 48px;
}
.paddingbottom8 {
  padding-bottom: 8px;
}
.paddingbottom16 {
  padding-bottom: 16px;
}
.paddingbottom32 {
  padding-bottom: 32px;
}
.paddingbottom48 {
  padding-bottom: 48px;
}
.paddingbottom64 {
  padding-bottom: 64px;
}

.paddingtop-bottom1em {
  padding-top: 16px;
  padding-bottom: 16px;
}
.paddingtop-bottom2em {
  padding-top: 32px;
  padding-bottom: 32px;
}
.paddingtop-bottom3em {
  padding-top: 48px;
  padding-bottom: 48px;
}
.paddingtop-bottom4em {
  padding-top: 64px;
  padding-bottom: 64px;
}
.paddingtop-bottom16 {
  padding-top: 16px;
  padding-bottom: 16px;
}
.paddingtop-bottom32 {
  padding-top: 32px;
  padding-bottom: 32px;
}
.paddingtop-bottom48 {
  padding-top: 48px;
  padding-bottom: 48px;
}
.paddingtop-bottom64 {
  padding-top: 64px;
  padding-bottom: 64px;
}

.padding1em {
  padding: 16px;
}
.padding2em {
  padding: 32px;
}
.padding8 {
  padding: 8px;
}
.padding16 {
  padding: 16px;
}
.padding32 {
  padding: 32px;
}

.no-padding {
  padding: 0 !important;
}
.nopadding-top {
  padding-top: 0 !important;
}
.nopadding-bottom {
  padding-bottom: 0 !important;
}

/* =============================================================
   UTILITY — MARGIN (px only)
   ============================================================= */
.margintop1em {
  margin-top: 16px;
}
.margintop2em {
  margin-top: 32px;
}
.margintop3em {
  margin-top: 48px;
}
.margintop8 {
  margin-top: 8px;
}
.margintop16 {
  margin-top: 16px;
}
.margintop24 {
  margin-top: 24px;
}
.margintop32 {
  margin-top: 32px;
}
.margintop48 {
  margin-top: 48px;
}
.margintop64 {
  margin-top: 64px;
}

.marginbottom1em {
  margin-bottom: 16px;
}
.marginbottom2em {
  margin-bottom: 32px;
}
.marginbottom3em {
  margin-bottom: 48px;
}
.marginbottom8 {
  margin-bottom: 8px;
}
.marginbottom16 {
  margin-bottom: 16px;
}
.marginbottom32 {
  margin-bottom: 32px;
}
.marginbottom48 {
  margin-bottom: 48px;
}
.marginbottom64 {
  margin-bottom: 64px;
}

.margintop-bottom1em {
  margin-top: 16px;
  margin-bottom: 16px;
}
.margintop-bottom2em {
  margin-top: 32px;
  margin-bottom: 32px;
}
.margintop-bottom3em {
  margin-top: 48px;
  margin-bottom: 48px;
}
.margintop-bottom4em {
  margin-top: 64px;
  margin-bottom: 64px;
}
.margintop-bottom16 {
  margin-top: 16px;
  margin-bottom: 16px;
}
.margintop-bottom32 {
  margin-top: 32px;
  margin-bottom: 32px;
}
.margintop-bottom48 {
  margin-top: 48px;
  margin-bottom: 48px;
}
.margintop-bottom64 {
  margin-top: 64px;
  margin-bottom: 64px;
}

.margin1em {
  margin: 16px;
}
.margin2em {
  margin: 32px;
}

.no-margin {
  margin: 0 !important;
}
.nomargin-top {
  margin-top: 0 !important;
}
.nomargin-bottom {
  margin-bottom: 0 !important;
}

.clear {
  clear: both;
}

/* =============================================================
   UTILITY — TEXT / BG
   ============================================================= */
.text-white {
  color: #fff !important;
}
.text-black {
  color: #000 !important;
}
.text-primary {
  color: var(--color-primary) !important;
}
.text-muted {
  color: var(--color-muted) !important;
}
.text-center {
  text-align: center !important;
}
.text-left {
  text-align: left !important;
}
.text-right {
  text-align: right !important;
}

.bg-primary {
  background-color: var(--color-primary) !important;
}
.bg-dark {
  background-color: var(--color-bg-dark) !important;
}
.bg-white {
  background-color: #fff !important;
}
.bg-light {
  background-color: var(--color-bg-light) !important;
}
.bg-section {
  background-color: var(--color-bg-section) !important;
}
.bg-image {
  background: url("") no-repeat;
  background-size: cover;
  background-position: center;
  position: relative;
}

.overflow-hidden {
  overflow: hidden;
}
.flex-center {
  display: flex;
  align-items: center;
  justify-content: center;
}
.flex-between {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.gap8 {
  gap: 8px;
}
.gap16 {
  gap: 16px;
}
.gap24 {
  gap: 24px;
}
.gap32 {
  gap: 32px;
}

/* =============================================================
   SECTION LABEL / BADGE (IBM Plex Mono style)
   ============================================================= */
.section-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(24, 104, 219, 0.15);
  color: var(--color-primary);
  font-family: "IBM Plex Mono", monospace;
  font-size: 11px;
  padding: 8px 16px;
  border-radius: 100px;
  margin-bottom: 20px;
}

.section-badge--dark {
  background: rgba(24, 104, 219, 0.12);
  border-color: rgba(24, 104, 219, 0.3);
  color: #a1c9fb;
  font-family: "Inter", sans-serif;
  font-weight: 600;
  font-size: 11px;
  letter-spacing: 0.55px;
}

.section-label-inter {
  display: block;
  font-family: "Inter", sans-serif;
  font-weight: 600;
  font-size: 11px;
  color: var(--color-primary);
  letter-spacing: 1.54px;
  text-transform: uppercase;
  margin-bottom: 20px;
}

.section-title-pjs {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 800;
  font-size: 56px;
  color: var(--color-heading);
  line-height: 1.18;
  letter-spacing: -0.5px;
  margin-bottom: 16px;
}

.section-title-pjs em,
.section-title-pjs .accent {
  color: var(--color-primary);
  font-style: normal;
}

.section-title-inter {
  font-family: "Inter", sans-serif;
  font-weight: 800;
  font-size: 48px;
  color: var(--color-heading-dark);
  line-height: 1.08;
  margin-bottom: 16px;
}

.section-title-inter .accent {
  color: var(--color-primary-light);
}

.section-sub {
  font-size: 18px;
  line-height: 1.65;
  color: var(--color-body);
  max-width: 660px;
}

.section-sub-inter {
  font-family: "Inter", sans-serif;
  font-size: 17px;
  line-height: 1.56;
  color: var(--color-body-alt);
  max-width: 680px;
}

/* Gradient underline accent */
.gradient-rule {
  width: 56px;
  height: 3px;
  background: linear-gradient(
    to right,
    var(--color-primary),
    rgba(24, 104, 219, 0)
  );
  border-radius: 2px;
  margin: 20px 0;
}

/* =============================================================
   BUTTONS
   ============================================================= */
/* Primary solid — PJS sections */
.btn-primary-custom {
  display: inline-block;
  background: var(--color-primary);
  color: #fff !important;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 15px;
  font-weight: 700;
  padding: 15px 32px;
  border-radius: 10px;
  border: none;
  box-shadow: 0 6px 20px -2px rgba(24, 104, 219, 0.32);
  cursor: pointer;
  transition: var(--transition);
  text-align: center;
  line-height: 1;
  text-decoration: none;
}

.btn-primary-custom:hover {
  background: var(--color-primary-dark);
  color: #fff !important;
  transform: translateY(-1px);
}

/* Pill primary — Inter sections + Final CTA white */
.btn-pill-primary {
  display: inline-block;
  background: var(--color-primary);
  color: #fff !important;
  font-family: "Inter", sans-serif;
  font-size: 14px;
  font-weight: 600;
  padding: 13px 22px;
  border-radius: 100px;
  box-shadow: 0 4px 18px rgba(24, 104, 219, 0.4);
  cursor: pointer;
  transition: var(--transition);
  text-decoration: none;
  line-height: 1;
}

.btn-pill-primary:hover {
  background: var(--color-primary-dark);
  color: #fff !important;
}

/* Pill outline dark — secondary on dark bg */
.btn-pill-outline {
  display: inline-block;
  background: transparent;
  color: var(--color-muted-alt) !important;
  font-family: "Inter", sans-serif;
  font-size: 14px;
  font-weight: 600;
  padding: 13px 22px;
  border-radius: 100px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  cursor: pointer;
  transition: var(--transition);
  text-decoration: none;
  line-height: 1;
}

.btn-pill-outline:hover {
  border-color: rgba(255, 255, 255, 0.4);
  color: #fff !important;
}

/* Final CTA — white solid */
.btn-cta-white {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  color: var(--color-heading-dark) !important;
  font-family: "Inter", sans-serif;
  font-size: 16px;
  font-weight: 700;
  padding: 20px 36px;
  border-radius: 100px;
  box-shadow:
    0 3px 10px rgba(0, 0, 0, 0.14),
    0 8px 32px rgba(255, 255, 255, 0.28);
  cursor: pointer;
  transition: var(--transition);
  text-decoration: none;
  line-height: 1;
}

.btn-cta-white .arrow {
  color: var(--color-primary);
}
.btn-cta-white:hover {
  background: #f0f4ff;
  color: var(--color-heading-dark) !important;
}

/* Final CTA — ghost secondary */
.btn-cta-ghost {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255, 255, 255, 0.1);
  color: #fff !important;
  font-family: "Inter", sans-serif;
  font-size: 16px;
  font-weight: 600;
  padding: 20px 36px;
  border-radius: 100px;
  border: 2px solid rgba(255, 255, 255, 0.38);
  cursor: pointer;
  transition: var(--transition);
  text-decoration: none;
  line-height: 1;
}

.btn-cta-ghost:hover {
  background: rgba(255, 255, 255, 0.15);
  color: #fff !important;
}

/* Outline light — Why Tekyantra CTA */
.btn-outline-light {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #eef4ff;
  color: var(--color-primary) !important;
  font-family: "Inter", sans-serif;
  font-size: 14px;
  font-weight: 500;
  padding: 11px 20px;
  border-radius: 10px;
  border: 1px solid #c2ddfe;
  cursor: pointer;
  transition: var(--transition);
  text-decoration: none;
  line-height: 1;
}

.btn-outline-light:hover {
  background: #ddeaff;
  color: var(--color-primary) !important;
}

/* Outline standard (Services) */
.btn-outline-custom {
  display: inline-block;
  background: transparent;
  color: var(--color-primary) !important;
  font-size: 15px;
  font-weight: 600;
  padding: 14px 32px;
  border-radius: 8px;
  border: 2px solid var(--color-primary);
  cursor: pointer;
  transition: var(--transition);
  text-align: center;
  line-height: 1;
  text-decoration: none;
}

.btn-outline-custom:hover {
  background: var(--color-primary);
  color: #fff !important;
}

/* =============================================================
   NAVBAR
   ============================================================= */
.site-header {
  position: fixed; /* fixed so it never disappears on scroll */
  top: 0;
  left: 0;
  right: 0;
  z-index: 1050;
  background: #ffffff; /* fully opaque — no tint bleed from hero bg */
  box-shadow: 0 1px 12px rgba(0, 0, 0, 0.05);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  transition:
    background 0.35s ease,
    box-shadow 0.35s ease,
    padding 0.35s ease;
}

/* Offset body so content doesn't hide under fixed header */
body {
  padding-top: 76px;
}

/* ── Floating island on scroll ── */
.site-header.scrolled {
  background: transparent !important;
  box-shadow: none;
  padding: 10px 24px;
  backdrop-filter: none !important; /* kill blur on the outer header */
  -webkit-backdrop-filter: none !important;
}

.site-header.scrolled .navbar-inner {
  background: #ffffff; /* solid white island */
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border-radius: 18px;
  box-shadow:
    0 4px 24px rgba(0, 0, 0, 0.1),
    0 0 0 1px rgba(0, 0, 0, 0.06);
  padding: 8px 20px 8px 28px;
  height: auto;
  max-width: 1100px;
  margin: 0 auto; /* center the island */
}

.site-header .navbar {
  padding: 0;
  width: 100%;
}

/* Desktop: flex layout inside navbar */
@media (min-width: 993px) {
  .navbar-inner .navbar-collapse {
    display: flex !important;
    align-items: center !important;
    flex: 1;
  }
}

/* Mobile: hidden by default; .nav-open shows it */
@media (max-width: 992px) {
  .navbar-inner .navbar-collapse {
    display: none;
  }
  .navbar-inner .navbar-collapse.nav-open {
    display: block;
  }
}

.navbar-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  margin: 0; /* no auto margin — full width, no gap */
  padding: 0 80px;
  height: 76px;
  gap: 0px;
  transition:
    background 0.35s ease,
    border-radius 0.35s ease,
    box-shadow 0.35s ease,
    padding 0.35s ease,
    height 0.35s ease,
    max-width 0.35s ease;
}

/* Logo */
.navbar-brand {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  padding: 0;
}
.nav-logo {
  height: 36px;
  width: auto;
  display: block;
}

.logo-text {
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  font-size: 20px;
  letter-spacing: 1px;
  line-height: 1;
}

.logo-text .logo-tek {
  color: #ff0000;
}
.logo-text .logo-yantra {
  color: var(--color-primary);
}

/* Nav links */
.navbar-nav {
  display: flex;
  align-items: center;
  gap: 4px;
  list-style: none;
  margin: 0 auto;
  padding: 0;
  flex: 1;
  justify-content: center;
}

.navbar-nav .nav-item {
  position: relative;
  display: flex;
  align-items: center;
}

.navbar-nav .nav-link {
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-weight: 500 !important;
  font-size: 15px !important;
  color: #4b5563 !important;
  padding: 8px 16px !important;
  border-radius: 8px;
  line-height: 1 !important;
  transition: var(--transition);
  white-space: nowrap;
}

.navbar-nav .nav-link:hover,
.navbar-nav .current-menu-item > .nav-link,
.navbar-nav .nav-link.active {
  color: var(--color-primary) !important;
  background: rgba(24, 104, 219, 0.06);
}

/* CTA */
.nav-cta-wrap {
  flex-shrink: 0;
}

.btn-nav-cta {
  display: inline-block;
  background: var(--color-primary);
  color: #fff !important;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 14px;
  font-weight: 600;
  padding: 11px 22px;
  border-radius: 8px;
  box-shadow: var(--shadow-btn);
  transition: var(--transition);
  white-space: nowrap;
  line-height: 1;
  text-decoration: none;
}

.btn-nav-cta:hover {
  background: var(--color-primary-dark);
  color: #fff !important;
}

/* Mobile hamburger */
.navbar-toggler {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  padding: 6px;
  cursor: pointer;
}

.toggler-bar {
  display: block;
  width: 24px;
  height: 2px;
  background: var(--color-heading);
  border-radius: 2px;
  transition: var(--transition);
}

/* Dropdown */
.dropdown-menu {
  border: 1px solid var(--color-border-2);
  border-radius: 12px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
  padding: 8px;
  min-width: 200px;
}
.dropdown-item {
  border-radius: 8px;
  padding: 8px 12px;
  font-size: 14px;
  color: var(--color-heading);
}
.dropdown-item:hover {
  background: rgba(24, 104, 219, 0.06);
  color: var(--color-primary);
}

/* ── Nav item highlight on hover (like reference site) ── */
.navbar-nav .nav-item:hover > .nav-link,
.navbar-nav .menu-item:hover > a {
  background: rgba(24, 104, 219, 0.08) !important;
  color: var(--color-primary) !important;
  border-radius: 8px;
}

/* ── Services Mega-Menu — full navbar width ── */
.nav-mega-menu {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: #f2f6fe;
  border-radius: 0 0 18px 18px;
  box-shadow: 0 12px 48px rgba(0, 0, 0, 0.1);
  z-index: 2000;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  /* Slide FROM ABOVE: very slow, deliberate */
  transition:
    opacity 0.5s ease,
    visibility 0.5s ease,
    transform 1.1s cubic-bezier(0.16, 1, 0.3, 1);
  transform: translateY(-24px);
}

.nav-mega-menu.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

/* ── Scrolled / island state — match island width ── */
.site-header.scrolled .nav-mega-menu {
  left: 50%;
  right: auto;
  width: 1100px;
  max-width: calc(100vw - 48px);
  border-radius: 18px;
  transform: translateX(-50%) translateY(-20px);
}

.site-header.scrolled .nav-mega-menu.is-open {
  transform: translateX(-50%) translateY(0);
}

/* When popup opens: square the island's BOTTOM corners so it connects flush */
.site-header.scrolled.mega-open .navbar-inner {
  border-radius: 18px 18px 0 0 !important;
  transition: border-radius 0s;
}

/* Island popup: matches light blue bg */
.site-header.scrolled .nav-mega-menu {
  border-radius: 18px;
  background: #f2f6fe;
  backdrop-filter: none;
}

.site-header.scrolled.mega-open .nav-mega-menu {
  border-radius: 0 0 18px 18px;
}

/* Normal (non-island): popup top is already square, just ensure no gap */
.site-header:not(.scrolled) .nav-mega-menu {
  border-radius: 0 0 18px 18px;
}

/* Two-column body: services left, image right */
.nav-mega-body {
  display: flex;
  align-items: stretch;
  min-height: 200px;
}

/* Left: service grid */
.nav-mega-left {
  flex: 1;
  padding: 24px 28px;
}

.nav-mega-heading {
  font-family: "Inter", sans-serif;
  font-size: 11px;
  font-weight: 600;
  color: #9ba4b5;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 12px;
}

.nav-mega-inner {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px;
}

/* Equal-height grid items */
.nav-mega-inner {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  align-items: stretch; /* force equal row heights */
}

.nav-mega-item {
  display: flex; /* make item fill the grid cell */
}

.nav-mega-link {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid #e0e8f5;
  background: #ffffff;
  text-decoration: none;
  transition:
    background 0.15s,
    border-color 0.15s,
    box-shadow 0.15s;
  width: 100%; /* fill item width */
}

.nav-mega-link:hover {
  background: #eaf0fb;
  border-color: #c5d8f5;
  box-shadow: 0 2px 10px rgba(24, 104, 219, 0.1);
}

.nav-mega-icon {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: #f0f4fb;
  border: 1px solid #dce6f5;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  flex-shrink: 0;
}

.nav-mega-text {
  display: flex;
  flex-direction: column;
  gap: 3px;
  flex: 1;
}

.nav-mega-title {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 600;
  font-size: 13px;
  color: var(--color-heading-dark);
  line-height: 1.3;
}

.nav-mega-desc {
  font-family: "Inter", sans-serif;
  font-size: 12px;
  color: #6b748e;
  line-height: 1.4;
}

/* Arrow on right */
.nav-mega-link::after {
  content: "→";
  font-size: 14px;
  color: #c5ccd8;
  flex-shrink: 0;
  transition:
    color 0.15s,
    transform 0.15s;
}

.nav-mega-link:hover::after {
  color: var(--color-primary);
  transform: translateX(3px);
}

.nav-mega-heading {
  color: #6b748e;
}

/* Right: image + CTA panel — padded like the reference */
.nav-mega-right {
  flex: 0 0 280px;
  padding: 16px 16px 16px 0; /* padding around the right panel */
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* Inner card wraps image + CTA with border-radius */
.nav-mega-right-inner {
  flex: 1;
  border-radius: 14px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}

.nav-mega-img {
  width: 100%;
  flex: 1;
  object-fit: cover;
  display: block;
}

.nav-mega-cta {
  background: #0d1f4a;
  padding: 16px 20px;
  flex-shrink: 0;
}

.nav-mega-cta-title {
  font-family: "Inter", sans-serif;
  font-weight: 700;
  font-size: 14px;
  color: #fff;
  margin: 0 0 4px;
}

.nav-mega-cta-desc {
  font-family: "Inter", sans-serif;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.6);
  margin: 0 0 12px;
  line-height: 1.4;
}

.nav-mega-cta-btn {
  display: inline-block;
  background: var(--color-primary);
  color: #fff !important;
  font-family: "Inter", sans-serif;
  font-size: 12px;
  font-weight: 600;
  padding: 8px 16px;
  border-radius: 100px;
  text-decoration: none;
  transition: background 0.2s;
}

.nav-mega-cta-btn:hover {
  background: var(--color-primary-dark);
  color: #fff !important;
}

/* Services / any mega-menu link highlight when dropdown is open */
.nav-services-active {
  background: rgba(24, 104, 219, 0.08) !important;
  color: var(--color-primary) !important;
  border-radius: 8px;
}

/* ── Chevron indicator on nav links that have a dropdown ── */
.nav-link[data-has-mega]::after,
.navbar-nav a[data-has-mega]::after {
  content: " ›";
  font-size: 12px;
  opacity: 0.5;
}

/* ── Products: single-col items list ── */
.nav-mega-inner--products {
  grid-template-columns: 1fr !important;
  gap: 4px !important;
}

/* ── Badges inside product/item rows ── */
.nav-mega-badge {
  flex-shrink: 0;
  margin-left: auto;
  padding: 3px 10px;
  border-radius: 9999px;
  font-size: 11px;
  font-weight: 600;
  background: #ebf2fd;
  color: #1868db;
  white-space: nowrap;
}
.nav-mega-badge--green {
  background: rgba(16, 184, 129, 0.15);
  color: #058a5e;
}
.nav-mega-badge--dim {
  background: #f3f4f6;
  color: #9ca3af;
}

/* ── Dim (coming soon) links ── */
.nav-mega-link--dim {
  opacity: 0.55;
  pointer-events: none;
  cursor: default;
}

/* ── Case Studies: card-style list ── */
.nav-mega-menu--cs .nav-mega-body {
  align-items: stretch;
}
.nav-mega-left--cs {
  flex: 1 1 auto !important;
  max-width: none !important;
}
.nav-cs-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 8px;
}
.nav-cs-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 12px 14px;
  border-radius: 10px;
  text-decoration: none;
  transition: background 0.15s;
}
.nav-cs-item:hover {
  background: rgba(24, 104, 219, 0.07);
  text-decoration: none;
}
.nav-cs-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.nav-cs-tag {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.5px;
  color: #1868db;
  text-transform: uppercase;
}
.nav-cs-stat {
  font-size: 11px;
  font-weight: 600;
  color: #6b7280;
  background: #f3f4f6;
  padding: 2px 8px;
  border-radius: 9999px;
  white-space: nowrap;
}
.nav-cs-title {
  font-size: 13.5px;
  font-weight: 600;
  color: #111827;
  line-height: 1.4;
  margin: 0;
}
.nav-cs-item:hover .nav-cs-title {
  color: #1868db;
}

@media (max-width: 992px) {
  .nav-mega-menu {
    display: none !important;
  }
}

/* ── Safety net: WordPress menu items without nav-link class ──
   Covers the edge case where no walker adds nav-link to <a> tags */
.navbar-nav .menu-item > a {
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-weight: 500 !important;
  font-size: 15px !important;
  color: #4b5563 !important;
  padding: 8px 16px !important;
  border-radius: 8px;
  display: inline-block;
  text-decoration: none !important;
  transition: var(--transition);
  white-space: nowrap;
}

.navbar-nav .menu-item > a:hover,
.navbar-nav .current-menu-item > a,
.navbar-nav .current-menu-ancestor > a {
  color: var(--color-primary) !important;
  background: rgba(24, 104, 219, 0.06);
  text-decoration: none !important;
}

@media (max-width: 992px) {
  .navbar-toggler {
    display: flex;
  }
  .navbar-inner {
    padding: 0 24px;
  }

  .navbar-collapse {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #fff;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
    padding: 20px 24px;
    border-top: 1px solid #f0f0f0;
    overflow: hidden;
  }

  .navbar-nav {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    margin: 0 0 16px;
  }

  .navbar-nav .nav-link {
    width: 100%;
    box-sizing: border-box;
  }
  .nav-cta-wrap {
    width: 100%;
    box-sizing: border-box;
  }
  .btn-nav-cta {
    width: 100%;
    text-align: center;
    box-sizing: border-box;
    white-space: normal;
    display: block;
  }

  /* Hamburger → X when menu is open */
  .navbar-toggler.nav-open .toggler-bar:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }
  .navbar-toggler.nav-open .toggler-bar:nth-child(2) {
    opacity: 0;
  }
  .navbar-toggler.nav-open .toggler-bar:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }
}

/* =============================================================
   HERO SECTION
   ============================================================= */
.section-hero {
  background: #f5f8ff;
  min-height: calc(100vh - 76px);
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden;
}

/* Dot grid background */
.section-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(
    circle,
    rgba(24, 104, 219, 0.1) 1px,
    transparent 1px
  );
  background-size: 36px 36px;
  pointer-events: none;
  opacity: 0.6;
}

/* Glow orbs */
.section-hero::after {
  content: "";
  position: absolute;
  top: -30%;
  right: -10%;
  width: 700px;
  height: 700px;
  background: radial-gradient(
    circle,
    rgba(24, 104, 219, 0.12),
    transparent 65%
  );
  pointer-events: none;
}

.hero-inner {
  display: flex;
  align-items: center;
  gap: 80px;
  padding: 100px 80px;
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
}

.hero-content {
  flex: 1;
  max-width: 580px;
}

/* Eyebrow pill */
.hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #ebf2fd;
  border: 1px solid #1868db4d;
  border-radius: 100px;
  padding: 7px 14px;
  margin-bottom: 24px;
}

.hero-eyebrow .eyebrow-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--color-primary);
  flex-shrink: 0;
}

.hero-eyebrow span {
  font-family: "IBM Plex Mono", monospace;
  font-size: 12px;
  color: #1868db;
}

/* ── Hero typing cursor ── */
.hero-heading.typing-cursor::after {
  content: "|";
  display: inline-block;
  color: var(--color-primary);
  font-weight: 300;
  margin-left: 3px;
  animation: blink-cursor 0.65s step-end infinite;
}

.hero-heading.typing-done::after {
  display: none;
}

/* Sub-elements hidden until slide-up triggers */
.hero-sub,
.hero-btns,
.hero-stats {
  opacity: 0;
  transform: translateY(220px);
}

.hero-sub.hero-visible,
.hero-btns.hero-visible,
.hero-stats.hero-visible {
  opacity: 1;
  transform: translateY(0);
  transition:
    opacity 1.1s cubic-bezier(0.16, 1, 0.3, 1),
    transform 1.1s cubic-bezier(0.16, 1, 0.3, 1);
}

/* H1 */
.hero-heading {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 800;
  font-size: 58px;
  line-height: 1.08;
  letter-spacing: -2px;
  word-spacing: 8px;
  color: var(--color-heading);
  margin-bottom: 24px;
}

.hero-heading .accent {
  color: var(--color-primary);
}

.hero-sub {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 17px;
  line-height: 1.7;
  color: var(--color-body);
  margin-bottom: 36px;
  max-width: 500px;
}

.hero-btns {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 52px;
  flex-wrap: wrap;
}

/* "View Our Work" secondary button */
.btn-hero-secondary {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #fff;
  color: var(--color-heading) !important;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 15px;
  font-weight: 600;
  padding: 14px 24px;
  border-radius: 8px;
  border: 1.5px solid var(--color-border);
  cursor: pointer;
  transition: var(--transition);
  text-decoration: none;
  line-height: 1;
}

.btn-hero-secondary:hover {
  border-color: var(--color-primary);
  color: var(--color-primary) !important;
}

/* Mini stats row */
.hero-stats {
  display: flex;
  align-items: center;
}
.hero-stat {
  display: flex;
  flex-direction: column;
  padding-right: 36px;
}
.hero-stat-number {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 28px;
  font-weight: 800;
  color: var(--color-heading);
  line-height: 1;
}
.hero-stat-label {
  font-size: 13px;
  color: var(--color-body);
  margin-top: 5px;
}
.hero-stat-divider {
  width: 1px;
  height: 40px;
  background: #e5e7eb;
  margin-right: 36px;
  flex-shrink: 0;
}

/* Right visual */
.hero-visual {
  flex: 1;
  position: relative;
  height: 480px;
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
}

/* Main dashboard card */
.hero-card-main {
  background: linear-gradient(14deg, #0e3e83, #1868db);
  border-radius: 20px;
  padding: 28px;
  width: 360px;
  position: relative;
  z-index: 2;
  box-shadow: 0 24px 64px rgba(24, 104, 219, 0.3);
}

.hero-card-title {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  display: block;
  margin-bottom: 4px;
}
.hero-card-sub {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.65);
  display: block;
  margin-bottom: 20px;
}

.hero-card-chart {
  display: flex;
  align-items: flex-end;
  gap: 6px;
  height: 90px;
}
.mock-bar {
  flex: 1;
  background: rgba(255, 255, 255, 0.25);
  border-radius: 3px 3px 0 0;
}

/* Floating cards */
.hero-card-float {
  position: absolute;
  background: #fff;
  border-radius: 14px;
  padding: 16px 20px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
  z-index: 3;
}

.hero-card-float--left {
  left: 0;
  bottom: 60px;
  min-width: 170px;
}
.hero-card-float--right {
  right: 0;
  bottom: 0;
  width: 240px;
}

.hero-float-label {
  display: block;
  font-size: 11px;
  color: var(--color-muted);
  margin-bottom: 6px;
  font-weight: 500;
  font-family: "IBM Plex Mono", monospace;
}
.hero-float-num {
  display: block;
  font-size: 30px;
  font-weight: 800;
  color: var(--color-primary);
  line-height: 1;
  margin-bottom: 4px;
  font-family: "Plus Jakarta Sans", sans-serif;
}
.hero-float-sub {
  font-size: 11px;
  color: #9ca3af;
  font-family: "IBM Plex Mono", monospace;
}

.hero-service-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.hero-service-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 500;
  color: var(--color-heading);
  padding: 6px 0;
  border-bottom: 1px solid #f3f4f6;
}
.hero-service-item:last-child {
  border-bottom: none;
}
.service-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #d1d5db;
  flex-shrink: 0;
}
.service-dot--active {
  background: var(--color-primary);
}

@media (max-width: 1100px) {
  .hero-inner {
    flex-direction: column;
    padding: 60px 30px;
    gap: 48px;
  }
  .hero-content {
    max-width: 100%;
  }
  .hero-heading {
    font-size: 44px;
  }
  .hero-visual {
    width: 100%;
    height: auto;
    justify-content: center;
  }
  .hero-card-main {
    width: 100%;
    max-width: 360px;
    position: relative;
  }
  .hero-card-float {
    display: none;
  }
}

@media (max-width: 768px) {
  .hero-heading {
    font-size: 34px;
    letter-spacing: -1px;
  }
  .hero-btns {
    flex-direction: column;
    align-items: flex-start;
  }
  .hero-btns .btn-primary-custom,
  .hero-btns .btn-hero-secondary {
    width: 100%;
    text-align: center;
    justify-content: center;
  }
}

/* =============================================================
   HERO VISUAL — right-side infra card + floating stat cards
   ============================================================= */

/* Outer wrapper — flex row: [left cards] [main card] [right cards] */
.hero-visual-wrap {
  display: flex;
  align-items: center;
  position: relative;
}

/* ── Floating stat card columns ── */
.hv-float-col {
  display: flex;
  flex-direction: column;
  gap: 14px;
  z-index: 3;
  position: relative;
}

/* Negative margin pulls each column over the main card edge */
.hv-float-col--left {
  margin-right: -22px;
  margin-top: -180px;
}
.hv-float-col--right {
  margin-left: -22px;
  margin-top: 180px;
}

/* Individual stat card — horizontal: icon left, text right */
.hv-stat-card {
  background: #ffffff;
  border-radius: 16px;
  padding: 8px;
  min-width: 148px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.09);
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
}

.hv-stat-icon {
  font-size: 22px;
  flex-shrink: 0;
}
.hv-stat-text {
  display: flex;
  flex-direction: column;
}
.hv-stat-lbl {
  font-size: 10px;
  color: #4b5563;
  font-weight: 500;
  font-family: "Plus Jakarta Sans", sans-serif;
  display: block;
}
.hv-stat-val {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 800;
  font-size: 18px;
  color: #111827;
  display: block;
  line-height: 1.1;
}

/* ── Float animation on stat cards ── */
@keyframes hv-float {
  0% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-10px);
  }
  100% {
    transform: translateY(0px);
  }
}

.hv-stat-card {
  animation: hv-float 3.5s ease-in-out infinite;
}

/* ── Main centre card ── */
.hv-main-card {
  width: 380px;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.14);
  z-index: 2;
  flex-shrink: 0;
  background: #fff;
}

/* Infrastructure at Scale image — fills top of the card */
.hv-main-img {
  display: block;
  line-height: 0;
}
.hv-main-img img {
  width: 100%;
  display: block;
}

/* ── Service list panel (white, below the image) ── */
.hv-service-panel {
  background: #ffffff;
  padding: 18px 20px 14px;
}

.hv-svc-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 10px;
  border-radius: 10px;
  margin-bottom: 4px;
  position: relative;
}

.hv-svc-row:last-child {
  margin-bottom: 0;
}

/* Gray background rows */
.hv-svc-row--gray {
  background: #f3f4f6;
}

.hv-svc-icon {
  font-size: 16px;
  flex-shrink: 0;
  width: 24px;
  text-align: center;
}

.hv-svc-body {
  flex: 1;
  min-width: 0;
}
.hv-svc-name {
  display: block;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 600;
  font-size: 13px;
  color: #111827;
  margin-bottom: 5px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Progress bar */
.hv-svc-bar {
  height: 4px;
  background: #e5e7eb;
  border-radius: 2px;
  overflow: hidden;
}
.hv-svc-fill {
  height: 100%;
  background: var(--color-primary);
  border-radius: 2px;
}

/* "Deployed" badge — absolute top-right of its row */
.hv-svc-badge {
  position: absolute;
  top: -10px;
  right: 10px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 11px;
  font-weight: 500;
  color: var(--color-primary);
  background: #e8f0fd;
  padding: 3px 10px;
  border-radius: 100px;
  white-space: nowrap;
  box-shadow: 0 1px 4px rgba(24, 104, 219, 0.12);
}

/* ── Responsive ── */
@media (max-width: 1200px) {
  .hv-float-col {
    display: none;
  } /* hide on medium screens, show main card only */
  .hv-main-card {
    width: 100%;
    max-width: 400px;
  }
}

@media (max-width: 1100px) {
  .hero-visual-wrap {
    justify-content: center;
  }
}

/* =============================================================
   TRUST / STATS BAR (blue gradient section)
   ============================================================= */

/* ── Pixel transition zones (above & below section 2) ── */
.pixel-zone {
  height: 350px;
  background: #fff;
  display: grid; /* columns set by JS via gridTemplateColumns */
  align-content: start;
  overflow: hidden;
}

/* Individual square */
.px-cell {
  width: 56px;
  height: 56px;
  flex-shrink: 0;
  background: transparent;
  transition: background 0.25s ease;
}

/* Blue on scroll */
.px-cell.px-on {
  background: #1868db;
}

/* Softer shade for variety */
.px-cell.px-soft {
  background: rgba(24, 104, 219, 0.25);
}

.section-trust {
  background: linear-gradient(to bottom, #0e48a5, #1868db);
  position: relative;
  overflow: hidden;
}

/* Decorative pixel blocks — CSS version */
.trust-pixel-row {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 200px;
  pointer-events: none;
  overflow: hidden;
}

.trust-pixel-row .px {
  position: absolute;
  background: rgba(255, 255, 255, 0.12);
}

.trust-inner {
  padding: 80px 30px 60px;
}

.trust-heading {
  font-family: "Times New Roman", serif;
  font-size: 58px;
  font-weight: 400;
  color: #fff;
  text-align: center;
  letter-spacing: -1.5px;
  line-height: 67px;
  margin-bottom: 60px;
}

/* Stats row */
.stats-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  margin-bottom: 64px;
  flex-wrap: wrap;
}

.stat-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 48px;
  flex: 1;
  min-width: 180px;
}
.stat-number {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 56px;
  font-weight: 800;
  color: #fff;
  letter-spacing: -0.5px;
  line-height: 1;
  margin-bottom: 6px;
}
.stat-label {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 20px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.5);
  text-align: center;
}
.stat-vdivider {
  width: 1px;
  height: 36px;
  background: #b8d3f9;
  flex-shrink: 0;
}

/* Partner logos — infinite horizontal marquee */

/* Outer: clips overflow, shows exactly 4 cards */
.logos-marquee-outer {
  overflow: hidden;
  width: 100%;
  padding: 0 30px;
  /* Fade edges */
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 0%,
    black 8%,
    black 92%,
    transparent 100%
  );
  mask-image: linear-gradient(
    to right,
    transparent 0%,
    black 8%,
    black 92%,
    transparent 100%
  );
}

/* Track: all cards in one flex row, animates leftward */
.logos-marquee-track {
  display: flex;
  gap: 20px;
  width: max-content;
  animation: logos-scroll 22s linear infinite;
}

.logos-marquee-track:hover {
  animation-play-state: paused;
}

@keyframes logos-scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  } /* -50% = scroll one full set, then loop */
}

/* Individual logo card */
.logo-card {
  background: #fff;
  border: 1px solid #e4e7ee;
  border-radius: 10px;
  height: 80px;
  width: 280px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 0 24px;
}

.logo-card-name {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 600;
  font-size: 14px;
  color: #111827;
  white-space: nowrap;
}

@media (max-width: 992px) {
  .logo-card {
    width: 240px;
  }
  .trust-heading {
    font-size: 38px;
  }
  .stat-number {
    font-size: 40px;
  }
  .stat-label {
    font-size: 16px;
  }
}

@media (max-width: 768px) {
  .stat-col {
    min-width: 50%;
    padding: 20px;
    flex: 0 0 50%;
  }
  .stat-vdivider {
    display: none;
  }
  .trust-heading {
    font-size: 30px;
    line-height: 1.3;
    letter-spacing: -0.5px;
  }

  /* Stop marquee on mobile — show as a 2-column static grid */
  .logos-marquee-outer {
    overflow: hidden;
    width: 100%;
    padding: 0 16px;
    box-sizing: border-box;
    -webkit-mask-image: none;
    mask-image: none;
  }
  .logos-marquee-track {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    width: 100%;
    animation: none;
    transform: none !important;
  }
  /* Hide the duplicate set (Set 2) so items don't appear twice */
  .logos-marquee-track .logo-card:nth-child(n + 6) {
    display: none;
  }
  .logo-card {
    width: 100%;
    min-width: 0;
    height: 70px;
    padding: 0 12px;
    box-sizing: border-box;
    justify-content: flex-start;
  }
  .logo-card-name {
    font-size: 12px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

/* =============================================================
   SERVICES SECTION
   ============================================================= */
.section-services {
  background: #fff;
  overflow: hidden;
}

.services-grid {
  display: flex;
  gap: 50px;
  align-items: flex-start;
}

/* ── Left column ── */
.services-left {
  flex: 0 0 550px;
  max-width: 550px;
  padding: 80px 0 80px 80px;
  position: sticky;
  top: 76px;
}

/* Badge + stat on same row */
.svc-top-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 28px;
}

.services-stat-box {
  background: #fff;
  border: 1px solid var(--color-border-2);
  border-radius: 10px;
  padding: 8px 14px;
}

.services-stat-num {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 800;
  font-size: 22px;
  color: var(--color-heading);
  letter-spacing: -0.5px;
  display: block;
  line-height: 1;
}
.services-stat-sub {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 400;
  font-size: 11px;
  color: #9ba4b5;
  display: block;
}

.services-heading {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 800;
  font-size: 42px;
  color: var(--color-heading);
  letter-spacing: -1px;
  line-height: 1.18;
  margin-bottom: 0;
}

.services-gradient-rule {
  width: 160px;
  height: 4px;
  background: linear-gradient(
    to right,
    var(--color-primary),
    rgba(24, 104, 219, 0)
  );
  border-radius: 2px;
  margin: 28px 0 20px;
}

.services-desc {
  font-size: 15px;
  color: var(--color-body);
  line-height: 1.7;
  margin-bottom: 36px;
  max-width: 400px;
}

/* Vertical separator — gaps at top and bottom */
.services-divider {
  width: 1px;
  background: var(--color-border);
  align-self: stretch;
  flex-shrink: 0;
  margin: 60px 0;
}

/* ── Right accordion ── */
.services-right {
  flex: 1;
  padding: 80px 60px 80px 0;
}

/* Each service row */
.svc-item {
  border-bottom: 1px solid #e8eaef;
}
.svc-item:first-child {
  border-top: none;
}

/* Expanded/active item — white card with blue left border */
.svc-item--active,
.svc-item:has(.collapse.show) {
  background: #fff;
  border: 1px solid #e0e4ea;
  border-left: 4px solid var(--color-primary) !important;
  border-radius: 14px;
  position: relative; /* anchor for absolute image */
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
  margin-bottom: 0;
  overflow: hidden;
}

/* Row header (clickable) */
.svc-header {
  display: flex;
  align-items: center;
  gap: 16px;
  width: 100%;
  padding: 22px 20px;
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
}

/* Number */
.svc-num {
  font-family: "IBM Plex Mono", monospace;
  font-size: 13px;
  font-weight: 500;
  color: #9ba4b5;
  min-width: 26px;
  flex-shrink: 0;
  align-self: flex-start;
  padding-top: 3px; /* aligns with title text baseline */
}

/* Active number — blue when tab is open */
.svc-item:has(.collapse.show) .svc-num {
  color: #1868db;
}

/* Title + tags stacked */
.svc-header-text {
  flex: 1;
  min-width: 0;
}

.svc-title {
  display: block;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 20px;
  color: var(--color-heading);
  letter-spacing: -0.3px;
}

.svc-tags {
  display: inline-block;
  font-family: "IBM Plex Mono", monospace;
  font-size: 11px;
  color: #9ba4b5;
  background: #f5f6f8;
  border-radius: 100px;
  padding: 3px 10px;
}

/* Active tags - blue tint */
.svc-item--active .svc-tags,
.svc-item:has(.collapse.show) .svc-tags {
  color: var(--color-primary);
  background: #ebf2fd;
}

/* Arrow icon */
.svc-arrow {
  font-size: 16px;
  color: #9ba4b5;
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border: 1px solid #e0e4ea;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: var(--transition);
}

.svc-arrow--active,
.svc-item:has(.collapse.show) .svc-arrow {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: #fff;
}

/* Hide arrow on the ACTIVE tab only */
.svc-item:has(.collapse.show) .svc-arrow {
  display: none !important;
}

/* ── Expanded body ── */
.svc-body {
  display: flex;
  gap: 24px;
  padding: 0 20px 28px;
  align-items: flex-start;
}

.svc-body-content {
  flex: 1;
  min-width: 0;
}

.svc-desc {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 15px;
  color: var(--color-body);
  line-height: 1.7;
  margin-bottom: 8px;
}

/* Feature chips — wider, evenly spaced */
.svc-chips {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}

.svc-chip {
  background: #ebf2fd;
  color: var(--color-primary);
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 11px;
  font-weight: 500;
  padding: 3px 20px;
  border-radius: 100px;
  flex: 1;
  text-align: center;
  white-space: nowrap;
}

/* Metrics row — individual rounded boxes */
.svc-metrics {
  display: flex;
  gap: 12px;
}

.svc-metric {
  background: #f5f6f8;
  border-radius: 12px;
  padding: 12px 20px;
  flex: 1;
}

.svc-metric-val {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 20px;
  font-weight: 800;
  color: var(--color-heading);
  display: block;
  letter-spacing: -0.5px;
  line-height: 1;
  margin-bottom: 4px;
}

.svc-metric-lbl {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 11px;
  color: #9ba4b5;
  display: block;
}

/* ── Visual card — contained card, top-right, matching screenshot 2 ── */
.svc-visual-card {
  position: absolute;
  top: 16px;
  right: 16px;
  bottom: 16px;
  width: 220px;
  height: 258px;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
}

.svc-visual-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Prevent text from overlapping image */
.svc-item:has(.collapse.show) .svc-body {
  padding-right: 256px;
}

.svc-item:has(.collapse.show) .svc-header {
  padding-right: 256px;
}

/* Smooth collapse transition */
.svc-item .collapsing {
  transition: height 0.3s ease !important;
}

/* Blue arrow circle — overlaps outside the top-right corner */
.svc-visual-arrow {
  position: absolute;
  top: -14px;
  right: -14px;
  width: 34px;
  height: 34px;
  background: var(--color-primary);
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  z-index: 3;
  box-shadow: 0 4px 12px rgba(24, 104, 219, 0.4);
  transition: var(--transition);
}

.svc-visual-arrow:hover {
  background: var(--color-primary-dark);
  color: #fff;
  transform: scale(1.08);
}

/* Mini bar chart inside visual card */
.svc-visual-chart {
  display: flex;
  align-items: flex-end;
  gap: 5px;
  flex: 1;
  padding-bottom: 0;
  height: 80px;
}

.svc-bar {
  flex: 1;
  background: rgba(255, 255, 255, 0.25);
  border-radius: 3px 3px 0 0;
}
.svc-bar--white {
  background: rgba(255, 255, 255, 0.9);
}

/* ── Responsive ── */
@media (max-width: 1100px) {
  .services-grid {
    flex-direction: column;
  }
  .services-left {
    flex: unset;
    max-width: 100%;
    position: static;
    padding: 60px 24px 0;
  }
  .services-right {
    padding: 24px;
  }
  .services-divider {
    display: none;
  }
  .services-heading {
    font-size: 32px;
  }
  .svc-visual-card {
    display: none;
  }

  /* Remove padding reserved for the visual card */
  .svc-item:has(.collapse.show) .svc-body {
    padding-right: 20px;
  }
  .svc-item:has(.collapse.show) .svc-header {
    padding-right: 20px;
  }

  /* Metrics wrap on smaller containers */
  .svc-metrics {
    flex-wrap: wrap;
  }
  .svc-metric {
    flex: 1 1 calc(50% - 6px);
    min-width: 100px;
  }

  /* Chips can break */
  .svc-chip {
    white-space: normal;
    flex: unset;
  }
}

@media (max-width: 768px) {
  .section-services {
    overflow: hidden;
  }
  .services-grid {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
  }
  .svc-title {
    font-size: 17px;
  }
  .svc-header {
    gap: 12px;
    padding: 18px 16px;
  }
  .svc-body {
    padding: 0 16px 24px;
  }

  /* Stack metrics to single column on very small screens */
  .svc-metric {
    flex: 1 1 100%;
  }

  /* Prevent any child from punching through */
  .svc-item,
  .svc-body,
  .svc-header,
  .svc-body-content {
    max-width: 100%;
    box-sizing: border-box;
  }
}

/* =============================================================
   CASE STUDIES
   ============================================================= */
.section-case-studies {
  background: var(--color-bg-section);
}

.case-studies-header {
  text-align: center;
  padding-bottom: 10px;
}

.cs-title {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 800;
  font-size: 56px;
  color: var(--color-heading);
  letter-spacing: -0.5px;
  line-height: 1.18;
  margin-bottom: 16px;
}

.cs-title .accent {
  color: var(--color-primary);
}

.cs-sub {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 18px;
  color: var(--color-body);
  line-height: 1.6;
  margin: 0 auto 20px;
  max-width: 620px;
}

.cs-gradient-rule {
  width: 56px;
  height: 3px;
  background: linear-gradient(to right, var(--color-primary), transparent);
  border-radius: 2px;
  margin: 0 auto 60px;
}

.case-studies-grid {
  display: grid;
  grid-template-columns: repeat(3, 400px);
  gap: 24px;
  justify-content: center;
}

/* Card */
.case-card {
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: var(--shadow-card);
  transition:
    transform 0.3s,
    box-shadow 0.3s;
}

.case-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 48px rgba(17, 24, 39, 0.15);
}

/* Card header image */
.case-card-img {
  height: 272px;
  position: relative;
  overflow: hidden;
}

.case-card-img img {
  width: 100%;
  object-fit: cover;
  display: block;
}

/* Stat badge — absolute top-right over the image */
.case-card-img .case-stat-badge {
  position: absolute;
  top: 18px;
  right: 18px;
}

.case-stat-badge {
  background: rgba(255, 255, 255, 0.09);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 12px;
  padding: 10px 14px;
  backdrop-filter: blur(2px);
}

.case-stat-badge-num {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 800;
  font-size: 22px;
  color: #fff;
  display: block;
}
.case-stat-badge-sub {
  font-family: "IBM Plex Mono", monospace;
  font-size: 9px;
  color: rgba(255, 255, 255, 0.55);
  display: block;
}

/* Card content */
.case-card-body {
  padding: 24px 28px;
}

.case-tags {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}

.case-tag {
  background: #f8f9fb;
  border: 1px solid #d1d5e0;
  border-radius: 100px;
  padding: 4px 10px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 500;
  font-size: 11px;
  color: var(--color-body);
}

.case-title {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 19px;
  color: var(--color-heading);
  line-height: 1.47;
  margin-bottom: 12px;
}

/* Stat chip */
.case-chip {
  background: #e7eefc;
  border-radius: 8px;
  padding: 10px 16px;
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}

.case-chip-num {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 800;
  font-size: 22px;
  color: var(--color-primary);
}
.case-chip-sep {
  font-size: 14px;
  color: #d1d5e0;
}
.case-chip-text {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 500;
  font-size: 13px;
  color: var(--color-body);
}

.case-desc {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 14px;
  color: var(--color-body);
  line-height: 1.57;
  margin-bottom: 16px;
}

.case-card-footer {
  border-top: 1px solid #e6e8ed;
  padding-top: 16px;
}

.case-link {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 600;
  font-size: 14px;
  color: var(--color-primary);
  text-decoration: none;
}
.case-link:hover {
  color: var(--color-primary-dark);
}

.cs-view-all {
  text-align: center;
  margin-top: 48px;
}

.btn-cs-all {
  display: inline-block;
  border: 1.5px solid #d1d5e1;
  border-radius: 10px;
  padding: 14px 28px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 600;
  font-size: 15px;
  color: var(--color-heading);
  transition: var(--transition);
  text-decoration: none;
}

.btn-cs-all:hover {
  border-color: var(--color-primary);
  color: var(--color-primary);
}

@media (max-width: 1340px) {
  .case-studies-grid {
    grid-template-columns: repeat(2, 1fr);
    max-width: 900px;
  }
}

@media (max-width: 768px) {
  .case-studies-grid {
    grid-template-columns: 1fr;
    max-width: 100%;
  }
  .cs-title {
    font-size: 36px;
  }
}

/* =============================================================
   PRODUCTS SECTION (dark)
   ============================================================= */
.section-products {
  background: var(--color-bg-dark);
  position: relative;
  overflow: hidden;
}

/* BG glow */
.section-products::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 1440px;
  height: 900px;
  background: radial-gradient(
    ellipse at 50% 100%,
    rgba(14, 72, 165, 0.18),
    transparent 70%
  );
  pointer-events: none;
}

.products-inner {
  position: relative;
  z-index: 1;
}

.products-header {
  text-align: center;
  margin-bottom: 28px;
}

.products-heading {
  font-family: "Inter", sans-serif;
  font-weight: 800;
  font-size: 50px;
  color: #fff;
  line-height: 1.14;
  margin-bottom: 16px;
}

.products-heading .accent {
  color: #5b99f1;
}

.products-sub {
  font-family: "Inter", sans-serif;
  font-size: 17px;
  color: #6b748e;
  line-height: 1.56;
  max-width: 680px;
  margin: 0 auto;
}

/* Tab bar */
.product-tab-bar {
  display: flex;
  justify-content: center;
  margin-bottom: 28px;
}

.product-tab-inner {
  display: flex;
  gap: 4px;
  background: rgba(56, 64, 85, 0.22);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 100px;
  padding: 5px;
}

.product-tab {
  font-family: "Inter", sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #8e96ad;
  padding: 10px 20px;
  border-radius: 100px;
  border: none;
  background: none;
  cursor: pointer;
  transition: var(--transition);
  white-space: nowrap;
}

.product-tab--active {
  background: var(--color-primary);
  color: #fff;
  font-weight: 600;
  box-shadow: 0 4px 8px rgba(24, 104, 219, 0.4);
}

/* Product card */
.product-card {
  background: #0b1432;
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 20px;
  display: flex;
  overflow: hidden;
  height: 480px;
}

/* Visual panel (left side) */
.product-visual {
  flex: 0 0 520px;
  position: relative;
  overflow: hidden;
}

.product-visual-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Constellation nodes */
.constellation {
  position: absolute;
  inset: 0;
}
.c-node {
  position: absolute;
  width: 26px;
  height: 26px;
  border: 1.5px solid rgba(66, 140, 255, 0.6);
  border-radius: 13px;
  background: rgba(24, 104, 219, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
}
.c-node-dot {
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background: #428cff;
}

/* Float badges on visual */
.product-float-chip {
  position: absolute;
  top: 30px;
  right: 60px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 8px;
  padding: 8px 12px;
  display: flex;
  align-items: center;
  gap: 7px;
}

.product-float-chip-dot {
  font-size: 8px;
  color: #33ff66;
}
.product-float-chip-text {
  font-family: "IBM Plex Mono", monospace;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.9);
}

.product-uptime-float {
  position: absolute;
  bottom: 40px;
  left: 38px;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 12px;
  padding: 12px 20px;
}

.uptime-label-text {
  font-family: "IBM Plex Mono", monospace;
  font-size: 9px;
  color: rgba(255, 255, 255, 0.45);
  letter-spacing: 1px;
  display: block;
}
.uptime-value-text {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 800;
  font-size: 26px;
  color: #fff;
  display: block;
}

.k8s-badge {
  position: absolute;
  bottom: 40px;
  right: 40px;
  background: rgba(24, 104, 219, 0.25);
  border: 1px solid rgba(66, 140, 255, 0.35);
  border-radius: 8px;
  padding: 8px 12px;
  font-family: "IBM Plex Mono", monospace;
  font-size: 11px;
  color: #428cff;
}

/* Content panel (right side) */
.product-content {
  flex: 1;
  padding: 44px 52px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.product-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: rgba(24, 104, 219, 0.15);
  border: 1px solid rgba(59, 127, 232, 0.35);
  border-radius: 100px;
  padding: 5px 12px;
  font-family: "Inter", sans-serif;
  font-weight: 600;
  font-size: 12px;
  color: #a1c9fb;
  width: fit-content;
  margin-bottom: 18px;
}

.product-badge-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--color-primary);
}

.product-name {
  font-family: "Inter", sans-serif;
  font-weight: 800;
  font-size: 38px;
  color: #fff;
  margin-bottom: 12px;
}
.product-desc {
  font-family: "Inter", sans-serif;
  font-size: 15px;
  color: #8e96ad;
  line-height: 1.58;
  margin-bottom: 20px;
  max-width: 560px;
}

.product-chips {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 24px;
}
.product-chip {
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 100px;
  padding: 6px 12px;
  font-family: "Inter", sans-serif;
  font-size: 12px;
  font-weight: 500;
  color: #8e96ad;
}

.product-divider {
  height: 1px;
  background: rgba(255, 255, 255, 0.08);
  margin-bottom: 20px;
}

.product-metrics {
  display: flex;
  gap: 36px;
  margin-bottom: 24px;
}
.product-metric-val {
  font-family: "Inter", sans-serif;
  font-weight: 700;
  font-size: 20px;
  color: #fff;
  display: block;
}
.product-metric-lbl {
  font-family: "Inter", sans-serif;
  font-size: 12px;
  color: #6b748e;
  display: block;
  margin-top: 4px;
}

.product-ctas {
  display: flex;
  gap: 12px;
  align-items: center;
}

@media (max-width: 1100px) {
  .product-card {
    flex-direction: column;
    height: auto;
  }
  .product-visual {
    flex: unset;
    height: 280px;
  }
  .product-content {
    padding: 32px;
  }
  .products-heading {
    font-size: 36px;
  }
  .product-metrics {
    flex-wrap: wrap;
    gap: 20px;
  }
}

/* =============================================================
   WHY TEKYANTRA
   ============================================================= */
.section-why {
  background: #fff;
}

.why-grid {
  display: flex;
  gap: 120px;
  align-items: flex-start;
  padding: 96px 80px;
  max-width: 1400px;
  margin: 0 auto;
}

.why-left {
  flex: 0 0 400px;
  position: sticky;
  top: 100px;
}

.why-label {
  font-family: "Inter", sans-serif;
  font-weight: 600;
  font-size: 11px;
  color: var(--color-primary);
  letter-spacing: 1.54px;
  text-transform: uppercase;
  display: block;
  margin-bottom: 20px;
}

.why-heading {
  font-family: "Inter", sans-serif;
  font-weight: 800;
  font-size: 44px;
  color: var(--color-heading-dark);
  line-height: 1.12;
  margin-bottom: 24px;
}

.why-desc {
  font-family: "Inter", sans-serif;
  font-size: 17px;
  color: #6b748e;
  line-height: 1.62;
  margin-bottom: 36px;
  max-width: 380px;
}

.why-right {
  flex: 1;
}

.why-divider {
  height: 1px;
  background: rgba(214, 218, 230, 0.7);
}

.why-pillar {
  display: flex;
  gap: 20px;
  padding: 36px 0;
}

.why-badge {
  background: #eef4ff;
  border: 1px solid #deebff;
  border-radius: 7px;
  padding: 5px 9px;
  font-family: "Inter", sans-serif;
  font-weight: 600;
  font-size: 12px;
  color: var(--color-primary);
  flex-shrink: 0;
  height: fit-content;
  margin-top: 3px;
}

.why-pillar-title {
  font-family: "Inter", sans-serif;
  font-weight: 700;
  font-size: 20px;
  color: var(--color-heading-dark);
  line-height: 1.3;
  margin-bottom: 10px;
}

/* ── Typing cursor on active title ── */
.why-pillar-title.typing-cursor::after {
  content: "|";
  display: inline-block;
  color: var(--color-primary);
  font-weight: 300;
  margin-left: 2px;
  animation: blink-cursor 0.65s step-end infinite;
}

.why-pillar-title.typing-done::after {
  display: none;
}

@keyframes blink-cursor {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
}

/* ── Paragraph: slides up from below ── */
.why-para-hidden {
  opacity: 0;
  transform: translateY(50px);
  transition:
    opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1),
    transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.why-para-visible {
  opacity: 1;
  transform: translateY(0);
}

.why-pillar-text {
  font-family: "Inter", sans-serif;
  font-size: 16px;
  color: #6b748e;
  line-height: 1.65;
  margin: 0;
}

@media (max-width: 1100px) {
  .why-grid {
    flex-direction: column;
    gap: 48px;
    padding: 60px 30px;
  }
  .why-left {
    flex: unset;
    position: static;
  }
  .why-heading {
    font-size: 34px;
  }
}

/* =============================================================
   TESTIMONIALS
   ============================================================= */
.section-testimonials {
  background: #fff;
}

.testimonials-heading {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 800;
  font-size: 40px;
  color: var(--color-heading);
  text-align: center;
  letter-spacing: -0.5px;
  line-height: 1.2;
  margin-bottom: 48px;
}

.testimonials-layout {
  display: flex;
  border-radius: 0;
  overflow: hidden;
  max-width: 1200px;
  margin: 0 auto;
  height: 400px;
}

/* Blue brand panel */
.testimonials-blue {
  flex: 0 0 520px;
  background: var(--color-primary);
  position: relative;
  overflow: hidden;
  padding: 186px 48px 48px;
}

.testimonials-big-quote {
  position: absolute;
  top: -20px;
  left: 40px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 800;
  font-size: 160px;
  color: rgba(255, 255, 255, 0.1);
  line-height: 1;
  pointer-events: none;
}

.testimonials-brand-label {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 400;
  font-size: 26px;
  color: rgba(255, 255, 255, 0.85);
  line-height: 1.38;
  display: block;
}
.testimonials-brand-strong {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 800;
  font-size: 34px;
  color: #fff;
  line-height: 1.24;
  display: block;
}
.testimonials-brand-sub {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 28px;
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.29;
  display: block;
}

/* Testimonial card */
.testimonial-card {
  flex: 1;
  background: #1f2937;
  padding: 44px;
  box-shadow: 0 16px 24px rgba(0, 0, 0, 0.35);
  border-radius: 0 16px 16px 0;
  display: flex;
  align-items: center;
  position: relative;
  z-index: 1;
  margin: 44px;
  margin-left: -180px;
  border-radius: 16px;
}

.testimonial-avatar {
  flex-shrink: 0;
  width: 140px;
  height: 180px;
  border-radius: 10px;
  background: linear-gradient(to bottom right, #3380e5, #04142c);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 800;
  font-size: 40px;
  color: #fff;
  margin-right: 28px;
  flex-shrink: 0;
}

.testimonial-quote-text {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 15px;
  color: rgba(255, 255, 255, 0.88);
  line-height: 1.73;
  margin-bottom: 20px;
}

.testimonial-stars {
  color: var(--color-star);
  font-size: 20px;
  letter-spacing: 4px;
  margin-bottom: 12px;
}
.testimonial-name {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 17px;
  color: #fff;
  display: block;
  margin-bottom: 4px;
}
.testimonial-title {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.6);
  display: block;
}

/* Dots */
.testimonials-dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 32px;
}

.t-dot {
  width: 20px;
  height: 4px;
  border-radius: 9999px;
  background: #e4e7ee;
  display: inline-block;
  cursor: pointer;
}
.t-dot--active {
  background: var(--color-primary);
  width: 40px;
}

.testimonials-count {
  text-align: center;
  margin-top: 16px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 13px;
  color: #6b7280;
}

@media (max-width: 1100px) {
  .testimonials-layout {
    flex-direction: column;
    height: auto;
  }
  .testimonials-blue {
    flex: unset;
    padding: 40px;
  }
  .testimonial-card {
    margin: 0;
    border-radius: 0;
  }
}

@media (max-width: 768px) {
  .testimonials-heading {
    font-size: 28px;
  }
  .testimonials-big-quote {
    font-size: 100px;
  }
  .testimonials-brand-strong {
    font-size: 26px;
  }
  .testimonial-avatar {
    display: none;
  }
  .testimonial-card {
    padding: 28px;
  }
}

/* =============================================================
   AWARDS & RECOGNITION
   ============================================================= */
.section-awards {
  background: #fff;
  position: relative;
}

/* Top gradient rule line */
.awards-top-rule {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(
    90deg,
    rgba(24, 104, 219, 0) 0%,
    rgba(24, 104, 219, 0.8) 30%,
    rgba(91, 153, 241, 0.8) 70%,
    rgba(91, 153, 241, 0) 100%
  );
}

.awards-header {
  text-align: center;
  padding-bottom: 40px;
}

.awards-rule {
  height: 1px;
  background: rgba(214, 218, 230, 0.7);
  margin: 0 0 40px;
}

.awards-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  position: relative;
}

.awards-col-divider {
  position: absolute;
  width: 1px;
  height: 100%;
  background: rgba(214, 218, 230, 0.7);
}

.awards-col-divider--1 {
  left: 33.33%;
}
.awards-col-divider--2 {
  left: 66.66%;
}

.award-col {
  padding: 0 40px 40px 0;
}
.award-col + .award-col {
  padding-left: 40px;
}

/* Year badge — gold */
.award-year-badge {
  display: inline-block;
  background: #fff9e6;
  border: 1px solid rgba(217, 160, 0, 0.3);
  border-radius: 6px;
  padding: 5px 12px;
  font-family: "Inter", sans-serif;
  font-weight: 700;
  font-size: 13px;
  color: #d9a000;
  margin-bottom: 14px;
}

/* Year badge — blue */
.award-year-badge--blue {
  background: #eef4ff;
  border-color: rgba(24, 104, 219, 0.3);
  color: var(--color-primary);
}

.award-source {
  font-family: "Inter", sans-serif;
  font-weight: 600;
  font-size: 10px;
  color: #8e96ad;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  display: block;
  margin-bottom: 16px;
}

.award-title {
  font-family: "Inter", sans-serif;
  font-weight: 800;
  font-size: 30px;
  color: var(--color-heading-dark);
  line-height: 1.12;
  margin-bottom: 16px;
}

.award-desc {
  font-family: "Inter", sans-serif;
  font-size: 15px;
  color: #6b748e;
  line-height: 1.62;
  margin-bottom: 20px;
}

.award-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #f6f7fb;
  border: 1px solid #d6dae6;
  border-radius: 6px;
  padding: 5px 10px;
  font-family: "Inter", sans-serif;
  font-weight: 500;
  font-size: 11px;
  color: #384055;
  margin-bottom: 20px;
}

.award-tag-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #8e96ad;
  flex-shrink: 0;
}

.award-link {
  font-family: "Inter", sans-serif;
  font-weight: 600;
  font-size: 14px;
  color: var(--color-primary);
  text-decoration: none;
  display: block;
}
.award-link:hover {
  color: var(--color-primary-dark);
}

/* Partners certifications bar */
.awards-partners-rule {
  height: 1px;
  background: rgba(214, 218, 230, 0.6);
  margin: 40px 0 24px;
}

.awards-partners-label {
  font-family: "Inter", sans-serif;
  font-weight: 600;
  font-size: 10px;
  color: #8e96ad;
  letter-spacing: 1px;
  text-transform: uppercase;
  text-align: center;
  display: block;
  margin-bottom: 20px;
}

.awards-partners-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  flex-wrap: wrap;
}

.partner-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 48px;
  position: relative;
}

.partner-item + .partner-item::before {
  content: "";
  position: absolute;
  left: 0;
  height: 36px;
  width: 1px;
  background: rgba(214, 218, 230, 0.6);
}

.partner-icon {
  background: #eef4ff;
  border: 1px solid #deebff;
  border-radius: 10px;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Inter", sans-serif;
  font-weight: 700;
  font-size: 14px;
  color: var(--color-primary);
  flex-shrink: 0;
}

.partner-name {
  font-family: "Inter", sans-serif;
  font-weight: 700;
  font-size: 13px;
  color: var(--color-heading-dark);
  display: block;
}
.partner-sub {
  font-family: "Inter", sans-serif;
  font-size: 11px;
  color: #6b748e;
  display: block;
  margin-top: 2px;
}

@media (max-width: 992px) {
  /* Awards grid — single column */
  .awards-grid {
    grid-template-columns: 1fr;
  }
  .awards-col-divider {
    display: none;
  }

  .award-title {
    font-size: 24px;
  }

  /* Fix both cols: override the higher-specificity + selector */
  .award-col,
  .award-col + .award-col {
    padding: 32px 0;
    padding-left: 0 !important;
    border-bottom: 1px solid rgba(214, 218, 230, 0.7);
  }
  .award-col:last-child {
    border-bottom: none;
  }

  /* Partners — 2-column grid, no absolute dividers */
  .awards-partners-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
  }
  .partner-item {
    padding: 16px;
    border-bottom: 1px solid rgba(214, 218, 230, 0.5);
    border-right: 1px solid rgba(214, 218, 230, 0.5);
  }
  /* Remove right border from even items (right column) */
  .partner-item:nth-child(2n) {
    border-right: none;
  }
  /* Remove bottom border from last row */
  .partner-item:nth-last-child(-n + 2):nth-child(odd),
  .partner-item:last-child {
    border-bottom: none;
  }
  /* Hide the absolute pseudo-dividers */
  .partner-item + .partner-item::before {
    display: none;
  }
}

/* =============================================================
   FINAL CTA — background image
   ============================================================= */
.section-final-cta {
  background: url("/wp-content/uploads/2026/06/Final-CTA-—-Tekyantra-1.png")
    no-repeat center center;
  background-size: cover;
  position: relative;
  overflow: hidden;
}

.final-cta-inner {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 100px 40px;
  max-width: 1400px;
  margin: 0 auto;
  gap: 40px;
}

/* Side stats */
.cta-side-stats {
  display: flex;
  flex-direction: column;
  gap: 24px;
  min-width: 130px;
}

.cta-stat-box {
  background: rgba(255, 255, 255, 0.09);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 16px;
  padding: 18px 22px;
  text-align: center;
  backdrop-filter: blur(4px);
}

.cta-stat-num {
  font-family: "Inter", sans-serif;
  font-weight: 800;
  font-size: 30px;
  color: #fff;
  display: block;
  line-height: 1;
  margin-bottom: 5px;
}
.cta-stat-lbl {
  font-family: "Inter", sans-serif;
  font-size: 12px;
  color: #a1c9fb;
  display: block;
}

/* Center content */
.cta-center {
  text-align: center;
  max-width: 800px;
  flex: 1;
}

.cta-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 100px;
  padding: 7px 14px;
  font-family: "Inter", sans-serif;
  font-weight: 600;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.88);
  letter-spacing: 0.24px;
  margin-bottom: 28px;
}

.cta-badge-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #33ff66;
  flex-shrink: 0;
}

.cta-heading {
  font-family: "Inter", sans-serif;
  font-weight: 800;
  font-size: 56px;
  color: #fff;
  line-height: 1.08;
  margin-bottom: 24px;
}

.cta-sub {
  font-family: "Inter", sans-serif;
  font-size: 22px;
  color: #c2ddfe;
  line-height: 1.58;
  margin-bottom: 27px;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}

.cta-btns {
  display: flex;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 36px;
}

.cta-trust-text {
  font-family: "Inter", sans-serif;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.35);
  letter-spacing: 0.13px;
  text-align: center;
}

@media (max-width: 1100px) {
  .final-cta-inner {
    flex-direction: column;
    padding: 80px 30px;
  }
  .cta-side-stats {
    flex-direction: row;
    justify-content: center;
    min-width: unset;
  }
  .cta-center {
    order: -1;
  }
  .cta-heading {
    font-size: 40px;
  }
  .cta-sub {
    font-size: 18px;
  }
}

@media (max-width: 768px) {
  .cta-heading {
    font-size: 30px;
  }
  .cta-sub {
    font-size: 16px;
  }
  .cta-btns {
    flex-direction: column;
    align-items: center;
  }
  .btn-cta-white,
  .btn-cta-ghost {
    width: 100%;
    max-width: 320px;
    justify-content: center;
  }
}

/* =============================================================
   SITE FOOTER
   ============================================================= */
.site-footer {
  background: #0d1017;
  color: rgba(255, 255, 255, 0.7);
}

.footer-section-padding {
  padding-bottom: 0 !important;
}

.footer-main {
  position: relative;
  overflow: hidden;
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.8fr 1fr 1fr 1fr 1fr;
  gap: 0;
  align-items: start;
}

.footer-brand-col {
  max-width: 360px;
  padding: 0px 48px 60px 0;
  border-right: 1px solid rgba(255, 255, 255, 0.08);
  margin-bottom: 80px;
}

.footer-links-col {
  padding: 0px 0 60px 40px;
}

.footer-logo img {
  height: 34px;
  margin-bottom: 24px;
}

.footer-tagline {
  font-size: 14px;
  line-height: 1.75;
  color: rgba(255, 255, 255, 0.5);
  margin-bottom: 28px;
}

.footer-social {
  display: flex;
  gap: 10px;
  margin-bottom: 32px;
}

.social-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: transparent;
  color: rgba(255, 255, 255, 0.6);
  transition:
    border-color 0.2s,
    color 0.2s;
}
.social-icon:hover {
  border-color: rgba(255, 255, 255, 0.5);
  color: #fff;
}

.footer-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 22px;
  background: #3b6ef5;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  border-radius: 6px;
  text-decoration: none;
  transition: background 0.2s;
  margin-bottom: 36px;
}
.footer-cta-btn:hover {
  background: #2d5de0;
  color: #fff;
}

.footer-location {
}
.footer-location-label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.35);
  margin: 0 0 6px;
}
.footer-location-text {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.55);
  margin: 0 0 4px;
}
.footer-email {
  font-size: 14px;
  color: #5b8af5;
  text-decoration: none;
  transition: color 0.2s;
}
.footer-email:hover {
  color: #7fa3ff;
}

.footer-col-title {
  font-size: 11px;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.4);
  text-transform: uppercase;
  letter-spacing: 1.2px;
  margin-bottom: 20px;
}

.footer-links {
  list-style: none;
  margin: 0;
  padding: 0;
}
.footer-links li {
  padding: 5px 0;
}
.footer-links a {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.6);
  transition: color 0.2s;
  text-decoration: none;
}
.footer-links a:hover {
  color: #fff;
}

/* Watermark */
.footer-watermark {
  position: absolute;
  bottom: 20px;
  left: 33%;
  transform: translateX(-30%);
  font-size: clamp(80px, 12vw, 160px);
  font-weight: 900;
  letter-spacing: -2px;
  color: rgba(255, 255, 255, 0.025);
  white-space: nowrap;
  pointer-events: none;
  user-select: none;
  line-height: 1;
}

.footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.07);
  padding: 20px 0;
}

.footer-bottom-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  padding: 0 30px;
}

.footer-copy {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.3);
  margin: 0;
}

.footer-bottom-links {
  display: flex;
  align-items: center;
  gap: 8px;
}
.footer-bottom-links a {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.3);
  transition: color 0.2s;
  text-decoration: none;
}
.footer-bottom-links a:hover {
  color: rgba(255, 255, 255, 0.7);
}
.footer-dot {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.25);
}

@media (max-width: 1100px) {
  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 32px;
  }
  .footer-brand-col {
    grid-column: 1 / -1;
    padding: 40px 0 0;
    max-width: 100%;
    border-right: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    margin-bottom: 0px;
  }
  .footer-links-col {
    padding: 24px 0 0;
  }
  .footer-watermark {
    display: none;
  }
}

@media (max-width: 640px) {
  .footer-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 768px) {
  .footer-bottom-inner {
    flex-direction: column;
    align-items: flex-start;
  }
  .section-padding {
    padding: 60px 20px;
  }
}

/* =============================================================
   SERVICES PAGE
   ============================================================= */

/* ── Hero ── */
.sp-hero {
  /* Linear gradient: white top → #1868db bottom (from Figma) */
  background: linear-gradient(to bottom, #ffffff 0%, #1868db 100%);
  position: relative;
  overflow: hidden;
  padding: 130px 200px 140px;
  text-align: center;
  min-height: 560px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Label */
.sp-hero-label {
  display: block;
  font-family: "Inter", sans-serif;
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: var(--color-primary);
  margin-bottom: 20px;
}

.sp-hero-inner {
  position: relative;
  z-index: 2;
  max-width: 850px;
  margin: 0 auto;
}

.sp-hero-heading {
  font-family: "Inter", sans-serif;
  font-weight: 800;
  font-size: 58px;
  color: #fff; /* dark on light upper gradient */
  line-height: 1.08;
  letter-spacing: -2px;
  margin: 0 0 20px;
}

/* "Engineered to scale." — brand blue accent */
.sp-hero-heading-accent {
  color: var(--color-primary);
}

.sp-hero-sub {
  font-family: "Inter", sans-serif;
  font-size: 17px;
  color: #fff;
  line-height: 1.65;
  margin-bottom: 40px;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

.sp-hero-btns {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
}

/* CTA buttons — transparent bg since they sit on gradient mid-area */
.sp-btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: transparent;
  color: var(--color-heading-dark) !important;
  font-family: "Inter", sans-serif;
  font-size: 15px;
  font-weight: 600;
  padding: 14px 28px;
  border-radius: 100px;
  border: 1.5px solid rgba(0, 0, 0, 0.2);
  text-decoration: none;
  transition: var(--transition);
}

.sp-btn-primary:hover {
  border-color: var(--color-primary);
  color: var(--color-primary) !important;
}

.sp-btn-secondary {
  display: inline-flex;
  align-items: center;
  background: #fff;
  color: var(--color-heading-dark) !important;
  font-family: "Inter", sans-serif;
  font-size: 15px;
  font-weight: 600;
  padding: 14px 28px;
  border-radius: 100px;
  border: none;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
  text-decoration: none;
  transition: var(--transition);
}

.sp-btn-secondary:hover {
  background: #f0f4ff;
  color: var(--color-primary) !important;
}

/* ── White pixel blocks (left & right) ── */
.sp-blocks {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 220px;
  z-index: 1;
  pointer-events: none;
}

.sp-blocks--left {
  left: 0;
}
.sp-blocks--right {
  right: 0;
}

.sp-block {
  position: absolute;
  background: #ffffff;
}

/* Wave curve — white arc at the very bottom */
.sp-hero-wave {
  position: absolute;
  bottom: -2px;
  left: -5%;
  right: -5%;
  height: 90px;
  background: #fff;
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
  z-index: 2;
}

@media (max-width: 992px) {
  .sp-hero {
    padding: 100px 120px 120px;
  }
  .sp-hero-heading {
    font-size: 48px;
  }
}

@media (max-width: 768px) {
  .sp-hero {
    padding: 80px 24px 100px;
  }
  .sp-hero-heading {
    font-size: 36px;
    letter-spacing: -1px;
  }
  .sp-blocks {
    display: none;
  }
  .sp-hero-btns {
    flex-direction: column;
    align-items: center;
  }
}

/* ── Six Disciplines ── */
.sp-disciplines {
  background: #fff;
}

.sp-disc-header {
  margin-bottom: 56px;
}

.sp-disc-heading {
  font-family: "Inter", sans-serif;
  font-weight: 800;
  font-size: 44px;
  color: var(--color-heading-dark);
  line-height: 1.15;
  margin-bottom: 16px;
  letter-spacing: -0.5px;
}

.sp-disc-sub {
  font-family: "Inter", sans-serif;
  font-size: 16px;
  color: #4b5563;
  max-width: 650px;
  margin: 0 auto;
  line-height: 1.6;
}

.sp-disc-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

/* Card — white with rounded corners */
.sp-disc-card {
  background: #fff;
  border: 1px solid #e8eaef;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  position: relative; /* required for Bootstrap stretched-link */
  transition:
    transform 0.3s,
    box-shadow 0.3s;
}

.sp-disc-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.1);
}

/* Top image area — user's image goes here */
.sp-disc-img {
  position: relative;
  height: 200px;
  overflow: hidden;
  background: linear-gradient(
    145deg,
    #0a1535,
    #1868db
  ); /* fallback if image not loaded */
}

.sp-disc-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Title overlaid at bottom of image */
.sp-disc-title {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 40px 20px 16px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 17px;
  color: #fff;
  line-height: 1.35;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.45));
  margin: 0;
}

/* White content area */
.sp-disc-body {
  padding: 18px 20px 22px;
  background: #fff;
}

/* Tags */
.sp-disc-tags {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}

.sp-disc-tag {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 10px;
  font-weight: 500;
  color: #1868db;
  background: #ebf2fd;
  padding: 3px 10px;
  border-radius: 100px;
}

/* Description */
.sp-disc-desc {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 13px;
  color: #4b5563;
  line-height: 1.65;
  margin-bottom: 16px;
}

/* Know More link */
.sp-disc-link {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 600;
  font-size: 14px;
  color: var(--color-primary);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.sp-disc-link:hover {
  color: var(--color-primary-dark);
}

@media (max-width: 1100px) {
  .sp-disc-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 768px) {
  .sp-disc-grid {
    grid-template-columns: 1fr;
  }
  .sp-disc-heading {
    font-size: 32px;
  }
}

/* ── Feature Sections ── */
.sp-feature {
  padding: 100px 0;
}
.sp-feature--light {
  background: #fff;
}
.sp-feature--grey {
  background: #f0f4f8;
}
.sp-feature--dark {
  background: var(--color-bg-dark);
}
.sp-feature--alt-bg {
  background: #f8f9fb;
}

/* Section label (small uppercase above heading) */
.sp-feature-label {
  display: block;
  font-family: "Inter", sans-serif;
  font-weight: 600;
  font-size: 11px;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: var(--color-primary);
  margin-bottom: 16px;
}

/* Blue checkmark list (left side feature text) */
.sp-check-list {
  list-style: none;
  margin: 20px 0 0;
  padding: 0;
}

.sp-check-list li {
  font-family: "Inter", sans-serif;
  font-size: 15px;
  color: #374151;
  padding: 10px 0 10px 32px;
  position: relative;
  line-height: 1.5;
}

.sp-check-list li:last-child {
  border-bottom: none;
}

.sp-check-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 10px;
  width: 20px;
  height: 20px;
  background: rgba(24, 104, 219, 0.1);
  color: var(--color-primary);
  border-radius: 30%;
  font-size: 11px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 20px;
  text-align: center;
}

/* ── Performance Snapshot Card ── */
.sp-feature-card {
  flex: 0 0 50%;
  max-width: 50%;
}

.sp-snap-card {
  background: radial-gradient(ellipse at 80% 20%, #0f2255 0%, #0b1432 55%);
  border-radius: 24px;
  padding: 24px 28px 22px; /* reduced top/bottom ~30% */
  box-shadow: 0 32px 80px rgba(0, 0, 0, 0.35);
}

.sp-snap-label {
  display: block;
  font-family: "Inter", sans-serif;
  font-weight: 600;
  font-size: 11px;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: #5b9af1;
  margin-bottom: 16px; /* tighter */
}

/* 2×2 metric grid */
.sp-snap-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px; /* tighter gap */
  margin-bottom: 16px;
}

.sp-snap-metric {
  background: rgba(255, 255, 255, 0.07);
  border-radius: 14px;
  padding: 14px 16px 12px; /* less vertical padding */
}

.sp-snap-num {
  display: block;
  font-family: "Inter", sans-serif;
  font-weight: 800;
  font-size: 25px; /* slightly smaller */
  color: #fff;
  line-height: 1;
  margin-bottom: 6px;
  letter-spacing: -2px;
}

.sp-snap-unit {
  font-size: 25px;
  color: #4d9af5;
  font-weight: 800;
  letter-spacing: -1px;
}

.sp-snap-desc {
  font-family: "Inter", sans-serif;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.45);
  line-height: 1.4;
  display: block;
}

/* Divider */
.sp-snap-divider {
  height: 1px;
  background: rgba(255, 255, 255, 0.08);
  margin: 2px 0 14px;
}

/* Blue dot list */
.sp-snap-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px; /* tighter */
}

.sp-snap-list li {
  font-family: "Inter", sans-serif;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.65);
  padding-left: 18px;
  position: relative;
  line-height: 1.45;
}

.sp-snap-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 20px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #4d9af5;
}

.sp-feature-inner {
  display: flex;
  align-items: center;
  gap: 64px;
  max-width: 1300px;
  margin: 0 auto;
  padding: 0 80px;
}

.sp-feature-inner.sp-feature-inner--reverse {
  flex-direction: row-reverse !important;
}

.sp-feature-text {
  flex: 0 0 50%;
  max-width: 50%;
}

.sp-feature-heading {
  font-family: "Inter", sans-serif;
  font-weight: 600;
  font-size: 38px;
  color: var(--color-heading-dark);
  line-height: 1.18;
  margin-bottom: 20px;
  letter-spacing: -0.5px;
}

.sp-feature-heading.text-white {
  color: #fff;
}

.sp-feature-desc {
  font-family: "Inter", sans-serif;
  font-size: 18px;
  color: #4b5563;
  line-height: 1.7;
  margin-bottom: 24px;
}

.sp-feature-list {
  list-style: none;
  margin: 0 0 8px;
  padding: 0;
}

.sp-feature-list li {
  font-family: "Inter", sans-serif;
  font-size: 14px;
  color: #4b5563;
  padding: 8px 0;
  padding-left: 22px;
  position: relative;
  border-bottom: 1px solid #f3f4f6;
  line-height: 1.55;
}

.sp-feature-list li::before {
  content: "→";
  position: absolute;
  left: 0;
  color: var(--color-primary);
  font-size: 13px;
}

.sp-feature-list--light li {
  color: rgba(255, 255, 255, 0.75);
  border-color: rgba(255, 255, 255, 0.08);
}
.sp-feature-list--light li::before {
  color: #a1c9fb;
}

/* Dark stat card */
.sp-feature-card {
  flex: 0 0 50%;
  max-width: 50%;
}

.sp-stat-card {
  background: #0b1432;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 20px;
  padding: 28px;
}

.sp-stat-card--accent {
  background: linear-gradient(145deg, #08102a, #0f1f52);
}

.sp-stat-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-bottom: 20px;
}

.sp-stat-row--border {
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

.sp-stat-item {
  display: flex;
  flex-direction: column;
}

.sp-stat-val {
  font-family: "Inter", sans-serif;
  font-weight: 800;
  font-size: 32px;
  color: #fff;
  line-height: 1;
  margin-bottom: 4px;
  letter-spacing: -1px;
}

.sp-stat-lbl {
  font-family: "Inter", sans-serif;
  font-size: 11px;
  color: #6b748e;
}

.sp-stat-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.sp-stat-list--padtop {
  padding-top: 4px;
}

.sp-stat-list-item {
  font-family: "IBM Plex Mono", monospace;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.7);
  display: flex;
  align-items: center;
  gap: 8px;
}

.sp-stat-list-item--muted {
  color: rgba(255, 255, 255, 0.35);
}

.sp-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--color-primary);
  flex-shrink: 0;
}

.sp-dot--muted {
  background: rgba(255, 255, 255, 0.25);
}

@media (max-width: 1100px) {
  .sp-feature-inner {
    flex-direction: column !important;
    padding: 0 30px;
    gap: 48px;
  }

  .sp-feature-text {
    max-width: 100%;
  }

  .sp-feature-card {
    flex: unset;
    width: 100%;
    max-width: 480px;
    margin: 0 auto;
  }
  .sp-feature-heading {
    font-size: 30px;
  }
}

/* ── Process ── */
.sp-process {
  background: #f0f4f8;
}

.sp-process-header {
  margin-bottom: 56px;
}

.sp-process-heading {
  font-family: "Inter", sans-serif;
  font-weight: 600;
  font-size: 40px;
  color: var(--color-heading-dark);
  line-height: 1.18;
  margin-bottom: 16px;
  letter-spacing: -0.5px;
}

.sp-process-sub {
  font-family: "Inter", sans-serif;
  font-size: 17px;
  color: #6b748e;
  max-width: 600px;
  margin: 0 auto;
  line-height: 1.65;
}

.sp-process-steps {
  display: flex;
  align-items: flex-start;
  gap: 0;
}

.sp-step {
  flex: 1;
  padding: 0 20px;
  text-align: center;
}

.sp-step-num {
  font-family: "IBM Plex Mono", monospace;
  font-size: 13px;
  font-weight: 500;
  color: var(--color-primary);
  background: #fff;
  border: 1px solid #dfe4e9;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 16px;
}

.sp-step-title {
  font-family: "Inter", sans-serif;
  font-weight: 500;
  font-size: 17px;
  color: var(--color-heading-dark);
  margin-bottom: 10px;
  line-height: 1.3;
}

.sp-step-desc {
  font-family: "Inter", sans-serif;
  font-size: 14px;
  color: #6b748e;
  line-height: 1.65;
  margin: 0;
}

.sp-step-connector {
  flex: 0 0 60px;
  height: 2px;
  background: linear-gradient(
    to right,
    rgba(24, 104, 219, 0.3),
    rgba(24, 104, 219, 0.6),
    rgba(24, 104, 219, 0.3)
  );
  margin-top: 20px;
  border-radius: 1px;
  flex-shrink: 0;
}

@media (max-width: 992px) {
  .sp-process-steps {
    flex-direction: column;
    gap: 32px;
    align-items: center;
  }
  .sp-step {
    max-width: 400px;
  }
  .sp-step-connector {
    width: 2px;
    height: 40px;
    flex: 0 0 40px;
    background: linear-gradient(
      to bottom,
      rgba(24, 104, 219, 0.3),
      rgba(24, 104, 219, 0.6)
    );
    margin-top: 0;
  }
  .sp-process-heading {
    font-size: 30px;
  }
}

/* ── Tools ── */
.sp-tools {
  background: #f0f4ff;
  border-top: 1px solid #e0e8f5;
}

.sp-tools-header {
  margin-bottom: 52px;
}

.sp-tools-heading {
  font-family: "Inter", sans-serif;
  font-weight: 800;
  font-size: 42px;
  color: var(--color-heading-dark);
  line-height: 1.15;
  margin-bottom: 16px;
  letter-spacing: -0.5px;
}

.sp-tools-sub {
  font-family: "Inter", sans-serif;
  font-size: 17px;
  color: #6b748e;
  max-width: 560px;
  margin: 0 auto;
  line-height: 1.6;
}

.sp-tools-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
}

.sp-tool-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 20px 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 10px;
  transition:
    transform 0.25s,
    box-shadow 0.25s;
}

.sp-tool-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

.sp-tool-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Inter", sans-serif;
  font-weight: 800;
  font-size: 13px;
  color: #fff;
  letter-spacing: -0.5px;
}

/* Tool icon colours */
.sp-tool-icon--aws {
  background: #f90;
}
.sp-tool-icon--azure {
  background: #0078d4;
}
.sp-tool-icon--gcp {
  background: #4285f4;
}
.sp-tool-icon--k8s {
  background: #326de6;
}
.sp-tool-icon--docker {
  background: #2496ed;
  font-size: 22px;
}
.sp-tool-icon--tf {
  background: #844fba;
}
.sp-tool-icon--ansible {
  background: #e00;
}
.sp-tool-icon--gh {
  background: #24292f;
}
.sp-tool-icon--gitlab {
  background: #e24329;
}
.sp-tool-icon--jenkins {
  background: #335061;
}
.sp-tool-icon--dd {
  background: #632ca6;
}
.sp-tool-icon--prom {
  background: #e6522c;
}
.sp-tool-icon--argo {
  background: #ef7b4d;
}
.sp-tool-icon--pg {
  background: #336791;
}
.sp-tool-icon--vault {
  background: #000e21;
}

.sp-tool-name {
  font-family: "Inter", sans-serif;
  font-weight: 700;
  font-size: 13px;
  color: var(--color-heading-dark);
  display: block;
  line-height: 1.3;
}

.sp-tool-cat {
  font-family: "Inter", sans-serif;
  font-size: 11px;
  color: #9ba4b5;
  display: block;
}

@media (max-width: 992px) {
  .sp-tools-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .sp-tools-heading {
    font-size: 32px;
  }
}

@media (max-width: 768px) {
  .sp-tools-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* =============================================================
   DEVOPS PAGE
   ============================================================= */

/* ── Hero ── */
.dv-hero {
  background: #fff;
  padding: 0;
  overflow: hidden;
}

/* Breadcrumb — immediately below navbar */
.dv-breadcrumb {
  font-family: "Inter", sans-serif;
  font-size: 13px;
  color: #f8f9fb;
  padding: 14px 80px;
  border-bottom: 1px solid #f0f2f5;
}

.dv-breadcrumb a {
  color: #9ba4b5;
}
.dv-breadcrumb a:hover {
  color: var(--color-primary);
}
.dv-breadcrumb .dv-bc-current {
  color: var(--color-primary);
  font-weight: 500;
}
.dv-breadcrumb span.sep {
  margin: 0 8px;
  color: #d1d5db;
}

.dv-hero-inner {
  display: flex;
  align-items: center;
  min-height: 480px;
}

/* Left content */
.dv-hero-content {
  flex: 1;
  padding: 64px 80px 64px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.dv-hero-heading {
  font-family: "Inter", sans-serif;
  font-weight: 800;
  font-size: 52px;
  color: #092857;
  letter-spacing: -1.5px;
  line-height: 1.1;
  margin: 0 0 20px;
}

.dv-hero-desc {
  font-family: "Inter", sans-serif;
  font-size: 20px;
  color: #4b5563;
  line-height: 1.65;
  margin-bottom: 36px;
  max-width: 480px;
}

.dv-hero-btns {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}

/* Build. Ship. Secure. card */
.dv-bss-card {
  flex: 0 0 420px;
  background: linear-gradient(135deg, #1868db 0%, #0e48a5 45%, #050c20 100%);
  border-radius: 24px;
  padding: 44px 40px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  position: relative;
  overflow: hidden;
  margin: 40px 60px 40px 0;
}

.dv-bss-label {
  font-family: "IBM Plex Mono", monospace;
  font-size: 10px;
  color: rgba(255, 255, 255, 0.45);
  text-transform: uppercase;
  letter-spacing: 2px;
  display: block;
  margin-bottom: 20px;
}

.dv-bss-heading {
  font-family: "Inter", sans-serif;
  font-weight: 800;
  font-size: 52px;
  color: #fff;
  line-height: 1.08;
  letter-spacing: -2px;
  margin: 0 0 28px;
}

.dv-bss-tags {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.dv-bss-tag {
  font-family: "IBM Plex Mono", monospace;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.75);
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.2);
  padding: 5px 14px;
  border-radius: 100px;
}

/* Trusted partners bar */
.dv-trusted {
  background: #f5f6f8;
  padding: 28px 80px 36px;
  border-top: 1px solid #eeeff2;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.dv-trusted-label {
  font-family: "Inter", sans-serif;
  font-size: 11px;
  font-weight: 600;
  color: #9ba4b5;
  text-transform: uppercase;
  letter-spacing: 1.5px;
}

.dv-trusted-logos {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
  flex-wrap: wrap;
}

.dv-logo-pill {
  font-family: "Inter", sans-serif;
  font-size: 15px;
  font-weight: 600;
  color: #374151;
  background: #fff;
  border: 1px solid #e5e7eb;
  padding: 3px 20px;
  border-radius: 12px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
}

@media (max-width: 1100px) {
  .dv-hero-inner {
    flex-direction: column;
  }
  .dv-hero-content {
    padding: 48px 30px;
  }
  .dv-bss-card {
    flex: unset;
    width: 100%;
    border-radius: 0;
    min-height: 300px;
    padding: 40px 30px;
  }
  .dv-bss-heading {
    font-size: 42px;
  }
  .dv-hero-heading {
    font-size: 38px;
  }
  .dv-trusted {
    padding: 20px 30px;
  }
  .dv-breadcrumb {
    padding: 14px 30px;
  }
}

/* ── Problem / Challenge ── */
.dv-problem {
  background: #fff;
}

.dv-problem-inner {
  display: flex;
  gap: 80px;
  align-items: flex-start;
}

.dv-problem-left {
  flex: 0 0 550px;
}

.dv-problem-heading {
  font-family: "Inter", sans-serif;
  font-weight: 800;
  font-size: 36px;
  color: #092857;
  line-height: 1.3;
  margin: 0;
  letter-spacing: -0.5px;
}

.dv-problem-right {
  flex: 1;
}

/* Bullet list in a bordered box */
.dv-bullet-list {
  list-style: none;
  margin: 20px 0 0;
  padding: 16px 24px;
  background: #f1f3f7;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
}

.dv-bullet-list li {
  font-family: "Inter", sans-serif;
  font-size: 14px;
  color: #374151;
  padding: 10px 0 10px 20px;
  position: relative;
  line-height: 1.55;
}

.dv-bullet-list li:last-child {
  border-bottom: none;
}

.dv-bullet-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 17px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--color-primary);
}

@media (max-width: 992px) {
  .dv-problem-inner {
    flex-direction: column;
    gap: 140px;
  }
  .dv-problem-left {
    flex: unset;
    max-width: 100%;
  }
  .dv-problem-heading {
    font-size: 26px;
  }
}

/* ── Methodology (dark) ── */
.dv-methodology {
  background: #0d1f4a;
}

.dv-method-heading {
  font-family: "Inter", sans-serif;
  font-weight: 800;
  font-size: 42px;
  color: #fff;
  letter-spacing: -1px;
  margin-bottom: 56px;
}

.dv-method-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  align-items: start; /* cards grow downward from top, no forced equal height */
}

/* Each step is a dark card */
.dv-step {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 16px;
  padding: 32px 28px;
}

.dv-step-num {
  font-family: "Inter", sans-serif;
  font-size: 52px;
  font-weight: 800;
  color: var(--color-primary);
  display: block;
  margin-bottom: 20px;
  line-height: 1;
  letter-spacing: -2px;
}

.dv-step-title {
  font-family: "Inter", sans-serif;
  font-weight: 700;
  font-size: 18px;
  color: #fff;
  margin-bottom: 0;
  line-height: 1.3;
}

/* Blue accent line below title */
.dv-step-title::after {
  content: "";
  display: block;
  width: 32px;
  height: 2px;
  background: var(--color-primary);
  border-radius: 1px;
  margin: 12px 0 16px;
}

.dv-step-desc {
  font-family: "Inter", sans-serif;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.55);
  line-height: 1.65;
  margin: 0;
}

@media (max-width: 992px) {
  .dv-method-steps {
    grid-template-columns: repeat(2, 1fr);
  }
  .dv-method-heading {
    font-size: 30px;
  }
}

@media (max-width: 600px) {
  .dv-method-steps {
    grid-template-columns: 1fr;
  }
}

/* ── Capabilities ── */
.dv-capabilities {
  background: #f0f4ff;
}

.dv-cap-heading {
  font-family: "Inter", sans-serif;
  font-weight: 800;
  font-size: 40px;
  color: var(--color-heading-dark);
  margin-bottom: 48px;
  letter-spacing: -0.5px;
}

.dv-cap-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.dv-cap-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  padding: 28px 24px;
  transition:
    box-shadow 0.25s,
    transform 0.25s;
}

.dv-cap-card:hover {
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
  transform: translateY(-3px);
}

.dv-cap-icon {
  width: 36px;
  height: 36px;
  background: var(--color-primary);
  border-radius: 8px;
  margin-bottom: 16px;
}

.dv-cap-title {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 16px;
  color: var(--color-heading-dark);
  margin-bottom: 10px;
  line-height: 1.35;
}

.dv-cap-desc {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 13px;
  color: #6b748e;
  line-height: 1.65;
  margin: 0;
}

@media (max-width: 992px) {
  .dv-cap-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 600px) {
  .dv-cap-grid {
    grid-template-columns: 1fr;
  }
}

/* ── Tech Stack ── */
.dv-stack {
  background: #fff;
}

.dv-stack-heading {
  font-family: "Inter", sans-serif;
  font-weight: 800;
  font-size: 38px;
  color: var(--color-heading-dark);
  letter-spacing: -0.5px;
}

.dv-stack-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px 48px;
}

.dv-stack-group {
}

.dv-stack-cat {
  font-family: "IBM Plex Mono", monospace;
  font-size: 10px;
  font-weight: 500;
  color: #9ba4b5;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  display: block;
  margin-bottom: 12px;
}

.dv-stack-tags {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.dv-stack-tag {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 13px;
  font-weight: 500;
  color: #374151;
  background: #f3f4f6;
  border: 1px solid #e5e7eb;
  padding: 6px 14px;
  border-radius: 100px;
  transition: var(--transition);
}

.dv-stack-tag:hover {
  background: #ebf2fd;
  color: var(--color-primary);
  border-color: rgba(24, 104, 219, 0.2);
}

@media (max-width: 768px) {
  .dv-stack-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* ── Contact Form (dark) ── */
.dv-contact {
  background: #04142c;
  padding: 100px 0;
}

.dv-contact-inner {
  display: flex;
  gap: 80px;
  align-items: flex-start;
  max-width: 1300px;
  margin: 0 auto;
  padding: 0 80px;
}

.dv-contact-text {
  flex: 1;
}

.dv-contact-heading {
  font-family: "Inter", sans-serif;
  font-weight: 800;
  font-size: 42px;
  color: #fff;
  line-height: 1.15;
  margin-bottom: 16px;
  letter-spacing: -1px;
}

.dv-contact-desc {
  font-family: "Inter", sans-serif;
  font-size: 16px;
  color: rgba(255, 255, 255, 0.6);
  line-height: 1.7;
  margin-bottom: 24px;
}

.dv-contact-bullets {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.dv-contact-bullets li {
  font-family: "Inter", sans-serif;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.65);
  padding-left: 18px;
  position: relative;
}

.dv-contact-bullets li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 23px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #4d9af5;
}

/* Form card */
.dv-form-card {
  flex: 0 0 480px;
  background: #fff;
  border-radius: 20px;
  padding: 36px;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.25);
}

.dv-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.dv-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.dv-label {
  font-family: "Inter", sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: var(--color-heading-dark);
}

.dv-input {
  font-family: "Inter", sans-serif;
  font-size: 14px;
  color: var(--color-heading-dark);
  background: #fff;
  border: 1.5px solid #e0e4ea;
  border-radius: 10px;
  padding: 12px 16px;
  outline: none;
  transition: border-color 0.2s;
  width: 100%;
}

.dv-input:focus {
  border-color: var(--color-primary);
}
.dv-input::placeholder {
  color: #9ba4b5;
}

.dv-textarea {
  resize: vertical;
  min-height: 100px;
}

.dv-submit {
  background: var(--color-primary);
  color: #fff;
  font-family: "Inter", sans-serif;
  font-size: 15px;
  font-weight: 600;
  padding: 10px;
  border-radius: 10px;
  border: none;
  cursor: pointer;
  width: 100%;
  transition: background 0.2s;
  margin-top: 4px;
}

.dv-submit:hover {
  background: var(--color-primary-dark);
}

.dv-privacy {
  font-family: "Inter", sans-serif;
  font-size: 12px;
  color: #9ba4b5;
  text-align: center;
  margin: 0;
}

@media (max-width: 1100px) {
  .dv-contact-inner {
    flex-direction: column;
    padding: 0 30px;
  }
  .dv-form-card {
    flex: unset;
    width: 100%;
    max-width: 520px;
  }
  .dv-contact-heading {
    font-size: 30px;
  }
}

/* ── Delivery / Case Studies ── */
.dv-delivery {
  background: #fff;
}

.dv-delivery-heading {
  font-family: "Inter", sans-serif;
  font-weight: 800;
  font-size: 40px;
  color: var(--color-heading-dark);
  letter-spacing: -1px;
  margin-bottom: 0;
}

.dv-delivery-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.dv-delivery-card {
  background: #fff;
  border: 1px solid #e8eaef;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  transition:
    transform 0.3s,
    box-shadow 0.3s;
}

.dv-delivery-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.1);
}

/* Image area with stat overlay */
.dv-delivery-img {
  position: relative;
  height: 220px;
  overflow: hidden;
}

.dv-delivery-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Stat overlay on top of image */
.dv-delivery-overlay {
  position: absolute;
  top: 24px;
  left: 24px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.dv-delivery-stat {
  font-family: "Inter", sans-serif;
  font-weight: 800;
  font-size: 36px;
  color: #fff;
  letter-spacing: -1px;
  line-height: 1;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

.dv-delivery-sub {
  font-family: "Inter", sans-serif;
  font-size: 12px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.75);
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
}

/* "tekyantra" brand label at bottom of image */
.dv-delivery-brand {
  position: absolute;
  bottom: 14px;
  left: 24px;
  font-family: "Inter", sans-serif;
  font-size: 11px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.55);
  letter-spacing: 0.5px;
}

/* Card body */
.dv-delivery-body {
  padding: 22px 24px 26px;
}

.dv-delivery-tags {
  display: flex;
  gap: 6px;
  margin-bottom: 14px;
}

.dv-dtag {
  font-family: "Inter", sans-serif;
  font-size: 12px;
  font-weight: 500;
  color: var(--color-primary);
  background: rgba(24, 104, 219, 0.08);
  border: 1px solid rgba(24, 104, 219, 0.15);
  padding: 4px 12px;
  border-radius: 100px;
}

.dv-delivery-title {
  font-family: "Inter", sans-serif;
  font-weight: 700;
  font-size: 17px;
  color: var(--color-heading-dark);
  line-height: 1.4;
  margin-bottom: 6px;
}

.dv-delivery-org {
  font-family: "Inter", sans-serif;
  font-size: 13px;
  color: #9ba4b5;
  margin-bottom: 12px;
}

.dv-delivery-desc {
  font-family: "Inter", sans-serif;
  font-size: 14px;
  color: #4b5563;
  line-height: 1.65;
  margin-bottom: 16px;
}

@media (max-width: 992px) {
  .dv-delivery-grid {
    grid-template-columns: 1fr;
  }
}

/* ── Kosmic Eye ── */
.dv-kosmiceye {
  background: #f0f2f6;
}

.dv-ke-inner {
  display: flex;
  gap: 80px;
  align-items: center;
}

.dv-ke-text {
  flex: 1;
}

.dv-ke-heading {
  font-family: "Inter", sans-serif;
  font-weight: 800;
  font-size: 36px;
  color: var(--color-heading-dark);
  line-height: 1.2;
  letter-spacing: -0.5px;
  margin-bottom: 20px;
}

.dv-ke-desc-left {
  font-family: "Inter", sans-serif;
  font-size: 16px;
  color: #4b5563;
  line-height: 1.7;
  margin: 0;
  max-width: 460px;
}

/* Right card */
.dv-ke-card {
  flex: 0 0 420px;
  background: #fff;
  border-radius: 20px;
  padding: 36px;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
}

/* Product badge — dark pill with green dot */
.dv-ke-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--color-heading-dark);
  color: #fff;
  font-family: "Inter", sans-serif;
  font-size: 13px;
  font-weight: 600;
  padding: 6px 16px;
  border-radius: 100px;
  margin-bottom: 20px;
}

.dv-ke-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #10b981;
  flex-shrink: 0;
}

.dv-ke-title {
  font-family: "Inter", sans-serif;
  font-weight: 800;
  font-size: 28px;
  color: var(--color-heading-dark);
  margin-bottom: 14px;
  letter-spacing: -0.5px;
}

.dv-ke-card-desc {
  font-family: "Inter", sans-serif;
  font-size: 15px;
  color: #6b748e;
  line-height: 1.65;
  margin-bottom: 28px;
}

/* Dark CTA button — full width */
.dv-ke-btn {
  display: block;
  width: 100%;
  text-align: center;
  background: var(--color-heading-dark);
  color: #fff !important;
  font-family: "Inter", sans-serif;
  font-size: 15px;
  font-weight: 600;
  padding: 16px 24px;
  border-radius: 10px;
  text-decoration: none;
  transition:
    background 0.2s,
    opacity 0.2s;
}

.dv-ke-btn:hover {
  opacity: 0.85;
  color: #fff !important;
}

@media (max-width: 992px) {
  .dv-ke-inner {
    flex-direction: column;
    gap: 40px;
  }
  .dv-ke-card {
    flex: unset;
    width: 100%;
    max-width: 480px;
  }
  .dv-ke-heading {
    font-size: 28px;
  }
}

/* ── FAQ ── */
.dv-faq {
  background: #f8f9fb;
}

.dv-faq-inner {
  display: flex;
  gap: 120px;
  align-items: flex-start;
}

.dv-faq-left {
  flex: 0 0 450px;
  position: sticky;
  top: 100px;
}

.dv-faq-list {
  flex: 1;
}

.dv-faq-item {
  border-bottom: 1px solid #e0e4ea;
}

.dv-faq-q {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 20px 0;
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  font-family: "Inter", sans-serif;
  font-size: 15px;
  font-weight: 600;
  color: var(--color-heading-dark);
  gap: 16px;
  transition: color 0.2s;
}

.dv-faq-q:hover {
  color: var(--color-primary);
}

.dv-faq-icon {
  font-size: 20px;
  font-weight: 400;
  color: var(--color-primary);
  flex-shrink: 0;
  transition: transform 0.2s;
}

.dv-faq-q[aria-expanded="true"] .dv-faq-icon {
  transform: rotate(45deg);
}

.dv-faq-a {
  font-family: "Inter", sans-serif;
  font-size: 14px;
  color: #6b748e;
  line-height: 1.7;
  padding: 0 0 20px;
  margin: 0;
}

/* ── DevOps Simple CTA ── */
.dv-cta-simple {
  background: linear-gradient(135deg, #0d1f4a 0%, #071030 60%, #050b22 100%);
  padding: 100px 40px;
  text-align: center;
}

.dv-cta-simple-inner {
  max-width: 760px;
  margin: 0 auto;
}

.dv-cta-simple-heading {
  font-family: "Inter", sans-serif;
  font-weight: 800;
  font-size: 48px;
  color: #fff;
  line-height: 1.15;
  letter-spacing: -1.5px;
  margin-bottom: 20px;
}

.dv-cta-simple-sub {
  font-family: "Inter", sans-serif;
  font-size: 18px;
  color: rgba(255, 255, 255, 0.65);
  line-height: 1.65;
  margin-bottom: 40px;
  max-width: 580px;
  margin-left: auto;
  margin-right: auto;
}

.dv-cta-simple-btns {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 28px;
  flex-wrap: wrap;
}

/* White pill button */
.dv-cta-simple-primary {
  display: inline-block;
  background: #fff;
  color: var(--color-heading-dark) !important;
  font-family: "Inter", sans-serif;
  font-size: 16px;
  font-weight: 600;
  padding: 16px 32px;
  border-radius: 100px;
  text-decoration: none;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
  transition:
    opacity 0.2s,
    transform 0.2s;
}

.dv-cta-simple-primary:hover {
  opacity: 0.92;
  transform: translateY(-1px);
  color: var(--color-heading-dark) !important;
}

/* Plain text link */
.dv-cta-simple-secondary {
  font-family: "Inter", sans-serif;
  font-size: 16px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.7) !important;
  text-decoration: none;
  transition: color 0.2s;
}

.dv-cta-simple-secondary:hover {
  color: #fff !important;
}

@media (max-width: 768px) {
  .dv-cta-simple-heading {
    font-size: 32px;
    letter-spacing: -0.5px;
  }
  .dv-cta-simple-sub {
    font-size: 16px;
  }
  .dv-cta-simple-btns {
    flex-direction: column;
    gap: 16px;
  }
}

@media (max-width: 992px) {
  .dv-faq-inner {
    flex-direction: column;
    gap: 40px;
  }
  .dv-faq-left {
    flex: unset;
    position: static;
  }
}

/* =============================================================
   INDUSTRIES PAGE
   ============================================================= */

/* Industry tag pills bar (below hero) */
.ind-tag-bar {
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
  padding: 20px 30px;
  border-bottom: 1px solid #f0f2f5;
}

.ind-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: "Inter", sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  padding: 10px 20px;
  border-radius: 100px;
  text-decoration: none;
  transition:
    opacity 0.2s,
    transform 0.2s;
}

.ind-tag:hover {
  opacity: 0.85;
  color: #fff;
  transform: translateY(-1px);
}

/* Blue dot inside each pill */
.ind-tag-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #4d9af5;
  flex-shrink: 0;
}

/* Each pill gets its own background colour */
.ind-tag--1 {
  background: #0a1628;
} /* Government — darkest navy */
.ind-tag--2 {
  background: #0d1e3e;
} /* Enterprise — dark navy */
.ind-tag--3 {
  background: #1350a8;
} /* Healthcare — medium blue */
.ind-tag--4 {
  background: #1868db;
} /* Education — brand blue */
.ind-tag--5 {
  background: #070c17;
} /* Energy — near black navy */
.ind-tag--6 {
  background: #0d1f4a;
} /* Insurance — mid navy */

/* Sector cards section */
.ind-sectors {
  background: #fff;
}

.ind-sectors-header {
  margin-bottom: 52px;
}

.ind-sectors-heading {
  font-family: "Inter", sans-serif;
  font-weight: 800;
  font-size: 42px;
  color: var(--color-heading-dark);
  letter-spacing: -0.5px;
  margin-bottom: 12px;
}

.ind-sectors-sub {
  font-family: "Inter", sans-serif;
  font-size: 17px;
  color: #6b748e;
  max-width: 560px;
  margin: 0 auto;
  line-height: 1.6;
}

/* 3×2 grid */
.ind-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

/* Individual card */
.ind-card {
  background: #fff;
  border: 1px solid #e8eaef;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  transition:
    transform 0.3s,
    box-shadow 0.3s;
  position: relative;
}

.ind-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.1);
}

/* Card image area */
.ind-card-img {
  position: relative;
  height: 200px;
  overflow: hidden;
  background: linear-gradient(145deg, #0a1535, #1868db);
}

.ind-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Stat badge — top right of image */
.ind-card-badge {
  position: absolute;
  top: 14px;
  right: 14px;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 8px;
  padding: 6px 12px;
  font-family: "Inter", sans-serif;
  font-weight: 800;
  font-size: 16px;
  color: #fff;
  backdrop-filter: blur(6px);
}

/* Title overlay at bottom of image */
.ind-card-title {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 36px 18px 14px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 16px;
  color: #fff;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.5));
  margin: 0;
  line-height: 1.3;
}

/* Card body */
.ind-card-body {
  padding: 20px 20px 24px;
}

.ind-card-tags {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}

.ind-tag-sm {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 11px;
  font-weight: 500;
  color: var(--color-primary);
  background: rgba(24, 104, 219, 0.08);
  border: 1px solid rgba(24, 104, 219, 0.15);
  padding: 3px 9px;
  border-radius: 100px;
}

.ind-card-desc {
  font-family: "Inter", sans-serif;
  font-size: 13px;
  color: #4b5563;
  line-height: 1.6;
  margin-bottom: 14px;
}

.ind-card-list {
  list-style: none;
  margin: 0 0 16px;
  padding: 0;
}

.ind-card-list li {
  font-family: "Inter", sans-serif;
  font-size: 13px;
  color: #374151;
  padding: 6px 0 6px 20px;
  position: relative;
  border-bottom: 1px solid #f3f4f6;
  line-height: 1.4;
}

.ind-card-list li:last-child {
  border-bottom: none;
}

.ind-card-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 6px;
  color: var(--color-primary);
  font-size: 11px;
  font-weight: 700;
}

.ind-card-link {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 600;
  font-size: 13px;
  color: var(--color-primary);
  text-decoration: none;
}

.ind-card-link:hover {
  color: var(--color-primary-dark);
}

/* ── Card image overlay elements ── */
.ind-card-cat {
  position: absolute;
  top: 12px;
  left: 12px;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 100px;
  padding: 4px 12px;
  font-family: "IBM Plex Mono", monospace;
  font-size: 10px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.9);
  letter-spacing: 0.8px;
  text-transform: uppercase;
}

.ind-card-stat {
  position: absolute;
  top: 10px;
  right: 12px;
  text-align: right;
}
.ind-card-stat-num {
  display: block;
  font-family: "Inter", sans-serif;
  font-weight: 800;
  font-size: 24px;
  color: #fff;
  line-height: 1;
  letter-spacing: -0.5px;
}
.ind-card-stat-lbl {
  display: block;
  font-family: "Inter", sans-serif;
  font-size: 10px;
  color: rgba(255, 255, 255, 0.6);
  margin-top: 3px;
}

.ind-card-certs {
  position: absolute;
  bottom: 12px;
  left: 12px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 100px;
  padding: 5px 12px;
  font-family: "IBM Plex Mono", monospace;
  font-size: 10px;
  color: rgba(255, 255, 255, 0.8);
}

.ind-card-body .ind-card-title {
  font-family: "Inter", sans-serif;
  font-weight: 800;
  font-size: 20px;
  color: var(--color-heading-dark);
  margin-bottom: 10px;
  line-height: 1.3;
  position: static;
  background: none;
  padding: 0;
}

@media (max-width: 1100px) {
  .ind-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 768px) {
  .ind-grid {
    grid-template-columns: 1fr;
  }
  .ind-sectors-heading {
    font-size: 30px;
  }
}

/* Stats section */
.ind-stats {
  background: #0d1f4a;
}

.ind-stats-heading {
  font-family: "Inter", sans-serif;
  font-weight: 800;
  font-size: 42px;
  color: #fff;
  letter-spacing: -1px;
  margin-bottom: 52px;
  line-height: 1.15;
}

.ind-stats-row {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0;
}

.ind-stat-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 48px;
}

.ind-stat-num {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 800;
  font-size: 52px;
  color: #fff;
  letter-spacing: -1.5px;
  line-height: 1;
  margin-bottom: 8px;
}

.ind-stat-lbl {
  font-family: "Inter", sans-serif;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.55);
  text-align: center;
}

.ind-stat-divider {
  width: 1px;
  height: 48px;
  background: rgba(255, 255, 255, 0.15);
  flex-shrink: 0;
}

@media (max-width: 768px) {
  .ind-stat-item {
    padding: 20px 24px;
    min-width: 50%;
    flex: 0 0 50%;
  }
  .ind-stat-divider {
    display: none;
  }
  .ind-stats-heading {
    font-size: 30px;
  }
}

/* Standards / pillars section */
.ind-standards {
  background: #fff;
}

.ind-standards-header {
  max-width: 680px;
  margin: 0 auto 52px;
  text-align: center;
}

.ind-standards-heading {
  font-family: "Inter", sans-serif;
  font-weight: 800;
  font-size: 44px;
  color: var(--color-heading-dark);
  letter-spacing: -1px;
  line-height: 1.18;
  margin-bottom: 16px;
}

.ind-standards-sub {
  font-family: "Inter", sans-serif;
  font-size: 17px;
  color: #6b748e;
  line-height: 1.65;
  margin: 0;
}

.ind-pillars {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

/* Bordered card for each pillar */
.ind-pillar-card {
  border: 1.5px solid #e5e7eb;
  border-radius: 16px;
  padding: 32px 28px;
  background: #fff;
}

/* Large blue number */
.ind-pillar-num {
  font-family: "Inter", sans-serif;
  font-weight: 800;
  font-size: 52px;
  color: var(--color-primary);
  display: block;
  line-height: 1;
  letter-spacing: -2px;
  margin-bottom: 20px;
}

.ind-pillar-title {
  font-family: "Inter", sans-serif;
  font-weight: 700;
  font-size: 19px;
  color: var(--color-heading-dark);
  margin-bottom: 0;
  line-height: 1.3;
}

/* Short blue accent line below title */
.ind-pillar-line {
  width: 32px;
  height: 3px;
  background: var(--color-primary);
  border-radius: 2px;
  margin: 14px 0 18px;
}

.ind-pillar-desc {
  font-family: "Inter", sans-serif;
  font-size: 15px;
  color: #6b748e;
  line-height: 1.7;
  margin: 0;
}

@media (max-width: 992px) {
  .ind-pillars {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .ind-standards-heading {
    font-size: 32px;
  }
}

/* =============================================================
   INDUSTRY SUB-PAGES
   ============================================================= */

/* ── Industry sub-page hero ── */
.ind-hero-section {
  display: flex;
  align-items: stretch;
  background: #f5f6f8;
  min-height: 540px;
  overflow: hidden;
}

/* Left text panel */
.ind-hero-left {
  flex: 1;
  padding: 72px 64px 72px 80px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: 55%;
}

/* Badge pill */
.ind-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(24, 104, 219, 0.08);
  border: 1px solid rgba(24, 104, 219, 0.18);
  border-radius: 100px;
  padding: 6px 14px;
  font-family: "IBM Plex Mono", monospace;
  font-size: 11px;
  font-weight: 500;
  color: var(--color-primary);
  letter-spacing: 0.5px;
  text-transform: uppercase;
  width: fit-content;
  margin-bottom: 24px;
}

.ind-hero-badge-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #10b981;
  flex-shrink: 0;
}

/* H1 */
.ind-hero-h1 {
  font-family: "Inter", sans-serif;
  font-weight: 800;
  font-size: 48px;
  color: var(--color-heading-dark);
  line-height: 1.1;
  letter-spacing: -1.5px;
  margin: 0 0 28px;
}

/* Stats row */
.ind-hero-stats-row {
  display: flex;
  align-items: center;
  gap: 0;
  margin-bottom: 20px;
}

.ind-hero-stat-col {
  display: flex;
  flex-direction: column;
  padding-right: 24px;
}
.ind-hero-stat-num {
  font-family: "Inter", sans-serif;
  font-weight: 800;
  font-size: 20px;
  color: var(--color-primary);
  line-height: 1;
}
.ind-hero-stat-lbl {
  font-family: "Inter", sans-serif;
  font-size: 12px;
  color: #6b7280;
  margin-top: 3px;
}
.ind-hero-stat-sep {
  width: 1px;
  height: 32px;
  background: #d1d5db;
  margin-right: 24px;
  flex-shrink: 0;
}

/* Description */
.ind-hero-desc-text {
  font-family: "Inter", sans-serif;
  font-size: 16px;
  color: #4b5563;
  line-height: 1.7;
  margin-bottom: 32px;
  max-width: 460px;
}

/* CTAs */
.ind-hero-ctas {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}

/* Right image card — contained floating card with margin */
.ind-hero-right {
  flex: 0 0 42%;
  position: relative;
  padding: 24px 24px 24px 0; /* space on all sides inside the section */
  display: flex;
  align-items: center;
}

/* The actual card */
.ind-hero-right .ind-hero-img-wrap {
  width: 100%;
  border-radius: 20px;
  overflow: hidden;
  position: relative;
}

.ind-hero-img {
  min-height: 360px;
  object-fit: cover;
  display: block;
}

/* Floating stat badge — top right */
.ind-hero-stat-badge {
  position: absolute;
  top: 20px;
  right: 20px;
  background: rgba(10, 20, 50, 0.85);
  backdrop-filter: blur(8px);
  border-radius: 12px;
  padding: 12px 18px;
  text-align: right;
}

.ind-hero-stat-badge-num {
  display: block;
  font-family: "Inter", sans-serif;
  font-weight: 800;
  font-size: 26px;
  color: #fff;
  line-height: 1;
  letter-spacing: -0.5px;
}

.ind-hero-stat-badge-lbl {
  display: block;
  font-family: "Inter", sans-serif;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.65);
  margin-top: 4px;
}

/* Bottom label */
.ind-hero-card-footer {
  position: absolute;
  bottom: 16px;
  left: 20px;
  font-family: "IBM Plex Mono", monospace;
  font-size: 10px;
  color: rgba(255, 255, 255, 0.6);
  text-transform: uppercase;
  letter-spacing: 1px;
}

@media (max-width: 992px) {
  .ind-hero-section {
    flex-direction: column;
  }
  .ind-hero-left {
    max-width: 100%;
    padding: 48px 30px;
  }
  .ind-hero-right {
    flex: unset;
    height: 300px;
    border-radius: 0;
    margin: 0;
  }
  .ind-hero-h1 {
    font-size: 34px;
  }
}

/* Hero mini stats */
.ind-hero-stats {
  display: flex;
  gap: 32px;
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid #e5e7eb;
  flex-wrap: wrap;
}

.ind-hero-stat {
  display: flex;
  flex-direction: column;
}
.ind-hero-stat-num {
  font-family: "Inter", sans-serif;
  font-weight: 800;
  font-size: 22px;
  color: var(--color-heading-dark);
  line-height: 1;
}
.ind-hero-stat-lbl {
  font-family: "Inter", sans-serif;
  font-size: 12px;
  color: #6b7280;
  margin-top: 4px;
}

/* ── Challenge section — 2-column layout ── */
.ind-page-challenge {
  background: #f5f6f8;
}

/* Outer 2-col: heading left, cards right */
.ind-challenge-layout {
  display: flex;
  gap: 72px;
  align-items: flex-start;
}

.ind-challenge-left {
  flex: 0 0 320px;
}

.ind-challenge-heading {
  font-family: "Inter", sans-serif;
  font-weight: 800;
  font-size: 38px;
  color: var(--color-heading-dark);
  letter-spacing: -0.5px;
  line-height: 1.18;
  margin-bottom: 16px;
}

.ind-challenge-sub {
  font-family: "Inter", sans-serif;
  font-size: 15px;
  color: #6b748e;
  line-height: 1.75;
  margin: 0;
}

.ind-challenge-right {
  flex: 1;
}

/* 2×2 card grid */
.ind-challenge-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}

.ind-challenge-card {
  background: #fff;
  border: 1px solid #e8eaef;
  border-radius: 18px;
  padding: 28px 24px;
  transition: box-shadow 0.25s;
}

.ind-challenge-card:hover {
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.07);
}

.ind-challenge-title {
  font-family: "Inter", sans-serif;
  font-weight: 700;
  font-size: 16px;
  color: var(--color-heading-dark);
  margin: 16px 0 10px;
  line-height: 1.4;
}

.ind-challenge-desc {
  font-family: "Inter", sans-serif;
  font-size: 14px;
  color: #6b748e;
  line-height: 1.65;
  margin: 0;
}

@media (max-width: 992px) {
  .ind-challenge-layout {
    flex-direction: column;
    gap: 40px;
  }
  .ind-challenge-left {
    flex: unset;
    position: static;
  }
  .ind-challenge-heading {
    font-size: 28px;
  }
}

@media (max-width: 600px) {
  .ind-challenge-grid {
    grid-template-columns: 1fr;
  }
}

/* ── Services for industry ── */
.ind-page-services {
  background: #fff;
}

.ind-services-header {
  margin-bottom: 48px;
}

.ind-services-heading {
  font-family: "Inter", sans-serif;
  font-weight: 800;
  font-size: 38px;
  color: var(--color-heading-dark);
  letter-spacing: -0.5px;
  margin-bottom: 12px;
}

.ind-services-sub {
  font-family: "Inter", sans-serif;
  font-size: 17px;
  color: #6b748e;
  max-width: 600px;
  margin: 0 auto;
  line-height: 1.6;
}

.ind-services-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.ind-service-card {
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  padding: 24px 20px;
  background: #fff;
  transition:
    box-shadow 0.25s,
    transform 0.25s;
  display: flex;
  flex-direction: column;
}

.ind-service-card:hover {
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.08);
  transform: translateY(-3px);
}

.ind-service-title {
  font-family: "Inter", sans-serif;
  font-weight: 700;
  font-size: 16px;
  color: var(--color-heading-dark);
  margin: 14px 0 10px;
  line-height: 1.35;
}
.ind-service-desc {
  font-family: "Inter", sans-serif;
  font-size: 13px;
  color: #6b748e;
  line-height: 1.6;
  margin-bottom: 16px;
  flex: 1;
}
.ind-service-link {
  font-family: "Inter", sans-serif;
  font-weight: 600;
  font-size: 13px;
  color: var(--color-primary);
  text-decoration: none;
  margin-top: auto;
}
.ind-service-link:hover {
  color: var(--color-primary-dark);
}

@media (max-width: 992px) {
  .ind-services-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .ind-services-heading {
    font-size: 28px;
  }
}
@media (max-width: 600px) {
  .ind-services-grid {
    grid-template-columns: 1fr;
  }
}

/* ── Proof / Case Studies section ── */
.ind-proof {
  background: #f5f6f8;
}

.ind-proof-heading {
  font-family: "Inter", sans-serif;
  font-weight: 800;
  font-size: 44px;
  color: var(--color-heading-dark);
  letter-spacing: -1px;
  margin-bottom: 0;
}

.ind-proof-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

/* Card */
.ind-proof-card {
  background: #fff;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  transition:
    transform 0.3s,
    box-shadow 0.3s;
}

.ind-proof-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.1);
}

/* Image area */
.ind-proof-img {
  position: relative;
  height: 200px;
  overflow: hidden;
}

.ind-proof-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Stat badge overlay */
.ind-proof-badge {
  position: absolute;
  top: 14px;
  right: 14px;
  background: rgba(10, 20, 45, 0.82);
  border-radius: 10px;
  padding: 8px 14px;
  text-align: right;
  backdrop-filter: blur(6px);
}

.ind-proof-badge-num {
  display: block;
  font-family: "Inter", sans-serif;
  font-weight: 800;
  font-size: 20px;
  color: #fff;
  line-height: 1;
}
.ind-proof-badge-lbl {
  display: block;
  font-family: "Inter", sans-serif;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.6);
  margin-top: 3px;
}

/* Card body */
.ind-proof-body {
  padding: 20px 22px 24px;
}

/* Tag pills — light gray border style */
.ind-proof-tags {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}

.ind-proof-tag {
  font-family: "Inter", sans-serif;
  font-size: 12px;
  font-weight: 500;
  color: #374151;
  background: #f3f4f6;
  border: 1px solid #e5e7eb;
  padding: 4px 10px;
  border-radius: 100px;
}

/* Title */
.ind-proof-title {
  font-family: "Inter", sans-serif;
  font-weight: 700;
  font-size: 16px;
  color: var(--color-heading-dark);
  line-height: 1.45;
  margin-bottom: 14px;
}

/* Highlight chip — large stat + label on light blue bg */
.ind-proof-chip {
  display: flex;
  align-items: center;
  gap: 10px;
  background: #eef4ff;
  border-radius: 8px;
  padding: 10px 16px;
  margin-bottom: 14px;
}

.ind-proof-chip-num {
  font-family: "Inter", sans-serif;
  font-weight: 800;
  font-size: 22px;
  color: var(--color-primary);
  line-height: 1;
  white-space: nowrap;
}

.ind-proof-chip-lbl {
  font-family: "Inter", sans-serif;
  font-size: 14px;
  color: #4b5563;
}

/* Description */
.ind-proof-desc {
  font-family: "Inter", sans-serif;
  font-size: 13px;
  color: #6b748e;
  line-height: 1.65;
  margin-bottom: 16px;
}

/* Link */
.ind-proof-link {
  font-family: "Inter", sans-serif;
  font-weight: 600;
  font-size: 14px;
  color: var(--color-primary);
  text-decoration: none;
}

.ind-proof-link:hover {
  color: var(--color-primary-dark);
}

@media (max-width: 992px) {
  .ind-proof-grid {
    grid-template-columns: 1fr;
  }
  .ind-proof-heading {
    font-size: 32px;
  }
}

/* ── Testimonial ── */
.ind-testimonial {
  background: #eef4ff;
}

.ind-quote {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 22px;
  font-weight: 600;
  color: var(--color-heading-dark);
  line-height: 1.6;
  text-align: center;
  max-width: 780px;
  margin: 0 auto 32px;
  border: none;
  padding: 0;
  quotes: none;
  font-style: normal;
}

.ind-quote-author {
  display: flex;
  align-items: center;
  gap: 14px;
  justify-content: center;
}

.ind-quote-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--color-primary);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 14px;
  flex-shrink: 0;
}

.ind-quote-name {
  display: block;
  font-family: "Inter", sans-serif;
  font-weight: 700;
  font-size: 15px;
  color: var(--color-heading-dark);
}
.ind-quote-title {
  display: block;
  font-family: "Inter", sans-serif;
  font-size: 13px;
  color: #6b748e;
  margin-top: 2px;
}

/* ── Products for industry ── */
.ind-products {
  background: #f1f3f7;
}

.ind-products-inner {
  display: flex;
  gap: 80px;
  align-items: flex-start;
}

.ind-products-left {
  flex: 0 0 380px;
}

.ind-products-heading {
  font-family: "Inter", sans-serif;
  font-weight: 800;
  font-size: 34px;
  color: #111827;
  letter-spacing: -0.5px;
  line-height: 1.2;
  margin-bottom: 16px;
}

.ind-products-desc {
  font-family: "Inter", sans-serif;
  font-size: 15px;
  color: #6b7280;
  line-height: 1.7;
  margin: 0;
}

.ind-products-cards {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* ── New side-by-side product cards ── */
.ind-prod-cards {
  flex: 1;
  display: flex;
  flex-direction: row; /* side by side */
  gap: 16px;
}

.ind-prod-card {
  flex: 1;
  background: #0b1432;
  border-radius: 18px;
  padding: 28px 24px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.ind-prod-title {
  font-family: "Inter", sans-serif;
  font-weight: 800;
  font-size: 22px;
  color: #ffffff;
  margin: 0;
  line-height: 1.2;
}

.ind-prod-desc {
  font-family: "Inter", sans-serif;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.65);
  line-height: 1.7;
  margin: 0;
  flex: 1;
}

.ind-prod-btn {
  display: inline-block;
  background: var(--color-primary);
  color: #fff !important;
  font-family: "Inter", sans-serif;
  font-size: 14px;
  font-weight: 600;
  padding: 12px 20px;
  border-radius: 100px;
  text-decoration: none;
  width: fit-content;
  transition: background 0.2s;
  margin-top: 4px;
}

.ind-prod-btn:hover {
  background: var(--color-primary-dark);
  color: #fff !important;
}

@media (max-width: 768px) {
  .ind-prod-cards {
    flex-direction: column;
  }
}

@media (max-width: 992px) {
  .ind-products-inner {
    flex-direction: column;
    gap: 40px;
  }
  .ind-products-left {
    flex: unset;
    max-width: 100%;
  }
  .ind-products-heading {
    font-size: 26px;
  }
}

/* =============================================================
   CONTACT PAGE
   ============================================================= */

/* Section wrapper */
.ct-section {
  background: #f5f6f8;
  padding: 80px 0 100px;
}

/* 2-col layout */
.ct-inner {
  display: flex;
  gap: 60px;
  align-items: flex-start;
  padding: 0 80px;
  max-width: 1400px;
  margin: 0 auto;
}

/* ── Form card ── */
.ct-form-wrap {
  flex: 0 0 55%;
}

.ct-form-card {
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.07);
}

/* Blue top accent line */
.ct-form-card-top {
  height: 4px;
  background: linear-gradient(
    to right,
    var(--color-primary),
    var(--color-primary-light)
  );
}

.ct-form-card-body {
  padding: 36px 36px 40px;
}

.ct-form-title {
  font-family: "Inter", sans-serif;
  font-weight: 800;
  font-size: 22px;
  color: var(--color-heading-dark);
  margin: 0 0 6px;
}

.ct-form-sub {
  font-family: "Inter", sans-serif;
  font-size: 14px;
  color: #6b748e;
  margin: 0 0 28px;
}

.ct-form {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* Side-by-side field row */
.ct-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.ct-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.ct-field--full {
  grid-column: 1 / -1;
}

.ct-label {
  font-family: "Inter", sans-serif;
  font-size: 11px;
  font-weight: 600;
  color: #6b748e;
  letter-spacing: 0.8px;
  text-transform: uppercase;
}

.ct-input {
  font-family: "Inter", sans-serif;
  font-size: 14px;
  color: var(--color-heading-dark);
  background: #fff;
  border: 1.5px solid #e0e4ea;
  border-radius: 10px;
  padding: 12px 16px;
  outline: none;
  width: 100%;
  transition: border-color 0.2s;
  appearance: none;
}

.ct-input:focus {
  border-color: var(--color-primary);
}
.ct-input::placeholder {
  color: #9ba4b5;
}

.ct-select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%239ba4b5' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 36px;
  cursor: pointer;
}

.ct-textarea {
  resize: vertical;
  min-height: 120px;
}

.ct-privacy {
  font-family: "Inter", sans-serif;
  font-size: 12px;
  color: #9ba4b5;
  margin: 0;
}

.ct-submit {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--color-primary);
  color: #fff;
  font-family: "Inter", sans-serif;
  font-size: 15px;
  font-weight: 600;
  padding: 14px 28px;
  border-radius: 10px;
  border: none;
  cursor: pointer;
  transition: background 0.2s;
  width: fit-content;
}

.ct-submit:hover {
  background: var(--color-primary-dark);
}

/* ── Contact Form 7 overrides — match existing design ── */
.ct-cf7-wrap .wpcf7 {
  margin: 0;
}
.ct-cf7-wrap .wpcf7-form {
  display: block;
}

/* Remove CF7 default paragraph wrappers */
.ct-cf7-wrap .wpcf7-form p {
  margin: 0;
}

/* Inputs / textarea / select */
.ct-cf7-wrap .wpcf7-form-control.wpcf7-text,
.ct-cf7-wrap .wpcf7-form-control.wpcf7-email,
.ct-cf7-wrap .wpcf7-form-control.wpcf7-tel,
.ct-cf7-wrap .wpcf7-form-control.wpcf7-select,
.ct-cf7-wrap .wpcf7-form-control.wpcf7-textarea {
  width: 100%;
  box-sizing: border-box;
}

/* Submit button */
.ct-cf7-wrap .wpcf7-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 15px 32px;
  background: var(--color-primary);
  color: #fff;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 15px;
  font-weight: 700;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  transition: background 0.2s;
  margin-top: 8px;
}
.ct-cf7-wrap .wpcf7-submit:hover {
  background: var(--color-primary-dark);
}

/* Validation error messages */
.ct-cf7-wrap .wpcf7-not-valid-tip {
  color: #dc2626;
  font-size: 12px;
  margin-top: 4px;
  display: block;
}
.ct-cf7-wrap .wpcf7-not-valid {
  border-color: #fca5a5 !important;
}

/* Success / error response */
.ct-cf7-wrap .wpcf7-response-output {
  border-radius: 10px;
  padding: 14px 20px;
  font-size: 14px;
  margin: 16px 0 0;
  border: none;
}
.ct-cf7-wrap .wpcf7-mail-sent-ok {
  background: #ecfdf5;
  color: #065f46;
  border: 1px solid #6ee7b7 !important;
}
.ct-cf7-wrap .wpcf7-mail-sent-ng,
.ct-cf7-wrap .wpcf7-aborted {
  background: #fef2f2;
  color: #991b1b;
  border: 1px solid #fca5a5 !important;
}
.ct-cf7-wrap .wpcf7-validation-errors,
.ct-cf7-wrap .wpcf7-acceptance-missing {
  background: #fffbeb;
  color: #92400e;
  border: 1px solid #fcd34d !important;
}

.ct-inline-notice {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 13px 18px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  margin-top: 14px;
  transition: opacity 0.5s ease;
}
.ct-inline-notice--success {
  background: #ecfdf5;
  border: 1px solid #6ee7b7;
  color: #065f46;
}
.ct-inline-notice--error {
  background: #fef2f2;
  border: 1px solid #fca5a5;
  color: #991b1b;
}

/* ── Right: contact info ── */
.ct-info {
  flex: 1;
  padding-top: 8px;
}

.ct-info-heading {
  font-family: "Inter", sans-serif;
  font-weight: 800;
  font-size: 38px;
  color: var(--color-heading-dark);
  line-height: 1.15;
  letter-spacing: -1px;
  margin: 0 0 18px;
}

.ct-info-desc {
  font-family: "Inter", sans-serif;
  font-size: 16px;
  color: #6b748e;
  line-height: 1.7;
  margin: 0 0 32px;
  max-width: 420px;
}

/* Contact cards */
.ct-cards {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 20px;
}

.ct-card {
  background: #fff;
  border-radius: 14px;
  padding: 16px 18px;
  display: flex;
  align-items: center;
  gap: 14px;
  border-left: 3px solid transparent;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  transition: box-shadow 0.2s;
}

.ct-card:hover {
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.1);
}

.ct-card--blue {
  border-left-color: var(--color-primary);
}
.ct-card--green {
  border-left-color: #10b981;
}
.ct-card--orange {
  border-left-color: #f59e0b;
}

/* Icon circle */
.ct-card-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.ct-card-icon--blue {
  background: #ebf2fd;
  color: var(--color-primary);
}
.ct-card-icon--green {
  background: #d1fae5;
  color: #10b981;
}
.ct-card-icon--orange {
  background: #fef3c7;
  color: #f59e0b;
}

.ct-card-text {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.ct-card-label {
  font-family: "IBM Plex Mono", monospace;
  font-size: 10px;
  font-weight: 600;
  color: #9ba4b5;
  letter-spacing: 0.8px;
}
.ct-card-value {
  font-family: "Inter", sans-serif;
  font-weight: 700;
  font-size: 15px;
  color: var(--color-heading-dark);
}
.ct-card-sub {
  font-family: "Inter", sans-serif;
  font-size: 12px;
  color: #9ba4b5;
}

.ct-card-arrow {
  font-size: 18px;
  font-weight: 600;
  text-decoration: none;
  flex-shrink: 0;
  transition: transform 0.2s;
}

.ct-card:hover .ct-card-arrow {
  transform: translateX(4px);
}

/* Response time badge */
.ct-response-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #d1fae5;
  color: #065f46;
  font-family: "Inter", sans-serif;
  font-size: 13px;
  font-weight: 600;
  padding: 8px 16px;
  border-radius: 100px;
}

.ct-response-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #10b981;
  flex-shrink: 0;
}

@media (max-width: 1100px) {
  .ct-inner {
    flex-direction: column;
    padding: 0 30px;
  }
  .ct-form-wrap {
    flex: unset;
    width: 100%;
  }
  .ct-info-heading {
    font-size: 30px;
  }
}

@media (max-width: 600px) {
  .ct-form-row {
    grid-template-columns: 1fr;
  }
  .ct-form-card-body {
    padding: 24px;
  }
}

/* ── Offices section ── */
.ct-offices {
  background: #fff;
}

.ct-offices-header {
  margin-bottom: 40px;
}

.ct-offices-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: "Inter", sans-serif;
  font-weight: 600;
  font-size: 12px;
  color: var(--color-primary);
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 16px;
}

.ct-offices-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--color-primary);
  flex-shrink: 0;
}

.ct-offices-heading {
  font-family: "Inter", sans-serif;
  font-weight: 800;
  font-size: 40px;
  color: var(--color-heading-dark);
  line-height: 1.15;
  letter-spacing: -1px;
  margin: 0;
}

/* Two-column grid */
.ct-offices-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}

/* Office card */
.ct-office-card {
  background: #fff;
  border: 1.5px solid #e8eaef;
  border-radius: 18px;
  overflow: hidden;
  transition: box-shadow 0.25s;
}

.ct-office-card:hover {
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.08);
}

/* Colored top accent line */
.ct-office-card--us {
  border-top: 3px solid var(--color-primary);
}
.ct-office-card--in {
  border-top: 3px solid;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

/* Fix border-image radius issue for India card */
.ct-office-card--in {
  position: relative;
  border-top: none;
}
.ct-office-card--in::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(to right, #ff9933 0%, #ffffff 50%, #138808 100%);
  border-radius: 18px 18px 0 0;
}

.ct-office-top {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 20px 24px 16px;
  border-bottom: 1px solid #f0f2f5;
}

.ct-office-flag {
  font-size: 28px;
  line-height: 1;
}

/* Badge */
.ct-office-badge {
  font-family: "IBM Plex Mono", monospace;
  font-size: 11px;
  font-weight: 600;
  padding: 4px 12px;
  border-radius: 100px;
  letter-spacing: 0.5px;
}

.ct-office-badge--blue {
  background: #ebf2fd;
  color: var(--color-primary);
}
.ct-office-badge--orange {
  background: #fff7ed;
  color: #d97706;
  border: 1px solid #fed7aa;
}

/* Card body */
.ct-office-body {
  padding: 24px;
}

.ct-office-city {
  font-family: "Inter", sans-serif;
  font-weight: 800;
  font-size: 22px;
  color: var(--color-heading-dark);
  margin: 0 0 4px;
  letter-spacing: -0.3px;
}

.ct-office-country {
  font-family: "Inter", sans-serif;
  font-size: 13px;
  font-weight: 500;
  margin: 0 0 16px;
}

.ct-office-country--blue {
  color: var(--color-primary);
}
.ct-office-country--orange {
  color: #d97706;
}

.ct-office-divider {
  height: 1px;
  background: #f0f2f5;
  margin-bottom: 16px;
}

.ct-office-address {
  font-family: "Inter", sans-serif;
  font-size: 14px;
  color: #374151;
  line-height: 1.65;
  margin: 0 0 14px;
}

.ct-office-phone {
  display: block;
  font-family: "Inter", sans-serif;
  font-weight: 600;
  font-size: 15px;
  text-decoration: none;
  margin-bottom: 4px;
}

.ct-office-phone--blue {
  color: var(--color-primary);
}
.ct-office-phone--orange {
  color: #d97706;
}

.ct-office-email {
  font-family: "Inter", sans-serif;
  font-size: 13px;
  color: #9ba4b5;
  margin: 0 0 20px;
}

.ct-office-dir {
  font-family: "Inter", sans-serif;
  font-weight: 600;
  font-size: 14px;
  text-decoration: none;
  display: block;
  text-align: right;
  transition: opacity 0.2s;
}

.ct-office-dir:hover {
  opacity: 0.75;
}
.ct-office-dir--blue {
  color: var(--color-primary);
}
.ct-office-dir--orange {
  color: #d97706;
}

@media (max-width: 768px) {
  .ct-offices-grid {
    grid-template-columns: 1fr;
  }
  .ct-offices-heading {
    font-size: 28px;
  }
}

/* =============================================================
   ABOUT PAGE — SECTION 2: Our Story
   ============================================================= */
.abt-story {
  background: #ffffff;
}

.abt-story-inner {
  display: grid;
  grid-template-columns: 1fr 1.35fr;
  gap: 80px;
  align-items: start;
}

.abt-story-left {
}

.abt-story-label {
  display: inline-block;
  font-family: "IBM Plex Mono", monospace;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--color-primary);
  background: var(--color-primary-pale);
  border: 1px solid rgba(24, 104, 219, 0.15);
  border-radius: 4px;
  padding: 5px 12px;
  margin-bottom: 20px;
}

.abt-story-heading {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 38px;
  font-weight: 700;
  line-height: 1.2;
  color: var(--color-heading);
  letter-spacing: -0.5px;
  margin: 0;
}

.abt-story-right {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.abt-story-body {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 16px;
  line-height: 1.8;
  color: var(--color-body);
  margin: 0;
}

.abt-story-quote {
  margin: 8px 0;
  padding: 24px 28px;
  border-left: 4px solid var(--color-primary);
  background: var(--color-primary-pale);
  border-radius: 0 10px 10px 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.6;
  color: var(--color-heading);
  font-style: italic;
}

@media (max-width: 992px) {
  .abt-story-inner {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .abt-story-left {
    position: static;
  }
  .abt-story-heading {
    font-size: 30px;
  }
}

@media (max-width: 768px) {
  .abt-story-heading {
    font-size: 26px;
  }
  .abt-story-body {
    font-size: 15px;
  }
  .abt-story-quote {
    font-size: 15px;
    padding: 18px 20px;
  }
}

/* =============================================================
   ABOUT PAGE — SECTION 3: Four Operating Principles
   ============================================================= */
.abt-principles {
  background: var(--color-bg-light);
}

.abt-principles-header {
  text-align: center;
  max-width: 640px;
  margin: 0 auto 64px;
}

.abt-principles-label {
  display: inline-block;
  font-family: "IBM Plex Mono", monospace;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--color-primary);
  background: var(--color-primary-pale);
  border: 1px solid rgba(24, 104, 219, 0.15);
  border-radius: 4px;
  padding: 5px 12px;
  margin-bottom: 18px;
}

.abt-principles-heading {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 38px;
  font-weight: 700;
  line-height: 1.2;
  color: var(--color-heading);
  letter-spacing: -0.5px;
  margin: 0 0 16px;
}

.abt-principles-sub {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: var(--color-body);
  margin: 0;
}

.abt-principles-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.abt-principle-card {
  background: #ffffff;
  border: 1px solid var(--color-border);
  border-radius: 16px;
  padding: 36px;
  transition:
    box-shadow 0.25s ease,
    transform 0.25s ease;
}

.abt-principle-card:hover {
  box-shadow: 0 8px 32px rgba(24, 104, 219, 0.1);
  transform: translateY(-3px);
}

.abt-principle-num {
  display: inline-block;
  font-family: "IBM Plex Mono", monospace;
  font-size: 13px;
  font-weight: 500;
  color: var(--color-primary);
  background: var(--color-primary-pale);
  border: 1px solid rgba(24, 104, 219, 0.2);
  border-radius: 6px;
  padding: 4px 10px;
  margin-bottom: 20px;
  letter-spacing: 1px;
}

.abt-principle-title {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 20px;
  font-weight: 700;
  color: var(--color-heading);
  line-height: 1.3;
  margin: 0 0 14px;
}

.abt-principle-body {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 15px;
  line-height: 1.75;
  color: var(--color-body);
  margin: 0;
}

@media (max-width: 992px) {
  .abt-principles-heading {
    font-size: 30px;
  }
  .abt-principles-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .abt-principle-card {
    padding: 28px;
  }
}

@media (max-width: 768px) {
  .abt-principles-heading {
    font-size: 26px;
  }
  .abt-principle-title {
    font-size: 18px;
  }
  .abt-principle-body {
    font-size: 14px;
  }
}

/* =============================================================
   ABOUT PAGE — SECTION 4: By the Numbers
   ============================================================= */
.abt-stats {
  background: #0d1c3d;
}

.abt-stats-header {
  margin-bottom: 56px;
}

.abt-stats-label {
  display: inline-block;
  font-family: "IBM Plex Mono", monospace;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(161, 201, 251, 0.9);
  margin-bottom: 16px;
}

.abt-stats-heading {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 38px;
  font-weight: 700;
  line-height: 1.2;
  color: #ffffff;
  letter-spacing: -0.5px;
  max-width: 520px;
  margin: 0;
}

.abt-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
}

.abt-stat-item {
  padding: 0 40px 0 32px;
  border-left: 2px solid rgba(255, 255, 255, 0.15);
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.abt-stat-item:first-child {
  padding-left: 0;
  border-left: none;
}

.abt-stat-num {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 52px;
  font-weight: 800;
  color: #ffffff;
  line-height: 1;
  letter-spacing: -1px;
}

.abt-stat-title {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.75);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.abt-stat-desc {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 13px;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.45);
  margin: 0;
}

@media (max-width: 992px) {
  .abt-stats-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 36px 0;
  }
  .abt-stat-item:nth-child(3) {
    border-left: none;
    padding-left: 0;
  }
  .abt-stat-item:nth-child(even) {
    padding-left: 32px;
  }
  .abt-stats-heading {
    font-size: 30px;
  }
  .abt-stat-num {
    font-size: 42px;
  }
}

@media (max-width: 600px) {
  .abt-stats-grid {
    grid-template-columns: 1fr 1fr;
    gap: 28px 0;
  }
  .abt-stat-num {
    font-size: 36px;
  }
}

/* =============================================================
   ABOUT PAGE — SECTION 5: Partnerships & Certifications
   ============================================================= */
.abt-certs {
  background: #ffffff;
}

.abt-certs-inner {
  display: grid;
  grid-template-columns: 1fr 1.6fr;
  gap: 80px;
  align-items: start;
}

.abt-certs-left {
}

.abt-certs-label {
  display: inline-block;
  font-family: "IBM Plex Mono", monospace;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--color-primary);
  margin-bottom: 16px;
}

.abt-certs-heading {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 38px;
  font-weight: 700;
  line-height: 1.2;
  color: var(--color-heading);
  letter-spacing: -0.5px;
  margin: 0 0 16px;
}

.abt-certs-sub {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 16px;
  line-height: 1.7;
  color: var(--color-body);
  margin: 0;
}

.abt-certs-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.abt-cert-card {
  background: var(--color-bg-light);
  border: 1px solid var(--color-border);
  border-radius: 14px;
  padding: 28px 24px;
  transition:
    box-shadow 0.25s ease,
    transform 0.25s ease;
}

.abt-cert-card:hover {
  box-shadow: 0 6px 24px rgba(24, 104, 219, 0.1);
  transform: translateY(-2px);
}

.abt-cert-icon {
  width: 42px;
  height: 42px;
  border-radius: 10px;
  background: #ffffff;
  border: 1px solid var(--color-border);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-heading);
  margin-bottom: 16px;
}

.abt-cert-title {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: var(--color-heading);
  margin: 0 0 6px;
}

.abt-cert-desc {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 13px;
  line-height: 1.5;
  color: var(--color-body);
  margin: 0;
}

@media (max-width: 992px) {
  .abt-certs-inner {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .abt-certs-left {
    position: static;
  }
  .abt-certs-heading {
    font-size: 30px;
  }
}

@media (max-width: 768px) {
  .abt-certs-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
  .abt-certs-heading {
    font-size: 26px;
  }
  .abt-cert-card {
    padding: 20px 16px;
  }
}

@media (max-width: 480px) {
  .abt-certs-grid {
    grid-template-columns: 1fr;
  }
}

/* =============================================================
   INDUSTRY — ENTERPRISE: Hero visual variant
   ============================================================= */
.ind-hero-img-wrap--enterprise {
  width: 480px;
  height: 440px;
  border-radius: 20px;
  background: linear-gradient(43deg, #3380e5 15%, #1868db 46%, #04142c 85%);
  box-shadow: 0 24px 48px -8px rgba(24, 104, 219, 0.2);
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

/* Concentric ring decorations */
.ind-hero-img-wrap--enterprise::before,
.ind-hero-img-wrap--enterprise::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.12);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.ind-hero-img-wrap--enterprise::before {
  width: 260px;
  height: 260px;
}
.ind-hero-img-wrap--enterprise::after {
  width: 360px;
  height: 360px;
}

/* The stat badge inside the enterprise hero */
.ind-hero-img-wrap--enterprise .ind-hero-stat-badge {
  position: absolute;
  top: 20px;
  right: 20px;
}

/* Card footer label */
.ind-hero-img-wrap--enterprise .ind-hero-card-footer {
  position: relative;
  z-index: 2;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.5);
  padding: 0 20px 20px;
}

@media (max-width: 992px) {
  .ind-hero-img-wrap--enterprise {
    width: 100%;
    height: 260px;
  }
}

/* =============================================================
   INDUSTRY — ENTERPRISE: Compliance & Credentials section
   ============================================================= */
.ind-compliance {
  background: linear-gradient(135deg, #092857 0%, #04142c 100%);
}

.ind-compliance-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 80px;
}

.ind-compliance-left {
  max-width: 480px;
  flex-shrink: 0;
}

.ind-compliance-label {
  display: inline-block;
  font-family: "IBM Plex Mono", monospace;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #ccddf8;
  margin-bottom: 16px;
}

.ind-compliance-heading {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 34px;
  font-weight: 800;
  line-height: 1.25;
  color: #ffffff;
  letter-spacing: -0.5px;
  margin: 0 0 16px;
}

.ind-compliance-desc {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 17px;
  line-height: 1.7;
  color: #ccddf8;
  margin: 0;
}

.ind-compliance-right {
  flex: 1;
}

.ind-compliance-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.ind-compliance-badge {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 12px;
  padding: 12px 20px;
  white-space: nowrap;
  transition: background 0.2s ease;
}

.ind-compliance-badge:hover {
  background: rgba(255, 255, 255, 0.15);
}

/* Enterprise final CTA gradient variant */
.ind-ent-cta {
  background: linear-gradient(
    135deg,
    #1868db 0%,
    #092857 50%,
    #04142c 100%
  ) !important;
}

/* Education hero visual variant */
.ind-hero-img-wrap--education {
  width: 480px;
  height: 440px;
  border-radius: 20px;
  background: linear-gradient(43deg, #0e7f6e 15%, #0d6e8a 46%, #04142c 85%);
  box-shadow: 0 24px 48px -8px rgba(13, 110, 138, 0.25);
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.ind-hero-img-wrap--education::before,
.ind-hero-img-wrap--education::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.12);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.ind-hero-img-wrap--education::before {
  width: 260px;
  height: 260px;
}
.ind-hero-img-wrap--education::after {
  width: 360px;
  height: 360px;
}
.ind-hero-img-wrap--education .ind-hero-stat-badge {
  position: absolute;
  top: 20px;
  right: 20px;
}
.ind-hero-img-wrap--education .ind-hero-card-footer {
  position: relative;
  z-index: 2;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.5);
  padding: 0 20px 20px;
}

/* Healthcare hero visual variant */
.ind-hero-img-wrap--healthcare {
  width: 480px;
  height: 440px;
  border-radius: 20px;
  background: linear-gradient(43deg, #7c3aed 15%, #4f46e5 50%, #04142c 85%);
  box-shadow: 0 24px 48px -8px rgba(79, 70, 229, 0.25);
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.ind-hero-img-wrap--healthcare::before,
.ind-hero-img-wrap--healthcare::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.12);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.ind-hero-img-wrap--healthcare::before {
  width: 260px;
  height: 260px;
}
.ind-hero-img-wrap--healthcare::after {
  width: 360px;
  height: 360px;
}
.ind-hero-img-wrap--healthcare .ind-hero-stat-badge {
  position: absolute;
  top: 20px;
  right: 20px;
}
.ind-hero-img-wrap--healthcare .ind-hero-card-footer {
  position: relative;
  z-index: 2;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.5);
  padding: 0 20px 20px;
}

/* Healthcare final CTA gradient variant */
.ind-hc-cta {
  background: linear-gradient(
    135deg,
    #4f46e5 0%,
    #092857 50%,
    #04142c 100%
  ) !important;
}

@media (max-width: 992px) {
  .ind-hero-img-wrap--healthcare {
    width: 100%;
    height: 260px;
  }
}

/* Education final CTA gradient variant */
.ind-edu-cta {
  background: linear-gradient(
    135deg,
    #0d6e8a 0%,
    #092857 50%,
    #04142c 100%
  ) !important;
}

@media (max-width: 992px) {
  .ind-hero-img-wrap--education {
    width: 100%;
    height: 260px;
  }
}

@media (max-width: 992px) {
  .ind-compliance-inner {
    flex-direction: column;
    gap: 40px;
  }
  .ind-compliance-left {
    max-width: 100%;
  }
  .ind-compliance-heading {
    font-size: 28px;
  }
}

@media (max-width: 768px) {
  .ind-compliance-heading {
    font-size: 24px;
  }
  .ind-compliance-desc {
    font-size: 15px;
  }
  .ind-compliance-badge {
    font-size: 13px;
    padding: 10px 16px;
  }
}

/* =============================================================
   ABOUT PAGE — SECTION 8: Careers
   ============================================================= */
.abt-careers {
  background: #ffffff;
}

/* Outer rounded card with light blue gradient */
.abt-careers-card {
  background: linear-gradient(135deg, #eef4ff 0%, #f0f4ff 60%, #e8f0fe 100%);
  border-radius: 24px;
  padding: 64px;
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 64px;
  align-items: center;
}

.abt-careers-label {
  display: inline-block;
  font-family: "IBM Plex Mono", monospace;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--color-primary);
  margin-bottom: 16px;
}

.abt-careers-heading {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 34px;
  font-weight: 800;
  line-height: 1.2;
  color: var(--color-heading);
  letter-spacing: -0.5px;
  margin: 0 0 18px;
}

.abt-careers-sub {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 15px;
  line-height: 1.75;
  color: var(--color-body);
  margin: 0 0 32px;
}

.abt-careers-btns {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}

.abt-careers-btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--color-primary);
  color: #ffffff;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 15px;
  font-weight: 600;
  padding: 13px 24px;
  border-radius: 10px;
  text-decoration: none;
  transition:
    background 0.2s ease,
    transform 0.2s ease;
}

.abt-careers-btn-primary:hover {
  background: var(--color-primary-dark);
  color: #ffffff;
  transform: translateY(-1px);
}

.abt-careers-btn-link {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 15px;
  font-weight: 600;
  color: var(--color-primary);
  text-decoration: none;
  transition: opacity 0.2s ease;
}

.abt-careers-btn-link:hover {
  opacity: 0.75;
  color: var(--color-primary);
}

/* Job list card */
.abt-jobs-list {
  background: #ffffff;
  border-radius: 16px;
  border: 1px solid var(--color-border);
  overflow: hidden;
}

.abt-job-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 24px;
  border-bottom: 1px solid var(--color-border);
  text-decoration: none;
  transition: background 0.18s ease;
}

.abt-job-row:last-child {
  border-bottom: none;
}

.abt-job-row:hover {
  background: var(--color-bg-light);
}

.abt-job-info {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.abt-job-title {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 15px;
  font-weight: 700;
  color: var(--color-heading);
  line-height: 1.3;
}

.abt-job-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 13px;
  color: var(--color-muted);
}

.abt-job-sep {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--color-border-3);
  flex-shrink: 0;
}

.abt-job-arrow {
  font-size: 18px;
  color: var(--color-muted);
  flex-shrink: 0;
  transition:
    color 0.18s ease,
    transform 0.18s ease;
}

.abt-job-row:hover .abt-job-arrow {
  color: var(--color-primary);
  transform: translateX(3px);
}

@media (max-width: 992px) {
  .abt-careers-card {
    grid-template-columns: 1fr;
    gap: 40px;
    padding: 40px 36px;
  }
  .abt-careers-heading {
    font-size: 28px;
  }
}

@media (max-width: 576px) {
  .abt-careers-card {
    padding: 28px 20px;
    border-radius: 16px;
  }
  .abt-careers-heading {
    font-size: 24px;
  }
  .abt-job-row {
    padding: 16px 18px;
  }
}

/* =============================================================
   ABOUT PAGE — SECTION 6: Awards & Recognition
   ============================================================= */
.abt-awards {
  background: var(--color-bg-light);
}

.abt-awards-header {
  margin-bottom: 48px;
}

.abt-awards-label {
  display: inline-block;
  font-family: "IBM Plex Mono", monospace;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--color-primary);
  margin-bottom: 14px;
}

.abt-awards-heading {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 38px;
  font-weight: 700;
  line-height: 1.2;
  color: var(--color-heading);
  letter-spacing: -0.5px;
  margin: 0 0 12px;
}

.abt-awards-sub {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: var(--color-body);
  margin: 0;
}

.abt-awards-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.abt-award-card {
  background: #ffffff;
  border: 1px solid var(--color-border);
  border-radius: 16px;
  padding: 32px 28px 28px;
  display: flex;
  flex-direction: column;
  gap: 0;
  transition:
    box-shadow 0.25s ease,
    transform 0.25s ease;
}

.abt-award-card:hover {
  box-shadow: 0 8px 32px rgba(24, 104, 219, 0.08);
  transform: translateY(-2px);
}

.abt-award-icon {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: #fef3c7;
  border: 1px solid #fde68a;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #d97706;
  margin-bottom: 20px;
  flex-shrink: 0;
}

.abt-award-title {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: var(--color-heading);
  line-height: 1.4;
  margin: 0 0 auto;
  flex-grow: 1;
}

.abt-award-divider {
  height: 1px;
  background: var(--color-border);
  margin: 20px 0 16px;
}

.abt-award-meta {
  display: flex;
  align-items: center;
  gap: 10px;
}

.abt-award-source {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: var(--color-heading);
}

.abt-award-dot {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--color-muted);
  flex-shrink: 0;
}

.abt-award-year {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 13px;
  color: var(--color-muted);
}

@media (max-width: 992px) {
  .abt-awards-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .abt-awards-heading {
    font-size: 30px;
  }
}

@media (max-width: 768px) {
  .abt-awards-heading {
    font-size: 26px;
  }
  .abt-award-card {
    padding: 24px 20px 20px;
  }
}

/* =============================================================
   ABOUT PAGE — SECTION 7: Where We Work / Offices
   ============================================================= */
.abt-offices {
  background: #ffffff;
}

.abt-offices-header {
  margin-bottom: 48px;
}

.abt-offices-label {
  display: inline-block;
  font-family: "IBM Plex Mono", monospace;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--color-primary);
  margin-bottom: 14px;
}

.abt-offices-heading {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 38px;
  font-weight: 700;
  line-height: 1.2;
  color: var(--color-heading);
  letter-spacing: -0.5px;
  margin: 0 0 12px;
}

.abt-offices-sub {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: var(--color-body);
  max-width: 520px;
  margin: 0;
}

.abt-offices-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.abt-office-card {
  border: 1px solid var(--color-border);
  border-radius: 20px;
  overflow: hidden;
  background: #ffffff;
  transition:
    box-shadow 0.25s ease,
    transform 0.25s ease;
}

.abt-office-card:hover {
  box-shadow: 0 8px 32px rgba(24, 104, 219, 0.1);
  transform: translateY(-3px);
}

/* Top area with concentric rings + pin */
.abt-office-map-area {
  position: relative;
  height: 180px;
  background: linear-gradient(135deg, #e8f0fc 0%, #dbeafe 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.abt-office-map-rings {
  position: relative;
  width: 100px;
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.abt-office-ring {
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(24, 104, 219, 0.2);
}

.abt-office-ring--1 {
  width: 60px;
  height: 60px;
  background: rgba(24, 104, 219, 0.08);
}
.abt-office-ring--2 {
  width: 88px;
  height: 88px;
  background: transparent;
}
.abt-office-ring--3 {
  width: 120px;
  height: 120px;
  background: transparent;
  border-color: rgba(24, 104, 219, 0.1);
}

.abt-office-pin {
  position: relative;
  z-index: 2;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--color-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  box-shadow: 0 4px 16px rgba(24, 104, 219, 0.4);
}

/* Bottom content */
.abt-office-body {
  padding: 28px 28px 32px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.abt-office-region {
  font-family: "IBM Plex Mono", monospace;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--color-primary);
}

.abt-office-city {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 26px;
  font-weight: 700;
  color: var(--color-heading);
  margin: 0 0 6px;
  line-height: 1.2;
}

.abt-office-address,
.abt-office-phone {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 14px;
  line-height: 1.6;
  color: var(--color-body);
  margin: 0;
  display: flex;
  align-items: flex-start;
  gap: 8px;
}

.abt-office-address svg,
.abt-office-phone svg {
  flex-shrink: 0;
  margin-top: 3px;
  color: var(--color-primary);
}

@media (max-width: 768px) {
  .abt-offices-grid {
    grid-template-columns: 1fr;
  }
  .abt-offices-heading {
    font-size: 28px;
  }
  .abt-office-map-area {
    height: 140px;
  }
  .abt-office-city {
    font-size: 22px;
  }
  .abt-office-body {
    padding: 22px 22px 26px;
  }
}

/* =============================================================
   PRODUCTS PAGE — OUR PRODUCTS SECTION
   ============================================================= */

.pp-products {
  background: #fff;
  padding: 100px 0 0;
}

.pp-products-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 24px;
}

.pp-products-header {
  text-align: center;
  margin-bottom: 56px;
}

.pp-products-label {
  display: block;
  font-family: "Inter", sans-serif;
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: var(--color-primary);
  margin-bottom: 16px;
}

.pp-products-heading {
  font-family: "Inter", sans-serif;
  font-weight: 800;
  font-size: 44px;
  color: var(--color-heading-dark);
  line-height: 1.15;
  letter-spacing: -0.5px;
  margin: 0 0 16px;
}

.pp-products-sub {
  font-family: "Inter", sans-serif;
  font-size: 16px;
  color: #4b5563;
  max-width: 580px;
  margin: 0 auto;
  line-height: 1.6;
}

/* ── Product cards grid ── */
.pp-products-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
  margin-bottom: 64px;
}

/* Card */
.pp-card {
  background: #fff;
  border: 1px solid #e8eaef;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  transition:
    transform 0.3s,
    box-shadow 0.3s;
}

.pp-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.1);
}

/* Card visual / hero area */
.pp-card-visual {
  position: relative;
  height: 260px;
  background-color: #0c1a3a;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  overflow: hidden;
  border-radius: 16px 16px 0 0;
}

/* Badges — frosted glass */
.pp-card-badge {
  position: absolute;
  top: 16px;
  left: 16px;
  font-family: "Inter", sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.3px;
  padding: 8px 18px;
  border-radius: 8px;
  z-index: 2;
  background: rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.18);
}

.pp-card-badge--flagship {
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}

.pp-card-badge--free {
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}

/* Stat overlay — frosted glass */
.pp-card-stat {
  position: absolute;
  top: 12px;
  right: 16px;
  text-align: right;
  z-index: 2;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 10px;
  padding: 10px 16px;
}

.pp-card-stat-num {
  display: block;
  font-family: "Inter", sans-serif;
  font-weight: 800;
  font-size: 28px;
  color: #fff;
  line-height: 1.1;
}

.pp-card-stat-lbl {
  display: block;
  font-family: "Inter", sans-serif;
  font-size: 11px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.7);
  margin-top: 2px;
}

/* Card body */
.pp-card-body {
  padding: 28px 28px 32px;
}

.pp-card-tags {
  display: inline-block;
  font-family: "Inter", sans-serif;
  font-size: 12px;
  font-weight: 500;
  color: #4b5563;
  background: #f3f4f6;
  padding: 5px 12px;
  border-radius: 6px;
  margin-bottom: 14px;
}

.pp-card-title {
  font-family: "Inter", sans-serif;
  font-weight: 800;
  font-size: 26px;
  color: var(--color-heading-dark);
  margin: 0 0 10px;
  letter-spacing: -0.3px;
}

.pp-card-desc {
  font-family: "Inter", sans-serif;
  font-size: 15px;
  color: #4b5563;
  line-height: 1.6;
  margin: 0 0 20px;
}

/* Features list */
.pp-card-features {
  list-style: none;
  padding: 0;
  margin: 0 0 28px;
}

.pp-card-features li {
  font-family: "Inter", sans-serif;
  font-size: 14px;
  color: #374151;
  padding: 6px 0;
  padding-left: 22px;
  position: relative;
  line-height: 1.5;
}

.pp-card-features li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--color-primary);
  font-weight: 700;
  font-size: 13px;
}

/* Card CTA button */
.pp-card-btn {
  display: block;
  text-align: center;
  font-family: "Inter", sans-serif;
  font-size: 15px;
  font-weight: 600;
  padding: 14px 24px;
  border-radius: 10px;
  text-decoration: none;
  transition: var(--transition);
  margin-bottom: 16px;
}

.pp-card-btn--primary {
  background: var(--color-primary);
  color: #fff !important;
}

.pp-card-btn--primary:hover {
  background: var(--color-primary-dark);
  color: #fff !important;
}

/* External link */
.pp-card-link {
  display: block;
  text-align: center;
  font-family: "Inter", sans-serif;
  font-size: 13px;
  color: #6b7280;
  text-decoration: none;
  transition: var(--transition);
}

.pp-card-link:hover {
  color: var(--color-primary);
}

/* ── Trust bar ── */
.pp-trust-bar {
  background: #f9fafb;
  border-radius: 16px;
  padding: 40px 48px;
  text-align: center;
  margin-bottom: 80px;
}

.pp-trust-text {
  font-family: "Inter", sans-serif;
  font-size: 15px;
  color: #374151;
  margin: 0 0 24px;
}

.pp-trust-badges {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
}

.pp-trust-badge {
  font-family: "Inter", sans-serif;
  font-size: 13px;
  font-weight: 500;
  color: #374151;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 8px 20px;
}

/* ── Products responsive ── */
@media (max-width: 768px) {
  .pp-products {
    padding: 60px 0 0;
  }
  .pp-products-heading {
    font-size: 32px;
  }
  .pp-products-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .pp-trust-bar {
    padding: 28px 20px;
  }
  .pp-trust-badges {
    gap: 8px;
  }
  .pp-trust-badge {
    font-size: 12px;
    padding: 6px 14px;
  }
}

/* =============================================================
   CASE STUDIES PAGE — TAG BAR
   ============================================================= */
.cs-tag-bar {
  background: #fff;
  border-bottom: 1px solid #e5e7eb;
  padding: 0;
  position: sticky;
  top: 0;
  z-index: 50;
}
.cs-tag-bar-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 12px 0;
  flex-wrap: wrap;
}
.cs-tag {
  display: inline-block;
  padding: 7px 18px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 500;
  color: #6b7280;
  background: transparent;
  border: 1px solid transparent;
  text-decoration: none;
  transition: all 0.18s ease;
  white-space: nowrap;
}
.cs-tag:hover {
  background: #f3f4f6;
  color: #111827;
  text-decoration: none;
}
.cs-tag--active {
  background: #1e3a5f;
  color: #fff;
  border-color: #1e3a5f;
}
.cs-tag--active:hover {
  background: #152e4d;
  color: #fff;
}

/* =============================================================
   CASE STUDIES PAGE — GRID SECTION
   ============================================================= */
.cs-section {
  padding: 0;
}

.cs-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  margin-bottom: 48px;
}

/* ── Card shell ── */
.cs-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition:
    box-shadow 0.22s ease,
    transform 0.22s ease;
}
.cs-card:hover {
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
  transform: translateY(-3px);
}

/* ── Card image / coloured header ── */
.cs-card-img {
  position: relative;
  height: 160px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 20px 20px 16px;
}
.cs-card-img--blue {
  background: linear-gradient(135deg, #1e40af 0%, #3b82f6 100%);
}
.cs-card-img--dark {
  background: linear-gradient(135deg, #1e3a5f 0%, #2d5282 100%);
}
.cs-card-img--navy {
  background: linear-gradient(135deg, #0f2744 0%, #1e3a5f 100%);
}
.cs-card-img--red {
  background: linear-gradient(135deg, #7f1d1d 0%, #dc2626 100%);
}

.cs-card-year {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.65);
}

.cs-card-badge {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1px;
}
.cs-card-badge-num {
  font-size: 28px;
  font-weight: 800;
  color: #fff;
  line-height: 1;
  letter-spacing: -0.5px;
}
.cs-card-badge-lbl {
  font-size: 11px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.7);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

/* concentric ring decoration */
.cs-card-rings {
  position: absolute;
  right: -28px;
  top: 50%;
  transform: translateY(-50%);
  width: 140px;
  height: 140px;
  pointer-events: none;
}
.cs-ring {
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.12);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.cs-ring--1 {
  width: 60px;
  height: 60px;
}
.cs-ring--2 {
  width: 100px;
  height: 100px;
}
.cs-ring--3 {
  width: 140px;
  height: 140px;
}
.cs-ring-dot {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.4);
}

/* ── Card body ── */
.cs-card-body {
  padding: 20px 20px 24px;
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 12px;
}

.cs-card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.cs-tag-pill {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: #1e3a5f;
  background: #eff6ff;
  border-radius: 4px;
  padding: 3px 8px;
  text-transform: uppercase;
}

.cs-card-title {
  font-size: 15px;
  font-weight: 700;
  color: #111827;
  line-height: 1.45;
  margin: 0;
}

.cs-card-chip {
  display: inline-flex;
  align-items: baseline;
  gap: 5px;
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  border-radius: 6px;
  padding: 5px 10px;
  width: fit-content;
}
.cs-chip-num {
  font-size: 14px;
  font-weight: 800;
  color: #15803d;
}
.cs-chip-lbl {
  font-size: 11px;
  font-weight: 500;
  color: #166534;
}

.cs-card-desc {
  font-size: 13.5px;
  color: #6b7280;
  line-height: 1.6;
  margin: 0;
  flex: 1;
}

.cs-card-link {
  font-size: 13px;
  font-weight: 600;
  color: #1e3a5f;
  text-decoration: none;
  margin-top: auto;
  display: inline-block;
  transition: color 0.15s ease;
}
.cs-card-link:hover {
  color: #2563eb;
  text-decoration: none;
}

/* ── View all button ── */
.cs-view-all {
  display: flex;
  justify-content: center;
}
.cs-view-all-btn {
  display: inline-block;
  padding: 14px 36px;
  border: 2px solid #1e3a5f;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 600;
  color: #1e3a5f;
  text-decoration: none;
  transition: all 0.2s ease;
  background: transparent;
}
.cs-view-all-btn:hover {
  background: #1e3a5f;
  color: #fff;
  text-decoration: none;
}

/* ── Case studies responsive ── */
@media (max-width: 1024px) {
  .cs-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 640px) {
  .cs-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .cs-card-img {
    height: 140px;
  }
  .cs-tag-bar-inner {
    gap: 6px;
  }
}

/* =============================================================
   CASE STUDY SUBPAGE — SHARED TOKENS
   ============================================================= */
.cs-sub-eyebrow {
  display: block;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #1868db;
}
.cs-sub-eyebrow--light {
  color: #99bbf2;
}

/* =============================================================
   BREADCRUMB
   ============================================================= */
.cs-sub-breadcrumb {
  background: #f8f9fb;
  border-bottom: 1px solid #e4e7eb;
}
.cs-sub-breadcrumb-inner {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 14px 0;
  font-size: 14px;
}
.cs-sub-bc-link {
  color: #6b7280;
  text-decoration: none;
  transition: color 0.15s;
}
.cs-sub-bc-link:hover {
  color: #1868db;
}
.cs-sub-bc-sep {
  color: #6b7280;
}
.cs-sub-bc-current {
  color: #1868db;
  font-weight: 600;
}

/* =============================================================
   02 — HERO
   ============================================================= */
.cs-sub-hero {
  background: #ebf2fd;
}

.cs-sub-hero-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 48px;
}

.cs-sub-hero-left {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 640px;
}

.cs-sub-hero-h1 {
  font-size: 48px;
  font-weight: 800;
  line-height: 1.17;
  letter-spacing: -1px;
  color: #092857;
  margin: 0;
}

.cs-sub-hero-desc {
  font-size: 20px;
  color: #4b5563;
  line-height: 1.6;
  margin: 0;
}

.cs-sub-hero-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.cs-sub-hero-tag {
  background: #092857;
  color: #ccddf8;
  font-size: 12px;
  font-weight: 500;
  padding: 6px 14px;
  border-radius: 999px;
}

/* ── Hero visual card ── */
.cs-sub-hero-card {
  position: relative;
  width: 460px;
  height: 400px;
  flex-shrink: 0;
  border-radius: 20px;
  background: linear-gradient(
    41deg,
    #3380e5 14.6%,
    #1868db 46.5%,
    #04142c 85.4%
  );
  box-shadow: 0 24px 48px -8px rgba(24, 104, 219, 0.25);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 40px;
  overflow: hidden;
}

.cs-sub-hero-card-rings {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 200px;
  height: 200px;
  pointer-events: none;
}
.cs-sub-hring {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.12);
}
.cs-sub-hring--1 {
  width: 80px;
  height: 80px;
}
.cs-sub-hring--2 {
  width: 140px;
  height: 140px;
}
.cs-sub-hring--3 {
  width: 200px;
  height: 200px;
}
.cs-sub-hring--4 {
  width: 260px;
  height: 260px;
}
.cs-sub-hring-dot {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.5);
}

.cs-sub-hero-card-label {
  position: absolute;
  top: 40px;
  left: 40px;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 1.2px;
  color: rgba(255, 255, 255, 0.6);
}

.cs-sub-hero-card-num {
  position: relative;
  z-index: 1;
  font-size: 56px;
  font-weight: 800;
  color: #fff;
  line-height: 1.14;
  letter-spacing: -2px;
  margin-bottom: 8px;
}
.cs-sub-hero-card-num p {
  margin: 0;
}

.cs-sub-hero-card-sub {
  position: relative;
  z-index: 1;
  font-size: 15px;
  color: #ccddf8;
  margin: 0;
}

/* =============================================================
   03 — CLIENT SNAPSHOT
   ============================================================= */
.cs-sub-snapshot {
  background: #f8f9fb;
}

.cs-sub-snapshot-row {
  display: flex;
  align-items: flex-start;
  gap: 0;
}

.cs-sub-snapshot-col {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 0 28px;
  border-left: 1px solid #e4e7ee;
}
.cs-sub-snapshot-col--first {
  padding-left: 0;
  border-left: none;
}

.cs-sub-snapshot-label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: #6b7280;
}

.cs-sub-snapshot-value {
  font-size: 15px;
  font-weight: 500;
  color: #092857;
  line-height: 1.5;
}

/* =============================================================
   04 — THE CHALLENGE
   ============================================================= */
.cs-sub-challenge {
  background: #fff;
}

.cs-sub-challenge-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 80px;
}

.cs-sub-challenge-left {
  flex-shrink: 0;
  width: 440px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.cs-sub-challenge-h2 {
  font-size: 36px;
  font-weight: 700;
  line-height: 1.22;
  letter-spacing: -0.5px;
  color: #092857;
  margin: 0;
}

.cs-sub-challenge-right {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.cs-sub-challenge-body {
  font-size: 18px;
  color: #4b5563;
  line-height: 1.67;
  margin: 0;
}

.cs-sub-pullout {
  display: flex;
  align-items: center;
  gap: 16px;
  background: #ebf2fd;
  border-radius: 8px;
  padding: 20px;
}
.cs-sub-pullout-bar {
  width: 3px;
  height: 52px;
  background: #1868db;
  border-radius: 999px;
  flex-shrink: 0;
}
.cs-sub-pullout-text {
  font-size: 17px;
  font-weight: 600;
  color: #092857;
  line-height: 1.53;
  margin: 0;
}

/* =============================================================
   05 — APPROACH
   ============================================================= */
.cs-sub-approach {
  background: #ebf2fd;
}

.cs-sub-approach-header {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 48px;
}
.cs-sub-approach-h2 {
  font-size: 36px;
  font-weight: 700;
  line-height: 1.22;
  letter-spacing: -0.5px;
  color: #092857;
  margin: 0;
}

.cs-sub-steps-row {
  display: flex;
  gap: 24px;
  align-items: flex-start;
}

.cs-sub-step {
  flex: 1;
  background: #fff;
  border: 1px solid #e4e7ee;
  border-radius: 16px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.cs-sub-step-num {
  font-size: 40px;
  font-weight: 800;
  color: #1868db;
  line-height: 1;
}
.cs-sub-step-title {
  font-size: 16px;
  font-weight: 700;
  color: #092857;
  line-height: 1.5;
  margin: 0;
}
.cs-sub-step-rule {
  width: 28px;
  height: 2px;
  background: #1868db;
  border-radius: 999px;
}
.cs-sub-step-desc {
  font-size: 14px;
  color: #6b7280;
  line-height: 1.57;
  margin: 0;
}

/* =============================================================
   06 — RESULTS
   ============================================================= */
.cs-sub-results {
  background: #04142c;
}

.cs-sub-results-header {
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: center;
  text-align: center;
  margin-bottom: 64px;
}
.cs-sub-results-h2 {
  font-size: 40px;
  font-weight: 800;
  color: #fff;
  line-height: 1.25;
  letter-spacing: -0.5px;
  margin: 0;
}

.cs-sub-stat-row {
  display: flex;
  align-items: center;
  gap: 0;
}

.cs-sub-stat {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 0 48px;
}
.cs-sub-stat:first-child {
  padding-left: 0;
}
.cs-sub-stat:last-child {
  padding-right: 0;
}

.cs-sub-stat-num-row {
  display: flex;
  align-items: baseline;
  gap: 6px;
}
.cs-sub-stat-num {
  font-size: 64px;
  font-weight: 800;
  color: #fff;
  line-height: 1.125;
  letter-spacing: -2px;
}
.cs-sub-stat-unit {
  font-size: 24px;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.75);
}

.cs-sub-stat-label {
  font-size: 14px;
  font-weight: 600;
  color: #99bbf2;
  letter-spacing: 0.3px;
  margin: 0;
}
.cs-sub-stat-note {
  font-size: 13px;
  color: rgba(102, 160, 235, 0.65);
  line-height: 1.54;
  margin: 0;
}

.cs-sub-stat-divider {
  width: 1px;
  height: 120px;
  background: rgba(255, 255, 255, 0.15);
  flex-shrink: 0;
}

/* =============================================================
   07 — TECHNOLOGIES
   ============================================================= */
.cs-sub-tech {
  background: #fff;
}

.cs-sub-tech-header {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 48px;
}
.cs-sub-tech-h2 {
  font-size: 28px;
  font-weight: 700;
  color: #092857;
  line-height: 1.29;
  margin: 0;
}

.cs-sub-tech-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 40px 60px;
}

.cs-sub-tech-group {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.cs-sub-tech-group-label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  color: #6b7280;
}

.cs-sub-tech-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.cs-sub-tech-badge {
  background: #f1f3f7;
  border: 1px solid #e4e7ee;
  border-radius: 8px;
  padding: 8px 14px;
  font-size: 13px;
  font-weight: 500;
  color: #374151;
}

/* =============================================================
   08 — QUOTE
   ============================================================= */
.cs-sub-quote {
  background: #ebf2fd;
}

.cs-sub-quote-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 64px;
}

.cs-sub-quote-left {
  flex: 1;
  max-width: 720px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.cs-sub-quote-mark {
  font-size: 96px;
  font-weight: 800;
  color: #1868db;
  line-height: 0.83;
  display: block;
}
.cs-sub-quote-text {
  font-size: 26px;
  font-weight: 600;
  color: #092857;
  line-height: 1.46;
  letter-spacing: -0.3px;
  margin: 0;
}

.cs-sub-quote-attr {
  flex-shrink: 0;
  width: 280px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding-top: 104px;
}
.cs-sub-quote-avatar {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: #092857;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  font-weight: 700;
  color: #fff;
}
.cs-sub-quote-name {
  font-size: 17px;
  font-weight: 700;
  color: #092857;
  margin: 0;
}
.cs-sub-quote-role {
  font-size: 14px;
  color: #6b7280;
  margin: 0;
}
.cs-sub-quote-org {
  font-size: 14px;
  font-weight: 600;
  color: #1868db;
  margin: 0;
}

/* =============================================================
   09 — RELATED CASES
   ============================================================= */
.cs-sub-related {
  background: #f8f9fb;
}

.cs-sub-related-header {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 48px;
}
.cs-sub-related-h2 {
  font-size: 32px;
  font-weight: 700;
  color: #092857;
  line-height: 1.25;
  letter-spacing: -0.5px;
  margin: 0;
}

.cs-sub-related-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-bottom: 48px;
}

.cs-sub-rel-card {
  background: #fff;
  border: 1px solid #e4e7ee;
  border-radius: 16px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition:
    box-shadow 0.2s,
    transform 0.2s;
}
.cs-sub-rel-card:hover {
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.09);
  transform: translateY(-3px);
}

.cs-sub-rel-card-img {
  position: relative;
  height: 160px;
  background: linear-gradient(90deg, #1868db 0%, #04142c 100%);
  overflow: hidden;
  padding: 28px 24px 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

/* rings decoration on related card */
.cs-sub-rel-rings {
  position: absolute;
  right: -30px;
  top: 50%;
  transform: translateY(-50%);
  width: 160px;
  height: 160px;
  pointer-events: none;
}
.cs-sub-rel-ring {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.15);
}
.cs-sub-rel-ring--1 {
  width: 60px;
  height: 60px;
}
.cs-sub-rel-ring--2 {
  width: 110px;
  height: 110px;
}
.cs-sub-rel-ring--3 {
  width: 160px;
  height: 160px;
}

.cs-sub-rel-stat {
  font-size: 40px;
  font-weight: 800;
  color: #fff;
  letter-spacing: -1px;
  line-height: 1;
  margin: 0;
  position: relative;
  z-index: 1;
}
.cs-sub-rel-stat-lbl {
  font-size: 13px;
  color: #ccddf8;
  margin: 6px 0 0;
  position: relative;
  z-index: 1;
}
.cs-sub-rel-watermark {
  position: absolute;
  bottom: 10px;
  left: 24px;
  font-size: 11px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.4);
  margin: 0;
}

.cs-sub-rel-card-body {
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex: 1;
}
.cs-sub-rel-tag {
  display: inline-block;
  background: #ebf2fd;
  color: #1868db;
  font-size: 11px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 999px;
}
.cs-sub-rel-title {
  font-size: 18px;
  font-weight: 700;
  color: #092857;
  line-height: 1.44;
  margin: 0;
}
.cs-sub-rel-client {
  font-size: 13px;
  font-weight: 500;
  color: #6b7280;
  margin: 0;
}
.cs-sub-rel-desc {
  font-size: 14px;
  color: #4b5563;
  line-height: 1.57;
  margin: 0;
  flex: 1;
}
.cs-sub-rel-link {
  font-size: 14px;
  font-weight: 600;
  color: #1868db;
  text-decoration: none;
  transition: color 0.15s;
}
.cs-sub-rel-link:hover {
  color: #0d52b0;
  text-decoration: none;
}

.cs-sub-related-footer {
  display: flex;
  justify-content: center;
}
.cs-sub-see-all {
  font-size: 15px;
  font-weight: 600;
  color: #1868db;
  text-decoration: none;
  transition: color 0.15s;
}
.cs-sub-see-all:hover {
  color: #0d52b0;
  text-decoration: none;
}

/* =============================================================
   10 — FINAL CTA
   ============================================================= */
.cs-sub-cta {
  background: linear-gradient(90deg, #092857 0%, #04142c 100%);
}

.cs-sub-cta-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 24px;
  max-width: 800px;
  margin: 0 auto;
}

.cs-sub-cta-h2 {
  font-size: 48px;
  font-weight: 800;
  color: #fff;
  line-height: 1.17;
  letter-spacing: -1px;
  margin: 0;
}

.cs-sub-cta-desc {
  font-size: 20px;
  color: #99bbf2;
  line-height: 1.5;
  margin: 0;
}

.cs-sub-cta-btns {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
  justify-content: center;
}

.cs-sub-cta-btn-primary {
  background: #fff;
  color: #092857;
  font-size: 16px;
  font-weight: 600;
  padding: 16px 32px;
  border-radius: 10px;
  text-decoration: none;
  transition:
    background 0.18s,
    color 0.18s;
  white-space: nowrap;
}
.cs-sub-cta-btn-primary:hover {
  background: #ebf2fd;
  color: #092857;
  text-decoration: none;
}

.cs-sub-cta-btn-ghost {
  font-size: 15px;
  font-weight: 500;
  color: #ccddf8;
  text-decoration: none;
  transition: color 0.15s;
}
.cs-sub-cta-btn-ghost:hover {
  color: #fff;
  text-decoration: none;
}

/* =============================================================
   CASE STUDY SUBPAGE — RESPONSIVE
   ============================================================= */
@media (max-width: 1024px) {
  .cs-sub-hero-row {
    flex-direction: column;
  }
  .cs-sub-hero-card {
    width: 100%;
    height: 280px;
  }
  .cs-sub-hero-left {
    max-width: 100%;
  }
  .cs-sub-challenge-row {
    flex-direction: column;
    gap: 40px;
  }
  .cs-sub-challenge-left {
    width: 100%;
  }
  .cs-sub-steps-row {
    flex-wrap: wrap;
  }
  .cs-sub-step {
    flex: 1 1 calc(50% - 12px);
  }
  .cs-sub-stat-row {
    flex-wrap: wrap;
    gap: 32px;
  }
  .cs-sub-stat-divider {
    display: none;
  }
  .cs-sub-stat {
    padding: 0;
    flex-basis: calc(50% - 16px);
  }
  .cs-sub-quote-row {
    flex-direction: column;
    gap: 32px;
  }
  .cs-sub-quote-attr {
    padding-top: 0;
  }
  .cs-sub-related-cards {
    grid-template-columns: repeat(2, 1fr);
  }
  .cs-sub-cta-h2 {
    font-size: 36px;
  }
}

@media (max-width: 640px) {
  .cs-sub-hero-h1 {
    font-size: 32px;
  }
  .cs-sub-hero-card {
    height: 240px;
  }
  .cs-sub-snapshot-row {
    flex-direction: column;
    gap: 20px;
  }
  .cs-sub-snapshot-col {
    border-left: none;
    padding: 0;
    border-top: 1px solid #e4e7ee;
    padding-top: 16px;
  }
  .cs-sub-snapshot-col--first {
    border-top: none;
    padding-top: 0;
  }
  .cs-sub-step {
    flex-basis: 100%;
  }
  .cs-sub-stat {
    flex-basis: 100%;
  }
  .cs-sub-stat-num {
    font-size: 48px;
  }
  .cs-sub-related-cards {
    grid-template-columns: 1fr;
  }
  .cs-sub-quote-text {
    font-size: 20px;
  }
  .cs-sub-cta-h2 {
    font-size: 28px;
  }
  .cs-sub-cta-desc {
    font-size: 16px;
  }
}

/* =============================================================
   PRODUCT PAGES — SHARED TOKENS
   ============================================================= */
.ke-eyebrow {
  display: block;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #1868db;
}
.ke-eyebrow--light {
  color: #ccddf8;
}

/* =============================================================
   KOSMIC EYE — 02 HERO
   ============================================================= */
.ke-hero {
  background: #f8f9fb;
}

.ke-hero-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 60px;
}

.ke-hero-left {
  flex-shrink: 0;
  width: 640px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.ke-hero-meta-pill {
  display: inline-block;
  border: 1px solid #e4e7ee;
  border-radius: 999px;
  padding: 5px 12px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1.2px;
  color: #6b7280;
  text-transform: uppercase;
  width: fit-content;
}

.ke-hero-cat-pill {
  display: inline-block;
  background: #ebf2fd;
  border: 1px solid #ccddf8;
  border-radius: 999px;
  padding: 6px 14px;
  font-size: 13px;
  font-weight: 600;
  color: #0e3e83;
  width: fit-content;
}

.ke-hero-h1 {
  font-size: 64px;
  font-weight: 800;
  color: #111827;
  line-height: 1.125;
  letter-spacing: -2px;
  margin: 0;
}

.ke-hero-desc {
  font-size: 20px;
  color: #6b7280;
  line-height: 1.6;
  max-width: 600px;
  margin: 0;
}

.ke-hero-btns {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}

.ke-btn-primary {
  display: inline-block;
  background: #1868db;
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  padding: 14px 28px;
  border-radius: 999px;
  text-decoration: none;
  box-shadow: 0 8px 20px rgba(24, 104, 219, 0.3);
  transition: background 0.18s;
  white-space: nowrap;
}
.ke-btn-primary:hover {
  background: #1355b8;
  color: #fff;
  text-decoration: none;
}

.ke-btn-ghost {
  font-size: 15px;
  font-weight: 600;
  color: #1868db;
  text-decoration: none;
  padding: 14px 0;
  transition: color 0.15s;
}
.ke-btn-ghost:hover {
  color: #0d52b0;
  text-decoration: none;
}

/* ── Hero visual ── */
.ke-hero-visual {
  flex-shrink: 0;
  width: 480px;
  height: 440px;
  border-radius: 20px;
  background: linear-gradient(43deg, #092857 14.6%, #04142c 50%, #04142c 85.4%);
  box-shadow: 0 24px 60px -8px rgba(24, 104, 219, 0.25);
  position: relative;
  overflow: hidden;
}

.ke-hero-rings {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -52%);
  pointer-events: none;
}
.ke-ring {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.1);
}
.ke-ring--1 {
  width: 56px;
  height: 56px;
}
.ke-ring--2 {
  width: 124px;
  height: 124px;
}
.ke-ring--3 {
  width: 192px;
  height: 192px;
}
.ke-ring--4 {
  width: 260px;
  height: 260px;
}
.ke-ring--5 {
  width: 328px;
  height: 328px;
}
.ke-ring--6 {
  width: 396px;
  height: 396px;
}
.ke-ring-core {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(24, 104, 219, 0.6) 0%,
    rgba(24, 104, 219, 0.2) 100%
  );
  box-shadow: 0 0 20px rgba(24, 104, 219, 0.5);
}

.ke-hero-vis-card {
  position: absolute;
  top: 16px;
  right: 16px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 12px;
  padding: 8px 12px 10px;
  width: 160px;
}
.ke-hero-vis-title {
  font-size: 15px;
  font-weight: 800;
  color: #fff;
  margin: 0 0 4px;
}
.ke-hero-vis-url {
  font-size: 11px;
  color: #ccddf8;
  margin: 0;
}

/* =============================================================
   KOSMIC EYE — 03 BUYER FIT
   ============================================================= */
.ke-buyerfit {
  background: #ebf2fd;
}

.ke-bf-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 60px;
}

.ke-bf-left {
  flex-shrink: 0;
  width: 560px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.ke-bf-h2 {
  font-size: 40px;
  font-weight: 700;
  color: #111827;
  line-height: 1.2;
  letter-spacing: -0.5px;
  margin: 0;
}

.ke-bf-desc {
  font-size: 18px;
  color: #6b7280;
  line-height: 1.67;
  max-width: 540px;
  margin: 0;
}

.ke-bf-visual {
  flex-shrink: 0;
  width: 520px;
  height: 300px;
  border-radius: 20px;
  background: linear-gradient(90deg, #092857 0%, #04142c 100%);
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
}

.ke-bf-rings {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.ke-bf-ring {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.12);
}
.ke-bf-ring--1 {
  width: 70px;
  height: 70px;
}
.ke-bf-ring--2 {
  width: 150px;
  height: 150px;
}
.ke-bf-ring--3 {
  width: 230px;
  height: 230px;
}

.ke-bf-icon-wrap {
  position: relative;
  z-index: 1;
  width: 96px;
  height: 96px;
  background: rgba(24, 104, 219, 0.3);
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 46px;
}

.ke-bf-label {
  position: relative;
  z-index: 1;
  font-size: 13px;
  font-weight: 600;
  color: #fff;
  text-align: center;
  margin: 0;
}

/* =============================================================
   KOSMIC EYE — 04 CAPABILITIES
   ============================================================= */
.ke-caps {
  background: #fff;
}

.ke-caps-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  text-align: center;
  margin-bottom: 48px;
}
.ke-caps-h2 {
  font-size: 40px;
  font-weight: 800;
  color: #111827;
  line-height: 1.2;
  letter-spacing: -0.5px;
  max-width: 800px;
  margin: 0;
}

.ke-caps-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.ke-cap-card {
  background: #f8f9fb;
  border: 1px solid #e4e7ee;
  border-radius: 20px;
  padding: 32px 28px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  box-shadow: 0 8px 24px rgba(17, 24, 39, 0.06);
}

.ke-cap-icon-wrap {
  width: 52px;
  height: 52px;
  background: #ebf2fd;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
}

.ke-cap-title {
  font-size: 20px;
  font-weight: 700;
  color: #111827;
  line-height: 1.4;
  margin: 0;
}

.ke-cap-rule {
  width: 36px;
  height: 2px;
  background: #1868db;
  border-radius: 999px;
}

.ke-cap-desc {
  font-size: 14px;
  color: #6b7280;
  line-height: 1.57;
  margin: 0;
}

/* =============================================================
   KOSMIC EYE — 05 PLATFORM / DASHBOARD
   ============================================================= */
.ke-platform {
  background: #04142c;
}

.ke-platform-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  text-align: center;
  margin-bottom: 40px;
}
.ke-platform-h2 {
  font-size: 40px;
  font-weight: 800;
  color: #fff;
  line-height: 1.2;
  letter-spacing: -0.5px;
  margin: 0;
}

/* ── Mock Dashboard ── */
.ke-dashboard {
  max-width: 1000px;
  margin: 0 auto;
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  overflow: hidden;
  box-shadow: 0 24px 64px -8px rgba(0, 0, 0, 0.4);
  background: #0e1017;
}

.ke-dash-chrome {
  background: #1a1c29;
  height: 40px;
  display: flex;
  align-items: center;
  padding: 0 14px;
  gap: 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.ke-dash-dots {
  display: flex;
  gap: 6px;
  flex-shrink: 0;
}
.ke-dash-dots span {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.ke-dash-dots span:nth-child(1) {
  background: #ff5f57;
}
.ke-dash-dots span:nth-child(2) {
  background: #febc2e;
}
.ke-dash-dots span:nth-child(3) {
  background: #28c840;
}

.ke-dash-url {
  background: #12141f;
  border-radius: 6px;
  padding: 4px 14px;
  font-size: 12px;
  color: #66738c;
  flex: 1;
  max-width: 360px;
}

.ke-dash-body {
  display: flex;
  height: 360px;
}

/* sidebar */
.ke-dash-sidebar {
  width: 180px;
  background: #12141f;
  flex-shrink: 0;
  padding: 8px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.ke-dash-nav-item {
  padding: 9px 10px;
  font-size: 13px;
  font-weight: 500;
  color: #66738c;
  border-radius: 8px;
  cursor: default;
}
.ke-dash-nav-item--active {
  background: #1868db;
  color: #fff;
}

/* main panel */
.ke-dash-main {
  flex: 1;
  background: #0f121a;
  display: flex;
  flex-direction: column;
}

.ke-dash-main-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.ke-dash-main-title {
  font-size: 15px;
  font-weight: 600;
  color: #fff;
}
.ke-dash-status {
  display: flex;
  align-items: center;
  gap: 6px;
  background: rgba(16, 184, 129, 0.2);
  border-radius: 999px;
  padding: 5px 12px;
  font-size: 12px;
  font-weight: 500;
  color: #10b881;
}
.ke-dash-status-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #10b881;
  flex-shrink: 0;
}

.ke-dash-stats {
  display: flex;
  gap: 12px;
  padding: 16px;
}
.ke-dash-stat {
  flex: 1;
  background: #171a24;
  border-radius: 10px;
  padding: 12px 14px 14px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.ke-dash-stat-num {
  font-size: 28px;
  font-weight: 800;
  line-height: 1;
}
.ke-dash-stat-lbl {
  font-size: 12px;
  color: #66738c;
}
.ke-dash-stat--green .ke-dash-stat-num {
  color: #10b881;
}
.ke-dash-stat--blue .ke-dash-stat-num {
  color: #ccddf8;
}
.ke-dash-stat--amber .ke-dash-stat-num {
  color: #f59e0b;
}

/* =============================================================
   KOSMIC EYE — 06 INTEGRATION
   ============================================================= */
.ke-integration {
  background: #fff;
}

.ke-int-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 80px;
}

.ke-int-left {
  flex-shrink: 0;
  width: 480px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.ke-int-h2 {
  font-size: 36px;
  font-weight: 700;
  color: #111827;
  line-height: 1.22;
  letter-spacing: -0.5px;
  margin: 0;
}

.ke-int-desc {
  font-size: 17px;
  color: #6b7280;
  line-height: 1.65;
  margin: 0;
}

.ke-int-cards {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.ke-int-card {
  background: #f8f9fb;
  border: 1px solid #e4e7ee;
  border-radius: 16px;
  padding: 24px;
  display: flex;
  align-items: flex-start;
  gap: 16px;
  transition: box-shadow 0.2s;
}
.ke-int-card:hover {
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.07);
}

.ke-int-card-icon {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  background: #ebf2fd;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ke-int-card-icon-inner {
  width: 20px;
  height: 20px;
  background: #1868db;
  border-radius: 4px;
}

.ke-int-card-body {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.ke-int-card-title {
  font-size: 16px;
  font-weight: 600;
  color: #111827;
  margin: 0;
}
.ke-int-card-desc {
  font-size: 14px;
  color: #6b7280;
  line-height: 1.57;
  margin: 0;
}
.ke-int-card-link {
  font-size: 13px;
  font-weight: 600;
  color: #1868db;
  text-decoration: none;
  transition: color 0.15s;
}
.ke-int-card-link:hover {
  color: #0d52b0;
  text-decoration: none;
}

/* =============================================================
   KOSMIC EYE — 07 TRUSTED BY
   ============================================================= */
.ke-proof {
  background: #f8f9fb;
}

.ke-proof-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  text-align: center;
  margin-bottom: 40px;
}
.ke-proof-h2 {
  font-size: 32px;
  font-weight: 700;
  color: #111827;
  line-height: 1.25;
  letter-spacing: -0.5px;
  max-width: 720px;
  margin: 0;
}

.ke-proof-badges {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
}
.ke-proof-badge {
  background: #fff;
  border: 1px solid #e4e7ee;
  border-radius: 10px;
  padding: 16px 20px;
  font-size: 13px;
  font-weight: 600;
  color: #6b7280;
}

/* =============================================================
   KOSMIC EYE — RESPONSIVE
   ============================================================= */
@media (max-width: 1024px) {
  .ke-hero-row {
    flex-direction: column;
  }
  .ke-hero-left {
    width: 100%;
  }
  .ke-hero-visual {
    width: 100%;
    height: 320px;
  }
  .ke-bf-row {
    flex-direction: column;
  }
  .ke-bf-left {
    width: 100%;
  }
  .ke-bf-visual {
    width: 100%;
  }
  .ke-caps-row {
    grid-template-columns: repeat(2, 1fr);
  }
  .ke-int-row {
    flex-direction: column;
    gap: 48px;
  }
  .ke-int-left {
    width: 100%;
  }
  .ke-hero-h1 {
    font-size: 48px;
  }
}

@media (max-width: 640px) {
  .ke-hero-h1 {
    font-size: 40px;
  }
  .ke-caps-row {
    grid-template-columns: 1fr;
  }
  .ke-dash-body {
    flex-direction: column;
    height: auto;
  }
  .ke-dash-sidebar {
    width: 100%;
    height: auto;
    flex-direction: row;
    flex-wrap: wrap;
  }
  .ke-dash-stats {
    flex-direction: column;
  }
  .ke-proof-badges {
    gap: 8px;
  }
}

/* =============================================================
   GENERAL RESPONSIVE
   ============================================================= */
@media (max-width: 768px) {
  h1 {
    font-size: 36px;
    letter-spacing: -1px;
  }
  h2 {
    font-size: 28px;
  }
  h3 {
    font-size: 22px;
  }
  ._container {
    max-width: 100%;
  }
}

/* =============================================================
   ROCON PRODUCT PAGE  (rc-*)
   ============================================================= */

/* ── Shared eyebrow ── */
.rc-eyebrow {
  display: block;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1.5px;
  color: #1868db;
  text-transform: uppercase;
}

/* ── 02 Hero ── */
.rc-hero {
  background: #f8f9fb;
}
.rc-hero-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 48px;
}
.rc-hero-left {
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 640px;
}
.rc-hero-meta-pill {
  display: inline-block;
  border: 1px solid #e4e7ee;
  border-radius: 9999px;
  padding: 5px 12px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1.2px;
  color: #6b7280;
  text-transform: uppercase;
  width: fit-content;
}
.rc-hero-cat-pill {
  display: inline-block;
  background: #ebf2fd;
  border: 1px solid #ccddf8;
  border-radius: 9999px;
  padding: 6px 14px;
  font-size: 13px;
  font-weight: 600;
  color: #0e3e83;
  width: fit-content;
}
.rc-hero-free-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(16, 184, 129, 0.15);
  border: 1px solid #10b881;
  border-radius: 10px;
  padding: 8px 16px;
  font-size: 14px;
  font-weight: 600;
  color: #058a5e;
  width: fit-content;
}
.rc-hero-free-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  background: #10b881;
  border-radius: 50%;
  flex-shrink: 0;
}
.rc-hero-h1 {
  font-size: 64px;
  font-weight: 800;
  letter-spacing: -2px;
  line-height: 1.1;
  color: #111827;
  margin: 0;
}
.rc-hero-desc {
  font-size: 20px;
  line-height: 1.6;
  color: #6b7280;
  max-width: 600px;
  margin: 0;
}
.rc-hero-btns {
  display: flex;
  gap: 20px;
  align-items: center;
  flex-wrap: wrap;
}
.rc-btn-primary {
  background: #1868db;
  color: #fff;
  padding: 14px 28px;
  border-radius: 9999px;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  box-shadow: 0 8px 20px rgba(24, 104, 219, 0.3);
  transition: opacity 0.2s;
}
.rc-btn-primary:hover {
  opacity: 0.9;
  color: #fff;
  text-decoration: none;
}
.rc-btn-ghost {
  color: #1868db;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  padding: 14px 0;
}
.rc-btn-ghost:hover {
  text-decoration: underline;
  color: #1868db;
}

/* Hero visual */
.rc-hero-visual {
  position: relative;
  width: 480px;
  height: 440px;
  background: linear-gradient(43deg, #1353af 15%, #0e3e83 50%, #04142c 85%);
  border-radius: 20px;
  box-shadow: 0 24px 60px -8px rgba(24, 104, 219, 0.25);
  overflow: hidden;
  flex-shrink: 0;
}
.rc-hero-rings {
  position: absolute;
  inset: 0;
}
/* 5 rings centered in visual */
.rc-ring {
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.12);
  transform: translate(-50%, -50%);
  top: 50%;
  left: 50%;
}
.rc-ring--1 {
  width: 80px;
  height: 80px;
}
.rc-ring--2 {
  width: 160px;
  height: 160px;
}
.rc-ring--3 {
  width: 240px;
  height: 240px;
}
.rc-ring--4 {
  width: 320px;
  height: 320px;
}
.rc-ring--5 {
  width: 400px;
  height: 400px;
}
.rc-ring-core {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(91, 153, 241, 0.9),
    rgba(24, 104, 219, 0.4)
  );
  box-shadow: 0 0 24px 8px rgba(91, 153, 241, 0.3);
}
/* FREE badge overlay */
.rc-hero-free-card {
  position: absolute;
  top: 16px;
  right: 16px;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 12px;
  padding: 10px 18px;
  text-align: center;
}
.rc-hero-free-label {
  font-size: 22px;
  font-weight: 800;
  color: #fff;
  margin: 0;
  line-height: 1.2;
}
.rc-hero-free-sub {
  font-size: 11px;
  color: #ccddf8;
  margin: 0;
}

/* ── 03 Buyer Fit ── */
.rc-buyerfit {
  background: #ebf2fd;
}
.rc-bf-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 48px;
}
.rc-bf-left {
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 560px;
}
.rc-bf-h2 {
  font-size: 40px;
  font-weight: 700;
  letter-spacing: -0.5px;
  line-height: 1.2;
  color: #111827;
  margin: 0;
}
.rc-bf-desc {
  font-size: 18px;
  line-height: 1.7;
  color: #6b7280;
  margin: 0;
}
/* Right WP visual */
.rc-bf-visual {
  position: relative;
  width: 520px;
  height: 300px;
  background: linear-gradient(90deg, #1353af, #04142c);
  border-radius: 20px;
  overflow: hidden;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.rc-bf-rings {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.rc-bf-ring {
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.12);
  transform: translate(-50%, -50%);
  top: 50%;
  left: 50%;
}
.rc-bf-ring--1 {
  width: 80px;
  height: 80px;
}
.rc-bf-ring--2 {
  width: 160px;
  height: 160px;
}
.rc-bf-ring--3 {
  width: 240px;
  height: 240px;
}
.rc-bf-wp-wrap {
  position: relative;
  z-index: 2;
  background: rgba(255, 255, 255, 0.15);
  border-radius: 20px;
  width: 96px;
  height: 96px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 36px;
  font-weight: 800;
  color: #fff;
}
.rc-bf-label {
  position: relative;
  z-index: 2;
  font-size: 13px;
  font-weight: 600;
  color: #fff;
  margin: 12px 0 0;
  text-align: center;
}

/* ── 04 Capabilities ── */
.rc-caps {
  background: #fff;
}
.rc-caps-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  text-align: center;
  margin-bottom: 48px;
}
.rc-caps-h2 {
  font-size: 40px;
  font-weight: 800;
  letter-spacing: -0.5px;
  line-height: 1.2;
  color: #111827;
  max-width: 800px;
  margin: 0;
}
.rc-caps-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.rc-cap-card {
  background: #f8f9fb;
  border: 1px solid #e4e7ee;
  border-radius: 20px;
  padding: 32px 28px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  box-shadow: 0 8px 24px rgba(17, 24, 39, 0.06);
}
.rc-cap-icon-wrap {
  width: 50px;
  height: 50px;
  background: #ebf2fd;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
}
.rc-cap-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
  color: #111827;
  margin: 0;
}
.rc-cap-rule {
  width: 36px;
  height: 2px;
  background: #1868db;
  border-radius: 9999px;
}
.rc-cap-desc {
  font-size: 14px;
  line-height: 1.6;
  color: #6b7280;
  margin: 0;
}

/* ── 05 Pricing ── */
.rc-pricing {
  background: #ebf2fd;
}
.rc-pricing-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  text-align: center;
  margin-bottom: 48px;
}
.rc-pricing-h2 {
  font-size: 44px;
  font-weight: 800;
  letter-spacing: -0.5px;
  color: #111827;
  margin: 0;
}
.rc-pricing-sub {
  font-size: 18px;
  line-height: 1.6;
  color: #6b7280;
  max-width: 680px;
  text-align: center;
  margin: 0;
}
.rc-pricing-row {
  display: flex;
  gap: 24px;
  align-items: flex-start;
  justify-content: center;
  flex-wrap: wrap;
}
/* Base card */
.rc-price-card {
  background: #fff;
  border: 1px solid #e4e7ee;
  border-radius: 20px;
  width: 340px;
  overflow: hidden;
}
/* Featured (Community) */
.rc-price-card--featured {
  background: #04142c;
  border: 2px solid #1868db;
  box-shadow: 0 16px 40px -4px rgba(24, 104, 219, 0.25);
}
.rc-price-head {
  padding: 28px 28px 20px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.rc-price-popular {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(16, 184, 129, 0.2);
  border-radius: 9999px;
  padding: 5px 12px;
  font-size: 12px;
  font-weight: 600;
  color: #10b881;
  width: fit-content;
  margin-bottom: 2px;
}
.rc-price-popular-dot {
  display: inline-block;
  width: 6px;
  height: 6px;
  background: #10b881;
  border-radius: 50%;
}
.rc-price-tier {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 1px;
  color: #99bbf2;
  margin: 0;
}
.rc-price-tier--light {
  color: #6b7280;
}
.rc-price-amount {
  display: flex;
  align-items: baseline;
  gap: 4px;
}
.rc-price-num {
  font-size: 40px;
  font-weight: 800;
  color: #fff;
  line-height: 1;
}
.rc-price-num--dark {
  color: #111827;
}
.rc-price-period {
  font-size: 15px;
  color: #99bbf2;
}
.rc-price-period--dark {
  color: #6b7280;
}
.rc-price-note {
  font-size: 12px;
  color: #99bbf2;
  margin: 0;
}
.rc-price-note--light {
  color: #6b7280;
}
.rc-price-divider {
  height: 1px;
  background: rgba(255, 255, 255, 0.15);
  margin: 0 28px;
}
.rc-price-divider--light {
  background: #e4e7ee;
}
.rc-price-features {
  padding: 20px 28px 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.rc-price-feat {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  color: #ccddf8;
}
.rc-price-feat--dark {
  color: #6b7280;
}
.rc-price-check {
  font-size: 13px;
  font-weight: 700;
}
.rc-price-check--green {
  color: #10b881;
}
.rc-price-check--blue {
  color: #1868db;
}
.rc-price-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  border-radius: 9999px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  margin-top: 4px;
  transition: opacity 0.2s;
}
.rc-price-btn:hover {
  opacity: 0.9;
  text-decoration: none;
}
.rc-price-btn--blue {
  background: #1868db;
  color: #fff;
}
.rc-price-btn--dark {
  background: #111827;
  color: #fff;
}

/* ── 06 Integration ── */
.rc-integration {
  background: #fff;
}
.rc-int-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 48px;
}
.rc-int-left {
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 480px;
}
.rc-int-h2 {
  font-size: 36px;
  font-weight: 700;
  letter-spacing: -0.5px;
  line-height: 1.25;
  color: #111827;
  margin: 0;
}
.rc-int-desc {
  font-size: 17px;
  line-height: 1.65;
  color: #6b7280;
  margin: 0;
}
.rc-int-cards {
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 580px;
  width: 100%;
}
.rc-int-card {
  display: flex;
  align-items: center;
  gap: 16px;
  background: #f8f9fb;
  border: 1px solid #e4e7ee;
  border-radius: 16px;
  padding: 24px;
}
.rc-int-card-icon {
  width: 40px;
  height: 40px;
  background: #ebf2fd;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.rc-int-card-icon-inner {
  width: 20px;
  height: 20px;
  background: #1868db;
  border-radius: 4px;
}
.rc-int-card-body {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.rc-int-card-title {
  font-size: 16px;
  font-weight: 600;
  color: #111827;
  margin: 0;
}
.rc-int-card-desc {
  font-size: 14px;
  line-height: 1.6;
  color: #6b7280;
  margin: 0;
}
.rc-int-card-link {
  font-size: 13px;
  font-weight: 600;
  color: #1868db;
  text-decoration: none;
}
.rc-int-card-link:hover {
  text-decoration: underline;
  color: #1868db;
}

/* ── Rocon Responsive ── */
@media (max-width: 1024px) {
  .rc-hero-row {
    flex-direction: column;
  }
  .rc-hero-left {
    max-width: 100%;
  }
  .rc-hero-visual {
    width: 100%;
    height: 320px;
  }
  .rc-bf-row {
    flex-direction: column;
  }
  .rc-bf-left {
    max-width: 100%;
  }
  .rc-bf-visual {
    width: 100%;
  }
  .rc-caps-row {
    grid-template-columns: repeat(2, 1fr);
  }
  .rc-int-row {
    flex-direction: column;
    gap: 48px;
  }
  .rc-int-left {
    max-width: 100%;
  }
  .rc-hero-h1 {
    font-size: 48px;
  }
}

@media (max-width: 768px) {
  .rc-pricing-row {
    flex-direction: column;
    align-items: center;
  }
  .rc-price-card {
    width: 100%;
    max-width: 400px;
  }
  .rc-pricing-h2 {
    font-size: 32px;
  }
}

@media (max-width: 640px) {
  .rc-hero-h1 {
    font-size: 40px;
  }
  .rc-caps-row {
    grid-template-columns: 1fr;
  }
  .rc-bf-h2 {
    font-size: 28px;
  }
}

/* =============================================================
   PRODUCT PAGE — CENTERED FINAL CTA  (prod-cta)
   Used on Kosmic Eye and Rocon product subpages
   ============================================================= */
.prod-cta {
  background: #04142c;
  padding: 96px 120px;
}
.prod-cta-inner {
  max-width: 800px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  text-align: center;
}
.prod-cta-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 9999px;
  padding: 6px 16px;
  font-size: 13px;
  font-weight: 500;
  color: #ccddf8;
}
.prod-cta-dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  background: #10b881;
  border-radius: 50%;
  flex-shrink: 0;
}
.prod-cta-heading {
  font-size: 52px;
  font-weight: 800;
  letter-spacing: -1.5px;
  line-height: 1.15;
  color: #fff;
  margin: 0;
}
.prod-cta-sub {
  font-size: 18px;
  line-height: 1.6;
  color: #ccddf8;
  max-width: 680px;
  margin: 0;
}
.prod-cta-btns {
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}
.prod-cta-btn-white {
  background: #fff;
  color: #04142c;
  padding: 16px 32px;
  border-radius: 9999px;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  transition: opacity 0.2s;
}
.prod-cta-btn-white:hover {
  opacity: 0.9;
  color: #04142c;
  text-decoration: none;
}
.prod-cta-btn-dark {
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #fff;
  padding: 16px 32px;
  border-radius: 9999px;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.2s;
}
.prod-cta-btn-dark:hover {
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
  text-decoration: none;
}
.prod-cta-trust {
  font-size: 13px;
  color: #ccddf8;
  margin: 0;
  line-height: 1.6;
}

@media (max-width: 768px) {
  .prod-cta {
    padding: 72px 32px;
  }
  .prod-cta-heading {
    font-size: 36px;
  }
  .prod-cta-sub {
    font-size: 16px;
  }
}
@media (max-width: 480px) {
  .prod-cta-btns {
    flex-direction: column;
    width: 100%;
  }
  .prod-cta-btn-white,
  .prod-cta-btn-dark {
    width: 100%;
    text-align: center;
  }
}
