:root {
      /* === Core CavBot palette === */
      --navy-950: #01030f;
      --navy-900: #020616;
      --navy-800: #050a1b;

      --lime: #b9c85a;         /* Electric Lime primary */
      --lime-soft: rgba(185, 200, 90, 0.14);
      --lime-soft-strong: rgba(185, 200, 90, 0.22);

      --violet: #8b5cff;       /* Hyper Violet secondary */
      --violet-soft: rgba(139, 92, 255, 0.2);
      --violet-border-soft: rgba(139, 92, 255, 0.45);

      --blue: #4ea8ff;
      --blue-soft: rgba(78, 168, 255, 0.85);

      --ink: #f7fbff;
      --ink-soft: #c5cee7;
      --ink-subtle: #8890aa;
      --border-subtle: rgba(255, 255, 255, 0.08);
      --pff-panel-bg: 
    linear-gradient(180deg, #070c20; 0%, #07041d 54%, #070c20; 100%);

      --panel-radius-lg: 20px;
      --panel-radius-md: 16px;
      --panel-radius-sm: 12px;

      /* Unified typeface: Inter everywhere */
      --font-sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      --font-display: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

      --space-xxl: 80px;
      --space-xl: 56px;
      --space-lg: 40px;
      --space-md: 28px;
      --space-sm: 18px;
      --space-xs: 10px;
    }

    *, *::before, *::after {
      box-sizing: border-box;
    }

    html {
      min-height: 100%;
      width: 100%;
      max-width: 100%;
      scroll-behavior: auto;
      overscroll-behavior: auto;
      background-color: var(--navy-950);
      color-scheme: dark;
    }

    body {
      overscroll-behavior: auto;
      margin: 0;
      min-height: 100vh;
      width: 100%;
      max-width: 100%;
      overflow-x: hidden;
      font-family: var(--font-sans);
      color: var(--ink-soft);
      background-color: var(--navy-950);

      -webkit-font-smoothing: antialiased;
      text-rendering: geometricPrecision;
    }

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

    .page-shell {
      min-height: 100vh;
      width: 100%;
      min-width: 0;
      display: flex;
      flex-direction: column;
      opacity: 0;
      animation: pageFadeIn 340ms ease-out forwards;
    }

    .page-inner {
      width: 100%;
      min-width: 0;
      max-width: 1160px;
      margin: 0 auto;
      padding: var(--space-xl) 20px var(--space-xxl);
      display: flex;
      flex-direction: column;
      gap: var(--space-xxl);
    }

    .page-inner > * {
      min-width: 0;
    }

	    @keyframes pageFadeIn {
	      0% {
	        opacity: 0;
	      }
	      100% {
	        opacity: 1;
	      }
	    }

    @media (prefers-reduced-motion: reduce) {
      .page-shell {
        animation: none;
        opacity: 1;
      }
    }

    /* ==============================
       SHARED PANEL STYLES
       ============================== */

    .section {
      width: 100%;
      padding-top: var(--space-xxl);
    }

    .section-header {
      margin-bottom: var(--space-md);
      display: flex;
      flex-direction: column;
      gap: 10px;
      max-width: 46rem;
      text-align: center;
    }

    .eyebrow {
      font-size: 11px;
      text-transform: uppercase;
      letter-spacing: 0.2em;
      color: var(--ink-subtle);
    }

    .section-title {
      margin: 0;
      font-family: var(--font-display);
      font-size: 22px;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      color: var(--ink);
    }

    .section-body {
      font-size: 14px;
      color: var(--ink-soft);
      line-height: 1.8;
      max-width: 46rem;
      margin: 0;
      text-align: left;
    }

    .code-block {
      margin: 10px 0 4px;
      padding: 10px 12px;
      border-radius: 10px;
      border: 1px solid rgba(255, 255, 255, 0.14);
      background: rgba(1, 3, 15, 0.96);
      font-family: "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
      font-size: 11px;
      line-height: 1.7;
      overflow-x: auto;
      color: var(--ink);
    }

    .code-inline {
      font-family: "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
      font-size: 11px;
      background: rgba(1, 3, 15, 0.9);
      border-radius: 4px;
      padding: 0 4px;
      border: 1px solid rgba(255, 255, 255, 0.12);
      white-space: normal;
      overflow-wrap: anywhere;
    }

    /* ==============================
       HERO LAYOUT
       ============================== */

    .hero {
      padding-top: var(--space-xxl);
      padding-bottom: var(--space-xl);
      display: grid;
      grid-template-columns: minmax(0, 1.6fr) minmax(0, 1.1fr);
      gap: var(--space-lg);
      align-items: center;
    }

    .hero-copy-block {
      display: grid;
      gap: 22px;
      align-content: flex-start;
    }

    .hero-title {
      margin: 0;
      font-family: var(--font-display);
      font-size: 32px;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--ink);
    }

    .hero-lede {
      font-size: 15px;
      color: var(--ink-soft);
      max-width: 36rem;
      line-height: 1.9;
      margin: 0;
    }

    .hero-cta-row {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-top: 4px;
    }

    /* === Hero CavBot panel (robot + live metrics) === */
    .hero-robot-panel {
      border-radius: var(--panel-radius-lg);
       border: 1px solid rgba(255, 255, 255, 0.14);
      background-color: rgba(3, 6, 22, 0.94);
      backdrop-filter: none;
      -webkit-backdrop-filter: none;
      padding: 22px 20px 20px;
      display: grid;
      gap: 16px;
    }

    .hero-robot-header {
      display: flex;
      justify-content: space-between;
      gap: 10px;
      align-items: baseline;
      min-height: 12px;
    }

    .hero-robot-title {
      font-size: 11px;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--ink-subtle);
    }

    .aaero-robot-tag {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      font-size: 10px;
      text-transform: uppercase;
      letter-spacing: 0.16em;
      color: var(--lime);
    }

    .hero-robot-live-dot {
      width: 7px;
      height: 7px;
      border-radius: 12px;
      background: var(--lime);
      animation: heroLivePulse 1.6s ease-in-out infinite;
    }

    @keyframes heroLivePulse {
      0%, 100% { transform: scale(1); opacity: 1; }
      50%      { transform: scale(1.4); opacity: 0.6; }
    }

    .hero-robot-shell {
      border-radius: var(--panel-radius-md);
       border: 1px solid rgba(255, 255, 255, 0.14);
      background-color: rgba(3, 6, 22, 0.94);
      backdrop-filter: none;
      -webkit-backdrop-filter: none;
      padding: 18px 16px 16px;
      display: grid;
      gap: 14px;
    }

    .hero-robot-main {
      display: grid;
      grid-template-columns: auto minmax(0, 1fr);
      gap: 18px;
      align-items: center;
    }

    .hero-robot-avatar-wrap {
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 4px;
    }

    .cavbot-cdn-slot {
      width: 100%;
      height: 100%;
      display: grid;
      place-items: center;
    }

    .cavbot-cdn-slot[data-cavbot-cdn-slot="badge"] {
      min-width: 84px;
      min-height: 84px;
    }

    .cavbot-cdn-slot[data-cavbot-cdn-slot="head"] {
      min-width: 132px;
      min-height: 132px;
    }

    .cavbot-cdn-slot[data-cavbot-cdn-slot="body"] {
      min-width: 152px;
      min-height: 216px;
    }

    .cavbot-cdn-slot [id^="cavbot-widget-root-"] {
      position: static;
    }

    .hero-robot-avatar-wrap [data-cavbot-head] {
      transform: scale(0.92);
      transform-origin: center;
    }

    .hero-robot-metrics {
      display: grid;
      gap: 10px;
      font-size: 11px;
      color: var(--ink-soft);
    }

    .hero-robot-metrics-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 10px;
    }

    .hero-metric {
      border-radius: 10px;
      border: 1px solid rgba(139, 92, 255, 0.16);
      background: rgba(2, 5, 16, 0.93);
      padding: 8px 9px;
      display: grid;
      gap: 3px;
    }

    .hero-metric-label {
      font-size: 9.1px;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--ink-subtle);
    }

    .hero-metric-value {
      font-family: var(--font-mono, "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
      font-size: 9.8px;
      color: var(--ink);
    }

/* ==============================
   CAVAI FRONT PAGE SECTION
   ============================== */

.cavai-front {
  margin-top: var(--space-xxl);
  display: grid;
  gap: 72px;
  overflow: visible;
}

.cavai-top {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
  gap: clamp(32px, 6vw, 96px);
  align-items: stretch;
}

.cavai-main-title {
  margin: 0;
  max-width: 760px;
  font-family: var(--font-display);
  font-size: clamp(26px, 3.5vw, 66px);
  line-height: 0.98;
  letter-spacing: -0.04em;
  color: var(--ink);
}

.cavai-title-link {
  color: var(--ink-soft);
  position: relative;
  display: inline-block;
  text-decoration: none;
  transition: color 220ms ease;
}

.cavai-title-link::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0.03em;
  height: 0.06em;
  background: var(--lime);
  transform: scaleX(1);
  transform-origin: left center;
  opacity: 0.82;
  transition: transform 240ms ease, opacity 180ms ease;
}

.cavai-title-link:hover {
  color: inherit;
}

.cavai-title-link:hover::after {
  transform: scaleX(1);
  opacity: 1;
}

.cavai-top-copy {
  margin: 0;
  max-width: 520px;
  font-size: clamp(14px, 2vw, 24px);
  line-height: 1.35;
  color: var(--ink-soft);
}

.cavai-video-stage {
  position: relative;
  width: 100%;
  height: clamp(420px, 56vw, 720px);
  display: grid;
  place-items: center;
  overflow: visible;
}

.cavai-video-shell {
  position: absolute;
  top: 0;
  left: 50%;
  width: min(1120px, calc(100vw - 48px));
  height: 100%;
  margin: 0;
  border-radius: 34px;
  background: rgba(3, 6, 20, 0.98);
  overflow: hidden;
  transform: translateX(-50%);
  will-change: width, border-radius, border-color;
  box-shadow: none !important;
  transition:
    width 1200ms cubic-bezier(0.16, 1, 0.3, 1),
    border-radius 1200ms cubic-bezier(0.16, 1, 0.3, 1),
    border-color 900ms ease;
}

.cavai-video-shell.is-expanded {
  width: 100vw;
  border-radius: 0;
  border-left-color: transparent;
  border-right-color: transparent;
  box-shadow: none !important;
}


.cavai-video {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  background: rgba(3, 6, 20, 0.98);
}

@media (max-width: 900px) {
  .cavai-top {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .cavai-main-title {
    font-size: clamp(38px, 12vw, 68px);
  }

  .cavai-top-copy {
    font-size: 18px;
  }

  .cavai-showcase {
    grid-template-columns: 1fr;
  }

  .cavai-logo-wrap {
    width: 68px;
    height: 68px;
  }

.cavai-video-stage {
  height: clamp(260px, 62vw, 460px);
}

.cavai-video-shell,
.cavai-video-shell.is-expanded {
  width: 100%;
  left: 0;
  transform: none;
  border-radius: 24px;
}
}

@media (prefers-reduced-motion: reduce) {
  .cavai-video-shell {
    transition: none;
  }

  .cavai-video-shell.is-expanded {
    transform: none;
  }
}

    /* ==============================
       BRAIN EVOLUTION MUSEUM STRIP
       ============================== */

    .brain-museum {
      margin-top: var(--space-xxl);
      border-radius: var(--panel-radius-lg);
      border: 1px solid rgba(255, 255, 255, 0.14);
      background-color: rgba(3, 6, 22, 0.94);
      background-image:
        linear-gradient(
          to bottom,
          rgba(10, 11, 30, 0.98),
          rgba(3, 6, 22, 0.94)
        );
      padding: 26px 24px 22px;
      display: grid;
      justify-items: center;
      gap: 20px;
      text-align: center;
    }

    /* Keep brainline on the same linear glass treatment as header/footer. */
    body.page-shell :is(main, .page-inner, .page-main, .page-content, .page-article-main, .page-press-main) .brain-museum {
      background-image:
        linear-gradient(
          to bottom,
          rgba(10, 11, 30, 0.98),
          rgba(3, 6, 22, 0.94)
        ) !important;
    }

  .brain-header {
  display: grid;
  gap: 12px;
  width: 100%;
  max-width: 44rem;
  margin: 0 auto;
  justify-self: center;
  text-align: center;
}


    .brain-label {
      font-size: 11px;
      text-transform: uppercase;
      letter-spacing: 0.2em;
      color: var(--ink-subtle);
      text-align: center;
    }

    .brain-title {
      margin: 0;
      font-family: var(--font-display);
      font-size: 18px;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--ink);
      text-align: center;
    }
    .brain-word {
  display: inline-block;
  font-family: "Cormorant Garamond", "Playfair Display", Georgia, serif;
  font-style: italic;
  font-weight: 800;
  text-transform: none;
  letter-spacing: 0.04em;
  color: #b9c85a;
  margin-left: 0.18em;
  transition: opacity 320ms ease, transform 320ms ease;
  font-size: 35px;
}

.brain-word.is-changing {
  opacity: 0;
  transform: translateY(6px);
}


    .brain-copy {
      font-size: 13px;
      color: var(--ink-soft);
      line-height: 1.8;
      margin: 0;
      text-align: center;
    }

    .brain-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 16px;
    }

 .brain-card {
  border-radius: var(--panel-radius-md);
  background: rgba(7, 11, 30, 0.74);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  padding: 14px 12px 12px;
  display: grid;
  gap: 8px;
  font-size: 12px;
  transform: translateY(0);
  transition:
    transform 220ms ease,
    border-color 220ms ease,
    background 220ms ease,
    box-shadow 220ms ease;
}

.brain-card:hover {
  transform: translateY(-6px);
  background: rgba(13, 18, 44, 0.86);
}

.brain-card:hover .brain-era {
  color: #4ea8ff;
}


@media (prefers-reduced-motion: reduce) {
  .brain-card {
    transition: none;
  }

  .brain-card:hover {
    transform: none;
  }
}


    .brain-era {
      font-size: 11px;
      color: var(--ink-soft);
      text-transform: uppercase;
      letter-spacing: 0.12em;
      text-align: center;
      font-weight: 800;
    }

    .brain-text {
      font-size: 12px;
      color: var(--ink-soft);
      line-height: 1.7;
      margin: 0;
      text-align: center;
    }

   /* ==============================
   PATH / FAULT / FEEL MUSEUM
   CavBot rebrand layout — equal sealed final
   ============================== */

.pff-museum,
.pff-museum * {
  box-sizing: border-box;
}

.pff-museum {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  margin-top: var(--space-xxl);
  padding:
    clamp(82px, 8vw, 124px)
    0
    clamp(82px, 8vw, 124px);
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(
      135deg,
      rgba(1, 3, 15, 1) 0%,
      rgba(4, 8, 26, 0.98) 48%,
      rgba(8, 12, 36, 0.98) 100%
    );

}

.pff-museum::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(rgba(255, 255, 255, 0.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.014) 1px, transparent 1px);
  background-size: 86px 86px;
  opacity: 0.12;
}

.pff-museum::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 34%;
  pointer-events: none;

}

.pff-shell {
  position: relative;
  z-index: 1;
  width: 100%;
  margin: 0 auto;
  min-width: 0;
}

.pff-header {
  width: min(1180px, calc(100vw - 48px));
  max-width: none;
  margin: 0 auto clamp(30px, 3vw, 48px);
  display: grid;
  justify-items: start;
  text-align: left;
  gap: 12px;

}

.pff-type-title {
  width: min(1080px, 100%);
  min-height: 1.2em;
  margin: 0;
  text-align: left;
  font-family: var(--font-display);
  font-size: clamp(46px, 5vw, 70px);
  line-height: 0.96;
  letter-spacing: -0.065em;
  text-transform: none;
  color: var(--ink);
  text-wrap: auto;

}

.pff-header {
  opacity: 0;
  transform: translateY(28px);
  transition:
    opacity 680ms ease,
    transform 680ms cubic-bezier(0.18, 0.84, 0.24, 1);
  will-change: opacity, transform;
}

.pff-museum.is-pff-visible .pff-header {
  opacity: 1;
  transform: translateY(0);
}

.pff-title-normal {
  display: inline;
}

.pff-title-breaks {
  display: inline-block;
  margin-inline: 0.08em 0.03em;
  transform: rotate(-4.5deg) translateY(0.035em);
  transform-origin: center;
  color: transparent;
  background: linear-gradient(135deg, var(--blue), var(--violet));
  -webkit-background-clip: text;
  background-clip: text;
  letter-spacing: -0.08em;
}

.pff-header-copy {
  max-width: 760px;
  margin: 0;
  text-align: left;
  font-size: clamp(14px, 1.08vw, 17px);
  line-height: 1.74;
  color: var(--ink-soft);
}

/* REAL FIX: FLEX ROW, EXACT 3 EQUAL CARDS */
.pff-grid {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  box-sizing: border-box;
  padding-inline: max(24px, calc((100vw - 1320px) / 2));
  min-width: 0;
  display: flex;
  align-items: stretch;
  gap: 0;
  overflow: hidden;
  background: var(--pff-panel-bg);
  border-top: 1px solid rgba(255, 255, 255, 0.13);
  border-bottom: 1px solid rgba(255, 255, 255, 0.13);
}

/* FORCE ALL 3 TO SAME WIDTH */
.pff-grid > .pff-card {
  flex: 0 0 33.333333% !important;
  width: 33.333333% !important;
  max-width: 33.333333% !important;
  min-width: 0 !important;
}

/* Cards */
.pff-card {
  position: relative;
  min-height: clamp(270px, 28vw, 370px);
  border-radius: 0;
  border: 0;
  padding: clamp(26px, 3vw, 40px);
  display: grid;
  align-items: center;
  gap: 12px;
  overflow: hidden;
  transition:
    background 260ms ease,
    border-color 260ms ease;
}


.pff-card * {
  min-width: 0;
}

.pff-card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  opacity: 1;
  transition: opacity 260ms ease;
}

/* Path + Feel: violet / navy */
.pff-card--path,
.pff-card--feel {
  background: var(--pff-panel-bg);
}

.pff-card--path::before,
.pff-card--feel::before {
  background: var(--pff-panel-bg);
}

/* Fault: bluish / navy */
.pff-card--fault {
  background:
    linear-gradient(180deg, rgba(139, 92, 255, 0.16), rgba(139, 92, 255, 0.08)),
    var(--pff-panel-bg);
}

.pff-card--fault::before {
  background: linear-gradient(180deg, rgba(16, 18, 48, 0.92), rgba(9, 11, 34, 0.96));
}



.pff-card:hover,
.pff-card:focus-within {
  background: rgba(10, 16, 38, 0.20);
}

.pff-card--fault:hover,
.pff-card--fault:focus-within {
  background:
    linear-gradient(180deg, rgba(139, 92, 255, 0.18), rgba(139, 92, 255, 0.10)),
    var(--pff-panel-bg);
}

.pff-card:hover::before,
.pff-card:focus-within::before {
  opacity: 1.22;
}

.pff-card-inner {
  position: relative;
  z-index: 1;
  height: 100%;
  min-height: 100%;
  min-width: 0;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: clamp(16px, 2vw, 24px);
  text-align: center;
}

.pff-card-header {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
}

.pff-mode-stack {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.pff-mode-label {
  font-size: 11px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--ink);
  line-height: 1.2;
}

.pff-mode-label::before {
  content: none;
}

.pff-card-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(14px, 1.2vw, 22px);
  line-height: 1.05;
  letter-spacing: -0.035em;
  text-transform: none;
  color: var(--ink);
  overflow-wrap: anywhere;
}

.pff-card-body {
  width: 100%;
  max-width: 31ch;
  font-size: clamp(11.5px, 0.95vw, 13.5px);
  color: var(--ink-soft);
  line-height: 1.68;
  margin: 0;
  text-align: center;
  overflow-wrap: anywhere;
  word-break: normal;
}

.pff-card--feel .pff-card-body {
  max-width: 31ch;
}

.pff-glyph {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.26);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.035);
}

.pff-glyph::before,
.pff-glyph::after {
  content: "";
  position: absolute;
  border-radius: 12px;
}

.pff-card--path .pff-glyph::before {
  width: 18px;
  height: 18px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 0;
  background: var(--lime);
  -webkit-mask: url("/assets/icons/page/path-fill-svgrepo-com.svg") center / contain no-repeat;
  mask: url("/assets/icons/page/path-fill-svgrepo-com.svg") center / contain no-repeat;
}

.pff-card--path .pff-glyph::after {
  content: none;
}

.pff-card--fault .pff-glyph::before {
  width: 0;
  height: 0;
  border-left: 9px solid transparent;
  border-right: 9px solid transparent;
  border-bottom: 14px solid var(--violet);
}

.pff-card--fault .pff-glyph::after {
  width: 2px;
  height: 9px;
  background: rgba(0, 0, 0, 0.9);
  top: 47%;
  left: 50%;
  transform: translateX(-50%);
}

