:root {
      --ink: #2A1015;
      --ink-2: #5C2430;
      --deep: #1D080D;
      --teal: #7C1F2E;
      --teal-d: #57131E;
      --teal-tint: #F8E8EA;
      --amber: #C79A3D;
      --amber-d: #A57A26;
      --amber-tint: #FBF2DC;
      --surface: #FAF6F3;
      --surface-2: #F1E5E3;
      --white: #fff;
      --muted: #7C6469;
      --line: #E7D9D7;
      --line-2: #D6C1BF;
      --display: 'Space Grotesk', sans-serif;
      --body: 'Inter', sans-serif;
      --mono: 'IBM Plex Mono', monospace;
      --wrap: 1120px;
    }

    * {
      box-sizing: border-box;
      margin: 0;
      padding: 0
    }

    html {
      scroll-behavior: smooth;
      overflow-x: hidden;
    }

    body {
      font-family: var(--body);
      color: var(--ink);
      background: var(--white);
      line-height: 1.6;
      -webkit-font-smoothing: antialiased;
      overflow-x: hidden;
    }

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

    h1,
    h2,
    h3 {
      font-family: var(--display);
      font-weight: 600;
      line-height: 1.1;
      letter-spacing: -.02em
    }

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

    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      font-family: var(--mono);
      font-size: 12px;
      letter-spacing: .14em;
      text-transform: uppercase;
      color: var(--teal);
      font-weight: 500;
      flex-wrap: wrap;
    }

    .eyebrow::before {
      content: "";
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: var(--amber);
      box-shadow: 0 0 0 0 rgba(199, 154, 61, .5);
      animation: dotPulse 2.2s ease-in-out infinite
    }

    .who .eyebrow::before {
      background: var(--amber)
    }

    @keyframes dotPulse {
      0% {
        box-shadow: 0 0 0 0 rgba(199, 154, 61, .5)
      }

      70% {
        box-shadow: 0 0 0 6px rgba(199, 154, 61, 0)
      }

      100% {
        box-shadow: 0 0 0 0 rgba(199, 154, 61, 0)
      }
    }

    .eyebrow .n {
      color: var(--line-2);
      margin-right: 10px
    }

    /* buttons */
    .btn {
      position: relative;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      font-family: var(--display);
      font-weight: 600;
      font-size: 15px;
      padding: 13px 22px;
      border-radius: 10px;
      border: 1.5px solid transparent;
      cursor: pointer;
      transition: transform .15s ease, background .15s ease, box-shadow .15s ease;
      white-space: nowrap;
      overflow: hidden
    }

    .btn::before {
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      left: -60%;
      width: 40%;
      background: linear-gradient(115deg, transparent, rgba(255, 255, 255, .55), transparent);
      transform: skewX(-18deg);
      transition: left .55s ease
    }

    .btn:hover::before {
      left: 130%
    }

    .btn-primary {
      background: var(--amber);
      color: #3a250a;
      box-shadow: 0 1px 0 rgba(0, 0, 0, .04), 0 0 0 0 rgba(199, 154, 61, .5);
      animation: ctaGlow 2.8s ease-in-out infinite
    }

    .btn-primary:hover {
      background: var(--amber-d);
      color: #fff;
      transform: translateY(-1px)
    }

    @keyframes ctaGlow {

      0%,
      100% {
        box-shadow: 0 1px 0 rgba(0, 0, 0, .04), 0 0 0 0 rgba(199, 154, 61, .45)
      }

      50% {
        box-shadow: 0 1px 0 rgba(0, 0, 0, .04), 0 0 0 7px rgba(199, 154, 61, 0)
      }
    }

    .btn-ghost {
      background: transparent;
      border-color: var(--line-2);
      color: var(--ink)
    }

    .btn-ghost:hover {
      border-color: var(--ink);
      transform: translateY(-1px)
    }

    .btn-teal {
      background: var(--teal);
      color: #fff
    }

    .btn-teal:hover {
      background: var(--teal-d);
      transform: translateY(-1px)
    }

    /* nav */
    header.nav {
      position: sticky;
      top: 0;
      z-index: 50;
      background: rgba(255, 255, 255, .85);
      backdrop-filter: blur(10px);
      border-bottom: 1px solid var(--line)
    }

    .nav-in {
      display: flex;
      align-items: center;
      justify-content: space-between;
      height: 84px
    }

    .brand {
      display: flex;
      align-items: center;
      gap: 10px;
      font-family: var(--display);
      font-weight: 700;
      font-size: 19px;
      letter-spacing: -.01em
    }

    .brand .mark {
      width: 26px;
      height: 26px;
      border-radius: 7px;
      background: var(--ink);
      display: grid;
      grid-template-columns: 1fr 1fr;
      grid-template-rows: 1fr 1fr;
      gap: 2px;
      padding: 5px
    }

    .brand .mark i {
      background: var(--teal);
      border-radius: 1px;
      display: block
    }

    .brand .mark i:nth-child(1) {
      background: var(--amber)
    }

    .brand-logo {
      height: 64px;
      width: auto;
      display: block;
      object-fit: contain
    }

    footer .brand-logo {
      height: 72px;
      filter: brightness(0) invert(1);
    }

    .nav-links {
      display: flex;
      align-items: center;
      gap: 28px
    }

    .nav-links a {
      position: relative;
      font-size: 14.5px;
      color: var(--muted);
      font-weight: 500;
      padding-bottom: 3px
    }

    .nav-links a::after {
      content: "";
      position: absolute;
      left: 0;
      right: 100%;
      bottom: 0;
      height: 2px;
      border-radius: 2px;
      background: var(--amber);
      transition: right .28s cubic-bezier(.4, 0, .2, 1)
    }

    .nav-links a:hover {
      color: var(--ink)
    }

    .nav-links a:hover::after {
      right: 0
    }

    .nav-cta {
      display: flex;
      align-items: center;
      gap: 14px
    }

    .nav-cta .btn {
      padding: 9px 16px;
      font-size: 14px
    }

    .burger {
      display: none;
      background: none;
      border: 1px solid var(--line-2);
      border-radius: 8px;
      width: 40px;
      height: 38px;
      cursor: pointer;
      flex-direction: column;
      gap: 4px;
      align-items: center;
      justify-content: center
    }

    .burger span {
      width: 18px;
      height: 2px;
      background: var(--ink);
      display: block
    }

    /* hero */
    .hero {
      position: relative;
      overflow: hidden;
      background:
        radial-gradient(1100px 500px at 82% -8%, var(--teal-tint), transparent 60%),
        linear-gradient(180deg, var(--white), var(--surface))
    }

    .hero::before {
      content: "";
      position: absolute;
      inset: 0;
      background-image: linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);
      background-size: 44px 44px;
      opacity: .35;
      mask-image: linear-gradient(180deg, #000, transparent 75%);
      -webkit-mask-image: linear-gradient(180deg, #000, transparent 75%)
    }

    .hero::after {
      content: "";
      position: absolute;
      width: 560px;
      height: 560px;
      right: -180px;
      top: -220px;
      border-radius: 50%;
      background: radial-gradient(circle, var(--amber-tint) 0%, transparent 68%);
      opacity: .8;
      animation: driftBlob 14s ease-in-out infinite;
      pointer-events: none
    }

    @keyframes driftBlob {

      0%,
      100% {
        transform: translate(0, 0) scale(1)
      }

      50% {
        transform: translate(-40px, 50px) scale(1.08)
      }
    }

    .hero-in {
      position: relative;
      display: grid;
      grid-template-columns: 1.05fr .95fr;
      gap: 56px;
      align-items: center;
      padding-top: 78px;
      padding-bottom: 88px;
    }

    .hero h1 {
      font-size: clamp(34px, 4.6vw, 56px);
      font-weight: 700;
      margin: 18px 0 20px
    }

    .hero h1 .u {
      background: linear-gradient(100deg, var(--teal) 20%, var(--amber-d) 45%, var(--teal) 70%);
      background-size: 220% 100%;
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
      animation: shimmer 5s ease-in-out infinite
    }

    @keyframes shimmer {
      0% {
        background-position: 0% 50%
      }

      50% {
        background-position: 100% 50%
      }

      100% {
        background-position: 0% 50%
      }
    }

    .hero p.lead {
      font-size: 19px;
      color: var(--ink-2);
      max-width: 38ch;
      margin-bottom: 30px
    }

    .hero-cta {
      display: flex;
      gap: 14px;
      flex-wrap: wrap;
      align-items: center
    }

    .hero-note {
      margin-top: 16px;
      font-family: var(--mono);
      font-size: 12.5px;
      color: var(--muted)
    }

    /* hero matrix card (signature) */
    .matrix {
      background: var(--white);
      border: 1px solid var(--line);
      border-radius: 16px;
      box-shadow: 0 24px 60px -28px rgba(45, 10, 18, .35);
      padding: 20px;
      position: relative;
      animation: floatCard 6s ease-in-out infinite;
      transition: box-shadow .25s ease, transform .25s ease
    }

    .matrix:hover {
      box-shadow: 0 30px 70px -26px rgba(45, 10, 18, .42);
      animation-play-state: paused;
      transform: translateY(-4px)
    }

    @keyframes floatCard {

      0%,
      100% {
        transform: translateY(0)
      }

      50% {
        transform: translateY(-9px)
      }
    }

    .matrix .mhead {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 14px
    }

    .matrix .mhead b {
      font-family: var(--display);
      font-size: 15px
    }

    .matrix .mhead .tag {
      font-family: var(--mono);
      font-size: 11px;
      color: var(--muted);
      border: 1px solid var(--line);
      padding: 3px 8px;
      border-radius: 20px
    }

    .roles {
      display: flex;
      gap: 6px;
      margin-bottom: 14px;
      flex-wrap: wrap
    }

    .role {
      font-family: var(--mono);
      font-size: 11px;
      padding: 4px 9px;
      border-radius: 20px;
      background: var(--surface-2);
      color: var(--ink-2)
    }

    .role.on {
      background: var(--teal);
      color: #fff
    }

    /* animated rating-click demo */
    .demo-stage {
      position: relative;
      padding: 4px 2px 0
    }

    .demo-q {
      margin-bottom: 18px
    }

    .demo-qlabel {
      display: block;
      font-family: var(--mono);
      font-size: 10.5px;
      letter-spacing: .06em;
      text-transform: uppercase;
      color: var(--teal);
      margin-bottom: 5px
    }

    .demo-q p {
      font-size: 13.5px;
      color: var(--ink-2);
      font-weight: 500;
      margin-bottom: 10px;
      line-height: 1.35
    }

    .rate-row {
      display: flex;
      gap: 8px
    }

    .rate-pill {
      position: relative;
      flex: 1;
      height: 34px;
      border-radius: 8px;
      background: var(--surface-2);
      border: 1px solid var(--line);
      display: grid;
      place-items: center;
      font-family: var(--mono);
      font-size: 12.5px;
      color: var(--ink-2);
      transition: none
    }

    .rate-pill.hit1 {
      animation: fillR1 6.4s ease-in-out infinite
    }

    .rate-pill.hit1::after {
      content: "";
      position: absolute;
      inset: -4px;
      border-radius: 10px;
      border: 2px solid var(--teal);
      opacity: 0;
      animation: ringPulse 6.4s ease-in-out infinite
    }

    .rate-pill.hit2 {
      animation: fillR2 6.4s ease-in-out infinite
    }

    .rate-pill.hit2::after {
      content: "";
      position: absolute;
      inset: -4px;
      border-radius: 10px;
      border: 2px solid var(--amber);
      opacity: 0;
      animation: ringPulse2 6.4s ease-in-out infinite
    }

    .demo-comment {
      border: 1px dashed var(--line-2);
      border-radius: 10px;
      padding: 10px 12px;
      font-size: 12.5px;
      color: var(--ink-2)
    }

    .demo-comment .c-label {
      display: block;
      font-family: var(--mono);
      font-size: 10px;
      letter-spacing: .06em;
      text-transform: uppercase;
      color: var(--muted);
      margin-bottom: 5px
    }

    .demo-comment .caret {
      display: inline-block;
      width: 1px;
      margin-left: 1px;
      color: var(--teal);
      animation: blink 1s steps(1) infinite
    }

    .demo-cursor {
      position: absolute;
      width: 22px;
      height: 22px;
      top: 8px;
      left: 4%;
      filter: drop-shadow(0 3px 5px rgba(45, 10, 18, .35));
      animation: cursorMove 6.4s ease-in-out infinite;
      pointer-events: none;
      z-index: 3
    }

    @keyframes cursorMove {
      0% {
        top: 8px;
        left: 4%;
        opacity: 0
      }

      6% {
        opacity: 1
      }

      22%,
      31% {
        top: 78px;
        left: 66%
      }

      26% {
        top: 78px;
        left: 66%;
        transform: scale(.82)
      }

      50%,
      59% {
        top: 190px;
        left: 26%
      }

      54% {
        top: 190px;
        left: 26%;
        transform: scale(.82)
      }

      94% {
        top: 190px;
        left: 26%;
        opacity: 1
      }

      100% {
        top: 8px;
        left: 4%;
        opacity: 0
      }
    }

    @keyframes fillR1 {

      0%,
      24% {
        background: var(--surface-2);
        border-color: var(--line);
        color: var(--ink-2)
      }

      31%,
      92% {
        background: var(--teal);
        border-color: var(--teal-d);
        color: #fff
      }

      97%,
      100% {
        background: var(--surface-2);
        border-color: var(--line);
        color: var(--ink-2)
      }
    }

    @keyframes fillR2 {

      0%,
      52% {
        background: var(--surface-2);
        border-color: var(--line);
        color: var(--ink-2)
      }

      59%,
      92% {
        background: var(--amber);
        border-color: var(--amber-d);
        color: #fff
      }

      97%,
      100% {
        background: var(--surface-2);
        border-color: var(--line);
        color: var(--ink-2)
      }
    }

    @keyframes ringPulse {

      0%,
      25% {
        opacity: 0;
        transform: scale(.9)
      }

      31% {
        opacity: .55;
        transform: scale(1)
      }

      42% {
        opacity: 0;
        transform: scale(1.18)
      }

      100% {
        opacity: 0
      }
    }

    @keyframes ringPulse2 {

      0%,
      53% {
        opacity: 0;
        transform: scale(.9)
      }

      59% {
        opacity: .55;
        transform: scale(1)
      }

      70% {
        opacity: 0;
        transform: scale(1.18)
      }

      100% {
        opacity: 0
      }
    }

    @keyframes blink {

      0%,
      45% {
        opacity: 1
      }

      50%,
      100% {
        opacity: 0
      }
    }

    .mfoot {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-top: 16px;
      padding-top: 14px;
      border-top: 1px dashed var(--line-2)
    }

    .chip {
      font-family: var(--mono);
      font-size: 12px;
      padding: 6px 10px;
      border-radius: 8px;
      background: var(--surface);
      border: 1px solid var(--line)
    }

    .chip b {
      color: var(--teal)
    }

    .chip.amber b {
      color: var(--amber-d)
    }

    /* section scaffolding */
    section {
      padding: 84px 0
    }

    .sec-head {
      max-width: 640px;
      margin-bottom: 44px
    }

    .sec-head h2 {
      font-size: clamp(26px, 3.2vw, 38px);
      margin: 14px 0 14px
    }

    .sec-head p {
      font-size: 17.5px;
      color: var(--muted)
    }

    .center {
      margin-left: auto;
      margin-right: auto;
      text-align: center
    }

    /* problem */
    .problem {
      background: var(--surface)
    }

    .problem .grid {
      display: grid;
      grid-template-columns: 1.1fr 1fr;
      gap: 48px;
      align-items: center
    }

    .pains {
      display: flex;
      flex-direction: column;
      gap: 2px;
      border-left: 2px solid var(--line-2);
      padding-left: 0
    }

    .pain {
      padding: 16px 0 16px 22px;
      border-left: 2px solid transparent;
      margin-left: -2px;
      transition: border-color .2s
    }

    .pain:hover {
      border-color: var(--amber)
    }

    .pain b {
      font-family: var(--display);
      font-size: 16px;
      display: block;
      margin-bottom: 2px
    }

    .pain span {
      color: var(--muted);
      font-size: 15px
    }

    /* connected flow diagram */
    .flow {
      position: relative;
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 14px;
      margin-top: 44px
    }

    .flow-line {
      position: absolute;
      top: 26px;
      left: 6%;
      right: 6%;
      height: 2px;
      background: repeating-linear-gradient(90deg, var(--line-2) 0 8px, transparent 8px 14px);
      z-index: 0;
      overflow: visible
    }

    .flow-line::after {
      content: "";
      position: absolute;
      top: -4px;
      left: 0;
      width: 10px;
      height: 10px;
      border-radius: 50%;
      background: var(--amber);
      box-shadow: 0 0 0 4px var(--amber-tint);
      animation: travel 5s cubic-bezier(.65, 0, .35, 1) infinite
    }

    @keyframes travel {
      0% {
        left: 0;
        opacity: 0
      }

      6% {
        opacity: 1
      }

      92% {
        opacity: 1
      }

      100% {
        left: calc(100% - 10px);
        opacity: 0
      }
    }

    .flow-node {
      position: relative;
      z-index: 1;
      text-align: center;
      padding: 0 6px
    }

    .flow-dot {
      width: 52px;
      height: 52px;
      margin: 0 auto 18px;
      border-radius: 50%;
      background: var(--white);
      border: 2px solid var(--teal);
      color: var(--teal);
      display: grid;
      place-items: center;
      font-family: var(--display);
      font-weight: 700;
      font-size: 17px;
      box-shadow: 0 0 0 6px var(--white);
      transition: transform .2s ease, background .2s ease, color .2s ease
    }

    .flow-node:hover .flow-dot {
      background: var(--teal);
      color: #fff;
      transform: scale(1.1)
    }

    .flow-node h3 {
      font-size: 17px;
      margin-bottom: 8px
    }

    .flow-node p {
      font-size: 14px;
      color: var(--muted)
    }

    /* features */
    .feat {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 18px
    }

    .card {
      position: relative;
      background: var(--white);
      border: 1px solid var(--line);
      border-radius: 14px;
      padding: 26px 24px;
      overflow: hidden;
      transition: transform .2s ease, box-shadow .2s ease, border-color .2s
    }

    .card::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 3px;
      background: linear-gradient(90deg, var(--teal), var(--amber));
      transform: scaleX(0);
      transform-origin: left;
      transition: transform .3s ease
    }

    .card:hover {
      transform: translateY(-4px) rotate(-.3deg);
      box-shadow: 0 18px 40px -24px rgba(45, 10, 18, .4);
      border-color: var(--line-2)
    }

    .card:hover::before {
      transform: scaleX(1)
    }

    .card .ico {
      width: 40px;
      height: 40px;
      border-radius: 10px;
      background: var(--teal-tint);
      display: grid;
      place-items: center;
      margin-bottom: 16px;
      color: var(--teal);
      transition: transform .3s ease, background .3s ease, color .3s ease
    }

    .card:hover .ico {
      background: var(--teal);
      color: #fff;
      transform: scale(1.1) rotate(-6deg)
    }

    .card .ico svg {
      width: 21px;
      height: 21px
    }

    .card h3 {
      font-size: 17.5px;
      margin-bottom: 8px
    }

    .card p {
      font-size: 14.5px;
      color: var(--muted)
    }

    .card .code {
      font-family: var(--mono);
      font-size: 11px;
      color: var(--line-2);
      position: absolute
    }

    /* carousel */
    .carousel-container {
      width: 100%;
      max-width: 960px;
      margin: 0 auto;
    }

    .carousel-card {
      background: var(--white);
      border: 1px solid var(--line);
      border-radius: 14px;
      overflow: hidden;
      box-shadow: 0 18px 40px -24px rgba(45, 10, 18, .3);
    }

    .carousel-image {
      position: relative;
      aspect-ratio: 16/10;
      background: var(--surface-2);
      display: flex;
      align-items: center;
      justify-content: center;
      border-bottom: 1px solid var(--line);
    }

    .carousel-image img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      transition: opacity 0.3s ease;
    }

    .carousel-image img.fade-out {
      opacity: 0;
    }

    .carousel-btn {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      width: 48px;
      height: 48px;
      border-radius: 50%;
      background: var(--white);
      border: 1px solid var(--line);
      color: var(--ink);
      display: grid;
      place-items: center;
      cursor: pointer;
      box-shadow: 0 4px 12px rgba(45, 10, 18, .15);
      transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease;
      z-index: 10;
    }

    .carousel-btn:hover {
      background: var(--teal);
      color: var(--white);
      border-color: var(--teal-d);
      transform: translateY(-50%) scale(1.08);
    }

    .carousel-btn.prev {
      left: 16px;
    }

    .carousel-btn.next {
      right: 16px;
    }

    .carousel-btn svg {
      width: 24px;
      height: 24px;
    }

    .shot-meta {
      padding: 16px 18px
    }

    .shot-meta b {
      font-family: var(--display);
      font-size: 15.5px;
      display: block;
      margin-bottom: 4px
    }

    .shot-meta span {
      font-size: 13.5px;
      color: var(--muted)
    }

    /* who */
    .who {
      background: var(--deep);
      color: #F5E9E9
    }

    .who .sec-head h2 {
      color: #fff
    }

    .who .sec-head p {
      color: #C9A6AC
    }

    .who .eyebrow {
      color: var(--amber)
    }

    .tag-group {
      margin-top: 30px
    }

    .tag-group:first-of-type {
      margin-top: 0
    }

    .tag-group h4 {
      font-family: var(--mono);
      font-size: 11px;
      letter-spacing: .1em;
      text-transform: uppercase;
      color: var(--amber);
      font-weight: 500;
      margin-bottom: 12px
    }

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

    .tags span {
      display: inline-block;
      font-size: 14px;
      padding: 9px 15px;
      border: 1px solid #4A2028;
      border-radius: 30px;
      color: #E7D2D2;
      background: rgba(255, 255, 255, .02);
      transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease
    }

    .tags span:hover {
      border-color: var(--amber);
      background: var(--amber);
      color: #3a250a;
      transform: translateY(-2px) scale(1.04)
    }

    /* proof */
    .proof .stats {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 18px;
      margin: 0 0 40px
    }

    .stat {
      border: 1px solid var(--line);
      border-radius: 14px;
      padding: 24px 20px;
      background: var(--surface)
    }

    .stat .num {
      font-family: var(--display);
      font-size: 38px;
      font-weight: 700;
      color: var(--ink);
      line-height: 1
    }

    .stat .lab {
      font-size: 13.5px;
      color: var(--muted);
      margin-top: 8px
    }

    .proof .band {
      display: grid;
      grid-template-columns: 1.15fr 1fr;
      gap: 24px;
      align-items: stretch
    }

    .provenance {
      background: var(--ink);
      color: #F3E6E6;
      border-radius: 16px;
      padding: 30px
    }

    .provenance h3 {
      color: #fff;
      font-size: 20px;
      margin-bottom: 14px
    }

    .provenance ul {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 12px
    }

    .provenance li {
      display: flex;
      gap: 12px;
      font-size: 14.5px;
      color: #E0C7C9
    }

    .provenance li b {
      font-family: var(--mono);
      font-size: 12px;
      color: var(--amber);
      min-width: 52px
    }

    .quote {
      border: 1px dashed var(--line-2);
      border-radius: 16px;
      padding: 30px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      background: var(--surface)
    }

    .quote .q {
      font-family: var(--display);
      font-size: 19px;
      color: var(--ink-2);
      line-height: 1.4
    }

    .quote .ph {
      font-family: var(--mono);
      font-size: 12px;
      color: var(--muted);
      margin-top: 16px;
      text-transform: uppercase;
      letter-spacing: .08em
    }

    /* control strip */
    .control {
      position: relative;
      overflow: hidden;
      background: var(--teal);
      color: #FBEDE9
    }

    .control::before {
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      left: -30%;
      width: 30%;
      background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .09), transparent);
      transform: skewX(-14deg);
      animation: bannerSweep 7s ease-in-out infinite
    }

    @keyframes bannerSweep {
      0% {
        left: -30%
      }

      60%,
      100% {
        left: 120%
      }
    }

    .control .wrap {
      display: flex;
      gap: 26px;
      align-items: center;
      justify-content: space-between;
      flex-wrap: wrap
    }

    .control h2 {
      color: #fff;
      font-size: clamp(22px, 2.6vw, 30px);
      max-width: 22ch
    }

    .control p {
      color: #F0D6D0;
      max-width: 40ch;
      font-size: 16px
    }

    /* roadmap */
    .roadmap-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 20px
    }

    .roadmap-card {
      border: 1.5px dashed var(--line-2);
      border-radius: 14px;
      padding: 28px 26px;
      transition: border-color .2s ease, transform .2s ease, background .2s ease
    }

    .roadmap-card:hover {
      border-color: var(--amber);
      border-style: solid;
      background: var(--amber-tint);
      transform: translateY(-3px) scale(1.01)
    }

    .roadmap-card .soon {
      display: inline-block;
      font-family: var(--mono);
      font-size: 10.5px;
      letter-spacing: .08em;
      text-transform: uppercase;
      color: var(--amber-d);
      background: var(--amber-tint);
      padding: 4px 10px;
      border-radius: 20px;
      margin-bottom: 14px
    }

    .roadmap-card h3 {
      font-size: 18.5px;
      margin-bottom: 8px
    }

    .roadmap-card p {
      font-size: 14.5px;
      color: var(--muted)
    }

    /* pricing + cta */
    .cta-sec {
      background: var(--surface)
    }

    .cta-card {
      background: var(--white);
      border: 1px solid var(--line);
      border-radius: 20px;
      padding: 44px;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 44px;
      box-shadow: 0 30px 70px -40px rgba(45, 10, 18, .4)
    }

    .cta-card .lead-col h2 {
      font-size: clamp(26px, 3vw, 34px);
      margin: 12px 0 14px
    }

    .cta-card .lead-col p {
      color: var(--muted);
      font-size: 16px;
      margin-bottom: 22px
    }

    .price-line {
      display: flex;
      align-items: baseline;
      gap: 10px;
      margin-bottom: 8px
    }

    .price-line .p {
      font-family: var(--display);
      font-size: 22px;
      font-weight: 600
    }

    .price-line .s {
      font-family: var(--mono);
      font-size: 12px;
      color: var(--muted)
    }

    form {
      display: flex;
      flex-direction: column;
      gap: 14px
    }

    .f-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 14px
    }

    label {
      font-size: 13px;
      font-weight: 600;
      color: var(--ink-2);
      margin-bottom: 6px;
      display: block
    }

    input,
    textarea {
      width: 100%;
      font-family: var(--body);
      font-size: 15px;
      padding: 12px 14px;
      border: 1px solid var(--line-2);
      border-radius: 10px;
      background: var(--white);
      color: var(--ink)
    }

    input:focus,
    textarea:focus {
      outline: none;
      border-color: var(--teal);
      box-shadow: 0 0 0 3px var(--teal-tint)
    }

    textarea {
      resize: vertical;
      min-height: 74px
    }

    .f-note {
      font-family: var(--mono);
      font-size: 11.5px;
      color: var(--muted)
    }

    /* footer */
    footer {
      background: var(--deep);
      color: #C9A6AC;
      padding: 52px 0 34px
    }

    footer .top {
      display: flex;
      justify-content: space-between;
      gap: 30px;
      flex-wrap: wrap;
      padding-bottom: 28px;
      border-bottom: 1px solid #3A1620
    }

    footer .brand {
      color: #fff
    }

    footer .brand .mark {
      background: #0c1a26
    }

    footer a {
      color: #C9A6AC
    }

    footer a:hover {
      color: #fff
    }

    footer .cols {
      display: flex;
      gap: 56px;
      flex-wrap: wrap
    }

    footer .col h4 {
      font-family: var(--mono);
      font-size: 11px;
      letter-spacing: .1em;
      text-transform: uppercase;
      color: #8C6870;
      margin-bottom: 12px;
      font-weight: 500
    }

    footer .col a,
    footer .col span {
      display: block;
      font-size: 14px;
      margin-bottom: 8px
    }

    footer .legal {
      padding-top: 24px;
      font-size: 12.5px;
      color: #8C6870;
      display: flex;
      justify-content: space-between;
      gap: 20px;
      flex-wrap: wrap
    }

    footer .legal .ip {
      font-family: var(--mono)
    }

    /* reveal */
    .js .reveal {
      opacity: 0;
      transform: translateY(16px);
      transition: opacity .6s ease, transform .6s ease
    }

    .js .reveal.in {
      opacity: 1;
      transform: none
    }

    /* responsive */
    @media(max-width:900px) {
      .hero-in {
        grid-template-columns: 1fr;
        gap: 40px;
        padding-top: 56px;
        padding-bottom: 64px;
      }

      .matrix {
        max-width: 460px
      }

      .problem .grid {
        grid-template-columns: 1fr;
        gap: 34px
      }

      .flow {
        grid-template-columns: 1fr 1fr;
        row-gap: 32px
      }

      .flow-line {
        display: none
      }

      .feat {
        grid-template-columns: 1fr 1fr
      }

      .shots {
        grid-template-columns: 1fr 1fr
      }

      .proof .stats {
        grid-template-columns: 1fr 1fr
      }

      .proof .band {
        grid-template-columns: 1fr
      }

      .cta-card {
        grid-template-columns: 1fr;
        padding: 32px
      }

      .nav-links {
        display: none
      }
    }

    @media(max-width:560px) {
      .hero-in {
        padding-top: 40px;
        padding-bottom: 48px;
      }

      .feat {
        grid-template-columns: 1fr
      }

      .shots {
        grid-template-columns: 1fr
      }

      .flow {
        grid-template-columns: 1fr
      }

      .proof .stats {
        grid-template-columns: 1fr 1fr
      }

      .f-row {
        grid-template-columns: 1fr
      }

      .roadmap-grid {
        grid-template-columns: 1fr
      }

      .burger {
        display: flex
      }

      .nav-cta .btn-ghost {
        display: none
      }

      section {
        padding: 62px 0
      }
    }

    @media(prefers-reduced-motion:reduce) {
      html {
        scroll-behavior: auto
      }

      .js .reveal {
        opacity: 1;
        transform: none;
        transition: none
      }
    }