
/* ─── RESET & ROOT ─── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
:root{
  --black:#060608;--white:#f0ede8;--accent:#ff4d00;--accent2:#ffb347;
  --g1:#0e0e12;--g2:#151518;--g3:#1c1c22;--muted:#55556a;
  --fd:'Bebas Neue',sans-serif;--fb:'Syne',sans-serif;--fl:'DM Sans',sans-serif;
  --pad:clamp(20px,5vw,64px);
  --r:0.4s;
}
body{background:var(--black);color:var(--white);font-family:var(--fb);overflow-x:hidden}
img,svg{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
button{font-family:inherit;border:none;background:none;outline:none}
::-webkit-scrollbar{width:3px}
::-webkit-scrollbar-track{background:var(--black)}
::-webkit-scrollbar-thumb{background:var(--accent)}
section{position:relative;z-index:1}

/* ─── CUSTOM CURSOR (desktop only) ─── */
@media(hover:hover) and (pointer:fine){
  body{cursor:none}
  .cursor{position:fixed;width:10px;height:10px;background:var(--accent);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:transform 0.12s;mix-blend-mode:difference}
  .cursor-ring{position:fixed;width:38px;height:38px;border:1px solid rgba(255,77,0,0.5);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:all 0.14s ease}
  .cursor-big .cursor{transform:translate(-50%,-50%) scale(2.5)}
  .cursor-big .cursor-ring{transform:translate(-50%,-50%) scale(1.7);border-color:rgba(255,77,0,0.8)}
}

/* ─── 3D CANVAS ─── */
#canvas3d{position:fixed;inset:0;z-index:0;pointer-events:none}

/* ─── NAVBAR ─── */
.nav{
position:fixed;
top:0;
left:0;
right:0;
z-index:500;
display:flex;
align-items:center;
justify-content:space-between;
padding:0 var(--pad);
height:80px;
transition:all 0.4s
}
.nav.stuck{
background:rgba(6,6,8,0.95);
backdrop-filter:blur(20px);
padding:0 var(--pad);
height:60px;
border-bottom:1px solid rgba(255,77,0,0.1)
}

.nav-logo{
position:relative;
display:flex;
align-items:center;
height:100%;
}

.nav-logo img{
height:80px;
width:auto;
transform:scale(1.8);
transform-origin:left center;
}

.nav-links{display:flex;gap:36px;list-style:none}
.nav-links a{font-size:0.75rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--muted);transition:color 0.3s;position:relative}
.nav-links a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--accent);transition:width 0.3s}
.nav-links a:hover{color:var(--accent)}.nav-links a:hover::after{width:100%}
.nav-btn{background:var(--accent);color:var(--white);padding:10px 24px;font-size:0.72rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;clip-path:polygon(8px 0%,100% 0%,calc(100% - 8px) 100%,0% 100%);transition:all 0.3s;cursor:pointer}
.nav-btn:hover{background:var(--accent2)}

/* hamburger */
.nav-ham{display:none;flex-direction:column;gap:5px;width:42px;height:42px;align-items:center;justify-content:center;border:1px solid rgba(255,77,0,0.3);background:transparent;cursor:pointer;transition:border-color 0.3s;flex-shrink:0}
.nav-ham:hover{border-color:var(--accent)}
.hline{display:block;width:20px;height:1.5px;background:var(--white);transition:all 0.35s}
.nav-ham.x .hline:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.nav-ham.x .hline:nth-child(2){opacity:0;transform:scaleX(0)}
.nav-ham.x .hline:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

