/* ============================================================
   Click Rafters - Complete Stylesheet
   Brand palette (DashClicks-inspired):
   Navy (#0d1424), White (#fff), Brand Blue (#2d6df6 / #1b54d4 / #6fa0ff)
   Cool multi-colour accents (Why Click Rafters / services / process):
   blue, light-blue, teal, periwinkle, purple
   Font: Inter
   ============================================================ */

/* ── Reset & Base ────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; overflow-x: clip; }
/* Forbid horizontal panning entirely: reveal animations translate elements
   ±28px past the viewport edge, and with plain overflow-x:hidden a trackpad
   swipe / scrollIntoView can still shift the page sideways and leave a
   stuck white strip. "clip" makes that overflow unscrollable; the hidden
   line is the fallback for older browsers. */
html { overflow-x: hidden; }
html { overflow-x: clip; }
body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: var(--ink);
  background: var(--cream);
  overflow-x: hidden;
}
img, video { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
ul, ol { list-style: none; }
button { cursor: pointer; border: none; background: none; font: inherit; }
input, textarea, select { font: inherit; }
strong { font-weight: 600; }

/* ── CSS Variables ───────────────────────────────────────────── */
:root {
  /* Brand = DashClicks blue (kept under --orange name so all references update) */
  --orange:       #2d6df6;
  --orange-dark:  #1b54d4;
  --orange-light: #6fa0ff;
  /* Pastel accent palette */
  --coral:        #2d6df6;
  --yellow:       #6fa0ff;
  --mint:         #6fcdb3;
  --peri:         #8ab6f9;
  --lavender:     #c3a9f0;
  /* Light surfaces */
  --cream:        #ffffff;
  --cream-2:      #f4f7fb;
  --ink:          #0d1424;
  --black:        #0d1424;
  --white:        #fff;
  --gray-100:     #f4f6fa;
  --gray-200:     #e6eaf1;
  --gray-300:     #d3dae6;
  --gray-500:     #6b7280;
  --gray-700:     #374151;
  --gray-900:     #0d1424;
  --font:         'Inter', sans-serif;
  --radius-sm:    4px;
  --radius-md:    8px;
  --radius-lg:    12px;
  --transition:   .22s ease;
  --shadow-sm:    0 2px 8px rgba(0,0,0,.08);
  --shadow-md:    0 4px 20px rgba(0,0,0,.12);
  --shadow-lg:    0 8px 40px rgba(0,0,0,.16);
  --container:    1200px;
  --nav-height:   84px;
  /* Unified vertical rhythm for page sections - keeps every section's
     top/bottom padding and header spacing identical for a clean look */
  --section-pad-y:        96px;
  --section-pad-y-mobile: 64px;
  --section-head-mb:      56px;
}

/* ── Container ───────────────────────────────────────────────── */
.container {
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 24px;
}
@media (max-width: 768px) { .container { padding: 0 16px; } }

/* ── Sections ────────────────────────────────────────────────── */
.section { padding: 80px 0; }
.section--light { background: var(--cream-2); }
.section--dark  { background: var(--ink); color: var(--white); }
@media (max-width: 768px) { .section { padding: 56px 0; } }
/* Tighten the unified section rhythm on smaller screens - every section
   that uses --section-pad-y shrinks together, keeping spacing consistent */
@media (max-width: 768px) {
  :root { --section-pad-y: var(--section-pad-y-mobile); --section-head-mb: 40px; }
}

.section-header { text-align: center; margin-bottom: var(--section-head-mb); }
.section-tag {
  display: inline-block;
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--orange);
  margin-bottom: 12px;
}
.section-tag--light { color: var(--coral); }
.section-heading {
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -.02em;
  color: var(--gray-900);
}
.section-heading--light { color: var(--ink); }
.section-subheading {
  font-size: 1.05rem;
  color: var(--gray-500);
  margin-top: 12px;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}
.section-text { font-size: 1rem; color: var(--gray-700); line-height: 1.75; }
.section-text--light { color: var(--gray-700); }

/* ── Buttons ─────────────────────────────────────────────────── */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 28px;
  font-size: .9rem;
  font-weight: 600;
  border-radius: var(--radius-sm);
  transition: background var(--transition), transform var(--transition), opacity var(--transition);
  white-space: nowrap;
  letter-spacing: .01em;
}
.btn--primary {
  background: var(--orange);
  color: var(--white);
  border: 2px solid var(--orange);
}
.btn--primary:hover { background: var(--orange-dark); border-color: var(--orange-dark); }
.btn--outline {
  background: transparent;
  color: var(--ink);
  border: 2px solid var(--ink);
}
.btn--outline:hover { background: var(--ink); color: var(--white); }
.btn--outline-dark {
  background: transparent;
  color: var(--black);
  border: 2px solid var(--black);
}
.btn--outline-dark:hover { background: var(--black); color: var(--white); }
.btn--lg  { padding: 15px 36px; font-size: 1rem; }
.btn--sm  { padding: 8px 18px;  font-size: .8rem; }
.btn--block { width: 100%; }
.btn:active { transform: scale(.98); }
.btn:disabled { opacity: .55; cursor: not-allowed; transform: none; }

/* ── Navigation ──────────────────────────────────────────────── */
.site-header {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 1000;
  background: rgba(251,247,241,.85);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(0,0,0,.06);
  transition: box-shadow var(--transition), transform var(--transition), background var(--transition);
  height: var(--nav-height);
  display: flex;
  align-items: center;
}
.site-header.is-scrolled {
  background: rgba(255,255,255,.96);
  box-shadow: 0 4px 28px rgba(0,0,0,.08), 0 1px 0 rgba(45,109,246,.2);
}
.site-header.is-hidden { transform: translateY(-100%); }

.nav-container {
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  gap: 14px;
}

.nav-logo { display: flex; align-items: center; flex-shrink: 0; }
.nav-logo img { height: 64px; width: auto; object-fit: contain; }
.nav-logo-text {
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--ink);
  letter-spacing: 2px;
}
.nav-logo-text span { color: var(--orange); }

.nav-links {
  display: flex;
  align-items: center;
  gap: 2px;
  flex: 1;
  justify-content: center;
}
.nav-links > li { position: relative; }
.nav-links a {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 7px 10px;
  font-size: .84rem;
  font-weight: 500;
  white-space: nowrap;
  color: var(--gray-700);
  border-radius: var(--radius-sm);
  letter-spacing: .01em;
  transition: color var(--transition), background var(--transition);
}
.nav-links a:hover { color: var(--ink); background: rgba(45,109,246,.08); }
.nav-links a.active { color: var(--orange); }
.nav-link--creators {
  position: relative;
  color: #fff !important;
  text-shadow: 0 1px 3px rgba(13,20,36,.35);
  background: linear-gradient(120deg, #f4796b, #c3a9f0, #8ab6f9, #f4796b);
  background-size: 280% 100%;
  border: none;
  padding: 7px 18px !important;
  border-radius: 100px;
  font-weight: 700 !important;
  overflow: hidden;
  box-shadow: 0 4px 14px rgba(195,169,240,.45);
  animation: creatorsGradient 6s ease infinite, creatorsPulse 2.4s ease-in-out infinite;
}
.nav-link--creators__label { position: relative; z-index: 2; }
.nav-link--creators::before {
  content: '✦';
  position: relative; z-index: 2;
  margin-right: 5px;
  font-size: .72em;
  display: inline-block;
  animation: creatorsSparkle 1.8s ease-in-out infinite;
}
.nav-link--creators::after {
  content: '';
  position: absolute; top: 0; left: -120%;
  width: 55%; height: 100%;
  z-index: 1;
  background: linear-gradient(105deg, transparent 25%, rgba(255,255,255,.55) 50%, transparent 75%);
  animation: creatorsShine 3.2s ease-in-out infinite 1s;
}
.nav-link--creators:hover {
  color: #fff !important;
  background: linear-gradient(120deg, #f4796b, #c3a9f0, #8ab6f9, #f4796b) !important;
  background-size: 280% 100% !important;
  transform: translateY(-1px) scale(1.04);
  box-shadow: 0 6px 22px rgba(195,169,240,.6);
}
@keyframes creatorsGradient {
  0%,100% { background-position: 0% 50%; }
  50%     { background-position: 100% 50%; }
}
@keyframes creatorsPulse {
  0%,100% { box-shadow: 0 4px 14px rgba(195,169,240,.45); }
  50%     { box-shadow: 0 4px 20px rgba(244,121,107,.6), 0 0 0 4px rgba(195,169,240,.12); }
}
@keyframes creatorsSparkle {
  0%,100% { transform: scale(1) rotate(0); opacity: 1; }
  50%     { transform: scale(1.35) rotate(20deg); opacity: .75; }
}
@keyframes creatorsShine {
  0%   { left: -120%; }
  60%,100% { left: 160%; }
}
.nav-chevron { transition: transform var(--transition); flex-shrink: 0; opacity: .55; }
.nav-item--dropdown:hover .nav-chevron { transform: rotate(180deg); opacity: 1; }

/* ── Desktop Dropdown ─────────────────────────────────────────── */
.nav-dropdown {
  position: absolute;
  top: calc(100% + 10px);
  left: 50%;
  transform: translateX(-50%) translateY(10px);
  background: #fff;
  border: 1px solid rgba(0,0,0,.06);
  border-top: 1px solid rgba(0,0,0,.05);
  border-radius: 0 0 16px 16px;
  box-shadow: 0 28px 64px rgba(0,0,0,.16), 0 4px 16px rgba(0,0,0,.06);
  padding: 0;
  display: flex;
  flex-direction: column;
  min-width: 940px;
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--transition), transform var(--transition), visibility var(--transition);
  pointer-events: none;
  overflow: hidden;
}
/* Invisible bridge across the gap so hover stays continuous trigger -> panel */
.nav-dropdown::before {
  content: '';
  position: absolute;
  left: 0; right: 0; top: -12px;
  height: 12px;
}
.nav-dropdown.is-open,
.nav-item--dropdown:hover .nav-dropdown,
.nav-item--dropdown:focus-within .nav-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
  pointer-events: auto;
}
.nav-dropdown__cols {
  display: flex;
  align-items: stretch;
  max-height: calc(100vh - 140px);
  overflow-y: auto;
}
/* Single-category dropdown - DashClicks-style 2-column grid + footer bar.
   Left-aligned under its trigger so a wide panel never overflows the edge. */
.nav-dropdown--single { min-width: 640px; left: 0; transform: translateY(8px); }
/* Rightmost category opens leftwards so it can't run off the right edge */
.nav-dropdown--single.nav-dropdown--end { left: auto; right: 0; }
.nav-dropdown--single.is-open,
.nav-item--dropdown:hover .nav-dropdown--single,
.nav-item--dropdown:focus-within .nav-dropdown--single { transform: translateY(0); }
.nav-dropdown--single .nav-dropdown__col { padding: 16px 16px 14px; }
.nav-dropdown--single .nav-dd-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2px 12px;
}

.nav-dropdown__col {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 16px 18px 14px;
  gap: 1px;
}
.nav-dropdown__col:not(:last-child) { border-right: 1px solid rgba(0,0,0,.06); }

.nav-dropdown__heading {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: .62rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--orange);
  margin-bottom: 7px;
  padding-bottom: 7px;
  border-bottom: 1px solid rgba(45,109,246,.2);
}
.nav-dropdown__heading-icon {
  width: 22px; height: 22px;
  background: rgba(45,109,246,.14);
  border-radius: 5px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.nav-dropdown__heading-icon svg { width: 12px; height: 12px; stroke: var(--orange); fill: none; }

.nav-dropdown a {
  color: var(--gray-700) !important;
  font-size: .84rem;
  padding: 7px 10px !important;
  border-radius: 6px;
  border-left: 2px solid transparent;
  transition: all .15s ease !important;
}
.nav-dropdown a:hover {
  background: rgba(45,109,246,.1) !important;
  color: var(--coral) !important;
  border-left-color: var(--orange);
  padding-left: 14px !important;
}

.nav-dropdown a.nav-dropdown__cta {
  display: block;
  margin-top: 12px;
  padding: 8px 14px !important;
  font-size: .76rem !important;
  font-weight: 700 !important;
  color: var(--white) !important;
  background: var(--orange) !important;
  border: none !important;
  border-left: none !important;
  border-radius: 7px;
  text-align: center;
  letter-spacing: .04em;
  transition: background var(--transition), transform .12s ease !important;
}
.nav-dropdown a.nav-dropdown__cta:hover {
  background: var(--orange-dark) !important;
  color: var(--white) !important;
  border-left: none !important;
  padding-left: 16px !important;
  transform: translateY(-1px);
}

/* ── Dropdown items - DashClicks-style icon tile + title + description ─── */
.nav-dd-list { display: flex; flex-direction: column; gap: 1px; flex: 1; }
.nav-dropdown a.nav-dd-item {
  display: flex;
  align-items: center;
  gap: 11px;
  min-height: 44px;
  padding: 5px 9px !important;
  border-radius: 10px;
  border-left: none !important;
}
.nav-dropdown a.nav-dd-item:hover {
  background: rgba(45,109,246,.07) !important;
  border-left: none !important;
  padding-left: 9px !important;
}
.nav-dd-ico {
  width: 34px; height: 34px;
  flex-shrink: 0;
  border-radius: 9px;
  display: grid; place-items: center;
  background: linear-gradient(150deg, #18203a, #0d1424);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.07), 0 4px 10px -6px rgba(13,20,36,.6);
  transition: transform .28s var(--ease-spring), box-shadow .28s ease;
}
.nav-dropdown a.nav-dd-item:hover .nav-dd-ico {
  transform: translateY(-2px) scale(1.05);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.12), 0 8px 16px -8px currentColor;
}
.nav-dd-ico svg {
  width: 18px; height: 18px;
  fill: none; stroke: currentColor;
  stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
}
.nav-dd-text { display: flex; flex-direction: column; gap: 1px; min-width: 0; flex: 1; }
.nav-dd-title {
  font-size: .82rem; font-weight: 700; line-height: 1.2;
  color: var(--ink); letter-spacing: -.005em;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  transition: color .2s ease;
}
.nav-dropdown a.nav-dd-item:hover .nav-dd-title { color: var(--blue); }
.nav-dd-desc {
  font-size: .7rem; line-height: 1.25; color: var(--gray-500);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.nav-dropdown a.nav-dropdown__cta { margin-top: auto; }

/* ── Mega-menu footer bar (DashClicks-style) ──────────────────────────── */
.nav-dropdown__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 10px 24px;
  background: var(--grad-vibrant);
  background-size: 220% auto;
  animation: cr-flow 9s linear infinite;
  color: #fff;
}
.nav-dropdown__foot-links { display: flex; align-items: center; gap: 24px; }
.nav-dropdown .nav-dropdown__foot a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 !important;
  border-left: none !important;
  color: #fff !important;
  font-size: .82rem;
  font-weight: 600;
  border-radius: 0;
  transition: opacity .2s ease, transform .2s ease;
}
.nav-dropdown .nav-dropdown__foot-links a:hover {
  background: transparent !important;
  color: #fff !important;
  opacity: .82;
  padding-left: 0 !important;
  transform: translateX(2px);
}
.nav-dropdown__foot svg {
  width: 16px; height: 16px;
  fill: none; stroke: currentColor; stroke-width: 2;
  stroke-linecap: round; stroke-linejoin: round;
}
.nav-dropdown__foot-links a svg path { fill: rgba(255,255,255,.18); }
.nav-dropdown__foot-cta { display: flex; align-items: center; gap: 14px; }
.nav-dropdown__foot-text { font-size: .82rem; color: rgba(255,255,255,.85); }
.nav-dropdown a.nav-dropdown__foot-btn {
  padding: 9px 17px !important;
  border-radius: 8px;
  background: #fff !important;
  color: var(--blue) !important;
  font-size: .8rem;
  font-weight: 700 !important;
  box-shadow: 0 6px 16px -8px rgba(0,0,0,.5);
}
.nav-dropdown a.nav-dropdown__foot-btn:hover {
  background: #fff !important;
  color: var(--blue-dark) !important;
  padding-left: 17px !important;
  transform: translateY(-1px);
}