.pff-card--feel .pff-glyph::before {
  width: 18px;
  height: 18px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 0;
  background: linear-gradient(135deg, var(--violet), var(--blue), var(--lime));
  -webkit-mask: url("/assets/icons/page/feel-svgrepo-com.svg") center / contain no-repeat;
  mask: url("/assets/icons/page/feel-svgrepo-com.svg") center / contain no-repeat;
}

.pff-card--feel .pff-glyph::after {
  content: none;
}

.pff-chips-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 6px;
}

.pff-chip {
  border-radius: 4px;
  padding: 5px 12px;
  border: 1px solid rgba(185, 200, 90, 0.75);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ink-soft);
  background: rgba(3, 8, 18, 0.98);
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.pff-chip::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 12px;
  background: rgba(185, 200, 90, 0.9);
}

@media (max-width: 980px) {
  .pff-museum {
    padding:
      clamp(74px, 10vw, 104px)
      0
      clamp(72px, 10vw, 104px);
  }

  .pff-shell {
    width: min(100% - 32px, 760px);
  }

  .pff-type-title {
    font-size: clamp(42px, 10vw, 68px);
  }

  .pff-grid {
    display: grid;
    grid-template-columns: 1fr;
  }

  .pff-grid > .pff-card {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
  }

  .pff-card,
  .pff-card:last-child {
    min-height: 260px;
    border-left: 0;
    border-right: 1px solid rgba(255, 255, 255, 0.26) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  }

  .pff-card:last-child {
    border-bottom: 0;
  }

  .pff-card-body,
  .pff-card--feel .pff-card-body {
    max-width: 44ch;
  }
}

@media (max-width: 640px) {
  .pff-shell {
    width: min(100% - 28px, 560px);
  }

  .pff-header {
    gap: 16px;
  }

  .pff-type-title {
    font-size: clamp(38px, 12vw, 58px);
    line-height: 0.98;
  }

  .pff-title-breaks {
    transform: rotate(-3.5deg) translateY(0.025em);
  }

  .pff-header-copy {
    font-size: 14px;
    line-height: 1.7;
  }

  .pff-card {
    padding: 28px 24px;
    min-height: 238px;
  }

  .pff-card-title {
    font-size: 24px;
  }

  .pff-card-body,
  .pff-card--feel .pff-card-body {
    max-width: 100%;
  }
}


   /* ==============================
   SYSTEM ROLE / ARCHITECTURE

   ============================== */

.system-role,
.system-role * {
  box-sizing: border-box;
}

.system-role {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-top: var(--space-xxl);
  padding: 0;
  position: relative;
  overflow: hidden;

}

.system-role::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(rgba(255, 255, 255, 0.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.012) 1px, transparent 1px);
  background-size: 86px 86px;
  opacity: 0.16;
}

.system-shell {
  position: relative;
  z-index: 1;
  width: min(1440px, calc(100vw - 48px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.28fr) minmax(440px, 0.96fr);
  min-height: clamp(560px, 58vw, 720px);
  border-left: 1px solid rgba(255, 255, 255, 0.10);
  border-right: 1px solid rgba(255, 255, 255, 0.10);
}

/* Left editorial panel */
.system-left {
  position: relative;
  min-width: 0;
  display: grid;
  align-items: start;
  padding:
    clamp(54px, 6vw, 82px)
    clamp(34px, 5vw, 76px);
  border-right: 1px solid rgba(255, 255, 255, 0.11);
  background:
    linear-gradient(
      145deg,
      rgba(1, 3, 15, 0.72),
      rgba(3, 6, 20, 0.58)
    );
  overflow: hidden;
}

.system-left::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: rgba(185, 200, 90, 0.14);
}


.system-left-inner {
  position: relative;
  z-index: 1;
  max-width: 760px;
  min-width: 0;
}

.system-eyebrow {
  margin: 0 0 28px;
}

.system-title {
  margin: 0;
  max-width: 760px;
  color: var(--ink);
  font-family: var(--font-display);
  font-size: clamp(30px, 4vw, 60px);
  line-height: 1.02;
  letter-spacing: -0.055em;
  text-transform: none;
  text-wrap: balance;
}

.system-title span {
  display: block;
  color: rgba(197, 206, 231, 0.62);
  font-weight: inherit;
}

.system-left-copy {
  margin: clamp(26px, 3vw, 38px) 0 0;
  max-width: 680px;
  color: var(--ink-soft);
  font-size: clamp(15px, 1.25vw, 20px);
  line-height: 1.68;
}

.system-link {
  margin-top: 34px;
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--blue-soft);
  text-decoration: none;
  font-size: clamp(14px, 1.1vw, 17px);
  line-height: 1;
}

.system-link span:first-child {
  position: relative;
  padding-bottom: 5px;
}

.system-link span:first-child::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: right center;
  opacity: 0.85;
  transition:
    transform 240ms ease,
    opacity 200ms ease;
}

.system-link:hover span:first-child::after {
  transform: scaleX(1);
  transform-origin: right center;
  opacity: 0.85;
}

.system-link span:last-child {
  transition: transform 220ms ease;
}

.system-link:hover span:last-child {
  transform: translateX(4px);
}

/* Right navy stacked panels */
.system-right {
  min-width: 0;
  display: grid;
  grid-template-rows: repeat(3, minmax(0, 1fr));
  background: rgba(7, 11, 30, 0.88);
  overflow: hidden;
}

.system-spec-card {
  position: relative;
  min-width: 0;
  padding:
    clamp(30px, 3.4vw, 50px)
    clamp(26px, 3.2vw, 44px);
  display: grid;
  align-content: center;
  gap: 14px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.11);
  overflow: hidden;
  background: rgba(7, 11, 30, 0.88);
  transition:
    background 260ms ease,
    border-color 260ms ease;
}

.system-spec-card:last-child {
  border-bottom: 0;
}

.system-spec-card::before,
.system-spec-card:nth-child(2)::before,
.system-spec-card:nth-child(3)::before {
  content: none !important;
  display: none !important;
}

.system-spec-card:hover,
.system-spec-card:focus-within {
  background: rgba(10, 16, 38, 0.94);
}

.spec-row-label {
  position: relative;
  z-index: 1;
  max-width: 100%;
  color: var(--ink);
  font-size: 11px;
  line-height: 1.25;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 800;
  overflow-wrap: anywhere;
  word-break: normal;
}

.spec-row-body {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 30ch;
  color: var(--ink-soft);
  font-size: clamp(13px, 1vw, 16px);
  line-height: 1.58;
  overflow-wrap: anywhere;
  word-break: normal;
}

/* System stack entrance animation */
.system-role.is-ready .system-left,
.system-role.is-ready .system-right {
  opacity: 0;
  will-change: transform, opacity;
  transition:
    transform 1400ms cubic-bezier(0.16, 1, 0.3, 1),
    opacity 800ms ease;
}

.system-role.is-ready .system-left {
  transform: translateX(-66px) translateY(10px);
}

.system-role.is-ready .system-right {
  transform: translateX(66px) translateY(10px);
}

.system-role.is-ready.is-visible .system-left,
.system-role.is-ready.is-visible .system-right {
  opacity: 1;
  transform: translateX(0) translateY(0);
}

.system-role.is-ready.is-visible .system-right {
  transition-delay: 90ms;
}

