@charset "UTF-8";
:root {
  --asphalt-950:#0A0A0D;
  --asphalt-900:#131316;
  --asphalt-800:#18181C;
  --asphalt-700:#1F1F24;
  --steel-600:#2A2A30;
  --fog-300:#8A8791;
  --fog-200:#C7C4CC;
  --white:#F5F4F7;
  --pink-500:#FF5D8F;
  --pink-400:#FF8FAE;
  --coral-500:#FF7A59;
  --violet-500:#8B5CF6;
  --blue-500:#5B8DFF;
  --brand-gradient:linear-gradient(90deg,#FF7A59,#FF5D8F,#8B5CF6,#5B8DFF);
  /* High-level semantic aliases (do not change values to preserve layout) */
  --primary: var(--coral-500);
  --primary-600: var(--pink-500);
  --primary-rgb: 255,122,89;
  --secondary: var(--asphalt-900);
  --secondary-rgb: 19,19,22;
  --cream-50:#F3F1EC;
  --ink-900:#1D1A15;
  --ink-700:#5B564A;
  /* Light UI neutrals (shared across header, footer, light surfaces) */
  --white-100:#FFFFFF;
  --line-100:#ECE9E1;
  --line-200:#E0DCD2;
  --line-300:#B9B2A3;
  --surface-hover:#F4F2EC;
  --rose-deep:#C2185B;
  --radius:10px;
  --radius-12:12px;
  --radius-14:14px;
  --radius-sm:6px;
  --radius-8:8px;
  --radius-sm:6px;
  --space-8:8px;
  --space-4:4px;
  --space-8:8px;
  --space-9:9px;
  --space-10:10px;
  --space-12:12px;
  --space-13:13px;
  --space-14:14px;
  --space-16:16px;
  --space-18:18px;
  --space-20:20px;
  --space-22:22px;
  --space-26:26px;
  --space-28:28px;
  --space-32:32px;
  --space-36:36px;
  --space-44:44px;
  --space-48:48px;
  --space-56:56px;
  --space-64:64px;
  --space-72:72px;
  --space-88:88px;
  --space-96:96px;
  --space-34:34px;
  --space-60:60px;
  --space-24:24px;
  --space-18:18px;
  --space-20:20px;
  --space-22:22px;
  --space-26:26px;
  --space-28:28px;
  --space-32:32px;
  --space-36:36px;
  --space-44:44px;
  --space-48:48px;
  --space-56:56px;
  --space-64:64px;
  --space-72:72px;
  --space-88:88px;
  --space-96:96px;
  --maxw:1180px;
  --font-display:'Manrope',sans-serif;
  --font-body:'Manrope',sans-serif;
  --font-mono:'IBM Plex Mono',monospace;
}

/* Google Fonts are loaded in each HTML document for static hosting. */
* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

/* Prevent horizontal scroll on mobile without breaking position:sticky (clip, not hidden) */
html, body {
  overflow-x: clip;
  max-width: 100%;
}

body {
  margin: 0;
}

img, svg {
  max-width: 100%;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display);
  font-weight: 500;
  margin: 0;
  letter-spacing: 0;
}

p {
  margin: 0;
}

body {
  margin: 0;
  background: var(--asphalt-950);
  color: var(--white);
  font-family: var(--font-body);
  font-weight: 400;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

.wrap {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 32px;
}

.eyebrow {
  font-family: var(--font-mono);
  font-size: 13px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--pink-400);
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.eyebrow::before {
  content: "";
  width: 14px;
  height: 2px;
  background: var(--pink-400);
  display: inline-block;
}

/* On the cream/light sections, pink-400 fails WCAG AA contrast.
   Use a deep rose (~6:1 on --cream-50) so it passes Lighthouse. */
.section.light .eyebrow {
  color: #ad1457;
}
.section.light .eyebrow::before {
  background: #ad1457;
}

.section {
  padding: var(--space-96) 0;
}
.section.tight {
  padding: var(--space-64) 0;
}
.section.light {
  background: var(--cream-50);
  color: var(--ink-900);
}
.section.light.section-white {
  background: var(--white-100);
}
.section.mid {
  background: var(--asphalt-900);
}

.section-head {
  max-width: 850px;
  margin-bottom: 48px;
}
.section-head.center {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.section-head h2 {
  font-size: clamp(28px, 3.4vw, 40px);
  margin-top: 14px;
}
.section-head p {
  color: var(--fog-200);
  font-size: 17px;
  margin-top: 16px;
}
.section.light .section-head p {
  color: var(--ink-700);
}

/* Inner page templates */
.page-hero {
  padding: var(--space-72) 0 var(--space-56);
  border-bottom: 1px solid var(--steel-600);
  position: relative;
  overflow: hidden;
}
.page-hero .wrap {
  position: relative;
  z-index: 1;
}
.page-hero h1 {
  font-size: clamp(32px, 4.4vw, 48px);
  max-width: 720px;
}
.page-hero .sub {
  font-size: 17px;
  color: var(--fog-200);
  max-width: 600px;
  margin-top: 18px;
}
.page-hero {
  /* Left-aligned hero CTAs (the .page-home version is centered). */
}
.page-hero .hero-ctas {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-14);
  margin-top: var(--space-34);
}

/* .benefit-grid / .feat-grid are now Bootstrap .row (see .col wrappers in markup) */
/* Feature card (an <a>, so it needs explicit block layout as a Bootstrap col child) */
.feat-card {
  display: flex;
  flex-direction: column;
  background: var(--asphalt-800);
  border: 1px solid var(--steel-600);
  border-radius: var(--radius-12);
  padding: var(--space-26);
  cursor: pointer;
  transition: border-color 0.15s, transform 0.15s;
}
.feat-card:hover {
  border-color: var(--pink-500);
  transform: translateY(-2px);
}
.feat-card h3 {
  font-size: 17px;
  margin-bottom: 8px;
}
.feat-card p {
  font-size: 14px;
  color: var(--fog-200);
}

/* Founding Partners "Full Platform" group labels — slightly larger */
#everything-included .calc-col-label {
  font-size: 25px;
}

/* Pillars (.pillar-grid is a Bootstrap .row). Global so home + founding-partners share them. */
.pillar {
  background: var(--asphalt-800);
  border: 1px solid var(--steel-600);
  border-radius: var(--radius-12);
  padding: var(--space-28);
}
.pillar h3 {
  font-size: 18px;
  margin-bottom: 10px;
}
.pillar p {
  color: var(--fog-200);
  font-size: 14.5px;
}

.pillar-num {
  font-family: var(--font-mono);
  font-size: 12px;
  color: var(--coral-500);
  margin-bottom: 14px;
  display: block;
}

.section.light .pillar {
  background: radial-gradient(130% 90% at 100% 0%, var(--accent-soft, rgba(255, 122, 89, 0.12)), transparent 52%), var(--white-100);
  border: 1px solid var(--line-soft);
  border-radius: 18px;
  padding: 30px 28px 32px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(29, 26, 21, 0.05);
  transition: transform 0.3s cubic-bezier(0.2, 0.7, 0.2, 1), border-color 0.3s ease, box-shadow 0.3s ease;
  /* gradient accent bar that sweeps in on hover */
}
.section.light .pillar::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--accent, var(--coral-500)), var(--accent-2, var(--pink-500)));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.section.light .pillar h3 {
  font-size: 19px;
  margin-bottom: 10px;
  color: var(--ink-900);
}
.section.light .pillar p {
  color: var(--ink-700);
}
.section.light .pillar:hover {
  transform: translateY(-6px);
  border-color: var(--accent, var(--coral-500));
  box-shadow: 0 24px 50px -20px rgba(29, 26, 21, 0.24);
}
.section.light .pillar:hover::before {
  transform: scaleX(1);
}
.section.light .pillar:hover .pillar-num {
  transform: translateY(-2px) scale(1.06);
  box-shadow: 0 14px 26px -8px var(--accent-shadow, rgba(255, 122, 89, 0.5));
}

.section.light .pillar-num {
  width: 46px;
  height: 46px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-mono);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--white-100);
  background: linear-gradient(135deg, var(--accent, var(--coral-500)), var(--accent-2, var(--pink-500)));
  box-shadow: 0 10px 20px -8px var(--accent-shadow, rgba(255, 122, 89, 0.5));
  margin-bottom: 20px;
  transition: transform 0.3s cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 0.3s ease;
}

/* Per-card brand accents (two-tone gradient + glow). */
.section.light .pillar-grid > [class*=col-]:nth-child(1) .pillar {
  --accent: #ff7a59;
  --accent-2: #ff5d8f;
  --accent-soft: rgba(255, 122, 89, 0.14);
  --accent-shadow: rgba(255, 122, 89, 0.5);
}
.section.light .pillar-grid > [class*=col-]:nth-child(2) .pillar {
  --accent: #ff5d8f;
  --accent-2: #8b5cf6;
  --accent-soft: rgba(255, 93, 143, 0.14);
  --accent-shadow: rgba(255, 93, 143, 0.5);
}
.section.light .pillar-grid > [class*=col-]:nth-child(3) .pillar {
  --accent: #8b5cf6;
  --accent-2: #5b8dff;
  --accent-soft: rgba(139, 92, 246, 0.15);
  --accent-shadow: rgba(139, 92, 246, 0.5);
}

.feat-icon {
  width: var(--space-34);
  height: var(--space-34);
  border-radius: var(--radius-8);
  background: var(--asphalt-700);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: var(--space-16);
  color: var(--coral-500);
  font-family: var(--font-mono);
  font-weight: 500;
}

.benefit-card {
  display: block;
  background: var(--asphalt-800);
  border: 1px solid var(--steel-600);
  border-radius: var(--radius-12);
  padding: var(--space-26);
}
.benefit-card h2 {
  font-size: 16.5px;
  margin-bottom: 10px;
}
.benefit-card p {
  font-size: 14px;
  color: var(--fog-200);
}

/* Light-section variant: white cards with dark text, icon chip + hover. */
.section.light .benefit-card {
  --accent: #ff7a59;
  --accent-deep: #c2410c;
  --accent-soft: rgba(255, 122, 89, 0.12);
  background: var(--white-100);
  border: 1px solid #E4E0D5;
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}
.section.light .benefit-card:hover {
  transform: translateY(-3px);
  border-color: var(--accent);
  box-shadow: 0 14px 36px rgba(29, 26, 21, 0.12);
}
.section.light .benefit-card:hover .benefit-icon {
  transform: scale(1.08);
}
.section.light .benefit-card p {
  color: var(--ink-700);
}

.benefit-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border-radius: 13px;
  margin-bottom: 16px;
  color: var(--accent-deep, #c2410c);
  background: var(--accent-soft, rgba(255, 122, 89, 0.12));
  transition: transform 0.25s ease;
}
.benefit-icon svg {
  width: 23px;
  height: 23px;
  display: block;
}

/* Rotate the brand accent per card for visual rhythm. */
.benefit-grid > [class*=col-]:nth-child(4n+1) .benefit-card {
  --accent: #ff7a59;
  --accent-deep: #c2410c;
  --accent-soft: rgba(255, 122, 89, 0.12);
}
.benefit-grid > [class*=col-]:nth-child(4n+2) .benefit-card {
  --accent: #ff5d8f;
  --accent-deep: #ad1457;
  --accent-soft: rgba(255, 93, 143, 0.12);
}
.benefit-grid > [class*=col-]:nth-child(4n+3) .benefit-card {
  --accent: #8b5cf6;
  --accent-deep: #6d28d9;
  --accent-soft: rgba(139, 92, 246, 0.13);
}
.benefit-grid > [class*=col-]:nth-child(4n+4) .benefit-card {
  --accent: #5b8dff;
  --accent-deep: #1d4ed8;
  --accent-soft: rgba(91, 141, 255, 0.14);
}

/* Steps → horizontal numbered stepper (matches the homepage "How It Works") */
.section:has(.steps) .section-head {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.steps {
  counter-reset: step;
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px 16px;
  margin-top: var(--space-8);
  position: relative;
}
@media (min-width: 768px) {
  .steps {
    grid-auto-flow: column;
    grid-auto-columns: 1fr;
  }
}

.step {
  position: relative;
  z-index: 1;
  padding: 0;
}
.step::before {
  counter-increment: step;
  content: counter(step);
  position: relative;
  z-index: 2;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--asphalt-900);
  box-shadow: 0 0 0 7px var(--asphalt-900);
  border: 2px solid var(--pink-500);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-mono);
  font-size: 14px;
  color: var(--pink-400);
  margin: 0 0 16px;
}
.step h3 {
  font-size: 16.5px;
  margin-bottom: 8px;
}
.step p {
  font-size: 13.5px;
  color: var(--fog-200);
  margin: 0;
}
@media (min-width: 768px) {
  .step {
    text-align: center;
  }
  .step::before {
    margin: 0 auto 18px;
  }
  .step p {
    max-width: 240px;
    margin: 0 auto;
  }
  .step {
    /* gradient connector to the next badge */
  }
  .step:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 26px;
    left: 50%;
    width: 100%;
    height: 2px;
    background: var(--brand-gradient);
    opacity: 0.5;
    z-index: 0;
  }
}

.text-block {
  max-width: 720px;
}
.text-block p {
  color: var(--fog-200);
  font-size: 15.5px;
  margin-bottom: 16px;
}
.text-block p:last-child {
  margin-bottom: 0;
}

.placeholder-note {
  border: 1px dashed var(--steel-600);
  border-radius: var(--radius);
  padding: var(--space-18) var(--space-20);
  font-size: 13.5px;
  color: var(--fog-300);
  font-family: var(--font-mono);
  margin-top: var(--space-24);
}

.section.light .text-block p {
  color: var(--ink-700);
}

.section.light .placeholder-note {
  border-color: #d8d2c6;
  color: var(--ink-700);
}

.pricing-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.pricing-list li {
  display: flex;
  gap: var(--space-14);
  padding: var(--space-16) 0;
  border-bottom: 1px solid var(--steel-600);
  font-size: 15px;
  color: var(--fog-200);
  align-items: flex-start;
}
.pricing-list li::before {
  content: "—";
  color: var(--pink-500);
  font-weight: 700;
  flex-shrink: 0;
}

.section.light .pricing-list li {
  color: var(--ink-700);
  border-color: #e4e0d5;
}

/* Background art: subtle dashboard wash */
.bg-art {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 0;
  background: radial-gradient(circle at 18% 12%, rgba(255, 122, 89, 0.18), transparent 28%), radial-gradient(circle at 78% 18%, rgba(91, 141, 255, 0.16), transparent 30%), radial-gradient(circle at 50% 88%, rgba(255, 93, 143, 0.12), transparent 32%);
}

.orb {
  display: none;
}

.rel {
  position: relative;
  z-index: 1;
}

.grad-text {
  background: var(--brand-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.grad-bar {
  height: 3px;
  width: var(--space-44);
  border-radius: 2px;
  background: var(--brand-gradient);
  display: inline-block;
  margin-bottom: var(--space-16);
}

/* .proof-band is now a Bootstrap .row of tiles */
.proof-band {
  margin-top: var(--space-48);
}

.proof-item {
  --accent: var(--coral-500);
  --accent-soft: rgba(255, 122, 89, 0.16);
  position: relative;
  overflow: hidden;
  background: linear-gradient(158deg, var(--asphalt-800), var(--asphalt-900) 70%);
  border: 1px solid var(--steel-600);
  border-radius: var(--radius-14);
  padding: var(--space-26) var(--space-24);
  height: 100%;
  transition: transform 0.28s ease, border-color 0.28s ease, box-shadow 0.28s ease;
}
.proof-item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--accent);
  opacity: 0.75;
  transition: height 0.28s ease, opacity 0.28s ease;
}
.proof-item::after {
  content: "";
  position: absolute;
  top: -50px;
  right: -50px;
  width: 140px;
  height: 140px;
  background: radial-gradient(circle, var(--accent-soft), transparent 68%);
  opacity: 0;
  transition: opacity 0.32s ease;
  pointer-events: none;
}
.proof-item:hover {
  transform: translateY(-4px);
  border-color: var(--accent);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.5), 0 0 26px -8px var(--accent-soft);
}
.proof-item:hover::before {
  height: 3px;
  opacity: 1;
}
.proof-item:hover::after {
  opacity: 1;
}

.proof-band > [class*=col-]:nth-child(1) .proof-item {
  --accent: var(--coral-500);
  --accent-soft: rgba(255, 122, 89, 0.16);
}
.proof-band > [class*=col-]:nth-child(2) .proof-item {
  --accent: var(--pink-500);
  --accent-soft: rgba(255, 93, 143, 0.16);
}
.proof-band > [class*=col-]:nth-child(3) .proof-item {
  --accent: var(--violet-500);
  --accent-soft: rgba(139, 92, 246, 0.16);
}
.proof-band > [class*=col-]:nth-child(4) .proof-item {
  --accent: var(--blue-500);
  --accent-soft: rgba(91, 141, 255, 0.18);
}

.proof-num {
  font-family: var(--font-display);
  font-size: 42px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.02em;
  display: block;
  color: var(--accent);
  background: linear-gradient(135deg, var(--white) 30%, var(--accent) 135%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.proof-label {
  font-size: 13px;
  color: var(--fog-300);
  margin-top: var(--space-12);
  display: block;
  letter-spacing: 0.01em;
}

/* .page-split is now a Bootstrap .row */
.signal-panel {
  background: var(--asphalt-800);
  border: 1px solid var(--steel-600);
  border-radius: var(--radius-12);
  padding: var(--space-28);
}

.signal-row {
  display: flex;
  justify-content: space-between;
  gap: var(--space-18);
  border-bottom: 1px solid var(--steel-600);
  padding: var(--space-13) 0;
  color: var(--fog-200);
  font-size: 14px;
}
.signal-row:last-child {
  border-bottom: none;
}
.signal-row strong {
  color: var(--white);
}

/* Problem statement */
.problem-block {
  max-width: 680px;
}
.problem-block h2 {
  font-size: clamp(26px, 3.2vw, 36px);
  margin-top: 14px;
}
.problem-block p {
  color: var(--fog-200);
  font-size: 16.5px;
  margin-top: 18px;
}
.problem-block {
  /* .link-out is now a theme button; keep only its spacing here */
}
.problem-block .link-out {
  margin-top: 20px;
}

/* Alternating feature rows */
/* .alt-row is now a Bootstrap .row (reverse via .flex-lg-row-reverse) */
.alt-row {
  padding: var(--space-56) 0;
  border-bottom: 1px solid var(--steel-600);
}
.alt-row:last-child {
  border-bottom: none;
}

.alt-copy .eyebrow {
  margin-bottom: 12px;
}
.alt-copy h3 {
  font-size: 24px;
  line-height: 1.25;
  margin-bottom: 14px;
}
.alt-copy p {
  color: var(--fog-200);
  font-size: 15.5px;
  margin-bottom: 8px;
}
.alt-copy {
  /* .link-out is now a theme button; keep only its spacing here */
}
.alt-copy .link-out {
  margin-top: 14px;
}

.alt-visual {
  background: var(--asphalt-800);
  border: 1px solid var(--steel-600);
  border-radius: var(--radius-14);
  padding: var(--space-32);
  min-height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.alt-visual .big-mono {
  font-family: var(--font-mono);
  font-size: 15px;
  color: var(--coral-500);
}
.alt-visual img {
  width: 100%;
  height: auto;
  display: block;
}

/* Process steps (Bootstrap .row; connected stepper track at lg) */
.process-grid {
  position: relative;
  /* vertical spacing when the steps wrap (mobile/tablet); no effect on the lg single row */
  row-gap: 44px;
  /* continuous gradient track running through the badges */
}
.process-grid::before {
  content: "";
  position: absolute;
  top: 28px;
  left: 12.5%;
  right: 12.5%;
  height: 2px;
  background: var(--brand-gradient);
  opacity: 0.55;
  z-index: 0;
}

.process-step {
  position: relative;
  z-index: 1;
  text-align: center;
  padding: 0 8px;
}
.process-step h3 {
  font-size: 16.5px;
  margin-top: 20px;
  margin-bottom: 8px;
}
.process-step p {
  font-size: 13.5px;
  color: var(--fog-200);
  max-width: 240px;
  margin: 0 auto;
}
.process-step:hover .process-num {
  transform: translateY(-3px);
  box-shadow: 0 0 0 8px var(--asphalt-950), 0 12px 26px rgba(255, 93, 143, 0.28);
}

.process-num {
  font-family: var(--font-mono);
  font-size: 15px;
  font-weight: 500;
  color: var(--pink-400);
  width: 56px;
  height: 56px;
  border: 2px solid var(--pink-500);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto var(--space-16);
  background: var(--asphalt-950);
  /* solid ring masks the track so badges sit cleanly on the line */
  box-shadow: 0 0 0 8px var(--asphalt-950);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

/* Comparison section */
/* .compare-grid is now a Bootstrap .row */
.compare-col {
  background: var(--asphalt-900);
  border: 1px solid var(--steel-600);
  border-radius: var(--radius-14);
  padding: var(--space-32) var(--space-36);
}
.compare-col h3 {
  font-family: var(--font-display);
  font-size: 21px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
  margin-bottom: 22px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
  color: var(--fog-200);
}
.compare-col {
  /* highlighted winning column: subtle accent border + Recommended chip */
}
.compare-col.win {
  background: var(--asphalt-800);
  border-color: rgba(255, 93, 143, 0.45);
  box-shadow: var(--shadow);
}
.compare-col.win h3 {
  color: var(--pink-400);
  display: flex;
  align-items: center;
  gap: 10px;
}
.compare-col.win h3::after {
  content: "Recommended";
  margin-left: auto;
  text-transform: none;
  letter-spacing: 0.02em;
  font-size: 10px;
  font-weight: 700;
  color: var(--pink-400);
  background: rgba(255, 93, 143, 0.14);
  padding: 3px 9px;
  border-radius: 20px;
}
.compare-col {
  /* circular icon badges */
}
.compare-col .compare-item::before {
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
}
.compare-col:not(.win) .compare-item {
  color: var(--fog-300);
}
.compare-col:not(.win) .compare-item::before {
  content: "✕";
  background: rgba(255, 255, 255, 0.06);
  color: var(--fog-300);
}
.compare-col.win .compare-item::before {
  content: "✓";
  background: var(--coral-500);
  color: var(--white-100);
}

.compare-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 13px 0;
  font-size: 14.5px;
  color: var(--fog-200);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}
.compare-item:last-child {
  border-bottom: none;
}

/* CTA section band — white around the dark CTA card (all pages) */
.cta-band {
  background: var(--white-100);
}

/* Closing CTA — glowing dark card (shared by every page) */
.cta-block {
  position: relative;
  overflow: hidden;
  text-align: center;
  padding: var(--space-64) var(--space-48);
  border: 1px solid var(--steel-600);
  border-radius: 28px;
  box-shadow: 0 34px 70px -30px rgba(13, 19, 36, 0.6);
  background: radial-gradient(680px 460px at 4% -6%, rgba(255, 122, 89, 0.42), transparent 58%), radial-gradient(760px 540px at 98% 112%, rgba(91, 141, 255, 0.42), transparent 58%), radial-gradient(520px 420px at 62% 128%, rgba(139, 92, 246, 0.22), transparent 60%), linear-gradient(135deg, #16121d 0%, #100e18 55%, #0d1220 100%);
}
.cta-block > * {
  position: relative;
  z-index: 1;
}
.cta-block h2 {
  font-size: clamp(26px, 3.6vw, 38px);
  color: var(--white-100);
}
.cta-block p {
  color: var(--fog-200);
  margin-top: 14px;
  margin-left: auto;
  margin-right: auto;
}
.cta-block .hero-ctas {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: var(--space-14);
  margin-top: 28px;
}
.cta-block .cta-note {
  font-family: var(--font-mono);
  font-size: 12.5px;
  letter-spacing: 0.02em;
  color: var(--fog-300);
  margin-top: 18px;
}

/* Responsive */
@media (max-width: 920px) {
  .alt-row {
    padding: 36px 0;
  }
}
/* the stepper track only makes sense in the single-row (lg) layout */
@media (max-width: 991.98px) {
  .process-grid::before {
    display: none;
  }
}
@media (max-width: 600px) {
  .wrap {
    padding: 0 18px;
  }
  .cta-block {
    padding: 44px 22px;
  }
  .section {
    padding: 56px 0;
  }
}
:focus-visible {
  outline: 2px solid var(--coral-500);
  outline-offset: 2px;
}

/* FAQ accordion (global — used on home + service pages) */
.faq-list {
  max-width: 820px;
  margin: 0 auto;
}

.faq-item {
  background: var(--asphalt-800);
  border: 1px solid var(--steel-600);
  border-radius: var(--radius-12);
  padding: 0 var(--space-24);
  margin-bottom: var(--space-14);
  transition: border-color 0.18s ease;
}
.faq-item[open] {
  border-color: rgba(255, 93, 143, 0.4);
}
.faq-item summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: var(--space-22) 0;
  font-size: 17px;
  font-weight: 600;
  color: var(--white);
}
.faq-item summary::-webkit-details-marker {
  display: none;
}
.faq-item summary::after {
  content: "";
  flex-shrink: 0;
  width: 10px;
  height: 10px;
  margin-top: -4px;
  border-right: 2px solid var(--fog-300);
  border-bottom: 2px solid var(--fog-300);
  transform: rotate(45deg);
  transition: transform 0.2s ease, border-color 0.2s ease;
}
.faq-item[open] summary::after {
  transform: rotate(-135deg);
  border-color: var(--pink-400);
}
.faq-item .faq-answer {
  border-top: 1px solid var(--steel-600);
  padding: var(--space-18) 0 var(--space-22);
}
.faq-item .faq-answer p {
  margin: 0;
  color: var(--fog-200);
  font-size: 15px;
  line-height: 1.7;
}

.section.light.faq-section .faq-item {
  background: var(--white-100);
  border-color: #e3ded3;
}
.section.light.faq-section .faq-item[open] {
  border-color: var(--rose-deep);
}
.section.light.faq-section .faq-item summary {
  color: var(--ink-900);
}
.section.light.faq-section .faq-item summary::after {
  border-color: #8a8578;
}
.section.light.faq-section .faq-item[open] summary::after {
  border-color: var(--rose-deep);
}
.section.light.faq-section .faq-item .faq-answer {
  border-top-color: #ece7dc;
}
.section.light.faq-section .faq-item .faq-answer p {
  color: var(--ink-700);
}

/* Post-hero connected-hub visual */
.flow-viz {
  position: relative;
  border-radius: var(--radius-14);
  border: 1px solid var(--steel-600);
  overflow: hidden;
  background: radial-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1.5px) 0 0/26px 26px, radial-gradient(60% 80% at 50% 45%, rgba(139, 92, 246, 0.22), rgba(19, 19, 22, 0) 70%), linear-gradient(135deg, #1b1622, var(--asphalt-900) 55%, #0f1626);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.18);
  padding: 8px;
}
.flow-viz svg {
  display: block;
  width: 100%;
  height: auto;
}

/* =========================================================
   Product UI preview + detailed feature list (product pages)
   ========================================================= */
.ui-mock {
  background: linear-gradient(180deg, #17171d, #101015);
  border: 1px solid var(--steel-600);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 30px 70px -34px rgba(0, 0, 0, 0.75);
}

.ui-mock-bar {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  background: #0e0e13;
  border-bottom: 1px solid var(--steel-600);
}

.ui-mock-dots {
  display: inline-flex;
  gap: 6px;
}

.ui-mock-dots i {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  display: block;
}

.ui-mock-dots i:nth-child(1) {
  background: #ff5f57;
}

.ui-mock-dots i:nth-child(2) {
  background: #febc2e;
}

.ui-mock-dots i:nth-child(3) {
  background: #28c840;
}

.ui-mock-title {
  font-family: var(--font-mono);
  font-size: 12px;
  color: var(--fog-300);
}

.ui-mock-body {
  padding: 18px;
}

.ui-mock-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 16px;
}

.ui-mock-head h4 {
  font-size: 16px;
  color: var(--white-100);
  margin: 0;
}

.ui-mock-head span {
  font-family: var(--font-mono);
  font-size: 12px;
  color: var(--fog-300);
}

.ui-row {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px 14px;
  margin-bottom: 10px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid var(--steel-600);
  border-radius: 12px;
}

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

.ui-avatar {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-mono);
  font-size: 12.5px;
  font-weight: 700;
  color: var(--white-100);
}

.ui-row-main {
  flex: 1;
  min-width: 0;
}

.ui-row-name {
  font-size: 14px;
  font-weight: 600;
  color: var(--white-100);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ui-row-sub {
  font-size: 12.5px;
  color: var(--fog-300);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ui-pill {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 999px;
  white-space: nowrap;
}

.feat-detail {
  display: grid;
  gap: 24px;
}

.feat-detail-item {
  display: flex;
  gap: 16px;
}

.feat-detail-ico {
  width: 46px;
  height: 46px;
  border-radius: 13px;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.feat-detail-ico svg {
  width: 22px;
  height: 22px;
}

.feat-detail-item h3 {
  font-size: 16.5px;
  margin: 3px 0 6px;
  color: var(--white-100);
}

.feat-detail-item p {
  font-size: 14.5px;
  line-height: 1.65;
  color: var(--fog-200);
  margin: 0;
}

.section.light .feat-detail-item h3 {
  color: var(--ink-900);
}

.section.light .feat-detail-item p {
  color: var(--ink-700);
}

.ui-mock-img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 16px;
}

/* Button system: theme-btn (base) + style modifiers + sizes
   Backward-compatible .btn / .btn-primary classes are maintained. */
.theme-btn,
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 16px;
  padding: 12px 30px;
  border-radius: var(--radius);
  cursor: pointer;
  border: none;
  text-decoration: none;
  transition: all 0.15s ease;
  white-space: nowrap;
  -webkit-tap-highlight-color: transparent;
}
.theme-btn.w-100,
.btn.w-100 {
  width: 100%;
}
.theme-btn:disabled,
.btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* Primary (brand) */
.primary-btn,
.btn-primary {
  background: var(--brand-gradient);
  color: var(--white-100);
  background-size: 160% 100%;
  background-position: 0% 0%;
  box-shadow: 0 8px 24px rgba(20, 33, 46, 0.06);
}
.primary-btn:hover,
.btn-primary:hover {
  background-position: 100% 0%;
}
.primary-btn:focus-visible,
.btn-primary:focus-visible {
  outline: 3px solid rgba(255, 122, 89, 0.12);
  outline-offset: 2px;
}

/* Secondary (dark) */
.secondary-btn,
.btn-secondary {
  background: var(--asphalt-900);
  color: var(--white-100);
}
.secondary-btn:hover,
.btn-secondary:hover {
  background: var(--asphalt-800);
}

/* White / subtle */
.white-btn {
  background: var(--white);
  color: var(--coral-500);
  border: 1px solid var(--fog-200);
}
.white-btn:hover {
  box-shadow: 0 6px 18px rgba(20, 33, 46, 0.04);
}

/* Outline */
.outline-btn {
  background: transparent;
  color: var(--coral-500);
  border: 1px solid var(--coral-500);
}
.outline-btn:hover {
  background: rgba(255, 122, 89, 0.06);
}

/* Ghost — transparent w/ subtle border, for dark backgrounds */
.ghost-btn {
  background: transparent;
  color: var(--white);
  border: 1px solid var(--steel-600);
}
.ghost-btn:hover {
  border-color: var(--fog-300);
}
.section.light .ghost-btn {
  color: var(--ink-900);
  border-color: #D8D4C9;
}

/* Sizes */
.theme-btn-lg {
  padding: 16px 30px;
  font-size: 16px;
  min-width: 250px;
}

.theme-btn-wide {
  min-width: 200px;
}

.theme-btn-sm,
.btn-sm {
  padding: 9px 16px;
  font-size: 13.5px;
}

/* =========================================================
   Header — Bootstrap 5 navbar, white theme
   ========================================================= */
header {
  position: sticky;
  top: 0;
  z-index: 1030;
  background: var(--white-100);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--line-100);
}

.site-nav {
  padding: 0;
}

.navbar-inner {
  display: flex;
  align-items: center;
  gap: var(--space-16);
  width: 100%;
  max-width: var(--maxw);
  margin: 0 auto;
  padding: var(--space-12) var(--space-32);
  flex-wrap: wrap;
}

/* Brand */
.navbar-brand.logo {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 19px;
  color: var(--ink-900);
  display: flex;
  align-items: center;
  gap: var(--space-8);
  padding: 0;
  margin: 0;
  margin-right: auto;
}
.navbar-brand.logo .dot {
  width: var(--space-8);
  height: var(--space-8);
  border-radius: 50%;
  background: var(--brand-gradient);
}

/* Hamburger toggler — dark icon on the white header */
.navbar-toggler {
  border: 1px solid var(--line-200);
  border-radius: var(--radius-sm);
  padding: 6px 9px;
}
.navbar-toggler:focus {
  box-shadow: none;
  outline: 2px solid var(--coral-500);
  outline-offset: 2px;
}
.navbar-toggler .navbar-toggler-icon {
  width: 22px;
  height: 22px;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%231D1A15' stroke-width='2.5' stroke-linecap='round' d='M4 8h22M4 15h22M4 22h22'/%3e%3c/svg%3e");
}

/* Nav links */
.navbar-nav {
  align-items: center;
  gap: 2px;
}

.site-nav .nav-link {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 500;
  color: var(--ink-900);
  padding: var(--space-10) var(--space-14);
  border-radius: var(--radius-sm);
  transition: color 0.15s;
}
.site-nav .nav-link:hover, .site-nav .nav-link:focus, .site-nav .nav-link.show {
  color: var(--ink-900);
}
.site-nav .nav-link.active {
  color: var(--rose-deep);
}

/* Clearer chevron caret (replaces Bootstrap's tiny triangle) */
.site-nav .dropdown-toggle::after {
  content: "";
  border: 0;
  width: 8px;
  height: 8px;
  margin: -3px 0 0 2px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  transition: transform 0.2s ease;
  opacity: 0.75;
}

.site-nav .dropdown-toggle.show::after {
  margin-top: 2px;
  transform: rotate(-135deg);
}

/* Dropdown / mega-menu — light */
.site-nav .dropdown-menu {
  background: var(--white-100);
  border: 1px solid var(--line-100);
  border-radius: var(--radius);
  padding: var(--space-8);
  margin-top: var(--space-8);
  min-width: 240px;
  box-shadow: 0 16px 40px rgba(20, 20, 20, 0.12);
  /* Transparent bridge across the margin gap so the menu doesn't
     drop while the pointer travels from the link to a sub-item. */
}
.site-nav .dropdown-menu::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: calc(-1 * var(--space-8) - 4px);
  height: calc(var(--space-8) + 6px);
}

.site-nav .dropdown-item {
  color: var(--ink-700);
  font-size: 13.5px;
  padding: var(--space-9) var(--space-12);
  border-radius: var(--radius-sm);
  white-space: normal;
}
.site-nav .dropdown-item:hover, .site-nav .dropdown-item:focus, .site-nav .dropdown-item:active, .site-nav .dropdown-item.active {
  background: var(--surface-hover);
  color: var(--ink-900);
}

.dropdown-featured {
  margin-top: var(--space-8);
  padding-top: var(--space-12);
  border-top: 1px solid var(--line-100);
}
.dropdown-featured p {
  font-size: 12.5px;
  color: var(--fog-300);
  padding: 0 var(--space-12) var(--space-10);
  margin: 0;
}
.dropdown-featured .theme-btn {
  width: calc(100% - 24px);
  margin: 0 var(--space-12);
}

.dropdown-label {
  font-family: var(--font-mono);
  font-size: 10.5px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--fog-300);
  padding: 10px 12px 4px;
  margin-top: 4px;
  border-top: 1px solid var(--line-100);
}

.nav-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* Ghost button ("Talk to Us") reads dark on the white header */
header .ghost-btn {
  color: var(--ink-900);
  border-color: var(--line-200);
}
header .ghost-btn:hover {
  border-color: var(--line-300);
}

/* ---- Desktop (≥992px): centered menu + hover-open dropdowns ---- */
@media (min-width: 992px) {
  .navbar-collapse {
    flex-grow: 1;
  }
  .main-menu {
    margin: 0 auto;
  }
  .site-nav .nav-item.dropdown:hover > .dropdown-menu {
    display: block;
  }
}
/* ---- Mobile (<992px): stacked, inline dropdowns ---- */
@media (max-width: 991.98px) {
  .navbar-inner {
    padding: var(--space-12) var(--space-18);
  }
  .navbar-collapse {
    flex-basis: 100%;
    margin-top: var(--space-12);
  }
  .navbar-nav {
    align-items: stretch;
    gap: 0;
    width: 100%;
  }
  .site-nav .nav-link {
    padding: 14px 4px;
    border-bottom: 1px solid var(--line-100);
  }
  .site-nav .dropdown-toggle {
    justify-content: space-between;
  }
  /* dropdowns flow inline instead of floating over the menu */
  .site-nav .dropdown-menu {
    position: static !important;
    transform: none !important;
    inset: auto !important;
    background: transparent;
    border: none;
    box-shadow: none;
    min-width: 0;
    margin: 0;
    padding: 2px 0 8px 12px;
  }
  .dropdown-featured .theme-btn {
    width: auto;
    margin: 6px 0 0;
  }
  .nav-actions {
    width: 100%;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid var(--line-100);
  }
}
/* Footer */
footer {
  background: var(--asphalt-950);
  border-top: 1px solid var(--steel-600);
  padding: var(--space-64) 0 var(--space-32);
  color: var(--fog-200);
}

/* Footer brand — force light regardless of page theme */
footer .logo {
  display: flex;
  align-items: center;
  gap: var(--space-8);
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 19px;
  color: var(--white-100);
}
footer .logo .dot {
  width: var(--space-8);
  height: var(--space-8);
  border-radius: 50%;
  background: var(--brand-gradient);
}

/* .foot-grid is now a Bootstrap .row; only spacing remains */
.foot-grid {
  margin-bottom: var(--space-48);
}

.foot-col h2 {
  font-family: var(--font-mono);
  font-size: 18px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--white-100);
  margin-bottom: var(--space-16);
}
.foot-col a {
  display: block;
  font-size: 14px;
  color: var(--fog-200);
  margin-bottom: var(--space-10);
  cursor: pointer;
}
.foot-col a:hover {
  color: var(--white);
}

.foot-bottom {
  border-top: 1px solid var(--steel-600);
  padding-top: var(--space-24);
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--fog-300);
  font-size: 13px;
  flex-wrap: wrap;
  gap: var(--space-10) var(--space-24);
}

/* Newsletter context line */
.foot-signup-label {
  font-size: 12.5px;
  color: var(--fog-300);
  margin-top: var(--space-18);
  margin-bottom: 2px;
}

/* Legal links in the bottom bar */
.foot-legal {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-16);
  order: 3;
  flex-basis: 100%;
  padding-top: var(--space-12);
  border-top: 1px solid var(--steel-600);
  margin-top: var(--space-4);
}
.foot-legal a {
  color: var(--fog-300);
  font-size: 12.5px;
  transition: color 0.15s;
}
.foot-legal a:hover {
  color: var(--white);
}
@media (min-width: 768px) {
  .foot-legal {
    order: 0;
    flex-basis: auto;
    padding-top: 0;
    border-top: none;
    margin-top: 0;
  }
}

/* Footer extras */
.newsletter {
  display: flex;
  gap: var(--space-8);
  margin-top: var(--space-14);
  max-width: 320px;
}
.newsletter input {
  flex: 1;
  padding: var(--space-10) var(--space-12);
  background: var(--asphalt-800);
  border: 1px solid var(--steel-600);
  border-radius: var(--radius-sm);
  color: var(--white);
  font-size: 13.5px;
}

