  *,
    *::before,
    *::after {
      box-sizing: border-box;
      margin: 0;
      padding: 0
    }
    
    

    :root {
      --bg: #FFFFFF;
      --bg2: #FAFAFA;
      --bg3: #F5F5F5;
      --surface: #FFFFFF;
      --surface2: #F8F8F8;
      --border: #EBEBEB;
      --border-d: #D8D8D8;

      --orange: #FF7A2E;
      --orange-d: #E0600F;
      --orange-l: #FF9A5C;
      --orange-xl: #FFF3EC;
      --orange-glow: rgba(255, 122, 46, 0.15);

      --blue: #1D4ED8;
      --blue-l: #3B82F6;
      --blue-xl: #EFF6FF;
      --blue-mid: #DBEAFE;

      --green: #15803D;
      --green-l: #22C55E;
      --green-xl: #F0FDF4;
      --green-mid: #DCFCE7;

      --yellow: #B45309;
      --yellow-l: #F59E0B;
      --yellow-xl: #FFFBEB;

      --red: #B91C1C;
      --red-l: #EF4444;
      --red-xl: #FEF2F2;

      --purple: #6D28D9;
      --purple-l: #8B5CF6;
      --purple-xl: #F5F3FF;

      --text: #0F0F0F;
      --text2: #404040;
      --text3: #7A7A7A;
      --text4: #B0B0B0;

      --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.04);
      --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.06), 0 1px 3px rgba(0, 0, 0, 0.04);
      --shadow-md: 0 8px 24px rgba(0, 0, 0, 0.08), 0 2px 8px rgba(0, 0, 0, 0.04);
      --shadow-lg: 0 16px 48px rgba(0, 0, 0, 0.1), 0 4px 12px rgba(0, 0, 0, 0.06);
      --shadow-xl: 0 32px 80px rgba(0, 0, 0, 0.12), 0 8px 24px rgba(0, 0, 0, 0.07);
      --shadow-orange: 0 8px 32px rgba(255, 122, 46, 0.2);
      --shadow-blue: 0 8px 32px rgba(29, 78, 216, 0.15);
      --shadow-green: 0 8px 32px rgba(21, 128, 61, 0.15);
    }


  @font-face {
    font-family: 'Bebas Neue';
    font-style: normal;
    font-weight: 400;
    src: local('Bebas Neue'),
         url('/BebasNeue.woff') format('woff');
}
    
    html {
      scroll-behavior: smooth;
      scroll-padding-top: 80px
    }

    body {
      background: #fff;
      color: var(--text);
      font-family: 'Plus Jakarta Sans', sans-serif;
      font-size: 16px;
      line-height: 1.6;
   
      max-width: 100vw
    }

    ::-webkit-scrollbar {
      width: 5px
    }

    ::-webkit-scrollbar-track {
      background: #fff
    }

    ::-webkit-scrollbar-thumb {
      background: var(--orange-l);
      border-radius: 3px
    }

    #progress {
      position: fixed;
      top: 0;
      left: 0;
      height: 3px;
      width: 100%;
      z-index: 999;
      background: linear-gradient(90deg, var(--orange-d), var(--orange), var(--yellow-l));
      transform: scaleX(0);
      transform-origin: left;
      transition: transform .04s linear;
      pointer-events: none
    }

    /* NAV */
    nav {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: 500;
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 20px 72px;
      transition: all .45s cubic-bezier(.22, 1, .36, 1)
    }

    nav.stuck {
      background: rgba(255, 255, 255, 0.95);
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
      border-bottom: 1px solid var(--border);
      padding: 14px 72px;
      box-shadow: 0 2px 16px rgba(0, 0, 0, 0.06)
    }

    .logo {
      display: flex;
      align-items: center;
      gap: 10px;
      text-decoration: none
    }

    .logo-img {
      background: #fff;
      border-radius: 8px;
      display: flex;
      align-items: center;
      justify-content: center;
      overflow: hidden
    }

    .logo-img img {
      width: 28px;
      height: 28px;
      object-fit: contain
    }

    .logo-wordmark {
      font-family: 'Fraunces', serif;
      font-size: 1.2rem;
      font-weight: 700;
      color: var(--text);
      letter-spacing: -.02em
    }

    .logo-wordmark em {
      color: var(--orange);
      font-style: italic
    }

    .logo-dot {
      font-family: 'DM Mono', monospace;
      font-size: .75rem;
      color: var(--text3);
      font-style: normal
    }

    .nav-links {
      display: flex;
      gap: 34px;
      list-style: none
    }

    .nav-links a {
      font-size: .875rem;
      font-weight: 500;
      color: var(--text2);
      text-decoration: none;
      letter-spacing: .01em;
      transition: color .2s;
      position: relative
    }

    .nav-links a::after {
      content: '';
      position: absolute;
      bottom: -4px;
      left: 0;
      right: 0;
      height: 2px;
      background: var(--orange);
      border-radius: 2px;
      transform: scaleX(0);
      transform-origin: left;
      transition: transform .3s cubic-bezier(.22, 1, .36, 1)
    }

    .nav-links a:hover {
      color: var(--orange)
    }

    .nav-links a:hover::after {
      transform: scaleX(1)
    }

    .nav-right {
      display: flex;
      align-items: center;
      gap: 10px
    }

    .nav-login {
      font-size: .875rem;
      font-weight: 500;
      color: var(--text2);
      cursor: pointer;
      padding: 8px 18px;
      border-radius: 8px;
      border: 1px solid var(--border-d);
      background: transparent;
      transition: all .2s;
      font-family: 'Plus Jakarta Sans', sans-serif
    }

    .nav-login:hover {
      border-color: var(--orange);
      color: var(--orange);
      background: var(--orange-xl)
    }

    .nav-cta {
      font-size: .875rem;
      font-weight: 600;
      color: #fff;
      cursor: pointer;
      padding: 9px 22px;
      border-radius: 9px;
      border: none;
      background: var(--orange);
      box-shadow: var(--shadow-orange);
      transition: all .25s;
      font-family: 'Plus Jakarta Sans', sans-serif;
      position: relative;
      overflow: hidden
    }

    .btn-nudge {
      display: inline-block;
      transform-origin: center;
      animation: quickNudge 3.6s ease-in-out infinite;
      will-change: transform;
    }

    .nav-cta:hover {
      background: var(--orange-d);
      transform: translateY(-1px);
      box-shadow: 0 12px 30px rgba(255, 122, 46, 0.3)
    }

    .nav-cta:hover,
    .nav-cta:focus-visible {
      animation-play-state: paused
    }

    .nav-cta:hover .btn-nudge,
    .nav-cta:focus-visible .btn-nudge,
    .btn-hero-main:hover .btn-nudge,
    .btn-hero-main:focus-visible .btn-nudge {
      animation-play-state: paused;
    }

    .nav-cta {
      animation: softFloat 2.8s ease-in-out infinite;
      will-change: transform, box-shadow
    }

    /* HERO */
    #hero {
      min-height: 100vh;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      text-align: center;
      padding: 140px 40px 80px;
      position: relative;
      overflow: hidden;
      background: #fff
    }

    .hero-pattern {
      position: absolute;
      inset: 0;
      pointer-events: none;
      overflow: hidden
    }

    .hero-pattern svg {
      width: 100%;
      height: 100%;
      opacity: .04
    }

    .hero-orb {
      position: absolute;
      border-radius: 50%;
      filter: blur(70px);
      pointer-events: none
    }

    .orb1 {
      width: 700px;
      height: 700px;
      background: radial-gradient(circle, rgba(255, 122, 46, 0.08), transparent 65%);
      top: -200px;
      left: 50%;
      transform: translateX(-50%);
      animation: ambientDrift 12s ease-in-out infinite;
    }

    .orb2 {
      width: 500px;
      height: 500px;
      background: radial-gradient(circle, rgba(29, 78, 216, 0.05), transparent 65%);
      bottom: 0;
      left: -150px;
      animation: ambientDrift 14s ease-in-out infinite reverse;
    }

    .orb3 {
      width: 400px;
      height: 400px;
      background: radial-gradient(circle, rgba(21, 128, 61, 0.04), transparent 65%);
      bottom: 0;
      right: -100px;
      animation: ambientDrift 16s ease-in-out infinite;
    }

    .hero-status {
      display: inline-flex;
      align-items: center;
      gap: 9px;
      background: #fff;
      border: 1px solid var(--border-d);
      border-radius: 100px;
      padding: 7px 18px;
      font-family: 'DM Mono', monospace;
      font-size: .68rem;
      letter-spacing: .08em;
      color: var(--text2);
      margin-bottom: 28px;
      position: relative;
      z-index: 2;
      box-shadow: var(--shadow-sm);
      animation: fadeUp .8s ease both
    }

    .hero-status-text {
      display: inline-block;
      white-space: nowrap;
    }

    .hero-status-cursor {
      display: inline-block;
      width: 1px;
      height: 0.9em;
      background: var(--text3);
      margin-left: 2px;
      vertical-align: -0.12em;
      animation: cursorBlink 0.9s step-end infinite;
    }

    .live-dot {
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: var(--green-l);
      display: inline-block;
      animation: livePulse 2s ease infinite
    }

    @keyframes livePulse {

      0%,
      100% {
        box-shadow: 0 0 0 0 rgba(34, 197, 94, .4)
      }

      50% {
        box-shadow: 0 0 0 6px rgba(34, 197, 94, 0)
      }
    }

    @keyframes cursorBlink {
      0%, 49% { opacity: 1; }
      50%, 100% { opacity: 0; }
    }

    @keyframes softFloat {
      0%,
      100% {
        transform: translateY(0);
        box-shadow: var(--shadow-orange)
      }

      50% {
        transform: translateY(-14px);
        box-shadow: 0 14px 34px rgba(255, 122, 46, 0.28)
      }
    }

    @keyframes quickNudge {
      0%, 86%, 100% { transform: translateX(0) rotate(0deg); }
      88% { transform: translateX(-1px) rotate(-1deg); }
      90% { transform: translateX(1px) rotate(1deg); }
      92% { transform: translateX(-1px) rotate(-1deg); }
      94% { transform: translateX(1px) rotate(1deg); }
      96% { transform: translateX(0) rotate(0deg); }
    }

    @keyframes ambientDrift {
      0%, 100% { transform: translateY(0) translateX(0) scale(1); }
      50% { transform: translateY(-22px) translateX(14px) scale(1.04); }
    }

    @keyframes sheenSweep {
      0% { transform: translateX(-120%) skewX(-18deg); opacity: 0; }
      20% { opacity: 1; }
      100% { transform: translateX(120%) skewX(-18deg); opacity: 0; }
    }

    @keyframes contactFloat {
      0%,
      100% {
        transform: translateY(0)
      }

      50% {
        transform: translateY(-7px)
      }
    }

    @keyframes assetFloat {
      0%,
      100% {
        transform: translateY(0) rotate(-1deg)
      }

      50% {
        transform: translateY(-10px) rotate(1deg)
      }
    }

    h1.hero-h {
      /*font-family: 'Fraunces', serif;*/
      font-size: clamp(3.2rem, 7.5vw, 7.5rem);
      font-weight: 900;
      line-height: 139.99px;
      letter-spacing: -.05em;
      position: relative;
      z-index: 2;
      margin-bottom: 24px
    }

    .line-reveal {
      display: block;
      overflow: hidden
    }

    .line-reveal span {
      display: block;
      animation: lineRise 1.1s cubic-bezier(.22, 1, .36, 1) both
    }

    .line-reveal:nth-child(1) span {
      animation-delay: .05s
    }

    .line-reveal:nth-child(2) span {
      animation-delay: .18s
    }

    .line-reveal:nth-child(3) span {
      animation-delay: .31s
    }

    .grad-text {
      color: var(--orange, #FF7A2E);
    }

    @keyframes lineRise {
      from {
        transform: translateY(105%);
        opacity: 0
      }

      to {
        transform: translateY(0);
        opacity: 1
      }
    }

    @keyframes fadeUp {
      from {
        opacity: 0;
        transform: translateY(20px)
      }

      to {
        opacity: 1;
        transform: translateY(0)
      }
    }

    .hero-desc {
      font-size: 1.05rem;
      color: var(--text2);
      max-width: 500px;
      margin: 0 auto 40px;
      font-weight: 400;
      line-height: 1.8;
      position: relative;
      z-index: 2;
      animation: fadeUp 1s .5s ease both
    }

    .hero-btns {
      display: flex;
      gap: 14px;
      justify-content: center;
      flex-wrap: wrap;
      position: relative;
      z-index: 2;
      animation: fadeUp 1s .65s ease both
    }

    .btn-hero-main {
      padding: 15px 36px;
      border-radius: 12px;
      border: none;
      background: var(--orange);
      color: #fff;
      font-family: 'Plus Jakarta Sans', sans-serif;
      font-size: .95rem;
      font-weight: 700;
      cursor: pointer;
      position: relative;
      overflow: hidden;
      box-shadow: var(--shadow-orange);
      transition: transform .3s cubic-bezier(.22, 1, .36, 1), box-shadow .3s;
      letter-spacing: .01em
    }

    .nav-cta .btn-nudge,
    .btn-hero-main .btn-nudge {
      display: inline-block;
    }

    .btn-hero-main:hover {
      transform: translateY(-3px) scale(1.02);
      box-shadow: 0 16px 48px rgba(255, 122, 46, 0.35)
    }

    .btn-hero-main:hover,
    .btn-hero-main:focus-visible {
      animation-play-state: paused
    }

    .btn-hero-main {
      animation: softFloat 5.2s ease-in-out infinite;
      will-change: transform, box-shadow
    }

    .float-asset {
      animation: assetFloat 4.8s ease-in-out infinite;
      will-change: transform
    }

    img[src*="4x/"] {
      animation: assetFloat 5.6s ease-in-out infinite;
      will-change: transform;
    }

    img[src*="4x/"]:hover,
    img[src*="4x/"]:focus-visible {
      animation-play-state: paused;
    }

    #cta .section-mascot img {
      animation: none !important;
      will-change: auto;
    }

    .btn-hero-ghost {
      padding: 15px 36px;
      border-radius: 12px;
      border: 2px solid var(--border-d);
      background: #fff;
      color: var(--text);
      font-family: 'Plus Jakarta Sans', sans-serif;
      font-size: .95rem;
      font-weight: 600;
      cursor: pointer;
      transition: all .25s;
      display: flex;
      align-items: center;
      gap: 8px;
      box-shadow: var(--shadow-xs)
    }

    .btn-hero-ghost:hover {
      border-color: var(--orange);
      color: var(--orange);
      background: var(--orange-xl);
      transform: translateY(-3px)
    }

    .play-icon {
      width: 28px;
      height: 28px;
      border-radius: 50%;
      background: var(--orange);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: .55rem;
      color: #fff;
      flex-shrink: 0;
      box-shadow: 0 2px 8px rgba(255, 122, 46, 0.35)
    }

    .hero-social {
      display: flex;
      align-items: center;
      gap: 16px;
      justify-content: center;
      margin-top: 20px;
      position: relative;
      z-index: 2;
      animation: fadeUp 1s .8s ease both
    }

    .avatars-row {
      display: flex
    }

    .av {
      width: 32px;
      height: 32px;
      border-radius: 50%;
      border: 2.5px solid #fff;
      margin-left: -9px;
      font-size: .55rem;
      font-weight: 700;
      display: flex;
      align-items: center;
      justify-content: center;
      box-shadow: var(--shadow-xs)
    }

    .rating-stars {
      color: var(--orange);
      font-size: .7rem;
      letter-spacing: 1px
    }

    .social-text {
      font-size: .82rem;
      color: var(--text2);
      font-weight: 500
    }

    .stats-bar {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      background: #fff;
      border: 1px solid var(--border);
      border-radius: 20px;
      max-width: 800px;
      width: 100%;
      margin: 48px auto 0;
      overflow: hidden;
      box-shadow: var(--shadow-md);
      position: relative;
      z-index: 2;
      animation: fadeUp 1s .95s ease both
    }

    .stat-cell {
      padding: 24px 16px;
      text-align: center;
      border-right: 1px solid var(--border);
      transition: background .3s;
      position: relative;
      overflow: hidden
    }

    .stat-cell:last-child {
      border-right: none
    }

    .stat-cell:hover {
      background: var(--orange-xl)
    }

    .stat-n {
      font-family: 'Fraunces', serif;
      font-size: 2.4rem;
      font-weight: 900;
      color: var(--orange);
      letter-spacing: -.04em;
      line-height: 1;
      transition: transform .3s
    }

    .stat-cell:hover .stat-n {
      transform: scale(1.06)
    }

    .stat-l {
      font-family: 'DM Mono', monospace;
      font-size: .56rem;
      letter-spacing: .1em;
      text-transform: uppercase;
      color: var(--text3);
      margin-top: 4px
    }

    /* SECTION HELPERS */
    .section-eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      font-family: 'DM Mono', monospace;
      font-size: .66rem;
      letter-spacing: .15em;
      text-transform: uppercase;
      color: var(--orange);
      margin-bottom: 12px
    }

    .section-eyebrow::before {
      content: '';
      width: 18px;
      height: 2px;
      background: var(--orange);
      border-radius: 2px
    }

    h2.sh {
      /*font-family: 'Fraunces', serif;*/
      font-size: clamp(2.2rem, 4vw, 4rem);
      font-weight: 900;
      letter-spacing: -.04em;
      line-height: 1.04;
      color: var(--text);
      margin-bottom: 12px
    }

    .title-reveal {
      opacity: 0;
      transform: translateY(18px);
      filter: blur(8px);
      transition:
        opacity .85s cubic-bezier(.22, 1, .36, 1),
        transform .85s cubic-bezier(.22, 1, .36, 1),
        filter .85s cubic-bezier(.22, 1, .36, 1);
      transition-delay: var(--title-delay, 0s);
      will-change: opacity, transform, filter;
    }

    .title-reveal.on {
      opacity: 1;
      transform: translateY(0);
      filter: blur(0);
    }

    .sp {
      color: var(--text2);
      max-width: 490px;
      font-size: .95rem;
      line-height: 1.8
    }

    .center {
      text-align: center
    }

    .center .sp {
      margin: 0 auto
    }

    .center .section-eyebrow {
      justify-content: center
    }

    .center .section-eyebrow::before {
      display: none
    }

    .center .section-eyebrow::after {
      content: '';
      width: 18px;
      height: 2px;
      background: var(--orange);
      border-radius: 2px
    }

    .reveal {
      opacity: 0;
      transform: translateY(40px);
      transition: opacity .9s cubic-bezier(.22, 1, .36, 1), transform .9s cubic-bezier(.22, 1, .36, 1)
    }

    .reveal.on {
      opacity: 1;
      transform: translateY(0)
    }

    .reveal-l {
      opacity: 0;
      transform: translateX(-40px);
      transition: opacity .9s cubic-bezier(.22, 1, .36, 1), transform .9s cubic-bezier(.22, 1, .36, 1)
    }

    .reveal-l.on {
      opacity: 1;
      transform: translateX(0)
    }

    .reveal-r {
      opacity: 0;
      transform: translateX(40px);
      transition: opacity .9s cubic-bezier(.22, 1, .36, 1), transform .9s cubic-bezier(.22, 1, .36, 1)
    }

    .reveal-r.on {
      opacity: 1;
      transform: translateX(0)
    }

    .d1 {
      transition-delay: .08s
    }

    .d2 {
      transition-delay: .18s
    }

    .d3 {
      transition-delay: .28s
    }

    .d4 {
      transition-delay: .38s
    }

    /* DASHBOARD MOCKUP SECTION */

    /* MOCKUP SCROLL SECTION */
