/* NXG Digitech — style.css v3 | nxgdigitech.com */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
:root{
  --bg:#070c18;--bg2:#0b1120;--bg3:#0f172a;
  --sur:#111d33;--sur2:#16233f;--sur3:#1c2d50;
  --bd:rgba(255,255,255,0.07);--bd2:rgba(0,224,255,0.22);
  --cy:#00e0ff;--bl:#0070f3;--vi:#7c3aed;
  --cs:rgba(0,224,255,0.08);--bs:rgba(0,112,243,0.08);--vs:rgba(124,58,237,0.08);--ts:rgba(20,184,166,0.08);
  --wh:#fff;--tx:#c8d5ed;--mu:#5f7190;--mu2:#3a4d65;
  --ff:-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  --r:12px;--rsm:8px;--rlg:18px;--tr:0.22s ease;
  --sc:0 8px 32px rgba(0,224,255,0.18);
}
body{background:var(--bg);color:var(--tx);font-family:var(--ff);line-height:1.72;overflow-x:hidden;}
body::before{content:'';position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:linear-gradient(rgba(0,224,255,0.016) 1px,transparent 1px),linear-gradient(90deg,rgba(0,224,255,0.016) 1px,transparent 1px);
  background-size:56px 56px;}
nav,.page-header,main,footer{position:relative;z-index:1;}

