    :root{
      --green:#2ABB00;
      --blue:#1355A8;
      --black:#0E0E0E;
      --muted:#707070;
      --line:#E6E8EC;
      --soft:#F7F8FA;
      --white:#fff;
      --radius:10px;
      --max:1240px;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      color:var(--black);
      background:var(--white);
      font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
      -webkit-font-smoothing:antialiased;
    }
    a{color:inherit;text-decoration:none}
    button{font:inherit}

    .page{
      width:min(calc(100% - 40px),var(--max));
      margin:auto;
    }

    header{
      position:sticky;
      top:0;
      z-index:50;
      height:82px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      background:rgba(255,255,255,.92);
      backdrop-filter:blur(8px);
      border-bottom:1px solid var(--line);
    }

    .brand{
      display:flex;
      align-items:center;
      gap:12px;
      font-size:15px;
      font-weight:750;
      letter-spacing:-.02em;
    }

    .logo-mark{
      height:30px;
      width:auto;
      display:flex;
      align-items:center;
      flex-shrink:0;
    }
    .logo-mark img{
      height:100%;
      width:auto;
      object-fit:contain;
      display:block;
    }

    nav{
      display:flex;
      align-items:center;
      gap:26px;
      color:#555;
      font-size:13px;
    }
    nav a:hover{color:var(--black)}

    .nav-cta{
      color:var(--green) !important;
      font-weight:700;
    }
    .nav-cta:hover{color:var(--green) !important; opacity:0.8;}

    .status{
      display:inline-flex;
      align-items:center;
      gap:9px;
      padding:8px 12px;
      border:1px solid var(--line);
      border-radius:999px;
      color:#333;
      font-size:11px;
      font-weight:650;
      text-transform:uppercase;
      letter-spacing:.07em;
    }
    .status-dot{
      width:7px;height:7px;border-radius:50%;
      background:var(--green);
      box-shadow:0 0 0 4px rgba(42,187,0,.10);
    }

    .hero{
      min-height:650px;
      display:grid;
      grid-template-columns:1.05fr .95fr;
      align-items:center;
      gap:70px;
      padding:80px 0 90px;
    }

    .eyebrow{
      margin-bottom:22px;
      color:var(--blue);
      font-size:11px;
      font-weight:800;
      letter-spacing:.13em;
      text-transform:uppercase;
    }

    h1{
      max-width:720px;
      margin:0;
      font-size:clamp(54px,7vw,94px);
      line-height:.91;
      letter-spacing:-.065em;
      font-weight:780;
    }

    .hero-copy{
      max-width:590px;
      margin-top:30px;
      color:#4e4e4e;
      font-size:18px;
      line-height:1.55;
    }

    .hero-meta{
      display:flex;
      flex-wrap:wrap;
      align-items:center;
      gap:13px;
      margin-top:34px;
    }

    .date{
      font-size:12px;
      color:#777;
      padding-left:4px;
    }

    /* Testing / research visual */
    .visual{
      position:relative;
      min-height:450px;
      border:1px solid var(--line);
      border-radius:var(--radius);
      overflow:hidden;
      background:
        linear-gradient(to right, transparent 49.8%, #ececec 50%, transparent 50.2%),
        linear-gradient(to bottom, transparent 49.8%, #ececec 50%, transparent 50.2%),
        #fafaf9;
    }

    .visual::before{
      content:"";
      position:absolute;
      inset:22px;
      border:1px dashed #d6d6d6;
      pointer-events:none;
    }

    .visual-label{
      position:absolute;
      top:24px;
      left:26px;
      font-size:10px;
      letter-spacing:.12em;
      color:#777;
      font-weight:750;
    }

    .visual-code{
      position:absolute;
      right:26px;
      top:24px;
      font-size:10px;
      color:var(--blue);
      font-weight:800;
    }

    .journey{
      position:absolute;
      left:9%;
      right:9%;
      top:48%;
      height:2px;
      background:var(--black);
    }

    .journey::after{
      content:"";
      position:absolute;
      right:-1px;
      top:-4px;
      width:9px;
      height:9px;
      border-top:2px solid var(--black);
      border-right:2px solid var(--black);
      transform:rotate(45deg);
    }

    .node{
      position:absolute;
      top:50%;
      transform:translate(-50%,-50%);
      width:14px;
      height:14px;
      border-radius:50%;
      background:var(--white);
      border:3px solid var(--black);
    }
    .node.active{
      width:18px;height:18px;
      border-color:var(--green);
      box-shadow:0 0 0 6px rgba(42,187,0,.10);
    }
    .n1{left:10%}.n2{left:36%}.n3{left:63%}.n4{left:90%}

    .node-card{
      position:absolute;
      transform:translateX(-50%);
      min-width:116px;
      padding:11px 12px;
      border:1px solid #cfcfcf;
      border-radius:7px;
      background:#fff;
      box-shadow:0 7px 25px rgba(0,0,0,.04);
    }
    .node-card strong{
      display:block;
      font-size:11px;
      letter-spacing:.05em;
    }
    .node-card span{
      display:block;
      margin-top:4px;
      color:#858585;
      font-size:9px;
      text-transform:uppercase;
      letter-spacing:.07em;
    }
    .c1{left:10%;top:27%}
    .c2{left:36%;top:58%}
    .c3{left:63%;top:27%}
    .c4{left:90%;top:58%}

    .mini-panel{
      position:absolute;
      left:28px;
      bottom:25px;
      width:180px;
      padding:13px;
      border:1px solid var(--line);
      border-radius:7px;
      background:#fff;
    }
    .mini-title{
      font-size:9px;
      color:#777;
      letter-spacing:.1em;
      text-transform:uppercase;
      margin-bottom:10px;
    }
    .mini-row{
      display:flex;
      align-items:center;
      gap:8px;
      margin:7px 0;
      font-size:10px;
    }
    .mini-check{
      width:8px;height:8px;border-radius:50%;background:var(--green);
    }
    .mini-line{
      height:5px;
      flex:1;
      background:#e9e9e9;
      border-radius:5px;
    }

    .section{
      border-top:1px solid var(--line);
      padding:100px 0;
    }

    .section-head{
      display:flex;
      justify-content:space-between;
      gap:30px;
      margin-bottom:55px;
    }

    .section-number{
      font-size:11px;
      font-weight:800;
      color:var(--blue);
      letter-spacing:.12em;
    }

    .section-title{
      max-width:700px;
      margin:0;
      font-size:clamp(34px,4.4vw,60px);
      line-height:.98;
      letter-spacing:-.045em;
    }

    .section-intro{
      max-width:400px;
      margin:0;
      color:#686868;
      line-height:1.6;
      font-size:15px;
    }

    .steps{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      border-top:1px solid var(--line);
      border-bottom:1px solid var(--line);
    }

    .step{
      min-height:255px;
      padding:28px 30px 35px 0;
      border-right:1px solid var(--line);
      position:relative;
    }
    .step:not(:first-child){padding-left:30px}
    .step:last-child{border-right:0}

    .step-index{
      color:#999;
      font-size:11px;
      font-weight:750;
    }

    .step h3{
      margin:58px 0 13px;
      font-size:25px;
      letter-spacing:-.035em;
    }

    .step p{
      margin:0;
      max-width:290px;
      color:#707070;
      font-size:14px;
      line-height:1.55;
    }

    .accent-line{
      position:absolute;
      left:0;
      bottom:0;
      width:52px;
      height:3px;
      background:var(--green);
    }
    .step:not(:first-child) .accent-line{left:30px}
    .step:nth-child(2) .accent-line{background:var(--blue)}

    .statement{
      display:grid;
      grid-template-columns:.9fr 1.1fr;
      gap:80px;
      align-items:start;
    }

    .statement-mark{
      font-size:11px;
      color:var(--green);
      font-weight:800;
      letter-spacing:.12em;
      text-transform:uppercase;
    }

    .statement h2{
      margin:0;
      font-size:clamp(35px,4.7vw,64px);
      line-height:1;
      letter-spacing:-.05em;
    }

    .statement p{
      margin:24px 0 0;
      max-width:650px;
      color:#686868;
      font-size:17px;
      line-height:1.65;
    }

    .terminal{
      margin-top:70px;
      border:1px solid var(--black);
      background:var(--black);
      color:#fff;
      border-radius:var(--radius);
      padding:28px 30px;
      display:grid;
      grid-template-columns:1fr auto;
      gap:30px;
      align-items:center;
    }
    .terminal-label{
      color:#8d8d8d;
      font-size:10px;
      letter-spacing:.12em;
      margin-bottom:10px;
    }
    .terminal-main{
      font-size:clamp(20px,3vw,34px);
      letter-spacing:-.035em;
    }
    .terminal-status{
      display:flex;
      align-items:center;
      gap:9px;
      color:#d8d8d8;
      font-size:11px;
      text-transform:uppercase;
      letter-spacing:.08em;
    }

    footer{
      border-top:1px solid var(--line);
      padding:28px 0 36px;
      display:flex;
      justify-content:space-between;
      gap:20px;
      color:#777;
      font-size:11px;
    }
    footer strong{color:var(--black)}

    .reveal{
      opacity:0;
      transform:translateY(18px);
      animation:reveal .7s ease forwards;
    }
    .delay-1{animation-delay:.08s}
    .delay-2{animation-delay:.16s}
    .delay-3{animation-delay:.24s}
    .delay-4{animation-delay:.32s}

    @keyframes reveal{
      to{opacity:1;transform:none}
    }

    @media (max-width: 850px){
      .page{width:min(calc(100% - 28px),var(--max))}
      header{height:70px}
      nav{display:none}
      .hero{
        grid-template-columns:1fr;
        gap:48px;
        min-height:auto;
        padding:65px 0 75px;
      }
      h1{font-size:clamp(50px,15vw,76px)}
      .hero-copy{font-size:16px}
      .visual{min-height:390px}
      .mini-panel{display:none}
      .section{padding:75px 0}
      .section-head,.statement{
        grid-template-columns:1fr;
        display:grid;
        gap:22px;
      }
      .steps{grid-template-columns:1fr}
      .step,.step:not(:first-child){
        min-height:205px;
        padding:24px 0 30px;
        border-right:0;
        border-bottom:1px solid var(--line);
      }
      .step:last-child{border-bottom:0}
      .step h3{margin-top:38px}
      .step:not(:first-child) .accent-line{left:0}
      .terminal{grid-template-columns:1fr}
      footer{flex-direction:column}
    }

    @media (max-width: 520px){
      .visual{min-height:350px}
      .node-card{min-width:90px;padding:9px}
      .node-card strong{font-size:9px}
      .node-card span{font-size:7px}
      .mini-panel{left:18px;bottom:18px;width:155px}
      .visual-label,.visual-code{top:17px}
      .visual-label{left:18px}
      .visual-code{right:18px}
    }

    @media (prefers-reduced-motion: reduce){
      html{scroll-behavior:auto}
      .reveal{animation:none;opacity:1;transform:none}
    }