@media (prefers-reduced-motion: reduce) {
  .system-role.is-ready .system-left,
  .system-role.is-ready .system-right {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* Responsive */
@media (max-width: 1120px) {
  .system-shell {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .system-left {
    min-height: 420px;
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.11);
  }

  .system-right {
    grid-template-rows: none;
  }

  .system-spec-card {
    min-height: 220px;
  }

  .spec-row-body {
    max-width: 44rem;
  }
}

@media (max-width: 640px) {
  .system-shell {
    width: min(100% - 28px, 560px);
  }

  .system-left {
    min-height: 400px;
    padding: 34px 24px;
  }

  .system-title {
    font-size: clamp(34px, 10vw, 48px);
    line-height: 1.02;
  }

  .system-left-copy,
  .spec-row-body {
    font-size: 14px;
    line-height: 1.68;
  }

  .system-spec-card {
    min-height: 210px;
    padding: 28px 24px;
  }

  .spec-row-label {
    font-size: 10px;
    letter-spacing: 0.16em;
  }

  .spec-row-body {
    max-width: 100%;
  }
}


   /* ==============================
   PRICING + DOCS
   ============================== */

.pricing-docs,
.pricing-docs * {
  box-sizing: border-box;
}

.pricing-docs {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  margin-top: var(--space-xxl);
  padding: 0;
  position: relative;
  overflow: hidden;

}

.pricing-docs::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;

  background-size: 86px 86px;
  opacity: 0.16;
}

/* Main split shell */
.pricing-shell {
  position: relative;
  z-index: 1;
  width: min(1320px, calc(100vw - 48px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.24fr) minmax(360px, 0.76fr);
  min-height: clamp(560px, 58vw, 720px);
  border-left: 1px solid rgba(255, 255, 255, 0.10);
  border-right: 1px solid rgba(255, 255, 255, 0.10);
}

/* Left editorial panel */
.pricing-card {
  position: relative;
  min-width: 0;
  display: grid;
  align-items: start;
  padding:
    clamp(54px, 6vw, 82px)
    clamp(34px, 5vw, 76px);
  border: 0;
  border-radius: 0;
  border-right: 1px solid rgba(255, 255, 255, 0.11);
  background:
    linear-gradient(
      145deg,
      rgba(1, 3, 15, 0.72),
      rgba(3, 6, 20, 0.58)
    );
  overflow: hidden;
}

.pricing-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: rgba(7, 11, 30, 0.82);
}

.pricing-card-inner {
  position: relative;
  z-index: 1;
  max-width: 760px;
  min-width: 0;
}

.pricing-headline {
  margin: 0;
  max-width: 760px;
  color: var(--ink);
  font-family: var(--font-display);
  font-size: clamp(30px, 4vw, 60px);
  line-height: 1.02;
  letter-spacing: -0.055em;
  text-transform: none;
  text-wrap: balance;
}
.pricing-headline span {
  display: block;
  color: rgba(197, 206, 231, 0.62);
  font-weight: inherit;
}
.pricing-note {
  margin: clamp(26px, 3vw, 38px) 0 0;
  max-width: 680px;
  color: var(--ink-soft);
  font-size: clamp(15px, 1.25vw, 20px);
  line-height: 1.68;
}

.pricing-note + .pricing-note {
  margin-top: 18px;
}

.pricing-actions {
  margin-top: 34px !important;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.cavbot-product-showcase,
.cavbot-collab,
.cavbot-security {
  overflow-anchor: none;
}

.pricing-meta {
  margin-top: 8px;
  font-size: 11px;
  line-height: 1.7;
  color: var(--ink-subtle);
}

/* Right navy setup panel — no lime, no purple, no colored overlays */
.docs-card {
  min-width: 0;
  display: grid;
  grid-template-rows: repeat(3, minmax(0, 1fr));
  border: 0;
  border-radius: 0;
  background: rgba(7, 11, 30, 0.88);
  overflow: hidden;
}

.setup-step {
  position: relative;
  min-width: 0;
  padding:
    clamp(30px, 3.4vw, 50px)
    clamp(22px, 2.4vw, 34px);
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-content: center;
  align-items: center;
  gap: clamp(18px, 2.4vw, 34px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.11);
  overflow: hidden;
  background: rgba(10, 16, 38, 0.94);
  transition:
    background 260ms ease,
    border-color 260ms ease;
}

.setup-step:last-child {
  border-bottom: 0;
}

.setup-step::before,
.setup-step:nth-child(2)::before,
.setup-step:nth-child(3)::before {
  content: none !important;
  display: none !important;
}

.setup-step:hover,
.setup-step:focus-within {
  background: rgba(7, 11, 30, 0.88);
}

.setup-step-number {
  position: relative;
  z-index: 1;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(3, 6, 20, 0.86);
  display: inline-grid;
  place-items: center;
  color: var(--ink);
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
}

.setup-step-content {
  position: relative;
  z-index: 1;
  min-width: 0;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}

.docs-item-label {
  margin: 0 0 10px;
  max-width: 100%;
  color: var(--ink);
  font-size: 11px;
  line-height: 1.25;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 800;
  overflow-wrap: anywhere;
  word-break: normal;
}

.setup-step-copy {
  width: 100%;
  max-width: 28ch;
  color: var(--ink-soft);
  font-size: clamp(13px, 1vw, 16px);
  line-height: 1.58;
  overflow-wrap: anywhere;
  word-break: normal;
}

/* Legacy support */
.docs-title {
  display: none;
}

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

.badge-chip {
  display: inline-flex;
  align-items: center;
  border-radius: 4px;
  padding: 5px 12px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(3, 8, 18, 0.98);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ink-soft);
}

/* Start/setup entrance animation */
.pricing-docs.is-ready .pricing-card,
.pricing-docs.is-ready .docs-card {
  opacity: 0;
  transform: translateY(-46px);
  will-change: transform, opacity;
  transition:
    transform 860ms cubic-bezier(0.16, 1, 0.3, 1),
    opacity 560ms ease;
}

.pricing-docs.is-ready .setup-step {
  opacity: 0;
  transform: translateY(-24px);
  will-change: transform, opacity;
  transition:
    transform 720ms cubic-bezier(0.16, 1, 0.3, 1),
    opacity 480ms ease;
}

.pricing-docs.is-ready.is-visible .pricing-card,
.pricing-docs.is-ready.is-visible .docs-card {
  opacity: 1;
  transform: translateY(0);
}

.pricing-docs.is-ready.is-visible .docs-card {
  transition-delay: 80ms;
}

.pricing-docs.is-ready.is-visible .setup-step {
  opacity: 1;
  transform: translateY(0);
}

.pricing-docs.is-ready.is-visible .setup-step:nth-child(1) {
  transition-delay: 160ms;
}

.pricing-docs.is-ready.is-visible .setup-step:nth-child(2) {
  transition-delay: 250ms;
}

.pricing-docs.is-ready.is-visible .setup-step:nth-child(3) {
  transition-delay: 340ms;
}

@media (prefers-reduced-motion: reduce) {
  .pricing-docs.is-ready .pricing-card,
  .pricing-docs.is-ready .docs-card,
  .pricing-docs.is-ready .setup-step {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* Responsive */
@media (max-width: 1120px) {
  .pricing-shell {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .pricing-card {
    min-height: 420px;
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.11);
  }

  .docs-card {
    grid-template-rows: none;
  }

  .setup-step {
    min-height: 220px;
  }

  .setup-step-copy {
    max-width: 44rem;
  }
}

@media (max-width: 640px) {
  .pricing-shell {
    width: min(100% - 28px, 560px);
  }

  .pricing-card {
    min-height: 400px;
    padding: 34px 24px;
  }

  .pricing-headline {
    font-size: clamp(34px, 10vw, 48px);
    line-height: 1.02;
  }

  .pricing-note,
  .setup-step-copy {
    font-size: 14px;
    line-height: 1.68;
  }

  .setup-step {
    min-height: 210px;
    padding: 28px 24px;
    grid-template-columns: 34px minmax(0, 1fr);
  }

  .docs-item-label {
    font-size: 10px;
    letter-spacing: 0.16em;
  }

  .setup-step-copy {
    max-width: 100%;
  }
}


  /* ==============================
  CAVBOT 404 ARCADE (COVERS)
  =============================== */
.arcade-logo-stage {
  width: 100%;
  display: grid;
  place-items: center;
  text-align: center;
  overflow: visible;
}


.arcade-logo {
  display: block;
  width: min(480px, 76vw);
  height: auto;
  object-fit: contain;
  opacity: 0;
  transform: translateY(-42px) scale(0.96);

  will-change: transform, opacity;
  transition:
    transform 1050ms cubic-bezier(0.16, 1, 0.3, 1),
    opacity 850ms ease,
    filter 1050ms ease;
}


.arcade-logo-stage.is-visible .arcade-logo {
  opacity: 1;
  transform: translateY(0) scale(1);

}


@media (max-width: 700px) {
  .arcade-logo {
    width: min(280px, 76vw);
  }
}


@media (prefers-reduced-motion: reduce) {
  .arcade-logo {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

.arcade-strip {
  position: relative;
  width: 100%;
  max-width: 1220px;
  margin: 0 auto;
  padding: 0 56px 30px;
}


.arcade-viewport {
  width: 100%;
  overflow: visible;
}


.arcade-track {
  --arcade-gap: clamp(22px, 2.2vw, 30px);


  display: flex;
  gap: var(--arcade-gap);
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;


  /*
    This padding is important.
    It gives the center card room to breathe so nothing clips at the top.
  */
  padding: 28px 0 78px;
}


.arcade-track::-webkit-scrollbar {
  display: none;
}


.arcade-slide {
  flex: 0 0 calc((100% - (var(--arcade-gap) * 2)) / 3);
  min-width: 0;
  scroll-snap-align: center;
  transform: translateY(30px) scale(0.92);
  opacity: 0.76;
  z-index: 1;
  transition:
    transform 700ms cubic-bezier(0.16, 1, 0.3, 1),
    opacity 500ms ease,
    filter 500ms ease;
  will-change: transform, opacity;
}


.arcade-slide.is-near {
  transform: translateY(22px) scale(0.96);
  opacity: 0.9;
  z-index: 2;
}


.arcade-slide.is-active {
  transform: translateY(0) scale(1.02);
  opacity: 1;
  z-index: 5;
}


.arcade-slide.is-far {
  transform: translateY(38px) scale(0.88);
  opacity: 0.48;
  z-index: 1;
}


.arcade-cover-link {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  text-decoration: none;
  color: inherit;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: rgba(1, 3, 15, 0.98);
}


.arcade-slide.is-active .arcade-cover-link {
  border-color: var(--lime-soft);
}

.arcade-cover,
.arcade-preview-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}

.arcade-cover {
  z-index: 1;
  opacity: 1;
  transition:
    opacity 260ms ease,
    filter 320ms ease;
}


.arcade-preview-video {
  z-index: 2;
  opacity: 0;
  pointer-events: none;
  background: transparent;
  transition: opacity 260ms ease;
}


.arcade-slide.is-active:hover {
  transform: translateY(10px) scale(1.02);
}


.arcade-slide.is-active .arcade-cover-link.is-previewing .arcade-preview-video {
  opacity: 1;
}


.arcade-slide.is-active .arcade-cover-link.is-previewing .arcade-cover {
  opacity: 0;
}



.arcade-slide:not(.is-active):hover {
  transform: inherit;
}


/* Arcade chevrons */
.arcade-nav {
  position: absolute;
  top: 50%;
  z-index: 20;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  background: rgba(7, 11, 30, 0.66);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  display: grid;
  place-items: center;
  cursor: pointer;
  transform: translateY(-50%);
  transition:
    transform 220ms ease,
    border-color 220ms ease,
    background 220ms ease,
    opacity 220ms ease;
}


.arcade-nav:hover {
  transform: translateY(-50%) scale(1.06);
  border-color: rgba(255, 255, 255, 0.48);
  background: rgba(10, 15, 38, 0.92);
}


.arcade-nav img {
  width: 18px;
  height: 18px;
  display: block;
  object-fit: contain;
  opacity: 1;
  filter:
    brightness(0)
    invert(1);
}


.arcade-nav--prev {
  left: 0;
}


.arcade-nav--next {
  right: 0;
}


.arcade-nav--prev img {
  transform: rotate(180deg);
}


.arcade-nav.is-disabled {
  opacity: 0.34;
  pointer-events: none;
}


@media (max-width: 900px) {
  .arcade-strip {
    padding: 0 46px 26px;
  }


  .arcade-slide {
    flex-basis: calc((100% - var(--arcade-gap)) / 2);
  }
}


@media (max-width: 700px) {
  .arcade-strip {
    padding: 0 38px 24px;
  }


  .arcade-track {
    --arcade-gap: 16px;
    padding: 22px 0 48px;
  }


  .arcade-slide {
    flex-basis: 100%;
  }


  .arcade-slide,
  .arcade-slide.is-near,
  .arcade-slide.is-active,
  .arcade-slide.is-far {
    transform: translateY(0) scale(1);
    opacity: 1;
  }


  .arcade-slide.is-active:hover {
    transform: translateY(8px) scale(1);
  }


  .arcade-nav {
    width: 34px;
    height: 34px;
  }


  .arcade-nav img {
    width: 15px;
    height: 15px;
  }
}


@media (prefers-reduced-motion: reduce) {
  .arcade-slide,
  .arcade-slide.is-near,
  .arcade-slide.is-active,
  .arcade-slide.is-far,
  .arcade-nav,
  .arcade-cover,
  .arcade-preview-video {
    transition: none;
  }


  .arcade-slide,
  .arcade-slide.is-near,
  .arcade-slide.is-active,
  .arcade-slide.is-far {
    transform: none;
    opacity: 1;
  }
}


/* ==============================
   404 ARCADE EXPLAINER
   ============================== */


.arcade-guide {
  margin-top: var(--space-xxl);
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
  gap: clamp(42px, 7vw, 110px);
  align-items: start;
  padding-top: 18px;
}

.arcade-guide-left,
.arcade-guide-faq {
  opacity: 0;
  transform: translateY(42px);
  will-change: transform, opacity;
  transition:
    transform 850ms cubic-bezier(0.16, 1, 0.3, 1),
    opacity 620ms ease;
}

.arcade-guide.is-visible .arcade-guide-left,
.arcade-guide.is-visible .arcade-guide-faq {
  opacity: 1;
  transform: translateY(0);
}

.arcade-guide.is-visible .arcade-guide-faq {
  transition-delay: 90ms;
}


.arcade-guide-left {
  display: grid;
  gap: 22px;
  align-content: start;
}


.arcade-guide-title {
  margin: 0;
  max-width: 760px;
  font-family: var(--font-display);
  font-size: clamp(30px, 4.0vw, 66px);
  line-height: 0.98;
  letter-spacing: -0.04em;
  color: var(--ink);
}


.arcade-guide-copy {
  margin: 0;
  max-width: 620px;
  font-size: clamp(12px, 1.4vw, 20px);
  line-height: 1.45;
  color: var(--ink-soft);
}


.arcade-guide-cta {
  margin-top: 10px;
}


.arcade-guide-faq {
  display: grid;
  border-top: 1px solid rgba(255, 255, 255, 0.13);
}


.arcade-guide-faq .faq-item {
  border-bottom: 1px solid rgba(255, 255, 255, 0.13);
}


.arcade-faq-q {
  width: 100%;
  border: 0;
  background: transparent;
  color: var(--ink);
  padding: 22px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  cursor: pointer;
  text-align: left;
  font-family: var(--font-display);
  font-size: clamp(14px, 1.4vw, 20px);
  line-height: 1.15;
  letter-spacing: -0.01em;
}


.arcade-faq-q span {
  display: block;
}


.arcade-faq-chevron {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  color: #ffffff;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
  fill: none;
  opacity: 0.92;
  transition:
    transform 220ms ease,
    opacity 220ms ease;
}


.faq-item.is-open .arcade-faq-chevron {
  transform: rotate(180deg);
  opacity: 1;
}


.arcade-faq-a {
  margin: -6px 0 22px;
  max-width: 620px;
  font-size: 14px;
  line-height: 1.8;
  color: var(--ink-soft);
}


.arcade-faq-q:hover .arcade-faq-chevron {
  opacity: 1;
}


@media (max-width: 900px) {
  .arcade-guide {
    grid-template-columns: 1fr;
    gap: 34px;
  }


  .arcade-guide-title {
    font-size: clamp(38px, 11vw, 64px);
  }


  .arcade-guide-copy {
    font-size: 16px;
  }
}


@media (prefers-reduced-motion: reduce) {
  .arcade-guide-left,
  .arcade-guide-faq {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  .arcade-faq-chevron {
    transition: none;
  }
}

 /* ==============================
  PILOT / LOGO MARQUEE STRIP
  ============================== */

.pilot-logo-section {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  border-bottom: 1px solid rgba(255, 255, 255, 0.10);
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  overflow: hidden;
}

.pilot-logo-section::before,
.pilot-logo-section::after {
  content: none !important;
  display: none !important;
}

.pilot-logo-marquee {
  position: relative;
  width: 100%;
  min-height: 82px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}
.pilot-logo-marquee::before,
.pilot-logo-marquee::after {
  content: none !important;
  display: none !important;
}


.pilot-logo-track {
  display: flex;
  align-items: center;
  width: max-content;
  will-change: transform;
  transform: translate3d(0, 0, 0);
}

.pilot-logo-group {
  display: flex;
  align-items: center;
  gap: clamp(80px, 8vw, 166px);
  padding: 0 clamp(44px, 5.5vw, 88px);
  flex: 0 0 auto;
}

.pilot-logo-item {
  display: grid;
  place-items: center;
  flex: 0 0 clamp(128px, 10vw, 220px);
  width: clamp(128px, 10vw, 220px);
  opacity: var(--logo-opacity, 0.82);
  transform: scale(var(--logo-scale, 1));
  transition:
    opacity 120ms linear,
    transform 120ms linear;
  will-change: opacity, transform;

  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  filter: none !important;
}
.pilot-logo-img {
  display: block !important;
  width: auto !important;
  height: clamp(34px, 3.4vw, 52px) !important;
  max-width: 100% !important;
  object-fit: contain !important;
  opacity: 1 !important;

  filter:
    brightness(0)
    invert(1)
    grayscale(1)
    contrast(0.86) !important;

  mix-blend-mode: normal !important;
  box-shadow: none !important;
  text-shadow: none !important;
  transform: translateZ(0);
}

/* Pause/play button */
.pilot-logo-toggle {
  position: absolute;
  right: clamp(18px, 3vw, 34px);
  bottom: 12px;
  z-index: 8;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: rgba(3, 7, 22, 0.98);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  display: grid;
  place-items: center;
  cursor: pointer;
  padding: 0;
  transition:
    transform 220ms ease,
    background 220ms ease,
    border-color 220ms ease,
    opacity 220ms ease;
}

.pilot-logo-toggle:hover {
  transform: translateY(-1px);
  background: rgba(7, 11, 30, 1);
  border-color: rgba(255, 255, 255, 0.28);
}


.pilot-logo-toggle-icon {
  width: 10px;
  height: 10px;
  object-fit: contain;
  display: block;
  filter:
    brightness(0)
    invert(1);
}

.pilot-logo-toggle-icon--play {
  display: none;
}

.pilot-logo-marquee.is-paused .pilot-logo-toggle-icon--pause {
  display: none;
}

.pilot-logo-marquee.is-paused .pilot-logo-toggle-icon--play {
  display: block;
}

@media (max-width: 700px) {
  .pilot-logo-marquee {
    min-height: 74px;

  }

  .pilot-logo-group {
    gap: 64px;
    padding: 0 34px;
  }
.pilot-logo-item {
  flex-basis: clamp(108px, 30vw, 156px);
  width: clamp(108px, 30vw, 156px);
}

  .pilot-logo-img {
    height: 30px !important;
    max-width: 170px !important;
  }

  .pilot-logo-toggle {
    width: 26px;
    height: 26px;
    right: 18px;
    bottom: 10px;
  }

  .pilot-logo-toggle-icon {
    width: 10px;
    height: 10px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pilot-logo-track {
    transform: none !important;
  }

  .pilot-logo-item {
    opacity: 0.86 !important;
    transform: none !important;
  }
}

 /* ==============================
  CAVBOT COLLABORATION
  ============================== */


.cavbot-collab {
  --blue-soft: rgba(78, 168, 255, 0.85);
  --collab-line: rgba(255, 255, 255, 0.10);
  --collab-line-strong: rgba(255, 255, 255, 0.16);
  --collab-panel: rgba(7, 11, 30, 0.92);
  --collab-panel-soft: rgba(255, 255, 255, 0.035);
  width: 100vw;
  margin-left: calc(50% - 50vw);
  padding: clamp(70px, 8vw, 118px) 0 0;
  background: transparent;
  overflow: hidden;
}


.cavbot-collab svg {
  display: block;
  width: 100%;
  height: 100%;
}


.cavbot-collab svg * {
  vector-effect: non-scaling-stroke;
  stroke-linecap: round;
  stroke-linejoin: round;
}


.collab-shell {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}


.collab-hero {
  display: grid;
  justify-items: center;
  text-align: center;
  gap: 18px;
  padding: 0 clamp(22px, 5vw, 72px) clamp(38px, 5vw, 70px);
}

.collab-hero-icon-wrap,
.collab-title,
.collab-lede {
  opacity: 0;
  transform: translateY(38px);
  will-change: transform, opacity;
  transition:
    transform 860ms cubic-bezier(0.16, 1, 0.3, 1),
    opacity 620ms ease;
}

.cavbot-collab.is-visible .collab-hero-icon-wrap,
.cavbot-collab.is-visible .collab-title,
.cavbot-collab.is-visible .collab-lede {
  opacity: 1;
  transform: translateY(0);
}

.cavbot-collab.is-visible .collab-title {
  transition-delay: 80ms;
}

.cavbot-collab.is-visible .collab-lede {
  transition-delay: 150ms;
}


.collab-hero-icon-wrap {
  width: clamp(42px, 4vw, 66px);
  height: clamp(42px, 4vw, 66px);
  display: grid;
  place-items: center;
  position: relative;
  isolation: isolate;
}


.collab-hero-icon-wrap::before {
  content: "";
  position: absolute;
  inset: 10%;
  border-radius: 999px;
  background: currentColor;
  opacity: 0.22;
  filter: blur(18px);
  animation: collabIconAura 7.5s ease-in-out infinite;
  z-index: -1;
}


.collab-hero-icon {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  opacity: 0.98;
  animation: collabIconColorCycle 7.5s ease-in-out infinite;
  will-change: filter;
}


/* Smooth CavBot color loading cycle:
   white → blue → lime → violet → white */
@keyframes collabIconColorCycle {
  0%,
  100% {
    filter:
      brightness(0)
      invert(1)
      grayscale(1)
      contrast(0.96)

  }


  25% {
    filter:
      brightness(0)
      saturate(100%)
      invert(66%)
      sepia(85%)
      saturate(1778%)
      hue-rotate(176deg)
      brightness(102%)
      contrast(101%)

  }


  50% {
    filter:
      brightness(0)
      saturate(100%)
      invert(91%)
      sepia(57%)
      saturate(639%)
      hue-rotate(21deg)
      brightness(105%)
      contrast(101%)

  }


  75% {
    filter:
      brightness(0)
      saturate(100%)
      invert(62%)
      sepia(33%)
      saturate(1645%)
      hue-rotate(219deg)
      brightness(96%)
      contrast(97%)

  }
}


@keyframes collabIconAura {
  0%,
  100% {
    color: rgba(255, 255, 255, 0.75);
    transform: scale(0.92);
  }


  25% {
    color: rgba(78, 168, 255, 0.85);
    transform: scale(1);
  }


  50% {
    color:  rgba(185, 200, 90, 0.22);
    transform: scale(1.04);
  }


  75% {
    color:  rgba(139, 92, 255, 0.2);
    transform: scale(1);
  }
}


@media (prefers-reduced-motion: reduce) {
  .collab-hero-icon,
  .collab-hero-icon-wrap::before {
    animation: none;
  }


  .collab-hero-icon {
    filter:
      brightness(0)
      invert(1)
      grayscale(1)
      contrast(0.96)

  }
}



.collab-title {
  margin: 0;
  max-width: 860px;
  font-family: var(--font-display);
  font-size: clamp(35px, 3.5vw, 56px);
  line-height: 1.02;
  letter-spacing: -0.045em;
  color: var(--ink);
}


.collab-lede {
  margin: 0;
  max-width: 760px;
  font-size: clamp(15px, 2vw, 20px);
  line-height: 1.45;
  color: var(--ink-soft);
}


/* ==============================
  BIG CODED PREVIEW
  ============================== */


.collab-showcase {
  position: relative;
  width: 100%;
  border-bottom: 1px solid var(--collab-line);
  background: rgba(1, 3, 15, 0.72);
  padding: clamp(28px, 5vw, 66px) clamp(22px, 6vw, 92px);
  overflow: hidden;
  opacity: 0;
  transform: translateY(-46px);
  will-change: transform, opacity;
  transition:
    transform 860ms cubic-bezier(0.16, 1, 0.3, 1),
    opacity 560ms ease;
}

.collab-showcase.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.collab-showcase .collab-cell {
  opacity: 0;
  transform: translateY(-28px);
  will-change: transform, opacity;
  transition:
    transform 760ms cubic-bezier(0.16, 1, 0.3, 1),
    opacity 500ms ease;
}

.collab-showcase.is-visible .collab-cell {
  opacity: 1;
  transform: translateY(0);
}

.collab-showcase.is-visible .collab-cell:nth-child(2) {
  transition-delay: 90ms;
}

.collab-showcase.is-visible .collab-cell:nth-child(3) {
  transition-delay: 180ms;
}

.collab-showcase.is-visible .collab-cell:nth-child(4) {
  transition-delay: 270ms;
}


.collab-showcase::before {
  content: none;
}


.collab-preview-window {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1420px;
  margin: 0 auto;
  border-radius: 26px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  background: linear-gradient(180deg, rgba(12, 18, 42, 0.98), rgba(4, 8, 23, 0.98));
  overflow: hidden;
}


/* top bar */


.collab-preview-topbar {
  min-height: 64px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 20px;
  padding: 0 28px;
  border-bottom: 1px solid var(--collab-line);
}


.collab-preview-brand,
.collab-preview-title,
.collab-preview-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}


.collab-preview-brand {
  justify-self: start;
  min-width: 0;
}


.collab-preview-brand-text {
  display: grid;
  gap: 2px;
  line-height: 1;
}


.collab-preview-brand-text strong {
  color: var(--ink);
  font-size: 13px;
  font-weight: 800;
}


.collab-preview-brand-text small {
  color: var(--ink-soft);
  font-size: 11px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}


.collab-preview-mark {
  width: 22px;
  height: 22px;
  flex: 0 0 auto;
  display: block;
}


.collab-preview-mark svg rect,
.collab-preview-mark svg path {
  stroke: rgba(185, 216, 255, 0.92);
  stroke-width: 1.6;
}


.collab-preview-title {
  justify-self: center;
  color: var(--ink);
  font-size: 16px;
  font-weight: 800;
  letter-spacing: -0.01em;
}


.collab-preview-title svg {
  width: 16px;
  height: 16px;
}


.collab-preview-title svg path {
  stroke: rgba(255, 255, 255, 0.7);
  stroke-width: 1.8;
}


.collab-preview-actions {
  justify-self: end;
}


.collab-preview-avatars {
  display: flex;
  align-items: center;
}


.avatar-chip {
  width: 28px;
  height: 28px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.14);
  color: #f7fbff;
  font-size: 10px;
  font-style: normal;
  font-weight: 700;
  box-shadow: 0 0 0 2px rgba(7, 11, 30, 0.85);
}


.collab-preview-avatars .avatar-chip + .avatar-chip,
.collab-mini-avatars .avatar-chip + .avatar-chip {
  margin-left: -7px;
}


.avatar-chip--a {
  background: linear-gradient(135deg, #476dff, #6e92ff);
}


.avatar-chip--b {
  background: linear-gradient(135deg, #1f9e87, #5bc8a7);
}


.avatar-chip--c {
  background: linear-gradient(135deg, #8c52ff, #b286ff);
}


.avatar-chip--meta {
  background: linear-gradient(135deg, #374155, #4c5972);
}


.collab-preview-share {
  height: 34px;
  padding: 0 14px;
  border-radius: 4px;
  border: 1px solid rgba(92, 116, 255, 0.72);
  background: rgba(92, 116, 255, 0.14);
  color: var(--ink);
  font: inherit;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}


.collab-preview-share svg {
  width: 16px;
  height: 16px;
}


.collab-preview-share svg path,
.collab-preview-share svg rect {
  stroke: rgba(240, 246, 255, 0.92);
  stroke-width: 1.6;
}


.collab-preview-icon-btn {
  width: 34px;
  height: 34px;
  border-radius: 4px;
  border: 1px solid rgba(255, 255, 255, 0.10);
  background: rgba(255, 255, 255, 0.035);
  display: grid;
  place-items: center;
  padding: 0;
  cursor: pointer;
}


.collab-preview-icon-btn svg {
  width: 16px;
  height: 16px;
}


.collab-preview-icon-btn svg path,
.collab-preview-icon-btn svg circle {
  stroke: rgba(255, 255, 255, 0.78);
  stroke-width: 1.6;
}


/* tabs */


.collab-preview-tabs {
  height: 58px;
  display: flex;
  align-items: end;
  gap: 30px;
  padding: 0 28px;
  border-bottom: 1px solid var(--collab-line);
}


.collab-preview-tabs button {
  appearance: none;
  border: 0;
  background: transparent;
  color: var(--ink-soft);
  height: 100%;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0;
  font: inherit;
  font-size: 14px;
  cursor: pointer;
  position: relative;
}


.collab-preview-tabs button svg {
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
}


.collab-preview-tabs button svg path,
.collab-preview-tabs button svg rect,
.collab-preview-tabs button svg circle {
  stroke: currentColor;
  stroke-width: 1.7;
}


.collab-preview-tabs button.is-active {
  color: var(--ink);
}


.collab-preview-tabs button.is-active::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 2px;
  border-radius: 999px;
  background: var(--blue-soft);
}


/* body */


.collab-preview-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 292px;
  gap: 16px;
  padding: 24px;
}


.collab-preview-board {
  min-width: 0;
  border-radius: 14px;
  border: 1px solid var(--collab-line);
  background: rgba(255, 255, 255, 0.018);
  overflow: hidden;
}


.collab-board-head,
.collab-task-row {
  display: grid;
  grid-template-columns: minmax(260px, 1.9fr) 128px 128px 116px 142px 94px 42px;
  align-items: center;
  gap: 0;
}


.collab-board-head {
  min-height: 40px;
  padding: 0 16px;
  color: var(--ink-soft);
  font-size: 12px;
  border-bottom: 1px solid var(--collab-line);
}


.collab-task-group {
  border-bottom: 1px solid var(--collab-line);
}


.collab-task-group--last {
  border-bottom: 0;
}


.collab-task-group-title {
  min-height: 42px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.055);
  color: var(--ink);
}


.collab-task-chevron,
.collab-task-group-icon {
  width: 14px;
  height: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--ink-soft);
  flex: 0 0 auto;
}


.collab-task-chevron svg path,
.collab-task-group-icon svg path,
.collab-task-group-icon svg rect {
  stroke: currentColor;
  stroke-width: 1.8;
}


.collab-task-group-title strong {
  font-size: 14px;
}


.collab-task-group-title em {
  min-width: 22px;
  height: 20px;
  border-radius: 4px;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, 0.06);
  color: var(--ink-soft);
  font-size: 11px;
  font-style: normal;
}


.collab-task-row {
  min-height: 36px;
  padding: 0 16px;
  color: var(--ink-soft);
  font-size: 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.045);
}


.collab-task-row:last-child {
  border-bottom: 0;
}


.collab-task-row > span {
  min-width: 0;
}


.collab-task-name {
  display: flex;
  align-items: center;
  gap: 14px;
  color: var(--ink);
}


.collab-task-name b {
  width: 16px;
  color: var(--ink-soft);
  font-weight: 500;
}


.collab-pill {
  min-width: 82px;
  width: fit-content;
  height: 23px;
  padding: 0 10px;
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-style: normal;
  font-size: 11px;
  font-weight: 700;
  border: 1px solid rgba(255, 255, 255, 0.14);
}


.collab-pill--blue {
  color: #8fa8ff;
  background: rgba(78, 96, 255, 0.13);
  border-color: rgba(78, 96, 255, 0.38);
}


.collab-pill--green {
  color: #77dd8a;
  background: rgba(63, 185, 80, 0.12);
  border-color: rgba(63, 185, 80, 0.36);
}


.collab-pill--yellow {
  color: #ffe46d;
  background: rgba(255, 210, 71, 0.11);
  border-color: rgba(255, 210, 71, 0.36);
}


.collab-pill--violet {
  color: #b692ff;
  background: rgba(139, 92, 255, 0.12);
  border-color: rgba(139, 92, 255, 0.38);
}


.collab-pill--gray {
  color: var(--ink-soft);
  background: rgba(255, 255, 255, 0.04);
}


.collab-owner {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}


.collab-owner i,
.collab-owner small,
.collab-activity-list span {
  width: 23px;
  height: 23px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #476dff, #6e92ff);
  border: 1px solid rgba(255, 255, 255, 0.14);
  color: #f7fbff;
  font-size: 9px;
  font-style: normal;
  font-weight: 700;
}


.collab-owner small {
  margin-left: -12px;
  background: linear-gradient(135deg, #374155, #4c5972);
}


.collab-signal {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}


.collab-signal::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 999px;
}


.collab-signal--good::before {
  background: #43d367;
}


.collab-signal--watch::before {
  background: #f5a742;
}


.collab-progress {
  display: grid;
  grid-template-columns: 1fr 38px;
  align-items: center;
  gap: 10px;
}


.collab-progress i {
  height: 5px;
  border-radius: 999px;
  background: #6f7cff;
  display: block;
}


.collab-progress b {
  color: var(--ink-soft);
  font-weight: 500;
}


.collab-progress--empty {
  display: block;
}


.collab-row-menu {
  text-align: right;
  letter-spacing: 0.08em;
}


.collab-add-row {
  min-height: 38px;
  display: flex;
  align-items: center;
  padding: 0 16px;
  color: var(--ink-soft);
  font-size: 13px;
}


/* sidebar */


.collab-preview-sidebar {
  display: grid;
  gap: 16px;
  align-content: start;
}


.collab-side-card {
  border-radius: 14px;
  border: 1px solid var(--collab-line);
  background: rgba(255, 255, 255, 0.026);
  padding: 14px;
}


.collab-side-card h4 {
  margin: 0 0 14px;
  color: var(--ink);
  font-size: 14px;
}


.collab-highlight-row {
  min-height: 54px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid rgba(255, 255, 255, 0.045);
  padding: 10px 12px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}


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


.collab-highlight-row strong {
  color: var(--ink);
  font-size: 20px;
}


.collab-highlight-row span,
.collab-highlight-row small {
  color: var(--ink-soft);
  font-size: 12px;
}


.collab-highlight-row--signal {
  grid-template-columns: 1fr 100px;
}


.collab-highlight-row--signal strong {
  display: block;
  color: #77dd8a;
  font-size: 15px;
  margin-top: 3px;
}


.collab-highlight-row--signal svg {
  width: 100%;
  height: 42px;
  color: #57d8dc;
}


.collab-highlight-row--signal svg polyline {
  stroke: currentColor;
}


.collab-mini-avatars,
.collab-file-pills,
.collab-sync-dots {
  display: flex;
  align-items: center;
}


.collab-mini-avatars .avatar-chip {
  width: 23px;
  height: 23px;
  font-size: 8px;
}


.collab-file-pills {
  gap: 4px;
}


.collab-file-pills i {
  min-width: 22px;
  height: 22px;
  padding: 0 5px;
  border-radius: 4px;
  display: grid;
  place-items: center;
  background: rgba(78, 168, 255, 0.12);
  border: 1px solid rgba(78, 168, 255, 0.25);
  color: var(--blue-soft);
  font-style: normal;
  font-size: 9px;
  font-weight: 700;
}


.collab-sync-dots i {
  width: 25px;
  height: 25px;
  border-radius: 999px;
  border: 1px solid #43d367;
  position: relative;
  margin-left: -3px;
  background: rgba(7, 11, 30, 0.9);
}


.collab-sync-dots i::after {
  content: "";
  position: absolute;
  inset: 7px;
  border-radius: 999px;
  background: #43d367;
}


.collab-sync-dots i:nth-child(2) {
  border-color: #b692ff;
}


.collab-sync-dots i:nth-child(2)::after {
  background: #b692ff;
}


.collab-sync-dots i:nth-child(3) {
  border-color: #4e7cff;
}


.collab-sync-dots i:nth-child(3)::after {
  background: #4e7cff;
}


/* activity */


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


.collab-activity-list li {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 9px;
  align-items: start;
}


.collab-activity-list span {
  width: 20px;
  height: 20px;
  font-size: 8px;
}


.collab-activity-list p {
  margin: 0;
  color: var(--ink-soft);
  font-size: 11px;
  line-height: 1.35;
}


.collab-activity-list em {
  display: block;
  margin-top: 2px;
  color: var(--ink-subtle);
  font-style: normal;
}


.collab-activity-link {
  margin-top: 18px;
  min-height: 34px;
  border-radius: 9px;
  border: 1px solid var(--collab-line);
  color: #8fa8ff;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 12px;
  font-size: 12px;
}


.collab-activity-link svg {
  width: 14px;
  height: 14px;
}


.collab-activity-link svg path {
  stroke: currentColor;
  stroke-width: 1.8;
}


/* footer */


.collab-preview-footer {
  min-height: 42px;
  display: flex;
  align-items: center;
  gap: 26px;
  padding: 0 28px;
  border-top: 1px solid var(--collab-line);
  color: var(--ink-soft);
  font-size: 12px;
}


.collab-preview-footer span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}


.collab-preview-footer i {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: #43d367;
}


.collab-preview-footer b {
  width: 34px;
  height: 18px;
  border-radius: 999px;
  background: #6574ff;
  position: relative;
}


.collab-preview-footer b::after {
  content: "";
  position: absolute;
  top: 3px;
  right: 3px;
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: #fff;
}


.collab-preview-spacer {
  flex: 1;
}


/* ==============================
  LOWER GRID
  ============================== */


.collab-connected-grid {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  border-top: 1px solid var(--collab-line);
  border-bottom: 1px solid var(--collab-line);
  background: rgba(1, 3, 15, 0.72);
}


.collab-cell {
  min-height: 300px;
  padding: clamp(34px, 5vw, 64px) clamp(38px, 8vw, 120px);
  border-bottom: 1px solid var(--collab-line);
}


.collab-cell:nth-child(odd) {
  border-right: 1px solid var(--collab-line);
}


.collab-cell--copy,
.collab-cell--quote {
  display: grid;
  align-content: center;
}


.collab-cell h3 {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(25px, 3vw, 36px);
  line-height: 1.12;
  letter-spacing: -0.025em;
  color: var(--ink);
}


.collab-cell--copy p {
  margin: 16px 0 0;
  max-width: 560px;
  font-size: clamp(14px, 1.5vw, 20px);
  line-height: 1.55;
  color: var(--ink-soft);
}


.collab-quote-mark {
  margin-bottom: 16px;
  font-family: var(--font-display);
  font-size: clamp(42px, 5vw, 72px);
  line-height: 0.7;
  color: var(--lime);
}


.collab-quote {
  margin: 0;
  max-width: 610px;
  font-size: clamp(18px, 2.3vw, 26px);
  line-height: 1.22;
  color: var(--ink);
}


.collab-quote-meta {
  margin-top: 28px;
  display: grid;
  gap: 8px;
}


.collab-quote-meta span:first-child {
  font-size: 15px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ink);
}