.nav-actions { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.nav-cta { flex-shrink: 0; }

/* Hamburger */
.nav-toggle {
  display: none;
  flex-direction: column;
  justify-content: space-between;
  width: 26px;
  height: 18px;
  padding: 0;
  background: transparent;
}
.nav-toggle span {
  display: block;
  height: 2px;
  background: var(--ink);
  border-radius: 2px;
  transition: transform var(--transition), opacity var(--transition);
  transform-origin: center;
}
.nav-toggle.is-active span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.nav-toggle.is-active span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.nav-toggle.is-active span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

/* Mobile Menu */
.mobile-menu {
  position: fixed;
  top: var(--nav-height);
  left: 0; right: 0;
  /* The fixed header has a backdrop-filter, which makes it the containing
     block for this fixed menu - so `bottom:0` would resolve against the 84px
     header and collapse the panel. Size with viewport units instead. */
  height: calc(100vh - var(--nav-height));
  height: calc(100dvh - var(--nav-height));
  background: var(--cream);
  z-index: 999;
  overflow-y: auto;
  transform: translateX(100%);
  transition: transform .3s ease;
  padding: 16px 0 80px;
}
.mobile-menu.is-open { transform: none; }
.mobile-nav-links { padding: 0 16px; }
.mobile-nav-links > li { border-bottom: 1px solid rgba(0,0,0,.07); }
.mobile-nav-links a {
  display: block;
  padding: 14px 8px;
  color: var(--gray-700);
  font-size: .95rem;
  font-weight: 500;
  transition: color var(--transition);
}
.mobile-nav-links a:hover { color: var(--orange); }
.mobile-nav-link--creators {
  color: #fff !important;
  background: linear-gradient(120deg, #f4796b, #c3a9f0, #8ab6f9);
  border-radius: 100px;
  padding: 12px 18px !important;
  font-weight: 700 !important;
  text-align: center;
  margin: 6px 0;
  box-shadow: 0 4px 14px rgba(195,169,240,.4);
}
.mobile-nav-link--creators::before { content: '✦ '; }
.mobile-nav-expand {
  width: 100%;
  text-align: left;
  padding: 14px 8px;
  color: var(--gray-700);
  font-size: .95rem;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.mobile-nav-subheading {
  font-size: .7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--gray-500);
  padding: 12px 8px 4px;
}
.mobile-nav-submenu { display: none; padding-left: 8px; }
.mobile-nav-submenu.is-open { display: block; }
.mobile-nav-submenu a { font-size: .875rem; padding: 8px 8px; color: var(--gray-500); }
/* Mobile submenu: compact icon tile + title (descriptions hidden) */
.mobile-nav-submenu a.nav-dd-item {
  display: flex; align-items: center; gap: 11px; padding: 7px 8px;
}
.mobile-nav-submenu .nav-dd-ico {
  width: 34px; height: 34px; flex-shrink: 0; border-radius: 9px;
  display: grid; place-items: center;
  background: linear-gradient(150deg, #18203a, #0d1424);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.07);
}
.mobile-nav-submenu .nav-dd-ico svg {
  width: 18px; height: 18px; fill: none; stroke: currentColor;
  stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
}
.mobile-nav-submenu .nav-dd-title { font-size: .875rem; font-weight: 600; color: var(--gray-700); }
.mobile-nav-submenu .nav-dd-desc { display: none; }
.mobile-nav-submenu a.mobile-nav-submenu__cta {
  display: block;
  margin: 10px 8px 4px;
  padding: 8px 14px;
  font-size: .78rem;
  font-weight: 600;
  color: var(--orange) !important;
  border: 1.5px solid var(--orange);
  border-radius: var(--radius-sm);
  text-align: center;
  letter-spacing: .02em;
  transition: background var(--transition), color var(--transition);
}
.mobile-nav-submenu a.mobile-nav-submenu__cta:hover { background: var(--orange); color: var(--white) !important; }

@media (max-width: 1240px) {
  .nav-links { display: none; }
  .nav-toggle { display: flex; }
}
/* On phones the header CTA is redundant (the mobile menu has its own
   "Get in Touch") and crowds the wordmark logo - hide it to prevent overflow. */
@media (max-width: 600px) {
  .nav-cta { display: none; }
}

/* Body offset for fixed nav */
body { padding-top: var(--nav-height); overflow-x: clip; }

/* ── Flash Messages ───────────────────────────────────────────── */
.flash {
  position: fixed;
  top: calc(var(--nav-height) + 12px);
  left: 50%;
  transform: translateX(-50%);
  z-index: 2000;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 20px;
  border-radius: var(--radius-md);
  font-size: .9rem;
  font-weight: 500;
  box-shadow: var(--shadow-md);
  min-width: 280px;
  max-width: 480px;
  transition: opacity .4s, transform .4s;
}
.flash--success { background: #1a1a1a; color: #4caf50; border: 1px solid rgba(76,175,80,.3); }
.flash--error   { background: #1a1a1a; color: #f44336; border: 1px solid rgba(244,67,54,.3); }
.flash--info    { background: #1a1a1a; color: #fff;    border: 1px solid rgba(255,255,255,.15); }
.flash__icon    { font-weight: 700; }

/* ── Page Hero ───────────────────────────────────────────────── */
.page-hero {
  background: var(--black);
  padding: 80px 0 64px;
  text-align: center;
}
.page-hero__content { max-width: 740px; margin: 0 auto; }
.page-hero__heading {
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 700;
  color: var(--white);
  line-height: 1.15;
  margin-bottom: 16px;
}
.page-hero__subheading {
  font-size: 1.1rem;
  color: rgba(255,255,255,.7);
  max-width: 600px;
  margin: 0 auto 24px;
  line-height: 1.7;
}
.page-hero__rating { color: var(--orange); font-size: 1.2rem; margin-right: 8px; }
.page-hero__rating-text { color: rgba(255,255,255,.6); font-size: .875rem; }
.page-hero__meta { margin-bottom: 24px; }

/* ══════════════════════════════════════════════════════════════
   HERO - Complete Redesign
   Inspired by: EZ Rankings, Social Panga, Digital Mojo,
                iBrandox, WebBee Social
══════════════════════════════════════════════════════════════ */
.hero {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  /* Fill the first viewport (minus the fixed navbar) so the hero
     content sits dead-centre on screen */
  min-height: calc(100vh - var(--nav-height));
  background: var(--cream);
  overflow: hidden;
}

/* ── Background system ───────────────────────────────────────── */
.hero__bg { position: absolute; inset: 0; pointer-events: none; }

.hero__bg-overlay {
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse at 80% 12%, rgba(45,109,246,.18) 0%, transparent 42%),
    radial-gradient(ellipse at 10% 85%, rgba(143,217,192,.16) 0%, transparent 42%),
    radial-gradient(ellipse at 60% 95%, rgba(111,160,255,.12) 0%, transparent 45%);
}

.hero__bg-grid {
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(13,20,36,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(13,20,36,.04) 1px, transparent 1px);
  background-size: 50px 50px;
  mask-image: radial-gradient(ellipse 80% 80% at 50% 50%, black 30%, transparent 100%);
  -webkit-mask-image: radial-gradient(ellipse 80% 80% at 50% 50%, black 30%, transparent 100%);
}

/* Soft pastel glow blobs */
.hero__orb { position: absolute; border-radius: 50%; filter: blur(90px); pointer-events: none; }
.hero__orb--1 {
  width: 750px; height: 750px; right: -200px; top: -220px;
  background: radial-gradient(circle, rgba(45,109,246,.28) 0%, rgba(111,160,255,.08) 45%, transparent 70%);
  animation: orbDrift 11s ease-in-out infinite;
}
.hero__orb--2 {
  width: 520px; height: 520px; left: -100px; bottom: -100px;
  background: radial-gradient(circle, rgba(143,217,192,.22) 0%, transparent 65%);
  animation: orbDrift 14s ease-in-out infinite reverse;
}
.hero__orb--3 {
  width: 380px; height: 380px; left: 38%; top: 55%;
  background: radial-gradient(circle, rgba(138,182,249,.16) 0%, transparent 60%);
  animation: orbDrift 18s ease-in-out infinite 4s;
}
.hero__orb--4 {
  width: 260px; height: 260px; right: 25%; bottom: 10%;
  background: radial-gradient(circle, rgba(111,160,255,.16) 0%, transparent 60%);
  animation: orbDrift 9s ease-in-out infinite 2s;
}

/* Floating confetti dots */
.hero__particles { position: absolute; inset: 0; overflow: hidden; }
.hero__particles span {
  position: absolute; bottom: -6px;
  left: var(--x, 50%);
  width: calc(var(--size, 3px) + 1px); height: calc(var(--size, 3px) + 1px);
  background: var(--col, #2d6df6);
  border-radius: 50%; opacity: 0;
  box-shadow: 0 0 7px var(--col, #2d6df6), 0 0 2px var(--col, #2d6df6);
  animation: particleRise var(--dur, 14s) var(--delay, 0s) infinite ease-in;
}

/* ── Grid layout ─────────────────────────────────────────────── */
.hero__grid {
  position: relative; z-index: 2;
  display: grid;
  grid-template-columns: 1fr 460px;
  gap: 52px;
  align-items: center;
  /* only top/bottom - keep .container's responsive side padding so the
     hero lines up with the navbar and every other section */
  padding-top: 48px;
  padding-bottom: 56px;
  width: 100%;
}

/* ════════════════════════════════════════════════════════════
   LEFT COLUMN
════════════════════════════════════════════════════════════ */

/* Badge */
.hero__badge {
  position: relative;
  display: inline-flex; align-items: center; gap: 9px;
  background: #fff;
  border: 1px solid rgba(45,109,246,.35);
  color: var(--coral);
  padding: 7px 18px 7px 12px;
  border-radius: 100px;
  font-size: .6rem; font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase;
  margin-bottom: 24px;
  overflow: hidden;
  animation: heroFadeUp .6s .05s both;
  box-shadow: 0 4px 16px rgba(45,109,246,.12);
}
.hero__badge-dot {
  width: 7px; height: 7px; flex-shrink: 0;
  background: var(--orange);
  border-radius: 50%;
  box-shadow: 0 0 8px var(--orange);
  animation: badgePulse 2s ease-in-out infinite;
}
.hero__badge-shine {
  position: absolute; top: 0; left: -140%;
  width: 55%; height: 100%;
  background: linear-gradient(105deg, transparent 20%, rgba(45,109,246,.12) 50%, transparent 80%);
  animation: shineSweep 4s ease-in-out infinite 1.5s;
}

/* Heading with word-cycler */
.hero__heading {
  display: flex; flex-direction: column; gap: 4px;
  font-size: clamp(2.6rem, 4.6vw, 4rem);
  font-weight: 900;
  line-height: 1.07;
  letter-spacing: -.04em;
  color: var(--ink);
  margin-bottom: 20px;
}
.hero__line {
  display: block;
  opacity: 0;
  animation: lineReveal .6s cubic-bezier(.22,1,.36,1) both;
  animation-delay: calc(var(--li, 0) * .18s + .1s);
}
/* accent line - NO gradient clip here so children remain visible */
.hero__line--accent {
  display: block;
  opacity: 0;
  animation: lineReveal .6s cubic-bezier(.22,1,.36,1) .26s both;
  position: relative;
}

/* Word cycler - gradient on the spans, width auto-set by JS */
.hero__word-cycler {
  display: inline-block;
  position: relative;
  height: 1.1em;
  vertical-align: bottom;
  /* clip only the top/bottom edges so sliding words don't show outside */
  clip-path: inset(0 -20px 0 -20px); /* allow horizontal overflow */
  overflow: visible;
}
.hero__word-cycler span {
  position: absolute;
  top: 0; left: 0;
  white-space: nowrap;
  background: linear-gradient(135deg, var(--g1, #2d6df6) 0%, var(--g2, #1f5fe0) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  transform: translateY(110%);
  opacity: 0;
  transition: transform .5s cubic-bezier(.22,1,.36,1), opacity .35s ease;
  pointer-events: none;
}
.hero__word-cycler span.is-active {
  transform: translateY(0);
  opacity: 1;
}
.hero__word-cycler span.is-exit {
  transform: translateY(-110%);
  opacity: 0;
}

/* Subheading */
.hero__subheading {
  font-size: clamp(.92rem, 1.6vw, 1.05rem);
  color: var(--gray-700);
  line-height: 1.8;
  max-width: 440px;
  margin-bottom: 30px;
  opacity: 0;
  animation: heroFadeUp .65s .46s both;
}

/* CTA Buttons */
.hero__actions {
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
  margin-bottom: 28px;
  opacity: 0;
  animation: heroFadeUp .65s .58s both;
}
.hero__cta-primary {
  position: relative; overflow: hidden;
  display: inline-flex; align-items: center; gap: 10px;
  background: linear-gradient(135deg, #2d6df6 0%, #5b8bff 100%);
  color: var(--white);
  padding: 13px 26px;
  border-radius: 8px;
  font-size: .9rem; font-weight: 700;
  letter-spacing: .025em;
  text-decoration: none;
  border: none; outline: none;
  box-shadow: 0 4px 24px rgba(45,109,246,.48), 0 1px 0 rgba(255,255,255,.15) inset;
  transition: transform .2s ease, box-shadow .2s ease;
}
.hero__cta-primary svg { transition: transform .25s ease; flex-shrink: 0; }
.hero__cta-primary:hover { transform: translateY(-3px); box-shadow: 0 12px 36px rgba(45,109,246,.6), 0 1px 0 rgba(255,255,255,.15) inset; }
.hero__cta-primary:hover svg { transform: translateX(4px); }
.hero__cta-shine {
  position: absolute; top: 0; left: -110%;
  width: 50%; height: 100%;
  background: linear-gradient(105deg, transparent 20%, rgba(255,255,255,.4) 50%, transparent 80%);
  animation: shineSweep 3s ease-in-out infinite 2s;
}
.hero__cta-outline {
  display: inline-flex; align-items: center; gap: 9px;
  padding: 12px 22px;
  border-radius: 8px;
  border: 1.5px solid rgba(13,20,36,.2);
  color: var(--ink);
  background: #fff;
  font-size: .9rem; font-weight: 600;
  letter-spacing: .02em;
  text-decoration: none;
  transition: all .22s ease;
}
.hero__cta-outline:hover {
  border-color: var(--coral);
  background: rgba(45,109,246,.08);
  color: var(--coral);
  transform: translateY(-3px);
  box-shadow: 0 8px 20px rgba(45,109,246,.16);
}

/* Mini-stats row */
.hero__mini-stats {
  display: flex; align-items: stretch;
  background: #fff;
  border: 1px solid var(--gray-200);
  border-radius: 12px;
  margin-bottom: 22px;
  overflow: hidden;
  opacity: 0;
  animation: heroFadeUp .65s .72s both;
  max-width: 460px;
  box-shadow: 0 6px 24px rgba(0,0,0,.05);
}
.hero__mini-stat {
  display: flex; flex-direction: column; align-items: center;
  padding: 12px 20px; flex: 1;
  border-right: 1px solid var(--gray-200);
  transition: background .2s;
}
.hero__mini-stat:last-child { border-right: none; }
.hero__mini-stat:hover { background: rgba(45,109,246,.06); }
.hero__mini-stat__number {
  font-size: 1.2rem; font-weight: 900; line-height: 1;
  color: var(--coral);
}
.hero__mini-stat__number em { font-style: normal; font-size: .9rem; }
.hero__mini-stat__label {
  font-size: .58rem; color: var(--gray-500);
  text-transform: uppercase; letter-spacing: .07em; margin-top: 4px; white-space: nowrap;
}
.hero__mini-stat__sep { display: none; }

/* Trust row */
.hero__trust {
  display: flex; align-items: center; gap: 12px;
  opacity: 0;
  animation: heroFadeUp .65s .86s both;
}
.hero__trust-avatars { display: flex; }
.hero__avatar {
  width: 32px; height: 32px;
  border-radius: 50%;
  background: var(--bg, #2d6df6);
  border: 2px solid var(--cream);
  display: flex; align-items: center; justify-content: center;
  font-size: .65rem; font-weight: 800; color: var(--white);
  margin-left: -7px;
}
.hero__avatar:first-child { margin-left: 0; }
.hero__avatar--more {
  background: var(--gray-200);
  border-color: var(--cream);
  font-size: .58rem; color: var(--gray-700);
  letter-spacing: -.02em;
}
.hero__trust-info { display: flex; flex-direction: column; gap: 2px; }
.hero__trust-stars { color: #f5b800; font-size: .82rem; letter-spacing: 1.5px; }
.hero__trust-stars strong { color: var(--ink); font-size: .84rem; margin-left: 4px; }
.hero__trust-text { font-size: .7rem; color: var(--gray-500); line-height: 1.4; }

/* ════════════════════════════════════════════════════════════
   RIGHT COLUMN: Visual Panel
════════════════════════════════════════════════════════════ */
.hero__visual { position: relative; display: flex; flex-direction: column; gap: 12px; }

/* Animated dashboard card */
.hero__dashboard {
  background: #fff;
  border: 1px solid var(--gray-200);
  border-radius: 20px;
  padding: 20px;
  box-shadow: 0 32px 70px rgba(13,20,36,.14), 0 0 0 1px rgba(45,109,246,.05);
  animation: dashboardIn .9s cubic-bezier(.22,1,.36,1) .35s both;
  transform-style: preserve-3d;
  transition: transform .08s linear;
  will-change: transform;
}

/* Mac-style header */
.hero__dash-bar {
  display: flex; align-items: center; gap: 8px;
  margin-bottom: 16px; padding-bottom: 14px;
  border-bottom: 1px solid var(--gray-200);
}
.hero__dash-dot { width: 11px; height: 11px; border-radius: 50%; background: var(--c, #ccc); flex-shrink: 0; }
.hero__dash-title {
  flex: 1; text-align: center; font-size: .73rem; font-weight: 600;
  color: var(--gray-500); letter-spacing: .04em; margin-left: -51px;
}
.hero__dash-live {
  display: flex; align-items: center; gap: 5px;
  font-size: .65rem; font-weight: 700; color: #28c840; letter-spacing: .05em; text-transform: uppercase;
}
.hero__dash-live-dot {
  width: 6px; height: 6px; border-radius: 50%; background: #28c840;
  animation: badgePulse 1.6s ease-in-out infinite;
  box-shadow: 0 0 6px #28c840;
}

/* Metrics row */
.hero__dash-metrics {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 8px; margin-bottom: 18px;
}
.hero__dash-metric {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 10px; padding: 10px 8px;
  display: flex; flex-direction: column; align-items: center; gap: 3px;
}
.hero__dash-metric__val {
  font-size: 1.1rem; font-weight: 900; line-height: 1;
}
.hero__dash-metric__val--up { color: #4ade80; }
.hero__dash-metric__val--down { color: #fb923c; }
.hero__dash-metric__lbl { font-size: .6rem; color: rgba(255,255,255,.4); text-transform: uppercase; letter-spacing: .06em; text-align: center; }

/* Bar chart */
.hero__chart { display: flex; flex-direction: column; gap: 6px; }
.hero__chart-inner {
  display: flex; align-items: flex-end; gap: 5px;
  height: 110px; padding: 0 4px;
}
.hero__chart-bar {
  flex: 1; border-radius: 5px 5px 2px 2px;
  background: linear-gradient(to top, rgba(45,109,246,.7), rgba(111,160,255,.5));
  height: 0;
  animation: barGrow .9s cubic-bezier(.34,1.56,.64,1) both;
  animation-delay: var(--d, 0s);
  transform-origin: bottom;
}
.hero__chart-bar--peak {
  background: linear-gradient(to top, #2d6df6, #6fa0ff);
  box-shadow: 0 0 14px rgba(111,160,255,.5);
}
.hero__chart-labels {
  display: flex; gap: 5px; padding: 0 4px;
}
.hero__chart-labels span {
  flex: 1; text-align: center; font-size: .55rem; color: var(--gray-500);
  letter-spacing: .03em;
}

/* Floating achievement badges */
.hero__float-badge {
  position: absolute;
  display: flex; align-items: center; gap: 10px;
  background: rgba(12,10,16,.92);
  border: 1px solid rgba(45,109,246,.3);
  border-radius: 12px; padding: 10px 14px;
  backdrop-filter: blur(16px);
  box-shadow: 0 8px 32px rgba(0,0,0,.5), 0 0 0 1px rgba(255,255,255,.05);
  z-index: 10; pointer-events: none;
  white-space: nowrap;
}
.hero__float-badge__icon {
  width: 30px; height: 30px; flex-shrink: 0;
  background: linear-gradient(135deg, rgba(45,109,246,.2), rgba(111,160,255,.1));
  border: 1px solid rgba(45,109,246,.3);
  border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  color: var(--orange);
}
.hero__float-badge__body { display: flex; flex-direction: column; gap: 1px; }
.hero__float-badge__body strong { font-size: .78rem; font-weight: 800; color: var(--white); }
.hero__float-badge__body span  { font-size: .62rem; color: rgba(255,255,255,.45); }
.hero__float-badge--1 {
  left: -28px; top: 28px;
  animation: floatBob1 5s ease-in-out infinite .2s, dashboardIn .7s .5s both;
}
.hero__float-badge--2 {
  right: -24px; top: 50%;
  animation: floatBob2 6s ease-in-out infinite, dashboardIn .7s .7s both;
}
.hero__float-badge--3 {
  left: -20px; bottom: 90px;
  animation: floatBob3 4.5s ease-in-out infinite .5s, dashboardIn .7s .9s both;
}

/* Service cards */
.hero__service-cards { display: flex; flex-direction: column; gap: 14px; }
.hero__service-card { --accent: #2d6df6; --accent2: #6fa0ff; }
.hero__service-card {
  display: flex; align-items: center; gap: 16px;
  background: #fff;
  border: 1px solid var(--gray-200);
  border-radius: 16px; padding: 18px 20px;
  text-decoration: none; color: var(--ink);
  transition: transform .3s cubic-bezier(.22,1,.36,1), box-shadow .3s ease, border-color .3s ease;
  box-shadow: 0 6px 20px rgba(29,29,40,.07);
  position: relative; overflow: hidden;
  animation: heroSlideRight .6s both;
}
.hero__service-card::before {
  content: ''; position: absolute; left: 0; top: 0; bottom: 0;
  width: 4px;
  background: linear-gradient(var(--accent), var(--accent2));
  transform: scaleY(.4); transform-origin: center;
  transition: transform .3s ease;
}
.hero__service-card::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 13%, transparent), transparent 65%);
  opacity: 0; transition: opacity .3s; border-radius: inherit; z-index: 0;
}
.hero__service-cards .hero__service-card:nth-child(1) { animation-delay: .55s; }
.hero__service-cards .hero__service-card:nth-child(2) { animation-delay: .7s; }
.hero__service-cards .hero__service-card:nth-child(3) { animation-delay: .85s; }
.hero__service-card:hover {
  transform: translateY(-4px);
  border-color: color-mix(in srgb, var(--accent) 35%, var(--gray-200));
  box-shadow: 0 18px 40px color-mix(in srgb, var(--accent) 30%, transparent);
}
.hero__service-card:hover::before { transform: scaleY(1); }
.hero__service-card:hover::after { opacity: 1; }

/* Featured card */
.hero__service-card--featured {
  border-color: color-mix(in srgb, var(--accent) 35%, var(--gray-200));
  background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 14%, #fff), #fff 70%);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--accent) 22%, transparent), 0 12px 30px color-mix(in srgb, var(--accent) 24%, transparent);
}
.hero__service-card--featured::before { transform: scaleY(1); }
.hero__service-card--featured::after { opacity: 1; }
.hero__service-tag {
  position: absolute; top: 0; right: 0; z-index: 3;
  display: inline-flex; align-items: center; gap: 4px;
  background: linear-gradient(135deg, var(--accent), var(--accent2));
  color: var(--white);
  font-size: .58rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: .1em;
  padding: 5px 11px 5px 12px;
  border-radius: 0 16px 0 12px;
  box-shadow: 0 3px 12px color-mix(in srgb, var(--accent) 50%, transparent);
}
.hero__service-tag::before {
  content: '★'; font-size: .62rem; line-height: 1;
}
.hero__service-icon {
  width: 52px; height: 52px; flex-shrink: 0;
  background: linear-gradient(135deg, var(--accent), var(--accent2));
  border: none;
  border-radius: 14px;
  display: flex; align-items: center; justify-content: center;
  color: #fff; transition: transform .3s cubic-bezier(.34,1.56,.64,1), box-shadow .3s;
  position: relative; z-index: 1;
  box-shadow: 0 6px 16px color-mix(in srgb, var(--accent) 40%, transparent);
}
.hero__service-icon svg { width: 24px; height: 24px; }
.hero__service-card:hover .hero__service-icon {
  transform: scale(1.1) rotate(-6deg);
  box-shadow: 0 10px 24px color-mix(in srgb, var(--accent) 55%, transparent);
}
.hero__service-body { flex: 1; position: relative; z-index: 1; }
.hero__service-body h3 { font-size: .98rem; font-weight: 800; margin-bottom: 3px; color: var(--ink); letter-spacing: -.01em; }
.hero__service-body p  { font-size: .76rem; color: var(--gray-500); line-height: 1.45; }
.hero__service-arrow {
  width: 32px; height: 32px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: color-mix(in srgb, var(--accent) 12%, transparent);
  color: var(--accent);
  font-size: 1rem; font-weight: 700;
  transition: all .3s cubic-bezier(.22,1,.36,1);
  position: relative; z-index: 1;
}
.hero__service-card:hover .hero__service-arrow {
  background: linear-gradient(135deg, var(--accent), var(--accent2));
  color: #fff;
  transform: translateX(4px) scale(1.1);
  box-shadow: 0 4px 12px color-mix(in srgb, var(--accent) 45%, transparent);
}

/* ════════════════════════════════════════════════════════════
   HERO: Interactive 4-service deck  (the "wow" showcase)
════════════════════════════════════════════════════════════ */
.hero__visual { perspective: 1400px; }

/* Soft animated aura behind the deck */
.hero__deck-aura {
  position: absolute; inset: -14% -10% -14% -10%;
  z-index: 0; pointer-events: none; border-radius: 40px;
  background:
    radial-gradient(closest-side, rgba(45,109,246,.30), transparent 70%) -12% 8% / 60% 60% no-repeat,
    radial-gradient(closest-side, rgba(139,61,240,.26), transparent 70%) 112% 18% / 60% 60% no-repeat,
    radial-gradient(closest-side, rgba(14,165,163,.24), transparent 70%) -8% 108% / 60% 60% no-repeat,
    radial-gradient(closest-side, rgba(232,137,12,.22), transparent 70%) 110% 110% / 60% 60% no-repeat;
  filter: blur(14px);
  animation: deckAura 12s ease-in-out infinite;
}

.hero__deck {
  position: relative; z-index: 2;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  transform-style: preserve-3d;
}

/* ── Individual service card - full-photo with overlay ───────── */
.hero__svc {
  --accent:  #1f8f4e;
  --accent2: #34c46a;
  position: relative; overflow: hidden; display: block;
  min-height: 248px;
  border-radius: 18px;
  text-decoration: none; color: #fff;
  background: var(--accent);
  box-shadow: 0 16px 40px rgba(13,20,36,.34);
  border: 1px solid rgba(255,255,255,.10);
  transform-style: preserve-3d;
  transition: transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s ease;
  opacity: 0;
  animation: svcIn .8s cubic-bezier(.22,1,.36,1) both;
  animation-delay: calc(var(--d, 0s) + .45s);
  will-change: transform;
}

/* Photo fills the whole card */
.hero__svc-media { position: absolute; inset: 0; z-index: 0; overflow: hidden; }
.hero__svc-photo {
  position: absolute; inset: 0;
  width: 100%; height: 100%; object-fit: cover;
  transition: transform .65s cubic-bezier(.22,1,.36,1);
}
.hero__svc.is-spot .hero__svc-photo,
.hero__svc:hover   .hero__svc-photo { transform: scale(1.08); }

/* Accent-tinted overlay: subtle colour cast + strong dark gradient at the
   bottom so the title reads, plus a top shade for the number / icon. */
.hero__svc-tint {
  position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background:
    linear-gradient(0deg,
      color-mix(in srgb, var(--accent) 92%, #04060c) 0%,
      color-mix(in srgb, var(--accent) 55%, transparent) 26%,
      transparent 56%),
    linear-gradient(180deg, rgba(4,6,12,.42) 0%, transparent 32%),
    linear-gradient(150deg, color-mix(in srgb, var(--accent) 26%, transparent), transparent 55%);
}

/* Glass icon chip, top-left */
.hero__svc-vec {
  position: absolute; top: 13px; left: 13px; z-index: 4;
  box-sizing: border-box;
  width: 40px; height: 40px; padding: 8px;
  border-radius: 11px; color: #fff;
  background: rgba(255,255,255,.16);
  border: 1px solid rgba(255,255,255,.34);
  backdrop-filter: blur(6px);
  box-shadow: 0 6px 16px rgba(0,0,0,.22);
  transition: transform .4s cubic-bezier(.34,1.56,.64,1), background .4s ease;
}
.hero__svc.is-spot .hero__svc-vec,
.hero__svc:hover   .hero__svc-vec {
  transform: translateZ(30px) scale(1.08) rotate(-6deg);
  background: rgba(255,255,255,.28);
}
/* Featured card swaps the icon chip for the ribbon */
.hero__svc--featured .hero__svc-vec { display: none; }

/* Diagonal light sweep */
.hero__svc-sheen {
  position: absolute; top: 0; left: -130%; z-index: 3;
  width: 60%; height: 100%; pointer-events: none;
  background: linear-gradient(105deg, transparent 25%, rgba(255,255,255,.30) 50%, transparent 75%);
  transition: left .7s ease;
}
.hero__svc.is-spot .hero__svc-sheen,
.hero__svc:hover   .hero__svc-sheen { left: 150%; }

/* Index number */
.hero__svc-num {
  position: absolute; top: 11px; right: 15px; z-index: 4;
  font-size: 1.1rem; font-weight: 900; letter-spacing: -.04em;
  color: rgba(255,255,255,.9); text-shadow: 0 2px 8px rgba(0,0,0,.45);
}

/* Featured ribbon */
.hero__svc-flag {
  position: absolute; top: 12px; left: 12px; z-index: 4;
  display: inline-flex; align-items: center;
  background: rgba(255,255,255,.94);
  color: #10131c; font-size: .54rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: .1em;
  padding: 5px 10px; border-radius: 20px;
  box-shadow: 0 4px 14px rgba(0,0,0,.3);
}

/* Title overlay at the bottom */
.hero__svc-band {
  position: absolute; left: 0; right: 0; bottom: 0; z-index: 5;
  display: flex; align-items: flex-end; gap: 10px;
  padding: 16px 15px 15px;
}
.hero__svc-text { flex: 1; min-width: 0; transform: translateZ(20px); }
.hero__svc-text strong {
  display: block; font-size: 1.05rem; font-weight: 800;
  letter-spacing: -.01em; line-height: 1.12; color: #fff;
  text-shadow: 0 1px 10px rgba(0,0,0,.4);
}
.hero__svc-text em {
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden; font-style: normal; margin-top: 4px;
  font-size: .72rem; line-height: 1.4; color: rgba(255,255,255,.82);
}

/* Go arrow */
.hero__svc-go {
  flex-shrink: 0;
  width: 34px; height: 34px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: rgba(255,255,255,.16);
  border: 1px solid rgba(255,255,255,.34);
  backdrop-filter: blur(6px);
  color: #fff;
  transition: transform .35s cubic-bezier(.22,1,.36,1), background .35s ease;
}
.hero__svc-go svg { width: 16px; height: 16px; }
.hero__svc.is-spot .hero__svc-go,
.hero__svc:hover   .hero__svc-go {
  transform: translateX(2px) translateZ(30px) scale(1.08);
  background: #fff; color: var(--accent);
}

.hero__svc:hover {
  transform: translateY(-6px);
  box-shadow: 0 28px 64px color-mix(in srgb, var(--accent) 45%, rgba(13,20,36,.5));
}

/* Featured card - brighter accent ring */
.hero__svc--featured { box-shadow: 0 18px 46px color-mix(in srgb, var(--accent) 45%, rgba(13,20,36,.45)); }
.hero__svc--featured::after {
  content: ""; position: absolute; inset: 0; z-index: 6; pointer-events: none;
  border-radius: inherit;
  box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--accent2) 75%, #fff);
}

/* Floating glass chips */
.hero__deck-chip {
  position: absolute; z-index: 6;
  display: flex; align-items: center; gap: 9px;
  background: rgba(255,255,255,.82);
  border: 1px solid var(--gray-200);
  border-radius: 13px; padding: 9px 13px;
  backdrop-filter: blur(12px);
  box-shadow: 0 12px 34px rgba(13,20,36,.16);
  font-size: .72rem; color: var(--gray-700); white-space: nowrap;
}
.hero__deck-chip strong { color: var(--ink); font-weight: 800; }
.hero__deck-chip__ic {
  width: 26px; height: 26px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  border-radius: 8px; color: #fff;
  background: linear-gradient(135deg, #2d6df6, #6fa0ff);
}
.hero__deck-chip--a { top: -26px; left: -10px; animation: floatBob1 5s ease-in-out infinite, svcIn .7s 1s both; }
.hero__deck-chip--b { bottom: -26px; right: -10px; animation: floatBob2 6s ease-in-out infinite, svcIn .7s 1.15s both; }
.hero__deck-chip .hero__avatars { display: inline-flex; }
.hero__deck-chip .hero__avatars i {
  width: 22px; height: 22px; border-radius: 50%;
  background: var(--b, #2d6df6); border: 2px solid #fff; margin-left: -7px;
}
.hero__deck-chip .hero__avatars i:first-child { margin-left: 0; }

@keyframes svcIn {
  from { opacity: 0; transform: perspective(1000px) rotateX(14deg) translateY(34px) scale(.92); }
  to   { opacity: 1; transform: perspective(1000px) rotateX(0) translateY(0) scale(1); }
}
@keyframes ringSpin { to { transform: rotate(360deg); } }
@keyframes deckAura {
  0%, 100% { transform: scale(1) rotate(0deg); opacity: .9; }
  50%      { transform: scale(1.06) rotate(3deg); opacity: 1; }
}

@media (max-width: 600px) {
  .hero__svc { min-height: 200px; }
  .hero__svc-text strong { font-size: .98rem; }
  .hero__svc-band { padding: 13px 13px 12px; }
  .hero__deck-chip { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .hero__deck-aura, .hero__svc-ring, .hero__deck-chip { animation: none !important; }
}

/* Scroll indicator */
.hero__scroll {
  display: none;
  position: absolute; bottom: 26px; left: 50%;
  transform: translateX(-50%);
  display: flex; flex-direction: column; align-items: center; gap: 6px;
  color: rgba(255,255,255,.25); font-size: .63rem; letter-spacing: .14em; text-transform: uppercase;
  z-index: 3; animation: heroFadeUp .8s 1.1s both;
}
.hero__scroll-mouse {
  width: 20px; height: 32px;
  border: 1.5px solid rgba(255,255,255,.18);
  border-radius: 10px;
  display: flex; justify-content: center; padding-top: 5px;
}
.hero__scroll-wheel {
  width: 2px; height: 6px;
  background: linear-gradient(to bottom, #2d6df6, #6fa0ff);
  border-radius: 2px;
  animation: heroScrollBounce 2s ease infinite;
}

/* ════════════════════════════════════════════════════════════
   KEYFRAMES
════════════════════════════════════════════════════════════ */
@keyframes heroFadeUp {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes lineReveal {
  from { opacity: 0; transform: translateY(32px) skewY(2deg); }
  to   { opacity: 1; transform: translateY(0) skewY(0); }
}
@keyframes heroSlideRight {
  from { opacity: 0; transform: translateX(40px); }
  to   { opacity: 1; transform: translateX(0); }
}
@keyframes dashboardIn {
  from { opacity: 0; transform: perspective(900px) rotateY(-10deg) translateX(40px); }
  to   { opacity: 1; transform: perspective(900px) rotateY(0deg) translateX(0); }
}
@keyframes barGrow {
  from { height: 0; }
  to   { height: var(--h, 60%); }
}
@keyframes gradientShift {
  0%,100% { background-position: 0% 50%; }
  50%      { background-position: 100% 50%; }
}
@keyframes shineSweep {
  0%   { left: -120%; }
  100% { left: 160%; }
}
@keyframes badgePulse {
  0%,100% { opacity: 1; transform: scale(1); box-shadow: 0 0 8px var(--orange); }
  50%      { opacity: .55; transform: scale(1.5); box-shadow: 0 0 16px var(--orange); }
}
@keyframes floatBob1 {
  0%,100% { transform: translateY(0) rotate(-1deg); }
  50%      { transform: translateY(-12px) rotate(1deg); }
}
@keyframes floatBob2 {
  0%,100% { transform: translateY(0) rotate(1deg); }
  50%      { transform: translateY(14px) rotate(-1deg); }
}
@keyframes floatBob3 {
  0%,100% { transform: translateY(0) rotate(0deg); }
  50%      { transform: translateY(-10px) rotate(2deg); }
}
@keyframes particleRise {
  0%   { opacity: 0; transform: translateY(0) scale(1); }
  8%   { opacity: 1; }
  88%  { opacity: .5; }
  100% { opacity: 0; transform: translateY(-95vh) scale(0.5); }
}
@keyframes orbDrift {
  0%, 100% { transform: translate(0, 0) scale(1); }
  33%       { transform: translate(-28px, 22px) scale(1.04); }
  66%       { transform: translate(20px, -16px) scale(0.96); }
}
@keyframes heroScrollBounce {
  0%,100% { transform: translateY(0); opacity: 1; }
  60%      { transform: translateY(13px); opacity: .18; }
}

/* ── Hero responsive ─────────────────────────────────────────── */
@media (max-width: 1140px) {
  .hero__grid { grid-template-columns: 1fr 380px; gap: 32px; }
  .hero__float-badge { display: none; } /* hide floating badges at medium widths */
}
@media (max-width: 860px) {
  /* minmax(0,1fr) lets the column shrink below child min-content (prevents
     the dashboard from forcing the grid wider than the screen) */
  .hero__grid { grid-template-columns: minmax(0, 1fr); padding-top: 28px; padding-bottom: 56px; gap: 40px; }
  .hero__left, .hero__visual { min-width: 0; }
  .hero__visual { max-width: 100%; margin: 0 auto; }
  .hero__dashboard { max-width: 100%; }
  .hero__service-cards { flex-direction: row; flex-wrap: wrap; }
  .hero__service-card { flex: 1 1 180px; }
}
@media (max-width: 600px) {
  .hero__heading { font-size: 2.4rem; }
  .hero__service-cards { flex-direction: column; }
  .hero__mini-stats { flex-wrap: wrap; justify-content: center; }
  .hero__mini-stat { padding: 8px 10px; border-right: none; border-bottom: 1px solid rgba(255,255,255,.06); }
  .hero__mini-stat:last-child { border-bottom: none; }
}
@keyframes tickerFwd {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
@keyframes tickerRev {
  from { transform: translateX(-50%); }
  to   { transform: translateX(0); }
}

/* ── Hero: Mini-stats row ────────────────────────────────────── */
.hero__mini-stats {
  display: flex;
  align-items: center;
  gap: 0;
  margin-bottom: 28px;
  padding: 16px 20px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
  backdrop-filter: blur(10px);
  animation: heroFadeUp .7s .4s both;
  width: fit-content;
}
.hero__mini-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 18px;
}
.hero__mini-stat__number {
  font-size: 1.35rem;
  font-weight: 800;
  background: linear-gradient(135deg, #2d6df6, #6fa0ff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1.1;
}
.hero__mini-stat__label {
  font-size: .67rem;
  color: rgba(255,255,255,.5);
  text-transform: uppercase;
  letter-spacing: .06em;
  margin-top: 3px;
  white-space: nowrap;
}
.hero__mini-stat__sep {
  width: 1px;
  height: 30px;
  background: rgba(255,255,255,.1);
  flex-shrink: 0;
}

/* ── Hero: Trust row ─────────────────────────────────────────── */
.hero__trust {
  display: flex;
  align-items: center;
  gap: 14px;
  animation: heroFadeUp .7s .55s both;
}
.hero__trust-rating {
  display: flex;
  align-items: center;
  gap: 6px;
}
.hero__trust-stars { color: #fbbf24; font-size: .9rem; letter-spacing: 2px; text-shadow: 0 0 10px rgba(251,191,36,.4); }
.hero__trust-score { font-size: .9rem; font-weight: 700; color: var(--white); }
.hero__trust-text  { font-size: .77rem; color: rgba(255,255,255,.42); border-left: 1px solid rgba(255,255,255,.12); padding-left: 14px; line-height: 1.6; }

/* ── Hero: Result highlight card (EZ Rankings-inspired) ──────── */
.hero__result-card {
  background: linear-gradient(135deg, rgba(45,109,246,.12), rgba(111,160,255,.06));
  border: 1px solid rgba(45,109,246,.25);
  border-radius: 16px;
  padding: 18px 20px 14px;
  backdrop-filter: blur(14px);
  animation: heroSlideRight .65s .1s both;
}
.hero__result-card__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 10px;
}
.hero__result-item { display: flex; flex-direction: column; align-items: center; flex: 1; }
.hero__result-num {
  font-size: 1.5rem;
  font-weight: 900;
  background: linear-gradient(135deg, #2d6df6, #6fa0ff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1.1;
}
.hero__result-label { font-size: .65rem; color: rgba(255,255,255,.55); text-transform: uppercase; letter-spacing: .06em; margin-top: 4px; text-align: center; }
.hero__result-divider { width: 1px; height: 36px; background: rgba(45,109,246,.2); flex-shrink: 0; }
.hero__result-caption { font-size: .68rem; color: rgba(255,255,255,.35); text-align: center; border-top: 1px solid rgba(255,255,255,.06); padding-top: 10px; }


/* ══════════════════════════════════════════════════════════════
   MARQUEE TICKER STRIP (Social Panga / EZ Rankings inspired)
══════════════════════════════════════════════════════════════ */
.ticker-strip {
  background: #0a0a0a;
  border-top: 1px solid rgba(45,109,246,.15);
  border-bottom: 1px solid rgba(255,255,255,.06);
  overflow: hidden;
  padding: 0;
}
.ticker-row {
  display: flex;
  overflow: hidden;
  padding: 11px 0;
  mask-image: linear-gradient(90deg, transparent 0%, black 8%, black 92%, transparent 100%);
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, black 8%, black 92%, transparent 100%);
}
.ticker-row--fwd { border-bottom: 1px solid rgba(255,255,255,.04); }
.ticker-track {
  display: flex;
  align-items: center;
  gap: 0;
  white-space: nowrap;
  will-change: transform;
}
.ticker-row--fwd  .ticker-track { animation: tickerFwd 35s linear infinite; }
.ticker-row--rev  .ticker-track { animation: tickerRev 40s linear infinite; }
.ticker-item {
  font-size: .78rem;
  font-weight: 500;
  color: rgba(255,255,255,.45);
  padding: 0 18px;
  letter-spacing: .03em;
  text-transform: uppercase;
  transition: color .2s;
}
.ticker-item--highlight { color: var(--orange); font-weight: 700; }
.ticker-sep {
  color: rgba(45,109,246,.4);
  font-size: .55rem;
  flex-shrink: 0;
}

/* ══════════════════════════════════════════════════════════════
   KEY DIFFERENTIATORS STRIP (Digital Mojo / EZ Rankings)
══════════════════════════════════════════════════════════════ */
.differentiators-strip {
  background: #080808;
  border-bottom: 1px solid rgba(255,255,255,.06);
  padding: 22px 0;
}
.diff-strip {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  flex-wrap: wrap;
}
.diff-item {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 8px 28px;
  color: rgba(255,255,255,.65);
  font-size: .82rem;
  font-weight: 500;
  letter-spacing: .02em;
  transition: color .2s;
  cursor: default;
}
.diff-item:hover { color: var(--white); }
.diff-icon {
  display: flex;
  align-items: center;
  color: var(--orange);
  flex-shrink: 0;
}
.diff-sep {
  width: 1px;
  height: 22px;
  background: rgba(255,255,255,.1);
  flex-shrink: 0;
}
@media (max-width: 768px) {
  .diff-strip { gap: 0; }
  .diff-item { padding: 8px 14px; font-size: .78rem; }
  .diff-sep { display: none; }
}

/* ── Stats Strip (upgraded) ──────────────────────────────────── */
.stats-strip {
  background: linear-gradient(135deg, var(--cream) 0%, var(--cream-2) 100%);
  padding: 56px 0;
  border-top: 1px solid rgba(45,109,246,.15);
  border-bottom: 1px solid var(--gray-200);
  position: relative;
  overflow: hidden;
}
.stats-strip::before {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 100%, rgba(45,109,246,.06) 0%, transparent 60%);
  pointer-events: none;
}
.stats-strip--dark { background: var(--cream-2); }
.stats-strip__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2px;
  position: relative; z-index: 1;
}
@media (max-width: 768px) { .stats-strip__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .stats-strip__grid { grid-template-columns: repeat(2, 1fr); } }

.stat-item {
  text-align: center;
  padding: 32px 20px;
  border-right: 1px solid var(--gray-200);
  position: relative;
  transition: background .3s;
}
.stat-item:last-child { border-right: none; }
.stat-item:hover { background: rgba(45,109,246,.04); }
.stat-item__number {
  display: block;
  font-size: clamp(2.4rem, 4vw, 3.4rem);
  font-weight: 900;
  background: linear-gradient(135deg, #2d6df6 0%, #6fa0ff 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1;
  letter-spacing: -.02em;
}
.stat-item__suffix {
  font-size: clamp(1.6rem, 2.5vw, 2.2rem);
  font-weight: 900;
  background: linear-gradient(135deg, #2d6df6, #6fa0ff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.stat-item__label {
  display: block;
  font-size: .8rem;
  color: rgba(255,255,255,.5);
  margin-top: 8px;
  letter-spacing: .04em;
  text-transform: uppercase;
  font-weight: 500;
}
.stat-item--large .stat-item__number { font-size: clamp(2.5rem, 5vw, 3.5rem); }

/* ══════════════════════════════════════════════════════════════
   IMPACT NUMBERS SECTION
══════════════════════════════════════════════════════════════ */
.impact-numbers {
  background: var(--cream);
  padding: 80px 0;
  border-top: 1px solid rgba(45,109,246,.15);
  position: relative; overflow: hidden;
}
.impact-numbers::before {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 100%, rgba(45,109,246,.07) 0%, transparent 60%);
}
.impact-numbers__grid {
  position: relative; z-index: 1;
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 2px;
  background: var(--gray-200);
  border: 1px solid var(--gray-200);
  border-radius: 20px; overflow: hidden;
}
.impact-card {
  display: flex; flex-direction: column; gap: 16px;
  padding: 40px 32px;
  background: #fff;
  transition: background .3s;
  position: relative; overflow: hidden;
}
.impact-card::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, #2d6df6, #6fa0ff);
  transform: scaleX(0); transform-origin: left;
  transition: transform .4s ease;
}
.impact-card:hover { background: var(--cream); }
.impact-card:hover::before { transform: scaleX(1); }
.impact-card__icon {
  width: 52px; height: 52px;
  background: linear-gradient(135deg, rgba(45,109,246,.18), rgba(111,160,255,.08));
  border: 1px solid rgba(45,109,246,.25);
  border-radius: 14px;
  display: flex; align-items: center; justify-content: center;
  color: var(--orange);
}
.impact-card__body { display: flex; flex-direction: column; gap: 6px; }
.impact-card__number {
  display: block;
  font-size: clamp(2.4rem, 3.5vw, 3.2rem);
  font-weight: 900; line-height: 1;
  background: linear-gradient(135deg, #2d6df6, #6fa0ff);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
  letter-spacing: -.03em;
}
.impact-card__label {
  font-size: .88rem; font-weight: 700; color: var(--ink); letter-spacing: .02em;
}
.impact-card__desc { font-size: .76rem; color: var(--gray-500); line-height: 1.5; }
@media (max-width: 768px) { .impact-numbers__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .impact-numbers__grid { grid-template-columns: 1fr; } .impact-card { padding: 28px 20px; } }

/* ══════════════════════════════════════════════════════════════
   WHY CHOOSE US (v2 - press strip + coloured illustrated cards)
══════════════════════════════════════════════════════════════ */
.why-us {
  background: var(--cream-2);
  padding: var(--section-pad-y) 0;
}

.why-us__header { text-align: center; margin-bottom: var(--section-head-mb); }

/* Coloured illustrated cards */
.why-cards-v2 {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0;
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 24px;
}
.why-card-v2 {
  position: relative;
  background: linear-gradient(160deg, var(--card-bg), var(--card-bg2));
  overflow: hidden;
  transition: transform .35s cubic-bezier(.22,1,.36,1), z-index 0s;
  cursor: default;
}
.why-card-v2:first-child { border-radius: 16px 0 0 16px; }
.why-card-v2:last-child  { border-radius: 0 16px 16px 0; }
.why-card-v2:hover {
  transform: translateY(-12px) scale(1.03);
  z-index: 3;
  box-shadow: 0 30px 60px rgba(0,0,0,.28);
  border-radius: 16px;
}

/* Illustration area */
.why-card-v2__top {
  position: relative;
  height: 230px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,.95);
}
.why-card-v2__icon-wrap {
  position: relative; z-index: 2;
  width: 110px; height: 110px;
  background: rgba(255,255,255,.16);
  border: 2px solid rgba(255,255,255,.3);
  border-radius: 28px;
  display: flex; align-items: center; justify-content: center;
  backdrop-filter: blur(4px);
  transition: transform .4s cubic-bezier(.34,1.56,.64,1);
}
.why-card-v2:hover .why-card-v2__icon-wrap {
  transform: rotate(-8deg) scale(1.08);
}
/* Floating decorative shapes */
.why-card-v2__deco {
  position: absolute;
  border-radius: 50%;
  background: rgba(255,255,255,.14);
  pointer-events: none;
}
.why-card-v2__deco--1 {
  width: 60px; height: 60px;
  top: 28px; right: 26px;
  animation: whyFloat 5s ease-in-out infinite;
}
.why-card-v2__deco--2 {
  width: 34px; height: 34px;
  bottom: 40px; left: 24px;
  background: rgba(255,255,255,.1);
  animation: whyFloat 6.5s ease-in-out infinite 1s;
}
@keyframes whyFloat {
  0%,100% { transform: translateY(0); }
  50%     { transform: translateY(-14px); }
}

/* Zigzag torn-paper divider */
.why-card-v2__zigzag {
  position: relative;
  line-height: 0;
  margin-bottom: -1px;
}
.why-card-v2__zigzag svg { width: 100%; height: 12px; display: block; }

/* Bottom label area */
.why-card-v2__bottom {
  background: var(--cream);
  padding: 8px 22px 30px;
  text-align: center;
}
.why-card-v2__bottom h3 {
  font-size: 1.18rem;
  font-weight: 900;
  color: var(--gray-900);
  letter-spacing: -.02em;
  margin-bottom: 8px;
}
.why-card-v2__bottom p {
  font-size: .82rem;
  color: var(--gray-500);
  line-height: 1.55;
}

@media (max-width: 1024px) {
  .why-cards-v2 { grid-template-columns: repeat(3, 1fr); gap: 16px; }
  .why-card-v2, .why-card-v2:first-child, .why-card-v2:last-child { border-radius: 16px; }
}
@media (max-width: 640px) {
  .why-cards-v2 { grid-template-columns: 1fr 1fr; gap: 12px; }
  .why-card-v2__top { height: 180px; }
  .why-card-v2__icon-wrap { width: 84px; height: 84px; border-radius: 22px; }
  .why-card-v2__icon-wrap svg { width: 48px; height: 48px; }
}
@media (max-width: 400px) {
  .why-cards-v2 { grid-template-columns: 1fr; }
}

/* ══════════════════════════════════════════════════════════════
   OUR CLIENTS - infinite logo marquee
══════════════════════════════════════════════════════════════ */
.clients-marquee {
  background: var(--cream-2);
  border-top: 1px solid var(--gray-200);
  border-bottom: 1px solid var(--gray-200);
  padding: 40px 0 44px;
  position: relative;
  overflow: hidden;
}
.clients-marquee__label {
  text-align: center;
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .18em;
  color: var(--gray-500);
  margin-bottom: 28px;
}
/* Edge-fade viewport so logos slide in/out softly */
.clients-marquee__viewport {
  position: relative;
  width: 100%;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 9%, #000 91%, transparent 100%);
          mask-image: linear-gradient(to right, transparent 0, #000 9%, #000 91%, transparent 100%);
}
.clients-marquee__track {
  display: flex;
  width: max-content;
  animation: clientsScroll 36s linear infinite;
  will-change: transform;
}
.clients-marquee:hover .clients-marquee__track { animation-play-state: paused; }
.clients-marquee__group {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}
.client-logo {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  padding: 0 36px;
  white-space: nowrap;
  opacity: .5;
  filter: grayscale(1);
  transition: opacity .3s ease, filter .3s ease, transform .3s ease;
}
.client-logo:hover {
  opacity: 1;
  filter: grayscale(0);
  transform: translateY(-2px);
}
.client-logo__mark {
  width: 28px;
  height: 28px;
  flex-shrink: 0;
  color: var(--mk);
}
.client-logo__name {
  font-size: 1.4rem;
  font-weight: 800;
  letter-spacing: -.025em;
  color: var(--gray-900);
}
@keyframes clientsScroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
@media (max-width: 768px) {
  .clients-marquee { padding: 32px 0 36px; }
  .clients-marquee__label { margin-bottom: 22px; }
  .client-logo { padding: 0 26px; gap: 9px; }
  .client-logo__mark { width: 22px; height: 22px; }
  .client-logo__name { font-size: 1.12rem; }
}
/* Accessibility: hold still for users who prefer reduced motion */
@media (prefers-reduced-motion: reduce) {
  .clients-marquee__track { animation: none; flex-wrap: wrap; justify-content: center; row-gap: 18px; }
  .clients-marquee__group[aria-hidden="true"] { display: none; }
  .client-logo { opacity: .65; filter: grayscale(.4); }
}

/* ══════════════════════════════════════════════════════════════
   SERVICE DASHBOARDS SHOWCASE
══════════════════════════════════════════════════════════════ */
.dash-showcase {
  background: var(--cream);
  padding: var(--section-pad-y) 0;
}
.dash-showcase__header { text-align: center; margin-bottom: var(--section-head-mb); }

/* Featured Creators Zone */
.dash-feature {
  position: relative;
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  align-items: stretch;
  gap: 0;
  background: linear-gradient(135deg, #c9a8f5 0%, #a982ea 46%, #8b63de 100%);
  background-size: 170% 170%;
  border-radius: 26px;
  overflow: hidden;
  text-decoration: none;
  margin-bottom: 24px;
  box-shadow: 0 18px 44px rgba(13,20,36,.12), inset 0 1px 0 rgba(255,255,255,.25);
  transition: transform .45s cubic-bezier(.22,1,.36,1), box-shadow .45s ease;
  animation: dashAurora 14s ease-in-out infinite;
}
@keyframes dashAurora {
  0%, 100% { background-position: 0% 50%; }
  50%      { background-position: 100% 50%; }
}
.dash-feature:hover {
  transform: translateY(-8px);
  box-shadow: 0 28px 60px rgba(13,20,36,.18), inset 0 1px 0 rgba(255,255,255,.3);
}
.dash-feature__media { position: relative; overflow: hidden; min-height: 360px; }
.dash-feature__media img {
  position: absolute; inset: 0;
  width: 100%; height: 100%; object-fit: cover;
  transition: transform .7s cubic-bezier(.22,1,.36,1);
}
.dash-feature:hover .dash-feature__media img { transform: scale(1.07); }
/* overlay removed - keep the photo clean */
.dash-feature__glow { display: none; }
.dash-feature__body {
  position: relative; overflow: hidden;
  padding: 52px 50px;
  display: flex; flex-direction: column; gap: 16px; justify-content: center;
  color: #fff;
}
/* floating light orbs add depth to the flat panel */
.dash-feature__body::before,
.dash-feature__body::after {
  content: ''; position: absolute; border-radius: 50%;
  pointer-events: none; z-index: 0; filter: blur(6px);
}
.dash-feature__body::before {
  width: 190px; height: 190px; top: -56px; right: -46px;
  background: rgba(255,255,255,.16);
  animation: dashFloat 7s ease-in-out infinite;
}
.dash-feature__body::after {
  width: 120px; height: 120px; bottom: -34px; right: 28%;
  background: rgba(255,255,255,.1);
  animation: dashFloat 9.5s ease-in-out infinite 1.4s;
}
@keyframes dashFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-18px); } }
.dash-feature__body > * { position: relative; z-index: 1; }
.dash-feature__badge {
  display: inline-flex; align-items: center; width: fit-content;
  background: rgba(255,255,255,.18);
  border: 1px solid rgba(255,255,255,.42);
  color: #fff;
  font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase;
  padding: 6px 14px; border-radius: 100px;
  backdrop-filter: blur(8px);
  box-shadow: 0 4px 14px rgba(0,0,0,.12);
  animation: featuredBlink 1.4s ease-in-out infinite;
}
@keyframes featuredBlink {
  0%, 100% { opacity: 1;   box-shadow: 0 4px 14px rgba(0,0,0,.12), 0 0 0 0 rgba(255,255,255,.5); }
  50%      { opacity: .45; box-shadow: 0 4px 14px rgba(0,0,0,.12), 0 0 0 5px rgba(255,255,255,0); }
}
@media (prefers-reduced-motion: reduce) {
  .dash-feature__badge { animation: none; opacity: 1; }
}
.dash-feature__title { font-size: clamp(1.8rem, 3vw, 2.6rem); font-weight: 900; letter-spacing: -.02em; line-height: 1.05; text-shadow: 0 2px 18px rgba(13,20,36,.18); }
.dash-feature__text { font-size: .95rem; line-height: 1.7; color: rgba(255,255,255,.9); max-width: 460px; }
.dash-feature__points { list-style: none; padding: 0; margin: 4px 0; display: flex; flex-direction: column; gap: 12px; }
.dash-feature__points li { display: flex; align-items: center; gap: 12px; font-size: .92rem; font-weight: 500; color: #fff; }
.dash-feature__points svg {
  flex-shrink: 0; color: #7a4fd0;
  width: 15px; height: 15px;
  background: #fff; border-radius: 50%; padding: 4px;
  box-sizing: content-box;
  box-shadow: 0 4px 12px rgba(0,0,0,.18);
}
.dash-feature__cta {
  position: relative; overflow: hidden; isolation: isolate;
  display: inline-flex; align-items: center; gap: 9px; width: fit-content;
  margin-top: 8px;
  background: #fff; color: #6b3fc0;
  font-size: .9rem; font-weight: 800;
  padding: 13px 28px; border-radius: 100px;
  box-shadow: 0 10px 24px rgba(13,20,36,.18);
  transition: gap .25s, transform .25s, box-shadow .25s;
}
.dash-feature__cta::before {
  content: ''; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(120deg, transparent 20%, rgba(155,120,224,.35) 50%, transparent 80%);
  transform: translateX(-130%);
  transition: transform .7s ease;
}
.dash-feature__cta svg { transition: transform .25s; }
.dash-feature:hover .dash-feature__cta { gap: 14px; transform: translateY(-2px); box-shadow: 0 16px 32px rgba(13,20,36,.24); }
.dash-feature:hover .dash-feature__cta::before { transform: translateX(130%); }
.dash-feature:hover .dash-feature__cta svg { transform: translateX(4px); }
@media (max-width: 860px) {
  .dash-feature { grid-template-columns: 1fr; }
  .dash-feature__media { min-height: 240px; }
  .dash-feature__body { padding: 36px 28px; }
}
@media (prefers-reduced-motion: reduce) {
  .dash-feature,
  .dash-feature__body::before,
  .dash-feature__body::after { animation: none; }
}

/* Two standard dashboard cards */
.dash-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.dash-card {
  --c1: #f4796b; --c2: #ec5f50;
  position: relative;
  display: flex; flex-direction: column;
  background: #fff;
  border: 1px solid var(--gray-200);
  border-radius: 22px;
  overflow: hidden;
  text-decoration: none;
  box-shadow: 0 8px 28px rgba(29,29,40,.06);
  transition: transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s ease, border-color .35s ease;
}
/* coloured accent ribbon along the top */
.dash-card::before {
  content: ''; position: absolute; z-index: 4; top: 0; left: 0; right: 0; height: 5px;
  background: linear-gradient(90deg, var(--c1), var(--c2));
}
.dash-card--orange { --c1: #f4796b; --c2: #ec5f50; }
.dash-card--blue   { --c1: #8ab6f9; --c2: #6b9cf0; }
.dash-card:hover {
  transform: translateY(-8px);
  border-color: color-mix(in srgb, var(--c1) 40%, var(--gray-200));
  box-shadow: 0 26px 52px color-mix(in srgb, var(--c1) 24%, transparent);
}
.dash-card__media { position: relative; overflow: hidden; aspect-ratio: 16 / 9; }
.dash-card__media::after {
  content: ''; position: absolute; inset: 0; z-index: 1;
  background:
    linear-gradient(180deg, rgba(13,20,36,.22) 0%, transparent 34%),
    linear-gradient(160deg, transparent 50%, color-mix(in srgb, var(--c1) 32%, transparent));
  transition: opacity .4s ease;
}
.dash-card:hover .dash-card__media::after {
  background:
    linear-gradient(180deg, rgba(13,20,36,.22) 0%, transparent 34%),
    linear-gradient(160deg, transparent 42%, color-mix(in srgb, var(--c1) 48%, transparent));
}
.dash-card__media img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform .6s cubic-bezier(.22,1,.36,1);
}
.dash-card:hover .dash-card__media img { transform: scale(1.07); }
/* floating arrow chip that rises in on hover */
.dash-card__media::before {
  content: '→'; position: absolute; z-index: 2;
  top: 16px; right: 16px;
  width: 38px; height: 38px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.05rem; font-weight: 800; line-height: 1;
  color: #fff;
  background: linear-gradient(135deg, var(--c1), var(--c2));
  border-radius: 50%;
  box-shadow: 0 8px 18px color-mix(in srgb, var(--c1) 45%, transparent);
  opacity: 0; transform: translateY(-8px) scale(.85);
  transition: opacity .35s ease, transform .35s cubic-bezier(.34,1.56,.64,1);
}
.dash-card:hover .dash-card__media::before { opacity: 1; transform: translateY(0) scale(1); }
.dash-card__body { padding: 26px 28px 30px; display: flex; flex-direction: column; gap: 10px; }
.dash-card__tag {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: .64rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em;
  color: color-mix(in srgb, var(--c1) 70%, #1d1d28);
}
.dash-card__tag::before {
  content: ''; width: 8px; height: 8px; border-radius: 50%;
  background: linear-gradient(135deg, var(--c1), var(--c2));
}
.dash-card__title { font-size: 1.3rem; font-weight: 900; color: var(--ink); line-height: 1.15; transition: color .3s ease; }
.dash-card:hover .dash-card__title { color: color-mix(in srgb, var(--c1) 60%, var(--ink)); }
.dash-card__text { font-size: .88rem; color: var(--gray-700); line-height: 1.6; }
.dash-card__cta {
  display: inline-flex; align-items: center; gap: 7px;
  margin-top: 6px;
  font-size: .84rem; font-weight: 800; letter-spacing: .03em;
  color: color-mix(in srgb, var(--c1) 70%, #1d1d28);
  transition: gap .25s;
}
.dash-card:hover .dash-card__cta { gap: 11px; }
@media (max-width: 860px) { .dash-pair { grid-template-columns: 1fr; max-width: 460px; margin: 0 auto; } }

/* ── Floating "live dashboard" overlays (wow factor) ───────────── */
/* Pulsing LIVE badge on the featured media */
.dash-feature__live {
  position: absolute; z-index: 3; top: 18px; left: 18px;
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(13,20,36,.5);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,.2);
  color: #fff; font-size: .66rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: .12em;
  padding: 7px 13px; border-radius: 100px;
  box-shadow: 0 8px 22px rgba(13,20,36,.28);
}
.dash-feature__live i {
  width: 8px; height: 8px; border-radius: 50%;
  background: #ff5c5c;
  animation: dashLivePulse 1.8s ease-out infinite;
}
@keyframes dashLivePulse {
  0%   { box-shadow: 0 0 0 0 rgba(255,92,92,.7); }
  70%  { box-shadow: 0 0 0 9px rgba(255,92,92,0); }
  100% { box-shadow: 0 0 0 0 rgba(255,92,92,0); }
}
/* Glass stat cards floating over the photo */
.dash-stat {
  position: absolute; z-index: 3;
  display: flex; flex-direction: column;
  background: rgba(255,255,255,.9);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,.75);
  border-radius: 16px;
  padding: 12px 16px;
  box-shadow: 0 16px 36px rgba(13,20,36,.24);
  opacity: 0;
  animation: dashPopIn .6s ease both, dashFloat 6s ease-in-out infinite;
}
.dash-stat--a { left: 20px;  bottom: 22px; animation-delay: .35s, 1.1s; }
.dash-stat--b { right: 20px; top: 64px;    animation-delay: .55s, 1.5s; }
.dash-stat__num { font-size: 1.4rem; font-weight: 900; color: var(--ink); letter-spacing: -.02em; line-height: 1; }
.dash-stat__label { font-size: .62rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: var(--gray-500); margin-top: 5px; }
@keyframes dashPopIn { from { opacity: 0; transform: translateY(12px) scale(.85); } to { opacity: 1; transform: translateY(0) scale(1); } }

/* Glass chips + metric badges on the two cards */
.dash-card__chip {
  position: absolute; z-index: 2; top: 14px; left: 14px;
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,.7);
  color: color-mix(in srgb, var(--c1) 72%, #1d1d28);
  font-size: .62rem; font-weight: 800; text-transform: uppercase; letter-spacing: .09em;
  padding: 6px 12px; border-radius: 100px;
  box-shadow: 0 6px 16px rgba(13,20,36,.18);
}
/* glass stat card on each card image (matches the featured 500+ card) */
.dash-card__stat {
  position: absolute; z-index: 2; right: 14px; bottom: 14px;
  display: flex; flex-direction: column;
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,.75);
  border-radius: 14px;
  padding: 9px 14px;
  box-shadow: 0 14px 30px rgba(13,20,36,.22);
  transition: transform .4s cubic-bezier(.22,1,.36,1);
}
.dash-card:hover .dash-card__stat { transform: translateY(-4px); }
.dash-card__stat-num { font-size: 1.18rem; font-weight: 900; color: var(--ink); letter-spacing: -.02em; line-height: 1; }
.dash-card__stat-label { font-size: .58rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: var(--gray-500); margin-top: 4px; }

/* body header: gradient service icon + title */
.dash-card__head { display: flex; align-items: center; gap: 14px; }
.dash-card__icon {
  flex-shrink: 0;
  width: 46px; height: 46px; border-radius: 13px;
  display: flex; align-items: center; justify-content: center;
  color: #fff;
  background: linear-gradient(135deg, var(--c1), var(--c2));
  box-shadow: 0 8px 18px color-mix(in srgb, var(--c1) 42%, transparent);
  transition: transform .4s cubic-bezier(.34,1.56,.64,1);
}
.dash-card:hover .dash-card__icon { transform: rotate(-6deg) scale(1.08); }

@media (max-width: 480px) {
  .dash-stat { padding: 9px 12px; }
  .dash-stat__num { font-size: 1.15rem; }
  .dash-stat--b { top: 56px; }
}
@media (prefers-reduced-motion: reduce) {
  .dash-stat { animation: none; opacity: 1; }
  .dash-feature__live i { animation: none; }
}

/* ══════════════════════════════════════════════════════════════
   HOW WE WORK (alternating split-screen)
══════════════════════════════════════════════════════════════ */
.how-we-work {
  background: var(--cream-2);
  padding: var(--section-pad-y) 0;
}
.how-we-work__header { text-align: center; margin-bottom: var(--section-head-mb); }

/* ── Bento grid of process cards (DashClicks feature-card style) ── */
.proc-grid {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 1fr);
  gap: 22px;
}
.proc-card {
  position: relative;
  display: flex; flex-direction: column;
  min-height: 400px;
  padding: 28px 26px 0;
  border-radius: 24px;
  overflow: hidden;
  isolation: isolate;
  border: 1px solid rgba(13,20,36,.06);
  box-shadow: 0 22px 50px -28px rgba(13,20,36,.4);
  transition: transform .45s cubic-bezier(.22,1,.36,1), box-shadow .45s ease;
}
/* keep real content above the ghost numeral */
.proc-card > *:not(.proc-card__num) { position: relative; z-index: 1; }
.proc-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 40px 70px -26px rgba(13,20,36,.55);
}

/* big faint step numeral watermark (reference style) */
.proc-card__num {
  position: absolute;
  top: -6px; right: 14px;
  z-index: 0;
  font-size: 7.5rem; font-weight: 900;
  line-height: 1; letter-spacing: -.05em;
  font-variant-numeric: tabular-nums;
  color: currentColor; opacity: .07;
  pointer-events: none; user-select: none;
}
.proc-card--light .proc-card__num { opacity: .055; }

/* card colour themes */
.proc-card--light  { background: linear-gradient(155deg, #f3f7fd 0%, #e3ecfa 100%); color: var(--gray-900); border-color: rgba(13,20,36,.07); }
.proc-card--dark   { background: linear-gradient(155deg, #1b2236 0%, #0a0e18 100%); color: #fff; border-color: rgba(255,255,255,.08); }
.proc-card--purple { background: linear-gradient(155deg, #c054f5 0%, #8b4cf0 100%); color: #fff; border-color: rgba(255,255,255,.18); }
.proc-card--teal   { background: linear-gradient(155deg, #3ad0c4 0%, #4aa8f0 100%); color: #fff; border-color: rgba(255,255,255,.18); }

/* title + text centred between the numeral and the image */
.proc-card__body {
  flex: 1 1 auto;
  display: flex; flex-direction: column; justify-content: center;
  padding: 80px 0 18px;
}
.proc-card__title {
  font-size: clamp(1.15rem, 1.35vw, 1.4rem);
  font-weight: 900; letter-spacing: -.02em; line-height: 1.18;
  margin-bottom: 10px;
}
.proc-card__text {
  font-size: .9rem; line-height: 1.6;
  opacity: .82;
  max-width: none;
  margin-bottom: 0;
}

/* relevant product image bleeding into the bottom of the card */
.proc-card__media {
  margin-right: -26px;
  align-self: flex-end;
  width: calc(100% + 26px);
  border-top-left-radius: 18px;
  overflow: hidden;
  box-shadow: -10px -10px 40px -16px rgba(13,20,36,.35);
}
.proc-card__media img {
  display: block;
  width: 100%; height: 160px;
  object-fit: cover; object-position: left top;
  transition: transform .6s cubic-bezier(.22,1,.36,1);
}
.proc-card:hover .proc-card__media img { transform: scale(1.05); }

/* Tablet: wrap the single row into a tidy grid */
@media (max-width: 1100px) {
  .proc-grid {
    grid-auto-flow: row;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
  }
}
@media (max-width: 760px) {
  .proc-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px) {
  .proc-grid { grid-template-columns: 1fr; }
  .proc-card { min-height: 0; padding: 30px 28px 0; }
  .proc-card__media { margin-right: -28px; width: calc(100% + 28px); }
  .proc-card__media img { height: 200px; }
}

/* ══════════════════════════════════════════════════════════════
   ABOUT SPLIT
══════════════════════════════════════════════════════════════ */
/* ══════════════════════════════════════════════════════════════
   ABOUT / TEAM SPLIT - gradient + floating visual
══════════════════════════════════════════════════════════════ */
.about-split {
  position: relative; overflow: hidden;
  background: linear-gradient(180deg, #f4f1ff 0%, #eef4ff 100%);
  padding: var(--section-pad-y) 0;
}
.about-split__bg-blob {
  position: absolute; z-index: 0; border-radius: 50%;
  filter: blur(80px); opacity: .55; pointer-events: none;
}
.about-split__bg-blob--a {
  width: 480px; height: 480px; top: -150px; right: -90px;
  background: radial-gradient(circle, rgba(168,85,247,.5), transparent 70%);
}
.about-split__bg-blob--b {
  width: 440px; height: 440px; bottom: -180px; left: -120px;
  background: radial-gradient(circle, rgba(99,102,241,.42), transparent 70%);
}
.about-split__inner {
  position: relative; z-index: 1;
  max-width: 1200px; margin: 0 auto; padding: 0 32px;
  display: grid; grid-template-columns: 1.05fr 1fr; gap: 64px; align-items: center;
}

/* ── Content ─────────────────────────────────────────────────── */
.about-split__content { display: flex; flex-direction: column; gap: 22px; }
.about-split__tag {
  display: inline-flex; align-self: flex-start; align-items: center;
  padding: 6px 15px; margin: 0; border-radius: 999px;
  font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
  color: #9333ea; background: rgba(168,85,247,.1); border: 1px solid rgba(168,85,247,.24);
}
.about-split__title {
  margin: 0;
  font-size: clamp(2.1rem, 4.2vw, 3.4rem); font-weight: 900; line-height: 1.05;
  letter-spacing: -.03em; color: var(--ink);
}
.about-split__hl {
  background: linear-gradient(120deg, #d946ef, #9333ea 48%, #6366f1);
  background-size: 220% 100%;
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
  animation: about-grad 6s ease-in-out infinite;
}
@keyframes about-grad { 0%,100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } }
.about-split__lead {
  margin: 0; max-width: 540px;
  font-size: 1.02rem; line-height: 1.7; color: var(--gray-700);
}
.about-split__list {
  list-style: none; padding: 0; margin: 6px 0 0;
  display: flex; flex-direction: column; gap: 16px;
}
.about-split__list li {
  display: flex; align-items: center; gap: 15px;
  font-size: 1rem; font-weight: 500; line-height: 1.45; color: var(--ink);
  transition: transform .35s var(--ease-spring);
}
.about-split__list li:hover { transform: translateX(7px); }
.about-split__check {
  flex-shrink: 0; display: inline-grid; place-items: center;
  width: 40px; height: 40px; border-radius: 12px;
  color: #9333ea;
  background: linear-gradient(135deg, #f3e8ff, #e8edff);
  border: 1px solid rgba(147,51,234,.2);
  box-shadow: 0 6px 16px rgba(147,51,234,.14);
  transition: transform .35s var(--ease-spring), box-shadow .35s ease, background .35s ease, color .35s ease;
}
.about-split__check svg { width: 19px; height: 19px; }
.about-split__list li:hover .about-split__check {
  transform: rotate(-6deg) scale(1.08);
  color: #fff; background: linear-gradient(135deg, #9333ea, #6366f1);
  box-shadow: 0 12px 26px rgba(147,51,234,.4);
}
/* staggered reveal */
.about-split__content.is-animated .about-split__list li { animation: about-pop .6s var(--ease-spring) both; }
.about-split__content.is-animated .about-split__list li:nth-child(1) { animation-delay: .15s; }
.about-split__content.is-animated .about-split__list li:nth-child(2) { animation-delay: .27s; }
.about-split__content.is-animated .about-split__list li:nth-child(3) { animation-delay: .39s; }
@keyframes about-pop { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }

/* CTA */
.about-split__cta {
  align-self: flex-start; margin-top: 10px; position: relative; overflow: hidden;
  color: #fff !important;
  background: linear-gradient(120deg, #9333ea, #6366f1) !important;
  border: none !important; box-shadow: 0 12px 28px rgba(147,51,234,.32);
  transition: transform .3s var(--ease-spring), box-shadow .3s ease;
}
.about-split__cta::before {
  content: ''; position: absolute; top: 0; left: -130%; width: 55%; height: 100%;
  background: linear-gradient(100deg, transparent, rgba(255,255,255,.5), transparent);
  transform: skewX(-18deg); transition: left .7s ease; pointer-events: none;
}
.about-split__cta:hover { transform: translateY(-3px); box-shadow: 0 18px 38px rgba(147,51,234,.44); }
.about-split__cta:hover::before { left: 150%; }
.about-split__arrow { display: inline-block; transition: transform .35s var(--ease-spring); }
.about-split__cta:hover .about-split__arrow { transform: translateX(5px); }

/* ── Visual / floating image ─────────────────────────────────── */
.about-split__visual { position: relative; }
.about-split__media {
  position: relative; z-index: 1; border-radius: 20px;
  transform-style: preserve-3d; transition: transform .3s ease; will-change: transform;
  animation: about-float 6s ease-in-out infinite;
}
.about-split__media:hover { animation-play-state: paused; }
@keyframes about-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-14px); } }
.about-split__glow {
  position: absolute; inset: -5px; z-index: -1; border-radius: 26px;
  background: linear-gradient(135deg, #d946ef, #6366f1);
  opacity: .45; filter: blur(28px); transition: opacity .45s ease;
}
.about-split__media:hover .about-split__glow { opacity: .72; }
.about-split__img {
  width: 100%; display: block; border-radius: 18px; object-fit: cover;
  border: 1px solid rgba(255,255,255,.6);
  box-shadow: 0 32px 64px rgba(76,29,149,.26);
}
.about-split__sheen { position: absolute; inset: 0; border-radius: 18px; overflow: hidden; pointer-events: none; }
.about-split__sheen::before {
  content: ''; position: absolute; top: -40%; left: -60%; width: 50%; height: 180%;
  background: linear-gradient(100deg, transparent, rgba(255,255,255,.5), transparent);
  transform: skewX(-18deg); transition: left .8s ease;
}
.about-split__media:hover .about-split__sheen::before { left: 140%; }
.about-split__badge {
  position: absolute; top: 16px; left: 16px;
  display: inline-flex; align-items: center; gap: 7px;
  padding: 7px 13px; border-radius: 999px;
  background: rgba(13,20,36,.72); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  color: #fff; font-size: .7rem; font-weight: 600; letter-spacing: .04em;
  transform: translateZ(50px);
}
.about-split__badge-dot {
  width: 8px; height: 8px; border-radius: 50%; background: #33d69f;
  animation: about-pulse 1.8s ease-out infinite;
}
@keyframes about-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(51,214,159,.55); }
  70%  { box-shadow: 0 0 0 9px rgba(51,214,159,0); }
  100% { box-shadow: 0 0 0 0 rgba(51,214,159,0); }
}

/* floating glass stat card */
.about-split__statcard {
  position: absolute; bottom: -28px; left: -28px; z-index: 2;
  display: grid; grid-template-columns: 1fr 1fr; gap: 16px 26px;
  padding: 22px 26px; border-radius: 18px;
  background: rgba(255,255,255,.82);
  -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
  border: 1px solid rgba(255,255,255,.7);
  box-shadow: 0 26px 54px rgba(76,29,149,.22);
  animation: about-float 6s ease-in-out infinite; animation-delay: -3s;
}
.about-stat { display: flex; flex-direction: column; gap: 3px; }
.about-stat__num {
  font-size: clamp(1.4rem, 2vw, 1.85rem); font-weight: 900; line-height: 1;
  background: linear-gradient(135deg, #9333ea, #6366f1);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}
.about-stat__label { font-size: .66rem; color: var(--gray-500); text-transform: uppercase; letter-spacing: .06em; }

@media (max-width: 880px) {
  .about-split__inner { grid-template-columns: 1fr; gap: 72px; }
  .about-split__visual { max-width: 520px; margin: 0 auto; width: 100%; }
  .about-split__statcard { left: 50%; bottom: -32px; transform: translateX(-50%); animation: none; }
}
@media (max-width: 480px) {
  .about-split__statcard { position: static; transform: none; margin-top: 26px; width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .about-split__media, .about-split__statcard, .about-split__hl,
  .about-split__badge-dot, .about-split__list li, .about-split__check { animation: none !important; }
  .about-split__media { transform: none !important; }
}

/* ══════════════════════════════════════════════════════════════
   REVIEWS / TESTIMONIALS
══════════════════════════════════════════════════════════════ */
.reviews-section {
  background:
    radial-gradient(ellipse at 15% 10%, rgba(244,121,107,.08) 0%, transparent 45%),
    radial-gradient(ellipse at 85% 90%, rgba(143,182,249,.1) 0%, transparent 45%),
    var(--cream-2);
  padding: var(--section-pad-y) 0;
  position: relative; overflow: hidden;
}
.reviews-section__header { text-align: center; margin-bottom: var(--section-head-mb); position: relative; z-index: 1; }
.reviews-headline {
  font-size: clamp(1.9rem, 4.4vw, 3.4rem);
  font-weight: 900; line-height: 1.08;
  letter-spacing: -.03em; color: var(--ink);
  max-width: 900px; margin: 8px auto 0;
}

/* Masonry columns */
.reviews-masonry {
  column-count: 4;
  column-gap: 24px;
  position: relative; z-index: 1;
}
@media (max-width: 1100px) { .reviews-masonry { column-count: 3; } }
@media (max-width: 800px)  { .reviews-masonry { column-count: 2; } }
@media (max-width: 520px)  { .reviews-masonry { column-count: 1; } }

.rv-card {
  break-inside: avoid;
  background: #fff;
  border: 1px solid var(--gray-200);
  border-radius: 18px;
  padding: 26px;
  margin-bottom: 24px;
  display: flex; flex-direction: column; gap: 16px;
  position: relative;
  box-shadow: 0 4px 18px rgba(29,29,40,.05);
  transition: transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s ease, border-color .35s ease;
}
.rv-card:hover {
  transform: translateY(-6px);
  border-color: var(--gray-300);
  box-shadow: 0 22px 44px rgba(29,29,40,.12);
}
.rv-card__top { display: flex; align-items: center; gap: 12px; }
.rv-card__avatar {
  width: 44px; height: 44px; flex-shrink: 0;
  border-radius: 50%;
  object-fit: cover;
  background: var(--gray-200);
  transition: transform .35s cubic-bezier(.34,1.56,.64,1);
}
.rv-card:hover .rv-card__avatar { transform: scale(1.08); }
.rv-card__name { font-size: 1.05rem; font-weight: 600; color: var(--ink); }
.rv-card__text { font-size: .92rem; color: var(--gray-700); line-height: 1.7; }
.rv-card__platform { margin-top: auto; }
.rv-card__platform svg {
  width: 30px; height: 30px; display: block;
  filter: grayscale(.15);
  transition: transform .3s ease, filter .3s ease;
}
.rv-card:hover .rv-card__platform svg { transform: scale(1.12); filter: grayscale(0); }

/* ══════════════════════════════════════════════════════════════
   CONTACT SPLIT
══════════════════════════════════════════════════════════════ */
.contact-split {
  display: grid; grid-template-columns: 1fr 1fr;
  min-height: 600px;
  position: relative;
}
/* hairline gradient seam at the very top of the dark section */
.contact-split::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px; z-index: 2;
  background: linear-gradient(90deg, transparent, rgba(91,139,255,.5), rgba(168,139,255,.5), transparent);
}
.contact-split__left {
  background: #07070b;
  padding: 80px 60px;
  display: flex; flex-direction: column; gap: 28px;
  justify-content: center;
  position: relative; overflow: hidden;
}
/* faint tech grid + glow blobs for depth */
.contact-split__left::after {
  content: ''; position: absolute; inset: 0; pointer-events: none; opacity: .5;
  background-image:
    linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
  background-size: 44px 44px;
  -webkit-mask-image: radial-gradient(120% 100% at 0% 100%, #000 30%, transparent 75%);
          mask-image: radial-gradient(120% 100% at 0% 100%, #000 30%, transparent 75%);
}
.contact-split__left::before {
  content: '';
  position: absolute; bottom: -120px; left: -120px;
  width: 420px; height: 420px;
  background: radial-gradient(circle, rgba(45,109,246,.2) 0%, transparent 65%);
  filter: blur(60px);
}
.contact-split__left > * { position: relative; z-index: 1; }
.contact-split__heading {
  font-size: clamp(2rem, 3.5vw, 3rem);
  font-weight: 900; color: var(--white); line-height: 1.1;
  letter-spacing: -.03em;
}
.contact-split__heading-grad {
  background: linear-gradient(120deg, #6f9cff 0%, #a98bff 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}
.contact-split__sub {
  font-size: 1rem; color: rgba(255,255,255,.55); line-height: 1.7;
  max-width: 380px;
}
.contact-split__trust { display: flex; flex-direction: column; gap: 14px; }
.contact-trust-item {
  display: flex; align-items: center; gap: 14px;
  padding: 16px 20px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  transition: transform .3s ease, background .3s ease, border-color .3s ease;
}
.contact-trust-item:hover {
  transform: translateX(5px);
  background: rgba(255,255,255,.07);
  border-color: rgba(123,91,255,.35);
}
.contact-trust-item__icon {
  width: 40px; height: 40px; flex-shrink: 0;
  background: linear-gradient(135deg, #2d6df6, #7b5bff);
  border-radius: 11px;
  display: flex; align-items: center; justify-content: center;
  color: #fff;
  box-shadow: 0 8px 18px rgba(45,109,246,.35);
  transition: transform .3s cubic-bezier(.34,1.56,.64,1);
}
.contact-trust-item:hover .contact-trust-item__icon { transform: rotate(-6deg) scale(1.08); }
.contact-trust-item div { display: flex; flex-direction: column; gap: 2px; }
.contact-trust-item strong { font-size: .88rem; font-weight: 700; color: var(--white); }
.contact-trust-item span  { font-size: .74rem; color: rgba(255,255,255,.45); }

.contact-split__right {
  background: #0d0d16;
  padding: 80px 60px;
  display: flex; align-items: center; justify-content: center;
  border-left: 1px solid rgba(255,255,255,.06);
  position: relative; overflow: hidden;
}
.contact-split__right::before {
  content: '';
  position: absolute; top: -140px; right: -120px;
  width: 420px; height: 420px;
  background: radial-gradient(circle, rgba(123,91,255,.18) 0%, transparent 65%);
  filter: blur(60px); pointer-events: none;
}
/* glass form card */
.contact-split__form-card {
  position: relative; z-index: 1;
  width: 100%; max-width: 480px;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 22px;
  padding: 38px 34px;
  box-shadow: 0 30px 70px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter: blur(12px);
}
/* dark glass inputs (this section isn't .section--dark, so style it explicitly) */
.contact-split .form-group label { justify-content: flex-start; gap: 6px; color: rgba(255,255,255,.72); }
.contact-split .form-group input,
.contact-split .form-group textarea,
.contact-split .form-group select {
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.13);
  color: #fff;
  border-radius: 12px;
  padding: 13px 16px;
  transition: border-color .25s ease, background .25s ease, box-shadow .25s ease;
}
.contact-split .form-group input::placeholder,
.contact-split .form-group textarea::placeholder { color: rgba(255,255,255,.34); }
.contact-split .form-group input:focus,
.contact-split .form-group textarea:focus,
.contact-split .form-group select:focus {
  border-color: #7b8dff;
  background-color: rgba(255,255,255,.08);
  box-shadow: 0 0 0 3px rgba(91,139,255,.2);
}
/* custom dropdown arrow for the dark selects */
.contact-split .form-group select {
  -webkit-appearance: none; -moz-appearance: none; appearance: none;
  padding-right: 42px; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23a9b6d8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
}
.contact-split .form-group select:disabled { opacity: .5; cursor: not-allowed; }
/* dark popup options where the browser honours it */
.contact-split .form-group select option { color: #0d1424; background: #fff; }
.contact-split__submit {
  background: linear-gradient(135deg, #2d6df6 0%, #7b5bff 100%) !important;
  border: none !important;
  font-size: .95rem !important;
  letter-spacing: .03em;
  border-radius: 14px !important;
  box-shadow: 0 10px 30px rgba(91,91,255,.4) !important;
  transition: transform .25s ease, box-shadow .25s ease, filter .25s ease;
}
.contact-split__submit:hover {
  box-shadow: 0 16px 44px rgba(91,91,255,.55) !important;
  transform: translateY(-2px);
  filter: brightness(1.06);
}
@media (max-width: 768px) {
  .contact-split { grid-template-columns: 1fr; }
  .contact-split__left, .contact-split__right { padding: 56px 24px; }
  .contact-split__left { border-right: none; border-bottom: 1px solid rgba(255,255,255,.06); }
  .contact-split__right { border-left: none; }
  .contact-split__form-card { padding: 30px 22px; }
}

/* ══════════════════════════════════════════════════════════════
   NEWSLETTER BANNER
══════════════════════════════════════════════════════════════ */
.newsletter-banner {
  background: linear-gradient(135deg, #2d6df6 0%, #5b8bff 50%, #6fa0ff 100%);
  padding: 72px 0;
  position: relative; overflow: hidden;
}
.newsletter-banner::before {
  content: '';
  position: absolute; inset: 0;
  background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.06'%3E%3Ccircle cx='30' cy='30' r='1'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}
.newsletter-banner__inner {
  position: relative; z-index: 1;
  display: flex; align-items: center; justify-content: space-between; gap: 48px;
  flex-wrap: wrap;
}
.newsletter-banner__heading {
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  font-weight: 900; color: var(--white);
  letter-spacing: -.02em; margin-bottom: 8px;
}
.newsletter-banner__sub { font-size: .95rem; color: rgba(255,255,255,.75); line-height: 1.6; }
.newsletter-banner__form {
  display: flex; gap: 0; flex-shrink: 0; min-width: 380px;
  background: rgba(255,255,255,.18);
  border: 1.5px solid rgba(255,255,255,.4);
  border-radius: 10px; overflow: hidden;
  backdrop-filter: blur(8px);
}
.newsletter-banner__form input {
  flex: 1; padding: 14px 18px;
  background: transparent; border: none; outline: none;
  color: var(--white); font-size: .92rem;
}
.newsletter-banner__form input::placeholder { color: rgba(255,255,255,.65); }
.newsletter-banner__form button {
  padding: 14px 24px;
  background: var(--white); border: none;
  color: #2d6df6; font-weight: 800; font-size: .88rem;
  cursor: pointer; white-space: nowrap;
  transition: background .2s, color .2s;
}
.newsletter-banner__form button:hover { background: var(--black); color: var(--white); }
@media (max-width: 768px) {
  .newsletter-banner__inner { flex-direction: column; text-align: center; }
  .newsletter-banner__form { min-width: unset; width: 100%; }
}

/* ── Industries Strip (iBrandox inspired) ───────────────────── */
.industries-strip {
  padding: var(--section-pad-y) 0;
}
.industries-strip__header {
  text-align: center;
  margin-bottom: var(--section-head-mb);
}
.industries-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
}
.industry-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  background: var(--white);
  border: 1.5px solid var(--gray-200);
  border-radius: 100px;
  font-size: .83rem;
  font-weight: 600;
  color: var(--gray-700);
  cursor: default;
  transition: all .22s;
}
.industry-pill svg { color: var(--orange); flex-shrink: 0; }
.industry-pill:hover {
  background: var(--orange);
  border-color: var(--orange);
  color: var(--white);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(45,109,246,.25);
}
.industry-pill:hover svg { color: var(--white); }
@media (max-width: 600px) { .industry-pill { font-size: .76rem; padding: 8px 14px; } }

/* ── Two-column layouts ──────────────────────────────────────── */
.professionals__inner,
.growth-engine__inner,
.lead-gen__inner,
.contact-cta__inner,
.about-intro__inner,
.contact-main__inner,
.creators-signup__inner,
.creators-who__inner,
.service-lead-form__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}
@media (max-width: 900px) {
  .professionals__inner,
  .growth-engine__inner,
  .lead-gen__inner,
  .contact-cta__inner,
  .about-intro__inner,
  .contact-main__inner,
  .creators-signup__inner,
  .creators-who__inner,
  .service-lead-form__inner {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}

.professionals__image,
.about-intro__image,
.lead-gen__image {
  width: 100%;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
}

/* ── Growth Engine ───────────────────────────────────────────── */
.growth-engine { background: var(--black); }
.growth-engine__visuals { display: grid; gap: 12px; }
.growth-engine__img { border-radius: var(--radius-md); object-fit: cover; }
.growth-engine__img--1 { height: 280px; width: 100%; }
.growth-engine__img--2 { height: 200px; width: 100%; }

/* ── Services Grid (Home overview) ───────────────────────────── */
.services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-bottom: 40px;
}
@media (max-width: 900px) { .services-grid { grid-template-columns: 1fr; } }

.service-card {
  background: var(--white);
  border: 1px solid var(--gray-200);
  border-radius: var(--radius-lg);
  padding: 32px 28px;
  transition: box-shadow var(--transition), transform var(--transition);
}
.service-card:hover { box-shadow: var(--shadow-md); transform: translateY(-3px); }
.service-card__icon {
  width: 56px; height: 56px; margin-bottom: 20px;
  background: rgba(45,109,246,.08);
  border: 1px solid rgba(45,109,246,.15);
  border-radius: 14px;
  display: flex; align-items: center; justify-content: center;
  color: var(--orange);
  transition: background var(--transition);
}
.service-card:hover .service-card__icon { background: rgba(45,109,246,.15); }
.service-card__title { font-size: 1.1rem; font-weight: 600; margin-bottom: 10px; }
.service-card__text { font-size: .9rem; color: var(--gray-700); line-height: 1.6; margin-bottom: 16px; }
.service-card__link { color: var(--orange); font-size: .875rem; font-weight: 600; }
.services-overview__cta { text-align: center; }

/* ── Services List (services.php) ────────────────────────────── */
.service-categories__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 24px;
  margin-bottom: 16px;
}
@media (max-width: 768px) { .service-categories__grid { grid-template-columns: 1fr; } }

.service-category-card {
  display: block;
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: var(--white);
  border: 1px solid var(--gray-200);
  transition: box-shadow var(--transition);
}
.service-category-card:hover { box-shadow: var(--shadow-md); }
.service-category-card img { width: 100%; height: 220px; object-fit: cover; }
.service-category-card__body { padding: 24px; }
.service-category-card__title { font-size: 1.3rem; font-weight: 700; margin-bottom: 8px; }
.service-category-card__desc { font-size: .9rem; color: var(--gray-700); margin-bottom: 16px; }

.services-list__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-bottom: 56px;
}
@media (max-width: 1024px) { .services-list__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px)  { .services-list__grid { grid-template-columns: 1fr; } }

.service-list-card {
  background: var(--white);
  border: 1px solid var(--gray-200);
  border-radius: var(--radius-md);
  padding: 24px;
  transition: border-color var(--transition), box-shadow var(--transition);
}
.service-list-card:hover { border-color: var(--orange); box-shadow: 0 0 0 1px var(--orange); }
.section--light .service-list-card { background: var(--white); }
.service-list-card__header { margin-bottom: 10px; }
.service-list-card__tag {
  font-size: .7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--orange);
  background: rgba(45,109,246,.08);
  padding: 3px 8px;
  border-radius: 20px;
}
.service-list-card__title { font-size: .975rem; font-weight: 600; margin-bottom: 8px; line-height: 1.35; }
.service-list-card__desc  { font-size: .85rem; color: var(--gray-500); line-height: 1.55; margin-bottom: 14px; }
.service-list-card__link  { font-size: .85rem; font-weight: 600; color: var(--orange); }

/* ── Service Page (template) ─────────────────────────────────── */
.breadcrumb { background: var(--gray-100); padding: 12px 0; }
.breadcrumb__list {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: .8rem;
  color: var(--gray-500);
  flex-wrap: wrap;
}
.breadcrumb__list li:not(:last-child)::after { content: '→'; margin-left: 6px; }
.breadcrumb__list a { color: var(--gray-500); }
.breadcrumb__list a:hover { color: var(--orange); }
.breadcrumb__list li:last-child { color: var(--gray-900); }

.service-hero {
  background: var(--black);
  padding: 72px 0;
}
.service-hero__inner {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 48px;
  align-items: center;
}
@media (max-width: 900px) { .service-hero__inner { grid-template-columns: 1fr; } }
.service-hero__category {
  display: inline-block;
  font-size: .75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: var(--orange);
  margin-bottom: 12px;
}
.service-hero__heading {
  font-size: clamp(1.75rem, 3.5vw, 2.75rem);
  font-weight: 700;
  color: var(--white);
  margin-bottom: 12px;
  line-height: 1.15;
}
.service-hero__subtitle { font-size: 1.1rem; color: rgba(255,255,255,.6); margin-bottom: 8px; }
.service-hero__desc { font-size: .95rem; color: rgba(255,255,255,.7); line-height: 1.7; margin-bottom: 28px; max-width: 540px; }
.service-hero__actions { display: flex; gap: 12px; flex-wrap: wrap; }
.service-hero__image { width: 480px; max-width: 100%; border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); }

.features-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 900px) { .features-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 540px) { .features-grid { grid-template-columns: 1fr; } }

.feature-card {
  background: var(--gray-100);
  border-radius: var(--radius-md);
  padding: 28px 24px;
  transition: background var(--transition);
}
.feature-card:hover { background: var(--gray-200); }
.feature-card__icon { font-size: 1.8rem; margin-bottom: 12px; }
.feature-card__title { font-size: 1rem; font-weight: 600; margin-bottom: 8px; }
.feature-card__desc  { font-size: .875rem; color: var(--gray-700); line-height: 1.6; }

.process-steps { display: flex; flex-direction: column; gap: 0; }
.process-step {
  display: flex;
  gap: 24px;
  align-items: flex-start;
  padding: 28px 0;
  border-bottom: 1px solid var(--gray-200);
}
.process-step:last-child { border-bottom: none; }
.process-step__number {
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--gray-200);
  line-height: 1;
  min-width: 56px;
  flex-shrink: 0;
}
.process-step__title { font-size: 1rem; font-weight: 600; margin-bottom: 6px; }
.process-step__desc  { font-size: .875rem; color: var(--gray-700); line-height: 1.6; }

.faq-list { max-width: 720px; margin: 0 auto; }
.faq-item {
  border-bottom: 1px solid var(--gray-200);
}
.faq-item__question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 0;
  font-size: .975rem;
  font-weight: 600;
  cursor: pointer;
  list-style: none;
  gap: 16px;
}
.faq-item__question::after {
  content: '+';
  font-size: 1.2rem;
  font-weight: 400;
  color: var(--orange);
  flex-shrink: 0;
  transition: transform var(--transition);
}
.faq-item[open] .faq-item__question::after { content: '−'; }
.faq-item__answer { padding: 0 0 18px; }
.faq-item__answer p { font-size: .9rem; color: var(--gray-700); line-height: 1.7; }

.service-lead-form { background: var(--black); }
.service-lead-form__benefits {
  margin-top: 20px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.service-lead-form__benefits li { font-size: .9rem; color: rgba(255,255,255,.75); }

.related-services__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
@media (max-width: 768px) { .related-services__grid { grid-template-columns: 1fr; } }

.related-service-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 20px;
  background: var(--white);
  border: 1px solid var(--gray-200);
  border-radius: var(--radius-md);
  transition: border-color var(--transition), background var(--transition);
}
.related-service-card:hover { border-color: var(--orange); background: rgba(45,109,246,.02); }
.related-service-card__title { font-size: .9rem; font-weight: 600; }
.related-service-card__arrow { color: var(--orange); }

/* Services contact form block */
.services-contact-form {
  background: var(--gray-100);
  border-radius: var(--radius-lg);
  padding: 40px;
  margin-top: 40px;
}
.services-contact-form__header { margin-bottom: 24px; }
.services-contact-form__header h3 { font-size: 1.3rem; font-weight: 700; margin-bottom: 4px; }
.services-contact-form__body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: start;
}
.services-contact-form__body img { width: 100%; border-radius: var(--radius-md); }
@media (max-width: 768px) { .services-contact-form__body { grid-template-columns: 1fr; } }

/* ── Category pages (digital-marketing / remote-operations) ─── */
.page-hero__label {
  display: inline-block;
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--orange);
  margin-bottom: 12px;
}
.page-hero__actions {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 28px;
}
.category-split {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 48px;
  align-items: center;
}
.category-split__actions {
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex-shrink: 0;
}
@media (max-width: 900px) {
  .category-split { grid-template-columns: 1fr; }
  .category-split__actions { flex-direction: row; flex-wrap: wrap; }
}
.category-check-list {
  list-style: none;
  padding: 0;
  margin: 20px 0 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  color: rgba(255,255,255,.8);
  font-size: .95rem;
}
.category-check-list li::before {
  content: '✓';
  color: var(--orange);
  font-weight: 700;
  margin-right: 10px;
}

/* ── Forms ───────────────────────────────────────────────────── */
.form-group { margin-bottom: 16px; }
.form-group label {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: .85rem;
  font-weight: 500;
  margin-bottom: 6px;
  color: var(--gray-700);
}
.section--dark .form-group label { color: rgba(255,255,255,.75); }
.form-label-link { font-size: .8rem; font-weight: 400; color: var(--orange); }
.form-required { color: var(--orange); }
.form-hint     { font-size: .78rem; color: var(--gray-500); margin-top: -10px; margin-bottom: 16px; }
.form-note     { font-size: .78rem; color: rgba(255,255,255,.45); text-align: center; margin-top: 8px; }

.form-group input,
.form-group textarea,
.form-group select {
  width: 100%;
  padding: 11px 14px;
  font-size: .9rem;
  border: 1px solid var(--gray-300);
  border-radius: var(--radius-sm);
  background: var(--white);
  color: var(--gray-900);
  transition: border-color var(--transition), box-shadow var(--transition);
  outline: none;
}
.section--dark .form-group input,
.section--dark .form-group textarea,
.section--dark .form-group select {
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.15);
  color: var(--white);
}
.section--dark .form-group input::placeholder,
.section--dark .form-group textarea::placeholder { color: rgba(255,255,255,.35); }
.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus {
  border-color: var(--orange);
  box-shadow: 0 0 0 3px rgba(45,109,246,.12);
}
.form-group input.is-invalid,
.form-group textarea.is-invalid {
  border-color: #e53935;
  box-shadow: 0 0 0 3px rgba(229,57,53,.1);
}
.form-group textarea { resize: vertical; min-height: 100px; }
.form-row { display: flex; gap: 12px; }
.form-row--2 > .form-group { flex: 1; min-width: 0; }
@media (max-width: 540px) { .form-row { flex-direction: column; } }

.form-response {
  margin-top: 12px;
  padding: 12px 14px;
  border-radius: var(--radius-sm);
  font-size: .875rem;
  font-weight: 500;
}
.form-response--success { background: rgba(76,175,80,.12); color: #2e7d32; border: 1px solid rgba(76,175,80,.3); }
.form-response--error   { background: rgba(229,57,53,.08);  color: #c62828; border: 1px solid rgba(229,57,53,.25); }
.form-errors { background: rgba(229,57,53,.08); border-left: 3px solid #e53935; padding: 12px 14px; border-radius: 0 var(--radius-sm) var(--radius-sm) 0; margin-bottom: 16px; }
.form-errors p { font-size: .875rem; color: #c62828; margin-bottom: 4px; }
.form-errors p:last-child { margin-bottom: 0; }

/* ── Testimonials ─────────────────────────────────────────────── */
.testimonials-slider {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
@media (max-width: 1024px) { .testimonials-slider { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px)  { .testimonials-slider { grid-template-columns: 1fr; } }

.testimonial-card {
  background: var(--white);
  border: 1px solid var(--gray-200);
  border-radius: var(--radius-lg);
  padding: 28px 24px;
}
.testimonial-card__stars { color: var(--orange); font-size: 1rem; margin-bottom: 12px; letter-spacing: 2px; }
.testimonial-card__quote {
  font-size: .9rem;
  line-height: 1.7;
  color: var(--gray-700);
  font-style: italic;
  margin-bottom: 12px;
}
.testimonial-card__author { font-size: .8rem; font-weight: 600; color: var(--gray-900); }

/* ── Lead Gen Section ─────────────────────────────────────────── */
.lead-gen { background: var(--black); }
.lead-gen__image { border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); }

/* ── Contact CTA ──────────────────────────────────────────────── */
.contact-cta { background: var(--black); }

/* ── Newsletter Section ───────────────────────────────────────── */
.newsletter-section { background: var(--black); }
.newsletter-section__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
}
@media (max-width: 768px) { .newsletter-section__inner { flex-direction: column; } }
.newsletter-section__form {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}
.newsletter-section__form input {
  padding: 11px 16px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: var(--radius-sm);
  background: rgba(255,255,255,.06);
  color: var(--white);
  font-size: .875rem;
  outline: none;
  min-width: 240px;
}
.newsletter-section__form input:focus { border-color: var(--orange); }
.newsletter-section__form input::placeholder { color: rgba(255,255,255,.4); }

/* ── About Page ───────────────────────────────────────────────── */
.mission-vision__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
@media (max-width: 768px) { .mission-vision__grid { grid-template-columns: 1fr; } }
.mission-vision__card {
  position: relative; overflow: hidden;
  background: var(--white);
  border: 1px solid var(--gray-200);
  border-radius: 22px;
  padding: 40px 36px;
  box-shadow: 0 8px 28px rgba(29,29,40,.05);
  transition: transform .4s cubic-bezier(.22,1,.36,1), box-shadow .4s ease, border-color .4s ease;
}
.mission-vision__card::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px;
  background: linear-gradient(90deg,#2d6df6,#a855f7,#ec4899); background-size: 200% auto;
  animation: cr-flow 5s linear infinite;
}
.mission-vision__card::after {
  content: ''; position: absolute; top: -40%; right: -28%; width: 60%; height: 60%;
  border-radius: 50%; background: radial-gradient(circle, rgba(45,109,246,.16), transparent 70%);
  opacity: .55; transition: opacity .4s ease, transform .55s ease; pointer-events: none;
}
.mission-vision__card:hover {
  transform: translateY(-8px);
  border-color: rgba(45,109,246,.4);
  box-shadow: 0 28px 56px -20px rgba(45,109,246,.45);
}
.mission-vision__card:hover::after { opacity: 1; transform: scale(1.2); }
.mission-vision__icon {
  width: 64px; height: 64px; border-radius: 18px;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 22px;
  color: #2d6df6;
  background: linear-gradient(135deg, rgba(45,109,246,.14), rgba(168,85,247,.14));
  border: 1px solid rgba(45,109,246,.18);
}
.mission-vision__icon svg { width: 30px; height: 30px; }
.mission-vision__heading { font-size: 1.4rem; font-weight: 800; letter-spacing: -.02em; color: var(--ink); margin-bottom: 14px; }
.mission-vision__text  { font-size: .95rem; color: var(--gray-700); line-height: 1.75; }

.why-us__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 900px) { .why-us__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 540px) { .why-us__grid { grid-template-columns: 1fr; } }
.why-card {
  position: relative; overflow: hidden;
  background: #fff;
  border: 1px solid var(--gray-200);
  border-radius: 20px;
  padding: 30px 28px 32px;
  box-shadow: 0 6px 22px rgba(29,29,40,.05);
  transition: transform .4s cubic-bezier(.22,1,.36,1), box-shadow .4s ease, border-color .4s ease;
}
.why-card::before {
  content: ''; position: absolute; top: 0; left: 0; width: 0; height: 4px;
  background: linear-gradient(90deg,#2d6df6,#a855f7); transition: width .4s ease;
}
.why-card:hover {
  transform: translateY(-8px);
  border-color: rgba(45,109,246,.4);
  box-shadow: 0 24px 48px -20px rgba(45,109,246,.4);
}
.why-card:hover::before { width: 100%; }
.why-card__num {
  font-size: 2.4rem; font-weight: 900; display: block; margin-bottom: 10px; line-height: 1; letter-spacing: -.03em;
  background: linear-gradient(135deg,#2d6df6,#a855f7);
  -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent;
}
.why-card__title { font-size: 1.12rem; font-weight: 800; color: var(--ink); margin-bottom: 10px; letter-spacing: -.01em; }
.why-card__desc  { font-size: .9rem; color: var(--gray-500); line-height: 1.7; }

/* ── About page polish (hero depth, stat fixes) ── */
.page-about .page-hero {
  background:
    radial-gradient(ellipse at 78% 8%, rgba(45,109,246,.3) 0%, transparent 46%),
    radial-gradient(ellipse at 12% 92%, rgba(168,85,247,.22) 0%, transparent 46%),
    var(--black);
  position: relative; overflow: hidden;
  padding: 96px 0 84px;
}
.page-about .page-hero__heading { font-weight: 900; font-size: clamp(2.4rem, 4.6vw, 3.6rem); letter-spacing: -.025em; }
.page-hero__grad {
  background: linear-gradient(120deg,#6f9cff,#c084fc,#f8a5d1);
  -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent;
}
/* stats sit on a white section - unify into a card and fix the (white-on-white) labels */
.about-stats .stats-strip__grid {
  background: #fff;
  border: 1px solid var(--gray-200);
  border-radius: 24px;
  box-shadow: 0 12px 44px rgba(29,29,40,.06);
  overflow: hidden;
}
.about-stats .stat-item__label { color: var(--gray-500); }

/* ── Contact Page ─────────────────────────────────────────────── */
.contact-hero {
  position: relative;
  min-height: 55vh;
  display: flex;
  align-items: flex-end;
  background: var(--black);
  overflow: hidden;
  padding-bottom: 40px;
}
.contact-hero__video-wrap { position: absolute; inset: 0; }
.contact-hero__video { width: 100%; height: 100%; object-fit: cover; opacity: .35; }
.contact-hero__overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.9) 0%, rgba(0,0,0,.4) 100%);
}
.contact-hero__content { position: relative; z-index: 1; padding: 60px 0 20px; }
.contact-hero__heading {
  font-size: clamp(1.75rem, 4vw, 3rem);
  font-weight: 700;
  color: var(--white);
  max-width: 640px;
}
.contact-hero__heading em { color: var(--orange); font-style: normal; }
.contact-info-images { display: flex; gap: 12px; margin: 20px 0; }
.contact-info-image  { flex: 1; border-radius: var(--radius-md); height: 240px; object-fit: cover; }
@media (max-width: 540px) { .contact-info-images { flex-direction: column; } .contact-info-image { height: 180px; } }
.contact-newsletter__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
}
@media (max-width: 768px) { .contact-newsletter__inner { flex-direction: column; } }
.newsletter-inline { display: flex; gap: 8px; }
.newsletter-inline input {
  padding: 11px 16px;
  border: 1px solid var(--gray-300);
  border-radius: var(--radius-sm);
  font-size: .875rem;
  outline: none;
  flex: 1;
  min-width: 200px;
}

/* ── Expertise Page ────────────────────────────────────────────── */
.expertise-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
}
@media (max-width: 768px) { .expertise-grid { grid-template-columns: 1fr; } }
.expertise-case {
  background: var(--white);
  border: 1px solid var(--gray-200);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: box-shadow var(--transition);
}
.expertise-case:hover { box-shadow: var(--shadow-md); }
.expertise-case__img { width: 100%; height: 240px; object-fit: cover; }
.expertise-case__body { padding: 24px; }
.expertise-case__title { font-size: 1.05rem; font-weight: 700; margin-bottom: 8px; }
.expertise-case__desc  { font-size: .875rem; color: var(--gray-700); line-height: 1.65; }
.expertise-contact {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 48px;
  align-items: center;
  padding: 48px;
  background: var(--gray-100);
  border-radius: var(--radius-lg);
  margin-top: 40px;
}
@media (max-width: 768px) { .expertise-contact { grid-template-columns: 1fr; padding: 24px; } }

/* ── Blog ─────────────────────────────────────────────────────── */
.blog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-bottom: 40px;
}
@media (max-width: 900px) { .blog-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .blog-grid { grid-template-columns: 1fr; } }

.blog-card {
  background: var(--white);
  border: 1px solid var(--gray-200);
  border-radius: var(--radius-lg);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: box-shadow var(--transition);
}
.blog-card:hover { box-shadow: var(--shadow-md); }
.blog-card__img { width: 100%; height: 200px; object-fit: cover; }
.blog-card__body { padding: 20px; flex: 1; display: flex; flex-direction: column; }
.blog-card__cat {
  font-size: .7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--orange);
  margin-bottom: 8px;
}
.blog-card__title { font-size: 1rem; font-weight: 700; line-height: 1.35; margin-bottom: 8px; flex: 1; }
.blog-card__meta  { font-size: .78rem; color: var(--gray-500); margin-top: 12px; }
.blog-card__link  { color: var(--orange); font-size: .85rem; font-weight: 600; display: inline-block; margin-top: 12px; }

.blog-no-posts { text-align: center; padding: 80px 0; color: var(--gray-500); }

.pagination { display: flex; gap: 8px; justify-content: center; margin-top: 40px; }
.pagination a,
.pagination span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: var(--radius-sm);
  font-size: .875rem;
  font-weight: 500;
  border: 1px solid var(--gray-200);
  color: var(--gray-700);
  transition: all var(--transition);
}
.pagination a:hover     { background: var(--gray-100); border-color: var(--gray-300); }
.pagination span.active { background: var(--orange); color: var(--white); border-color: var(--orange); }

/* ── Creators Zone ─────────────────────────────────────────────── */
.creators-hero {
  position: relative;
  min-height: 80vh;
  display: flex;
  align-items: center;
  background: var(--black);
  overflow: hidden;
}
.creators-hero__bg { position: absolute; inset: 0; }
.creators-hero__bg img { width: 100%; height: 100%; object-fit: cover; opacity: .4; }
.creators-hero__overlay { position: absolute; inset: 0; background: rgba(0,0,0,.65); }
.creators-hero__content {
  position: relative;
  z-index: 1;
  text-align: center;
  padding: 80px 0;
  max-width: 700px;
  margin: 0 auto;
}
.creators-hero__heading {
  font-size: clamp(2rem, 4.5vw, 3.5rem);
  font-weight: 700;
  color: var(--white);
  line-height: 1.1;
  margin-bottom: 20px;
}
.text-highlight { color: var(--orange); }
.creators-hero__subheading {
  font-size: 1.05rem;
  color: rgba(255,255,255,.75);
  line-height: 1.7;
  margin-bottom: 32px;
}
.creators-hero__actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

.creators-benefits-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 768px) { .creators-benefits-grid { grid-template-columns: 1fr; } }
.creators-benefit {
  background: var(--white);
  border: 1px solid var(--gray-200);
  border-radius: var(--radius-lg);
  padding: 32px 28px;
}
.creators-benefit__icon  { font-size: 2rem; margin-bottom: 12px; }
.creators-benefit__title { font-size: 1rem; font-weight: 700; margin-bottom: 8px; }

.creators-who { background: var(--black); }
.creators-who__list {
  margin: 16px 0 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.creators-who__list li {
  color: rgba(255,255,255,.8);
  font-size: .95rem;
  padding-left: 20px;
  position: relative;
}
.creators-who__list li::before { content: '→'; position: absolute; left: 0; color: var(--orange); }
.creators-who__visual img { border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); }

.creators-steps { display: flex; flex-direction: column; gap: 0; max-width: 680px; margin: 0 auto; }
.creators-step {
  display: flex;
  gap: 24px;
  align-items: flex-start;
  padding: 28px 0;
  border-bottom: 1px solid var(--gray-200);
}
.creators-step:last-child { border-bottom: none; }
.creators-step__number {
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--orange);
  opacity: .2;
  line-height: 1;
  min-width: 52px;
  flex-shrink: 0;
}
.creators-step__title { font-size: 1rem; font-weight: 600; margin-bottom: 6px; }
.creators-step__desc  { font-size: .875rem; color: var(--gray-700); line-height: 1.6; }

.creators-signup { background: var(--black); }

/* ── Auth Pages ────────────────────────────────────────────────── */
.auth-section {
  min-height: calc(100vh - var(--nav-height));
  display: flex;
  align-items: center;
  background: var(--black);
  padding: 48px 0;
}
.auth-card {
  max-width: 520px;
  margin: 0 auto;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: var(--radius-lg);
  padding: 40px;
  width: 100%;
}
.auth-card__back {
  display: inline-block;
  font-size: .8rem;
  color: rgba(255,255,255,.5);
  margin-bottom: 16px;
  transition: color var(--transition);
}
.auth-card__back:hover { color: var(--orange); }
.auth-card__heading {
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--white);
  margin-bottom: 6px;
}
.auth-card__subheading { font-size: .9rem; color: rgba(255,255,255,.55); margin-bottom: 28px; }
.auth-card__switch { text-align: center; margin-top: 20px; font-size: .875rem; color: rgba(255,255,255,.5); }
.auth-card__switch a { color: var(--orange); font-weight: 600; }

.auth-form { margin-top: 8px; }
.auth-form .form-group input,
.auth-form .form-group select {
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.15);
  color: var(--white);
}
.auth-form .form-group input::placeholder { color: rgba(255,255,255,.3); }
.auth-form .form-group input:focus { border-color: var(--orange); background: rgba(255,255,255,.08); }
.auth-form .form-group label { color: rgba(255,255,255,.7); }

.auth-type-toggle {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-bottom: 24px;
}
.auth-type-option {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 16px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: var(--radius-md);
  cursor: pointer;
  transition: border-color var(--transition), background var(--transition);
}
.auth-type-option input { display: none; }
.auth-type-option.active { border-color: var(--orange); background: rgba(45,109,246,.1); }
.auth-type-option__icon { font-size: 1.4rem; }
.auth-type-option__label { font-size: .825rem; font-weight: 600; color: rgba(255,255,255,.8); }
.auth-type-option.active .auth-type-option__label { color: var(--orange); }

/* ── Footer ────────────────────────────────────────────────────── */
.site-footer {
  position: relative;
  background: radial-gradient(120% 140% at 80% 0%, #141d33 0%, #0d1424 55%, #080d18 100%);
  color: var(--white);
  overflow: hidden;
}
/* Gradient hairline along the very top edge */
.site-footer::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, #2d6df6, #7c5cff, #ec4899);
  opacity: .9;
  z-index: 2;
}
.footer-video-wrap {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.footer-video { width: 100%; height: 100%; object-fit: cover; opacity: .08; }
.footer-video-overlay {
  position: absolute; inset: 0;
  background: rgba(8,13,24,.88);
}
.footer-inner {
  position: relative;
  z-index: 1;
  max-width: var(--container);
  margin: 0 auto;
  padding: 72px 24px 28px;
}

/* ── Top grid ──────────────────────────────────────────── */
.footer-grid {
  display: grid;
  grid-template-columns: 1.7fr 1fr 1fr 1.6fr;
  gap: 48px;
  padding-bottom: 48px;
  margin-bottom: 28px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
@media (max-width: 992px) {
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 40px 32px; }
  .footer-col--brand, .footer-col--news { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
  .footer-grid { grid-template-columns: 1fr; gap: 36px; }
  .footer-inner { padding-top: 56px; }
}

/* Brand column */
.footer-logo { display: inline-flex; align-items: center; gap: 12px; }
.footer-logo__mark { width: 40px; height: 40px; flex-shrink: 0; }
.footer-logo__word { font-family: var(--font); font-size: 1.35rem; font-weight: 600; letter-spacing: -.02em; color: var(--white); }
.footer-logo__word b { font-weight: 700; }
.footer-tagline {
  margin: 18px 0 22px;
  font-size: .9rem;
  line-height: 1.7;
  color: rgba(255,255,255,.55);
  max-width: 360px;
}
.footer-email {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-size: .9rem;
  font-weight: 500;
  color: rgba(255,255,255,.85);
  transition: color var(--transition);
}
.footer-email svg { width: 17px; height: 17px; fill: none; stroke: var(--orange-light); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.footer-email:hover { color: var(--white); }

.footer-social { display: flex; gap: 10px; margin-top: 24px; }
.footer-social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px; height: 38px;
  border-radius: 50%;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  color: rgba(255,255,255,.7);
  transition: transform var(--transition), background var(--transition), color var(--transition), border-color var(--transition);
}
.footer-social a svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.footer-social a:hover {
  transform: translateY(-3px);
  color: #fff;
  border-color: transparent;
  background: linear-gradient(135deg, #2d6df6, #7c5cff);
}

/* Link columns */
.footer-col__title {
  font-family: var(--font);
  font-size: .8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.4px;
  color: var(--white);
  margin-bottom: 18px;
}
.footer-links { display: flex; flex-direction: column; gap: 11px; }
.footer-links a {
  display: inline-block;
  font-size: .9rem;
  color: rgba(255,255,255,.55);
  transition: color var(--transition), transform var(--transition);
}
.footer-links a:hover { color: var(--white); transform: translateX(3px); }

/* Newsletter column */
.footer-col--news .footer-newsletter-note {
  font-size: .875rem;
  color: rgba(255,255,255,.5);
  line-height: 1.65;
  margin-bottom: 18px;
}
.footer-newsletter-form {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px;
  transition: border-color var(--transition), box-shadow var(--transition);
}
.footer-newsletter-form:focus-within {
  border-color: rgba(124,92,255,.6);
  box-shadow: 0 0 0 4px rgba(124,92,255,.12);
}
.footer-newsletter-input {
  flex: 1;
  min-width: 0;
  padding: 11px 16px;
  border: none;
  background: transparent;
  color: var(--white);
  font-size: .9rem;
  outline: none;
}
.footer-newsletter-input::placeholder { color: rgba(255,255,255,.4); }
.footer-newsletter-btn {
  flex-shrink: 0;
  padding: 11px 22px;
  border-radius: 999px;
  background: linear-gradient(135deg, #2d6df6, #7c5cff, #ec4899);
  background-size: 150% 150%;
  color: #fff;
  font-size: .875rem;
  font-weight: 600;
  white-space: nowrap;
  transition: background-position var(--transition), transform var(--transition), opacity var(--transition);
}
.footer-newsletter-btn:hover { background-position: 100% 0; transform: translateY(-1px); }
.footer-newsletter-btn:disabled { opacity: .7; cursor: default; transform: none; }

/* ── Bottom bar ────────────────────────────────────────── */
.footer-bottom { display: flex; justify-content: space-between; align-items: center; gap: 16px 24px; flex-wrap: wrap; }
.footer-copy { font-size: .82rem; color: rgba(255,255,255,.45); }
.footer-legal { display: flex; align-items: center; gap: 10px; }
.footer-legal span { color: rgba(255,255,255,.25); }
.footer-legal a { font-size: .82rem; color: rgba(255,255,255,.45); transition: color var(--transition); }
.footer-legal a:hover { color: var(--white); }
@media (max-width: 560px) {
  .footer-bottom { flex-direction: column; align-items: flex-start; }
}

/* ── Admin Panel ───────────────────────────────────────────────── */
.admin-layout { display: flex; min-height: 100vh; }
.admin-sidebar {
  width: 240px;
  background: var(--black);
  color: var(--white);
  padding: 0;
  flex-shrink: 0;
  position: fixed;
  top: 0; left: 0; bottom: 0;
  overflow-y: auto;
  z-index: 100;
}
.admin-sidebar__logo {
  padding: 20px 20px;
  border-bottom: 1px solid rgba(255,255,255,.06);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 2px;
}
.admin-sidebar__logo span { color: var(--orange); }
.admin-nav { padding: 12px 0; }
.admin-nav a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 20px;
  font-size: .875rem;
  color: rgba(255,255,255,.65);
  transition: background var(--transition), color var(--transition);
}
.admin-nav a:hover,
.admin-nav a.active { background: rgba(45,109,246,.12); color: var(--white); border-left: 2px solid var(--orange); }
.admin-nav .nav-section { padding: 16px 20px 6px; font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1.5px; color: rgba(255,255,255,.3); }
.admin-main { flex: 1; margin-left: 240px; background: var(--gray-100); min-height: 100vh; }
.admin-topbar {
  background: var(--white);
  border-bottom: 1px solid var(--gray-200);
  padding: 14px 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: sticky;
  top: 0;
  z-index: 50;
}
.admin-topbar__title { font-size: 1rem; font-weight: 600; }
.admin-content { padding: 28px; }
.admin-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 28px; }
@media (max-width: 900px) { .admin-stats { grid-template-columns: repeat(2, 1fr); } }
.admin-stat-card {
  background: var(--white);
  border: 1px solid var(--gray-200);
  border-radius: var(--radius-md);
  padding: 20px;
}
.admin-stat-card__label { font-size: .78rem; color: var(--gray-500); margin-bottom: 6px; font-weight: 500; text-transform: uppercase; letter-spacing: .5px; }
.admin-stat-card__value { font-size: 1.75rem; font-weight: 700; color: var(--gray-900); }
.admin-stat-card__change { font-size: .78rem; color: var(--gray-500); margin-top: 4px; }

.admin-table-wrap {
  background: var(--white);
  border: 1px solid var(--gray-200);
  border-radius: var(--radius-md);
  overflow: hidden;
  margin-bottom: 24px;
}
.admin-table-header {
  padding: 16px 20px;
  border-bottom: 1px solid var(--gray-200);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.admin-table-header h2 { font-size: .95rem; font-weight: 600; }
table.admin-table { width: 100%; border-collapse: collapse; }
.admin-table th {
  text-align: left;
  padding: 10px 16px;
  font-size: .75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .5px;
  color: var(--gray-500);
  background: var(--gray-100);
  border-bottom: 1px solid var(--gray-200);
}
.admin-table td {
  padding: 12px 16px;
  font-size: .875rem;
  border-bottom: 1px solid var(--gray-200);
  color: var(--gray-900);
  vertical-align: middle;
}
.admin-table tr:last-child td { border-bottom: none; }
.admin-table tr:hover td { background: var(--gray-100); }
.badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 20px;
  font-size: .7rem;
  font-weight: 600;
  text-transform: capitalize;
}
.badge--new     { background: #e3f2fd; color: #0d47a1; }
.badge--read    { background: var(--gray-100); color: var(--gray-500); }
.badge--success { background: #e8f5e9; color: #1b5e20; }
.badge--warning { background: #fff3e0; color: #e65100; }
.badge--danger  { background: #ffebee; color: #b71c1c; }

/* ── Dashboard ─────────────────────────────────────────────────── */
.dash-layout {
  max-width: 1100px;
  margin: 0 auto;
  padding: 40px 24px;
}
.dash-header { margin-bottom: 32px; }
.dash-header h1 { font-size: 1.5rem; font-weight: 700; }
.dash-header p  { color: var(--gray-500); font-size: .9rem; margin-top: 4px; }
.dash-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 28px;
}
@media (max-width: 768px) { .dash-grid { grid-template-columns: 1fr 1fr; } }
.dash-stat-card {
  background: var(--white);
  border: 1px solid var(--gray-200);
  border-radius: var(--radius-md);
  padding: 20px;
}
.dash-stat-card__label { font-size: .78rem; color: var(--gray-500); font-weight: 500; margin-bottom: 6px; text-transform: uppercase; letter-spacing: .5px; }
.dash-stat-card__value { font-size: 2rem; font-weight: 700; }
.dash-stat-card__sub   { font-size: .78rem; color: var(--gray-500); margin-top: 4px; }

.dash-card {
  background: var(--white);
  border: 1px solid var(--gray-200);
  border-radius: var(--radius-md);
  margin-bottom: 20px;
  overflow: hidden;
}
.dash-card__header {
  padding: 16px 20px;
  border-bottom: 1px solid var(--gray-200);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.dash-card__header h2 { font-size: .9rem; font-weight: 600; }
.dash-card__body { padding: 20px; }

/* ── Animations ─────────────────────────────────────────────────── */
[data-animate="fade-up"]    { opacity: 0; transform: translateY(28px); transition: opacity .6s ease, transform .6s ease; }
[data-animate="fade-left"]  { opacity: 0; transform: translateX(28px); transition: opacity .6s ease, transform .6s ease; }
[data-animate="fade-right"] { opacity: 0; transform: translateX(-28px); transition: opacity .6s ease, transform .6s ease; }
[data-animate].is-animated  { opacity: 1; transform: none; }

/* ── Utility Classes ─────────────────────────────────────────────── */
.text-center { text-align: center; }
.text-orange  { color: var(--orange); }
.mt-1 { margin-top: 8px;  }
.mt-2 { margin-top: 16px; }
.mt-3 { margin-top: 24px; }
.mt-4 { margin-top: 32px; }
.mb-1 { margin-bottom: 8px;  }
.mb-2 { margin-bottom: 16px; }
.mb-3 { margin-bottom: 24px; }
.mb-4 { margin-bottom: 32px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }


/* ============================================================
   Click Rafters - Vibrant DashClicks-inspired Theme Layer
   Multi-colour palette + gradients + "wow" effects & transitions.
   Loaded AFTER style.css so it layers on top. Safe to remove.
   ============================================================ */

:root{
  /* Vibrant multi-colour palette */
  --blue:#2d6df6;   --blue-dark:#1b54d4; --blue-light:#6fa0ff;
  --indigo:#6366f1; --violet:#a855f7;    --purple:#7c3aed;
  --pink:#ec4899;   --magenta:#d946ef;   --coralx:#fb7185;
  --cyan:#22d3ee;   --teal:#2dd4bf;      --amber:#fbbf24;   --green:#10b981;

  /* Remap legacy accent vars to vibrant tones (cascades into existing rules) */
  --orange:#2d6df6; --orange-dark:#1b54d4; --orange-light:#6fa0ff;
  --coral:#ec4899;  --yellow:#fbbf24; --mint:#2dd4bf; --peri:#6366f1; --lavender:#a855f7;

  /* Signature gradients */
  --grad-brand:linear-gradient(135deg,#2d6df6 0%,#6366f1 50%,#a855f7 100%);
  --grad-vibrant:linear-gradient(120deg,#2d6df6 0%,#a855f7 45%,#ec4899 100%);
  --grad-cool:linear-gradient(135deg,#22d3ee 0%,#2d6df6 55%,#6366f1 100%);
  --grad-warm:linear-gradient(135deg,#a855f7 0%,#ec4899 50%,#fb7185 100%);
  --grad-sunset:linear-gradient(120deg,#2d6df6,#6366f1,#a855f7,#ec4899,#fb7185);
  --grad-text:linear-gradient(120deg,#2d6df6,#a855f7,#ec4899);

  /* Coloured glows */
  --glow-blue:0 18px 45px -12px rgba(45,109,246,.55);
  --glow-violet:0 18px 45px -12px rgba(168,85,247,.55);
  --glow-pink:0 18px 45px -12px rgba(236,72,153,.5);
  --glow-cyan:0 18px 45px -12px rgba(34,211,238,.5);
  --ease-spring:cubic-bezier(.34,1.56,.64,1);
}

/* ---- Smooth base transitions ---- */
a,button,.btn,.card,.svc-card,.service-card,.creator-disc-card,
.hero__service-card,.stat-item,.proc-row,.nav-links a,
.related-service-card,.cp-pkg{
  transition:transform .35s var(--ease-spring),box-shadow .35s ease,
             background .3s ease,color .3s ease,border-color .3s ease,filter .3s ease;
}

/* ---- Header: white glass + animated gradient hairline + scroll glow ---- */
.site-header{background:rgba(255,255,255,.78)!important;position:fixed;}
.site-header::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;
  background:var(--grad-sunset);background-size:300% 100%;opacity:.9;
  animation:cr-flow 8s linear infinite;}
.site-header.is-scrolled{background:rgba(255,255,255,.93)!important;
  box-shadow:0 8px 30px -12px rgba(45,109,246,.28);}
.nav-links a{position:relative;}
.nav-links a::after{content:'';position:absolute;left:18px;right:18px;bottom:6px;height:2px;
  background:var(--grad-text);border-radius:2px;transform:scaleX(0);transform-origin:left;
  transition:transform .3s var(--ease-spring);}
.nav-links a:hover{background:transparent!important;color:var(--blue);}
.nav-links a:hover::after{transform:scaleX(1);}

/* ---- Gradient text accents ---- */
.section-tag,.section-tag--light{
  background:var(--grad-text);background-size:200% auto;
  -webkit-background-clip:text;background-clip:text;
  color:transparent;-webkit-text-fill-color:transparent;
  animation:cr-flow 5s linear infinite;}

/* ---- Buttons: animated gradient + glow + sheen sweep ---- */
.btn--primary{background:var(--grad-vibrant)!important;background-size:220% auto!important;
  background-position:0% center!important;border:none!important;color:#fff!important;
  position:relative;overflow:hidden;box-shadow:var(--glow-blue);
  transition:background-position .6s ease,transform .35s var(--ease-spring),box-shadow .35s ease;}
.btn--primary::after{content:'';position:absolute;top:0;left:-120%;width:55%;height:100%;
  background:linear-gradient(110deg,transparent,rgba(255,255,255,.45),transparent);
  transform:skewX(-20deg);transition:left .6s ease;pointer-events:none;}
.btn--primary:hover{background-position:100% center!important;
  transform:translateY(-3px) scale(1.02);box-shadow:var(--glow-violet);}
.btn--primary:hover::after{left:140%;}
.btn--outline:hover,.btn--secondary:hover{color:#fff!important;border-color:transparent!important;
  background:var(--grad-brand)!important;box-shadow:var(--glow-blue);transform:translateY(-2px);}

/* ---- Cards: lift + coloured glow on hover (safe, no pseudo clobber) ---- */
.card:hover,.svc-card:hover,.service-card:hover,.related-service-card:hover{
  transform:translateY(-8px);box-shadow:var(--glow-blue)!important;}
.creator-disc-card:hover,.hero__service-card:hover{
  transform:translateY(-10px) scale(1.01);box-shadow:var(--glow-violet)!important;}

/* ---- Multi-colour cycling across service grids ---- */
.service-card:nth-child(6n+1) .service-card__icon{background:rgba(45,109,246,.12)!important;color:var(--blue)!important;}
.service-card:nth-child(6n+2) .service-card__icon{background:rgba(168,85,247,.12)!important;color:var(--violet)!important;}
.service-card:nth-child(6n+3) .service-card__icon{background:rgba(236,72,153,.12)!important;color:var(--pink)!important;}
.service-card:nth-child(6n+4) .service-card__icon{background:rgba(34,211,238,.14)!important;color:#0e9cc0!important;}
.service-card:nth-child(6n+5) .service-card__icon{background:rgba(16,185,129,.14)!important;color:var(--green)!important;}
.service-card:nth-child(6n+6) .service-card__icon{background:rgba(251,191,36,.16)!important;color:#c98a00!important;}

/* ---- Hero: animated multi-colour gradient mesh ---- */
.hero{position:relative;overflow:hidden;}
.hero__bg{background:
  radial-gradient(42% 52% at 15% 22%,rgba(45,109,246,.26),transparent 70%),
  radial-gradient(38% 46% at 85% 14%,rgba(168,85,247,.24),transparent 70%),
  radial-gradient(46% 52% at 78% 82%,rgba(236,72,153,.18),transparent 70%),
  radial-gradient(40% 46% at 22% 86%,rgba(34,211,238,.20),transparent 70%)!important;
  animation:cr-float 16s ease-in-out infinite alternate;}

/* ---- Dark sections: deep gradient sheen ---- */
.section--dark{background:linear-gradient(135deg,#0d1424 0%,#141b35 58%,#1a1340 100%)!important;}

/* ---- Scroll reveal ---- */
.reveal{opacity:0;transform:translateY(34px);
  transition:opacity .7s ease,transform .7s var(--ease-spring);will-change:opacity,transform;}
.reveal.in{opacity:1;transform:none;}

/* ---- Keyframes ---- */
@keyframes cr-flow{to{background-position:300% center;}}
@keyframes cr-float{0%{transform:translate3d(0,0,0) scale(1);}100%{transform:translate3d(0,-18px,0) scale(1.06);}}

/* ---- Respect reduced-motion ---- */
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;}
  .reveal{opacity:1!important;transform:none!important;}
}



/* ============================================================
   Service Page - DashClicks-inspired layout (.svp-*)
   Appended layer; uses vibrant palette + gradients from above.
   ============================================================ */
.svp-wrap{ background:#fff; color:var(--ink); }
.svp-section{ padding:92px 0; }
.svp-section--alt{ background:linear-gradient(180deg,var(--cream-2) 0%,var(--cream) 100%); }

/* Shared section header */
.svp-head{ text-align:center; max-width:680px; margin:0 auto 56px; }
.svp-eyebrow{ display:inline-block; font-size:.72rem; font-weight:800; letter-spacing:.16em;
  text-transform:uppercase; margin-bottom:14px;
  background:var(--grad-text); background-size:200% auto;
  -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-text-fill-color:transparent;
  animation:cr-flow 5s linear infinite; }
.svp-h2{ font-size:clamp(1.8rem,3.2vw,2.6rem); font-weight:800; letter-spacing:-.025em;
  color:var(--ink); line-height:1.12; }
.svp-sub{ margin-top:14px; font-size:1.05rem; color:var(--gray-500); line-height:1.7;
  max-width:600px; margin-left:auto; margin-right:auto; }

/* Ghost buttons */
.svp-ghost{ display:inline-flex; align-items:center; gap:8px; padding:13px 26px; border-radius:9px;
  font-size:.9rem; font-weight:700; letter-spacing:.01em; border:1.6px solid rgba(255,255,255,.6);
  color:#fff; transition:all .25s var(--ease-spring); }
.svp-ghost:hover{ background:rgba(255,255,255,.16); transform:translateY(-2px); }
.svp-ghost--dark{ border-color:var(--gray-300); color:var(--gray-900); background:#fff; }
.svp-ghost--dark:hover{ border-color:var(--blue); color:var(--blue); background:rgba(45,109,246,.06); }

/* ── Hero ── */
.svp-hero{ position:relative; overflow:hidden; padding:130px 0 78px; background:#fff; }
.svp-hero__bg{ position:absolute; inset:0; pointer-events:none;
  background:
   radial-gradient(48% 60% at 88% -5%, rgba(45,109,246,.14), transparent 60%),
   radial-gradient(42% 55% at 4% 108%, rgba(168,85,247,.12), transparent 60%),
   radial-gradient(40% 50% at 60% 120%, rgba(236,72,153,.08), transparent 60%); }
.svp-crumbs{ position:relative; display:flex; flex-wrap:wrap; gap:8px; align-items:center;
  font-size:.8rem; color:var(--gray-500); margin-bottom:30px; }
.svp-crumbs a{ color:var(--gray-500); transition:color .2s; }
.svp-crumbs a:hover{ color:var(--blue); }
.svp-crumbs span[aria-current]{ color:var(--gray-700); font-weight:600; }
.svp-hero__inner{ position:relative; display:grid; grid-template-columns:1.05fr .95fr;
  gap:56px; align-items:center; }
.svp-hero__cat{ display:inline-flex; align-items:center; gap:8px; padding:7px 15px; border-radius:100px;
  background:rgba(45,109,246,.1); color:var(--blue); font-size:.7rem; font-weight:800;
  letter-spacing:.1em; text-transform:uppercase; margin-bottom:20px; }
.svp-hero__title{ font-size:clamp(2.3rem,4.4vw,3.5rem); font-weight:900; line-height:1.05;
  letter-spacing:-.035em; color:var(--ink); }
.svp-hero__sub{ margin-top:16px; font-size:1.18rem; font-weight:600; color:var(--gray-700); }
.svp-hero__desc{ margin-top:16px; font-size:1.02rem; color:var(--gray-500); line-height:1.8; max-width:540px; }
.svp-hero__actions{ display:flex; gap:14px; flex-wrap:wrap; margin-top:30px; }
.svp-hero__trust{ display:flex; align-items:center; gap:10px; margin-top:26px;
  font-size:.85rem; color:var(--gray-500); }
.svp-hero__stars{ color:#f5b800; letter-spacing:2px; }
.svp-hero__trust strong{ color:var(--ink); }

.svp-hero__visual{ position:relative; }
.svp-hero__glow{ position:absolute; inset:-12% -8%; z-index:0; border-radius:40px;
  background:var(--grad-vibrant); filter:blur(64px); opacity:.30; animation:cr-float 14s ease-in-out infinite alternate; }
.svp-hero__card{ position:relative; z-index:1; background:#fff; border:1px solid var(--gray-200);
  border-radius:22px; box-shadow:0 34px 70px rgba(13,20,36,.18); padding:14px; overflow:hidden; }
.svp-hero__card img{ width:100%; display:block; border-radius:13px; }
.svp-hero__mock{ display:none; padding:20px; }
.svp-hero__card.is-fallback .svp-hero__mock{ display:block; }
.svp-mock-bar{ display:flex; gap:7px; margin-bottom:18px; }
.svp-mock-bar i{ width:11px; height:11px; border-radius:50%; }
.svp-mock-row{ display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.svp-mock-stat{ background:linear-gradient(135deg,#f4f8ff,#fff); border:1px solid var(--gray-200);
  border-radius:14px; padding:16px 16px 14px; }
.svp-mock-stat b{ display:block; font-size:1.7rem; font-weight:900; letter-spacing:-.02em; line-height:1.1;
  background:var(--grad-text); -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-text-fill-color:transparent; }
.svp-mock-stat span{ font-size:.66rem; color:var(--gray-500); text-transform:uppercase; letter-spacing:.05em; }

/* ── Stats band ── */
.svp-stats{ padding:54px 0; background:linear-gradient(135deg,#0d1424 0%,#141b35 58%,#1a1340 100%); }
.svp-stats__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.svp-stat{ text-align:center; padding:10px; }
.svp-stat__num{ display:block; font-size:clamp(2rem,3.6vw,2.9rem); font-weight:900; letter-spacing:-.02em;
  background:linear-gradient(120deg,#6fa0ff,#a855f7 55%,#ec4899);
  -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-text-fill-color:transparent; }
.svp-stat__label{ display:block; margin-top:8px; color:rgba(255,255,255,.62);
  font-size:.78rem; text-transform:uppercase; letter-spacing:.07em; }

/* ── Feature grid - bold gradient tiles ── */
.svp-feature-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.svp-feature{ --ac:#2d6df6; --ac2:#6fa0ff; --acr:45,109,246;
  position:relative; isolation:isolate; overflow:hidden;
  border:1px solid rgba(var(--acr),.16); border-radius:22px; padding:36px 30px 34px;
  background:
    linear-gradient(180deg, rgba(var(--acr),.05) 0%, rgba(255,255,255,.9) 42%),
    #fff;
  box-shadow:0 10px 30px -18px rgba(13,20,36,.22);
  transition:transform .4s var(--ease-spring), box-shadow .4s ease, border-color .35s ease; }
/* large soft accent bloom in the corner */
.svp-feature::after{ content:""; position:absolute; top:-46%; right:-34%; width:80%; height:80%; z-index:-1;
  border-radius:50%; background:radial-gradient(circle, rgba(var(--acr),.55), transparent 68%);
  opacity:.16; filter:blur(30px); transition:opacity .45s ease, transform .6s var(--ease-spring); }
.svp-feature:hover{ transform:translateY(-12px);
  border-color:rgba(var(--acr),.5);
  box-shadow:0 30px 56px -20px rgba(var(--acr),.55); }
.svp-feature:hover::after{ opacity:.32; transform:scale(1.15); }

/* gradient icon tile - filled by default, white SVG */
.svp-feature__icon{ position:relative; width:66px; height:66px; border-radius:19px;
  display:flex; align-items:center; justify-content:center; margin-bottom:24px; color:#fff;
  background:linear-gradient(140deg, var(--ac), var(--ac2));
  box-shadow:0 12px 24px -8px rgba(var(--acr),.6), inset 0 1px 0 rgba(255,255,255,.4);
  transition:transform .45s var(--ease-spring), box-shadow .45s ease; }
.svp-feature__icon::before{ content:""; position:absolute; inset:0; border-radius:inherit;
  background:linear-gradient(140deg, rgba(255,255,255,.35), transparent 55%); }
.svp-feature__icon svg{ position:relative; width:30px; height:30px; }
.svp-feature:hover .svp-feature__icon{ transform:translateY(-4px) rotate(-5deg) scale(1.08);
  box-shadow:0 18px 32px -8px rgba(var(--acr),.75), inset 0 1px 0 rgba(255,255,255,.4); }

/* per-card accent palette (color + matching rgb for shadows/tints) */
.svp-feature:nth-child(6n+1){ --ac:#2d6df6; --ac2:#6fa0ff; --acr:45,109,246; }
.svp-feature:nth-child(6n+2){ --ac:#8b5cf6; --ac2:#c084fc; --acr:139,92,246; }
.svp-feature:nth-child(6n+3){ --ac:#ec4899; --ac2:#fb7fb6; --acr:236,72,153; }
.svp-feature:nth-child(6n+4){ --ac:#06b6d4; --ac2:#22d3ee; --acr:6,182,212; }
.svp-feature:nth-child(6n+5){ --ac:#10b981; --ac2:#4cd6a6; --acr:16,185,129; }
.svp-feature:nth-child(6n+6){ --ac:#f59e0b; --ac2:#fbbf24; --acr:245,158,11; }

.svp-feature__title{ font-size:1.2rem; font-weight:800; letter-spacing:-.015em; color:var(--ink);
  margin-bottom:10px; transition:color .3s ease; }
.svp-feature:hover .svp-feature__title{ color:var(--ac); }
.svp-feature__desc{ font-size:.93rem; color:var(--gray-500); line-height:1.72; }

/* ── Process steps ── */
/* Alternating split-screen process rows (matches homepage .proc-row) */
.svp-steps{
  width:100vw;
  position:relative;
  left:50%; right:50%;
  margin-left:-50vw; margin-right:-50vw;
  border-top:1px solid var(--gray-200);
}
.svp-steps .proc-row{ border-bottom:1px solid var(--gray-200); }
.svp-steps .proc-row__content{ background:var(--cream); }
.svp-steps .proc-row__icon{
  font-size:2.4rem; font-weight:900; letter-spacing:-.04em;
  color:#fff; background:rgba(255,255,255,.18);
  border:2px solid rgba(255,255,255,.3);
}

/* ── Testimonial ── */
.svp-quote{
  position:relative; max-width:780px; margin:0 auto; text-align:center;
  background:linear-gradient(180deg,#fff 0%, var(--cream-2) 100%);
  border:1px solid var(--gray-200);
  border-radius:28px;
  padding:54px 56px 42px;
  box-shadow:0 30px 70px -34px rgba(45,109,246,.35);
  overflow:hidden;
}
.svp-quote::before{ content:''; position:absolute; top:0; left:0; right:0; height:5px;
  background:var(--grad-text); background-size:200% auto; animation:cr-flow 5s linear infinite; }
.svp-quote__mark{ font-family:Georgia,serif; font-size:6.5rem; line-height:.7; height:auto; margin-bottom:-6px;
  background:var(--grad-text); -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-text-fill-color:transparent; }
.svp-quote__text{ font-size:clamp(1.3rem,2.4vw,1.6rem); font-weight:600; color:var(--ink);
  line-height:1.55; letter-spacing:-.01em; max-width:620px; margin:0 auto; }
.svp-quote__stars{ color:#f5b800; letter-spacing:4px; margin:22px 0; font-size:1.1rem; }
.svp-quote__cap{ display:flex; align-items:center; justify-content:center; gap:14px; }
.svp-quote__avatar{ width:52px; height:52px; flex-shrink:0; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-weight:800; font-size:1.05rem; color:#fff; letter-spacing:.02em;
  background:linear-gradient(135deg,#2d6df6,#a855f7);
  box-shadow:0 8px 20px rgba(124,58,237,.35); }
.svp-quote__cap-meta{ display:flex; flex-direction:column; gap:2px; text-align:left; }
.svp-quote__name{ font-weight:800; color:var(--ink); }
.svp-quote__role{ color:var(--gray-500); font-size:.9rem; }

/* ── Case studies ── */
.svp-cases{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.svp-case{
  position:relative; display:flex; flex-direction:column; gap:13px;
  background:#fff; border:1px solid var(--gray-200); border-radius:22px;
  padding:30px 28px 30px; overflow:hidden;
  box-shadow:0 8px 28px rgba(29,29,40,.05);
  transition:transform .4s var(--ease-spring), box-shadow .4s ease, border-color .4s ease;
}
.svp-case::before{ content:''; position:absolute; top:0; left:0; right:0; height:4px;
  background:var(--grad-text); background-size:200% auto; animation:cr-flow 5s linear infinite; }
.svp-case:hover{ transform:translateY(-10px); border-color:rgba(45,109,246,.4);
  box-shadow:0 28px 56px -22px rgba(45,109,246,.5); }
.svp-case__top{ display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-top:4px; }
.svp-case__metric{ display:flex; flex-direction:column; }
.svp-case__metric span{ font-size:2.4rem; font-weight:900; line-height:1; letter-spacing:-.03em;
  background:var(--grad-text); -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-text-fill-color:transparent; }
.svp-case__metric small{ font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--gray-500); margin-top:6px; }
.svp-case__tag{ font-size:.64rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em;
  color:#2d6df6; background:rgba(45,109,246,.1); padding:6px 12px; border-radius:100px; white-space:nowrap; }
.svp-case__title{ font-size:1.15rem; font-weight:800; color:var(--ink); line-height:1.3; letter-spacing:-.01em; }
.svp-case__desc{ font-size:.9rem; color:var(--gray-500); line-height:1.65; flex:1; }
.svp-case__results{ list-style:none; padding:16px 0 0; margin:6px 0 0; display:flex; flex-direction:column; gap:9px;
  border-top:1px solid var(--gray-200); }
.svp-case__results li{ position:relative; padding-left:24px; font-size:.86rem; font-weight:600; color:var(--gray-700); line-height:1.4; }
.svp-case__results li::before{ content:'✓'; position:absolute; left:0; top:0; width:16px; height:16px;
  font-size:.6rem; font-weight:900; color:#fff;
  background:linear-gradient(135deg,#2d6df6,#a855f7); border-radius:50%;
  display:flex; align-items:center; justify-content:center; }
@media (max-width:900px){ .svp-cases{ grid-template-columns:1fr 1fr; } }
@media (max-width:600px){ .svp-cases{ grid-template-columns:1fr; } .svp-quote{ padding:40px 24px 32px; } }

/* ── FAQ ── */
.svp-faq{ max-width:820px; margin:0 auto; display:flex; flex-direction:column; gap:14px; }
.svp-faq__item{ background:#fff; border:1px solid var(--gray-200); border-radius:14px; padding:2px 24px;
  transition:box-shadow .3s ease, border-color .3s ease; }
.svp-faq__item[open]{ border-color:rgba(45,109,246,.4); box-shadow:0 10px 30px -12px rgba(45,109,246,.3); }
.svp-faq__q{ list-style:none; cursor:pointer; padding:20px 0; font-weight:700; color:var(--ink);
  display:flex; align-items:center; justify-content:space-between; gap:16px; }
.svp-faq__q::-webkit-details-marker{ display:none; }
.svp-faq__q::after{ content:"+"; flex-shrink:0; font-size:1.6rem; line-height:1; color:var(--blue);
  transition:transform .3s var(--ease-spring); }
.svp-faq__item[open] .svp-faq__q::after{ transform:rotate(45deg); }
.svp-faq__a{ padding:0 0 22px; color:var(--gray-500); line-height:1.78; }

/* ── CTA band ── */
.svp-cta{ position:relative; overflow:hidden; padding:84px 0;
  background:linear-gradient(125deg,#2d6df6 0%,#6366f1 52%,#a855f7 100%); text-align:center; }
.svp-cta::before{ content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(40% 60% at 80% 0%, rgba(255,255,255,.18), transparent 60%),
            radial-gradient(40% 60% at 10% 100%, rgba(236,72,153,.25), transparent 60%); }
.svp-cta__inner{ position:relative; max-width:760px; margin:0 auto; }
.svp-cta__h{ font-size:clamp(1.9rem,3.4vw,2.7rem); font-weight:900; color:#fff; letter-spacing:-.025em; line-height:1.12; }
.svp-cta__p{ color:rgba(255,255,255,.88); font-size:1.05rem; line-height:1.7; margin:14px auto 0; max-width:560px; }
.svp-cta__actions{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-top:30px; }
.svp-cta .btn--primary{ background:#fff!important; color:var(--blue)!important; box-shadow:0 14px 34px rgba(0,0,0,.22); }
.svp-cta .btn--primary:hover{ transform:translateY(-3px) scale(1.02); box-shadow:0 20px 44px rgba(0,0,0,.28); }
.svp-cta__list{ display:flex; flex-wrap:wrap; gap:12px 28px; justify-content:center; margin-top:34px; }
.svp-cta__list li{ color:#fff; font-size:.9rem; display:flex; align-items:center; gap:8px; opacity:.95; }
.svp-cta__list li::before{ content:"✓"; font-weight:900; }

/* ── Lead form ── */
.svp-formsec{ background:linear-gradient(180deg,#fff,#f6f9fe); }
.svp-form{ max-width:1060px; margin:0 auto; display:grid; grid-template-columns:.9fr 1.1fr;
  gap:44px; align-items:start; }
.svp-checklist{ margin-top:24px; display:flex; flex-direction:column; gap:12px; }
.svp-checklist li{ position:relative; padding-left:30px; color:var(--gray-700); font-weight:500; }
.svp-checklist li::before{ content:"✓"; position:absolute; left:0; top:0; width:20px; height:20px;
  border-radius:50%; background:var(--grad-brand); color:#fff; font-size:.7rem; font-weight:900;
  display:flex; align-items:center; justify-content:center; }
.svp-form__card{ background:#fff; border:1px solid var(--gray-200); border-radius:22px; padding:34px;
  box-shadow:0 24px 60px rgba(13,20,36,.12); }

/* ── Related ── */
.svp-related{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.svp-related__card{ position:relative; display:flex; align-items:center; gap:16px;
  background:#fff; border:1px solid var(--gray-200); border-radius:16px; padding:20px 22px;
  color:var(--ink); overflow:hidden;
  transition:transform .35s var(--ease-spring), box-shadow .35s ease, border-color .35s ease; }
.svp-related__card::before{ content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg, var(--ac,#2d6df6), color-mix(in srgb, var(--ac,#2d6df6) 45%, #fff));
  transform:scaleX(0); transform-origin:left; transition:transform .4s var(--ease-spring); }
.svp-related__card:hover{ transform:translateY(-5px);
  border-color:color-mix(in srgb, var(--ac,#2d6df6) 40%, var(--gray-200));
  box-shadow:0 18px 40px -14px color-mix(in srgb, var(--ac,#2d6df6) 55%, transparent); }
.svp-related__card:hover::before{ transform:scaleX(1); }
.svp-related__ic{ width:46px; height:46px; flex-shrink:0; border-radius:12px; display:grid; place-items:center;
  color:var(--ac,#2d6df6); background:color-mix(in srgb, var(--ac,#2d6df6) 12%, #fff);
  transition:background .35s ease, color .35s ease, transform .35s var(--ease-spring); }
.svp-related__ic svg{ width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.svp-related__card:hover .svp-related__ic{ background:var(--ac,#2d6df6); color:#fff; transform:scale(1.06) rotate(-4deg); }
.svp-related__body{ display:flex; flex-direction:column; gap:3px; flex:1; min-width:0; }
.svp-related__title{ font-weight:700; color:var(--ink); font-size:1.02rem; letter-spacing:-.01em; transition:color .3s ease; }
.svp-related__card:hover .svp-related__title{ color:var(--ac,#2d6df6); }
.svp-related__desc{ font-size:.8rem; color:var(--gray-500); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.svp-related__arrow{ flex-shrink:0; width:32px; height:32px; border-radius:50%; display:grid; place-items:center;
  font-size:1rem; color:var(--ac,#2d6df6); background:color-mix(in srgb, var(--ac,#2d6df6) 10%, #fff);
  transition:transform .3s var(--ease-spring), background .3s ease, color .3s ease; }
.svp-related__card:hover .svp-related__arrow{ background:var(--ac,#2d6df6); color:#fff; transform:translateX(3px); }

/* ── Responsive ── */
@media (max-width:900px){
  .svp-hero{ padding:118px 0 60px; }
  .svp-hero__inner{ grid-template-columns:1fr; gap:40px; }
  .svp-stats__grid{ grid-template-columns:repeat(2,1fr); gap:28px 16px; }
  .svp-feature-grid{ grid-template-columns:1fr 1fr; }
  .svp-form{ grid-template-columns:1fr; gap:32px; }
  .svp-related{ grid-template-columns:1fr; }
  .svp-section{ padding:68px 0; }
}
@media (max-width:560px){
  .svp-feature-grid{ grid-template-columns:1fr; }
}


/* ============================================================
   Category Landing Pages - Enhanced UI Layer
   Targets: services.php + /services/digital-marketing,
            /services/remote-operations, /services/real-estate
   Per-page accent palette drives gradients, glows & tints.
   Appended last; layers on top. Safe to remove as a block.
   ============================================================ */

/* ---- Per-page accent palette ---- */
.page-services{
  --pg-a:#2d6df6;
  --pg-grad:linear-gradient(120deg,#2d6df6,#a855f7 55%,#ec4899);
  --pg-ring:rgba(45,109,246,.45);
  --pg-tint:rgba(45,109,246,.10);
  --pg-mesh:
    radial-gradient(40% 55% at 15% 20%, rgba(45,109,246,.32), transparent 62%),
    radial-gradient(38% 50% at 85% 12%, rgba(168,85,247,.28), transparent 64%),
    radial-gradient(46% 56% at 80% 90%, rgba(236,72,153,.20), transparent 62%),
    radial-gradient(42% 50% at 18% 92%, rgba(34,211,238,.16), transparent 62%);
}
.page-digital-marketing{
  --pg-a:#22d3ee;
  --pg-grad:linear-gradient(120deg,#22d3ee,#2d6df6 55%,#6366f1);
  --pg-ring:rgba(34,211,238,.45);
  --pg-tint:rgba(45,109,246,.10);
  --pg-mesh:
    radial-gradient(40% 55% at 15% 20%, rgba(34,211,238,.30), transparent 62%),
    radial-gradient(38% 50% at 85% 12%, rgba(45,109,246,.28), transparent 64%),
    radial-gradient(46% 56% at 80% 90%, rgba(99,102,241,.22), transparent 62%),
    radial-gradient(42% 50% at 18% 92%, rgba(34,211,238,.16), transparent 62%);
}
.page-remote-operations{
  --pg-a:#14b8a6;
  --pg-grad:linear-gradient(120deg,#2dd4bf,#10b981 50%,#2d6df6);
  --pg-ring:rgba(16,185,129,.42);
  --pg-tint:rgba(16,185,129,.12);
  --pg-mesh:
    radial-gradient(40% 55% at 15% 20%, rgba(45,212,191,.28), transparent 62%),
    radial-gradient(38% 50% at 85% 12%, rgba(16,185,129,.24), transparent 64%),
    radial-gradient(46% 56% at 80% 90%, rgba(45,109,246,.22), transparent 62%),
    radial-gradient(42% 50% at 18% 92%, rgba(34,211,238,.16), transparent 62%);
}
.page-real-estate{
  --pg-a:#a855f7;
  --pg-grad:linear-gradient(120deg,#a855f7,#ec4899 55%,#fb7185);
  --pg-ring:rgba(168,85,247,.45);
  --pg-tint:rgba(168,85,247,.10);
  --pg-mesh:
    radial-gradient(40% 55% at 15% 20%, rgba(168,85,247,.30), transparent 62%),
    radial-gradient(38% 50% at 85% 12%, rgba(236,72,153,.24), transparent 64%),
    radial-gradient(46% 56% at 80% 90%, rgba(251,113,133,.20), transparent 62%),
    radial-gradient(42% 50% at 18% 92%, rgba(45,109,246,.14), transparent 62%);
}

/* ---- Breadcrumb: accent the current page ---- */
.page-services .breadcrumb__list li:last-child{ color:var(--pg-a); font-weight:600; }

/* ---- Hero: animated gradient mesh + dot grid + glowing accents ---- */
.page-services .page-hero--services{
  position:relative; overflow:hidden; isolation:isolate;
  padding:96px 0 84px; background:#090e1c;
}
.page-services .page-hero--services::before{
  content:''; position:absolute; inset:-28% -12%; z-index:-2; pointer-events:none;
  background:var(--pg-mesh); background-repeat:no-repeat;
  animation:pg-drift 18s ease-in-out infinite alternate;
}
.page-services .page-hero--services::after{
  content:''; position:absolute; inset:0; z-index:-1; pointer-events:none; opacity:.5;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size:54px 54px;
  -webkit-mask-image:radial-gradient(circle at 50% 32%, #000, transparent 75%);
          mask-image:radial-gradient(circle at 50% 32%, #000, transparent 75%);
}
.page-services .page-hero--services .container{ position:relative; z-index:1; }
.page-services .page-hero--services .page-hero__heading{
  font-size:clamp(2.3rem,4.6vw,3.5rem); font-weight:900; letter-spacing:-.03em; line-height:1.08;
}
.page-services .page-hero--services .page-hero__subheading strong{
  background:var(--pg-grad); -webkit-background-clip:text; background-clip:text;
  color:transparent; -webkit-text-fill-color:transparent; font-weight:800;
}
.page-services .page-hero--services .btn--outline{
  border:1.6px solid rgba(255,255,255,.45); color:#fff; background:transparent;
}

/* Hero label -> glowing glass pill with live dot */
.page-services .page-hero__label{
  position:relative; padding:7px 16px 7px 14px; border-radius:100px;
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.16);
  color:#fff !important; -webkit-text-fill-color:#fff;
  -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
  animation:pg-badge 3.4s ease-in-out infinite;
}
.page-services .page-hero__label::before{
  content:''; display:inline-block; width:7px; height:7px; border-radius:50%;
  background:var(--pg-grad); margin-right:9px; vertical-align:middle;
  box-shadow:0 0 10px 1px var(--pg-ring);
}

/* ---- Stats strip: dark glass cards w/ gradient numbers (fixes invisible labels) ---- */
.page-services .stats-strip,
.page-services .stats-strip--dark{
  background:linear-gradient(135deg,#090e1c 0%,#101a30 55%,#171036 100%) !important;
  border-top:none; border-bottom:none; padding:0; position:relative; overflow:hidden;
}
.page-services .stats-strip__grid{ gap:18px; padding:48px 0; }
.page-services .stat-item{
  border-right:none; border-radius:16px; padding:30px 18px; overflow:hidden;
  background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08);
  -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px);
  transition:transform .4s var(--ease-spring), box-shadow .4s ease,
             background .3s ease, border-color .3s ease;
}
.page-services .stat-item::before{
  content:''; position:absolute; left:0; right:0; top:0; height:3px;
  background:var(--pg-grad); transform:scaleX(0); transform-origin:left;
  transition:transform .5s var(--ease-spring);
}
.page-services .stat-item:hover{
  transform:translateY(-6px); border-color:transparent;
  background:rgba(255,255,255,.07); box-shadow:0 22px 48px -16px var(--pg-ring);
}
.page-services .stat-item:hover::before{ transform:scaleX(1); }
.page-services .stat-item__number{
  background-image:var(--pg-grad) !important;
  -webkit-background-clip:text !important; background-clip:text !important;
  -webkit-text-fill-color:transparent !important; color:transparent;
}
.page-services .stat-item__label{ color:rgba(255,255,255,.62); }
.page-services .stat-item.is-animated .stat-item__number{ animation:pg-pop .7s var(--ease-spring) both; }

/* ---- Section headers: gradient heading + animated underline ---- */
.page-services .section-heading:not(.section-heading--light){
  background:var(--pg-grad); background-size:200% auto;
  -webkit-background-clip:text; background-clip:text;
  color:transparent; -webkit-text-fill-color:transparent;
}
.page-services .services-list .section-header{ position:relative; }
.page-services .services-list .section-header::after{
  content:''; display:block; width:64px; height:4px; border-radius:4px; margin:22px auto 0;
  background:var(--pg-grad); background-size:200% auto; animation:cr-flow 5s linear infinite;
}

/* ---- Service cards: gradient hover border, lift, growing accent bar ---- */
.page-services .service-list-card{
  position:relative; overflow:hidden; border-radius:16px; padding:26px 24px 22px;
  background:#fff; border:1px solid var(--gray-200);
  transition:transform .4s var(--ease-spring), box-shadow .4s ease, border-color .3s ease;
}
.page-services .service-list-card::before{
  content:''; position:absolute; inset:0; border-radius:inherit; padding:1.4px;
  background:var(--pg-grad);
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude;
  opacity:0; transition:opacity .35s ease; pointer-events:none;
}
.page-services .service-list-card::after{
  content:''; position:absolute; top:0; left:0; width:100%; height:4px;
  background:var(--pg-grad); transform:scaleX(0); transform-origin:left;
  transition:transform .45s var(--ease-spring);
}
.page-services .service-list-card:hover{
  transform:translateY(-8px); border-color:transparent;
  box-shadow:0 26px 52px -18px var(--pg-ring);
}
.page-services .service-list-card:hover::before{ opacity:1; }
.page-services .service-list-card:hover::after{ transform:scaleX(1); }
.page-services .service-list-card__tag{
  background:var(--pg-tint); color:var(--pg-a);
}
.page-services .service-list-card__title{ font-size:1.05rem; font-weight:700; }
.page-services .service-list-card__desc{ font-size:.88rem; }
.page-services .service-list-card__link{
  display:inline-flex; align-items:center; gap:6px; font-weight:700; color:var(--pg-a);
  transition:gap .3s var(--ease-spring);
}
.page-services .service-list-card:hover .service-list-card__link{ gap:11px; }

/* ---- Why Choose Us: accent glow blob + animated check rows ---- */
.page-services .section--dark{ position:relative; overflow:hidden; }
.page-services .section--dark::before{
  content:''; position:absolute; width:520px; height:520px; right:-170px; top:-180px;
  border-radius:50%; background:var(--pg-grad); filter:blur(120px); opacity:.20;
  pointer-events:none; animation:cr-float 16s ease-in-out infinite alternate;
}
.page-services .section--dark .container{ position:relative; z-index:1; }
.page-services .category-split__content .section-heading--light{ display:inline-block; }
.page-services .category-split__content .section-heading--light::after{
  content:''; display:block; width:72px; height:4px; border-radius:4px; margin-top:16px;
  background:var(--pg-grad); background-size:200% auto; animation:cr-flow 5s linear infinite;
}
.page-services .category-check-list li{
  display:flex; align-items:center; gap:12px; padding:11px 15px; border-radius:12px;
  background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.07);
  transition:transform .3s var(--ease-spring), background .3s ease, border-color .3s ease;
}
.page-services .category-check-list li:hover{
  transform:translateX(6px); background:rgba(255,255,255,.08); border-color:transparent;
}
.page-services .category-check-list li::before{
  content:'\2713'; display:grid; place-items:center; flex-shrink:0;
  width:24px; height:24px; border-radius:50%; margin-right:0;
  background:var(--pg-grad); color:#fff; font-size:.72rem; font-weight:800;
  box-shadow:0 6px 16px -4px var(--pg-ring);
}

/* ---- Contact form: floating card w/ animated gradient top edge ---- */
.page-services .services-contact-form{
  position:relative; overflow:hidden; background:#fff;
  border:1px solid var(--gray-200); border-radius:22px;
  box-shadow:0 32px 72px -34px rgba(13,20,36,.28);
}
.page-services .services-contact-form::before{
  content:''; position:absolute; top:0; left:0; right:0; height:5px;
  background:var(--pg-grad); background-size:200% auto; animation:cr-flow 6s linear infinite;
}
.page-services .services-contact-form__header h3{ font-size:1.5rem; }
.page-services .services-contact-form__body img{
  box-shadow:0 22px 44px -20px var(--pg-ring);
  transition:transform .5s var(--ease-spring);
}
.page-services .services-contact-form__body img:hover{ transform:translateY(-3px) scale(1.02); }

/* ---- Services hub: lift + gradient sheen on the big category cards ---- */
.page-services .service-category-card{
  position:relative; overflow:hidden;
  transition:transform .4s var(--ease-spring), box-shadow .4s ease, border-color .3s ease;
}
.page-services .service-category-card::after{
  content:''; position:absolute; top:0; left:0; right:0; height:4px;
  background:var(--pg-grad); transform:scaleX(0); transform-origin:left;
  transition:transform .45s var(--ease-spring); z-index:2;
}
.page-services .service-category-card img{ transition:transform .6s var(--ease-spring); }
.page-services .service-category-card:hover{
  transform:translateY(-8px); border-color:transparent;
  box-shadow:0 28px 56px -20px var(--pg-ring);
}
.page-services .service-category-card:hover::after{ transform:scaleX(1); }
.page-services .service-category-card:hover img{ transform:scale(1.06); }
.page-services .service-category-card__cta{ transition:gap .3s var(--ease-spring); }

/* ---- Keyframes ---- */
@keyframes pg-drift{
  0%{ transform:translate3d(0,0,0) scale(1); }
  50%{ transform:translate3d(-2%,-2%,0) scale(1.05); }
  100%{ transform:translate3d(2%,1%,0) scale(1.08); }
}
@keyframes pg-pop{
  0%{ opacity:0; transform:translateY(10px) scale(.62); }
  60%{ opacity:1; }
  100%{ opacity:1; transform:none; }
}
@keyframes pg-badge{
  0%,100%{ box-shadow:0 0 0 0 var(--pg-ring); }
  50%{ box-shadow:0 0 22px 1px var(--pg-ring); }
}

/* ---- Responsive ---- */
@media (max-width:768px){
  .page-services .page-hero--services{ padding:72px 0 58px; }
  .page-services .stats-strip__grid{ padding:34px 0; gap:14px; }
  .page-services .stat-item{ padding:24px 14px; }
}

/* ============================================================
   Alternating Service Feature Rows (Infodelix-style)
   Big image one side, numbered callout + bullets + CTA the other.
   Uses the per-page accent vars (--pg-grad / --pg-ring / --pg-tint).
   ============================================================ */
.svc-rows{ display:flex; flex-direction:column; gap:74px; }
@media (max-width:768px){ .svc-rows{ gap:48px; } }

.svc-row{ display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.svc-row--reverse .svc-row__media{ order:2; }

/* Media side */
.svc-row__media{ position:relative; }
.svc-row__frame{
  position:relative; border-radius:24px; overflow:hidden; aspect-ratio:4 / 3;
  background:var(--pg-grad); border:1px solid var(--gray-200);
  box-shadow:0 36px 72px -34px var(--pg-ring), 0 10px 30px -18px rgba(13,20,36,.22);
}
.svc-row__frame::after{
  content:''; position:absolute; inset:0; border-radius:inherit; pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);
}
.svc-row__frame img{
  width:100%; height:100%; object-fit:cover; display:block;
  transition:transform .7s var(--ease-spring);
}
.svc-row:hover .svc-row__frame img{ transform:scale(1.06); }
.svc-row__index{
  position:absolute; z-index:3; top:16px; left:16px;
  display:inline-flex; align-items:baseline; gap:3px; padding:7px 14px; border-radius:100px;
  background:rgba(255,255,255,.9); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
  font-weight:800; font-size:.95rem; color:var(--ink); letter-spacing:.02em;
  box-shadow:0 8px 22px -10px rgba(13,20,36,.45);
}
.svc-row__index small{ font-size:.7rem; font-weight:700; color:var(--gray-500); }

/* Gradient fallback when no image exists */
.svc-row__fallback{ display:none; }
.svc-row__frame.is-fallback{ display:grid; place-items:center; }
.svc-row__frame.is-fallback::before{
  content:''; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(circle at 28% 18%, rgba(255,255,255,.28), transparent 58%);
}
.svc-row__frame.is-fallback .svc-row__fallback{
  display:flex; flex-direction:column; align-items:center; gap:12px;
  position:relative; z-index:1; color:#fff; text-align:center;
}
.svc-row__fallback-num{
  font-size:4.4rem; font-weight:900; line-height:1; letter-spacing:-.03em;
  color:rgba(255,255,255,.94); text-shadow:0 12px 34px rgba(0,0,0,.28);
}
.svc-row__fallback-tag{
  font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.14em;
  padding:6px 14px; border-radius:100px;
  background:rgba(255,255,255,.18); border:1px solid rgba(255,255,255,.4);
}

/* Content side */
.svc-row__content{ max-width:540px; }
.svc-row--reverse .svc-row__content{ margin-left:auto; }
.svc-row__content .svc-row__tag{
  display:inline-block; font-size:.7rem; font-weight:800; text-transform:uppercase; letter-spacing:.12em;
  color:var(--pg-a); background:var(--pg-tint); padding:6px 13px; border-radius:100px; margin-bottom:18px;
}
.svc-row__highlight{
  display:block; font-size:clamp(1.7rem,2.6vw,2.3rem); font-weight:900; line-height:1.08; letter-spacing:-.02em;
  background:var(--pg-grad); background-size:200% auto;
  -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-text-fill-color:transparent;
  margin-bottom:10px;
}
.svc-row__title{ font-size:1.4rem; font-weight:800; color:var(--ink); letter-spacing:-.01em; }
.svc-row__desc{ margin:12px 0 22px; font-size:1rem; line-height:1.7; color:var(--gray-500); }
.svc-row__features{ display:grid; grid-template-columns:1fr 1fr; gap:12px 22px; margin:0 0 28px; padding:0; }
.svc-row__features li{
  display:flex; align-items:flex-start; gap:10px;
  font-size:.92rem; font-weight:600; color:var(--gray-700); line-height:1.4;
}
.svc-row__features li::before{
  content:'\2713'; flex-shrink:0; display:grid; place-items:center;
  width:22px; height:22px; border-radius:50%; background:var(--pg-grad); color:#fff;
  font-size:.66rem; font-weight:900; box-shadow:0 6px 14px -5px var(--pg-ring); margin-top:1px;
}
.svc-row__cta{ display:inline-flex; align-items:center; gap:9px; }
.svc-row__cta span{ transition:transform .3s var(--ease-spring); }
.svc-row__cta:hover span{ transform:translateX(5px); }

@media (max-width:900px){
  .svc-row{ grid-template-columns:1fr; gap:28px; }
  .svc-row--reverse .svc-row__media{ order:0; }
  .svc-row--reverse .svc-row__content{ margin-left:0; }
  .svc-row__content{ max-width:none; }
}
@media (max-width:520px){
  .svc-row__features{ grid-template-columns:1fr; }
  .svc-row__frame{ aspect-ratio:16 / 11; }
}

/* ============================================================
   WOW LAYER v2 - cursor, navbar motion, section reveals.
   All elements (.cr-*) are injected by main.js; effects respect
   prefers-reduced-motion and only run on fine pointers.
   ============================================================ */

/* ── Custom cursor: gradient dot + trailing ring ── */
@media (hover:hover) and (pointer:fine){
  body.cr-cursor,
  body.cr-cursor *:not(input):not(textarea):not(select){ cursor:none !important; }
}
.cr-cursor-dot{
  position:fixed; top:0; left:0; width:8px; height:8px; border-radius:50%;
  background:var(--grad-vibrant); z-index:100000; pointer-events:none;
  transition:width .25s ease, height .25s ease, opacity .2s ease;
}
.cr-cursor-ring{
  position:fixed; top:0; left:0; width:38px; height:38px; border-radius:50%;
  margin:-15px 0 0 -15px; /* centers the extra ring size around the dot */
  border:1.5px solid rgba(99,102,241,.6); z-index:99999; pointer-events:none;
  transition:width .35s var(--ease-spring), height .35s var(--ease-spring),
             margin .35s var(--ease-spring), border-color .3s ease,
             background .3s ease, opacity .2s ease;
}
.cr-cursor-dot.is-link{ width:5px; height:5px; }
.cr-cursor-ring.is-link{
  width:58px; height:58px; margin:-25px 0 0 -25px;
  background:rgba(99,102,241,.09); border-color:rgba(168,85,247,.85);
}
.cr-cursor-ring.is-down{ width:28px; height:28px; margin:-10px 0 0 -10px; }
.cr-cursor-dot.is-gone,.cr-cursor-ring.is-gone{ opacity:0; }

/* ── Navbar: scroll progress bar ── */
.nav-progress{
  position:absolute; top:0; left:0; height:3px; width:0; z-index:10;
  background:var(--grad-sunset); background-size:300% 100%;
  animation:cr-flow 8s linear infinite;
  border-radius:0 3px 3px 0;
  box-shadow:0 0 10px rgba(124,58,237,.55);
  pointer-events:none;
}

/* ── Navbar: sliding hover pill ── */
.nav-links{ position:relative; }
.nav-links > li{ z-index:1; }
.nav-pill{
  position:absolute; top:0; left:0; width:0; height:0;
  border-radius:100px; opacity:0; pointer-events:none; z-index:0;
  background:linear-gradient(120deg, rgba(45,109,246,.10), rgba(168,85,247,.14), rgba(236,72,153,.10));
  border:1px solid rgba(99,102,241,.22);
  box-shadow:0 4px 16px -6px rgba(99,102,241,.4), inset 0 1px 0 rgba(255,255,255,.6);
  transition:left .45s var(--ease-spring), top .3s ease,
             width .45s var(--ease-spring), height .3s ease, opacity .25s ease;
}

/* ── Navbar: entrance + logo micro-motion + dropdown stagger ── */
/* "backwards" (not "both") so the finished animation releases the transform
   and .is-hidden / .is-scrolled keep working after load */
.site-header{ animation:cr-header-in .7s cubic-bezier(.22,1,.36,1) backwards; }
@keyframes cr-header-in{
  from{ transform:translateY(-100%); opacity:0; }
  to  { transform:translateY(0);     opacity:1; }
}
.nav-logo img{ transition:transform .45s var(--ease-spring), filter .35s ease; }
.nav-logo:hover img{ transform:scale(1.05) rotate(-2deg); filter:drop-shadow(0 6px 14px rgba(45,109,246,.35)); }

.nav-item--dropdown:hover .nav-dd-item,
.nav-dropdown.is-open .nav-dd-item{
  animation:cr-dd-in .45s cubic-bezier(.22,1,.36,1) both;
}
.nav-dropdown .nav-dd-item:nth-child(1){ animation-delay:.03s; }
.nav-dropdown .nav-dd-item:nth-child(2){ animation-delay:.06s; }
.nav-dropdown .nav-dd-item:nth-child(3){ animation-delay:.09s; }
.nav-dropdown .nav-dd-item:nth-child(4){ animation-delay:.12s; }
.nav-dropdown .nav-dd-item:nth-child(5){ animation-delay:.15s; }
.nav-dropdown .nav-dd-item:nth-child(6){ animation-delay:.18s; }
.nav-dropdown .nav-dd-item:nth-child(7){ animation-delay:.21s; }
.nav-dropdown .nav-dd-item:nth-child(8){ animation-delay:.24s; }
.nav-dropdown .nav-dd-item:nth-child(9){ animation-delay:.27s; }
.nav-dropdown .nav-dd-item:nth-child(10){ animation-delay:.3s; }
@keyframes cr-dd-in{
  from{ opacity:0; transform:translateY(10px); }
  to  { opacity:1; transform:translateY(0); }
}

/* ── Scroll reveals: add blur + springier easing to existing variants ── */
[data-animate="fade-up"],
[data-animate="fade-left"],
[data-animate="fade-right"]{
  filter:blur(10px);
  transition:opacity .85s cubic-bezier(.22,1,.36,1),
             transform .85s cubic-bezier(.22,1,.36,1),
             filter .75s ease;
}
[data-animate].is-animated{ filter:blur(0); }

/* ── Split headings: word-by-word rise reveal ── */
.cr-split .cr-w{ display:inline-block; overflow:hidden; vertical-align:bottom; }
.cr-split .cr-w__in{
  display:inline-block; transform:translateY(115%);
  transition:transform .75s cubic-bezier(.22,1,.36,1);
}
.cr-split.is-inview .cr-w__in{ transform:translateY(0); }

/* ── Card spotlight: radial glow that tracks the cursor ── */
.cr-spot{ position:relative; }
.cr-spot__glow{
  position:absolute; inset:0; border-radius:inherit; pointer-events:none;
  opacity:0; z-index:3; transition:opacity .35s ease;
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),
             rgba(99,102,241,.18), rgba(236,72,153,.08) 38%, transparent 68%);
}
.cr-spot:hover > .cr-spot__glow{ opacity:1; }

/* ── Industries: staggered pop-in once the grid reveals ── */
[data-animate]:not(.is-animated) .industry-pill{ opacity:0; }
[data-animate].is-animated .industry-pill{
  animation:cr-pop-in .6s cubic-bezier(.34,1.56,.64,1) both;
}
.industries-grid .industry-pill:nth-child(1){ animation-delay:.02s; }
.industries-grid .industry-pill:nth-child(2){ animation-delay:.07s; }
.industries-grid .industry-pill:nth-child(3){ animation-delay:.12s; }
.industries-grid .industry-pill:nth-child(4){ animation-delay:.17s; }
.industries-grid .industry-pill:nth-child(5){ animation-delay:.22s; }
.industries-grid .industry-pill:nth-child(6){ animation-delay:.27s; }
.industries-grid .industry-pill:nth-child(7){ animation-delay:.32s; }
.industries-grid .industry-pill:nth-child(8){ animation-delay:.37s; }
.industries-grid .industry-pill:nth-child(9){ animation-delay:.42s; }
.industries-grid .industry-pill:nth-child(10){ animation-delay:.47s; }
.industries-grid .industry-pill:nth-child(11){ animation-delay:.52s; }
.industries-grid .industry-pill:nth-child(12){ animation-delay:.57s; }
@keyframes cr-pop-in{
  from{ opacity:0; transform:translateY(20px) scale(.85); }
  to  { opacity:1; transform:translateY(0)   scale(1); }
}

/* ── Clients marquee: soft edge fade ── */
.clients-marquee__viewport{
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 9%, #000 91%, transparent);
          mask-image:linear-gradient(90deg, transparent, #000 9%, #000 91%, transparent);
}

/* ── Reviews: playful alternating tilt on hover ── */
.reviews-masonry .rv-card:hover{ transform:translateY(-8px) rotate(-.8deg); }
.reviews-masonry .rv-card:nth-child(even):hover{ transform:translateY(-8px) rotate(.8deg); }

/* ── Contact form card: gradient focus ring while typing ── */
.contact-split__form-card{ transition:box-shadow .4s ease, transform .4s var(--ease-spring); }
.contact-split__form-card:focus-within{
  box-shadow:0 0 0 2px rgba(99,102,241,.4), 0 24px 60px -18px rgba(168,85,247,.45);
  transform:translateY(-3px);
}

/* ── Parallax images (transform driven by main.js) ── */
.cr-parallax{ will-change:transform; }

/* ── Back-to-top: glass button with scroll progress ring ── */
.cr-top{
  position:fixed; right:26px; bottom:26px; width:52px; height:52px;
  border-radius:50%; z-index:9000;
  display:grid; place-items:center;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(99,102,241,.2);
  box-shadow:0 10px 30px -8px rgba(45,109,246,.45);
  color:var(--ink);
  opacity:0; transform:translateY(18px) scale(.8); pointer-events:none;
  transition:opacity .35s ease, transform .45s var(--ease-spring),
             box-shadow .3s ease, color .3s ease;
}
.cr-top.is-visible{ opacity:1; transform:translateY(0) scale(1); pointer-events:auto; }
.cr-top:hover{ color:var(--violet); box-shadow:var(--glow-violet); }
.cr-top__ring{ position:absolute; inset:0; transform:rotate(-90deg); pointer-events:none; }
.cr-top__bg,.cr-top__fg{ fill:none; stroke-width:3; }
.cr-top__bg{ stroke:rgba(99,102,241,.15); }
.cr-top__fg{ stroke:url(#crTopGrad); stroke-linecap:round; transition:stroke-dashoffset .15s linear; }
@media (max-width:600px){ .cr-top{ right:16px; bottom:16px; width:46px; height:46px; } }

/* ── Hero declutter v3 ─────────────────────────────────────────
   Badge carries the rating (trust row removed), stats lose their
   box, the right column trades 3 big cards for compact chips.    */

/* Badge: friendlier, sentence-case, gold stars */
.hero__badge{
  text-transform:none; letter-spacing:.01em;
  font-size:.78rem; font-weight:600;
  color:var(--gray-700);
  border-color:var(--gray-200);
  padding:8px 16px 8px 13px;
  box-shadow:0 4px 14px rgba(13,20,36,.06);
}
.hero__badge strong{ color:var(--ink); font-weight:800; }
.hero__badge-stars{ color:#f5b800; font-size:.72rem; letter-spacing:2px; flex-shrink:0; }

/* Stats: open strip with gradient numbers instead of a boxed pill */
.hero__mini-stats{
  background:transparent; border:none; box-shadow:none; border-radius:0;
  overflow:visible; max-width:none;
  gap:clamp(20px, 3vw, 38px);
  margin-bottom:0;
}
.hero__mini-stat{
  flex:0 0 auto; padding:0;
  align-items:flex-start;
  border-right:none; border-bottom:none; position:relative;
}
.hero__mini-stat:hover{ background:transparent; }
.hero__mini-stat + .hero__mini-stat::before{
  content:''; position:absolute; top:8%; bottom:8%;
  left:calc(clamp(20px, 3vw, 38px) / -2);
  width:1px; background:var(--gray-300);
}
.hero__mini-stat__number{
  font-size:clamp(1.5rem, 2.2vw, 1.85rem);
  background:var(--grad-text);
  -webkit-background-clip:text; background-clip:text;
  color:transparent; -webkit-text-fill-color:transparent;
}
.hero__mini-stat__number em{ font-size:1.05rem; }
.hero__mini-stat__label{ font-size:.62rem; margin-top:5px; }

/* Quick-link chips under the dashboard */
.hero__quick{
  display:flex; gap:10px; flex-wrap:wrap; justify-content:center;
  margin-top:6px;
  opacity:0; animation:heroFadeUp .65s .85s both;
}
.hero__quick-chip{
  --accent:#2d6df6;
  display:inline-flex; align-items:center; gap:8px;
  padding:10px 16px; border-radius:100px;
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  border:1px solid var(--gray-200);
  font-size:.8rem; font-weight:700; color:var(--ink);
  box-shadow:0 4px 14px rgba(13,20,36,.06);
  transition:transform .3s var(--ease-spring), box-shadow .3s ease, border-color .3s ease;
}
.hero__quick-chip svg{ color:var(--accent); flex-shrink:0; }
.hero__quick-chip em{
  font-style:normal; font-weight:800; color:var(--accent);
  opacity:.45; transition:transform .3s var(--ease-spring), opacity .3s ease;
}
.hero__quick-chip:hover{
  transform:translateY(-3px);
  border-color:color-mix(in srgb, var(--accent) 45%, var(--gray-200));
  box-shadow:0 12px 28px color-mix(in srgb, var(--accent) 28%, transparent);
}
.hero__quick-chip:hover em{ transform:translateX(3px); opacity:1; }
.hero__quick-chip--featured{
  background:linear-gradient(135deg, #2d6df6, #a855f7 55%, #ec4899);
  background-size:180% auto;
  color:#fff; border-color:transparent;
  box-shadow:0 8px 22px rgba(168,85,247,.42);
  transition:transform .3s var(--ease-spring), box-shadow .3s ease, background-position .5s ease;
}
.hero__quick-chip--featured svg,
.hero__quick-chip--featured em{ color:#fff; }
.hero__quick-chip--featured:hover{
  background-position:100% center;
  box-shadow:0 14px 32px rgba(168,85,247,.55);
}
@media (max-width:600px){
  .hero__quick-chip{ font-size:.74rem; padding:9px 13px; }
  .hero__mini-stats{ gap:18px; }
}

/* ── Hero dark aurora theme (homepage only) ────────────────────
   Deep navy stage + saturated animated aurora blobs. Typography
   flips to white/glass; the white dashboard becomes the focal pop. */
.page-home .hero{
  background:radial-gradient(120% 90% at 50% 0%, #111b3c 0%, #0a1024 48%, #070b18 100%);
}
.page-home .hero__bg{
  background:
    radial-gradient(44% 56% at 12% 18%, rgba(45,109,246,.50), transparent 70%),
    radial-gradient(38% 48% at 88% 12%, rgba(168,85,247,.42), transparent 70%),
    radial-gradient(50% 56% at 82% 85%, rgba(236,72,153,.30), transparent 70%),
    radial-gradient(42% 48% at 18% 88%, rgba(34,211,238,.28), transparent 70%) !important;
  animation:cr-float 14s ease-in-out infinite alternate;
  filter:saturate(1.15);
}
.page-home .hero__bg-overlay{
  background:
    radial-gradient(60% 50% at 50% 112%, rgba(124,58,237,.28), transparent 70%),
    radial-gradient(ellipse at 50% -20%, rgba(111,160,255,.16), transparent 60%);
}
.page-home .hero__bg-grid{
  background-image:
    linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
}
.page-home .hero__orb--1{ background:radial-gradient(circle, rgba(45,109,246,.55) 0%, rgba(99,102,241,.18) 45%, transparent 70%); }
.page-home .hero__orb--2{ background:radial-gradient(circle, rgba(34,211,238,.38) 0%, transparent 65%); }
.page-home .hero__orb--3{ background:radial-gradient(circle, rgba(168,85,247,.40) 0%, transparent 60%); }
.page-home .hero__orb--4{ background:radial-gradient(circle, rgba(236,72,153,.36) 0%, transparent 60%); }

/* gradient hairline where the dark hero hands over to the light page */
.page-home .hero::after{
  content:''; position:absolute; left:0; right:0; bottom:0; height:1px; z-index:4;
  background:var(--grad-sunset); background-size:300% 100%;
  animation:cr-flow 8s linear infinite; opacity:.8; pointer-events:none;
}

/* Typography flips to white */
.page-home .hero__heading{ color:#fff; }
.page-home .hero__word-cycler span{
  /* longhand only - the `background` shorthand would reset background-clip:text */
  background-image:linear-gradient(120deg, #6fa0ff 0%, #b78cff 50%, #ff8ac2 100%);
}
.page-home .hero__subheading{ color:rgba(255,255,255,.72); }

/* Badge: dark glass */
.page-home .hero__badge{
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.16);
  color:rgba(255,255,255,.85);
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  box-shadow:0 8px 26px rgba(0,0,0,.35);
}
.page-home .hero__badge strong{ color:#fff; }
.page-home .hero__badge-shine{
  background:linear-gradient(105deg, transparent 20%, rgba(255,255,255,.14) 50%, transparent 80%);
}

/* Outline CTA: glass */
.page-home .hero__cta-outline{
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.28);
  color:#fff;
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
}
.page-home .hero__cta-outline:hover{
  background:rgba(255,255,255,.14);
  border-color:rgba(255,255,255,.55);
  color:#fff;
  box-shadow:0 10px 26px rgba(45,109,246,.30);
}

/* CTAs are the last block in the left column now - no trailing gap */
.page-home .hero__actions{ margin-bottom:0; }

/* Quick chips: colorful gradient tiles, one accent per service */
.page-home .hero__quick-chip{
  --c1:#2d6df6; --c2:#22d3ee;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:8px; padding:13px 8px 11px;
  border-radius:16px;
  background:linear-gradient(165deg,
    color-mix(in srgb, var(--c1) 20%, rgba(255,255,255,.03)),
    rgba(255,255,255,.03) 72%);
  border:1px solid color-mix(in srgb, var(--c1) 38%, rgba(255,255,255,.10));
  color:#fff;
  box-shadow:0 10px 26px rgba(0,0,0,.35);
}
.page-home .hero__quick-chip__ic{
  width:30px; height:30px; border-radius:10px; flex-shrink:0;
  display:grid; place-items:center; color:#fff;
  background:linear-gradient(135deg, var(--c1), var(--c2));
  box-shadow:0 6px 16px -4px var(--c1);
  transition:transform .3s var(--ease-spring);
}
.page-home .hero__quick-chip__label{ white-space:nowrap; letter-spacing:.01em; }
.page-home .hero__quick-chip:hover{
  transform:translateY(-4px);
  border-color:color-mix(in srgb, var(--c1) 75%, #fff);
  box-shadow:0 16px 36px -6px color-mix(in srgb, var(--c1) 55%, transparent);
}
.page-home .hero__quick-chip:hover .hero__quick-chip__ic{
  transform:scale(1.12) rotate(-6deg);
}
.page-home .hero__quick-chip--featured{
  background:linear-gradient(165deg, rgba(168,85,247,.38), rgba(236,72,153,.18) 80%);
  border-color:rgba(196,123,255,.55);
  box-shadow:0 12px 30px -4px rgba(168,85,247,.45);
}

/* Background: swap the checkered grid for a faint dot matrix */
.page-home .hero__bg-grid{
  background-image:radial-gradient(rgba(255,255,255,.13) 1px, transparent 1.5px);
  background-size:30px 30px;
}

/* Dashboard: dark glass with violet halo */
.page-home .hero__dashboard{
  background:linear-gradient(160deg, rgba(22,30,60,.92), rgba(12,17,38,.90));
  border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
  box-shadow:
    0 40px 90px rgba(0,0,0,.55),
    inset 0 1px 0 rgba(255,255,255,.10),
    0 0 90px -18px rgba(124,58,237,.55);
}
.page-home .hero__dash-bar{ border-bottom-color:rgba(255,255,255,.09); }
.page-home .hero__dash-title{ color:rgba(255,255,255,.8); }

/* Headline KPI */
.hero__dash-kpi{ padding:2px 4px 12px; }
.hero__dash-kpi__label{
  display:block; font-size:.62rem; font-weight:600;
  text-transform:uppercase; letter-spacing:.09em;
  color:rgba(255,255,255,.45); margin-bottom:4px;
}
.hero__dash-kpi__row{ display:flex; align-items:baseline; gap:10px; }
.hero__dash-kpi__value{
  font-size:2.1rem; font-weight:900; letter-spacing:-.03em; line-height:1;
  background:linear-gradient(120deg, #fff 30%, #b9ccff);
  -webkit-background-clip:text; background-clip:text;
  color:transparent; -webkit-text-fill-color:transparent;
}
.hero__dash-kpi__delta{
  font-size:.78rem; font-weight:800; color:#34d399;
  background:rgba(52,211,153,.12);
  border:1px solid rgba(52,211,153,.3);
  padding:3px 9px; border-radius:100px;
}

/* Area chart: gradient line draws itself, area fades in */
.hero__dash-graph{ position:relative; padding:4px 4px 0; }
.hero__dash-graph svg{ display:block; width:100%; height:130px; }
.hero__dash-line{
  stroke-dasharray:100; stroke-dashoffset:100;
  animation:crDashDraw 1.7s cubic-bezier(.65,0,.3,1) .9s forwards;
  filter:drop-shadow(0 0 7px rgba(111,160,255,.6));
}
.hero__dash-area{ opacity:0; animation:crFadeIn .9s ease 1.7s forwards; }
@keyframes crDashDraw{ to{ stroke-dashoffset:0; } }
@keyframes crFadeIn{ to{ opacity:1; } }
.hero__dash-graph-dot{
  position:absolute; top:calc(9% - 5px); right:-1px;
  width:10px; height:10px; border-radius:50%;
  background:#ec4899; box-shadow:0 0 0 4px rgba(236,72,153,.25), 0 0 14px #ec4899;
  opacity:0; animation:crFadeIn .4s ease 2.4s forwards, badgePulse 2s ease-in-out 2.4s infinite;
}
.hero__dash-graph-labels{ display:flex; justify-content:space-between; padding:6px 4px 0; }
.hero__dash-graph-labels span{ font-size:.56rem; color:rgba(255,255,255,.35); letter-spacing:.04em; }

/* Metric tiles sit last now */
.page-home .hero__dash-metrics{ margin-bottom:0; margin-top:12px; }

/* Floating glass badges around the dashboard */
.hero__float-card{
  position:absolute; z-index:6;
  display:inline-flex; align-items:center; gap:8px;
  padding:9px 14px; border-radius:14px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.22);
  backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
  color:#fff; font-size:.72rem; font-weight:600;
  box-shadow:0 14px 34px rgba(0,0,0,.45);
  pointer-events:none; white-space:nowrap;
}
.hero__float-card strong{ font-weight:800; }
.hero__float-card__ic{
  width:24px; height:24px; border-radius:8px; flex-shrink:0;
  display:grid; place-items:center; color:#fff;
}
.hero__float-card--a .hero__float-card__ic{
  background:linear-gradient(135deg, #2d6df6, #22d3ee);
  box-shadow:0 4px 12px rgba(45,109,246,.55);
}
.hero__float-card--b .hero__float-card__ic{
  background:linear-gradient(135deg, #a855f7, #ec4899);
  box-shadow:0 4px 12px rgba(168,85,247,.55);
}
.hero__float-card--a{
  top:-30px; right:-14px;
  animation:crFloatY 5s ease-in-out infinite alternate, heroFadeUp .6s 1.2s both;
}
.hero__float-card--b{
  top:56%; left:-30px;
  animation:crFloatY 6s ease-in-out 2.4s infinite alternate, heroFadeUp .6s 1.45s both;
}
@keyframes crFloatY{ from{ transform:translateY(0); } to{ transform:translateY(-10px); } }
@media (max-width:1100px){ .hero__float-card{ display:none; } }

/* Quick chips: tidy 3-up grid under the card */
.page-home .hero__quick{
  display:grid; grid-template-columns:repeat(3, 1fr);
  gap:10px; margin-top:14px;
}
.page-home .hero__quick-chip{
  justify-content:center; padding:11px 8px;
  font-size:.74rem; border-radius:14px;
}
.page-home .hero__quick-chip em{ display:none; }
@media (max-width:600px){
  .page-home .hero__quick{ gap:8px; }
  .page-home .hero__quick-chip__label{ font-size:.62rem; }
}

/* ════════════════════════════════════════════════════════════
   HERO v3 - premium dark-stage refinement (homepage only)
   • deeper, more cinematic background + top spotlight + vignette
   • the four service cards become glassmorphic tiles that sit ON
     the dark stage instead of floating as flat white cards
════════════════════════════════════════════════════════════ */

/* Deeper cinematic stage: tight top spotlight fading to near-black */
.page-home .hero{
  background:radial-gradient(130% 105% at 50% -10%, #18244f 0%, #0c1330 46%, #05080f 100%);
}
/* Soft vignette + floor glow - sits above the bg layers, below content */
.page-home .hero::before{
  content:''; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    radial-gradient(75% 55% at 50% 118%, rgba(124,58,237,.22), transparent 70%),
    radial-gradient(120% 120% at 50% 50%, transparent 55%, rgba(3,5,12,.55) 100%);
}

/* Brighter, livelier orbs against the deeper stage */
.page-home .hero__orb--1{ background:radial-gradient(circle, rgba(45,109,246,.62) 0%, rgba(99,102,241,.20) 45%, transparent 70%); }
.page-home .hero__orb--3{ background:radial-gradient(circle, rgba(168,85,247,.46) 0%, transparent 60%); }

/* A touch of glow on the rotating accent word */
.page-home .hero__word-cycler span{
  filter:drop-shadow(0 4px 22px rgba(124,92,255,.35));
}

/* ── Service deck → dark glassmorphism ─────────────────────── */
.page-home .hero__svc{
  color:#fff;
  border:1px solid color-mix(in srgb, var(--accent) 30%, rgba(255,255,255,.10));
  background:
    linear-gradient(160deg, color-mix(in srgb, var(--accent) 17%, rgba(20,28,55,.72)), rgba(11,16,36,.66) 72%) padding-box,
    linear-gradient(150deg, color-mix(in srgb, var(--accent) 42%, rgba(255,255,255,.06)), rgba(255,255,255,.04)) border-box;
  backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
  box-shadow:0 22px 52px rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.08);
}
.page-home .hero__svc-text strong{ color:#fff; }
.page-home .hero__svc-text em{ color:rgba(255,255,255,.62); }
.page-home .hero__svc-num{ color:color-mix(in srgb, var(--accent) 65%, #fff); }
.page-home .hero__svc-ring{
  background:radial-gradient(120% 90% at 85% 0%, color-mix(in srgb, var(--accent) 34%, transparent), transparent 60%);
}
.page-home .hero__svc-sheen{
  background:linear-gradient(105deg, transparent 25%, rgba(255,255,255,.16) 50%, transparent 75%);
}
.page-home .hero__svc-go{
  background:color-mix(in srgb, var(--accent) 24%, rgba(255,255,255,.06));
  color:#fff;
}

/* Spotlit / hover - light up the gradient border + accent halo */
.page-home .hero__svc.is-spot,
.page-home .hero__svc:hover{
  background:
    linear-gradient(160deg, color-mix(in srgb, var(--accent) 26%, rgba(20,28,55,.80)), rgba(11,16,36,.70) 72%) padding-box,
    linear-gradient(135deg, var(--accent), var(--accent2)) border-box;
  box-shadow:0 30px 72px color-mix(in srgb, var(--accent) 40%, rgba(0,0,0,.55));
}

/* Featured card: a slightly richer violet glass */
.page-home .hero__svc--featured{
  background:
    linear-gradient(160deg, color-mix(in srgb, var(--accent) 24%, rgba(20,28,55,.74)), rgba(11,16,36,.68) 72%) padding-box,
    linear-gradient(135deg, color-mix(in srgb, var(--accent) 62%, rgba(255,255,255,.10)), rgba(255,255,255,.05)) border-box;
}

/* Floating chips → match the dark glass language */
.page-home .hero__deck-chip{
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.16);
  color:rgba(255,255,255,.78);
  box-shadow:0 14px 34px rgba(0,0,0,.45);
}
.page-home .hero__deck-chip strong{ color:#fff; }
.page-home .hero__deck-chip .hero__avatars i{ border-color:rgba(255,255,255,.18); }

/* ── Reviews v2: platform strip + richer cards ── */
.reviews-platforms{
  display:flex; justify-content:center; align-items:center;
  gap:14px; flex-wrap:wrap; margin:26px 0 42px;
}
.reviews-platform{
  display:inline-flex; align-items:center; gap:8px;
  background:#fff; border:1px solid var(--gray-200);
  border-radius:100px; padding:8px 18px;
  font-size:.8rem; font-weight:600; color:var(--gray-700);
  box-shadow:0 4px 14px rgba(13,20,36,.05);
  transition:transform .3s var(--ease-spring), box-shadow .3s ease, border-color .3s ease;
}
.reviews-platform:hover{
  transform:translateY(-3px);
  border-color:rgba(99,102,241,.4);
  box-shadow:0 12px 26px rgba(99,102,241,.18);
}
.reviews-platform svg{ width:18px; height:18px; flex-shrink:0; }
.reviews-platform strong{ color:var(--ink); font-weight:800; }
.reviews-platform strong::after{ content:' ★'; color:#f5b800; }

.rv-card{ position:relative; overflow:hidden; }
.rv-card::before{
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:var(--grad-vibrant);
  transform:scaleX(0); transform-origin:left;
  transition:transform .45s var(--ease-spring);
}
.rv-card:hover::before{ transform:scaleX(1); }
.rv-card__quote{
  position:absolute; top:0; right:16px; z-index:0;
  font-family:Georgia, 'Times New Roman', serif;
  font-size:4.8rem; line-height:1.1; font-weight:700;
  color:rgba(45,109,246,.10);
  pointer-events:none; user-select:none;
}
.rv-card__top{ position:relative; z-index:1; }
.rv-card__id{ display:flex; flex-direction:column; gap:3px; }
.rv-card__stars{ color:#f5b800; font-size:.64rem; letter-spacing:2.5px; line-height:1; }
.rv-card__avatar{
  padding:2px; border-radius:50%;
  background:linear-gradient(135deg, #2d6df6, #a855f7, #ec4899);
}
.rv-card__top .rv-card__platform{ margin-left:auto; margin-top:0; }
.rv-card__top .rv-card__platform svg{ width:20px; height:20px; }

/* ── Industries v2: dual-direction marquee of accent pills ── */
.ind-marquee{
  display:flex; flex-direction:column; gap:16px;
  margin-top:10px;
}
.ind-marquee__row{
  overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
          mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.ind-marquee__track{
  display:flex; width:max-content;
  padding:8px 0;
  animation:indScroll 32s linear infinite;
}
.ind-marquee__row--reverse .ind-marquee__track{ animation-direction:reverse; }
.ind-marquee__row:hover .ind-marquee__track{ animation-play-state:paused; }
.ind-marquee__group{
  display:flex; gap:14px; padding-right:14px; flex-shrink:0;
}
@keyframes indScroll{ to{ transform:translateX(-50%); } }

/* Pills: accent-coloured icon bubble + tinted hover */
.ind-marquee .industry-pill{
  --pc:#2d6df6;
  flex-shrink:0; gap:10px;
  padding:9px 20px 9px 10px;
  border:1.5px solid var(--gray-200);
  font-weight:600;
}
.industry-pill__ic{
  width:28px; height:28px; border-radius:9px; flex-shrink:0;
  display:grid; place-items:center;
  background:color-mix(in srgb, var(--pc) 13%, #fff);
  color:var(--pc);
  transition:background .25s ease, color .25s ease, transform .3s var(--ease-spring);
}
.ind-marquee .industry-pill:hover{
  background:#fff; color:var(--ink);
  border-color:color-mix(in srgb, var(--pc) 55%, var(--gray-200));
  transform:translateY(-3px);
  box-shadow:0 12px 26px -6px color-mix(in srgb, var(--pc) 45%, transparent);
}
.ind-marquee .industry-pill:hover svg{ color:#fff; }
.ind-marquee .industry-pill:hover .industry-pill__ic{
  background:var(--pc); color:#fff;
  transform:scale(1.1) rotate(-6deg);
}

/* ── Navbar polish: balanced spacing + optimised colours ── */
.nav-container{ gap:20px; }
.nav-links{ gap:6px; justify-content:center; }
.nav-links a{
  font-size:.875rem; font-weight:600;
  padding:8px 14px;
  color:#414b5e;
}
.nav-links a.active{ color:var(--blue); }
.nav-chevron{ opacity:.45; }

/* Creators Zone pill: vivid brand gradient instead of washed pastels */
.nav-links .nav-link--creators{
  background:linear-gradient(120deg, #2d6df6, #7c3aed 35%, #ec4899 70%, #2d6df6);
  background-size:300% 100%;
  text-shadow:none;
  padding:8px 20px !important;
  border-radius:100px;   /* match the round "Get in touch" pill (beats .nav-links a's 4px) */
  box-shadow:0 4px 16px rgba(124,58,237,.40);
}
.nav-links a.nav-link--creators::after{ content:none; }
.nav-links .nav-link--creators:hover{
  color:#fff !important;
  transform:translateY(-1px);
  box-shadow:0 6px 22px rgba(124,58,237,.55);
}

/* CTA matches the pill language */
.nav-cta.btn{ border-radius:100px; padding:9px 22px; }
@media (prefers-reduced-motion: reduce){
  .cr-cursor-dot,.cr-cursor-ring{ display:none; }
  body.cr-cursor, body.cr-cursor *{ cursor:auto !important; }
  .site-header{ animation:none; }
  [data-animate="fade-up"],
  [data-animate="fade-left"],
  [data-animate="fade-right"]{ filter:none; transition:none; opacity:1; transform:none; }
  [data-animate]:not(.is-animated) .industry-pill{ opacity:1; }
  [data-animate].is-animated .industry-pill,
  .nav-item--dropdown:hover .nav-dd-item,
  .nav-dropdown.is-open .nav-dd-item{ animation:none; }
  .cr-split .cr-w__in{ transform:none; transition:none; }
  .nav-progress{ animation:none; }
  /* chart renders fully drawn when its animations are disabled */
  .hero__dash-line{ stroke-dashoffset:0; }
  .hero__dash-area, .hero__dash-graph-dot{ opacity:1; }
  /* industries marquee falls back to a static centred wrap */
  .ind-marquee__track{ animation:none; width:auto; }
  .ind-marquee__group{ flex-wrap:wrap; justify-content:center; }
  .ind-marquee__group[aria-hidden="true"]{ display:none; }
}

/* ── Brand nav logo (inline icon + Poppins wordmark) ───────────── */
.nav-logo{ gap:11px; text-decoration:none; }
.nav-logo__mark{ height:44px; width:44px; display:block; flex-shrink:0;
  transition:transform .45s var(--ease-spring), filter .35s ease; }
.nav-logo:hover .nav-logo__mark{ transform:scale(1.06) rotate(-2deg);
  filter:drop-shadow(0 6px 14px rgba(124,92,255,.40)); }
.nav-logo__word{ font-family:'Poppins','Inter',sans-serif; font-weight:500;
  font-size:1.4rem; letter-spacing:-.04em; color:#1b1b2e; line-height:1; white-space:nowrap; }
.nav-logo__word b{ font-weight:700; }
@media (max-width:768px){
  .nav-logo__mark{ height:38px; width:38px; }
  .nav-logo__word{ font-size:1.2rem; }
}

/* ── Industries: premium responsive tile grid (replaces marquee) ── */
.industries-strip__header{ text-align:center; margin-bottom:48px; }
.ind-grid{
  display:grid; grid-template-columns:repeat(6, 1fr); gap:16px;
}
.ind-tile{
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px;
  padding:30px 16px; background:#fff;
  border:1px solid var(--gray-200); border-radius:18px; text-align:center; cursor:default;
  transition:transform .4s var(--ease-spring), box-shadow .4s ease, border-color .4s ease;
}
.ind-tile:hover{
  transform:translateY(-6px);
  border-color:color-mix(in srgb, var(--pc) 45%, var(--gray-200));
  box-shadow:0 20px 42px -14px color-mix(in srgb, var(--pc) 50%, transparent);
}
.ind-tile__ic{
  width:56px; height:56px; border-radius:15px; flex-shrink:0;
  display:grid; place-items:center;
  color:var(--pc); background:color-mix(in srgb, var(--pc) 13%, #fff);
  transition:transform .4s var(--ease-spring), background .35s ease, color .35s ease;
}
.ind-tile:hover .ind-tile__ic{
  background:var(--pc); color:#fff; transform:scale(1.08) rotate(-5deg);
  box-shadow:0 10px 22px -6px color-mix(in srgb, var(--pc) 60%, transparent);
}
.ind-tile__label{ font-size:.92rem; font-weight:600; color:var(--ink); letter-spacing:-.01em; line-height:1.3; }
@media (max-width:1080px){ .ind-grid{ grid-template-columns:repeat(4, 1fr); } }
@media (max-width:720px){ .ind-grid{ grid-template-columns:repeat(3, 1fr); gap:12px; } .ind-tile{ padding:24px 10px; } .ind-tile__ic{ width:48px; height:48px; } }
@media (max-width:440px){ .ind-grid{ grid-template-columns:repeat(2, 1fr); } }

/* ── Industries grid - refined v2 (gradient chips, accent bar, hover) ── */
.industries-strip__header .section-subheading{ max-width:600px; margin:14px auto 0; color:var(--gray-500); }
.ind-grid{ gap:18px; }
.ind-tile{ position:relative; overflow:hidden; padding:32px 16px; }
.ind-tile::before{
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg, var(--pc), color-mix(in srgb, var(--pc) 45%, #fff));
  transform:scaleX(0); transform-origin:left; transition:transform .45s var(--ease-spring);
}
.ind-tile:hover::before{ transform:scaleX(1); }
.ind-tile__ic{
  background:linear-gradient(140deg, color-mix(in srgb, var(--pc) 20%, #fff), color-mix(in srgb, var(--pc) 7%, #fff)) !important;
  border:1px solid color-mix(in srgb, var(--pc) 24%, #fff);
}
.ind-tile:hover .ind-tile__ic{
  background:linear-gradient(140deg, var(--pc), color-mix(in srgb, var(--pc) 68%, #000)) !important;
  border-color:transparent;
}
.ind-tile__label{ transition:color .3s ease; }
.ind-tile:hover .ind-tile__label{ color:var(--pc); }

/* Fix: the top-nav animated underline (.nav-links a::after) leaks onto links
   inside the mega-dropdown (they're descendants of .nav-links) and draws a
   gradient line across them on hover. Suppress it within the dropdown. */
.nav-dropdown a::after{ content:none !important; display:none !important; }

/* ── Testimonials carousel (Customer Stories) - premium dark stage ── */
.tcr{
  position:relative; isolation:isolate; margin-top:56px; overflow:hidden;
  /* break the dark patch out toward the viewport edges (keeping a small gutter)... */
  margin-inline:calc(50% - 50vw + clamp(16px,3vw,48px));
  padding:46px clamp(20px,4vw,52px) 40px;
  /* ...then pad the inline edges back by the same amount so the CONTENT stays put */
  padding-inline:calc(clamp(20px,4vw,52px) + 50vw - 50% - clamp(16px,3vw,48px));
  border-radius:34px;
  background:radial-gradient(130% 120% at 12% 0%, #1c2b58 0%, #111a36 48%, #0b1024 100%);
  box-shadow:0 40px 100px -44px rgba(11,16,36,.75), inset 0 1px 0 rgba(255,255,255,.07);
}
/* faint grid texture, masked toward the top */
.tcr::before{
  content:''; position:absolute; inset:0; z-index:0; pointer-events:none; opacity:.5;
  background-image:
    linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size:48px 48px;
  -webkit-mask-image:radial-gradient(ellipse 85% 75% at 50% 0%, #000 32%, transparent 100%);
          mask-image:radial-gradient(ellipse 85% 75% at 50% 0%, #000 32%, transparent 100%);
}
/* floating colour auras */
.tcr__aura{ position:absolute; inset:0; z-index:0; pointer-events:none; overflow:hidden; }
.tcr__aura::before, .tcr__aura::after{
  content:''; position:absolute; border-radius:50%; filter:blur(72px); opacity:.5;
}
.tcr__aura::before{ width:340px; height:340px; top:-130px; left:-70px;
  background:radial-gradient(circle, #2d6df6, transparent 70%); animation:tcrFloat 16s ease-in-out infinite alternate; }
.tcr__aura::after{ width:300px; height:300px; bottom:-140px; right:-50px;
  background:radial-gradient(circle, #a855f7, transparent 70%); animation:tcrFloat 19s ease-in-out infinite alternate-reverse; }
@keyframes tcrFloat{ to{ transform:translate(46px, 34px) scale(1.16); } }

.tcr__head{ position:relative; z-index:1; display:flex; justify-content:space-between; align-items:flex-end; gap:24px; flex-wrap:wrap; }
.tcr__tag{ color:#8ab6f9 !important; }
.tcr__title{ font-size:clamp(2rem,4.6vw,3.2rem); font-weight:900; letter-spacing:-.03em; line-height:1.05; color:#fff; }
.tcr__title-grad{ background:var(--grad-vibrant); -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-text-fill-color:transparent; }
.tcr__head-right{ max-width:380px; }
.tcr__sub{ color:rgba(255,255,255,.66); font-size:.98rem; line-height:1.6; margin-bottom:14px; }
.tcr__pills{ display:flex; gap:8px; flex-wrap:wrap; }
.tcr__pill{ display:inline-flex; align-items:center; gap:6px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); border-radius:100px; padding:7px 14px; font-size:.78rem; font-weight:600; color:rgba(255,255,255,.82); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); }
.tcr__pill strong{ color:#8ab6f9; font-weight:800; }

.tcr__nav{ position:relative; z-index:1; display:flex; gap:10px; margin:22px 0; }
.tcr__arrow{ width:48px; height:48px; border-radius:50%; border:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.07); color:#fff; display:grid; place-items:center; cursor:pointer; backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); transition:transform .3s var(--ease-spring), background .25s ease, border-color .25s ease, box-shadow .25s ease; }
.tcr__arrow svg{ width:18px; height:18px; }
.tcr__arrow:hover{ background:var(--grad-vibrant); border-color:transparent; transform:translateY(-3px) scale(1.06); box-shadow:0 16px 32px -12px rgba(45,109,246,.65); }
.tcr__arrow:active{ transform:translateY(-1px) scale(.98); }
.tcr__arrow:disabled{ opacity:.32; cursor:default; transform:none; box-shadow:none; background:rgba(255,255,255,.05); }

.tcr__track{ position:relative; z-index:1; display:flex; gap:22px; overflow-x:auto; scroll-snap-type:x mandatory; padding:8px 2px 22px; scrollbar-width:none; -ms-overflow-style:none; cursor:grab; }
.tcr__track::-webkit-scrollbar{ display:none; }
.tcr__track.is-dragging{ cursor:grabbing; scroll-snap-type:none; scroll-behavior:auto; }
.tcr__track.is-dragging .tcr__card{ pointer-events:none; }

.tcr__card{ flex:0 0 calc(33.333% - 15px); min-width:0; scroll-snap-align:start; position:relative; overflow:hidden;
  display:flex; flex-direction:column;
  background:linear-gradient(165deg, rgba(255,255,255,.10), rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.12); border-radius:22px; padding:32px 30px 30px;
  box-shadow:0 22px 52px -26px rgba(0,0,0,.62), inset 0 1px 0 rgba(255,255,255,.12);
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  transition:transform .42s var(--ease-spring), box-shadow .42s ease, border-color .42s ease; }
/* gradient accent line across the top of each card */
.tcr__card::after{ content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg, var(--c1), var(--c2)); }
/* light sweep on hover */
.tcr__card::before{ content:''; position:absolute; top:0; left:-130%; width:60%; height:100%; z-index:3; pointer-events:none;
  background:linear-gradient(105deg, transparent 20%, rgba(255,255,255,.14) 50%, transparent 80%);
  transform:skewX(-18deg); transition:left .8s ease; }
.tcr__card:hover::before{ left:155%; }
.tcr__card:hover{ transform:translateY(-8px) scale(1.015); border-color:rgba(255,255,255,.24);
  box-shadow:0 36px 72px -26px color-mix(in srgb, var(--c2) 58%, #000), inset 0 1px 0 rgba(255,255,255,.2); }

/* big watermark quote glyph */
.tcr__mark{ position:absolute; top:2px; right:20px; z-index:0; pointer-events:none;
  font-family:Georgia, "Times New Roman", serif; font-size:7rem; line-height:1; font-weight:900;
  background:linear-gradient(135deg, var(--c1), var(--c2)); -webkit-background-clip:text; background-clip:text;
  color:transparent; -webkit-text-fill-color:transparent; opacity:.22; }

.tcr__stars{ position:relative; z-index:1; color:#fbbf24; letter-spacing:3px; font-size:.98rem; margin-bottom:16px; text-shadow:0 0 14px rgba(251,191,36,.45); }
.tcr__quote{ position:relative; z-index:1; color:rgba(255,255,255,.86); font-size:1rem; line-height:1.72; flex:1; margin:0; }
.tcr__person{ position:relative; z-index:1; display:flex; align-items:center; gap:13px; margin-top:24px; padding-top:20px; border-top:1px solid rgba(255,255,255,.12); }
.tcr__avatar{ position:relative; z-index:1; width:48px; height:48px; border-radius:50%; flex-shrink:0; display:grid; place-items:center;
  font-weight:800; font-size:1rem; color:#fff; letter-spacing:.02em;
  background:linear-gradient(135deg, var(--c1), var(--c2)); box-shadow:0 6px 18px -6px var(--c2); }
/* animated conic ring that lights up on hover */
.tcr__avatar::before{ content:''; position:absolute; inset:-3px; border-radius:50%; z-index:-1;
  background:conic-gradient(from 0deg, var(--c1), var(--c2), var(--c1)); opacity:0;
  transition:opacity .4s ease; animation:tcrSpin 5s linear infinite; }
.tcr__card:hover .tcr__avatar::before{ opacity:.95; }
@keyframes tcrSpin{ to{ transform:rotate(360deg); } }
.tcr__name{ display:flex; align-items:center; gap:6px; font-weight:700; color:#fff; font-size:.98rem; letter-spacing:-.01em; }
.tcr__verified{ display:inline-grid; place-items:center; color:#4ea1ff; flex-shrink:0; }
.tcr__verified svg{ width:15px; height:15px; }
.tcr__role{ font-size:.82rem; color:rgba(255,255,255,.55); margin-top:2px; }

.tcr__dots{ position:relative; z-index:1; display:flex; justify-content:center; gap:8px; margin-top:6px; }
.tcr__dot{ width:8px; height:8px; padding:0; border:none; border-radius:50%; background:rgba(255,255,255,.25); cursor:pointer; transition:width .35s var(--ease-spring), background .3s ease; }
.tcr__dot:hover{ background:rgba(255,255,255,.5); }
.tcr__dot.is-active{ width:26px; border-radius:100px; background:var(--grad-vibrant); }

@media (max-width:900px){ .tcr__card{ flex:0 0 calc(50% - 11px); } .tcr__head{ align-items:flex-start; } }
@media (max-width:600px){ .tcr{ border-radius:26px; padding:38px 18px 30px; } .tcr__card{ flex:0 0 86%; padding:28px 24px; } }
@media (prefers-reduced-motion: reduce){
  .tcr__aura::before, .tcr__aura::after, .tcr__avatar::before{ animation:none; }
  .tcr__card, .tcr__card::before, .tcr__arrow{ transition:none; }
}

/* ── Industries - colorful gradient cards (v3) ── */
.ind-grid{ grid-template-columns:repeat(3, 1fr) !important; gap:18px; }
.ind-tile{
  position:relative; overflow:hidden; align-items:flex-start; text-align:left;
  gap:14px; padding:30px 26px; min-height:196px; cursor:default;
  border:none !important; border-radius:22px; color:#fff;
  background:linear-gradient(150deg, var(--pc) 0%, color-mix(in srgb, var(--pc) 52%, #161029) 100%) !important;
  box-shadow:0 16px 38px -16px color-mix(in srgb, var(--pc) 78%, transparent) !important;
}
.ind-tile::before{ display:none !important; }   /* drop the old top accent bar */
.ind-tile::after{ content:''; position:absolute; right:-30px; top:-30px; width:130px; height:130px;
  border-radius:50%; background:rgba(255,255,255,.12); pointer-events:none; }
.ind-tile:hover{
  transform:translateY(-7px) !important; border-color:transparent !important;
  box-shadow:0 28px 56px -18px color-mix(in srgb, var(--pc) 82%, transparent) !important;
}
.ind-tile__ic{
  position:relative; z-index:1; width:54px; height:54px; border-radius:14px;
  background:rgba(255,255,255,.18) !important; border:1px solid rgba(255,255,255,.30) !important;
  color:#fff !important; backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px);
}
.ind-tile:hover .ind-tile__ic{ background:rgba(255,255,255,.28) !important; color:#fff !important; transform:scale(1.06) rotate(-4deg); }
.ind-tile__ic svg{ width:26px; height:26px; }
.ind-tile__label{ position:relative; z-index:1; font-size:1.2rem; font-weight:800; color:#fff !important; line-height:1.2; letter-spacing:-.01em; }
.ind-tile__desc{ position:relative; z-index:1; margin:0; font-size:.9rem; line-height:1.55; color:rgba(255,255,255,.86); }
@media (max-width:1024px){ .ind-grid{ grid-template-columns:repeat(2, 1fr) !important; } }
@media (max-width:600px){ .ind-grid{ grid-template-columns:1fr !important; } .ind-tile{ min-height:auto; } }

/* ── Industries - "wow" dark stage + glowing cards (v4) ── */
.page-home .industries-strip{
  background:radial-gradient(120% 100% at 50% 0%, #1b2750 0%, #0e1730 52%, #0a0f20 100%) !important;
  position:relative; overflow:hidden;
  border-radius:32px 32px 0 0;
  box-shadow:0 -24px 60px -28px rgba(14,23,48,.55);
}
/* soft glowing edge so the dark stage reads as intentional, not bleeding */
.page-home .industries-strip::after{
  content:''; position:absolute; top:0; left:50%; transform:translateX(-50%);
  width:min(560px,70%); height:2px; z-index:2; pointer-events:none;
  background:linear-gradient(90deg, transparent, rgba(138,182,249,.85), transparent);
}
@media (max-width:600px){ .page-home .industries-strip{ border-radius:24px 24px 0 0; } }
.page-home .industries-strip::before{
  content:''; position:absolute; inset:0; pointer-events:none; opacity:.55; z-index:0;
  background-image:
    linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size:46px 46px;
  -webkit-mask-image:radial-gradient(ellipse 85% 70% at 50% 28%, #000 35%, transparent 100%);
          mask-image:radial-gradient(ellipse 85% 70% at 50% 28%, #000 35%, transparent 100%);
}
.page-home .industries-strip .container{ position:relative; z-index:1; }
.page-home .industries-strip .section-heading{ color:#fff; }
.page-home .industries-strip .section-subheading{ color:rgba(255,255,255,.62); }
.page-home .industries-strip .section-tag{ color:#8ab6f9; }

/* Cards glow on the dark stage + light-sweep on hover */
.page-home .ind-tile{
  box-shadow:0 18px 46px -16px color-mix(in srgb, var(--pc) 85%, transparent),
             inset 0 1px 0 rgba(255,255,255,.18) !important;
}
.page-home .ind-tile::before{
  content:'' !important; display:block !important;
  position:absolute; top:0; left:-120%; width:55%; height:100%; z-index:0; pointer-events:none;
  background:linear-gradient(105deg, transparent 18%, rgba(255,255,255,.32) 50%, transparent 82%);
  transform:skewX(-18deg); transition:left .75s ease;
}
.page-home .ind-tile:hover::before{ left:145%; }
.page-home .ind-tile:hover{
  transform:translateY(-8px) scale(1.015) !important;
  box-shadow:0 32px 66px -18px color-mix(in srgb, var(--pc) 92%, transparent),
             inset 0 1px 0 rgba(255,255,255,.25) !important;
}

/* ── Industries - single-row auto-scrolling vertical cards ── */
.ind-rail{ position:relative; overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent); }
.ind-rail__track{ display:flex; width:max-content; animation:indRail 45s linear infinite; }
.ind-rail:hover .ind-rail__track{ animation-play-state:paused; }
.ind-rail__group{ display:flex; gap:20px; padding-right:20px; }
@keyframes indRail{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
/* vertical (portrait) cards */
.ind-rail .ind-tile{ flex:0 0 250px; width:250px; min-height:310px; margin:0; }
@media (prefers-reduced-motion: reduce){
  .ind-rail{ overflow-x:auto; }
  .ind-rail__track{ animation:none; }
}
@media (max-width:600px){ .ind-rail .ind-tile{ flex:0 0 220px; width:220px; min-height:280px; } }

/* ══════════════════════════════════════════════════════════════
   HERO - extra "wow" layers (aurora halo, sparkles, social proof)
══════════════════════════════════════════════════════════════ */
/* Rotating conic aurora glow behind the dashboard */
.hero__halo{
  position:absolute; z-index:0; pointer-events:none;
  top:48%; left:50%; width:128%; aspect-ratio:1;
  transform:translate(-50%,-50%); border-radius:50%;
  background:conic-gradient(from 0deg,
    rgba(45,109,246,0),  rgba(45,109,246,.30),
    rgba(111,205,179,.24), rgba(168,85,247,.26),
    rgba(236,72,153,.20), rgba(45,109,246,0));
  filter:blur(48px); opacity:.7;
  animation:heroHaloSpin 20s linear infinite;
}
@keyframes heroHaloSpin{ to{ transform:translate(-50%,-50%) rotate(360deg); } }

/* keep the dashboard + chips above the halo */
.hero__dashboard{ position:relative; z-index:2; }

/* Twinkling sparkle accents */
.hero__spark{
  position:absolute; z-index:1; pointer-events:none;
  width:14px; height:14px; opacity:0;
  background:
    radial-gradient(circle, #fff 0%, rgba(255,255,255,.6) 18%, transparent 38%);
  filter:drop-shadow(0 0 6px rgba(143,217,192,.9));
  animation:heroSpark 4.5s ease-in-out infinite;
}
.hero__spark::before, .hero__spark::after{
  content:''; position:absolute; inset:0; margin:auto;
  background:linear-gradient(#fff,#fff) no-repeat center/100% 1.5px,
             linear-gradient(#fff,#fff) no-repeat center/1.5px 100%;
}
.hero__spark--1{ top:-22px;  left:18%;  animation-delay:.4s; }
.hero__spark--2{ top:38%;    right:-26px; width:18px; height:18px; animation-delay:1.8s; filter:drop-shadow(0 0 6px rgba(111,160,255,.9)); }
.hero__spark--3{ bottom:6%;  left:-18px; width:11px; height:11px; animation-delay:3s; filter:drop-shadow(0 0 6px rgba(245,200,79,.9)); }
@keyframes heroSpark{
  0%, 100%{ opacity:0; transform:scale(.4) rotate(0deg); }
  50%{ opacity:1; transform:scale(1) rotate(90deg); }
}

/* Third floating card - avatar stack social proof */
.hero__float-card--c{
  bottom:-22px; right:8%;
  animation:crFloatY 5.5s ease-in-out 1.2s infinite alternate, heroFadeUp .6s 1.7s both;
}
.hero__avatars{ display:inline-flex; align-items:center; }
.hero__avatars i{
  width:22px; height:22px; border-radius:50%;
  background:linear-gradient(135deg, color-mix(in srgb, var(--b) 70%, #fff), var(--b));
  border:2px solid rgba(255,255,255,.55);
  margin-left:-8px; box-shadow:0 2px 6px rgba(0,0,0,.35);
}
.hero__avatars i:first-child{ margin-left:0; }

@media (prefers-reduced-motion: reduce){
  .hero__halo, .hero__spark{ animation:none; }
  .hero__spark{ opacity:.7; }
}
@media (max-width:1100px){ .hero__halo{ opacity:.5; } .hero__spark{ display:none; } }

/* ══════════════════════════════════════════════════════════════
   HOMEPAGE LIGHT-SECTION BACKGROUNDS
   Subtle brand ambience (glow blobs + faint grid/dots) so the
   white/near-white sections no longer read as flat empty space.
══════════════════════════════════════════════════════════════ */
.page-home .dash-showcase,
.page-home .why-us,
.page-home .about-split{
  position:relative; overflow:hidden; isolation:isolate;
}
/* lift real content above the decorative layers */
.page-home .dash-showcase > .container,
.page-home .why-us > .container,
.page-home .why-us > .why-cards-v2,
.page-home .about-split > .about-split__inner{
  position:relative; z-index:1;
}

/* ── dash-showcase: blue/teal corner glows + dotted field ── */
.page-home .dash-showcase::before{
  content:''; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(40% 50% at 88% 4%, rgba(45,109,246,.10) 0%, transparent 70%),
    radial-gradient(42% 55% at 6% 94%, rgba(111,205,179,.12) 0%, transparent 70%);
}
.page-home .dash-showcase::after{
  content:''; position:absolute; inset:0; z-index:0; pointer-events:none; opacity:.5;
  background-image:radial-gradient(rgba(45,109,246,.18) 1px, transparent 1px);
  background-size:26px 26px;
  -webkit-mask-image:radial-gradient(ellipse 75% 55% at 50% 32%, #000 0%, transparent 78%);
          mask-image:radial-gradient(ellipse 75% 55% at 50% 32%, #000 0%, transparent 78%);
}

/* ── why-us: soft corner glows + faint blueprint grid up top ── */
.page-home .why-us::before{
  content:''; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(38% 45% at 93% 2%,   rgba(244,121,107,.10) 0%, transparent 70%),
    radial-gradient(40% 50% at 4% 26%,   rgba(45,109,246,.10) 0%, transparent 70%),
    radial-gradient(46% 52% at 50% 106%, rgba(184,154,237,.12) 0%, transparent 70%);
}
.page-home .why-us::after{
  content:''; position:absolute; inset:0; z-index:0; pointer-events:none;
  background-image:
    linear-gradient(rgba(13,20,36,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(13,20,36,.045) 1px, transparent 1px);
  background-size:54px 54px;
  -webkit-mask-image:linear-gradient(180deg, #000 0%, transparent 36%);
          mask-image:linear-gradient(180deg, #000 0%, transparent 36%);
}

/* ── about-split: glow pooling + dots under the stats side ── */
.page-home .about-split::before{
  content:''; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(45% 60% at 20% 22%, rgba(45,109,246,.10) 0%, transparent 70%),
    radial-gradient(40% 55% at 86% 92%, rgba(111,205,179,.10) 0%, transparent 70%);
}
.page-home .about-split::after{
  content:''; position:absolute; inset:0; z-index:0; pointer-events:none; opacity:.45;
  background-image:radial-gradient(rgba(45,109,246,.16) 1px, transparent 1px);
  background-size:28px 28px;
  -webkit-mask-image:radial-gradient(ellipse 55% 75% at 22% 38%, #000 0%, transparent 72%);
          mask-image:radial-gradient(ellipse 55% 75% at 22% 38%, #000 0%, transparent 72%);
}

/* ════════════════════════════════════════════════════════════════
   ✦ HERO "WOW" ENHANCEMENT LAYER
   Appended last so it wins on equal specificity. Scoped to the home
   hero; builds on the existing gradient / glow / easing tokens.
   ════════════════════════════════════════════════════════════════ */

/* ── Deeper, richer stage: a touch more contrast + a vignette so the
   colourful deck and white headline pop off the background ───────── */
.page-home .hero{
  background:
    radial-gradient(120% 90% at 50% 0%, #16224b 0%, #0a1024 46%, #05080f 100%);
}
.page-home .hero__bg-overlay{
  background:
    radial-gradient(60% 50% at 50% 116%, rgba(124,58,237,.34), transparent 70%),
    radial-gradient(ellipse at 50% -22%, rgba(111,160,255,.20), transparent 60%),
    radial-gradient(140% 120% at 50% 50%, transparent 58%, rgba(3,5,10,.55) 100%);
}

/* ── Headline: white lines get a soft luminous lift ──────────────── */
.page-home .hero__heading{
  text-shadow:0 1px 0 rgba(255,255,255,.04), 0 18px 50px rgba(8,12,30,.55);
}
.page-home .hero__heading .hero__line:not(.hero__line--accent){
  background:linear-gradient(180deg, #ffffff 0%, #d7e2ff 100%);
  -webkit-background-clip:text; background-clip:text;
  color:transparent; -webkit-text-fill-color:transparent;
}

/* ── Cycling service word: living, flowing gradient + glow ───────── */
.page-home .hero__word-cycler span{
  background-image:linear-gradient(110deg,#6fa0ff 0%,#b78cff 38%,#ff8ac2 64%,#6fa0ff 100%);
  background-size:220% auto;
  animation:cr-flow 6s linear infinite;
  -webkit-filter:drop-shadow(0 6px 28px rgba(150,110,255,.45));
          filter:drop-shadow(0 6px 28px rgba(150,110,255,.45));
}
/* ── Badge: brighter live dot + glassier pill ───────────────────── */
.page-home .hero__badge{
  background:linear-gradient(120deg, rgba(111,160,255,.12), rgba(168,85,247,.10));
  border-color:rgba(150,170,255,.30);
  box-shadow:0 10px 30px rgba(0,0,0,.40), inset 0 1px 0 rgba(255,255,255,.10);
}
.page-home .hero__badge-dot{
  background:#7fffd1;
  box-shadow:0 0 0 3px rgba(127,255,209,.18), 0 0 14px rgba(127,255,209,.9);
}

/* ── Primary CTA: flowing gradient + bigger, richer glow ─────────── */
.page-home .hero__cta-primary{
  background:var(--grad-vibrant); background-size:220% auto; background-position:0% center;
  box-shadow:0 14px 40px -8px rgba(99,102,241,.65), inset 0 1px 0 rgba(255,255,255,.22);
  transition:background-position .6s ease, transform .3s var(--ease-spring), box-shadow .3s ease;
}
.page-home .hero__cta-primary:hover{
  background-position:100% center;
  transform:translateY(-4px) scale(1.015);
  box-shadow:0 22px 54px -8px rgba(236,72,153,.6), inset 0 1px 0 rgba(255,255,255,.25);
}

/* ════════════════════════════════════════════════════════════════
   Service deck - more depth, radiance and life
   ════════════════════════════════════════════════════════════════ */

/* Rotating conic halo behind the four cards */
.page-home .hero__deck-aura{
  inset:-20% -14% -20% -14%;
  background:
    conic-gradient(from 0deg,
      rgba(45,109,246,.34), rgba(168,85,247,.30), rgba(236,72,153,.26),
      rgba(34,211,238,.24), rgba(45,109,246,.34));
  filter:blur(46px); opacity:.7;
  animation:heroAuraSpin 22s linear infinite;
}
@keyframes heroAuraSpin{ to{ transform:rotate(360deg); } }

/* Cards: crisper edge, deeper rest shadow, snappier lift */
.page-home .hero__svc{
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 20px 48px -14px rgba(4,8,20,.7), inset 0 1px 0 rgba(255,255,255,.10);
}
.page-home .hero__svc:hover{
  transform:translateY(-9px) scale(1.015);
  box-shadow:0 36px 80px -18px color-mix(in srgb, var(--accent) 60%, rgba(4,8,20,.6)),
             inset 0 1px 0 rgba(255,255,255,.18);
}
/* Glass icon chip: brighter ring + subtle inner glow */
.page-home .hero__svc-vec{
  background:rgba(255,255,255,.18);
  border-color:rgba(255,255,255,.42);
  box-shadow:0 8px 20px rgba(0,0,0,.28), inset 0 0 12px rgba(255,255,255,.18);
}
/* Title reads bolder */
.page-home .hero__svc-text strong{ letter-spacing:-.015em; }

/* Featured card: gentle breathing glow that draws the eye */
.page-home .hero__svc--featured{
  animation:svcIn .8s cubic-bezier(.22,1,.36,1) both, heroFeaturedPulse 3.4s ease-in-out 1.4s infinite;
}
@keyframes heroFeaturedPulse{
  0%,100%{ box-shadow:0 18px 46px color-mix(in srgb, var(--accent) 45%, rgba(13,20,36,.45)); }
  50%    { box-shadow:0 26px 66px color-mix(in srgb, var(--accent2) 60%, rgba(13,20,36,.4)); }
}

/* Floating glass chips: lift off the page a little more */
.page-home .hero__deck-chip{
  background:rgba(20,28,56,.62);
  border-color:rgba(255,255,255,.16);
  color:rgba(255,255,255,.86);
  box-shadow:0 16px 40px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.12);
}
.page-home .hero__deck-chip strong{ color:#fff; }

/* Scroll cue: tidy, on-brand */
.page-home .hero__scroll span{ color:rgba(255,255,255,.5); letter-spacing:.22em; }
.page-home .hero__scroll-mouse{ border-color:rgba(255,255,255,.4); }
.page-home .hero__scroll-wheel{ background:#7fa6ff; }

@media (prefers-reduced-motion:reduce){
  .page-home .hero__word-cycler span,
  .page-home .hero__deck-aura,
  .page-home .hero__svc--featured{ animation:none !important; }
}

/* ── Hero deck: small-screen fix ─────────────────────────────────
   Root cause of the "thin vertical lines" on phones/tablets:
   at <=860px `.hero__visual` is given `margin: 0 auto` (line ~1515).
   Auto inline-margins suppress a grid item's default `stretch`, so the
   visual is sized to its *content* - and because every child of a
   service card is absolutely positioned, that content width is ~0.
   The visual (and the deck inside it) therefore collapse to a couple
   of pixels and the cards show only their coloured border = a line.
   Fix: give the visual and deck a definite width so the auto-margins
   have nothing to collapse, then stack the cards in one column on
   phones. (`.page-home` prefix already out-specifies the base rules,
   so no !important is needed.) */
@media (max-width: 860px) {
  .page-home .hero__visual { width: 100%; }
  .page-home .hero__deck   { width: 100%; max-width: 460px; margin: 0 auto; }
}
@media (max-width: 600px) {
  .page-home .hero__deck { grid-template-columns: 1fr; max-width: 420px; gap: 14px; }
  .page-home .hero__svc  { min-height: 156px; opacity: 1; }
  /* Lighter, more transparent scrim under the title/description so more
     of the photo shows through on mobile. The text keeps its own shadow
     (below) so it stays legible over the softer overlay. */
  .page-home .hero__svc-band {
    z-index: 7;                /* sit above sheen / tint / number */
    padding: 46px 16px 16px;
    background: linear-gradient(0deg,
      rgba(4,6,12,.68) 0%,
      rgba(4,6,12,.5) 38%,
      rgba(4,6,12,.2) 70%,
      transparent 100%);
  }
  .page-home .hero__svc-text strong {
    color: #fff; font-size: 1.06rem;
    text-shadow: 0 1px 6px rgba(0,0,0,.7);
  }
  .page-home .hero__svc-text em {
    color: #fff; opacity: 1; font-size: .78rem;
    text-shadow: 0 1px 5px rgba(0,0,0,.7);
  }
  /* The scroll cue is absolutely positioned at the bottom of the hero.
     On mobile the deck stacks into a tall column, so the cue lands on
     top of the last card. It's a desktop affordance - hide it here. */
  .page-home .hero__scroll { display: none !important; }
}

/* ============================================================
   Responsive enhancements - cross-device polish (admin + shared)
   Appended pass: fixes data-table clipping and fixed-column grids
   that previously overflowed or got cut off on phones/tablets.
   ============================================================ */

/* Responsive split layout: main content + sidebar that stacks on
   tablets/phones. Replaces inline `grid-template-columns:1fr 320px`
   styles that did not collapse. */
.admin-split { display: grid; grid-template-columns: 1fr 320px; gap: 20px; }
.admin-split--sm { grid-template-columns: 1fr 280px; }
@media (max-width: 900px) {
  .admin-split, .admin-split--sm { grid-template-columns: 1fr; }
}

/* Data tables: never clip on small screens. The wrapping card keeps its
   rounded corners and header, while the table itself becomes a
   horizontally scrollable block so every column stays reachable. */
@media (max-width: 768px) {
  table.admin-table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    min-width: 100%;
    white-space: nowrap;
  }
  table.admin-table td,
  table.admin-table th { white-space: nowrap; }
  /* allow the long message column to keep wrapping inside its cap */
  table.admin-table td[style*="max-width"] { white-space: normal; }
  /* search box in table headers should not force overflow */
  .admin-table-header { flex-wrap: wrap; }
  .admin-table-header input[type="text"] { width: 100% !important; min-width: 0; }
  .admin-table-header form { flex: 1 1 100%; }
}

/* Very small phones: collapse 2-up stat grids to a single column so
   numbers stay legible instead of squeezing. */
@media (max-width: 420px) {
  .admin-stats { grid-template-columns: 1fr; }
  .dash-grid { grid-template-columns: 1fr; }
}