/* type */
h1,h2,h3,h4{font-family:var(--ff);color:var(--wh);line-height:1.12;letter-spacing:-.025em;}
h1{font-size:clamp(2.4rem,6vw,4.4rem);font-weight:800;}
h2{font-size:clamp(1.7rem,3.5vw,2.4rem);font-weight:700;}
h3{font-size:1.08rem;font-weight:700;}
h4{font-size:.93rem;font-weight:700;}
p{color:var(--mu);font-size:.93rem;line-height:1.82;}
a{color:var(--cy);text-decoration:none;transition:opacity var(--tr);}
a:hover{opacity:.72;}
.tag{display:inline-block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.13em;color:var(--cy);margin-bottom:.5rem;}
.lead{font-size:1rem;color:var(--tx);}
.grad{background:linear-gradient(120deg,var(--cy) 0%,var(--bl) 55%,var(--vi) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}

/* layout */
.wrap{max-width:1100px;margin:0 auto;padding:0 5%;}
.pad{padding:86px 0;}
.bg2{background:var(--bg2);}
.tc{text-align:center;}
.tc .sub{margin-left:auto;margin-right:auto;}
.sh{margin-bottom:2.6rem;}
.sub{max-width:500px;margin-top:.65rem;}

/* buttons */
.btn{display:inline-block;font-family:var(--ff);font-size:.875rem;font-weight:700;padding:.76rem 1.8rem;border-radius:var(--rsm);cursor:pointer;border:none;transition:transform var(--tr),box-shadow var(--tr),opacity var(--tr);text-align:center;white-space:nowrap;}
.btn-p{background:var(--cy);color:var(--bg);}
.btn-p:hover{transform:translateY(-2px);box-shadow:var(--sc);opacity:1;}
.btn-g{background:transparent;color:var(--tx);border:1px solid var(--bd);}
.btn-g:hover{border-color:var(--bd2);background:var(--cs);color:var(--wh);opacity:1;}
.btn-sm{padding:.48rem 1.15rem;font-size:.78rem;}

/* nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:999;display:flex;align-items:center;justify-content:space-between;height:62px;padding:0 5%;background:rgba(7,12,24,.88);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border-bottom:1px solid var(--bd);transition:background var(--tr);}
.nav.scrolled{background:rgba(7,12,24,.97);}
.nav-logo{display:flex;align-items:center;text-decoration:none;}
.nav-logo img{height:29px;width:auto;}
.nav-links{display:flex;gap:.15rem;list-style:none;align-items:center;}
.nav-links a{display:block;padding:.4rem .82rem;color:var(--mu);font-size:.845rem;font-weight:500;border-radius:var(--rsm);text-decoration:none;transition:color var(--tr),background var(--tr);}
.nav-links a:hover{color:var(--wh);background:rgba(255,255,255,.04);}
.nav-links a.active{color:var(--cy);}
.nav-links .cta{background:var(--cy);color:var(--bg)!important;padding:.4rem 1.05rem;margin-left:.45rem;font-weight:700;}
.nav-links .cta:hover{opacity:.88;background:var(--cy);}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px;}
.hamburger span{display:block;width:21px;height:2px;background:var(--tx);border-radius:2px;transition:var(--tr);}
.mob-menu{display:none;position:fixed;top:62px;left:0;right:0;z-index:998;background:rgba(7,12,24,.97);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border-bottom:1px solid var(--bd);padding:1.4rem 5% 1.8rem;flex-direction:column;gap:.15rem;}
.mob-menu.open{display:flex;}
.mob-menu a{display:block;padding:.62rem 0;color:var(--tx);font-size:.93rem;font-weight:500;border-bottom:1px solid var(--bd);text-decoration:none;transition:color var(--tr);}
.mob-menu a:last-child{border-bottom:none;}
.mob-menu a:hover,.mob-menu a.active{color:var(--cy);}

/* page header */
.page-header{padding:125px 5% 65px;background:linear-gradient(180deg,var(--bg2) 0%,var(--bg) 100%);border-bottom:1px solid var(--bd);position:relative;overflow:hidden;}
.ph-glow{position:absolute;top:-25%;right:-6%;width:460px;height:460px;pointer-events:none;background:radial-gradient(circle,rgba(0,224,255,0.07) 0%,transparent 68%);}
.ph-glow2{position:absolute;bottom:-30%;left:-5%;width:360px;height:360px;pointer-events:none;background:radial-gradient(circle,rgba(124,58,237,0.05) 0%,transparent 68%);}
.page-header h1{font-size:clamp(1.9rem,5vw,3rem);margin-bottom:.5rem;}
.page-header p{max-width:560px;font-size:.97rem;}

/* hero */
#hero{min-height:100vh;display:flex;align-items:center;padding:116px 5% 72px;overflow:hidden;}
.hg-a{position:absolute;top:-18%;right:-6%;width:660px;height:660px;pointer-events:none;background:radial-gradient(circle,rgba(0,224,255,0.08) 0%,rgba(124,58,237,0.04) 55%,transparent 70%);}
.hg-b{position:absolute;bottom:8%;left:-8%;width:490px;height:490px;pointer-events:none;background:radial-gradient(circle,rgba(0,112,243,0.07) 0%,transparent 65%);}
.hero-layout{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center;position:relative;z-index:1;}
.hero-badge{display:inline-flex;align-items:center;gap:.5rem;background:rgba(0,224,255,0.07);border:1px solid rgba(0,224,255,0.16);border-radius:100px;padding:.26rem .88rem;font-size:.68rem;font-weight:700;color:var(--cy);letter-spacing:.1em;text-transform:uppercase;margin-bottom:1.35rem;}
.hb-dot{width:7px;height:7px;border-radius:50%;background:var(--cy);animation:blink 2s ease-in-out infinite;}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.18}}
.hero-tagline{font-size:clamp(.84rem,1.7vw,.97rem);font-weight:700;color:var(--mu);letter-spacing:.07em;text-transform:uppercase;margin-bottom:1.35rem;}
.hero-desc{font-size:1rem;color:var(--mu);max-width:480px;margin-bottom:2.1rem;line-height:1.85;}
.hero-ctas{display:flex;flex-wrap:wrap;gap:.78rem;}
.hero-img{position:relative;display:flex;align-items:center;justify-content:center;}
.hero-img img{width:100%;max-width:460px;animation:float 6s ease-in-out infinite;}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}

/* stats */
.stats-strip{background:var(--bg2);border-top:1px solid var(--bd);border-bottom:1px solid var(--bd);}
.stats-row{display:flex;flex-wrap:wrap;}
.s-item{flex:1 1 160px;padding:1.6rem 1.4rem;text-align:center;border-right:1px solid var(--bd);}
.s-item:last-child{border-right:none;}
.s-num{font-size:1.85rem;font-weight:800;color:var(--cy);letter-spacing:-.03em;line-height:1;margin-bottom:.26rem;}
.s-label{font-size:.73rem;color:var(--mu);text-transform:uppercase;letter-spacing:.09em;}