.collab-quote-meta span:last-child {
  font-size: 14px;
  color: var(--ink-soft);
}


/* links */


.collab-link,
.collab-feature-link {
  color: var(--blue-soft);
  text-decoration: none;
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}


.collab-link {
  margin-top: 26px;
  font-size: 15px;
  line-height: 1;
}


.collab-feature-link {
  margin-top: 18px;
  font-size: clamp(14px, 1.35vw, 17px);
  line-height: 1.2;
}


.collab-link-text,
.collab-feature-link-text {
  position: relative;
  display: inline-block;
  padding-bottom: 5px;
}


.collab-link-text::after,
.collab-feature-link-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: right center;
  transition: transform 260ms ease, opacity 220ms ease;
  opacity: 0.9;
}


.collab-link:hover .collab-link-text::after,
.collab-feature-link:hover .collab-feature-link-text::after {
  transform: scaleX(1);
  transform-origin: right center;
  opacity: 0.9;
}


.collab-link-icon,
.collab-feature-link-icon {
  width: 13px;
  height: 13px;
  display: inline-block;
  flex: 0 0 auto;
  background: currentColor;
  transform: translateY(1px);
  transition: transform 220ms ease;
  -webkit-mask: url("assets/icons/page/chevron-right-svgrepo-com.svg") center / contain no-repeat;
  mask: url("assets/icons/page/chevron-right-svgrepo-com.svg") center / contain no-repeat;
}


.collab-link:hover .collab-link-icon,
.collab-feature-link:hover .collab-feature-link-icon {
  transform: translate(4px, 1px);
}


/* accordion */


.collab-cell--list {
  position: relative;
  display: grid;
  align-content: center;
  gap: 0;
  padding-left: clamp(46px, 7vw, 92px);
}

.collab-feature-progress {
  position: absolute;
  left: clamp(22px, 4vw, 54px);
  top: clamp(34px, 5vw, 64px);
  bottom: clamp(34px, 5vw, 64px);
  width: 2px;
  background: rgba(255, 255, 255, 0.10);
  overflow: hidden;
}

.collab-feature-progress span {
  position: absolute;
  inset: 0 0 auto;
  height: var(--collab-progress, 0%);
  background:
    linear-gradient(
      to bottom,
      var(--lime) 0%,
      var(--blue) 48%,
      var(--violet) 100%
    );
  transition: height 90ms linear;
}


.collab-feature {
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}


.collab-feature:last-child {
  border-bottom: 0;
}


.collab-feature-trigger {
  appearance: none;
  border: 0;
  width: 100%;
  text-align: left;
  background: transparent;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 20px;
  align-items: start;
  padding: 24px 0;
  cursor: pointer;
}


.collab-feature:first-child .collab-feature-trigger {
  padding-top: 0;
}


.collab-feature:last-child .collab-feature-trigger {
  padding-bottom: 24px;
}


.collab-feature-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(16px, 2vw, 28px);
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: var(--ink-soft);
  transition: color 220ms ease;
}


.collab-feature.is-active .collab-feature-title {
  color: var(--ink);
}


.collab-feature-plus {
  color: var(--lime);
  font-size: 24px;
  line-height: 1;
  transform: translateY(1px);
  opacity: 1;
  transition: opacity 180ms ease, transform 180ms ease;
}


.collab-feature.is-active .collab-feature-plus {
  opacity: 0;
  transform: translateY(1px) scale(0.72);
  pointer-events: none;
}


.collab-feature-panel {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transform: translateY(-4px);
  transition:
    max-height 280ms ease,
    opacity 220ms ease,
    transform 220ms ease,
    padding-bottom 220ms ease;
}


.collab-feature.is-active .collab-feature-panel {
  max-height: 190px;
  opacity: 1;
  transform: translateY(0);
  padding-bottom: 24px;
}


.collab-feature-panel p {
  margin: 0;
  max-width: 560px;
  font-size: clamp(15px, 1.5vw, 19px);
  line-height: 1.5;
  color: var(--ink-soft);
}


/* visual side */


.collab-cell--visual {
  display: grid;
  place-items: center;
  align-content: center;
  justify-content: center;
  min-height: clamp(540px, 52vw, 680px);
  background: rgba(7, 11, 30, 0.72);
  overflow: hidden;
  padding: clamp(44px, 5vw, 70px) 24px clamp(72px, 7vw, 96px);
}


.collab-visual-stage {
  width: clamp(420px, 42vw, 520px);
  max-width: calc(100% - 48px);
  height: 360px;
  min-height: 360px;
  position: relative;
  display: grid;
  place-items: center;
  transform: translateY(-14px);
}


.collab-module-card {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity 240ms ease, transform 240ms ease, visibility 240ms ease;
  pointer-events: none;
}


.collab-module-card.is-active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}


.collab-module-window {
  width: 100%;
  min-width: 360px;
  height: 360px;
  min-height: 0;
  max-height: 360px;
  display: grid;
  grid-template-rows: 42px minmax(0, 1fr);
  border-radius: 24px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: linear-gradient(180deg, rgba(17, 25, 58, 0.96), rgba(6, 11, 29, 0.98));
  overflow: hidden;

}


.collab-module-topbar {
  height: 42px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 14px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.10);
  background: rgba(255, 255, 255, 0.03);
  position: relative;
}


.collab-module-topbar > span {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.28);
}


.collab-module-app {
  margin-left: auto;
  color: var(--ink-soft);
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}


/* cavcode card */


.collab-code-app {
  display: grid;
  grid-template-columns: 140px 1fr;
  min-height: 0;
  height: 100%;
}


.collab-code-sidebar {
  border-right: 1px solid rgba(255, 255, 255, 0.08);
  padding: 16px 12px;
  background: rgba(255, 255, 255, 0.02);
}


.collab-code-sidebar-label {
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ink-subtle);
  margin-bottom: 14px;
}


.collab-code-file {
  font-size: 12px;
  color: var(--ink-soft);
  padding: 8px 10px;
  border-radius: 6px;
  margin-bottom: 6px;
}


.collab-code-file.is-active {
  background: rgba(255, 255, 255, 0.07);
  color: var(--ink);
}


.collab-code-editor {
  display: grid;
  grid-template-rows: auto 1fr auto;
}


.collab-code-tabs {
  display: flex;
  gap: 6px;
  padding: 12px 14px 10px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}


.collab-code-tabs span {
  font-size: 12px;
  color: var(--ink-soft);
  padding: 6px 10px;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.03);
}


.collab-code-tabs span.is-active {
  color: var(--ink);
  background: rgba(255, 255, 255, 0.08);
}


.collab-code-lines {
  padding: 14px;
  display: grid;
  gap: 8px;
}


.collab-code-lines div {
  display: grid;
  grid-template-columns: 26px 1fr;
  gap: 12px;
  align-items: start;
}


.collab-code-lines span {
  color: var(--ink-subtle);
  font-size: 12px;
  text-align: right;
}


.collab-code-lines code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 12px;
  color: #dbe7ff;
  white-space: pre-wrap;
}


.collab-code-footer {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  color: var(--ink-soft);
  font-size: 12px;
}


/* shared lower cards */


.collab-cloud-app,
.collab-dash-app,
.collab-tools-app {
  min-height: 0;
  height: 100%;
  padding: 14px 16px;
  display: grid;
  align-content: center;
  gap: 12px;
}


.collab-cloud-header,
.collab-tools-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
}


.collab-cloud-kicker,
.collab-tools-kicker {
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ink-subtle);
  margin-bottom: 8px;
}


.collab-cloud-header h4,
.collab-tools-head h4 {
  margin: 0;
  font-family: var(--font-display);
  font-size: 24px;
  line-height: 1.1;
  color: var(--ink);
}


.collab-cloud-chip,
.collab-tools-status {
  padding: 7px 10px;
  border-radius: 6px;
  border: 1px solid rgba(78, 168, 255, 0.18);
  background: rgba(78, 168, 255, 0.12);
  color: var(--blue-soft);
  font-size: 12px;
  white-space: nowrap;
}


.collab-cloud-list,
.collab-dash-list,
.collab-tools-steps {
  display: grid;
  gap: 7px;
}


.collab-cloud-row,
.collab-dash-row,
.collab-tools-steps div {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 9px 11px;
  border-radius: 4px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.03);
  color: var(--ink);
  font-size: 13px;
}


.collab-cloud-row span:last-child,
.collab-dash-row span:last-child {
  color: var(--ink-soft);
}


.collab-cloud-footer,
.collab-tools-footer {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  color: var(--ink-soft);
  font-size: 12px;
}


/* dashboard card */


.collab-dash-metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 7px;
}


.collab-dash-metric {
  padding: 10px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
}


.collab-dash-metric strong {
  display: block;
  font-size: 20px;
  line-height: 1;
  color: var(--ink);
}


.collab-dash-metric span {
  display: block;
  margin-top: 5px;
  font-size: 12px;
  color: var(--ink-soft);
}


.collab-dash-chart {
  height: 92px;
  display: flex;
  align-items: flex-end;
  gap: 8px;
  padding: 14px 10px 9px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
}


.collab-dash-bar {
  flex: 1;
  border-radius: 999px 999px 4px 4px;
  background: rgba(255, 255, 255, 0.18);
}


.collab-dash-bar.is-accent {
  background: var(--lime);
}


/* cavtools */


.collab-tools-toolbar {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}


.collab-tools-toolbar span {
  padding: 6px 9px;
  border-radius: 6px;
  border: 1px solid rgba(255, 255, 255, 0.09);
  background: rgba(255, 255, 255, 0.05);
  color: var(--ink-soft);
  font-size: 11px;
}


.collab-tools-card {
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, 0.10);
  background: rgba(255, 255, 255, 0.03);
  padding: 12px;
  display: grid;
  gap: 10px;
}


.collab-tools-status {
  background: rgba(220, 255, 115, 0.12);
  border-color: rgba(220, 255, 115, 0.2);
  color: var(--lime);
  font-size: 11px;
}


.collab-tools-steps div {
  display: block;
  padding: 7px 10px;
  color: var(--ink-soft);
  font-size: 12px;
}


.collab-tools-steps .is-done {
  color: var(--ink);
}


.collab-tools-steps .is-live {
  color: var(--blue-soft);
}


/* responsive */


@media (max-width: 1100px) {
  .collab-preview-body {
    grid-template-columns: 1fr;
  }


  .collab-preview-sidebar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }


  .collab-board-head,
  .collab-task-row {
    grid-template-columns: minmax(240px, 1.8fr) 118px 118px 100px 120px 82px 36px;
  }
}


@media (max-width: 900px) {
  .collab-connected-grid {
    grid-template-columns: 1fr;
  }


  .collab-cell {
    min-height: auto;
    padding: 34px 24px;
  }

  .collab-cell--visual {
    min-height: 500px;
    padding: 46px 24px 74px;
  }


  .collab-cell:nth-child(odd) {
    border-right: 0;
  }


  .collab-showcase {
    padding: 24px 14px;
  }


  .collab-preview-topbar {
    grid-template-columns: 1fr;
    justify-items: start;
    padding: 18px;
  }


  .collab-preview-title,
  .collab-preview-actions {
    justify-self: start;
  }


  .collab-preview-tabs {
    overflow-x: auto;
    padding: 0 18px;
  }


  .collab-preview-body {
    padding: 16px;
  }


  .collab-preview-board {
    overflow-x: auto;
  }


  .collab-board-head,
  .collab-task-row {
    width: 920px;
  }


  .collab-preview-sidebar {
    grid-template-columns: 1fr;
  }


  .collab-visual-stage {
    width: min(100%, 520px);
    max-width: calc(100% - 32px);
    height: 360px;
    min-height: 360px;
  }
}


@media (max-width: 640px) {
  .cavbot-collab {
    padding-top: 64px;
  }


  .collab-title {
    font-size: clamp(34px, 11vw, 46px);
  }


  .collab-lede {
    font-size: 17px;
  }


  .collab-cell {
    padding: 30px 22px;
  }


  .collab-feature-trigger {
    padding: 20px 0;
  }


  .collab-feature.is-active .collab-feature-panel {
    padding-bottom: 20px;
  }


  .collab-code-app {
    grid-template-columns: 1fr;
  }


  .collab-code-sidebar {
    display: none;
  }


  .collab-dash-metrics {
    grid-template-columns: 1fr;
  }
}


/* ==============================
   COLLAB PREVIEW DETAILS
   ============================== */

.collab-preview-avatars,
.collab-mini-avatars {
  gap: 6px;
}


.collab-preview-avatars .avatar-chip + .avatar-chip,
.collab-mini-avatars .avatar-chip + .avatar-chip {
  margin-left: 0 !important;
}


.avatar-chip {
  width: 26px;
  height: 26px;
  border-radius: 999px;
  box-shadow: none;
  border: 1px solid rgba(255, 255, 255, 0.18);
}


/* Top-right avatar cluster should feel small and clean */
.collab-preview-avatars .avatar-chip {
  width: 25px;
  height: 25px;
  font-size: 9px;
}


/* Right-side reviewer chips should be even cleaner */
.collab-mini-avatars .avatar-chip {
  width: 23px;
  height: 23px;
  font-size: 8px;
}


.collab-highlight-row > div strong {
  display: block;
  font-size: 15px;
  line-height: 1.15;
  margin-top: 3px;
}


.collab-highlight-row > div small {
  display: block;
  margin-top: 3px;
  font-size: 11px;
  line-height: 1.25;
}


/* Keep only the number rows large: 2 Reviewers / 8 Files shared */
.collab-highlight-row > strong {
  font-size: 20px;
  line-height: 1;
}


/* Fix synced dots spacing */
.collab-sync-dots {
  gap: 6px;
}


.collab-sync-dots i {
  width: 22px;
  height: 22px;
  margin-left: 0 !important;
}


.collab-sync-dots i::after {
  inset: 7px;
}


/* Make the Team row breathe better */
.collab-highlight-row:has(.collab-sync-dots) {
  grid-template-columns: 1fr auto;
  align-items: center;
}


.collab-preview-mark {
  width: 24px;
  height: 24px;
  color: rgba(185, 216, 255, 0.94);
}


.collab-preview-mark svg rect,
.collab-preview-mark svg path,
.collab-preview-mark svg circle {
  stroke: currentColor;
  stroke-width: 1.55;
  fill: none;
}


.collab-preview-mark svg path {
  stroke-width: 1.45;
}


.collab-preview-mark svg circle {
  stroke-width: 1.35;
}


.cavbot-collab {
  --violet-deep: rgba(64, 72, 190, 0.72);
  --violet-deep-soft: rgba(64, 72, 190, 0.14);
  --violet-deep-border: rgba(92, 105, 220, 0.38);
}
/* Darker share button */
.collab-preview-share {
  border-color: var(--violet-deep-border);
  background: var(--violet-deep-soft);
}