/* Mobile fullscreen menu */
.mob-menu{position:fixed;inset:0;z-index:400;background:rgba(6,6,8,0.98);backdrop-filter:blur(30px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;opacity:0;visibility:hidden;transition:opacity 0.4s,visibility 0.4s}
.mob-menu.open{opacity:1;visibility:visible}
.mob-links{list-style:none;width:100%;text-align:center}
.mob-links li{border-bottom:1px solid rgba(255,255,255,0.05);overflow:hidden}
.mob-links a{display:block;font-family:var(--fd);font-size:clamp(2.4rem,9vw,4rem);letter-spacing:3px;color:var(--white);padding:18px 24px;transform:translateY(100%);transition:transform 0.5s,color 0.3s;transition-delay:calc(var(--i)*0.07s)}
.mob-menu.open .mob-links a{transform:translateY(0)}
.mob-links a:hover{color:var(--accent)}
.mob-actions{display:flex;flex-direction:column;align-items:center;gap:16px;margin-top:40px;opacity:0;transform:translateY(20px);transition:all 0.4s 0.42s}
.mob-menu.open .mob-actions{opacity:1;transform:none}
.mob-socs{display:flex;gap:24px;margin-top:16px}
.mob-soc{font-size:0.7rem;letter-spacing:3px;text-transform:uppercase;color:var(--muted);transition:color 0.3s}
.mob-soc:hover{color:var(--accent)}

/* ─── REUSABLE ─── */
.sec-label{display:inline-flex;align-items:center;gap:12px;font-size:0.62rem;letter-spacing:4px;font-weight:700;text-transform:uppercase;color:var(--accent);margin-bottom:24px}
.sec-label::before{content:'';width:28px;height:1px;background:var(--accent)}
.sec-label-center{justify-content:center}
.sec-label-center::before{display:none}
.sec-label-center::after{content:'';width:28px;height:1px;background:var(--accent)}
.btn-p{display:inline-block;background:var(--accent);color:var(--white);padding:15px 40px;font-size:0.78rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;clip-path:polygon(10px 0%,100% 0%,calc(100% - 10px) 100%,0% 100%);transition:all 0.3s;cursor:pointer;border:none}
.btn-p:hover{background:var(--accent2);transform:translateY(-2px)}
.btn-g{display:inline-flex;align-items:center;gap:10px;font-size:0.78rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--white);transition:color 0.3s}
.btn-g:hover{color:var(--accent)}
.btn-g .arr{position:relative;width:30px;height:1px;background:currentColor;transition:width 0.3s}
.btn-g:hover .arr{width:46px}
.btn-g .arr::after{content:'';position:absolute;right:0;top:-3px;width:7px;height:7px;border-right:1px solid currentColor;border-top:1px solid currentColor;transform:rotate(45deg)}

/* reveal */
.rvy{opacity:0;transform:translateY(44px);transition:opacity 0.8s,transform 0.8s}
.rvl{opacity:0;transform:translateX(-44px);transition:opacity 0.8s,transform 0.8s}
.rvr{opacity:0;transform:translateX(44px);transition:opacity 0.8s,transform 0.8s}
.rvy.on,.rvl.on,.rvr.on{opacity:1;transform:none}