.mockup-scroll-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: start;
  margin-top: 40px;
}

.mockup-sticky-side {
  position: sticky;
  top: 100px;
  height: 500px;
}

.mockup-img-track {
  position: relative;
  width: 100%;
  height: auto;           /* let image dictate height */
  border-radius: 0 0 20px 20px;
  overflow: hidden;
}

.mockup-slide {
  position: relative;     /* changed from absolute */
  display: none;          /* hidden by default */
  width: 100%;
  height: auto;           /* full image, no crop */
  object-fit: contain;    /* was cover — now shows full image */
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.5s cubic-bezier(.22,1,.36,1), transform 0.5s cubic-bezier(.22,1,.36,1);
}

.mockup-slide.active {
  display: block;         /* only active slide takes up space */
  opacity: 1;
  transform: translateY(0);
}

/* RIGHT: steps */
.mockup-steps-side {
  display: flex;
  flex-direction: column;
}

.mockup-step {
  min-height: 320px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 40px 0;
  border-bottom: 1px solid var(--border);
  opacity: 0.3;
  transform: translateY(10px);
  transition: opacity 0.4s ease, transform 0.4s ease;
}

.mockup-step:last-child {
  border-bottom: none;
}

.mockup-step.active {
  opacity: 1;
  transform: translateY(0);
}

.mockup-step .step-num {
  font-family: 'DM Mono', monospace;
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  color: var(--orange);
  margin-bottom: 12px;
}

.mockup-step h3 {
  font-family: 'Fraunces', serif;
  font-size: 1.8rem;
  font-weight: 900;
  letter-spacing: -0.03em;
  color: var(--text);
  margin-bottom: 12px;
  line-height: 1.1;
}