.social-row {
  display: flex;
  gap: var(--space-12);
  margin-top: var(--space-18);
}
.social-row a {
  width: var(--space-32);
  height: var(--space-32);
  border: 1px solid var(--steel-600);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  color: var(--fog-200);
}
.social-row a:hover {
  border-color: var(--pink-500);
  color: var(--pink-400);
}

.foot-contact {
  font-size: 13.5px;
  color: var(--fog-300);
  margin-top: var(--space-10);
  line-height: 1.8;
}

.page-home {
  /* ---- Light theme palette (homepage) ---- */
  --paper: #fbfaf7;
  --paper-alt: #ffffff;
  --cream: #f3f1ec;
  --line-soft: #e9e5da;
  --line: #ddd7c9;
  --ink-500: #837c6d;
  /* Display headings now use Manrope (kept as a var so sizes/rules stay intact) */
  --font-serif: var(--font-display);
  background: var(--paper);
  color: var(--ink-900);
  /* Hero — full-light, centered serif */
}
.page-home .hero {
  padding: clamp(64px, 9vw, 120px) 0 clamp(56px, 7vw, 96px);
  position: relative;
  overflow: hidden;
  text-align: center;
  background: radial-gradient(620px 520px at 6% 4%, rgba(255, 122, 89, 0.34), transparent 60%), radial-gradient(700px 560px at 60% 96%, rgba(91, 141, 255, 0.3), transparent 62%), radial-gradient(640px 580px at 98% 42%, rgba(255, 93, 143, 0.32), transparent 60%), linear-gradient(180deg, #0c0c11 0%, var(--asphalt-950) 100%);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.page-home .hero .hero-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}
.page-home .hero .hero-glow {
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
  opacity: 0.6;
}
.page-home .hero .hero-glow-a {
  width: 480px;
  height: 480px;
  top: -180px;
  left: -60px;
  background: radial-gradient(circle, rgba(255, 122, 89, 0.4), transparent 70%);
}
.page-home .hero .hero-glow-b {
  width: 520px;
  height: 520px;
  bottom: -240px;
  left: 44%;
  transform: translateX(-50%);
  background: radial-gradient(circle, rgba(91, 141, 255, 0.34), transparent 70%);
}
.page-home .hero .hero-grid-lines {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px);
  background-size: 46px 46px;
  -webkit-mask-image: radial-gradient(120% 80% at 50% 0%, #000 20%, transparent 72%);
  mask-image: radial-gradient(120% 80% at 50% 0%, #000 20%, transparent 72%);
}
.page-home .hero .sub {
  font-size: clamp(17px, 1.6vw, 20px);
  color: var(--fog-200);
  max-width: 620px;
  margin: 22px auto 0;
}
.page-home .hero .eyebrow {
  color: var(--pink-400);
}
.page-home .hero .eyebrow::before {
  background: var(--pink-400);
}
.page-home .hero .ghost-btn {
  color: var(--white-100);
  border-color: rgba(255, 255, 255, 0.24);
}
.page-home .hero .ghost-btn:hover {
  border-color: rgba(255, 255, 255, 0.5);
}
.page-home .hero-inner {
  position: relative;
  z-index: 2;
  max-width: 880px;
  margin: 0 auto;
}
.page-home .eyebrow-center {
  justify-content: center;
}
.page-home .hero-title {
  font-family: var(--font-serif);
  font-weight: 500;
  font-size: clamp(40px, 6vw, 76px);
  line-height: 1.02;
  letter-spacing: -0.01em;
  color: var(--white-100);
  margin: 18px auto 0;
  max-width: 15ch;
}
.page-home .hero-title em {
  font-style: italic;
  font-weight: 500;
  background: var(--brand-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.page-home .hero-ctas {
  display: flex;
  gap: var(--space-14);
  margin-top: var(--space-34);
  flex-wrap: wrap;
  justify-content: center;
}
.page-home .hero-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  max-width: 780px;
  margin: clamp(40px, 5vw, 64px) auto 0;
  padding-top: 32px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}
@media (max-width: 640px) {
  .page-home .hero-stats {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
.page-home .hero-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 0 10px;
}
.page-home .hero-stat + .hero-stat {
  border-left: 1px solid rgba(255, 255, 255, 0.12);
}
@media (max-width: 640px) {
  .page-home .hero-stat + .hero-stat {
    border-left: none;
  }
}
.page-home .hero-stat-num {
  font-family: var(--font-serif);
  font-weight: 600;
  font-size: clamp(34px, 4.6vw, 52px);
  line-height: 1;
  color: var(--white-100);
}
.page-home .hero-stat-label {
  font-size: 14px;
  font-weight: 600;
  color: var(--white-100);
}
.page-home .hero-stat-sub {
  font-size: 12.5px;
  color: var(--fog-300);
}
.page-home {
  /* ===========================================================
     Animated hero "app" mockup (light panel on the dark hero)
     =========================================================== */
}
.page-home .hero-visual {
  position: relative;
  z-index: 2;
}
.page-home .app-mock {
  --mock-ink: #101322;
  --mock-muted: #6b7280;
  --mock-line: #e7e9f0;
  background: linear-gradient(180deg, var(--white-100) 0%, #f4f6fb 100%);
  border: 1px solid rgba(255, 255, 255, 0.6);
  border-radius: 16px;
  box-shadow: 0 40px 80px -30px rgba(4, 8, 20, 0.75), 0 4px 14px rgba(4, 8, 20, 0.35);
  overflow: hidden;
  color: var(--mock-ink);
  transform: perspective(1600px) rotateY(-6deg) rotateX(1.5deg);
  transition: transform 0.5s ease;
}
.page-home .app-mock:hover {
  transform: perspective(1600px) rotateY(0deg) rotateX(0deg);
}
@media (max-width: 991px) {
  .page-home .app-mock {
    transform: none;
    max-width: 560px;
    margin: 0 auto;
  }
}
.page-home .app-mock-bar {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  background: #0f1424;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.page-home .app-mock-dots {
  display: inline-flex;
  gap: 6px;
}
.page-home .app-mock-dots i {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #394056;
}
.page-home .app-mock-dots i:nth-child(1) {
  background: #ff5f57;
}
.page-home .app-mock-dots i:nth-child(2) {
  background: #febc2e;
}
.page-home .app-mock-dots i:nth-child(3) {
  background: #28c840;
}
.page-home .app-mock-tag {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.16em;
  color: #aab2c8;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.08);
  padding: 4px 10px;
  border-radius: 999px;
}
.page-home .app-mock-body {
  padding: 20px;
}
.page-home .mock-search {
  display: flex;
  align-items: center;
  gap: 12px;
  background: var(--white-100);
  border: 1px solid var(--mock-line);
  border-radius: 12px;
  padding: 14px 16px;
  box-shadow: 0 1px 2px rgba(16, 19, 34, 0.04);
}
.page-home .mock-search-icon {
  width: 20px;
  height: 20px;
  color: #9aa1b2;
  flex-shrink: 0;
  stroke-linecap: round;
}
.page-home .mock-query {
  font-size: 16px;
  font-weight: 600;
  color: var(--mock-ink);
  white-space: nowrap;
  overflow: hidden;
}
.page-home .mock-caret {
  width: 2px;
  height: 20px;
  background: var(--coral-500);
  border-radius: 2px;
  margin-left: -6px;
  animation: mock-blink 1s steps(1) infinite;
}
.page-home .app-mock.is-done .mock-caret {
  opacity: 0;
}
.page-home .mock-understood {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 18px;
  min-height: 30px;
}
.page-home .mock-understood-label {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #b26a00;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity 0.35s ease, transform 0.35s ease;
}
.page-home .mock-chip {
  font-size: 12.5px;
  font-weight: 600;
  color: #3a2c00;
  background: #fff3d6;
  border: 1px solid #ffe0a3;
  padding: 5px 11px;
  border-radius: 999px;
  opacity: 0;
  transform: translateY(6px) scale(0.96);
  transition: opacity 0.35s ease, transform 0.35s ease;
}
.page-home .app-mock.is-chips .mock-understood-label {
  opacity: 1;
  transform: none;
}
.page-home .app-mock.is-chips .mock-chip {
  opacity: 1;
  transform: none;
}
.page-home .app-mock.is-chips .mock-chip:nth-child(2) {
  transition-delay: 0.12s;
}
.page-home .app-mock.is-chips .mock-chip:nth-child(3) {
  transition-delay: 0.24s;
}
.page-home .app-mock.is-chips .mock-chip:nth-child(4) {
  transition-delay: 0.36s;
}
.page-home .mock-count {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--mock-muted);
  margin: 20px 0 12px;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.page-home .app-mock.is-results .mock-count {
  opacity: 1;
}
.page-home .mock-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.page-home .mock-card {
  background: var(--white-100);
  border: 1px solid var(--mock-line);
  border-radius: 12px;
  padding: 14px 13px;
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 0.4s ease, transform 0.4s ease, box-shadow 0.2s ease;
}
.page-home .mock-card:hover {
  box-shadow: 0 12px 24px -12px rgba(16, 19, 34, 0.28);
}
.page-home .app-mock.is-results .mock-card {
  opacity: 1;
  transform: none;
}
.page-home .app-mock.is-results .mock-card:nth-child(2) {
  transition-delay: 0.12s;
}
.page-home .app-mock.is-results .mock-card:nth-child(3) {
  transition-delay: 0.24s;
}
.page-home .mock-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}
.page-home .mock-badge {
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: 0.08em;
  padding: 3px 7px;
  border-radius: 5px;
  color: var(--white-100);
}
.page-home .mock-badge.is-new {
  background: var(--blue-500);
}
.page-home .mock-badge.is-hot {
  background: var(--coral-500);
}
.page-home .mock-badge.is-repeat {
  background: var(--violet-500);
}
.page-home .mock-id {
  font-family: var(--font-mono);
  font-size: 9.5px;
  color: #aab0bd;
}
.page-home .mock-avatar {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 700;
  color: var(--white-100);
  background: linear-gradient(135deg, var(--violet-500), var(--blue-500));
  margin-bottom: 10px;
}
.page-home .mock-card:nth-child(2) .mock-avatar {
  background: linear-gradient(135deg, var(--coral-500), var(--pink-500));
}
.page-home .mock-card:nth-child(3) .mock-avatar {
  background: linear-gradient(135deg, var(--pink-500), var(--violet-500));
}
.page-home .mock-name {
  font-size: 14px;
  font-weight: 700;
  margin: 0 0 4px;
  color: var(--mock-ink);
}
.page-home .mock-meta {
  font-size: 11px;
  line-height: 1.4;
  color: var(--mock-muted);
  margin: 0 0 12px;
  min-height: 30px;
}
.page-home .mock-value {
  display: flex;
  flex-direction: column;
  gap: 1px;
  border-top: 1px solid var(--mock-line);
  padding-top: 10px;
}
.page-home .mock-value-label {
  font-size: 10px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #aab0bd;
}
.page-home .mock-value-num {
  font-size: 16px;
  font-weight: 800;
  color: var(--mock-ink);
}
@media (max-width: 420px) {
  .page-home .mock-cards {
    grid-template-columns: 1fr;
  }
}
@media (prefers-reduced-motion: reduce) {
  .page-home .mock-caret {
    display: none;
  }
  .page-home .mock-understood-label,
  .page-home .mock-chip,
  .page-home .mock-count,
  .page-home .mock-card {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}
.page-home {
  /* Problem — dark two-column (copy left, dashboard right) */
}
.page-home .problem-block h2 {
  font-size: clamp(28px, 3.6vw, 44px);
  line-height: 1.1;
  margin-top: 12px;
}
.page-home .problem-block p {
  margin-top: 16px;
  font-size: 16px;
  line-height: 1.7;
}
.page-home .problem-block .link-out {
  margin-top: 28px;
}
.page-home {
  /* Connected-systems visual (animated) — after the hero */
}
.page-home .connect-section {
  padding-top: clamp(48px, 6vw, 80px);
  padding-bottom: clamp(48px, 6vw, 80px);
}
.page-home .connect-visual {
  max-width: 1120px;
  margin: 0 auto;
}
.page-home .connect-visual img {
  width: 100%;
  height: auto;
  border-radius: 22px;
  box-shadow: 0 40px 80px -40px rgba(13, 19, 36, 0.5);
}
.page-home {
  /* Section dashboard / insights visuals (Problem + Solution) */
}
.page-home .problem-visual img {
  width: 100%;
  height: auto;
  filter: drop-shadow(0 30px 60px rgba(0, 0, 0, 0.5));
}
.page-home .solution-visual img {
  width: 100%;
  height: auto;
  filter: drop-shadow(0 26px 50px rgba(29, 26, 21, 0.22));
}
@media (max-width: 920px) {
  .page-home .problem-visual,
  .page-home .solution-visual {
    margin-top: 40px;
  }
}
.page-home {
  /* Pillar styles moved to _base.scss (global) so founding-partners gets them too. */
  /* Founding partners — copy left, gradient image right */
  /* .section.founding-section beats the generic .page-home .section light default */
}
.page-home .section.founding-section {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  min-height: 520px;
  background: radial-gradient(55% 85% at 80% 45%, rgba(139, 92, 246, 0.32), transparent 62%), radial-gradient(45% 75% at 98% 85%, rgba(91, 141, 255, 0.24), transparent 55%), radial-gradient(42% 65% at 72% 8%, rgba(255, 122, 89, 0.18), transparent 60%), linear-gradient(90deg, #14121c 0%, #16131f 45%, #101827 100%);
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.page-home .founding-visual {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 62%;
  background: url("../images/founding-visual.svg?v=5") no-repeat center right;
  background-size: contain;
  pointer-events: none;
}
.page-home .founding-copy {
  position: relative;
  z-index: 1;
  max-width: 520px;
}
.page-home .founding-copy h3 {
  font-size: clamp(24px, 3vw, 32px);
  line-height: 1.15;
  margin-top: 12px;
}
.page-home .founding-copy p {
  color: var(--fog-200);
  font-size: 16px;
  line-height: 1.7;
  max-width: 480px;
  margin-top: 16px;
}
.page-home .founding-copy .theme-btn {
  margin-top: 28px;
}
@media (max-width: 767px) {
  .page-home .section.founding-section {
    display: block;
    min-height: 0;
  }
  .page-home .founding-visual {
    width: 100%;
    opacity: 0.28;
    background-position: center top;
  }
  .page-home .founding-copy {
    max-width: 100%;
  }
}
.page-home {
  /* Problem/solution menu */
}
.page-home .menu-list {
  border-top: 1px solid var(--line-soft);
}
.page-home .menu-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: var(--space-20) var(--space-16);
  border-bottom: 1px solid var(--line-soft);
  cursor: pointer;
  transition: padding-left 0.25s ease, background 0.25s ease;
}
.page-home .menu-row span.q {
  font-size: 18px;
  font-weight: 500;
  color: var(--ink-700);
  transition: color 0.2s ease;
}
.page-home .menu-row span.arrow {
  flex-shrink: 0;
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-size: 18px;
  line-height: 1;
  color: var(--ink-500);
  background: var(--paper-alt);
  border: 1px solid var(--line-soft);
  transition: background 0.25s ease, color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.page-home .menu-row:hover {
  padding-left: var(--space-22);
  background: linear-gradient(90deg, rgba(255, 122, 89, 0.06), transparent 55%);
}
.page-home .menu-row:hover span.q {
  color: var(--ink-900);
}
.page-home .menu-row:hover span.arrow {
  color: var(--white-100);
  background: #000;
  border-color: transparent;
  transform: translateX(3px);
  box-shadow: 0 10px 22px -8px rgba(255, 93, 143, 0.55);
}
.page-home {
  /* Feature grid card styles are global (see base/_base.scss) */
  /* ---- Light-section overrides (how-section) ---- */
}
.page-home .section.light.how-section .process-num {
  color: var(--rose-deep);
  background: var(--cream-50);
  box-shadow: 0 0 0 8px var(--cream-50);
}
.page-home .section.light.how-section .process-step:hover .process-num {
  box-shadow: 0 0 0 8px var(--cream-50), 0 12px 26px rgba(255, 93, 143, 0.28);
}
.page-home .section.light.how-section .process-step h3 {
  color: var(--ink-900);
}
.page-home .section.light.how-section .process-step p {
  color: var(--ink-700);
}
.page-home {
  /* =========================================================
     FULL LIGHT THEME — surfaces, header, component re-skins
     ========================================================= */
  /* Header / nav → white */
}
.page-home header {
  background: var(--white-100);
  border-bottom: 1px solid var(--line-soft);
}
.page-home .navbar-brand.logo {
  color: var(--ink-900);
}
.page-home .site-nav .nav-link {
  color: var(--ink-900);
}
.page-home .site-nav .nav-link:hover, .page-home .site-nav .nav-link:focus, .page-home .site-nav .nav-link.show {
  color: var(--ink-900);
}
.page-home .site-nav .nav-link.active {
  color: var(--rose-deep);
}
.page-home .navbar-toggler {
  border-color: var(--line);
}
.page-home .navbar-toggler .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%231D1A15' stroke-width='2.5' stroke-linecap='round' d='M4 8h22M4 15h22M4 22h22'/%3e%3c/svg%3e");
}
.page-home header .ghost-btn {
  color: var(--ink-900);
  border-color: var(--line);
}
.page-home header .ghost-btn:hover {
  border-color: var(--ink-500);
}
.page-home {
  /* Section surfaces (all light, gentle alternation) */
}
.page-home .section {
  background: var(--paper);
  color: var(--ink-900);
}
.page-home .section.mid {
  background: var(--paper-alt);
}
.page-home {
  /* Alternating feature rows: soften the dark base divider on the light theme */
}
.page-home .alt-row {
  border-bottom-color: var(--line-soft);
}
.page-home .section.light {
  background: var(--cream);
  color: var(--ink-900);
}
.page-home .section.light.solution-section {
  background: var(--paper-alt);
}
.page-home .section.dark {
  position: relative;
  overflow: hidden;
  background: radial-gradient(560px 480px at 3% 6%, rgba(255, 122, 89, 0.22), transparent 60%), radial-gradient(640px 540px at 55% 112%, rgba(91, 141, 255, 0.2), transparent 62%), radial-gradient(600px 560px at 100% 44%, rgba(255, 93, 143, 0.2), transparent 60%), linear-gradient(180deg, #0b0b10 0%, var(--asphalt-950) 100%);
  color: var(--white-100);
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.page-home .section.dark h2,
.page-home .section.dark h3 {
  color: var(--white-100);
}
.page-home .section.dark p {
  color: var(--fog-200);
}
.page-home .section.dark .eyebrow {
  color: var(--pink-400);
}
.page-home .section.dark .eyebrow::before {
  background: var(--pink-400);
}
.page-home .section h2,
.page-home .section h3 {
  color: var(--ink-900);
}
.page-home .section-head p {
  color: var(--ink-700);
}
.page-home .eyebrow {
  color: var(--rose-deep);
}
.page-home .eyebrow::before {
  background: var(--rose-deep);
}
.page-home {
  /* Body copy on light */
}
.page-home .problem-block p,
.page-home .alt-copy p {
  color: var(--ink-700);
}
.page-home .ghost-btn {
  color: var(--ink-900);
  border-color: var(--line);
}
.page-home .ghost-btn:hover {
  border-color: var(--ink-500);
}
.page-home {
  /* Product screenshots — floating cards with a gentle drift */
}
.page-home .problem-visual img,
.page-home .solution-visual img {
  border-radius: 16px;
  box-shadow: 0 30px 60px -24px rgba(29, 26, 21, 0.28), 0 2px 8px rgba(29, 26, 21, 0.08);
  animation: float-soft 7s ease-in-out infinite;
}
.page-home {
  /* Feature cards → white */
}
.page-home .feat-card {
  background: var(--paper-alt);
  border-color: var(--line-soft);
  box-shadow: 0 1px 2px rgba(29, 26, 21, 0.04);
}
.page-home .feat-card h3 {
  color: var(--ink-900);
}
.page-home .feat-card p {
  color: var(--ink-700);
}
.page-home .feat-card:hover {
  border-color: var(--pink-500);
  box-shadow: 0 16px 32px -18px rgba(29, 26, 21, 0.25);
}
.page-home {
  /* Feature cards on a dark section → dark glass cards */
}
.page-home .section.dark .feat-card {
  background: rgba(255, 255, 255, 0.03);
  border-color: rgba(255, 255, 255, 0.09);
  box-shadow: none;
}
.page-home .section.dark .feat-card h3 {
  color: var(--white-100);
}
.page-home .section.dark .feat-card p {
  color: var(--fog-200);
}
.page-home .section.dark .feat-card:hover {
  border-color: var(--pink-500);
  background: rgba(255, 255, 255, 0.055);
  box-shadow: 0 20px 44px -22px rgba(0, 0, 0, 0.65);
}
.page-home {
  /* Compare columns → light cards */
}
.page-home .compare-col {
  background: var(--paper-alt);
  border-color: var(--line-soft);
  border-radius: 18px;
  box-shadow: 0 1px 2px rgba(29, 26, 21, 0.05);
  transition: transform 0.3s cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 0.3s ease;
}
.page-home .compare-col:hover {
  transform: translateY(-4px);
  box-shadow: 0 26px 54px -26px rgba(29, 26, 21, 0.2);
}
.page-home .compare-col h3 {
  color: var(--ink-700);
  border-bottom-color: var(--line-soft);
}
.page-home .compare-col .compare-item {
  color: var(--ink-700);
  border-color: var(--line-soft);
}
.page-home .compare-col {
  /* ✕ badge (old-way items) — visible soft circle on light cards */
}
.page-home .compare-col:not(.win) .compare-item::before {
  background: #efe9e1;
  color: #a99f8f;
}
.page-home .compare-col.win {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, var(--white-100) 0%, #fff6f9 100%);
  border-color: rgba(255, 93, 143, 0.4);
  box-shadow: 0 26px 56px -26px rgba(255, 93, 143, 0.45);
  /* gradient accent bar across the top */
}
.page-home .compare-col.win::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--brand-gradient);
}
.page-home .compare-col.win h3 {
  color: var(--ink-900);
}
.page-home .compare-col.win h3::after {
  color: var(--white-100);
  background: var(--brand-gradient);
  box-shadow: 0 6px 14px -6px rgba(255, 93, 143, 0.6);
}
.page-home .compare-col.win {
  /* ✓ badge → brand gradient with a soft glow */
}
.page-home .compare-col.win .compare-item::before {
  background: linear-gradient(135deg, var(--coral-500), var(--pink-500));
  box-shadow: 0 6px 14px -6px rgba(255, 93, 143, 0.55);
}
.page-home {
  /* Fix-your-problem menu */
}
.page-home .menu-list {
  border-top-color: var(--line-soft);
}
.page-home .menu-row {
  border-bottom-color: var(--line-soft);
}
.page-home .menu-row:hover {
  color: var(--rose-deep);
}
.page-home .menu-row span.arrow {
  color: var(--ink-500);
}
.page-home {
  /* Founding band → dark, with the gradient image on the right */
}
.page-home .founding-copy .eyebrow {
  color: var(--pink-400);
}
.page-home .founding-copy .eyebrow::before {
  background: var(--pink-400);
}
.page-home .founding-copy h3 {
  color: var(--white-100);
}
.page-home .founding-copy p {
  color: var(--fog-200);
}
.page-home {
  /* CTA card is styled globally (base/_base.scss); just keep the heading
     white over the dark card despite the light theme's dark section headings. */
}
.page-home .cta-block h2 {
  color: var(--white-100);
}
.page-home {
  /* Keep footer dark to anchor the light page */
}
.page-home footer {
  background: var(--asphalt-950);
}
.page-home {
  /* =========================================================
     Animated feature diagrams (replace static SVG images)
     ========================================================= */
}
.page-home .alt-visual {
  background: linear-gradient(160deg, var(--white-100), var(--cream));
  border: 1px solid var(--line-soft);
  border-radius: 18px;
  padding: 34px 28px;
  min-height: 264px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 20px 44px -30px rgba(29, 26, 21, 0.3);
}
.page-home .diagram {
  width: 100%;
  max-width: 420px;
}
.page-home {
  /* Diagram 1 — One live data layer */
}
.page-home .diagram-datalayer .dl-nodes {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}
.page-home .diagram-datalayer .dl-node {
  width: 30%;
  text-align: center;
  padding: 11px 0;
  border: 2px solid;
  border-radius: 12px;
  background: var(--paper-alt);
  font-family: var(--font-mono);
  font-weight: 700;
  font-size: 14px;
  animation: dl-pulse 3s ease-in-out infinite;
}
.page-home .diagram-datalayer .dl-crm {
  color: var(--coral-500);
  border-color: var(--coral-500);
}
.page-home .diagram-datalayer .dl-dms {
  color: var(--violet-500);
  border-color: var(--violet-500);
  animation-delay: 0.5s;
}
.page-home .diagram-datalayer .dl-cdp {
  color: var(--blue-500);
  border-color: var(--blue-500);
  animation-delay: 1s;
}
.page-home .diagram-datalayer .dl-wires {
  display: block;
  width: 100%;
  height: 84px;
  overflow: visible;
}
.page-home .diagram-datalayer .dl-base {
  fill: none;
  stroke: var(--line);
  stroke-width: 2;
}
.page-home .diagram-datalayer .dl-flow {
  fill: none;
  stroke-width: 2.6;
  stroke-linecap: round;
  stroke-dasharray: 10 88;
  animation: dl-flow 2.2s linear infinite;
}
.page-home .diagram-datalayer .dl-flow-1 {
  stroke: var(--coral-500);
}
.page-home .diagram-datalayer .dl-flow-2 {
  stroke: var(--violet-500);
  animation-delay: 0.5s;
}
.page-home .diagram-datalayer .dl-flow-3 {
  stroke: var(--blue-500);
  animation-delay: 1s;
}
.page-home .diagram-datalayer .dl-layer span {
  display: block;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 800;
  font-size: 14px;
  color: var(--white-100);
  padding: 15px;
  border-radius: 12px;
  background: var(--brand-gradient);
  box-shadow: 0 12px 26px -8px rgba(139, 92, 246, 0.5);
  position: relative;
  overflow: hidden;
}
.page-home .diagram-datalayer .dl-layer span::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 30%, rgba(255, 255, 255, 0.35) 50%, transparent 70%);
  transform: translateX(-120%);
  animation: sheen 3.4s ease-in-out infinite;
}
.page-home {
  /* Diagram 2 — Self-serve / Managed toggle */
}
.page-home .diagram-toggle {
  text-align: center;
}
.page-home .diagram-toggle .tg-track {
  position: relative;
  width: 280px;
  max-width: 100%;
  height: 48px;
  margin: 0 auto;
  display: flex;
  background: var(--cream);
  border: 1px solid var(--line-soft);
  border-radius: 999px;
}
.page-home .diagram-toggle .tg-thumb {
  position: absolute;
  top: 4px;
  left: 4px;
  width: calc(50% - 4px);
  height: calc(100% - 8px);
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(255, 122, 89, 0.22), rgba(139, 92, 246, 0.22));
  border: 1px solid rgba(139, 92, 246, 0.4);
  animation: tg-slide 6s ease-in-out infinite;
}
.page-home .diagram-toggle .tg-opt {
  flex: 1;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13.5px;
  font-weight: 700;
  color: var(--ink-900);
}
.page-home .diagram-toggle .tg-panels {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin: 20px 0 12px;
}
.page-home .diagram-toggle .tg-panel {
  flex: 1;
  font-size: 12px;
  color: var(--ink-700);
  display: flex;
  align-items: center;
  gap: 6px;
  justify-content: center;
}
.page-home .diagram-toggle .tg-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--brand-gradient);
}
.page-home .diagram-toggle .tg-caption {
  font-size: 12.5px;
  color: var(--ink-500);
}
.page-home {
  /* Diagram 3 — Always-on AI chat */
}
.page-home .diagram-chat {
  text-align: left;
}
.page-home .diagram-chat .ch-head {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  font-size: 13px;
  color: var(--ink-900);
  margin-bottom: 14px;
}
.page-home .diagram-chat .ch-online {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #28c840;
  animation: ch-blink 2s ease-in-out infinite;
}
.page-home .diagram-chat .ch-badge {
  margin-left: auto;
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 700;
  color: var(--white-100);
  background: var(--brand-gradient);
  padding: 3px 9px;
  border-radius: 999px;
}
.page-home .diagram-chat .ch-msg {
  max-width: 80%;
  padding: 10px 13px;
  border-radius: 14px;
  font-size: 13px;
  line-height: 1.4;
  margin-bottom: 10px;
}
.page-home .diagram-chat .ch-in {
  background: var(--cream);
  border: 1px solid var(--line-soft);
  color: var(--ink-900);
  border-bottom-left-radius: 4px;
}
.page-home .diagram-chat .ch-out {
  margin-left: auto;
  background: var(--brand-gradient);
  color: var(--white-100);
  border-bottom-right-radius: 4px;
}
.page-home .diagram-chat .ch-typing {
  display: inline-flex;
  gap: 4px;
  padding: 2px 0;
}
.page-home .diagram-chat .ch-typing i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.9);
  animation: ch-typing 1.2s ease-in-out infinite;
}
.page-home .diagram-chat .ch-typing i:nth-child(2) {
  animation-delay: 0.15s;
}
.page-home .diagram-chat .ch-typing i:nth-child(3) {
  animation-delay: 0.3s;
}
.page-home .diagram-chat .ch-status {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: var(--ink-700);
  margin-top: 4px;
}
.page-home .diagram-chat .ch-check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #e7f7ea;
  color: #1a8f3c;
  font-size: 11px;
  font-weight: 700;
}
.page-home {
  /* Diagram 4 — Get found (search + AI answer) */
}
.page-home .diagram-search {
  text-align: left;
}
.page-home .diagram-search .sr-bar {
  display: flex;
  align-items: center;
  gap: 10px;
  background: var(--paper-alt);
  border: 1px solid var(--line-soft);
  border-radius: 10px;
  padding: 12px 14px;
  box-shadow: 0 1px 2px rgba(29, 26, 21, 0.04);
}
.page-home .diagram-search .sr-icon {
  width: 18px;
  height: 18px;
  color: #9aa1b2;
  stroke-linecap: round;
  flex-shrink: 0;
}
.page-home .diagram-search .sr-q {
  font-size: 14px;
  font-weight: 600;
  color: var(--ink-900);
}
.page-home .diagram-search .sr-answer {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 16px 0;
}
.page-home .diagram-search .sr-ai {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 700;
  color: #b26a00;
  white-space: nowrap;
}
.page-home .diagram-search .sr-fill {
  flex: 1;
  height: 8px;
  border-radius: 999px;
  background: var(--cream);
  overflow: hidden;
}
.page-home .diagram-search .sr-fill i {
  display: block;
  height: 100%;
  width: 40%;
  border-radius: 999px;
  background: var(--brand-gradient);
  animation: sr-fill 2.8s ease-in-out infinite;
}
.page-home .diagram-search .sr-rank {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--paper-alt);
  border: 1px solid var(--line-soft);
  border-radius: 10px;
  padding: 10px 14px;
  font-size: 13px;
  font-weight: 600;
  color: var(--ink-900);
  animation: float-soft 4.5s ease-in-out infinite;
}
.page-home .diagram-search .sr-badge {
  font-family: var(--font-mono);
  font-weight: 800;
  color: var(--white-100);
  background: var(--brand-gradient);
  padding: 3px 8px;
  border-radius: 6px;
  font-size: 12px;
}
.page-home {
  /* =========================================================
     Problem — centered, light, serif (with animated dashboard)
     ========================================================= */
}
.page-home .problem-feature {
  background: linear-gradient(180deg, var(--white-100) 0%, var(--cream) 100%);
}
.page-home .problem-feature .section-head {
  max-width: 760px;
}
.page-home .problem-feature .pf-title {
  font-family: var(--font-serif);
  font-weight: 500;
  letter-spacing: -0.01em;
  color: var(--ink-900);
  font-size: clamp(30px, 4.4vw, 52px);
  margin-top: 14px;
}
.page-home .problem-feature .pf-visual {
  max-width: 760px;
  margin: clamp(32px, 4vw, 52px) auto 0;
}
.page-home .problem-feature .pf-visual img {
  width: 100%;
  height: auto;
  border-radius: 16px;
  box-shadow: 0 34px 66px -30px rgba(29, 26, 21, 0.4);
  animation: float-soft 7s ease-in-out infinite;
}
.page-home .problem-feature .pf-cta {
  text-align: center;
  margin-top: clamp(28px, 3vw, 40px);
}
.page-home {
  /* =========================================================
     Plain-English search — feature band (ScoutRV-style, dormant)
     ========================================================= */
}
.page-home .pes-section {
  background: radial-gradient(900px 480px at 50% -10%, rgba(245, 166, 35, 0.07), transparent 60%), linear-gradient(180deg, var(--white-100) 0%, var(--cream) 100%);
  color: var(--ink-900);
  border-top: 1px solid var(--line-soft);
  border-bottom: 1px solid var(--line-soft);
}
.page-home .pes-section .section-head {
  max-width: 720px;
}
.page-home .pes-section .section-head p {
  color: var(--ink-700);
}
.page-home .pes-section .pes-eyebrow {
  color: #a15c00;
}
.page-home .pes-section .pes-eyebrow::before {
  background: #a15c00;
}
.page-home .pes-section .pes-title {
  font-family: var(--font-serif);
  font-weight: 500;
  letter-spacing: -0.01em;
  color: var(--ink-900);
  font-size: clamp(30px, 4.4vw, 52px);
  margin-top: 14px;
}
.page-home .pes-section .pes-panel {
  max-width: 1000px;
  margin: clamp(36px, 4vw, 56px) auto 0;
  background: linear-gradient(180deg, var(--white-100), #f4f6fb);
  border: 1px solid var(--line-soft);
  border-radius: 18px;
  box-shadow: 0 34px 66px -32px rgba(29, 26, 21, 0.4);
  overflow: hidden;
}
.page-home .pes-section .pes-panel .mock-query {
  color: var(--ink-900);
  font-size: clamp(15px, 1.6vw, 19px);
}
.page-home .pes-section .pes-panel .mock-caret {
  background: #e8890b;
  height: 22px;
}
.page-home .pes-section .pes-panel .mock-understood {
  margin-top: 20px;
}
.page-home .pes-section .pes-panel .mock-understood-label {
  color: #b26a00;
}
.page-home .pes-section .pes-panel .mock-count {
  color: var(--ink-500);
  margin: 22px 0 14px;
}
.page-home .pes-section .pes-panel.is-chips .mock-understood-label {
  opacity: 1;
  transform: none;
}
.page-home .pes-section .pes-panel.is-chips .mock-chip {
  opacity: 1;
  transform: none;
}
.page-home .pes-section .pes-panel.is-chips .mock-chip:nth-child(3) {
  transition-delay: 0.1s;
}
.page-home .pes-section .pes-panel.is-chips .mock-chip:nth-child(4) {
  transition-delay: 0.2s;
}
.page-home .pes-section .pes-panel.is-chips .mock-chip:nth-child(5) {
  transition-delay: 0.3s;
}
.page-home .pes-section .pes-panel.is-results .mock-count {
  opacity: 1;
}
.page-home .pes-section .pes-panel.is-results .pes-card {
  opacity: 1;
  transform: none;
}
.page-home .pes-section .pes-panel.is-results .pes-card:nth-child(2) {
  transition-delay: 0.12s;
}
.page-home .pes-section .pes-panel.is-results .pes-card:nth-child(3) {
  transition-delay: 0.24s;
}
.page-home .pes-section .pes-panel.is-done .mock-caret {
  opacity: 0;
}
.page-home .pes-section .pes-bar {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 18px;
  background: #f7f8fb;
  border-bottom: 1px solid var(--line-soft);
}
.page-home .pes-section .pes-dots {
  display: inline-flex;
  gap: 7px;
}
.page-home .pes-section .pes-dots i {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #cfd4de;
}
.page-home .pes-section .pes-tag {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.16em;
  color: var(--ink-500);
  background: var(--white-100);
  border: 1px solid var(--line-soft);
  padding: 5px 12px;
  border-radius: 999px;
}
.page-home .pes-section .pes-body {
  padding: clamp(18px, 3vw, 28px);
}
.page-home .pes-section .pes-search {
  display: flex;
  align-items: center;
  gap: 14px;
  background: var(--white-100);
  border: 1px solid var(--line-soft);
  border-radius: 12px;
  padding: 16px 18px;
  box-shadow: 0 1px 2px rgba(29, 26, 21, 0.04);
}
.page-home .pes-section .pes-search-icon {
  width: 20px;
  height: 20px;
  color: #9aa1b2;
  flex-shrink: 0;
  stroke-linecap: round;
}
.page-home .pes-section .pes-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
@media (max-width: 720px) {
  .page-home .pes-section .pes-cards {
    grid-template-columns: 1fr;
  }
}
.page-home .pes-section .pes-card {
  background: var(--white-100);
  border: 1px solid var(--line-soft);
  border-radius: 14px;
  overflow: hidden;
  color: var(--asphalt-900);
  opacity: 0;
  transform: translateY(14px);
  transition: opacity 0.45s ease, transform 0.45s ease;
  box-shadow: 0 14px 30px -18px rgba(29, 26, 21, 0.3);
}
.page-home .pes-section .pes-img {
  position: relative;
  height: 118px;
  background: linear-gradient(150deg, #e9edf3, #d6dbe4 60%, #cfd5df);
}
.page-home .pes-section .pes-badge {
  position: absolute;
  top: 10px;
  left: 10px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.04em;
  padding: 4px 9px;
  border-radius: 6px;
  color: var(--asphalt-900);
}
.page-home .pes-section .pes-badge.is-featured {
  background: #f5b301;
}
.page-home .pes-section .pes-badge.is-special {
  background: #e23744;
  color: var(--white-100);
}
.page-home .pes-section .pes-photos {
  position: absolute;
  right: 10px;
  bottom: 10px;
  font-size: 10.5px;
  font-weight: 600;
  color: var(--white-100);
  background: rgba(0, 0, 0, 0.6);
  padding: 3px 8px;
  border-radius: 6px;
}
.page-home .pes-section .pes-card-body {
  padding: 12px 14px 14px;
}
.page-home .pes-section .pes-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}
.page-home .pes-section .pes-cond {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #2b6cb0;
  background: #e8f0fb;
  padding: 2px 7px;
  border-radius: 5px;
}
.page-home .pes-section .pes-cond.is-used {
  color: #6b7280;
  background: #eef0f3;
}
.page-home .pes-section .pes-stock {
  font-family: var(--font-mono);
  font-size: 10px;
  color: #9aa1b0;
}
.page-home .pes-section .pes-model {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.25;
  margin: 0 0 8px;
  color: var(--asphalt-900);
}
.page-home .pes-section .pes-specs {
  font-size: 11.5px;
  color: #6b7280;
  margin: 0 0 12px;
}
.page-home .pes-section .pes-price {
  display: flex;
  align-items: baseline;
  gap: 8px;
  border-top: 1px solid #edeef1;
  padding-top: 10px;
}
.page-home .pes-section .pes-was {
  font-size: 12px;
  color: #a2a8b3;
  text-decoration: line-through;
}
.page-home .pes-section .pes-now {
  font-size: 18px;
  font-weight: 800;
  color: var(--asphalt-900);
}
@media (prefers-reduced-motion: reduce) {
  .page-home .problem-visual img,
  .page-home .solution-visual img,
  .page-home .dl-node,
  .page-home .dl-flow,
  .page-home .dl-layer span::after,
  .page-home .tg-thumb,
  .page-home .ch-online,
  .page-home .ch-typing i,
  .page-home .sr-fill i,
  .page-home .sr-rank {
    animation: none !important;
  }
}

@keyframes mock-blink {
  50% {
    opacity: 0;
  }
}
@keyframes float-soft {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-6px);
  }
}
@keyframes sheen {
  0%, 60% {
    transform: translateX(-120%);
  }
  100% {
    transform: translateX(120%);
  }
}
@keyframes dl-pulse {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
  }
  50% {
    box-shadow: 0 0 0 5px rgba(139, 92, 246, 0.08);
  }
}
@keyframes dl-flow {
  from {
    stroke-dashoffset: 98;
  }
  to {
    stroke-dashoffset: 0;
  }
}
@keyframes tg-slide {
  0%, 22% {
    transform: translateX(0);
  }
  50%, 72% {
    transform: translateX(100%);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes ch-blink {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(40, 200, 64, 0.5);
  }
  50% {
    box-shadow: 0 0 0 5px rgba(40, 200, 64, 0);
  }
}
@keyframes ch-typing {
  0%, 100% {
    transform: translateY(0);
    opacity: 0.5;
  }
  50% {
    transform: translateY(-4px);
    opacity: 1;
  }
}
@keyframes sr-fill {
  0% {
    width: 10%;
  }
  50% {
    width: 92%;
  }
  100% {
    width: 10%;
  }
}
/* Page styles for Platform */
/* Use this file to add page-specific overrides for the Platform page.
   No overrides today to preserve current layout and visuals.
*/
/* Page styles for CRM */
/* Note: stat band + showcase rows are shared with the CDP and DMS pages
   (also defined in their partials); kept here so the CRM page's styles are
   self-contained. */
/* Stat band — key metrics row inside the hero */
.stat-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-16);
}
@media (max-width: 700px) {
  .stat-row {
    grid-template-columns: repeat(2, 1fr);
  }
}

