
      :root {
        --bg: #08080f;
        --bg-c: #111119;
        --bg-r: #16161f;
        --bdr: #1c1c28;
        --bdr-s: #141420;
        --tx: #dddde6;
        --tx2: #999;
        --tx3: #5a5a6e;
        --tx4: #3a3a48;
        --accent: #23783b;
        --accent-dim: rgba(35, 120, 59, 0.1);
        --accent-hover: rgba(35, 120, 59, 0.18);
        --accent-text: #2a9048;
        --blue: #42a5f5;
        --blue-dim: rgba(66, 165, 245, 0.08);
        --sans: "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;
        --mono: "JetBrains Mono", monospace;
      }

      html {
        scroll-behavior: smooth;
      }
      body {
        font-family: var(--sans);
        background: var(--bg);
        color: var(--tx);
        -webkit-font-smoothing: antialiased;
        overflow-x: hidden;
      }
      a {
        color: inherit;
        text-decoration: none;
      }
      ::selection {
        background: var(--accent-hover);
        color: #fff;
      }
      .w {
        max-width: 1100px;
        margin: 0 auto;
        padding: 0 32px;
      }

      /* NAV */
      nav {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 100;
        background: rgba(8, 8, 15, 0.85);
        backdrop-filter: blur(20px);
        border-bottom: 1px solid var(--bdr-s);
      }
      .nav-i {
        display: flex;
        align-items: center;
        justify-content: space-between;
        height: 80px;
      }
      .nav-logo {
        height: 60px;
        display: block;
      }
      .nav-r {
        display: flex;
        align-items: center;
        gap: 28px;
      }
      .nav-r a {
        font-size: 12px;
        font-weight: 500;
        color: var(--tx3);
        transition: color 0.15s;
        letter-spacing: 0.3px;
      }
      .nav-r a:hover {
        color: var(--tx2);
      }
      .nav-signin {
        font-size: 11px;
        font-weight: 600;
        letter-spacing: 0.5px;
        padding: 6px 16px;
        border-radius: 6px;
        border: 1px solid var(--accent);
        color: var(--accent-text);
        transition: all 0.15s;
      }
      .nav-signin:hover {
        background: var(--accent-dim);
      }

      /* HERO */
      .hero {
        padding: 150px 0 90px;
        position: relative;
      }
      .hero::before {
        content: "";
        position: absolute;
        top: -300px;
        left: -200px;
        width: 700px;
        height: 700px;
        background: radial-gradient(
          circle,
          rgba(35, 120, 59, 0.035) 0%,
          transparent 65%
        );
        pointer-events: none;
      }
      .hero-ey {
        font-size: 11px;
        font-weight: 500;
        letter-spacing: 1.5px;
        color: var(--tx3);
        text-transform: uppercase;
        margin-bottom: 20px;
        display: flex;
        align-items: center;
        gap: 8px;
      }
      .hero-ey::before {
        content: "";
        width: 24px;
        height: 1px;
        background: var(--accent);
      }
      .hero h1 {
        font-size: clamp(38px, 5.5vw, 64px);
        font-weight: 700;
        line-height: 1.08;
        letter-spacing: -2px;
        margin-bottom: 20px;
        max-width: 800px;
      }
      .hero h1 .hl {
        color: var(--accent-text);
      }
      .hero-p {
        font-size: 16px;
        font-weight: 300;
        line-height: 1.75;
        color: var(--tx2);
        max-width: 480px;
        margin-bottom: 36px;
      }
      .hero-btns {
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
      }
      .btn {
        display: inline-flex;
        align-items: center;
        gap: 7px;
        padding: 11px 22px;
        border-radius: 8px;
        font-size: 13px;
        font-weight: 600;
        font-family: var(--sans);
        letter-spacing: 0.2px;
        transition: all 0.15s;
        cursor: pointer;
        border: none;
      }
      .btn-a {
        background: var(--accent);
        color: #fff;
      }
      .btn-a:hover {
        background: #1e6633;
      }
      .btn-g {
        background: transparent;
        color: var(--tx2);
        border: 1px solid var(--bdr);
      }
      .btn-g:hover {
        border-color: var(--tx3);
        color: var(--tx);
      }
      .btn svg {
        width: 14px;
        height: 14px;
        flex-shrink: 0;
      }

      /* SEPARATOR */
      .sep {
        height: 1px;
        background: var(--bdr);
      }

      /* SECTION HEADERS */
      .s-ey {
        font-size: 10px;
        font-weight: 600;
        letter-spacing: 2px;
        text-transform: uppercase;
        color: var(--tx3);
        margin-bottom: 10px;
      }
      .s-t {
        font-size: clamp(26px, 3.5vw, 38px);
        font-weight: 700;
        letter-spacing: -1px;
        line-height: 1.15;
        margin-bottom: 14px;
      }
      .s-d {
        font-size: 15px;
        color: var(--tx2);
        line-height: 1.7;
        font-weight: 300;
        max-width: 500px;
      }

      /* PROBLEM SECTION */
      .problem {
        padding: 80px 0;
      }

      .problem-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 48px;
        margin-top: 40px;
        align-items: start;
      }

      .problem-left .context {
        font-size: 14px;
        line-height: 1.8;
        color: var(--tx2);
        font-weight: 300;
        margin-bottom: 24px;
      }
      .problem-left .context a {
        color: var(--accent-text);
        border-bottom: 1px solid rgba(42, 144, 72, 0.3);
        transition: border-color 0.15s;
      }
      .problem-left .context a:hover {
        border-color: var(--accent-text);
      }

      .problem-left .context strong {
        color: var(--tx);
        font-weight: 500;
      }

      .problem-right {
        display: flex;
        flex-direction: column;
        gap: 12px;
      }

      .prob-card {
        padding: 20px 22px;
        border-radius: 8px;
        border: 1px solid var(--bdr);
        background: var(--bg-c);
        transition: border-color 0.2s;
      }
      .prob-card:hover {
        border-color: #282838;
      }

      .prob-card .prob-label {
        font-size: 9px;
        font-weight: 600;
        letter-spacing: 1.5px;
        text-transform: uppercase;
        margin-bottom: 8px;
      }
      .prob-card.issue .prob-label {
        color: #e06c75;
      }
      .prob-card.exists .prob-label {
        color: var(--tx3);
      }
      .prob-card.solve .prob-label {
        color: var(--accent-text);
      }

      .prob-card p {
        font-size: 13px;
        line-height: 1.65;
        color: var(--tx2);
        font-weight: 300;
      }

      /* PRODUCTS */
      .products {
        padding: 80px 0;
      }
      .products-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 16px;
        margin-top: 44px;
      }

      .pc {
        border: 1px solid var(--bdr);
        border-radius: 12px;
        position: relative;
        overflow: hidden;
        transition: border-color 0.2s;
        display: flex;
        flex-direction: column;
      }
      .pc:hover {
        border-color: #282838;
      }
      .pc-bar {
        height: 2px;
        width: 100%;
      }
      .pc.hs .pc-bar {
        background: linear-gradient(90deg, var(--accent) 0%, transparent 100%);
      }
      .pc.gg .pc-bar {
        background: linear-gradient(90deg, var(--blue) 0%, transparent 100%);
      }
      .pc-body {
        padding: 32px 30px 26px;
        flex: 1;
        display: flex;
        flex-direction: column;
      }
      .pc-tag {
        display: inline-block;
        font-size: 9px;
        font-weight: 600;
        letter-spacing: 1.5px;
        text-transform: uppercase;
        padding: 4px 10px;
        border-radius: 4px;
        margin-bottom: 18px;
        width: fit-content;
      }
      .pc.hs .pc-tag {
        color: var(--accent-text);
        background: var(--accent-dim);
      }
      .pc.gg .pc-tag {
        color: var(--blue);
        background: var(--blue-dim);
      }
      .pc h2 {
        font-size: 22px;
        font-weight: 700;
        letter-spacing: -0.3px;
        margin-bottom: 8px;
      }
      .pc .desc {
        font-size: 13.5px;
        line-height: 1.7;
        color: var(--tx2);
        font-weight: 300;
        margin-bottom: 24px;
      }

      .fl {
        list-style: none;
        margin-bottom: auto;
        padding-bottom: 24px;
      }
      .fl li {
        display: flex;
        align-items: baseline;
        gap: 8px;
        padding: 7px 0;
        border-bottom: 1px solid var(--bdr-s);
        font-size: 12.5px;
        color: var(--tx2);
        line-height: 1.55;
      }
      .fl li:last-child {
        border-bottom: none;
      }
      .fl .tk {
        flex-shrink: 0;
        width: 4px;
        height: 4px;
        border-radius: 50%;
        margin-top: 6px;
      }
      .hs .fl .tk {
        background: var(--accent);
      }
      .gg .fl .tk {
        background: var(--blue);
      }

      .gflow {
        display: flex;
        align-items: center;
        margin: 4px 0 24px;
        padding: 12px 14px;
        background: var(--bg-r);
        border-radius: 6px;
        border: 1px solid var(--bdr-s);
        gap: 0;
        overflow-x: auto;
      }
      .gf-s {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 3px;
        min-width: 64px;
      }
      .gf-n {
        width: 24px;
        height: 24px;
        border-radius: 5px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: var(--blue-dim);
        border: 1px solid rgba(66, 165, 245, 0.1);
        font-family: var(--mono);
        font-size: 9px;
        font-weight: 500;
        color: var(--blue);
      }
      .gf-l {
        font-size: 9px;
        color: var(--tx3);
        text-align: center;
        font-weight: 500;
        letter-spacing: 0.2px;
        line-height: 1.2;
      }
      .gf-a {
        color: var(--tx4);
        font-size: 10px;
        margin: 0 2px;
        padding-bottom: 12px;
      }

      .pc-foot {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 14px 30px;
        border-top: 1px solid var(--bdr);
        background: rgba(17, 17, 25, 0.5);
      }
      .pc-link {
        font-size: 11px;
        font-weight: 600;
        display: inline-flex;
        align-items: center;
        gap: 5px;
        transition: gap 0.15s;
        letter-spacing: 0.3px;
      }
      .hs .pc-link {
        color: var(--accent-text);
      }
      .gg .pc-link {
        color: var(--blue);
      }
      .pc-link:hover {
        gap: 9px;
      }
      .pc-link svg {
        width: 12px;
        height: 12px;
      }
      .pc-tech {
        display: flex;
        gap: 5px;
      }
      .pc-tech span {
        font-size: 9px;
        font-family: var(--mono);
        padding: 2px 7px;
        border-radius: 3px;
        background: var(--bg-r);
        color: var(--tx3);
        border: 1px solid var(--bdr-s);
      }

      /* ARCHITECTURE */
      .arch {
        padding: 80px 0;
      }
      .arch-frame {
        margin-top: 36px;
        border: none;
        background: transparent;
      }
      .arch-frame img {
        width: 100%;
        display: block;
      }
      .arch-fallback {
        display: none;
        padding: 60px 32px;
        align-items: center;
        justify-content: center;
        color: var(--tx3);
        font-size: 12px;
        text-align: center;
      }

      /* TECH STACK */
      .tech {
        padding: 80px 0;
      }
      .tech-grid {
        display: grid;
        grid-template-columns: 1fr 1px 1fr 1px 1fr;
        gap: 0;
        margin-top: 40px;
      }
      .tech-dv {
        background: var(--bdr-s);
      }
      .tc {
        padding: 0 28px;
      }
      .tc:first-child {
        padding-left: 0;
      }
      .tc:last-child {
        padding-right: 0;
      }
      .tc h3 {
        font-size: 10px;
        font-weight: 600;
        letter-spacing: 1.5px;
        text-transform: uppercase;
        margin-bottom: 16px;
        padding-bottom: 12px;
        border-bottom: 1px solid var(--bdr-s);
      }
      .tc.c1 h3 {
        color: var(--accent-text);
      }
      .tc.c2 h3 {
        color: var(--tx3);
      }
      .tc.c3 h3 {
        color: var(--blue);
      }
      .tc ul {
        list-style: none;
      }
      .tc li {
        font-size: 12px;
        font-family: var(--mono);
        color: var(--tx2);
        padding: 6px 0;
        border-bottom: 1px solid var(--bdr-s);
      }
      .tc li:last-child {
        border-bottom: none;
      }
      .tc .v {
        color: var(--tx3);
        font-size: 10px;
        margin-left: 3px;
      }

      /* ANIMATIONS */
      .sr {
        opacity: 0;
        transform: translateY(14px);
        transition:
          opacity 0.45s ease,
          transform 0.45s ease;
      }
      .sr.v {
        opacity: 1;
        transform: translateY(0);
      }
      .d1 {
        transition-delay: 0.06s;
      }
      .d2 {
        transition-delay: 0.12s;
      }
      .d3 {
        transition-delay: 0.18s;
      }
      .d4 {
        transition-delay: 0.24s;
      }

      /* RESPONSIVE */
      @media (max-width: 860px) {
        .problem-grid {
          grid-template-columns: 1fr;
          gap: 32px;
        }
        .products-grid {
          grid-template-columns: 1fr;
        }
        .tech-grid {
          grid-template-columns: 1fr;
          gap: 32px;
        }
        .tech-dv {
          display: none;
        }
        .tc {
          padding: 0;
        }
      }
      @media (max-width: 600px) {
        .nav-r a:not(.nav-signin) {
          display: none;
        }
        .hero {
          padding: 120px 0 64px;
        }
        .problem,
        .products,
        .arch,
        .tech {
          padding: 56px 0;
        }
        .w {
          padding: 0 18px;
        }
        .pc-body {
          padding: 24px 20px 20px;
        }
        .pc-foot {
          padding: 12px 20px;
        }
      }