.mockup-step p {
  font-size: 0.95rem;
  color: var(--text2);
  line-height: 1.7;
  max-width: 380px;
}

    #mockup-section {
      padding: 60px 40px 70px;
      background: #fff;
      border-top: 1px solid var(--border)
    }

    .mockup-container {
      max-width: 1100px;
      margin: 0 auto
    }

    .mockup-header {
      text-align: center;
      margin-bottom: 36px
    }

    .dash-wrapper {
      position: relative;
      border-radius: 20px;
      overflow: hidden;
      box-shadow: 0 24px 80px rgba(0, 0, 0, 0.12), 0 8px 24px rgba(0, 0, 0, 0.08);
      border: 1px solid var(--border);
    }

    .dash-topbar {
      background: #F2F2F2;
      border-bottom: 1px solid var(--border);
      padding: 10px 16px;
      display: flex;
      align-items: center;
      gap: 10px;
    }

    .traffic {
      display: flex;
      gap: 6px
    }

    .dot-r {
      width: 12px;
      height: 12px;
      border-radius: 50%;
      background: #FF5F57
    }

    .dot-y {
      width: 12px;
      height: 12px;
      border-radius: 50%;
      background: #FEBC2E
    }

    .dot-g {
      width: 12px;
      height: 12px;
      border-radius: 50%;
      background: #28C840
    }

    .url-bar {
      flex: 1;
      background: #fff;
      border: 1px solid var(--border);
      border-radius: 6px;
      padding: 4px 12px;
      font-family: 'DM Mono', monospace;
      font-size: .65rem;
      color: var(--text3);
      text-align: center
    }

    .live-badge {
      display: flex;
      align-items: center;
      gap: 5px;
      font-family: 'DM Mono', monospace;
      font-size: .6rem;
      color: var(--green);
      background: var(--green-xl);
      border: 1px solid rgba(21, 128, 61, 0.2);
      border-radius: 6px;
      padding: 4px 10px
    }

    .pulse-dot {
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: var(--green-l);
      animation: livePulse 2s infinite
    }

    .dash-body {
      display: grid;
      grid-template-columns: 180px 1fr;
      height: 380px;
      background: #fff
    }

    .dash-sidebar {
      background: #FAFAFA;
      border-right: 1px solid var(--border);
      padding: 12px 0;
      display: flex;
      flex-direction: column;
      gap: 2px
    }

    .dash-logo-area {
      padding: 10px 14px 10px;
      display: flex;
      align-items: center;
      gap: 8px;
      border-bottom: 1px solid var(--border);
      margin-bottom: 6px
    }

    .dash-logo-area img {
      height: 22px;
      width: auto
    }

    .dash-logo-area span {
      font-family: 'Fraunces', serif;
      font-size: .78rem;
      font-weight: 700;
      color: var(--text)
    }

    .dash-nav-item {
      display: flex;
      align-items: center;
      gap: 8px;
      padding: 7px 14px;
      font-size: .7rem;
      font-weight: 500;
      color: var(--text3);
      cursor: pointer;
      border-radius: 6px;
      margin: 0 6px;
      transition: all .2s
    }

    .dash-nav-item svg {
      width: 14px;
      height: 14px;
      flex-shrink: 0
    }

    .dash-nav-item:hover {
      background: var(--orange-xl);
      color: var(--orange)
    }

    .dash-nav-item.active {
      background: var(--orange);
      color: #fff;
      font-weight: 600
    }

    .dash-main {
      padding: 14px;
      overflow: hidden;
      background: #fff
    }

    .dash-row {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 8px;
      margin-bottom: 10px
    }

    .kpi {
      background: #fff;
      border: 1px solid var(--border);
      border-radius: 10px;
      padding: 10px 12px;
      transition: transform .2s
    }

    .kpi:hover {
      transform: translateY(-2px);
      box-shadow: var(--shadow-sm)
    }

    .kpi-label {
      font-family: 'DM Mono', monospace;
      font-size: .52rem;
      letter-spacing: .06em;
      text-transform: uppercase;
      color: var(--text3);
      margin-bottom: 3px
    }

    .kpi-val {
      font-family: 'Fraunces', serif;
      font-size: 1.3rem;
      font-weight: 900;
      letter-spacing: -.03em;
      line-height: 1
    }

    .kpi-val.c {
      color: var(--blue)
    }

    .kpi-val.p {
      color: var(--orange)
    }

    .kpi-val.g {
      color: var(--green)
    }

    .kpi-val.o {
      color: var(--purple)
    }

    .kpi-chg {
      font-size: .55rem;
      color: var(--text3);
      margin-top: 2px
    }

    .dash-charts {
      display: grid;
      grid-template-columns: 1.5fr 1fr;
      gap: 8px;
      margin-bottom: 10px
    }

    .chart-card {
      background: #fff;
      border: 1px solid var(--border);
      border-radius: 10px;
      padding: 10px 12px
    }

    .chart-title {
      font-family: 'DM Mono', monospace;
      font-size: .55rem;
      letter-spacing: .08em;
      text-transform: uppercase;
      color: var(--text3);
      margin-bottom: 8px
    }

    .bar-chart {
      display: flex;
      align-items: flex-end;
      gap: 5px;
      height: 70px
    }

    .bar {
      flex: 1;
      border-radius: 4px 4px 0 0;
      background: var(--orange-xl);
      border: 1px solid rgba(255, 122, 46, 0.2);
      transition: height .8s cubic-bezier(.22, 1, .36, 1)
    }

    .bar.highlight {
      background: var(--orange)
    }

    .bar-label {
      font-size: .45rem;
      text-align: center;
      color: var(--text4);
      margin-top: 3px
    }

    .bars-wrap {
      display: flex;
      flex-direction: column;
      width: 100%
    }

    .bars-row {
      display: flex;
      align-items: flex-end;
      gap: 5px;
      height: 70px
    }

    .funnel {
      display: flex;
      flex-direction: column;
      gap: 5px
    }

    .f-row {
      display: flex;
      align-items: center;
      gap: 6px
    }

    .f-lbl {
      font-size: .58rem;
      color: var(--text3);
      width: 52px;
      text-align: right
    }

    .f-bw {
      flex: 1;
      background: var(--bg3);
      border-radius: 3px;
      height: 8px;
      overflow: hidden
    }

    .f-b {
      height: 100%;
      border-radius: 3px;
      width: 0;
      transition: width 1.5s cubic-bezier(.22, 1, .36, 1)
    }

    .f-v {
      font-family: 'DM Mono', monospace;
      font-size: .55rem;
      color: var(--text3);
      width: 25px
    }

    .client-list {
      display: flex;
      flex-direction: column;
      gap: 4px
    }

    .client-row {
      display: flex;
      align-items: center;
      gap: 8px;
      padding: 7px 10px;
      background: #fff;
      border: 1px solid var(--border);
      border-radius: 8px;
      transition: all .2s
    }

    .client-row:hover {
      border-color: var(--orange-l);
      background: var(--orange-xl)
    }

    .c-ava {
      width: 26px;
      height: 26px;
      border-radius: 7px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: .55rem;
      font-weight: 700;
      flex-shrink: 0
    }

    .c-status {
      font-family: 'DM Mono', monospace;
      font-size: .5rem;
      letter-spacing: .08em;
      padding: 3px 8px;
      border-radius: 5px
    }

    .c-status.active {
      background: var(--green-xl);
      color: var(--green)
    }

    .c-status.pending {
      background: var(--yellow-xl);
      color: var(--yellow)
    }

    .c-status.new {
      background: var(--blue-xl);
      color: var(--blue)
    }

    /* AI AGENTS */
    #agents {
      padding: 70px 40px 70px;
      background: #fff;
      border-top: 1px solid var(--border)
    }

    .agents-wrap {
      max-width: 1280px;
      margin: 0 auto
    }

    .agents-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 24px;
      margin-top: 50px
    }

    .ai-card {
      position: relative;
      border-radius: 24px;
      overflow: hidden;
      background: #fff;
      border: 1px solid var(--border);
      box-shadow: var(--shadow-md);
      transition: transform .45s cubic-bezier(.22, 1, .36, 1), box-shadow .45s;
      cursor: pointer
    }

    .ai-card:hover {
      transform: translateY(-12px)
    }

    .ai-card-header {
      padding: 32px 28px 24px;
      position: relative;
      overflow: hidden;
      border-bottom: 1px solid var(--border)
    }

    .neural-bg {
      position: absolute;
      inset: 0;
      opacity: .06
    }

    /* ── MAGI card (orange bg) ── */
    .card-Magi {
      border-top: 3px solid var(--orange);
      background: var(--orange);
    }

    .card-Magi .ai-card-header {
      background: transparent;
      border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    }

    .card-Magi .ag-name {
      color: #fff;
    }

    .card-Magi .ag-desc {
      color: rgba(255, 255, 255, 0.85);
    }

    .card-Magi .ag-role-badge {
      background: rgba(255, 255, 255, 0.15);
      color: #fff;
      border-color: rgba(255, 255, 255, 0.3);
    }

    .card-Magi .ag-status {
      background: rgba(255, 255, 255, 0.15);
      border-color: rgba(255, 255, 255, 0.3);
      color: #fff;
    }

    .card-Magi .ag-sdot {
      background: #fff;
    }

    .card-Magi .stat-ring {
      border-color: rgba(255, 255, 255, 0.5);
      color: #fff;
    }

    .card-Magi .sr-lbl {
      color: rgba(255, 255, 255, 0.7);
    }

    .card-Magi .sr-val {
      color: #fff;
    }

    .card-Magi .tag {
      background: rgba(255, 255, 255, 0.15);
      color: #fff;
      border-color: rgba(255, 255, 255, 0.3);
    }

    .card-Magi .agent-btn {
      background: #fff;
      color: var(--orange);
      box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    }

    .card-Magi .agent-btn:hover {
      background: rgba(255, 255, 255, 0.9);
    }

    .card-Magi .ai-card-body {
      background: rgba(0, 0, 0, 0.08);
    }

    .card-Magi .neural-bg g {
      stroke: rgba(255, 255, 255, 0.4);
    }

    /* ── MITU card (blue bg) ── */
    .card-mitu {
      border-top: 3px solid var(--blue);
      background: var(--blue);
    }

    .card-mitu .ai-card-header {
      background: transparent;
      border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    }

    .card-mitu .ag-name {
      color: #fff;
    }

    .card-mitu .ag-desc {
      color: rgba(255, 255, 255, 0.85);
    }

    .card-mitu .ag-role-badge {
      background: rgba(255, 255, 255, 0.15);
      color: #fff;
      border-color: rgba(255, 255, 255, 0.3);
    }

    .card-mitu .ag-status {
      background: rgba(255, 255, 255, 0.15);
      border-color: rgba(255, 255, 255, 0.3);
      color: #fff;
    }

    .card-mitu .ag-sdot {
      background: #fff;
    }

    .card-mitu .stat-ring {
      border-color: rgba(255, 255, 255, 0.5);
      color: #fff;
    }

    .card-mitu .sr-lbl {
      color: rgba(255, 255, 255, 0.7);
    }

    .card-mitu .sr-val {
      color: #fff;
    }

    .card-mitu .tag {
      background: rgba(255, 255, 255, 0.15);
      color: #fff;
      border-color: rgba(255, 255, 255, 0.3);
    }

    .card-mitu .agent-btn {
      background: #fff;
      color: var(--blue);
      box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    }

    .card-mitu .agent-btn:hover {
      background: rgba(255, 255, 255, 0.9);
    }

    .card-mitu .ai-card-body {
      background: rgba(0, 0, 0, 0.08);
    }

    /* ── CHINTU card (green bg) ── */
    .card-Chintu {
      border-top: 3px solid var(--green);
      background: var(--green);
    }

    .card-Chintu .ai-card-header {
      background: transparent;
      border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    }

    .card-Chintu .ag-name {
      color: #fff;
    }

    .card-Chintu .ag-desc {
      color: rgba(255, 255, 255, 0.85);
    }

    .card-Chintu .ag-role-badge {
      background: rgba(255, 255, 255, 0.15);
      color: #fff;
      border-color: rgba(255, 255, 255, 0.3);
    }

    .card-Chintu .ag-status {
      background: rgba(255, 255, 255, 0.15);
      border-color: rgba(255, 255, 255, 0.3);
      color: #fff;
    }

    .card-Chintu .ag-sdot {
      background: #fff;
    }

    .card-Chintu .stat-ring {
      border-color: rgba(255, 255, 255, 0.5);
      color: #fff;
    }

    .card-Chintu .sr-lbl {
      color: rgba(255, 255, 255, 0.7);
    }

    .card-Chintu .sr-val {
      color: #fff;
    }

    .card-Chintu .tag {
      background: rgba(255, 255, 255, 0.15);
      color: #fff;
      border-color: rgba(255, 255, 255, 0.3);
    }

    .card-Chintu .agent-btn {
      background: #fff;
      color: var(--green);
      box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    }

    .card-Chintu .agent-btn:hover {
      background: rgba(255, 255, 255, 0.9);
    }

    .card-Chintu .ai-card-body {
      background: rgba(0, 0, 0, 0.08);
    }

    .agent-glyph {
      width: auto;
      height: auto;
      border-radius: 18px;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      justify-content: flex-start;
      margin-bottom: 12px;
      position: relative;
      overflow: visible;
      flex-shrink: 0;
    }

    .ai-agent-img {
      width: 300px;
      height: 64px;
      object-fit: contain;
      border-radius: 14px;
      flex-shrink: 0;
      display: block;
      margin: 0 auto;
    }

    .agent-glyph::after {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(135deg, rgba(255, 255, 255, .3), transparent)
    }

    .ai-icon-inner {
      width: 36px;
      height: 36px;
      border-radius: 10px;
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
      z-index: 1
    }

    .ai-icon-inner svg {
      width: 22px;
      height: 22px
    }

    .ag-header-row {
  display: flex;
  flex-direction: column;
  align-items: center;  /* changed from flex-start */
  gap: 10px;
  margin-bottom: 12px;
}

    .ag-name {
      font-family: 'Fraunces', serif;
      font-size: 1.8rem;
      font-weight: 900;
      letter-spacing: -.04em;
      line-height: 1;
      margin-bottom: 4px
    }

    .ag-role-badge {
  margin-top: 8px;
  text-align: center;  /* add this */
}

    .ag-status {
      position: absolute;
      top: 18px;
      right: 18px;
      display: flex;
      align-items: center;
      gap: 5px;
      background: var(--green-xl);
      border: 1px solid rgba(21, 128, 61, 0.2);
      border-radius: 100px;
      padding: 4px 10px;
      font-family: 'DM Mono', monospace;
      font-size: .54rem;
      letter-spacing: .08em;
      color: var(--green)
    }

    .ag-sdot {
      width: 5px;
      height: 5px;
      border-radius: 50%;
      background: var(--green-l);
      animation: livePulse 2s infinite
    }

    .ag-desc {
      font-size: .875rem;
      color: var(--text2);
      line-height: 1.72;
      position: relative;
      z-index: 1
    }

    .ai-card-body {
      padding: 20px 28px 26px
    }

    .stat-rings {
      display: flex;
      gap: 10px;
      margin-bottom: 18px
    }

    .stat-ring {
      flex: 1;
      border: 2px solid;
      border-radius: 14px;
      padding: 12px 6px;
      text-align: center;
      position: relative;
      transition: transform .25s
    }

    .stat-ring:hover {
      transform: scale(1.04)
    }

    .sr-val {
      font-family: 'Fraunces', serif;
      font-size: 1.2rem;
      font-weight: 900;
      letter-spacing: -.03em;
      line-height: 1;
      margin-bottom: 3px
    }

    .sr-lbl {
      font-family: 'DM Mono', monospace;
      font-size: .48rem;
      letter-spacing: .09em;
      text-transform: uppercase;
      color: var(--text3)
    }

    .agent-tags {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      margin-bottom: 18px
    }

    .tag {
      font-family: 'DM Mono', monospace;
      font-size: .55rem;
      letter-spacing: .06em;
      padding: 4px 10px;
      border-radius: 7px;
      border: 1px solid;
      transition: transform .2s
    }

    .tag:hover {
      transform: translateY(-2px)
    }

    .agent-btn {
      width: 100%;
      padding: 12px;
      border-radius: 11px;
      border: none;
      font-family: 'Plus Jakarta Sans', sans-serif;
      font-size: .875rem;
      font-weight: 700;
      color: #fff;
      cursor: pointer;
      position: relative;
      overflow: hidden;
      transition: transform .25s cubic-bezier(.22, 1, .36, 1), box-shadow .25s;
      letter-spacing: .01em
    }

    .agent-btn:hover {
      transform: translateY(-3px)
    }

    /* FEATURES — Redesigned */
    #features {
      padding: 70px 40px;
      background: #FAFAFA;
      border-top: 1px solid var(--border)
    }

    .feat-container {
      max-width: 1280px;
      margin: 0 auto
    }

    /* 3-column uniform grid */
    .feat-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 20px;
      margin-top: 48px;
    }

    .fb {
      border-radius: 20px;
      padding: 28px 26px;
      background: #fff;
      border: 1px solid var(--border);
      box-shadow: var(--shadow-xs);
      position: relative;
      overflow: hidden;
      transition: transform .4s cubic-bezier(.22, 1, .36, 1), border-color .3s, box-shadow .35s;
      display: flex;
      flex-direction: column;
      gap: 0;
    }

    .fb:hover {
      transform: translateY(-6px);
      box-shadow: var(--shadow-lg)
    }

    .fb-top-bar {
      height: 3px;
      border-radius: 3px;
      margin-bottom: 20px;
      border-radius: 2px
    }

    .fb-orange .fb-top-bar {
      background: linear-gradient(90deg, var(--orange), var(--orange-l))
    }

    .fb-blue .fb-top-bar {
      background: linear-gradient(90deg, var(--blue), var(--blue-l))
    }

    .fb-green .fb-top-bar {
      background: linear-gradient(90deg, var(--green), var(--green-l))
    }

    .fb-yellow .fb-top-bar {
      background: linear-gradient(90deg, var(--yellow), var(--yellow-l))
    }

    .fb-red .fb-top-bar {
      background: linear-gradient(90deg, var(--red), var(--red-l))
    }

    .fb-purple .fb-top-bar {
      background: linear-gradient(90deg, var(--purple), var(--purple-l))
    }

    .fb-num {
      position: absolute;
      top: 14px;
      right: 18px;
      font-family: 'Fraunces', serif;
      font-size: 2.8rem;
      font-weight: 900;
      line-height: 1;
      opacity: .05;
      color: var(--text);
    }

    .fb-icon {
      width: 46px;
      height: 46px;
      border-radius: 12px;
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 14px;
      font-size: 1.3rem;
      border: 1px solid var(--border);
      transition: transform .3s cubic-bezier(.22, 1, .36, 1);
      flex-shrink: 0;
    }

    .fb:hover .fb-icon {
      transform: scale(1.1) rotate(-8deg)
    }

    .fb-orange .fb-icon {
      background: var(--orange-xl);
      border-color: rgba(255, 122, 46, 0.2)
    }

    .fb-blue .fb-icon {
      background: var(--blue-xl);
      border-color: rgba(29, 78, 216, 0.2)
    }

    .fb-green .fb-icon {
      background: var(--green-xl);
      border-color: rgba(21, 128, 61, 0.2)
    }

    .fb-yellow .fb-icon {
      background: var(--yellow-xl);
      border-color: rgba(245, 158, 11, 0.2)
    }

    .fb-red .fb-icon {
      background: var(--red-xl);
      border-color: rgba(239, 68, 68, 0.2)
    }

    .fb-purple .fb-icon {
      background: var(--purple-xl);
      border-color: rgba(109, 40, 217, 0.2)
    }

    .fb-title {
      font-family: 'Fraunces', serif;
      font-size: 1rem;
      font-weight: 700;
      margin-bottom: 8px;
      color: var(--text);
      letter-spacing: -.02em;
      transition: color .25s
    }

    .fb-orange:hover .fb-title {
      color: var(--orange)
    }

    .fb-blue:hover .fb-title {
      color: var(--blue)
    }

    .fb-green:hover .fb-title {
      color: var(--green)
    }

    .fb-yellow:hover .fb-title {
      color: var(--yellow)
    }

    .fb-red:hover .fb-title {
      color: var(--red)
    }

    .fb-purple:hover .fb-title {
      color: var(--purple)
    }

    .fb-desc {
      font-size: .835rem;
      color: var(--text2);
      line-height: 1.7;
      flex: 1
    }

    .fb-tags {
      display: flex;
      flex-wrap: wrap;
      gap: 5px;
      margin-top: 14px
    }

    .fb-tag {
      font-family: 'DM Mono', monospace;
      font-size: .52rem;
      letter-spacing: .06em;
      padding: 3px 9px;
      border-radius: 5px;
      border: 1px solid var(--border);
      color: var(--text3);
      background: var(--bg3)
    }

    /* HOW IT WORKS */
    #how {
      padding: 70px 40px;
      background: #fff;
      border-top: 1px solid var(--border)
    }

    .how-container {
      max-width: 1100px;
      margin: 0 auto
    }

    .how-steps {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 24px;
      margin-top: 60px;
      position: relative;
    }

    /* Connector line */
    .steps-connector {
      position: absolute;
      top: 44px;
      left: calc(12.5% - 8px);
      right: calc(12.5% - 8px);
      height: 2px;
      z-index: 0;
      pointer-events: none;
    }

    .connector-track {
      position: absolute;
      inset: 0;
      background: var(--border);
      border-radius: 2px;
      overflow: hidden;
    }

    .connector-fill {
      height: 100%;
      width: 0%;
      background: linear-gradient(90deg, var(--orange), var(--orange-l));
      border-radius: 2px;
      transition: width 1.4s cubic-bezier(.4, 0, .2, 1);
    }

    .connector-dot {
      position: absolute;
      top: 50%;
      transform: translate(-50%, -50%) scale(0);
      width: 11px;
      height: 11px;
      border-radius: 50%;
      background: var(--orange);
      border: 2.5px solid #fff;
      box-shadow: 0 0 0 3px rgba(255, 122, 46, 0.2);
      transition: transform .4s cubic-bezier(.34, 1.56, .64, 1);
    }

    .cd1 {
      left: 0%;
      transition-delay: .2s
    }

    .cd2 {
      left: 33.33%;
      transition-delay: .6s
    }

    .cd3 {
      left: 66.66%;
      transition-delay: 1s
    }

    .cd4 {
      left: 100%;
      transition-delay: 1.4s
    }

    .steps-connector.active .connector-fill {
      width: 100%
    }

    .steps-connector.active .connector-dot {
      transform: translate(-50%, -50%) scale(1)
    }

    /* Step card */
    .step-item {
      position: relative;
      z-index: 1;
      text-align: center
    }

    .step-card {
      background: #fff;
      border: 1px solid var(--border);
      border-radius: 20px;
      padding: 28px 20px 22px;
      position: relative;
      overflow: hidden;
      box-shadow: var(--shadow-sm);
      transition: transform .4s cubic-bezier(.34, 1.56, .64, 1),
        border-color .3s, box-shadow .35s;
      cursor: default;
    }

    .step-card:hover {
      transform: translateY(-8px) scale(1.02);
      box-shadow: var(--shadow-lg);
    }

    .s1 .step-card:hover {
      border-color: rgba(255, 122, 46, 0.35)
    }

    .s2 .step-card:hover {
      border-color: rgba(29, 78, 216, 0.35)
    }

    .s3 .step-card:hover {
      border-color: rgba(21, 128, 61, 0.35)
    }

    .s4 .step-card:hover {
      border-color: rgba(180, 83, 9, 0.35)
    }

    /* Top accent bar per step */
    .step-card-bar {
      height: 3px;
      border-radius: 2px;
      margin-bottom: 20px
    }

    .s1 .step-card-bar {
      background: linear-gradient(90deg, var(--orange), var(--orange-l))
    }

    .s2 .step-card-bar {
      background: linear-gradient(90deg, var(--blue), var(--blue-l))
    }

    .s3 .step-card-bar {
      background: linear-gradient(90deg, var(--green), var(--green-l))
    }

    .s4 .step-card-bar {
      background: linear-gradient(90deg, var(--yellow), var(--yellow-l))
    }

    .step-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-bottom: 18px;
    }

    .step-bubble {
      width: 65px;
      height: 65px;
      border-radius: 14px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.5rem;
      border: 1px solid var(--border);
      transition: transform .3s cubic-bezier(.34, 1.56, .64, 1);
      flex-shrink: 0;
    }

    .step-card:hover .step-bubble {
      transform: rotate(-8deg) scale(1.1)
    }

    .s1 .step-bubble {
      background: var(--orange-xl);
      border-color: rgba(255, 122, 46, 0.2)
    }

    .s2 .step-bubble {
      background: var(--blue-xl);
      border-color: rgba(29, 78, 216, 0.2)
    }

    .s3 .step-bubble {
      background: var(--green-xl);
      border-color: rgba(21, 128, 61, 0.2)
    }

    .s4 .step-bubble {
      background: var(--yellow-xl);
      border-color: rgba(180, 83, 9, 0.2)
    }

    .step-badge {
      font-family: 'DM Mono', monospace;
      font-size: .54rem;
      font-weight: 700;
      letter-spacing: .1em;
      text-transform: uppercase;
      padding: 4px 10px;
      border-radius: 20px;
      border: 1px solid;
    }

    .s1 .step-badge {
      color: var(--orange);
      background: var(--orange-xl);
      border-color: rgba(255, 122, 46, 0.25)
    }

    .s2 .step-badge {
      color: var(--blue);
      background: var(--blue-xl);
      border-color: rgba(29, 78, 216, 0.25)
    }

    .s3 .step-badge {
      color: var(--green);
      background: var(--green-xl);
      border-color: rgba(21, 128, 61, 0.25)
    }

    .s4 .step-badge {
      color: var(--yellow);
      background: var(--yellow-xl);
      border-color: rgba(180, 83, 9, 0.25)
    }

    .step-title {
      font-family: 'Fraunces', serif;
      font-size: 1rem;
      font-weight: 700;
      margin-bottom: 8px;
      letter-spacing: -.02em;
      color: var(--text);
      text-align: left;
      transition: color .25s;
    }

    .s1 .step-card:hover .step-title {
      color: var(--orange)
    }

    .s2 .step-card:hover .step-title {
      color: var(--blue)
    }

    .s3 .step-card:hover .step-title {
      color: var(--green)
    }

    .s4 .step-card:hover .step-title {
      color: var(--yellow)
    }

    .step-desc {
      font-size: .8rem;
      color: var(--text2);
      line-height: 1.7;
      text-align: left;
      margin-bottom: 16px;
    }

    .step-tags {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      justify-content: flex-start
    }

    .step-tag {
      font-family: 'DM Mono', monospace;
      font-size: .5rem;
      letter-spacing: .06em;
      padding: 3px 9px;
      border-radius: 5px;
      background: var(--bg3);
      border: 1px solid var(--border);
      color: var(--text3);
      transition: background .2s, color .2s;
    }

    .step-card:hover .step-tag {
      background: var(--surface2)
    }

    /* Add this CSS inside your existing <style> tag */