.stat-item {
  text-align: center;
  padding: var(--space-24) var(--space-18);
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid var(--steel-600);
  border-radius: var(--radius-14);
}

.stat-num {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(30px, 4vw, 44px);
  line-height: 1;
  background: var(--brand-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.stat-label {
  color: var(--fog-200);
  font-size: 14px;
  line-height: 1.55;
  margin-top: 10px;
}

.page-hero .stat-row {
  margin-top: var(--space-44);
}

/* "From First Touch to Repeat Buyer" alternating feature rows */
.showcase-row {
  margin-bottom: var(--space-56);
}
.showcase-row:last-child {
  margin-bottom: 0;
}

.showcase-copy h3 {
  font-size: clamp(22px, 2.6vw, 30px);
  line-height: 1.15;
  color: var(--ink-900);
  margin: 0 0 12px;
}
.showcase-copy p {
  color: var(--ink-700);
  font-size: 16px;
  line-height: 1.7;
  margin: 0;
}

/* Feature checklist grid ("Every Feature You Need") */
.text-grad {
  background: var(--brand-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.fcard {
  height: 100%;
  background: var(--asphalt-800);
  border: 1px solid var(--steel-600);
  border-radius: var(--radius-14);
  padding: var(--space-36) var(--space-34);
  transition: border-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}
.fcard:hover {
  border-color: var(--accent, var(--pink-500));
  transform: translateY(-3px);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.4);
}
.fcard h3 {
  font-size: 19px;
  color: var(--white-100);
  margin: 0 0 16px;
}

.fcard-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 14px;
  margin-bottom: var(--space-18);
}
.fcard-ico svg {
  width: 26px;
  height: 26px;
}

.fcard-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 12px;
}
.fcard-list li {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  font-size: 14.5px;
  color: var(--fog-200);
  line-height: 1.45;
}

.fcard-check {
  flex-shrink: 0;
  width: 19px;
  height: 19px;
  color: #34d399;
  margin-top: 1px;
}

/* Unified inbox panel — dark */
.inbox-section {
  position: relative;
  overflow: hidden;
  background: radial-gradient(50% 60% at 8% 8%, rgba(163, 230, 53, 0.06), transparent 60%), radial-gradient(45% 60% at 92% 26%, rgba(45, 212, 191, 0.06), transparent 60%), var(--asphalt-900);
}

.inbox-panel {
  position: relative;
  overflow: hidden;
  max-width: 900px;
  margin: 0 auto;
  background: linear-gradient(180deg, #16161b, #101015);
  border: 1px solid var(--steel-600);
  border-radius: 20px;
  box-shadow: 0 40px 90px -40px rgba(0, 0, 0, 0.8);
  padding: 14px;
}

/* Diagonal light-sweep shimmer gliding across the panel */
.inbox-panel::after {
  content: "";
  position: absolute;
  top: -20%;
  left: -60%;
  width: 45%;
  height: 140%;
  pointer-events: none;
  transform: skewX(-14deg);
  background: linear-gradient(105deg, transparent 0%, rgba(45, 212, 191, 0.05) 38%, rgba(140, 190, 255, 0.12) 50%, rgba(45, 212, 191, 0.05) 62%, transparent 100%);
  animation: inboxSweep 5s ease-in-out infinite;
}

@keyframes inboxSweep {
  0% {
    left: -60%;
  }
  55%, 100% {
    left: 130%;
  }
}
@media (prefers-reduced-motion: reduce) {
  .inbox-panel::after {
    animation: none;
    opacity: 0;
  }
}
.inbox-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 20px 16px;
  border-bottom: 1px solid var(--steel-600);
}

.inbox-title {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 700;
  font-size: 17px;
  color: var(--white-100);
}

.inbox-title svg {
  width: 22px;
  height: 22px;
  color: #2dd4bf;
}

.inbox-new {
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 700;
  color: #1a2e05;
  background: #a3e635;
  border-radius: 999px;
  padding: 6px 14px;
  animation: newPulse 2.4s ease-in-out infinite;
  transform-origin: center;
}

.inbox-row {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 18px;
  margin-top: 10px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid transparent;
  transition: background 0.15s ease;
  animation: inboxPop 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}

.inbox-row:hover {
  background: rgba(255, 255, 255, 0.05);
}

/* Sequential pop-in: John, then Sarah, then Mike, then Lisa */
.inbox-row:nth-child(2) {
  animation-delay: 0.05s;
}

.inbox-row:nth-child(3) {
  animation-delay: 0.25s;
}

.inbox-row:nth-child(4) {
  animation-delay: 0.45s;
}

.inbox-row:nth-child(5) {
  animation-delay: 0.65s;
}

.inbox-row.is-unread {
  background: linear-gradient(90deg, rgba(20, 184, 166, 0.14), rgba(59, 130, 246, 0.12));
  border: 1px solid rgba(45, 212, 191, 0.45);
  animation: inboxPop 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) both, inboxGlow 2.6s ease-in-out 1.4s infinite;
}

.inbox-chan-card {
  animation: inboxPop 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}

.inbox-chan-card:nth-child(1) {
  animation-delay: 0.85s;
}

.inbox-chan-card:nth-child(2) {
  animation-delay: 0.97s;
}

.inbox-chan-card:nth-child(3) {
  animation-delay: 1.09s;
}

@keyframes inboxPop {
  0% {
    opacity: 0;
    transform: translateY(16px) scale(0.96);
  }
  60% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    transform: none;
  }
}
@keyframes inboxGlow {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(45, 212, 191, 0);
  }
  50% {
    box-shadow: 0 0 0 5px rgba(45, 212, 191, 0.14);
  }
}
@keyframes newPulse {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.07);
  }
}
.inbox-avatar {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--white-100);
  font-weight: 700;
  font-size: 14px;
  font-family: var(--font-mono);
}

.inbox-main {
  flex: 1;
  min-width: 0;
}

.inbox-name-row {
  display: flex;
  align-items: center;
  gap: 10px;
}

.inbox-name {
  font-weight: 700;
  font-size: 15.5px;
  color: var(--white-100);
}

.inbox-chan {
  font-family: var(--font-mono);
  font-size: 10.5px;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 6px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.inbox-preview {
  font-size: 14px;
  color: var(--fog-200);
  margin-top: 4px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.inbox-time {
  font-size: 12.5px;
  color: var(--fog-300);
  flex-shrink: 0;
}

.inbox-channels {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  padding: 14px 6px 6px;
}

.inbox-chan-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 26px 12px;
  border-radius: 16px;
  background: linear-gradient(155deg, var(--g1), var(--g2));
  border: 1px solid var(--cb);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.inbox-chan-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 40px -20px rgba(0, 0, 0, 0.7);
}

.inbox-chan-card svg {
  width: 28px;
  height: 28px;
  color: var(--c);
}

.inbox-chan-card span {
  font-size: 14.5px;
  font-weight: 700;
  color: var(--white-100);
}

@media (max-width: 560px) {
  .inbox-channels {
    grid-template-columns: 1fr;
  }
}
@media (prefers-reduced-motion: reduce) {
  .inbox-row, .inbox-row.is-unread, .inbox-new, .inbox-chan-card {
    animation: none;
  }
}
/* AI-Powered feature panel (CRM) */
.ai-feature-section {
  background: var(--white-100);
}

.ai-feature-panel {
  position: relative;
  overflow: hidden;
  border-radius: 28px;
  padding: clamp(40px, 5vw, 72px) clamp(22px, 4vw, 56px);
  border: 1px solid rgba(139, 92, 246, 0.25);
  background: radial-gradient(72% 90% at 50% -10%, rgba(139, 92, 246, 0.3), transparent 68%), radial-gradient(60% 80% at 12% 108%, rgba(255, 93, 143, 0.14), transparent 70%), linear-gradient(180deg, #1a1030, #130b22);
}

.ai-feature-panel .section-head {
  margin-bottom: var(--space-44);
}

.ai-card {
  height: 100%;
  border-radius: 18px;
  padding: 32px 30px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}

.ai-card:hover {
  transform: translateY(-4px);
  border-color: var(--c);
  background: rgba(255, 255, 255, 0.05);
  box-shadow: 0 24px 55px -26px rgba(0, 0, 0, 0.75);
}

.ai-card-ico {
  display: inline-flex;
  margin-bottom: 20px;
  color: var(--c);
}

.ai-card-ico svg {
  width: 44px;
  height: 44px;
}

.ai-card h3 {
  font-size: 21px;
  color: var(--white-100);
  margin: 0 0 12px;
}

.ai-card > p {
  font-size: 15px;
  line-height: 1.7;
  color: var(--fog-200);
  margin: 0 0 20px;
}

.ai-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.ai-tags span {
  font-size: 13px;
  font-weight: 600;
  padding: 7px 14px;
  border-radius: 999px;
  color: var(--c);
  background: color-mix(in srgb, var(--c) 14%, transparent);
  border: 1px solid color-mix(in srgb, var(--c) 32%, transparent);
}

/* Old Way vs Dealer Ultimate comparison (CRM) */
.compare-section {
  background: radial-gradient(55% 75% at 18% 0%, rgba(255, 122, 89, 0.06), transparent 60%), radial-gradient(55% 75% at 85% 100%, rgba(255, 93, 143, 0.08), transparent 60%), var(--cream-50);
}

.compare-card {
  height: 100%;
  background: var(--white-100);
  border: 1px solid #eae5db;
  border-radius: 20px;
  padding: 32px 34px 14px;
  box-shadow: 0 24px 60px -42px rgba(0, 0, 0, 0.4);
}

.compare-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 18px;
  border-bottom: 1px solid #ece7dd;
}

.compare-head h3 {
  font-size: 24px;
  color: var(--ink-900);
  margin: 0;
}

.compare-card.is-featured {
  position: relative;
  border-color: rgba(255, 93, 143, 0.35);
  box-shadow: 0 30px 70px -38px rgba(255, 93, 143, 0.45);
}

.compare-card.is-featured::before {
  content: "";
  position: absolute;
  inset: -1px;
  border-radius: 21px;
  background: var(--brand-gradient);
  -webkit-mask: linear-gradient(#000, #000) top/100% 6px no-repeat;
  mask: linear-gradient(#000, #000) top/100% 6px no-repeat;
  pointer-events: none;
}

.compare-badge {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 700;
  color: var(--white-100);
  background: var(--brand-gradient);
  padding: 6px 14px;
  border-radius: 999px;
}

.compare-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.compare-list li {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 17px 0;
  border-bottom: 1px solid #f1ece2;
  font-size: 15.5px;
  line-height: 1.55;
  color: var(--ink-700);
}

.compare-list li:last-child {
  border-bottom: 0;
}

.compare-card.is-featured .compare-list li {
  color: var(--ink-900);
}

.compare-ico {
  flex-shrink: 0;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 1px;
}

.compare-ico svg {
  width: 14px;
  height: 14px;
}

.compare-ico.is-x {
  background: #ece8e0;
  color: #9a9488;
}

.compare-ico.is-check {
  background: var(--brand-gradient);
  color: var(--white-100);
}

/* Page styles for DMS */
/* Note: stat band + showcase rows are shared with the CDP page (also defined
   in _cdp.scss); kept here so the DMS page's styles are self-contained. */
/* Stat band — key metrics row inside the hero */
.stat-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-16);
}
@media (max-width: 700px) {
  .stat-row {
    grid-template-columns: repeat(2, 1fr);
  }
}

.stat-item {
  text-align: center;
  padding: var(--space-24) var(--space-18);
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid var(--steel-600);
  border-radius: var(--radius-14);
}

.stat-num {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(30px, 4vw, 44px);
  line-height: 1;
  background: var(--brand-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.stat-label {
  color: var(--fog-200);
  font-size: 14px;
  line-height: 1.55;
  margin-top: 10px;
}

.page-hero .stat-row {
  margin-top: var(--space-44);
}

/* "Every Department, One System" alternating feature rows */
.showcase-row {
  margin-bottom: var(--space-56);
}
.showcase-row:last-child {
  margin-bottom: 0;
}

.showcase-copy h3 {
  font-size: clamp(22px, 2.6vw, 30px);
  line-height: 1.15;
  color: var(--ink-900);
  margin: 0 0 12px;
}
.showcase-copy p {
  color: var(--ink-700);
  font-size: 16px;
  line-height: 1.7;
  margin: 0;
}

/* "Work Anywhere" DMS overview section */
.section.dept-section {
  background: var(--white-100);
}

.dept-section .section-head {
  margin-bottom: var(--space-40);
}

.dept-subtitle {
  color: #8f8a7e;
  font-size: clamp(17px, 2vw, 21px);
  font-weight: 700;
  line-height: 1.4;
  margin: 0 0 16px;
}

.dept-intro {
  color: var(--ink-700);
  font-size: 16px;
  line-height: 1.7;
  max-width: 760px;
  margin: 0 auto;
}

.dept-card {
  height: 100%;
  background: var(--asphalt-800);
  border: 1px solid var(--steel-600);
  border-radius: 20px;
  padding: 36px 36px 34px;
  box-shadow: 0 30px 70px -44px rgba(0, 0, 0, 0.55);
}

.dept-card h3 {
  font-size: clamp(22px, 2.4vw, 27px);
  color: var(--white-100);
  margin: 0 0 18px;
}

.dept-card > p {
  color: var(--fog-200);
  font-size: 15.5px;
  line-height: 1.75;
  margin: 0 0 18px;
}

.dept-card > p:last-child {
  margin-bottom: 0;
}

.dept-strong strong {
  color: var(--white-100);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.feat-col-title {
  font-size: 19px;
  color: var(--white-100);
  margin: 0 0 16px;
}

.feat-col-title.mt {
  margin-top: 30px;
}

.feat-check-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 12px;
}

.feat-check-list li {
  position: relative;
  padding-left: 28px;
  color: var(--fog-200);
  font-size: 15px;
  line-height: 1.4;
}

.feat-check-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--blue-500);
  font-weight: 800;
  font-size: 15px;
}

.dept-learn-note {
  color: var(--fog-200);
  font-size: 15px;
  line-height: 1.55;
  margin: 0 0 18px;
}

/* Page styles for CDP */
/* Stat band — key metrics row under the hero */
.stat-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-16);
}
@media (max-width: 700px) {
  .stat-row {
    grid-template-columns: repeat(2, 1fr);
  }
}

.stat-item {
  text-align: center;
  padding: var(--space-24) var(--space-18);
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid var(--steel-600);
  border-radius: var(--radius-14);
}

.stat-num {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(30px, 4vw, 44px);
  line-height: 1;
  background: var(--brand-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.stat-label {
  color: var(--fog-200);
  font-size: 14px;
  line-height: 1.55;
  margin-top: 10px;
}

/* "The Core" data-flow diagram (Fullpath-style: hub + branching icon tiles) */
.data-core-viz svg {
  display: block;
  width: 100%;
  height: auto;
}

.data-core-title {
  font-size: clamp(24px, 3vw, 34px);
  line-height: 1.15;
  color: var(--ink-900);
  margin: 0;
}

.data-core-copy {
  color: var(--ink-700);
  font-size: 16px;
  line-height: 1.7;
  margin-top: 18px;
}

/* Stats sit inside the hero (one continuous section, no seam) */
.page-hero .stat-row {
  margin-top: var(--space-44);
}

/* "From Data to Driveway" alternating feature rows */
.showcase-row {
  margin-bottom: var(--space-56);
}
.showcase-row:last-child {
  margin-bottom: 0;
}

.showcase-copy h3 {
  font-size: clamp(22px, 2.6vw, 30px);
  line-height: 1.15;
  color: var(--ink-900);
  margin: 0 0 12px;
}
.showcase-copy p {
  color: var(--ink-700);
  font-size: 16px;
  line-height: 1.7;
  margin: 0;
}

/* Lead Qualification Snapshot (BANT) cards (CDP) */
.bant-card {
  height: 100%;
  background: var(--white-100);
  border: 1px solid #eae5db;
  border-radius: 18px;
  padding: 28px 30px;
  box-shadow: 0 24px 60px -46px rgba(0, 0, 0, 0.4);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.bant-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 30px 66px -40px rgba(0, 0, 0, 0.5);
}

.bant-top {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 18px;
}

.bant-ico {
  flex-shrink: 0;
  width: 52px;
  height: 52px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--c);
  color: var(--white-100);
}

.bant-ico svg {
  width: 26px;
  height: 26px;
}

.bant-titles {
  flex: 1;
  min-width: 0;
}

.bant-titles h3 {
  font-size: 20px;
  color: var(--ink-900);
  margin: 0 0 4px;
}

.bant-sub {
  font-size: 14px;
  color: var(--ink-700);
}

.bant-score {
  flex-shrink: 0;
  text-align: right;
  color: var(--c);
  line-height: 1;
}

.bant-score b {
  font-family: var(--font-display);
  font-size: 27px;
  font-weight: 800;
}

.bant-score span {
  font-size: 14px;
  color: #9a9488;
  font-weight: 600;
}

.bant-card > p {
  color: var(--ink-700);
  font-size: 15px;
  line-height: 1.65;
  margin: 0 0 22px;
}

.bant-bar {
  height: 8px;
  border-radius: 999px;
  background: #ece7dd;
  overflow: hidden;
}

.bant-bar span {
  display: block;
  height: 100%;
  border-radius: 999px;
  background: var(--c);
}

/* Page styles for Website */
/* SEO Performance Comparison — dual gauge scorecard (Website) */
.seo-section {
  background: radial-gradient(60% 80% at 12% 0%, rgba(91, 141, 255, 0.08), transparent 60%), radial-gradient(55% 80% at 90% 100%, rgba(255, 93, 143, 0.07), transparent 60%), var(--asphalt-950);
}

.seo-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

.seo-row {
  display: flex;
  flex-direction: column;
  gap: 22px;
  height: 100%;
  padding: 26px 30px;
  border: 1px solid var(--steel-600);
  border-radius: 18px;
  background: var(--asphalt-800);
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.seo-row:hover {
  transform: translateY(-3px);
  border-color: rgba(91, 141, 255, 0.4);
  box-shadow: 0 26px 60px -40px rgba(0, 0, 0, 0.7);
}

.seo-row-copy {
  flex: 1;
  min-width: 0;
}

.seo-row-copy h3 {
  font-size: 20px;
  color: var(--white-100);
  margin: 0 0 8px;
}

.seo-row-copy p {
  color: var(--fog-200);
  font-size: 15px;
  line-height: 1.6;
  margin: 0;
}

.seo-gauges {
  display: flex;
  gap: 30px;
  flex-shrink: 0;
}

.seo-gauge {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.gauge {
  position: relative;
  width: 84px;
  height: 84px;
}

.gauge-svg {
  width: 100%;
  height: 100%;
}

.gauge-track {
  fill: none;
  stroke: var(--steel-600);
  stroke-width: 7;
}

.gauge-ring {
  fill: none;
  stroke-width: 7;
  stroke-linecap: round;
  stroke-dasharray: 214;
  stroke-dashoffset: var(--off);
  transform: rotate(-90deg);
  transform-origin: 50% 50%;
  animation: gaugeDraw 1.15s cubic-bezier(0.4, 0, 0.2, 1) both;
}

.gauge-comp {
  stroke: #6b6b76;
}

.gauge-du {
  stroke: url(#duGrad);
  filter: drop-shadow(0 0 6px rgba(139, 92, 246, 0.5));
}

.gauge-score {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 21px;
  color: var(--white-100);
}

.gauge-score small {
  font-size: 11px;
  font-weight: 600;
  color: var(--fog-300);
  margin-left: 1px;
}

.gauge-label {
  font-size: 12.5px;
  font-weight: 600;
  color: var(--fog-300);
}

.seo-gauge.is-du .gauge-label {
  color: var(--white-100);
}

@keyframes gaugeDraw {
  from {
    stroke-dashoffset: 214;
  }
}
@media (prefers-reduced-motion: reduce) {
  .gauge-ring {
    animation: none;
  }
}
@media (max-width: 767px) {
  .seo-list {
    grid-template-columns: 1fr;
  }
}
/* Light-section variant of the feature checklist cards (Website) */
.section.light .fcard {
  background: var(--white-100);
  border-color: #eae5db;
  box-shadow: 0 24px 60px -46px rgba(0, 0, 0, 0.4);
}

.section.light .fcard:hover {
  box-shadow: 0 30px 66px -40px rgba(0, 0, 0, 0.5);
}

.section.light .fcard h3 {
  color: var(--ink-900);
}

.section.light .fcard-list li {
  color: var(--ink-700);
}

/* Overall Performance Summary panel (Website) */
.perf-panel {
  position: relative;
  overflow: hidden;
  border-radius: 26px;
  padding: clamp(36px, 4.5vw, 60px);
  border: 1px solid var(--steel-600);
  background: radial-gradient(60% 90% at 20% 0%, rgba(139, 92, 246, 0.18), transparent 65%), radial-gradient(55% 90% at 85% 100%, rgba(255, 93, 143, 0.16), transparent 65%), linear-gradient(180deg, #17171c, #101014);
}

.perf-panel .section-head {
  margin-bottom: var(--space-40);
}

.perf-panel .section-head h2 {
  color: var(--white-100);
}

.section.light .perf-panel .section-head p {
  color: rgba(255, 255, 255, 0.82);
}

.perf-cols {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(24px, 6vw, 80px);
  flex-wrap: wrap;
}

.perf-side {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  text-align: center;
}

.perf-side .gauge {
  width: 150px;
  height: 150px;
}

.perf-side .gauge-score {
  font-size: 34px;
}

.perf-side .gauge-score small {
  font-size: 15px;
}

.perf-name {
  font-size: 18px;
  font-weight: 700;
  color: var(--white-100);
}

.perf-sub {
  font-size: 13px;
  color: var(--fog-300);
}

.perf-mid {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.perf-vs {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 22px;
  color: var(--fog-300);
}

.perf-lead {
  font-size: 15px;
  font-weight: 700;
  color: var(--white-100);
  padding: 8px 18px;
  border-radius: 999px;
  background: var(--brand-gradient);
}

.perf-chips {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: var(--space-48);
  padding-top: var(--space-36);
  border-top: 1px solid var(--steel-600);
}

.perf-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--fog-200);
  padding: 9px 16px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--steel-600);
}

.perf-chip svg {
  width: 15px;
  height: 15px;
  color: #34d399;
}

/* Thoughtful Design device showcase (Website) */
.device-img {
  width: 100%;
  height: auto;
  display: block;
}

.design-copy h2 {
  font-size: clamp(28px, 3.2vw, 38px);
  line-height: 1.14;
  color: var(--white-100);
  margin: 0 0 20px;
}

.design-copy p {
  color: var(--fog-200);
  font-size: 16px;
  line-height: 1.75;
  margin: 0 0 16px;
}

.design-copy p:last-child {
  margin-bottom: 0;
}

@media (max-width: 991px) {
  .design-copy {
    margin-top: 12px;
  }
}
/* Dark variant of the comparison section (Website page) — scoped so light compare usage elsewhere is untouched */
.section.compare-section:not(.light) {
  background: radial-gradient(55% 75% at 18% 0%, rgba(255, 122, 89, 0.1), transparent 60%), radial-gradient(55% 75% at 85% 100%, rgba(139, 92, 246, 0.12), transparent 60%), var(--asphalt-950);
}

.compare-section:not(.light) .compare-card {
  background: var(--asphalt-800);
  border-color: var(--steel-600);
  box-shadow: 0 24px 60px -42px rgba(0, 0, 0, 0.65);
}

.compare-section:not(.light) .compare-head {
  border-bottom-color: var(--steel-600);
}

.compare-section:not(.light) .compare-head h3 {
  color: var(--white-100);
}

.compare-section:not(.light) .compare-list li {
  color: var(--fog-200);
  border-bottom-color: rgba(255, 255, 255, 0.07);
}

.compare-section:not(.light) .compare-card.is-featured {
  border-color: rgba(255, 93, 143, 0.4);
  background: linear-gradient(180deg, rgba(255, 93, 143, 0.07), var(--asphalt-800));
  box-shadow: 0 30px 70px -38px rgba(255, 93, 143, 0.4);
}

.compare-section:not(.light) .compare-card.is-featured .compare-list li {
  color: var(--white-100);
}

.compare-section:not(.light) .compare-ico.is-x {
  background: rgba(255, 255, 255, 0.06);
  color: var(--fog-300);
}

/* Page styles for Marketing */
/* Self-Serve vs Managed checklist (Marketing) */
.way-list {
  list-style: none;
  margin: 0 0 22px;
  padding: 0;
  display: grid;
  gap: 12px;
}

.way-list li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  color: var(--ink-700);
  font-size: 15px;
  line-height: 1.45;
}

.way-check {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  color: var(--c);
  margin-top: 1px;
}

.way-tag {
  display: inline-block;
  font-size: 13px;
  font-weight: 700;
  color: var(--c);
  padding: 7px 15px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--c) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--c) 26%, transparent);
}

/* Animated funnel journey (Marketing) */
.jflow-section {
  background: radial-gradient(60% 80% at 15% 0%, rgba(139, 92, 246, 0.12), transparent 60%), radial-gradient(60% 80% at 85% 100%, rgba(91, 141, 255, 0.1), transparent 60%), var(--asphalt-900);
}

.jflow {
  position: relative;
  display: flex;
  justify-content: space-between;
  gap: 18px;
  margin-top: var(--space-48);
}

.jflow-line {
  position: absolute;
  top: 37px;
  left: 8%;
  right: 8%;
  height: 3px;
  border-radius: 3px;
  background: linear-gradient(90deg, var(--coral-500), var(--pink-500), var(--violet-500), var(--blue-500), #34d399);
}

.jflow-pulse {
  position: absolute;
  top: -4.5px;
  left: 0;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--white-100);
  box-shadow: 0 0 14px 3px rgba(255, 255, 255, 0.85);
  animation: jflowMove 4.2s cubic-bezier(0.65, 0, 0.35, 1) infinite;
}

@keyframes jflowMove {
  0% {
    left: 0;
  }
  100% {
    left: 100%;
  }
}
.jflow-stage {
  position: relative;
  z-index: 1;
  flex: 1;
  text-align: center;
}

.jflow-node {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 76px;
  height: 76px;
  border-radius: 50%;
  background: var(--asphalt-800);
  border: 2px solid var(--c);
  color: var(--c);
  margin-bottom: 18px;
  box-shadow: 0 0 34px -8px var(--c);
}

.jflow-node svg {
  width: 32px;
  height: 32px;
}

.jflow-stage h4 {
  font-size: 16px;
  color: var(--white-100);
  margin: 0 0 6px;
}

.jflow-stage p {
  font-size: 13px;
  line-height: 1.5;
  color: var(--fog-300);
  margin: 0 auto;
  max-width: 190px;
}

.jflow.js-reveal.is-in .jflow-stage {
  animation: tkiUp 0.5s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.jflow.js-reveal.is-in .jflow-stage:nth-child(3) {
  animation-delay: 0.1s;
}

.jflow.js-reveal.is-in .jflow-stage:nth-child(4) {
  animation-delay: 0.2s;
}

.jflow.js-reveal.is-in .jflow-stage:nth-child(5) {
  animation-delay: 0.3s;
}

.jflow.js-reveal.is-in .jflow-stage:nth-child(6) {
  animation-delay: 0.4s;
}

@media (max-width: 820px) {
  .jflow {
    flex-direction: column;
    gap: 26px;
  }
  .jflow-line {
    display: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .jflow-pulse {
    animation: none;
  }
  .jflow.js-reveal.is-in .jflow-stage {
    animation: none;
  }
}
/* Gradient spotlight panel (Marketing) */
.spot-panel {
  position: relative;
  overflow: hidden;
  border-radius: 28px;
  padding: clamp(44px, 5.5vw, 76px) clamp(24px, 4vw, 60px);
  text-align: center;
  border: 1px solid var(--steel-600);
  background: radial-gradient(70% 90% at 14% 8%, rgba(255, 93, 143, 0.16), transparent 60%), radial-gradient(70% 90% at 90% 100%, rgba(91, 141, 255, 0.16), transparent 60%), linear-gradient(150deg, #17171d, #0b0b0f);
}

.spot-blob {
  position: absolute;
  border-radius: 50%;
  filter: blur(8px);
  pointer-events: none;
}

.spot-blob--a {
  width: 240px;
  height: 240px;
  background: rgba(255, 93, 143, 0.2);
  top: -90px;
  left: -40px;
}

.spot-blob--b {
  width: 220px;
  height: 220px;
  background: rgba(91, 141, 255, 0.18);
  bottom: -100px;
  right: -30px;
}

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

.spot-panel h2 {
  color: var(--white-100);
  font-size: clamp(26px, 3.4vw, 40px);
  line-height: 1.14;
  margin: 0 auto 16px;
  max-width: 720px;
}

.spot-panel > .spot-inner > p {
  color: rgba(255, 255, 255, 0.92);
  font-size: 17px;
  line-height: 1.7;
  margin: 0 auto;
  max-width: 640px;
}

.spot-points {
  list-style: none;
  margin: 30px 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px 26px;
}

.spot-points li {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--white-100);
  font-weight: 700;
  font-size: 15px;
}

.spot-points svg {
  width: 20px;
  height: 20px;
  color: #34d399;
  background: rgba(52, 211, 153, 0.16);
  border-radius: 50%;
  padding: 3px;
}

/* ===== Marketing overview — Fullpath-inspired ===== */
.mk-eyebrow {
  display: inline-block;
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 6px;
  background: var(--brand-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* Hero visual */
.hero-marketing h1 {
  max-width: 560px;
}

.mk-visual {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 440px;
}

.mk-glow {
  position: absolute;
  width: 320px;
  height: 320px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(139, 92, 246, 0.28), transparent 62%);
  filter: blur(6px);
  z-index: 0;
}

.mk-card {
  position: relative;
  z-index: 1;
  width: 360px;
  max-width: 100%;
  background: var(--white-100);
  border-radius: 20px;
  padding: 24px 26px;
  box-shadow: 0 46px 92px -34px rgba(0, 0, 0, 0.85);
}

.mk-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 13px;
  color: #8a90a0;
  font-weight: 700;
}

.mk-card-live {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #16a34a;
}

.mk-card-live i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #22c55e;
  box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.18);
}

.mk-card-big {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 42px;
  line-height: 1.1;
  color: #161a23;
  margin-top: 8px;
  display: flex;
  align-items: baseline;
  gap: 10px;
}

.mk-card-up {
  font-size: 14px;
  font-weight: 800;
  color: #16a34a;
}

.mk-card-sub {
  font-size: 13px;
  color: #70757a;
}

.mk-spark {
  display: block;
  width: 100%;
  height: 72px;
  margin: 14px 0 4px;
}

.mk-chan {
  display: flex;
  flex-direction: column;
  gap: 11px;
  margin-top: 8px;
}

.mk-chan-row {
  display: flex;
  align-items: center;
  gap: 10px;
}

.mk-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  flex-shrink: 0;
}

.mk-chan-name {
  font-size: 12.5px;
  color: #4d5156;
  width: 66px;
  flex-shrink: 0;
}

.mk-track {
  flex: 1;
  height: 8px;
  border-radius: 999px;
  background: #eef0f4;
  overflow: hidden;
}

.mk-track i {
  display: block;
  height: 100%;
  border-radius: 999px;
  background: var(--brand-gradient);
}

.mk-badge {
  position: absolute;
  z-index: 2;
  background: var(--white-100);
  color: #161a23;
  font-size: 12.5px;
  padding: 9px 13px;
  border-radius: 12px;
  box-shadow: 0 22px 44px -16px rgba(0, 0, 0, 0.6);
}

.mk-badge b {
  font-family: var(--font-display);
  font-weight: 800;
}

.mk-badge--cpl {
  top: 6%;
  left: -4%;
  animation: mkFloat 4.6s ease-in-out infinite;
}

.mk-badge--cpl b {
  color: #16a34a;
}

.mk-badge--roi {
  bottom: 10%;
  right: -5%;
  animation: mkFloat 5.2s ease-in-out infinite -1.6s;
}