/* Darker violet avatar */
.avatar-chip--c {
  background: linear-gradient(135deg, #343b91, #5963c9);
}


/* Darker review pill */
.collab-pill--violet {
  color: #b9c2ff;
  background: rgba(64, 72, 190, 0.12);
  border-color: rgba(92, 105, 220, 0.34);
}


/* Darker progress bars */
.collab-progress i {
  background: #5966d8;
}


/* Darker auto-update toggle */
.collab-preview-footer b {
  background: #4c57c7;
}


/* Darker active tab underline */
.collab-preview-tabs button.is-active::after {
  background: rgba(78, 168, 255, 0.82);
}


/* Darker file pills so they do not scream blue/violet */
.collab-file-pills i {
  background: rgba(78, 168, 255, 0.09);
  border-color: rgba(78, 168, 255, 0.18);
}


/* Darker small card accents */
.collab-cloud-chip,
.collab-tools-status {
  background: rgba(78, 168, 255, 0.09);
}

/* Clean flat showcase background */
.collab-showcase {
  background: rgba(1, 3, 15, 0.88) !important;
}


.collab-showcase::before {
  content: none !important;
  display: none !important;
}














/* ==============================
  CAVBOT SECURITY
  ============================== */


.cavbot-security {
  --security-blue: rgba(78, 168, 255, 0.85);
  --security-line: rgba(255, 255, 255, 0.10);
  --security-line-strong: rgba(255, 255, 255, 0.16);
  --security-panel: rgba(7, 11, 30, 0.92);
  --security-panel-soft: rgba(255, 255, 255, 0.035);


  width: 100vw;
  margin-left: calc(50% - 50vw);
  padding: clamp(72px, 7vw, 106px) 0 0;
  background: transparent;
  overflow: hidden;
}


.cavbot-security svg {
  display: block;
  width: 100%;
  height: 100%;
}


.cavbot-security svg * {
  vector-effect: non-scaling-stroke;
  stroke-linecap: round;
  stroke-linejoin: round;
}


.security-shell {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}


.security-hero {
  display: grid;
  justify-items: center;
  text-align: center;
  gap: 16px;
  padding: 0 clamp(22px, 5vw, 72px) clamp(40px, 5vw, 64px);
}

.security-hero-mark,
.security-title,
.security-lede {
  opacity: 0;
  transform: translateY(-38px);
  will-change: transform, opacity;
  transition:
    transform 860ms cubic-bezier(0.16, 1, 0.3, 1),
    opacity 620ms ease;
}

.cavbot-security.is-visible .security-hero-mark,
.cavbot-security.is-visible .security-title,
.cavbot-security.is-visible .security-lede {
  opacity: 1;
  transform: translateY(0);
}

.cavbot-security.is-visible .security-hero-mark {
  opacity: 0.96;
}

.cavbot-security.is-visible .security-title {
  transition-delay: 80ms;
}

.cavbot-security.is-visible .security-lede {
  transition-delay: 150ms;
}


.security-hero-mark {
  width: clamp(44px, 5.5vw, 62px);
  height: clamp(44px, 5.5vw, 62px);
  display: grid;
  place-items: center;
}


.security-hero-mark img {
  width: 90%;
  height: 100%;
  display: block;
  object-fit: contain;
  filter:
    brightness(0)
    invert(1)
    grayscale(1)
    contrast(0.95);
}



.security-title {
  margin: 0;
  max-width: 860px;
  font-family: var(--font-display);
  font-size: clamp(34px, 3.4vw, 54px);
  line-height: 1.02;
  letter-spacing: -0.045em;
  color: var(--ink);
}


.security-lede {
  margin: 0;
  max-width: 760px;
  font-size: clamp(15px, 1.8vw, 19px);
  line-height: 1.45;
  color: var(--ink-soft);
}


/* Main grid */


.security-grid {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(260px, 0.88fr) minmax(260px, 0.92fr) minmax(420px, 1.12fr);
  border-top: 1px solid var(--security-line);
  border-bottom: 1px solid var(--security-line);
  background: rgba(1, 3, 15, 0.72);
}


.security-copy,
.security-switcher,
.security-visual {
  min-height: 470px;
  padding: clamp(30px, 4.4vw, 54px);
  border-right: 1px solid var(--security-line);
  opacity: 0;
  will-change: transform, opacity;
  transition:
    transform 880ms cubic-bezier(0.16, 1, 0.3, 1),
    opacity 620ms ease;
}

.security-copy {
  transform: translateX(-52px);
}

.security-switcher {
  transform: translateY(52px);
}

.security-visual {
  transform: translateX(52px);
}

.security-grid.is-visible .security-copy,
.security-grid.is-visible .security-switcher,
.security-grid.is-visible .security-visual {
  opacity: 1;
  transform: translate(0, 0);
}

.security-grid.is-visible .security-copy {
  transition-delay: 120ms;
}

.security-grid.is-visible .security-switcher {
  transition-delay: 220ms;
}

.security-grid.is-visible .security-visual {
  transition-delay: 320ms;
}


.security-visual {
  border-right: 0;
}


.security-copy {
  display: grid;
  align-content: center;
}



.security-copy h3 {
  margin: 0;
  max-width: 360px;
  font-family: var(--font-display);
  font-size: clamp(22px, 2.5vw, 30px);
  line-height: 1.12;
  letter-spacing: -0.025em;
  color: var(--ink);
}


.security-copy p:not(.security-kicker) {
  margin: 16px 0 0;
  max-width: 430px;
  font-size: clamp(14px, 1.35vw, 18px);
  line-height: 1.55;
  color: var(--ink-soft);
}


/* Blue links */


.security-link,
.security-feature-link {
  color: var(--security-blue);
  text-decoration: none;
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}


.security-link {
  margin-top: 24px;
  font-size: 15px;
  line-height: 1;
}


.security-feature-link {
  margin-top: 16px;
  font-size: clamp(14px, 1.25vw, 16px);
  line-height: 1.2;
}


.security-link:hover,
.security-feature-link:hover {
  color: var(--security-blue);
}


.security-link-text,
.security-feature-link-text {
  position: relative;
  display: inline-block;
  padding-bottom: 5px;
}


.security-link-text::after,
.security-feature-link-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: right center;
  transition: transform 260ms ease, opacity 220ms ease;
  opacity: 0.9;
}


.security-link:hover .security-link-text::after,
.security-feature-link:hover .security-feature-link-text::after {
  transform: scaleX(1);
  transform-origin: right center;
  opacity: 0.9;
}


.security-link-icon,
.security-feature-link-icon {
  width: 13px;
  height: 13px;
  display: inline-block;
  flex: 0 0 auto;
  background: currentColor;
  transform: translateY(1px);
  transition: transform 220ms ease;
  -webkit-mask: url("assets/icons/page/chevron-right-svgrepo-com.svg") center / contain no-repeat;
  mask: url("assets/icons/page/chevron-right-svgrepo-com.svg") center / contain no-repeat;
}


.security-link:hover .security-link-icon,
.security-feature-link:hover .security-feature-link-icon {
  transform: translate(4px, 1px);
}


/* Feature switcher */


.security-switcher {
  position: relative;
  display: grid;
  align-content: center;
  gap: 0;
  padding-left: clamp(46px, 5vw, 74px);
}

.security-feature-progress {
  position: absolute;
  left: clamp(22px, 2.8vw, 42px);
  top: clamp(34px, 5vw, 64px);
  bottom: clamp(34px, 5vw, 64px);
  width: 2px;
  background: rgba(255, 255, 255, 0.10);
  overflow: hidden;
}

.security-feature-progress span {
  position: absolute;
  inset: 0 0 auto;
  height: 0%;
  background:
    linear-gradient(
      to bottom,
      var(--lime) 0%,
      var(--blue) 48%,
      var(--violet) 100%
    );
  transition: height 90ms linear;
}


.security-feature {
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}


.security-feature:last-child {
  border-bottom: 0;
}


.security-feature-trigger {
  appearance: none;
  border: 0;
  width: 100%;
  text-align: left;
  background: transparent;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: start;
  padding: 24px 0;
  cursor: pointer;
}


.security-feature:first-child .security-feature-trigger {
  padding-top: 0;
}


.security-feature:last-child .security-feature-trigger {
  padding-bottom: 24px;
}


.security-feature-title {
  margin: 0;
  max-width: 360px;
  font-family: var(--font-display);
  font-size: clamp(18px, 2.2vw, 28px);
  line-height: 1.08;
  letter-spacing: -0.03em;
  color: var(--ink-soft);
  transition: color 220ms ease;
}


.security-feature-plus {
  color: var(--lime);
  font-size: 24px;
  line-height: 1;
  transform: translateY(1px);
  opacity: 1;
  transition: opacity 180ms ease, transform 180ms ease;
}


.security-feature.is-active .security-feature-title {
  color: var(--ink);
}


.security-feature.is-active .security-feature-plus {
  opacity: 0;
  transform: translateY(1px) scale(0.72);
  pointer-events: none;
}


.security-feature-panel {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transform: translateY(-4px);
  transition:
    max-height 280ms ease,
    opacity 220ms ease,
    transform 220ms ease,
    padding-bottom 220ms ease;
}


.security-feature.is-active .security-feature-panel {
  max-height: 170px;
  opacity: 1;
  transform: translateY(0);
  padding-bottom: 24px;
}


.security-feature-panel p {
  margin: 0;
  max-width: 390px;
  font-size: clamp(14px, 1.35vw, 17px);
  line-height: 1.5;
  color: var(--ink-soft);
}


/* Visual stage */


.security-visual {
  display: grid;
  place-items: center;
  align-content: center;
  justify-content: center;
  min-height: clamp(560px, 52vw, 700px);
  background: rgba(7, 11, 30, 0.72);
  overflow: hidden;
  padding: clamp(44px, 5vw, 70px) 24px clamp(72px, 7vw, 96px);
}


.security-visual-stage {
  width: clamp(400px, 40vw, 500px);
  max-width: calc(100% - 48px);
  height: 384px;
  min-height: 384px;
  position: relative;
  display: grid;
  place-items: center;
  transform: translateY(-14px);
}


.security-product-card {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity 240ms ease, transform 240ms ease, visibility 240ms ease;
  pointer-events: none;
}


.security-product-card.is-active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}


.security-product-window {
  width: 100%;
  min-width: 340px;
  height: 384px;
  min-height: 0;
  max-height: 384px;
  display: grid;
  grid-template-rows: 40px minmax(0, 1fr);
  border-radius: 22px;
  border: 1px solid var(--security-line-strong);
  background: rgba(5, 10, 25, 0.96);
  overflow: hidden;

}


.security-window-topbar {
  height: 40px;
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 0 13px;
  border-bottom: 1px solid var(--security-line);
  background: rgba(255, 255, 255, 0.03);
}


.security-window-topbar > span {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.28);
}


.security-window-topbar strong {
  margin-left: auto;
  color: var(--ink);
  font-size: 11px;
  letter-spacing: 0.10em;
  text-transform: uppercase;
}


/* Shared product brand headers */


.security-product-brand {
  display: flex;
  align-items: center;
  gap: 13px;
}


.security-product-brand--center {
  justify-content: center;
  text-align: left;
}


.security-product-icon {
  width: 42px;
  height: 42px;
  border-radius: 13px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(78, 168, 255, 0.32);
  background: rgba(78, 168, 255, 0.08);
  overflow: hidden;
  flex: 0 0 auto;
}


.security-product-icon img {
  width: 23px;
  height: 23px;
  display: block;
  object-fit: contain;
  filter:
    brightness(0)
    saturate(100%)
    invert(91%)
    sepia(13%)
    saturate(830%)
    hue-rotate(180deg)
    brightness(102%)
    contrast(96%);
}


.security-product-brand h4 {
  margin: 0;
  font-family: var(--font-display);
  color: var(--ink);
  font-size: 24px;
  line-height: 1.05;
  letter-spacing: -0.02em;
}


.security-product-brand p {
  margin: 5px 0 0;
  color: var(--ink-soft);
  font-size: 13px;
  line-height: 1.3;
}


/* CavVerify mock */


.verify-mock {
  min-height: 344px;
  padding: 24px;
  display: grid;
  align-content: center;
  gap: 22px;
}


.verify-wordmark {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  font-family: var(--font-display);
  font-size: clamp(43px, 5.9vw, 62px);
  line-height: 1;
  color: var(--ink);
}


.verify-wordmark i {
  width: 25px;
  height: 25px;
  border-radius: 7px;
  background: var(--security-blue);

}


.verify-tiles {
  display: flex;
  justify-content: center;
  gap: 10px;
}


.verify-tiles button {
  width: 60px;
  height: 48px;
  border-radius: 4px;
  border: 1px solid rgba(78, 168, 255, 0.22);
  background: rgba(255, 255, 255, 0.055);
  color: var(--ink);
  font-family: var(--font-display);
  font-size: 27px;
  line-height: 1;
  cursor: pointer;
}


.verify-bottom-row {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  color: var(--ink-soft);
  font-size: 12px;
}


.verify-bottom-row a {
  color: var(--security-blue);
  text-decoration: none;
}


/* CavGuard mock */


.guard-mock {
  min-height: 0;
  height: 100%;
  padding: 18px 20px;
  display: grid;
  align-content: center;
  gap: 12px;
}


.guard-alert {
  border-radius: 17px;
  border: 1px solid rgba(255, 255, 255, 0.13);
  background: rgba(255, 255, 255, 0.025);
  padding: 16px 18px;
  text-align: center;
  display: grid;
  justify-items: center;
  gap: 8px;
}


.guard-alert h5 {
  margin: 0;
  font-size: 15px;
  color: var(--ink);
}


.guard-alert p {
  margin: 0;
  max-width: 330px;
  color: var(--ink-soft);
  font-size: 12.5px;
  line-height: 1.45;
}


.guard-policy-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}


.guard-policy-grid div {
  border-radius: 13px;
  border: 1px solid rgba(255, 255, 255, 0.09);
  background: rgba(255, 255, 255, 0.03);
  padding: 9px 10px;
  display: grid;
  gap: 5px;
}


.guard-policy-grid span {
  color: var(--ink-subtle);
  font-size: 10.5px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}


.guard-policy-grid strong {
  color: var(--ink);
  font-size: 12.5px;
}


.guard-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  color: var(--ink-soft);
  font-size: 12px;
}


.guard-footer button {
  height: 32px;
  border-radius: 4px;
  border: 1px solid rgba(78, 168, 255, 0.35);
  background: rgba(78, 168, 255, 0.08);
  color: var(--ink);
  padding: 0 13px;
  font: inherit;
  font-size: 12px;
  cursor: pointer;
}


/* CavSafe mock */


.safe-mock {
  min-height: 0;
  height: 100%;
  padding: 16px 18px;
  display: grid;
  align-content: center;
  gap: 10px;
  align-items: center;
}


.safe-eyebrow {
  display: block;
  margin-bottom: 6px;
  color: var(--ink-subtle);
  font-size: 10.5px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}


.safe-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 7px;
}


.safe-stats div {
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, 0.09);
  background: rgba(255, 255, 255, 0.03);
  padding: 8px 9px;
}


.safe-stats strong {
  display: block;
  color: var(--ink);
  font-size: 15px;
  line-height: 1;
}


.safe-stats span {
  display: block;
  margin-top: 5px;
  color: var(--ink-soft);
  font-size: 10.5px;
}


.safe-file-list {
  display: grid;
  gap: 7px;
}


.safe-file-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 9px;
  border-radius: 13px;
  border: 1px solid rgba(255, 255, 255, 0.09);
  background: rgba(255, 255, 255, 0.03);
  padding: 8px 9px;
}


.safe-file-icon {
  width: 32px;
  height: 28px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  color: var(--security-blue);
  border: 1px solid rgba(78, 168, 255, 0.25);
  background: rgba(78, 168, 255, 0.08);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.05em;
}


.safe-file-row strong {
  display: block;
  color: var(--ink);
  font-size: 11.5px;
}


.safe-file-row small {
  display: block;
  margin-top: 2px;
  color: var(--ink-soft);
  font-size: 10.5px;
}


.safe-file-row em {
  color: var(--ink-soft);
  font-style: normal;
  font-size: 10.5px;
}


.safe-footer {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  color: var(--ink-soft);
  font-size: 10.5px;
}


@media (prefers-reduced-motion: reduce) {
  .collab-hero-icon-wrap,
  .collab-title,
  .collab-lede,
  .collab-showcase,
  .collab-showcase .collab-cell,
  .security-hero-mark,
  .security-title,
  .security-lede,
  .security-copy,
  .security-switcher,
  .security-visual,
  .seal-shell {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}


/* Responsive */


@media (max-width: 1120px) {
  .security-grid {
    grid-template-columns: 1fr 1fr;
  }


  .security-visual {
    grid-column: 1 / -1;
    border-top: 1px solid var(--security-line);
  }


  .security-copy,
  .security-switcher,
  .security-visual {
    min-height: auto;
  }


  .security-visual-stage {
    width: min(100%, 500px);
    max-width: calc(100% - 32px);
  }
}


@media (max-width: 820px) {
  .security-grid {
    grid-template-columns: 1fr;
  }


  .security-copy,
  .security-switcher,
  .security-visual {
    border-right: 0;
    border-bottom: 1px solid var(--security-line);
    padding: 34px 24px;
  }

  .security-visual {
    min-height: 520px;
    padding: 46px 24px 74px;
  }


  .security-visual {
    border-bottom: 0;
  }


  .security-feature-title {
    font-size: clamp(24px, 8vw, 32px);
  }


  .security-visual-stage {
    height: 384px;
    min-height: 384px;
  }
}


@media (max-width: 560px) {
  .cavbot-security {
    padding-top: 64px;
  }


  .security-title {
    font-size: clamp(34px, 11vw, 46px);
  }


  .security-lede {
    font-size: 17px;
  }


  .security-product-window {
    min-height: 0;
  }


  .security-visual-stage {
    width: min(100%, 500px);
    max-width: calc(100% - 32px);
    height: 384px;
    min-height: 384px;
  }


  .verify-tiles button {
    width: 52px;
    height: 44px;
  }


  .guard-policy-grid {
    grid-template-columns: 1fr;
  }

  .safe-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }


  .verify-bottom-row,
  .guard-footer,
  .safe-footer {
    display: grid;
    gap: 10px;
  }
}


/* Responsive */


@media (max-width: 1180px) {
  .security-grid {
    grid-template-columns: 1fr 1fr;
  }


  .security-visual {
    grid-column: 1 / -1;

  }
}


@media (max-width: 900px) {
  .security-grid {
    grid-template-columns: 1fr;
  }


  .security-copy,
  .security-switcher,
  .security-visual {
    min-height: auto;
    padding: 34px 24px;
    border-right: 0;
    border-bottom: 1px solid var(--security-line);
  }


  .security-visual {
    border-bottom: 0;
  }


  .security-visual-stage {
    width: min(100%, 500px);
    max-width: calc(100% - 32px);
    height: 384px;
    min-height: 384px;
  }
}


@media (max-width: 640px) {
  .cavbot-security {
    padding-top: 64px;
  }


  .security-title {
    font-size: clamp(34px, 11vw, 46px);
  }


  .security-lede {
    font-size: 17px;
  }


  .security-feature-trigger {
    grid-template-columns: 30px minmax(0, 1fr) auto;
    gap: 13px;
    padding: 22px 0;
  }


  .security-feature-panel {
    padding-left: 43px;
  }


  .security-feature.is-active .security-feature-panel {
    padding-bottom: 22px;
  }


  .security-product-window {
    min-height: 0;
  }

  .security-visual-stage {
    width: min(100%, 500px);
    max-width: calc(100% - 32px);
    height: 384px;
    min-height: 384px;
  }


  .verify-tiles {
    gap: 8px;
  }


  .verify-tiles button {
    width: 58px;
    height: 48px;
    font-size: 25px;
  }


  .guard-policy-grid {
    grid-template-columns: 1fr;
  }

  .safe-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }


  .safe-footer,
  .guard-footer,
  .verify-bottom-row {
    display: grid;
  }
}


/* ==============================
   CAVBOT LATEST RELEASES
   ============================== */


.cavbot-releases {
  --release-line: rgba(255, 255, 255, 0.10);
  --release-line-strong: rgba(255, 255, 255, 0.16);
  --release-card: rgba(7, 11, 30, 0.82);
  --release-card-hover: rgba(10, 16, 38, 0.92);
  --release-blue: rgba(78, 168, 255, 0.88);


  width: 100vw;
  margin-left: calc(50% - 50vw);
  padding: clamp(74px, 8vw, 118px) clamp(22px, 5vw, 72px);
  background: rgba(1, 3, 15, 0.72);

  overflow: hidden;
}


.releases-shell {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
}


.releases-header {
  margin-bottom: clamp(26px, 4vw, 42px);
}


.releases-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(20px, 2vw, 30px);
  line-height: 1.08;
  letter-spacing: -0.03em;
  color: var(--ink);
}


.releases-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2.4vw, 32px);
}


.release-card {
  min-height: clamp(430px, 36vw, 520px);
  border-radius: 24px;

  background: var(--release-card);
  overflow: hidden;
  cursor: pointer;

}


.release-card:hover,
.release-card:focus-within {
  transform: translateY(-4px);
  border-color: rgba(78, 168, 255, 0.26);
  background: var(--release-card-hover);

}


.release-card-content {
  min-height: inherit;
  display: grid;
  grid-template-rows: 1fr auto;
  padding: clamp(24px, 3vw, 34px);
}


.release-card-main h3 {
  margin: 0;
  max-width: 420px;
  font-family: var(--font-display);
  font-size: clamp(16px, 2vw, 24px);
  line-height: 1.08;
  letter-spacing: -0.035em;
  color: var(--ink);
}


