  * {
      margin: 0;
      padding: 0;
      box-sizing: border-box
  }

  :root {
      --bg: #ffffff;
      --text: #1a1a1a;
      --muted: #888;
      --light: #f5f5f5;
      --border: #e8e8e8;
      --accent: #1a1a1a;
      --green: #00c853;
      --font: 'Google Sans', 'Inter', system-ui, sans-serif;
  }

  html {
      scroll-behavior: smooth
  }

  body {
      background: var(--bg);
      color: var(--text);
      font-family: var(--font);
      overflow-x: hidden;
  }



  /* NAV */
  nav {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: 100;
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 0 48px;
      height: 64px;
      background: rgba(255, 255, 255, .92);
      backdrop-filter: blur(12px);
      border-bottom: 1px solid transparent;
      transition: border-color .3s
  }

  nav.s {
      border-color: var(--border)
  }

  .logo {
      font-size: 15px;
      font-weight: 600;
      letter-spacing: -.01em;
      color: var(--text)
  }

  .logo b {
      font-weight: 800
  }

  .nav-links {
      display: flex;
      gap: 36px;
      list-style: none
  }

  .nav-links a {
      font-size: 13px;
      color: var(--muted);
      transition: color .2s;
      text-decoration: none
  }

  .nav-links a:hover {
      color: var(--text)
  }

  .nav-cta {
      font-size: 13px;
      font-weight: 500;
      background: var(--text);
      color: #fff;
      padding: 9px 24px;
      border-radius: 100px;
      transition: opacity .2s;
      text-decoration: none
  }

  .nav-cta:hover {
      opacity: .8
  }

  /* HERO */
  #hero {
      min-height: 100vh;
      display: flex;
      align-items: center;
      padding: 0 48px;
      position: relative;
      overflow: hidden
  }

  .hero-txt {
      position: relative;
      z-index: 2;
      max-width: 720px
  }

  .hero-tag {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      font-size: 12px;
      color: var(--muted);
      letter-spacing: .04em;
      margin-bottom: 36px;
      border: 1px solid var(--border);
      padding: 6px 16px;
      border-radius: 100px
  }

  .hero-dot {
      width: 6px;
      height: 6px;
      background: var(--green);
      border-radius: 50%;
      animation: blink 2s infinite
  }

  @keyframes blink {

      0%,
      100% {
          opacity: 1
      }

      50% {
          opacity: .2
      }
  }

  h1 {
      font-size: clamp(44px, 6vw, 88px);
      font-weight: 700;
      line-height: 1.02;
      letter-spacing: -.04em;
      color: var(--text);
      margin-bottom: 28px
  }

  h1 em {
      font-style: normal;
      color: var(--muted)
  }

  .hero-sub {
      font-size: 18px;
      color: var(--muted);
      line-height: 1.65;
      max-width: 480px;
      margin-bottom: 48px
  }

  .hero-btns {
      display: flex;
      gap: 14px;
      align-items: center
  }

  .btn-solid {
      background: var(--text);
      color: #fff;
      padding: 14px 36px;
      border-radius: 100px;
      font-size: 14px;
      font-weight: 500;
      text-decoration: none;
      transition: opacity .2s
  }

  .btn-solid:hover {
      opacity: .8
  }

  .btn-outline {
      border: 1.5px solid var(--border);
      color: var(--text);
      padding: 13px 32px;
      border-radius: 100px;
      font-size: 14px;
      font-weight: 500;
      text-decoration: none;
      transition: border-color .2s
  }

  .btn-outline:hover {
      border-color: #aaa
  }

  /* FLOATING WORDS */
  #float-wrap {
      position: absolute;
      inset: 0;
      pointer-events: none;
      z-index: 1
  }

  .fw {
      position: absolute;
      font-size: 13px;
      color: #e8e8e8;
      font-weight: 500;
      letter-spacing: .04em;
      white-space: nowrap;
      will-change: transform
  }

  /* SECTION BASE */
  section:not(#hero) {
      padding: 96px 48px
  }

  .sec-label {
      font-size: 11px;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: var(--muted);
      margin-bottom: 56px
  }

  /* ABOUT */
  #about {
      background: var(--light);
      border-top: 1px solid var(--border)
  }

  .about-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 80px;
      align-items: center
  }

  .about-h {
      font-size: clamp(28px, 3.5vw, 48px);
      font-weight: 700;
      letter-spacing: -.03em;
      line-height: 1.1;
      margin-bottom: 24px
  }

  .about-p {
      font-size: 15px;
      color: var(--muted);
      line-height: 1.75
  }

  .about-p+.about-p {
      margin-top: 16px
  }

  .stats {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 32px
  }

  .st {
      border-top: 2px solid var(--text);
      padding-top: 20px
  }

  .st-n {
      font-size: 42px;
      font-weight: 700;
      letter-spacing: -.04em
  }

  .st-l {
      font-size: 12px;
      color: var(--muted);
      margin-top: 6px;
      line-height: 1.4
  }

  /* SERVICES */
  #services {
      border-top: 1px solid var(--border)
  }

  .svc-head {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 80px;
      margin-bottom: 64px;
      align-items: end
  }

  .svc-h {
      font-size: clamp(28px, 3.5vw, 48px);
      font-weight: 700;
      letter-spacing: -.03em;
      line-height: 1.1
  }

  .svc-intro {
      font-size: 15px;
      color: var(--muted);
      line-height: 1.7
  }

  .svc-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1px;
      background: var(--border)
  }

  .svc {
      background: var(--bg);
      padding: 40px 36px;
      transition: background .2s
  }

  .svc:hover {
      background: #fafafa
  }

  .svc-n {
      font-size: 11px;
      letter-spacing: .12em;
      color: var(--muted);
      margin-bottom: 28px
  }

  .svc-name {
      font-size: 18px;
      font-weight: 600;
      margin-bottom: 16px;
      letter-spacing: -.01em
  }

  .svc-desc {
      font-size: 14px;
      color: var(--muted);
      line-height: 1.7;
      margin-bottom: 24px
  }

  .svc-list {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 8px
  }

  .svc-list li {
      font-size: 13px;
      color: var(--muted);
      padding-left: 14px;
      position: relative
  }

  .svc-list li::before {
      content: '—';
      position: absolute;
      left: 0;
      color: #ccc
  }

  /* PLANS */
  #plans {
      background: var(--light);
      border-top: 1px solid var(--border)
  }

  .plans-h {
      font-size: clamp(28px, 3.5vw, 48px);
      font-weight: 700;
      letter-spacing: -.03em;
      margin-bottom: 12px
  }

  .plans-sub {
      font-size: 15px;
      color: var(--muted);
      margin-bottom: 56px
  }

  .plans-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 16px
  }

  .plan {
      background: var(--bg);
      border: 1px solid var(--border);
      padding: 40px;
      border-radius: 16px;
      position: relative;
      transition: box-shadow .3s
  }

  .plan:hover {
      box-shadow: 0 8px 40px rgba(0, 0, 0, .08)
  }

  .plan.hot {
      border-color: var(--text);
      box-shadow: 0 4px 24px rgba(0, 0, 0, .1)
  }

  .plan-badge {
      position: absolute;
      top: -12px;
      left: 50%;
      transform: translateX(-50%);
      background: var(--text);
      color: #fff;
      font-size: 10px;
      font-weight: 600;
      letter-spacing: .1em;
      text-transform: uppercase;
      padding: 4px 16px;
      border-radius: 100px
  }

  .plan-tier {
      font-size: 11px;
      letter-spacing: .12em;
      text-transform: uppercase;
      color: var(--muted);
      margin-bottom: 20px
  }

  .plan-name {
      font-size: 24px;
      font-weight: 700;
      letter-spacing: -.02em;
      margin-bottom: 12px
  }

  .plan-desc {
      font-size: 13px;
      color: var(--muted);
      line-height: 1.6;
      margin-bottom: 28px
  }

  .plan-feats {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 10px;
      margin-bottom: 36px
  }

  .plan-feats li {
      font-size: 13px;
      color: var(--muted);
      display: flex;
      gap: 10px
  }

  .plan-feats li::before {
      content: '✓';
      color: var(--text);
      font-weight: 700;
      flex-shrink: 0
  }

  .plan-cta {
      display: block;
      text-align: center;
      padding: 12px;
      border: 1.5px solid var(--border);
      border-radius: 100px;
      font-size: 13px;
      font-weight: 500;
      color: var(--text);
      transition: all .2s;
      text-decoration: none
  }

  .plan-cta:hover {
      border-color: var(--text)
  }

  .plan.hot .plan-cta {
      background: var(--text);
      color: #fff;
      border-color: var(--text)
  }

  /* CHATBOT */
  #chatbot {
      border-top: 1px solid var(--border)
  }

  .chat-wrap {
      display: grid;
      grid-template-columns: 1fr 1.3fr;
      gap: 80px;
      align-items: start
  }

  .chat-h {
      font-size: clamp(28px, 3.5vw, 48px);
      font-weight: 700;
      letter-spacing: -.03em;
      line-height: 1.1;
      margin-bottom: 20px
  }

  .chat-p {
      font-size: 15px;
      color: var(--muted);
      line-height: 1.7
  }

  .chat-box {
      border: 1px solid var(--border);
      border-radius: 16px;
      overflow: hidden;
      display: flex;
      flex-direction: column;
      height: 460px;
      box-shadow: 0 4px 24px rgba(0, 0, 0, .06)
  }

  .chat-top {
      padding: 16px 20px;
      border-bottom: 1px solid var(--border);
      display: flex;
      align-items: center;
      gap: 10px;
      background: var(--light)
  }

  .chat-status {
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: var(--green);
      animation: blink 2s infinite
  }

  .chat-lbl {
      font-size: 12px;
      color: var(--muted);
      letter-spacing: .04em
  }

  .msgs {
      flex: 1;
      overflow-y: auto;
      padding: 20px;
      display: flex;
      flex-direction: column;
      gap: 14px;
      scrollbar-width: thin;
      scrollbar-color: var(--border) transparent
  }

  .m {
      display: flex;
      gap: 10px
  }

  .m.u {
      flex-direction: row-reverse;
      align-self: flex-end;
      max-width: 82%
  }

  .av {
      width: 26px;
      height: 26px;
      border-radius: 50%;
      flex-shrink: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 9px;
      font-weight: 700;
      background: var(--light);
      color: var(--muted);
      border: 1px solid var(--border)
  }

  .m.b .av {
      background: var(--text);
      color: #fff;
      border-color: var(--text)
  }

  .bbl {
      background: var(--light);
      border: 1px solid var(--border);
      padding: 12px 16px;
      font-size: 13px;
      line-height: 1.6;
      color: var(--text);
      border-radius: 12px;
      border-top-left-radius: 4px
  }

  .m.u .bbl {
      background: var(--text);
      color: #fff;
      border-color: var(--text);
      border-top-right-radius: 4px;
      border-top-left-radius: 12px
  }

  .vtag {
      display: inline-block;
      font-size: 10px;
      font-weight: 700;
      letter-spacing: .06em;
      text-transform: uppercase;
      padding: 3px 10px;
      border-radius: 100px;
      margin: 4px 3px 0 0
  }

  .vg {
      background: #e8fbe8;
      color: #00a040
  }

  .vy {
      background: #fff8e1;
      color: #f09000
  }

  .vr {
      background: #fdecea;
      color: #d32f2f
  }

  .typing {
      display: flex;
      gap: 4px;
      align-items: center;
      padding: 12px 16px;
      background: var(--light);
      border: 1px solid var(--border);
      border-radius: 12px;
      border-top-left-radius: 4px;
      width: fit-content
  }

  .typing span {
      width: 5px;
      height: 5px;
      border-radius: 50%;
      background: #ccc;
      animation: bounce .9s infinite
  }

  .typing span:nth-child(2) {
      animation-delay: .15s
  }

  .typing span:nth-child(3) {
      animation-delay: .3s
  }

  @keyframes bounce {

      0%,
      80%,
      100% {
          transform: translateY(0)
      }

      40% {
          transform: translateY(-5px)
      }
  }

  .chat-input-row {
      display: flex;
      align-items: center;
      border-top: 1px solid var(--border);
      padding: 12px 16px;
      gap: 10px;
      background: #fff
  }

  #ci {
      flex: 1;
      border: none;
      outline: none;
      font-size: 13px;
      color: var(--text);
      font-family: var(--font);
      background: transparent
  }

  #ci::placeholder {
      color: #bbb
  }

  #cs {
      width: 32px;
      height: 32px;
      border-radius: 50%;
      background: var(--text);
      border: none;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #fff;
      font-size: 15px;
      flex-shrink: 0;
      transition: opacity .2s
  }

  #cs:hover {
      opacity: .8
  }

  #cs:disabled {
      background: #ddd;
      cursor: not-allowed
  }

  /* CONTACT */
  #contact {
      background: var(--light);
      border-top: 1px solid var(--border)
  }

  .contact-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 80px;
      align-items: center
  }

  .contact-h {
      font-size: clamp(36px, 5vw, 72px);
      font-weight: 700;
      letter-spacing: -.04em;
      line-height: 1;
      margin-bottom: 20px
  }

  .contact-sub {
      font-size: 15px;
      color: var(--muted);
      line-height: 1.7;
      margin-bottom: 36px
  }

  .contact-links {
      display: flex;
      flex-direction: column;
      gap: 10px
  }

  .contact-link {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 18px 20px;
      background: #fff;
      border: 1px solid var(--border);
      border-radius: 12px;
      font-size: 14px;
      color: var(--text);
      text-decoration: none;
      transition: box-shadow .2s
  }

  .contact-link:hover {
      box-shadow: 0 4px 16px rgba(0, 0, 0, .07)
  }

  .contact-link span {
      color: var(--muted)
  }

  .form {
      display: flex;
      flex-direction: column;
      gap: 14px
  }

  .fld {
      display: flex;
      flex-direction: column;
      gap: 6px
  }

  .fld label {
      font-size: 11px;
      letter-spacing: .1em;
      text-transform: uppercase;
      color: var(--muted)
  }

  .fld input,
  .fld textarea {
      border: 1px solid var(--border);
      background: #fff;
      padding: 12px 14px;
      font-size: 14px;
      color: var(--text);
      font-family: var(--font);
      outline: none;
      border-radius: 8px;
      transition: border-color .2s;
      resize: none
  }

  .fld input:focus,
  .fld textarea:focus {
      border-color: #aaa
  }

  .fsub {
      background: var(--text);
      color: #fff;
      border: none;
      padding: 14px;
      border-radius: 100px;
      font-size: 13px;
      font-weight: 500;
      cursor: pointer;
      font-family: var(--font);
      transition: opacity .2s
  }

  .fsub:hover {
      opacity: .8
  }

  footer {
      border-top: 1px solid var(--border);
      padding: 28px 48px;
      display: flex;
      justify-content: space-between;
      align-items: center
  }

  .fc {
      font-size: 12px;
      color: var(--muted)
  }

  .fl {
      display: flex;
      gap: 24px
  }

  .fl a {
      font-size: 12px;
      color: var(--muted);
      text-decoration: none;
      transition: color .2s
  }

  .fl a:hover {
      color: var(--text)
  }

  @media(max-width:800px) {
      nav {
          padding: 0 20px
      }

      section:not(#hero) {
          padding: 64px 20px
      }

      #hero {
          padding: 0 20px
      }

      .about-grid,
      .svc-head,
      .svc-grid,
      .plans-grid,
      .chat-wrap,
      .contact-grid {
          grid-template-columns: 1fr;
          gap: 36px
      }

      footer {
          flex-direction: column;
          gap: 12px;
          padding: 24px 20px;
          text-align: center
      }

      .nav-links {
          display: none
      }
  }