.mk-badge--roi b {
  background: var(--brand-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

@keyframes mkFloat {
  0%, 100% {
    transform: translateY(-6px);
  }
  50% {
    transform: translateY(6px);
  }
}
/* Feature trio */
.mk-feat {
  height: 100%;
  background: var(--asphalt-800);
  border: 1px solid var(--steel-600);
  border-radius: 18px;
  padding: 28px 26px;
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.mk-feat:hover {
  transform: translateY(-6px);
  border-color: rgba(139, 92, 246, 0.45);
  box-shadow: 0 30px 60px -34px rgba(0, 0, 0, 0.7);
}

.mk-feat-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  border-radius: 15px;
  color: var(--white-100);
  background: var(--brand-gradient);
  margin-bottom: 18px;
}

.mk-feat-ico svg {
  width: 26px;
  height: 26px;
}

.mk-feat h3 {
  font-size: 18.5px;
  color: var(--white-100);
  margin: 0 0 10px;
}

.mk-feat p {
  font-size: 14.5px;
  color: var(--fog-200);
  line-height: 1.6;
  margin: 0;
}

/* Results / testimonials */
.mk-res {
  position: relative;
  overflow: hidden;
  height: 100%;
  background: var(--white-100);
  border: 1px solid #eae5db;
  border-radius: 20px;
  padding: 28px 26px 24px;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.mk-res:hover {
  transform: translateY(-6px);
  border-color: var(--c);
  box-shadow: 0 30px 60px -34px rgba(0, 0, 0, 0.32);
}

.mk-res-q {
  position: absolute;
  top: 20px;
  right: 22px;
  color: color-mix(in srgb, var(--c) 22%, transparent);
}

.mk-res-q svg {
  width: 40px;
  height: 40px;
}

.mk-res-metric {
  display: flex;
  align-items: baseline;
  gap: 8px;
}

.mk-res-big {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 46px;
  line-height: 1;
  color: var(--c);
}

.mk-res-unit {
  font-size: 14px;
  font-weight: 700;
  color: #4a4438;
}

.mk-res-quote {
  font-size: 14.5px;
  color: #4a4438;
  line-height: 1.6;
  margin: 14px 0 20px;
}

.mk-res-by {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-top: 16px;
  border-top: 1px solid #ece7dd;
}

.mk-res-ava {
  flex-shrink: 0;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 14px;
  color: var(--white-100);
  background: var(--brand-gradient);
}

.mk-res-by b {
  display: block;
  font-size: 14px;
  color: var(--ink-900);
}

.mk-res-by > div span {
  font-size: 12.5px;
  color: #6b6456;
}

.mk-res-fine {
  text-align: center;
  font-size: 12px;
  color: var(--ink-700);
  opacity: 0.7;
  margin: 24px 0 0;
}

/* reveals */
.mk-feat-grid.js-reveal.is-in > [class*=col-], .mk-res-grid.js-reveal.is-in > [class*=col-] {
  animation: tkiUp 0.55s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.mk-feat-grid.js-reveal.is-in > [class*=col-]:nth-child(2), .mk-res-grid.js-reveal.is-in > [class*=col-]:nth-child(2) {
  animation-delay: 0.1s;
}

.mk-feat-grid.js-reveal.is-in > [class*=col-]:nth-child(3), .mk-res-grid.js-reveal.is-in > [class*=col-]:nth-child(3) {
  animation-delay: 0.2s;
}

@media (max-width: 991px) {
  .mk-visual {
    min-height: 400px;
    margin-top: 10px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .mk-badge {
    animation: none;
  }
  .mk-feat-grid > [class*=col-], .mk-res-grid > [class*=col-] {
    animation: none !important;
  }
}
/* Real brand logos in ad-channel cards (Marketing) */
.feat-icon.feat-logo {
  width: 48px;
  height: 48px;
  padding: 0;
  background: transparent;
  border-radius: 13px;
  overflow: hidden;
  box-shadow: 0 10px 22px -12px rgba(0, 0, 0, 0.6);
}

.feat-icon.feat-logo svg {
  width: 100%;
  height: 100%;
  display: block;
}

.feat-card:hover .feat-icon.feat-logo {
  transform: translateY(-2px) scale(1.05);
  transition: transform 0.25s ease;
}

/* Gradient icon badges for the Two Ways cards (Marketing) */
.pr-ico.pr-ico--badge {
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 58px;
  border-radius: 16px;
  color: var(--white-100);
  background: var(--g);
  box-shadow: 0 16px 32px -12px color-mix(in srgb, var(--c) 58%, transparent);
  transition: transform 0.25s ease;
}

.pr-ico.pr-ico--badge svg {
  width: 28px;
  height: 28px;
}

.pr-card:hover .pr-ico.pr-ico--badge {
  transform: scale(1.06) rotate(-4deg);
}

/* Precision Targeting — split with image (Marketing) */
.mkf-lead {
  color: var(--fog-200);
  font-size: 16px;
  line-height: 1.65;
  margin: 6px 0 24px;
}

.mkf-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.mkf-item {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  padding: 16px 0;
  border-top: 1px solid var(--steel-600);
}

.mkf-item:first-child {
  border-top: 0;
}

.mkf-ico {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  border-radius: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--white-100);
  background: var(--brand-gradient);
}

.mkf-ico svg {
  width: 24px;
  height: 24px;
}

.mkf-item h3 {
  font-size: 17px;
  color: var(--white-100);
  margin: 0 0 4px;
}

.mkf-item p {
  font-size: 14px;
  color: var(--fog-200);
  line-height: 1.55;
  margin: 0;
}

.mkf-img {
  width: 100%;
  height: auto;
  border-radius: 16px;
  border: 1px solid var(--steel-600);
  box-shadow: 0 40px 80px -40px rgba(0, 0, 0, 0.8);
}

.mkf-list.js-reveal.is-in > .mkf-item {
  animation: tkiUp 0.5s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.mkf-list.js-reveal.is-in > .mkf-item:nth-child(2) {
  animation-delay: 0.1s;
}

.mkf-list.js-reveal.is-in > .mkf-item:nth-child(3) {
  animation-delay: 0.2s;
}

@media (prefers-reduced-motion: reduce) {
  .mkf-list.js-reveal.is-in > .mkf-item {
    animation: none;
  }
}
/* Page styles for Managed Services */
/* Platform metrics columns (Managed Services) */
.plat-col {
  text-align: center;
}

.plat-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  color: var(--white-100);
  background: linear-gradient(150deg, var(--c1), var(--c2));
  box-shadow: 0 16px 34px -14px var(--c1);
  margin-bottom: 22px;
}

.plat-ico svg {
  width: 32px;
  height: 32px;
}

.plat-num {
  font-family: var(--font-display);
  font-size: clamp(38px, 4.6vw, 50px);
  font-weight: 800;
  line-height: 1;
  background: linear-gradient(90deg, var(--c1), var(--c2));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.plat-col h3 {
  font-size: 19px;
  color: var(--ink-900);
  margin: 12px 0 8px;
}

.plat-col p {
  color: var(--ink-700);
  font-size: 14.5px;
  line-height: 1.6;
  margin: 0 auto;
  max-width: 260px;
}

/* Who We Help numbered cards (Managed Services) */
.wh-card {
  height: 100%;
  background: var(--asphalt-800);
  border: 1px solid var(--steel-600);
  border-radius: 20px;
  padding: 34px 32px;
}

.wh-tag {
  display: inline-block;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--fog-300);
  margin-bottom: 8px;
}

.wh-card h3 {
  font-size: clamp(22px, 2.4vw, 27px);
  color: var(--white-100);
  margin: 0 0 22px;
}

.wh-items {
  display: grid;
  gap: 20px;
}

.wh-item {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}

.wh-num {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 14px;
  color: var(--white-100);
  background: var(--brand-gradient);
}

.wh-item h4 {
  font-size: 16px;
  color: var(--white-100);
  margin: 3px 0 4px;
}

.wh-item p {
  font-size: 14px;
  color: var(--fog-200);
  line-height: 1.55;
  margin: 0;
}

.by-grid .stat-item {
  height: 100%;
}

/* ===== Managed Services — added sections ===== */
.ms-eyebrow {
  display: inline-block;
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 6px;
  background: var(--brand-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* Channels showcase */
.ms-chan-section {
  background: radial-gradient(60% 70% at 85% 8%, rgba(139, 92, 246, 0.1), transparent 60%), var(--asphalt-900);
}

.ms-chan {
  height: 100%;
  background: var(--asphalt-800);
  border: 1px solid var(--steel-600);
  border-radius: 18px;
  padding: 24px 24px 22px;
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.ms-chan:hover {
  transform: translateY(-6px);
  border-color: rgba(139, 92, 246, 0.45);
  box-shadow: 0 30px 60px -34px rgba(0, 0, 0, 0.7);
}

.ms-chan-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}

.ms-chan-logo {
  width: 48px;
  height: 48px;
  border-radius: 13px;
  overflow: hidden;
  display: block;
  box-shadow: 0 10px 22px -12px rgba(0, 0, 0, 0.6);
}

.ms-chan-logo svg {
  width: 100%;
  height: 100%;
  display: block;
}

.ms-chan-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #34d399;
  background: rgba(52, 211, 153, 0.12);
  border: 1px solid rgba(52, 211, 153, 0.3);
  padding: 5px 11px;
  border-radius: 999px;
}

.ms-chan-badge svg {
  width: 12px;
  height: 12px;
}

.ms-chan h3 {
  font-size: 18px;
  color: var(--white-100);
  margin: 0 0 6px;
}

.ms-chan p {
  font-size: 14px;
  color: var(--fog-200);
  line-height: 1.55;
  margin: 0 0 14px;
}

.ms-chan-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.ms-chan-list li {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  font-size: 13.5px;
  color: var(--fog-200);
  padding: 5px 0;
}

.ms-chan-list svg {
  flex-shrink: 0;
  width: 14px;
  height: 14px;
  margin-top: 2px;
  color: var(--violet-500);
}

/* Exclusivity */
.ms-excl-lead {
  color: var(--ink-700);
  font-size: 16px;
  line-height: 1.65;
  margin: 0 0 20px;
  max-width: 460px;
}

.ms-excl-list {
  list-style: none;
  margin: 0 0 26px;
  padding: 0;
}

.ms-excl-list li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 15px;
  color: var(--ink-900);
  padding: 8px 0;
}

.ms-excl-list svg {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  margin-top: 2px;
  color: var(--pink-500);
}

.ms-excl-img {
  width: 100%;
  height: auto;
  border-radius: 20px;
  border: 1px solid #eae5db;
  box-shadow: 0 40px 80px -40px rgba(0, 0, 0, 0.3);
}

.ms-chan-grid.js-reveal.is-in > [class*=col-] {
  animation: tkiUp 0.55s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.ms-chan-grid.js-reveal.is-in > [class*=col-]:nth-child(2) {
  animation-delay: 0.08s;
}

.ms-chan-grid.js-reveal.is-in > [class*=col-]:nth-child(3) {
  animation-delay: 0.16s;
}

.ms-chan-grid.js-reveal.is-in > [class*=col-]:nth-child(4) {
  animation-delay: 0.24s;
}

.ms-chan-grid.js-reveal.is-in > [class*=col-]:nth-child(5) {
  animation-delay: 0.32s;
}

.ms-chan-grid.js-reveal.is-in > [class*=col-]:nth-child(6) {
  animation-delay: 0.4s;
}

@media (prefers-reduced-motion: reduce) {
  .ms-chan-grid.js-reveal.is-in > [class*=col-] {
    animation: none;
  }
}
/* Managed Services hero visual */
.hero-managed h1 {
  max-width: 560px;
}

.msh-visual {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 460px;
}

.msh-glow {
  position: absolute;
  width: 320px;
  height: 320px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 93, 143, 0.26), transparent 62%);
  filter: blur(6px);
  z-index: 0;
}

.msh-card {
  position: relative;
  z-index: 1;
  width: 372px;
  max-width: 100%;
  background: var(--asphalt-800);
  border: 1px solid var(--steel-600);
  border-radius: 22px;
  padding: 22px;
  box-shadow: 0 46px 92px -34px rgba(0, 0, 0, 0.85);
}

.msh-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--steel-600);
}

.msh-title {
  display: block;
  font-size: 16px;
  font-weight: 800;
  color: var(--white-100);
}

.msh-sub {
  font-size: 12.5px;
  color: var(--fog-300);
}

.msh-live {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11.5px;
  font-weight: 700;
  color: #34d399;
}

.msh-live i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #22c55e;
  box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.18);
}

.msh-team {
  display: flex;
  align-items: center;
  gap: 0;
  margin: 16px 0 4px;
}

.msh-ava {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 800;
  color: var(--white-100);
  background: var(--brand-gradient);
  border: 2px solid var(--asphalt-800);
  margin-left: -8px;
}

.msh-ava:first-child {
  margin-left: 0;
}

.msh-team-lbl {
  margin-left: 12px;
  font-size: 12.5px;
  color: var(--fog-200);
}

.msh-tasks {
  list-style: none;
  margin: 14px 0 0;
  padding: 0;
}

.msh-tasks li {
  display: flex;
  align-items: center;
  gap: 11px;
  font-size: 13.5px;
  color: var(--fog-200);
  padding: 7px 0;
}

.msh-check {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--white-100);
  background: #22c55e;
}

.msh-check svg {
  width: 11px;
  height: 11px;
}

.msh-result {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 14px;
  padding: 14px 16px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid var(--steel-600);
}

.msh-result-lbl {
  display: block;
  font-size: 11.5px;
  color: var(--fog-300);
}

.msh-result-big {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 28px;
  color: var(--white-100);
}

.msh-result-up {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 14px;
  font-weight: 800;
  color: #16a34a;
}

.msh-result-up svg {
  width: 15px;
  height: 15px;
}

.msh-badge {
  position: absolute;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: var(--white-100);
  color: #161a23;
  font-size: 12.5px;
  font-weight: 700;
  padding: 9px 13px;
  border-radius: 999px;
  box-shadow: 0 22px 44px -16px rgba(0, 0, 0, 0.6);
}

.msh-badge svg {
  width: 14px;
  height: 14px;
  color: #16a34a;
}

.msh-badge--a {
  top: -4%;
  left: -4%;
  animation: mshFloat 4.6s ease-in-out infinite;
}

.msh-badge--b {
  bottom: 10%;
  right: -4%;
  color: var(--violet-500);
  animation: mshFloat 5.2s ease-in-out infinite -1.6s;
}

@keyframes mshFloat {
  0%, 100% {
    transform: translateY(-6px);
  }
  50% {
    transform: translateY(6px);
  }
}
@media (max-width: 991px) {
  .msh-visual {
    min-height: 400px;
    margin-top: 10px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .msh-badge {
    animation: none;
  }
}
/* Page styles for Self-Serve Marketing */
/* Feature split sections (Self-Serve) */
.split-img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 14px;
  box-shadow: 0 34px 74px -40px rgba(0, 0, 0, 0.5);
  border: 1px solid rgba(255, 255, 255, 0.06);
}

.split-eyebrow {
  display: inline-block;
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--c);
  margin-bottom: 14px;
}

.split-copy h2 {
  font-size: clamp(26px, 3vw, 36px);
  line-height: 1.14;
  color: var(--white-100);
  margin: 0 0 16px;
}

.split-copy > p {
  color: var(--fog-200);
  font-size: 16px;
  line-height: 1.75;
  margin: 0 0 22px;
}

.section.light .split-copy h2 {
  color: var(--ink-900);
}

.section.light .split-copy > p {
  color: var(--ink-700);
}

.split-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 13px;
}

.split-list li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 15px;
  color: var(--fog-200);
  line-height: 1.45;
}

.section.light .split-list li {
  color: var(--ink-700);
}

.split-check {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  color: var(--c);
  margin-top: 1px;
}

@media (max-width: 991px) {
  .split-img {
    margin-bottom: 8px;
    max-width: 620px;
  }
}
/* Dashboard hero (Self-Serve) */
.hero-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 22px;
  margin-top: 22px;
}

.hero-trust span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--fog-200);
  font-size: 14px;
  font-weight: 600;
}

.hero-trust svg {
  width: 16px;
  height: 16px;
  color: #34d399;
}

.hero-dash {
  margin-top: 4px;
}

@media (max-width: 991px) {
  .hero-dash {
    margin-top: 24px;
    max-width: 660px;
  }
}
/* Laptop hero composite (Self-Serve) */
.ss-hero-img {
  width: 100%;
  height: auto;
  display: block;
}

/* "The Platform" cards (Self-Serve) */
.plat2-eyebrow {
  display: inline-block;
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #0fb5c6;
  margin-bottom: 4px;
}

.plat2-accent {
  color: #2f8fff;
}

.plat2-card {
  height: 100%;
  background: var(--white-100);
  border: 1px solid #eae5db;
  border-radius: 20px;
  padding: 30px 30px 28px;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.plat2-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 30px 60px -34px rgba(0, 0, 0, 0.3);
  border-color: rgba(47, 143, 255, 0.4);
}

.plat2-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #0d9aab;
  padding: 8px 16px;
  border-radius: 999px;
  background: rgba(15, 181, 198, 0.08);
  border: 1px solid rgba(15, 181, 198, 0.3);
}

.plat2-pill i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #0fb5c6;
}

.plat2-num {
  font-family: var(--font-display);
  font-size: clamp(42px, 5vw, 54px);
  font-weight: 800;
  line-height: 1;
  color: #2f8fff;
  margin: 24px 0 8px;
}

.plat2-cap {
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ink-900);
}

.plat2-div {
  display: block;
  width: 40px;
  height: 2px;
  border-radius: 2px;
  background: #ded8cc;
  margin: 20px 0;
}

.plat2-card p {
  color: var(--ink-700);
  font-size: 15px;
  line-height: 1.65;
  margin: 0;
}

.plat2-card p strong {
  color: var(--ink-900);
}

.plat2-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 20px;
}

.plat2-tags span {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--ink-700);
  padding: 6px 11px;
  border-radius: 7px;
  background: var(--surface-hover);
  border: 1px solid #e6e1d6;
}

