/* ============================================================
   PaioClaw Landing Page — Raycast Variant
   Mirrors the React/Tailwind source at /var/www/purebox
   ============================================================ */

/* ── Fonts ─────────────────────────────────────────────────── */
@font-face {
  font-family: 'ClashDisplay';
  src: url('../fonts/ClashDisplay-400.woff2') format('woff2');
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: 'ClashDisplay';
  src: url('../fonts/ClashDisplay-500.woff2') format('woff2');
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: 'ClashDisplay';
  src: url('../fonts/ClashDisplay-600.woff2') format('woff2');
  font-weight: 600;
  font-display: swap;
}
@font-face {
  font-family: 'ClashDisplay';
  src: url('../fonts/ClashDisplay-700.woff2') format('woff2');
  font-weight: 700;
  font-display: swap;
}

/*
 * Plus Jakarta Sans — the typeface paioclaw.ai actually renders for headings
 * (its "Psionic" family falls back to Plus Jakarta Sans). Used as the heading
 * font here so headings match the reference weight/shape instead of the much
 * heavier Clash Display. Variable font covers the 200–800 range.
 */
@font-face {
  font-family: 'Plus Jakarta Sans';
  src: url('../fonts/PlusJakartaSans-VariableFont_wght.woff2') format('woff2-variations');
  font-weight: 200 800;
  font-style: normal;
  font-display: swap;
}

/* ── CSS Variables ──────────────────────────────────────────── */
:root,
.paio-landing {
  --rc-bg:           #0A0A0A;
  --rc-bg-card:      #141414;
  --rc-bg-card-alt:  #1C1C1C;
  --rc-accent:       #FF8C2A;
  --rc-accent-red:   #FF4D4D;
  --rc-cream:        #FBF9EC;
  --rc-muted:        #ACA994;
  --rc-muted2:       #CAC8BC;
  --rc-border:       rgba(255,255,255,0.08);
  --rc-border-orange:rgba(255,140,42,0.3);
  --rc-font-clash:   'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
  /* Logo/brand name uses Clash Display. */
  --rc-font-logo:    'Clash Display', sans-serif;
  --rc-font-satoshi: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;

  /* Interaction transition tokens — mirror the live paioclaw.ai (Tailwind) values.
     Live buttons/links use one of two property lists with the Tailwind default
     easing, kept in three duration groups (0.15s / 0.2s / 0.3s). See
     diff-output/report-home.json §3. Property list + timing only; colours,
     shadows and transforms are unchanged. */
  --rc-ease-tw:      cubic-bezier(0.4, 0, 0.2, 1);
  --rc-colors-props: color, background-color, border-color, text-decoration-color, fill, stroke;
  /* transition-colors @ 0.15s / 0.3s (Tailwind `transition-colors duration-*`) */
  --rc-tr-colors-150: var(--rc-colors-props) 0.15s var(--rc-ease-tw);
  --rc-tr-colors-300: var(--rc-colors-props) 0.3s var(--rc-ease-tw);
  /* transition-all @ 0.2s (ease) / 0.3s (Tailwind ease) */
  --rc-tr-all-200: all 0.2s ease;
  --rc-tr-all-300: all 0.3s var(--rc-ease-tw);
}

/* ── Page wrapper ───────────────────────────────────────────── */
body.page-id-314 {
  background-color: var(--rc-bg);
  /* Base inherited body text color matches the live reference (#f2f2f2 /
     rgb(242,242,242)). --rc-cream (#FBF9EC) stays reserved for intentional
     accent text (headings, gradients) and is applied by more specific rules. */
  color: #f2f2f2;
  font-family: var(--rc-font-satoshi);
}

/* Clip horizontal overflow on the page wrapper, NOT on <body>.
   Setting overflow-x on <body> forces overflow-y to compute to `auto`
   (CSS spec: a non-visible value on one axis makes the other `auto`),
   which turns <body> into the scroll container and breaks the
   position:sticky scroll math the Super Claws mask-reveal relies on
   (the document stops scrolling past the body's content height, so the
   pinned track is never traversed and the animation freezes). Clipping
   at .wp-site-blocks keeps html/body overflow:visible so the window
   scrolls normally and sticky pins against the viewport. */
body.page-id-314 .wp-site-blocks {
  overflow-x: clip;
}

/* Remove WP default content padding on landing page and tutorial page */
body.page-id-314 .wp-site-blocks,
body.page-id-314 .entry-content,
body.page-id-314 main,
body.page-id-397 .wp-site-blocks,
body.page-id-397 .entry-content,
body.page-id-397 main {
  padding-top: 0;
  padding-bottom: 0;
}

/* Remove WP default margins on the landing page */
.page-template-no-header-footer .wp-site-blocks,
.page-template-no-header-footer .entry-content {
  padding: 0;
  margin: 0;
}

/* ── Grid background (hero area) ────────────────────────────── */
.rc-grid-bg {
  position: absolute;
  inset: 0;
  height: 100vh;
  pointer-events: none;
  z-index: 0;
}
.rc-grid-bg::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(to right, hsl(0 0% 100% / 0.04) 1px, transparent 1px),
    linear-gradient(to bottom, hsl(0 0% 100% / 0.04) 1px, transparent 1px);
  background-size: 120px 120px;
  -webkit-mask-image: radial-gradient(ellipse 60% 50% at 50% 40%, black 20%, transparent 70%);
  mask-image: radial-gradient(ellipse 60% 50% at 50% 40%, black 20%, transparent 70%);
}

/* ── Hero section ───────────────────────────────────────────── */
.rc-hero-section {
  position: relative !important;
  min-height: 85vh;
  width: 100% !important;
  max-width: none !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  /* Matches live paioclaw.ai Tailwind classes exactly:
     pt-32 sm:pt-40 lg:pt-52, pb-16 sm:pb-24 lg:pb-28, px-4 sm:px-6, min-h-[85vh]. */
  padding: 8rem 1rem 4rem;
  /* Live hero has no top margin; WP's post-content block-gap injects 20px
     between the grid-bg div and the hero, so zero it explicitly. */
  margin-top: 0 !important;
}
@media (min-width: 640px) { .rc-hero-section { padding: 10rem 1.5rem 6rem; } }
@media (min-width: 1024px) { .rc-hero-section { padding-top: 13rem; padding-bottom: 7rem; } }
.rc-hero-content {
  position: relative;
  z-index: 10;
  text-align: center;
  max-width: 48rem;
  width: 100%;
  margin: 0 auto;
}
.rc-hero-content .rc-hero-subtext,
.rc-hero-section .rc-hero-subtext {
  /* 40rem (~640px) lets the subtext wrap to 2 lines like live paioclaw.ai */
  max-width: 40rem !important;
  margin-left: auto !important;
  margin-right: auto !important;
  color: rgba(255,255,255,0.5) !important;
}
.rc-hero-ctas {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}
.rc-btn-lg {
  padding: 0.875rem 2rem;
  font-size: 1rem;
  border-radius: 0.625rem;
}
.rc-btn-dark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0px 1.5rem;
  height: 2.75rem;
  border-radius: 0.75rem;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.12);
  color: var(--rc-cream);
  font-family: var(--rc-font-satoshi);
  font-size: 0.9375rem;
  font-weight: 500;
  text-decoration: none;
  transition: var(--rc-tr-colors-150);
}
.rc-btn-dark:hover {
  background: rgba(255,255,255,0.13);
  border-color: rgba(255,255,255,0.2);
}
/* Solid white CTA (Fold 05 "Create Your First Claw") — feedback: solid white button */
.rc-btn-white {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0px 1.5rem;
  height: 2.75rem;
  border-radius: 0.75rem;
  background: #ffffff;
  border: 1px solid #ffffff;
  color: #0d0d0d;
  font-family: var(--rc-font-satoshi);
  font-size: 0.9375rem;
  font-weight: 600;
  text-decoration: none;
  transition: var(--rc-tr-colors-150);
}
.rc-btn-white:hover {
  background: rgba(255,255,255,0.88);
  border-color: rgba(255,255,255,0.88);
}
/* Pricing plan CTAs use transition-all @ 0.3s on live (not the colours list). */
.rc-plan-card .rc-btn-dark {
  transition: var(--rc-tr-all-300);
}

/* Floating avatars (brand character renders in glassy bubbles) */
.rc-avatar {
  position: absolute !important;
  border-radius: 50% !important;
  overflow: hidden;
  pointer-events: none;
  animation: rc-float 3s ease-in-out infinite;
  background: linear-gradient(165deg, hsl(24 18% 16% / 0.88) 0%, hsl(22 16% 12% / 0.90) 38%, hsl(18 14% 9% / 0.92) 68%, hsl(0 0% 5% / 0.95) 100%);
  -webkit-backdrop-filter: blur(40px) saturate(1.2);
  backdrop-filter: blur(40px) saturate(1.2);
  border: 1px solid hsl(27 100% 58% / 0.3);
  box-shadow: inset 0 1px 0 0 hsl(0 0% 100% / 0.12),
              0 8px 24px rgba(0,0,0,0.4),
              0 0 12px hsl(27 100% 58% / 0.08);
  transition: transform 0.2s ease-out;
}
.rc-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}
/* Left column — 3 avatars (positions match live paioclaw.ai hero) */
.rc-avatar--1 { width: 62px; height: 62px; top: 27%; left: 8%;  animation-delay: 0s; }
.rc-avatar--2 { width: 70px; height: 70px; top: 51%; left: 16%; animation-delay: 1.2s; }
.rc-avatar--3 { width: 65px; height: 65px; top: 74%; left: 5%;  animation-delay: 2.4s; }
/* Right column — 3 avatars */
.rc-avatar--4 { width: 60px; height: 60px; top: 22%; right: 16%; animation-delay: 0.6s; }
.rc-avatar--5 { width: 66px; height: 66px; top: 50%; right: 9%;  animation-delay: 1.8s; }
.rc-avatar--6 { width: 64px; height: 64px; top: 71%; right: 14%; animation-delay: 3s; }
@media (max-width: 767px) { .rc-avatar { display: none; } }