@keyframes shakeBounce {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  15% { transform: translateY(-12px) rotate(-5deg); }
  30% { transform: translateY(-6px) rotate(4deg); }
  45% { transform: translateY(-14px) rotate(-3deg); }
  60% { transform: translateY(-4px) rotate(2deg); }
  75% { transform: translateY(-10px) rotate(-4deg); }
}

@keyframes floatBob {
  0%, 100% { transform: translateY(0px) rotate(-3deg); }
  50% { transform: translateY(-18px) rotate(3deg); }
}

@keyframes floatBobReverse {
  0%, 100% { transform: translateY(0px) rotate(3deg); }
  50% { transform: translateY(-18px) rotate(-3deg); }
}

@keyframes smoothShake {
  0%,  100% { transform: translateY(0px)   rotate(0deg);   }
  20%        { transform: translateY(-10px) rotate(-4deg);  }
  40%        { transform: translateY(-5px)  rotate(3deg);   }
  60%        { transform: translateY(-12px) rotate(-3deg);  }
  80%        { transform: translateY(-4px)  rotate(2deg);   }
}

.section-mascot {
  position: absolute;
  pointer-events: none;
  z-index: 2;
  /* vertically centered */
  top: 50%;
  transform: translateY(-50%);
}

.section-mascot img {
  height: 200px;
  width: auto;
  display: block;
}