/* service cards */
.svc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem;}
.svc-card{background:var(--sur);border:1px solid var(--bd);border-radius:var(--rlg);padding:2rem 1.85rem;position:relative;overflow:hidden;transition:border-color var(--tr),transform var(--tr),box-shadow var(--tr);cursor:default;}
.svc-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--cy),var(--vi));transform:scaleX(0);transform-origin:left;transition:transform .3s ease;}
.svc-card:hover{border-color:var(--bd2);transform:translateY(-4px);box-shadow:0 16px 40px rgba(0,0,0,.35);}
.svc-card:hover::before{transform:scaleX(1);}
.svc-card-glow{position:absolute;bottom:-50px;right:-50px;width:160px;height:160px;border-radius:50%;opacity:0;transition:opacity .3s ease;pointer-events:none;}
.svc-card:hover .svc-card-glow{opacity:1;}
.gc-b{background:radial-gradient(circle,rgba(0,112,243,0.09) 0%,transparent 70%);}
.gc-c{background:radial-gradient(circle,rgba(0,224,255,0.09) 0%,transparent 70%);}
.gc-v{background:radial-gradient(circle,rgba(124,58,237,0.09) 0%,transparent 70%);}
.gc-t{background:radial-gradient(circle,rgba(20,184,166,0.09) 0%,transparent 70%);}
.svc-icon-wrap{width:46px;height:46px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;margin-bottom:.95rem;}
.si-b{background:var(--bs);}
.si-c{background:var(--cs);}
.si-v{background:var(--vs);}
.si-t{background:var(--ts);}
.svc-card h3{font-size:1.05rem;margin-bottom:.5rem;}
.svc-card p{font-size:.865rem;line-height:1.76;position:relative;z-index:1;}
.svc-arrow{display:inline-flex;align-items:center;gap:.35rem;font-size:.76rem;font-weight:700;color:var(--cy);margin-top:1rem;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;transition:gap var(--tr);position:relative;z-index:1;}
.svc-arrow:hover{gap:.6rem;opacity:1;}

/* why grid */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;margin-top:2.3rem;}
.why-card{background:var(--sur);border:1px solid var(--bd);border-radius:var(--r);padding:1.6rem 1.35rem;transition:border-color var(--tr),transform var(--tr);}
.why-card:hover{border-color:var(--bd2);transform:translateY(-3px);}
.why-num{font-size:1.3rem;font-weight:800;color:rgba(0,224,255,0.13);letter-spacing:-.03em;margin-bottom:.6rem;}
.why-card h4{margin-bottom:.36rem;}

/* tech grid */
.tech-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--bd);border:1px solid var(--bd);border-radius:var(--rlg);overflow:hidden;margin-top:2.4rem;}
.tech-item{background:var(--bg2);padding:1.55rem 1rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;transition:background var(--tr);cursor:default;}
.tech-item:hover{background:var(--bg3);}
.tech-item span{font-size:.70rem;color:var(--mu);text-align:center;letter-spacing:.02em;font-weight:500;}

/* cta banner */
.cta-banner{background:linear-gradient(135deg,var(--sur) 0%,var(--bg2) 100%);border-top:1px solid var(--bd);border-bottom:1px solid var(--bd);text-align:center;overflow:hidden;position:relative;}
.cta-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:780px;height:360px;pointer-events:none;background:radial-gradient(ellipse,rgba(0,224,255,0.055) 0%,transparent 68%);}
.cta-in{position:relative;z-index:1;}
.cta-in h2{margin-bottom:.72rem;}
.cta-in p{max-width:460px;margin:0 auto 2rem;}
.cta-btns{display:flex;gap:.85rem;justify-content:center;flex-wrap:wrap;}