.release-card-main p {
  margin: 14px 0 0;
  max-width: 430px;
  font-size: clamp(17px, 1.6vw, 21px);
  line-height: 1.35;
  color: var(--ink-soft);
}


.release-inline-link {
  margin-top: 22px;
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--ink-soft);
  text-decoration: none;
  font-size: 15px;
  line-height: 1;
}


.release-inline-link span:first-child {
  position: relative;
  padding-bottom: 5px;
}


.release-inline-link span:first-child::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: right center;
  opacity: 0.9;
  transition:
    transform 240ms ease,
    opacity 200ms ease;
}


.release-inline-link:hover span:first-child::after {
  transform: scaleX(1);
  transform-origin: right center;
  opacity: 0.9;
}


.release-card-footer {
  display: grid;
  gap: 0;
}


.release-meta-row {
  min-height: 52px;
  display: grid;
  grid-template-columns: minmax(120px, 0.8fr) minmax(0, 1fr);
  align-items: center;
  gap: 18px;
  border-top: 1px solid var(--release-line);
}


.release-meta-row span {
  color: var(--ink);
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.16em;
  text-transform: none;
}


.release-meta-row strong {
  justify-self: end;
  text-align: right;
  color: var(--ink-soft);
  font-size: 15px;
  line-height: 1.25;
  font-weight: 500;
}


.release-button {
  margin-top: 28px;
  width: fit-content;
  min-height: 42px;
  padding: 0 18px;
  border-radius: 4px;
  background: var(--ink);
  opacity: 90%;
  color: rgba(1, 3, 15, 0.96);
  display: inline-flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  font-size: 15px;
  line-height: 1;
  font-weight: 700;
  transition:
    transform 220ms ease,
    opacity 220ms ease;
}


.release-button:hover {
  transform: translateY(-1px);
  opacity: 0.92;
}


.release-button span:last-child,
.release-inline-link span:last-child {
  transition: transform 220ms ease;
}


.release-button:hover span:last-child,
.release-inline-link:hover span:last-child {
  transform: translateX(4px);
}


/* Responsive */
@media (max-width: 1040px) {
  .releases-grid {
    grid-template-columns: 1fr;
  }


  .release-card {
    min-height: 390px;
  }


  .release-card-main h3,
  .release-card-main p {
    max-width: 720px;
  }
}


@media (max-width: 640px) {
  .cavbot-releases {
    padding: 64px 22px;
  }


  .release-card {
    min-height: 420px;
    border-radius: 20px;
  }


  .release-card-content {
    padding: 24px;
  }


  .release-card-main h3 {
    font-size: clamp(28px, 9vw, 36px);
  }


  .release-card-main p {
    font-size: 18px;
  }


  .release-meta-row {
    grid-template-columns: 1fr;
    align-items: start;
    gap: 8px;
    padding: 16px 0;
  }


  .release-meta-row strong {
    justify-self: start;
    text-align: left;
  }


  .release-button {
    min-height: 44px;
  }
}

/* ==============================
  CAVBOT FINAL SEAL
  Tall CavAi gradient version
  ============================== */


.cavbot-seal {
  position: relative;
  width: 100vw;
  min-height: clamp(900px, 115svh, 1240px);
  margin-left: calc(50% - 50vw);
  padding: clamp(120px, 12vw, 190px) clamp(22px, 8vw, 128px);
  color: #f7fbff;
  background: #3158ff;
  overflow: hidden;
  isolation: isolate;
}


.seal-gradient-art {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  background: #3158ff;
}


.seal-gradient-art svg {
  width: 100%;
  height: 100%;
  display: block;
}


.seal-shell {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1420px;
  min-height: calc(clamp(900px, 115svh, 1240px) - clamp(120px, 12vw, 190px) * 2);
  margin: 0 auto;
  display: grid;
  align-content: center;
  opacity: 0;
  transform: translateY(-46px);
  will-change: transform, opacity;
  transition:
    transform 860ms cubic-bezier(0.16, 1, 0.3, 1),
    opacity 560ms ease;
}


.cavbot-seal.is-visible .seal-shell {
  opacity: 1;
  transform: translateY(0);
}


.seal-user-stat {
  position: absolute;
  top: clamp(4px, 1vw, 18px);
  right: clamp(0px, 1vw, 18px);
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 14px;
  min-width: 230px;
}


.seal-heart {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  line-height: 0;
}


.seal-heart img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  filter:
    brightness(0)
    saturate(100%)
    invert(89%)
    sepia(16%)
    saturate(924%)
    hue-rotate(178deg)
    brightness(105%)
    contrast(96%);
}


.seal-user-copy {
  display: grid;
  gap: 8px;
}


.seal-user-copy strong {
  color: #f7fbff;
  font-family: var(--font-cavai-title, var(--font-display, Inter, system-ui, sans-serif));
  font-size: clamp(16px, 1.5vw, 22px);
  line-height: 1;
  font-weight: 700;
  letter-spacing: -0.03em;
}


.seal-user-copy span {
  color: rgba(247, 251, 255, 0.78);
  font-family: var(--font-cavai-body, Inter, system-ui, sans-serif);
  font-size: clamp(13px, 1.2vw, 16px);
  line-height: 1.38;
  font-weight: 500;
}


.seal-main {
  width: 100%;
  max-width: 1120px;
  display: grid;
  gap: clamp(34px, 4vw, 54px);
  padding-top: clamp(28px, 5vw, 72px);
}


.seal-title {
  margin: 0;
  max-width: 1080px;
  color: #f7fbff;
  font-family: var(--font-cavai-title, var(--font-display, Inter, system-ui, sans-serif));
  font-size: clamp(44px, 6.8vw, 112px);
  line-height: 0.94;
  font-weight: 700;
  letter-spacing: -0.066em;
  text-wrap: balance;
  text-shadow: 0 22px 90px rgba(1, 3, 15, 0.22);
}


.seal-actions {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}


.seal-button {
  min-height: 50px;
  padding: 0 22px;
  border-radius: 4px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  text-align: center;
  justify-content: center;
  gap: 10px;
  font-family: var(--font-cavai-body, Inter, system-ui, sans-serif);
  font-size: 14px;
  line-height: 1;
  font-weight: 750;
  letter-spacing: -0.01em;
  white-space: nowrap;
  transition:
    transform 220ms ease,
    border-color 220ms ease,
    background 220ms ease,
    color 220ms ease;
}


.seal-button:hover {
  transform: translateY(-1px);
}


.seal-button--primary {
  min-width: 240px;
  color: rgba(1, 3, 15, 0.96);
  background: #b9c85a;
  border: 1px solid rgba(1, 3, 15, 0.28);
}


.seal-button--primary:hover {
  color: rgba(1, 3, 15, 0.96);
  background: #c7d765;
  border-color: rgba(1, 3, 15, 0.34);
}


.seal-button--ghost {
  min-width: 190px;
  color: #f7fbff;
  background: rgba(255, 255, 255, 0.045);
  border: 1px solid rgba(255, 255, 255, 0.24);
}


.seal-button--ghost:hover {
  color: #f7fbff;
  background: rgba(255, 255, 255, 0.075);
  border-color: rgba(255, 255, 255, 0.34);
}


@media (max-width: 900px) {
  .cavbot-seal {
    min-height: 920px;
    padding: 96px 24px;
  }


  .seal-shell {
    min-height: auto;
    align-content: start;
    gap: 46px;
  }


  .seal-user-stat {
    position: relative;
    top: auto;
    right: auto;
    min-width: 0;
    width: fit-content;
    margin-bottom: 42px;
  }


  .seal-main {
    padding-top: 0;
  }


  .seal-actions {
    align-items: stretch;
  }
}


@media (max-width: 560px) {
  .cavbot-seal {
    min-height: 860px;
    padding: 88px 20px;
  }


  .seal-title {
    font-size: clamp(44px, 12.5vw, 70px);
    line-height: 0.96;
    letter-spacing: -0.058em;
  }


  .seal-actions,
  .seal-button {
    width: 100%;
  }


  .seal-button--primary,
  .seal-button--ghost {
    min-width: 0;
  }
}



/* ==============================
   HOME HERO FULL SECTION FIX
   Must stay at the VERY BOTTOM of the CSS file
   ============================== */

/* Main hero background section */
body.page-shell main.page-inner > section.hero.hero-home-surface,
body.page-shell .page-inner > section.hero.hero-home-surface {
  position: relative;
  isolation: isolate;

  width: 100vw;
  max-width: none;

  margin-top: 0 !important;
  margin-bottom: 0 !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  min-height: 245svh !important;

  padding:
    clamp(24px, 4vh, 44px)
    max(20px, calc((100vw - 1180px) / 2))
    clamp(110px, 14vh, 180px) !important;

  display: grid;
  grid-template-columns: minmax(0, 1.22fr) minmax(220px, 0.58fr);
  grid-template-areas:
    "copy cavbot"
    "demo demo";

  grid-template-rows:
    minmax(88svh, auto)
    minmax(150svh, auto) !important;

  column-gap: clamp(36px, 6vw, 96px);
  row-gap: clamp(34px, 5vw, 72px) !important;

  align-items: center;

  border-radius: 0 !important;

  background:
    linear-gradient(
      to bottom,
      rgba(10, 11, 30, 0.98),
      rgba(3, 6, 22, 0.94)
    ) !important;

  background-image:
    linear-gradient(
      to bottom,
      rgba(10, 11, 30, 0.98),
      rgba(3, 6, 22, 0.94)
    ) !important;

  background-color: rgba(3, 6, 22, 0.94) !important;

  overflow: visible !important;
}


/* Soft depth layer */
body.page-shell main.page-inner > section.hero.hero-home-surface::before,
body.page-shell .page-inner > section.hero.hero-home-surface::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;

  background:
    linear-gradient(rgba(255, 255, 255, 0.032) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.022) 1px, transparent 1px);

  background-size: 82px 82px;
  opacity: 0.15;
  pointer-events: none;
}

/* Top text block */
body.page-shell main.page-inner > section.hero.hero-home-surface .hero-copy-block,
body.page-shell .page-inner > section.hero.hero-home-surface .hero-copy-block {
  grid-area: copy;
  align-self: center;

  display: grid;
  gap: 24px;
  align-content: center;

  max-width: 760px;
}

/* Make hero title dominant */
body.page-shell main.page-inner > section.hero.hero-home-surface .cavai-main-title,
body.page-shell .page-inner > section.hero.hero-home-surface .cavai-main-title {
  margin: 0;

  font-size: clamp(54px, 7.2vw, 112px);
  line-height: 0.94;
  letter-spacing: -0.065em;

  color: rgba(247, 251, 255, 0.98);
  text-wrap: balance;
}

/* Keep your paragraph content, only scale it better */
body.page-shell main.page-inner > section.hero.hero-home-surface .hero-lede,
body.page-shell .page-inner > section.hero.hero-home-surface .hero-lede {
  max-width: 50rem;
  font-size: clamp(15px, 1.35vw, 20px);
  line-height: 1.86;
  color: rgba(226, 232, 238, 0.88);
}

/* CTA spacing */
body.page-shell main.page-inner > section.hero.hero-home-surface .hero-cta-row,
body.page-shell .page-inner > section.hero.hero-home-surface .hero-cta-row {
  margin-top: clamp(4px, 1.4vw, 16px);
}

/* ==============================
   CAVBOT STANDALONE RIGHT SIDE
   ============================== */

