/* ─── RESET ─────────────────────────────────── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; text-size-adjust:100%; }
body { font-family:'Space Grotesk',sans-serif; background:#f7f7f8; color:#1a2857; overflow-x:clip; }

/* Large screen container */
@media (min-width:1600px) {
  body { max-width:1600px; margin:0 auto; box-shadow:0 0 60px rgba(0,0,0,.08); }
}

/* ─── TOKENS ─────────────────────────────────── */
:root {
  /* ── Brand palette (from identity sheet) ── */
  --navy:      #1a2857;   /* darkest — logo text, section backgrounds */
  --navy-mid:  #2347b5;   /* medium panel blue (brand bg panel 2) */
  --navy-deep: #0d1540;   /* deepest dark bg (brand bg panel 3) */
  --blue:      #1565c7;   /* logo top-left dot */
  --teal:      #0096c7;   /* interactive accent / logo bottom-right dot */
  --teal-lt:   #29b6f6;   /* light teal highlight */
  --orange:    #f77f00;   /* logo top-right dot / brand accent */
  --green:     #4aaa57;   /* logo bottom-left dot / brand accent */
  /* ── Neutrals ── */
  --bg:        #f7f7f8;
  --bg2:       #ffffff;
  --bg3:       #eef0f4;
  --muted:     #374151;
  --border:    rgba(0,0,0,0.08);
}

/* ─── ANIMATIONS ─────────────────────────────── */
.fade-in {
  opacity:0; transform:translateY(22px);
  transition: opacity .65s ease, transform .65s ease;
}
.fade-in.vis { opacity:1; transform:none; }

/* ─── LOGO ───────────────────────────────────── */
.logo { display:flex; align-items:center; gap:10px; text-decoration:none; }
.logo-img { height:30px; width:auto; display:block; }
.logo-text {
  font-size:38px; font-weight:700; color:var(--navy);
  letter-spacing:-0.5px;
}

/* ─── NAV ────────────────────────────────────── */
.nav-wrap {
  position:sticky; top:0; z-index:100;
}
nav {
  padding:18px 72px;
  display:flex; align-items:center; justify-content:space-between;
  background:rgba(255,255,255,0.96); backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border);
  position:relative;
}
.nav-links { display:flex; gap:0; list-style:none; }
.nav-links li { display:flex; }
.nav-links a {
  font-size:13px; font-weight:500; color:var(--muted);
  text-decoration:none; transition:color .2s;
  padding:10px 18px; display:block;
}
.nav-links a:hover { color:var(--navy); }
.nav-cta {
  padding:10px 28px; background:var(--navy); color:#fff;
  font-size:12px; font-weight:700; letter-spacing:.07em; text-transform:uppercase;
  text-decoration:none; transition:background .2s; white-space:nowrap;
}
.nav-cta:hover { background:var(--teal); }