/* about */
.about-split{display:grid;grid-template-columns:1.1fr 1fr;gap:4rem;align-items:center;}
.about-body p{margin-bottom:.9rem;}
.about-card{background:var(--sur);border:1px solid var(--bd);border-radius:var(--rlg);padding:2.25rem 1.9rem;position:relative;overflow:hidden;}
.about-card::before{content:'';position:absolute;top:-50%;right:-40%;width:280px;height:280px;pointer-events:none;background:radial-gradient(circle,rgba(0,224,255,0.065) 0%,transparent 68%);}
.about-wm{font-size:4.5rem;font-weight:800;color:rgba(0,224,255,0.04);line-height:1;letter-spacing:-.04em;position:absolute;bottom:.5rem;right:1rem;pointer-events:none;user-select:none;}
.pillars{display:flex;flex-direction:column;gap:.75rem;}
.pillar{display:flex;align-items:center;gap:.75rem;padding:.72rem .9rem;background:rgba(255,255,255,.02);border:1px solid var(--bd);border-radius:var(--rsm);transition:border-color var(--tr);}
.pillar:hover{border-color:var(--bd2);}
.p-ico{width:32px;height:32px;border-radius:7px;background:var(--cs);display:flex;align-items:center;justify-content:center;font-size:.88rem;flex-shrink:0;}
.pillar span{font-size:.83rem;font-weight:500;color:var(--tx);}

/* founder */
.founder{background:var(--sur);border:1px solid var(--bd2);border-radius:var(--rlg);padding:2rem 1.85rem;display:grid;grid-template-columns:auto 1fr;gap:1.65rem;align-items:start;position:relative;overflow:hidden;margin-top:2.25rem;}
.founder::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 0% 50%,rgba(0,224,255,0.04) 0%,transparent 65%);}
.f-av{width:72px;height:72px;border-radius:50%;flex-shrink:0;background:var(--sur2);border:2px solid var(--bd2);display:flex;align-items:center;justify-content:center;font-size:1.75rem;font-weight:800;color:var(--cy);position:relative;z-index:1;}
.f-body{position:relative;z-index:1;}
.f-body h3{font-size:1.15rem;margin-bottom:.18rem;}
.f-role{font-size:.70rem;font-weight:700;color:var(--cy);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.75rem;}
.f-body p{font-size:.855rem;margin-bottom:.7rem;}
.f-tags{display:flex;flex-wrap:wrap;gap:.45rem;}
.ftag{background:var(--sur2);border:1px solid var(--bd);border-radius:100px;padding:.2rem .7rem;font-size:.68rem;color:var(--mu);}

/* values */
.vals{display:grid;grid-template-columns:repeat(2,1fr);gap:1.1rem;margin-top:2.3rem;}
.val{background:var(--sur);border:1px solid var(--bd);border-radius:var(--r);padding:1.35rem 1.3rem;transition:border-color var(--tr);}
.val:hover{border-color:var(--bd2);}
.val h4{margin-bottom:.32rem;font-size:.9rem;}

/* services page blocks */
.svc-block{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center;}
.svc-block.rev{direction:rtl;}
.svc-block.rev>*{direction:ltr;}
.svc-vis{background:var(--sur);border:1px solid var(--bd);border-radius:var(--rlg);padding:2.25rem;display:flex;align-items:center;justify-content:center;min-height:200px;position:relative;overflow:hidden;}
.svc-vis::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 50%,rgba(0,224,255,0.048) 0%,transparent 65%);}
.svc-big{font-size:4rem;opacity:.6;}
.svc-body h2{font-size:1.5rem;margin-bottom:.58rem;}
.svc-body p{margin-bottom:.9rem;}
.svc-list{list-style:none;margin-top:.9rem;display:flex;flex-direction:column;gap:.42rem;}
.svc-list li{display:flex;align-items:flex-start;gap:.52rem;font-size:.855rem;color:var(--mu);}
.svc-list li::before{content:'›';color:var(--cy);font-weight:700;flex-shrink:0;margin-top:1px;}
.svc-tags-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.15rem;}
.stag{background:var(--sur2);border:1px solid var(--bd);border-radius:var(--rsm);padding:.26rem .72rem;font-size:.70rem;color:var(--mu);}
.divider{border:none;border-top:1px solid var(--bd);}