.plat2-grid.js-reveal.is-in > [class*=col-] {
  animation: tkiUp 0.55s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.plat2-grid.js-reveal.is-in > [class*=col-]:nth-child(2) {
  animation-delay: 0.12s;
}

.plat2-grid.js-reveal.is-in > [class*=col-]:nth-child(3) {
  animation-delay: 0.24s;
}

@media (prefers-reduced-motion: reduce) {
  .plat2-grid.js-reveal.is-in > [class*=col-] {
    animation: none;
  }
}
/* Who We Help two-column (Self-Serve) */
.wh2-col {
  height: 100%;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid var(--steel-600);
  border-radius: 20px;
  padding: 34px 34px 20px;
}

.wh2-title {
  font-size: clamp(24px, 2.6vw, 30px);
  font-weight: 800;
  color: var(--white-100);
  margin: 0 0 10px;
}

.wh2-title span {
  color: #2f8fff;
}

.wh2-item {
  display: flex;
  gap: 18px;
  padding: 22px 0;
}

.wh2-item + .wh2-item {
  border-top: 1px solid var(--steel-600);
}

.wh2-num {
  flex-shrink: 0;
  width: 24px;
  padding-top: 2px;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 14px;
  color: #2f8fff;
}

.wh2-item h4 {
  font-size: 16.5px;
  color: var(--white-100);
  margin: 0 0 6px;
}

.wh2-item p {
  font-size: 14.5px;
  color: var(--fog-200);
  line-height: 1.6;
  margin: 0;
}

.wh2-grid.js-reveal.is-in > [class*=col-] {
  animation: tkiUp 0.6s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.wh2-grid.js-reveal.is-in > [class*=col-]:nth-child(2) {
  animation-delay: 0.12s;
}

@media (prefers-reduced-motion: reduce) {
  .wh2-grid.js-reveal.is-in > [class*=col-] {
    animation: none;
  }
}
/* Who We Help — on-theme (no two-tone heading, brand-gradient accents) */
.wh2-eyebrow {
  display: inline-block;
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 4px;
  background: var(--brand-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.wh2-title span {
  color: var(--white-100);
}

.wh2-num {
  background: var(--brand-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* The Platform — on-theme accents */
.plat2-eyebrow {
  background: var(--brand-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.plat2-accent {
  background: var(--brand-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.plat2-num {
  background: var(--brand-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.plat2-pill {
  color: var(--violet-500);
  background: rgba(139, 92, 246, 0.08);
  border-color: rgba(139, 92, 246, 0.32);
}

.plat2-pill i {
  background: var(--violet-500);
}

.plat2-card:hover {
  border-color: rgba(139, 92, 246, 0.4);
}

/* Split quote (Self-Serve) */
.split-quote {
  margin: 24px 0 0;
  padding: 4px 0 4px 18px;
  border-left: 3px solid var(--c);
}

.split-quote p {
  font-style: italic;
  font-size: 15.5px;
  line-height: 1.6;
  color: var(--white-100);
  margin: 0 0 6px;
}

.section.light .split-quote p {
  color: var(--ink-900);
}

.split-quote cite {
  font-style: normal;
  font-size: 13px;
  font-weight: 700;
  color: var(--c);
}

/* By the Numbers big-ghost cards */
.bignum-eyebrow-top {
  display: inline-block;
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 4px;
  background: var(--brand-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

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

.bignum-card {
  position: relative;
  overflow: hidden;
  background: var(--white-100);
  border: 1px solid #eae5db;
  border-radius: 16px;
  padding: 26px 22px 24px;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.bignum-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 22px 50px -34px rgba(0, 0, 0, 0.35);
}

.bignum-ghost {
  position: absolute;
  right: -8px;
  bottom: -22px;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 96px;
  line-height: 1;
  color: #f2eee5;
  z-index: 0;
  pointer-events: none;
}

.bignum-val {
  position: relative;
  z-index: 1;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(28px, 3vw, 38px);
  line-height: 1;
  background: var(--brand-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.bignum-lbl {
  position: relative;
  z-index: 1;
  color: var(--ink-700);
  font-size: 13.5px;
  margin-top: 10px;
}

.bignum-grid.js-reveal.is-in > .bignum-card {
  animation: tkiUp 0.5s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.bignum-grid.js-reveal.is-in > .bignum-card:nth-child(2) {
  animation-delay: 0.08s;
}

.bignum-grid.js-reveal.is-in > .bignum-card:nth-child(3) {
  animation-delay: 0.16s;
}

.bignum-grid.js-reveal.is-in > .bignum-card:nth-child(4) {
  animation-delay: 0.24s;
}

.bignum-grid.js-reveal.is-in > .bignum-card:nth-child(5) {
  animation-delay: 0.32s;
}

@media (max-width: 991px) {
  .bignum-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 520px) {
  .bignum-grid {
    grid-template-columns: 1fr;
  }
}
@media (prefers-reduced-motion: reduce) {
  .bignum-grid.js-reveal.is-in > .bignum-card {
    animation: none;
  }
}
/* By the Numbers — dark variant */
.bignum-card {
  background: var(--asphalt-800);
  border-color: var(--steel-600);
}

.bignum-card:hover {
  box-shadow: 0 24px 54px -30px rgba(0, 0, 0, 0.7);
}

.bignum-ghost {
  color: rgba(255, 255, 255, 0.045);
}

.bignum-lbl {
  color: var(--fog-200);
}

/* Why You'll Love — without/with comparison (Self-Serve) */
.why-col-label {
  display: block;
  text-align: center;
  font-size: 13.5px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--fog-300);
  margin-bottom: 22px;
}

.why-col-label--good {
  background: var(--brand-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.why-card {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 20px 22px;
  border-radius: 16px;
  margin-bottom: 16px;
  transition: transform 0.22s ease;
}

.why-card:last-child {
  margin-bottom: 0;
}

.why-card:hover {
  transform: translateY(-3px);
}

.why-card--bad {
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid var(--steel-600);
}

.why-card--good {
  background: linear-gradient(135deg, var(--pink-500), var(--violet-500));
  border: 1px solid transparent;
  box-shadow: 0 22px 46px -24px rgba(139, 92, 246, 0.5);
}

.why-face {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
}

.why-card--bad .why-face {
  color: var(--fog-300);
}

.why-card--good .why-face {
  color: rgba(255, 255, 255, 0.92);
}

.why-card h4 {
  font-size: 16.5px;
  color: var(--white-100);
  margin: 0 0 4px;
}

.why-card p {
  font-size: 14px;
  line-height: 1.5;
  margin: 0;
}

.why-card--bad p {
  color: var(--fog-200);
}

.why-card--good p {
  color: rgba(255, 255, 255, 0.94);
}

.why-grid.js-reveal.is-in > [class*=col-] {
  animation: tkiUp 0.6s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.why-grid.js-reveal.is-in > [class*=col-]:nth-child(2) {
  animation-delay: 0.12s;
}

@media (prefers-reduced-motion: reduce) {
  .why-grid.js-reveal.is-in > [class*=col-] {
    animation: none;
  }
}
/* Three-step flow (Self-Serve) — light */
.flow3-eyebrow {
  display: inline-block;
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 4px;
  background: var(--brand-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.flow3-grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 46px;
}

.flow3-line {
  position: absolute;
  top: 68px;
  left: 17%;
  right: 17%;
  height: 2px;
  z-index: 0;
  background: linear-gradient(90deg, transparent, rgba(255, 93, 143, 0.55), rgba(139, 92, 246, 0.55), transparent);
}

.flow3-card {
  position: relative;
  z-index: 1;
  overflow: hidden;
  background: var(--white-100);
  border: 1px solid #eae5db;
  border-radius: 20px;
  padding: 32px 28px 26px;
  text-align: center;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.flow3-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 30px 60px -34px rgba(0, 0, 0, 0.3);
  border-color: rgba(255, 93, 143, 0.35);
}

.flow3-step {
  position: absolute;
  top: 12px;
  right: 20px;
  z-index: 0;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 58px;
  line-height: 1;
  color: #f1ede3;
  pointer-events: none;
}

.flow3-top {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  margin-bottom: 22px;
}

.flow3-ico {
  width: 66px;
  height: 66px;
  border-radius: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--brand-gradient);
  box-shadow: 0 16px 32px -14px rgba(139, 92, 246, 0.65);
  transition: transform 0.25s ease;
}

.flow3-ico svg {
  width: 30px;
  height: 30px;
  color: var(--white-100);
}

.flow3-card:hover .flow3-ico {
  transform: scale(1.06) rotate(-3deg);
}

.flow3-card h3 {
  position: relative;
  z-index: 1;
  font-size: 19px;
  color: var(--ink-900);
  margin: 0 0 8px;
}

.flow3-card p {
  position: relative;
  z-index: 1;
  font-size: 14.5px;
  color: var(--ink-700);
  line-height: 1.6;
  margin: 0 0 18px;
}

.flow3-metric {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 12.5px;
  font-weight: 700;
  color: #b8357e;
  background: rgba(255, 93, 143, 0.09);
  border: 1px solid rgba(255, 93, 143, 0.24);
  padding: 7px 14px;
  border-radius: 999px;
}

.flow3-metric svg {
  width: 13px;
  height: 13px;
  color: var(--pink-500);
}

.flow3-grid.js-reveal.is-in > .flow3-card {
  animation: tkiUp 0.55s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.flow3-grid.js-reveal.is-in > .flow3-card:nth-child(3) {
  animation-delay: 0.12s;
}

.flow3-grid.js-reveal.is-in > .flow3-card:nth-child(4) {
  animation-delay: 0.24s;
}

@media (max-width: 900px) {
  .flow3-grid {
    grid-template-columns: 1fr;
  }
  .flow3-line {
    display: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .flow3-grid.js-reveal.is-in > .flow3-card {
    animation: none;
  }
}
/* Page styles for PPC */
/* Full-funnel ad showcase (PPC) */
.adshow-section {
  background: radial-gradient(60% 70% at 15% 0%, rgba(255, 122, 89, 0.07), transparent 60%), radial-gradient(60% 70% at 85% 100%, rgba(139, 92, 246, 0.09), transparent 60%), var(--asphalt-950);
}

.adshow-eyebrow {
  display: inline-block;
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 4px;
  background: var(--brand-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.adshow-card {
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: var(--asphalt-800);
  border: 1px solid var(--steel-600);
  border-radius: 20px;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.adshow-card:hover {
  transform: translateY(-6px);
  border-color: var(--c);
  box-shadow: 0 34px 64px -34px rgba(0, 0, 0, 0.7);
}

.adshow-media {
  padding: 18px 18px 0;
}

.adshow-media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
  border: 1px solid var(--steel-600);
}

.adshow-body {
  padding: 20px 24px 26px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.adshow-label {
  align-self: flex-start;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--c);
  background: color-mix(in srgb, var(--c) 16%, transparent);
  border: 1px solid color-mix(in srgb, var(--c) 34%, transparent);
  padding: 5px 11px;
  border-radius: 999px;
  margin-bottom: 14px;
}

.adshow-body h3 {
  font-size: 19px;
  color: var(--white-100);
  margin: 0 0 8px;
}

.adshow-body p {
  font-size: 14px;
  line-height: 1.6;
  color: var(--fog-200);
  margin: 0 0 16px;
}

.adshow-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.adshow-list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 13.5px;
  color: var(--fog-200);
  padding: 6px 0;
}

.adshow-list li:last-child {
  padding-bottom: 0;
}

.adshow-list svg {
  flex-shrink: 0;
  width: 15px;
  height: 15px;
  margin-top: 2px;
  color: var(--c);
}

.adshow-grid.js-reveal.is-in > [class*=col-] {
  animation: tkiUp 0.55s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.adshow-grid.js-reveal.is-in > [class*=col-]:nth-child(2) {
  animation-delay: 0.12s;
}

.adshow-grid.js-reveal.is-in > [class*=col-]:nth-child(3) {
  animation-delay: 0.24s;
}

@media (prefers-reduced-motion: reduce) {
  .adshow-grid.js-reveal.is-in > [class*=col-] {
    animation: none;
  }
}
/* Page styles for Organic Social */
/* ===== Organic Social — bespoke sections ===== */
.os-eyebrow {
  display: inline-block;
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 6px;
  background: var(--brand-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* 1. Collage + pillars */
.os-show-section {
  background: radial-gradient(60% 70% at 12% 0%, rgba(255, 93, 143, 0.08), transparent 60%), radial-gradient(60% 70% at 88% 100%, rgba(139, 92, 246, 0.1), transparent 60%), var(--asphalt-950);
}

.os-collage {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 30px 10px;
}

.os-post {
  width: 40%;
  height: auto;
  aspect-ratio: 64/70;
  object-fit: contain;
  border-radius: 18px;
  border: 1px solid var(--steel-600);
  background: var(--white-100);
  box-shadow: 0 30px 60px -30px rgba(0, 0, 0, 0.75);
}

.os-post--l {
  transform: rotate(-6deg) translateY(18px);
  z-index: 1;
  margin-right: -6%;
}

.os-post--c {
  transform: translateY(-10px);
  z-index: 3;
}

.os-post--r {
  transform: rotate(6deg) translateY(18px);
  z-index: 1;
  margin-left: -6%;
}

.os-badge {
  position: absolute;
  z-index: 4;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--white-100);
  color: #161a23;
  font-weight: 800;
  font-size: 13px;
  padding: 8px 13px;
  border-radius: 999px;
  box-shadow: 0 16px 34px -14px rgba(0, 0, 0, 0.65);
}

.os-badge svg {
  width: 15px;
  height: 15px;
}

.os-badge--heart {
  top: 6%;
  left: 2%;
  color: #e11d48;
}

.os-badge--cmt {
  bottom: 10%;
  right: 1%;
  color: var(--blue-500);
}

.os-lead {
  color: var(--fog-200);
  font-size: 16px;
  line-height: 1.6;
  margin: 0 0 8px;
}

.os-pillars {
  margin-top: 14px;
}

.os-pillar {
  display: flex;
  gap: 16px;
  padding: 18px 0;
  border-top: 1px solid var(--steel-600);
}

.os-pillar:first-child {
  border-top: 0;
}

.os-pillar-ico {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--brand-gradient);
  color: var(--white-100);
}

.os-pillar-ico svg {
  width: 24px;
  height: 24px;
}

.os-pillar h3 {
  font-size: 17px;
  color: var(--white-100);
  margin: 0 0 4px;
}

.os-pillar p {
  font-size: 14px;
  color: var(--fog-200);
  line-height: 1.55;
  margin: 0;
}

.os-collage.js-reveal.is-in .os-post {
  animation: tkiUp 0.6s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.os-collage.js-reveal.is-in .os-post--c {
  animation-delay: 0.1s;
}

.os-collage.js-reveal.is-in .os-post--r {
  animation-delay: 0.2s;
}

/* 2. Before -> After table */
.os-vs-section {
  background: var(--asphalt-950);
}

.os-vs {
  max-width: 960px;
  margin: 44px auto 0;
  background: var(--asphalt-800);
  border: 1px solid var(--steel-600);
  border-radius: 22px;
  overflow: hidden;
}

.os-vs-head, .os-vs-row {
  display: grid;
  grid-template-columns: 1fr 60px 1fr;
  align-items: center;
  padding: 16px 28px;
}

.os-vs-head {
  background: rgba(255, 255, 255, 0.025);
  border-bottom: 1px solid var(--steel-600);
}

.os-vs-h {
  font-size: 15px;
  font-weight: 800;
}

.os-vs-h.l {
  color: var(--fog-300);
}

.os-vs-h.r {
  text-align: right;
}

.os-vs-h.r span {
  background: var(--brand-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.os-vs-row:not(:last-child) {
  border-bottom: 1px solid var(--steel-600);
}

.os-vs-bad {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--fog-300);
  font-size: 14.5px;
}

.os-vs-good {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  text-align: right;
  color: var(--white-100);
  font-size: 14.5px;
  font-weight: 600;
}

.os-vs-arrow {
  display: flex;
  justify-content: center;
  color: var(--fog-300);
}

.os-vs-arrow svg {
  width: 22px;
  height: 22px;
}

.os-vs-ico {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.os-vs-ico svg {
  width: 13px;
  height: 13px;
}

.os-vs-ico.x {
  background: rgba(255, 255, 255, 0.06);
  color: var(--fog-300);
}

.os-vs-ico.c {
  background: var(--brand-gradient);
  color: var(--white-100);
}

/* 3. Stat band */
.os-band-section {
  background: var(--asphalt-950);
}

.os-band {
  display: flex;
  flex-wrap: wrap;
  margin-top: 40px;
  background: linear-gradient(180deg, var(--asphalt-800), var(--asphalt-900));
  border: 1px solid var(--steel-600);
  border-radius: 22px;
  overflow: hidden;
}

.os-band-item {
  flex: 1 1 0;
  min-width: 150px;
  padding: 30px 22px;
  text-align: center;
  border-right: 1px solid var(--steel-600);
}

.os-band-item:last-child {
  border-right: 0;
}

.os-band-val {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1;
  background: var(--brand-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.os-band-lbl {
  margin-top: 10px;
  font-size: 13.5px;
  color: var(--fog-200);
}

/* 4. Channel rows */
.os-ch-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-top: 40px;
}

.os-ch-card {
  display: flex;
  align-items: center;
  gap: 18px;
  background: var(--white-100);
  border: 1px solid #eae5db;
  border-left: 4px solid var(--c);
  border-radius: 16px;
  padding: 22px 24px;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.os-ch-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 50px -34px rgba(0, 0, 0, 0.35);
}

.os-ch-ico {
  flex-shrink: 0;
  width: 54px;
  height: 54px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--white-100);
  background: var(--c);
}

.os-ch-ico svg {
  width: 28px;
  height: 28px;
}

.os-ch-card h3 {
  font-size: 18px;
  color: var(--ink-900);
  margin: 0 0 4px;
}

.os-ch-card p {
  font-size: 14px;
  color: var(--ink-700);
  line-height: 1.5;
  margin: 0;
}

.os-ch-grid.js-reveal.is-in > .os-ch-card {
  animation: tkiUp 0.5s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.os-ch-grid.js-reveal.is-in > .os-ch-card:nth-child(2) {
  animation-delay: 0.08s;
}

.os-ch-grid.js-reveal.is-in > .os-ch-card:nth-child(3) {
  animation-delay: 0.16s;
}

.os-ch-grid.js-reveal.is-in > .os-ch-card:nth-child(4) {
  animation-delay: 0.24s;
}

@media (max-width: 820px) {
  .os-band-item {
    flex-basis: 50%;
    border-bottom: 1px solid var(--steel-600);
  }
  .os-band-item:nth-child(even) {
    border-right: 0;
  }
}
@media (max-width: 720px) {
  .os-ch-grid {
    grid-template-columns: 1fr;
  }
  .os-post {
    width: 60%;
    margin: 8px 0;
  }
  .os-post--l, .os-post--c, .os-post--r {
    transform: none;
  }
  .os-collage {
    flex-direction: column;
  }
}
@media (max-width: 640px) {
  .os-vs-head, .os-vs-row {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .os-vs-arrow {
    display: none;
  }
  .os-vs-good {
    justify-content: flex-start;
    text-align: left;
  }
  .os-vs-h.r {
    text-align: left;
  }
}
@media (prefers-reduced-motion: reduce) {
  .os-collage .os-post, .os-ch-grid > .os-ch-card {
    animation: none !important;
  }
}
/* Platforms constellation (Organic Social) */
.plat-section .os-eyebrow--dark {
  color: transparent;
}

.plat-lead {
  color: var(--ink-700);
  font-size: 16px;
  line-height: 1.65;
  margin: 0 0 26px;
  max-width: 440px;
}

.plat-stage {
  position: relative;
  width: 100%;
  max-width: 560px;
  margin: 10px auto 0;
  aspect-ratio: 1/0.82;
}

.plat-lines {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  overflow: visible;
}

.plat-lines line {
  stroke: rgba(139, 92, 246, 0.28);
  stroke-width: 1;
  stroke-dasharray: 2 4;
  vector-effect: non-scaling-stroke;
}

.plat-hub {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  width: 118px;
  height: 118px;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 4px;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.15;
  color: var(--white-100);
  background: var(--brand-gradient);
  box-shadow: 0 22px 50px -18px rgba(139, 92, 246, 0.6);
}

.plat-hub .dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--white-100);
  margin-bottom: 2px;
}

.plat-chip {
  position: absolute;
  z-index: 1;
  width: 66px;
  height: 66px;
  margin: -33px 0 0 -33px;
  border-radius: 18px;
  background: var(--white-100);
  border: 1px solid #eae5db;
  box-shadow: 0 16px 34px -18px rgba(0, 0, 0, 0.35);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 11px;
  animation: platFloat 5s ease-in-out infinite;
}

.plat-chip svg {
  width: 100%;
  height: 100%;
  display: block;
}

.plat-chip:nth-child(3) {
  animation-delay: -0.6s;
  animation-duration: 5.6s;
}

.plat-chip:nth-child(4) {
  animation-delay: -1.2s;
  animation-duration: 4.6s;
}

.plat-chip:nth-child(5) {
  animation-delay: -1.8s;
  animation-duration: 5.4s;
}

.plat-chip:nth-child(6) {
  animation-delay: -2.4s;
  animation-duration: 4.8s;
}

.plat-chip:nth-child(7) {
  animation-delay: -3s;
  animation-duration: 5.8s;
}

.plat-chip:nth-child(8) {
  animation-delay: -3.6s;
  animation-duration: 5.2s;
}

.plat-chip:nth-child(9) {
  animation-delay: -4.2s;
  animation-duration: 4.4s;
}

@keyframes platFloat {
  0%, 100% {
    transform: translateY(-6px);
  }
  50% {
    transform: translateY(6px);
  }
}
@media (max-width: 991px) {
  .plat-stage {
    max-width: 460px;
  }
}
@media (max-width: 480px) {
  .plat-chip {
    width: 54px;
    height: 54px;
    margin: -27px 0 0 -27px;
    padding: 9px;
  }
  .plat-hub {
    width: 96px;
    height: 96px;
    font-size: 12px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .plat-chip {
    animation: none;
  }
}
/* Organic Social hero — live engagement visual */
.hero-social h1 {
  max-width: 560px;
}

.hs-visual {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 440px;
}

.hs-glow {
  position: absolute;
  width: 320px;
  height: 320px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 93, 143, 0.3), transparent 62%);
  filter: blur(6px);
  z-index: 0;
}

.hs-phone {
  position: relative;
  z-index: 1;
  width: 240px;
  background: var(--asphalt-800);
  border: 1px solid var(--steel-600);
  border-radius: 28px;
  padding: 14px;
  box-shadow: 0 44px 90px -34px rgba(0, 0, 0, 0.85);
}

.hs-phone-top {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 11px;
}

.hs-ava {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--brand-gradient);
  flex-shrink: 0;
}

.hs-lines {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.hs-lines i {
  display: block;
  height: 6px;
  border-radius: 3px;
  background: var(--steel-600);
}

.hs-lines i:first-child {
  width: 96px;
}

.hs-lines i:last-child {
  width: 62px;
}

.hs-media {
  position: relative;
  height: 244px;
  border-radius: 15px;
  overflow: hidden;
  background: linear-gradient(150deg, rgba(255, 122, 89, 0.55), rgba(139, 92, 246, 0.6));
  display: flex;
  align-items: center;
  justify-content: center;
}

.hs-play {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.92);
  position: relative;
  box-shadow: 0 10px 24px -8px rgba(0, 0, 0, 0.5);
}

.hs-play::after {
  content: "";
  position: absolute;
  left: 53%;
  top: 50%;
  transform: translate(-50%, -50%);
  border-style: solid;
  border-width: 9px 0 9px 15px;
  border-color: transparent transparent transparent #161a23;
}

.hs-live {
  position: absolute;
  top: 12px;
  left: 12px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: var(--white-100);
  background: rgba(10, 10, 13, 0.5);
  padding: 5px 10px;
  border-radius: 999px;
}

.hs-live i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #ff3b5c;
  animation: hsPulse 1.4s ease-in-out infinite;
}

.hs-heart {
  position: absolute;
  bottom: 14px;
  width: 24px;
  color: var(--pink-500);
  opacity: 0;
}

.hs-heart svg {
  width: 100%;
  height: 100%;
  display: block;
  filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.35));
}

.hs-heart--1 {
  left: 28%;
  animation: hsRise 3.2s ease-in infinite;
}

.hs-heart--2 {
  left: 50%;
  width: 18px;
  color: var(--white-100);
  animation: hsRise 3.2s ease-in infinite 0.9s;
}

.hs-heart--3 {
  left: 42%;
  animation: hsRise 3.2s ease-in infinite 1.8s;
}

.hs-heart--4 {
  left: 62%;
  width: 30px;
  animation: hsRise 3.2s ease-in infinite 1.3s;
}

.hs-actions {
  display: flex;
  gap: 15px;
  margin-top: 12px;
  color: var(--fog-200);
}

.hs-actions svg {
  width: 21px;
  height: 21px;
}

.hs-actions svg:first-child {
  color: var(--pink-500);
}

.hs-cap {
  margin-top: 11px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.hs-cap i {
  display: block;
  height: 7px;
  border-radius: 3px;
  background: var(--steel-600);
}

.hs-toast {
  position: absolute;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 11px;
  background: var(--white-100);
  color: #161a23;
  border-radius: 14px;
  padding: 11px 15px;
  font-size: 13.5px;
  box-shadow: 0 24px 46px -18px rgba(0, 0, 0, 0.6);
}

.hs-toast b {
  font-weight: 800;
}

.hs-toast-ico {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--white-100);
}

.hs-toast-ico svg {
  width: 16px;
  height: 16px;
}

.hs-toast-ico.like {
  background: #e11d48;
}

.hs-toast-ico.cmt {
  background: var(--blue-500);
}

.hs-toast-ico.up {
  background: #22c55e;
}

.hs-toast--a {
  top: 6%;
  left: -4%;
  animation: hsFloat 4.2s ease-in-out infinite;
}

.hs-toast--b {
  bottom: 16%;
  right: -6%;
  animation: hsFloat 5s ease-in-out infinite -1.5s;
}

.hs-toast--c {
  top: 48%;
  right: -2%;
  animation: hsFloat 4.6s ease-in-out infinite -0.8s;
}

@keyframes hsRise {
  0% {
    opacity: 0;
    transform: translateY(0) scale(0.5);
  }
  18% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translateY(-155px) scale(1.15);
  }
}
@keyframes hsFloat {
  0%, 100% {
    transform: translateY(-6px);
  }
  50% {
    transform: translateY(6px);
  }
}
@keyframes hsPulse {
  0%, 100% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0.4;
    transform: scale(0.7);
  }
}
@media (max-width: 991px) {
  .hs-visual {
    min-height: 400px;
    margin-top: 10px;
  }
}
@media (max-width: 420px) {
  .hs-toast--a {
    left: 0;
  }
  .hs-toast--b, .hs-toast--c {
    right: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .hs-heart, .hs-toast, .hs-live i {
    animation: none !important;
  }
  .hs-heart {
    display: none;
  }
}
/* Page styles for AEO & SEO */
/* ===== AEO / SEO bespoke sections ===== */
.aeo-eyebrow {
  display: inline-block;
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 6px;
  background: var(--brand-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.aeo-lead {
  color: var(--fog-200);
  font-size: 16px;
  line-height: 1.65;
  margin: 0 0 14px;
}

.aeo-note {
  color: var(--fog-300);
  font-size: 13px;
  line-height: 1.5;
  margin: 0;
  padding-left: 14px;
  border-left: 2px solid var(--steel-600);
}

/* AI chat */
.aeo-ai-section {
  background: radial-gradient(60% 70% at 85% 10%, rgba(139, 92, 246, 0.12), transparent 60%), var(--asphalt-950);
}

.aeo-chat {
  position: relative;
  max-width: 520px;
  margin: 0 auto;
}

.aeo-chat-q {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 14px;
}

.aeo-chat-q span {
  background: var(--asphalt-700);
  color: var(--fog-200);
  font-size: 14.5px;
  padding: 12px 16px;
  border-radius: 16px 16px 4px 16px;
  max-width: 80%;
}

.aeo-chat-a {
  position: relative;
  background: var(--asphalt-800);
  border: 1px solid var(--steel-600);
  border-radius: 4px 16px 16px 16px;
  padding: 18px 20px;
  box-shadow: 0 34px 70px -34px rgba(0, 0, 0, 0.8);
}

.aeo-chat-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--white-100);
  background: var(--brand-gradient);
  padding: 5px 12px;
  border-radius: 999px;
  margin-bottom: 12px;
}

.aeo-chat-badge svg {
  width: 13px;
  height: 13px;
}

.aeo-chat-a p {
  color: var(--fog-100, #e9e7ee);
  font-size: 15px;
  line-height: 1.6;
  margin: 0 0 14px;
}

.aeo-chat-a mark {
  background: linear-gradient(180deg, transparent 60%, rgba(255, 93, 143, 0.4) 0);
  color: var(--white-100);
  font-weight: 700;
  padding: 0 2px;
}

.aeo-cite {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.aeo-cite-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--fog-200);
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--steel-600);
  padding: 6px 11px;
  border-radius: 999px;
}

.aeo-cite-chip svg {
  width: 12px;
  height: 12px;
  color: #34d399;
}

.aeo-typing {
  display: flex;
  gap: 5px;
  margin-top: 14px;
}

.aeo-typing i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--fog-300);
  animation: aeoBlink 1.2s ease-in-out infinite;
}

.aeo-typing i:nth-child(2) {
  animation-delay: 0.2s;
}

.aeo-typing i:nth-child(3) {
  animation-delay: 0.4s;
}

.aeo-tag {
  position: absolute;
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--fog-200);
  background: var(--asphalt-900);
  border: 1px solid var(--steel-600);
  padding: 6px 10px;
  border-radius: 8px;
  box-shadow: 0 12px 26px -14px rgba(0, 0, 0, 0.7);
  animation: aeoFloat 5s ease-in-out infinite;
}

.aeo-tag--1 {
  top: -14px;
  left: -10px;
}

.aeo-tag--2 {
  bottom: 40px;
  left: -26px;
  animation-delay: -1.6s;
}

.aeo-tag--3 {
  top: 30px;
  right: -20px;
  animation-delay: -3s;
}

@keyframes aeoBlink {
  0%, 100% {
    opacity: 0.3;
    transform: translateY(0);
  }
  50% {
    opacity: 1;
    transform: translateY(-3px);
  }
}
@keyframes aeoFloat {
  0%, 100% {
    transform: translateY(-5px);
  }
  50% {
    transform: translateY(5px);
  }
}
/* Before / After */
.aeo-ba-section {
  background: var(--asphalt-950);
}

.aeo-ba-card {
  height: 100%;
  background: var(--asphalt-800);
  border: 1px solid var(--steel-600);
  border-radius: 20px;
  padding: 26px 28px 22px;
}

.aeo-ba-card.is-featured {
  border-color: rgba(255, 93, 143, 0.4);
  box-shadow: 0 30px 70px -38px rgba(255, 93, 143, 0.4);
}

.aeo-ba-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}

.aeo-ba-head h3 {
  font-size: 20px;
  color: var(--white-100);
  margin: 0;
}

.aeo-ba-badge {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 700;
  color: var(--white-100);
  background: var(--brand-gradient);
  padding: 5px 12px;
  border-radius: 999px;
}

.aeo-url {
  display: flex;
  align-items: center;
  gap: 10px;
  background: var(--asphalt-950);
  border: 1px solid var(--steel-600);
  border-radius: 999px;
  padding: 10px 16px;
  margin-bottom: 16px;
  overflow: hidden;
}

.aeo-url-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  flex-shrink: 0;
}

.aeo-url.is-bad .aeo-url-dot {
  background: #7a7580;
}

.aeo-url.is-good .aeo-url-dot {
  background: #34d399;
}

.aeo-url code {
  font-family: var(--font-mono);
  font-size: 12.5px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.aeo-url.is-bad code {
  color: var(--fog-300);
}

.aeo-url.is-good code {
  color: var(--white-100);
}

.aeo-code {
  margin: 0 0 16px;
  background: var(--asphalt-950);
  border: 1px solid var(--steel-600);
  border-radius: 12px;
  padding: 14px 16px;
  font-family: var(--font-mono);
  font-size: 12.5px;
  line-height: 1.6;
  color: var(--fog-200);
  overflow-x: auto;
}

.aeo-code .k {
  color: var(--violet-500);
}

.aeo-code .p {
  color: var(--blue-500);
}

.aeo-code .s {
  color: #34d399;
}

.aeo-ba-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.aeo-ba-list li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 9px 0;
  font-size: 14.5px;
  color: var(--fog-200);
}

.aeo-ba-ico {
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 1px;
}

.aeo-ba-ico svg {
  width: 12px;
  height: 12px;
}

.aeo-ba-ico.is-x {
  background: rgba(255, 255, 255, 0.06);
  color: var(--fog-300);
}

.aeo-ba-ico.is-check {
  background: var(--brand-gradient);
  color: var(--white-100);
}

/* Dashboard split */
.aeo-dash-section {
  background: radial-gradient(60% 70% at 10% 100%, rgba(91, 141, 255, 0.1), transparent 60%), var(--asphalt-950);
}

.aeo-dash-img {
  width: 100%;
  height: auto;
  border-radius: 16px;
  border: 1px solid var(--steel-600);
  box-shadow: 0 40px 80px -34px rgba(0, 0, 0, 0.8);
}

.aeo-dash-list {
  list-style: none;
  margin: 22px 0 0;
  padding: 0;
}

.aeo-dash-list li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 9px 0;
  font-size: 15px;
  color: var(--fog-200);
}

.aeo-dash-list svg {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  margin-top: 2px;
  color: #34d399;
}

/* Surfaces grid */
.aeo-surf {
  height: 100%;
  background: var(--white-100);
  border: 1px solid #eae5db;
  border-radius: 18px;
  padding: 24px 24px 22px;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.aeo-surf:hover {
  transform: translateY(-5px);
  border-color: var(--c);
  box-shadow: 0 26px 54px -34px rgba(0, 0, 0, 0.4);
}

.aeo-surf-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}

.aeo-surf-ico {
  width: 48px;
  height: 48px;
  border-radius: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--c);
  background: color-mix(in srgb, var(--c) 14%, transparent);
}

.aeo-surf-ico svg {
  width: 24px;
  height: 24px;
}

.aeo-surf-tag {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--c);
  background: color-mix(in srgb, var(--c) 12%, transparent);
  padding: 5px 11px;
  border-radius: 999px;
}

.aeo-surf h3 {
  font-size: 18px;
  color: var(--ink-900);
  margin: 0 0 8px;
}

.aeo-surf p {
  font-size: 14px;
  color: var(--ink-700);
  line-height: 1.55;
  margin: 0;
}

.aeo-surf-grid.js-reveal.is-in > [class*=col-] {
  animation: tkiUp 0.5s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.aeo-surf-grid.js-reveal.is-in > [class*=col-]:nth-child(2) {
  animation-delay: 0.08s;
}

.aeo-surf-grid.js-reveal.is-in > [class*=col-]:nth-child(3) {
  animation-delay: 0.16s;
}

.aeo-surf-grid.js-reveal.is-in > [class*=col-]:nth-child(4) {
  animation-delay: 0.24s;
}

.aeo-surf-grid.js-reveal.is-in > [class*=col-]:nth-child(5) {
  animation-delay: 0.32s;
}

@media (prefers-reduced-motion: reduce) {
  .aeo-typing i, .aeo-tag {
    animation: none;
  }
  .aeo-surf-grid.js-reveal.is-in > [class*=col-] {
    animation: none;
  }
}
/* AEO benefit cards — elevated */
.aeo-ben-card {
  position: relative;
  overflow: hidden;
  height: 100%;
  background: var(--white-100);
  border: 1px solid #eae5db;
  border-radius: 20px;
  padding: 30px 28px 26px;
  transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
}

.aeo-ben-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: var(--g);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.32s ease;
}

.aeo-ben-card:hover {
  transform: translateY(-8px);
  border-color: transparent;
  box-shadow: 0 32px 62px -30px color-mix(in srgb, var(--c) 46%, transparent);
}

.aeo-ben-card:hover::before {
  transform: scaleX(1);
}

.aeo-ben-num {
  position: absolute;
  top: 16px;
  right: 22px;
  z-index: 0;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 46px;
  line-height: 1;
  color: #efeadf;
  pointer-events: none;
}

.aeo-ben-ico {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 16px;
  color: var(--white-100);
  background: var(--g);
  box-shadow: 0 16px 30px -12px color-mix(in srgb, var(--c) 62%, transparent);
  margin-bottom: 20px;
  transition: transform 0.28s ease;
}

.aeo-ben-ico svg {
  width: 26px;
  height: 26px;
}

.aeo-ben-card:hover .aeo-ben-ico {
  transform: scale(1.08) rotate(-4deg);
}

.aeo-ben-card h3 {
  position: relative;
  z-index: 1;
  font-size: 19px;
  color: var(--ink-900);
  margin: 0 0 10px;
}

.aeo-ben-card p {
  position: relative;
  z-index: 1;
  font-size: 14.5px;
  color: var(--ink-700);
  line-height: 1.6;
  margin: 0 0 18px;
}

.aeo-ben-tag {
  position: relative;
  z-index: 1;
  display: inline-block;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--c);
  background: color-mix(in srgb, var(--c) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--c) 26%, transparent);
  padding: 6px 12px;
  border-radius: 999px;
}

.aeo-ben-grid.js-reveal.is-in > [class*=col-] {
  animation: tkiUp 0.55s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.aeo-ben-grid.js-reveal.is-in > [class*=col-]:nth-child(2) {
  animation-delay: 0.1s;
}

.aeo-ben-grid.js-reveal.is-in > [class*=col-]:nth-child(3) {
  animation-delay: 0.2s;
}

@media (prefers-reduced-motion: reduce) {
  .aeo-ben-grid.js-reveal.is-in > [class*=col-] {
    animation: none;
  }
}
/* AEO/SEO hero — search result visual */
.hero-seo h1 {
  max-width: 560px;
}

.seo-visual {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 440px;
}

.seo-glow {
  position: absolute;
  width: 320px;
  height: 320px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(91, 141, 255, 0.28), transparent 62%);
  filter: blur(6px);
  z-index: 0;
}

.seo-serp {
  position: relative;
  z-index: 1;
  width: 384px;
  max-width: 100%;
  background: var(--white-100);
  border-radius: 18px;
  padding: 20px;
  box-shadow: 0 44px 90px -34px rgba(0, 0, 0, 0.85);
}

.seo-searchbar {
  display: flex;
  align-items: center;
  gap: 10px;
  background: #f1f3f6;
  border: 1px solid #e4e7ec;
  border-radius: 999px;
  padding: 11px 16px;
  color: #5a6472;
  font-size: 14px;
}

.seo-mag {
  display: flex;
  color: #8a90a0;
}

.seo-mag svg {
  width: 16px;
  height: 16px;
}

.seo-cursor {
  width: 2px;
  height: 16px;
  background: var(--blue-500);
  margin-left: -4px;
  animation: seoBlink 1.1s step-end infinite;
}

.seo-ai {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin: 16px 0 12px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--violet-500);
}

.seo-ai svg {
  width: 14px;
  height: 14px;
}

.seo-result-top {
  display: flex;
  gap: 11px;
  align-items: center;
}

.seo-fav {
  width: 34px;
  height: 34px;
  border-radius: 9px;
  background: var(--brand-gradient);
  flex-shrink: 0;
}

.seo-url {
  font-size: 12.5px;
  color: #3c9a3c;
}

.seo-result h4 {
  font-size: 17px;
  color: #1a0dab;
  margin: 2px 0 0;
  font-weight: 600;
}

.seo-rating {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 9px 0;
  font-size: 12.5px;
  color: #70757a;
}

.seo-stars {
  color: #fbbc05;
  letter-spacing: 1px;
}

.seo-desc {
  font-size: 13px;
  color: #4d5156;
  line-height: 1.55;
  margin: 0 0 12px;
}

.seo-links {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.seo-links a {
  font-size: 12px;
  color: #1a0dab;
  background: #f1f3f6;
  padding: 6px 12px;
  border-radius: 8px;
  text-decoration: none;
}

.seo-badge {
  position: absolute;
  z-index: 2;
  box-shadow: 0 22px 44px -16px rgba(0, 0, 0, 0.6);
}

.seo-badge--rank {
  top: 2%;
  left: 0;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: var(--brand-gradient);
  color: var(--white-100);
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: seoFloat 4.4s ease-in-out infinite;
}

.seo-badge--up {
  bottom: 8%;
  right: 0;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: var(--white-100);
  color: #161a23;
  font-weight: 800;
  font-size: 13px;
  padding: 10px 14px;
  border-radius: 12px;
  animation: seoFloat 5s ease-in-out infinite -1.5s;
}

.seo-badge--up svg {
  width: 15px;
  height: 15px;
  color: #22c55e;
}

@keyframes seoBlink {
  50% {
    opacity: 0;
  }
}
@keyframes seoFloat {
  0%, 100% {
    transform: translateY(-6px);
  }
  50% {
    transform: translateY(6px);
  }
}
@media (max-width: 991px) {
  .seo-visual {
    min-height: 400px;
    margin-top: 10px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .seo-cursor, .seo-badge {
    animation: none;
  }
}
/* Page styles for AI Agents */
/* ===== AI Agents bespoke sections ===== */
.agt-eyebrow {
  display: inline-block;
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 6px;
  background: var(--brand-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.agt-lead {
  color: var(--fog-200);
  font-size: 16px;
  line-height: 1.65;
  margin: 0 0 20px;
}

/* Hero chat */
.hero-agents h1 {
  max-width: 560px;
}

.agt-chat {
  position: relative;
  width: 384px;
  max-width: 100%;
  margin: 0 auto;
  background: var(--asphalt-800);
  border: 1px solid var(--steel-600);
  border-radius: 22px;
  padding: 18px;
  box-shadow: 0 46px 92px -34px rgba(0, 0, 0, 0.85);
}

.agt-chat-head {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--steel-600);
  margin-bottom: 14px;
}

.agt-chat-ava {
  flex-shrink: 0;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--white-100);
  background: var(--brand-gradient);
}

.agt-chat-ava svg {
  width: 22px;
  height: 22px;
}

.agt-chat-head b {
  display: block;
  color: var(--white-100);
  font-size: 15px;
}

.agt-chat-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--fog-300);
}

.agt-chat-status i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #34d399;
  box-shadow: 0 0 0 3px rgba(52, 211, 153, 0.2);
}

.agt-chat-body {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.agt-msg {
  max-width: 82%;
  font-size: 13.5px;
  line-height: 1.5;
  padding: 10px 14px;
  border-radius: 16px;
}

.agt-msg--in {
  align-self: flex-end;
  background: var(--asphalt-700);
  color: var(--fog-200);
  border-bottom-right-radius: 4px;
}

.agt-msg--ai {
  align-self: flex-start;
  color: var(--white-100);
  background: linear-gradient(135deg, rgba(255, 93, 143, 0.9), rgba(139, 92, 246, 0.9));
  border-bottom-left-radius: 4px;
}

.agt-book {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 6px;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(52, 211, 153, 0.1);
  border: 1px solid rgba(52, 211, 153, 0.35);
}

.agt-book-ico {
  flex-shrink: 0;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--white-100);
  background: #22c55e;
}

.agt-book-ico svg {
  width: 18px;
  height: 18px;
}

.agt-book b {
  display: block;
  color: var(--white-100);
  font-size: 14px;
}

.agt-book span {
  font-size: 12px;
  color: var(--fog-200);
}

.agt-float {
  position: absolute;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: var(--white-100);
  color: #161a23;
  font-size: 12.5px;
  font-weight: 700;
  padding: 9px 13px;
  border-radius: 999px;
  box-shadow: 0 22px 44px -16px rgba(0, 0, 0, 0.6);
  animation: agtFloat 5s ease-in-out infinite;
}

.agt-float svg {
  width: 15px;
  height: 15px;
}

.agt-float--q {
  top: -4%;
  left: -5%;
  color: #16a34a;
}

.agt-float--q svg {
  color: #16a34a;
}

.agt-float--c {
  bottom: 12%;
  right: -7%;
  color: var(--blue-500);
  animation-delay: -1.6s;
}

.agt-float--c svg {
  color: var(--blue-500);
}

@keyframes agtFloat {
  0%, 100% {
    transform: translateY(-6px);
  }
  50% {
    transform: translateY(6px);
  }
}
/* Elevated benefit cards */
.agt-ben-card {
  position: relative;
  overflow: hidden;
  height: 100%;
  background: var(--white-100);
  border: 1px solid #eae5db;
  border-radius: 20px;
  padding: 30px 28px 26px;
  transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
}

.agt-ben-card::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: var(--g);
  transform: scaleY(0);
  transform-origin: top;
  transition: transform 0.32s ease;
}

.agt-ben-card:hover {
  transform: translateY(-8px);
  border-color: transparent;
  box-shadow: 0 32px 62px -30px color-mix(in srgb, var(--c) 46%, transparent);
}

.agt-ben-card:hover::after {
  transform: scaleY(1);
}

.agt-ben-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 16px;
  color: var(--white-100);
  background: var(--g);
  box-shadow: 0 16px 30px -12px color-mix(in srgb, var(--c) 62%, transparent);
  margin-bottom: 20px;
  transition: transform 0.28s ease;
}

.agt-ben-ico svg {
  width: 26px;
  height: 26px;
}

.agt-ben-card:hover .agt-ben-ico {
  transform: scale(1.08) rotate(-4deg);
}

.agt-ben-card h3 {
  font-size: 19px;
  color: var(--ink-900);
  margin: 0 0 10px;
}

.agt-ben-card p {
  font-size: 14.5px;
  color: var(--ink-700);
  line-height: 1.6;
  margin: 0 0 18px;
}

.agt-ben-tag {
  display: inline-block;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--c);
  background: color-mix(in srgb, var(--c) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--c) 26%, transparent);
  padding: 6px 12px;
  border-radius: 999px;
}

/* Capabilities */
.agt-cap-section {
  background: radial-gradient(60% 70% at 85% 5%, rgba(139, 92, 246, 0.1), transparent 60%), var(--asphalt-950);
}

.agt-cap {
  height: 100%;
  background: var(--asphalt-800);
  border: 1px solid var(--steel-600);
  border-radius: 18px;
  padding: 26px 24px;
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.agt-cap:hover {
  transform: translateY(-5px);
  border-color: rgba(139, 92, 246, 0.45);
  box-shadow: 0 30px 60px -34px rgba(0, 0, 0, 0.7);
}

.agt-cap-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  border-radius: 14px;
  color: var(--white-100);
  background: var(--brand-gradient);
  margin-bottom: 16px;
}

.agt-cap-ico svg {
  width: 24px;
  height: 24px;
}

.agt-cap h3 {
  font-size: 18px;
  color: var(--white-100);
  margin: 0 0 8px;
}

.agt-cap p {
  font-size: 14px;
  color: var(--fog-200);
  line-height: 1.55;
  margin: 0 0 16px;
}

.agt-cap-eg {
  display: block;
  font-size: 13px;
  font-style: italic;
  color: var(--fog-300);
  padding: 10px 14px;
  border-radius: 12px 12px 12px 4px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid var(--steel-600);
}

/* Speed-to-lead race */
.agt-race-section {
  background: var(--asphalt-950);
}

.agt-race-stat {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 8px;
}

.agt-race-big {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 54px;
  line-height: 1;
  background: var(--brand-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.agt-race-stat span:last-child {
  font-size: 14px;
  color: var(--fog-200);
  max-width: 200px;
}

.agt-race {
  background: var(--asphalt-800);
  border: 1px solid var(--steel-600);
  border-radius: 20px;
  padding: 30px 32px;
}

.agt-race-row {
  margin-bottom: 24px;
}

.agt-race-meta {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 10px;
}

.agt-race-name {
  font-size: 14.5px;
  font-weight: 700;
  color: var(--white-100);
}

.agt-race-val {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 18px;
  color: var(--white-100);
}

.agt-race-val.is-muted {
  color: var(--fog-300);
}

.agt-race-track {
  height: 14px;
  border-radius: 999px;
  background: var(--asphalt-950);
  overflow: hidden;
}

.agt-race-fill {
  display: block;
  height: 100%;
  border-radius: 999px;
  background: var(--brand-gradient);
  box-shadow: 0 0 18px -2px rgba(255, 93, 143, 0.6);
}

.agt-race-fill.is-slow {
  background: repeating-linear-gradient(45deg, var(--steel-600), var(--steel-600) 8px, #34343c 8px, #34343c 16px);
  box-shadow: none;
}

.agt-race-note {
  font-size: 12.5px;
  color: var(--fog-300);
  margin: 4px 0 0;
}

/* Stat cards */
.agt-stat-section {
  background: radial-gradient(60% 70% at 12% 100%, rgba(91, 141, 255, 0.1), transparent 60%), var(--asphalt-950);
}

.agt-stat {
  height: 100%;
  text-align: center;
  background: var(--asphalt-800);
  border: 1px solid var(--steel-600);
  border-radius: 18px;
  padding: 28px 20px;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.agt-stat:hover {
  transform: translateY(-5px);
  box-shadow: 0 28px 56px -34px rgba(0, 0, 0, 0.7);
}

.agt-stat-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border-radius: 13px;
  color: var(--c);
  background: color-mix(in srgb, var(--c) 16%, transparent);
  margin-bottom: 14px;
}

.agt-stat-ico svg {
  width: 22px;
  height: 22px;
}

.agt-stat-num {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(30px, 3.4vw, 42px);
  line-height: 1;
  background: var(--brand-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.agt-stat-lbl {
  margin-top: 10px;
  font-size: 13.5px;
  color: var(--fog-200);
}

/* Channels */
.agt-ch {
  height: 100%;
  text-align: center;
  background: var(--white-100);
  border: 1px solid #eae5db;
  border-radius: 18px;
  padding: 28px 22px;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.agt-ch:hover {
  transform: translateY(-6px);
  border-color: var(--c);
  box-shadow: 0 26px 54px -34px rgba(0, 0, 0, 0.4);
}

.agt-ch-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 16px;
  color: var(--white-100);
  background: var(--c);
  margin-bottom: 16px;
}

.agt-ch-ico svg {
  width: 26px;
  height: 26px;
}

.agt-ch h3 {
  font-size: 16.5px;
  color: var(--ink-900);
  margin: 0 0 8px;
}

.agt-ch p {
  font-size: 13.5px;
  color: var(--ink-700);
  line-height: 1.55;
  margin: 0;
}

/* reveals */
.agt-ben-grid.js-reveal.is-in > [class*=col-], .agt-cap-grid.js-reveal.is-in > [class*=col-], .agt-stat-grid.js-reveal.is-in > [class*=col-], .agt-ch-grid.js-reveal.is-in > [class*=col-] {
  animation: tkiUp 0.55s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.agt-cap-grid.js-reveal.is-in > [class*=col-]:nth-child(2), .agt-ben-grid.js-reveal.is-in > [class*=col-]:nth-child(2), .agt-stat-grid.js-reveal.is-in > [class*=col-]:nth-child(2), .agt-ch-grid.js-reveal.is-in > [class*=col-]:nth-child(2) {
  animation-delay: 0.09s;
}

.agt-cap-grid.js-reveal.is-in > [class*=col-]:nth-child(3), .agt-stat-grid.js-reveal.is-in > [class*=col-]:nth-child(3), .agt-ch-grid.js-reveal.is-in > [class*=col-]:nth-child(3) {
  animation-delay: 0.18s;
}

.agt-cap-grid.js-reveal.is-in > [class*=col-]:nth-child(4), .agt-stat-grid.js-reveal.is-in > [class*=col-]:nth-child(4), .agt-ch-grid.js-reveal.is-in > [class*=col-]:nth-child(4) {
  animation-delay: 0.27s;
}

.agt-cap-grid.js-reveal.is-in > [class*=col-]:nth-child(5) {
  animation-delay: 0.36s;
}

.agt-cap-grid.js-reveal.is-in > [class*=col-]:nth-child(6) {
  animation-delay: 0.45s;
}

@media (max-width: 991px) {
  .agt-chat {
    margin-top: 10px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .agt-float {
    animation: none;
  }
  .agt-ben-grid > [class*=col-], .agt-cap-grid > [class*=col-], .agt-stat-grid > [class*=col-], .agt-ch-grid > [class*=col-] {
    animation: none !important;
  }
}
/* Everything Included — elevated horizontal cards (AI Agents) */
.agt-inc {
  position: relative;
  overflow: hidden;
  height: 100%;
  display: flex;
  gap: 18px;
  align-items: flex-start;
  background: var(--white-100);
  border: 1px solid #eae5db;
  border-radius: 16px;
  padding: 24px 26px;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.agt-inc::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: var(--g);
  transform: scaleY(0);
  transform-origin: top;
  transition: transform 0.3s ease;
}

.agt-inc:hover {
  transform: translateY(-5px);
  border-color: transparent;
  box-shadow: 0 28px 56px -34px rgba(0, 0, 0, 0.36);
}

.agt-inc:hover::before {
  transform: scaleY(1);
}

.agt-inc-ico {
  flex-shrink: 0;
  width: 52px;
  height: 52px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--white-100);
  background: var(--g);
  box-shadow: 0 14px 26px -12px color-mix(in srgb, var(--c) 55%, transparent);
  transition: transform 0.25s ease;
}

.agt-inc-ico svg {
  width: 26px;
  height: 26px;
}

.agt-inc:hover .agt-inc-ico {
  transform: scale(1.08) rotate(-4deg);
}

.agt-inc h3 {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 17px;
  color: var(--ink-900);
  margin: 0 0 6px;
}

.agt-inc-chk {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--c) 16%, transparent);
  color: var(--c);
}

.agt-inc-chk svg {
  width: 11px;
  height: 11px;
}

.agt-inc p {
  font-size: 14px;
  color: var(--ink-700);
  line-height: 1.6;
  margin: 0;
}

.agt-inc-grid.js-reveal.is-in > [class*=col-] {
  animation: tkiUp 0.5s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.agt-inc-grid.js-reveal.is-in > [class*=col-]:nth-child(2) {
  animation-delay: 0.07s;
}

.agt-inc-grid.js-reveal.is-in > [class*=col-]:nth-child(3) {
  animation-delay: 0.14s;
}

.agt-inc-grid.js-reveal.is-in > [class*=col-]:nth-child(4) {
  animation-delay: 0.21s;
}

.agt-inc-grid.js-reveal.is-in > [class*=col-]:nth-child(5) {
  animation-delay: 0.28s;
}

.agt-inc-grid.js-reveal.is-in > [class*=col-]:nth-child(6) {
  animation-delay: 0.35s;
}

@media (prefers-reduced-motion: reduce) {
  .agt-inc-grid.js-reveal.is-in > [class*=col-] {
    animation: none;
  }
}
/* Why AI Now (AI Agents) */
.agt-why-lead {
  color: var(--ink-700);
  font-size: 16px;
  line-height: 1.65;
  margin: 0 0 24px;
  max-width: 460px;
}

.agt-why-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.agt-why-card {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  background: linear-gradient(135deg, rgba(255, 122, 89, 0.06), rgba(139, 92, 246, 0.07)), var(--white-100);
  border: 1px solid #eae5db;
  border-radius: 14px;
  padding: 18px 20px;
  transition: transform 0.24s ease, box-shadow 0.24s ease, border-color 0.24s ease;
}

.agt-why-card:hover {
  transform: translateX(4px);
  border-color: rgba(255, 93, 143, 0.4);
  box-shadow: 0 22px 44px -32px rgba(0, 0, 0, 0.4);
}

.agt-why-ico {
  flex-shrink: 0;
  width: 46px;
  height: 46px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--white-100);
  background: var(--brand-gradient);
}

.agt-why-ico svg {
  width: 23px;
  height: 23px;
}

.agt-why-card h4 {
  font-size: 16.5px;
  color: var(--ink-900);
  margin: 0 0 4px;
}

.agt-why-card p {
  font-size: 14px;
  color: var(--ink-700);
  line-height: 1.55;
  margin: 0;
}

.agt-why-panel {
  background: linear-gradient(160deg, var(--asphalt-800), var(--asphalt-950));
  border: 1px solid var(--steel-600);
  border-radius: 22px;
  padding: 28px;
  box-shadow: 0 40px 80px -40px rgba(0, 0, 0, 0.6);
}

.agt-why-panel h3 {
  font-size: 20px;
  color: var(--white-100);
  margin: 0 0 18px;
}

.agt-why-row {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid var(--steel-600);
  border-radius: 14px;
  padding: 18px 20px;
  margin-bottom: 14px;
}

.agt-why-row:last-of-type {
  margin-bottom: 0;
}

.agt-why-label {
  display: block;
  font-size: 13.5px;
  font-weight: 700;
  color: var(--fog-200);
  margin-bottom: 12px;
}

.agt-why-cmp {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 14px;
}

.agt-why-before .sm, .agt-why-after .sm {
  display: block;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--fog-300);
  margin-bottom: 3px;
}

.agt-why-before .big {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 22px;
  color: var(--fog-200);
}

.agt-why-after {
  text-align: right;
}

.agt-why-after .big {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 22px;
  background: var(--brand-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.agt-why-arrow {
  color: var(--fog-300);
}

.agt-why-arrow svg {
  width: 22px;
  height: 22px;
}

.agt-why-badge {
  display: block;
  text-align: right;
  margin-top: 8px;
  font-size: 12.5px;
  font-weight: 800;
  background: var(--brand-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.agt-why-fine {
  font-size: 11.5px;
  color: var(--fog-300);
  margin: 16px 0 0;
}

.agt-why-list.js-reveal.is-in > .agt-why-card {
  animation: tkiUp 0.5s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.agt-why-list.js-reveal.is-in > .agt-why-card:nth-child(2) {
  animation-delay: 0.08s;
}

.agt-why-list.js-reveal.is-in > .agt-why-card:nth-child(3) {
  animation-delay: 0.16s;
}

.agt-why-list.js-reveal.is-in > .agt-why-card:nth-child(4) {
  animation-delay: 0.24s;
}

@media (max-width: 520px) {
  .agt-why-cmp {
    grid-template-columns: 1fr;
    text-align: left;
  }
  .agt-why-after {
    text-align: left;
  }
  .agt-why-arrow {
    transform: rotate(90deg);
  }
}
@media (prefers-reduced-motion: reduce) {
  .agt-why-list.js-reveal.is-in > .agt-why-card {
    animation: none;
  }
}
/* Page styles for Facebook & Instagram */
/* Full-funnel ad-format cards (Facebook/Instagram) */
.funnel-card {
  height: 100%;
  background: var(--asphalt-800);
  border: 1px solid var(--steel-600);
  border-radius: 18px;
  padding: 24px 26px 26px;
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.funnel-card:hover {
  transform: translateY(-4px);
  border-color: rgba(24, 119, 242, 0.45);
  box-shadow: 0 26px 60px -40px rgba(0, 0, 0, 0.7);
}

.funnel-media {
  text-align: center;
  margin-bottom: 20px;
}

.funnel-media img {
  width: 200px;
  max-width: 66%;
  height: auto;
}

.funnel-card h3 {
  font-size: 20px;
  color: var(--white-100);
  margin: 0 0 10px;
}

.funnel-card > p {
  color: var(--fog-200);
  font-size: 14.5px;
  line-height: 1.65;
  margin: 0 0 18px;
}

/* "What is included" monthly checklist */
.incl-grid {
  list-style: none;
  margin: 0 auto;
  padding: 0;
  max-width: 860px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px 40px;
}

.incl-item {
  display: flex;
  align-items: flex-start;
  gap: 13px;
  color: var(--ink-700);
  font-size: 15.5px;
  line-height: 1.45;
}

.incl-check {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  color: #34d399;
  margin-top: 1px;
}

@media (max-width: 640px) {
  .incl-grid {
    grid-template-columns: 1fr;
  }
}
/* Facebook Chatbot Messenger deep-dive (Facebook/Instagram) */
.msgr-section .msgr-lead {
  color: var(--ink-700);
  font-size: 16px;
  line-height: 1.75;
  margin: 0 0 16px;
}

.msgr-subhead {
  font-size: clamp(15px, 1.8vw, 18px);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ink-900);
  font-weight: 800;
  margin: 28px 0 18px;
}

.chk-card {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  background: var(--white-100);
  border: 1px solid #eae5db;
  border-radius: 12px;
  padding: 16px 18px;
  margin-bottom: 14px;
  box-shadow: 0 12px 30px -26px rgba(0, 0, 0, 0.4);
}

.chk-card:last-child {
  margin-bottom: 0;
}

.chk-ico {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  margin-top: 1px;
}

.chk-card span {
  color: var(--ink-700);
  font-size: 15.5px;
  line-height: 1.5;
}

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

@media (max-width: 991px) {
  .msgr-img {
    margin-top: 16px;
    max-width: 560px;
  }
}
/* Messenger section — beautify */
.msgr-section {
  position: relative;
  overflow: hidden;
}

.msgr-section::before {
  content: "";
  position: absolute;
  right: -8%;
  top: 50%;
  transform: translateY(-50%);
  width: 640px;
  height: 640px;
  max-width: 70vw;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(139, 92, 246, 0.16), rgba(24, 119, 242, 0.09) 45%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}

.msgr-section .wrap {
  position: relative;
  z-index: 1;
}

.msgr-subhead::after {
  content: "";
  display: block;
  width: 46px;
  height: 3px;
  border-radius: 2px;
  background: var(--brand-gradient);
  margin-top: 12px;
}

.chk-card {
  border-radius: 14px;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.chk-card:hover {
  transform: translateY(-2px);
  border-color: rgba(24, 119, 242, 0.4);
  box-shadow: 0 20px 44px -26px rgba(24, 119, 242, 0.55);
}

.msgr-img {
  filter: drop-shadow(0 24px 44px rgba(20, 24, 40, 0.14));
}

/* Facebook/Instagram hero stat cards */
.fbstat-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}

.fbstat {
  position: relative;
  overflow: hidden;
  text-align: center;
  padding: 26px 16px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid var(--steel-600);
  transition: transform 0.25s ease, border-color 0.25s ease;
}

.fbstat:hover {
  transform: translateY(-4px);
  border-color: var(--c);
}

.fbstat::before {
  content: "";
  position: absolute;
  top: -40px;
  right: -30px;
  width: 110px;
  height: 110px;
  border-radius: 50%;
  background: var(--c);
  opacity: 0.13;
  filter: blur(6px);
  pointer-events: none;
}

.fbstat-ico {
  display: inline-flex;
  color: var(--c);
  margin-bottom: 10px;
  position: relative;
}

.fbstat-ico svg {
  width: 30px;
  height: 30px;
}

.fbstat-num {
  font-family: var(--font-display);
  font-size: clamp(28px, 3.4vw, 34px);
  font-weight: 800;
  color: var(--c);
  line-height: 1;
  position: relative;
}

.fbstat-lbl {
  color: var(--fog-200);
  font-size: 13px;
  margin-top: 8px;
  position: relative;
}

.fbstat-grid.js-reveal.is-in > .fbstat {
  animation: tkiUp 0.5s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.fbstat-grid.js-reveal.is-in > .fbstat:nth-child(2) {
  animation-delay: 0.08s;
}

.fbstat-grid.js-reveal.is-in > .fbstat:nth-child(3) {
  animation-delay: 0.16s;
}

.fbstat-grid.js-reveal.is-in > .fbstat:nth-child(4) {
  animation-delay: 0.24s;
}

@media (max-width: 991px) {
  .fbstat-grid {
    margin-top: 22px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .fbstat-grid.js-reveal.is-in > .fbstat {
    animation: none;
  }
}
/* "The Numbers" big stat circles (Facebook/Instagram) */
.numbers-section {
  background: radial-gradient(70% 90% at 50% 0%, rgba(139, 92, 246, 0.08), transparent 60%), var(--asphalt-950);
}

.num-item {
  text-align: center;
}

.num-ring {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 116px;
  height: 116px;
  border-radius: 50%;
  color: var(--white-100);
  background: linear-gradient(150deg, var(--c1), var(--c2));
  box-shadow: 0 0 54px -8px var(--c1);
  margin-bottom: 26px;
}

.num-ring svg {
  width: 50px;
  height: 50px;
}

.num-val {
  font-family: var(--font-display);
  font-size: clamp(40px, 5vw, 52px);
  font-weight: 800;
  line-height: 1;
  background: linear-gradient(90deg, var(--c1), var(--c2));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.num-title {
  font-size: 20px;
  font-weight: 800;
  color: var(--white-100);
  margin-top: 14px;
}

.num-sub {
  color: var(--fog-300);
  font-size: 14px;
  margin-top: 6px;
}

.num-grid.js-reveal.is-in > [class*=col-] {
  animation: tkiUp 0.6s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.num-grid.js-reveal.is-in > [class*=col-]:nth-child(2) {
  animation-delay: 0.12s;
}

.num-grid.js-reveal.is-in > [class*=col-]:nth-child(3) {
  animation-delay: 0.24s;
}

@media (prefers-reduced-motion: reduce) {
  .num-grid.js-reveal.is-in > [class*=col-] {
    animation: none;
  }
}
/* Why Verified Numbers Matter comparison (Facebook/Instagram) */
.vn-section {
  background: radial-gradient(50% 70% at 12% 100%, rgba(255, 60, 80, 0.1), transparent 60%), radial-gradient(50% 70% at 88% 100%, rgba(34, 197, 94, 0.1), transparent 60%), var(--asphalt-950);
}

.vn-accent {
  color: #22c55e;
}

.vn-card {
  position: relative;
  height: 100%;
  text-align: center;
  border-radius: 22px;
  padding: 36px 34px 30px;
  background: var(--asphalt-800);
  border: 1px solid var(--steel-600);
}

.vn-card--bad {
  box-shadow: 0 0 60px -26px rgba(255, 60, 80, 0.5);
  border-color: rgba(255, 90, 108, 0.35);
}

.vn-card--good {
  box-shadow: 0 0 60px -26px rgba(34, 197, 94, 0.5);
  border-color: rgba(52, 211, 153, 0.35);
}

.vn-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 62px;
  height: 62px;
  border-radius: 18px;
  color: var(--white-100);
  margin-bottom: 18px;
}

.vn-badge svg {
  width: 32px;
  height: 32px;
}

.vn-badge--x {
  background: linear-gradient(150deg, #ff6b8a, #ff3b5c);
  box-shadow: 0 14px 30px -12px rgba(255, 59, 92, 0.6);
}

.vn-badge--check {
  background: linear-gradient(150deg, #4ade80, #16a34a);
  box-shadow: 0 14px 30px -12px rgba(34, 197, 94, 0.6);
}

.vn-card h3 {
  font-size: clamp(20px, 2.4vw, 26px);
  color: var(--white-100);
  margin: 0 0 8px;
}

.vn-tag {
  display: inline-block;
  font-size: 14px;
  font-weight: 800;
  margin-bottom: 22px;
}

.vn-tag--bad {
  color: #ff6b8a;
}

.vn-tag--good {
  color: #34d399;
}

.vn-list {
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: left;
}

.vn-list li {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 11px 0;
  font-size: 15.5px;
  color: var(--fog-200);
}

.vn-ico {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.vn-ico svg {
  width: 13px;
  height: 13px;
}

.vn-ico--x {
  background: rgba(255, 80, 100, 0.16);
  color: #ff6b8a;
}

.vn-ico--check {
  background: rgba(34, 197, 94, 0.16);
  color: #34d399;
}

/* Prospecting vs Retargeting cards (light) */
.pr-card {
  height: 100%;
  background: var(--white-100);
  border: 1px solid #eae5db;
  border-radius: 22px;
  padding: 34px 32px;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.pr-card:hover {
  transform: translateY(-4px);
  border-color: var(--c);
  box-shadow: 0 30px 62px -34px rgba(0, 0, 0, 0.3);
}

.pr-ico {
  display: inline-flex;
  color: var(--c);
  margin-bottom: 20px;
}

.pr-ico svg {
  width: 46px;
  height: 46px;
}

.pr-card h3 {
  font-size: clamp(26px, 3vw, 34px);
  color: var(--ink-900);
  margin: 0 0 14px;
}

.pr-card > p {
  color: var(--ink-700);
  font-size: 16px;
  line-height: 1.7;
  margin: 0 0 24px;
}

.pr-stats {
  display: grid;
  gap: 12px;
}

.pr-stat {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 15px 18px;
  border-radius: 12px;
  background: color-mix(in srgb, var(--c) 8%, #faf9f6);
  border: 1px solid color-mix(in srgb, var(--c) 18%, transparent);
}

.pr-stat-lbl {
  color: var(--ink-700);
  font-size: 14.5px;
}

.pr-stat-val {
  color: var(--c);
  font-weight: 800;
  font-size: 18px;
  font-family: var(--font-display);
}

.pr-grid.js-reveal.is-in > [class*=col-] {
  animation: tkiUp 0.6s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.pr-grid.js-reveal.is-in > [class*=col-]:nth-child(2) {
  animation-delay: 0.12s;
}

@media (prefers-reduced-motion: reduce) {
  .pr-grid.js-reveal.is-in > [class*=col-] {
    animation: none;
  }
}
/* Page styles for Google */
/* Full-Funnel Google Solutions — alternating feature rows */
.sol-row {
  margin-bottom: var(--space-64);
}

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

.sol-img {
  width: 100%;
  max-width: 300px;
  height: auto;
  display: block;
  margin: 0 auto;
}

.sol-copy h3 {
  font-size: clamp(22px, 2.6vw, 30px);
  line-height: 1.15;
  color: var(--white-100);
  margin: 0 0 14px;
}

.sol-copy > p {
  color: var(--fog-200);
  font-size: 16px;
  line-height: 1.7;
  margin: 0 0 20px;
}

.sol-eyebrow {
  display: inline-block;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #a78bfa;
  margin: 0 0 16px;
}

/* Creative reason tiles (Google Ads) */
.reason-tile {
  height: 100%;
  background: var(--white-100);
  border: 1px solid #eae5db;
  border-radius: 16px;
  padding: 24px 22px;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.reason-tile:hover {
  transform: translateY(-4px);
  border-color: var(--c);
  box-shadow: 0 22px 50px -34px rgba(0, 0, 0, 0.4);
}

.reason-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border-radius: 12px;
  color: var(--c);
  background: color-mix(in srgb, var(--c) 14%, transparent);
  margin-bottom: 16px;
}

.reason-ico svg {
  width: 24px;
  height: 24px;
}

.reason-tile h3 {
  font-size: 16px;
  color: var(--ink-900);
  margin: 0 0 8px;
}

.reason-tile p {
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--ink-700);
  margin: 0;
}

/* Bento grid (Google Ads — Why choose) */
.bento-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 168px;
  grid-auto-flow: row dense;
  gap: 16px;
}

.bento-tile {
  display: flex;
  flex-direction: column;
  background: var(--white-100);
  border: 1px solid #eae5db;
  border-radius: 18px;
  padding: 22px;
  overflow: hidden;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.bento-tile:hover {
  transform: translateY(-4px);
  box-shadow: 0 22px 50px -34px rgba(0, 0, 0, 0.4);
  border-color: var(--c, #d8d3c8);
}

.bento-tile .reason-ico {
  margin-bottom: 0;
}

.bento-tile h3 {
  font-size: 16px;
  color: var(--ink-900);
  margin: 12px 0 7px;
}

.bento-tile p {
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--ink-700);
  margin: 0;
}

.bento-tile.is-big {
  grid-column: span 2;
  grid-row: span 2;
  justify-content: flex-end;
  padding: 30px;
  border: 1px solid var(--steel-600);
  background: url("../images/bg-search.svg") center/cover no-repeat, radial-gradient(72% 80% at 12% 12%, rgba(255, 122, 89, 0.22), transparent 60%), radial-gradient(72% 80% at 100% 100%, rgba(91, 141, 255, 0.2), transparent 62%), linear-gradient(160deg, #1b1b22, #101014);
}

.bento-tile.is-big .reason-ico {
  width: 56px;
  height: 56px;
  color: var(--white-100);
  background: var(--brand-gradient);
  margin-bottom: auto;
}

.bento-tile.is-big h3 {
  font-size: 24px;
  color: var(--white-100);
  margin: 20px 0 10px;
}

.bento-tile.is-big p {
  color: rgba(255, 255, 255, 0.92);
  font-size: 15px;
  line-height: 1.6;
}

.bento-tile.is-wide {
  grid-column: span 2;
}

@media (max-width: 900px) {
  .bento-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .bento-tile.is-big {
    grid-column: span 2;
    grid-row: span 1;
  }
  .bento-tile.is-wide {
    grid-column: span 2;
  }
}
@media (max-width: 560px) {
  .bento-grid {
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
  }
  .bento-tile, .bento-tile.is-big, .bento-tile.is-wide {
    grid-column: span 1;
    grid-row: auto;
    min-height: 148px;
  }
}
/* Result illustrations replacing icon chips (Google Ads) */
.benefit-img {
  width: 72px;
  height: 72px;
  display: block;
  margin: 0 0 18px;
}

/* Themed watermark background (Google Ads results section) */
.section.light.section-white.results-section {
  position: relative;
  background: var(--white-100) url("../images/bg-map.svg") center/cover no-repeat;
}

.results-section .wrap {
  position: relative;
  z-index: 1;
}

/* Page styles for TikTok */
/* Feature showcase copy (Snapchat / TikTok) */
.feature-copy h2 {
  font-size: clamp(24px, 2.8vw, 32px);
  line-height: 1.15;
  color: var(--ink-900);
  margin: 0 0 16px;
}

.feature-copy > p {
  color: var(--ink-700);
  font-size: 16px;
  line-height: 1.75;
  margin: 0 0 22px;
}

/* Animated TikTok-style banner (TikTok page) */
.tk-banner {
  position: relative;
  overflow: hidden;
  min-height: 400px;
  border-radius: 24px;
  border: 1px solid var(--steel-600);
  display: flex;
  align-items: center;
  justify-content: center;
  background: radial-gradient(rgba(255, 255, 255, 0.05) 1.2px, transparent 1.3px) 0 0/22px 22px, radial-gradient(120% 130% at 50% -10%, rgba(139, 92, 246, 0.2), transparent 55%), radial-gradient(90% 120% at 85% 110%, rgba(255, 93, 143, 0.14), transparent 55%), linear-gradient(160deg, #17141f, #0d0b12);
}

.tk-phone {
  position: relative;
  z-index: 2;
  width: 210px;
  padding: 16px;
  border-radius: 22px;
  background: #17171d;
  border: 1px solid #2a2a32;
  box-shadow: 0 34px 74px -30px rgba(0, 0, 0, 0.75);
  animation: tkFloat 5s ease-in-out infinite;
}

.tk-head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}

.tk-av {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--pink-500), var(--violet-500));
  flex-shrink: 0;
}

.tk-hl {
  flex: 1;
  display: grid;
  gap: 6px;
}

.tk-hl span {
  height: 7px;
  border-radius: 4px;
  background: #2f2f38;
  display: block;
}

.tk-video {
  height: 150px;
  border-radius: 12px;
  background: linear-gradient(150deg, rgba(255, 93, 143, 0.42), rgba(139, 92, 246, 0.42));
}

.tk-cap {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.tk-cap span {
  height: 9px;
  border-radius: 5px;
  background: #26262e;
  display: block;
}

.tk-heart {
  position: absolute;
  z-index: 3;
  width: 66px;
  height: 60px;
  left: calc(50% + 92px);
  top: 42%;
  filter: drop-shadow(0 8px 18px rgba(255, 93, 143, 0.55));
  animation: tkBeat 1.8s ease-in-out infinite;
}

.tk-chip {
  position: absolute;
  z-index: 2;
  width: 210px;
  padding: 16px 16px 14px;
  border-radius: 14px;
  background: rgba(14, 14, 18, 0.86);
  border: 1px solid var(--c-border);
}

.tk-chip-a {
  left: 5%;
  top: 24%;
  --c-border: rgba(255, 122, 89, 0.7);
  animation: tkFloat 4.4s ease-in-out infinite;
}

.tk-chip-b {
  right: 5%;
  bottom: 18%;
  --c-border: rgba(139, 92, 246, 0.7);
  animation: tkFloat 5.2s ease-in-out 0.6s infinite;
}

.tk-chip-top {
  display: flex;
  align-items: center;
  gap: 10px;
}

.tk-dot {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--c);
  flex-shrink: 0;
}

.tk-chip-lines {
  flex: 1;
  display: grid;
  gap: 6px;
}

.tk-chip-lines span {
  height: 7px;
  border-radius: 4px;
  background: #33333c;
  display: block;
}

.tk-chip-label {
  display: block;
  text-align: center;
  margin-top: 12px;
  color: #e7e5ea;
  font-size: 14px;
  font-weight: 500;
}

@keyframes tkFloat {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}
@keyframes tkBeat {
  0%, 100% {
    transform: scale(1);
  }
  15% {
    transform: scale(1.18);
  }
  30% {
    transform: scale(1);
  }
  45% {
    transform: scale(1.12);
  }
  60% {
    transform: scale(1);
  }
}
@media (max-width: 767px) {
  .tk-chip {
    display: none;
  }
  .tk-heart {
    left: calc(50% + 78px);
    width: 54px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .tk-phone, .tk-chip, .tk-heart {
    animation: none;
  }
}
/* TikTok banner sized for the hero column */
.page-hero .tk-banner {
  min-height: 358px;
}

.page-hero .tk-phone {
  width: 168px;
  padding: 13px;
}

.page-hero .tk-video {
  height: 116px;
}

.page-hero .tk-cap span {
  height: 8px;
}

.page-hero .tk-heart {
  width: 52px;
  height: 48px;
  left: calc(50% + 72px);
  top: 40%;
}

.page-hero .tk-chip {
  width: 168px;
  padding: 13px 13px 12px;
}

.page-hero .tk-chip-a {
  left: 0;
  top: 13%;
}

.page-hero .tk-chip-b {
  right: 0;
  bottom: 11%;
}

.page-hero .tk-chip-label {
  font-size: 13px;
  margin-top: 10px;
}

@media (max-width: 991px) {
  .page-hero .tk-banner {
    margin-top: 22px;
  }
}
/* TikTok analytics collage banner (hero) */
.tkb {
  position: relative;
  overflow: hidden;
  min-height: 440px;
  border-radius: 24px;
  border: 1px solid var(--steel-600);
  background: #0b0b0f;
}

.tkb-blob {
  position: absolute;
  border-radius: 50%;
  z-index: 0;
}

.tkb-blob-cyan {
  width: 230px;
  height: 230px;
  background: #25F4EE;
  top: -46px;
  right: -34px;
  animation: tkFloat 7s ease-in-out infinite;
}

.tkb-blob-red {
  width: 150px;
  height: 150px;
  background: #FE2C55;
  left: 6%;
  top: 46%;
  animation: tkFloat 6s ease-in-out 0.4s infinite;
}

.tkb-ring {
  position: absolute;
  border-radius: 50%;
  z-index: 1;
}

.tkb-ring-1 {
  width: 54px;
  height: 54px;
  left: 8%;
  top: 44%;
  border: 2px solid rgba(255, 255, 255, 0.45);
}

.tkb-ring-2 {
  width: 66px;
  height: 66px;
  right: 7%;
  bottom: 15%;
  border: 2px solid rgba(255, 255, 255, 0.22);
}

.tkb-logo {
  position: absolute;
  z-index: 3;
  width: 46px;
  height: 46px;
  left: 6%;
  top: 19%;
  animation: tkFloat 5s ease-in-out infinite;
}

.tkb-card {
  position: absolute;
  z-index: 2;
  background: var(--white-100);
  border-radius: 16px;
  padding: 15px 17px;
  box-shadow: 0 26px 60px -26px rgba(0, 0, 0, 0.6);
}

.tkb-card-growth {
  top: 34px;
  left: 23%;
  width: 200px;
  animation: tkFloat 5.4s ease-in-out infinite;
}

.tkb-card-sales {
  bottom: 24px;
  left: 0;
  width: 186px;
  animation: tkFloat 4.6s ease-in-out 0.5s infinite;
}

.tkb-card-aud {
  bottom: 4px;
  right: 0;
  width: 150px;
  animation: tkFloat 5.8s ease-in-out 0.9s infinite;
}

.tkb-ghead {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}

.tkb-label {
  font-size: 15px;
  font-weight: 800;
  color: #14151d;
}

.tkb-num {
  font-size: 16px;
  font-weight: 800;
  color: #aeb4c0;
}

.tkb-num-sm {
  font-size: 15px;
  margin-top: 2px;
}

.tkb-badge {
  font-size: 16px;
  font-weight: 800;
  color: #0fb5c6;
}

.tkb-bars, .tkb-line {
  width: 100%;
  height: auto;
  display: block;
}

.tkb-line {
  margin-top: 6px;
}

.tkb-donut {
  width: 84px;
  height: 84px;
  display: block;
  margin: 6px auto 0;
}

@media (max-width: 991px) {
  .tkb {
    min-height: 410px;
    margin-top: 22px;
  }
  .tkb-card-growth {
    left: 20%;
  }
}
@media (prefers-reduced-motion: reduce) {
  .tkb-card, .tkb-logo, .tkb-blob {
    animation: none;
  }
}
/* TikTok stats infographic + New Market (TikTok page) */
.tki {
  background: #0c0c10;
  border-radius: 20px;
  padding: 30px 30px 34px;
}

.tki-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 10px;
  color: var(--white-100);
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 16px;
}

.tki-pill {
  background: #FE2C55;
  color: var(--white-100);
  border-radius: 8px;
  padding: 4px 12px;
  font-weight: 800;
}

.tki-pill sub {
  font-size: 0.62em;
  font-weight: 700;
  vertical-align: baseline;
}

.tki-heart {
  width: 22px;
  height: 22px;
  color: #FE2C55;
}

.tki-bar {
  height: 20px;
  border-radius: 10px;
  overflow: hidden;
  display: flex;
  margin: 20px 0 12px;
}

.tki-bar i {
  display: block;
  height: 100%;
}

.tki-bar .w {
  width: 17%;
  background: var(--white-100);
}

.tki-bar .c {
  flex: 1;
  background: #25F4EE;
}

.tki-barlabel {
  text-align: center;
  color: var(--white-100);
  font-weight: 800;
  font-size: 18px;
  margin-bottom: 22px;
}

.tki-barlabel .cy {
  color: #25F4EE;
}

.tki-barlabel .rd {
  color: #FE2C55;
}

.tki-gender {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 22px;
}

.tki-donut {
  width: 108px;
  height: 108px;
  flex-shrink: 0;
}

.tki-g {
  text-align: center;
}

.tki-g .p {
  font-size: 24px;
  font-weight: 800;
}

.tki-g.f .p {
  color: #25F4EE;
}

.tki-g.m .p {
  color: var(--white-100);
}

.tki-g .l {
  color: var(--white-100);
  font-weight: 700;
  font-size: 15px;
}

/* New Market feature cards */
.tk-newmkt {
  display: flex;
  gap: 26px;
  margin-top: 26px;
  flex-wrap: wrap;
}

.tk-nm {
  flex: 1;
  min-width: 190px;
}

.tk-nm-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  color: var(--white-100);
  background: linear-gradient(135deg, #ff5d7a, #FE2C55);
}

.tk-nm-ico svg {
  width: 26px;
  height: 26px;
}

.tk-nm h3 {
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-size: 16px;
  color: var(--ink-900);
  margin: 14px 0 8px;
}

.tk-nm p {
  color: var(--ink-700);
  font-size: 14.5px;
  line-height: 1.6;
  margin: 0;
}

/* Infographic reveal animations + tweaks */
.tki-donut {
  width: 120px;
  height: 120px;
}

.tki-g .p {
  font-size: 26px;
}

.tki {
  box-shadow: 0 30px 74px -42px rgba(37, 244, 238, 0.28);
}

@keyframes tkiUp {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
}
@keyframes tkiBarGrow {
  from {
    transform: scaleX(0);
  }
}
@keyframes tkiDonutIn {
  from {
    opacity: 0;
    transform: rotate(-70deg) scale(0.55);
  }
}
.tki.is-in .tki-row {
  animation: tkiUp 0.55s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.tki.is-in .tki-row:nth-child(2) {
  animation-delay: 0.08s;
}

.tki.is-in .tki-row:nth-child(3) {
  animation-delay: 0.16s;
}

.tki.is-in .tki-row:nth-child(4) {
  animation-delay: 0.24s;
}

.tki.is-in .tki-bar {
  animation: tkiUp 0.55s cubic-bezier(0.2, 0.7, 0.2, 1) 0.3s both;
}

.tki.is-in .tki-bar .c {
  transform-origin: left center;
  animation: tkiBarGrow 1s cubic-bezier(0.4, 0, 0.2, 1) 0.55s both;
}

.tki.is-in .tki-barlabel {
  animation: tkiUp 0.5s ease 0.5s both;
}

.tki.is-in .tki-gender {
  animation: tkiUp 0.5s ease 0.58s both;
}

.tki.is-in .tki-donut {
  transform-origin: center;
  animation: tkiDonutIn 0.85s cubic-bezier(0.2, 0.7, 0.2, 1) 0.62s both;
}

@media (prefers-reduced-motion: reduce) {
  .tki.is-in .tki-row, .tki.is-in .tki-bar, .tki.is-in .tki-bar .c,
  .tki.is-in .tki-barlabel, .tki.is-in .tki-gender, .tki.is-in .tki-donut {
    animation: none;
  }
}
/* Page styles for Snapchat */
/* Feature showcase copy (Snapchat / TikTok) */
.feature-copy h2 {
  font-size: clamp(24px, 2.8vw, 32px);
  line-height: 1.15;
  color: var(--ink-900);
  margin: 0 0 16px;
}

.feature-copy > p {
  color: var(--ink-700);
  font-size: 16px;
  line-height: 1.75;
  margin: 0 0 22px;
}

/* Snapchat dashboard image + yellow feature icons */
.dash-img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 14px;
  box-shadow: 0 30px 66px -34px rgba(0, 0, 0, 0.4);
  border: 1px solid #eceef1;
}

.tk-newmkt.is-snap .tk-nm-ico {
  background: linear-gradient(135deg, #ffe25a, #FFC400);
  color: #1a1600;
}

@media (max-width: 991px) {
  .dash-img {
    margin-top: 18px;
  }
}
/* Snapchat-themed animated banner */
.sb {
  position: relative;
  overflow: hidden;
  min-height: 400px;
  border-radius: 24px;
  border: 1px solid var(--steel-600);
  display: flex;
  align-items: center;
  justify-content: center;
  background: radial-gradient(rgba(255, 255, 255, 0.05) 1.2px, transparent 1.3px) 0 0/22px 22px, radial-gradient(120% 130% at 30% -10%, rgba(255, 236, 0, 0.17), transparent 55%), radial-gradient(90% 120% at 90% 110%, rgba(255, 236, 0, 0.1), transparent 55%), linear-gradient(160deg, #1b1a12, #0d0d10);
}

.sb-blob {
  position: absolute;
  z-index: 0;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background: #FFEC00;
  opacity: 0.14;
  top: -42px;
  left: 8%;
  filter: blur(6px);
  animation: tkFloat 7s ease-in-out infinite;
}

.sb-ring {
  position: absolute;
  z-index: 1;
  width: 62px;
  height: 62px;
  border-radius: 50%;
  border: 2px solid rgba(255, 236, 0, 0.32);
  right: 8%;
  bottom: 15%;
}

.sb-phone {
  position: relative;
  z-index: 2;
  width: 200px;
  padding: 16px;
  border-radius: 22px;
  background: #161611;
  border: 1px solid #2f2e22;
  box-shadow: 0 34px 74px -30px rgba(0, 0, 0, 0.75);
  animation: tkFloat 5s ease-in-out infinite;
}

.sb-head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}

.sb-av {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #FFFC00;
  flex-shrink: 0;
}

.sb-hl {
  flex: 1;
  display: grid;
  gap: 6px;
}

.sb-hl span {
  height: 7px;
  border-radius: 4px;
  background: #33321f;
  display: block;
}

.sb-media {
  height: 150px;
  border-radius: 12px;
  background: linear-gradient(150deg, #ffe25a, #f5b400);
  display: flex;
  align-items: center;
  justify-content: center;
}

.sb-media .sb-ghost {
  position: static;
  width: 78px;
  height: 78px;
  filter: none;
  animation: none;
}

.sb-cap {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.sb-cap span {
  height: 9px;
  border-radius: 5px;
  background: #2a2a20;
  display: block;
}

.sb-ghost {
  position: absolute;
  z-index: 3;
  width: 60px;
  height: 60px;
  left: calc(50% + 92px);
  top: 40%;
  filter: drop-shadow(0 8px 16px rgba(255, 236, 0, 0.5));
  animation: sbSway 3s ease-in-out infinite;
}

.sb-chip {
  position: absolute;
  z-index: 2;
  width: 200px;
  padding: 16px 16px 14px;
  border-radius: 14px;
  background: rgba(14, 14, 10, 0.86);
  border: 1px solid var(--c-border);
}

.sb-chip-a {
  left: 5%;
  top: 24%;
  --c-border: rgba(255, 212, 0, 0.75);
  animation: tkFloat 4.4s ease-in-out infinite;
}

.sb-chip-b {
  right: 5%;
  bottom: 18%;
  --c-border: rgba(255, 236, 0, 0.45);
  animation: tkFloat 5.2s ease-in-out 0.6s infinite;
}

.sb-chip-top {
  display: flex;
  align-items: center;
  gap: 10px;
}

.sb-dot {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #FFD400;
  flex-shrink: 0;
}

.sb-chip-lines {
  flex: 1;
  display: grid;
  gap: 6px;
}

.sb-chip-lines span {
  height: 7px;
  border-radius: 4px;
  background: #33321f;
  display: block;
}

.sb-chip-label {
  display: block;
  text-align: center;
  margin-top: 12px;
  color: #efeada;
  font-size: 14px;
  font-weight: 500;
}

@keyframes sbSway {
  0%, 100% {
    transform: translateY(0) rotate(-4deg);
  }
  50% {
    transform: translateY(-10px) rotate(4deg);
  }
}
@media (max-width: 767px) {
  .sb-chip {
    display: none;
  }
  .sb-ghost {
    left: calc(50% + 78px);
    width: 50px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .sb-phone, .sb-chip, .sb-ghost, .sb-blob {
    animation: none;
  }
}
/* Snapchat banner sized for the hero column */
.page-hero .sb {
  min-height: 358px;
}

.page-hero .sb-phone {
  width: 168px;
  padding: 13px;
}

.page-hero .sb-media {
  height: 116px;
}

.page-hero .sb-media .sb-ghost {
  width: 62px;
  height: 62px;
}

.page-hero .sb-cap span {
  height: 8px;
}

.page-hero .sb-chip {
  width: 168px;
  padding: 13px 13px 12px;
}

.page-hero .sb-chip-a {
  left: 0;
  top: 13%;
}

.page-hero .sb-chip-b {
  right: 0;
  bottom: 11%;
}

.page-hero .sb-chip-label {
  font-size: 13px;
  margin-top: 10px;
}

@media (max-width: 991px) {
  .page-hero .sb {
    margin-top: 22px;
  }
}
/* Page styles for YouTube */
/* YouTube showcase (checklist under the player mockup) */
.yt-checks {
  margin-top: var(--space-32);
}

/* Staggered reveal for the YouTube checklist cards */
.yt-checks.is-in > [class*=col-] {
  animation: tkiUp 0.55s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.yt-checks.is-in > [class*=col-]:nth-child(2) {
  animation-delay: 0.1s;
}

.yt-checks.is-in > [class*=col-]:nth-child(3) {
  animation-delay: 0.2s;
}

@media (prefers-reduced-motion: reduce) {
  .yt-checks.is-in > [class*=col-] {
    animation: none;
  }
}
/* YouTube-themed animated banner */
.yb {
  position: relative;
  overflow: hidden;
  min-height: 400px;
  border-radius: 24px;
  border: 1px solid var(--steel-600);
  display: flex;
  align-items: center;
  justify-content: center;
  background: radial-gradient(rgba(255, 255, 255, 0.05) 1.2px, transparent 1.3px) 0 0/22px 22px, radial-gradient(120% 130% at 30% -10%, rgba(255, 0, 0, 0.16), transparent 55%), radial-gradient(90% 120% at 90% 110%, rgba(139, 92, 246, 0.12), transparent 55%), linear-gradient(160deg, #1c1216, #0d0d10);
}

.yb-blob {
  position: absolute;
  z-index: 0;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background: #FF0000;
  opacity: 0.14;
  top: -42px;
  left: 8%;
  filter: blur(8px);
  animation: tkFloat 7s ease-in-out infinite;
}

.yb-ring {
  position: absolute;
  z-index: 1;
  width: 62px;
  height: 62px;
  border-radius: 50%;
  border: 2px solid rgba(255, 90, 90, 0.32);
  right: 8%;
  bottom: 15%;
}

.yb-phone {
  position: relative;
  z-index: 2;
  width: 200px;
  padding: 16px;
  border-radius: 22px;
  background: #17151a;
  border: 1px solid #2f2830;
  box-shadow: 0 34px 74px -30px rgba(0, 0, 0, 0.75);
  animation: tkFloat 5s ease-in-out infinite;
}

.yb-head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}

.yb-av {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--pink-500), var(--violet-500));
  flex-shrink: 0;
}

.yb-hl {
  flex: 1;
  display: grid;
  gap: 6px;
}

.yb-hl span {
  height: 7px;
  border-radius: 4px;
  background: #322c33;
  display: block;
}

.yb-media {
  height: 150px;
  border-radius: 12px;
  background: linear-gradient(150deg, #3a2440, #241826);
  display: flex;
  align-items: center;
  justify-content: center;
}

.yb-media .yb-mplay {
  width: 50px;
  height: auto;
  filter: drop-shadow(0 6px 14px rgba(255, 0, 0, 0.5));
}

.yb-cap {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.yb-cap span {
  height: 9px;
  border-radius: 5px;
  background: #29242b;
  display: block;
}

.yb-play {
  position: absolute;
  z-index: 3;
  width: 62px;
  height: 46px;
  left: calc(50% + 92px);
  top: 42%;
  filter: drop-shadow(0 8px 18px rgba(255, 0, 0, 0.55));
  animation: ybPulse 2.2s ease-in-out infinite;
}

.yb-chip {
  position: absolute;
  z-index: 2;
  width: 200px;
  padding: 16px 16px 14px;
  border-radius: 14px;
  background: rgba(14, 12, 12, 0.86);
  border: 1px solid var(--c-border);
}

.yb-chip-a {
  left: 5%;
  top: 24%;
  --c-border: rgba(255, 90, 90, 0.7);
  animation: tkFloat 4.4s ease-in-out infinite;
}

.yb-chip-b {
  right: 5%;
  bottom: 18%;
  --c-border: rgba(139, 92, 246, 0.55);
  animation: tkFloat 5.2s ease-in-out 0.6s infinite;
}

.yb-chip-top {
  display: flex;
  align-items: center;
  gap: 10px;
}

.yb-dot {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--c);
  flex-shrink: 0;
}

.yb-chip-lines {
  flex: 1;
  display: grid;
  gap: 6px;
}

.yb-chip-lines span {
  height: 7px;
  border-radius: 4px;
  background: #322730;
  display: block;
}

.yb-chip-label {
  display: block;
  text-align: center;
  margin-top: 12px;
  color: #efe7ea;
  font-size: 14px;
  font-weight: 500;
}

@keyframes ybPulse {
  0%, 100% {
    transform: translateY(0) scale(1);
  }
  50% {
    transform: translateY(-8px) scale(1.06);
  }
}
@media (max-width: 767px) {
  .yb-chip {
    display: none;
  }
  .yb-play {
    left: calc(50% + 78px);
    width: 52px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .yb-phone, .yb-chip, .yb-play, .yb-blob {
    animation: none;
  }
}
/* YouTube banner sized for the hero column */
.page-hero .yb {
  min-height: 358px;
}

.page-hero .yb-phone {
  width: 168px;
  padding: 13px;
}

.page-hero .yb-media {
  height: 116px;
}

.page-hero .yb-media .yb-mplay {
  width: 44px;
}

.page-hero .yb-cap span {
  height: 8px;
}

.page-hero .yb-play {
  width: 52px;
  height: 38px;
  left: calc(50% + 72px);
  top: 40%;
}

.page-hero .yb-chip {
  width: 168px;
  padding: 13px 13px 12px;
}

.page-hero .yb-chip-a {
  left: 0;
  top: 13%;
}

.page-hero .yb-chip-b {
  right: 0;
  bottom: 11%;
}

.page-hero .yb-chip-label {
  font-size: 13px;
  margin-top: 10px;
}

@media (max-width: 991px) {
  .page-hero .yb {
    margin-top: 22px;
  }
}
/* Staggered reveal for reason-tile grids */
.reason-grid.js-reveal.is-in > [class*=col-] {
  animation: tkiUp 0.55s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.reason-grid.js-reveal.is-in > [class*=col-]:nth-child(2) {
  animation-delay: 0.08s;
}

.reason-grid.js-reveal.is-in > [class*=col-]:nth-child(3) {
  animation-delay: 0.16s;
}

.reason-grid.js-reveal.is-in > [class*=col-]:nth-child(4) {
  animation-delay: 0.24s;
}

.reason-grid.js-reveal.is-in > [class*=col-]:nth-child(5) {
  animation-delay: 0.32s;
}

.reason-grid.js-reveal.is-in > [class*=col-]:nth-child(6) {
  animation-delay: 0.4s;
}

@media (prefers-reduced-motion: reduce) {
  .reason-grid.js-reveal.is-in > [class*=col-] {
    animation: none;
  }
}
/* Trendy gradient-accent feature cards (YouTube) */
.yfeat-card {
  position: relative;
  overflow: hidden;
  height: 100%;
  background: var(--white-100);
  border: 1px solid #ece7dd;
  border-radius: 22px;
  padding: 34px 32px 30px;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.yfeat-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: var(--brand-gradient);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s ease;
}

.yfeat-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 34px 66px -30px rgba(0, 0, 0, 0.3);
  border-color: transparent;
}

.yfeat-card:hover::before {
  transform: scaleX(1);
}

.yfeat-num {
  position: absolute;
  top: 20px;
  right: 26px;
  font-family: var(--font-display);
  font-size: 46px;
  font-weight: 800;
  line-height: 1;
  color: #f2eee5;
  transition: color 0.3s ease;
}

.yfeat-card:hover .yfeat-num {
  color: #f4e3ea;
}

.yfeat-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 16px;
  color: var(--white-100);
  background: var(--brand-gradient);
  margin-bottom: 22px;
  box-shadow: 0 14px 28px -12px rgba(255, 93, 143, 0.55);
}

.yfeat-ico svg {
  width: 26px;
  height: 26px;
}

.yfeat-card h3 {
  font-size: 20px;
  color: var(--ink-900);
  margin: 0 0 10px;
  max-width: 88%;
}

.yfeat-card p {
  color: var(--ink-700);
  font-size: 15px;
  line-height: 1.65;
  margin: 0;
}

.yfeat-grid.js-reveal.is-in > [class*=col-] {
  animation: tkiUp 0.55s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.yfeat-grid.js-reveal.is-in > [class*=col-]:nth-child(2) {
  animation-delay: 0.12s;
}

.yfeat-grid.js-reveal.is-in > [class*=col-]:nth-child(3) {
  animation-delay: 0.24s;
}

@media (prefers-reduced-motion: reduce) {
  .yfeat-grid.js-reveal.is-in > [class*=col-] {
    animation: none;
  }
}
/* YouTube ad-format tabs (CSS-only toggle) */
.yt-tabs {
  text-align: center;
}

.yt-tab-input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  pointer-events: none;
}

.yt-tabbar {
  display: inline-flex;
  gap: 8px;
  padding: 6px;
  border-radius: 16px;
  background: var(--asphalt-800);
  border: 1px solid var(--steel-600);
  margin: 0 auto var(--space-44);
}

.yt-tab {
  cursor: pointer;
  padding: 13px 34px;
  border-radius: 12px;
  font-weight: 700;
  font-size: 15.5px;
  color: var(--fog-200);
  transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.yt-tab:hover {
  color: var(--white-100);
}

#ytf-ads:checked ~ .yt-tabbar label[for=ytf-ads],
#ytf-org:checked ~ .yt-tabbar label[for=ytf-org] {
  background: #FF0000;
  color: var(--white-100);
  box-shadow: 0 14px 30px -10px rgba(255, 0, 0, 0.6);
}

.yt-panel {
  display: none;
  text-align: left;
}

#ytf-ads:checked ~ .yt-panel--ads {
  display: block;
}

#ytf-org:checked ~ .yt-panel--org {
  display: block;
}

.yt-panel .fcard-desc {
  color: var(--fog-200);
  font-size: 14.5px;
  line-height: 1.6;
  margin: 0 0 18px;
}

.yt-panel .fcard-check {
  color: var(--accent);
}

@media (max-width: 560px) {
  .yt-tab {
    padding: 12px 22px;
  }
}
/* YouTube Dominance stats card (hero) */
.ydom {
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  padding: 30px 30px 26px;
  border: 1px solid var(--steel-600);
  background: radial-gradient(70% 60% at 15% 10%, rgba(255, 0, 0, 0.18), transparent 60%), radial-gradient(80% 90% at 100% 100%, rgba(255, 0, 0, 0.08), transparent 60%), linear-gradient(160deg, #17110f, #0c0c0f);
}

.ydom-logo {
  display: block;
  width: 60px;
  height: 60px;
  margin-bottom: 18px;
  animation: ydomGlow 2.8s ease-in-out infinite;
}

.ydom-title {
  font-size: 22px;
  font-weight: 800;
  color: var(--white-100);
  margin: 0 0 20px;
}

.ydom-stat {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 15px 18px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid var(--steel-600);
  margin-bottom: 14px;
}

.ydom-stat:last-child {
  margin-bottom: 0;
}

.ydom-ico {
  flex-shrink: 0;
  color: var(--c);
  display: inline-flex;
}

.ydom-ico svg {
  width: 26px;
  height: 26px;
}

.ydom-num {
  font-family: var(--font-display);
  font-size: 24px;
  font-weight: 800;
  color: var(--c);
  line-height: 1;
}

.ydom-lbl {
  color: var(--fog-200);
  font-size: 13.5px;
  margin-top: 4px;
}

.ydom.is-in .ydom-stat {
  animation: tkiUp 0.5s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.ydom.is-in .ydom-stat:nth-child(4) {
  animation-delay: 0.08s;
}

.ydom.is-in .ydom-stat:nth-child(5) {
  animation-delay: 0.16s;
}

.ydom.is-in .ydom-stat:nth-child(6) {
  animation-delay: 0.24s;
}

@keyframes ydomGlow {
  0%, 100% {
    filter: drop-shadow(0 10px 24px rgba(255, 0, 0, 0.4));
  }
  50% {
    filter: drop-shadow(0 10px 30px rgba(255, 0, 0, 0.72));
  }
}
@media (prefers-reduced-motion: reduce) {
  .ydom-logo {
    animation: none;
  }
  .ydom.is-in .ydom-stat {
    animation: none;
  }
}
/* Laser-Focused Targeting cards (light) */
.target-accent {
  color: #FF0000;
}

.target-card {
  height: 100%;
  background: var(--white-100);
  border: 1px solid #eae5db;
  border-radius: 18px;
  padding: 28px 26px;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.target-card:hover {
  transform: translateY(-4px);
  border-color: var(--c);
  box-shadow: 0 24px 54px -34px rgba(0, 0, 0, 0.4);
}

.target-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 14px;
  color: var(--c);
  background: color-mix(in srgb, var(--c) 14%, transparent);
  margin-bottom: 18px;
}

.target-ico svg {
  width: 26px;
  height: 26px;
}

.target-card h3 {
  font-size: 19px;
  color: var(--ink-900);
  margin: 0 0 14px;
}

.target-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 11px;
}

.target-list li {
  position: relative;
  padding-left: 17px;
  color: var(--ink-700);
  font-size: 14.5px;
  line-height: 1.4;
}

.target-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--c);
}

.target-grid.js-reveal.is-in > [class*=col-] {
  animation: tkiUp 0.55s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.target-grid.js-reveal.is-in > [class*=col-]:nth-child(2) {
  animation-delay: 0.1s;
}

.target-grid.js-reveal.is-in > [class*=col-]:nth-child(3) {
  animation-delay: 0.2s;
}

.target-grid.js-reveal.is-in > [class*=col-]:nth-child(4) {
  animation-delay: 0.3s;
}

@media (prefers-reduced-motion: reduce) {
  .target-grid.js-reveal.is-in > [class*=col-] {
    animation: none;
  }
}
/* Page styles for Integrations */
.partner-strip {
  margin-top: 40px;
  text-align: center;
}
.partner-strip img {
  display: block;
  width: 100%;
  max-width: 1120px;
  height: auto;
  margin: 0 auto;
}
.partner-strip .partner-note {
  margin-top: 14px;
  color: var(--fog-300);
  font-size: 14px;
}

/* ===== Integrations — added sections ===== */
.int-eyebrow {
  display: inline-block;
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 6px;
  background: var(--brand-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.int-lead {
  color: var(--fog-200);
  font-size: 16px;
  line-height: 1.65;
  margin: 0 0 20px;
}

.int-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.int-list li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 15px;
  color: var(--fog-200);
  padding: 8px 0;
}

.int-list svg {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  margin-top: 2px;
  color: #34d399;
}

.int-flow-img {
  width: 100%;
  height: auto;
  border-radius: 20px;
  border: 1px solid var(--steel-600);
  box-shadow: 0 40px 80px -40px rgba(0, 0, 0, 0.7);
}

/* Categories */
.int-cat {
  height: 100%;
  background: var(--white-100);
  border: 1px solid #eae5db;
  border-radius: 18px;
  padding: 26px 24px;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.int-cat:hover {
  transform: translateY(-6px);
  border-color: var(--c);
  box-shadow: 0 28px 56px -34px rgba(0, 0, 0, 0.36);
}

.int-cat-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 14px;
  color: var(--c);
  background: color-mix(in srgb, var(--c) 14%, transparent);
  margin-bottom: 16px;
}

.int-cat-ico svg {
  width: 26px;
  height: 26px;
}

.int-cat h3 {
  font-size: 18px;
  color: var(--ink-900);
  margin: 0 0 8px;
}

.int-cat p {
  font-size: 14px;
  color: var(--ink-700);
  line-height: 1.55;
  margin: 0 0 14px;
}

.int-cat-eg {
  display: block;
  font-size: 12.5px;
  font-weight: 700;
  color: var(--c);
  padding-top: 12px;
  border-top: 1px solid #efe9df;
}

.int-secure {
  display: flex;
  align-items: center;
  gap: 16px;
  max-width: 720px;
  margin: 40px auto 0;
  background: #0e0e12;
  border: 1px solid #26262e;
  border-radius: 16px;
  padding: 20px 24px;
  box-shadow: 0 30px 60px -40px rgba(0, 0, 0, 0.6);
}

.int-secure-ico {
  flex-shrink: 0;
  width: 46px;
  height: 46px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--white-100);
  background: #000;
  border: 1px solid rgba(255, 255, 255, 0.14);
  box-shadow: 0 10px 24px -10px rgba(139, 92, 246, 0.5);
}

.int-secure-ico svg {
  width: 24px;
  height: 24px;
}

.int-secure b {
  color: var(--white-100);
  font-size: 15px;
}

.int-secure span {
  color: var(--fog-200);
  font-size: 14px;
}

.int-cat-note {
  text-align: center;
  font-size: 12px;
  color: var(--ink-700);
  opacity: 0.7;
  margin: 18px 0 0;
}

.int-cat-grid.js-reveal.is-in > [class*=col-] {
  animation: tkiUp 0.55s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.int-cat-grid.js-reveal.is-in > [class*=col-]:nth-child(2) {
  animation-delay: 0.08s;
}

.int-cat-grid.js-reveal.is-in > [class*=col-]:nth-child(3) {
  animation-delay: 0.16s;
}

.int-cat-grid.js-reveal.is-in > [class*=col-]:nth-child(4) {
  animation-delay: 0.24s;
}

.int-cat-grid.js-reveal.is-in > [class*=col-]:nth-child(5) {
  animation-delay: 0.32s;
}

.int-cat-grid.js-reveal.is-in > [class*=col-]:nth-child(6) {
  animation-delay: 0.4s;
}

@media (prefers-reduced-motion: reduce) {
  .int-cat-grid.js-reveal.is-in > [class*=col-] {
    animation: none;
  }
}
/* Integrations hero visual */
.hero-integrations h1 {
  max-width: 560px;
}

.ih-visual {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 440px;
}

.ih-glow {
  position: absolute;
  width: 320px;
  height: 320px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 93, 143, 0.26), transparent 62%);
  filter: blur(6px);
  z-index: 0;
}

.ih-card {
  position: relative;
  z-index: 1;
  width: 372px;
  max-width: 100%;
  background: var(--asphalt-800);
  border: 1px solid var(--steel-600);
  border-radius: 22px;
  padding: 22px;
  box-shadow: 0 46px 92px -34px rgba(0, 0, 0, 0.85);
}

.ih-head {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--steel-600);
  margin-bottom: 14px;
}

.ih-hub {
  flex-shrink: 0;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 14px;
  color: var(--white-100);
  background: var(--brand-gradient);
}

.ih-head b {
  display: block;
  color: var(--white-100);
  font-size: 15px;
}

.ih-sub {
  font-size: 12.5px;
  color: var(--fog-300);
}

.ih-rows {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.ih-row {
  display: flex;
  align-items: center;
  gap: 12px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid var(--steel-600);
  border-radius: 12px;
  padding: 11px 14px;
}

.ih-ico {
  flex-shrink: 0;
  width: 34px;
  height: 34px;
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--c);
  background: color-mix(in srgb, var(--c) 16%, transparent);
}

.ih-ico svg {
  width: 18px;
  height: 18px;
}

.ih-name {
  flex: 1;
  font-size: 14px;
  font-weight: 600;
  color: var(--white-100);
}

.ih-status {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  font-weight: 700;
  color: var(--fog-200);
}

.ih-check {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--white-100);
  background: #22c55e;
}

.ih-check svg {
  width: 10px;
  height: 10px;
}

.ih-foot {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 14px;
  font-size: 12.5px;
  color: var(--fog-300);
}

.ih-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #22c55e;
  box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.18);
}

.ih-badge {
  position: absolute;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: var(--white-100);
  color: #161a23;
  font-size: 12.5px;
  font-weight: 700;
  padding: 9px 13px;
  border-radius: 999px;
  box-shadow: 0 22px 44px -16px rgba(0, 0, 0, 0.6);
}

.ih-badge svg {
  width: 14px;
  height: 14px;
  color: #16a34a;
}

.ih-badge--a {
  top: -3%;
  left: -4%;
  color: var(--violet-500);
  animation: ihFloat 4.6s ease-in-out infinite;
}

.ih-badge--b {
  bottom: 10%;
  right: -5%;
  animation: ihFloat 5.2s ease-in-out infinite -1.6s;
}

@keyframes ihFloat {
  0%, 100% {
    transform: translateY(-6px);
  }
  50% {
    transform: translateY(6px);
  }
}
@media (max-width: 991px) {
  .ih-visual {
    min-height: 400px;
    margin-top: 10px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ih-badge {
    animation: none;
  }
}
/* Integration partners marquee (advanced) */
.int-partners {
  margin-top: 46px;
}

.int-mq {
  display: flex;
  flex-direction: column;
  gap: 18px;
  overflow: hidden;
  -webkit-mask: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
  mask: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
}

.int-mq-row {
  display: flex;
  width: max-content;
}

.int-mq-set {
  display: flex;
  gap: 16px;
  padding-right: 16px;
}

.int-mq-row--a {
  animation: intMqA 42s linear infinite;
}

.int-mq-row--b {
  animation: intMqB 42s linear infinite;
}

.int-mq:hover .int-mq-row {
  animation-play-state: paused;
}

@keyframes intMqA {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
@keyframes intMqB {
  from {
    transform: translateX(-50%);
  }
  to {
    transform: translateX(0);
  }
}
.int-chip {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  background: var(--white-100);
  border: 1px solid #eae5db;
  border-radius: 14px;
  padding: 14px 22px 14px 16px;
  box-shadow: 0 12px 34px -22px rgba(0, 0, 0, 0.35);
  white-space: nowrap;
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.int-chip:hover {
  transform: translateY(-4px);
  border-color: rgba(255, 93, 143, 0.4);
  box-shadow: 0 24px 44px -26px rgba(0, 0, 0, 0.4);
}

.int-chip-mark {
  flex-shrink: 0;
  width: 38px;
  height: 38px;
  border-radius: 11px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--white-100);
  background: var(--brand-gradient);
  box-shadow: 0 10px 20px -10px rgba(139, 92, 246, 0.6);
}

.int-chip-mark svg {
  width: 20px;
  height: 20px;
}

.int-chip-name {
  font-size: 15px;
  font-weight: 700;
  color: var(--ink-900);
}

@media (prefers-reduced-motion: reduce) {
  .int-mq-row {
    animation: none;
  }
  .int-mq {
    -webkit-mask: none;
    mask: none;
    flex-wrap: wrap;
  }
  .int-mq-row {
    flex-wrap: wrap;
    width: 100%;
  }
  .int-mq-set:nth-child(2) {
    display: none;
  }
}
/* Integration logo wall (advanced, static) */
.int-wall {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: #ece7dd;
  border: 1px solid #ece7dd;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 34px 68px -44px rgba(0, 0, 0, 0.28);
}

.int-cell {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 13px;
  text-align: center;
  background: var(--white-100);
  padding: 30px 18px;
  transition: background 0.22s ease;
}

.int-cell:hover {
  background: #fbf8f3;
}

.int-cell-mark {
  width: 50px;
  height: 50px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--c);
  background: color-mix(in srgb, var(--c) 13%, var(--white-100));
  border: 1px solid color-mix(in srgb, var(--c) 22%, transparent);
  transition: transform 0.22s ease;
}

.int-cell:hover .int-cell-mark {
  transform: translateY(-3px) scale(1.05);
}

.int-cell-mark svg {
  width: 24px;
  height: 24px;
}

.int-cell-name {
  font-size: 14px;
  font-weight: 700;
  color: var(--ink-900);
}

@media (max-width: 900px) {
  .int-wall {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 560px) {
  .int-wall {
    grid-template-columns: repeat(2, 1fr);
  }
  .int-cell {
    padding: 24px 12px;
  }
}
.int-partners .partner-note {
  text-align: center;
  margin-top: 18px;
}

/* Page styles for Insights */
/* ===== Insights — added sections ===== */
.ins-eyebrow {
  display: inline-block;
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 6px;
  background: var(--brand-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.ins-lead {
  color: var(--fog-200);
  font-size: 16px;
  line-height: 1.65;
  margin: 0 0 20px;
}

.ins-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.ins-list li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 15px;
  color: var(--fog-200);
  padding: 8px 0;
}

.ins-list svg {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  margin-top: 2px;
  color: #34d399;
}

.ins-ctrl-img {
  width: 100%;
  height: auto;
  border-radius: 16px;
  border: 1px solid var(--steel-600);
  box-shadow: 0 40px 80px -40px rgba(0, 0, 0, 0.75);
}

/* Login shuffle */
.ins-shuffle-section {
  background: radial-gradient(60% 70% at 50% 0%, rgba(139, 92, 246, 0.1), transparent 60%), var(--asphalt-950);
}

.ins-flow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
  margin-top: 44px;
  flex-wrap: wrap;
}

.ins-src-cloud {
  display: grid;
  grid-template-columns: repeat(2, auto);
  gap: 12px;
}

.ins-src {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--asphalt-800);
  border: 1px solid var(--steel-600);
  border-radius: 12px;
  padding: 12px 16px;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--fog-200);
  white-space: nowrap;
}

.ins-src-ico {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--white-100);
  background: rgba(255, 255, 255, 0.06);
}

.ins-src-ico svg {
  width: 16px;
  height: 16px;
}

.ins-flow-arrow {
  color: var(--fog-300);
}

.ins-flow-arrow svg {
  width: 40px;
  height: 40px;
}

.ins-flow-hub {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 190px;
  height: 190px;
  border-radius: 24px;
  background: linear-gradient(150deg, rgba(255, 93, 143, 0.16), rgba(139, 92, 246, 0.16)), var(--asphalt-800);
  border: 1px solid rgba(139, 92, 246, 0.4);
  box-shadow: 0 30px 60px -30px rgba(139, 92, 246, 0.5);
}

.ins-flow-badge {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  background: var(--brand-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.ins-flow-big {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 72px;
  line-height: 1;
  color: var(--white-100);
}

.ins-flow-lbl {
  font-size: 13px;
  color: var(--fog-200);
}

.ins-shuffle-stats {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 48px;
  margin-top: 46px;
}

.ins-stat {
  text-align: center;
}

.ins-stat-num {
  display: block;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(30px, 3.4vw, 40px);
  background: var(--brand-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.ins-stat-lbl {
  font-size: 13.5px;
  color: var(--fog-200);
}

.ins-flow.js-reveal.is-in .ins-src-cloud > .ins-src {
  animation: tkiUp 0.5s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.ins-flow.js-reveal.is-in .ins-src-cloud > .ins-src:nth-child(2) {
  animation-delay: 0.06s;
}

.ins-flow.js-reveal.is-in .ins-src-cloud > .ins-src:nth-child(3) {
  animation-delay: 0.12s;
}

.ins-flow.js-reveal.is-in .ins-src-cloud > .ins-src:nth-child(4) {
  animation-delay: 0.18s;
}

.ins-flow.js-reveal.is-in .ins-src-cloud > .ins-src:nth-child(5) {
  animation-delay: 0.24s;
}

.ins-flow.js-reveal.is-in .ins-src-cloud > .ins-src:nth-child(6) {
  animation-delay: 0.3s;
}

@media (max-width: 640px) {
  .ins-flow-arrow {
    transform: rotate(90deg);
  }
}
@media (prefers-reduced-motion: reduce) {
  .ins-flow.js-reveal.is-in .ins-src-cloud > .ins-src {
    animation: none;
  }
}
/* Insights hero visual — vendor scorecard */
.hero-insights h1 {
  max-width: 560px;
}

.insh-visual {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 460px;
}

.insh-glow {
  position: absolute;
  width: 320px;
  height: 320px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(139, 92, 246, 0.26), transparent 62%);
  filter: blur(6px);
  z-index: 0;
}

.insh-card {
  position: relative;
  z-index: 1;
  width: 380px;
  max-width: 100%;
  background: var(--asphalt-800);
  border: 1px solid var(--steel-600);
  border-radius: 22px;
  padding: 22px;
  box-shadow: 0 46px 92px -34px rgba(0, 0, 0, 0.85);
}

.insh-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--steel-600);
  margin-bottom: 8px;
}

.insh-title {
  display: block;
  font-size: 15px;
  font-weight: 800;
  color: var(--white-100);
}

.insh-sub {
  font-size: 12.5px;
  color: var(--fog-300);
}

.insh-live {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11.5px;
  font-weight: 700;
  color: #34d399;
}

.insh-live i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #22c55e;
  box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.18);
}

.insh-row {
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.insh-row:last-of-type {
  border-bottom: 0;
}

.insh-grade {
  flex-shrink: 0;
  width: 34px;
  height: 34px;
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 15px;
  color: var(--c);
  background: color-mix(in srgb, var(--c) 16%, transparent);
}

.insh-mid {
  flex: 1;
}

.insh-name {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--white-100);
  margin-bottom: 7px;
}

.insh-delta {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-size: 11.5px;
  font-weight: 800;
  color: var(--c);
}

.insh-delta svg {
  width: 11px;
  height: 11px;
}

.insh-bar {
  height: 7px;
  border-radius: 999px;
  background: var(--asphalt-950);
  overflow: hidden;
}

.insh-bar i {
  display: block;
  height: 100%;
  border-radius: 999px;
}

.insh-score {
  flex-shrink: 0;
  width: 26px;
  text-align: right;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 16px;
  color: var(--white-100);
}

.insh-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 12px;
  padding-top: 14px;
  border-top: 1px solid var(--steel-600);
  font-size: 12px;
  color: var(--fog-300);
}

.insh-foot-val {
  font-weight: 700;
  color: var(--fog-200);
}

.insh-badge {
  position: absolute;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--white-100);
  color: #161a23;
  font-size: 12.5px;
  font-weight: 700;
  padding: 9px 13px;
  border-radius: 999px;
  box-shadow: 0 22px 44px -16px rgba(0, 0, 0, 0.6);
}

.insh-badge svg {
  width: 14px;
  height: 14px;
  color: #16a34a;
}

.insh-badge--a {
  top: -3%;
  left: -4%;
  color: var(--violet-500);
  animation: inshFloat 4.6s ease-in-out infinite;
}

.insh-badge--b {
  bottom: 9%;
  right: -5%;
  animation: inshFloat 5.2s ease-in-out infinite -1.6s;
}

@keyframes inshFloat {
  0%, 100% {
    transform: translateY(-6px);
  }
  50% {
    transform: translateY(6px);
  }
}
@media (max-width: 991px) {
  .insh-visual {
    min-height: 400px;
    margin-top: 10px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .insh-badge {
    animation: none;
  }
}
/* Data sources grid (Insights) */
.ins-ds-eyebrow {
  display: inline-block;
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 4px;
  color: #16a34a;
}

.ins-ds {
  height: 100%;
  text-align: center;
  background: var(--white-100);
  border: 1px solid #eae5db;
  border-radius: 18px;
  padding: 30px 20px 26px;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.ins-ds:hover {
  transform: translateY(-6px);
  border-color: var(--c);
  box-shadow: 0 28px 56px -34px rgba(0, 0, 0, 0.34);
}

.ins-ds-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 15px;
  color: var(--c);
  background: color-mix(in srgb, var(--c) 13%, var(--white-100));
  margin-bottom: 16px;
  transition: transform 0.25s ease;
}

.ins-ds:hover .ins-ds-ico {
  transform: scale(1.08) translateY(-2px);
}

.ins-ds-ico svg {
  width: 27px;
  height: 27px;
}

.ins-ds h3 {
  font-size: 16px;
  color: var(--ink-900);
  margin: 0 0 5px;
}

.ins-ds-sub {
  font-size: 13px;
  color: var(--ink-700);
}

.ins-ds-note {
  text-align: center;
  font-size: 14px;
  color: var(--ink-700);
  margin: 34px 0 0;
}

.ins-ds-note a {
  color: #16a34a;
  font-weight: 700;
}

.ins-ds-grid.js-reveal.is-in > [class*=col-] {
  animation: tkiUp 0.5s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.ins-ds-grid.js-reveal.is-in > [class*=col-]:nth-child(2) {
  animation-delay: 0.06s;
}

.ins-ds-grid.js-reveal.is-in > [class*=col-]:nth-child(3) {
  animation-delay: 0.12s;
}

.ins-ds-grid.js-reveal.is-in > [class*=col-]:nth-child(4) {
  animation-delay: 0.18s;
}

.ins-ds-grid.js-reveal.is-in > [class*=col-]:nth-child(5) {
  animation-delay: 0.24s;
}

.ins-ds-grid.js-reveal.is-in > [class*=col-]:nth-child(6) {
  animation-delay: 0.3s;
}

.ins-ds-grid.js-reveal.is-in > [class*=col-]:nth-child(7) {
  animation-delay: 0.36s;
}

.ins-ds-grid.js-reveal.is-in > [class*=col-]:nth-child(8) {
  animation-delay: 0.42s;
}

@media (prefers-reduced-motion: reduce) {
  .ins-ds-grid.js-reveal.is-in > [class*=col-] {
    animation: none;
  }
}
/* Multi-store heatmap (Insights) */
.ins-ms-section {
  background: radial-gradient(60% 70% at 10% 0%, rgba(255, 93, 143, 0.08), transparent 60%), radial-gradient(60% 70% at 90% 100%, rgba(139, 92, 246, 0.1), transparent 60%), var(--asphalt-950);
}

.ms-panel {
  background: var(--asphalt-800);
  border: 1px solid var(--steel-600);
  border-radius: 20px;
  padding: 22px 22px 20px;
  box-shadow: 0 44px 90px -40px rgba(0, 0, 0, 0.8);
}

.ms-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}

.ms-panel-title {
  font-size: 15px;
  font-weight: 800;
  color: var(--white-100);
}

.ms-panel-live {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  color: var(--fog-300);
}

.ms-panel-live i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #34d399;
  box-shadow: 0 0 0 3px rgba(52, 211, 153, 0.18);
}

.ms-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

.ms-table th {
  text-align: right;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--fog-300);
  padding: 10px 10px;
  background: var(--asphalt-950);
}

.ms-table th:first-child {
  text-align: left;
  border-radius: 8px 0 0 8px;
}

.ms-table th:last-child {
  border-radius: 0 8px 8px 0;
}

.ms-table td {
  padding: 13px 10px;
  font-size: 13.5px;
  font-weight: 700;
  text-align: right;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.ms-store {
  text-align: left !important;
  color: var(--white-100);
  font-weight: 600;
  white-space: nowrap;
}

.ms-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  margin-right: 9px;
  vertical-align: middle;
}

.ms-dot--good {
  background: #34d399;
}

.ms-dot--amber {
  background: #e0932a;
}

.ms-dot--bad {
  background: #ff6b7d;
}

.ms-cell {
  border-radius: 6px;
}

.ms-zero {
  color: var(--fog-300);
}

.ms-table tr.is-alert td {
  background-color: rgba(255, 93, 108, 0.06);
}

.ms-table tr.is-alert .ms-store {
  box-shadow: inset 3px 0 0 #ff6b7d;
  padding-left: 10px;
}

.ms-table tbody tr:last-child td {
  border-bottom: 0;
}

.ms-alert {
  display: flex;
  align-items: center;
  gap: 11px;
  margin-top: 16px;
  padding: 13px 16px;
  border-radius: 12px;
  background: rgba(255, 93, 108, 0.1);
  border: 1px solid rgba(255, 93, 108, 0.3);
  font-size: 13px;
  color: var(--fog-200);
}

.ms-alert b {
  color: #ff8a96;
}

.ms-alert-dot {
  flex-shrink: 0;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #ff6b7d;
  animation: msPulse 1.5s ease-in-out infinite;
}

@keyframes msPulse {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(255, 107, 125, 0.5);
  }
  50% {
    box-shadow: 0 0 0 6px rgba(255, 107, 125, 0);
  }
}
.ms-copy {
  color: var(--fog-200);
  font-size: 15.5px;
  line-height: 1.65;
  margin: 0 0 16px;
}

.ms-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  margin-top: 26px;
  padding-top: 24px;
  border-top: 1px solid var(--steel-600);
}

.ms-stat-num {
  display: block;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 26px;
  background: var(--brand-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.ms-stat-lbl {
  font-size: 13px;
  color: var(--fog-200);
}

@media (prefers-reduced-motion: reduce) {
  .ms-alert-dot {
    animation: none;
  }
}
/* Multi-store responsive */
.ms-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}

.ms-scroll::-webkit-scrollbar {
  height: 6px;
}

.ms-scroll::-webkit-scrollbar-thumb {
  background: var(--steel-600);
  border-radius: 3px;
}

.ms-table {
  min-width: 430px;
}

@media (max-width: 991px) {
  .ms-table th, .ms-table td {
    padding-left: 8px;
    padding-right: 8px;
  }
}
@media (max-width: 480px) {
  .ms-panel {
    padding: 18px 16px 16px;
  }
  .ms-panel-live {
    font-size: 11px;
  }
  .ms-table {
    min-width: 400px;
  }
  .ms-store {
    font-size: 12.5px;
  }
  .ms-table td {
    font-size: 12.5px;
    padding: 11px 8px;
  }
  .ms-table th {
    font-size: 9.5px;
    padding: 9px 8px;
  }
  .ms-stats {
    gap: 24px;
  }
  .ms-stat-num {
    font-size: 22px;
  }
}
/* Multi-store flex-shrink fix */
.ins-ms-section [class*=col-] {
  min-width: 0;
}

.ms-panel {
  min-width: 0;
}

/* Multi-store responsive: shrink to fit */
.ms-table {
  min-width: 0;
}

.ms-store {
  white-space: normal;
}

/* Before / After comparison (Insights) */
.ins-ba-eyebrow {
  display: inline-block;
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 4px;
  background: var(--brand-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.ins-ba-panel {
  max-width: 1000px;
  margin: 44px auto 0;
  background: var(--white-100);
  border: 1px solid #eae5db;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 34px 68px -44px rgba(0, 0, 0, 0.24);
}

.ins-ba-head, .ins-ba-row {
  display: grid;
  grid-template-columns: 0.9fr 1.15fr 1.15fr;
  align-items: center;
  gap: 22px;
  padding: 18px 28px;
}

.ins-ba-head {
  background: #faf8f3;
  border-bottom: 1px solid #ece7dd;
}

.ins-ba-h {
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.ins-ba-h.before {
  color: #e0455f;
}

.ins-ba-h.after {
  background: var(--brand-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.ins-ba-row {
  transition: background 0.2s ease;
}

.ins-ba-row:not(:last-child) {
  border-bottom: 1px solid #f2ede3;
}

.ins-ba-row:hover {
  background: #fbf8f3;
}

.ins-ba-dim {
  font-size: 15px;
  font-weight: 800;
  color: var(--ink-900);
}

.ins-ba-before, .ins-ba-after {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  font-size: 14px;
  line-height: 1.5;
}

.ins-ba-before {
  color: var(--ink-700);
}

.ins-ba-after {
  color: var(--ink-900);
  font-weight: 600;
}

.ins-ba-ico {
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 1px;
}

.ins-ba-ico svg {
  width: 12px;
  height: 12px;
}

.ins-ba-ico.x {
  background: rgba(224, 69, 95, 0.12);
  color: #e0455f;
}

.ins-ba-ico.c {
  background: var(--brand-gradient);
  color: var(--white-100);
}

.ins-ba-panel.js-reveal.is-in .ins-ba-row {
  animation: tkiUp 0.5s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.ins-ba-panel.js-reveal.is-in .ins-ba-row:nth-child(3) {
  animation-delay: 0.06s;
}

.ins-ba-panel.js-reveal.is-in .ins-ba-row:nth-child(4) {
  animation-delay: 0.12s;
}

.ins-ba-panel.js-reveal.is-in .ins-ba-row:nth-child(5) {
  animation-delay: 0.18s;
}

.ins-ba-panel.js-reveal.is-in .ins-ba-row:nth-child(6) {
  animation-delay: 0.24s;
}

.ins-ba-panel.js-reveal.is-in .ins-ba-row:nth-child(7) {
  animation-delay: 0.3s;
}

@media (max-width: 760px) {
  .ins-ba-head {
    display: none;
  }
  .ins-ba-row {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 20px 22px;
  }
  .ins-ba-dim {
    font-size: 16px;
  }
  .ins-ba-after {
    padding-top: 10px;
    border-top: 1px dashed #ece7dd;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ins-ba-panel.js-reveal.is-in .ins-ba-row {
    animation: none;
  }
}
/* Multi-store: lock table to container width */
.ms-table {
  table-layout: fixed;
  width: 100%;
}

.ms-table th:first-child, .ms-table td:first-child {
  width: 34%;
}

.ms-table th, .ms-table td {
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Multi-store overflow — decisive fix */
.ins-ms-section {
  overflow-x: clip;
}

.ins-ms-section .ms-table {
  min-width: 0 !important;
  table-layout: fixed;
  width: 100%;
}

/* Multi-store mobile: block layout + scrollable table */
@media (max-width: 991px) {
  .ins-ms-section .row {
    display: block;
  }
  .ins-ms-section [class*=col-] {
    width: 100%;
    max-width: 100%;
  }
  .ins-ms-section .col-lg-6:first-child {
    margin-bottom: 32px;
  }
  .ins-ms-section .ms-table {
    display: block;
    overflow-x: auto;
    white-space: nowrap;
    min-width: 0 !important;
    table-layout: auto;
  }
}
/* Inside Insights — 2x2 capability cards (dark) */
.ins-cc-section {
  background: radial-gradient(60% 60% at 15% 0%, rgba(255, 93, 143, 0.08), transparent 60%), radial-gradient(60% 60% at 85% 100%, rgba(139, 92, 246, 0.1), transparent 60%), var(--asphalt-950);
}

.ins-cc {
  position: relative;
  overflow: hidden;
  height: 100%;
  min-height: 210px;
  background: var(--asphalt-800);
  border: 1px solid var(--steel-600);
  border-radius: 22px;
  padding: 30px 32px;
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.ins-cc::after {
  content: "";
  position: absolute;
  top: -40px;
  right: -40px;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background: radial-gradient(circle, color-mix(in srgb, var(--c) 22%, transparent), transparent 68%);
  pointer-events: none;
}

.ins-cc:hover {
  transform: translateY(-6px);
  border-color: color-mix(in srgb, var(--c) 55%, transparent);
  box-shadow: 0 34px 66px -36px rgba(0, 0, 0, 0.75);
}

.ins-cc-eyebrow {
  display: inline-block;
  position: relative;
  z-index: 1;
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--c);
  margin-bottom: 12px;
}

.ins-cc h3 {
  position: relative;
  z-index: 1;
  font-size: 21px;
  color: var(--white-100);
  margin: 0 0 12px;
  max-width: 78%;
}

.ins-cc p {
  position: relative;
  z-index: 1;
  font-size: 14.5px;
  color: var(--fog-200);
  line-height: 1.6;
  margin: 0;
  max-width: 86%;
}

/* viz */
.ccv {
  position: absolute;
  top: 26px;
  right: 28px;
  z-index: 1;
  width: 104px;
  height: 104px;
}

.ccv-orbit .ccv-ring {
  position: absolute;
  inset: 4px;
  border-radius: 50%;
  border: 1px dashed rgba(255, 255, 255, 0.16);
}

.ccv-orbit .ccv-ring--2 {
  inset: 24px;
}

.ccv-orbit .ccv-hub {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--brand-gradient);
  color: var(--white-100);
  font-size: 12px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 20px -6px rgba(139, 92, 246, 0.6);
}

.ccv-orbit .ccv-sat {
  position: absolute;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: var(--asphalt-950);
  border: 2px solid var(--c);
}

.ccv-sat--1 {
  top: 0;
  left: 44px;
}

.ccv-sat--2 {
  bottom: 12px;
  left: 4px;
}

.ccv-sat--3 {
  bottom: 12px;
  right: 4px;
}

.ccv-ring-wrap svg {
  width: 104px;
  height: 104px;
}

.ccv-ring-wrap .ccv-score {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 24px;
  color: var(--white-100);
}

.ccv-alerts {
  display: flex;
  flex-direction: column;
  gap: 9px;
  align-items: flex-end;
  padding-top: 8px;
}

.ccv-a {
  display: flex;
  align-items: center;
  width: 96px;
  height: 26px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid var(--steel-600);
  padding: 0 10px;
}

.ccv-a i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
}

.ccv-a::after {
  content: "";
  margin-left: 8px;
  height: 5px;
  flex: 1;
  border-radius: 3px;
  background: rgba(255, 255, 255, 0.12);
}

.ccv-a--2 {
  width: 82px;
}

.ccv-a--3 {
  width: 90px;
}

.ccv-chat .ccv-bubble {
  position: absolute;
  top: 14px;
  right: 6px;
  width: 62px;
  height: 54px;
  border-radius: 18px 18px 18px 6px;
  background: var(--brand-gradient);
  color: var(--white-100);
  font-size: 28px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 12px 26px -10px rgba(139, 92, 246, 0.6);
}

.ccv-chat .ccv-spark {
  position: absolute;
  top: 4px;
  right: 68px;
  color: var(--c);
  font-size: 18px;
}

.ins-cc-grid.js-reveal.is-in > [class*=col-] {
  animation: tkiUp 0.55s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.ins-cc-grid.js-reveal.is-in > [class*=col-]:nth-child(2) {
  animation-delay: 0.1s;
}

.ins-cc-grid.js-reveal.is-in > [class*=col-]:nth-child(3) {
  animation-delay: 0.2s;
}

.ins-cc-grid.js-reveal.is-in > [class*=col-]:nth-child(4) {
  animation-delay: 0.3s;
}

@media (max-width: 560px) {
  .ccv {
    display: none;
  }
  .ins-cc h3, .ins-cc p {
    max-width: 100%;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ins-cc-grid.js-reveal.is-in > [class*=col-] {
    animation: none;
  }
}
/* Inside Insights — image cards (override) */
.ins-cc {
  display: flex;
  align-items: flex-start;
  gap: 26px;
  padding: 30px 32px;
}

.ins-cc-body {
  flex: 1;
  min-width: 0;
}

.ins-cc-body .ins-cc-eyebrow, .ins-cc-body h3, .ins-cc-body p {
  max-width: none;
}

.ins-cc-img {
  flex-shrink: 0;
  width: 118px;
  height: 118px;
  display: block;
}

@media (max-width: 991px) {
  .ins-cc-img {
    width: 96px;
    height: 96px;
  }
}
@media (max-width: 560px) {
  .ins-cc-img {
    display: none;
  }
  .ins-cc {
    gap: 0;
  }
}
/* Insights spotlight (dark, orbiting sources) */
.ins-spot-section {
  position: relative;
  overflow: hidden;
  background: var(--asphalt-950);
  text-align: center;
}

.ins-spot-orbits {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.ins-spot-arc {
  position: absolute;
  left: 50%;
  top: 4%;
  transform: translateX(-50%);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 50%;
}

.ins-spot-arc.arc1 {
  width: 860px;
  height: 860px;
}

.ins-spot-arc.arc2 {
  width: 1240px;
  height: 1240px;
  top: -8%;
}

.ins-spot-glow {
  position: absolute;
  left: 50%;
  top: 30%;
  transform: translate(-50%, -50%);
  width: 620px;
  height: 420px;
  border-radius: 50%;
  background: radial-gradient(closest-side, rgba(139, 92, 246, 0.28), rgba(255, 93, 143, 0.12) 55%, transparent 75%);
  filter: blur(8px);
}

.ins-spot-logo {
  position: absolute;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--asphalt-800);
  border: 1px solid var(--steel-600);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 16px 30px -14px rgba(0, 0, 0, 0.7);
  animation: spotFloat 6s ease-in-out infinite;
}

.ins-spot-logo svg {
  width: 26px;
  height: 26px;
}

@keyframes spotFloat {
  0%, 100% {
    transform: translateY(-7px);
  }
  50% {
    transform: translateY(7px);
  }
}
.ins-spot-content {
  position: relative;
  z-index: 1;
  max-width: 680px;
  margin: 0 auto;
}

.ins-spot-content .ins-eyebrow {
  color: var(--white-100);
  -webkit-text-fill-color: initial;
  background: none;
}

.ins-spot-content h2 {
  font-size: clamp(34px, 5vw, 56px);
  line-height: 1.08;
  color: var(--white-100);
  margin: 6px 0 20px;
}

.ins-spot-content p {
  font-size: 17px;
  line-height: 1.65;
  color: var(--fog-200);
  margin: 0 auto 30px;
  max-width: 560px;
}

.ins-spot-dash {
  position: relative;
  z-index: 1;
  margin: 48px auto -70px;
  max-width: 760px;
}

.ins-spot-dash img {
  width: 100%;
  height: auto;
  border-radius: 16px 16px 0 0;
  border: 1px solid var(--steel-600);
  border-bottom: 0;
  box-shadow: 0 -10px 80px -30px rgba(139, 92, 246, 0.5);
}

@media (max-width: 700px) {
  .ins-spot-logo:nth-child(6), .ins-spot-logo:nth-child(7) {
    display: none;
  }
  .ins-spot-arc {
    opacity: 0.5;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ins-spot-logo {
    animation: none;
  }
}
/* How It Works — light variant (Insights) */
.how-light .step::before {
  background: var(--white-100);
  box-shadow: 0 0 0 7px var(--white-100);
}

.how-light .step h3 {
  color: var(--ink-900);
}

.how-light .step p {
  color: var(--ink-700);
}

/* How It Works — light step cards (Insights) */
.how3-card {
  position: relative;
  overflow: hidden;
  height: 100%;
  background: var(--white-100);
  border: 1px solid #eae5db;
  border-radius: 20px;
  padding: 32px 30px;
  transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
}

.how3-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: var(--brand-gradient);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.32s ease;
}

.how3-card:hover {
  transform: translateY(-8px);
  border-color: transparent;
  box-shadow: 0 32px 62px -32px rgba(0, 0, 0, 0.28);
}

.how3-card:hover::before {
  transform: scaleX(1);
}

.how3-ghost {
  position: absolute;
  top: 12px;
  right: 20px;
  z-index: 0;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 58px;
  line-height: 1;
  color: #f1ede3;
  pointer-events: none;
}

.how3-num {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 16px;
  background: var(--brand-gradient);
  color: var(--white-100);
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 20px;
  box-shadow: 0 16px 30px -12px rgba(139, 92, 246, 0.55);
  margin-bottom: 20px;
  transition: transform 0.28s ease;
}

.how3-card:hover .how3-num {
  transform: scale(1.08) rotate(-4deg);
}

.how3-card h3 {
  position: relative;
  z-index: 1;
  font-size: 19px;
  color: var(--ink-900);
  margin: 0 0 10px;
}

.how3-card p {
  position: relative;
  z-index: 1;
  font-size: 14.5px;
  color: var(--ink-700);
  line-height: 1.6;
  margin: 0;
}

.how3-grid.js-reveal.is-in > [class*=col-] {
  animation: tkiUp 0.55s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.how3-grid.js-reveal.is-in > [class*=col-]:nth-child(2) {
  animation-delay: 0.1s;
}

.how3-grid.js-reveal.is-in > [class*=col-]:nth-child(3) {
  animation-delay: 0.2s;
}

@media (prefers-reduced-motion: reduce) {
  .how3-grid.js-reveal.is-in > [class*=col-] {
    animation: none;
  }
}
/* Page styles for About */
.founder-figure {
  margin: 0 0 28px;
  max-width: 320px;
}
.founder-figure img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--radius-14);
}

@media (min-width: 768px) {
  .founder-figure {
    float: right;
    max-width: 300px;
    margin: 4px 0 20px 32px;
  }
}
/* Founder story: light editorial two-column layout */
.founder-section .founder-aside {
  position: relative;
}
@media (min-width: 992px) {
  .founder-section .founder-aside {
    position: sticky;
    top: 100px;
  }
}
.founder-section .founder-figure {
  float: none;
  margin: 0;
  max-width: 100%;
}
.founder-section .founder-figure img {
  border-radius: var(--radius-14);
  box-shadow: 0 22px 55px rgba(29, 26, 21, 0.16);
}
.founder-section .founder-meta {
  margin-top: 22px;
  padding-left: 16px;
  border-left: 3px solid;
  border-image: var(--brand-gradient) 1;
}
.founder-section .founder-name {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 20px;
  color: var(--ink-900);
  line-height: 1.2;
}
.founder-section .founder-role {
  font-family: var(--font-mono);
  font-size: 12.5px;
  letter-spacing: 0.03em;
  color: var(--ink-700);
  margin-top: 5px;
}
.founder-section .founder-story {
  position: relative;
  max-width: 680px;
}
.founder-section .founder-story .eyebrow {
  margin-bottom: 20px;
}
.founder-section .founder-story::before {
  content: "“";
  position: absolute;
  top: -66px;
  left: -14px;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 150px;
  line-height: 1;
  background: var(--brand-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  opacity: 0.16;
  pointer-events: none;
}
.founder-section .founder-story p.lead {
  font-size: 18px;
  line-height: 1.65;
  color: var(--ink-900);
}
.founder-section .founder-tag {
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.02em;
  color: var(--ink-700);
  background: rgba(255, 122, 89, 0.07);
  border: 1px solid #e4e0d5;
  border-radius: var(--radius-8);
  padding: 10px 14px;
  display: block;
}

/* Founding Partner Program visual */
.founding-visual-card {
  border-radius: var(--radius-14);
  overflow: hidden;
  border: 1px solid var(--steel-600);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45);
}
.founding-visual-card img {
  display: block;
  width: 100%;
  height: auto;
}

/* Page styles for Pricing */
/* Pricing calculator — dark estimator section (calc lives only here). */
.page-pricing .calc-col-label {
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--fog-300);
  margin-bottom: 14px;
}
.page-pricing .calc-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-12);
  background: var(--asphalt-800);
  border: 1px solid var(--steel-600);
  border-radius: var(--radius-12);
  padding: var(--space-14) var(--space-16);
  margin-bottom: var(--space-10);
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}
.page-pricing .calc-item:hover {
  border-color: var(--pink-500);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.35);
  transform: translateY(-1px);
}
.page-pricing .calc-item.checked {
  border-color: var(--pink-500);
  background: rgba(255, 93, 143, 0.08);
}
.page-pricing .calc-item.checked .calc-checkbox {
  background: var(--brand-gradient);
  border-color: transparent;
}
.page-pricing .calc-item.checked .calc-checkbox::after {
  content: "✓";
  color: var(--white-100);
  font-size: 12px;
  font-weight: 700;
}
.page-pricing .calc-item-left {
  display: flex;
  align-items: center;
  gap: 12px;
}
.page-pricing .calc-checkbox {
  width: var(--space-18);
  height: var(--space-18);
  border-radius: var(--radius-sm);
  border: 2px solid var(--steel-600);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: all 0.15s;
}
.page-pricing .calc-item-name {
  font-size: 14.5px;
  font-weight: 600;
  color: var(--white);
}
.page-pricing .calc-item-price {
  font-family: var(--font-mono);
  font-size: 13px;
  color: var(--fog-300);
}
.page-pricing .calc-summary {
  position: relative;
  background: var(--asphalt-800);
  border: 1px solid var(--steel-600);
  border-radius: var(--radius-14);
  padding: var(--space-32);
  text-align: center;
  overflow: hidden;
}
.page-pricing .calc-summary::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: var(--brand-gradient);
}
@media (min-width: 921px) {
  .page-pricing .calc-summary {
    position: sticky;
    top: 100px;
  }
}
.page-pricing .calc-summary-label {
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--fog-300);
  margin-bottom: 12px;
}
.page-pricing .calc-total {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 46px;
  line-height: 1;
  position: relative;
  display: inline-block;
  background: var(--brand-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.page-pricing .calc-total.struck::after {
  content: "";
  position: absolute;
  left: -4%;
  top: 50%;
  height: 4px;
  width: 0;
  background: var(--pink-500);
  transform: translateY(-50%);
  animation: strike 0.5s ease forwards;
}
.page-pricing .calc-permo {
  font-size: 15px;
  color: var(--fog-300);
  margin-top: 6px;
}
.page-pricing .calc-reveal {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid var(--steel-600);
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  transition: opacity 0.4s ease 0.3s;
}
.page-pricing .calc-reveal.visible {
  opacity: 1;
  max-height: 200px;
}
.page-pricing .calc-reveal p {
  font-size: 14px;
  color: var(--fog-200);
  margin-bottom: 16px;
}
.page-pricing .calc-empty {
  color: var(--fog-300);
  font-size: 14px;
  padding: 20px 0;
}
.page-pricing .calc-disclaimer {
  font-size: 11.5px;
  color: var(--fog-300);
  margin-top: 18px;
  line-height: 1.6;
}

/* Pricing calculator — struck separate-tools anchor */
.page-pricing .calc-was {
  font-size: 23px;
  font-weight: 700;
  color: var(--fog-300);
  margin-bottom: 4px;
}

.page-pricing .calc-was-num {
  text-decoration: line-through;
  text-decoration-color: var(--pink-500);
  text-decoration-thickness: 3px;
  color: var(--fog-200);
}

/* Page styles for Demo */
.page-demo .demo-form {
  position: relative;
  overflow: hidden;
  background: var(--white-100);
  border: 1px solid #e4e0d5;
  border-radius: var(--radius-14);
  padding: var(--space-36);
  box-shadow: 0 24px 60px rgba(29, 26, 21, 0.12);
}
.page-demo .demo-form::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: var(--brand-gradient);
}
.page-demo .demo-form button[type=submit] {
  margin-top: var(--space-10);
}
.page-demo .demo-visual img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--radius-14);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.5);
}
.page-demo .field {
  margin-bottom: var(--space-14);
}
.page-demo .field input,
.page-demo .field select {
  width: 100%;
  padding: var(--space-12) var(--space-14);
  background: #f7f5f0;
  border: 1px solid #e4e0d5;
  border-radius: var(--radius);
  color: var(--ink-900);
  font-family: var(--font-body);
  font-size: 14.5px;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}
.page-demo .field input:focus,
.page-demo .field select:focus {
  outline: none;
  background: var(--white-100);
  border-color: var(--pink-500);
  box-shadow: 0 0 0 3px rgba(255, 93, 143, 0.18);
}
.page-demo .field input::placeholder {
  color: #6b6355;
}
.page-demo .field select {
  appearance: none;
  -webkit-appearance: none;
  padding-right: 40px;
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235B564A' stroke-width='2' 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 14px center;
}
.page-demo .field select:has(option[value=""]:checked) {
  color: #6b6355;
}

/* Demo hero visual — walkthrough scheduler */
.hero-demo h1 {
  max-width: 560px;
}

.dh-visual {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 440px;
}

.dh-glow {
  position: absolute;
  width: 320px;
  height: 320px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(139, 92, 246, 0.26), transparent 62%);
  filter: blur(6px);
  z-index: 0;
}

.dh-card {
  position: relative;
  z-index: 1;
  width: 356px;
  max-width: 100%;
  background: var(--asphalt-800);
  border: 1px solid var(--steel-600);
  border-radius: 22px;
  padding: 22px;
  box-shadow: 0 46px 92px -34px rgba(0, 0, 0, 0.85);
}

.dh-head {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--steel-600);
  margin-bottom: 16px;
}

.dh-head-ico {
  flex-shrink: 0;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--white-100);
  background: var(--brand-gradient);
}

.dh-head-ico svg {
  width: 22px;
  height: 22px;
}

.dh-head b {
  display: block;
  color: var(--white-100);
  font-size: 15px;
}

.dh-sub {
  font-size: 12.5px;
  color: var(--fog-300);
}

.dh-week {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 8px;
}

.dh-day {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  padding: 10px 0;
  border-radius: 12px;
  border: 1px solid var(--steel-600);
  background: rgba(255, 255, 255, 0.02);
}

.dh-day em {
  font-style: normal;
  font-size: 10.5px;
  color: var(--fog-300);
}

.dh-day b {
  font-size: 15px;
  color: var(--white-100);
}

.dh-day.is-on {
  background: var(--brand-gradient);
  border-color: transparent;
}

.dh-day.is-on em, .dh-day.is-on b {
  color: var(--white-100);
}

.dh-slots-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--fog-300);
  margin: 16px 0 8px;
}

.dh-slots {
  display: flex;
  gap: 8px;
}

.dh-slot {
  flex: 1;
  text-align: center;
  font-size: 13px;
  font-weight: 600;
  color: var(--fog-200);
  padding: 10px 0;
  border-radius: 10px;
  border: 1px solid var(--steel-600);
  background: rgba(255, 255, 255, 0.02);
}

.dh-slot.is-on {
  color: var(--white-100);
  border-color: rgba(139, 92, 246, 0.6);
  background: rgba(139, 92, 246, 0.16);
}

.dh-confirm {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-top: 16px;
  padding: 11px 14px;
  border-radius: 12px;
  background: rgba(52, 211, 153, 0.1);
  border: 1px solid rgba(52, 211, 153, 0.32);
  font-size: 13px;
  color: var(--fog-200);
}

.dh-confirm-ico {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--white-100);
  background: #22c55e;
}

.dh-confirm-ico svg {
  width: 11px;
  height: 11px;
}

.dh-chip {
  position: absolute;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--white-100);
  color: #161a23;
  font-size: 12.5px;
  font-weight: 700;
  padding: 9px 13px;
  border-radius: 999px;
  box-shadow: 0 22px 44px -16px rgba(0, 0, 0, 0.6);
}

.dh-chip svg {
  width: 14px;
  height: 14px;
  color: #16a34a;
}

.dh-chip--a {
  top: -3%;
  left: -4%;
  color: var(--violet-500);
  animation: dhFloat 4.6s ease-in-out infinite;
}

.dh-chip--b {
  bottom: 9%;
  right: -5%;
  animation: dhFloat 5.2s ease-in-out infinite -1.6s;
}

@keyframes dhFloat {
  0%, 100% {
    transform: translateY(-6px);
  }
  50% {
    transform: translateY(6px);
  }
}
@media (max-width: 991px) {
  .dh-visual {
    min-height: 400px;
    margin-top: 10px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .dh-chip {
    animation: none;
  }
}
/* Page styles for Founding Partner Program */
/* Page styles for Who We Serve */
.serve-card {
  --accent: #ff7a59;
  --accent-soft: rgba(255, 122, 89, 0.14);
  background: var(--asphalt-800);
  border: 1px solid var(--steel-600);
  border-radius: var(--radius-14);
  padding: var(--space-36);
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}
.serve-card:hover {
  transform: translateY(-4px);
  border-color: var(--accent);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.45);
}
.serve-card h2 {
  font-size: 23px;
  margin-bottom: 12px;
}
.serve-card p {
  color: var(--fog-200);
  font-size: 15.5px;
  line-height: 1.7;
  margin-bottom: var(--space-22);
}

.serve-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 14px;
  background: var(--accent-soft);
  color: var(--accent);
  margin-bottom: var(--space-20);
}
.serve-icon svg {
  width: 26px;
  height: 26px;
  display: block;
}

.chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.chip {
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.02em;
  color: var(--fog-200);
  background: var(--asphalt-900);
  border: 1px solid var(--steel-600);
  border-radius: 999px;
  padding: 7px 14px;
}

.serve-section .row > [class*=col-]:nth-child(1) .serve-card {
  --accent: #ff7a59;
  --accent-soft: rgba(255, 122, 89, 0.14);
}
.serve-section .row > [class*=col-]:nth-child(2) .serve-card {
  --accent: #5b8dff;
  --accent-soft: rgba(91, 141, 255, 0.16);
}

/* Light-section variant: white cards with dark text (matches benefit cards). */
.section.light .serve-card {
  background: var(--white-100);
  border: 1px solid #e4e0d5;
  box-shadow: 0 1px 2px rgba(29, 26, 21, 0.05);
}
.section.light .serve-card:hover {
  border-color: var(--accent);
  box-shadow: 0 18px 44px rgba(29, 26, 21, 0.14);
}
.section.light .serve-card h2 {
  color: var(--ink-900);
}
.section.light .serve-card p {
  color: var(--ink-700);
}
.section.light .serve-card .chip {
  color: var(--ink-700);
  background: var(--cream-50);
  border-color: #e4e0d5;
}

/* Who We Serve inline CTA */
.serve-cta {
  text-align: center;
  margin-top: 48px;
}