/* ── Concentric orbit rings (decorative, behind avatars) ────── */
.rc-hero-rings {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  overflow: hidden;
}
.rc-ring {
  position: absolute;
  border-radius: 50%;
  display: block;
}
/* Left cluster */
.rc-ring--l1 { width: 420px; height: 420px; top: 10%;  left: 2%;  border: 0.8px solid rgba(255,255,255,0.06); }
.rc-ring--l2 { width: 320px; height: 320px; top: 22%;  left: 6%;  border: 0.8px solid rgba(255,255,255,0.05); }
/* Right cluster */
.rc-ring--r1 { width: 480px; height: 480px; top: 5%;   right: 2%;  border: 0.8px solid rgba(255,255,255,0.06); }
.rc-ring--r2 { width: 360px; height: 360px; top: 18%;  right: 6%;  border: 0.8px solid rgba(255,255,255,0.05); }
@media (max-width: 1023px) { .rc-hero-rings { display: none; } }

/* ── Featured-in logo band + "see full comparison" CTA (Alternatives hero) ── */
.rc-featured-band {
  margin-top: 5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
.rc-featured-label {
  font-family: var(--rc-font-satoshi);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.25);
}
.rc-featured-logos {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  column-gap: 3rem;
  row-gap: 1rem;
}
.rc-featured-logo {
  width: auto;
  opacity: 0.35;
  filter: invert(1) grayscale(100%);
  transition: opacity 0.2s;
}
.rc-featured-logo:hover { opacity: 0.55; }
.rc-see-comparison-btn {
  margin-top: 3rem;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  border-radius: 999px;
  border: 1px solid rgba(255,140,42,0.25);
  background: transparent;
  font-family: var(--rc-font-satoshi);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #FF8C2A;
  text-decoration: none;
  transition: all 0.2s;
}
.rc-see-comparison-btn:hover {
  background: rgba(255,140,42,0.08);
  border-color: rgba(255,140,42,0.5);
  color: #FFAA44;
}
.rc-see-comparison-arrow {
  display: inline-block;
  animation: rc-bounce 1s infinite;
}
@keyframes rc-bounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(25%); }
}

/* ── Orange glow (fixed, behind everything) ─────────────────── */
.rc-glow-fixed {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  /* Matches live paioclaw.ai hero glow: single soft radial bloom, ellipse at top-center. */
  background: radial-gradient(ellipse at 50% 0%, rgba(255,140,42,0.12) 0%, rgba(0,0,0,0) 60%);
}

/* ── Navbar ─────────────────────────────────────────────────── */
.rc-nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 1.5rem;
  height: 56px;
  transition: background 0.3s, border-color 0.3s;
  background: transparent;
}
.rc-nav.scrolled {
  background: rgba(10,10,10,0.85);
  border-bottom: 1px solid rgba(255,255,255,0.06);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
}
.rc-nav-logo {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  text-decoration: none;
}
.rc-nav-logo img {
  width: 32px;
  height: 32px;
}
.rc-nav-logo span {
  font-family: var(--rc-font-logo);
  font-weight: 700;
  font-size: 1.1rem;
  background: linear-gradient(180deg, #FBF9EC 0%, #E8D2B2 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.rc-nav-links {
  display: flex;
  align-items: center;
  gap: 1.75rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.rc-nav-links a {
  font-family: var(--rc-font-satoshi);
  font-size: 0.875rem;
  color: var(--rc-muted);
  text-decoration: none;
  transition: var(--rc-tr-colors-150);
}
.rc-nav-links a:hover { color: var(--rc-cream); }
.rc-nav-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.5rem 1rem;
  border-radius: 0.625rem;
  font-family: var(--rc-font-satoshi);
  font-size: 0.875rem;
  font-weight: 600;
  background: var(--rc-accent);
  color: #1A0A00;
  text-decoration: none;
  transition: var(--rc-tr-all-200);
}
.rc-nav-cta:hover { opacity: 0.9; transform: scale(1.02); }
.rc-nav-mobile-btn {
  display: none;
  background: none;
  border: none;
  color: var(--rc-cream);
  cursor: pointer;
  padding: 0.25rem;
}
@media (max-width: 767px) {
  .rc-nav-links { display: none; }
  .rc-nav-mobile-btn { display: flex; }
}
.rc-nav-mobile-menu {
  display: none;
  position: fixed;
  inset: 0;
  top: 56px;
  background: rgba(10,10,10,0.97);
  z-index: 99;
  padding: 2rem 1.5rem;
  flex-direction: column;
  gap: 1.5rem;
}
.rc-nav-mobile-menu.open { display: flex; }
.rc-nav-mobile-menu a {
  font-family: var(--rc-font-satoshi);
  font-size: 1.125rem;
  color: var(--rc-muted);
  text-decoration: none;
}

/* ── Section label pill ─────────────────────────────────────── */
.rc-pill {
  display: inline-flex;
  align-items: center;
  padding: 0.375rem 1rem;
  border-radius: 9999px;
  border: 1px solid rgba(255,140,42,0.25);
  background: rgba(255,140,42,0.08);
  font-family: var(--rc-font-satoshi);
  font-size: 0.75rem;
  font-weight: 500;
  color: #FFAA44;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

/* ── Headings ────────────────────────────────────────────────── */
.rc-h1 {
  font-family: var(--rc-font-clash);
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.08;
  color: var(--rc-cream);
}
.rc-h2 {
  font-family: var(--rc-font-clash);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.15;
  color: var(--rc-cream);
}

/* ── Text gradient (raycast-text-gradient) ───────────────────── */
.rc-text-gradient,
.raycast-text-gradient {
  background-image: linear-gradient(180deg, #ffffff 0%, #E8E4DF 50%, #C4B5A3 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  display: block;
}

/* ── Animated gradient heading (hero) ───────────────────────── */
@keyframes rc-gradient-shift {
  0%,100% { background-position: 0% 50%; }
  50%      { background-position: 100% 50%; }
}
.rc-gradient-heading {
  background: linear-gradient(90deg, #32BBA7, #C7161B, #F5E0D0, #C7161B, #32BBA7);
  background-size: 300% auto;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: rc-gradient-shift 6s ease infinite;
}

/* ── Animated border pill (hero) ────────────────────────────── */
@property --border-angle {
  syntax: '<angle>';
  initial-value: 0deg;
  inherits: false;
}
@keyframes rc-rotate-border {
  from { --border-angle: 0deg; }
  to   { --border-angle: 360deg; }
}
.rc-animated-border-pill {
  --border-angle: 0deg;
  animation: rc-rotate-border 10s linear infinite;
  background:
    conic-gradient(from var(--border-angle),
      hsl(30 60% 25% / 0.15) 0%,
      hsl(30 60% 25% / 0.15) 44%,
      hsl(30 100% 50% / 0.7) 49%,
      hsl(35 100% 55% / 0.8) 51%,
      hsl(30 100% 50% / 0.7) 53%,
      hsl(30 60% 25% / 0.15) 58%,
      hsl(30 60% 25% / 0.15) 100%
    );
  border-radius: 9999px;
  padding: 1px;
  position: relative;
  display: inline-flex;
}
.rc-animated-border-inner {
  border-radius: 9999px;
  padding: 0.5rem 1.25rem;
  display: flex;
  align-items: center;
  gap: 0.625rem;
  background: linear-gradient(135deg, hsl(25 50% 12%) 0%, hsl(30 45% 15%) 100%);
}
.rc-animated-border-inner img {
  height: 1rem;
  width: auto;
}
.rc-animated-border-inner span {
  font-family: var(--rc-font-satoshi);
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #e8c9a8;
}

/* ── Central hero brand logo ─────────────────────────────────── */
.rc-hero-brand-logo {
  position: relative;
  display: flex;
  justify-content: center;
  margin-bottom: 1.5rem;
}
.rc-hero-brand-logo img {
  position: relative;
  z-index: 1;
  width: 96px;
  height: 96px;
  object-fit: contain;
  filter: drop-shadow(0 0 15px rgba(255, 77, 77, 0.3));
}
@media (min-width: 640px) {
  .rc-hero-brand-logo img { width: 128px; height: 128px; }
}
.rc-hero-brand-glow {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}
.rc-hero-brand-glow--1 {
  inset: 0;
  background: rgba(255, 77, 77, 0.05);
  filter: blur(1.25rem);
  transform: scale(1.5);
}
.rc-hero-brand-glow--2 {
  inset: 0;
  background: rgba(255, 77, 77, 0.03);
  filter: blur(2rem);
  transform: scale(2);
}

/* ── Hero lobster logo float animation ───────────────────────── */
@keyframes rc-float {
  0%,100% { transform: translateY(0px); }
  50%     { transform: translateY(-12px); }
}
.rc-float { animation: rc-float 3s ease-in-out infinite; }

/* ── CTA button — orange gradient ───────────────────────────── */
.rc-btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0px 1.5rem;
  height: 2.75rem;
  border-radius: 0.75rem;
  font-family: var(--rc-font-satoshi);
  font-size: 1rem;
  font-weight: 600;
  background: linear-gradient(135deg, #FF6B00, #FF8C2A, #FFAA44);
  color: #1A0A00;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: var(--rc-tr-all-200);
}
.rc-btn-primary:hover {
  background: linear-gradient(135deg, #FF7A1A, #FF9940, #FFB85C);
  box-shadow: rgba(255,120,0,0.4) 0px 4px 20px;
}
/* Solution-section CTA uses transition-colors @ 0.15s on live. */
.rc-solution-card .rc-btn-primary {
  transition: var(--rc-tr-colors-150);
}

/* ── CTA button — dark border animated ──────────────────────── */
@keyframes rc-border-gradient {
  0%,100% { background-position: 0% 50%; }
  50%      { background-position: 100% 50%; }
}
.rc-btn-outline-animated {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.625rem;
  padding: 0.8125rem 2rem;
  border-radius: 0.75rem;
  font-family: var(--rc-font-satoshi);
  font-size: 1rem;
  font-weight: 600;
  color: var(--rc-cream);
  background-color: var(--rc-bg);
  border: 2px solid transparent;
  background-image:
    linear-gradient(var(--rc-bg), var(--rc-bg)),
    linear-gradient(90deg, #FFFFFF, #FFF4E3, #FE6C22, #FFF4E3, #FFFFFF);
  background-origin: border-box;
  background-clip: padding-box, border-box;
  background-size: 100% 100%, 300% 100%;
  animation: rc-border-gradient 14s ease infinite;
  box-shadow: 0 0 20px rgba(254,108,34,0.4), 0 0 40px rgba(254,108,34,0.2);
  text-decoration: none;
  cursor: pointer;
  transition: transform 0.2s;
  white-space: nowrap;
}
.rc-btn-outline-animated:hover { transform: scale(1.02); }

/* ── Ghost / secondary button ───────────────────────────────── */
.rc-btn-ghost {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.25rem;
  border-radius: 0.75rem;
  font-family: var(--rc-font-satoshi);
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--rc-muted2);
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.1);
  text-decoration: none;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
}
.rc-btn-ghost:hover { background: rgba(255,255,255,0.1); color: var(--rc-cream); }

/* ── Card ────────────────────────────────────────────────────── */
.rc-card {
  background: var(--rc-bg-card);
  border: 1px solid var(--rc-border);
  border-radius: 1.25rem;
  transition: border-color 0.3s, box-shadow 0.3s;
}
.rc-card:hover {
  border-color: rgba(255,140,42,0.2);
  box-shadow: 0 0 24px rgba(255,140,42,0.06);
}

/* ── Star border (chat demo wrapper) ────────────────────────── */
.rc-star-border {
  position: relative;
  border-radius: 1rem;
  overflow: hidden;
}
.rc-star-border::before {
  content: '';
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  background: linear-gradient(135deg,
    rgba(255,255,255,0.12) 0%,
    rgba(255,255,255,0.04) 40%,
    rgba(255,140,42,0.3) 60%,
    rgba(255,255,255,0.04) 80%,
    rgba(255,255,255,0.12) 100%
  );
  z-index: 0;
}
.rc-star-border-inner {
  position: relative;
  z-index: 1;
  border-radius: inherit;
  background: hsl(0 0% 8%);
  overflow: hidden;
}

/* ── Marquee (integrations) ─────────────────────────────────── */
@keyframes rc-scroll-left {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
@keyframes rc-scroll-right {
  0%   { transform: translateX(-50%); }
  100% { transform: translateX(0); }
}
.rc-marquee-row {
  overflow: hidden;
  mask-image: linear-gradient(to right, transparent 0%, black 10%, black 90%, transparent 100%);
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black 10%, black 90%, transparent 100%);
}
.rc-marquee-track {
  display: flex;
  width: max-content;
}
.rc-marquee-track.scroll-left {
  animation: rc-scroll-left 30s linear infinite;
}
.rc-marquee-track.scroll-right {
  animation: rc-scroll-right 30s linear infinite;
}
.rc-marquee-row:hover .rc-marquee-track { animation-play-state: paused; }
.rc-integration-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.875rem;
  border-radius: 0.75rem;
  background: var(--rc-bg-card);
  border: 1px solid var(--rc-border);
  white-space: nowrap;
  margin: 0 0.375rem;
  font-family: var(--rc-font-satoshi);
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--rc-muted2);
}
.rc-integration-chip svg,
.rc-integration-chip img {
  width: 1.25rem;
  height: 1.25rem;
  flex-shrink: 0;
}

/* ── Comparison table ────────────────────────────────────────── */
.rc-comparison-table {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--rc-font-satoshi);
}
.rc-comparison-table th,
.rc-comparison-table td {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  font-size: 0.875rem;
}
.rc-comparison-table th {
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--rc-muted);
  font-weight: 500;
  text-align: center;
}
.rc-comparison-table th:first-child { text-align: left; }
.rc-comparison-table td { text-align: center; color: var(--rc-muted2); }
.rc-comparison-table td:first-child { text-align: left; font-weight: 500; color: var(--rc-cream); }
.rc-comparison-table tr:last-child td { border-bottom: none; }
.rc-comparison-table .col-paio { color: #FF8C2A; }
.rc-check { color: #FF8C2A; }
.rc-cross { color: rgba(172,169,148,0.25); }
.rc-hot-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.125rem 0.375rem;
  border-radius: 9999px;
  font-size: 0.65rem;
  font-weight: 600;
  background: rgba(255,140,42,0.15);
  color: #FF8C2A;
  border: 1px solid rgba(255,140,42,0.3);
  margin-left: 0.375rem;
  vertical-align: middle;
}

/* ── Agents section ──────────────────────────────────────────── */
.rc-agents-tabs {
  display: flex;
  border-bottom: 1px solid rgba(255,255,255,0.1);
  margin-bottom: 2rem;
}
.rc-agent-tab {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.625rem 1rem;
  font-family: var(--rc-font-satoshi);
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--rc-muted);
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  cursor: pointer;
  transition: color 0.2s;
  margin-bottom: -1px;
}
.rc-agent-tab.active {
  color: var(--rc-cream);
  border-bottom-color: #FF8C2A;
}
.rc-agent-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: none;
}
.rc-agent-img.active { display: block; }