/* projects */
.proj-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.6rem;}
.proj{background:var(--sur);border:1px solid var(--bd);border-radius:var(--rlg);overflow:hidden;transition:border-color var(--tr),transform var(--tr),box-shadow var(--tr);}
.proj:hover{border-color:var(--bd2);transform:translateY(-5px);box-shadow:0 20px 50px rgba(0,0,0,.4);}
.proj-thumb{height:168px;display:flex;align-items:center;justify-content:center;font-size:3rem;position:relative;overflow:hidden;}
.pt-c{background:linear-gradient(135deg,rgba(0,224,255,0.10),rgba(0,112,243,0.06));}
.pt-v{background:linear-gradient(135deg,rgba(124,58,237,0.10),rgba(0,224,255,0.05));}
.pt-b{background:linear-gradient(135deg,rgba(0,112,243,0.10),rgba(124,58,237,0.06));}
.pt-g{background:linear-gradient(135deg,rgba(20,184,166,0.10),rgba(0,224,255,0.05));}
.pt-lines{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(0,224,255,0.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,224,255,0.03) 1px,transparent 1px);background-size:20px 20px;}
.proj-body{padding:1.6rem;}
.proj-meta{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem;}
.pbadge{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;padding:.17rem .58rem;border-radius:100px;}
.bc{background:rgba(0,224,255,0.09);color:var(--cy);}
.bv{background:rgba(124,58,237,0.09);color:#a78bfa;}
.bb{background:rgba(0,112,243,0.09);color:#60a5fa;}
.bg{background:rgba(20,184,166,0.09);color:#34d399;}
.proj-body h3{margin-bottom:.42rem;}
.proj-body p{font-size:.845rem;margin-bottom:1.1rem;}
.outcomes{list-style:none;display:flex;flex-direction:column;gap:.3rem;}
.outcomes li{font-size:.79rem;color:var(--mu);display:flex;align-items:center;gap:.42rem;}
.outcomes li::before{content:'✓';color:var(--cy);font-size:.7rem;}

/* process grid */
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.3rem;margin-top:2.3rem;}

/* contact */
.contact-layout{display:grid;grid-template-columns:1fr 1.28fr;gap:4.25rem;align-items:start;}
.ci h3{font-size:1.4rem;margin-bottom:.65rem;}
.ci p{margin-bottom:1.6rem;}
.c-row{display:flex;align-items:center;gap:.7rem;padding:.72rem 0;border-bottom:1px solid var(--bd);}
.c-row:last-of-type{border-bottom:none;}
.c-ico{width:34px;height:34px;border-radius:7px;flex-shrink:0;background:var(--cs);border:1px solid rgba(0,224,255,0.10);display:flex;align-items:center;justify-content:center;font-size:.87rem;}
.c-row span,.c-row a{font-size:.845rem;color:var(--tx);}
.c-row a:hover{color:var(--cy);opacity:1;}
.psteps{display:flex;flex-direction:column;gap:.8rem;margin-top:2.1rem;}
.pstep{display:flex;gap:.7rem;align-items:flex-start;}
.pn{width:25px;height:25px;border-radius:50%;flex-shrink:0;background:var(--cs);border:1px solid var(--bd2);display:flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:700;color:var(--cy);}
.pstep-b p.pt{font-size:.83rem;color:var(--wh);font-weight:600;margin-bottom:.1rem;}
.pstep-b p.pd{font-size:.79rem;}
.cf{background:var(--sur);border:1px solid var(--bd);border-radius:var(--rlg);padding:2rem 1.9rem;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;}
.fg{display:flex;flex-direction:column;gap:.36rem;margin-bottom:.9rem;}
.fg:last-of-type{margin-bottom:0;}
label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--mu);}
input[type="text"],input[type="email"],select,textarea{background:var(--sur2);border:1px solid var(--bd);border-radius:var(--rsm);padding:.68rem .88rem;color:var(--tx);font-family:var(--ff);font-size:.855rem;outline:none;transition:border-color var(--tr);width:100%;}
input::placeholder,textarea::placeholder{color:var(--mu2);}
input:focus,select:focus,textarea:focus{border-color:rgba(0,224,255,0.32);}
select option{background:var(--sur2);}
textarea{resize:vertical;min-height:88px;}
.fsub{width:100%;margin-top:.42rem;padding:.82rem;background:var(--cy);color:var(--bg);border:none;border-radius:var(--rsm);font-family:var(--ff);font-weight:700;font-size:.875rem;cursor:pointer;transition:transform var(--tr),box-shadow var(--tr);}
.fsub:hover{transform:translateY(-1px);box-shadow:var(--sc);}
.faq-list{display:flex;flex-direction:column;gap:.88rem;margin-top:2.3rem;}
.faq{background:var(--sur);border:1px solid var(--bd);border-radius:var(--r);padding:1.15rem 1.35rem;transition:border-color var(--tr);}
.faq:hover{border-color:var(--bd2);}
.faq h4{margin-bottom:.32rem;font-size:.9rem;}
.faq p{font-size:.835rem;}