/* ─── MEGA PANELS ────────────────────────────── */
.mega-panel {
  display:none; position:absolute; left:0; right:0;
  top:100%; background:#fff; border-top:1px solid var(--border);
  box-shadow:0 12px 40px rgba(0,0,0,.08);
  padding:40px 48px; z-index:99;
}
.mega-panel.open { display:block; }
.mega-section-title {
  font-size:11px; font-weight:700; letter-spacing:.12em;
  text-transform:uppercase; color:var(--muted); margin-bottom:20px;
}
.mega-card {
  display:block; padding:20px; text-decoration:none;
  border:1px solid #f3f4f6; transition:all .15s; border-radius:2px;
}
.mega-card:hover { border-color:var(--teal); background:#f9fafb; }
.mega-card-icon { margin-bottom:10px; color:var(--teal); }
.mega-card-name { font-size:14px; font-weight:700; color:var(--navy); margin-bottom:4px; }
.mega-card-desc { font-size:12px; color:var(--muted); line-height:1.5; }
.mega-footer {
  border-top:1px solid #f3f4f6; margin-top:24px; padding-top:16px;
}
.mega-footer a { font-size:13px; font-weight:700; color:var(--teal); text-decoration:none; }
.mega-footer a:hover { text-decoration:underline; }
.nav-links a.active { color:var(--teal); }
/* Mobile overlay — hidden on desktop */
.mobile-nav-overlay { display:none; }
/* Hamburger button — hidden on desktop */
.nav-hamburger {
  display:none; background:none; border:none; cursor:pointer;
  flex-direction:column; gap:5px; padding:8px;
}
.nav-hamburger span {
  display:block; width:22px; height:2px; background:var(--navy);
  transition:transform .3s, opacity .3s;
}

@media (max-width:1024px) {
  .nav-links { display:none; }
  .mega-panel { display:none !important; }
  .nav-hamburger { display:flex; }
  .nav-cta { display:none; }
  .mobile-menu-open #main-nav { position:relative; z-index:101; }
  .mobile-menu-open .nav-hamburger { z-index:102; }
  .mobile-menu-open .nav-hamburger span:nth-child(1) { transform:rotate(45deg) translate(5px,5px); }
  .mobile-menu-open .nav-hamburger span:nth-child(2) { opacity:0; }
  .mobile-menu-open .nav-hamburger span:nth-child(3) { transform:rotate(-45deg) translate(5px,-5px); }

  /* Mobile overlay — wraps all panels in a scrollable full-screen menu */
  .mobile-nav-overlay {
    display:none; position:fixed; top:0; left:0; right:0; bottom:0;
    background:#fff; z-index:98; overflow-y:auto; padding:70px 20px 40px;
  }
  .mobile-menu-open .mobile-nav-overlay { display:block; }

  /* Mobile nav section titles (accordion headers) */
  .mobile-nav-overlay .mob-section {
    border-bottom:1px solid #f3f4f6;
  }
  .mobile-nav-overlay .mob-section-title {
    display:flex; justify-content:space-between; align-items:center;
    padding:14px 0; font-size:15px; font-weight:600; color:var(--navy);
    cursor:pointer; -webkit-tap-highlight-color:transparent;
  }
  .mobile-nav-overlay .mob-section-title::after {
    content:''; display:block; width:7px; height:7px;
    border-right:2px solid var(--muted); border-bottom:2px solid var(--muted);
    transform:rotate(45deg); transition:transform .2s; flex-shrink:0;
  }
  .mobile-nav-overlay .mob-section.open .mob-section-title { color:var(--teal); }
  .mobile-nav-overlay .mob-section.open .mob-section-title::after {
    transform:rotate(-135deg); border-color:var(--teal);
  }
  .mobile-nav-overlay .mob-section-body {
    display:none; padding:0 0 16px;
  }
  .mobile-nav-overlay .mob-section.open .mob-section-body { display:block; }

  /* Panel styles inside mobile overlay */
  .mobile-nav-overlay .mega-panel {
    display:block !important; position:static; top:auto;
    box-shadow:none; border-top:none; padding:0;
  }
  .mobile-nav-overlay .mega-section-title { font-size:10px; margin-bottom:10px; margin-top:8px; }
  .mobile-nav-overlay .mega-card { padding:12px; }
  .mobile-nav-overlay .mega-card-icon { margin-bottom:4px; }
  .mobile-nav-overlay .mega-card-icon svg { width:16px; height:16px; }
  .mobile-nav-overlay .mega-card-name { font-size:13px; }
  .mobile-nav-overlay .mega-card-desc { font-size:11px; color:#9ca3af; line-height:1.4; }
  .mobile-nav-overlay .mega-footer { margin-top:12px; padding-top:10px; }

  /* Responsive grids */
  .mobile-nav-overlay [style*="grid-template-columns:repeat(3"] { grid-template-columns:1fr !important; }
  .mobile-nav-overlay [style*="grid-template-columns:repeat(4"] { grid-template-columns:1fr 1fr !important; }
  .mobile-nav-overlay [style*="grid-template-columns:repeat(5"] { grid-template-columns:1fr 1fr !important; }
  .mobile-nav-overlay [style*="grid-template-columns:repeat(6"] { grid-template-columns:1fr 1fr !important; }
  .mobile-nav-overlay [style*="margin-bottom:32px"] { margin-bottom:12px !important; }
  .mobile-nav-overlay [style*="gap:16px"] { gap:8px !important; }

  /* Mobile CTA at bottom */
  .mobile-nav-overlay .mob-cta {
    display:block; text-align:center; margin-top:24px;
    padding:14px 28px; background:var(--navy); color:#fff;
    font-size:13px; font-weight:700; letter-spacing:.07em; text-transform:uppercase;
    text-decoration:none;
  }
}

/* ─── HERO BANNER ─────────────────────────────── */
.hero-banner {
  background:#f7f7f8;
  width:100%;
  padding:72px 72px 64px;
}
.hero-banner-inner {
  max-width:1280px;
  margin:0 auto;
}
.hero-banner-h1 {
  font-size:clamp(2.5rem, 5vw, 4.2rem);
  font-weight:800;
  color:#1a2857;
  line-height:1.15;
  letter-spacing:-0.02em;
  margin:0;
}
@media(max-width:768px) {
  .hero-banner { padding:48px 20px 40px; }
  .hero-banner-h1 { font-size:2rem; }
}

/* ─── HERO ───────────────────────────────────── */
.hero {
  padding:64px 72px 56px;
  background:var(--bg2);
  display:grid; grid-template-columns:54% 46%; gap:56px; align-items:center;
  border-bottom:1px solid var(--border);
}
.hero-badge {
  display:inline-flex; align-items:center; gap:8px;
  font-size:11px; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  color:var(--teal); background:rgba(0,150,199,.08); padding:6px 14px;
  margin-bottom:28px;
}
.hero h1 {
  font-size:clamp(36px,4.4vw,62px); font-weight:700;
  line-height:1.08; letter-spacing:-.03em; margin-bottom:32px;
}
.h1-teal  { color:var(--teal); }
.h1-orange{ color:var(--orange); }
.hero-subtitle {
  font-size:15px; color:var(--muted); line-height:1.8;
  max-width:560px; margin-bottom:32px;
}
.hero-checks {
  display:grid; grid-template-columns:1fr 1fr;
  gap:16px 40px; margin-bottom:36px; max-width:520px;
}
.hero-check {
  display:flex; align-items:center; gap:10px;
  font-size:15px; font-weight:600; color:var(--navy);
}
.hero-dot {
  width:8px; height:8px; border-radius:50%; flex-shrink:0;
}
@media(max-width:640px) {
  .hero-checks { grid-template-columns:1fr; gap:12px; }
}

/* Data bullets */
.data-list { display:flex; flex-direction:column; gap:14px; margin-bottom:44px; }
.data-item {
  display:flex; align-items:flex-start; gap:14px;
  font-size:15px; color:var(--muted); line-height:1.8;
  padding-left:0;
}
.data-item .pill {
  flex-shrink:0; margin-top:3px;
  font-size:10px; font-weight:700; letter-spacing:.06em;
  background:var(--bg3); color:var(--navy);
  padding:2px 8px; white-space:nowrap;
  min-width:72px; text-align:center;
}
.data-item strong { color:var(--navy); }

.hero-btns { display:flex; gap:12px; }
.btn-dark {
  padding:14px 36px; background:var(--navy); color:#fff;
  font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  text-decoration:none; transition:background .2s; display:inline-block;
}
.btn-dark:hover { background:var(--teal); }
.btn-ghost {
  padding:13px 36px; background:transparent; color:var(--navy);
  font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase;
  border:1px solid rgba(26,40,87,.5); text-decoration:none;
  transition:border-color .2s; display:inline-block;
}
.btn-ghost:hover { border-color:var(--navy); }

/* Hero stats grid */
.hero-stats { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.stat-card { padding:26px 22px; }
.stat-card.c1 { background:rgba(0,150,199,.07);   border-left:3px solid var(--teal); }
.stat-card.c2 { background:rgba(247,127,0,.07);   border-left:3px solid var(--orange); }
.stat-card.c3 { background:rgba(74,170,87,.07);   border-left:3px solid var(--green); }
.stat-card.c4 { background:rgba(21,101,199,.07);  border-left:3px solid var(--blue); }
.stat-num { font-size:38px; font-weight:700; line-height:1; margin-bottom:6px; }
.stat-card.c1 .stat-num { color:var(--teal); }
.stat-card.c2 .stat-num { color:var(--orange); }
.stat-card.c3 .stat-num { color:var(--green); }
.stat-card.c4 .stat-num { color:var(--blue); }
.stat-label { font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--navy); margin-bottom:4px; }
.stat-desc  { font-size:11px; color:var(--muted); line-height:1.5; }

/* ─── MARQUEE ────────────────────────────────── */
/* ─── GET IN TOUCH STRIP ─────────────────────── */
.git-strip {
  background:linear-gradient(135deg,#0096c7 -20%,#1a2857 40%,#0d1540 100%);
  padding:40px 72px;
  position:relative;
  overflow:hidden;
}
.git-strip::before {
  content:''; position:absolute; top:0; left:0; right:0; bottom:0;
  background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);
  background-size:60px 60px; pointer-events:none;
}
.git-strip::after {
  content:''; position:absolute; top:-60px; right:-40px;
  width:250px; height:250px;
  border:1.5px solid rgba(0,150,199,.15);
  border-radius:40% 60% 70% 30%/40% 50% 60% 50%;
  pointer-events:none; animation:sectionMorph 18s ease-in-out infinite;
}
.git-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
  position:relative;
  z-index:1;
}
.git-text h3 {
  font-size:22px;
  font-weight:700;
  color:#fff;
  letter-spacing:-.02em;
  margin-bottom:6px;
}
.git-text p {
  font-size:14px;
  color:rgba(255,255,255,.5);
  line-height:1.6;
  margin:0;
}
.git-actions {
  display:flex;
  gap:14px;
  flex-shrink:0;
}
.git-btn-primary {
  display:inline-block;
  padding:14px 36px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  text-decoration:none;
  color:#fff;
  background:var(--teal);
  border-radius:2px;
  transition:background .2s;
}
.git-btn-primary:hover { background:#007ba8; }
.git-btn-outline {
  display:inline-block;
  padding:14px 36px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  text-decoration:none;
  color:rgba(255,255,255,.6);
  border:1px solid rgba(255,255,255,.15);
  border-radius:2px;
  transition:all .2s;
}
.git-btn-outline:hover { color:#fff; border-color:rgba(255,255,255,.4); }
@media (max-width:768px) {
  .git-strip { padding:32px 20px; }
  .git-inner { flex-direction:column; text-align:center; gap:24px; }
  .git-actions { justify-content:center; }
}

/* ─── SHARED SECTION ─────────────────────────── */
.section { padding:96px 72px; }
.section.alt { background:var(--bg2); }

.eyebrow {
  font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
  color:var(--teal); margin-bottom:14px; display:flex; align-items:center; gap:10px;
}
.eyebrow::before { content:''; display:block; width:28px; height:2px; background:currentColor; }
.sec-title {
  font-size:clamp(28px,3vw,46px); font-weight:700;
  line-height:1.1; letter-spacing:-.02em; margin-bottom:18px;
}
.hero-title {
  font-size:clamp(28px,3vw,46px); font-weight:800;
  line-height:1.1; letter-spacing:-.02em; color:#1a2857; margin-bottom:16px;
}
.sec-lead { font-size:15px; color:var(--muted); line-height:1.8; max-width:500px; }

.header-row {
  display:flex; justify-content:space-between; align-items:flex-end;
  margin-bottom:56px; flex-wrap:wrap; gap:20px;
}
.sec-link {
  font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:var(--navy); text-decoration:none;
  border-bottom:1px solid rgba(26,40,87,.2); padding-bottom:2px;
  transition:color .2s, border-color .2s; white-space:nowrap;
}
.sec-link:hover { color:var(--teal); border-color:var(--teal); }

/* ─── PRODUCTS ───────────────────────────────── */
.prod-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.prod-card {
  background:var(--bg2); padding:40px 36px;
  border:1px solid var(--border);
  transition:box-shadow .3s, transform .3s; cursor:pointer;
  text-decoration:none; color:inherit; display:block;
}
.prod-card:hover { box-shadow:0 10px 48px rgba(0,0,0,.09); transform:translateY(-3px); }
.prod-stripe { height:4px; margin-bottom:30px; }
.prod-num  { font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin-bottom:8px; }
.prod-name { font-size:22px; font-weight:700; color:var(--navy); margin-bottom:4px; }
.prod-tag  { font-size:11px; color:var(--muted); font-weight:500; margin-bottom:14px; }
.prod-desc { font-size:15px; color:var(--muted); line-height:1.8; margin-bottom:22px; }
.prod-metrics {
  display:flex; gap:24px; margin-bottom:22px;
  padding:16px 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border);
}
.prod-met { display:flex; flex-direction:column; gap:3px; }
.prod-met-val { font-size:16px; font-weight:700; color:var(--navy); }
.prod-met-lbl { font-size:10px; font-weight:600; letter-spacing:.07em; text-transform:uppercase; color:var(--muted); }
.prod-link { font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--navy); text-decoration:none; }

/* ─── SERVICES GRID ───────────────────────────── */
.svc-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.svc-card {
  padding:36px 32px; text-decoration:none; display:flex; flex-direction:column; gap:12px;
  transition:transform .25s, box-shadow .25s; position:relative; overflow:hidden;
}
.svc-card:hover { transform:translateY(-3px); box-shadow:0 12px 48px rgba(0,0,0,.2); }
.svc-card-icon { color:rgba(255,255,255,0.7); }
.svc-card:hover .svc-card-icon { color:#fff; }
.svc-card-title { font-size:18px; font-weight:700; color:#fff; }
.svc-card-desc { font-size:15px; color:#fff; line-height:1.7; flex:1; }
.svc-card-link { font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:rgba(255,255,255,0.6); margin-top:8px; }
.svc-card:hover .svc-card-link { color:#fff; }

/* ─── INDUSTRIES ─────────────────────────────── */
.ind-grid {
  display:grid; grid-template-columns:repeat(5,1fr);
  gap:1px; background:#dde0e8; margin-top:56px;
}
.ind-card {
  background:var(--bg2); padding:36px 26px;
  border-bottom:3px solid transparent;
  transition:border-color .3s, background .3s;
}
.ind-card:hover { background:var(--bg); }
.ind-card:nth-child(1):hover { border-color:var(--teal); }
.ind-card:nth-child(2):hover { border-color:var(--orange); }
.ind-card:nth-child(3):hover { border-color:var(--green); }
.ind-card:nth-child(4):hover { border-color:var(--blue); }
.ind-card:nth-child(5):hover { border-color:var(--navy-mid); }
.ind-big {
  font-size:34px; font-weight:700; line-height:1; margin-bottom:4px;
}
.ind-card:nth-child(1) .ind-big { color:var(--teal); }
.ind-card:nth-child(2) .ind-big { color:var(--orange); }
.ind-card:nth-child(3) .ind-big { color:var(--green); }
.ind-card:nth-child(4) .ind-big { color:var(--blue); }
.ind-card:nth-child(5) .ind-big { color:var(--navy-mid); }
.ind-sub  { font-size:10px; font-weight:600; letter-spacing:.07em; text-transform:uppercase; color:var(--muted); margin-bottom:18px; line-height:1.4; }
.ind-name { font-size:15px; font-weight:700; color:var(--navy); margin-bottom:8px; }
.ind-desc { font-size:15px; color:var(--muted); line-height:1.8; }

/* ─── DATA PROOF BAND ────────────────────────── */
.proof-band {
  background:var(--navy-mid); padding:64px 72px;
  display:grid; grid-template-columns:1fr 3fr; gap:72px; align-items:center;
}
.proof-label {
  font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
  color:rgba(255,255,255,.4); line-height:1.8;
}
.proof-quote {
  font-size:clamp(18px,2.2vw,28px); font-weight:500;
  color:#fff; line-height:1.55; letter-spacing:-.01em;
}
.proof-quote span { color:var(--teal); font-weight:700; }

/* ─── CASES ──────────────────────────────────── */
.cases-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.case-card {
  background:var(--bg2); padding:44px 40px;
  border:1px solid var(--border);
  cursor:pointer; transition:box-shadow .3s;
}
.case-card:hover { box-shadow:0 8px 40px rgba(0,0,0,.08); }
.case-card.feat {
  grid-column:span 2;
  background:var(--navy); color:#fff;
}
.case-ind  { font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--teal); margin-bottom:14px; }
.case-title{ font-size:24px; font-weight:700; line-height:1.25; margin-bottom:16px; letter-spacing:-.01em; color:var(--navy); }
.case-card.feat .case-title { font-size:30px; color:#fff; }
.case-text { font-size:15px; line-height:1.8; color:var(--muted); margin-bottom:26px; }
.case-card.feat .case-text { color:rgba(255,255,255,.6); }
.metrics { display:flex; gap:32px; margin-bottom:26px; padding:16px 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.met-val   { font-size:38px; font-weight:700; color:var(--teal); }
.case-card.feat .met-val { color:var(--teal-lt); }
.met-lbl   { font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }
.case-card.feat .met-lbl { color:rgba(255,255,255,.45); }
.tag {
  display:inline-block; font-size:9px; letter-spacing:.07em; text-transform:uppercase;
  padding:3px 9px; background:var(--bg3); color:var(--muted); margin:2px;
}
.case-card.feat .tag { background:rgba(255,255,255,.1); color:rgba(255,255,255,.55); }
.read-link {
  font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  text-decoration:none; color:var(--navy);
  border-bottom:1px solid rgba(26,40,87,.2); padding-bottom:1px;
  transition:color .2s, border-color .2s; display:inline-block;
}
.case-card.feat .read-link { color:#fff; border-bottom-color:rgba(255,255,255,.3); }
.read-link:hover { color:var(--teal); border-color:var(--teal); }
.case-vis {
  height:268px; background:rgba(0,150,199,.05);
  border:1px solid rgba(255,255,255,.1);
  display:flex; align-items:center; justify-content:center;
  font-size:11px; letter-spacing:.1em; text-transform:uppercase;
  color:rgba(255,255,255,.18); position:relative; overflow:hidden;
}
.vis-ring {
  position:absolute; border-radius:50%;
  border:1px solid rgba(0,150,199,.14);
}

/* ─── PROCESS ────────────────────────────────── */
.proc-grid {
  display:flex; overflow-x:auto; scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  gap:1px; background:#dde0e8; margin-top:52px;
}
.proc-step {
  background:var(--bg2); padding:40px 26px;
  position:relative; transition:background .3s;
  min-width:240px; flex:0 0 calc(100% / 6); scroll-snap-align:start;
}
.proc-step:hover { background:var(--bg); }
.proc-step::after {
  content:''; position:absolute; bottom:0; left:0; right:0;
  height:3px; transform:scaleX(0); transform-origin:left;
  transition:transform .35s;
}
.proc-step:nth-child(1)::after { background:var(--teal); }
.proc-step:nth-child(2)::after { background:var(--orange); }
.proc-step:nth-child(3)::after { background:var(--green); }
.proc-step:nth-child(4)::after { background:var(--blue); }
.proc-step:nth-child(5)::after { background:var(--navy-mid); }
.proc-step:hover::after { transform:scaleX(1); }
.proc-n    { font-size:52px; font-weight:700; line-height:1; margin-bottom:-4px; opacity:.85; color:var(--navy); }
.proc-icon { margin-bottom:12px; }
.proc-title{ font-size:14px; font-weight:700; color:var(--navy); margin-bottom:10px; }
.proc-desc { font-size:15px; color:var(--muted); line-height:1.8; }

/* ─── DESIGN & UX ───────────────────────────── */
.ux-sect { background:#f7f7f8 !important; }
.ux-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:start;
}
.ux-body {
  font-size:15px; color:var(--muted); line-height:1.8; margin-bottom:16px;
}
.ux-body strong { color:var(--navy); }
.ux-quote {
  margin-top:28px; padding:20px 24px;
  border-left:3px solid var(--teal);
  background:rgba(0,150,199,.05);
  font-size:15px; font-style:normal; color:var(--navy);
  line-height:1.6; position:relative;
}
.ux-quote-mark { font-size:48px; line-height:.6; color:var(--teal); opacity:.3; vertical-align:middle; margin-right:4px; }
.ux-quote-attr { margin-top:10px; font-size:11px; font-style:normal; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }
.ux-stat-row { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:#dde0e8; margin-bottom:1px; }
.ux-stat { padding:24px 22px; background:var(--bg2); }
.ux-num { font-size:40px; font-weight:700; line-height:1; margin-bottom:4px; }
.ux-unit { font-size:24px; }
.ux-c1 .ux-num { color:var(--teal); }
.ux-c2 .ux-num { color:var(--orange); }
.ux-c3 .ux-num { color:var(--green); }
.ux-c4 .ux-num { color:var(--blue); }
.ux-lbl { font-size:12px; font-weight:600; color:var(--navy); margin-bottom:3px; line-height:1.35; }
.ux-src { font-size:10px; color:#9ca3af; letter-spacing:.03em; }
.ux-principles { display:flex; flex-direction:column; gap:0; margin-top:1px; background:#dde0e8; gap:1px; }
.ux-principle {
  display:flex; gap:14px; align-items:flex-start;
  padding:18px 22px; background:var(--bg2);
}
.ux-p-dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; margin-top:5px; }
.ux-p-dot.t { background:var(--teal); }
.ux-p-dot.o { background:var(--orange); }
.ux-p-dot.g { background:var(--green); }
.ux-p-title { font-size:13px; font-weight:700; color:var(--navy); margin-bottom:3px; }
.ux-p-desc  { font-size:15px; color:var(--muted); line-height:1.8; }

/* ─── AI SIGNALS ─────────────────────────────── */
.ai-thesis {
  background:var(--navy); color:#fff;
  padding:40px 48px; margin-bottom:16px;
  display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center;
}
.ai-thesis-stat { font-size:72px; font-weight:700; line-height:1; color:var(--teal); }
.ai-thesis-sub  { font-size:11px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.4); margin-top:6px; }
.ai-thesis-body { font-size:15px; color:rgba(255,255,255,.7); line-height:1.8; }
.ai-thesis-body strong { color:#fff; }
.ai-signals-grid {
  display:grid; grid-template-columns:repeat(5,1fr); gap:1px;
  background:#dde0e8;
}
.ai-signal {
  background:var(--bg2); padding:32px 24px;
  border-bottom:3px solid transparent;
  transition:border-color .3s, background .3s;
}
.ai-signal:hover { background:var(--bg); }
.ai-signal:nth-child(1) { border-color:var(--teal); }
.ai-signal:nth-child(2) { border-color:var(--orange); }
.ai-signal:nth-child(3) { border-color:var(--green); }
.ai-signal:nth-child(4) { border-color:var(--blue); }
.ai-signal:nth-child(5) { border-color:var(--green); }
.sig-icon { margin-bottom:14px; color:var(--navy); }
.ai-signal:nth-child(1) .sig-icon { color:var(--teal); }
.ai-signal:nth-child(2) .sig-icon { color:var(--orange); }
.ai-signal:nth-child(3) .sig-icon { color:var(--green); }
.ai-signal:nth-child(4) .sig-icon { color:var(--blue); }
.ai-signal:nth-child(5) .sig-icon { color:var(--navy-mid); }
.ai-signal:nth-child(6) .sig-icon { color:var(--teal); }
.ai-signal:nth-child(7) .sig-icon { color:var(--orange); }
.ai-sig-industry {
  font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  margin-bottom:18px;
}
.ai-signal:nth-child(1) .ai-sig-industry { color:var(--teal); }
.ai-signal:nth-child(2) .ai-sig-industry { color:var(--orange); }
.ai-signal:nth-child(3) .ai-sig-industry { color:var(--green); }
.ai-signal:nth-child(4) .ai-sig-industry { color:var(--blue); }
.ai-signal:nth-child(5) .ai-sig-industry { color:var(--green); }
.ai-sig-num  { font-size:38px; font-weight:700; line-height:1; color:var(--navy); margin-bottom:4px; }
.ai-sig-src  { font-size:10px; color:#9ca3af; letter-spacing:.04em; margin-bottom:14px; }
.ai-sig-text { font-size:15px; color:var(--muted); line-height:1.8; margin-bottom:14px; }
.ai-sig-link {
  font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:var(--navy); text-decoration:none;
  border-bottom:1px solid rgba(26,40,87,.15); padding-bottom:1px;
  transition:color .2s, border-color .2s;
}
.ai-sig-link:hover { color:var(--teal); border-color:var(--teal); }
.tech-grid {
  display:flex; flex-wrap:nowrap;
  overflow-x:auto; gap:1px;
  grid-template-columns:unset;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  scrollbar-color:var(--teal) transparent;
  padding-bottom:6px;
}
.tech-grid .ai-signal { min-width:260px; flex:0 0 260px; scroll-snap-align:start; }
.tech-grid .ai-signal:nth-child(1) { border-color:var(--teal); }
.tech-grid .ai-signal:nth-child(2) { border-color:var(--orange); }
.tech-grid .ai-signal:nth-child(3) { border-color:var(--green); }
.tech-grid .ai-signal:nth-child(4) { border-color:var(--blue); }
.tech-grid .ai-signal:nth-child(5) { border-color:var(--navy-mid); }
.tech-grid .ai-signal:nth-child(6) { border-color:var(--teal); }
.tech-grid .ai-signal:nth-child(7) { border-color:var(--orange); }
.tech-grid .ai-signal:nth-child(1) .ai-sig-industry { color:var(--teal); }
.tech-grid .ai-signal:nth-child(2) .ai-sig-industry { color:var(--orange); }
.tech-grid .ai-signal:nth-child(3) .ai-sig-industry { color:var(--green); }
.tech-grid .ai-signal:nth-child(4) .ai-sig-industry { color:var(--blue); }
.tech-grid .ai-signal:nth-child(5) .ai-sig-industry { color:var(--navy-mid); }
.tech-grid .ai-signal:nth-child(6) .ai-sig-industry { color:var(--teal); }
.tech-grid .ai-signal:nth-child(7) .ai-sig-industry { color:var(--orange); }

/* ─── INLINE CTA STRIP ──────────────────────── */
.inline-cta-strip {
  padding:32px 72px;
  background:linear-gradient(135deg,#0096c7 -20%,#1a2857 40%,#0d1540 100%);
  border:none;
  position:relative;
  overflow:hidden;
}
.inline-cta-strip::before {
  content:''; position:absolute; top:0; left:0; right:0; bottom:0;
  background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);
  background-size:60px 60px; pointer-events:none;
}
.inline-cta-inner { position:relative; z-index:1;
}
.inline-cta-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
  max-width:1200px;
  margin:0 auto;
}
.inline-cta-inner > a { flex-shrink:0; }
.inline-cta-text {
  font-size:18px;
  font-weight:600;
  color:#fff;
  margin:0;
}
.inline-cta-sub {
  font-size:14px;
  color:rgba(255,255,255,.5);
  margin:6px 0 0;
  line-height:1.5;
}
/* Override any inline color on text inside CTA strips (DB body content uses grey) */
.inline-cta-strip p,
.inline-cta-strip div {
  color:rgba(255,255,255,.75) !important;
}
.inline-cta-strip .inline-cta-text {
  color:#fff !important;
}
.inline-cta-link {
  display:inline-block;
  padding:14px 36px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  background:var(--teal);
  color:#fff;
  text-decoration:none;
  transition:background .25s;
  white-space:nowrap;
}
.inline-cta-link:hover { background:#007ba8; color:#fff; }
@media(max-width:768px) {
  .inline-cta-strip { padding:20px 20px; }
  .inline-cta-inner { flex-direction:column; gap:12px; text-align:center; }
  .inline-cta-text { font-size:16px; }
}

/* ─── TECH STACK ─────────────────────────────── */
.tech-stack { background:#f7f7f8; padding:72px 72px 80px; position:relative; overflow:hidden; }
.tech-stack-inner { position:relative; z-index:1; max-width:1200px; margin:0 auto; }
.tech-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:32px; margin-top:40px; }
.tech-cat-label { font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--navy); margin-bottom:16px; padding-bottom:10px; border-bottom:2px solid var(--teal); }
.tech-item { display:flex; align-items:center; gap:10px; padding:8px 0; transition:transform .2s; }
.tech-item:hover { transform:translateX(4px); }
.tech-item svg { flex-shrink:0; }
.tech-item-name { font-size:13px; font-weight:600; color:#374151; }
.tech-bottom { text-align:center; font-size:15px; color:#374151; margin-top:40px; line-height:1.7; max-width:560px; margin-left:auto; margin-right:auto; }

/* ─── CTA BAND ───────────────────────────────── */
.cta-band {
  padding:64px 72px; color:#fff;
  display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center;
  background:linear-gradient(135deg,#0096c7 -20%,#1a2857 40%,#0d1540 100%);
  position:relative; overflow:hidden;
}
/* Grid pattern */
.cta-band::before {
  content:''; position:absolute; top:0; left:0; right:0; bottom:0;
  background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);
  background-size:60px 60px; pointer-events:none;
}
/* Morphing shape */
.cta-band::after {
  content:''; position:absolute; top:-80px; right:-60px;
  width:400px; height:400px;
  border:1.5px solid rgba(0,150,199,.2);
  border-radius:40% 60% 70% 30%/40% 50% 60% 50%;
  pointer-events:none; animation:sectionMorph 20s ease-in-out infinite;
}
.cta-band > * { position:relative; z-index:1; }
.cta-band h2 {
  font-size:clamp(28px,3.2vw,42px); font-weight:700;
  line-height:1.12; letter-spacing:-.02em;
}
.cta-band h2 span { color:#0096c7; }
.cta-sub {
  font-size:16px; color:rgba(255,255,255,.6);
  line-height:1.8; margin-bottom:36px;
}
.cta-row { display:flex; }
.cta-inp {
  flex:1; padding:14px 18px;
  background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.15);
  border-right:none; color:#fff;
  font-family:'Space Grotesk',sans-serif; font-size:14px; outline:none;
}
.cta-inp::placeholder { color:rgba(255,255,255,.3); }
.cta-btn {
  padding:14px 32px; background:var(--teal); color:#fff;
  font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  border:none; cursor:pointer; white-space:nowrap;
  font-family:'Space Grotesk',sans-serif; transition:background .2s;
}
.cta-btn:hover { background:#007aaa; }
.cta-note { font-size:12px; color:rgba(255,255,255,.3); margin-top:10px; }

/* ─── FOOTER ─────────────────────────────────── */
footer { padding:60px 72px 36px; background:#ffffff; border-top:1px solid var(--border); }
.foot-top { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:56px; margin-bottom:52px; }
.foot-brand { display:flex; align-items:center; gap:9px; margin-bottom:14px; }
.foot-brand-text { font-size:24px; font-weight:700; color:var(--navy); letter-spacing:-.3px; }
.foot-tagline { font-size:13px; color:var(--muted); line-height:1.7; max-width:240px; margin-bottom:0; }
.foot-col h5 { font-size:11px; letter-spacing:.12em; text-transform:uppercase; font-weight:700; margin-bottom:16px; color:var(--navy); }
.foot-col ul { list-style:none; }
.foot-col li { margin-bottom:9px; }
.foot-col a { font-size:13px; color:var(--muted); text-decoration:none; transition:color .2s; }
.foot-col a:hover { color:var(--teal); }
.foot-bottom {
  display:flex; justify-content:space-between; padding-top:24px;
  border-top:1px solid var(--border); font-size:11px; color:#9ca3af; letter-spacing:.04em;
}

/* ─── AI DIFFERENTIATOR ──────────────────────── */
.ai-sect { background:var(--navy-deep) !important; color:#fff; }
.ai-sect .eyebrow { color:var(--orange); }
.ai-sect .sec-title { color:#fff; }
.ai-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:72px;
  align-items:start; margin-top:52px;
}
.ai-body {
  font-size:15px; color:rgba(255,255,255,.65); line-height:1.8;
}
.ai-body p + p { margin-top:20px; }
.ai-body strong { color:#fff; font-weight:700; }
.ai-geo {
  margin-top:32px; padding-top:24px;
  border-top:1px solid rgba(255,255,255,.1);
}
.ai-geo-label {
  font-size:11px; letter-spacing:.1em; text-transform:uppercase;
  color:rgba(255,255,255,.3); margin-bottom:8px;
}
.ai-geo-text { font-size:15px; color:rgba(255,255,255,.5); line-height:1.8; }
.ai-cards { display:flex; flex-direction:column; gap:14px; }
.ai-card {
  padding:24px 26px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-left:3px solid rgba(255,255,255,.1);
  transition:background .3s;
}
.ai-card:hover { background:rgba(255,255,255,.07); }
.ai-card:nth-child(1) { border-left-color:var(--teal); }
.ai-card:nth-child(2) { border-left-color:var(--orange); }
.ai-card:nth-child(3) { border-left-color:var(--green); }
.ai-generic {
  font-size:11px; font-weight:600; color:rgba(255,255,255,.28);
  margin-bottom:8px; text-decoration:line-through;
  text-decoration-color:rgba(255,255,255,.15);
}
.ai-arrow { font-size:13px; color:rgba(255,255,255,.18); margin-bottom:8px; }
.ai-domain { font-size:15px; font-weight:500; color:#fff; line-height:1.8; }
.ai-accent { font-weight:700; }
.ai-card:nth-child(1) .ai-accent { color:var(--teal); }
.ai-card:nth-child(2) .ai-accent { color:var(--orange); }
.ai-card:nth-child(3) .ai-accent { color:var(--green); }

/* ─── INSIGHTS ───────────────────────────────── */
.ins-grid {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:16px; margin-top:52px;
}
.ins-card {
  background:var(--bg2); padding:36px 32px;
  border:1px solid var(--border);
  cursor:pointer; transition:box-shadow .3s, transform .3s;
}
.ins-card:hover { box-shadow:0 8px 40px rgba(0,0,0,.08); transform:translateY(-2px); }
.ins-cat {
  font-size:10px; font-weight:700; letter-spacing:.12em;
  text-transform:uppercase; margin-bottom:14px;
}
.ins-title {
  font-size:17px; font-weight:700; line-height:1.35;
  letter-spacing:-.01em; color:var(--navy); margin-bottom:12px;
}
.ins-text {
  font-size:15px; color:var(--muted); line-height:1.8; margin-bottom:20px;
}
.ins-meta {
  font-size:11px; color:#9ca3af;
  display:flex; gap:10px; align-items:center; flex-wrap:wrap;
}
.ins-dot {
  width:3px; height:3px; border-radius:50%; background:#d1d5db; flex-shrink:0;
}

/* ─── ABOUT ──────────────────────────────────── */
.about-sect {
  background: var(--bg3);
}
.about-sect .sec-title { color: var(--navy); }
.about-sect .about-formerly { color: var(--muted); }
.about-sect .about-formerly span { color: var(--navy); border-bottom-color: rgba(26,40,87,.2); }
.about-sect .about-body { color: var(--muted); }
.about-sect .about-stats { background: #dde0e8; }
.about-sect .about-stat { background: var(--bg2); }
.about-sect .about-stat-lbl { color: var(--muted); }
.about-sect .about-val { background: var(--bg2); color: var(--navy); }
.about-sect .eyebrow { color: var(--teal); }
.about-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start;
}
.about-formerly {
  font-size:12px; font-weight:500; color:var(--muted);
  margin-bottom:24px; letter-spacing:.01em;
}
.about-formerly span {
  color:var(--navy); font-weight:600;
  border-bottom:1px dashed rgba(26,40,87,.25); padding-bottom:1px;
}
.about-body {
  font-size:15px; color:var(--muted); line-height:1.8; margin-bottom:16px;
}
.about-stats {
  display:grid; grid-template-columns:1fr 1fr; gap:1px;
  background:#dde0e8; margin-bottom:16px;
}
.about-stat {
  background:var(--bg2); padding:28px 24px;
}
.about-stat-num {
  font-size:36px; font-weight:700; color:var(--navy);
  line-height:1; margin-bottom:6px;
}
.about-stat:nth-child(1) .about-stat-num { color:var(--teal); }
.about-stat:nth-child(2) .about-stat-num { color:var(--orange); }
.about-stat:nth-child(3) .about-stat-num { color:var(--green); }
.about-stat:nth-child(4) .about-stat-num { color:var(--blue); }
.about-stat-lbl {
  font-size:11px; font-weight:600; letter-spacing:.06em;
  text-transform:uppercase; color:var(--muted);
}
.about-values {
  display:flex; flex-wrap:wrap; gap:8px; padding-top:16px;
}
.about-val {
  display:flex; align-items:center; gap:8px;
  font-size:12px; font-weight:600; letter-spacing:.06em; text-transform:uppercase;
  color:var(--navy); background:var(--bg3); padding:7px 14px;
}
.about-val-dot {
  width:6px; height:6px; border-radius:50%; flex-shrink:0;
}
.about-val-dot.t { background:var(--teal); }
.about-val-dot.o { background:var(--orange); }
.about-val-dot.g { background:var(--green); }
.about-val-dot.b { background:var(--blue); }

/* ─── RESPONSIVE ─────────────────────────────── */
@media (max-width:1100px) {
  nav, .hero, .section, .proof-band, .cta-band, .tech-stack, footer { padding-left:36px; padding-right:36px; }
  .hero { grid-template-columns:1fr; gap:48px; }
  .cta-band { grid-template-columns:1fr; gap:40px; }
  .tech-grid { grid-template-columns:repeat(3,1fr); gap:24px; }
  .ind-grid { grid-template-columns:repeat(3,1fr); }
  .proof-band { grid-template-columns:1fr; gap:28px; }
  .ux-grid  { grid-template-columns:1fr; gap:48px; }
  .ai-grid  { grid-template-columns:1fr; gap:48px; }
  .ai-signals-grid { grid-template-columns:repeat(2,1fr); }
  .ai-thesis { grid-template-columns:1fr; gap:28px; }
  .about-grid { grid-template-columns:1fr; gap:48px; }
}
@media (max-width:768px) {
  :root { --muted:#4b5563; }
  .section, .platform-section, .features-section, .ecosystem-section, .problem-section, .git-strip, .cs-cta-section, footer { overflow-x:hidden; }
  nav { padding:14px 20px; }
  .nav-links { display:none; }
  .hero, .section, .proof-band, .cta-band, .tech-stack, footer { padding-left:20px; padding-right:20px; }
  .tech-grid { grid-template-columns:repeat(2,1fr); gap:20px; }
  .tech-stack { padding:48px 20px 56px; }
  .hero { padding-top:60px; padding-bottom:60px; }
  .header-row { margin-bottom:32px; }
  .proc-phase-grid { grid-template-columns:1fr !important; gap:16px !important; }
  .proc-phase-grid > div:nth-child(2) { margin-top:8px; overflow:hidden; word-wrap:break-word; }
  .proc-phase-grid p { font-size:14px !important; }
  .proc-output { font-size:14px !important; word-wrap:break-word; }
  .proc-sub-grid {
    display:flex !important; grid-template-columns:none !important;
    overflow-x:auto; scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch; gap:12px;
    padding-bottom:8px;
  }
  .proc-sub-grid .proc-sub-card {
    min-width:75vw !important; width:75vw !important;
    scroll-snap-align:start; flex-shrink:0 !important;
    box-sizing:border-box;
  }
  .proc-roadmap { overflow:visible; }
  .proc-roadmap > div:nth-child(2) { min-width:auto; }
  .proc-roadmap > div:last-child { min-width:auto; }
  .header-row .sec-link,
  .header-row .read-link { margin-left:auto; }
  .prod-grid {
    display:flex !important; grid-template-columns:none !important;
    overflow-x:auto; scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch; gap:12px;
    padding-bottom:8px;
  }
  .prod-grid .prod-card {
    min-width:75vw !important; width:75vw !important;
    scroll-snap-align:start; flex-shrink:0 !important;
    box-sizing:border-box;
  }
  .cases-grid {
    display:flex !important; grid-template-columns:none !important;
    overflow-x:auto; scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch; gap:12px;
    padding-bottom:8px;
  }
  .cases-grid .case-card {
    min-width:75vw !important; width:75vw !important;
    scroll-snap-align:start; flex-shrink:0 !important;
    box-sizing:border-box;
  }
  .cases-grid .case-card.feat {
    grid-column:unset;
  }
  .svc-grid {
    display:flex !important; grid-template-columns:none !important;
    overflow-x:auto; scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch; gap:12px;
    padding-bottom:8px;
  }
  .svc-grid .svc-card {
    min-width:75vw !important; width:75vw !important;
    scroll-snap-align:start; flex-shrink:0 !important;
    box-sizing:border-box;
    padding:32px 28px;
  }
  .svc-grid .svc-card-title { font-size:20px; }
  .case-card.feat { grid-column:span 1; grid-template-columns:1fr; }
  .proc-grid {
    margin-top:32px;
  }
  .proc-step {
    min-width:260px; flex:0 0 80%;
  }
  .proc-step {
    min-width:75vw !important; width:75vw !important;
    scroll-snap-align:start; flex-shrink:0 !important;
    box-sizing:border-box;
  }
  .hero-stats {
    display:flex !important; grid-template-columns:none !important;
    overflow-x:auto; scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch; gap:8px;
  }
  .hero-stats .stat-card {
    min-width:70vw !important; width:70vw !important;
    scroll-snap-align:start; flex-shrink:0 !important;
    box-sizing:border-box;
  }
  .ai-signals-grid:not(.tech-grid) {
    display:flex !important; grid-template-columns:none !important;
    overflow-x:auto; scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch; gap:1px; background:#dde0e8;
    margin-top:32px;
  }
  .ai-signals-grid:not(.tech-grid) .ai-signal {
    min-width:75vw !important; width:75vw !important;
    scroll-snap-align:start; flex-shrink:0 !important;
    box-sizing:border-box;
  }
  .ins-grid {
    display:flex !important; grid-template-columns:none !important;
    overflow-x:auto; scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch; gap:12px;
    padding-bottom:8px;
  }
  .ins-grid .ins-card {
    min-width:75vw !important; width:75vw !important;
    scroll-snap-align:start; flex-shrink:0 !important;
    box-sizing:border-box;
  }
  .foot-top { grid-template-columns:1fr 1fr; gap:36px; }
}


/* ═══════════════════════════════════════════════════════
   CASE STUDIES — Shared
═══════════════════════════════════════════════════════ */

/* Breadcrumb */
.breadcrumb {
  padding:16px 72px;
  background:#fff; border-bottom:1px solid rgba(0,0,0,.08);
  display:flex; align-items:center; gap:10px;
  font-size:12px; color:#6b7280;
}
.breadcrumb a { color:#6b7280; text-decoration:none; transition:color .2s; }
.breadcrumb a:hover { color:#0096c7; }
.breadcrumb-sep { opacity:.4; }
.breadcrumb-cur { color:#1a2857; font-weight:600; }

/* Case study hero */
.cs-hero {
  background:#fff; padding:80px 72px 0;
  border-bottom:1px solid rgba(0,0,0,.08); overflow:hidden;
}
.hero-top {
  display:grid; grid-template-columns:58% 42%; gap:72px;
  align-items:start; padding-bottom:64px;
}
.hero-eyebrow { display:flex; align-items:center; gap:10px; margin-bottom:24px; }
.eyebrow-pill {
  font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  padding:5px 14px; color:#0096c7; background:rgba(0,150,199,.08);
}
.eyebrow-pill.orange { color:#f77f00; background:rgba(247,127,0,.08); }
.eyebrow-sep { width:24px; height:1px; background:rgba(0,0,0,.08); }
.eyebrow-text { font-size:11px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:#6b7280; }
.cs-hero h1 {
  font-size:clamp(2.5rem,5vw,4.2rem); font-weight:800;
  line-height:1.08; letter-spacing:-.03em; color:#1a2857; margin-bottom:8px;
}
.hero-sub-name { font-size:16px; font-weight:500; color:#6b7280; letter-spacing:.02em; margin-bottom:28px; }
.hero-tagline {
  font-size:22px; font-weight:600; line-height:1.45; color:#1a2857;
  margin-top:24px; margin-bottom:32px; border-left:3px solid #0096c7; padding-left:20px;
}
.hero-tagline.orange { border-left-color:#f77f00; }
.hero-tagline em, .hero-tagline span { color:#1a2857 !important; font-style:normal; }
.hero-desc { font-size:15px; color:#6b7280; line-height:1.85; margin-bottom:40px; max-width:520px; }
.hero-ctas { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:0; }
.btn-cs-primary {
  padding:14px 36px; background:#1a2857; color:#fff;
  font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  text-decoration:none; transition:background .2s; display:inline-block;
}
.btn-cs-primary:hover { background:#0096c7; }
.btn-cs-outline {
  padding:14px 36px; background:transparent; color:#1a2857;
  font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase;
  border:1px solid rgba(26,40,87,.5); text-decoration:none; transition:all .2s; display:inline-block;
}
.btn-cs-outline:hover { border-color:#1a2857; }

/* Hero meta card */
.hero-meta {
  background:#eff0f2; padding:40px 36px;
  display:flex; flex-direction:column; gap:28px; margin-top:8px;
}
.meta-icon { color:var(--muted); opacity:.5; display:inline-block; vertical-align:middle; margin-right:6px; }
.meta-row { border-bottom:1px solid rgba(0,0,0,.08); padding-bottom:24px; }
.meta-row:last-child { border-bottom:none; padding-bottom:0; }
.meta-label {
  font-size:10px; font-weight:700; letter-spacing:.12em;
  text-transform:uppercase; color:#6b7280; margin-bottom:6px;
  display:inline-block; vertical-align:middle;
}
.meta-val { font-size:15px; font-weight:600; color:#1a2857; line-height:1.5; }
.meta-val a { color:#0096c7; text-decoration:none; }
.meta-val a:hover { text-decoration:underline; }
.meta-val a.orange { color:#f77f00; }

/* Metrics strip */
.metrics-strip {
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:1px; background:#dde0e8; border-top:1px solid rgba(0,0,0,.08);
}
.ms-item { background:#fff; padding:32px 28px; }
.ms-num { font-size:40px; font-weight:700; line-height:1; margin-bottom:6px; }
.ms-item:nth-child(1) .ms-num { color:#f77f00; }
.ms-item:nth-child(2) .ms-num { color:#0096c7; }
.ms-item:nth-child(3) .ms-num { color:#4aaa57; }
.ms-item:nth-child(4) .ms-num { color:#1565c7; }
.ms-label { font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#1a2857; margin-bottom:3px; }
.ms-desc { font-size:13px; color:#6b7280; line-height:1.5; }

/* Pipeline strip (LeadRegister) */
.pipeline-strip { background:#eff0f2; border-top:1px solid rgba(0,0,0,.08); padding:32px 72px; }
.pipeline-label { font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#6b7280; margin-bottom:20px; }
.pipeline { display:flex; align-items:center; }
.pipe-stage { flex:1; text-align:center; position:relative; }
.pipe-stage::after { content:'→'; position:absolute; right:-10px; top:50%; transform:translateY(-50%); font-size:16px; color:rgba(26,40,87,.2); z-index:1; }
.pipe-stage:last-child::after { display:none; }
.pipe-dot { width:10px; height:10px; border-radius:50%; margin:0 auto 8px; }
.pipe-stage:nth-child(1) .pipe-dot { background:#6b7280; }
.pipe-stage:nth-child(2) .pipe-dot { background:#0096c7; }
.pipe-stage:nth-child(3) .pipe-dot { background:#1565c7; }
.pipe-stage:nth-child(4) .pipe-dot { background:#f77f00; }
.pipe-stage:nth-child(5) .pipe-dot { background:#4aaa57; }
.pipe-stage:nth-child(6) .pipe-dot { background:#e5e7eb; border:2px solid #d1d5db; }
.pipe-name { font-size:11px; font-weight:600; letter-spacing:.05em; text-transform:uppercase; color:#1a2857; }
.pipe-stage:nth-child(1) .pipe-name, .pipe-stage:nth-child(6) .pipe-name { color:#9ca3af; }

/* Problem section */
.cs-hero-grid { display:grid; grid-template-columns:1.4fr 1fr; gap:60px; align-items:start; }
.cs-snapshot { background:#f7f7f8; padding:36px 32px; border-top:3px solid #0096c7; }

/* Hero — Center Aligned with Floating Icons */
@keyframes cs-float-drift {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-22px) rotate(6deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes cs-float-drift-alt {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-16px) rotate(-5deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes cs-float-pulse {
  0%, 100% { transform: scale(1); opacity: 0.12; }
  50% { transform: scale(1.2); opacity: 0.2; }
}
.cs-hero-stats-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 8px;
}
.cs-hero-stat-item { text-align: center; }
.cs-hero-stat-num {
  font-size: clamp(32px, 3.5vw, 46px);
  font-weight: 800;
  color: #fff;
  line-height: 1;
  margin-bottom: 8px;
}
.cs-hero-stat-desc {
  font-size: 12px;
  color: rgba(255,255,255,.45);
  line-height: 1.5;
}
.problem-section {
  background:#fff; padding:72px 72px;
  display:grid; grid-template-columns:1fr 1fr; gap:72px;
  align-items:center;
}
.sec-eyebrow {
  font-size:11px; font-weight:700; letter-spacing:.16em;
  text-transform:uppercase; color:#0096c7; margin-bottom:14px; display:block;
}
.sec-eyebrow.orange { color:#f77f00; }
.prob-title { font-size:clamp(28px,3vw,42px); font-weight:700; line-height:1.1; letter-spacing:-.02em; color:#1a2857; margin-bottom:24px; }
.prob-body { font-size:15px; color:#6b7280; line-height:1.85; margin-bottom:20px; }
.prob-body strong { color:#1a2857; }
.prob-right { display:flex; flex-direction:column; gap:16px; }
.prob-stat-card { padding:28px; border-left:3px solid transparent; }
.prob-stat-card:nth-child(1) { background:rgba(247,127,0,.05); border-color:#f77f00; }
.prob-stat-card:nth-child(2) { background:rgba(0,150,199,.05); border-color:#0096c7; }
.prob-stat-card:nth-child(3) { background:rgba(74,170,87,.05); border-color:#4aaa57; }
.psc-icon { margin-bottom:12px; opacity:.7; }
.psc-num { font-size:44px; font-weight:700; line-height:1; margin-bottom:6px; color:#1a2857 !important; }
.psc-label { font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#1a2857; margin-bottom:4px; }
.psc-desc { font-size:15px; color:#6b7280; line-height:1.7; }

/* Insight band */
.insight-band { background:#0096c7; padding:40px 72px; text-align:center; }
.insight-band.orange { background:#f77f00; }
.insight-quote { font-size:clamp(24px,3.5vw,36px); font-weight:700; line-height:1.2; letter-spacing:-.02em; color:#fff; max-width:800px; margin:0 auto 16px; }
.insight-quote span { color:#fff; }
.insight-source { font-size:13px; color:rgba(255,255,255,.6); letter-spacing:.06em; text-transform:uppercase; }

/* How it works */
.how-section { padding:72px 72px; background:#f7f7f8; }
.how-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:48px; background:transparent; }
.how-step {
  background:linear-gradient(160deg, var(--step-color, #0096c7) 0%, #1a2857 120%);
  padding:32px 24px; display:flex; flex-direction:column; min-height:280px;
  position:relative; overflow:hidden; transition:transform .2s, box-shadow .2s;
}
.how-step:hover { transform:translateY(-4px); box-shadow:0 12px 40px rgba(0,0,0,.15); }
.how-step::after {
  content:''; position:absolute; top:-30px; right:-30px;
  width:120px; height:120px; border:1px solid rgba(255,255,255,.08);
  border-radius:50%; pointer-events:none;
}
.how-icon { margin-bottom:16px; color:rgba(255,255,255,.7) !important; }
.how-step:nth-child(1) { --step-color:#0096c7; }
.how-step:nth-child(2) { --step-color:#f77f00; }
.how-step:nth-child(3) { --step-color:#4aaa57; }
.how-step:nth-child(4) { --step-color:#1565c7; }
.how-step:nth-child(5) { --step-color:#1a2857; }
.how-num { font-size:28px; font-weight:700; line-height:1; margin-bottom:auto; color:rgba(255,255,255,.3) !important; }
.how-title { font-size:18px; font-weight:700; color:#fff; margin-bottom:8px; line-height:1.25; }
.how-desc { font-size:14px; color:rgba(255,255,255,.7); line-height:1.8; }
.how-step * { color:#fff !important; }
.how-step .how-desc { color:rgba(255,255,255,.7) !important; }
.how-step .how-num { color:rgba(255,255,255,.3) !important; }
.how-step .how-icon, .how-step .how-icon * { color:rgba(255,255,255,.7) !important; }

/* Features */
.features-section { padding:72px 72px; background:#f7f7f8; }
.features-header { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:end; margin-bottom:48px; }
.feat-lead { font-size:15px; color:#6b7280; line-height:1.85; }
.sec-title { font-size:clamp(28px,3vw,42px); font-weight:700; line-height:1.1; letter-spacing:-.02em; color:#1a2857; margin-top:10px; }
.features-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; background:transparent; }
.feat-card {
  background:linear-gradient(160deg, var(--feat-color, #0096c7) 0%, #1a2857 120%);
  padding:36px 28px; position:relative; overflow:hidden;
  transition:transform .2s, box-shadow .2s;
}
.feat-card:hover { transform:translateY(-4px); box-shadow:0 12px 40px rgba(0,0,0,.15); }
.feat-card::after {
  content:''; position:absolute; top:-30px; right:-30px;
  width:120px; height:120px; border:1px solid rgba(255,255,255,.08);
  border-radius:50%; pointer-events:none;
}
.feat-icon { margin-bottom:14px; color:rgba(255,255,255,.7) !important; }
.feat-card:nth-child(6n+1) { --feat-color:#1565c7; }
.feat-card:nth-child(6n+2) { --feat-color:#f77f00; }
.feat-card:nth-child(6n+3) { --feat-color:#4aaa57; }
.feat-card:nth-child(6n+4) { --feat-color:#0096c7; }
.feat-card:nth-child(6n+5) { --feat-color:#1a2857; }
.feat-card:nth-child(6n+6) { --feat-color:#f77f00; }
.feat-num { font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; margin-bottom:20px; color:rgba(255,255,255,.4) !important; }
.feat-name { font-size:20px; font-weight:700; color:#1a2857; margin-bottom:14px; line-height:1.25; }
.feat-desc { font-size:15px; color:#6b7280; line-height:1.85; margin-bottom:16px; }
.feat-insight { font-size:13px; color:#0096c7; font-weight:600; }
.feat-insight.orange { color:#f77f00; }
/* White text only inside gradient feat-cards */
.feat-card, .feat-card * { color:#fff !important; }
.feat-card .feat-desc { color:rgba(255,255,255,.75) !important; }
.feat-card .feat-num { color:rgba(255,255,255,.4) !important; }
.feat-card svg, .feat-card svg * { color:rgba(255,255,255,.7) !important; stroke:rgba(255,255,255,.7) !important; }

/* Feature Cards — Side-by-Side with Mockups (Approach C) */
.feat-sidebyside { display:flex; flex-direction:column; gap:2px; background:#dde0e8; }
.feat-sb-card { background:#fff; display:grid; grid-template-columns:1fr 1fr; min-height:280px; }
.feat-sb-card:nth-child(even) { direction:rtl; }
.feat-sb-card:nth-child(even) > * { direction:ltr; }
.feat-sb-text { padding:40px; display:flex; flex-direction:column; justify-content:center; }
.feat-sb-visual { background:#1a2857; display:flex; align-items:center; justify-content:center; padding:28px 20px; }
.feat-sb-visual-inner { width:100%; }
.feat-sb-mockup-bar { display:flex; gap:5px; margin-bottom:16px; }
.feat-sb-mockup-dot { width:8px; height:8px; border-radius:50%; }
.feat-sb-mockup-dot-r { background:#ff5f57; }
.feat-sb-mockup-dot-y { background:#ffbd2e; }
.feat-sb-mockup-dot-g { background:#28ca42; }
.feat-sb-tabs { display:flex; gap:8px; margin-bottom:16px; }
.feat-sb-tab { padding:4px 12px; font-size:10px; font-weight:700; letter-spacing:.06em; }
.feat-sb-tab-active { background:#4aaa57; color:#fff; }
.feat-sb-tab-inactive { background:rgba(255,255,255,.08); color:rgba(255,255,255,.5); }
.feat-sb-row { display:flex; align-items:center; gap:10px; padding:8px 0; border-bottom:1px solid rgba(255,255,255,.06); }
.feat-sb-row:last-child { border-bottom:none; }
.feat-sb-badge { padding:3px 10px; font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#fff; }
.feat-sb-muted { font-size:12px; color:rgba(255,255,255,.5); }
.feat-sb-label { font-size:10px; color:rgba(255,255,255,.3); text-transform:uppercase; letter-spacing:.08em; font-weight:700; }
.feat-sb-note { background:rgba(255,255,255,.04); padding:10px 12px; margin-bottom:6px; }
.feat-sb-note-author { font-size:11px; font-weight:700; margin-bottom:3px; }
.feat-sb-note-body { font-size:12px; color:rgba(255,255,255,.6); line-height:1.5; }
.feat-sb-note-reply { margin-left:16px; }
.feat-sb-autolog { font-size:10px; color:rgba(255,255,255,.2); margin-top:10px; }
.feat-sb-stat-grid { display:grid; gap:8px; }
.feat-sb-stat-grid-2 { grid-template-columns:1fr 1fr; }
.feat-sb-stat-grid-3 { grid-template-columns:1fr 1fr 1fr; }
.feat-sb-stat { background:rgba(255,255,255,.04); padding:14px; }
.feat-sb-stat-val { font-size:24px; font-weight:800; }
.feat-sb-stat-sub { font-size:10px; color:rgba(255,255,255,.35); }
.feat-sb-bar-chart { display:flex; align-items:flex-end; gap:3px; height:40px; }
.feat-sb-bar { width:100%; }
.feat-sb-mention { color:#0096c7; font-weight:600; }

/* Exit Intent — Sticky Bottom Bar */
.cs-exit-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: #1a2857;
  z-index: 1000;
  transform: translateY(100%);
  transition: transform 0.4s ease;
  box-shadow: 0 -4px 20px rgba(0,0,0,.15);
}
.cs-exit-bar-visible {
  transform: translateY(0);
}
.cs-exit-bar-inner {
  max-width: 1000px;
  margin: 0 auto;
  padding: 16px 24px;
  display: flex;
  align-items: center;
  gap: 24px;
}
.cs-exit-bar-text {
  flex: 1;
  color: #fff;
  font-size: 14px;
  line-height: 1.5;
}
.cs-exit-bar-text strong {
  display: block;
  font-size: 15px;
  margin-bottom: 2px;
}
.cs-exit-bar-text span {
  color: rgba(255,255,255,.55);
  font-size: 13px;
}
.cs-exit-bar-btn {
  display: inline-block;
  padding: 12px 24px;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  transition: opacity .15s;
}
.cs-exit-bar-btn:hover { opacity: 0.85; }
.cs-exit-bar-close {
  background: none;
  border: none;
  color: rgba(255,255,255,.4);
  font-size: 24px;
  cursor: pointer;
  padding: 0 4px;
  line-height: 1;
}
.cs-exit-bar-close:hover { color: #fff; }

/* Lead Magnet — Popup Modal */
.cs-lead-popup {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  z-index: 2000;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
}
.cs-lead-popup-visible {
  opacity: 1;
  visibility: visible;
}
.cs-lead-popup-overlay {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,.6);
  backdrop-filter: blur(4px);
}
.cs-lead-popup-box {
  position: relative;
  background: #1a2857;
  padding: 48px 40px;
  max-width: 480px;
  width: 90%;
  z-index: 1;
  transform: translateY(20px);
  transition: transform 0.3s;
}
.cs-lead-popup-visible .cs-lead-popup-box {
  transform: translateY(0);
}
.cs-lead-popup-close {
  position: absolute;
  top: 16px; right: 20px;
  background: none;
  border: none;
  color: rgba(255,255,255,.4);
  font-size: 28px;
  cursor: pointer;
  line-height: 1;
}
.cs-lead-popup-close:hover { color: #fff; }
.cs-lead-magnet-form {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.cs-lead-magnet-form input:focus {
  border-color: rgba(255,255,255,.3);
}
.cs-lead-magnet-form button:hover {
  opacity: 0.85;
}

/* Ecosystem */
.ecosystem-section {
  padding:72px 72px; position:relative; overflow:hidden;
  background:linear-gradient(135deg,#0d1540 0%,#1a2857 100%) !important;
}
.ecosystem-section::before {
  content:''; position:absolute; bottom:-80px; left:-80px;
  width:300px; height:300px; border:1px solid rgba(0,150,199,.1);
  border-radius:50%; pointer-events:none; animation:sectionPulse 8s ease-in-out infinite;
}
.ecosystem-section > * { position:relative; z-index:1; }
.ecosystem-section h2 { color:#fff !important; }
.ecosystem-section .sec-eyebrow { color:rgba(255,255,255,.5) !important; }
.ecosystem-section > div > p { color:rgba(255,255,255,.6) !important; }
.eco-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.eco-card {
  padding:24px !important; border:none !important;
  background:rgba(0,150,199,.08) !important;
  border-left:3px solid var(--eco-color, #0096c7) !important;
  box-shadow:none !important;
  transition:background .2s;
}
.eco-card:hover { background:rgba(0,150,199,.12) !important; transform:none; box-shadow:none !important; }
.eco-card:nth-child(1) { --eco-color:#0096c7; background:rgba(0,150,199,.08) !important; }
.eco-card:nth-child(2) { --eco-color:#f77f00; background:rgba(247,127,0,.08) !important; }
.eco-card:nth-child(3) { --eco-color:#4aaa57; background:rgba(74,170,87,.08) !important; }
.eco-card:nth-child(4) { --eco-color:#f77f00; background:rgba(247,127,0,.08) !important; }
.eco-card:nth-child(5) { --eco-color:#4aaa57; background:rgba(74,170,87,.08) !important; }
.eco-card:nth-child(6) { --eco-color:#0096c7; background:rgba(0,150,199,.08) !important; }
.eco-card:nth-child(7) { --eco-color:#f77f00; background:rgba(247,127,0,.08) !important; }
.eco-card:nth-child(8) { --eco-color:#4aaa57; background:rgba(74,170,87,.08) !important; }
.eco-card:nth-child(9) { --eco-color:#0096c7; background:rgba(0,150,199,.08) !important; }
.eco-card:nth-child(10) { --eco-color:#f77f00; background:rgba(247,127,0,.08) !important; }
.eco-card:nth-child(11) { --eco-color:#4aaa57; background:rgba(74,170,87,.08) !important; }
.eco-card:nth-child(12) { --eco-color:#0096c7; background:rgba(0,150,199,.08) !important; }
.eco-name { font-size:15px; font-weight:700; color:#fff !important; margin-bottom:6px; }
.eco-tag { font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--eco-color) !important; margin-bottom:10px; }
.eco-desc { font-size:15px; color:rgba(255,255,255,.6) !important; line-height:1.6; }

/* Platform visual */
.platform-section { padding:80px 72px; background:#fff; border-bottom:1px solid rgba(0,0,0,.08); }
.platform-inner { display:grid; grid-template-columns:40% 60%; gap:64px; align-items:center; }
.plat-left-title { font-size:clamp(28px,3vw,40px); font-weight:700; line-height:1.15; letter-spacing:-.02em; color:#1a2857; margin-bottom:20px; }
.plat-body { font-size:15px; color:#6b7280; line-height:1.85; margin-bottom:28px; }
.plat-points { display:flex; flex-direction:column; gap:14px; margin-bottom:32px; }
.plat-pt { display:flex; align-items:flex-start; gap:12px; font-size:15px; color:#6b7280; line-height:1.7; }
.plat-pt-dot { width:6px; height:6px; border-radius:50%; background:#0096c7; margin-top:7px; flex-shrink:0; }
.plat-pt strong { color:#1a2857; }
.plat-visual { background:#f4f5f7; min-height:360px; display:flex; flex-direction:column; justify-content:center; border:none; overflow:hidden; }
.plat-chart-header { display:flex; justify-content:space-between; align-items:center; padding:16px 20px; border-bottom:1px solid rgba(0,0,0,.08); }
.plat-chart-name { font-size:13px; font-weight:700; color:#1a2857; letter-spacing:.02em; }
.plat-chart-live { font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#0096c7; display:flex; align-items:center; gap:6px; }
.live-dot { width:6px; height:6px; border-radius:50%; background:#0096c7; animation:livepulse 1.5s ease infinite; }
@keyframes livepulse { 0%,100%{opacity:1;} 50%{opacity:.4;} }
.plat-placeholder { flex:1; display:flex; align-items:center; justify-content:center; background:#f4f5f7; min-height:280px; font-size:13px; color:#9ca3af; letter-spacing:.06em; }
.plat-caption { font-size:11px; color:#6b7280; text-align:center; padding:10px 20px; border-top:1px solid rgba(0,0,0,.08); letter-spacing:.05em; }

/* CS CTA section */
.cs-cta-section {
  padding:96px 72px;
  background:linear-gradient(135deg,#0096c7 -20%,#1a2857 40%,#0d1540 100%);
  display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center;
  border-top:none; position:relative; overflow:hidden;
}
/* Grid pattern */
.cs-cta-section::before {
  content:''; position:absolute; top:0; left:0; right:0; bottom:0;
  background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);
  background-size:60px 60px; pointer-events:none;
}
/* Morphing shape */
.cs-cta-section::after {
  content:''; position:absolute; top:-80px; right:-60px;
  width:400px; height:400px;
  border:1.5px solid rgba(0,150,199,.2);
  border-radius:40% 60% 70% 30%/40% 50% 60% 50%;
  pointer-events:none; animation:sectionMorph 20s ease-in-out infinite;
}
.cs-cta-section > * { position:relative; z-index:1; }
.cs-cta-section h2 { font-size:clamp(32px,3.5vw,50px); font-weight:700; line-height:1.1; letter-spacing:-.02em; color:#fff; margin-bottom:16px; }
.cs-cta-section h2 span { color:var(--teal-lt); }
.cs-cta-section h2 span.orange { color:#f77f00; }
.cs-cta-section p { font-size:15px; color:rgba(255,255,255,.65); line-height:1.8; }
.cta-right { display:flex; flex-direction:column; gap:14px; }
.cta-btn-primary {
  padding:18px 40px; background:var(--teal); color:#fff; text-align:center;
  font-size:13px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  text-decoration:none; transition:background .2s; display:block;
}
.cta-btn-primary:hover { background:#007aaa; }
.cta-btn-sec {
  padding:18px 40px; background:transparent; color:#fff; text-align:center;
  font-size:13px; font-weight:600; letter-spacing:.08em; text-transform:uppercase;
  border:1px solid rgba(255,255,255,.25); text-decoration:none; transition:all .2s; display:block;
}
.cta-btn-sec:hover { border-color:#fff; }
.cta-note { font-size:12px; color:rgba(255,255,255,.45); text-align:center; }

/* Feature Deep Dives — card-based with icons */
.deep-dives-section { padding:72px 72px; background:#fff; }
.dd-grid { display:grid; grid-template-columns:1fr; gap:20px; margin-top:40px; }
.dd-card { background:#fff; padding:36px 32px; border-top:3px solid var(--dd-color, #0096c7); display:grid; grid-template-columns:auto 1fr; gap:28px; align-items:start; box-shadow:0 2px 12px rgba(0,0,0,.04); transition:transform .2s, box-shadow .2s; }
.dd-card:hover { transform:translateY(-3px); box-shadow:0 8px 24px rgba(0,0,0,.08); }
.dd-card:nth-child(1) { --dd-color:#0096c7; }
.dd-card:nth-child(2) { --dd-color:#f77f00; }
.dd-card:nth-child(3) { --dd-color:#4aaa57; }
.dd-card:nth-child(4) { --dd-color:#1565c7; }
.dd-card:nth-child(5) { --dd-color:#1a2857; }
.dd-card:nth-child(6) { --dd-color:#0096c7; }
.dd-icon-wrap { width:56px; height:56px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.dd-content { min-width:0; }
.dd-label { font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#6b7280; margin-bottom:6px; }
.dd-title { font-size:20px; font-weight:700; color:var(--navy); line-height:1.3; letter-spacing:-.01em; margin-bottom:14px; }
.dd-body { font-size:15px; color:#6b7280; line-height:1.85; }
.dd-body p { margin-bottom:12px; }
.dd-body p:last-child { margin-bottom:0; }
.dd-bullets { list-style:none; padding:0; margin:18px 0 0; display:grid; grid-template-columns:1fr 1fr; gap:10px 24px; }
.dd-bullets li { font-size:13px; color:#374151 !important; line-height:1.6; padding-left:18px; position:relative; }
.dd-bullets li::before { content:''; position:absolute; left:0; top:7px; width:8px; height:8px; border-radius:50%; }

/* Case study Impact cards — bump body text readability on dark navy backgrounds */
[style*="background:#1a2857"] [style*="color:rgba(255,255,255,.65)"] { font-size:14px !important; line-height:1.75 !important; }
.dd-image { float:right; margin:0 0 16px 24px; border:1px solid #e5e7eb; max-width:320px; overflow:hidden; }
.dd-image img { width:100%; height:auto; display:block; }
@media (max-width:768px) { .dd-image { float:none; max-width:100%; margin:16px 0; } }

/* Roadmap — horizontal steps */
.roadmap-section { padding:72px 72px; background:#f7f7f8; }
.rm-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:40px; position:relative; }
.rm-steps::before { display:none; }
.rm-step {
  text-align:left; position:relative; padding:32px 24px;
  background:linear-gradient(160deg, var(--rm-color, #0096c7) 0%, var(--rm-color, #0096c7) 40%, #1a2857 150%);
  display:flex; flex-direction:column; min-height:240px;
  overflow:hidden; transition:transform .2s, box-shadow .2s;
}
.rm-step:hover { transform:translateY(-4px); box-shadow:0 12px 40px rgba(0,0,0,.15); }
.rm-step::after {
  content:''; position:absolute; top:-30px; right:-30px;
  width:120px; height:120px; border:1px solid rgba(255,255,255,.08);
  border-radius:50%; pointer-events:none;
}
.rm-step:nth-child(1) { --rm-color:#0096c7; }
.rm-step:nth-child(2) { --rm-color:#f77f00; }
.rm-step:nth-child(3) { --rm-color:#4aaa57; }
.rm-step:nth-child(4) { --rm-color:#1565c7; }
.rm-dot { width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 0 16px; position:relative; z-index:1; border:2px solid rgba(255,255,255,.2); background:rgba(255,255,255,.1); color:rgba(255,255,255,.7); }
.rm-dot svg { width:18px; height:18px; }
.rm-dot.shipped, .rm-dot.in-progress, .rm-dot.planned, .rm-dot.upcoming, .rm-dot.possible { border-color:rgba(255,255,255,.25); background:rgba(255,255,255,.1); color:rgba(255,255,255,.8); }
.rm-status { display:inline-block; padding:4px 12px; font-size:9px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; margin-bottom:10px; background:rgba(255,255,255,.15) !important; color:#fff !important; }
.rm-title { font-size:18px; font-weight:700; color:#fff; line-height:1.3; margin-bottom:8px; }
.rm-desc { font-size:14px; color:rgba(255,255,255,.7); line-height:1.8; }
.rm-step * { color:#fff !important; }
.rm-step .rm-desc { color:rgba(255,255,255,.7) !important; }
.rm-step .rm-dot, .rm-step .rm-dot * { color:rgba(255,255,255,.8) !important; }

@media (max-width:1024px) {
  .deep-dives-section { padding:60px 40px; }
  .dd-card { grid-template-columns:1fr; gap:16px; padding:32px 28px; }
  .dd-icon-wrap { width:48px; height:48px; }
  .dd-bullets { grid-template-columns:1fr; }
  .roadmap-section { padding:60px 40px; }
  .rm-steps { grid-template-columns:repeat(2,1fr); gap:32px; }
  .rm-steps::before { display:none; }
}
@media (max-width:768px) {
  .deep-dives-section { padding:48px 20px; }
  .roadmap-section { padding:48px 20px; }
  .rm-steps { grid-template-columns:1fr; gap:28px; }
}

/* Hero case study links */
.hero-cs-links { margin-top:24px; }
.hero-cs-label { font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#6b7280; margin-bottom:10px; }
.hero-cs-pills { display:flex; flex-wrap:wrap; gap:10px; }
.hero-cs-pill {
  padding:14px 36px; background:transparent; color:#1a2857;
  font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase;
  border:1px solid rgba(26,40,87,.5); text-decoration:none; transition:all .2s; display:inline-block;
}
.hero-cs-pill:hover { border-color:#1a2857; }

/* Next case strip */
.next-case {
  padding:48px 72px; background:#eff0f2;
  border-top:1px solid rgba(0,0,0,.08);
  display:flex; justify-content:space-between; align-items:center;
}
.nc-label { font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#6b7280; margin-bottom:6px; }
.nc-title { font-size:18px; font-weight:700; color:#1a2857; }
.nc-link {
  padding:14px 32px; background:#1a2857; color:#fff;
  font-size:12px; font-weight:700; letter-spacing:.07em; text-transform:uppercase;
  text-decoration:none; transition:background .2s;
}
.nc-link:hover { background:#0096c7; }

/* ─── TECHNOLOGY PAGES ────────────────────────── */

/* Tech nav strip — horizontal pill bar */
.tech-nav-strip {
  display:flex; gap:8px; padding:16px 72px;
  background:#f7f7f8; border-bottom:1px solid var(--border);
  overflow-x:auto; flex-wrap:nowrap;
}
.tech-nav-pill {
  padding:8px 20px; font-size:12px; font-weight:600;
  letter-spacing:.04em; color:var(--muted);
  border:1px solid var(--border); background:#fff;
  text-decoration:none; white-space:nowrap;
  transition:all .2s;
}
.tech-nav-pill:hover { color:var(--navy); border-color:var(--navy); }
.tech-nav-active { font-weight:700; }

/* Tech hero — full-width dark section */
.tech-hero {
  padding:80px 72px;
  color:#fff;
}
.tech-hero-inner {
  display:flex; justify-content:space-between; align-items:center;
  gap:60px; max-width:1400px; margin:0 auto;
}
.tech-hero-content { max-width:680px; }
.tech-hero-badge {
  font-size:11px; font-weight:700; letter-spacing:.12em;
  text-transform:uppercase; color:rgba(255,255,255,.6);
  margin-bottom:20px;
}
.tech-hero h1 {
  font-size:clamp(36px,4.4vw,62px); font-weight:700; line-height:1.08;
  letter-spacing:-.03em; margin-bottom:20px; color:#fff;
}
.tech-hero-tagline {
  font-size:20px; font-weight:500; line-height:1.5;
  color:rgba(255,255,255,.85); margin-bottom:16px;
}
.tech-hero-desc {
  font-size:15px; line-height:1.8; color:rgba(255,255,255,.65);
  margin-bottom:32px;
}
.tech-hero-actions { display:flex; gap:12px; flex-wrap:wrap; }
.tech-btn-light {
  padding:14px 36px; background:#fff; color:#1a2857;
  font-size:12px; font-weight:700; letter-spacing:.08em;
  text-transform:uppercase; text-decoration:none;
  transition:opacity .2s;
}
.tech-btn-light:hover { opacity:.9; }
.tech-btn-ghost {
  padding:14px 36px; background:transparent; color:#fff;
  font-size:12px; font-weight:600; letter-spacing:.08em;
  text-transform:uppercase; text-decoration:none;
  border:1px solid rgba(255,255,255,.3);
  transition:border-color .2s;
}
.tech-btn-ghost:hover { border-color:#fff; }

/* Tech hero stat */
.tech-hero-stat {
  text-align:right; flex-shrink:0;
}
.tech-stat-num {
  font-size:72px; font-weight:800; line-height:1;
  color:#fff; margin-bottom:12px;
}
.tech-stat-src {
  font-size:13px; color:rgba(255,255,255,.5);
  max-width:200px; margin-left:auto; line-height:1.5;
}

/* Tech body — full-width content sections */
.tech-body {
  padding:72px 72px;
  max-width:1400px; margin:0 auto;
}
.tech-body-inner {
  max-width:860px;
}
.tech-body h2 {
  font-size:28px; font-weight:700; color:var(--navy);
  margin:56px 0 20px; line-height:1.3;
}
.tech-body h2:first-child { margin-top:0; }
.tech-body h3 {
  font-size:20px; font-weight:700; color:var(--navy);
  margin:40px 0 14px; line-height:1.3;
}
.tech-body p {
  font-size:16px; line-height:1.85; color:#374151;
  margin-bottom:20px;
}
.tech-body ul {
  margin:0 0 24px 20px; padding:0;
}
.tech-body li {
  font-size:15px; line-height:1.8; color:#374151;
  margin-bottom:8px;
}
.tech-body li strong { color:var(--navy); }

/* Reuse blog components inside tech body */
.tech-body .blog-stat-row { margin:40px 0; }
.tech-body .blog-steps { margin:40px 0; }
.tech-body .blog-callout { margin:40px 0; }
.tech-body .blog-takeaway { margin:40px 0; }

@media (max-width:768px) {
  .tech-nav-strip { padding:12px 20px; }
  .tech-hero { padding:48px 20px; }
  .tech-hero-inner { flex-direction:column; gap:32px; }
  .tech-hero h1 { font-size:32px; }
  .tech-hero-stat { text-align:left; }
  .tech-stat-num { font-size:48px; }
  .tech-body { padding:40px 20px; }
}

/* Insight prev/next nav */
.insight-nav {
  display:flex; width:100%;
  border-top:1px solid rgba(0,0,0,.08);
}
.insight-nav-item {
  flex:1; padding:40px 48px;
  background:#eff0f2;
  text-decoration:none;
  transition:background .2s;
}
.insight-nav-item:first-child { border-right:1px solid rgba(0,0,0,.08); }
.insight-nav-item:hover { background:#e5e7eb; }
.insight-nav-next { text-align:right; }
.insight-nav-item .nc-title { color:#1a2857; transition:color .2s; }
.insight-nav-item:hover .nc-title { color:var(--prose-accent, #0096c7); }

/* Insights within case study */
.cs-insights-section { padding:80px 72px; background:#eff0f2; border-bottom:1px solid rgba(0,0,0,.08); }
.cs-ins-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:48px; }
.cs-ins-card { background:#fff; padding:36px 32px; border:1px solid rgba(0,0,0,.08); }
.cs-ins-cat { font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; margin-bottom:14px; }
.cs-ins-title { font-size:17px; font-weight:700; color:#1a2857; line-height:1.35; margin-bottom:12px; letter-spacing:-.01em; }
.cs-ins-text { font-size:14px; color:#6b7280; line-height:1.8; margin-bottom:20px; }
.cs-ins-meta { font-size:11px; color:#9ca3af; display:flex; gap:10px; align-items:center; }

/* ═══════════════════════════════════════════════════════
   CASE STUDIES — Listing Page
═══════════════════════════════════════════════════════ */
.cs-list-hero {
  padding:36px 72px;
  background:#fff;
  display:grid; grid-template-columns:1fr 1fr; gap:72px;
  border-bottom:1px solid rgba(0,0,0,.08);
}
.cs-list-hero h1 { font-size:clamp(36px,4.4vw,62px); font-weight:700; line-height:1.08; letter-spacing:-.03em; color:#1a2857; margin-bottom:16px; }
.cs-list-hero h1 span { color:#4aaa57; }
.cs-hero-sub { font-size:16px; color:#6b7280; line-height:1.8; max-width:480px; margin-bottom:28px; }
.hero-pills { display:flex; flex-wrap:wrap; gap:10px; }
.cs-pill { display:flex; align-items:center; gap:8px; padding:7px 14px; background:#f4f5f7; font-size:12px; font-weight:600; color:#1a2857; }
.cs-pill-dot { width:7px; height:7px; border-radius:50%; flex-shrink:0; }
.h-stat { border-bottom:1px solid rgba(0,0,0,.08); padding-bottom:24px; margin-bottom:24px; }
.h-stat:last-child { border-bottom:none; margin-bottom:0; padding-bottom:0; }
.h-stat-num { font-size:40px; font-weight:700; line-height:1; margin-bottom:4px; }
.h-stat:nth-child(1) .h-stat-num { color:var(--teal); }
.h-stat:nth-child(2) .h-stat-num { color:var(--orange); }
.h-stat:nth-child(3) .h-stat-num { color:var(--green); }
.h-stat:nth-child(4) .h-stat-num { color:var(--blue); }
.h-stat-label { font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#1a2857; margin-bottom:4px; }
.h-stat-desc { font-size:13px; color:#6b7280; line-height:1.6; }

/* Featured case card on listing */
.case-featured {
  background:#fff; margin-bottom:2px;
  display:grid; grid-template-columns:1fr 1fr;
  border:1px solid rgba(0,0,0,.08);
}
.feat-left { background:#1a2857; padding:56px 52px; display:flex; flex-direction:column; justify-content:space-between; }
.feat-tag { font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.4); margin-bottom:20px; }
.feat-title { font-size:clamp(24px,2.5vw,34px); font-weight:700; line-height:1.2; letter-spacing:-.02em; color:#fff; margin-bottom:28px; }
.feat-metrics { display:flex; gap:40px; margin-bottom:36px; }
.feat-met-val { display:block; font-size:48px; font-weight:700; color:#0096c7; line-height:1; }
.feat-met-lbl { font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:rgba(255,255,255,.5); }
.feat-cta { display:inline-block; padding:14px 32px; background:#0096c7; color:#fff; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; text-decoration:none; transition:background .2s; align-self:flex-start; }
.feat-cta:hover { background:#007aaa; }
.feat-right { padding:56px 52px; display:flex; flex-direction:column; justify-content:space-between; }
.feat-context-label { font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#6b7280; margin-bottom:4px; margin-top:16px; }
.feat-context-label:first-child { margin-top:0; }
.feat-context-val { font-size:14px; font-weight:600; color:#1a2857; line-height:1.5; }
.feat-desc { font-size:14px; color:#6b7280; line-height:1.85; margin-top:20px; }
.feat-tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:24px; }
.c-tag { padding:4px 12px; background:#f4f5f7; font-size:11px; font-weight:600; color:#6b7280; }

/* Case grid on listing */
.cases-wrapper { padding:0 72px 80px; background:#f4f5f7; }
.cases-grid-list { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:32px; }
.case-card-list {
  background:#fff; padding:36px 32px; border:1px solid rgba(0,0,0,.08);
  display:flex; flex-direction:column; text-decoration:none; color:inherit;
  transition:box-shadow .3s, transform .3s; cursor:pointer;
}
.case-card-list:hover { box-shadow:0 10px 48px rgba(0,0,0,.09); transform:translateY(-3px); }
.cc-industry { font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#6b7280; margin-bottom:16px; }
.cc-title { font-size:19px; font-weight:700; color:#1a2857; line-height:1.25; margin-bottom:20px; letter-spacing:-.01em; }
.cc-metrics { display:flex; gap:24px; margin-bottom:20px; }
.cc-met-val { font-size:32px; font-weight:700; color:#0096c7; line-height:1; margin-bottom:2px; }
.cc-met-lbl { font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#9ca3af; }
.cc-desc { font-size:14px; color:#6b7280; line-height:1.8; margin-bottom:20px; }
.cc-link { font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#0096c7; text-decoration:none; margin-top:auto; }
.cc-link:hover { color:#1a2857; }

.scroll-dots, .scroll-hint { display:none; }

/* CS listing CTA band */
.cs-cta-band {
  padding:64px 72px; color:#fff;
  background:linear-gradient(135deg,#0096c7 -20%,#1a2857 40%,#0d1540 100%);
  display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center;
  position:relative; overflow:hidden;
}
.cs-cta-band::before {
  content:''; position:absolute; top:0; left:0; right:0; bottom:0;
  background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);
  background-size:60px 60px; pointer-events:none;
}
.cs-cta-band::after {
  content:''; position:absolute; top:-80px; right:-60px;
  width:400px; height:400px;
  border:1.5px solid rgba(0,150,199,.15);
  border-radius:40% 60% 70% 30%/40% 50% 60% 50%;
  pointer-events:none; animation:sectionMorph 20s ease-in-out infinite;
}
.cs-cta-band > * { position:relative; z-index:1; }
.cs-cta-band h2 { font-size:clamp(28px,3.2vw,42px); font-weight:700; line-height:1.12; letter-spacing:-.02em; }
.cs-cta-band h2 span { color:#0096c7; }
.cs-cta-sub { font-size:15px; color:rgba(255,255,255,.6); line-height:1.75; margin-bottom:36px; }
.cta-inp-row { display:flex; max-width:100%; }
.cta-inp { flex:1; padding:14px 18px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.15); border-right:none; color:#fff; font-family:'Space Grotesk',sans-serif; font-size:14px; outline:none; }
.cta-inp::placeholder { color:rgba(255,255,255,.3); }
.cta-band-btn { padding:14px 32px; background:#0096c7; color:#fff; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; border:none; cursor:pointer; white-space:nowrap; transition:background .2s; font-family:'Space Grotesk',sans-serif; }
.cta-band-btn:hover { background:#007aaa; }

/* Responsive */
@media (max-width:1100px) {
  .breadcrumb, .cs-hero, .problem-section, .insight-band,
  .features-section, .ecosystem-section, .platform-section,
  .cs-cta-section, .next-case, .how-section, .cs-insights-section,
  .cs-list-hero, .cases-wrapper, .cs-cta-band { padding-left:40px; padding-right:40px; }
  .hero-top, .problem-section, .cs-list-hero { grid-template-columns:1fr; gap:48px; }
  .metrics-strip { grid-template-columns:repeat(2,1fr); }
  .features-header, .cs-cta-section, .cs-cta-band { grid-template-columns:1fr; gap:48px; }
  .features-grid { grid-template-columns:1fr; }
  .eco-grid, .cs-ins-grid { grid-template-columns:repeat(2,1fr); }
  .platform-inner { grid-template-columns:1fr; gap:40px; }
  .cases-grid-list { grid-template-columns:repeat(2,1fr); }
  .case-featured { grid-template-columns:1fr; }
}
@media (max-width:768px) {
  .breadcrumb { padding:12px 20px; }
  .cs-hero { padding:48px 20px 0; }
  .hero-top { padding-bottom:32px; }
  .prob-body, .psc-desc, .feat-desc, .feat-lead, .plat-body, .plat-pt, .eco-desc, .how-desc, .feat-context-val { font-size:15px !important; line-height:1.8 !important; }
  .psc-label, .feat-insight, .eco-tag, .feat-num { font-size:13px !important; }
  .metrics-strip {
    display:flex !important; grid-template-columns:none !important;
    overflow-x:auto; scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch; gap:1px;
  }
  .metrics-strip .ms-item {
    min-width:70vw !important; width:70vw !important;
    scroll-snap-align:start; flex-shrink:0 !important;
    box-sizing:border-box;
  }
  .cs-hero-grid { grid-template-columns:1fr !important; gap:32px !important; }
  .cs-hero-center { padding:60px 24px 48px !important; }
  .cs-hero-stats-grid {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: 0;
  }
  .cs-hero-stat-item {
    flex: 0 0 40%;
    scroll-snap-align: start;
    padding: 12px 8px;
  }
  .cs-hero-highlights-wrap > div {
    display: flex !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: 16px !important;
    grid-template-columns: none !important;
  }
  .cs-hero-highlights-wrap > div > div {
    flex: 0 0 40%;
    scroll-snap-align: start;
    min-width: 0;
  }
  .cs-lead-popup-box { padding:36px 24px; }
  .cs-exit-bar-inner { flex-direction:column; text-align:center; gap:12px; }
  .cs-exit-bar-text span { display:none; }
  .cs-exit-bar-close { position:absolute; top:8px; right:12px; }
  .features-grid { grid-template-columns:1fr !important; background:transparent; }
  .features-grid .feat-card { padding:32px 28px; }
  .features-grid .feat-name { font-size:22px; }
  .features-grid .feat-desc { font-size:15px !important; }
  .features-grid .feat-insight { font-size:14px; }
  .feat-sb-card { grid-template-columns:1fr; min-height:auto; }
  .feat-sb-card:nth-child(even) { direction:ltr; }
  .feat-sb-text { padding:28px 24px; }
  .feat-sb-visual { padding:24px 20px; min-height:200px; }
  .feat-sb-stat-grid-3 { grid-template-columns:1fr; }
  .feat-sb-tabs { flex-wrap:wrap; }
  .how-grid { grid-template-columns:1fr; }
  .eco-grid {
    display:flex !important; grid-template-columns:none !important;
    overflow-x:auto; scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch; gap:12px;
    padding-bottom:8px;
  }
  .eco-grid .eco-card {
    min-width:75vw !important; width:75vw !important;
    scroll-snap-align:start; flex-shrink:0 !important;
    box-sizing:border-box;
  }
  .cs-ins-grid { grid-template-columns:1fr; }
  .cases-grid-list {
    display:flex !important; flex-wrap:nowrap !important;
    grid-template-columns:none !important;
    overflow-x:scroll; overflow-y:hidden;
    scroll-snap-type:x mandatory;
    gap:1px;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain;
    scrollbar-width:thin;
    scrollbar-color:var(--teal) transparent;
    padding-bottom:6px;
  }
  .cases-grid-list .case-card-list {
    min-width:260px; flex:0 0 260px;
    padding:28px 24px;
    scroll-snap-align:start;
    opacity:1 !important; transform:none !important;
    transition:none !important;
  }
  .cases-grid-list .cc-met-val { font-size:24px; }
  .cases-grid-list .cc-metrics { gap:16px; flex-wrap:wrap; }
  .cases-grid-list .cc-title { font-size:17px; }
  .cases-grid-list .cc-desc { font-size:13px; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
  .feat-left, .feat-right { padding:40px 28px; }
  .feat-met-val { font-size:32px; }
  .feat-metrics { gap:24px; flex-wrap:wrap; }
  .feat-title { font-size:22px; }
  .next-case { flex-direction:column; gap:20px; align-items:flex-start; }
  .insight-nav { flex-direction:column; }
  .insight-nav-item { padding:28px 20px; }
  .insight-nav-item:first-child { border-right:none; border-bottom:1px solid rgba(0,0,0,.08); }
  .insight-nav-next { text-align:left; }
  .pipeline-strip { padding:24px 20px; }
  .scroll-dots { display:flex; justify-content:center; gap:6px; margin-top:12px; }
  .scroll-dot { width:8px; height:8px; border-radius:50%; background:rgba(0,0,0,.15); transition:background .2s, transform .2s; }
  .scroll-dot.active { background:var(--navy); transform:scale(1.3); }
  .scroll-hint { text-align:center; font-size:12px; color:var(--muted); margin-top:8px; transition:opacity .3s; }
  .plat-visual { margin-right:0 !important; padding-right:40px !important; }
  .cta-inp-row { flex-direction:column; }
  .cta-inp { border-right:1px solid rgba(255,255,255,.15); }
  .cta-band-btn { white-space:normal; }
  .cs-cta-band { padding:60px 20px; }
}

/* ═══════════════════════════════════════════════════════════════════════
   BLOG — Listing & Post Pages
   ═══════════════════════════════════════════════════════════════════════ */

/* ─── HERO ─────────────────────────────────── */
.blog-hero {
  padding:80px 72px 64px;
  background:#fff;
}
.blog-hero-inner { max-width:900px; }
.blog-eyebrow {
  font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
  color:var(--blue); margin-bottom:20px; display:flex; align-items:center; gap:10px;
}
.blog-eyebrow::before { content:''; display:block; width:28px; height:2px; background:currentColor; }
.blog-hero h1 {
  font-size:clamp(36px,4.4vw,62px); font-weight:700; line-height:1.08;
  letter-spacing:-.03em; color:var(--navy); margin-bottom:20px;
}
.blog-hero h1 span { color:#4aaa57; }
.blog-hero-sub {
  font-size:17px; color:var(--muted); line-height:1.75; max-width:600px; margin-bottom:40px;
}

/* ─── CATEGORY FILTER ──────────────────────── */
.filter-bar { display:flex; gap:8px; flex-wrap:wrap; }
.fcat {
  font-size:12px; font-weight:600; letter-spacing:.06em; text-transform:uppercase;
  padding:8px 18px; border:1.5px solid var(--border); background:transparent;
  color:var(--muted); cursor:pointer; transition:all .2s; white-space:nowrap;
  text-decoration:none;
}
.fcat:hover { border-color:var(--navy); color:var(--navy); }
.fcat.active { background:var(--navy); color:#fff; border-color:var(--navy); }

.blog-body h2 { margin-top:48px; margin-bottom:16px; }

/* ─── FEATURED POST ────────────────────────── */
.blog-main { padding:0 72px 72px; background:#f7f7f8; }

.featured-post {
  display:grid; grid-template-columns:1fr 1fr; gap:0;
  border:1px solid var(--border); margin-top:56px; margin-bottom:56px;
  transition:box-shadow .3s; cursor:pointer;
  text-decoration:none; color:inherit;
}
.featured-post:hover { box-shadow:0 12px 48px rgba(0,0,0,.09); }
.feat-visual {
  background:var(--navy); min-height:420px; position:relative; overflow:hidden;
  display:flex; flex-direction:column; justify-content:flex-end; padding:40px;
}
.feat-visual-bg {
  position:absolute; inset:0;
  background:linear-gradient(135deg, #1a2857 0%, #1565c7 60%, #0096c7 100%);
  opacity:.95;
}
.feat-visual-pattern {
  position:absolute; inset:0; opacity:.06;
  background-image:repeating-linear-gradient(45deg, #fff 0, #fff 1px, transparent 0, transparent 50%);
  background-size:20px 20px;
}
.feat-read-time {
  position:relative; z-index:1;
  font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  color:rgba(255,255,255,.5); margin-bottom:16px;
}
.feat-visual-title {
  position:relative; z-index:1;
  font-size:clamp(22px,2.5vw,32px); font-weight:700; line-height:1.2;
  letter-spacing:-.02em; color:#fff;
}
.feat-content {
  padding:48px 48px 48px 52px; background:var(--bg2);
  display:flex; flex-direction:column; justify-content:space-between;
}
.feat-cat {
  font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  color:var(--blue); margin-bottom:16px;
}
.featured-post .feat-title {
  font-size:clamp(20px,2vw,26px); font-weight:700; line-height:1.25;
  letter-spacing:-.02em; color:var(--navy); margin-bottom:16px;
}
.feat-excerpt {
  font-size:15px; line-height:1.8; color:var(--muted); margin-bottom:28px;
}
.feat-highlights {
  display:flex; gap:0; margin-bottom:28px;
  border-top:1px solid var(--border);
}
.feat-hl {
  flex:1; padding:16px;
  border-right:1px solid var(--border);
}
.feat-hl:last-child { border-right:none; }
.feat-hl:first-child { padding-left:16px; }
.feat-hl-val {
  font-size:24px; font-weight:700; line-height:1; margin-bottom:4px;
}
.feat-hl-label {
  font-size:11px; font-weight:600; color:var(--muted); letter-spacing:.02em; line-height:1.4;
}
.feat-read-cta {
  font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
}

/* Blog pagination */
.blog-pagination {
  display:flex; align-items:center; justify-content:center; gap:16px;
  margin-top:48px; margin-bottom:48px; padding-top:32px; border-top:1px solid var(--border);
}
.pg-btn {
  padding:10px 24px; font-size:12px; font-weight:700; letter-spacing:.06em;
  text-transform:uppercase; color:var(--navy); text-decoration:none;
  border:1px solid var(--border); transition:all .2s;
}
.pg-btn:hover { border-color:var(--navy); }
.pg-numbers { display:flex; gap:4px; }
.pg-num {
  width:36px; height:36px; display:flex; align-items:center; justify-content:center;
  font-size:13px; font-weight:600; color:var(--muted); text-decoration:none;
  transition:all .2s;
}
.pg-num:hover { color:var(--navy); }
.pg-active { color:var(--navy); font-weight:700; border-bottom:2px solid var(--teal); }
.feat-meta { display:flex; align-items:center; justify-content:space-between; }
.feat-author { display:flex; align-items:center; gap:12px; }
.feat-avatar {
  width:36px; height:36px; border-radius:50%;
  background:var(--bg3); display:flex; align-items:center; justify-content:center;
  font-size:12px; font-weight:700; color:var(--navy);
}
.feat-author-name { font-size:13px; font-weight:600; color:var(--navy); }
.feat-author-role { font-size:11px; color:var(--muted); }
.feat-date { font-size:12px; color:var(--muted); }
.read-arrow {
  font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:var(--navy); text-decoration:none; display:inline-flex; align-items:center; gap:6px;
  border-bottom:1px solid rgba(26,40,87,.25); padding-bottom:1px;
  transition:color .2s, border-color .2s;
}
.read-arrow:hover { color:var(--blue); border-color:var(--blue); }

/* ─── POSTS LIST ───────────────────────────── */
.posts-header {
  display:flex; align-items:center; justify-content:space-between; margin-bottom:0;
}
.posts-header h2 {
  font-size:13px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--muted);
}
.posts-count { font-size:13px; color:var(--muted); }

.posts-grid { display:flex; flex-direction:column; }

.post-card {
  display:grid; grid-template-columns:56px 1fr auto;
  gap:0 40px; align-items:start;
  padding:36px 0; border-bottom:1px solid var(--border);
  text-decoration:none; color:inherit; transition:background .2s;
}
.post-card:first-child { border-top:1px solid var(--border); }
.post-card:hover { background:var(--bg3); padding-left:20px; padding-right:20px; margin:0 -20px; }

.post-num {
  font-size:13px; font-weight:700; color:rgba(0,0,0,.18);
  padding-top:3px; font-variant-numeric:tabular-nums; letter-spacing:.02em;
}
.post-body { min-width:0; }
.post-cat {
  font-size:9px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  margin-bottom:10px; display:inline-block;
}
.cat-saas       { color:var(--blue); }
.cat-crm        { color:var(--orange); }
.cat-fintech    { color:var(--teal); }
.cat-realestate { color:var(--green); }
.cat-customsoftware { color:#7c3aed; }
.cat-ngo        { color:var(--green); }

.post-title {
  font-size:18px; font-weight:700; line-height:1.3; letter-spacing:-.01em;
  color:var(--navy); margin-bottom:10px;
}
.post-excerpt { font-size:14px; line-height:1.75; color:var(--muted); }
.post-meta {
  display:flex; flex-direction:column; align-items:flex-end; gap:6px;
  padding-top:3px; white-space:nowrap;
}
.post-date { font-size:11px; color:var(--muted); }
.post-read { font-size:11px; font-weight:700; color:var(--muted); }
.post-arrow { font-size:16px; color:var(--border); margin-top:4px; transition:color .2s; }
.post-card:hover .post-arrow { color:var(--navy); }

/* ─── EMPTY STATE ──────────────────────────── */
.blog-empty {
  text-align:center; padding:80px 20px; max-width:480px; margin:56px auto 0;
}
.blog-empty-icon { font-size:40px; margin-bottom:20px; opacity:.3; }
.blog-empty h2 {
  font-size:22px; font-weight:700; color:var(--navy); margin-bottom:12px;
}
.blog-empty p { font-size:15px; color:var(--muted); line-height:1.75; }

/* ─── TOPIC BANDS ──────────────────────────── */
.topic-band {
  display:grid; grid-template-columns:1fr 1fr; gap:2px; margin:56px 0 0;
}
.topic-card {
  padding:48px; position:relative; overflow:hidden; cursor:pointer;
  transition:opacity .2s; text-decoration:none;
}
.topic-card:hover { opacity:.92; }
.topic-card.tc-saas    { background:var(--blue); }
.topic-card.tc-crm     { background:var(--orange); }
.topic-card.tc-fintech { background:var(--teal); }
.topic-card.tc-custom  { background:var(--green); }
.topic-eyebrow {
  font-size:10px; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
  margin-bottom:12px; color:rgba(255,255,255,.5);
}
.topic-title {
  font-size:clamp(20px,2.2vw,28px); font-weight:700; letter-spacing:-.02em;
  line-height:1.2; margin-bottom:10px; color:#fff;
}
.topic-count { font-size:13px; color:rgba(255,255,255,.6); }
.topic-arrow {
  position:absolute; bottom:40px; right:40px;
  font-size:20px; font-weight:300; color:rgba(255,255,255,.35);
}

/* ─── NEWSLETTER CTA ───────────────────────── */
.newsletter-band {
  background:linear-gradient(135deg,#0096c7 -20%,#1a2857 40%,#0d1540 100%);
  padding:64px 72px;
  display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center;
  position:relative; overflow:hidden;
}
.newsletter-band::before {
  content:''; position:absolute; top:0; left:0; right:0; bottom:0;
  background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);
  background-size:60px 60px; pointer-events:none;
}
.newsletter-band::after {
  content:''; position:absolute; top:-80px; right:-60px;
  width:400px; height:400px;
  border:1.5px solid rgba(0,150,199,.15);
  border-radius:40% 60% 70% 30%/40% 50% 60% 50%;
  pointer-events:none; animation:sectionMorph 20s ease-in-out infinite;
}
.newsletter-band > * { position:relative; z-index:1; }
.nl-title {
  font-size:clamp(24px,3vw,36px); font-weight:700; line-height:1.15;
  letter-spacing:-.02em; color:#fff; margin-bottom:14px;
}
.nl-sub { font-size:15px; color:rgba(255,255,255,.6); line-height:1.75; }
.nl-form { display:flex; gap:0; }
.nl-input {
  flex:1; padding:14px 20px; border:1.5px solid rgba(255,255,255,.15);
  font-family:inherit; font-size:14px; color:#fff;
  background:rgba(255,255,255,.08); outline:none; transition:border-color .2s;
}
.nl-input::placeholder { color:rgba(255,255,255,.35); }
.nl-input:focus { border-color:var(--teal); }
.nl-btn {
  padding:14px 28px; background:var(--teal); color:#fff;
  font-family:inherit; font-size:12px; font-weight:700;
  letter-spacing:.1em; text-transform:uppercase; border:none; cursor:pointer;
  transition:background .2s; white-space:nowrap;
}
.nl-btn:hover { background:var(--blue); }
.nl-note { font-size:11px; color:rgba(255,255,255,.35); margin-top:10px; }

/* ─── BLOG POST — BREADCRUMB ──────────────── */
.blog-breadcrumb {
  padding:20px 72px; font-size:12px; color:var(--muted);
  border-bottom:1px solid var(--border); background:var(--bg2);
}
.blog-breadcrumb a {
  color:var(--muted); text-decoration:none; transition:color .2s;
}
.blog-breadcrumb a:hover { color:var(--navy); }
.bc-sep { margin:0 8px; opacity:.4; }
.bc-current { color:var(--navy); font-weight:600; }

/* ─── BLOG POST — ARTICLE ─────────────────── */
/* ─── BLOG POST — HEADER (full-width) ─────── */
.blog-article-header {
  background:var(--bg2); padding:48px 72px 40px; border-bottom:1px solid var(--border);
}
.blog-article-header-inner {
  display:grid; grid-template-columns:1fr 280px; gap:28px; align-items:start;
}

/* Blog — header CTA card */
.blog-header-cta {
  background:linear-gradient(135deg,#0096c7 -20%,#1a2857 40%,#0d1540 100%);
  padding:28px 24px; margin-top:8px;
  position:relative; overflow:hidden;
}
.blog-header-cta::before {
  content:''; position:absolute; inset:0;
  background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);
  background-size:40px 40px; pointer-events:none;
}
.blog-header-cta > * { position:relative; z-index:1; }
.blog-header-cta-label {
  font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  color:var(--teal-lt); margin-bottom:12px;
}
.blog-header-cta-title {
  font-size:20px; font-weight:700; color:#fff; line-height:1.3;
  letter-spacing:-.01em; margin-bottom:12px;
}
.blog-header-cta-desc {
  font-size:15px; line-height:1.7; color:rgba(255,255,255,.65); margin-bottom:20px;
}
.blog-header-cta-btn {
  display:inline-block; background:var(--teal); color:#fff;
  font-size:13px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  padding:12px 24px; text-decoration:none; transition:background .2s;
}
.blog-header-cta-btn:hover { background:#007aaa; }
.blog-article-header .post-cat { margin-bottom:16px; }
.blog-article-title {
  font-size:clamp(30px,4.5vw,48px); font-weight:700; line-height:1.1;
  letter-spacing:-.03em; color:var(--navy); margin-bottom:16px;
  max-width:680px;
}
.blog-article-excerpt {
  font-size:17px; line-height:1.7; color:var(--muted); margin-bottom:0;
  max-width:640px;
}
.blog-article-meta {
  display:flex; align-items:center; justify-content:space-between;
  padding-top:20px; border-top:1px solid var(--border);
}
.blog-article-author { display:flex; align-items:center; gap:12px; }
.blog-article-stats {
  font-size:12px; font-weight:600; color:var(--muted);
  letter-spacing:.04em; text-transform:uppercase;
}

/* ─── BLOG POST — 2-COL LAYOUT ───────────── */
.blog-layout {
  display:grid; grid-template-columns:1fr 280px;
  gap:0; margin:0 auto;
  padding:0 72px;
}
.blog-article {
  padding:48px 24px 72px 0;
  min-width:0; /* prevents grid blowout when body contains elements with min-width (diagrams, wide grids) */
}

/* ─── BLOG POST — SIDEBAR ────────────────── */
.card-hover {
  transition:box-shadow .2s, transform .2s;
}
.card-hover:hover {
  box-shadow:0 8px 24px rgba(0,0,0,.1);
  transform:translateY(-2px);
}

.blog-sidebar {
  position:relative; border-left:1px solid var(--border);
}
.blog-sidebar-inner {
  position:sticky; top:80px; padding:48px 0 48px 16px;
}
.blog-toc-label {
  font-size:10px; font-weight:700; letter-spacing:.12em;
  text-transform:uppercase; color:var(--teal); margin-bottom:12px;
}
#toc-nav, #svc-toc-list, #tech-toc-list {
  display:flex; flex-direction:column; gap:0; align-items:stretch;
  padding:0; background:none; border:none; backdrop-filter:none;
}
.toc-link {
  display:block; font-size:12px; line-height:1.4; color:var(--muted);
  text-decoration:none; padding:8px 0 8px 10px;
  border-left:2px solid transparent; border-bottom:1px solid var(--border);
  transition:all .15s;
}
.toc-link:last-child { border-bottom:none; }
.toc-link:hover { color:var(--navy); }
.toc-link.active {
  color:var(--navy); font-weight:600;
  border-left-color:var(--prose-accent, var(--teal));
}

/* ─── BLOG POST — PROSE ────────────────────── */
.blog-prose {
  font-size:15px; line-height:1.8; color:#374151;
}
.blog-prose .blog-lead {
  font-size:15px; line-height:1.8; color:var(--navy); font-weight:400;
  background:var(--bg2); padding:28px 32px; margin:0 0 40px;
  position:relative; border:1px solid var(--border);
}
.blog-prose .blog-lead::before {
  content:''; position:absolute; left:0; top:0; bottom:0;
  width:4px; background:var(--teal);
}
.blog-prose h2 {
  font-size:24px; font-weight:700; line-height:1.2; letter-spacing:-.02em;
  color:var(--navy); margin:48px 0 16px; padding-top:28px;
  border-top:1px solid var(--border);
  scroll-margin-top:90px;
}
.blog-prose h2:first-child,
.blog-prose .blog-lead + h2 { border-top:none; padding-top:0; }
.blog-prose h3 {
  font-size:18px; font-weight:700; line-height:1.3; letter-spacing:-.01em;
  color:var(--navy); margin:32px 0 10px;
}
.blog-prose h4 {
  font-size:16px; font-weight:700; text-transform:uppercase; letter-spacing:.06em;
  color:var(--navy); margin:32px 0 10px;
}
.blog-prose p { margin-bottom:20px; }
.blog-prose a { color:var(--blue); text-decoration:underline; text-underline-offset:3px; }
.blog-prose a:hover { color:var(--navy); }
.blog-prose ul, .blog-prose ol { margin:0 0 24px 16px; padding:0; list-style:none; }
.blog-prose ul li, .blog-prose ol li {
  margin-bottom:14px; padding-left:18px; position:relative;
}
.blog-prose ul li::before {
  content:''; position:absolute; left:0; top:11px;
  width:8px; height:8px; background:var(--prose-accent, var(--teal)); border-radius:1px;
}
.blog-prose ol { counter-reset:blog-ol; }
.blog-prose ol li { counter-increment:blog-ol; }
.blog-prose ol li::before {
  content:counter(blog-ol,decimal-leading-zero); position:absolute; left:0; top:0;
  font-size:13px; font-weight:700; color:var(--prose-accent, var(--teal)); letter-spacing:-.02em;
}
.blog-prose blockquote {
  border-left:3px solid var(--prose-accent, var(--teal)); padding:18px 24px; margin:28px 0;
  background:var(--bg); font-style:normal; color:var(--navy);
  font-size:15px; line-height:1.75;
}
.blog-prose blockquote footer {
  font-style:normal; font-size:13px; font-weight:700; color:var(--muted);
  margin-top:12px; letter-spacing:.04em; text-transform:uppercase;
}
.blog-prose pre {
  background:#1e293b; color:#e2e8f0; padding:24px; overflow-x:auto;
  font-size:14px; line-height:1.7; margin:28px 0; border-radius:2px;
}
.blog-prose code {
  font-size:14px; background:var(--bg3); padding:2px 6px;
}
.blog-prose pre code { background:none; padding:0; }
.blog-prose img { max-width:100%; height:auto; margin:28px 0; }
.blog-prose hr {
  border:none; border-top:1px solid var(--border); margin:48px 0;
}
.blog-prose table {
  width:100%; border-collapse:collapse; margin:28px 0; font-size:15px;
}
.blog-prose th, .blog-prose td {
  padding:12px 16px; border-bottom:1px solid var(--border); text-align:left;
}
.blog-prose th { font-weight:700; color:var(--navy); font-size:12px; text-transform:uppercase; letter-spacing:.06em; }

/* Blog — callout box */
.blog-callout {
  background:var(--bg3); padding:28px 32px; margin:36px 0;
  border-left:3px solid var(--teal); position:relative;
}
.blog-callout.callout-warning { border-left-color:var(--orange); }
.blog-callout.callout-insight { border-left-color:var(--blue); }
.blog-callout-label {
  font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  color:var(--prose-accent, var(--teal)); margin-bottom:8px;
}
.blog-callout.callout-warning .blog-callout-label { color:var(--orange); }
.blog-callout.callout-insight .blog-callout-label { color:var(--prose-accent, var(--blue)); }
.blog-callout p { margin-bottom:0; font-size:15px; line-height:1.75; color:var(--navy); }

/* Blog — key stat / number highlight */
.blog-stat-row {
  display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:2px; background:transparent; margin:36px 0;
}
.blog-stat-item {
  background:var(--bg3); padding:24px 20px; text-align:center;
}
.blog-stat-val {
  font-size:28px; font-weight:700; letter-spacing:-.02em; line-height:1;
  color:var(--navy); margin-bottom:6px;
}
.blog-stat-item:nth-child(1) .blog-stat-val { color:var(--teal); }
.blog-stat-item:nth-child(2) .blog-stat-val { color:var(--orange); }
.blog-stat-item:nth-child(3) .blog-stat-val { color:var(--green); }
.blog-stat-item:nth-child(4) .blog-stat-val { color:var(--blue); }
.blog-stat-lbl {
  font-size:10px; font-weight:700; letter-spacing:.1em;
  text-transform:uppercase; color:var(--muted);
}

/* Blog — numbered feature cards */
.blog-steps {
  display:flex; flex-direction:column; gap:2px; margin:36px 0;
}
.blog-step {
  display:grid; grid-template-columns:56px 1fr; gap:0;
  background:var(--bg2); border:1px solid var(--border);
}
.blog-step-num {
  display:flex; align-items:center; justify-content:center;
  background:var(--bg3); font-size:20px; font-weight:700;
  color:var(--navy); letter-spacing:-.02em;
}
.blog-step-body { padding:20px 24px; }
.blog-step-title {
  font-size:16px; font-weight:700; color:var(--navy);
  margin-bottom:6px; letter-spacing:-.01em;
}
.blog-step-desc {
  font-size:15px; line-height:1.75; color:var(--muted);
}

/* Blog — key takeaway band */
.blog-takeaway {
  background:var(--navy); color:#fff; padding:32px 36px; margin:44px 0;
  position:relative;
}
.blog-takeaway::before {
  content:''; position:absolute; left:0; top:0; bottom:0;
  width:4px; background:var(--teal);
}
.blog-takeaway-label {
  font-size:10px; font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; color:var(--prose-accent, var(--teal-lt)); margin-bottom:10px;
}
.blog-takeaway p {
  color:rgba(255,255,255,.8); margin-bottom:0; font-size:15px; line-height:1.8;
}
.blog-takeaway strong { color:#fff; }

/* ─── BLOG POST — FOOTER ──────────────────── */
.blog-article-footer {
  padding-top:40px; margin-top:56px; border-top:1px solid var(--border);
}

/* ─── BLOG RESPONSIVE ──────────────────────── */
@media(max-width:1024px) {
  .blog-hero, .blog-main, .newsletter-band { padding-left:36px; padding-right:36px; }
  .blog-breadcrumb { padding-left:36px; padding-right:36px; }
  .featured-post { grid-template-columns:1fr; }
  .feat-visual { min-height:280px; }
  .topic-band { grid-template-columns:1fr; }
  .newsletter-band { grid-template-columns:1fr; gap:32px; }
  .blog-layout { grid-template-columns:1fr; padding:0 36px; }
  .blog-sidebar { display:none; }
  .blog-article { padding-right:0; }
  .blog-article-header { padding:40px 36px 36px; }
  .blog-article-header-inner { grid-template-columns:1fr; gap:28px; }
}

@media(max-width:640px) {
  .blog-hero, .blog-main, .newsletter-band { padding-left:20px; padding-right:20px; }
  .blog-breadcrumb { padding-left:20px; padding-right:20px; }
  .feat-content { padding:32px 24px; }
  .post-card { grid-template-columns:1fr; gap:12px; }
  .post-num { display:none; }
  .post-meta { flex-direction:row; align-items:center; gap:12px; }
  .post-arrow { display:none; }
  .blog-article-meta { flex-direction:column; align-items:flex-start; gap:16px; }
  .blog-layout { padding:0 20px; }
  .blog-roadmap {
    padding:12px 8px !important;
    margin-left:-20px !important;
    margin-right:-20px !important;
    border-radius:0 !important;
  }
  .blog-roadmap div[style*="width:56px"] { width:38px !important; height:38px !important; font-size:10px !important; }
  .blog-roadmap div[style*="top:28px"] { top:19px !important; }
  .blog-roadmap div[style*="font-size:13px;font-weight:700"] { font-size:11px !important; }
  .blog-roadmap div[style*="font-size:11px;color:#6b7280"] { font-size:9px !important; }
  .blog-article { padding:32px 0 48px; }
  .blog-article-header { padding:32px 20px 28px; }
  .blog-stat-row { grid-template-columns:1fr 1fr; }
  .blog-step { grid-template-columns:44px 1fr; }
  .section, .platform-section, .features-section, .ecosystem-section, .problem-section, .git-strip, .cs-cta-section, footer { overflow-x:hidden; }
  .blog-body { overflow-x:hidden; }
  .blog-body img { max-width:100%; height:auto; }
  .blog-body table { display:block; overflow-x:auto; max-width:100%; }
  .blog-body pre { overflow-x:auto; max-width:100%; }
}

/* ═══════════════════════════════════════════════════
   ABOUT PAGE (Rebuilt)
   ═══════════════════════════════════════════════════ */

/* Hero stats inside gradient panel */
.about-hero-stats {
  display:flex;flex-direction:column;gap:20px;
  border-top:1px solid rgba(255,255,255,.1);padding-top:20px;
}
.about-hero-stat-item { display:flex;align-items:baseline;gap:12px; }
.about-hero-stat-num { font-size:28px;font-weight:800;line-height:1; }

/* Hero principles (replaces stats) */
.about-hero-principles {
  display:flex;flex-direction:column;gap:18px;
  border-top:1px solid rgba(255,255,255,.12);padding-top:24px;
}
.about-hero-principle {
  display:flex;align-items:flex-start;gap:14px;
}
.about-hero-principle-dot {
  display:block;width:8px;height:8px;border-radius:50%;
  margin-top:8px;flex-shrink:0;
  box-shadow:0 0 0 4px rgba(255,255,255,.06);
}
.about-hero-principle-title {
  font-size:15px;font-weight:700;color:#fff;
  letter-spacing:-.01em;margin-bottom:2px;
}
.about-hero-principle-sub {
  font-size:13px;color:rgba(255,255,255,.75);
  line-height:1.5;
}

/* ─── CONVICTION SECTION ──────────────────── */
.about-conviction {
  background:linear-gradient(135deg,#1a2857 0%,#0d1540 100%);
  padding:80px 72px;position:relative;overflow:hidden;
}
.about-conviction::before {
  content:'';position:absolute;top:0;left:0;right:0;bottom:0;
  background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);
  background-size:60px 60px;pointer-events:none;
}
.about-conviction::after {
  content:'';position:absolute;top:-100px;right:-100px;width:500px;height:500px;
  border:1.5px solid rgba(0,150,199,.15);
  border-radius:40% 60% 70% 30%/40% 50% 60% 50%;
  pointer-events:none;animation:sectionMorph 20s ease-in-out infinite;
}
.about-conviction-inner {
  position:relative;z-index:1;max-width:1200px;margin:0 auto;
  display:grid;grid-template-columns:5fr 7fr;gap:64px;align-items:start;
}
.about-conviction-eyebrow {
  font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(255,255,255,.5);margin-bottom:24px;
}
.about-conviction-quote {
  font-size:clamp(20px,2.5vw,28px);font-weight:600;color:#fff;
  line-height:1.4;letter-spacing:-.01em;margin:0;
  border-left:3px solid var(--teal);padding-left:24px;
}
.about-conviction-attr {
  font-size:13px;font-weight:600;color:rgba(255,255,255,.4);
  margin-top:20px;letter-spacing:.04em;
}
.about-conviction-block { margin-bottom:32px; }
.about-conviction-block:last-child { margin-bottom:0; }
.about-conviction-block-eyebrow {
  font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--teal);margin-bottom:8px;
}
.about-conviction-block-title {
  font-size:20px;font-weight:700;color:#fff;margin-bottom:10px;line-height:1.3;
}
.about-conviction-block-text {
  font-size:15px;color:rgba(255,255,255,.65);line-height:1.7;
}

/* ─── SIGNALS SECTION (How We Think) ──────── */
.about-signals {
  padding:80px 72px;background:#fff;
}
.about-signals-header {
  display:flex;justify-content:space-between;align-items:flex-end;
  gap:40px;margin-bottom:48px;flex-wrap:wrap;
}
.about-signals-sub {
  font-size:15px;color:var(--muted);line-height:1.7;max-width:400px;
}
.about-signals-grid {
  display:grid;grid-template-columns:repeat(4,1fr);gap:20px;
}
.about-signal-card {
  background:#f7f7f8;padding:32px 24px;transition:transform .2s;
}
.about-signal-card:hover { transform:translateY(-3px); }
.about-signal-year {
  font-size:36px;font-weight:800;line-height:1;margin-bottom:12px;
}
.about-signal-title {
  font-size:17px;font-weight:700;color:var(--navy);margin-bottom:10px;
}
.about-signal-desc {
  font-size:14px;color:var(--muted);line-height:1.6;
}

/* ─── TEAM SECTION ────────────────────────── */
.about-team {
  padding:80px 72px;background:#fff;
}
.about-team-wrap { max-width:1200px;margin:0 auto 56px; }

/* ─── EDITORIAL PROFILE ───────────────────── */
.editorial-profile {
  max-width:1100px;margin:0 auto;
  display:grid;grid-template-columns:130px 1fr;gap:56px;
  align-items:start;position:relative;
}
.editorial-profile + .editorial-profile { margin-top:96px; }
.editorial-portrait-col {
  position:sticky;top:120px;
}
.editorial-portrait {
  position:relative;width:100%;aspect-ratio:4/5;
  overflow:hidden;background:#eef0f4;
}
.editorial-portrait img {
  width:100%;height:100%;object-fit:cover;display:block;
  filter:grayscale(15%);
  transition:filter .4s;
}
.editorial-portrait:hover img { filter:grayscale(0%); }
.editorial-portrait-fallback {
  width:100%;height:100%;display:flex;align-items:center;justify-content:center;
}
.editorial-portrait-accent {
  position:absolute;bottom:-1px;left:0;right:0;height:6px;
  background:var(--ec,#0096c7);
}
.editorial-identity {
  margin-top:28px;
}
.editorial-name {
  font-size:22px;font-weight:700;color:var(--navy);
  letter-spacing:-.02em;line-height:1.15;margin-bottom:6px;
}
.editorial-role {
  font-size:12px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;margin-bottom:20px;
}
.editorial-socials {
  display:flex;gap:10px;
}
.editorial-social {
  display:inline-flex;align-items:center;justify-content:center;
  width:38px;height:38px;border-radius:50%;
  background:#fff;border:1px solid rgba(0,0,0,.08);color:#4b5563;
  transition:all .2s;
}
.editorial-social:hover {
  background:var(--sc,#0096c7);border-color:var(--sc,#0096c7);
  color:#fff;transform:translateY(-2px);
}

/* Content column */
.editorial-content-col {
  position:relative;padding-top:20px;
}
.editorial-quote-mark {
  font-family:'Space Grotesk',serif;
  font-size:80px;line-height:.6;font-weight:700;
  margin-bottom:-12px;margin-left:-4px;
  opacity:.22;
}
.editorial-quote {
  font-size:clamp(17px,1.7vw,22px);font-weight:600;
  color:var(--navy);line-height:1.45;letter-spacing:-.005em;
  margin:0 0 40px;padding:0;border:none;
  max-width:620px;
}
.editorial-meta-grid {
  display:grid;grid-template-columns:1fr 1fr;gap:40px;
  padding-top:36px;border-top:1px solid rgba(0,0,0,.08);
}
.editorial-meta-block { }
.editorial-meta-label {
  font-size:10px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:#9ca3af;margin-bottom:10px;
  display:flex;align-items:center;gap:8px;
}
.editorial-meta-label::before {
  content:'';display:block;width:16px;height:1px;background:#9ca3af;
}
.editorial-meta-text {
  font-size:15px;color:#4b5563;line-height:1.7;margin:0;
}

@media (max-width:1100px) {
  .editorial-profile {
    grid-template-columns:140px 1fr;gap:48px;
  }
  .editorial-portrait-col { position:static; }
}
@media (max-width:768px) {
  .about-team { padding:56px 20px; }
  .editorial-profile {
    grid-template-columns:1fr;gap:32px;
  }
  .editorial-portrait-col { max-width:160px; }
  .editorial-portrait { aspect-ratio:4/5;max-width:160px; }
  .editorial-quote-mark { font-size:80px; }
  .editorial-meta-grid { grid-template-columns:1fr;gap:28px; }
}

.about-team-grid {
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px;
}
.about-team-card {
  background:#fff;padding:32px 28px;
  box-shadow:0 2px 12px rgba(0,0,0,.04);
  transition:transform .2s,box-shadow .2s;
}
.about-team-card:hover {
  transform:translateY(-3px);box-shadow:0 8px 28px rgba(0,0,0,.08);
}
.about-team-photo { margin-bottom:16px; }
.about-team-photo img {
  width:72px;height:72px;border-radius:50%;object-fit:cover;
  border:2px solid #e5e7eb;
}
.about-team-avatar {
  width:72px;height:72px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:18px;font-weight:700;color:#fff;
}
.about-team-name {
  font-size:20px;font-weight:700;color:var(--navy);margin-bottom:4px;
}
.about-team-role {
  font-size:13px;font-weight:700;letter-spacing:.04em;
  text-transform:uppercase;margin-bottom:20px;
}
.about-team-section { margin-bottom:16px; }
.about-team-label {
  font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:#9ca3af;margin-bottom:4px;
}
.about-team-text {
  font-size:14px;color:var(--muted);line-height:1.6;margin:0;
}
.about-team-vision {
  margin-top:16px;padding-top:16px;border-top:1px solid #e5e7eb;
}
.about-team-vision p {
  font-size:14px;color:var(--navy);line-height:1.6;
  margin:4px 0 0;
}
.about-team-socials {
  display:flex;gap:8px;margin-top:20px;padding-top:16px;border-top:1px solid #e5e7eb;
}
.about-social-link {
  display:inline-flex;align-items:center;justify-content:center;
  width:32px;height:32px;border-radius:6px;
  background:#f3f4f6;color:#4b5563;
  transition:background .2s,color .2s,transform .2s;
}
.about-social-link:hover {
  background:var(--sc,#0096c7);color:#fff;transform:translateY(-2px);
}

/* ─── INSIDE STORIES SECTION ──────────────── */
.about-inside-stories {
  background:#f7f7f8;padding:72px 72px 80px;position:relative;
}
.about-inside-stories-inner {
  max-width:1200px;margin:0 auto;
}
.about-inside-grid {
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px;
}
.about-inside-card {
  background:#fff;text-decoration:none;color:inherit;
  border:1px solid rgba(0,0,0,.06);
  transition:transform .2s,box-shadow .2s;
  display:flex;flex-direction:column;
}
.about-inside-card:hover {
  transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.08);
}
.about-inside-card-img {
  width:100%;aspect-ratio:16/9;background:linear-gradient(135deg,#1a2857,#0d1540);
  position:relative;overflow:hidden;
}
.about-inside-card-img img {
  width:100%;height:100%;object-fit:cover;display:block;
}
.about-inside-card-body { padding:24px 26px 28px; }
.about-inside-card-meta {
  font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:#f77f00;margin-bottom:12px;display:flex;align-items:center;gap:8px;
}
.about-inside-card-meta::before {
  content:'';display:block;width:20px;height:2px;background:#f77f00;
}
.about-inside-card-title {
  font-size:17px;font-weight:700;color:var(--navy);
  line-height:1.3;margin-bottom:10px;
}
.about-inside-card-excerpt {
  font-size:14px;color:#4b5563;line-height:1.6;margin-bottom:16px;
}
.about-inside-card-link {
  margin-top:auto;font-size:12px;font-weight:700;color:#f77f00;
  text-transform:uppercase;letter-spacing:.06em;
}
.about-inside-empty {
  text-align:center;color:#6b7280;font-size:15px;padding:40px 0;
}
@media (max-width:1100px) {
  .about-inside-grid { grid-template-columns:1fr 1fr; }
  .about-inside-stories { padding:56px 36px; }
}
@media (max-width:768px) {
  .about-inside-grid { grid-template-columns:1fr; }
  .about-inside-stories { padding:48px 20px; }
}

/* ─── GLOBAL REACH SECTION ────────────────── */
.about-global {
  background:linear-gradient(135deg,#0096c7 -20%,#1a2857 40%,#0d1540 100%);
  padding:80px 72px;position:relative;overflow:hidden;
}
.about-global::before {
  content:'';position:absolute;top:0;left:0;right:0;bottom:0;
  background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);
  background-size:60px 60px;pointer-events:none;
}
.about-global::after {
  content:'';position:absolute;bottom:-80px;right:-60px;width:400px;height:400px;
  border:1.5px solid rgba(0,150,199,.2);
  border-radius:40% 60% 70% 30%/40% 50% 60% 50%;
  pointer-events:none;animation:sectionMorph 20s ease-in-out infinite;
}
.about-global-inner {
  position:relative;z-index:1;max-width:1280px;margin:0 auto;
  display:grid;grid-template-columns:1fr 1.4fr;gap:56px;align-items:center;
}
.about-global-eyebrow {
  font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(255,255,255,.5);margin-bottom:16px;
}
.about-global-title {
  font-size:clamp(24px,3vw,36px);font-weight:700;color:#fff;
  line-height:1.15;letter-spacing:-.02em;margin-bottom:16px;
}
.about-global-sub {
  font-size:15px;color:rgba(255,255,255,.6);line-height:1.7;
}
.about-global-regions {
  display:flex;flex-wrap:wrap;gap:10px;margin-top:28px;
}
.about-region {
  display:flex;align-items:center;gap:8px;
  padding:10px 18px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
  font-size:13px;font-weight:600;color:#fff;
  transition:background .2s;
}
.about-region:hover { background:rgba(255,255,255,.1); }
.about-region-dot {
  width:8px;height:8px;border-radius:50%;background:var(--rc,#0096c7);
}
.about-global-map {
  position:relative;
}
.about-global-map svg {
  width:100%;height:auto;display:block;
}
@media (max-width:1100px) {
  .about-global-inner { grid-template-columns:1fr !important; gap:40px !important; }
  .about-global-map { max-width:640px; margin:0 auto; }
}
@media (max-width:768px) {
  .about-global-map { max-width:100%; margin:0; }
}

/* ─── ABOUT CTA BAND ─────────────────────── */
/* ─── MERGED CTA INSIDE GLOBAL REACH ─── */
.about-global-cta {
  position:relative;z-index:1;max-width:640px;margin:64px auto 0;
  text-align:center;color:#fff;
}
.about-global-cta .about-cta-sub {
  font-size:15px;color:rgba(255,255,255,.6);line-height:1.7;margin:0 0 18px;
}
.about-cta-title {
  font-size:clamp(28px,3vw,44px);font-weight:700;color:#fff;
  line-height:1.15;letter-spacing:-.03em;margin:0 0 28px;
}
.about-global-cta .about-cta-form { margin:0 auto 14px;justify-content:center; }
.about-cta-title span { color:var(--teal-lt); }
.about-cta-sub { font-size:15px;color:rgba(255,255,255,.6);line-height:1.8;margin-bottom:36px; }
.about-cta-form { display:flex;max-width:480px; }
.about-cta-inp {
  flex:1;padding:14px 18px;background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.15);border-right:none;
  color:#fff;font-family:'Space Grotesk',sans-serif;font-size:14px;outline:none;
}
.about-cta-inp::placeholder { color:rgba(255,255,255,.3); }
.about-cta-btn {
  padding:14px 32px;background:var(--teal);color:#fff;
  font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  border:none;cursor:pointer;white-space:nowrap;
  font-family:'Space Grotesk',sans-serif;transition:background .2s;
}
.about-cta-btn:hover { background:#007aaa; }
.about-cta-note { font-size:12px;color:rgba(255,255,255,.3);margin-top:10px; }

/* ─── ABOUT PAGE RESPONSIVE ──────────────── */
@media (max-width:1100px) {
  .about-conviction-inner { grid-template-columns:1fr;gap:40px; }
  .about-signals-grid { grid-template-columns:repeat(2,1fr); }
  .about-team-grid { grid-template-columns:repeat(2,1fr); }
  .about-global-inner { grid-template-columns:1fr;gap:40px; }
  .about-global-cta { margin-top:48px; }
}
@media (max-width:768px) {
  .about-conviction { padding:56px 20px; }
  .about-signals { padding:56px 20px; }
  .about-signals-grid { grid-template-columns:1fr; }
  .about-signals-header { flex-direction:column;align-items:flex-start;gap:16px; }
  .about-signals-sub { max-width:100%; }
  .about-team { padding:56px 20px; }
  .about-team-grid { grid-template-columns:1fr; }
  .about-global { padding:56px 20px; }
  .about-global-right { flex-direction:column; }
  .about-global-cta { margin-top:40px; }
  .about-cta-form { flex-direction:column; }
  .about-cta-btn { text-align:center; }
}

/* ─── DUMMY — hide old about-hero if cached pages load ─── */
.about-hero { display:none !important; }
/* OLD ABOUT CSS REMOVED — see new classes above */

/* ─── PROCESS PAGE ───────────────────────────── */
.proc-sticky-nav {
  position: fixed;
  top: 61px;
  left: 0;
  right: 0;
  z-index: 90;
  background: #ffffff;
  padding: 24px 72px 14px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  display: none;
  border-bottom: 1px solid #e5e7eb;
}
.proc-sticky-nav.visible { display: flex; justify-content: center; gap: 0; }
.proc-sticky-dot {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 10px 0;
  cursor: pointer;
  opacity: 0.4;
  transition: opacity 0.3s;
  text-decoration: none;
}
.proc-sticky-dot svg {
  background: var(--icon-bg, #0096c7);
  padding: 6px;
  border-radius: 50%;
  width: 34px;
  height: 34px;
  box-sizing: content-box;
}
.proc-sticky-dot.active { opacity: 1; }
.proc-sticky-dot span.dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  display: inline-block;
}
.proc-sticky-dot span.label {
  font-size: 15px;
  font-weight: 700;
  color: #1a2857;
}
@media (max-width: 768px) {
  .proc-sticky-nav { display:none !important; }
}
[id^="phase-"], [id^="data-phase-"], [id^="consult-phase-"], [id^="content-phase-"], [id^="digital-phase-"] {
  scroll-margin-top: 85px;
}
/* ═══ Process Tabs ═══ */
.proc-tabs {
  display: flex;
  gap: 0;
  padding-bottom: 0;
  margin-bottom: 56px;
  border-bottom: 2px solid #e2e8f0;
}
.proc-tab {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  border: none;
  border-bottom: 3px solid transparent;
  margin-bottom: -2px;
  background: transparent;
  color: #6b7280;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all .2s ease;
  white-space: nowrap;
}
.proc-tab:hover {
  color: #1a2857;
  background: transparent;
}
.proc-tab.active {
  color: var(--tab-color, #1a2857);
  border-bottom-color: var(--tab-color, #1a2857);
  background: transparent;
}
.proc-tab svg {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
}
.proc-tab-panel {
  display: none;
}
.proc-tab-panel.active {
  display: block;
}
@media (max-width: 768px) {
  .proc-tabs {
    gap: 0;
    overflow-x: auto;
    flex-wrap: nowrap;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 4px;
  }
  .proc-tabs::-webkit-scrollbar { display: none; }
  .proc-tab {
    padding: 8px 14px;
    font-size: 13px;
  }
}

.proc-phase-grid { display:grid; grid-template-columns:1fr 2fr; gap:60px; align-items:start; }
.proc-sub-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.proc-sub-card {
  padding: 20px;
  background: #ffffff;
}
.section.alt .proc-sub-card {
  background: #f7f7f8;
}
.proc-output {
  padding: 16px 0 16px 16px;
  color: #4a5568;
  font-size: 15px;
  line-height: 1.7;
  margin-top: 24px;
}

/* ─── BLOG POST — MOBILE ─────────────────── */
@media (max-width:768px) {
  .blog-article-header { padding:32px 20px 28px; }
  .blog-article-header-inner { grid-template-columns:1fr; gap:24px; }
  .blog-layout { grid-template-columns:1fr; padding:0 20px; }
  .blog-sidebar { display:none; }
  .blog-article { overflow-x:hidden; }
  .blog-prose { font-size:15px; }
  .blog-prose h2 { font-size:20px; }
  .blog-prose h3 { font-size:16px; }
  .blog-stat-row { grid-template-columns:1fr 1fr; }
  .blog-diagram-scroll > * { background-color:transparent !important; }
  .blog-diagram-scroll [style*="display:grid"] { min-width:480px; }
}


/* ─── CASE STUDY BODY — MOBILE RESPONSIVE ─── */
@media (max-width:768px) {
  /* Grid layouts inside case study body → single column */
  .dd-body [style*="display:grid"],
  .dd-content [style*="display:grid"],
  .section [style*="display:grid"] {
    grid-template-columns:1fr !important;
    gap:12px !important;
  }
  /* Max-width containers → full width (except cards inside navy containers) */
  [style*="max-width:900px"],
  [style*="max-width:420px"],
  [style*="max-width:400px"],
  [style*="max-width:380px"],
  [style*="max-width:360px"] {
    max-width:100% !important;
    padding:0 16px !important;
  }
  [style*="max-width:480px"]:not([style*="background:rgba"]) {
    max-width:100% !important;
    padding:0 16px !important;
  }
  /* Large text → scale down */
  .dd-body [style*="font-size:32px"],
  .dd-content [style*="font-size:32px"],
  .section [style*="font-size:32px"] {
    font-size:24px !important;
    word-break:break-word !important;
  }
  .dd-body [style*="font-size:28px"],
  .section [style*="font-size:28px"] {
    font-size:20px !important;
  }
  /* Navy flow-diagram containers → horizontal scroll, keep layout intact */
  .dd-body [style*="background:#1a2857"],
  .dd-content [style*="background:#1a2857"] {
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch !important;
    padding:20px 14px !important;
  }
  .dd-body [style*="background:#1a2857"] > [style*="display:flex"]:not([style*="flex-direction:column"]),
  .dd-content [style*="background:#1a2857"] > [style*="display:flex"]:not([style*="flex-direction:column"]) {
    min-width:520px !important;
  }
  /* Lead card preview inside navy containers → scroll instead of squish */
  .dd-body [style*="background:#1a2857"] > [style*="max-width:480px"],
  .dd-content [style*="background:#1a2857"] > [style*="max-width:480px"] {
    min-width:440px !important;
    max-width:none !important;
  }
  /* Impact section padding */
  .section [style*="padding:60px 0"] {
    padding:40px 0 !important;
  }
  /* Inline flex items that should wrap */
  .dd-body [style*="display:flex"][style*="gap:6px"] {
    flex-wrap:wrap !important;
  }
}

/* ═══════════════════════════════════════════════════
   FAQ Accordion (site-wide)
   Usage: .ent-faq > .ent-faq-item > .ent-faq-q + .ent-faq-a > .ent-faq-a-inner
   ═══════════════════════════════════════════════════ */
.ent-faq { margin:40px auto; max-width:800px; }
.ent-faq-item { border:1px solid rgba(0,0,0,.06); margin-bottom:-1px; background:#fff; }
.ent-faq-q {
  display:flex; justify-content:space-between; align-items:center;
  padding:18px 24px; cursor:pointer;
  font-size:15px; font-weight:600; color:#1a2857;
  transition:background .15s; user-select:none;
  gap:12px;
}
.ent-faq-q svg.faq-icon {
  width:18px; height:18px; min-width:18px;
  stroke-width:1.5; fill:none;
  color:#0096c7; flex-shrink:0;
}
.ent-faq-q .faq-text { flex:1; }
.ent-faq-q:hover { background:#f7f8fb; }
.ent-faq-q::after {
  content:'+'; font-size:20px; font-weight:400; color:#9ca3af;
  transition:transform .2s; flex-shrink:0; margin-left:16px;
}
.ent-faq-item.open .ent-faq-q::after { content:'\2212'; color:var(--teal); }
.ent-faq-a { max-height:0; overflow:hidden; transition:max-height .3s ease; }
.ent-faq-item.open .ent-faq-a { max-height:500px; }
.ent-faq-a-inner {
  padding:0 24px 18px;
  font-size:15px; line-height:1.8; color:#374151;
}

/* Dark background variant */
.ent-faq-dark .ent-faq-item { background:rgba(255,255,255,.04); border-color:rgba(255,255,255,.08); }
.ent-faq-dark .ent-faq-q { color:#fff; }
.ent-faq-dark .ent-faq-q:hover { background:rgba(255,255,255,.04); }
.ent-faq-dark .ent-faq-a-inner { color:rgba(255,255,255,.6); }

@media(max-width:768px) {
  .ent-faq { margin:28px auto; }
  .ent-faq-q { padding:14px 18px; font-size:14px; }
  .ent-faq-a-inner { padding:0 18px 14px; font-size:14px; }
}

/* ─── SOLUTIONS WE DELIVERED — shared card grid ─── */
.csb-services { padding:56px 72px;background:#f7f7f8; }
.csb-eyebrow {
  font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  margin-bottom:12px;display:flex;align-items:center;gap:10px;
}
.csb-eyebrow-bar { display:block;width:28px;height:2px; }
.csb-heading {
  font-size:clamp(24px,3vw,36px);font-weight:700;color:#1a2857;
  letter-spacing:-.02em;margin-bottom:32px;
}
.csb-svc-grid {
  display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;
}
.csb-svc-card {
  display:block;text-decoration:none;padding:28px 24px;
  background:#fff;position:relative;overflow:hidden;
  transition:all .25s ease;box-shadow:0 2px 12px rgba(0,0,0,.04);
}
.csb-svc-card:hover { transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.08); }
.csb-svc-title { font-size:18px;font-weight:700;margin-bottom:10px; }
.csb-svc-desc { font-size:13px;color:#6b7280;line-height:1.6;margin-bottom:16px; }
.csb-svc-link { font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase; }
@media (max-width:768px) {
  .csb-services { padding:40px 24px; }
}

/* ─── INSIGHTS-STYLE HERO (services, industries, case studies) ─── */
/* Breadcrumb bar above hero */
.hero-breadcrumb-wrap { background:var(--bg);padding:16px 72px 0; }
.hero-breadcrumb { font-size:12px;color:#6b7280; }
.hero-breadcrumb a { color:#6b7280;text-decoration:none; }
.hero-breadcrumb a:visited { color:#6b7280; }
.hero-breadcrumb a:hover { color:var(--navy); }
.hero-breadcrumb-sep { margin:0 8px; }
.hero-breadcrumb-cur { color:var(--navy); }

/* Wrapper (gray bg) */
.svc-hero-wrap { background:var(--bg);padding:12px 72px 56px;position:relative; }

/* Flex row — gradient left + white card right */
.ins-row1 { display:flex; }

/* Gradient panel — left 48%. No fixed heights — content drives size, padding breathes. */
.ins-gradient {
  width:48%;overflow:hidden;position:relative;flex-shrink:0;
  background:linear-gradient(135deg,#1a2857 0%,var(--tc,#0096c7) 120%);
}

/* Morphing decorative shapes (identical on all 3 pages) */
.ins-morph {
  position:absolute;pointer-events:none;
  border:1px solid rgba(255,255,255,.1);
}
.ins-morph--1 {
  top:-20%;right:-15%;width:300px;height:300px;
  border-radius:40% 60% 70% 30%/40% 50% 60% 50%;
  animation:sectionMorph 18s ease-in-out infinite;
}
.ins-morph--2 {
  bottom:-20%;left:-10%;width:200px;height:200px;
  border-color:rgba(255,255,255,.06);
  border-radius:60% 40% 30% 70%/60% 30% 70% 40%;
  animation:sectionMorph 24s ease-in-out infinite reverse;
}

/* Content wrapper inside gradient */
.ins-gradient-body { position:relative;padding:56px 48px 56px 40px;z-index:1; }

/* Text inside gradient panel — readability-first opacities */
.ins-gradient-eyebrow {
  font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(255,255,255,.5);margin-bottom:16px;
}
.ins-gradient-heading {
  font-size:15px;font-weight:700;color:rgba(255,255,255,.95);margin-bottom:2px;
}
.ins-gradient-text {
  font-size:15px;color:rgba(255,255,255,.75);line-height:1.5;
}
.ins-gradient-text-sm {
  font-size:14px;color:rgba(255,255,255,.75);line-height:1.6;
}
.ins-gradient-stat {
  font-size:42px;font-weight:800;color:#fff;line-height:1;
}
.ins-gradient-stat-label {
  font-size:15px;color:rgba(255,255,255,.75);margin-top:6px;
}
.ins-gradient-divider {
  border-top:1px solid rgba(255,255,255,.1);padding-top:16px;margin-bottom:24px;
}
/* Category label inside gradient (insights article links) */
.ins-gradient-cat {
  font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(255,255,255,.4);margin-bottom:4px;
}

.ins-gradient-link {
  display:block;text-decoration:none;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.08);
}
.ins-gradient-link-text {
  font-size:15px;font-weight:600;color:rgba(255,255,255,.9);line-height:1.4;
}
.ins-gradient-link:hover .ins-gradient-link-text { color:#fff; }
.ins-gradient-bottom { margin-top:16px; }
.ins-gradient-bottom a {
  font-size:13px;font-weight:700;color:#fff;
  text-decoration:none;letter-spacing:.03em;
  border-bottom:1px solid rgba(255,255,255,.3);
  padding-bottom:2px;transition:border-color .2s;
}
.ins-gradient-bottom a:hover {
  border-bottom-color:#fff;
}

/* Process step row inside gradient (services page) */
.ins-step {
  display:flex;align-items:flex-start;gap:14px;padding:10px 0;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.ins-step-num {
  font-size:12px;font-weight:800;min-width:22px;
  font-variant-numeric:tabular-nums;
}

/* White card — overlaps gradient by -24px */
.ins-card-overlap {
  flex:1;margin-left:-24px;background:#fff;
  box-shadow:0 8px 40px rgba(0,0,0,.1);
  padding:40px;z-index:2;align-self:center;
}

/* Eyebrow with accent bar */
.ins-card-eyebrow {
  font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--tc,#0096c7);margin-bottom:16px;
  display:flex;align-items:center;gap:10px;
}
.ins-card-eyebrow-bar {
  display:block;width:28px;height:2px;background:var(--tc,#0096c7);
}

/* Title */
.ins-card-title {
  font-size:clamp(28px,3.5vw,42px);font-weight:700;color:var(--navy);
  line-height:1.12;letter-spacing:-.02em;margin-bottom:20px;
}

/* Description */
.ins-card-desc {
  font-size:15px;color:var(--muted);line-height:1.7;margin-bottom:24px;max-width:560px;
}

/* Pill badges */
.ins-card-pills { display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px; }
.ins-card-pill {
  display:inline-block;padding:6px 16px;font-size:12px;
  font-weight:600;letter-spacing:.04em;
}

/* CTA button row */
.ins-card-actions { display:flex;gap:12px;flex-wrap:wrap; }
.ins-btn-primary {
  display:inline-block;padding:13px 32px;color:#fff;
  font-size:13px;font-weight:700;text-decoration:none;
  text-transform:uppercase;letter-spacing:.06em;
  background:var(--tc,#0096c7);transition:opacity .2s;
}
.ins-btn-primary:hover { opacity:.85; }
.ins-btn-ghost {
  display:inline-block;padding:12px 32px;
  border:1px solid #d1d5db;color:var(--navy);
  font-size:13px;font-weight:700;text-decoration:none;
  text-transform:uppercase;letter-spacing:.06em;transition:border-color .2s;
}
.ins-btn-ghost:hover { border-color:var(--navy); }

/* ─── SHARED RESPONSIVE — case studies, insights, hero sections ─── */
@media (max-width:768px) {
  /* Case study Capgemini layout — stack on mobile */
  #cases { padding:32px 20px !important; }
  .cs-row1 { height:auto !important; display:flex !important; flex-direction:column !important; gap:0 !important; }
  .cs-row1 .cs-gradient { position:relative !important; width:100% !important; min-height:180px !important; }
  .cs-row1 .cs-card-overlap { position:relative !important; width:100% !important; top:0 !important; }
  .cs-row2 { grid-template-columns:1fr !important; }
  .cs-row2 > a { min-height:220px !important; }

  /* Insights overlapping layout — stack on mobile */
  #insights { padding:32px 20px !important; }
  .ins-row1 { flex-direction:column !important; margin:0 !important; }
  .ins-gradient { width:100% !important; min-height:auto !important; }
  .ins-card-overlap { margin-right:0 !important; margin-left:0 !important; width:100% !important; }

  /* Hero sections — gradient + white card stack */
  .svc-hero-wrap { padding:12px 20px 32px !important; }
  .svc-hero-wrap .ins-row1 { flex-direction:column !important; }
  .svc-hero-wrap .ins-gradient { width:100% !important; min-height:auto !important; }
  .svc-hero-wrap .ins-card-overlap { margin-left:0 !important; margin-right:0 !important; width:100% !important; padding:28px 24px !important; }
  .ins-gradient-body { padding:28px 24px !important; }
  .ins-card-title { font-size:clamp(24px,5vw,36px) !important; }

  /* Breadcrumb above hero */
  .hero-breadcrumb-wrap { padding:12px 20px 0 !important; }
  div[style*="padding:16px 72px 0"] { padding:12px 20px 0 !important; }

  /* Blog featured section */
  .blog-featured-wrap { padding:24px 20px !important; }

  /* Services card grid */
  .csb-services { padding:32px 20px !important; }

  /* Case studies listing hero */
  .cs-list-hero { padding:32px 20px !important; grid-template-columns:1fr !important; gap:32px !important; }
  .cs-cta-band { padding:40px 20px !important; grid-template-columns:1fr !important; gap:32px !important; }

  /* CTA sections */
  .cs-cta-section { padding:40px 20px !important; grid-template-columns:1fr !important; gap:32px !important; }

  /* Blog layout */
  .blog-layout { grid-template-columns:1fr !important; }
  .blog-sidebar { display:none !important; }
  .blog-article { padding-right:0 !important; }

  /* Section padding */
  .section { padding:48px 20px !important; }
  .section.alt { padding:48px 20px !important; }

}

/* ─── SHARED KEYFRAMES (used across homepage, case studies, industries) ─── */
@keyframes sectionMorph {
  0%   { border-radius:40% 60% 70% 30%/40% 50% 60% 50%; transform:rotate(0deg); }
  50%  { border-radius:60% 40% 30% 70%/60% 30% 70% 40%; }
  100% { border-radius:40% 60% 70% 30%/40% 50% 60% 50%; transform:rotate(360deg); }
}
@keyframes sectionDrift { from { background-position:0 0; } to { background-position:40px 40px; } }
@keyframes sectionRotate { from { transform:rotate(0deg); } to { transform:rotate(360deg); } }
@keyframes svcSweep { 0% { left:-100%; } 50% { left:100%; } 100% { left:100%; } }
@keyframes sectionPulse {
  0%, 100% { transform:scale(1); opacity:.03; }
  50% { transform:scale(1.1); opacity:.06; }
}

/* ─── FLOATING BRAND ARROWS ─────────────────── */
.brand-arrow { position:absolute;pointer-events:none;opacity:.35;z-index:0; }
.brand-arrow svg { width:100%;height:100%; }
.brand-arrow--1 { top:15%;left:8%;width:14px;height:12px;color:#f77f00;animation:brandDrift1 18s ease-in-out infinite; }
.brand-arrow--2 { top:40%;right:10%;width:10px;height:9px;color:#0096c7;animation:brandDrift2 22s ease-in-out infinite; }
.brand-arrow--3 { bottom:25%;left:45%;width:12px;height:10px;color:#4aaa57;animation:brandDrift3 16s ease-in-out infinite; }
@keyframes brandDrift1 { 0%{transform:translate(0,0) rotate(0deg)} 20%{transform:translate(80px,-50px) rotate(45deg)} 40%{transform:translate(-40px,-80px) rotate(-30deg)} 60%{transform:translate(60px,40px) rotate(60deg)} 80%{transform:translate(-60px,30px) rotate(-45deg)} 100%{transform:translate(0,0) rotate(0deg)} }
@keyframes brandDrift2 { 0%{transform:translate(0,0) rotate(0deg)} 25%{transform:translate(-70px,60px) rotate(-50deg)} 50%{transform:translate(50px,-40px) rotate(40deg)} 75%{transform:translate(-30px,-70px) rotate(-60deg)} 100%{transform:translate(0,0) rotate(0deg)} }
@keyframes brandDrift3 { 0%{transform:translate(0,0) rotate(0deg)} 20%{transform:translate(50px,70px) rotate(35deg)} 45%{transform:translate(-80px,-20px) rotate(-55deg)} 70%{transform:translate(40px,-60px) rotate(50deg)} 100%{transform:translate(0,0) rotate(0deg)} }


/* ─── INLINE BODY LINKS ─── soft-underline editorial style
   Applies only to unstyled <a> tags inside article body containers.
   Links with their own class (buttons, CTAs, nav items) are untouched. */
.blog-prose a:not([class]),
.blog-body a:not([class]),
.post-body a:not([class]),
.dd-body a:not([class]),
.kb-article-body a:not([class]),
.ent-faq-a-inner a:not([class]) {
  color: inherit;
  text-decoration: underline;
  text-decoration-color: rgba(0, 150, 199, 0.45);
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
  text-decoration-skip-ink: auto;
  transition: text-decoration-color .15s ease, color .15s ease;
}
.blog-prose a:not([class]):hover,
.blog-body a:not([class]):hover,
.post-body a:not([class]):hover,
.dd-body a:not([class]):hover,
.kb-article-body a:not([class]):hover,
.ent-faq-a-inner a:not([class]):hover {
  color: #0096c7;
  text-decoration-color: #0096c7;
  text-decoration-thickness: 2px;
}