.hero-cavbot-standalone {
  grid-area: cavbot;

  position: relative;
  align-self: center;
  justify-self: end;

  width: clamp(230px, 26vw, 420px);
  aspect-ratio: 1 / 1;

  display: grid;
  place-items: center;

  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.hero-cavbot-orbit {
  position: relative;

  width: 100%;
  height: 100%;

  display: grid;
  place-items: center;
}

.hero-cavbot-orbit::before {
  content: "";
  position: absolute;
  inset: 8%;

  border-radius: 50% !important;
  border: 1px solid rgba(255, 255, 255, 0.12);

  background: transparent;

  pointer-events: none;
}

.hero-cavbot-orbit::after {
  content: none !important;
  display: none !important;
}

.hero-cavbot-standalone .cavbot-cdn-slot[data-cavbot-cdn-slot="head"] {
  position: relative;
  z-index: 2;

  min-width: clamp(172px, 18vw, 280px);
  min-height: clamp(172px, 18vw, 280px);

  transform: scale(1.05);
  transform-origin: center;
}

.hero-cavbot-standalone .cavbot-cdn-slot [id^="cavbot-widget-root-"] {
  position: static;
}

/* Old right card removed completely */
body.page-shell main.page-inner > section.hero.hero-home-surface .hero-robot-panel,
body.page-shell .page-inner > section.hero.hero-home-surface .hero-robot-panel,
body.page-shell main.page-inner > section.hero.hero-home-surface .hero-robot-shell,
body.page-shell .page-inner > section.hero.hero-home-surface .hero-robot-shell,
body.page-shell main.page-inner > section.hero.hero-home-surface .hero-robot-main,
body.page-shell .page-inner > section.hero.hero-home-surface .hero-robot-main,
body.page-shell main.page-inner > section.hero.hero-home-surface .hero-robot-metrics,
body.page-shell .page-inner > section.hero.hero-home-surface .hero-robot-metrics {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* ==============================
   DEMO VIDEO 
   ============================== */

/* Important: sticky needs visible overflow */
body.page-shell main.page-inner > section.hero.hero-home-surface,
body.page-shell .page-inner > section.hero.hero-home-surface {
  min-height: 245svh !important;

  grid-template-rows:
    minmax(88svh, auto)
    minmax(150svh, auto) !important;

  row-gap: clamp(34px, 5vw, 72px) !important;
  overflow: visible !important;
}

/* When the video becomes focus, the top hero content softly moves back */
body.page-shell main.page-inner > section.hero.hero-home-surface .hero-copy-block,
body.page-shell .page-inner > section.hero.hero-home-surface .hero-copy-block,
body.page-shell main.page-inner > section.hero.hero-home-surface .hero-cavbot-standalone,
body.page-shell .page-inner > section.hero.hero-home-surface .hero-cavbot-standalone {
  opacity: calc(1 - (var(--hero-video-focus, 0) * 0.76));
  transform:
    translate3d(0, calc(var(--hero-video-focus, 0) * -44px), 0)
    scale(calc(1 - (var(--hero-video-focus, 0) * 0.035)));
  transition:
    opacity 120ms linear,
    transform 120ms linear;
  will-change: opacity, transform;
}

.hero-demo-section {
  grid-area: demo;

  position: relative;
  width: 100%;
  min-height: 150svh;

  display: grid;
  align-items: start;

  margin-top: clamp(-42px, -4vw, -18px);
  padding-bottom: 22svh;
}


/* Pinned demo frame */
.hero-demo-frame {
  position: sticky;
  top: calc(var(--cb-header-offset, 0px) + clamp(18px, 3vh, 34px));

  width: min(1220px, 100%);
  margin: 0 auto;

  padding: clamp(14px, 2vw, 24px);

  border-radius: 4px !important;


  background:
    linear-gradient(
      to bottom,
      rgba(10, 11, 30, 0.98),
      rgba(3, 6, 22, 0.94)
    ) !important;


  opacity: var(--hero-demo-opacity, 0.14);

  transform:
    translate3d(0, var(--hero-demo-y, 140px), 0)
    scale(var(--hero-demo-scale, 0.92));

  transform-origin: center top;
  will-change: transform, opacity;
  z-index: 8;
}

.hero-demo-frame::before {
  content: "";
  position: absolute;
  inset: 13px;
  z-index: 2;

  border-radius: 4px;
  border: 1px solid rgba(185, 200, 90, 0.22);

  pointer-events: none;
}

.hero-demo-video {
  display: block;

  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;

  border-radius: 4px !important;
  border: 1px solid rgba(255, 255, 255, 0.16);

  background: rgba(1, 3, 15, 0.96);
}

.hero-demo-button {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 10;

  transform: translate(-50%, -50%);

  min-height: 58px;
  padding: 0 28px;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;

  border-radius: 4px !important;
  border: 1px solid rgba(0, 0, 0, 0.72);

  background: rgba(247, 251, 255, 0.96);
  opacity: 1;
  color: #050509;

  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none;


  transition:
    transform 160ms ease,
    background-color 160ms ease;
}

.hero-demo-button:hover {
  transform: translate(-50%, -52%);
  background: rgba(176, 158, 255, 0.54);
}

/* ==============================
  DEMO VIDEO — GITHUB STYLE PINNED RISE
  ============================== */

/* This creates the scroll room.
   The page will not move to the next section until this stage finishes. */
.hero-demo-section {
  grid-area: demo;

  position: relative;
  width: 100%;

  min-height: 132svh;

  display: block;

  margin-top: clamp(-96px, -9vh, -56px);
  padding-bottom: 0 !important;
}


/* This is the actual pinned video frame.
   It sticks near the header, then the JS pulls it upward. */
.hero-demo-frame {
  position: sticky;
  top: calc(var(--cb-header-offset, 0px) + 10px);

  width: min(1220px, 100%);
  margin: 0 auto;

  padding: clamp(14px, 2vw, 24px);

  border-radius: 4px !important;


  background:
    linear-gradient(
      to bottom,
      rgba(10, 11, 30, 0.98),
      rgba(3, 6, 22, 0.94)
    ) !important;

  opacity: var(--hero-demo-opacity, 0.08);

  transform:
    translate3d(0, var(--hero-demo-y, 220px), 0)
    scale(var(--hero-demo-scale, 0.90));

  transform-origin: center top;
  will-change: transform, opacity;

  z-index: 20;
}

.hero-demo-frame::before {
  content: "";
  position: absolute;
  inset: 13px;
  z-index: 2;

  border-radius: 4px;
  border: 1px solid rgba(176, 158, 255, 0.54);
  opacity: 30%;

  pointer-events: none;
}

.hero-demo-video {
  display: block;

  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;

  border-radius: 4px !important;
  border: 1px solid rgba(255, 255, 255, 0.16);

  background: rgba(1, 3, 15, 0.96);
}

.hero-demo-button {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 10;

  transform: translate(-50%, -50%);

  min-height: 58px;
  padding: 0 28px;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;

  border-radius: 4px !important;
  border: 1px solid rgba(0, 0, 0, 0.72);

  background: rgba(247, 251, 255, 0.96);
  color: #050509;
  opacity: 1;

  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none;

  transition:
    transform 160ms ease,
    background-color 160ms ease,
    opacity 160ms ease;
}

.hero-demo-button:hover {
  transform: translate(-50%, -52%);
  background: rgba(247, 251, 255, 1);
}

.hero-demo-play {
  width: 0;
  height: 0;

  display: inline-block;

  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 12px solid #050509;
}

/* ==============================
   FOOTER ATTACHMENT FIX
   ============================== */

body.page-shell main.page-inner > section.hero.hero-home-surface {
  margin-bottom: 0 !important;
}


body.page-shell main.page-inner:has(> section.hero.hero-home-surface) > :last-child {
  margin-bottom: 0 !important;
}

body.page-shell main.page-inner:has(> section.hero.hero-home-surface) + .site-footer,
body.page-shell .page-inner:has(> section.hero.hero-home-surface) + .site-footer,
body.page-shell .site-footer {
  margin-top: 0 !important;
}

.cavbot-seal,
[data-cavbot-seal] {
  margin-bottom: 0 !important;
}

.cavbot-seal + .site-footer,
[data-cavbot-seal] + .site-footer,
.cavbot-seal + footer.site-footer,
[data-cavbot-seal] + footer.site-footer {
  margin-top: 0 !important;
}

/* ==============================
   RESPONSIVE
   ============================== */

@media (max-width: 980px) {
  body.page-shell main.page-inner > section.hero.hero-home-surface,
  body.page-shell .page-inner > section.hero.hero-home-surface {
    min-height: auto;

    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "copy"
      "cavbot"
      "demo";

    grid-template-rows: auto;

    padding:
      34px
      20px
      96px !important;

    row-gap: 44px;
  }

  body.page-shell main.page-inner > section.hero.hero-home-surface .cavai-main-title,
  body.page-shell .page-inner > section.hero.hero-home-surface .cavai-main-title {
    font-size: clamp(48px, 12vw, 76px);
  }

  .hero-cavbot-standalone {
    justify-self: center;
    width: clamp(220px, 56vw, 360px);
  }

  .hero-demo-section {
    min-height: auto;
  }

  .hero-demo-frame {
    opacity: 1;
    transform: none;
  }
}

@media (max-width: 620px) {
  body.page-shell main.page-inner > section.hero.hero-home-surface,
  body.page-shell .page-inner > section.hero.hero-home-surface {
    padding-inline: 16px !important;
  }

  .hero-demo-frame {
    padding: 10px;
  }

  .hero-demo-button {
    min-height: 46px;
    padding: 0 18px;
    font-size: 11px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-demo-frame {
    opacity: 1 !important;
    transform: none !important;
  }
}
/* Prevent the full-bleed hero from creating sideways page drift */
html,
body {
  overflow-x: hidden !important;
}

body.page-shell main.page-inner > :not(.hero-home-surface),
body.page-shell .page-inner > :not(.hero-home-surface) {
  margin-left: auto;
  margin-right: auto;
}

/* ==============================
   FINAL HERO ATTACHMENT + HEIGHT TRIM
   Paste at the VERY BOTTOM of CSS
   ============================== */

/* 1. Make the hero background touch the fixed header */
body.page-shell main.page-inner > section.hero.hero-home-surface,
body.page-shell .page-inner > section.hero.hero-home-surface {
  margin-top: calc(var(--cb-header-offset, 0px) * -1) !important;

  padding-top: calc(
    var(--cb-header-offset, 0px) + clamp(28px, 4.5vh, 56px)
  ) !important;

  min-height: 205svh !important;

  grid-template-rows:
    minmax(82svh, auto)
    minmax(108svh, auto) !important;

  row-gap: clamp(18px, 3vw, 42px) !important;

  background:
    linear-gradient(
      to bottom,
      rgba(10, 11, 30, 0.98),
      rgba(3, 6, 22, 0.94)
    ) !important;

  background-color: rgba(3, 6, 22, 0.94) !important;
}

/* 2. Remove the giant empty background space under the video */
.hero-demo-section {
  min-height: 112svh !important;
  padding-bottom: 4svh !important;
  margin-bottom: 0 !important;
}

/* 3. Keep the video pinned, but stop it from creating extra bottom air */
.hero-demo-frame {
  top: calc(var(--cb-header-offset, 0px) + clamp(14px, 2vh, 26px)) !important;
  margin-bottom: 0 !important;
}

/* 4. Force the hero to end cleanly */
body.page-shell main.page-inner > section.hero.hero-home-surface > :last-child,
body.page-shell .page-inner > section.hero.hero-home-surface > :last-child {
  margin-bottom: 0 !important;
}

/* 5. Remove all possible space between hero/main/footer */
body.page-shell main.page-inner,
body.page-shell .page-inner {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

body.page-shell main.page-inner + .site-footer,
body.page-shell .page-inner + .site-footer,
body.page-shell section.hero.hero-home-surface + .site-footer,
body.page-shell section.hero.hero-home-surface + footer.site-footer {
  margin-top: 0 !important;
}

/* 6. Make footer touch whatever section comes before it */
.site-footer {
  margin-top: 0 !important;
}

/* 7. Mobile/tablet safety */
@media (max-width: 980px) {
  body.page-shell main.page-inner > section.hero.hero-home-surface,
  body.page-shell .page-inner > section.hero.hero-home-surface {
    margin-top: calc(var(--cb-header-offset, 0px) * -1) !important;

    padding-top: calc(
      var(--cb-header-offset, 0px) + clamp(28px, 5vh, 48px)
    ) !important;

    min-height: auto !important;

    grid-template-rows: auto !important;
  }

  .hero-demo-section {
    min-height: auto !important;
    padding-bottom: 0 !important;
  }
}


/* ==============================
   HERO TITLE POSITION + TWO-LINE FIX
   Paste at the VERY BOTTOM of CSS
   ============================== */

/* Give the text side more room so "Website intelligence" stays on one line */
body.page-shell main.page-inner > section.hero.hero-home-surface,
body.page-shell .page-inner > section.hero.hero-home-surface {
  grid-template-columns: minmax(0, 1.72fr) minmax(210px, 0.48fr) !important;

  grid-template-rows:
    minmax(74svh, auto)
    minmax(108svh, auto) !important;

  align-items: start !important;

  padding-top: calc(
    var(--cb-header-offset, 0px) + clamp(20px, 3vh, 34px)
  ) !important;
}

/* Move the hero text group higher */
body.page-shell main.page-inner > section.hero.hero-home-surface .hero-copy-block,
body.page-shell .page-inner > section.hero.hero-home-surface .hero-copy-block {
  align-self: start !important;
  margin-top: clamp(42px, 8vh, 86px) !important;
  max-width: min(980px, 72vw) !important;
  transform: none !important;
}

/* Force each title line to stay horizontal */
body.page-shell main.page-inner > section.hero.hero-home-surface .hero-title-line,
body.page-shell .page-inner > section.hero.hero-home-surface .hero-title-line {
  display: inline-block;
  white-space: nowrap;
}

/* Make the title wide, clean, and not forced into 3 lines */
body.page-shell main.page-inner > section.hero.hero-home-surface .cavai-main-title,
body.page-shell .page-inner > section.hero.hero-home-surface .cavai-main-title {
  max-width: none !important;
  width: max-content;
  margin: 0 !important;

  font-size: clamp(58px, 6.45vw, 96px) !important;
  line-height: 0.96 !important;
  letter-spacing: -0.07em !important;

  color: rgba(247, 251, 255, 0.98) !important;
}

/* Move the paragraph/CTA up with the title */
body.page-shell main.page-inner > section.hero.hero-home-surface .hero-lede,
body.page-shell .page-inner > section.hero.hero-home-surface .hero-lede {
  margin-top: clamp(4px, 1vh, 10px) !important;
  max-width: 56rem !important;
}

/* Move CavBot up too so he still aligns with the hero text */
body.page-shell main.page-inner > section.hero.hero-home-surface .hero-cavbot-standalone,
body.page-shell .page-inner > section.hero.hero-home-surface .hero-cavbot-standalone {
  align-self: start !important;
  margin-top: clamp(70px, 11vh, 118px) !important;
}

/* Keep mobile clean */
@media (max-width: 980px) {
  body.page-shell main.page-inner > section.hero.hero-home-surface,
  body.page-shell .page-inner > section.hero.hero-home-surface {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.page-shell main.page-inner > section.hero.hero-home-surface .hero-copy-block,
  body.page-shell .page-inner > section.hero.hero-home-surface .hero-copy-block {
    max-width: 100% !important;
    margin-top: 34px !important;
  }

  body.page-shell main.page-inner > section.hero.hero-home-surface .cavai-main-title,
  body.page-shell .page-inner > section.hero.hero-home-surface .cavai-main-title {
    width: auto !important;
    font-size: clamp(44px, 11vw, 72px) !important;
    letter-spacing: -0.06em !important;
  }

  body.page-shell main.page-inner > section.hero.hero-home-surface .hero-title-line,
  body.page-shell .page-inner > section.hero.hero-home-surface .hero-title-line {
    white-space: normal;
  }

  body.page-shell main.page-inner > section.hero.hero-home-surface .hero-cavbot-standalone,
  body.page-shell .page-inner > section.hero.hero-home-surface .hero-cavbot-standalone {
    margin-top: 0 !important;
  }
}

/* ==============================
   EMERGENCY PAGE NORMALIZER
   Keeps page aligned again
   Only hero is full-bleed
   ============================== */

html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden !important;
}

body.page-shell {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden !important;
}

/* Restore the main page container */
body.page-shell main.page-inner,
body.page-shell .page-inner {
  width: 100%;
  max-width: 1160px;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 20px;
  padding-right: 20px;
  overflow: visible;
}

/* Only the top hero can break out full width */
body.page-shell main.page-inner > section.hero.hero-home-surface,
body.page-shell .page-inner > section.hero.hero-home-surface {
  position: relative;
  isolation: isolate;

  width: 100vw !important;
  max-width: 100vw !important;

  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  margin-top: calc(var(--cb-header-offset, 0px) * -1) !important;
  margin-bottom: 0 !important;

  padding:
    calc(var(--cb-header-offset, 0px) + clamp(28px, 4vh, 46px))
    max(20px, calc((100vw - 1180px) / 2))
    clamp(70px, 8vh, 110px) !important;

  min-height: 205svh !important;

  display: grid;
  grid-template-columns: minmax(0, 1.72fr) minmax(210px, 0.48fr);
  grid-template-areas:
    "copy cavbot"
    "demo demo";
  grid-template-rows:
    minmax(74svh, auto)
    minmax(108svh, auto);

  column-gap: clamp(36px, 6vw, 96px);
  row-gap: clamp(18px, 3vw, 42px);

  align-items: start;
  border-radius: 0 !important;

  background:
    linear-gradient(
      to bottom,
      rgba(10, 11, 30, 0.98),
      rgba(3, 6, 22, 0.94)
    ) !important;

  background-color: rgba(3, 6, 22, 0.94) !important;
  overflow: visible !important;
}

/* Hero texture */
body.page-shell main.page-inner > section.hero.hero-home-surface::before,
body.page-shell .page-inner > section.hero.hero-home-surface::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(rgba(255, 255, 255, 0.032) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.022) 1px, transparent 1px);
  background-size: 82px 82px;
  opacity: 0.15;
  pointer-events: none;
}

/* Hero text */
body.page-shell main.page-inner > section.hero.hero-home-surface .hero-copy-block,
body.page-shell .page-inner > section.hero.hero-home-surface .hero-copy-block {
  grid-area: copy;
  align-self: start !important;
  margin-top: clamp(42px, 8vh, 86px) !important;
  max-width: min(980px, 72vw) !important;
  display: grid;
  gap: 22px;
  transform: none !important;
}

body.page-shell main.page-inner > section.hero.hero-home-surface .cavai-main-title,
body.page-shell .page-inner > section.hero.hero-home-surface .cavai-main-title {
  width: max-content;
  max-width: none !important;
  margin: 0 !important;
  font-size: clamp(56px, 6.2vw, 94px) !important;
  line-height: 0.96 !important;
  letter-spacing: -0.07em !important;
  color: rgba(247, 251, 255, 0.98) !important;
}

body.page-shell main.page-inner > section.hero.hero-home-surface .hero-title-line,
body.page-shell .page-inner > section.hero.hero-home-surface .hero-title-line {
  display: inline-block;
  white-space: nowrap;
}

body.page-shell main.page-inner > section.hero.hero-home-surface .hero-lede,
body.page-shell .page-inner > section.hero.hero-home-surface .hero-lede {
  max-width: 56rem !important;
  font-size: clamp(15px, 1.35vw, 20px);
  line-height: 1.86;
  color: rgba(226, 232, 238, 0.88);
}

/* CavBot right side */
.hero-cavbot-standalone {
  grid-area: cavbot;
  align-self: start !important;
  justify-self: end;
  margin-top: clamp(70px, 11vh, 118px) !important;

  width: clamp(230px, 26vw, 420px);
  aspect-ratio: 1 / 1;

  display: grid;
  place-items: center;

  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.hero-cavbot-orbit {
  position: relative;
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
}

.hero-cavbot-orbit::before {
  content: "";
  position: absolute;
  inset: 8%;
  border-radius: 50% !important;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: transparent;
  pointer-events: none;
}

.hero-cavbot-orbit::after {
  content: none !important;
  display: none !important;
}

.hero-cavbot-standalone .cavbot-cdn-slot[data-cavbot-cdn-slot="head"] {
  position: relative;
  z-index: 2;
  min-width: clamp(172px, 18vw, 280px);
  min-height: clamp(172px, 18vw, 280px);
  transform: scale(1.05);
  transform-origin: center;
}

/* Demo section */
.hero-demo-section {
  grid-area: demo;
  position: relative;
  width: 100%;
  min-height: 112svh !important;
  display: block;
  margin-top: clamp(-96px, -9vh, -56px);
  padding-bottom: 4svh !important;
}

.hero-demo-frame {
  position: sticky;
  top: calc(var(--cb-header-offset, 0px) + clamp(14px, 2vh, 26px)) !important;

  width: min(1220px, 100%);
  margin: 0 auto;
  padding: clamp(14px, 2vw, 24px);

  border-radius: 4px !important;
  background:
    linear-gradient(
      to bottom,
      rgba(10, 11, 30, 0.98),
      rgba(3, 6, 22, 0.94)
    ) !important;

  opacity: var(--hero-demo-opacity, 0.08);
  transform:
    translate3d(0, var(--hero-demo-y, 220px), 0)
    scale(var(--hero-demo-scale, 0.90));

  transform-origin: center top;
  will-change: transform, opacity;
  z-index: 20;
}

.hero-demo-video {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: 4px !important;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: rgba(1, 3, 15, 0.96);
}

/* Restore all sections after hero back to normal alignment */
body.page-shell main.page-inner > section.hero.hero-home-surface ~ section:not(.pricing-docs):not(.pff-museum):not(.cavbot-product-showcase):not(.pilot-logo-section):not(.cavbot-collab):not(.cavbot-security):not(.cavbot-releases):not(.cavbot-seal),
body.page-shell .page-inner > section.hero.hero-home-surface ~ section:not(.pricing-docs):not(.pff-museum):not(.cavbot-product-showcase):not(.pilot-logo-section):not(.cavbot-collab):not(.cavbot-security):not(.cavbot-releases):not(.cavbot-seal) {
  width: 100% !important;
  max-width: 1160px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Fix full-width feature sections so they do not drift right */
.pilot-logo-section,
.pricing-docs,
.pff-museum,
.cavbot-product-showcase,
.cavbot-collab,
.cavbot-security,
.cavbot-releases,
.cavbot-seal {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  overflow-x: hidden !important;
}

/* Keep inner content centered inside full-width sections */
.collab-preview-window,
.releases-shell,
.seal-shell,
.arcade-strip,
.security-visual-stage,
.collab-visual-stage {
  max-width: min(1420px, calc(100vw - 40px));
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Mobile */
@media (max-width: 980px) {
  body.page-shell main.page-inner,
  body.page-shell .page-inner {
    padding-left: 16px;
    padding-right: 16px;
  }

  body.page-shell main.page-inner > section.hero.hero-home-surface,
  body.page-shell .page-inner > section.hero.hero-home-surface {
    min-height: auto !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas:
      "copy"
      "cavbot"
      "demo";
    grid-template-rows: auto !important;
    padding-inline: 16px !important;
  }

  body.page-shell main.page-inner > section.hero.hero-home-surface .hero-copy-block,
  body.page-shell .page-inner > section.hero.hero-home-surface .hero-copy-block {
    max-width: 100% !important;
    margin-top: 34px !important;
  }

  body.page-shell main.page-inner > section.hero.hero-home-surface .cavai-main-title,
  body.page-shell .page-inner > section.hero.hero-home-surface .cavai-main-title {
    width: auto !important;
    font-size: clamp(44px, 11vw, 72px) !important;
  }

  body.page-shell main.page-inner > section.hero.hero-home-surface .hero-title-line,
  body.page-shell .page-inner > section.hero.hero-home-surface .hero-title-line {
    white-space: normal;
  }

  .hero-cavbot-standalone {
    justify-self: center;
    margin-top: 0 !important;
  }

  .hero-demo-section {
    min-height: auto !important;
    padding-bottom: 0 !important;
  }

  .hero-demo-frame {
    position: relative;
    top: auto !important;
    opacity: 1 !important;
    transform: none !important;
  }
}
/* ==============================
   CAVBOT PRODUCT SHOWCASE
   ============================== */


.cavbot-product-showcase {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  background: transparent;
  overflow: hidden;
}

.cavbot-product-showcase + .pff-museum {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.cavbot-product-showcase:has(+ .pff-museum) .cavbot-product-shell {
  padding-bottom: 0 !important;
}

.cavbot-product-showcase + .pff-museum .pff-header {
  margin-top: 0 !important;
}


.cavbot-product-shell {
  width: 100%;
  max-width: none;
  margin: 0 auto;
  padding:
    clamp(58px, 6vw, 88px)
    0
    clamp(64px, 7vw, 96px);
}


.cavbot-product-header {
  width: min(1320px, calc(100vw - 48px));
  max-width: 1120px;
  margin: 0 auto clamp(34px, 2vw, 50px);
  display: grid;
  gap: 14px;
}


.cavbot-product-title {
  margin: 0;
  max-width: 1120px;
  color: var(--ink);
  font-family: var(--font-display);
  font-size: clamp(32px, 5vw, 66px);
  line-height: 0.96;
  letter-spacing: -0.05em;
  text-wrap: balance;
}

.cavbot-product-title-line {
  display: block;
}


.cavbot-product-title .brain-word {
  display: inline-block;
  margin-left: 0.12em;
  color: var(--lime);
  font-family: "Cormorant Garamond", "Playfair Display", Georgia, serif;
  font-style: italic;
  font-weight: 900;
  letter-spacing: -0.035em;
  text-transform: none;
  transition:
    opacity 260ms ease,
    transform 260ms ease;
}


.cavbot-product-title .brain-word.is-changing {
  opacity: 0;
  transform: translateY(8px);
}


/* Layout */
.cavbot-product-grid {
  width: 100vw;
  max-width: none;
  box-sizing: border-box;
  padding-inline: 0;
  min-height: clamp(610px, 66vh, 720px);
  margin: 0 auto;
  display: grid;
  grid-template-columns:
    minmax(24px, 1fr)
    minmax(330px, 520px)
    minmax(0, 700px)
    minmax(24px, 1fr);
  align-items: stretch;
  border-top: 1px solid rgba(255, 255, 255, 0.10);
  border-bottom: 1px solid rgba(255, 255, 255, 0.10);
}


.cavbot-product-left,
.cavbot-product-right {
  min-height: inherit;
  min-width: 0;
}


.cavbot-product-left {
  position: relative;
  grid-column: 2;
  display: grid;
  align-content: center;
  padding:
    clamp(34px, 4.2vw, 58px)
    clamp(30px, 4vw, 62px)
    clamp(34px, 4.2vw, 58px)
    clamp(42px, 5vw, 78px);
  border-right: 1px solid rgba(255, 255, 255, 0.10);
}


/* Multi-color vertical loader */
.cavbot-product-progress {
  position: absolute;
  left: clamp(18px, 2vw, 32px);
  top: clamp(34px, 4.2vw, 58px);
  bottom: clamp(34px, 4.2vw, 58px);
  width: 2px;
  background: rgba(255, 255, 255, 0.10);
  overflow: hidden;
}


.cavbot-product-progress span {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: var(--cavbot-product-progress, 0%);
  background:
    linear-gradient(
      to bottom,
      var(--lime) 0%,
      var(--blue) 48%,
      var(--violet) 100%
    );
  transition: height 320ms cubic-bezier(0.16, 1, 0.3, 1);
}


.cavbot-product-tabs {
  display: grid;
  gap: 0;
}


.cavbot-product-tab {
  appearance: none;
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.10);
  width: 100%;
  background: transparent;
  color: rgba(197, 206, 231, 0.78);
  text-align: left;
  padding: clamp(17px, 2vw, 24px) 0;
  display: grid;
  gap: 0;
  cursor: pointer;
  font: inherit;
}


.cavbot-product-tab-title {
  color: currentColor;
  font-family: var(--font-display);
  font-size: clamp(23px, 2vw, 32px);
  line-height: 1.04;
  letter-spacing: -0.045em;
  transition: color 200ms ease;
}


.cavbot-product-tab-copy {
  max-width: 410px;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  color: var(--ink-soft);
  font-size: clamp(14px, 1.05vw, 17px);
  line-height: 1.5;
  transition:
    max-height 280ms ease,
    opacity 220ms ease,
    margin-top 220ms ease;
}


.cavbot-product-tab-meta {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  color: var(--blue-soft);
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.04em;
  transition:
    max-height 280ms ease,
    opacity 220ms ease,
    margin-top 220ms ease;
}


.cavbot-product-tab::after {
  content: "+";
  justify-self: end;
  margin-top: calc(clamp(23px, 2vw, 32px) * -1);
  color: var(--lime);
  font-size: 24px;
  line-height: 1;
  font-weight: 400;
}


.cavbot-product-tab.is-active {
  color: var(--ink);
}


.cavbot-product-tab.is-active::after {
  content: "";
}


.cavbot-product-tab.is-active .cavbot-product-tab-copy {
  max-height: 118px;
  opacity: 1;
  margin-top: 15px;
}


.cavbot-product-tab.is-active .cavbot-product-tab-meta {
  max-height: 22px;
  opacity: 1;
  margin-top: 14px;
}


/* Right side */
.cavbot-product-right {
  position: relative;
  grid-column: 3;
  display: grid;
  place-items: center;
  padding: clamp(34px, 4vw, 58px);
  background: transparent;
  overflow: hidden;
}


.cavbot-product-screen {
  position: absolute;
  inset: clamp(34px, 4vw, 58px);
  margin: 0;
  opacity: 0;
  transform: translateY(8px);
  transition:
    opacity 420ms ease,
    transform 520ms cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none;
  overflow: hidden;
}


.cavbot-product-screen.is-active {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}


/* Mock product UI */
.cavbot-ui-window {
  width: 100%;
  height: 100%;
  min-height: 460px;
  max-height: 610px;
  min-width: 0;
  max-width: 100%;
  border-radius: 7px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  background: rgba(7, 11, 30, 0.92);
  overflow: hidden;
  contain: layout paint;
}


.cavbot-ui-topbar {
  height: 46px;
  padding: 0 18px;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 14px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.10);
  background: rgba(255, 255, 255, 0.015);
}


.cavbot-ui-topbar p {
  margin: 0;
  justify-self: end;
  color: var(--ink-soft);
  font-size: 11px;
  line-height: 1;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}


.cavbot-ui-dots {
  display: flex;
  gap: 7px;
}


.cavbot-ui-dots span {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.28);
}


.cavbot-ui-body {
  height: calc(100% - 46px);
  padding: clamp(18px, 2vw, 26px);
  display: grid;
  align-content: start;
  gap: clamp(12px, 1.5vw, 16px);
  overflow: hidden;
  min-width: 0;
}


.cavbot-ui-hero-row {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: start;
  margin-bottom: clamp(10px, 1.4vw, 18px);
}





.cavbot-ui-hero-row h3 {
  margin: 0;
  max-width: 390px;
  color: var(--ink);
  font-family: var(--font-display);
  font-size: clamp(20px, 1vw, 26px);
  line-height: 1.02;
  letter-spacing: -0.041em;
}


.cavbot-ui-status {
  flex: 0 0 auto;
  min-height: 30px;
  padding: 0 11px;
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(78, 168, 255, 0.20);
  background: rgba(78, 168, 255, 0.055);
  color: var(--ink-soft);
  font-size: 11px;
}


/* Keep lime status only for non-action screens */
.cavbot-ui-status--lime {
  border-color: rgba(185, 200, 90, 0.22);
  background: rgba(185, 200, 90, 0.075);
  color: var(--lime);
}


/* Remove lime feel from Action Feed */
.cavbot-ui-body--actions .cavbot-ui-status,
.cavbot-ui-body--actions .cavbot-ui-status--lime {
  border-color: rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.035);
  color: var(--ink-soft);
}


/* Metrics */
.cavbot-ui-metrics,
.cavbot-runtime-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(8px, 1vw, 10px);
}


.cavbot-ui-metrics div,
.cavbot-runtime-metrics div {
  min-width: 0;
  min-height: 62px;
  padding: 12px clamp(10px, 1.2vw, 14px);
  border-radius: 7px;
  display: grid;
  align-content: center;
  gap: 7px;
  border: 1px solid rgba(255, 255, 255, 0.10);
  background: rgba(255, 255, 255, 0.025);
}


.cavbot-ui-metrics strong,
.cavbot-runtime-metrics strong {
  color: var(--ink);
  font-size: clamp(20px, 1.7vw, 28px);
  line-height: 1;
  letter-spacing: -0.04em;
}


.cavbot-ui-metrics span,
.cavbot-runtime-metrics span {
  color: var(--ink-soft);
  font-size: 12px;
  line-height: 1.25;
}


/* Tables */
.cavbot-ui-table {
  display: grid;
  border-radius: 7px;
  overflow: hidden;
  min-width: 0;
  border: 1px solid rgba(255, 255, 255, 0.10);
}


.cavbot-ui-table-head,
.cavbot-ui-table-row {
  min-width: 0;
  min-height: 40px;
  padding: 0 clamp(12px, 1.4vw, 16px);
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(54px, 74px) minmax(62px, 82px);
  align-items: center;
  gap: 12px;
}

.cavbot-ui-table-head span,
.cavbot-ui-table-row span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}


