:root{
    --bg-0:#07090d;
    --bg-1:#0c1017;
    --bg-2:#111722;
    --line:#1c2531;
    --cyan:#28f0e0;
    --lime:#d4ff3a;
    --pink:#ff2e88;
    --amber:#ffb020;
    --text-0:#eef3f6;
    --text-1:#93a3b5;
    --text-2:#5c6b7c;
    --font-ui: 'Cairo', 'Orbitron', sans-serif;
    --font-mono: 'Share Tech Mono', monospace;
  }

  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--bg-0);
    color:var(--text-0);
    font-family:var(--font-ui);
    overflow-x:hidden;
    position:relative;
  }
  [data-lang="en"] body, [data-lang="en"]{ }
  html[dir="ltr"] body{font-family:var(--font-ui);}

  /* ---------- ambient bg ---------- */
  .bg-grid{
    position:fixed;inset:0;z-index:0;pointer-events:none;
    background-image:
      linear-gradient(rgba(40,240,224,0.045) 1px, transparent 1px),
      linear-gradient(90deg, rgba(40,240,224,0.045) 1px, transparent 1px);
    background-size:42px 42px;
    mask-image:radial-gradient(ellipse 80% 60% at 50% 0%, #000 40%, transparent 100%);
  }
  .bg-glow{
    position:fixed;inset:0;z-index:0;pointer-events:none;
    background:
      radial-gradient(700px 500px at 12% 8%, rgba(255,46,136,0.16), transparent 60%),
      radial-gradient(800px 600px at 90% 20%, rgba(40,240,224,0.14), transparent 60%),
      radial-gradient(900px 700px at 50% 100%, rgba(212,255,58,0.06), transparent 60%);
  }
  .scanlines{
    position:fixed;inset:0;z-index:2;pointer-events:none;opacity:.5;
    background:repeating-linear-gradient(to bottom, rgba(0,0,0,0) 0px, rgba(0,0,0,0) 2px, rgba(0,0,0,0.14) 3px, rgba(0,0,0,0) 4px);
    mix-blend-mode:overlay;
  }
  .noise-vignette{
    position:fixed;inset:0;z-index:1;pointer-events:none;
    box-shadow:inset 0 0 220px rgba(0,0,0,0.75);
  }

  ::selection{background:var(--lime);color:#06110c;}

  /* ---------- boot overlay ---------- */
  #boot{
    position:fixed;inset:0;z-index:999;background:#040507;
    display:flex;align-items:center;justify-content:center;flex-direction:column;
    font-family:var(--font-mono);color:var(--lime);
    transition:opacity .6s ease, visibility .6s ease;
  }
  #boot.hide{opacity:0;visibility:hidden;}
  #boot .line{font-size:13px;letter-spacing:1px;opacity:.85;margin:3px 0;}
  #boot .bar-wrap{width:280px;height:3px;background:#141a22;margin-top:18px;border:1px solid #1c2531;}
  #boot .bar{height:100%;width:0%;background:linear-gradient(90deg,var(--cyan),var(--lime));animation:loadbar 1.4s ease forwards;}
  @keyframes loadbar{to{width:100%;}}

  /* ---------- top status bar ---------- */
  .statusbar{
    position:relative;z-index:5;
    display:flex;justify-content:space-between;align-items:center;
    padding:8px 5vw;
    font-family:var(--font-mono);
    font-size:11px;letter-spacing:1px;
    color:var(--text-2);
    border-bottom:1px solid var(--line);
    background:rgba(7,9,13,0.6);
    backdrop-filter:blur(6px);
  }
  .statusbar span.dot{
    display:inline-block;width:6px;height:6px;border-radius:50%;
    background:var(--lime);box-shadow:0 0 8px var(--lime);
    margin-inline-end:6px;animation:pulse 1.6s infinite;
  }
  @keyframes pulse{0%,100%{opacity:1;}50%{opacity:.35;}}
  .statusbar .mid{color:var(--text-1);}
  .statusbar .right-stat{display:flex;gap:18px;}
  @media (max-width:720px){ .statusbar .mid{display:none;} }

  /* ---------- nav ---------- */
  header.nav{
    position:sticky;top:0;z-index:50;
    display:flex;align-items:center;justify-content:space-between;
    padding:16px 5vw;
    background:rgba(7,9,13,0.72);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  .logo{display:flex;align-items:center;gap:10px;cursor:pointer;}
  .logo-mark{
    width:34px;height:34px;border:2px solid var(--cyan);
    display:flex;align-items:center;justify-content:center;
    font-family:var(--font-mono);color:var(--cyan);font-weight:700;
    transform:rotate(45deg);box-shadow:0 0 14px rgba(40,240,224,.5);
    flex-shrink:0;
  }
  .logo-mark span{transform:rotate(-45deg);font-size:14px;}
  .logo-text{font-weight:800;font-size:18px;letter-spacing:.5px;}
  .logo-text small{display:block;font-family:var(--font-mono);font-size:9px;letter-spacing:3px;color:var(--text-2);font-weight:400;}

  nav.links{display:flex;gap:22px;align-items:center;}
  nav.links a{
    color:var(--text-1);text-decoration:none;font-size:14.5px;font-weight:600;
    position:relative;padding:4px 2px;transition:color .25s;
  }
  nav.links a::after{
    content:"";position:absolute;left:0;bottom:-4px;width:0%;height:2px;
    background:linear-gradient(90deg,var(--cyan),var(--lime));
    transition:width .3s ease;box-shadow:0 0 8px var(--cyan);
  }
  nav.links a:hover{color:var(--text-0);}
  nav.links a:hover::after{width:100%;}
  @media (max-width:900px){ nav.links{display:none;} }

  .nav-right{display:flex;align-items:center;gap:14px;}
  .lang-toggle{
    font-family:var(--font-mono);font-size:12px;letter-spacing:1px;
    border:1px solid var(--line);background:var(--bg-2);color:var(--text-1);
    padding:8px 14px;cursor:pointer;transition:all .25s;border-radius:2px;
  }
  .lang-toggle:hover{border-color:var(--cyan);color:var(--cyan);box-shadow:0 0 12px rgba(40,240,224,.3);}
  .btn-cta{
    font-family:var(--font-ui);font-weight:700;font-size:14px;
    background:var(--lime);color:#06110c;border:none;
    padding:10px 20px;cursor:pointer;letter-spacing:.3px;
    border-radius:2px;position:relative;overflow:hidden;
    transition:transform .2s ease, box-shadow .3s ease;
  }
  .btn-cta:hover{transform:translateY(-2px);box-shadow:0 6px 24px rgba(212,255,58,.35);}
  .btn-cta:active{transform:translateY(0);}

  /* ---------- hero ---------- */
  .hero{
    position:relative;z-index:5;
    padding:9vh 5vw 12vh;
    display:flex;align-items:center;justify-content:space-between;gap:40px;
    min-height:78vh;
  }
  .hero-left{max-width:640px;}
  .eyebrow{
    font-family:var(--font-mono);color:var(--pink);font-size:12px;letter-spacing:3px;
    display:flex;align-items:center;gap:10px;margin-bottom:22px;opacity:0;animation:fadeUp .7s ease .1s forwards;
  }
  .eyebrow::before{content:"";width:26px;height:1px;background:var(--pink);}
  .hero h1{
    font-size:clamp(38px,6vw,76px);
    font-weight:900;line-height:1.35;letter-spacing:-.5px;
    margin-bottom:26px;
    opacity:0;animation:fadeUp .8s ease .22s forwards;
  }
  .hero h1 span{display:inline-block;}
  .hero h1 .glitch-word{
    position:relative;display:inline-block;
    color:var(--cyan);
    text-shadow:0 0 22px rgba(40,240,224,.5);
  }
  .hero h1 .accent{
    color:var(--lime);
    text-shadow:0 0 30px rgba(212,255,58,.55);
    -webkit-text-stroke:0;
  }
  .hero p.sub{
    font-size:17px;line-height:1.8;color:var(--text-1);max-width:520px;margin-bottom:34px;
    opacity:0;animation:fadeUp .8s ease .34s forwards;
  }
  .hero-ctas{display:flex;gap:16px;flex-wrap:wrap;opacity:0;animation:fadeUp .8s ease .46s forwards;}
  .btn-outline{
    font-family:var(--font-ui);font-weight:700;font-size:14px;
    background:transparent;color:var(--text-0);border:1px solid var(--line);
    padding:10px 22px;cursor:pointer;letter-spacing:.3px;border-radius:2px;
    transition:all .25s;
  }
  .btn-outline:hover{border-color:var(--pink);color:var(--pink);box-shadow:0 0 14px rgba(255,46,136,.25);}

  @keyframes fadeUp{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:translateY(0);}}

  .hero-right{
    position:relative;width:380px;height:460px;flex-shrink:0;
    opacity:0;animation:fadeUp 1s ease .3s forwards;
  }
  @media (max-width:980px){ .hero-right{display:none;} }
  .hud-panel{
    position:absolute;inset:0;
    border:1px solid var(--line);
    background:linear-gradient(155deg, rgba(40,240,224,0.06), rgba(255,46,136,0.05));
    clip-path:polygon(0 0,100% 0,100% 88%,88% 100%,0 100%);
    overflow:hidden;
  }
  .hud-panel::before{
    content:"";position:absolute;inset:0;
    background-image:radial-gradient(circle at 20% 20%, rgba(40,240,224,.12), transparent 40%);
  }
  .hud-scan{
    position:absolute;left:0;right:0;height:2px;
    background:linear-gradient(90deg,transparent,var(--cyan),transparent);
    animation:scan 3.2s linear infinite;box-shadow:0 0 12px var(--cyan);
  }
  @keyframes scan{0%{top:0%;}100%{top:100%;}}
  .hud-content{position:absolute;inset:0;padding:22px;display:flex;flex-direction:column;justify-content:space-between;font-family:var(--font-mono);}
  .hud-content .top-row{display:flex;justify-content:space-between;font-size:10px;color:var(--text-2);letter-spacing:1px;}
  .hud-id{font-size:44px;font-weight:700;color:var(--lime);text-shadow:0 0 22px rgba(212,255,58,.5);line-height:1;}
  .hud-mini{font-size:11px;color:var(--text-1);margin-top:8px;line-height:1.6;}
  .hud-bars{display:flex;gap:4px;margin-top:14px;}
  .hud-bars span{width:5px;height:16px;background:var(--line);}
  .hud-bars span.on{background:var(--cyan);box-shadow:0 0 6px var(--cyan);}

  /* ---------- section shell ---------- */
  section{position:relative;z-index:5;padding:100px 5vw;}
  .sec-head{margin-bottom:52px;max-width:680px;}
  .sec-head .tag{
    font-family:var(--font-mono);font-size:12px;letter-spacing:3px;color:var(--cyan);
    display:flex;align-items:center;gap:10px;margin-bottom:14px;
  }
  .sec-head .tag::before{content:"";width:26px;height:1px;background:var(--cyan);}
  .sec-head h2{font-size:clamp(26px,3.8vw,42px);font-weight:900;letter-spacing:-.5px;line-height:1.35;}
  .sec-head p{margin-top:14px;color:var(--text-1);font-size:15.5px;line-height:1.75;max-width:560px;}

  .reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease, transform .7s ease;}
  .reveal.in{opacity:1;transform:translateY(0);}

  /* ---------- services ---------- */
  .services-grid{
    display:grid;grid-template-columns:repeat(2,1fr);gap:22px;
  }
  @media (max-width:820px){ .services-grid{grid-template-columns:1fr;} }
  .service-card{
    border:1px solid var(--line);
    background:linear-gradient(160deg, rgba(255,255,255,0.025), rgba(255,255,255,0.005));
    padding:30px 28px;position:relative;overflow:hidden;
    transition:border-color .3s, transform .3s, box-shadow .3s;
  }
  .service-card::before{
    content:"";position:absolute;top:0;left:0;right:0;height:2px;
    background:linear-gradient(90deg,var(--accent,var(--cyan)),transparent);
  }
  .service-card:hover{transform:translateY(-6px);border-color:var(--accent,var(--cyan));box-shadow:0 14px 40px rgba(0,0,0,.45), 0 0 24px color-mix(in srgb, var(--accent,var(--cyan)) 30%, transparent);}
  .service-card .s-index{font-family:var(--font-mono);font-size:11px;color:var(--text-2);letter-spacing:2px;margin-bottom:18px;}
  .service-card .s-icon{
    width:52px;height:52px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;
    margin-bottom:22px;color:var(--accent,var(--cyan));font-size:22px;
    transition:box-shadow .3s;
  }
  .service-card:hover .s-icon{box-shadow:0 0 20px color-mix(in srgb, var(--accent,var(--cyan)) 45%, transparent);}
  .service-card h3{font-size:21px;font-weight:800;margin-bottom:10px;}
  .service-card p{color:var(--text-1);font-size:14.5px;line-height:1.7;margin-bottom:22px;min-height:66px;}
  .service-row{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:18px;}
  .service-price{font-family:var(--font-mono);font-size:15px;color:var(--accent,var(--cyan));}
  .service-price small{color:var(--text-2);font-size:11px;}
  .book-btn{
    font-family:var(--font-ui);font-weight:700;font-size:13px;
    background:transparent;border:1px solid var(--accent,var(--cyan));color:var(--accent,var(--cyan));
    padding:9px 16px;cursor:pointer;letter-spacing:.3px;border-radius:2px;
    transition:all .25s;
  }
  .book-btn:hover{background:var(--accent,var(--cyan));color:#06110c;box-shadow:0 0 18px color-mix(in srgb, var(--accent,var(--cyan)) 55%, transparent);}

  /* ---------- how it works ---------- */
  .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;}
  @media (max-width:900px){ .steps{grid-template-columns:1fr;gap:24px;} }
  .steps::before{
    content:"";position:absolute;top:26px;left:5%;right:5%;height:1px;
    background:repeating-linear-gradient(90deg,var(--line) 0 8px,transparent 8px 16px);
  }
  @media (max-width:900px){ .steps::before{display:none;} }
  .step{position:relative;padding:0 20px;text-align:start;}
  .step .num{
    width:52px;height:52px;border-radius:50%;border:1px solid var(--line);
    display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);
    background:var(--bg-0);position:relative;z-index:2;margin-bottom:20px;color:var(--lime);
    box-shadow:0 0 0 6px var(--bg-0);
  }
  .step h4{font-size:16.5px;font-weight:800;margin-bottom:8px;}
  .step p{font-size:13.5px;color:var(--text-1);line-height:1.6;}

  /* ---------- products ---------- */
  .products-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
  @media (max-width:980px){ .products-grid{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:640px){ .products-grid{grid-template-columns:1fr;} }
  .product-card{
    border:1px solid var(--line);background:var(--bg-1);position:relative;overflow:hidden;
    transition:transform .3s, border-color .3s, box-shadow .3s;
  }
  .product-card:hover{transform:translateY(-6px);border-color:var(--pink);box-shadow:0 14px 36px rgba(0,0,0,.5),0 0 22px rgba(255,46,136,.18);}
  .product-thumb{
    height:150px;display:flex;align-items:center;justify-content:center;
    background:
      linear-gradient(160deg, rgba(255,46,136,0.10), rgba(40,240,224,0.06)),
      repeating-linear-gradient(45deg, rgba(255,255,255,0.02) 0 2px, transparent 2px 10px);
    font-size:44px;border-bottom:1px solid var(--line);position:relative;
  }
  .product-thumb .tagnew{
    position:absolute;top:10px;inset-inline-start:10px;
    font-family:var(--font-mono);font-size:10px;letter-spacing:1px;
    background:var(--pink);color:#1a0410;padding:3px 8px;border-radius:2px;
  }
  .product-body{padding:20px;}
  .product-body h4{font-size:15.5px;font-weight:700;margin-bottom:6px;}
  .product-body .desc{font-size:12.5px;color:var(--text-2);margin-bottom:16px;line-height:1.5;min-height:34px;}
  .product-foot{display:flex;justify-content:space-between;align-items:center;}
  .price{font-family:var(--font-mono);font-size:16px;color:var(--lime);}
  .cart-btn{
    width:38px;height:38px;border:1px solid var(--line);background:transparent;color:var(--text-1);
    cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;transition:all .25s;border-radius:2px;
  }
  .cart-btn:hover{border-color:var(--lime);color:var(--lime);box-shadow:0 0 14px rgba(212,255,58,.3);}

  /* ---------- why us / stats ---------- */
  .stats-wrap{
    display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
    background:var(--line);border:1px solid var(--line);
  }
  @media (max-width:820px){ .stats-wrap{grid-template-columns:repeat(2,1fr);} }
  .stat{background:var(--bg-1);padding:34px 24px;text-align:center;}
  .stat .num{font-family:var(--font-mono);font-size:38px;font-weight:700;color:var(--cyan);text-shadow:0 0 20px rgba(40,240,224,.4);}
  .stat .lbl{margin-top:8px;font-size:13px;color:var(--text-1);letter-spacing:.5px;}

  /* ---------- projects ---------- */
  .project-filters{
    display:flex;gap:12px;margin-bottom:34px;flex-wrap:wrap;
  }
  .filter-btn{
    font-family:var(--font-mono);font-size:12.5px;letter-spacing:1px;
    background:var(--bg-1);border:1px solid var(--line);color:var(--text-1);
    padding:8px 18px;cursor:pointer;border-radius:2px;
    transition:all .25s ease;
  }
  .filter-btn:hover{
    border-color:var(--cyan);color:var(--text-0);
    box-shadow:0 0 12px rgba(40,240,224,.2);
  }
  .filter-btn.active{
    background:rgba(40,240,224,0.12);border-color:var(--cyan);color:var(--cyan);
    box-shadow:0 0 16px rgba(40,240,224,.3);
  }

  .projects-grid{
    display:grid;grid-template-columns:repeat(2,1fr);gap:28px;
  }
  @media (max-width:900px){ .projects-grid{grid-template-columns:1fr;} }

  .project-card{
    border:1px solid var(--line);background:var(--bg-1);
    position:relative;overflow:hidden;
    transition:transform .35s ease, border-color .35s ease, box-shadow .35s ease, opacity .3s ease;
  }
  .project-card:hover{
    transform:translateY(-6px);
    border-color:var(--accent,var(--cyan));
    box-shadow:0 18px 48px rgba(0,0,0,.6), 0 0 28px color-mix(in srgb, var(--accent,var(--cyan)) 35%, transparent);
  }

  /* Browser address bar frame */
  .browser-bar{
    display:flex;align-items:center;justify-content:space-between;
    padding:9px 14px;background:var(--bg-2);border-bottom:1px solid var(--line);
    font-family:var(--font-mono);font-size:11px;color:var(--text-2);
  }
  .browser-dots{display:flex;gap:5px;}
  .browser-dots span{width:8px;height:8px;border-radius:50%;background:var(--line);}
  .browser-dots span:nth-child(1){background:#ff5f56;}
  .browser-dots span:nth-child(2){background:#ffbd2e;}
  .browser-dots span:nth-child(3){background:#27c93f;}
  .browser-url{
    background:var(--bg-0);padding:3px 14px;border-radius:3px;
    border:1px solid rgba(255,255,255,0.06);color:var(--text-1);
    font-size:11px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  }
  .browser-status{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--lime);letter-spacing:1px;}
  .pulse-dot{
    width:6px;height:6px;border-radius:50%;background:var(--lime);
    box-shadow:0 0 8px var(--lime);animation:pulse 1.6s infinite;
  }

  /* Image Thumbnail */
  .project-thumb-wrap{
    position:relative;height:220px;overflow:hidden;background:#05070a;
    border-bottom:1px solid var(--line);
  }
  .project-img{
    width:100%;height:100%;object-fit:cover;object-position:top center;
    transition:transform .5s ease, filter .5s ease;
    filter:brightness(0.92) contrast(1.05);
  }
  .project-card:hover .project-img{
    transform:scale(1.05);filter:brightness(1.02);
  }

  .project-overlay{
    position:absolute;inset:0;
    background:rgba(7,9,13,0.78);backdrop-filter:blur(4px);
    display:flex;align-items:center;justify-content:center;gap:12px;
    opacity:0;transition:opacity .3s ease;
  }
  .project-thumb-wrap:hover .project-overlay{opacity:1;}

  .btn-preview{
    font-family:var(--font-ui);font-weight:700;font-size:13px;
    background:var(--accent,var(--cyan));color:#06110c;border:none;
    padding:9px 16px;cursor:pointer;border-radius:2px;
    transition:all .25s;box-shadow:0 0 16px color-mix(in srgb, var(--accent,var(--cyan)) 40%, transparent);
  }
  .btn-preview:hover{transform:scale(1.05);}
  .btn-visit{
    font-family:var(--font-ui);font-weight:700;font-size:13px;
    background:transparent;border:1px solid var(--text-0);color:var(--text-0);
    padding:8px 16px;cursor:pointer;border-radius:2px;text-decoration:none;
    transition:all .25s;
  }
  .btn-visit:hover{background:rgba(255,255,255,0.15);border-color:var(--cyan);color:var(--cyan);}

  /* Body & Details */
  .project-body{padding:22px;}
  .proj-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;}
  .proj-badge{
    font-family:var(--font-mono);font-size:11px;letter-spacing:1px;
    color:var(--accent,var(--cyan));background:color-mix(in srgb, var(--accent,var(--cyan)) 12%, transparent);
    padding:4px 10px;border-radius:2px;border:1px solid color-mix(in srgb, var(--accent,var(--cyan)) 30%, transparent);
  }
  .proj-id{font-family:var(--font-mono);font-size:11px;color:var(--text-2);letter-spacing:1.5px;}

  .project-body h3{font-size:19px;font-weight:800;margin-bottom:8px;}
  .project-body p{font-size:13.5px;color:var(--text-1);line-height:1.7;margin-bottom:18px;min-height:46px;}

  .tech-stack{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px;}
  .tech-stack span{
    font-family:var(--font-mono);font-size:10.5px;
    background:var(--bg-0);color:var(--text-1);padding:3px 8px;
    border-radius:2px;border:1px solid var(--line);
  }

  .project-foot{
    display:flex;justify-content:space-between;align-items:center;
    border-top:1px solid var(--line);padding-top:14px;
  }
  .proj-action-btn{
    font-family:var(--font-ui);font-weight:700;font-size:13px;
    background:transparent;border:none;color:var(--accent,var(--cyan));
    cursor:pointer;display:flex;align-items:center;gap:6px;transition:opacity .2s;
  }
  .proj-action-btn:hover{opacity:0.8;}
  .proj-link-btn{
    width:34px;height:34px;border:1px solid var(--line);background:var(--bg-0);
    color:var(--text-1);display:flex;align-items:center;justify-content:center;
    text-decoration:none;border-radius:2px;transition:all .25s;font-family:var(--font-mono);
  }
  .proj-link-btn:hover{border-color:var(--accent,var(--cyan));color:var(--accent,var(--cyan));box-shadow:0 0 12px color-mix(in srgb, var(--accent,var(--cyan)) 40%, transparent);}

  /* ---------- Modal Lightbox ---------- */
  .modal-backdrop{
    position:fixed;inset:0;z-index:900;
    background:rgba(4,5,7,0.85);backdrop-filter:blur(12px);
    display:flex;align-items:center;justify-content:center;padding:24px 5vw;
    opacity:0;pointer-events:none;transition:opacity .35s ease;
  }
  .modal-backdrop.active{opacity:1;pointer-events:all;}

  .modal-content{
    background:var(--bg-1);border:1px solid var(--cyan);
    width:100%;max-width:900px;max-height:90vh;
    box-shadow:0 24px 70px rgba(0,0,0,0.8), 0 0 35px rgba(40,240,224,0.3);
    border-radius:4px;overflow:hidden;display:flex;flex-direction:column;
    transform:scale(0.95) translateY(20px);transition:transform .35s ease;
  }
  .modal-backdrop.active .modal-content{transform:scale(1) translateY(0);}

  .modal-header{
    display:flex;align-items:center;justify-content:space-between;
    padding:12px 20px;background:var(--bg-2);border-bottom:1px solid var(--line);
  }
  .modal-title-wrap{display:flex;align-items:center;gap:12px;}
  .modal-dots{display:flex;gap:6px;}
  .modal-dots span{width:10px;height:10px;border-radius:50%;background:var(--line);}
  .modal-dots span:nth-child(1){background:#ff5f56;}
  .modal-dots span:nth-child(2){background:#ffbd2e;}
  .modal-dots span:nth-child(3){background:#27c93f;}
  .modal-url{font-family:var(--font-mono);font-size:12px;color:var(--text-1);letter-spacing:.5px;}
  .modal-close{
    background:transparent;border:none;color:var(--text-1);font-size:24px;
    cursor:pointer;line-height:1;transition:color .2s;
  }
  .modal-close:hover{color:var(--pink);}

  .modal-body{
    display:grid;grid-template-columns:1.2fr 1fr;gap:24px;
    padding:24px;overflow-y:auto;
  }
  @media (max-width:768px){ .modal-body{grid-template-columns:1fr;} }

  .modal-preview-box{
    position:relative;border:1px solid var(--line);border-radius:2px;
    overflow:hidden;background:#000;display:flex;align-items:center;
  }
  .modal-img{width:100%;height:auto;max-height:480px;object-fit:contain;display:block;background:#06080c;}
  .modal-preview-badge{
    position:absolute;bottom:12px;inset-inline-start:12px;
    font-family:var(--font-mono);font-size:10px;letter-spacing:1px;
    background:rgba(7,9,13,0.85);color:var(--lime);padding:4px 10px;
    border:1px solid var(--lime);border-radius:2px;box-shadow:0 0 10px rgba(212,255,58,.3);
  }

  .modal-details{display:flex;flex-direction:column;justify-content:space-between;}
  .modal-meta-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;}
  .modal-details h2{font-size:24px;font-weight:900;margin-bottom:12px;}
  .modal-details p{font-size:14px;color:var(--text-1);line-height:1.75;margin-bottom:20px;}

  .modal-info-grid{
    display:grid;grid-template-columns:1fr 1fr;gap:12px;
    background:var(--bg-0);padding:14px;border:1px solid var(--line);
    margin-bottom:20px;border-radius:2px;
  }
  .info-item{display:flex;flex-direction:column;gap:4px;}
  .info-label{font-family:var(--font-mono);font-size:11px;color:var(--text-2);}
  .info-val{font-size:13.5px;font-weight:700;color:var(--text-0);}

  .modal-stack-section{margin-bottom:24px;}
  .modal-stack-section .info-label{display:block;margin-bottom:8px;}

  .modal-actions{display:flex;gap:12px;flex-wrap:wrap;}
  .modal-visit-btn{text-decoration:none;display:inline-block;}

  /* ---------- testimonials ---------- */
  .testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
  @media (max-width:900px){ .testi-grid{grid-template-columns:1fr;} }
  .testi-card{border:1px solid var(--line);padding:26px;background:var(--bg-1);position:relative;}
  .testi-card .quote-mark{font-family:var(--font-mono);font-size:34px;color:var(--pink);opacity:.5;line-height:1;}
  .testi-card p{font-size:14.5px;color:var(--text-1);line-height:1.8;margin:14px 0 18px;}
  .testi-user{display:flex;align-items:center;gap:12px;}
  .testi-avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--cyan),var(--pink));flex-shrink:0;}
  .testi-user .name{font-size:14px;font-weight:700;}
  .testi-user .role{font-size:12px;color:var(--text-2);}
  .stars{color:var(--amber);font-size:13px;letter-spacing:2px;}

  /* ---------- CTA banner ---------- */
  .cta-banner{
    margin:0 5vw;padding:60px 6vw;
    border:1px solid var(--line);position:relative;overflow:hidden;
    background:linear-gradient(120deg, rgba(255,46,136,0.08), rgba(40,240,224,0.06));
    text-align:center;
  }
  .cta-banner h2{font-size:clamp(26px,4vw,42px);font-weight:900;margin-bottom:16px;}
  .cta-banner p{color:var(--text-1);margin-bottom:30px;max-width:520px;margin-inline:auto;}
  .cta-banner::before, .cta-banner::after{
    content:"";position:absolute;width:220px;height:220px;border-radius:50%;filter:blur(80px);opacity:.35;
  }
  .cta-banner::before{background:var(--cyan);top:-80px;left:-60px;}
  .cta-banner::after{background:var(--pink);bottom:-80px;right:-60px;}

  /* ---------- footer ---------- */
  footer{position:relative;z-index:5;border-top:1px solid var(--line);padding:60px 5vw 30px;background:var(--bg-1);}
  .footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;margin-bottom:40px;}
  @media (max-width:820px){ .footer-grid{grid-template-columns:1fr 1fr;} }
  .footer-grid h5{font-size:13px;letter-spacing:1.5px;color:var(--text-2);margin-bottom:16px;font-family:var(--font-mono);}
  .footer-grid ul{list-style:none;}
  .footer-grid li{margin-bottom:10px;}
  .footer-grid a{color:var(--text-1);text-decoration:none;font-size:14px;transition:color .2s;}
  .footer-grid a:hover{color:var(--cyan);}
  .footer-desc{color:var(--text-1);font-size:14px;line-height:1.8;max-width:300px;margin-top:14px;}
  .footer-bottom{
    display:flex;justify-content:space-between;align-items:center;padding-top:24px;border-top:1px solid var(--line);
    font-size:12.5px;color:var(--text-2);flex-wrap:wrap;gap:10px;font-family:var(--font-mono);
  }
  .social-row{display:flex;gap:10px;}
  .social-row a{
    width:34px;height:34px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;
    color:var(--text-1);text-decoration:none;transition:all .25s;border-radius:2px;font-size:13px;
  }
  .social-row a:hover{border-color:var(--cyan);color:var(--cyan);box-shadow:0 0 12px rgba(40,240,224,.3);}

  /* ---------- toast ---------- */
  #toast{
    position:fixed;bottom:26px;inset-inline-end:26px;z-index:200;
    background:var(--bg-2);border:1px solid var(--cyan);color:var(--text-0);
    padding:14px 20px;font-size:14px;border-radius:2px;
    box-shadow:0 8px 30px rgba(0,0,0,.5), 0 0 20px rgba(40,240,224,.25);
    transform:translateY(30px);opacity:0;pointer-events:none;transition:all .35s ease;
    font-family:var(--font-ui);font-weight:600;display:flex;align-items:center;gap:10px;
  }
  #toast.show{transform:translateY(0);opacity:1;}
  #toast .dotok{width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 8px var(--lime);}

  /* scrollbar */
  ::-webkit-scrollbar{width:9px;}
  ::-webkit-scrollbar-track{background:var(--bg-0);}
  ::-webkit-scrollbar-thumb{background:var(--line);}
  ::-webkit-scrollbar-thumb:hover{background:var(--cyan);}