.mascot-left {
  left: 40px;
  animation: floatBob 3.5s ease-in-out infinite;
}

.mascot-right {
  right: 40px;
  animation: floatBobReverse 4s ease-in-out infinite;
  animation-delay: 0.8s;
}

/* smooth & slow shake for Asset 10 */
.mascot-smooth-shake {
  animation: smoothShake 5s ease-in-out infinite !important;
  animation-delay: 0.5s !important;
}

#pricing { position: relative; overflow: visible !important; }
#cta     { position: relative; }

@media(max-width: 900px) {
  .section-mascot { display: none; }
}

    /* Floating particles */
    .step-particles {
      position: absolute;
      inset: 0;
      pointer-events: none;
      overflow: hidden;
      border-radius: 20px;
    }

    .s-particle {
      position: absolute;
      bottom: -10px;
      border-radius: 50%;
      opacity: 0;
      animation: stepFloat 4s ease-in-out infinite;
    }

    .sp1 {
      width: 5px;
      height: 5px;
      left: 18%
    }

    .sp2 {
      width: 3px;
      height: 3px;
      left: 52%;
      animation-delay: 1.3s;
      animation-duration: 3.8s
    }

    .sp3 {
      width: 6px;
      height: 6px;
      left: 78%;
      animation-delay: 2.5s;
      animation-duration: 5s
    }

    .s1 .s-particle {
      background: rgba(255, 122, 46, 0.4)
    }

    .s2 .s-particle {
      background: rgba(29, 78, 216, 0.4)
    }

    .s3 .s-particle {
      background: rgba(21, 128, 61, 0.4)
    }

    .s4 .s-particle {
      background: rgba(180, 83, 9, 0.4)
    }

    .step-card:hover .s-particle {
      animation-play-state: running;
      opacity: 1
    }

    .step-card .s-particle {
      animation-play-state: paused
    }

    @keyframes stepFloat {
      0% {
        transform: translateY(0) scale(0);
        opacity: 0
      }

      20% {
        opacity: 1
      }

      80% {
        opacity: .5
      }

      100% {
        transform: translateY(-80px) scale(1.4);
        opacity: 0
      }
    }

    /* Stat strip */
    .how-stats {
      display: flex;
      align-items: center;
      justify-content: center;
      margin-top: 52px;
      background: #fff;
      border: 1px solid var(--border);
      border-radius: 16px;
      padding: 24px 40px;
      flex-wrap: wrap;
      box-shadow: var(--shadow-sm);
    }

    .hstat {
      flex: 1;
      min-width: 120px;
      text-align: center;
      padding: 0 20px
    }

    .hstat-num {
      font-family: 'Fraunces', serif;
      font-size: 1.8rem;
      font-weight: 900;
      color: var(--orange);
      letter-spacing: -.04em;
      line-height: 1;
      margin-bottom: 4px;
    }

    .hstat-label {
      font-size: .75rem;
      color: var(--text3);
      letter-spacing: .02em
    }

    .hstat-divider {
      width: 1px;
      height: 36px;
      background: var(--border);
      flex-shrink: 0
    }

    @media(max-width:900px) {
      .how-steps {
        grid-template-columns: repeat(2, 1fr)
      }

      .steps-connector {
        display: none
      }

      .how-stats {
        gap: 12px;
        padding: 20px
      }

      .hstat-divider {
        display: none
      }
    }

    @media(max-width:520px) {
      .how-steps {
        grid-template-columns: 1fr
      }

      .how-stats {
        flex-direction: column
      }
    }

    /* PIPELINE + WHO */
    #pipeline {
      padding: 70px 40px;
      background: #FAFAFA;
      border-top: 1px solid var(--border)
    }

    .pipeline-grid {
      max-width: 1200px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 72px;
      align-items: center
    }

    .pipe-visual {
      display: flex;
      flex-direction: column;
      gap: 10px
    }

    .pipe-row {
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 12px 16px;
      border-radius: 12px;
      background: #fff;
      border: 1px solid var(--border);
      box-shadow: var(--shadow-xs);
      transition: transform .3s cubic-bezier(.22, 1, .36, 1), border-color .25s;
      cursor: pointer
    }

    .pipe-row:hover {
      transform: translateX(10px)
    }

    .pr-dot {
      width: 10px;
      height: 10px;
      border-radius: 50%;
      flex-shrink: 0;
      transition: transform .25s
    }

    .pipe-row:hover .pr-dot {
      transform: scale(1.5)
    }

    .pr-name {
      font-size: .84rem;
      font-weight: 600;
      flex: 1;
      color: var(--text)
    }

    .pr-track {
      width: 100px;
      height: 5px;
      background: var(--bg3);
      border-radius: 3px;
      overflow: hidden
    }

    .pr-fill {
      height: 100%;
      border-radius: 3px;
      width: 0;
      transition: width 1.6s cubic-bezier(.22, 1, .36, 1)
    }

    .pr-n {
      font-family: 'DM Mono', monospace;
      font-size: .6rem;
      color: var(--text3);
      width: 48px;
      text-align: right
    }

    .who-stack {
      display: flex;
      flex-direction: column;
      gap: 12px;
      margin-top: 24px
    }

    .who-card {
      padding: 20px 22px;
      border-radius: 14px;
      background: #fff;
      border: 1px solid var(--border);
      border-left: 4px solid transparent;
      box-shadow: var(--shadow-xs);
      transition: all .3s cubic-bezier(.22, 1, .36, 1);
      cursor: pointer;
      position: relative;
      overflow: hidden
    }

    .who-card::before {
      content: '';
      position: absolute;
      inset: 0;
      opacity: 0;
      transition: opacity .3s
    }

    .wc-orange {
      border-left-color: var(--orange)
    }

    .wc-orange::before {
      background: linear-gradient(90deg, var(--orange-xl), transparent 60%)
    }

    .wc-blue {
      border-left-color: var(--blue)
    }

    .wc-blue::before {
      background: linear-gradient(90deg, var(--blue-xl), transparent 60%)
    }

    .wc-green {
      border-left-color: var(--green)
    }

    .wc-green::before {
      background: linear-gradient(90deg, var(--green-xl), transparent 60%)
    }

    .who-card:hover {
      transform: translateX(8px);
      box-shadow: var(--shadow-md)
    }

    .who-card:hover::before {
      opacity: 0
    }

    .wc-tag {
      font-family: 'DM Mono', monospace;
      font-size: .56rem;
      letter-spacing: .12em;
      text-transform: uppercase;
      margin-bottom: 4px
    }

    .wc-orange .wc-tag {
      color: var(--orange)
    }

    .wc-blue .wc-tag {
      color: var(--blue)
    }

    .wc-green .wc-tag {
      color: var(--green)
    }

    .wc-title {
      font-family: 'Fraunces', serif;
      font-size: .9rem;
      font-weight: 700;
      margin-bottom: 3px;
      color: var(--text);
      letter-spacing: -.02em
    }

    .wc-desc {
      font-size: .8rem;
      color: var(--text2);
      line-height: 1.65
    }

    /* TESTIMONIALS */
    #testimonials {
      padding: 70px 40px;
      background: #fff;
      border-top: 1px solid var(--border)
    }

    .testi-wrap {
      max-width: 1200px;
      margin: 0 auto
    }

    .testi-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 20px;
      margin-top: 48px
    }

    .tc {
      background: #fff;
      border: 1px solid var(--border);
      border-radius: 20px;
      padding: 28px;
      position: relative;
      overflow: hidden;
      box-shadow: var(--shadow-sm);
      transition: transform .4s cubic-bezier(.22, 1, .36, 1), box-shadow .35s, border-color .3s
    }

    .tc:hover {
      transform: translateY(-10px);
      box-shadow: var(--shadow-lg)
    }

    .tc-1:hover {
      border-color: rgba(255, 122, 46, 0.25)
    }

    .tc-2:hover {
      border-color: rgba(29, 78, 216, 0.25)
    }

    .tc-3:hover {
      border-color: rgba(21, 128, 61, 0.25)
    }

    .tc-quote-mark {
      position: absolute;
      top: -8px;
      right: 20px;
      font-family: 'Fraunces', serif;
      font-size: 7rem;
      font-weight: 900;
      line-height: 1;
      color: var(--orange);
      opacity: .05;
      pointer-events: none
    }

    .tc-top {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-bottom: 16px
    }

    .tc-stars {
      font-size: .7rem;
      letter-spacing: 2px;
      color: var(--yellow-l)
    }

    .tc-badge {
      font-family: 'DM Mono', monospace;
      font-size: .5rem;
      letter-spacing: .1em;
      text-transform: uppercase;
      padding: 3px 9px;
      border-radius: 5px
    }

    .tc-1 .tc-badge {
      background: var(--orange-xl);
      color: var(--orange)
    }

    .tc-2 .tc-badge {
      background: var(--blue-xl);
      color: var(--blue)
    }

    .tc-3 .tc-badge {
      background: var(--green-xl);
      color: var(--green)
    }

    .tc-text {
      font-size: .875rem;
      color: var(--text2);
      line-height: 1.8;
      margin-bottom: 20px;
      font-style: italic
    }

    .tc-divider {
      height: 1px;
      background: var(--border);
      margin-bottom: 16px
    }

    .tc-author {
      display: flex;
      align-items: center;
      gap: 10px
    }

    .tc-av {
      width: 40px;
      height: 40px;
      border-radius: 12px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-weight: 700;
      font-size: .75rem;
      flex-shrink: 0;
      box-shadow: var(--shadow-sm);
      transition: transform .3s
    }

    .tc:hover .tc-av {
      transform: scale(1.08) rotate(-5deg)
    }

    .tc-1 .tc-av {
      background: linear-gradient(135deg, var(--orange-xl), rgba(255, 122, 46, 0.2));
      color: var(--orange)
    }

    .tc-2 .tc-av {
      background: linear-gradient(135deg, var(--blue-xl), rgba(29, 78, 216, 0.15));
      color: var(--blue)
    }

    .tc-3 .tc-av {
      background: linear-gradient(135deg, var(--green-xl), rgba(21, 128, 61, 0.15));
      color: var(--green)
    }

    .tc-name {
      font-family: 'Fraunces', serif;
      font-size: .875rem;
      font-weight: 700;
      letter-spacing: -.02em;
      color: var(--text)
    }

    .tc-role {
      font-family: 'DM Mono', monospace;
      font-size: .56rem;
      color: var(--text3);
      letter-spacing: .03em;
      margin-top: 2px
    }

    /* INTEGRATIONS */
    #integrations {
      padding: 60px 0;
      background: #FAFAFA;
      border-top: 1px solid var(--border);
      overflow: hidden
    }

    .integ-header {
      text-align: center;
      padding: 0 40px;
      margin-bottom: 36px
    }

    .marquee-outer {
      position: relative;
      overflow: hidden
    }

    .marquee-outer::before,
    .marquee-outer::after {
      content: '';
      position: absolute;
      top: 0;
      bottom: 0;
      width: 120px;
      z-index: 2;
      pointer-events: none
    }

    .marquee-outer::before {
      left: 0;
      background: linear-gradient(90deg, #FAFAFA, transparent)
    }

    .marquee-outer::after {
      right: 0;
      background: linear-gradient(-90deg, #FAFAFA, transparent)
    }

    .mq-track {
      display: flex;
      gap: 12px;
      animation: marquee 28s linear infinite;
      white-space: nowrap
    }

    .mq-track:hover {
      animation-play-state: paused
    }

    @keyframes marquee {
      from {
        transform: translateX(0)
      }

      to {
        transform: translateX(-50%)
      }
    }

    .integ-chip {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: #fff;
      border: 1px solid var(--border);
      border-radius: 10px;
      padding: 9px 16px;
      flex-shrink: 0;
      font-size: .8rem;
      font-weight: 500;
      color: var(--text2);
      box-shadow: var(--shadow-xs);
      transition: all .25s
    }

    .integ-chip:hover {
      border-color: var(--orange);
      color: var(--text);
      transform: translateY(-3px);
      box-shadow: var(--shadow-sm)
    }

    .ic-dot {
      width: 8px;
      height: 8px;
      border-radius: 50%
    }

    /* PRICING */
    #pricing {
      padding: 70px 40px;
      background: #fff;
      border-top: 1px solid var(--border)
    }

    .pricing-wrap {
      max-width: 1100px;
      margin: 0 auto
    }

    .pricing-header {
      text-align: center;
      margin-bottom: 48px
    }

    .pricing-grid {
      display: flex;
      justify-content: center
    }

    .pc-pro {
      position: relative;
      overflow: hidden;
      width: 100%;
      max-width: 580px;
      border-radius: 28px;
      padding: 0;
      background: #fff;
      border: 1px solid rgba(255, 122, 46, 0.2);
      box-shadow: 0 40px 100px rgba(255, 122, 46, 0.08), 0 0 0 1px rgba(255, 122, 46, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.9);
      transition: transform .4s cubic-bezier(.22, 1, .36, 1), box-shadow .4s;
    }

    .pc-pro:hover {
      transform: translateY(-8px);
      box-shadow: 0 60px 120px rgba(255, 122, 46, 0.12), 0 0 0 1px rgba(255, 122, 46, 0.25), 0 0 80px rgba(255, 122, 46, 0.06), inset 0 1px 0 #fff;
    }

    .pc-pro::before {
      content: '';
      position: absolute;
      top: -80px;
      right: -80px;
      width: 320px;
      height: 320px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(255, 122, 46, 0.07) 0%, transparent 70%);
      pointer-events: none;
    }

    .pc-pro::after {
      content: '';
      position: absolute;
      bottom: -60px;
      left: -60px;
      width: 260px;
      height: 260px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(29, 78, 216, 0.05) 0%, transparent 70%);
      pointer-events: none;
    }

    .pc-pro-band {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 18px 32px;
      border-bottom: 1px solid rgba(255, 122, 46, 0.1);
      background: rgba(255, 122, 46, 0.03);
    }

    .pc-popular-new {
      font-family: 'DM Mono', monospace;
      font-size: .55rem;
      letter-spacing: .16em;
      text-transform: uppercase;
      font-weight: 700;
      color: var(--orange);
      background: rgba(255, 122, 46, 0.08);
      border: 1px solid rgba(255, 122, 46, 0.2);
      padding: 5px 14px;
      border-radius: 20px;
    }

    .pc-pro-stars {
      display: flex;
      gap: 3px
    }

    .pc-pro-stars span {
      font-size: .7rem;
      color: var(--orange);
      opacity: .85
    }

    .pc-pro-body {
      padding: 36px 36px 32px
    }

    .pc-tier {
      font-size: 2.6rem;
      font-weight: 900;
      letter-spacing: -.04em;
      line-height: 1;
      background: linear-gradient(135deg, var(--text) 30%, var(--orange) 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      margin-bottom: 8px;
    }

    .pc-period {
      font-family: 'DM Mono', monospace;
      font-size: .6rem;
      color: var(--text3);
      display: block;
      margin-bottom: 28px;
      letter-spacing: .08em;
    }

    .pc-div {
      height: 1px;
      background: linear-gradient(90deg, transparent, rgba(255, 122, 46, 0.35), rgba(29, 78, 216, 0.2), transparent);
      margin-bottom: 24px;
    }

    .pc-feats {
      list-style: none;
      margin-bottom: 32px;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px 16px;
    }

    .pc-feats li {
      display: flex;
      align-items: flex-start;
      gap: 8px;
      font-size: .8rem;
      color: var(--text2);
      line-height: 1.45;
    }

    .pc-feats li strong {
      color: var(--text)
    }

    .pc-check {
      width: 18px;
      height: 18px;
      border-radius: 5px;
      flex-shrink: 0;
      margin-top: 1px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: .55rem;
      background: rgba(255, 122, 46, 0.1);
      color: var(--orange);
      border: 1px solid rgba(255, 122, 46, 0.2);
    }

    .pc-feats .pc-feat-highlight {
      grid-column: 1/-1;
      background: rgba(255, 122, 46, 0.05);
      border: 1px solid rgba(255, 122, 46, 0.18);
      border-radius: 10px;
      padding: 10px 14px;
      font-size: .82rem;
      color: var(--text);
    }

    .pc-feats .pc-feat-highlight .pc-check {
      background: rgba(255, 122, 46, 0.15);
      border-color: rgba(255, 122, 46, 0.3);
    }

    .pc-btn-solid {
      width: 100%;
      padding: 15px;
      border-radius: 14px;
      font-family: 'Plus Jakarta Sans', sans-serif;
      font-size: .9rem;
      font-weight: 700;
      cursor: pointer;
      letter-spacing: .02em;
      border: none;
      background: linear-gradient(135deg, var(--orange) 0%, #ff9a3c 100%);
      color: #fff;
      box-shadow: 0 8px 32px rgba(255, 122, 46, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2);
      transition: all .25s;
      position: relative;
      z-index: 1;
    }

    .pc-btn-solid:hover {
      background: linear-gradient(135deg, var(--orange-d) 0%, var(--orange) 100%);
      box-shadow: 0 12px 40px rgba(255, 122, 46, 0.4);
      transform: translateY(-2px);
    }

    .pc-trust {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 16px;
      margin-top: 16px;
      flex-wrap: wrap;
    }

    .pc-trust span {
      font-family: 'DM Mono', monospace;
      font-size: .55rem;
      color: var(--text3);
      letter-spacing: .08em;
      display: flex;
      align-items: center;
      gap: 5px;
    }

    .pc-trust span::before {
      content: '✓';
      color: rgba(255, 122, 46, 0.6)
    }

    /* CTA */
    .pc-btn-solid {
      width: 100%;
      padding: 15px;
      border-radius: 14px;
      font-family: 'Plus Jakarta Sans', sans-serif;
      font-size: .9rem;
      font-weight: 700;
      cursor: pointer;
      letter-spacing: .02em;
      border: none;
      background: linear-gradient(135deg, var(--orange) 0%, #ff9a3c 100%);
      color: #fff;
      box-shadow: 0 8px 32px rgba(255, 122, 46, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.2);
      transition: all .25s;
      position: relative;
      z-index: 1;
    }

    .pc-btn-solid:hover {
      background: linear-gradient(135deg, var(--orange-d) 0%, var(--orange) 100%);
      box-shadow: 0 12px 40px rgba(255, 122, 46, 0.45);
      transform: translateY(-2px);
    }

    .nav-cta::after,
    .btn-hero-main::after,
    .ai-card::after,
    .agent-btn::after,
    .fb::after,
    .step-card::after,
    .tc::after,
    .who-card::after,
    .pc-btn-solid::after {
      content: '';
      position: absolute;
      inset: -2px;
      background: linear-gradient(120deg, transparent 35%, rgba(255, 255, 255, 0.22) 50%, transparent 65%);
      transform: translateX(-120%) skewX(-18deg);
      opacity: 0;
      pointer-events: none;
    }

    .nav-cta:hover::after,
    .nav-cta:focus-visible::after,
    .btn-hero-main:hover::after,
    .btn-hero-main:focus-visible::after,
    .ai-card:hover::after,
    .fb:hover::after,
    .agent-btn:hover::after,
    .step-card:hover::after,
    .tc:hover::after,
    .who-card:hover::after,
    .pc-btn-solid:hover::after {
      animation: sheenSweep .95s ease;
    }

    /* DEMO MODAL */
.modal-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.5);
  backdrop-filter: blur(6px);
  z-index: 9999;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.modal-overlay.open {
  display: flex;
}
.modal-box {
  background: #fff;
  border-radius: 24px;
  width: 100%;
  max-width: 520px;
  box-shadow: 0 40px 100px rgba(0,0,0,0.2);
  overflow: hidden;
  animation: modalIn .4s cubic-bezier(.22,1,.36,1);
}
@keyframes modalIn {
  from { opacity:0; transform:translateY(30px) scale(.97); }
  to   { opacity:1; transform:translateY(0) scale(1); }
}
.modal-header {
  background: linear-gradient(135deg, var(--orange) 0%, #ff9a3c 100%);
  padding: 28px 32px 24px;
  position: relative;
}
.modal-header h3 {
  font-family: 'Fraunces', serif;
  font-size: 1.6rem;
  font-weight: 900;
  color: #fff;
  letter-spacing: -.03em;
  margin-bottom: 4px;
}
.modal-header p {
  font-size: .82rem;
  color: rgba(255,255,255,.85);
}
.modal-close {
  position: absolute;
  top: 16px; right: 18px;
  width: 32px; height: 32px;
  border-radius: 50%;
  background: rgba(255,255,255,.2);
  border: none;
  color: #fff;
  font-size: 1.1rem;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background .2s;
}
.modal-close:hover { background: rgba(255,255,255,.35); }
.modal-body { padding: 28px 32px 32px; }
.modal-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-bottom: 14px;
}
.modal-field {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.modal-field.full { grid-column: 1 / -1; }
.modal-field label {
  font-size: .72rem;
  font-weight: 600;
  color: var(--text2);
  letter-spacing: .02em;
}
.modal-field input,
.modal-field select {
  padding: 10px 13px;
  border: 1.5px solid var(--border);
  border-radius: 9px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: .85rem;
  color: var(--text);
  background: var(--bg2);
  transition: border-color .2s, box-shadow .2s;
  outline: none;
  width: 100%;
}
.modal-field input:focus,
.modal-field select:focus {
  border-color: var(--orange);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(255,122,46,.1);
}
.modal-field select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%237A7A7A' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  padding-right: 32px;
}
.phone-group {
  display: grid;
  grid-template-columns: 108px minmax(0, 1fr);
  gap: 10px;
}
.phone-group .modal-field {
  min-width: 0;
}
.phone-group .modal-field input,
.phone-group .modal-field select {
  min-width: 0;
}
.phone-group .modal-field select {
  padding-right: 28px;
}
.country-code-combobox {
  position: relative;
}
.country-code-menu {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  z-index: 30;
  max-height: 220px;
  overflow: auto;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 10px;
  box-shadow: var(--shadow-lg);
  padding: 6px;
}
.country-code-option {
  width: 100%;
  border: 0;
  background: transparent;
  text-align: left;
  padding: 10px 12px;
  border-radius: 8px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: .85rem;
  color: var(--text2);
  cursor: pointer;
}
.country-code-option:hover,
.country-code-option.active {
  background: var(--orange-xl);
  color: var(--text);
}
.country-code-empty {
  padding: 10px 12px;
  font-size: .82rem;
  color: var(--text3);
}
.modal-submit {
  width: 100%;
  padding: 13px;
  border-radius: 11px;
  border: none;
  background: var(--orange);
  color: #fff;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: .9rem;
  font-weight: 700;
  cursor: pointer;
  margin-top: 6px;
  box-shadow: 0 8px 24px rgba(255,122,46,.3);
  transition: all .25s;
  position: relative;
  overflow: hidden;
}
.modal-submit:hover {
  background: var(--orange-d);
  transform: translateY(-2px);
  box-shadow: 0 12px 32px rgba(255,122,46,.4);
}
.modal-submit:disabled {
  opacity: .7;
  cursor: not-allowed;
  transform: none;
}
.modal-toast {
  display: none;
  margin-top: 14px;
  padding: 12px 16px;
  border-radius: 10px;
  font-size: .82rem;
  font-weight: 500;
  text-align: center;
}
.modal-toast.success {
  display: block;
  background: var(--green-xl);
  color: var(--green);
  border: 1px solid rgba(21,128,61,.2);
}
.modal-toast.error {
  display: block;
  background: var(--red-xl);
  color: var(--red);
  border: 1px solid rgba(185,28,28,.2);
}

/* FLOAT BUTTONS */
.float-btns {
  position: fixed;
  bottom: 28px;
  left: 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  z-index: 800;
}
.float-btn {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 16px rgba(0,0,0,.15);
  transition: transform .3s cubic-bezier(.34,1.56,.64,1), box-shadow .25s;
  text-decoration: none;
  animation: contactFloat 5.6s ease-in-out infinite;
  will-change: transform, box-shadow;
}
.float-btn:hover {
  transform: scale(1.15) translateY(-2px);
  box-shadow: 0 8px 24px rgba(0,0,0,.2);
}

.float-btn:hover,
.float-btn:focus-visible {
  animation-play-state: paused;
}
    .float-btn svg {
      width: 20px;
      height: 20px;
      flex-shrink: 0;
      animation: iconWiggle 4.2s ease-in-out infinite;
      transform-origin: center;
    }

    @keyframes iconWiggle {
      0%, 84%, 100% { transform: rotate(0deg) scale(1); }
      86% { transform: rotate(-6deg) scale(1.02); }
      88% { transform: rotate(6deg) scale(1.02); }
      90% { transform: rotate(-4deg) scale(1.01); }
      92% { transform: rotate(4deg) scale(1.01); }
      94% { transform: rotate(0deg) scale(1); }
    }

    .float-btn:hover svg,
    .float-btn:focus-visible svg {
      animation-play-state: paused;
    }
.float-wa  { background: #25D366; animation-delay: 0s; }
.float-tel { background: var(--orange); animation-delay: .6s; }
.float-mail { background: var(--blue); animation-delay: 1.2s; }
.float-btn-label {
  position: absolute;
  left: 56px;
  background: var(--text);
  color: #fff;
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .04em;
  padding: 4px 10px;
  border-radius: 6px;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transform: translateX(-6px);
  transition: opacity .2s, transform .2s;
}
.float-btn:hover .float-btn-label {
  opacity: 1;
  transform: translateX(0);
}

@media(max-width:520px) {
  .modal-grid { grid-template-columns: 1fr; }
  .modal-box  { border-radius: 18px; }
  .modal-body { padding: 22px 20px 26px; }
  .modal-header { padding: 22px 20px 18px; }
}

    /* Trust line below button */
    .pc-trust {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 16px;
      margin-top: 16px;
    }

    .pc-trust span {
      font-family: 'DM Mono', monospace;
      font-size: .55rem;
      color: rgba(255, 255, 255, 0.3);
      letter-spacing: .08em;
      display: flex;
      align-items: center;
      gap: 5px;
    }

    .pc-trust span::before {
      content: '✓';
      color: rgba(255, 122, 46, 0.6)
    }

    /* CTA */
    #cta {
      padding: 100px 40px;
      text-align: center;
      position: relative;
      overflow: hidden;
      background: linear-gradient(160deg, #fff 0%, var(--orange-xl) 50%, #fff 100%);
      border-top: 1px solid var(--border)
    }

    .cta-rings {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      pointer-events: none
    }

    .cr {
      position: absolute;
      border-radius: 50%;
      border: 1.5px solid rgba(255, 122, 46, 0.1);
      transform: translate(-50%, -50%);
      animation: ringExpand 5s ease infinite
    }

    @keyframes ringExpand {
      0% {
        opacity: .7;
        transform: translate(-50%, -50%) scale(.4)
      }

      100% {
        opacity: 0;
        transform: translate(-50%, -50%) scale(1.6)
      }
    }

    .cr:nth-child(2) {
      animation-delay: 1.6s
    }

    .cr:nth-child(3) {
      animation-delay: 3.2s
    }

    .cta-inner {
      position: relative;
      z-index: 1;
      max-width: 660px;
      margin: 0 auto
    }

    h2.cta-h {
      /*font-family: 'Fraunces', serif;*/
      font-size: clamp(2rem, 4vw, 3.8rem);
      font-weight: 900;
      letter-spacing: -.05em;
      line-height: 1.1;
      margin-bottom: 16px;
      color: var(--text)
    }

    .cta-sub {
      color: var(--text2);
      font-size: .95rem;
      margin-bottom: 38px;
      line-height: 1.7
    }

    .cta-btns {
      display: flex;
      gap: 12px;
      justify-content: center;
      flex-wrap: wrap
    }

    /* FOOTER */
    footer {
      background: var(--text);
      border-top: 1px solid rgba(255, 255, 255, 0.07);
      padding: 54px 72px 36px
    }

    .foot-top {
      display: grid;
      grid-template-columns: 1.5fr 1fr 1fr 1fr;
      gap: 44px;
      margin-bottom: 44px;
      padding-bottom: 44px;
      border-bottom: 1px solid rgba(255, 255, 255, 0.08)
    }

    .foot-logo-wrap {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 12px
    }

    .foot-logo-img {
      width: 34px;
      height: 34px;
      /* background: #fff; */
      border-radius: 8px;
      display: flex;
      align-items: center;
      justify-content: center
    }

    .foot-logo-img img {
      width: 240px;
      height: 240px;
      margin-left: 133px;
      object-fit: contain
    }

    .foot-logo-text {
      font-family: 'Fraunces', serif;
      font-size: 1.1rem;
      font-weight: 700;
      color: #fff;
      letter-spacing: -.02em
    }

    .foot-logo-text em {
      color: var(--orange);
      font-style: italic
    }

    .foot-logo-dot {
      font-family: 'DM Mono', monospace;
      font-size: .7rem;
      color: rgba(255, 255, 255, 0.4)
    }

    .foot-tagline {
      font-size: .84rem;
      color: rgba(255, 255, 255, 0.4);
      line-height: 1.7;
      /* max-width: 210px */
    }

    .foot-col-title {
      font-family: 'DM Mono', monospace;
      font-size: .6rem;
      letter-spacing: .14em;
      text-transform: uppercase;
      color: rgba(255, 255, 255, 0.35);
      margin-bottom: 16px
    }

    .foot-links {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 9px
    }

    .foot-links a {
      font-size: .84rem;
      color: rgba(255, 255, 255, 0.5);
      text-decoration: none;
      transition: color .2s
    }

    .foot-links a:hover {
      color: var(--orange)
    }

    .foot-bottom {
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-wrap: wrap;
      gap: 14px
    }

    .foot-copy {
      font-family: 'DM Mono', monospace;
      font-size: .58rem;
      letter-spacing: .06em;
      color: rgba(255, 255, 255, 0.28)
    }

    .foot-badges {
      display: flex;
      gap: 8px
    }

    .foot-badge {
      font-family: 'DM Mono', monospace;
      font-size: .53rem;
      letter-spacing: .08em;
      text-transform: uppercase;
      padding: 4px 9px;
      border-radius: 5px;
      background: rgba(255, 255, 255, 0.05);
      color: rgba(255, 255, 255, 0.35);
      border: 1px solid rgba(255, 255, 255, 0.07)
    }

    @media(max-width:1100px) {
      nav {
        padding: 18px 32px
      }

      nav.stuck {
        padding: 13px 32px
      }

      .agents-grid {
        grid-template-columns: 1fr 1fr
      }

      .feat-grid {
        grid-template-columns: repeat(2, 1fr)
      }

      .how-steps {
        grid-template-columns: 1fr 1fr;
        gap: 28px
      }

      .how-steps::before {
        display: none
      }

      .pipeline-grid {
        grid-template-columns: 1fr;
        gap: 44px
      }

      .testi-grid {
        grid-template-columns: 1fr 1fr
      }

      .pricing-grid {
        grid-template-columns: 1fr 1fr
      }

      .foot-top {
        grid-template-columns: 1fr 1fr
      }
    }

    @media(max-width:768px) {
      nav {
        padding: 14px 18px
      }

      nav.stuck {
        padding: 11px 18px
      }

      .nav-links {
        display: none
      }

      .agents-grid {
        grid-template-columns: 1fr
      }

      .feat-grid {
        grid-template-columns: 1fr
      }

      .how-steps {
        grid-template-columns: 1fr
      }

      .testi-grid,
      .pricing-grid {
        grid-template-columns: 1fr
      }

      .stats-bar {
        grid-template-columns: repeat(2, 1fr)
      }

      .stat-cell:nth-child(2) {
        border-right: none
      }

      .stat-cell:nth-child(3) {
        border-top: 1px solid var(--border)
      }

      #hero,
      #agents,
      #features,
      #how,
      #pipeline,
      #testimonials,
      #integrations,
      #pricing,
      #cta {
        padding: 56px 18px
      }

      footer {
        padding: 44px 18px 28px
      }

      .foot-top {
        grid-template-columns: 1fr;
        gap: 28px
      }

      .foot-bottom {
        flex-direction: column;
        text-align: center
      }

      .dash-body {
        grid-template-columns: 1fr;
        height: auto
      }

      .dash-sidebar {
        display: none
      }

      .dash-row {
        grid-template-columns: repeat(2, 1fr)
      }

      .dash-charts {
        grid-template-columns: 1fr
      }
#mockup-section {
    padding: 2px 8px 2px;
    background: #fff;
    border-top: 1px solid var(--border);
}
   

      .mockup-scroll-wrap {
        display: grid !important;
         grid-template-columns: 1fr;
        gap: 24px;
        margin-top: 28px
      }

      .mockup-sticky-side {
        position: static;
        top: auto;
        height: auto;
        margin-bottom: 20px
      }

      .dash-wrapper {
        max-width: 100%
      }

      .dash-topbar {
        flex-wrap: wrap
      }

      .url-bar {
        min-width: 0;
        width: 100%;
        order: 3
      }

      .logo {
        min-width: 0
      }

      .foot-logo-img {
        width: 40px;
        height: 40px;
        overflow: hidden
      }

      .foot-logo-img img {
        width: 100%;
        height: 100%;
        margin-left: 0;
        object-fit: contain
      }

      .nav-right {
        gap: 0
      }

      .nav-cta {
        padding: 10px 14px;
        font-size: .8rem;
        white-space: nowrap
      }

      #hero > div[style*="right:60px"] {
        display: none
      }

      .cta-rings {
        display: none
      }

      .cta-btns {
        gap: 10px
      }

      .foot-top,
      .foot-bottom {
        overflow-x: hidden
      }
    }
    html,
