/* ============================================================
   corporate-reputation-management-page.css — v2 Redesign
   Premium dark editorial — Sage Titans brand
   ============================================================ */

/* ── DESIGN TOKENS ── */
:root {
  --crm-navy:   #020c1b;
  --crm-mid:    #0e2a4a;
  --crm-blue:   #184f78;
  --crm-accent: #29abe2;
  --crm-lime:   #caef45;
  --crm-text:   rgba(255,255,255,0.88);
  --crm-muted:  rgba(255,255,255,0.5);
  --crm-border: rgba(255,255,255,0.08);
  --crm-card:   rgba(255,255,255,0.04);
  --crm-r:      14px;
}

/* ── BANNER ── */
.gam-ban-sec { display:flex; align-items:center; justify-content:space-between; gap:60px; padding-top:0; }
.gam-ban-content { width:55%; }
.gam-ban-content h1 { font-size:clamp(2rem,3.6vw,3rem); font-weight:700; color:#fff; line-height:1.15; letter-spacing:-0.02em; margin-bottom:20px; }
.gam-ban-content h1 span { color:var(--crm-lime); font-size:inherit; display:block; }
.gam-ban-content p { font-size:17px; font-weight:300; color:var(--crm-text); line-height:1.75; padding-top:0; margin-bottom:0; max-width:520px; }
.gam-ban-img { flex:0 0 auto; max-width:460px; }
.gam-ban-img img { max-width:100%; height:auto; display:block; filter:drop-shadow(0 24px 48px rgba(0,0,0,0.45)); }
.hero-cta-btn { display:flex; margin-top:36px; gap:14px; flex-wrap:wrap; }
.raq-cta-btn { display:inline-flex; align-items:center; background:var(--crm-lime); color:#0a1628; font-size:15px; font-weight:700; padding:13px 28px; border-radius:50px; text-decoration:none; border:none; cursor:pointer; transition:background 0.2s,transform 0.15s,box-shadow 0.2s; white-space:nowrap; }
.raq-cta-btn:hover { background:#b8e020; color:#0a1628; transform:translateY(-2px); box-shadow:0 8px 24px rgba(202,239,69,0.3); }
.pkg-cta-btn { display:inline-flex; align-items:center; background:rgba(255,255,255,0.08); color:#fff; font-size:15px; font-weight:600; padding:13px 28px; border-radius:50px; text-decoration:none; border:1px solid rgba(255,255,255,0.18); cursor:pointer; transition:all 0.2s; white-space:nowrap; }
.pkg-cta-btn:hover { background:rgba(255,255,255,0.14); color:#fff; transform:translateY(-2px); }

/* ══════════════════════════════════════════════
   REPUTATION MONITOR WIDGET — banner right side
   White card on dark banner — max contrast
   ══════════════════════════════════════════════ */
.crm-widget {
  flex: 0 0 auto;
  width: 520px;
  background: #ffffff;
  border: none;
  border-radius: 20px;
  padding: 0 0 22px;
  overflow: hidden;
  box-shadow: 0 40px 100px rgba(0,0,0,0.55), 0 8px 24px rgba(0,0,0,0.25);
  font-family: 'Sora', sans-serif;
}

/* Header bar — light grey strip */
.crm-w-header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 20px;
  background: #f4f5f7;
  border-bottom: 1px solid #e8eaed;
}
.crm-w-dots { display:flex; gap:6px; }
.crm-dot { width:11px; height:11px; border-radius:50%; display:block; }
.crm-dot--red    { background:#ff5f57; }
.crm-dot--yellow { background:#febc2e; }
.crm-dot--green  { background:#28c840; }
.crm-w-title {
  flex: 1;
  font-size: 12px;
  font-weight: 600;
  color: #1e293b;        /* was #4a5568 (~5.2) — darker for safety */
  letter-spacing: 0.03em;
}
.crm-w-live {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 10px;
  font-weight: 700;
  color: #14532d;        /* was #16a34a (~3.8 on #f4f5f7) → #14532d = ~7.2:1 ✓ */
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.crm-live-pulse {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: #16a34a;   /* dot colour — decorative, not text */
  display: block;
  animation: crm-pulse 1.6s ease-in-out infinite;
}
@keyframes crm-pulse {
  0%,100% { opacity:1; transform:scale(1); }
  50%      { opacity:0.35; transform:scale(0.65); }
}

/* Score ring row */
.crm-w-score-row {
  display: flex;
  align-items: center;
  gap: 22px;
  padding: 22px 20px 18px;
  border-bottom: 1px solid #edf0f4;
}
.crm-score-ring {
  position: relative;
  width: 96px;
  height: 96px;
  flex-shrink: 0;
}
.crm-ring-svg {
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}
.crm-ring-track {
  fill: none;
  stroke: #e8edf3;
  stroke-width: 8;
}
.crm-ring-fill {
  fill: none;
  stroke: url(#crm-ring-grad);
  stroke-width: 8;
  stroke-linecap: round;
  stroke-dasharray: 248 263.9;
  stroke-dashoffset: 0;
}
.crm-ring-label {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.crm-ring-num {
  font-size: 24px;
  font-weight: 800;
  color: #0a1628;
  line-height: 1;
}
.crm-ring-sub {
  font-size: 9px;
  font-weight: 700;
  color: #475569;        /* was #94a3b8 (~2.7:1 on #fff) → #475569 = ~5.9:1 ✓ */
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-top: 3px;
}
.crm-score-meta { flex: 1; min-width: 0; }
.crm-score-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 700;
  color: #14532d;        /* was #16a34a (~3.8 on #f0fdf4) → #14532d = ~7.5:1 ✓ */
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  border-radius: 50px;
  padding: 3px 10px 3px 7px;
  margin-bottom: 10px;
}
.crm-status-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: #16a34a;
  flex-shrink: 0;
}
.crm-score-desc {
  font-size: 12.5px;
  color: #64748b;
  line-height: 1.6;
  margin: 0 0 10px;
}
.crm-score-desc strong { color: #0a1628; font-weight: 700; }
.crm-delta {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 11.5px;
  font-weight: 700;
  color: #166534;
  background: #dcfce7;
  border: 1px solid #bbf7d0;
  border-radius: 50px;
  padding: 4px 12px;
}

/* Section label */
.crm-w-section-label {
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: #475569;        /* was #94a3b8 (~2.7:1) → #475569 = ~5.9:1 ✓ */
  padding: 16px 20px 9px;
}

/* Platform sentiment bars */
.crm-platform-list { padding: 0 20px; display: flex; flex-direction: column; gap: 11px; }
.crm-platform-row { display: flex; align-items: center; gap: 12px; }
.crm-platform-name {
  font-size: 12px;
  font-weight: 500;
  color: #374151;
  width: 118px;
  flex-shrink: 0;
  white-space: nowrap;
}
.crm-bar-track {
  flex: 1;
  height: 7px;
  background: #e8edf3;
  border-radius: 99px;
  overflow: hidden;
}
.crm-bar-fill {
  height: 100%;
  width: var(--crm-bar-w);
  background: linear-gradient(90deg, #29abe2, #5fd4f8);
  border-radius: 99px;
}
.crm-bar--lime { background: linear-gradient(90deg, #84cc16, #caef45); }
.crm-platform-score {
  font-size: 12px;
  font-weight: 700;
  width: 36px;
  text-align: right;
  flex-shrink: 0;
}
.crm-score--high { color: #0369a1; }   /* was #0284c7 (~3.3:1) → #0369a1 = ~5.1:1 ✓ */
.crm-score--lime { color: #3f6212; }   /* was #65a30d (~4.1:1) → #3f6212 = ~7.8:1 ✓ */
.crm-score--mid  { color: #475569; }   /* was #94a3b8 (~2.7:1) → #475569 = ~5.9:1 ✓ */

/* Stats row */
.crm-w-stats {
  display: flex;
  justify-content: space-between;
  margin: 18px 20px 0;
  padding: 15px 18px;
  background: #f8fafc;
  border-radius: 12px;
  border: 1px solid #e2e8f0;
}
.crm-w-stat { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.crm-w-stat-val {
  font-size: 16px;
  font-weight: 800;
  color: #0a1628;
  line-height: 1;
}
.crm-w-stat-val.crm-lime { color: #3f6212; }  /* was #65a30d (~4.2 on #f8fafc) → #3f6212 = ~7.9:1 ✓ */
.crm-w-stat-lbl {
  font-size: 9px;
  font-weight: 600;                            /* bumped from 500 → 600 for legibility */
  color: #475569;                              /* was #94a3b8 (~2.7:1) → #475569 = ~5.8:1 ✓ */
  text-transform: uppercase;
  letter-spacing: 0.06em;
  text-align: center;
}

/* SVG gradient def — inline in widget HTML */
.crm-widget svg defs { display: block; }

/* ── BANNER MOBILE — beats sage-site-components .gam-ban-content { flex:0 0 50%; max-width:55% } ── */
@media (max-width:900px) {
  .inner-p-banner .gam-ban-sec { flex-direction:column; align-items:flex-start; gap:24px; padding:0; }
  .inner-p-banner .gam-ban-content { flex:0 0 100% !important; max-width:100% !important; width:100% !important; }
  .inner-p-banner .gam-ban-img { display:none; }
  .crm-widget { display:none; }
  .hero-cta-btn { margin-top:24px; }
  .hero-cta-btn .raq-cta-btn { font-size:14px; padding:12px 22px; white-space:normal; text-align:center; }
}

/* ── WHY CRM STRIP ── */
.st-awards-sec { background:linear-gradient(135deg,#071828 0%,#0d2540 100%); padding:64px 0; border-top:1px solid rgba(41,171,226,0.18); border-bottom:1px solid rgba(41,171,226,0.18); }
.st-awards-sec .container { max-width:860px; text-align:center; }
.st-awards-sec h2 { font-size:clamp(1.4rem,2.6vw,2rem); font-weight:700; color:#fff; line-height:1.3; margin-bottom:20px; }
.st-awards-sec p { font-size:16px; font-weight:300; color:var(--crm-text); line-height:1.8; margin:0; }

/* ── UNDERSTANDING VALUE ── */
.gam-services-sec { padding:80px 0; margin:0; }
.gam-s-head { text-align:center; }
.gam-s-head h2 { font-size:clamp(1.6rem,2.8vw,2.2rem); font-weight:700; color:#0a1628; line-height:1.25; }
.gam-s-head-amend h2 { width:70%; margin:0 auto 16px; }
.gam-s-head-amend p { font-size:16px; font-weight:300; color:#516070; line-height:1.75; width:72%; margin:0 auto 52px; text-align:center; padding:0; }
.gam-s-sec-right { display:flex; align-items:flex-start; gap:56px; background:none; padding-bottom:0; margin-top:0; }
.gam-s-sec-right img { max-width:360px; border-radius:var(--crm-r); flex-shrink:0; box-shadow:0 20px 60px rgba(0,0,0,0.12); object-fit:cover; }
.gam-r-sec-content { min-width:0; flex:1; }
.gam-r-sec-content h2 { font-size:1.4rem; color:#0a1628; font-weight:700; }
.gam-r-sec-content p { font-size:16px; color:#516070; line-height:1.7; padding:0; margin-bottom:16px; }
.gam-r-sec-content ul { list-style:none; padding:0; margin:0; }
.gam-r-sec-content a { margin-top:28px; display:inline-flex; }
.gam-r-sec-content-amend ul { display:flex; flex-direction:column; gap:16px; }
.gam-r-sec-content-amend ul li { background:none; padding:20px 24px; border-radius:var(--crm-r); border:1px solid #e4ecf2; margin-bottom:0; transition:border-color 0.2s,box-shadow 0.2s; list-style:none; }
.gam-r-sec-content-amend ul li:hover { border-color:#29abe2; box-shadow:0 4px 20px rgba(41,171,226,0.1); }
.gam-r-sec-content-amend ul li span { display:block; font-size:16px; color:#184f78; font-weight:700; margin-bottom:6px; }
.gam-r-sec-content-amend ul li p { font-size:14px; font-weight:300; color:#516070; line-height:1.65; margin:0; padding:0; }
.gam-r-sec-content-amend ul li br { display:none; }

/* ── PROCESS SECTION ── */
.client-grow-sec {
  background: linear-gradient(160deg, #020c1b 0%, #071828 40%, #0a1f3d 70%, #020c1b 100%);
  padding: 88px 0;
  width: 100%;
  border-radius: 0;
  position: relative;
  overflow: hidden;
}
/* subtle radial glow behind the cards */
.client-grow-sec::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 900px;
  height: 500px;
  background: radial-gradient(ellipse, rgba(41,171,226,0.07) 0%, transparent 70%);
  pointer-events: none;
}
.cgs-head-sec { text-align: center; position: relative; z-index: 1; }
.cgs-head-sec h2 {
  font-size: clamp(1.6rem, 2.8vw, 2.2rem);
  font-weight: 700;
  color: #fff;
  line-height: 1.3;
  margin-bottom: 16px;
}
.cgs-head-sec p {
  font-size: 16px;
  font-weight: 300;
  color: var(--crm-muted);
  line-height: 1.75;
  width: 62%;
  margin: 0 auto 60px;
}

/* ── PROCESS GRID — 4 columns with connector ── */
.cgs-card-sec {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  padding: 0;
  margin-top: 0;
  position: relative;
  z-index: 1;
  counter-reset: process-step;
}

/* horizontal connector line running through the step-number circles */
.cgs-card-sec::before {
  content: '';
  position: absolute;
  top: 52px; /* vertically centred on the number circle */
  left: calc(12.5% + 28px); /* start after first circle */
  right: calc(12.5% + 28px); /* end before last circle */
  height: 2px;
  background: linear-gradient(90deg,
    var(--crm-accent) 0%,
    var(--crm-lime) 50%,
    var(--crm-accent) 100%);
  opacity: 0.35;
  pointer-events: none;
}

.cgs-card {
  background: rgba(255,255,255,0.035);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 18px;
  padding: 0 20px 32px;
  margin: 0 10px;
  text-align: left;
  position: relative;
  overflow: hidden;
  transition: border-color 0.28s, transform 0.28s, box-shadow 0.28s;
  counter-increment: process-step;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

/* top accent bar — always visible, gradient shifts on hover */
.cgs-card::after {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, rgba(41,171,226,0.4), rgba(202,239,69,0.4));
  transition: background 0.3s;
}
.cgs-card:hover::after {
  background: linear-gradient(90deg, var(--crm-accent), var(--crm-lime));
}
.cgs-card:hover {
  border-color: rgba(41,171,226,0.4);
  transform: translateY(-6px);
  box-shadow: 0 24px 56px rgba(0,0,0,0.4), 0 0 0 1px rgba(41,171,226,0.15);
}

/* ── STEP NUMBER BADGE ── */
.cgs-card-number {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: linear-gradient(135deg, #0e2a4a 0%, #163d5e 100%);
  border: 2px solid rgba(41,171,226,0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 28px auto 20px;  /* centred at top so connector line passes through it */
  align-self: center;
  position: relative;
  z-index: 2;
  flex-shrink: 0;
  transition: border-color 0.28s, background 0.28s;
}
.cgs-card:hover .cgs-card-number {
  border-color: var(--crm-accent);
  background: linear-gradient(135deg, #184f78 0%, #1a6496 100%);
}
.cgs-card-number span {
  font-size: 17px;
  font-weight: 800;
  color: var(--crm-accent);
  line-height: 1;
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
}
.cgs-card:hover .cgs-card-number span {
  color: #fff;
}

/* ── ICON ── */
.cgs-card img {
  max-width: 180px;
  height: auto;
  object-fit: contain;
  margin: 20px auto 0;
  display: block;
  align-self: center;
  filter: drop-shadow(0 4px 12px rgba(41,171,226,0.3));
  transition: filter 0.28s, transform 0.28s;
}
.cgs-card:hover img {
  filter: drop-shadow(0 6px 20px rgba(41,171,226,0.5));
  transform: scale(1.08);
}

/* ── CARD TEXT ── */
.cgs-card h3 {
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  padding-bottom: 12px;
  margin: 16px 0 12px;
  text-align: left;
  line-height: 1.4;
  width: 100%;
}
.cgs-card p {
  font-size: 14px;
  font-weight: 300;
  color: var(--crm-muted);
  line-height: 1.75;
  text-align: left;
  padding-top: 0;
  margin: 0;
  flex: 1;
}
.cgs-card ul { margin-top: 16px; }
.cgs-card ul li {
  font-size: 13px;
  font-weight: 400;
  color: var(--crm-text);
  background: url(../images/list-icon-dark.webp) no-repeat left top;
  padding-left: 22px;
  background-position-y: 2px;
  margin-bottom: 6px;
  line-height: 1.5;
  list-style: none;
  filter: brightness(3);
}
.cgs-card-amend h3 { text-align: left; }
.cgs-card-amend p  { text-align: left; }
.paid-m-cta-btn { text-align: center; margin-top: 52px; position: relative; z-index: 1; }

/* ── ELEMENTS SECTION ── */
.mobile-app-sec { padding:80px 0; margin-top:0; background:none; }
.m-app-head { text-align:center; }
.m-app-head h2 { font-size:clamp(1.6rem,2.8vw,2.2rem); font-weight:700; color:#0a1628; line-height:1.3; }
.m-app-head-amend h2 { width:65%; margin:0 auto 16px; }
.m-app-head-amend p { font-size:16px; font-weight:300; color:#516070; line-height:1.75; width:68%; margin:0 auto 48px; text-align:center; padding:0; }
.m-app-card-sec { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-bottom:24px; }
.m-app-cards { margin-top:0; border-radius:var(--crm-r); overflow:hidden; border:1px solid #e4ecf2; transition:box-shadow 0.25s,transform 0.25s; background:#fff; }
.m-app-cards:hover { box-shadow:0 16px 48px rgba(0,0,0,0.1); transform:translateY(-3px); }
.m-app-cards img { width:100%; height:auto; object-fit:contain; display:block; background:#f8f9fb; padding:16px; }
.m-app-cards h2 { font-size:18px; color:#0a1628; font-weight:700; padding:20px 24px 8px; margin:0; line-height:1.3; }
.m-app-cards p { font-size:14px; line-height:1.7; color:#516070; font-weight:300; padding:0 24px 24px; margin:0; }

/* ── VALUE SECTION ── */
.why-sage-sec { display:flex; align-items:center; gap:64px; padding:80px 0; margin-top:0; background:none; }
.why-sage-sec img { max-width:380px; flex-shrink:0; border-radius:var(--crm-r); box-shadow:0 20px 60px rgba(0,0,0,0.1); }
.why-sage-content { min-width:0; flex:1; }
.why-sage-content h2 { font-size:clamp(1.6rem,2.5vw,2.1rem); font-weight:700; color:#0a1628; line-height:1.25; margin-bottom:16px; }
.why-sage-content p { font-size:15px; font-weight:300; color:#516070; line-height:1.75; }
.why-sage-content h3 { font-size:17px; font-weight:700; color:#184f78; margin-top:24px; margin-bottom:8px; }
.why-sage-content ul { margin-top:20px; list-style:none; padding:0; }
.why-sage-content ul li { background:url(../images/tick-green-22.webp) no-repeat left top; background-position-x:8px; background-position-y:4px; padding-left:40px; margin-bottom:10px; font-size:14px; line-height:1.6; color:#1a2a3a; list-style:none; }
.why-sage-sec-amend { background:linear-gradient(135deg,#1d2a8e 0%,#3038b0 100%); padding:60px; border-radius:var(--crm-r); margin-bottom:80px; }
.why-sage-content-amend h2 { color:#fff; }
.why-sage-content-amend p { color:rgba(255,255,255,0.8); }
.why-sage-content-amend h3 { font-size:18px; color:var(--crm-lime); margin-top:28px; font-weight:600; }
.why-sage-content-amend span a { margin-left:0; margin-top:24px; display:inline-flex; }
.why-sage-sec-amend img { border-radius:var(--crm-r); max-width:100%; }

/* ── WHY CHOOSE ACCORDION ── */
.seo-serve-sec { display:flex; align-items:flex-start; gap:48px; margin-bottom:80px; flex-wrap:nowrap; }
.seo-serve-head { padding:40px 36px; background:linear-gradient(140deg,#f0f6ff 0%,#e8f2ff 100%); max-width:480px; border-radius:var(--crm-r); flex-shrink:0; border:1px solid #d0e4f7; }
.seo-serve-head h1,.seo-serve-head h2 { color:#0a1628; font-size:clamp(1.4rem,2.2vw,1.8rem); font-weight:700; margin-bottom:14px; line-height:1.3; }
.seo-serve-head p { color:#516070; font-size:15px; font-weight:300; margin-bottom:0; line-height:1.7; }
.seo-serve-head-amend h2 { font-size:clamp(1.3rem,2vw,1.6rem); }
.seo-serve-head-amend p { font-size:14px; }
.seo-serve-tabs { flex:1; min-width:0; background:#fff; border:1px solid #e0eaf5; border-radius:var(--crm-r); overflow:hidden; }
.accordion--radio { display:flex; flex-direction:column; }
.tab { border-bottom:1px solid #e4ecf2; }
.tab:last-child { border-bottom:none; }
.tab input { position:absolute; opacity:0; z-index:-1; }
.tab__content { max-height:0; overflow:hidden; transition:max-height 0.4s ease; }
.tab input:checked ~ .tab__content { max-height:200px; }
.tab__label { display:flex; align-items:center; cursor:pointer; padding:18px 16px; color:#0a1628; font-size:16px; font-weight:600; line-height:1.4; position:relative; transition:color 0.2s; }
.tab__label:hover { color:#184f78; }
.tab input:checked + .tab__label { color:#184f78; }
.tab__label span { background:#0a1628; color:#fff; font-size:13px; border-radius:50%; width:28px; height:28px; line-height:28px; text-align:center; font-weight:700; margin-right:14px; flex-shrink:0; transition:background 0.2s; }
.tab input:checked + .tab__label span { background:#184f78; }
.tab__label::after { content:"\276F"; position:absolute; right:12px; transform:rotate(90deg); transition:transform 0.3s ease; font-size:13px; color:#aab5c0; }
.tab input:checked + .tab__label::after { transform:rotate(270deg); color:#184f78; }
.tab__content p { padding:4px 16px 20px 56px; font-size:14px; line-height:1.7; color:#516070; font-weight:300; margin:0; }

/* ── LONG-TERM SUCCESS ── */
.w-analytics-sec { margin:0 0 80px; }
.w-analytics-sec h2 { font-size:clamp(1.6rem,2.8vw,2.1rem); font-weight:700; color:#0a1628; text-align:center; width:70%; margin:0 auto 16px; line-height:1.3; }
.w-analytics-sec > p { font-size:16px; font-weight:300; color:#516070; line-height:1.75; width:68%; margin:0 auto 48px; text-align:center; padding:0; }
.w-ana-card-sec { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.w-ana-card { border-radius:var(--crm-r); background:#f6faff; padding:32px; border:1px solid #e0eaf5; margin-top:0; transition:border-color 0.2s,box-shadow 0.2s; }
.w-ana-card:hover { border-color:#29abe2; box-shadow:0 8px 32px rgba(41,171,226,0.1); }
.w-ana-card span { background:transparent; display:block; margin-bottom:20px; }
.w-ana-card span img { border-radius:10px; max-width:100%; }
.w-ana-card h3 { font-size:20px; font-weight:700; color:#0a1628; border-bottom:1px solid #dde8f0; padding-bottom:12px; margin-bottom:14px; margin-top:0; }
.w-ana-card ul { margin-top:14px; }
.w-ana-card ul li { background:url(../images/tick-blk-19.webp) no-repeat left top; padding-left:25px; background-position-y:2px; margin-bottom:7px; list-style:none; font-size:14px; color:#3d5060; }
.w-ana-card-amend { width:auto; text-align:left; }
.w-ana-card-amend p { text-align:left !important; margin-top:12px; width:100% !important; font-size:15px; font-weight:300; color:#516070; line-height:1.7; }
.w-ana-card-amend img { max-width:100%; }
.w-ana-card-amend span { background-color:transparent; }
.w-ana-card-amend span img { border-radius:var(--crm-r); }

/* ── SUCCESS STORIES ── */
.ppc-r-head { margin-top:0; margin-bottom:0; }
.ppc-r-head h2 { font-size:clamp(1.6rem,2.8vw,2.1rem); font-weight:700; color:#0a1628; text-align:center; line-height:1.3; }
.ppc-r-head-amend h2 { width:70%; margin:0 auto; }
.ppc-r-sec { display:flex; background:linear-gradient(135deg,#0e2240 0%,#1a3a6a 100%); padding:52px; border-radius:var(--crm-r); margin-top:32px; column-gap:64px; align-items:center; flex-wrap:nowrap; margin-bottom:80px; }
.ppc-r-sec-amend { background:linear-gradient(135deg,#0e2240 0%,#1a3a6a 100%); padding:52px; border-radius:var(--crm-r); width:100%; margin:32px 0 80px; column-gap:64px; display:flex; align-items:center; }
.ppc-r-img-sec { text-align:center; flex-shrink:0; max-width:320px; width:100%; }
.ppc-r-img-sec img { display:block; border-radius:var(--crm-r); max-width:100%; width:100%; height:auto; }
.ppc-r-img-sec a { display:inline-flex; margin-top:20px; background:var(--crm-lime); color:#0a1628; font-weight:700; padding:12px 24px; border-radius:50px; font-size:14px; text-decoration:none; border:none; }
.ppc-r-list { flex:1; min-width:0; }
.ppc-r-list > p { color:rgba(255,255,255,0.9); font-size:15px; font-weight:500; margin-bottom:16px; }
.ppc-r-list ul { margin-top:0; list-style:none; padding:0; }
.ppc-r-list-amend ul li { border-radius:var(--crm-r); padding:20px 20px 16px 52px; color:#fff; height:auto; min-height:auto; margin-bottom:16px; font-size:16px; font-weight:600; min-width:0; background:url(../images/tick-green-22.webp) no-repeat left top rgba(255,255,255,0.06); background-position-x:16px; background-position-y:22px; border:1px solid rgba(255,255,255,0.1); list-style:none; }
.ppc-r-list-amend ul li p { font-size:14px; font-weight:300; margin-top:8px; color:rgba(255,255,255,0.75); line-height:1.6; }

/* ── JOIN HEADING ── */
.m-shot-head { display:block; margin-top:0; margin-bottom:0; text-align:center; }
.m-shot-head h2 { font-size:clamp(1.6rem,2.8vw,2.2rem); width:65%; text-align:center; margin:0 auto 16px; font-weight:700; color:#0a1628; line-height:1.3; }
.m-shot-head p { font-size:16px; font-weight:300; color:#516070; line-height:1.75; width:65%; margin:0 auto 48px; text-align:center; }
.m-shot-head-amend { margin-bottom:0; }

/* ══════════════════════════════════════════════════════════════
   CTA BAND — FRESH REWRITE
   Problem: sage-site-components.css loads async and has:
     .ms-cta-sec h2 { color: rgba(0,0,0,0.87) !important }
     .ms-cta-sec h2 span { color: rgba(0,0,0,0.87) !important }
   This page CSS loads render-blocking BEFORE components,
   so we need the SAME !important with a MORE SPECIFIC selector
   to win the cascade when components eventually loads.
   Solution: add .our-mission-cta to the selector chain.
   ══════════════════════════════════════════════════════════════ */
.our-mission-cta {
  background: linear-gradient(135deg, #020c1b 0%, #0e2a4a 50%, #020c1b 100%) !important;
  padding: 60px 80px;
  border-radius: var(--crm-r);
  text-align: center;
  margin: 0 auto 80px;
  max-width: 1100px;
  border: 1px solid rgba(41,171,226,0.2);
}
.ms-cta-sec { display:flex; flex-direction:column; align-items:center; gap:28px; }

/* Force white on ALL text inside — beats .ms-cta-sec h2 { color: rgba(0,0,0,0.87) !important } */
.our-mission-cta.ms-cta-sec h1,
.our-mission-cta.ms-cta-sec h2,
.our-mission-cta.ms-cta-sec h3,
.our-mission-cta .ms-cta-sec h1,
.our-mission-cta .ms-cta-sec h2,
.our-mission-cta .ms-cta-sec h3,
.our-mission-cta h1,
.our-mission-cta h2,
.our-mission-cta h3 {
  font-size: clamp(1.3rem, 2.2vw, 1.8rem) !important;
  font-weight: 400 !important;
  color: #ffffff !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

/* Highlighted spans — lime accent, beats .ms-cta-sec h2 span !important */
.our-mission-cta.ms-cta-sec h2 span,
.our-mission-cta.ms-cta-sec h3 span,
.our-mission-cta .ms-cta-sec h2 span,
.our-mission-cta .ms-cta-sec h3 span,
.our-mission-cta h2 span,
.our-mission-cta h3 span {
  color: #caef45 !important;
  font-weight: 700 !important;
  font-size: inherit !important;
  display: inline !important;
}

/* Strong tags */
.our-mission-cta h2 strong,
.our-mission-cta h3 strong { color: #ffffff !important; font-weight: 700 !important; }

/* CTA button inside band */
.our-mission-cta-amend .om-cta { font-size:16px; font-weight:700; padding:14px 32px; }

@media (max-width:768px) {
  .our-mission-cta { padding:36px 24px; margin-bottom:48px; }
  .our-mission-cta h2,
  .our-mission-cta h3 { font-size: clamp(1.1rem, 5vw, 1.4rem) !important; }
}

@media (max-width:1024px) {
  .gam-s-head-amend h2,.gam-s-head-amend p { width:100%; }
  .cgs-card-sec { grid-template-columns:repeat(2,1fr); gap:0; }
  .cgs-card-sec::before { display:none; }
  .gam-s-sec-right { flex-wrap:wrap; gap:32px; }
  .gam-s-sec-right img { max-width:100%; }
  .gam-r-sec-content { min-width:100%; }
  .why-sage-sec { flex-wrap:wrap; gap:36px; }
  .why-sage-content { min-width:100%; }
  .seo-serve-sec { flex-wrap:wrap; }
  .seo-serve-head { max-width:100%; }
  .w-analytics-sec h2,.w-analytics-sec > p { width:100%; }
  .m-app-head-amend h2,.m-app-head-amend p { width:100%; }
  .ppc-r-sec,.ppc-r-sec-amend { flex-wrap:wrap; padding:36px; column-gap:32px; }
  .ppc-r-img-sec { max-width:100%; width:100%; }
  .ppc-r-list-amend ul li { min-width:0; }
  .our-mission-cta { padding:40px 36px; }
}

@media (max-width:768px) {
  .gam-ban-sec { flex-wrap:wrap; gap:32px; }
  .gam-ban-content { width:100%; max-width:100%; flex:0 0 100%; }
  .gam-ban-content h1 { font-size:clamp(1.8rem,6vw,2.4rem); }
  .gam-ban-img { max-width:100%; margin:0 auto; text-align:center; display:none; }
  .cgs-card-sec { grid-template-columns:1fr; }
  .cgs-card { margin:0 0 16px; }
  .cgs-card-number { margin:24px auto 16px; }
  .cgs-head-sec p { width:100%; }
  .m-app-card-sec { grid-template-columns:1fr; }
  .w-ana-card-sec { grid-template-columns:1fr; }
  .why-sage-sec-amend { padding:32px 24px; }
  .m-shot-head h2,.m-shot-head p { width:100%; }
  .st-awards-sec { padding:44px 0; }
  .gam-services-sec { padding:48px 0; }
  .mobile-app-sec { padding:48px 0; }
  .client-grow-sec { padding:48px 0; }
  .paid-m-cta-btn { margin-top:32px; }
  .seo-serve-sec { margin-bottom:48px; }
  .seo-serve-head { padding:28px 24px; }
  .ppc-r-sec,.ppc-r-sec-amend { flex-direction:column; padding:28px 20px; margin-bottom:48px; }
  .ppc-r-img-sec { max-width:100%; width:100%; flex-shrink:1; }
  .ppc-r-img-sec img { max-width:100%; border-radius:10px; }
  .ppc-r-head-amend h2 { width:100%; }
  .w-analytics-sec { margin-bottom:48px; }
}


/* ══════════════════════════════════════════════════════════════
   FOOTER TOUCH TARGET FIX — Google PageSpeed mobile requirement
   Min 48×48px touch area for footer copyright links
   ══════════════════════════════════════════════════════════════ */
@media (max-width: 767px) {
  .copyright-sec ul { display: flex; flex-wrap: wrap; gap: 4px; }
  .copyright-sec ul li { display: block; }
  .copyright-sec ul li a {
    display: inline-flex;
    align-items: center;
    min-height: 48px;
    padding: 12px 16px !important;
    font-size: 14px;
  }
}
