:root{
    --ink:#0A0A0A;
    --surface:#111111;
    --gray-1:#1A1A1A;
    --gray-2:#2A2A2A;
    --gray-3:#737373;
    --paper:#FAFAFA;
    --lime:#AFFC30;
    --lime-dim:#8FD420;
    --font-display:"Geist",system-ui,sans-serif;
    --font-body:"Manrope",system-ui,sans-serif;
    --font-mono:"Manrope",system-ui,sans-serif;
    --maxw:1180px;
    --ease:cubic-bezier(.2,.7,.2,1);
  }

  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    background:var(--ink);
    color:var(--paper);
    font-family:var(--font-body);
    font-weight:400;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  ::selection{background:var(--lime);color:var(--ink)}

  /* ---------- Ambient pixel-grid field (brand signature) ---------- */
  .field{
    position:fixed;inset:0;z-index:0;pointer-events:none;
    background-image:radial-gradient(circle, rgba(250,250,250,.045) 1px, transparent 1.4px);
    background-size:34px 34px;
    mask-image:radial-gradient(ellipse 90% 80% at 50% 30%, #000 30%, transparent 90%);
    animation:drift 40s linear infinite;
  }
  @keyframes drift{to{background-position:340px 340px}}
  .vignette{position:fixed;inset:0;z-index:0;pointer-events:none;
    background:radial-gradient(ellipse 120% 70% at 50% -10%, rgba(175,252,48,.06), transparent 60%);}

  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;position:relative;z-index:2}

  /* ---------- Utility: mono label + bracket ---------- */
  .eyebrow{
    font-family:var(--font-mono);font-size:12px;font-weight:700;
    letter-spacing:.18em;text-transform:uppercase;color:var(--lime);
    display:inline-flex;align-items:center;gap:.55em;
  }
  .eyebrow .bk{color:var(--gray-3)}
  .muted{color:var(--gray-3)}

  /* ---------- Nav ---------- */
  header{
    position:fixed;top:0;left:0;right:0;z-index:50;
    transition:background .4s var(--ease),border-color .4s var(--ease),backdrop-filter .4s;
    border-bottom:1px solid transparent;
  }
  header.scrolled{background:rgba(10,10,10,.72);backdrop-filter:blur(14px);border-bottom:1px solid var(--gray-2)}
  .nav{display:flex;align-items:center;justify-content:space-between;height:74px}

  .logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--paper)}
  .logo .word{font-family:var(--font-display);font-weight:800;font-size:23px;letter-spacing:-.02em;line-height:1;position:relative}
  .logo .word .o{position:relative;display:inline-block}
  .logo .word .o::after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;
    background:var(--lime);left:50%;top:54%;transform:translate(-50%,-50%);
    box-shadow:0 0 10px rgba(175,252,48,.8);animation:pulse 2.4s var(--ease) infinite}
  @keyframes pulse{0%,100%{opacity:1;transform:translate(-50%,-50%) scale(1)}50%{opacity:.55;transform:translate(-50%,-50%) scale(.78)}}
  .logo .tag{font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.16em;
    color:var(--lime);border:1.5px solid var(--lime);border-radius:6px;padding:3px 7px;line-height:1}

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

  .nav-links{display:flex;align-items:center;gap:32px}
  .nav-links a{font-family:var(--font-mono);font-weight:500;font-size:12.5px;letter-spacing:.04em;color:var(--gray-3);
    text-decoration:none;transition:color .25s}
  .nav-links a:hover{color:var(--paper)}

  .lang-switch{display:flex;align-items:center;gap:7px;font-family:var(--font-mono);font-weight:600;font-size:12px;letter-spacing:.05em}
  .lang-switch a{color:var(--gray-3);text-decoration:none;transition:color .25s}
  .lang-switch a:hover{color:var(--paper)}
  .lang-switch a.active{color:var(--lime)}
  .lang-switch .sep{color:var(--gray-2)}

  .btn{font-family:var(--font-mono);font-size:12.5px;font-weight:500;letter-spacing:.03em;
    text-decoration:none;display:inline-flex;align-items:center;gap:8px;cursor:pointer;border:none}
  .btn-primary{background:var(--lime);color:var(--ink);padding:12px 20px;border-radius:8px;font-weight:600;
    transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
  .btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(175,252,48,.28)}
  .btn-ghost{color:var(--paper);border:1px solid var(--gray-2);padding:12px 20px;border-radius:8px;
    transition:border-color .25s,color .25s,background .25s}
  .btn-ghost:hover{border-color:var(--lime);color:var(--lime)}
  .btn .arw{transition:transform .25s var(--ease)}
  .btn:hover .arw{transform:translateX(4px)}

  .burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px}
  .burger span{width:22px;height:2px;background:var(--paper);transition:.3s}
  .mobile-menu{display:none}

  /* ---------- Hero ---------- */
  .hero{position:relative;min-height:100vh;display:flex;align-items:center;padding:120px 0 80px;overflow:hidden}
  .hero-glow{position:absolute;width:640px;height:640px;left:50%;top:42%;
    transform:translate(-50%,-50%);pointer-events:none;z-index:1;
    background:radial-gradient(circle,rgba(175,252,48,.14),transparent 62%);filter:blur(30px);
    transition:transform .5s var(--ease)}

  .hero-inner{position:relative;z-index:3;max-width:900px}
  .reveal-line{overflow:hidden;display:block}
  .reveal-line > span{display:block;transform:translateY(105%);opacity:0;
    animation:rise .9s var(--ease) forwards}
  @keyframes rise{to{transform:translateY(0);opacity:1}}

  .hero h1{font-family:var(--font-display);font-weight:800;letter-spacing:-.035em;line-height:.98;
    font-size:clamp(44px,8.2vw,104px);margin:22px 0 26px}
  .hero h1 .lime{color:var(--lime)}
  .hero .sub{font-size:clamp(17px,2.1vw,21px);color:#cfcfcf;max-width:620px;line-height:1.55;
    opacity:0;animation:fadeUp .8s var(--ease) .95s forwards}
  .hero .cta-row{display:flex;gap:14px;margin-top:38px;flex-wrap:wrap;
    opacity:0;animation:fadeUp .8s var(--ease) 1.15s forwards}
  @keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}

  .hero-eyebrow{opacity:0;animation:fadeUp .8s var(--ease) .2s forwards}

  .scroll-hint{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);z-index:3;
    font-family:var(--font-mono);font-weight:500;font-size:10.5px;letter-spacing:.22em;color:var(--gray-3);
    text-transform:uppercase;display:flex;flex-direction:column;align-items:center;gap:10px;
    opacity:0;animation:fadeUp 1s var(--ease) 1.6s forwards}
  .scroll-hint .bar{width:1px;height:38px;background:linear-gradient(var(--lime),transparent);animation:scrolldot 2s ease-in-out infinite}
  @keyframes scrolldot{0%,100%{opacity:.3;transform:scaleY(.6)}50%{opacity:1;transform:scaleY(1)}}

  /* ---------- Marquee ---------- */
  .marquee{border-top:1px solid var(--gray-2);border-bottom:1px solid var(--gray-2);
    padding:20px 0;overflow:hidden;white-space:nowrap;position:relative;z-index:2;background:rgba(17,17,17,.4)}
  .marquee-track{display:inline-flex;gap:44px;animation:scrollx 26s linear infinite}
  .marquee span{font-family:var(--font-mono);font-weight:500;font-size:13px;letter-spacing:.14em;text-transform:uppercase;
    color:var(--gray-3);display:inline-flex;align-items:center;gap:44px}
  .marquee span b{color:var(--paper);font-weight:500}
  .marquee .dot{width:5px;height:5px;background:var(--lime);border-radius:50%;display:inline-block}
  @keyframes scrollx{to{transform:translateX(-50%)}}

  /* ---------- Sections ---------- */
  section{position:relative;z-index:2}
  .block{padding:120px 0}
  .sec-head{display:flex;align-items:baseline;gap:18px;margin-bottom:14px;flex-wrap:wrap}
  .sec-num{font-family:var(--font-mono);font-weight:500;font-size:13px;color:var(--lime);letter-spacing:.1em}
  .sec-title{font-family:var(--font-display);font-weight:700;letter-spacing:-.03em;line-height:1.02;
    font-size:clamp(30px,4.6vw,56px)}
  .sec-title .lime{color:var(--lime)}
  .lead{font-size:clamp(16px,1.8vw,19px);color:#c8c8c8;max-width:640px;margin-top:20px;line-height:1.6}

  /* intro / two-service split */
  .intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:end;margin-top:40px}
  .service-list{display:grid;gap:0;border-top:1px solid var(--gray-2)}
  .service-list a{display:flex;align-items:center;justify-content:space-between;gap:20px;
    padding:26px 4px;border-bottom:1px solid var(--gray-2);text-decoration:none;color:var(--paper);
    transition:padding .3s var(--ease),color .3s}
  .service-list a:hover{padding-left:16px}
  .service-list a:hover .sl-name{color:var(--lime)}
  .sl-idx{font-family:var(--font-mono);font-weight:500;font-size:12px;color:var(--gray-3)}
  .sl-name{font-family:var(--font-display);font-weight:700;font-size:clamp(20px,2.6vw,28px);letter-spacing:-.02em;flex:1;transition:color .3s}
  .service-list a .arw{color:var(--lime);transition:transform .3s var(--ease)}
  .service-list a:hover .arw{transform:translateX(6px)}

  /* service detail panel */
  .svc{padding:110px 0;border-top:1px solid var(--gray-2)}
  .svc-top{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
  .svc-visual{position:relative;border:1px solid var(--gray-2);border-radius:16px;overflow:hidden;
    aspect-ratio:1/1;background:
      radial-gradient(circle at 30% 20%, rgba(175,252,48,.14), transparent 45%),
      linear-gradient(160deg,#141414,#0c0c0c);
    display:flex;align-items:center;justify-content:center}
  .svc-visual .bracket{position:absolute;font-family:var(--font-display);font-weight:400;color:var(--gray-2);font-size:180px;line-height:1}
  .svc-visual .bracket.l{left:18px;top:50%;transform:translateY(-50%)}
  .svc-visual .bracket.r{right:18px;top:50%;transform:translateY(-50%)}
  .svc-visual .core{position:relative;z-index:2;text-align:center}
  .svc-visual .core .big{font-family:var(--font-display);font-weight:800;font-size:clamp(48px,8vw,84px);letter-spacing:-.04em;color:var(--paper)}
  .svc-visual .core .lbl{font-family:var(--font-mono);font-weight:500;font-size:11px;letter-spacing:.2em;color:var(--lime);text-transform:uppercase;margin-top:8px}
  .pixel-orbit{position:absolute;inset:0;z-index:1}
  .pixel-orbit i{position:absolute;width:8px;height:8px;background:var(--lime);opacity:.85;border-radius:2px}

  .svc-body h3{font-family:var(--font-display);font-weight:700;font-size:clamp(26px,3.4vw,40px);letter-spacing:-.03em;line-height:1.05;margin:14px 0 18px}
  .svc-body p.d{color:#c4c4c4;font-size:16.5px;line-height:1.65;max-width:520px}
  .feat{margin-top:30px;display:grid;gap:0}
  .feat li{list-style:none;display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--gray-2);font-size:15px;color:#d8d8d8}
  .feat li::before{content:"[ ]";font-family:var(--font-mono);font-weight:500;color:var(--lime);font-size:13px;flex-shrink:0;letter-spacing:-.05em}

  /* how it works steps inline */
  .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:64px}
  .step{border:1px solid var(--gray-2);border-radius:12px;padding:24px 20px;transition:border-color .3s,transform .3s var(--ease),background .3s}
  .step:hover{border-color:var(--lime);transform:translateY(-4px);background:rgba(175,252,48,.03)}
  .step .n{font-family:var(--font-mono);font-weight:500;font-size:12px;color:var(--lime);letter-spacing:.1em}
  .step h4{font-family:var(--font-display);font-weight:700;font-size:18px;margin:14px 0 8px;letter-spacing:-.01em}
  .step p{font-size:14px;color:var(--gray-3);line-height:1.55}

  /* packages */
  .pkgs{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:64px}
  .pkg{border:1px solid var(--gray-2);border-radius:16px;padding:34px 28px;position:relative;
    transition:border-color .35s,transform .35s var(--ease),background .35s;display:flex;flex-direction:column}
  .pkg:hover{transform:translateY(-6px);border-color:#3a3a3a}
  .pkg.feat-pkg{border-color:var(--lime);background:linear-gradient(180deg,rgba(175,252,48,.05),transparent);
    box-shadow:0 0 60px rgba(175,252,48,.08)}
  .pkg .pop{position:absolute;top:-11px;left:28px;background:var(--lime);color:var(--ink);
    font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.14em;padding:4px 10px;border-radius:6px;text-transform:uppercase}
  .pkg .pk-name{font-family:var(--font-mono);font-weight:500;font-size:12px;letter-spacing:.18em;color:var(--lime);text-transform:uppercase}
  .pkg .pk-tag{font-family:var(--font-display);font-weight:700;font-size:22px;letter-spacing:-.02em;margin:16px 0 10px}
  .pkg .pk-desc{font-size:14px;color:var(--gray-3);line-height:1.5;min-height:42px}
  .pkg .pk-price{font-family:var(--font-mono);font-weight:500;font-size:13px;color:var(--paper);margin:22px 0 4px;padding-top:22px;border-top:1px solid var(--gray-2)}
  .pkg ul{list-style:none;margin:22px 0 28px;display:grid;gap:12px}
  .pkg ul li{font-size:14px;color:#d0d0d0;display:flex;gap:10px;line-height:1.4}
  .pkg ul li::before{content:"+";color:var(--lime);font-family:var(--font-mono);font-weight:600;flex-shrink:0}
  .pkg .btn{margin-top:auto;justify-content:center;width:100%}
  .note{font-family:var(--font-mono);font-weight:500;font-size:12px;color:var(--gray-3);margin-top:26px;letter-spacing:.02em}
  .note b{color:var(--lime);font-weight:500}

  /* project types (web) */
  .types{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:64px}
  .type{border:1px solid var(--gray-2);border-radius:14px;padding:30px 26px;transition:border-color .3s,transform .3s var(--ease),background .3s}
  .type:hover{border-color:var(--lime);transform:translateY(-5px);background:rgba(175,252,48,.03)}
  .type .k{font-family:var(--font-mono);font-weight:500;font-size:11px;letter-spacing:.16em;color:var(--lime);text-transform:uppercase}
  .type h4{font-family:var(--font-display);font-weight:700;font-size:22px;margin:16px 0 10px;letter-spacing:-.02em}
  .type p{font-size:14.5px;color:var(--gray-3);line-height:1.55}

  /* why grid */
  .why{border-top:1px solid var(--gray-2)}
  .why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:56px;border:1px solid var(--gray-2);border-radius:16px;overflow:hidden}
  .why-cell{padding:38px 30px;border-right:1px solid var(--gray-2);transition:background .35s}
  .why-cell:last-child{border-right:none}
  .why-cell:hover{background:rgba(175,252,48,.04)}
  .why-cell .sym{font-family:var(--font-mono);font-weight:500;font-size:20px;color:var(--lime);margin-bottom:22px}
  .why-cell h4{font-family:var(--font-display);font-weight:700;font-size:19px;letter-spacing:-.01em;margin-bottom:12px}
  .why-cell p{font-size:14.5px;color:var(--gray-3);line-height:1.55}

  /* process timeline */
  .proc{border-top:1px solid var(--gray-2)}
  .timeline{margin-top:56px;display:grid;gap:0}
  .tl{display:grid;grid-template-columns:90px 1fr;gap:30px;padding:34px 0;border-bottom:1px solid var(--gray-2);
    align-items:start;transition:padding-left .3s var(--ease)}
  .tl:hover{padding-left:14px}
  .tl .tl-n{font-family:var(--font-mono);font-weight:500;font-size:13px;color:var(--lime);letter-spacing:.08em;padding-top:6px}
  .tl .tl-c h4{font-family:var(--font-display);font-weight:700;font-size:clamp(22px,3vw,30px);letter-spacing:-.02em}
  .tl .tl-c p{font-size:15.5px;color:var(--gray-3);margin-top:8px;max-width:560px;line-height:1.6}

  /* FAQ */
  .faq{border-top:1px solid var(--gray-2)}
  .acc{margin-top:48px;border-top:1px solid var(--gray-2)}
  .acc-item{border-bottom:1px solid var(--gray-2)}
  .acc-q{width:100%;background:none;border:none;color:var(--paper);cursor:pointer;text-align:left;
    padding:26px 4px;display:flex;justify-content:space-between;align-items:center;gap:24px;
    font-family:var(--font-display);font-weight:600;font-size:clamp(17px,2.2vw,22px);letter-spacing:-.01em;transition:color .25s}
  .acc-q:hover{color:var(--lime)}
  .acc-q .ico{font-family:var(--font-mono);font-weight:500;color:var(--lime);font-size:22px;transition:transform .35s var(--ease);flex-shrink:0}
  .acc-item.open .acc-q .ico{transform:rotate(45deg)}
  .acc-a{max-height:0;overflow:hidden;transition:max-height .4s var(--ease)}
  .acc-a p{padding:0 4px 26px;color:var(--gray-3);font-size:15.5px;line-height:1.65;max-width:720px}

  /* CTA */
  .cta{position:relative;text-align:center;padding:150px 0;border-top:1px solid var(--gray-2);overflow:hidden}
  .cta-glow{position:absolute;width:700px;height:400px;left:50%;top:50%;transform:translate(-50%,-50%);
    background:radial-gradient(ellipse,rgba(175,252,48,.13),transparent 65%);filter:blur(40px);pointer-events:none}
  .cta h2{position:relative;z-index:2;font-family:var(--font-display);font-weight:800;letter-spacing:-.035em;
    line-height:1;font-size:clamp(38px,7vw,86px)}
  .cta h2 .lime{color:var(--lime)}
  .cta p{position:relative;z-index:2;color:#c8c8c8;font-size:clamp(16px,2vw,19px);margin:26px auto 40px;max-width:520px}
  .cta .cta-row{position:relative;z-index:2;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

  /* footer */
  footer{border-top:1px solid var(--gray-2);padding:56px 0 44px;position:relative;z-index:2}
  .foot{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
  .foot .fmono{font-family:var(--font-mono);font-weight:500;font-size:12px;color:var(--gray-3);letter-spacing:.06em}
  .foot .fmono .lime{color:var(--lime)}

  /* reveal on scroll */
  .fx{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
  .fx.in{opacity:1;transform:none}


  .logo{display:flex;align-items:center;text-decoration:none;line-height:0}
  .logo-svg{height:39px;width:auto;display:block;transition:transform .3s var(--ease)}
  .logo:hover .logo-svg{transform:scale(1.03)}
  footer .logo-svg{height:34px}

  /* responsive */
  @media(max-width:900px){
    .nav-links,.nav .btn-primary{display:none}
    .nav{justify-content:center}
    .burger{display:flex;position:absolute;left:5%;top:50%;transform:translateY(-50%)}
    .lang-switch{position:absolute;right:5%;top:50%;transform:translateY(-50%)}
    .lang-switch a{padding:14px 6px;margin:-14px -6px}
    .mobile-menu{display:block;position:fixed;inset:74px 0 auto 0;z-index:49;
      background:rgba(10,10,10,.97);backdrop-filter:blur(14px);border-bottom:1px solid var(--gray-2);
      transform:translateY(-120%);transition:transform .4s var(--ease);padding:24px 28px 34px}
    .mobile-menu.open{transform:translateY(0)}
    .mobile-menu a{display:block;font-family:var(--font-mono);font-weight:500;font-size:15px;color:var(--paper);
      text-decoration:none;padding:14px 0;border-bottom:1px solid var(--gray-2)}
    .mobile-menu .btn-primary{display:inline-flex;margin-top:22px}
    .foot{flex-direction:column;justify-content:center;text-align:center;gap:16px}
    .intro-grid{grid-template-columns:1fr;gap:40px}
    .svc-top{grid-template-columns:1fr;gap:32px}
    .steps{grid-template-columns:1fr 1fr}
    .pkgs{grid-template-columns:1fr}
    .types{grid-template-columns:1fr}
    .why-grid{grid-template-columns:1fr 1fr}
    .why-cell{border-right:1px solid var(--gray-2)}
    .why-cell:nth-child(2n){border-right:none}
    .block{padding:88px 0}
  }
  @media(max-width:560px){
    .steps{grid-template-columns:1fr}
    .why-grid{grid-template-columns:1fr}
    .why-cell{border-right:none}
    .tl{grid-template-columns:60px 1fr;gap:18px}
    .wrap{padding:0 20px}
  }
  @media(prefers-reduced-motion:reduce){
    *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
    .reveal-line>span{transform:none;opacity:1}
  }