/* ─── HERO ─── */
#hero{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:100px var(--pad) 80px;overflow:hidden;position:relative}
.hero-tag{display:inline-flex;align-items:center;gap:10px;font-size:0.68rem;letter-spacing:4px;text-transform:uppercase;color:var(--accent);font-weight:700;margin-bottom:28px;opacity:0;animation:fadeUp 0.8s 0.3s forwards}
.hero-tag::before{content:'';width:36px;height:1px;background:var(--accent)}
.hero-h1{font-family:var(--fd);font-size:clamp(64px,13vw,160px);line-height:0.88;letter-spacing:2px;opacity:0;animation:fadeUp 0.9s 0.5s forwards}
.hero-h1 .str{-webkit-text-stroke:1px var(--white);color:transparent}
.hero-h1 .hot{color:var(--accent)}
.hero-p{max-width:460px;margin-top:32px;font-family:var(--fl);font-size:0.97rem;line-height:1.85;color:#888;opacity:0;animation:fadeUp 1s 0.7s forwards}
.hero-btns{display:flex;flex-wrap:wrap;gap:20px;align-items:center;margin-top:44px;opacity:0;animation:fadeUp 1s 0.9s forwards}
.hero-scroll{position:absolute;bottom:40px;left:var(--pad);display:flex;align-items:center;gap:12px;font-size:0.62rem;letter-spacing:3px;color:var(--muted);text-transform:uppercase;opacity:0;animation:fadeUp 1s 1.2s forwards}
.scroll-bar{width:1px;height:50px;background:var(--muted);animation:scrollAnim 2s infinite}
.hero-bg-num{position:absolute;right:var(--pad);bottom:40px;font-family:var(--fd);font-size:clamp(5rem,15vw,12rem);color:rgba(255,77,0,0.04);line-height:1;pointer-events:none;user-select:none}

/* ─── MARQUEE ─── */
.mq-wrap{background:var(--accent);padding:16px 0;overflow:hidden;position:relative;z-index:2}
.mq-track{display:flex;white-space:nowrap;animation:marquee 22s linear infinite}
.mq-item{font-family:var(--fd);font-size:1rem;letter-spacing:4px;color:var(--black);padding:0 44px;display:inline-flex;align-items:center;gap:18px}
.mq-dot{width:5px;height:5px;background:var(--black);border-radius:50%;flex-shrink:0}

/* ─── ABOUT ─── */
#about{padding:120px var(--pad);display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.about-title{font-family:var(--fd);font-size:clamp(38px,5vw,70px);line-height:1;letter-spacing:1px;margin-bottom:24px}
.about-p{font-family:var(--fl);font-size:0.95rem;line-height:1.9;color:#888;margin-bottom:18px}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:44px}
.stat{border-left:2px solid var(--accent);padding-left:18px}
.stat-n{font-family:var(--fd);font-size:2.8rem;line-height:1;color:var(--white)}
.stat-n em{color:var(--accent);font-style:normal}
.stat-l{font-size:0.68rem;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-top:4px}
.about-vis{position:relative;height:460px;display:flex;align-items:center;justify-content:center}
.a-card{width:290px;height:390px;background:var(--g3);border:1px solid rgba(255,77,0,0.2);position:relative;overflow:hidden;transform:perspective(900px) rotateY(-8deg) rotateX(4deg);transition:transform 0.6s}
.a-card:hover{transform:perspective(900px) rotateY(0) rotateX(0)}
.a-card-glow{position:absolute;inset:-50%;background:radial-gradient(ellipse,rgba(255,77,0,0.08),transparent 70%);animation:glow 4s ease-in-out infinite alternate}
.a-card-body{padding:36px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(to top,rgba(255,77,0,0.28),transparent 60%)}
.a-card-tag{font-size:0.6rem;letter-spacing:3px;color:var(--accent);text-transform:uppercase;margin-bottom:8px}
.a-card-title{font-family:var(--fd);font-size:1.8rem;letter-spacing:1px;line-height:1.1}
.a-badge{position:absolute;top:24px;right:-16px;width:90px;height:90px;border-radius:50%;background:var(--accent);color:var(--black);display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--fd);font-size:1.6rem;box-shadow:0 0 40px rgba(255,77,0,0.5);animation:float 3s ease-in-out infinite}
.a-badge small{font-family:var(--fb);font-size:0.46rem;letter-spacing:1px;text-transform:uppercase}

/* ─── SERVICES ─── */
#services{padding:120px var(--pad)}
.svc-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:64px;flex-wrap:wrap}
.svc-title{font-family:var(--fd);font-size:clamp(44px,6vw,88px);letter-spacing:2px;line-height:1}
.svc-note{max-width:260px;font-family:var(--fl);font-size:0.88rem;color:var(--muted);line-height:1.8}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.svc-card{background:var(--g2);padding:44px 36px 56px;border:1px solid transparent;transition:all 0.4s;position:relative;overflow:hidden}
.svc-card::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,77,0,0.05),transparent);opacity:0;transition:opacity 0.4s}
.svc-card:hover{border-color:var(--accent);transform:translateY(-5px)}.svc-card:hover::before{opacity:1}
.svc-n{font-family:var(--fd);font-size:4.5rem;color:rgba(255,77,0,0.1);line-height:1;margin-bottom:24px;transition:color 0.4s}
.svc-card:hover .svc-n{color:rgba(255,77,0,0.25)}
.svc-ico{font-size:1.9rem;margin-bottom:16px}
.svc-name{font-size:1.2rem;font-weight:700;margin-bottom:12px}
.svc-desc{font-family:var(--fl);font-size:0.86rem;line-height:1.8;color:#777}
.svc-arr{position:absolute;bottom:24px;right:24px;width:36px;height:36px;border:1px solid rgba(255,77,0,0.3);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--accent);opacity:0;transform:translateY(8px);transition:all 0.3s}
.svc-card:hover .svc-arr{opacity:1;transform:none}