.serve-cta p {
  font-size: 18px;
  font-weight: 700;
  color: var(--ink-900);
  margin: 0 0 20px;
}

/* Who We Serve hero visual — RV hub + verticals */
.hero-serve h1 {
  max-width: 560px;
}

.hs-visual {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 460px;
}

.hs-glow {
  position: absolute;
  width: 320px;
  height: 320px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 93, 143, 0.26), transparent 62%);
  filter: blur(6px);
  z-index: 0;
}

.hs-orbit {
  position: absolute;
  width: 340px;
  height: 340px;
  border-radius: 50%;
  border: 1px dashed rgba(255, 255, 255, 0.14);
  z-index: 0;
}

.hs-core {
  position: relative;
  z-index: 2;
  width: 168px;
  height: 168px;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 3px;
  background: var(--brand-gradient);
  box-shadow: 0 30px 60px -22px rgba(139, 92, 246, 0.6);
}

.hs-core-ico {
  width: 42px;
  height: 42px;
  color: var(--white-100);
  margin-bottom: 4px;
}

.hs-core-ico svg {
  width: 42px;
  height: 42px;
}

.hs-core b {
  color: var(--white-100);
  font-size: 17px;
}

.hs-core span {
  color: rgba(255, 255, 255, 0.85);
  font-size: 12px;
}