/* ── Pricing ────────────────────────────────────────────────── */
.rc-billing-toggle {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem;
  border-radius: 9999px;
  border: 1px solid rgba(255,255,255,0.1);
  background: rgba(255,255,255,0.04);
}
.rc-billing-btn {
  position: relative;
  padding: 0 1.25rem;
  height: 2.25rem;
  border-radius: 9999px;
  font-family: var(--rc-font-satoshi);
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--rc-muted);
  background: none;
  border: none;
  cursor: pointer;
  transition: color 0.2s;
  z-index: 1;
}
.rc-billing-btn.active {
  color: #0A0A0A;
}
.rc-billing-slider {
  position: absolute;
  top: 0.25rem;
  height: 2.25rem;
  border-radius: 9999px;
  background: var(--rc-cream);
  transition: left 0.3s, width 0.3s;
  z-index: 0;
  pointer-events: none;
}
.rc-plan-card {
  display: flex;
  flex-direction: column;
  border-radius: 1.25rem;
  border: 1px solid var(--rc-border);
  background: linear-gradient(135deg, rgba(255,255,255,0.025) 0%, rgba(0,0,0,0.05) 50%, rgba(0,0,0,0.15) 100%);
  -webkit-backdrop-filter: blur(24px);
  backdrop-filter: blur(24px);
  overflow: hidden;
  transition: border-color 0.3s, box-shadow 0.3s;
}
.rc-plan-card.highlighted {
  border-color: rgba(255,140,42,0.3);
  background: linear-gradient(135deg, rgba(255,255,255,0.05) 0%, rgba(255,255,255,0.02) 50%, rgba(0,0,0,0.1) 100%);
  box-shadow: inset 0 1px 1px rgba(255,255,255,0.06), 0 8px 40px -12px rgba(0,0,0,0.5);
}
.rc-plan-card.highlighted:hover {
  box-shadow: inset 0 1px 1px rgba(255,140,42,0.12), 0 0 40px -18px rgba(255,140,42,0.35);
}
.rc-plan-body { padding: 1.75rem; display: flex; flex-direction: column; height: 100%; }
.rc-plan-name {
  font-family: var(--rc-font-clash);
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--rc-cream);
  margin: 0 0 0.375rem;
}
.rc-plan-tagline {
  font-family: var(--rc-font-satoshi);
  font-size: 0.875rem;
  color: var(--rc-muted);
  margin: 0 0 1.25rem;
  min-height: 3rem;
}
.rc-plan-price {
  display: flex;
  align-items: baseline;
  gap: 0.25rem;
  margin-bottom: 0.25rem;
}
.rc-plan-price-old {
  font-family: var(--rc-font-clash);
  font-size: 1.25rem;
  font-weight: 600;
  color: rgba(251,249,236,0.3);
  text-decoration: line-through;
}
.rc-plan-price-amount {
  font-family: var(--rc-font-clash);
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--rc-cream);
}
.rc-plan-price-period {
  font-family: var(--rc-font-satoshi);
  font-size: 0.875rem;
  color: var(--rc-muted);
}
.rc-plan-credits {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.25rem 0.625rem;
  border-radius: 9999px;
  border: 1px solid rgba(255,140,42,0.3);
  background: rgba(255,140,42,0.08);
  font-family: var(--rc-font-satoshi);
  font-size: 0.6875rem;
  font-weight: 600;
  color: #FFAA44;
  margin-bottom: 1.25rem;
}
.rc-plan-credits-dot {
  width: 0.375rem;
  height: 0.375rem;
  border-radius: 50%;
  background: #FF8C2A;
}
.rc-plan-credits-label {
  font-family: var(--rc-font-satoshi);
  font-size: 0.75rem;
  color: var(--rc-muted);
  margin-left: 0.5rem;
}
.rc-plan-btn {
  width: 100%;
  margin-bottom: 1.25rem;
  padding: 0.8125rem 1.5rem;
  border-radius: 0.75rem;
  font-family: var(--rc-font-satoshi);
  font-size: 0.9375rem;
  font-weight: 600;
  cursor: pointer;
  border: none;
  transition: transform 0.2s, opacity 0.2s;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}