/* ─── TECH STACK ─── */
#techstack{padding:120px var(--pad);background:var(--g1)}
.tech-hd{text-align:center;margin-bottom:50px}
.tech-title{font-family:var(--fd);font-size:clamp(44px,7vw,96px);letter-spacing:2px;line-height:1;margin-bottom:10px}
.tech-tabs{display:flex;justify-content:center;flex-wrap:wrap;gap:2px;margin-bottom:44px}
.tt{padding:11px 28px;font-size:0.72rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;background:var(--g3);color:var(--muted);border:none;cursor:pointer;transition:all 0.3s}
.tt.on{background:var(--accent);color:var(--white)}
.tt:hover:not(.on){color:var(--white);background:rgba(255,77,0,0.12)}
.tech-panel{display:none;animation:fadeUp 0.45s forwards}
.tech-panel.on{display:block}
.tg{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.tc{background:var(--g2);border:1px solid rgba(255,255,255,0.05);padding:30px 22px;display:flex;flex-direction:column;align-items:center;gap:12px;transition:all 0.4s;position:relative;overflow:hidden}
.tc::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform 0.4s}
.tc:hover{border-color:rgba(255,77,0,0.3);transform:translateY(-5px)}.tc:hover::after{transform:scaleX(1)}
.tc-ico{font-size:2.6rem}
.tc-name{font-size:0.9rem;font-weight:700;letter-spacing:1px;text-align:center}
.tc-desc{font-family:var(--fl);font-size:0.74rem;color:var(--muted);text-align:center;line-height:1.6}
.tc-badge{position:absolute;top:10px;right:10px;background:rgba(255,77,0,0.15);color:var(--accent);font-size:0.56rem;letter-spacing:1px;text-transform:uppercase;padding:2px 7px;font-weight:700;border:1px solid rgba(255,77,0,0.2)}