/* footer */
footer{background:var(--bg2);border-top:1px solid var(--bd);padding:3rem 5% 1.75rem;}
.ft{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;gap:2.6rem;padding-bottom:2.1rem;border-bottom:1px solid var(--bd);margin-bottom:1.65rem;}
.fb p{font-size:.79rem;color:var(--mu);max-width:215px;line-height:1.72;margin-top:.62rem;}
.fc h5{font-size:.70rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--wh);margin-bottom:.85rem;}
.fc ul{list-style:none;}
.fc li{margin-bottom:.42rem;}
.fc a{color:var(--mu);font-size:.79rem;text-decoration:none;transition:color var(--tr);}
.fc a:hover{color:var(--cy);opacity:1;}
.fb-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.85rem;}
.copy{font-size:.72rem;color:var(--mu2);}
.flinks{display:flex;gap:1.1rem;}
.flinks a{font-size:.72rem;color:var(--mu2);text-decoration:none;transition:color var(--tr);}
.flinks a:hover{color:var(--cy);opacity:1;}

/* reveal animations */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .58s ease,transform .58s ease;}
.reveal.in{opacity:1;transform:translateY(0);}
.reveal-l{opacity:0;transform:translateX(-20px);transition:opacity .58s ease,transform .58s ease;}
.reveal-l.in{opacity:1;transform:translateX(0);}
.reveal-r{opacity:0;transform:translateX(20px);transition:opacity .58s ease,transform .58s ease;}
.reveal-r.in{opacity:1;transform:translateX(0);}

/* responsive */
@media(max-width:900px){
  .nav-links{display:none;}.hamburger{display:flex;}
  .hero-layout{grid-template-columns:1fr;gap:2.1rem;}
  .hero-img{order:-1;}.hero-img img{max-width:290px;}
  .svc-grid{grid-template-columns:1fr;}
  .why-grid{grid-template-columns:repeat(2,1fr);}
  .tech-grid{grid-template-columns:repeat(4,1fr);}
  .about-split{grid-template-columns:1fr;gap:2.1rem;}
  .about-card{display:none;}
  .founder{grid-template-columns:1fr;gap:1.1rem;}
  .svc-block,.svc-block.rev{grid-template-columns:1fr;direction:ltr;gap:2rem;}
  .proj-grid{grid-template-columns:1fr;}
  .contact-layout{grid-template-columns:1fr;gap:2.5rem;}
  .ft{grid-template-columns:1fr 1fr;gap:1.65rem;}
  .fb{grid-column:1/-1;}
  .vals{grid-template-columns:1fr;}
  .process-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:600px){
  .pad{padding:58px 0;}
  .svc-grid,.why-grid{grid-template-columns:1fr;}
  .tech-grid{grid-template-columns:repeat(2,1fr);}
  .s-item{flex:1 1 50%;}
  .s-item:nth-child(2n){border-right:none;}
  .s-item:nth-child(n+3){border-top:1px solid var(--bd);}
  .form-row{grid-template-columns:1fr;}
  .ft{grid-template-columns:1fr;}
  .fb-row{flex-direction:column;align-items:flex-start;}
  .hero-ctas,.cta-btns{flex-direction:column;}
  .hero-ctas .btn,.cta-btns .btn{text-align:center;}
}