.rc-plan-btn:hover { transform: scale(1.02); }
.rc-plan-btn.primary {
  background: linear-gradient(135deg, #FF8C2A 0%, #FF6B00 100%);
  color: #1A0A00;
  box-shadow: 0 4px 20px -4px rgba(255,140,42,0.4);
}
.rc-plan-btn.ghost {
  background: rgba(255,255,255,0.08);
  color: var(--rc-cream);
  border: 1px solid rgba(255,255,255,0.1);
}
.rc-plan-btn.ghost:hover { background: rgba(255,255,255,0.14); }
.rc-plan-features {
  padding: 1rem;
  border-radius: 1rem;
  border: 1px solid var(--rc-border);
  background: rgba(255,255,255,0.02);
  flex: 1;
}
.rc-plan-features-inherit {
  font-size: 0.75rem;
  color: rgba(172,169,148,0.7);
  font-family: var(--rc-font-satoshi);
  margin-bottom: 1rem;
  letter-spacing: 0.02em;
}
.rc-plan-feature-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-family: var(--rc-font-satoshi);
  font-size: 0.84375rem;
  color: var(--rc-muted2);
  margin-bottom: 0.75rem;
}
.rc-plan-feature-item:last-child { margin-bottom: 0; }
.rc-feature-check {
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.rc-feature-check.orange { background: rgba(255,140,42,0.15); }
.rc-feature-check.grey   { background: rgba(255,255,255,0.06); }

/* ── FAQ ────────────────────────────────────────────────────── */
.rc-faq-item {
  background: var(--rc-bg-card);
  border: 1px solid var(--rc-border);
  border-radius: 0.75rem;
  overflow: hidden;
  margin-bottom: 0.75rem;
  transition: border-color 0.3s;
}
.rc-faq-item.open { border-color: rgba(255,140,42,0.3); }
.rc-faq-item:hover { border-color: rgba(255,140,42,0.4); }
.rc-faq-btn {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.5rem 1.25rem;
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  gap: 1rem;
}
.rc-faq-question {
  font-family: var(--rc-font-satoshi);
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--rc-cream);
}
.rc-faq-icon {
  flex-shrink: 0;
  width: 1.125rem;
  height: 1.125rem;
  color: #FF8C2A;
  transition: transform 0.3s;
}
.rc-faq-item.open .rc-faq-icon { transform: rotate(45deg); }
.rc-faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.25s ease-out;
}
.rc-faq-item.open .rc-faq-answer { max-height: 200px; }
.rc-faq-answer-inner {
  padding: 0 1.25rem 1.125rem;
  font-family: var(--rc-font-satoshi);
  font-size: 0.875rem;
  color: var(--rc-muted);
  line-height: 1.6;
}

/* ── Bottom CTA pulsing glow ─────────────────────────────────── */
@keyframes rc-glow-breathe {
  0%,100% { opacity: 0.6; transform: scale(1); }
  50%      { opacity: 1;   transform: scale(1.15); }
}
@keyframes rc-ring-pulse {
  0%   { transform: translate(-50%,-50%) scale(1);   opacity: 0.5; }
  100% { transform: translate(-50%,-50%) scale(1.8); opacity: 0; }
}
@keyframes rc-cta-float {
  0%,100% { transform: translateY(0px); }
  50%     { transform: translateY(-6px); }
}
.rc-cta-glow-wrap {
  position: relative;
  width: 120px;
  height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 2rem;
}
.rc-cta-glow {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,140,42,0.4) 0%, transparent 70%);
  animation: rc-glow-breathe 3s ease-in-out infinite;
}
.rc-cta-ring {
  position: absolute;
  top: 50%; left: 50%;
  width: 110px; height: 110px;
  border-radius: 50%;
  border: 1px solid rgba(255,140,42,0.5);
  animation: rc-ring-pulse 3s ease-out infinite;
}
.rc-cta-ring:nth-child(3) { animation-delay: 1s; border-color: rgba(255,140,42,0.35); }
.rc-cta-ring:nth-child(4) { animation-delay: 2s; border-color: rgba(255,140,42,0.2); }
.rc-cta-logo {
  width: 5rem;
  height: 5rem;
  object-fit: contain;
  position: relative;
  z-index: 10;
  animation: rc-cta-float 3s ease-in-out infinite;
}