/* ─── BRANDS ─── */
#brands{padding:90px var(--pad)}
.brands-title{font-family:var(--fd);font-size:clamp(38px,5vw,70px);letter-spacing:2px;text-align:center}
.brands-sub{font-family:var(--fl);color:#555;margin-top:12px;font-size:0.88rem;letter-spacing:1px;text-align:center}
.brand-row{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:40px;padding:48px 0;border-top:1px solid rgba(255,255,255,0.05);border-bottom:1px solid rgba(255,255,255,0.05);margin-top:44px}
.brand-it{display:flex;flex-direction:column;align-items:center;gap:8px;opacity:0.28;transition:all 0.4s;filter:grayscale(1)}
.brand-it:hover{opacity:1;filter:none;transform:translateY(-5px)}
.brand-ico{font-size:2.2rem}
.brand-nm{font-family:var(--fd);font-size:0.82rem;letter-spacing:3px}
.tech-strip{display:flex;justify-content:center;flex-wrap:wrap;gap:32px 44px;padding:36px 0 0;opacity:0.16}
.ts-name{font-family:var(--fd);letter-spacing:5px;font-size:0.92rem}

/* ─── PROCESS ─── */
#process{padding:120px var(--pad);background:var(--g2)}
.proc-title{font-family:var(--fd);font-size:clamp(44px,7vw,96px);letter-spacing:2px;text-align:center;margin-bottom:80px}
.proc-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.proc-step{padding:44px 36px;border-right:1px solid rgba(255,255,255,0.06)}
.proc-step:last-child{border-right:none}
.proc-n{font-family:var(--fd);font-size:5.5rem;color:rgba(255,77,0,0.1);line-height:1;margin-bottom:16px}
.proc-t{font-size:1.15rem;font-weight:700;margin-bottom:12px}
.proc-d{font-family:var(--fl);font-size:0.85rem;line-height:1.8;color:#666}

/* ─── WORK ─── */
#work{padding:120px var(--pad)}
.work-hd{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:20px;margin-bottom:50px}
.work-title{font-family:var(--fd);font-size:clamp(44px,6vw,88px);letter-spacing:2px;line-height:1}
.wg{display:grid;grid-template-columns:1fr 1fr;gap:3px}
.wi{position:relative;overflow:hidden;aspect-ratio:16/10;background:var(--g2);cursor:pointer}
.wi:first-child{grid-column:span 2;aspect-ratio:21/9}
.wi-bg{position:absolute;inset:0;transition:transform 0.6s ease}
.wi:hover .wi-bg{transform:scale(1.06)}
.wi:nth-child(1) .wi-bg{background:linear-gradient(135deg,#1a0800,#2a1300 45%,#0d0d1a)}
.wi:nth-child(2) .wi-bg{background:linear-gradient(135deg,#0a0a1a,#131330 50%,#0a0a1a)}
.wi:nth-child(3) .wi-bg{background:linear-gradient(135deg,#0a1500,#1a2e00 50%,#0a1500)}
.wi-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(6,6,8,0.93) 0%,rgba(6,6,8,0.1) 55%,transparent 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:32px}
.wi-cat{font-size:0.6rem;letter-spacing:3px;color:var(--accent);text-transform:uppercase;margin-bottom:6px}
.wi-name{font-family:var(--fd);font-size:1.7rem;letter-spacing:1px}
.wi-desc{font-family:var(--fl);font-size:0.82rem;color:#aaa;margin-top:8px;line-height:1.7;max-height:0;overflow:hidden;transition:max-height 0.4s,opacity 0.4s;opacity:0}
.wi:hover .wi-desc{max-height:80px;opacity:1}
.wi:nth-child(1)::after{content:'NEXA';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:var(--fd);font-size:clamp(4rem,9vw,8rem);color:rgba(255,77,0,0.05);letter-spacing:10px;pointer-events:none}

/* ─── TESTIMONIALS ─── */
#testimonials{padding:120px var(--pad);background:var(--g1)}
.test-title{font-family:var(--fd);font-size:clamp(44px,6vw,88px);letter-spacing:2px;text-align:center;margin-bottom:70px}
.tst-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.tst{background:var(--black);padding:36px 30px;border:1px solid rgba(255,255,255,0.05);position:relative;overflow:hidden;transition:all 0.35s}
.tst::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform 0.4s}
.tst:hover{border-color:rgba(255,77,0,0.2);transform:translateY(-4px)}.tst:hover::after{transform:scaleX(1)}
.tst-stars{color:var(--accent);font-size:0.8rem;letter-spacing:3px;margin-bottom:12px}
.tst-q{font-size:2.8rem;color:var(--accent);font-family:serif;line-height:1;margin-bottom:14px}
.tst-txt{font-family:var(--fl);font-size:0.9rem;line-height:1.8;color:#888;margin-bottom:26px}
.tst-auth{display:flex;align-items:center;gap:12px}
.tst-av{width:42px;height:42px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-size:1.1rem;color:var(--black);flex-shrink:0}
.tst-name{font-weight:700;font-size:0.88rem}
.tst-role{font-size:0.7rem;color:var(--muted);letter-spacing:1px}

/* ─── CONTACT ─── */
#contact{padding:120px var(--pad);background:var(--g2)}
.contact-title{font-family:var(--fd);font-size:clamp(44px,7vw,96px);letter-spacing:2px;line-height:1;margin-bottom:70px}
.contact-body{display:grid;grid-template-columns:1fr 1.3fr;gap:80px;align-items:start}
.cd-desc{font-family:var(--fl);color:#777;line-height:1.85;font-size:0.92rem;margin-bottom:44px}
.cd{display:flex;align-items:flex-start;gap:18px;padding:22px 0;border-bottom:1px solid rgba(255,255,255,0.06)}
.cd:last-of-type{border-bottom:none;padding-bottom:0}
.cd-ico{width:42px;height:42px;background:rgba(255,77,0,0.1);border:1px solid rgba(255,77,0,0.2);display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}
.cd-lbl{font-size:0.58rem;letter-spacing:3px;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:4px}
.cd-val{font-size:0.9rem;font-weight:700}
.cform{background:var(--g1);padding:44px;border:1px solid rgba(255,255,255,0.06);position:relative;overflow:hidden}
.cform::before{content:'';position:absolute;top:-80px;right:-80px;width:260px;height:260px;background:radial-gradient(ellipse,rgba(255,77,0,0.06),transparent 70%);pointer-events:none}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:0}
.fg{margin-bottom:18px}
.flbl{display:block;font-size:0.58rem;letter-spacing:3px;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:8px;transition:color 0.3s}
.fg:focus-within .flbl{color:var(--accent)}
.finp,.ftxt,.fsel{width:100%;background:var(--black);border:1px solid rgba(255,255,255,0.08);color:var(--white);padding:13px 16px;font-family:var(--fb);font-size:0.88rem;outline:none;transition:all 0.3s;-webkit-appearance:none;appearance:none;border-radius:0}
.finp:focus,.ftxt:focus,.fsel:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(255,77,0,0.06)}
.ftxt{resize:none;height:120px;font-family:var(--fl)}
.fsel{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23ff4d00' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-color:var(--black);cursor:pointer}
.fsel option{background:var(--black);color:var(--white)}
.fp{display:flex;flex-wrap:wrap;gap:8px}
.fpill{padding:8px 16px;border:1px solid rgba(255,255,255,0.1);color:var(--muted);font-size:0.72rem;letter-spacing:1px;font-weight:700;background:transparent;cursor:pointer;transition:all 0.3s}
.fpill:hover,.fpill.on{background:var(--accent);border-color:var(--accent);color:var(--white)}
.fsub{width:100%;background:var(--accent);color:var(--white);padding:16px;font-family:var(--fb);font-size:0.82rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;cursor:pointer;transition:all 0.3s;position:relative;overflow:hidden;clip-path:polygon(12px 0%,100% 0%,calc(100% - 12px) 100%,0% 100%);margin-top:8px}
.fsub::before{content:'';position:absolute;inset:0;background:var(--accent2);transform:translateX(-100%);transition:transform 0.4s}
.fsub:hover::before{transform:translateX(0)}
.fsub span{position:relative;z-index:1}
.fsuccess{display:none;text-align:center;padding:50px 20px}
.fsuc-ico{font-size:3rem;animation:float 3s ease-in-out infinite;display:block;margin-bottom:16px}
.fsuc-t{font-family:var(--fd);font-size:2.2rem;color:var(--accent);letter-spacing:2px;margin-bottom:10px}
.fsuc-p{font-family:var(--fl);color:#888;font-size:0.92rem;line-height:1.7;margin-bottom:30px}

/* ─── CTA ─── */
#cta{padding:140px var(--pad);text-align:center;position:relative;overflow:hidden}
.cta-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:600px;height:600px;background:radial-gradient(ellipse,rgba(255,77,0,0.1),transparent 70%);pointer-events:none;animation:glow 4s ease-in-out infinite alternate}
.cta-title{font-family:var(--fd);font-size:clamp(54px,10vw,128px);letter-spacing:2px;line-height:0.92;margin-bottom:44px}
.cta-title .str{-webkit-text-stroke:1px var(--white);color:transparent}
.cta-sub{font-family:var(--fl);font-size:0.95rem;color:#666;max-width:400px;margin:0 auto 44px;line-height:1.85}
.cta-email{font-family:var(--fd);font-size:clamp(18px,3.5vw,40px);color:var(--accent);letter-spacing:2px;display:inline-block;margin-bottom:44px;transition:color 0.3s;word-break:break-all}
.cta-email:hover{color:var(--accent2)}

/* ─── FOOTER ─── */
footer{background:var(--black);border-top:1px solid rgba(255,255,255,0.06);padding:56px var(--pad) 40px}
.ft{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:50px;margin-bottom:50px}
.ft-logo{font-family:var(--fd);font-size:1.85rem;letter-spacing:4px}
.ft-logo b{color:var(--accent)}
.ft-logo img {height:80px;
width:auto;
transform:scale(1.8);
transform-origin:left center;}
.ft-tag{font-family:var(--fl);font-size:0.82rem;color:var(--muted);margin-top:8px}
.ft-cols{display:flex;flex-wrap:wrap;gap:50px}
.fc-t{font-size:0.6rem;letter-spacing:3px;text-transform:uppercase;color:var(--accent);font-weight:700;margin-bottom:18px}
.fc a{display:block;font-family:var(--fl);font-size:0.88rem;color:var(--muted);margin-bottom:10px;transition:color 0.3s}
.fc a:hover{color:var(--white)}
.fb{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;padding-top:28px;border-top:1px solid rgba(255,255,255,0.05)}
.fc-copy{font-size:0.72rem;color:var(--muted);letter-spacing:1px}
.ft-socs{display:flex;gap:12px}
.ft-soc{width:34px;height:34px;border:1px solid rgba(255,255,255,0.1);display:flex;align-items:center;justify-content:center;font-size:0.8rem;color:var(--muted);transition:all 0.3s}
.ft-soc:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-3px)}

/* ─── KEYFRAMES ─── */
@keyframes fadeUp{from{opacity:0;transform:translateY(36px)}to{opacity:1;transform:translateY(0)}}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@keyframes glow{from{opacity:.5;transform:translate(-50%,-50%) scale(1)}to{opacity:1;transform:translate(-50%,-50%) scale(1.14)}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@keyframes scrollAnim{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* ═══════════════════════════════════════
   RESPONSIVE — TABLET (≤ 960px)
═══════════════════════════════════════ */
@media(max-width:960px){
  .nav-links,.nav-btn{display:none}
  .nav-ham{display:flex}
  #about{grid-template-columns:1fr;gap:56px}
  .about-vis{height:340px}
  .a-card{width:260px;height:340px}
  .svc-grid{grid-template-columns:1fr 1fr}
  .tg{grid-template-columns:1fr 1fr}
  .tst-grid{grid-template-columns:1fr 1fr}
  .proc-steps{grid-template-columns:1fr 1fr}
  .proc-step{border-right:none;border-bottom:1px solid rgba(255,255,255,0.06)}
  .proc-step:nth-child(odd){border-right:1px solid rgba(255,255,255,0.06)}
  .proc-step:nth-last-child(-n+2){border-bottom:none}
  .contact-body{grid-template-columns:1fr;gap:50px}
  .ft-cols{gap:36px}
}

/* ═══════════════════════════════════════
   RESPONSIVE — MOBILE (≤ 640px)
═══════════════════════════════════════ */
@media(max-width:640px){
  :root{--pad:20px}

  /* nav */
  .nav{padding:18px var(--pad)}
  .nav.stuck{padding:14px var(--pad)}
  .nav-logo{font-size:1.6rem;letter-spacing:3px}

  /* hero */
  #hero{padding:90px var(--pad) 70px;min-height:100svh}
  .hero-tag{font-size:0.6rem;letter-spacing:2px;margin-bottom:18px}
  .hero-tag::before{width:22px}
  .hero-h1{font-size:clamp(52px,16vw,80px);line-height:0.88}
  .hero-p{font-size:0.9rem;margin-top:20px;max-width:100%}
  .hero-btns{flex-direction:column;align-items:stretch;gap:14px;margin-top:32px}
  .btn-p{text-align:center;padding:15px;width:100%;clip-path:polygon(8px 0%,100% 0%,calc(100% - 8px) 100%,0% 100%)}
  .btn-g{justify-content:center}
  .hero-scroll{display:none}
  .hero-bg-num{display:none}

  /* about */
  #about{padding:80px var(--pad);gap:44px}
  .about-vis{height:auto;order:-1}
  .a-card{width:100%;max-width:280px;height:320px;transform:perspective(900px) rotateY(0) rotateX(0)}
  .a-badge{top:16px;right:-8px;width:76px;height:76px;font-size:1.4rem}
  .stats{grid-template-columns:1fr 1fr;gap:16px;margin-top:32px}
  .stat-n{font-size:2.2rem}

  /* services */
  #services{padding:80px var(--pad)}
  .svc-head{flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:44px}
  .svc-note{max-width:100%}
  .svc-grid{grid-template-columns:1fr}
  .svc-card{padding:32px 26px 44px}
  .svc-n{font-size:3.5rem;margin-bottom:16px}
  .svc-arr{opacity:1;transform:none}

  /* tech */
  #techstack{padding:80px var(--pad)}
  .tech-tabs{gap:2px;width:100%}
  .tt{flex:1;min-width:calc(50% - 2px);padding:10px 8px;font-size:0.65rem;letter-spacing:1px;text-align:center}
  .tg{grid-template-columns:1fr 1fr;gap:10px}
  .tc{padding:22px 14px;gap:10px}
  .tc-ico{font-size:2.2rem}
  .tc-name{font-size:0.82rem}
  .tc-desc{font-size:0.7rem}

  /* brands */
  #brands{padding:70px var(--pad)}
  .brand-row{gap:24px;padding:36px 0}
  .brand-it{opacity:0.55;filter:grayscale(0.3)}
  .brand-ico{font-size:1.9rem}
  .brand-nm{font-size:0.72rem;letter-spacing:2px}
  .tech-strip{gap:18px 28px;padding:28px 0 0}
  .ts-name{font-size:0.78rem;letter-spacing:3px}

  /* process */
  #process{padding:80px var(--pad)}
  .proc-title{margin-bottom:50px}
  .proc-steps{grid-template-columns:1fr}
  .proc-step{border-right:none!important;border-bottom:1px solid rgba(255,255,255,0.06);padding:30px 24px}
  .proc-step:last-child{border-bottom:none}
  .proc-n{font-size:4rem;margin-bottom:10px}

  /* work */
  #work{padding:80px var(--pad)}
  .work-hd{flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:36px}
  .wg{grid-template-columns:1fr;gap:3px}
  .wi:first-child{grid-column:auto;aspect-ratio:4/3}
  .wi{aspect-ratio:4/3}
  .wi-ov{padding:22px}
  .wi-desc{max-height:60px;opacity:1}
  .wi-name{font-size:1.4rem}

  /* testimonials */
  #testimonials{padding:80px var(--pad)}
  .test-title{margin-bottom:44px}
  .tst-grid{grid-template-columns:1fr;gap:14px}
  .tst{padding:28px 22px}

  /* contact */
  #contact{padding:80px var(--pad)}
  .contact-title{margin-bottom:44px}
  .contact-body{grid-template-columns:1fr;gap:44px}
  .cform{padding:26px 20px}
  .frow{grid-template-columns:1fr}
  .fp{gap:8px}
  .fpill{padding:8px 13px;font-size:0.68rem}

  /* cta */
  #cta{padding:100px var(--pad)}
  .cta-glow{width:340px;height:340px}
  .cta-title{font-size:clamp(48px,14vw,78px)}
  .cta-email{font-size:clamp(15px,5.5vw,24px)}

  /* footer */
  footer{padding:44px var(--pad) 30px}
  .ft{flex-direction:column;gap:36px}
  .ft-cols{flex-direction:column;gap:30px}
  .fb{flex-direction:column-reverse;align-items:flex-start;gap:16px}
}

/* ═══════════════════════════════════════
   RESPONSIVE — TINY (≤ 380px)
═══════════════════════════════════════ */
@media(max-width:380px){
  .hero-h1{font-size:clamp(44px,17vw,64px)}
  .tg,.stats{grid-template-columns:1fr}
  .tt{min-width:calc(50% - 2px)}
}


@media (max-width:768px){

.nav-logo img{
transform:scale(1.4);
}

}