.cavbot-ui-table-head {
  color: var(--ink-subtle);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  background: rgba(255, 255, 255, 0.022);
}


.cavbot-ui-table-row {
  color: var(--ink-soft);
  font-size: 13px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}


.cavbot-ui-table-row.is-hot {
  color: var(--ink);
  background: rgba(255, 255, 255, 0.04);
}


.cavbot-ui-note {
  padding: 10px 12px;
  border-radius: 7px;
  display: grid;
  gap: 6px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.035);
}


.cavbot-ui-note strong {
  color: var(--ink);
  font-size: 13px;
}


.cavbot-ui-note span {
  color: var(--ink-soft);
  font-size: 12px;
  line-height: 1.45;
}


/* Route map */
.cavbot-ui-body--routes {
  padding: clamp(16px, 1.7vw, 22px);
  gap: clamp(8px, 0.9vw, 11px);
}

.cavbot-route-map {
  position: relative;
  height: clamp(152px, 17vw, 174px);
  min-height: 0;
  border-radius: 7px;
  border: 1px solid rgba(255, 255, 255, 0.10);
  background:
    linear-gradient(rgba(255, 255, 255, 0.022) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.016) 1px, transparent 1px);
  background-size: 48px 48px;
  overflow: hidden;
}


.cavbot-route-node {
  position: absolute;
  z-index: 3;
  width: 68px;
  min-height: 34px;
  padding: 0 10px;
  border-radius: 6px;
  display: grid;
  place-items: center;
  color: var(--ink);
  font-size: 11px;
  font-weight: 900;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: rgba(7, 11, 30, 0.96);
}


.cavbot-route-connectors {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}

.route-svg-line {
  fill: none;
  stroke-width: 1.65;
  stroke-linecap: round;
  vector-effect: non-scaling-stroke;
}

.route-svg-line--blue {
  stroke: rgba(78, 168, 255, 0.78);
}

.route-svg-line--lime {
  stroke: rgba(185, 200, 90, 0.78);
}

.route-svg-line--violet {
  stroke: rgba(139, 92, 255, 0.78);
}

.route-svg-line--white {
  stroke: rgba(247, 251, 255, 0.66);
}

.node-home {
  left: 18%;
  top: 50%;
  transform: translate(-50%, -50%);
}


.node-docs {
  left: 50%;
  top: 28%;
  transform: translate(-50%, -50%);
  border-color: rgba(78, 168, 255, 0.36);
}


.node-signup {
  left: 82%;
  top: 50%;
  transform: translate(-50%, -50%);
  border-color: rgba(185, 200, 90, 0.34);
}


.node-stuck {
  left: 50%;
  top: 72%;
  transform: translate(-50%, -50%);
  border-color: rgba(139, 92, 255, 0.36);
}


.route-line {
  display: none;
}


.route-line-a {
  left: 18%;
  top: 44%;
  width: 28%;
  transform: rotate(-19deg);
}


.route-line-b {
  left: 49%;
  top: 31%;
  width: 34%;
  transform: rotate(15deg);
  background: rgba(185, 200, 90, 0.66);
}


.route-line-c {
  left: 51%;
  top: 52%;
  width: 18%;
  transform: rotate(72deg);
  background: rgba(139, 92, 255, 0.66);
}


.cavbot-ui-route-list {
  display: grid;
  gap: 6px;
}


.cavbot-ui-route-list div {
  min-height: 32px;
  padding: 0 12px;
  border-radius: 7px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  border: 1px solid rgba(255, 255, 255, 0.10);
  background: rgba(255, 255, 255, 0.025);
}


.cavbot-ui-route-list span {
  color: var(--ink);
  font-size: 13px;
}


.cavbot-ui-route-list strong {
  color: var(--ink-soft);
  font-size: 12px;
  font-weight: 500;
}


/* SEO */
.cavbot-seo-layout {
  display: grid;
  grid-template-columns: minmax(150px, 0.78fr) minmax(190px, 1fr);
  gap: 12px;
  min-height: 0;
}


.cavbot-seo-card,
.cavbot-seo-checks div {
  border-radius: 7px;
  border: 1px solid rgba(255, 255, 255, 0.10);
  background: rgba(255, 255, 255, 0.03);
}


.cavbot-seo-card {
  padding: 18px;
  min-height: 190px;
  overflow: hidden;
}


.cavbot-seo-card--serp {
  background: rgba(247, 251, 255, 0.96);
}


.cavbot-seo-url {
  margin: 0 0 9px;
  color: #516070;
  font-size: 12px;
}


.cavbot-seo-card h4 {
  margin: 0;
  color: #1224b8;
  font-size: clamp(18px, 1.5vw, 23px);
  line-height: 1.08;
  letter-spacing: -0.03em;
}


.cavbot-seo-card p:last-child {
  margin: 12px 0 0;
  max-width: 260px;
  color: #1f2937;
  font-size: 12px;
  line-height: 1.42;
}


.cavbot-seo-checks {
  display: grid;
  gap: 9px;
}


.cavbot-seo-checks div {
  min-height: 44px;
  padding: 0 13px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}


.cavbot-seo-checks span {
  color: var(--ink-soft);
  font-size: 12px;
}


.cavbot-seo-checks strong {
  color: var(--ink);
  font-size: 12px;
}


.cavbot-seo-bars {
  display: grid;
  gap: 9px;
}


.cavbot-seo-bars span {
  display: block;
  height: 7px;
  border-radius: 999px;
  background: var(--lime);
}


.cavbot-seo-bars span:nth-child(2) {
  background: var(--blue);
}


.cavbot-seo-bars span:nth-child(3) {
  background: rgba(139, 92, 255, 0.82);
}


/* Runtime */
.cavbot-runtime-chart {
  min-height: clamp(96px, 13vw, 124px);
  padding: 16px;
  border-radius: 7px;
  display: flex;
  align-items: end;
  gap: 12px;
  border: 1px solid rgba(255, 255, 255, 0.10);
  background: rgba(255, 255, 255, 0.025);
}


.cavbot-runtime-chart span {
  flex: 1;
  min-height: 24px;
  border-radius: 6px 6px 2px 2px;
  background: rgba(255, 255, 255, 0.18);
}


.cavbot-runtime-chart span.is-active {
  background: var(--lime);
}


/* Action feed */
.cavbot-action-list {
  display: grid;
  gap: 8px;
}


.cavbot-action-list > div {
  min-height: 68px;
  padding: 12px 13px;
  border-radius: 7px;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  gap: 13px;
  align-items: center;
  border: 1px solid rgba(255, 255, 255, 0.10);
  background: rgba(255, 255, 255, 0.03);
}


.cavbot-action-list > div.is-priority {
  border-color: rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.04);
}


.cavbot-action-list span {
  width: 30px;
  height: 30px;
  border-radius: 6px;
  display: grid;
  place-items: center;
  color: var(--ink);
  font-size: 11px;
  font-weight: 700;
  border: 1px solid rgba(255, 255, 255, 0.14);
}


.cavbot-action-list strong {
  display: block;
  color: var(--ink);
  font-size: 13px;
  line-height: 1.25;
}


.cavbot-action-list p {
  margin: 5px 0 0;
  color: var(--ink-soft);
  font-size: 11.5px;
  line-height: 1.35;
}


.cavbot-action-list em {
  color: var(--ink-soft);
  font-size: 11px;
  font-style: normal;
}


/* Responsive */
@media (max-width: 980px) {
  .cavbot-product-grid {
    grid-template-columns: minmax(24px, 1fr) minmax(0, 760px) minmax(24px, 1fr);
  }


  .cavbot-product-left {
    grid-column: 2;
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.10);
  }


  .cavbot-product-right {
    grid-column: 2;
    min-height: 560px;
  }


  .cavbot-product-screen {
    inset: 24px;
  }


  .cavbot-product-title {
    font-size: clamp(42px, 10vw, 72px);
  }
}


@media (max-width: 680px) {
  .cavbot-product-shell {
    padding-inline: 0;
  }

  .cavbot-product-grid {
    grid-template-columns: minmax(16px, 1fr) minmax(0, 560px) minmax(16px, 1fr);
  }


  .cavbot-product-left {
    padding: 34px 22px 34px 42px;
  }


  .cavbot-product-progress {
    left: 20px;
    top: 34px;
    bottom: 34px;
  }


  .cavbot-product-tab-title {
    font-size: 27px;
  }


  .cavbot-product-tab.is-active .cavbot-product-tab-copy {
    max-height: 170px;
  }


  .cavbot-product-right {
    min-height: 610px;
    padding: 0;
  }


  .cavbot-product-screen {
    inset: 16px;
  }


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


  .cavbot-ui-hero-row,
  .cavbot-seo-layout {
    grid-template-columns: 1fr;
    display: grid;
  }


  .cavbot-ui-metrics,
  .cavbot-runtime-metrics {
    grid-template-columns: 1fr;
  }


  .cavbot-ui-table-head,
  .cavbot-ui-table-row {
    grid-template-columns: minmax(0, 1fr);
    padding: 13px;
  }
}


@media (prefers-reduced-motion: reduce) {
  .cavbot-product-screen,
  .cavbot-product-progress span,
  .cavbot-product-title .brain-word {
    transition: none !important;
  }
}


body.page-shell main.page-inner,
body.page-shell .page-inner {
  gap: 0 !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

body.page-shell main.page-inner > section + section,
body.page-shell .page-inner > section + section {
  margin-top: clamp(18px, 2vw, 30px) !important;
}

body.page-shell main.page-inner > .cavbot-product-showcase + .pff-museum,
body.page-shell .page-inner > .cavbot-product-showcase + .pff-museum {
  margin-top: 0 !important;
}

body.page-shell main.page-inner > :last-child,
body.page-shell .page-inner > :last-child {
  margin-bottom: 0 !important;
}

body.page-shell .site-footer,
body.page-shell footer.site-footer {
  margin-top: 0 !important;
  padding-top: clamp(38px, 5vw, 72px);
}

body.page-shell main.page-inner + .site-footer,
body.page-shell .page-inner + .site-footer,
body.page-shell main.page-inner + footer.site-footer,
body.page-shell .page-inner + footer.site-footer {
  margin-top: 0 !important;
}

.cavbot-seal,
[data-cavbot-seal] {
  margin-bottom: 0 !important;
}

.cavbot-seal + .site-footer,
[data-cavbot-seal] + .site-footer,
.cavbot-seal + footer.site-footer,
[data-cavbot-seal] + footer.site-footer {
  margin-top: 0 !important;
}

.site-footer,
footer.site-footer {
  background:
    linear-gradient(
      to bottom,
      rgba(10, 11, 30, 0.98),
      rgba(3, 6, 22, 0.94)
    ) !important;
}

.site-header .nav-main .nav-link:hover,
.site-header .nav-main .nav-link:focus-visible,
.site-header .nav-main .cb-nav-trigger:hover,
.site-header .nav-main .cb-nav-trigger:focus-visible,
.site-header .nav-main .cb-nav-trigger[aria-expanded="true"],
.site-header .nav-main .cb-nav-item:hover > .cb-nav-trigger {
  color: #b9c85a     !important;
}


.site-header .nav-main .cb-nav-trigger:hover .cb-nav-chevron,
.site-header .nav-main .cb-nav-trigger:focus-visible .cb-nav-chevron,
.site-header .nav-main .cb-nav-trigger[aria-expanded="true"] .cb-nav-chevron,
.site-header .nav-main .cb-nav-item:hover > .cb-nav-trigger .cb-nav-chevron {
  color: #b9c85a    !important;
}


.site-header .nav-main .cb-nav-trigger:hover .cb-nav-chevron path,
.site-header .nav-main .cb-nav-trigger:focus-visible .cb-nav-chevron path,
.site-header .nav-main .cb-nav-trigger[aria-expanded="true"] .cb-nav-chevron path,
.site-header .nav-main .cb-nav-item:hover > .cb-nav-trigger .cb-nav-chevron path {
  stroke: currentColor !important;
}

    /* ==============================
       RESPONSIVE
       ============================== */

    @media (max-width: 960px) {
      .hero {
        grid-template-columns: minmax(0, 1fr);
      }
      .hero-robot-panel {
        order: -1;
      }
      .hero-robot-main {
        grid-template-columns: minmax(0, 1fr);
      }
      .system-role {
        grid-template-columns: minmax(0, 1fr);
      }

      .brain-grid,
      .pff-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .seo-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .seo-metrics-grid {
        grid-template-columns: minmax(0, 1fr);
      }

      .pricing-docs,
      .console-layout,
      .section-404-layout,
      .impact-dashboard-grid,
      .badge-layout,
      .analytics-layout,
      .cavbot-status-grid {
        grid-template-columns: minmax(0, 1fr);
      }

      .why-grid,
      .arcade-grid,
      .impact-graph-grid,
      .seo-metrics-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }

    @media (max-width: 720px) {
      .hero {
        padding-top: var(--space-lg);
      }

      .brain-card {
        padding: 16px 14px 14px;
        gap: 12px;
      }

      .brain-era,
      .brain-text {
        margin-top: 4px;
      }

      .brain-grid,
      .pff-grid,
      .seo-grid,
      .why-grid,
      .arcade-grid,
      .impact-graph-grid {
        grid-template-columns: minmax(0, 1fr);
      }

      .page-inner {
        padding-left: 16px;
        padding-right: 16px;
      }
    }

    @media (max-width: 520px) {
      .hero-title {
        font-size: 26px;
        letter-spacing: 0.1em;
      }

      .analytics-bar-row {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 6px;
        letter-spacing: 0.1em;
      }

      .analytics-bar-track {
        grid-column: 1 / -1;
      }

      .analytics-bar-label,
      .analytics-bar-value {
        white-space: normal;
        overflow-wrap: anywhere;
      }

      .code-block {
        font-size: 10px;
        line-height: 1.6;
      }

      .code-block code {
        display: block;
        white-space: pre-wrap;
        overflow-wrap: anywhere;
        word-break: break-word;
      }
    }
/* ==============================
   HERO FIRST-LOAD POSITION FIX
   ============================== */

body.page-shell main.page-inner > section.hero.hero-home-surface .hero-copy-block,
body.page-shell .page-inner > section.hero.hero-home-surface .hero-copy-block {
  margin-top: clamp(8px, 2.6vh, 30px) !important;
  gap: 18px !important;
}

body.page-shell main.page-inner > section.hero.hero-home-surface .hero-cavbot-standalone,
body.page-shell .page-inner > section.hero.hero-home-surface .hero-cavbot-standalone {
  margin-top: clamp(36px, 8vh, 74px) !important;
}

body.page-shell main.page-inner > section.hero.hero-home-surface,
body.page-shell .page-inner > section.hero.hero-home-surface {
  padding-top: calc(
    var(--cb-header-offset, 0px) + clamp(14px, 2.4vh, 28px)
  ) !important;

  grid-template-rows:
    minmax(68svh, auto)
    minmax(108svh, auto) !important;
}
/* ==============================
   HERO CTA CLICK FIX
   Keeps Start Trial button clickable
   ============================== */

body.page-shell main.page-inner > section.hero.hero-home-surface .hero-copy-block,
body.page-shell .page-inner > section.hero.hero-home-surface .hero-copy-block {
  position: relative !important;
  z-index: 80 !important;
  pointer-events: auto !important;
}

body.page-shell main.page-inner > section.hero.hero-home-surface .hero-cta-row,
body.page-shell .page-inner > section.hero.hero-home-surface .hero-cta-row {
  position: relative !important;
  z-index: 90 !important;
  pointer-events: auto !important;
}

body.page-shell main.page-inner > section.hero.hero-home-surface .hero-cta-row a,
body.page-shell .page-inner > section.hero.hero-home-surface .hero-cta-row a {
  position: relative !important;
  z-index: 100 !important;
  pointer-events: auto !important;
}

/* The demo area should not block the hero CTA while it is visually behind/under it */
.hero-demo-section {
  pointer-events: none !important;
}

/* The demo frame itself should not steal clicks from the hero CTA */
.hero-demo-frame {
  pointer-events: none !important;
}

/* Keep the actual demo/play button clickable */
.hero-demo-frame a,
.hero-demo-frame button,
.hero-demo-button {
  pointer-events: auto !important;
}
/* ==============================
   HERO DEMO CARD ALWAYS WINS
   Demo card clicks above CTA when overlapping
   ============================== */

/* Keep hero as a clean stacking context */
body.page-shell main.page-inner > section.hero.hero-home-surface,
body.page-shell .page-inner > section.hero.hero-home-surface {
  position: relative !important;
  isolation: isolate !important;
}

/* Hero text/button stays clickable normally, but below the demo card */
body.page-shell main.page-inner > section.hero.hero-home-surface .hero-copy-block,
body.page-shell .page-inner > section.hero.hero-home-surface .hero-copy-block {
  position: relative !important;
  z-index: 20 !important;
  pointer-events: auto !important;
}

body.page-shell main.page-inner > section.hero.hero-home-surface .hero-cta-row,
body.page-shell .page-inner > section.hero.hero-home-surface .hero-cta-row {
  position: relative !important;
  z-index: 25 !important;
  pointer-events: auto !important;
}

body.page-shell main.page-inner > section.hero.hero-home-surface .hero-cta-row a,
body.page-shell .page-inner > section.hero.hero-home-surface .hero-cta-row a {
  position: relative !important;
  z-index: 26 !important;
  pointer-events: auto !important;
}

/* The demo section itself should not block random empty space */
.hero-demo-section {
  position: relative !important;
  z-index: 70 !important;
  pointer-events: none !important;
}

/* The actual demo card/frame ALWAYS wins when it overlaps anything */
.hero-demo-frame {
  position: sticky !important;
  z-index: 120 !important;
  pointer-events: auto !important;
}

/* Everything inside the card remains clickable */
.hero-demo-frame *,
.hero-demo-frame a,
.hero-demo-frame button,
.hero-demo-button {
  pointer-events: auto !important;
}