.hs-sat {
  position: absolute;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--asphalt-800);
  border: 1px solid var(--steel-600);
  border-radius: 999px;
  padding: 9px 15px 9px 9px;
  font-size: 13px;
  font-weight: 700;
  color: var(--white-100);
  box-shadow: 0 18px 36px -16px rgba(0, 0, 0, 0.7);
  animation: hsFloat 5.5s ease-in-out infinite;
}

.hs-sat-ico {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--white-100);
  background: rgba(255, 255, 255, 0.08);
}

.hs-sat-ico svg {
  width: 17px;
  height: 17px;
}

.hs-chip {
  position: absolute;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: var(--white-100);
  color: #161a23;
  font-size: 12.5px;
  font-weight: 700;
  padding: 9px 13px;
  border-radius: 999px;
  box-shadow: 0 22px 44px -16px rgba(0, 0, 0, 0.6);
}

.hs-chip svg {
  width: 14px;
  height: 14px;
  color: #16a34a;
}

.hs-chip--a {
  top: 8%;
  left: 2%;
  animation: hsFloat 4.8s ease-in-out infinite -1.2s;
}

@keyframes hsFloat {
  0%, 100% {
    transform: translateY(-6px);
  }
  50% {
    transform: translateY(6px);
  }
}
.hs-sat[style*=translateX] {
  animation-name: hsFloatX;
}

@keyframes hsFloatX {
  0%, 100% {
    transform: translateX(-50%) translateY(-5px);
  }
  50% {
    transform: translateX(-50%) translateY(5px);
  }
}
@media (max-width: 991px) {
  .hs-visual {
    min-height: 400px;
    margin-top: 10px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .hs-sat, .hs-chip {
    animation: none;
  }
}
/* ===== Who We Serve — added sections ===== */
.wws-eyebrow {
  display: inline-block;
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 4px;
  background: var(--brand-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* RV realities (dark) */
.wws-rv-section {
  background: radial-gradient(60% 70% at 85% 6%, rgba(139, 92, 246, 0.1), transparent 60%), var(--asphalt-900);
}

.wws-rv {
  height: 100%;
  background: var(--asphalt-800);
  border: 1px solid var(--steel-600);
  border-radius: 18px;
  padding: 26px 26px;
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.wws-rv:hover {
  transform: translateY(-6px);
  border-color: rgba(139, 92, 246, 0.45);
  box-shadow: 0 30px 60px -34px rgba(0, 0, 0, 0.7);
}

.wws-rv-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 15px;
  color: var(--white-100);
  background: var(--brand-gradient);
  margin-bottom: 16px;
}

.wws-rv-ico svg {
  width: 25px;
  height: 25px;
}

.wws-rv h3 {
  font-size: 18px;
  color: var(--white-100);
  margin: 0 0 8px;
}

.wws-rv p {
  font-size: 14px;
  color: var(--fog-200);
  line-height: 1.6;
  margin: 0;
}

/* Roles (light) */
.wws-role {
  height: 100%;
  text-align: center;
  background: var(--white-100);
  border: 1px solid #eae5db;
  border-radius: 18px;
  padding: 30px 22px 26px;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.wws-role:hover {
  transform: translateY(-6px);
  border-color: var(--c);
  box-shadow: 0 28px 56px -34px rgba(0, 0, 0, 0.34);
}

.wws-role-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 16px;
  color: var(--c);
  background: color-mix(in srgb, var(--c) 13%, var(--white-100));
  margin-bottom: 16px;
  transition: transform 0.25s ease;
}

.wws-role:hover .wws-role-ico {
  transform: scale(1.08) translateY(-2px);
}

.wws-role-ico svg {
  width: 27px;
  height: 27px;
}

.wws-role h3 {
  font-size: 17px;
  color: var(--ink-900);
  margin: 0 0 8px;
}

.wws-role p {
  font-size: 13.5px;
  color: var(--ink-700);
  line-height: 1.55;
  margin: 0;
}

.wws-rv-grid.js-reveal.is-in > [class*=col-], .wws-role-grid.js-reveal.is-in > [class*=col-] {
  animation: tkiUp 0.55s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.wws-rv-grid.js-reveal.is-in > [class*=col-]:nth-child(2), .wws-role-grid.js-reveal.is-in > [class*=col-]:nth-child(2) {
  animation-delay: 0.08s;
}

.wws-rv-grid.js-reveal.is-in > [class*=col-]:nth-child(3), .wws-role-grid.js-reveal.is-in > [class*=col-]:nth-child(3) {
  animation-delay: 0.16s;
}

.wws-rv-grid.js-reveal.is-in > [class*=col-]:nth-child(4), .wws-role-grid.js-reveal.is-in > [class*=col-]:nth-child(4) {
  animation-delay: 0.24s;
}

.wws-rv-grid.js-reveal.is-in > [class*=col-]:nth-child(5) {
  animation-delay: 0.32s;
}

.wws-rv-grid.js-reveal.is-in > [class*=col-]:nth-child(6) {
  animation-delay: 0.4s;
}

@media (prefers-reduced-motion: reduce) {
  .wws-rv-grid.js-reveal.is-in > [class*=col-], .wws-role-grid.js-reveal.is-in > [class*=col-] {
    animation: none;
  }
}
/* Alternate key: whoweserve */
/* Who We Serve inline CTA */
.serve-cta {
  text-align: center;
  margin-top: 48px;
}

.serve-cta p {
  font-size: 18px;
  font-weight: 700;
  color: var(--ink-900);
  margin: 0 0 20px;
}

/* Who We Serve hero visual — RV hub + verticals */
.hero-serve h1 {
  max-width: 560px;
}

.hs-visual {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 460px;
}

.hs-glow {
  position: absolute;
  width: 320px;
  height: 320px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 93, 143, 0.26), transparent 62%);
  filter: blur(6px);
  z-index: 0;
}

.hs-orbit {
  position: absolute;
  width: 340px;
  height: 340px;
  border-radius: 50%;
  border: 1px dashed rgba(255, 255, 255, 0.14);
  z-index: 0;
}

.hs-core {
  position: relative;
  z-index: 2;
  width: 168px;
  height: 168px;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 3px;
  background: var(--brand-gradient);
  box-shadow: 0 30px 60px -22px rgba(139, 92, 246, 0.6);
}

.hs-core-ico {
  width: 42px;
  height: 42px;
  color: var(--white-100);
  margin-bottom: 4px;
}

.hs-core-ico svg {
  width: 42px;
  height: 42px;
}

.hs-core b {
  color: var(--white-100);
  font-size: 17px;
}

.hs-core span {
  color: rgba(255, 255, 255, 0.85);
  font-size: 12px;
}

.hs-sat {
  position: absolute;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--asphalt-800);
  border: 1px solid var(--steel-600);
  border-radius: 999px;
  padding: 9px 15px 9px 9px;
  font-size: 13px;
  font-weight: 700;
  color: var(--white-100);
  box-shadow: 0 18px 36px -16px rgba(0, 0, 0, 0.7);
  animation: hsFloat 5.5s ease-in-out infinite;
}

.hs-sat-ico {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--white-100);
  background: rgba(255, 255, 255, 0.08);
}

.hs-sat-ico svg {
  width: 17px;
  height: 17px;
}

.hs-chip {
  position: absolute;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: var(--white-100);
  color: #161a23;
  font-size: 12.5px;
  font-weight: 700;
  padding: 9px 13px;
  border-radius: 999px;
  box-shadow: 0 22px 44px -16px rgba(0, 0, 0, 0.6);
}

.hs-chip svg {
  width: 14px;
  height: 14px;
  color: #16a34a;
}

.hs-chip--a {
  top: 8%;
  left: 2%;
  animation: hsFloat 4.8s ease-in-out infinite -1.2s;
}

@keyframes hsFloat {
  0%, 100% {
    transform: translateY(-6px);
  }
  50% {
    transform: translateY(6px);
  }
}
.hs-sat[style*=translateX] {
  animation-name: hsFloatX;
}

@keyframes hsFloatX {
  0%, 100% {
    transform: translateX(-50%) translateY(-5px);
  }
  50% {
    transform: translateX(-50%) translateY(5px);
  }
}
@media (max-width: 991px) {
  .hs-visual {
    min-height: 400px;
    margin-top: 10px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .hs-sat, .hs-chip {
    animation: none;
  }
}
/* ===== Who We Serve — added sections ===== */
.wws-eyebrow {
  display: inline-block;
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 4px;
  background: var(--brand-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* RV realities (dark) */
.wws-rv-section {
  background: radial-gradient(60% 70% at 85% 6%, rgba(139, 92, 246, 0.1), transparent 60%), var(--asphalt-900);
}

.wws-rv {
  height: 100%;
  background: var(--asphalt-800);
  border: 1px solid var(--steel-600);
  border-radius: 18px;
  padding: 26px 26px;
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.wws-rv:hover {
  transform: translateY(-6px);
  border-color: rgba(139, 92, 246, 0.45);
  box-shadow: 0 30px 60px -34px rgba(0, 0, 0, 0.7);
}

.wws-rv-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 15px;
  color: var(--white-100);
  background: var(--brand-gradient);
  margin-bottom: 16px;
}

.wws-rv-ico svg {
  width: 25px;
  height: 25px;
}

.wws-rv h3 {
  font-size: 18px;
  color: var(--white-100);
  margin: 0 0 8px;
}

.wws-rv p {
  font-size: 14px;
  color: var(--fog-200);
  line-height: 1.6;
  margin: 0;
}

/* Roles (light) */
.wws-role {
  height: 100%;
  text-align: center;
  background: var(--white-100);
  border: 1px solid #eae5db;
  border-radius: 18px;
  padding: 30px 22px 26px;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.wws-role:hover {
  transform: translateY(-6px);
  border-color: var(--c);
  box-shadow: 0 28px 56px -34px rgba(0, 0, 0, 0.34);
}

.wws-role-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 16px;
  color: var(--c);
  background: color-mix(in srgb, var(--c) 13%, var(--white-100));
  margin-bottom: 16px;
  transition: transform 0.25s ease;
}

.wws-role:hover .wws-role-ico {
  transform: scale(1.08) translateY(-2px);
}

.wws-role-ico svg {
  width: 27px;
  height: 27px;
}

.wws-role h3 {
  font-size: 17px;
  color: var(--ink-900);
  margin: 0 0 8px;
}

.wws-role p {
  font-size: 13.5px;
  color: var(--ink-700);
  line-height: 1.55;
  margin: 0;
}

.wws-rv-grid.js-reveal.is-in > [class*=col-], .wws-role-grid.js-reveal.is-in > [class*=col-] {
  animation: tkiUp 0.55s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.wws-rv-grid.js-reveal.is-in > [class*=col-]:nth-child(2), .wws-role-grid.js-reveal.is-in > [class*=col-]:nth-child(2) {
  animation-delay: 0.08s;
}

.wws-rv-grid.js-reveal.is-in > [class*=col-]:nth-child(3), .wws-role-grid.js-reveal.is-in > [class*=col-]:nth-child(3) {
  animation-delay: 0.16s;
}

.wws-rv-grid.js-reveal.is-in > [class*=col-]:nth-child(4), .wws-role-grid.js-reveal.is-in > [class*=col-]:nth-child(4) {
  animation-delay: 0.24s;
}

.wws-rv-grid.js-reveal.is-in > [class*=col-]:nth-child(5) {
  animation-delay: 0.32s;
}

.wws-rv-grid.js-reveal.is-in > [class*=col-]:nth-child(6) {
  animation-delay: 0.4s;
}

@media (prefers-reduced-motion: reduce) {
  .wws-rv-grid.js-reveal.is-in > [class*=col-], .wws-role-grid.js-reveal.is-in > [class*=col-] {
    animation: none;
  }
}
/* Page styles for DealerTrail */
/* Note: np-eyebrow / np-lead / np-card and the reveal grid are shared with the
   other new product pages (also defined in their partials); kept here so the
   DealerTrail page's styles are self-contained. */
.np-eyebrow {
  display: inline-block;
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 6px;
  background: var(--brand-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.np-lead {
  font-size: 16px;
  line-height: 1.65;
  margin: 6px 0 22px;
  color: var(--fog-200);
}

.section.light .np-lead {
  color: var(--ink-700);
}

/* adaptive card grid */
.np-card {
  height: 100%;
  border-radius: 18px;
  padding: 26px 24px;
  border: 1px solid var(--steel-600);
  background: var(--asphalt-800);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.np-card:hover {
  transform: translateY(-5px);
  border-color: rgba(139, 92, 246, 0.42);
  box-shadow: 0 28px 56px -34px rgba(0, 0, 0, 0.6);
}

.np-card h3 {
  font-size: 18px;
  color: var(--white-100);
  margin: 0 0 10px;
}

.np-card p {
  font-size: 14px;
  color: var(--fog-200);
  line-height: 1.6;
  margin: 0;
}

.section.light .np-card {
  background: var(--white-100);
  border-color: #eae5db;
}

.section.light .np-card:hover {
  border-color: rgba(255, 93, 143, 0.4);
  box-shadow: 0 28px 56px -34px rgba(0, 0, 0, 0.3);
}

.section.light .np-card h3 {
  color: var(--ink-900);
}

.section.light .np-card p {
  color: var(--ink-700);
}

/* DealerTrail portals */
.np-portal {
  height: 100%;
  background: var(--white-100);
  border: 1px solid #eae5db;
  border-radius: 20px;
  padding: 30px 30px 24px;
}

.np-portal-tag {
  display: inline-block;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--c);
  background: color-mix(in srgb, var(--c) 14%, transparent);
  padding: 6px 14px;
  border-radius: 999px;
  margin-bottom: 16px;
}

.np-portal h3 {
  font-size: 21px;
  color: var(--ink-900);
  margin: 0 0 14px;
}

.np-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.np-list li {
  position: relative;
  padding: 10px 0 10px 24px;
  font-size: 14.5px;
  color: var(--ink-700);
  line-height: 1.5;
  border-top: 1px solid #f1ece2;
}

.np-list li:first-child {
  border-top: 0;
}

.np-list li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: 17px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--brand-gradient);
}

/* PIN mock */
.np-pin {
  background: var(--white-100);
  border-radius: 18px;
  padding: 22px;
  box-shadow: 0 40px 80px -40px rgba(0, 0, 0, 0.75);
  max-width: 440px;
  margin: 0 auto;
}

.np-pin-input {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-mono);
  font-size: 14px;
  font-weight: 700;
  color: #161a23;
  background: #f1f3f6;
  border: 1px solid #e4e7ec;
  border-radius: 10px;
  padding: 12px 16px;
  margin-bottom: 14px;
}

.np-pin-input span {
  font-size: 11px;
  color: #8a90a0;
  font-weight: 600;
}

.np-pin-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 2px;
  border-bottom: 1px solid #eef0f4;
  font-size: 13.5px;
}

.np-pin-row:last-child {
  border-bottom: 0;
}

.np-pin-row span {
  color: #8a90a0;
}

.np-pin-row b {
  color: #161a23;
  font-weight: 700;
}

.np-pin-row b.ok {
  color: #2f9e5a;
}

/* reveal for np grid */
.np-grid.js-reveal.is-in > [class*=col-] {
  animation: tkiUp 0.5s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.np-grid.js-reveal.is-in > [class*=col-]:nth-child(2) {
  animation-delay: 0.06s;
}

.np-grid.js-reveal.is-in > [class*=col-]:nth-child(3) {
  animation-delay: 0.12s;
}

@media (prefers-reduced-motion: reduce) {
  .np-grid > [class*=col-] {
    animation: none !important;
  }
}
/* Page styles for F&I & Protection */
/* Note: np-eyebrow / np-lead / np-card / np-check and the reveal grid are
   shared with the other new product pages (also defined in their partials);
   kept here so the F&I & Protection page's styles are self-contained. */
.np-eyebrow {
  display: inline-block;
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 6px;
  background: var(--brand-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.np-lead {
  font-size: 16px;
  line-height: 1.65;
  margin: 6px 0 22px;
  color: var(--fog-200);
}

.section.light .np-lead {
  color: var(--ink-700);
}

/* adaptive card grid */
.np-card {
  height: 100%;
  border-radius: 18px;
  padding: 26px 24px;
  border: 1px solid var(--steel-600);
  background: var(--asphalt-800);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.np-card:hover {
  transform: translateY(-5px);
  border-color: rgba(139, 92, 246, 0.42);
  box-shadow: 0 28px 56px -34px rgba(0, 0, 0, 0.6);
}

.np-card h3 {
  font-size: 18px;
  color: var(--white-100);
  margin: 0 0 10px;
}

.np-card p {
  font-size: 14px;
  color: var(--fog-200);
  line-height: 1.6;
  margin: 0;
}

.section.light .np-card {
  background: var(--white-100);
  border-color: #eae5db;
}

.section.light .np-card:hover {
  border-color: rgba(255, 93, 143, 0.4);
  box-shadow: 0 28px 56px -34px rgba(0, 0, 0, 0.3);
}

.section.light .np-card h3 {
  color: var(--ink-900);
}

.section.light .np-card p {
  color: var(--ink-700);
}

/* checklist */
.np-check {
  list-style: none;
  margin: 0;
  padding: 0;
}

.np-check li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 8px 0;
  font-size: 15px;
  color: var(--fog-200);
}

.section.light .np-check li {
  color: var(--ink-900);
}

.np-check svg {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  margin-top: 2px;
  color: #34d399;
}

.np-fine {
  font-size: 11.5px;
  font-style: italic;
  margin-top: 16px;
  color: var(--fog-300);
}

.section.light .np-fine {
  color: var(--ink-700);
  opacity: 0.8;
}

/* framed product screenshot */
.np-shot {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 18px;
  border: 1px solid var(--steel-600);
  box-shadow: 0 44px 88px -46px rgba(0, 0, 0, 0.7);
}

.section.light .np-shot {
  border-color: #e4ddcf;
  box-shadow: 0 40px 80px -46px rgba(29, 26, 21, 0.3);
}

/* Trafalgar badge */
.np-traf {
  display: flex;
  align-items: center;
  gap: 20px;
  max-width: 780px;
  margin: 0 auto 44px;
  background: var(--white-100);
  border: 1px solid #eae5db;
  border-radius: 18px;
  padding: 22px 26px;
  box-shadow: 0 24px 50px -40px rgba(0, 0, 0, 0.25);
}

.np-traf-icon {
  flex-shrink: 0;
  width: 60px;
  height: 60px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 18px;
  color: var(--white-100);
  background: var(--brand-gradient);
}

.np-traf .np-traf-h {
  font-size: 17px;
  color: var(--ink-900);
  margin: 0 0 6px;
}

.np-traf p {
  font-size: 14px;
  color: var(--ink-700);
  line-height: 1.6;
  margin: 0;
}

/* F&I product grid */
.np-fi {
  height: 100%;
  text-align: center;
  background: var(--white-100);
  border: 1px solid #eae5db;
  border-radius: 16px;
  padding: 24px 14px;
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.np-fi:hover {
  transform: translateY(-5px);
  border-color: var(--c);
  box-shadow: 0 22px 46px -32px rgba(0, 0, 0, 0.3);
}

.np-fi-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border-radius: 12px;
  font-size: 18px;
  color: var(--c);
  background: color-mix(in srgb, var(--c) 14%, transparent);
  margin-bottom: 12px;
}

.np-fi h3 {
  font-size: 14px;
  color: var(--ink-900);
  margin: 0;
  line-height: 1.35;
}

/* partner strip */
.np-partners {
  text-align: center;
}

.np-partners-label {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink-700);
  margin-bottom: 20px;
}

.np-partners-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
}

.np-pill {
  font-size: 13px;
  font-weight: 600;
  color: var(--ink-900);
  background: var(--white-100);
  border: 1px solid #eae5db;
  border-radius: 999px;
  padding: 10px 18px;
}

/* reveal for np grids */
.np-grid.js-reveal.is-in > [class*=col-], .np-fi-grid.js-reveal.is-in > [class*=col-] {
  animation: tkiUp 0.5s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.np-grid.js-reveal.is-in > [class*=col-]:nth-child(2), .np-fi-grid.js-reveal.is-in > [class*=col-]:nth-child(2) {
  animation-delay: 0.06s;
}

.np-grid.js-reveal.is-in > [class*=col-]:nth-child(3), .np-fi-grid.js-reveal.is-in > [class*=col-]:nth-child(3) {
  animation-delay: 0.12s;
}

@media (prefers-reduced-motion: reduce) {
  .np-grid > [class*=col-], .np-fi-grid > [class*=col-] {
    animation: none !important;
  }
}
/* Page styles for Compliance */
/* Note: np-eyebrow / np-lead / np-card / np-check and the reveal grid are
   shared with the other new product pages (also defined in their partials);
   kept here so the Compliance page's styles are self-contained. */
.np-eyebrow {
  display: inline-block;
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 6px;
  background: var(--brand-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.np-lead {
  font-size: 16px;
  line-height: 1.65;
  margin: 6px 0 22px;
  color: var(--fog-200);
}

.section.light .np-lead {
  color: var(--ink-700);
}

/* adaptive card grid */
.np-card {
  height: 100%;
  border-radius: 18px;
  padding: 26px 24px;
  border: 1px solid var(--steel-600);
  background: var(--asphalt-800);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.np-card:hover {
  transform: translateY(-5px);
  border-color: rgba(139, 92, 246, 0.42);
  box-shadow: 0 28px 56px -34px rgba(0, 0, 0, 0.6);
}

.np-card h3 {
  font-size: 18px;
  color: var(--white-100);
  margin: 0 0 10px;
}

.np-card p {
  font-size: 14px;
  color: var(--fog-200);
  line-height: 1.6;
  margin: 0;
}

.section.light .np-card {
  background: var(--white-100);
  border-color: #eae5db;
}

.section.light .np-card:hover {
  border-color: rgba(255, 93, 143, 0.4);
  box-shadow: 0 28px 56px -34px rgba(0, 0, 0, 0.3);
}

.section.light .np-card h3 {
  color: var(--ink-900);
}

.section.light .np-card p {
  color: var(--ink-700);
}

/* checklist */
.np-check {
  list-style: none;
  margin: 0;
  padding: 0;
}

.np-check li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 8px 0;
  font-size: 15px;
  color: var(--fog-200);
}

.section.light .np-check li {
  color: var(--ink-900);
}

.np-check svg {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  margin-top: 2px;
  color: #34d399;
}

/* audit mock */
.np-audit {
  background: var(--white-100);
  border: 1px solid #eae5db;
  border-radius: 18px;
  padding: 22px;
  box-shadow: 0 34px 68px -44px rgba(0, 0, 0, 0.28);
}

.np-audit-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
  font-weight: 700;
  color: #161a23;
  margin-bottom: 14px;
}

.np-audit-live {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #2f9e5a;
  font-size: 12px;
  font-weight: 700;
}

.np-audit-live i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #22c55e;
  box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.18);
}

.np-audit-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 13px 14px;
  border-radius: 10px;
  background: #f7f8fb;
  margin-bottom: 9px;
  font-size: 13px;
  color: #1c2130;
}

.np-audit-row:last-child {
  margin-bottom: 0;
}

.np-audit-flag {
  font-size: 11px;
  font-weight: 800;
  padding: 4px 10px;
  border-radius: 999px;
  white-space: nowrap;
}

.np-audit-flag.clear {
  color: #2f9e5a;
  background: rgba(47, 158, 90, 0.12);
}

.np-audit-flag.review {
  color: #c47e12;
  background: rgba(224, 147, 42, 0.16);
}

.np-audit-flag.human {
  color: #4f7fe0;
  background: rgba(91, 141, 255, 0.16);
}

/* reveal for np grid */
.np-grid.js-reveal.is-in > [class*=col-] {
  animation: tkiUp 0.5s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.np-grid.js-reveal.is-in > [class*=col-]:nth-child(2) {
  animation-delay: 0.06s;
}

.np-grid.js-reveal.is-in > [class*=col-]:nth-child(3) {
  animation-delay: 0.12s;
}

@media (prefers-reduced-motion: reduce) {
  .np-grid > [class*=col-] {
    animation: none !important;
  }
}
/* Page styles for What's New */
/* What's New feature grid */
.np-feat {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  background: var(--white-100);
  border: 1px solid #eae5db;
  border-radius: 18px;
  padding: 26px 24px 24px;
  text-decoration: none;
  overflow: hidden;
  transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
}

.np-feat::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--c), color-mix(in srgb, var(--c) 10%, transparent));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}

.np-feat:hover {
  transform: translateY(-6px);
  border-color: color-mix(in srgb, var(--c) 45%, #eae5db);
  box-shadow: 0 26px 54px -32px color-mix(in srgb, var(--c) 32%, rgba(0, 0, 0, 0.35));
}

.np-feat:hover::before {
  transform: scaleX(1);
}

.np-feat-tag {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--ink-900);
  background: color-mix(in srgb, var(--c) 9%, #fff);
  border: 1px solid color-mix(in srgb, var(--c) 26%, #fff);
  padding: 6px 12px 6px 10px;
  border-radius: 999px;
  margin-bottom: 15px;
}

.np-feat-tag::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--c);
  flex: 0 0 auto;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--c) 16%, transparent);
}

.np-feat h3 {
  font-size: 18px;
  font-weight: 700;
  color: var(--ink-900);
  margin: 0 0 8px;
}

.np-feat p {
  font-size: 13.5px;
  color: var(--ink-700);
  line-height: 1.6;
  margin: 0 0 16px;
}

.np-feat-link {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: 0.02em;
  color: var(--c);
}

.np-feat-link .np-feat-arrow {
  display: inline-block;
  transition: transform 0.22s ease;
}

.np-feat:hover .np-feat-link .np-feat-arrow {
  transform: translateX(4px);
}

/* reveal for np feature grid */
.np-feat-grid.js-reveal.is-in > [class*=col-] {
  animation: tkiUp 0.5s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.np-feat-grid.js-reveal.is-in > [class*=col-]:nth-child(2) {
  animation-delay: 0.06s;
}

.np-feat-grid.js-reveal.is-in > [class*=col-]:nth-child(3) {
  animation-delay: 0.12s;
}

@media (prefers-reduced-motion: reduce) {
  .np-feat-grid > [class*=col-] {
    animation: none !important;
  }
}
/* Page styles for True Cost calculator */
/* Note: np-card and the reveal grid are shared with the other new product
   pages (also defined in their partials); kept here so the True Cost page's
   styles are self-contained. */
/* adaptive card grid */
.np-card {
  height: 100%;
  border-radius: 18px;
  padding: 26px 24px;
  border: 1px solid var(--steel-600);
  background: var(--asphalt-800);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.np-card:hover {
  transform: translateY(-5px);
  border-color: rgba(139, 92, 246, 0.42);
  box-shadow: 0 28px 56px -34px rgba(0, 0, 0, 0.6);
}

.np-card h3 {
  font-size: 18px;
  color: var(--white-100);
  margin: 0 0 10px;
}

.np-card p {
  font-size: 14px;
  color: var(--fog-200);
  line-height: 1.6;
  margin: 0;
}

.section.light .np-card {
  background: var(--white-100);
  border-color: #eae5db;
}

.section.light .np-card:hover {
  border-color: rgba(255, 93, 143, 0.4);
  box-shadow: 0 28px 56px -34px rgba(0, 0, 0, 0.3);
}

.section.light .np-card h3 {
  color: var(--ink-900);
}

.section.light .np-card p {
  color: var(--ink-700);
}

/* True Cost calculator */
.np-calc-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid var(--steel-600);
  border-radius: 12px;
  padding: 16px 18px;
  margin-bottom: 12px;
}

.np-calc-row label {
  font-size: 14px;
  color: var(--white-100);
  font-weight: 600;
}

.np-calc-row label span {
  display: block;
  font-size: 11px;
  color: var(--fog-300);
  font-weight: 400;
  margin-top: 3px;
  max-width: 280px;
}

.np-calc-row input {
  flex-shrink: 0;
  width: 82px;
  background: var(--asphalt-950);
  border: 1px solid var(--steel-600);
  border-radius: 8px;
  color: var(--white-100);
  padding: 10px 12px;
  font-size: 14px;
  text-align: center;
}

.np-calc-summary {
  background: var(--asphalt-800);
  border: 1px solid var(--steel-600);
  border-radius: 20px;
  padding: 28px;
  box-shadow: 0 40px 80px -44px rgba(0, 0, 0, 0.6);
}

.np-calc-label {
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--fog-300);
  margin-bottom: 14px;
}

.np-calc-sub {
  font-size: 13px;
  color: var(--fog-300);
  margin-bottom: 4px;
}

.np-calc-big {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 40px;
  line-height: 1;
  color: var(--white-100);
}

.np-calc-line {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--steel-600);
}

.np-calc-line span {
  font-size: 13px;
  color: var(--fog-300);
}

.np-calc-line b {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 22px;
  color: var(--white-100);
}

.np-calc-line b.pink {
  color: var(--pink-500);
}

.np-calc-fine {
  font-size: 11.5px;
  color: var(--fog-300);
  margin-top: 16px;
  line-height: 1.5;
}

/* reveal for np grid */
.np-grid.js-reveal.is-in > [class*=col-] {
  animation: tkiUp 0.5s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.np-grid.js-reveal.is-in > [class*=col-]:nth-child(2) {
  animation-delay: 0.06s;
}

.np-grid.js-reveal.is-in > [class*=col-]:nth-child(3) {
  animation-delay: 0.12s;
}

@media (prefers-reduced-motion: reduce) {
  .np-grid > [class*=col-] {
    animation: none !important;
  }
}

/*# sourceMappingURL=main.css.map */