body {
    overflow-x: clip;
}

@media only screen and (max-width: 576px) {

    html,
    body {
        overflow-x: clip;
    }
    
    
    .foot-img img{
            width: 256px;
    height: 78px;
    }
}

    @media only screen and (max-width:520px) {
    h1.hero-h {
    font-family: 'Fraunces', serif;
    font-size: clamp(3.2rem, 7.5vw, 7.5rem);
    font-weight: 900;
    line-height: 85.99px;
    letter-spacing: -.05em;
    position: relative;
    z-index: 2;
    margin-bottom: 24px;
}
     .scroll-image {
        width: 100%;
        height: 200px !important;
    }
    nav {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 500;
    display: flex;
    align-items: center;
    justify-content: space-around;
    padding: 20px 72px;
    transition: all .45s cubic-bezier(.22, 1, .36, 1);
}
      nav {
        padding: 12px 14px
      }

      nav.stuck {
        padding: 10px 14px
      }

      .logo {
        gap: 6px
      }

      .foot-logo-img {
        width: 163px;
        height: 50px;
        border-radius: 6px;
        flex-shrink: 0;
        overflow: hidden;
    }

      .foot-logo-img img {
        width: 100%;
        height: 100%;
        margin-left: 0;
        object-fit: cover
      }

      .nav-cta {
        padding: 9px 12px;
        font-size: .72rem
      }

      #hero {
        min-height: auto;
        padding-top: 120px;
        padding-bottom: 64px
      }

      .hero-orb,
      .hero-pattern {
        display: none
      }

      .hero-h {
        word-break: break-word
      }

      .hero-btns,
      .cta-btns {
        width: 100%
      }

      .btn-hero-main,
      .btn-hero-ghost {
        width: 100%
      }

      .stats-bar {
        width: 100%
      }

      .stats-bar,
      .foot-top,
      .foot-bottom,
      .dash-topbar {
        min-width: 0
      }

      .dash-topbar {
        flex-wrap: wrap
      }

      .url-bar {
        min-width: 0;
        width: 100%;
        order: 3
      }

      .live-badge {
        margin-left: auto
      }

      .cta-sub {
        margin-bottom: 28px
      }
    }

    @keyframes ripOut {
      from {
        transform: scale(0);
        opacity: 1
      }

      to {
        transform: scale(1);
        opacity: 0
      }
    }