/*
Theme Name: FutureCreeps Agency
Theme URI: https://futurecreeps.com
Author: FutureCreeps Digital Architecture
Author URI: https://futurecreeps.com
Description: Production-ready B2B digital growth agency WordPress theme. Engineered with scalable CPTs, dynamic templates, hybrid light/dark design system, comprehensive JSON-LD schema, and optimal Core Web Vitals performance.
Version: 1.1.4
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
License: GNU General Public License v2 or later
Text Domain: futurecreeps
*/

/* ==========================================================================
   GLOBAL SVG & ICON SIZE SAFEGUARDS
   Ensures no icon or checklist SVG can ever expand out of proportion.
   ========================================================================== */
svg {
  max-width: 100%;
}

.fcs svg {
  flex-shrink: 0;
}

/* Pillar Form Checks & Features (Fixes giant checkmarks in Screenshot 1) */
.pfc-item {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  font-size: 0.94rem !important;
  font-weight: 600 !important;
  color: var(--t-hi, #0F172A) !important;
  margin-bottom: 12px !important;
}

.pfc-item svg {
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  max-width: 22px !important;
  min-height: 22px !important;
  max-height: 22px !important;
  flex: 0 0 22px !important;
  color: #10b981 !important;
  stroke: #10b981 !important;
  display: inline-block !important;
}

.card-features li {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-size: 0.88rem !important;
  color: var(--t-hi, #1E293B) !important;
  margin-bottom: 8px !important;
}

.card-features li svg {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  max-width: 18px !important;
  min-height: 18px !important;
  max-height: 18px !important;
  flex: 0 0 18px !important;
  color: #10b981 !important;
  stroke: #10b981 !important;
  display: inline-block !important;
}

/* Benefit Cards Icons */
.fcs-benefit-icon {
  width: 52px !important;
  height: 52px !important;
  min-width: 52px !important;
  min-height: 52px !important;
  border-radius: 14px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 22px !important;
  flex-shrink: 0 !important;
}

.fcs-benefit-icon svg {
  width: 26px !important;
  height: 26px !important;
  max-width: 26px !important;
  max-height: 26px !important;
  display: block !important;
}

/* Four-Fold Focus Icons */
.fcs-focus-icon-wrap {
  width: 76px !important;
  height: 76px !important;
  min-width: 76px !important;
  min-height: 76px !important;
  border-radius: 20px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 24px !important;
  flex-shrink: 0 !important;
}

.fcs-focus-icon-wrap svg {
  width: 38px !important;
  height: 38px !important;
  max-width: 38px !important;
  max-height: 38px !important;
  display: block !important;
}

/* Performance Feature Icons (Fixes giant icons in Screenshot 3) */
.fcs-perf-check,
.fcs-perf-feat-icon {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  border-radius: 12px !important;
  background: #EFF6FF !important;
  color: #2563EB !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 44px !important;
  margin-top: 2px !important;
}

.fcs-perf-check svg,
.fcs-perf-feat-icon svg {
  width: 22px !important;
  height: 22px !important;
  max-width: 22px !important;
  max-height: 22px !important;
  display: block !important;
}

.fcs-perf-feat,
.fcs-perf-feature-card {
  display: flex !important;
  gap: 18px !important;
  padding: 22px !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  border: 1px solid rgba(226, 232, 240, 0.9) !important;
  box-shadow: 0 4px 14px -3px rgba(15, 23, 42, 0.04) !important;
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease !important;
}

.fcs-perf-feat:hover,
.fcs-perf-feature-card:hover {
  transform: translateX(6px) !important;
  border-color: #2563EB !important;
  box-shadow: 0 10px 25px -6px rgba(37, 99, 235, 0.15) !important;
}

.fcs-perf-feat h4,
.fcs-perf-feat h3,
.fcs-perf-feature-card h4,
.fcs-perf-feature-card h3 {
  font-size: 1.12rem !important;
  font-weight: 750 !important;
  color: var(--ink, #0F172A) !important;
  margin-bottom: 6px !important;
  line-height: 1.35 !important;
}

.fcs-perf-feat p,
.fcs-perf-feature-card p {
  color: #475569 !important;
  font-size: 0.92rem !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

/* What's Included Icons & Checklists */
.fcs-inc-icon {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  max-width: 48px !important;
  min-height: 48px !important;
  max-height: 48px !important;
  border-radius: 12px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 16px 0 20px !important;
  flex-shrink: 0 !important;
}

.fcs-inc-icon svg {
  width: 24px !important;
  height: 24px !important;
  max-width: 24px !important;
  max-height: 24px !important;
  display: block !important;
}

.fcs-inc-checklist li svg {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  max-width: 16px !important;
  min-height: 16px !important;
  max-height: 16px !important;
  flex: 0 0 16px !important;
  display: inline-block !important;
}

/* Customer Reviews Grid & Cards */
.fcs-testi-grid,
.fcs-reviews-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 28px !important;
  margin-top: 48px !important;
}

@media (max-width: 992px) {
  .fcs-testi-grid,
  .fcs-reviews-grid {
    grid-template-columns: 1fr !important;
  }
}

.fcs-testi-card,
.fcs-review-card {
  background: #ffffff !important;
  border-radius: 20px !important;
  padding: 34px 28px !important;
  border: 1px solid rgba(226, 232, 240, 0.9) !important;
  box-shadow: 0 4px 18px -4px rgba(19, 35, 58, 0.04) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

.fcs-testi-card:hover,
.fcs-review-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 16px 36px -8px rgba(19, 35, 58, 0.1) !important;
}

.fcs-rating-bar {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-top: 14px !important;
}

.fcs-stars {
  color: #F59E0B !important;
  font-size: 1.2rem !important;
  display: inline-flex !important;
  gap: 2px !important;
}

.fcs-stars svg {
  width: 18px !important;
  height: 18px !important;
  fill: #F59E0B !important;
}

.fcs-rating-score {
  font-weight: 800 !important;
  font-size: 1.1rem !important;
  color: var(--ink, #0F172A) !important;
}

.fcs-rating-count {
  font-size: 0.88rem !important;
  color: #64748B !important;
}

.fcs-review-quote,
.fcs-testi-quote {
  color: #334155 !important;
  font-size: 0.95rem !important;
  line-height: 1.65 !important;
  margin: 14px 0 24px !important;
  font-style: italic !important;
}

.fcs-review-author,
.fcs-testi-author {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  padding-top: 18px !important;
  border-top: 1px solid #F1F5F9 !important;
}

.fcs-review-avatar,
.fcs-testi-avatar {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  border-radius: 50% !important;
  background: #2563EB !important;
  color: #ffffff !important;
  font-weight: 800 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 0.92rem !important;
}

.fcs-review-name,
.fcs-testi-meta b {
  display: block !important;
  font-weight: 750 !important;
  font-size: 0.92rem !important;
  color: var(--ink, #0F172A) !important;
}

.fcs-review-role,
.fcs-testi-meta span {
  display: block !important;
  font-size: 0.8rem !important;
  color: #64748B !important;
}

.fcs-review-verified {
  margin-left: auto !important;
  font-size: 0.75rem !important;
  color: #059669 !important;
  background: #ECFDF5 !important;
  padding: 3px 8px !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
}

/* Telemetry Board in Performance Section */
.fcs-perf-telemetry {
  background: #0B132B !important;
  color: #ffffff !important;
  border-radius: 22px !important;
  padding: 36px 32px !important;
  box-shadow: 0 20px 50px -15px rgba(0, 0, 0, 0.4) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
}

.fcs-perf-tele-head {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding-bottom: 20px !important;
  margin-bottom: 24px !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
}

.fcs-perf-tele-title {
  display: block !important;
  font-size: 1.1rem !important;
  font-weight: 800 !important;
  color: #ffffff !important;
}

.fcs-perf-tele-sub {
  display: block !important;
  font-size: 0.82rem !important;
  color: #94A3B8 !important;
}

.fcs-tele-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  background: rgba(16, 185, 129, 0.15) !important;
  color: #34D399 !important;
  border: 1px solid rgba(16, 185, 129, 0.3) !important;
  padding: 4px 12px !important;
  border-radius: 999px !important;
}

.fcs-tele-metrics {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 16px !important;
  margin-bottom: 24px !important;
}

.fcs-tele-metric-card {
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 14px !important;
  padding: 18px !important;
}

.fcs-tele-metric-val {
  display: block !important;
  font-size: 1.55rem !important;
  font-weight: 800 !important;
  font-family: var(--display, inherit) !important;
  margin-bottom: 4px !important;
}

.fcs-tele-metric-lbl {
  display: block !important;
  font-size: 0.8rem !important;
  color: #94A3B8 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  font-weight: 600 !important;
}

.fcs-tele-bar {
  margin-top: 14px !important;
  font-size: 0.82rem !important;
  color: #CBD5E1 !important;
}

.fcs-tele-progress-track {
  width: 100% !important;
  height: 6px !important;
  background: rgba(255, 255, 255, 0.1) !important;
  border-radius: 999px !important;
  margin-top: 6px !important;
  overflow: hidden !important;
}

.fcs-tele-progress-bar {
  height: 100% !important;
  border-radius: 999px !important;
}

/* Connected Growth Services Grid */
.fcs-related-services-sec .fcs-benefits-grid {
  grid-template-columns: repeat(3, 1fr) !important;
}

@media (max-width: 992px) {
  .fcs-related-services-sec .fcs-benefits-grid {
    grid-template-columns: 1fr !important;
  }
}

.fcs-benefit-footer {
  margin-top: 20px !important;
  padding-top: 14px !important;
  border-top: 1px solid #F1F5F9 !important;
}

.fcs-benefit-metric {
  display: block !important;
  font-size: 1.3rem !important;
  font-weight: 800 !important;
  color: #2563EB !important;
  font-family: var(--display, inherit) !important;
}

.fcs-benefit-metric-label {
  display: block !important;
  font-size: 0.78rem !important;
  color: #64748B !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  font-weight: 600 !important;
}

/* ==========================================================================
   LIGHTWEIGHT GRID UTILITY CLASSES
   Ensures any templates using standard container/row/col-lg-* work flawlessly
   ========================================================================== */
.container,
.wrap-container {
  width: 100%;
  max-width: 1220px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
  box-sizing: border-box;
}

.row {
  display: flex;
  flex-wrap: wrap;
  margin-left: -16px;
  margin-right: -16px;
  box-sizing: border-box;
}

.row > * {
  box-sizing: border-box;
  padding-left: 16px;
  padding-right: 16px;
}

.col-12 { width: 100%; }
.col-6  { width: 50%; }
.col-md-3 { width: 25%; }
.col-md-4 { width: 33.333333%; }
.col-md-6 { width: 50%; }
.col-lg-3 { width: 25%; }
.col-lg-4 { width: 33.333333%; }
.col-lg-5 { width: 41.666667%; }
.col-lg-6 { width: 50%; }
.col-lg-7 { width: 58.333333%; }
.col-lg-8 { width: 66.666667%; }
.col-lg-9 { width: 75%; }

@media (max-width: 991px) {
  .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9 {
    width: 100%;
  }
}

@media (max-width: 767px) {
  .col-md-3, .col-md-4, .col-md-6 {
    width: 100%;
  }
  .col-6 {
    width: 100%;
  }
}

.d-flex { display: flex !important; }
.d-inline-flex { display: inline-flex !important; }
.flex-column { flex-direction: column !important; }
.flex-wrap { flex-wrap: wrap !important; }
.justify-content-center { justify-content: center !important; }
.justify-content-between { justify-content: space-between !important; }
.align-items-center { align-items: center !important; }
.align-items-start { align-items: flex-start !important; }
.text-center { text-align: center !important; }
.text-start { text-align: left !important; }
.text-end { text-align: right !important; }

.gap-1 { gap: 4px !important; }
.gap-2 { gap: 8px !important; }
.gap-3 { gap: 16px !important; }
.gap-4 { gap: 24px !important; }
.gap-5 { gap: 32px !important; }

.g-2 { margin-left: -4px; margin-right: -4px; }
.g-2 > * { padding-left: 4px; padding-right: 4px; padding-bottom: 8px; }
.g-3 { margin-left: -8px; margin-right: -8px; }
.g-3 > * { padding-left: 8px; padding-right: 8px; padding-bottom: 16px; }
.g-4 { margin-left: -12px; margin-right: -12px; }
.g-4 > * { padding-left: 12px; padding-right: 12px; padding-bottom: 24px; }
.g-5 { margin-left: -16px; margin-right: -16px; }
.g-5 > * { padding-left: 16px; padding-right: 16px; padding-bottom: 32px; }

.h-100 { height: 100% !important; }
.w-100 { width: 100% !important; }
.mx-auto { margin-left: auto !important; margin-right: auto !important; }
.mb-0 { margin-bottom: 0 !important; }
.mb-1 { margin-bottom: 4px !important; }
.mb-2 { margin-bottom: 8px !important; }
.mb-3 { margin-bottom: 16px !important; }
.mb-4 { margin-bottom: 24px !important; }
.mb-5 { margin-bottom: 32px !important; }
.py-4 { padding-top: 24px !important; padding-bottom: 24px !important; }
.py-5 { padding-top: 48px !important; padding-bottom: 48px !important; }
.p-3 { padding: 16px !important; }
.p-4 { padding: 24px !important; }
.p-5 { padding: 32px !important; }

.rounded-2 { border-radius: 8px !important; }
.rounded-3 { border-radius: 12px !important; }
.rounded-4 { border-radius: 20px !important; }
.rounded-pill { border-radius: 9999px !important; }
.rounded-circle { border-radius: 50% !important; }

.shadow-sm { box-shadow: 0 1px 3px rgba(0,0,0,0.06) !important; }
.shadow-md { box-shadow: 0 4px 6px -1px rgba(0,0,0,0.08) !important; }
.shadow-lg { box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1) !important; }
.shadow-xl { box-shadow: 0 20px 25px -5px rgba(0,0,0,0.12) !important; }
.shadow-2xl { box-shadow: 0 25px 50px -12px rgba(0,0,0,0.25) !important; }

.hover-lift {
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}
.hover-lift:hover {
  transform: translateY(-5px) !important;
}

/* ==========================================================================
   FOUR-FOLD STRATEGIC FOCUS SYSTEM (Modern Dark Architecture with Futuristic Contrast)
   ========================================================================== */
.fcs-focus-sec,
.fcs-four-focus-sec,
.fcs-four {
  background: radial-gradient(circle at 50% 0%, #172554 0%, #0B132B 55%, #030712 100%) !important;
  color: #ffffff !important;
  position: relative !important;
  overflow: hidden !important;
  padding: 104px 0 !important;
}

.fcs-focus-sec::before,
.fcs-four-focus-sec::before,
.fcs-four::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 2px !important;
  background: linear-gradient(90deg, transparent, #3B82F6 50%, transparent) !important;
}

.fcs-focus-sec::after,
.fcs-four-focus-sec::after,
.fcs-four::after {
  content: "" !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 2px !important;
  background: linear-gradient(90deg, transparent, #6366F1 50%, transparent) !important;
}

.fcs-focus-sec h2,
.fcs-four-focus-sec h2,
.fcs-four h2 {
  color: #ffffff !important;
  font-size: clamp(2rem, 3.5vw, 2.85rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.15 !important;
  margin-bottom: 14px !important;
}

.fcs-focus-sec h2 strong,
.fcs-four-focus-sec h2 strong,
.fcs-four h2 strong {
  background: linear-gradient(90deg, #60A5FA 0%, #A78BFA 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

.fcs-focus-sec .fcs-intro,
.fcs-four-focus-sec .fcs-intro,
.fcs-focus-sec .fcs-focus-intro,
.fcs-four-focus-sec .fcs-focus-intro,
.fcs-four .fcs-lead {
  color: #94A3B8 !important;
  font-size: 1.1rem !important;
  line-height: 1.65 !important;
  max-width: 720px !important;
  margin: 0 auto !important;
}

.fcs-focus-grid,
.fcs-four-focus-grid,
.fcs-four-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 32px !important;
  margin-top: 54px !important;
}

.fcs-focus-card,
.fcs-four-focus-card,
.fcs-four-card {
  background: #ffffff !important;
  border-radius: 22px !important;
  padding: 42px 36px !important;
  color: #0F172A !important;
  box-shadow: 0 20px 50px -15px rgba(0, 0, 0, 0.45) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.3s ease !important;
  position: relative !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
}

.fcs-focus-card::before,
.fcs-four-focus-card::before,
.fcs-four-card::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 5px !important;
}

.fcs-focus-card:nth-child(1)::before,
.fcs-four-focus-card:nth-child(1)::before,
.fcs-four-card:nth-child(1)::before { background: linear-gradient(90deg, #2563EB, #06B6D4) !important; }

.fcs-focus-card:nth-child(2)::before,
.fcs-four-focus-card:nth-child(2)::before,
.fcs-four-card:nth-child(2)::before { background: linear-gradient(90deg, #6366F1, #8B5CF6) !important; }

.fcs-focus-card:nth-child(3)::before,
.fcs-four-focus-card:nth-child(3)::before,
.fcs-four-card:nth-child(3)::before { background: linear-gradient(90deg, #F59E0B, #EA580C) !important; }

.fcs-focus-card:nth-child(4)::before,
.fcs-four-focus-card:nth-child(4)::before,
.fcs-four-card:nth-child(4)::before { background: linear-gradient(90deg, #10B981, #059669) !important; }

.fcs-focus-card:hover,
.fcs-four-focus-card:hover,
.fcs-four-card:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 32px 70px -18px rgba(37, 99, 235, 0.4) !important;
}

.fcs-focus-num-badge,
.fcs-focus-watermark,
.fcs-four-step {
  position: absolute !important;
  top: 24px !important;
  right: 28px !important;
  font-family: var(--display, inherit) !important;
  font-size: 2.4rem !important;
  font-weight: 800 !important;
  color: #F1F5F9 !important;
  line-height: 1 !important;
  pointer-events: none !important;
}

.fcs-focus-icon-wrap {
  width: 76px !important;
  height: 76px !important;
  border-radius: 20px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 24px !important;
  box-shadow: 0 8px 20px -4px rgba(37, 99, 235, 0.18) !important;
  transition: transform 0.3s ease !important;
}

.fcs-focus-card:hover .fcs-focus-icon-wrap,
.fcs-four-focus-card:hover .fcs-focus-icon-wrap {
  transform: scale(1.08) !important;
}

.fcs-focus-icon-wrap svg {
  width: 38px !important;
  height: 38px !important;
}

.fcs-focus-icon--blue   { background: #EFF6FF !important; border: 1.5px solid #DBEAFE !important; color: #2563EB !important; }
.fcs-focus-icon--indigo { background: #EEF2FF !important; border: 1.5px solid #E0E7FF !important; color: #4F46E5 !important; }
.fcs-focus-icon--amber  { background: #FFFBEB !important; border: 1.5px solid #FEF3C7 !important; color: #D97706 !important; }
.fcs-focus-icon--green  { background: #ECFDF5 !important; border: 1.5px solid #D1FAE5 !important; color: #059669 !important; }

.fcs-focus-card h3,
.fcs-four-focus-card h3,
.fcs-four-card h3 {
  font-size: 1.35rem !important;
  font-weight: 800 !important;
  color: #0F172A !important;
  margin-bottom: 12px !important;
  letter-spacing: -0.015em !important;
  line-height: 1.3 !important;
}

.fcs-focus-card p,
.fcs-four-focus-card p,
.fcs-four-card p {
  color: #475569 !important;
  font-size: 0.98rem !important;
  line-height: 1.65 !important;
  margin: 0 !important;
}

.fcs-focus-deliverables {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-top: 20px !important;
  padding-top: 16px !important;
  border-top: 1px solid #F1F5F9 !important;
}

.fcs-focus-deliverable-item {
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  color: #475569 !important;
  background: #F8FAFC !important;
  border: 1px solid #E2E8F0 !important;
  padding: 4px 10px !important;
  border-radius: 6px !important;
}

@media (max-width: 991px) {
  .fcs-focus-grid,
  .fcs-four-focus-grid,
  .fcs-four-grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
}

/* ==========================================================================
   BOTTOM HIGH-CONVERTING CTA BANNER SYSTEM (Atmospheric Dark Canvas)
   Fixes washed-out / invisible text across all templates
   ========================================================================== */
.fcs-bottom-cta,
.fcs-cta-box,
.fcs-cta {
  background: linear-gradient(135deg, #070B19 0%, #0F172A 50%, #1E1B4B 100%) !important;
  color: #ffffff !important;
  position: relative !important;
  overflow: hidden !important;
}

.fcs-bottom-cta {
  padding: 96px 0 !important;
}

.fcs-cta-box {
  background: linear-gradient(135deg, #0B132B 0%, #172554 50%, #1E1B4B 100%) !important;
  border-radius: 28px !important;
  padding: 68px 44px !important;
  box-shadow: 0 25px 60px -15px rgba(11, 19, 43, 0.65) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  text-align: center !important;
  position: relative !important;
  overflow: hidden !important;
}

.fcs-cta-box::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 2px !important;
  background: linear-gradient(90deg, transparent, #38BDF8 50%, transparent) !important;
}

.fcs-cta-box h2,
.fcs-bottom-cta h2,
.fcs-cta h2 {
  color: #ffffff !important;
  font-size: clamp(2rem, 3.5vw, 2.75rem) !important;
  font-weight: 850 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.18 !important;
  margin-bottom: 16px !important;
}

.fcs-cta-box p,
.fcs-bottom-cta p,
.fcs-cta p,
.fcs-cta-desc {
  color: #CBD5E1 !important;
  font-size: 1.1rem !important;
  line-height: 1.68 !important;
  max-width: 680px !important;
  margin: 0 auto 28px !important;
}

.fcs-cta-box .fcs-btns,
.fcs-bottom-cta .fcs-btns {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 16px !important;
  margin-top: 28px !important;
}

.fcs-cta-box .fcs-btn--light,
.fcs-bottom-cta .fcs-btn--light {
  background: #ffffff !important;
  color: #1E3A8A !important;
  font-weight: 750 !important;
  padding: 14px 32px !important;
  border-radius: 12px !important;
  box-shadow: 0 10px 25px -5px rgba(0,0,0,0.3) !important;
  border: none !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
}

.fcs-cta-box .fcs-btn--light:hover,
.fcs-bottom-cta .fcs-btn--light:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 15px 35px -5px rgba(0,0,0,0.4) !important;
}

.fcs-cta-box .fcs-btn--outline-light,
.fcs-bottom-cta .fcs-btn--outline-light {
  background: rgba(255,255,255,0.08) !important;
  border: 1.5px solid rgba(255,255,255,0.4) !important;
  color: #ffffff !important;
  font-weight: 650 !important;
  padding: 14px 30px !important;
  border-radius: 12px !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
}

.fcs-cta-box .fcs-btn--outline-light:hover,
.fcs-bottom-cta .fcs-btn--outline-light:hover {
  background: rgba(255,255,255,0.16) !important;
  border-color: #ffffff !important;
  transform: translateY(-3px) !important;
}

/* ==========================================================================
   ELEVATED HIGH-CONVERTING AUDIT FORM STYLING (/digital-marketing-services/)
   ========================================================================== */
.fc-audit-card {
  background: #ffffff !important;
  border-radius: 24px !important;
  padding: 38px 34px !important;
  box-shadow: 0 25px 60px -15px rgba(15, 23, 42, 0.12) !important;
  border: 1.5px solid #E2E8F0 !important;
  position: relative !important;
}

.fc-audit-card-head {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding-bottom: 18px !important;
  margin-bottom: 24px !important;
  border-bottom: 1px solid #F1F5F9 !important;
}

.fc-audit-pulse {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 0.78rem !important;
  font-weight: 750 !important;
  color: #059669 !important;
  letter-spacing: 0.04em !important;
}

.fc-audit-badge {
  background: #EFF6FF !important;
  color: #2563EB !important;
  border: 1px solid #DBEAFE !important;
  font-size: 0.72rem !important;
  font-weight: 750 !important;
  padding: 4px 10px !important;
  border-radius: 100px !important;
  text-transform: uppercase !important;
}

.fc-field-wrap {
  position: relative !important;
  margin-bottom: 16px !important;
}

.fc-field-wrap label {
  display: block !important;
  font-size: 0.86rem !important;
  font-weight: 650 !important;
  color: #1E293B !important;
  margin-bottom: 6px !important;
}

.fc-field-wrap label .req {
  color: #EF4444 !important;
}

.fc-input-inner {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
}

.fc-field-icon {
  position: absolute !important;
  left: 14px !important;
  color: #94A3B8 !important;
  pointer-events: none !important;
  width: 18px !important;
  height: 18px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.fc-field-icon svg {
  width: 18px !important;
  height: 18px !important;
}

.fc-field-wrap input.form-control,
.fc-field-wrap select.form-control {
  width: 100% !important;
  height: 48px !important;
  padding: 10px 14px 10px 44px !important;
  border-radius: 10px !important;
  border: 1.5px solid #CBD5E1 !important;
  background: #F8FAFC !important;
  font-size: 0.94rem !important;
  color: #0F172A !important;
  transition: all 0.2s ease !important;
  box-sizing: border-box !important;
}

.fc-field-wrap textarea.form-control {
  width: 100% !important;
  padding: 12px 14px !important;
  border-radius: 10px !important;
  border: 1.5px solid #CBD5E1 !important;
  background: #F8FAFC !important;
  font-size: 0.94rem !important;
  color: #0F172A !important;
  transition: all 0.2s ease !important;
  box-sizing: border-box !important;
  font-family: inherit !important;
}

.fc-field-wrap input.form-control:focus,
.fc-field-wrap select.form-control:focus,
.fc-field-wrap textarea.form-control:focus {
  outline: none !important;
  border-color: #2563EB !important;
  background: #ffffff !important;
  box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12) !important;
}

.fc-service-chips-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 8px !important;
  margin-top: 6px !important;
  margin-bottom: 16px !important;
}

.fc-service-chip {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px 12px !important;
  border-radius: 8px !important;
  border: 1.5px solid #E2E8F0 !important;
  background: #F8FAFC !important;
  font-size: 0.82rem !important;
  font-weight: 650 !important;
  color: #334155 !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
  user-select: none !important;
}

.fc-service-chip:hover {
  border-color: #93C5FD !important;
  background: #EFF6FF !important;
}

.fc-service-chip input[type="checkbox"] {
  accent-color: #2563EB !important;
  width: 15px !important;
  height: 15px !important;
  cursor: pointer !important;
  margin: 0 !important;
}

.fc-submit-btn {
  background: linear-gradient(135deg, #2563EB 0%, #1D4ED8 100%) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 12px !important;
  height: 54px !important;
  font-size: 1rem !important;
  font-weight: 750 !important;
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  box-shadow: 0 12px 28px -6px rgba(37, 99, 235, 0.45) !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
  margin-top: 14px !important;
}

.fc-submit-btn:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 16px 36px -6px rgba(37, 99, 235, 0.6) !important;
}

.fc-form-guarantee {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  font-size: 0.78rem !important;
  color: #64748B !important;
  margin-top: 14px !important;
  text-align: center !important;
}

/* ==========================================================================
   GLOBAL SECTION HEADING & ALIGNMENT STANDARDS
   Ensures consistent centering across all service and landing page modules.
   ========================================================================== */

/* Centered section heading container */
.fcs-section-head {
  text-align: center !important;
  max-width: 820px !important;
  margin: 0 auto 52px !important;
}

/* Any block heading inside a centered container or centered section */
[style*="text-align: center"] > h2,
[style*="text-align:center"] > h2,
.sec-head.center h2,
.fcs-section-head h2,
.fcs-benefits-sec h2,
.fcs-perf h2,
.fcs-perf-sec h2,
.fcs-included-sec h2,
.fcs-included-hero-box h2,
.fcs-related-services-sec h2,
.fcs-faq-sec h2 {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 820px !important;
}

/* Subheadings / intro paragraphs inside centered containers */
[style*="text-align: center"] > p,
[style*="text-align:center"] > p,
.sec-head.center p,
.fcs-section-head .fcs-lead,
.fcs-section-head .fcs-intro,
.fcs-section-head p,
.fcs-benefits-sec .fcs-intro,
.fcs-perf .fcs-intro,
.fcs-perf-sec .fcs-intro,
.fcs-related-services-sec .fcs-intro,
.fcs-faq-sec .fcs-intro {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Chips and pills inside centered containers */
[style*="text-align: center"] > .fcs-chip,
[style*="text-align:center"] > .fcs-chip,
[style*="text-align: center"] > .fcs-pill,
[style*="text-align:center"] > .fcs-pill,
.fcs-section-head .fcs-chip,
.fcs-section-head .fcs-pill {
  display: inline-flex !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Fallback styling for .fcs-pill if present anywhere */
.fcs-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 4px 12px !important;
  border-radius: 999px !important;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  background: #EFF6FF !important;
  color: #1D4ED8 !important;
  border: 1px solid rgba(59, 130, 246, 0.25) !important;
  margin-bottom: 16px !important;
}