/* ── Chat demo ───────────────────────────────────────────────── */
.rc-chat-demo {
  display: flex;
  height: 100%;
  font-family: var(--rc-font-satoshi);
}
.rc-chat-sidebar {
  width: 200px;
  flex-shrink: 0;
  border-right: 1px solid rgba(255,255,255,0.06);
  background: hsl(0 0% 7%);
  padding: 1rem 0.75rem;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
@media (max-width: 639px) { .rc-chat-sidebar { display: none; } }
.rc-chat-tab {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.5rem 0.75rem;
  border-radius: 0.5rem;
  font-size: 0.8125rem;
  color: var(--rc-muted);
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
  border: none;
  background: none;
  width: 100%;
  text-align: left;
}
.rc-chat-tab.active {
  background: rgba(255,140,42,0.1);
  color: var(--rc-cream);
}
.rc-chat-tab:hover:not(.active) { background: rgba(255,255,255,0.04); }
.rc-chat-tab-dot {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  flex-shrink: 0;
}
.rc-chat-main {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.rc-chat-header {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.rc-chat-header-icon {
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background: rgba(255,140,42,0.15);
  border: 1px solid rgba(255,140,42,0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #FF8C2A;
  font-size: 0.875rem;
}
.rc-chat-header-title {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--rc-cream);
}
.rc-chat-header-sub {
  font-size: 0.75rem;
  color: var(--rc-muted);
}
.rc-chat-messages {
  flex: 1;
  overflow-y: auto;
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,0.1) transparent;
}
.rc-chat-bubble {
  max-width: 85%;
  padding: 0.75rem 1rem;
  border-radius: 0.75rem;
  font-size: 0.8125rem;
  line-height: 1.5;
}
.rc-chat-bubble.user {
  background: rgba(255,140,42,0.12);
  border: 1px solid rgba(255,140,42,0.2);
  color: var(--rc-cream);
  align-self: flex-end;
  border-bottom-right-radius: 0.25rem;
}
.rc-chat-bubble.assistant {
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.08);
  color: var(--rc-muted2);
  align-self: flex-start;
  border-bottom-left-radius: 0.25rem;
}
.rc-chat-bubble.typing::after {
  content: '▋';
  animation: rc-typing-cursor 1s step-end infinite;
}
@keyframes rc-typing-cursor {
  0%,100% { opacity: 1; }
  50%      { opacity: 0; }
}
.rc-chat-panel {
  display: none;
  flex-direction: column;
  gap: 1rem;
  animation: rc-fade-in 0.3s ease;
}
.rc-chat-panel.active { display: flex; }
@keyframes rc-fade-in {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}
.rc-chat-input-bar {
  padding: 0.875rem 1.25rem;
  border-top: 1px solid rgba(255,255,255,0.06);
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.rc-chat-input {
  flex: 1;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 0.5rem;
  padding: 0.5rem 0.875rem;
  font-family: var(--rc-font-satoshi);
  font-size: 0.8125rem;
  color: var(--rc-cream);
  outline: none;
}
.rc-chat-input::placeholder { color: var(--rc-muted); }
.rc-chat-send {
  width: 2rem;
  height: 2rem;
  border-radius: 0.5rem;
  background: rgba(255,140,42,0.15);
  border: 1px solid rgba(255,140,42,0.3);
  color: #FF8C2A;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
  transition: background 0.2s;
}
.rc-chat-send:hover { background: rgba(255,140,42,0.25); }

/* ── Testimonials marquee ────────────────────────────────────── */
.rc-testimonial-card {
  flex-shrink: 0;
  width: 280px;
  background: var(--rc-bg-card);
  border: 1px solid var(--rc-border);
  border-radius: 1rem;
  padding: 1rem 1.125rem;
  margin: 0 0.5rem;
}
.rc-testimonial-card-inner {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}
.rc-testimonial-avatar {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}
.rc-testimonial-text {
  font-size: 0.8125rem;
  color: var(--rc-muted);
  line-height: 1.5;
  margin: 0 0 0.5rem;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.rc-testimonial-author {
  font-size: 0.8125rem;
  font-weight: 500;
  color: #FF4D4D;
}

/* ── Keyboard/Steps section ──────────────────────────────────── */
.rc-steps-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
@media (max-width: 639px) {
  .rc-steps-grid { grid-template-columns: 1fr; }
}
.rc-step-card {
  background: var(--rc-bg-card);
  border: 1px solid var(--rc-border);
  border-radius: 1rem;
  padding: 1.5rem;
  text-align: center;
  transition: border-color 0.3s;
}
.rc-step-card:hover { border-color: rgba(255,140,42,0.3); }
.rc-step-number {
  font-family: var(--rc-font-clash);
  font-size: 2.5rem;
  font-weight: 700;
  color: rgba(255,140,42,0.2);
  line-height: 1;
  margin-bottom: 0.75rem;
}
.rc-step-number[data-step]::before {
  content: attr(data-step);
}
.rc-step-icon {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: rgba(255,140,42,0.1);
  border: 1px solid rgba(255,140,42,0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1rem;
  color: #FF8C2A;
}
.rc-step-title {
  font-family: var(--rc-font-clash);
  font-size: 1.0625rem;
  font-weight: 600;
  color: var(--rc-cream);
  margin: 0 0 0.5rem;
}
.rc-step-desc {
  font-family: var(--rc-font-satoshi);
  font-size: 0.875rem;
  color: var(--rc-muted);
  line-height: 1.6;
  margin: 0;
}

/* ── How it works (3 columns) ────────────────────────────────── */
.rc-how-icons-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin-bottom: 1.5rem;
}
@media (max-width: 639px) { .rc-how-icons-grid { grid-template-columns: 1fr; } }
.rc-how-icon-card {
  background: var(--rc-bg-card);
  border: 1px solid var(--rc-border);
  border-radius: 1rem;
  padding: 1.25rem 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  min-height: 80px;
}
.rc-how-icon-circle {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 50%;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.rc-how-icon-circle img,
.rc-how-icon-circle svg {
  width: 1.625rem;
  height: 1.625rem;
}

/* ── Footer community banner (added above WP footer) ─────────── */
.rc-community-banner {
  background: var(--rc-bg-card);
  border: 1px solid var(--rc-border);
  border-radius: 1rem 1rem 0 0;
  padding: 1.75rem 2rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  flex-wrap: wrap;
}
.rc-community-title {
  font-family: var(--rc-font-satoshi);
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--rc-cream);
  margin: 0 0 0.25rem;
}
.rc-community-sub {
  font-family: var(--rc-font-satoshi);
  font-size: 0.875rem;
  color: rgba(255,255,255,0.4);
  margin: 0;
}
.rc-community-btns {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
}
.rc-community-link {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.625rem 1rem;
  border-radius: 0.75rem;
  background: rgba(255,140,42,0.06);
  border: 1px solid rgba(255,140,42,0.4);
  font-family: var(--rc-font-satoshi);
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--rc-cream);
  text-decoration: none;
  transition: background 0.2s;
}
.rc-community-link:hover { background: rgba(255,140,42,0.12); color: var(--rc-cream); }
.rc-community-icon {
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ── Scroll highlight text ───────────────────────────────────── */
.rc-scroll-highlight {
  font-family: var(--rc-font-clash);
  font-size: clamp(1.5rem, 5vw, 3rem);
  font-weight: 700;
  line-height: 1.3;
  color: rgba(251,249,236,0.15);
  transition: color 0.3s;
}
.rc-scroll-highlight.highlighted { color: var(--rc-cream); }

/* ── Section spacing helpers ─────────────────────────────────── */
.rc-section {
  position: relative;
  z-index: 10;
  /* Match live paioclaw.ai: py-24 (6rem) vertical rhythm on every section */
  padding: 6rem 1.5rem;
  /* These sections render inside wp:html blocks, so they can't carry an
     align:full block attribute and would otherwise inherit the constrained
     content-width (~1152px) from .entry-content.is-layout-constrained, which
     adds ~144px auto side margins. Live renders them edge-to-edge, so break
     out of the constraint and drop the block-gap top margin (matches Hero). */
  max-width: none;
  margin-left: 0;
  margin-right: 0;
  margin-top: 0;
}
@media (max-width: 767px) { .rc-section { padding: 4rem 1rem; } }
.rc-section-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  margin-bottom: 3rem;
  text-align: center;
}

/* ── Utility ─────────────────────────────────────────────────── */
.rc-max-6xl { max-width: 72rem;  margin-left: auto; margin-right: auto; }
.rc-max-5xl { max-width: 64rem;  margin-left: auto; margin-right: auto; }
.rc-max-4xl { max-width: 68.75rem; margin-left: auto; margin-right: auto; } /* 1100px — matches paioclaw.ai fold width */
.rc-max-3xl { max-width: 48rem;  margin-left: auto; margin-right: auto; }
.rc-grid-3  { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.5rem; }
.rc-grid-2  { display: grid; grid-template-columns: repeat(2,1fr); gap: 1.5rem; }
@media (max-width: 767px) {
  .rc-grid-3 { grid-template-columns: 1fr; }
  .rc-grid-2 { grid-template-columns: 1fr; }
}

/* ── Fade-in on scroll (JS adds .rc-visible) ─────────────────── */
.rc-animate {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.rc-animate.rc-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Dashboard snapshot — reveal matching live paioclaw.ai: opacity 0→1 +
   translateY(60px)→0 on the SECTION. The inner browser-window mock's
   scroll-scrubbed zoom is driven by initSnapshotZoom() in JS (scale on the
   inner frame), so the section-level transform intentionally omits scale to
   avoid compounding. Compositor-only. */
.rc-animate--snapshot {
  transform: translateY(60px);
  transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1), transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}
.rc-animate--snapshot.rc-visible {
  transform: translateY(0);
}

/* Staggered child reveal — opt-in via .rc-stagger on the .rc-animate section.
   Direct children cascade in. Compositor-only (opacity/transform), no JS, no
   extra requests. The parent's own .rc-animate fade still runs; children add a
   second, offset layer of motion so the section assembles instead of popping. */
.rc-stagger.rc-visible > * {
  animation: rc-stagger-in 0.55s cubic-bezier(0.16, 1, 0.3, 1) both;
}
.rc-stagger.rc-visible > *:nth-child(1) { animation-delay: 0.05s; }
.rc-stagger.rc-visible > *:nth-child(2) { animation-delay: 0.12s; }
.rc-stagger.rc-visible > *:nth-child(3) { animation-delay: 0.19s; }
.rc-stagger.rc-visible > *:nth-child(4) { animation-delay: 0.26s; }
.rc-stagger.rc-visible > *:nth-child(5) { animation-delay: 0.33s; }
.rc-stagger.rc-visible > *:nth-child(6) { animation-delay: 0.40s; }
@keyframes rc-stagger-in {
  from { opacity: 0; transform: translateY(18px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Count-up numbers (JS sets textContent). tabular-nums keeps digit widths
   constant and min-width reserves the final width so ticking never reflows
   (no CLS). Only applies while counting / after settle — width is harmless. */
.rc-countup {
  font-variant-numeric: tabular-nums;
  display: inline-block;
  min-width: 1ch;
}

/* Stat-value hover lift — finishing polish, transform-only. Stat blocks are
   pointer-events:none in the layer, so this targets the value when its row is
   hovered via the section, kept subtle. */
.rc-super-stat { transition: transform 0.3s var(--rc-ease, ease); }
.rc-super-stat:hover { transform: translateY(-2px); }

/* Respect reduced-motion: no stagger keyframe, no hover lift. (Count-up is
   disabled in JS for reduced-motion, which also paints the final value.) */
@media (prefers-reduced-motion: reduce) {
  .rc-stagger.rc-visible > * { animation: none; }
  .rc-super-stat, .rc-super-stat:hover { transition: none; transform: none; }
}

/* ── Solution Section ─────────────────────────────────────────── */
.rc-solution-section {
  padding: 6rem 1.5rem;
}
@media (max-width: 767px) { .rc-solution-section { padding: 3rem 1rem; } }
.rc-solution-inner {
  max-width: 72rem;
  margin: 0 auto;
}
.rc-solution-card {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  background: #141414;
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 1.5rem;
  overflow: visible;
  min-height: 560px;
}
.rc-solution-tabs {
  padding: 2.5rem 3rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.rc-solution-preview {
  background: rgba(255,140,42,0.03);
  border-left: 1px solid rgba(255,255,255,0.04);
  padding: 2rem 2.5rem;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow:hidden;
}
.rc-sol-tab-list { display: flex; flex-direction: column; gap: 0; }
.rc-sol-tab {
  text-align: left;
  width: 100%;
  background: none;
  border: 1px solid transparent;
  border-radius: 0.75rem;
  padding: 1rem;
  margin-bottom: 0.25rem;
  cursor: pointer;
  transition: background 0.3s, border-color 0.3s;
}
.rc-sol-tab--active {
  background: rgba(255,255,255,0.04);
  border-color: rgba(255,255,255,0.08) !important;
}
.rc-sol-tab-icon {
  display: inline-flex;
  margin-right: 0.75rem;
  vertical-align: middle;
  color: #8A8A8A;
  transition: color 0.3s;
}
.rc-sol-tab--active .rc-sol-tab-icon { color: #FF8C2A; }
.rc-sol-tab-label {
  font-family: var(--rc-font-satoshi);
  font-size: 0.875rem;
  color: #8A8A8A;
  font-weight: 400;
  transition: color 0.3s;
  vertical-align: middle;
}
.rc-sol-tab--active .rc-sol-tab-label { color: var(--rc-cream); font-weight: 600; }
.rc-sol-tab-desc {
  font-family: var(--rc-font-satoshi);
  font-size: 0.75rem;
  color: #8A8A8A;
  line-height: 1.6;
  margin: 0.5rem 0 0 2rem;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease-out, opacity 0.3s;
  opacity: 0;
}
.rc-sol-tab--active .rc-sol-tab-desc { max-height: 4rem; opacity: 1; }

.rc-sol-panel { display: none; }
/* Feedback: fade panels on switch (source uses AnimatePresence opacity 0→1). */
.rc-sol-panel--active {
  display: block;
  position: relative;
  animation: rc-sol-fade 0.25s ease-out;
  
}
@keyframes rc-sol-fade {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .rc-sol-panel--active { animation: none; }
}

/* Per-tab character (lobster specialist) — seats bottom-right of the preview,
   matching SolutionSection.tsx (-bottom-4 -right-16, w-[300px], drop-shadow). */
.rc-sol-char {
  position: absolute;
  bottom: -6rem;
  right: -6.3rem;
  width: 240px;
  height: auto;
  z-index: 20;
  pointer-events: none;
  object-fit: contain;
  filter: drop-shadow(0 0 30px rgba(255,140,42,0.15));
}
@media (min-width: 640px) { .rc-sol-char { max-width: 300px; } }
@media (max-width: 900px) and (min-width: 768px) { .rc-sol-char { display: none; } }
/* Mobile keeps the character (matches live) but the negative bleed offset
   (-6rem/-6.3rem) no longer fits inside the narrower, padding-reduced
   .rc-solution-preview — pull it back in and scale it down so it seats
   bottom-right within the card instead of clipping against overflow:hidden. */
@media (max-width: 767px) {
  /* Smaller footprint + pulled further down/right so it only clips the
     window's bottom-right corner (like desktop) instead of covering ~40%
     of the card's height — at 150px/-1.5rem the avatar's face sat over
     scrollable message text with no way to add clearance (window-body is
     overflow-y:auto inside a fixed-height window, so padding-bottom just
     grows the scroll area instead of pushing visible content up). */
  .rc-sol-char { width: 110px; bottom: -1.75rem; right: -1.5rem; }
}

/* Solution preview window — height:auto instead of a fixed height.
   A fixed height + `.rc-sol-window-body { overflow-y:auto }` forced this
   card to internally scroll (live has the same internal scrollbar — not
   something to fix by matching, it's a real UX problem: a decorative demo
   card should never need scrolling). With height:auto the window grows to
   fit its content, so nothing is clipped/scrolled behind the .rc-sol-char
   avatar and no padding hack is needed to "push" content above it. ── */
.rc-sol-window {
  background: #1A1A1A;
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 25px 60px -12px rgba(0,0,0,0.6), 0 0 0 1px rgba(255,255,255,0.06);
  display: flex;
  flex-direction: column;
  height: auto;
  min-height: 380px;
}
.rc-sol-window-bar {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1.25rem;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  flex-shrink: 0;
}
.rc-sol-window-dots { display: flex; gap: 0.375rem; }
.rc-sol-window-dots span { width: 12px; height: 12px; border-radius: 50%; display: inline-block; }
.rc-sol-window-dots span:nth-child(1) { background: #FF5F57; }
.rc-sol-window-dots span:nth-child(2) { background: #FEBC2E; }
.rc-sol-window-dots span:nth-child(3) { background: #28C840; }
.rc-sol-window-icon {
  width: 1.75rem; height: 1.75rem; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: rgba(255,140,42,0.15);
}
.rc-sol-window-title { font-family: var(--rc-font-satoshi); font-size: 0.875rem; font-weight: 600; color: var(--rc-cream); }
.rc-sol-window-tabs {
  display: flex;
  padding: 0 1.25rem;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  flex-shrink: 0;
}
.rc-sol-wtab {
  font-family: var(--rc-font-satoshi);
  font-size: 0.75rem;
  font-weight: 500;
  color: #888;
  padding: 0.625rem 0.75rem;
  position: relative;
}
.rc-sol-wtab--active { color: var(--rc-cream); }
.rc-sol-wtab--active::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0.75rem; right: 0.75rem;
  height: 2px;
  border-radius: 2px;
  background: #FF8C2A;
}
.rc-sol-window-body {
  padding: 1.25rem;
  /* Extra bottom clearance so message/task-card text never sits under the
     .rc-sol-char avatar, which bleeds up over the window's bottom-right
     corner (bottom:-6rem, width:240px, see .rc-sol-char). Works now that
     .rc-sol-window is height:auto — this padding pushes the window's own
     bottom edge down, instead of just growing a hidden scroll area. */
  padding-bottom: 4.5rem;
  flex: 1;
  overflow: visible;
  background: #111111;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.rc-sol-msg {
  font-family: var(--rc-font-satoshi);
  font-size: 0.8125rem;
  line-height: 1.6;
  padding: 0.625rem 0.875rem;
  border-radius: 0.75rem;
  max-width: 90%;
}
.rc-sol-msg--user {
  background: rgba(255,140,42,0.12);
  color: #FFAA44;
  align-self: flex-end;
  margin-left: auto;
}
.rc-sol-msg--agent {
  background: rgba(255,255,255,0.05);
  color: #CAC8BC;
  align-self: flex-start;
}
.rc-sol-thinking {
  font-size: 0.7rem;
  color: #888;
  margin-bottom: 0.375rem;
}
.rc-sol-event-card {
  display: flex; align-items: center; gap: 0.75rem;
  padding: 0.625rem 0.875rem;
  background: rgba(255,140,42,0.08);
  border: 1px solid rgba(255,140,42,0.2);
  border-radius: 0.625rem;
}
.rc-sol-event-dot { width: 8px; height: 8px; border-radius: 50%; background: #FF8C2A; flex-shrink: 0; }
.rc-sol-task-card {
  padding: 0.625rem 0.875rem;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 0.625rem;
}
.rc-sol-task-badge {
  display: inline-block;
  font-family: var(--rc-font-satoshi);
  font-size: 0.625rem;
  font-weight: 600;
  color: #4ADE80;
  background: rgba(74,222,128,0.1);
  border: 1px solid rgba(74,222,128,0.2);
  border-radius: 4px;
  padding: 0.1rem 0.5rem;
}
.rc-sol-metrics {
  display: flex; gap: 1rem;
  padding: 0.625rem 0.875rem;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 0.625rem;
}
.rc-sol-metric { text-align: center; }
.rc-sol-metric-val { font-family: var(--rc-font-clash); font-size: 1.1rem; font-weight: 700; color: var(--rc-cream); }
.rc-sol-metric-lbl { font-family: var(--rc-font-satoshi); font-size: 0.65rem; color: #8A8A8A; margin-top: 0.125rem; }
.rc-sol-finding {
  display: flex; align-items: flex-start; gap: 0.5rem;
  padding: 0.5rem 0;
}
.rc-sol-finding-dot { width: 6px; height: 6px; border-radius: 50%; background: #FF8C2A; flex-shrink: 0; margin-top: 0.3rem; }
@media (max-width: 767px) {
  .rc-solution-card { grid-template-columns: 1fr; }
  .rc-solution-tabs { padding: 2rem 1.5rem; }
  .rc-solution-preview { padding: 1.5rem; }
  /* Live itself has an internal scrollbar + overlap bug on mobile (avatar
     covers "KEY INSIGHTS" bullet text) — confirmed on paioclaw.ai, not
     something to replicate. .rc-sol-window is height:auto (see desktop
     rule) so it grows to fit content instead of clipping/scrolling it;
     min-height only sets a floor for short panels. */
  .rc-sol-window { min-height: 320px; }
  .rc-sol-window-body { padding-bottom: 3.5rem; }
}

/* ── Steps (How it works) ─────────────────────────────────────── */
.rc-steps-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
.rc-step-card {
  position: relative;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 1.25rem;
  padding: 1.75rem;
  overflow: hidden;
  /* Feedback: cards left-aligned (matches HowItWorksSteps in React source). */
  text-align: left;
  /* Live transitions the scroll-reveal entrance (opacity/transform), not the
     hover box-shadow/border — match that property list + easing. */
  transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}
.rc-step-card:hover {
  box-shadow: 0 0 40px -10px rgba(255,140,42,0.15);
  border-color: rgba(255,140,42,0.3);
}
/* Feedback: significantly bigger index numbers with a visible dull-orange tint. */
.rc-step-number {
  font-family: var(--rc-font-clash);
  font-size: 4.75rem;
  font-weight: 700;
  color: rgba(255,140,42,0.28);
  line-height: 1;
  position: absolute;
  top: 0.5rem;
  right: 1.25rem;
}
.rc-step-icon {
  width: 2.5rem; height: 2.5rem;
  border-radius: 0.75rem;
  background: rgba(255,140,42,0.1);
  border: 1px solid rgba(255,140,42,0.2);
  display: flex; align-items: center; justify-content: center;
  color: #FF8C2A;
  margin: 0 0 0.75rem;
}
@media (max-width: 767px) {
  .rc-steps-grid { grid-template-columns: 1fr; }
}

/* ── Pricing ──────────────────────────────────────────────────── */
.rc-pricing-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}
.rc-plan-card {
  display: flex;
  flex-direction: column;
  border-radius: 1.25rem;
  padding: 1.75rem;
  border: 1px solid rgba(255,255,255,0.08);
  background: linear-gradient(135deg, rgba(255,255,255,0.025) 0%, rgba(0,0,0,0.05) 50%, rgba(0,0,0,0.15) 100%);
  transition: box-shadow 0.5s, border-color 0.5s;
}
.rc-plan-card:hover { border-color: rgba(255,255,255,0.14); }
/* Feedback: Smart (highlight) card uses a distinct grey gradient, not the
   near-transparent white overlay of the other cards. */
.rc-plan-card--highlight {
  border-color: rgba(255,140,42,0.3);
  background: linear-gradient(135deg, #2a2a2a 0%, #202020 50%, #171717 100%);
}
.rc-plan-card--highlight:hover {
  box-shadow: 0 0 40px -18px rgba(255,140,42,0.35);
}
.rc-billing-toggle {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.1);
  background: rgba(255,255,255,0.04);
}
.rc-billing-btn {
  position: relative;
  padding: 0.375rem 1.5rem;
  height: 2.25rem;
  border-radius: 999px;
  font-family: var(--rc-font-satoshi);
  font-size: 0.875rem;
  font-weight: 500;
  color: #CAC8BC;
  background: none;
  border: none;
  cursor: pointer;
  transition: var(--rc-tr-colors-300);
}
.rc-billing-btn--active { color: #0A0A0A; background: var(--rc-cream); }
@media (max-width: 767px) {
  .rc-pricing-grid { grid-template-columns: 1fr; }
}

/* "3 Ways to host" cards reuse the .rc-sol-window title-bar chrome so the
   RECOMMENDED badge sits inline in the bar instead of floating absolutely
   above the card (that positioning collided with the sticky header). */
.rc-way-card { padding: 0; overflow: hidden; }
.rc-way-bar { justify-content: flex-start; }
.rc-way-badge {
  margin-left: auto;
  padding: 0.25rem 0.625rem;
  border-radius: 0.375rem;
  border: 1px solid rgba(255,140,42,0.4);
  background: rgba(255,140,42,0.12);
  font-family: var(--rc-font-satoshi);
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #FF8C2A;
  white-space: nowrap;
}

/* Comparison table: the table's min-width:680px forces horizontal scroll
   with no visible affordance on narrow screens, so below 768px show the
   stacked per-plan cards instead (matches live's mobile treatment). */
@media (max-width: 767px) {
  .rc-compare-table-wrap { display: none; }
  .rc-compare-cards-wrap { display: flex !important; }
}

/* ── FAQ ──────────────────────────────────────────────────────── */
.rc-faq-item {
  background: #141414;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 0.75rem;
  overflow: hidden;
  transition: border-color 0.3s;
}
.rc-faq-item:hover, .rc-faq-item.rc-faq-open { border-color: rgba(255,140,42,0.4); }
.rc-faq-item.rc-faq-open { border-color: rgba(255,140,42,0.3); }
.rc-faq-btn { background: none; border: none; cursor: pointer; }
.rc-faq-icon { display: flex; }
.rc-faq-item.rc-faq-open .rc-faq-icon { transform: rotate(45deg); }

/* ── Marquee ─────────────────────────────────────────────────── */
@keyframes rc-marquee-fwd { from { transform: translateX(0); } to { transform: translateX(-33.333%); } }
@keyframes rc-marquee-rev { from { transform: translateX(-33.333%); } to { transform: translateX(0); } }
.rc-marquee-fwd { animation: rc-marquee-fwd 70s linear infinite; }
.rc-marquee-rev { animation: rc-marquee-rev 70s linear infinite; }
/* Source pauses the marquee and colorizes logos on hover (grayscale → brand). */
.rc-marquee-layer { transition: filter 0.4s ease, opacity 0.4s ease; }
.rc-marquee-layer:hover { filter: grayscale(0); opacity: 1; }
.rc-marquee-layer:hover .rc-marquee-fwd,
.rc-marquee-layer:hover .rc-marquee-rev { animation-play-state: paused; }
/* Touch devices can't :hover to reveal the full-color icons — the inline
   opacity:0.4/grayscale(1) baseline would stay permanently dimmed. */
@media (hover: none) {
  .rc-marquee-layer { filter: grayscale(0) !important; opacity: 1 !important; }
}

/* ── CTA animations ─────────────────────────────────────────── */
@keyframes rc-cta-breathe {
  0%, 100% { opacity: 0.6; transform: scale(1); }
  50%       { opacity: 1;   transform: scale(1.15); }
}
@keyframes rc-ring-pulse {
  0%   { transform: translate(-50%,-50%) scale(1);   opacity: 0.5; }
  100% { transform: translate(-50%,-50%) scale(1.5); opacity: 0; }
}
@keyframes rc-cta-float {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-8px); }
}

/* ── Label pill shared ───────────────────────────────────────── */
.rc-label-pill {
  display: inline-block;
  padding: 0.375rem 1rem;
  border-radius: 999px;
  font-family: var(--rc-font-satoshi);
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

/* ── Problems Section ────────────────────────────────────────── */
/* Matches live paioclaw.ai: grid-cols-1 sm:grid-cols-3 — single column
   below 640px, three columns at sm and up. */
@media (max-width: 639px) {
  .rc-problems-grid { grid-template-columns: 1fr !important; }
}
.rc-problem-card {
  background: #141414;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 1.25rem;
  overflow: hidden;
  transition: border-color 0.3s, box-shadow 0.3s;
}
.rc-problem-card:hover {
  border-color: rgba(255,140,42,0.25);
  box-shadow: 0 0 40px -12px rgba(255,140,42,0.15);
}
.rc-problem-visual {
  position: relative;
  height: 200px;
  background: #0F0F0F;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.rc-problem-visual--lock {
  background: radial-gradient(ellipse at center, rgba(255,107,74,0.06) 0%, transparent 70%);
}
.rc-problem-body {
  padding: 1.25rem 1.5rem 1.5rem;
}
.rc-problem-title {
  font-family: var(--rc-font-clash);
  font-size: 1.0625rem;
  font-weight: 600;
  color: var(--rc-cream);
  margin: 0 0 0.5rem;
}
.rc-problem-desc {
  font-family: var(--rc-font-satoshi);
  font-size: 0.875rem;
  color: var(--rc-muted);
  line-height: 1.6;
  margin: 0;
}
@media (max-width: 767px) {
  .rc-problems-grid { grid-template-columns: 1fr !important; }
}

/* ── Specialists Grid ────────────────────────────────────────── */
.rc-specialists-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}
.rc-spec-card {
  background: linear-gradient(160deg, hsl(0 0% 10% / 0.96) 0%, hsl(0 0% 7% / 0.97) 42%, hsl(0 0% 3% / 0.99) 100%);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 1.5rem;
  overflow: hidden;
  transition: border-color 0.3s, box-shadow 0.3s, transform 0.3s;
  cursor: pointer;
}
.rc-spec-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 60px -12px rgba(0,0,0,0.6);
}
.rc-spec-card--active {
  border-color: rgba(255,140,42,0.42);
  box-shadow: inset 0 1px 0 0 rgba(255,255,255,0.16), 0 10px 44px rgba(0,0,0,0.5), 0 0 24px rgba(255,140,42,0.1);
  background: linear-gradient(165deg, hsl(24 18% 16% / 0.88) 0%, hsl(22 16% 12% / 0.90) 38%, hsl(18 14% 9% / 0.92) 68%, hsl(0 0% 5% / 0.95) 100%);
}
.rc-spec-img-wrap {
  height: 200px;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  background: transparent;
  -webkit-mask-image: linear-gradient(to bottom, black 50%, rgba(0,0,0,0.6) 75%, transparent 100%);
  mask-image: linear-gradient(to bottom, black 50%, rgba(0,0,0,0.6) 75%, transparent 100%);
}
.rc-spec-img {
  width: 200px;
  height: 200px;
  object-fit: contain;
  object-position: bottom;
  filter: drop-shadow(0 18px 36px rgba(0,0,0,0.6));
}
.rc-spec-body {
  padding: 1rem 1.25rem 1.25rem;
}
.rc-spec-name {
  font-family: var(--rc-font-clash);
  font-size: 1.0625rem;
  font-weight: 700;
  color: white;
  margin: 0 0 0.25rem;
}
.rc-spec-role {
  font-family: var(--rc-font-satoshi);
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #FF8C2A;
  margin: 0 0 0.625rem;
}
.rc-spec-desc {
  font-family: var(--rc-font-satoshi);
  font-size: 0.8125rem;
  color: rgba(255,255,255,0.5);
  line-height: 1.5;
  margin: 0 0 0.875rem;
}
.rc-spec-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}
.rc-spec-workflows {
  font-family: var(--rc-font-satoshi);
  font-size: 0.75rem;
  color: rgba(255,255,255,0.3);
}
.rc-spec-tools {
  font-family: var(--rc-font-satoshi);
  font-size: 0.6875rem;
  color: rgba(255,255,255,0.25);
  text-align: right;
}
@media (max-width: 1023px) {
  .rc-specialists-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 599px) {
  .rc-specialists-grid { grid-template-columns: 1fr; }
}

/* ── Super Agents Section ────────────────────────────────────── */
/*
 * Scroll-pinned reveal. The section is a tall scroll track (220vh) and
 * .rc-super-pin is sticky-pinned to the viewport while scroll progress drives
 * the mask reveal. All animated transforms/opacities are written by
 * initSuperReveal() in landing-raycast.js — do NOT add CSS transitions or
 * keyframes to the animated elements (.rc-hero-mask, .rc-hero-unmasked,
 * .rc-super-heading, .rc-super-statlayer, .rc-super-cta) or they will fight
 * the per-frame JS updates.
 */
.rc-super-agents {
  background: transparent;
  position: relative;
  height: 220vh;            /* scroll track length */
}
.rc-super-pin {
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding: 6rem 1.5rem 0;
  text-align: center;
  overflow: hidden;
  will-change: transform;
}

/* Mascot stage — mascot centered, stats absolutely flank it */
.rc-super-stage {
  position: relative;
  z-index: 10;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  margin-top: -3.5rem;
}
.rc-super-mascot {
  position: relative;
  width: 240px;              /* matches reference Tailwind breakpoints:
                                 w-[240px] sm:w-[400px] md:w-[460px] lg:w-[500px] */
  aspect-ratio: 500 / 620;   /* fixed ratio box — matches reference so the
                                mask anchor's top:16.4% resolves against a
                                stable height, not the shrink-wrapped image */
  flex-shrink: 0;
}
@media (min-width: 640px) {
  .rc-super-mascot { width: 400px; }
}
@media (min-width: 768px) {
  .rc-super-mascot { width: 460px; }
}
@media (min-width: 1024px) {
  .rc-super-mascot { width: 500px; }
}
.rc-hero-mask,
.rc-hero-unmasked { will-change: transform, opacity; }

/* Stat callouts overlay the pinned frame, flanking the mascot */
.rc-super-statlayer {
  position: absolute;
  inset: 0;
  z-index: 40;
  pointer-events: none;
}
.rc-super-stats {
  position: absolute;
  top: 30%;
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}
.rc-super-stats--left  { left: 10%;  align-items: flex-end;   text-align: right; }
.rc-super-stats--right { right: 10%; align-items: flex-start; text-align: left; }
.rc-super-stat-lbl {
  font-family: var(--rc-font-satoshi);
  font-size: 0.75rem;
  color: rgba(255,255,255,0.5);
  text-transform: uppercase;
  letter-spacing: 0.15em;
  margin: 0 0 0.25rem;
}
.rc-super-stat-val {
  font-family: var(--rc-font-clash);
  font-size: clamp(1.25rem, 2.5vw, 1.875rem);
  font-weight: 700;
  color: var(--rc-cream);
  margin: 0;
}
.rc-super-stat-line {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  margin-top: 0.5rem;
}
.rc-super-stat-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: rgba(255,255,255,0.3);
  flex-shrink: 0;
}
.rc-super-stat-rule {
  display: block;
  width: 5rem; height: 1px;
}
.rc-super-stat-line--left  .rc-super-stat-rule { background: linear-gradient(to left,  rgba(255,255,255,0.3), transparent); }
.rc-super-stat-line--right .rc-super-stat-rule { background: linear-gradient(to right, rgba(255,255,255,0.3), transparent); }

/* CTA overlays the pinned frame, anchored to the bottom like the stat callouts —
   must NOT sit in normal flow after .rc-super-stage, or its vertical position
   drifts independently of the absolutely-positioned stats and the two collide. */
.rc-super-cta {
  position: absolute;
  z-index: 30;
  left: 50%;
  bottom: 12%;
  transform: translateX(-50%);
}

@media (max-width: 767px) {
  .rc-super-agents { height: 200vh; }
  .rc-super-pin { padding-top: 4.5rem; }
  /* Left column is right-aligned growing toward center, right column is
     left-aligned growing toward center — long labels ("TOKEN CONSUMPTION",
     "CONNECT AI MODELS") from both sides collide/overlap at narrow widths.
     Give each column a hard max-width so labels wrap onto 2 lines instead
     of running into the opposite column. */
  .rc-super-stats { gap: 1.25rem; top: auto; bottom: 24%; max-width: 42%; }
  .rc-super-stats--left  { left: 6%; }
  .rc-super-stats--right { right: 6%; }
  .rc-super-stat-lbl { white-space: normal; }
  .rc-super-stat-rule { width: 2.5rem; }
  .rc-super-cta { bottom: 6%; width: 100%; padding: 0 1.5rem; }
  .rc-super-cta a.rc-btn-white { width: 100%; }
}

/* Small phones (≤ 400px, e.g. iPhone SE 375px): the 240px fixed mascot width
   from .rc-super-mascot eats ~64% of the viewport, leaving each stat column
   (max-width 42%, inset 6%) almost no room before it collides with the
   mascot's silhouette — labels/values visually overlap the character. Shrink
   the mascot and widen the gutter so text and mascot no longer fight for the
   same horizontal space. */
@media (max-width: 400px) {
  .rc-super-mascot { width: 180px; }
  .rc-super-stats { max-width: 36%; gap: 1rem; bottom: 26%; }
  .rc-super-stats--left  { left: 4%; }
  .rc-super-stats--right { right: 4%; }
  .rc-super-stat-lbl { font-size: 0.6875rem; }
  .rc-super-stat-val { font-size: clamp(1.05rem, 4.2vw, 1.35rem); }
}

/* ── Solutions Fold (Until PAIO) 2x2 grid ────────────────────── */
.rc-solfold-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
}
.rc-solfold-card {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  text-align: left;
  border-radius: 1rem;
  padding: 1.25rem;
  background: #0F0F0F;
  border: 1px solid rgba(255,255,255,0.06);
  transition: background 0.3s, border-color 0.3s;
}
.rc-solfold-card:hover {
  background: #161616;
  border-color: rgba(255,140,42,0.35);
}
.rc-solfold-icon {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background: rgba(255,255,255,0.04);
  color: rgba(255,140,42,0.6);
  transition: background 0.3s, color 0.3s;
}
.rc-solfold-card:hover .rc-solfold-icon {
  background: rgba(255,140,42,0.12);
  color: #FF8C2A;
}
@media (max-width: 640px) {
  .rc-solfold-grid { grid-template-columns: 1fr; }
}

/* ── max-width helpers ───────────────────────────────────────── */
.rc-max-6xl { max-width: 72rem; margin: 0 auto; }


/* ── Fan-stack Carousel (Personalised Clawspace) ──────────────── */
.rc-fanstack-wrap {
  display: flex;
  justify-content: center;
  perspective: 1200px;
  overflow: visible;
}

.rc-fanstack {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 280px;
  height: 600px;
}

.rc-fancard {
  position: absolute;
  width: 280px;
  cursor: pointer;
  transition: transform 0.45s cubic-bezier(0.16,1,0.3,1),
              opacity 0.45s cubic-bezier(0.16,1,0.3,1),
              filter 0.45s ease;
  will-change: transform, opacity;
}

.rc-fancard-inner {
  display: flex;
  flex-direction: column;
  border-radius: 1.5rem;
  overflow: hidden;
  height: 520px;
  border: 1px solid rgba(255,255,255,0.1);
  transition: background 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
  position: relative;
  isolation: isolate;
}

.rc-fancard-shimmer {
  position: absolute;
  inset-inline: 0;
  top: 0;
  height: 1px;
  border-radius: 1.5rem 1.5rem 0 0;
  background: linear-gradient(90deg, transparent 15%, rgba(255,255,255,0.08) 50%, transparent 85%);
  pointer-events: none;
  z-index: 3;
}

.rc-fancard-glass {
  position: absolute;
  inset: 0;
  border-radius: 1.5rem;
  background: linear-gradient(180deg, rgba(255,255,255,0.035) 0%, rgba(255,255,255,0.01) 18%, transparent 45%);
  pointer-events: none;
  z-index: 2;
}

.rc-fancard-img-wrap {
  height: 300px;
  flex-shrink: 0;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding-top: 2.5rem;
  -webkit-mask-image: linear-gradient(to bottom, black 45%, rgba(0,0,0,0.6) 72%, transparent 100%);
  mask-image: linear-gradient(to bottom, black 45%, rgba(0,0,0,0.6) 72%, transparent 100%);
  position: relative;
  z-index: 1;
}

.rc-fancard-img {
  width: 270px;
  height: 270px;
  object-fit: contain;
  object-position: bottom;
  filter: drop-shadow(0 18px 36px rgba(0,0,0,0.6));
}

.rc-fancard-body {
  padding: 0.75rem 1.25rem 1.25rem;
  position: relative;
  z-index: 1;
  margin-top: auto;
}

.rc-fancard-name {
  font-family: var(--rc-font-clash);
  font-size: 1.0625rem;
  font-weight: 700;
  color: #fff;
  margin: 0 0 0.2rem;
}

.rc-fancard-desc {
  font-family: var(--rc-font-satoshi);
  font-size: 0.8125rem;
  color: rgba(255,255,255,0.5);
  line-height: 1.5;
  margin: 0 0 0.875rem;
}

.rc-fancard-status {
  position: relative;
  height: 1.25rem;
  overflow: hidden;
  margin: 0 0 0.5rem;
}

.rc-fancard-status-text {
  position: absolute;
  inset-inline: 0;
  font-family: var(--rc-font-satoshi);
  font-size: 0.75rem;
  color: #c4793a;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  opacity: 0;
  transform: translateY(4px);
  transition: opacity 0.35s ease, transform 0.35s ease;
}

.rc-fancard-status-text.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.rc-fancard-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}

.rc-fancard-wf {
  font-family: var(--rc-font-satoshi);
  font-size: 0.75rem;
  color: rgba(255,255,255,0.3);
}

/* Tools rendered as brand-logo icons (feedback: icons, not comma text) */
.rc-fancard-tools {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
}
.rc-fancard-tool-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 6px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.08);
}
.rc-fancard-tool-icon svg {
  width: 15px;
  height: 15px;
  display: block;
}

@media (max-width: 640px) {
  .rc-fanstack { width: 240px; height: 540px; }
  .rc-fancard  { width: 240px; }
  .rc-fancard-inner { height: 480px; }
  .rc-fancard-img-wrap { height: 260px; }
  .rc-fancard-img  { width: 224px; height: 224px; }
}
