
:root{
  --bg:#f7faf6;
  --bg-alt:#eef5eb;
  --surface:#ffffff;
  --surface-2:#f4f8f2;
  --text:#172019;
  --muted:#667269;
  --line:#d7e3d3;
  --primary:#75c62d;
  --primary-dark:#4f9b12;
  --dark:#081013;
  --dark-2:#0c171a;
  --shadow:0 20px 60px rgba(47,77,40,.10);
  --radius:18px;
  color-scheme:light;
}
html[data-theme="dark"]{
  --bg:#03080a;--bg-alt:#071013;--surface:#091417;--surface-2:#0c191c;
  --text:#f5f7f7;--muted:#98a6a9;--line:#1d2d31;--primary:#7bd032;
  --primary-dark:#53aa12;--dark:#020607;--dark-2:#071013;--shadow:0 24px 80px rgba(0,0,0,.38);
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text);line-height:1.6}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.5;background-image:linear-gradient(rgba(93,123,83,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(93,123,83,.035) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,#000,transparent 78%)}
a{text-decoration:none;color:inherit}img{max-width:100%;display:block}button,input,textarea,select{font:inherit}
.container{width:min(1200px,calc(100% - 34px));margin:auto}
.topbar{font-size:12px;background:var(--dark);color:#d9e2e2;padding:8px 0}.topbar .container{display:flex;justify-content:space-between;gap:20px}
.navbar{position:sticky;top:0;z-index:1000;background:color-mix(in srgb,var(--surface) 90%,transparent);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.navwrap{min-height:76px;display:flex;align-items:center;gap:22px}.brand{margin-right:auto;display:flex;align-items:center}.brand img{width:126px;height:52px;object-fit:contain}
.nav{display:flex;gap:18px;align-items:center}.nav>a,.navdrop>button{font-size:14px;font-weight:650;background:transparent;border:0;color:var(--text);padding:27px 0;cursor:pointer}.nav>a:hover,.navdrop>button:hover,.nav .active{color:var(--primary)}
.navdrop{position:relative}.mega{display:none;position:absolute;top:70px;left:50%;transform:translateX(-50%);width:840px;padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);grid-template-columns:repeat(3,1fr);gap:14px}
.navdrop:hover .mega{display:grid}.mega .group h5{margin:0 0 8px;color:var(--primary);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.mega a{display:block;padding:9px 10px;border-radius:9px}.mega a:hover{background:var(--surface-2)}.mega a strong{display:block;font-size:13px}.mega a span{font-size:11px;color:var(--muted)}
.navactions{display:flex;align-items:center;gap:9px}.iconbtn{width:42px;height:42px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--text);cursor:pointer}.menubtn{display:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border:1px solid var(--line);border-radius:10px;font-size:14px;font-weight:800;transition:.25s}.btn:hover{transform:translateY(-2px);border-color:var(--primary)}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#071005;border-color:transparent;box-shadow:0 13px 34px color-mix(in srgb,var(--primary) 22%,transparent)}.btn-dark{background:var(--dark);color:white;border-color:var(--dark)}
.eyebrow{color:var(--primary-dark);font-size:12px;text-transform:uppercase;letter-spacing:.14em;font-weight:900}.pill{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border:1px solid color-mix(in srgb,var(--primary) 35%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--primary) 8%,var(--surface));font-size:12px;font-weight:700}
.hero{padding:82px 0 56px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:54px;align-items:center}.hero h1{font-size:clamp(50px,6.2vw,82px);line-height:1.01;letter-spacing:-.05em;margin:18px 0 20px}.hero h1 span{color:var(--primary-dark)}.lead{font-size:17px;color:var(--muted);max-width:650px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.visual{position:relative}.visual img{border-radius:26px;box-shadow:var(--shadow);border:1px solid var(--line)}.floating{position:absolute;right:-18px;bottom:24px;padding:15px 18px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.floating strong{display:block;font-size:22px;color:var(--primary-dark)}
.trustbar{margin-top:34px;display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.trustbar div{padding:13px 10px;border-top:1px solid var(--line);text-align:center;color:var(--muted);font-size:13px;font-weight:650}
.section{padding:86px 0}.section.alt{background:var(--bg-alt)}.section.dark{background:var(--dark);color:white}.section.dark .muted,.section.dark p{color:#aab6b8}.sectionhead{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:32px}.sectionhead h2{font-size:clamp(34px,4vw,52px);line-height:1.08;letter-spacing:-.04em;margin:6px 0}.sectionhead p{max-width:580px;color:var(--muted)}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);transition:.25s}.card:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--primary) 55%,var(--line))}.card h3{margin:0 0 8px;letter-spacing:-.02em}.card p{margin:0;color:var(--muted);font-size:14px}.service-card .ico{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--primary) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--primary) 32%,var(--line));color:var(--primary-dark);font-weight:900;margin-bottom:18px}.service-card a.more{display:inline-block;margin-top:15px;font-size:13px;font-weight:800;color:var(--primary-dark)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stat{padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:16px}.stat strong{display:block;font-size:34px;color:var(--primary-dark)}.stat span{color:var(--muted);font-size:13px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center}.checklist{display:grid;gap:10px;margin:20px 0}.check{display:flex;gap:10px;align-items:flex-start}.check b{color:var(--primary-dark)}
.process{display:grid;grid-template-columns:repeat(7,1fr);gap:12px}.step{position:relative;text-align:center}.step .no{width:56px;height:56px;border:1px solid var(--primary);border-radius:50%;display:grid;place-items:center;margin:0 auto 14px;background:var(--surface);color:var(--primary-dark);font-weight:900}.step h4{margin:0 0 5px}.step p{font-size:12px;color:var(--muted)}
.tags{display:flex;flex-wrap:wrap;gap:9px}.tag{padding:8px 11px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:12px;font-weight:700}
.project{padding:0;overflow:hidden}.project img{width:100%;height:230px;object-fit:cover}.project .body{padding:20px}.project .meta{font-size:12px;color:var(--primary-dark);font-weight:800}.project .stack{font-size:12px;color:var(--muted);margin-top:8px}
.quote{display:grid;grid-template-columns:.95fr 1.05fr;gap:24px}.quote-panel{padding:32px;border-radius:20px;background:linear-gradient(145deg,var(--dark),#102218);color:white}.quote-panel p{color:#b7c1c2}.form{padding:28px;background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.control{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);outline:none}.control:focus{border-color:var(--primary)}textarea.control{min-height:145px;resize:vertical}
.pagehero{padding:58px 0 42px;background:linear-gradient(180deg,var(--bg-alt),var(--bg));border-bottom:1px solid var(--line)}.pagehero h1{font-size:clamp(42px,5vw,62px);margin:8px 0 6px;letter-spacing:-.045em;line-height:1.02}.breadcrumb{font-size:13px;color:var(--muted)}
.feature-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.feature{display:flex;gap:14px}.feature .ico{width:44px;height:44px;border-radius:10px;background:var(--surface-2);border:1px solid var(--line);display:grid;place-items:center;flex:0 0 44px}
.faq details{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px 18px}.faq details+details{margin-top:10px}.faq summary{cursor:pointer;font-weight:800}.faq p{color:var(--muted)}
.cta{padding:36px;border-radius:20px;background:linear-gradient(130deg,#0a1714,#142813);color:white;border:1px solid rgba(123,208,50,.38);display:flex;align-items:center;justify-content:space-between;gap:24px}.cta p{color:#b9c4c4}
footer{background:var(--dark);color:white;padding:56px 0 24px}.footergrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.25fr;gap:28px}.footergrid .brand img{width:155px;height:72px}.footerlinks{display:grid;gap:9px;color:#aeb9ba;font-size:14px}.newsletter{display:flex}.newsletter input{min-width:0;flex:1;padding:11px;border:1px solid #294047;background:#0b1518;color:white;border-radius:9px 0 0 9px}.newsletter button{border:0;background:var(--primary);padding:0 15px;border-radius:0 9px 9px 0;font-weight:900}.copyright{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #1d2c30;margin-top:34px;padding-top:20px;color:#78888a;font-size:12px}
@media(max-width:1050px){.nav{display:none;position:absolute;top:76px;left:17px;right:17px;padding:18px;flex-direction:column;align-items:stretch;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.nav.open{display:flex}.nav>a,.navdrop>button{padding:8px 0;text-align:left}.navdrop .mega{position:static;display:grid;width:auto;transform:none;margin-top:8px;grid-template-columns:1fr 1fr;box-shadow:none}.menubtn{display:block}.process{grid-template-columns:repeat(4,1fr)}}
@media(max-width:850px){.hero-grid,.split,.quote{grid-template-columns:1fr}.grid4{grid-template-columns:repeat(2,1fr)}.grid3{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:repeat(2,1fr)}.footergrid{grid-template-columns:1fr 1fr}.visual{max-width:650px}.floating{right:10px}}
@media(max-width:620px){.topbar{display:none}.grid2,.grid3,.grid4,.feature-row,.formgrid,.footergrid{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.process{grid-template-columns:1fr 1fr}.sectionhead,.cta,.copyright{flex-direction:column;align-items:flex-start}.trustbar{grid-template-columns:repeat(2,1fr)}.hero{padding-top:52px}.hero h1{font-size:48px}.navactions .btn-primary{display:none}.navdrop .mega{grid-template-columns:1fr}.floating{position:static;margin-top:12px}}

/* =========================================================
   FINAL APPROVED ABJONX HEADER
   Light = white header + dark AbjonX wordmark + green accent
   Dark  = navy header + white/silver wordmark + green accent
   ========================================================= */

.navbar{
  min-height:82px !important;
  border-bottom:1px solid rgba(111,197,39,.20) !important;
  box-shadow:0 4px 18px rgba(22,45,17,.04) !important;
}

.navwrap{
  min-height:82px !important;
  gap:26px !important;
}

html[data-theme="light"] .navbar{
  background:#ffffff !important;
}

html[data-theme="dark"] .navbar{
  background:#0b1726 !important;
  border-bottom-color:rgba(115,207,39,.35) !important;
}

.navwrap .brand{
  min-width:235px !important;
  margin-right:auto !important;
  display:flex !important;
  align-items:center !important;
}

.navwrap .brand-logo-wrap{
  position:relative !important;
  display:block !important;
  width:235px !important;
  height:68px !important;
  flex:0 0 235px !important;
  overflow:hidden !important;
  background:transparent !important;
}

.navwrap .brand-logo{
  position:absolute !important;
  inset:0 !important;
  width:235px !important;
  height:68px !important;
  object-fit:cover !important;
  object-position:center center !important;
  border:0 !important;
  box-shadow:none !important;
  filter:none !important;
  transform:none !important;
}

/* exact theme visibility */
html[data-theme="light"] .navwrap .logo-light{
  opacity:1 !important;
  visibility:visible !important;
}
html[data-theme="light"] .navwrap .logo-dark{
  opacity:0 !important;
  visibility:hidden !important;
}
html[data-theme="dark"] .navwrap .logo-light{
  opacity:0 !important;
  visibility:hidden !important;
}
html[data-theme="dark"] .navwrap .logo-dark{
  opacity:1 !important;
  visibility:visible !important;
}

/* menu look like approved mockup */
.nav{
  gap:24px !important;
}

.nav>a,
.navdrop>button{
  font-size:15px !important;
  font-weight:750 !important;
  letter-spacing:-.01em !important;
}

html[data-theme="light"] .nav>a,
html[data-theme="light"] .navdrop>button{
  color:#101820 !important;
}

html[data-theme="dark"] .nav>a,
html[data-theme="dark"] .navdrop>button{
  color:#f4f6f8 !important;
}

.nav>a.active,
.nav>a:hover,
.navdrop>button:hover{
  color:var(--primary-dark) !important;
}

html[data-theme="dark"] .nav>a.active,
html[data-theme="dark"] .nav>a:hover,
html[data-theme="dark"] .navdrop>button:hover{
  color:var(--primary) !important;
}

/* active underline */
.nav>a.active{
  position:relative !important;
}
.nav>a.active:after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:18px !important;
  height:2px !important;
  border-radius:2px !important;
  background:var(--primary) !important;
}

/* theme button */
.navbar .iconbtn{
  width:46px !important;
  height:46px !important;
  border-radius:12px !important;
  font-size:19px !important;
}

html[data-theme="light"] .navbar .iconbtn{
  background:#ffffff !important;
  color:#111820 !important;
  border-color:#d9e4d5 !important;
}

html[data-theme="dark"] .navbar .iconbtn{
  background:#101d2d !important;
  color:#ffffff !important;
  border-color:#2d4055 !important;
}

/* quote button */
.navbar .btn-primary{
  min-height:46px !important;
  padding:0 22px !important;
  border-radius:12px !important;
  font-size:15px !important;
  font-weight:850 !important;
  background:linear-gradient(135deg,#78d22f,#4ca60b) !important;
  color:#071005 !important;
  box-shadow:0 10px 26px rgba(92,178,21,.18) !important;
}

/* Footer always dark + use dark logo */
footer{
  background:#0b1726 !important;
}
footer .logo-light{
  opacity:0 !important;
  visibility:hidden !important;
}
footer .logo-dark{
  opacity:1 !important;
  visibility:visible !important;
}
footer .brand-logo-wrap{
  width:245px !important;
  height:74px !important;
  flex:0 0 245px !important;
}
footer .brand-logo{
  width:245px !important;
  height:74px !important;
  object-fit:cover !important;
  filter:none !important;
  box-shadow:none !important;
}

/* Mobile */
@media(max-width:1050px){
  .navwrap .brand{
    min-width:190px !important;
  }
  .navwrap .brand-logo-wrap{
    width:190px !important;
    height:58px !important;
    flex-basis:190px !important;
  }
  .navwrap .brand-logo{
    width:190px !important;
    height:58px !important;
  }
  .nav{
    background:var(--surface) !important;
  }
  html[data-theme="dark"] .nav{
    background:#0b1726 !important;
  }
}

@media(max-width:620px){
  .navwrap{
    min-height:70px !important;
  }
  .navwrap .brand{
    min-width:150px !important;
  }
  .navwrap .brand-logo-wrap{
    width:150px !important;
    height:48px !important;
    flex-basis:150px !important;
  }
  .navwrap .brand-logo{
    width:150px !important;
    height:48px !important;
  }
}


/* =========================================================
   FINAL CRIXSOL-STYLE FOOTER FOR ABJONX
   ========================================================= */
.site-footer{
  position:relative;
  background:#0d182d !important;
  color:#f7f9fb;
  padding:58px 0 0;
  border-top:1px solid rgba(255,255,255,.05);
}
.footer-main{
  display:grid;
  grid-template-columns:1.55fr .8fr .9fr 1.1fr;
  gap:58px;
  padding-bottom:72px;
}
.footer-about{
  max-width:460px;
}
.footer-brand{
  display:inline-flex !important;
  min-width:0 !important;
  margin-bottom:22px;
}
.footer-brand .brand-logo-wrap{
  width:230px !important;
  height:66px !important;
  flex:0 0 230px !important;
}
.footer-brand .brand-logo{
  width:230px !important;
  height:66px !important;
  object-fit:cover !important;
  filter:none !important;
  box-shadow:none !important;
}
.site-footer .logo-light{
  opacity:0 !important;
  visibility:hidden !important;
}
.site-footer .logo-dark{
  opacity:1 !important;
  visibility:visible !important;
}
.footer-about > p{
  margin:0;
  max-width:470px;
  color:#9fb1d1 !important;
  font-size:16px;
  line-height:1.9;
}
.site-footer h3{
  margin:4px 0 26px;
  color:#fff;
  font-size:20px;
  font-weight:800;
  letter-spacing:-.02em;
}
.social-links{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:28px;
}
.social-links a{
  width:50px;
  height:50px;
  display:grid;
  place-items:center;
  border-radius:13px;
  font-weight:800;
  background:#1e68e5;
  color:#fff;
  border:1px solid rgba(255,255,255,.05);
  transition:.2s ease;
}
.social-links a:nth-child(2){background:#0f6fc9}
.social-links a:nth-child(3){background:linear-gradient(135deg,#f1486b,#f38b36)}
.social-links a:nth-child(4){background:#030303}
.social-links a:nth-child(5){background:#ff1111}
.social-links a:nth-child(6){background:#25d366}
.social-links a:hover{
  transform:translateY(-3px);
}
.footer-links-list,
.footer-services-list{
  display:grid;
  gap:15px;
}
.footer-links-list a,
.footer-services-list a{
  color:#f4f6fa;
  font-size:17px;
  transition:.2s;
}
.footer-links-list a:hover,
.footer-services-list a:hover,
.footer-bottom-links a:hover{
  color:var(--primary);
}
.footer-services-list a{
  display:flex;
  align-items:center;
  gap:11px;
}
.footer-services-list a span{
  width:26px;
  text-align:center;
}
.footer-services-list .all-services{
  margin-top:8px;
  color:#fff;
  font-weight:800;
  font-size:14px;
}
.contact-list{
  display:grid;
  gap:17px;
}
.contact-list > div{
  display:flex;
  align-items:flex-start;
  gap:12px;
}
.contact-list > div > span{
  margin-top:2px;
  flex:0 0 22px;
}
.contact-list p{
  margin:0;
  color:#e9edf7 !important;
  font-size:16px;
  line-height:1.6;
}
.footer-newsletter{
  margin-top:38px;
}
.footer-newsletter h3{
  margin-bottom:18px;
}
.footer-newsletter > p{
  color:#9fb1d1 !important;
  margin:0 0 14px;
  font-size:14px;
}
.newsletter-form{
  display:flex;
  width:100%;
  max-width:330px;
}
.newsletter-form input{
  flex:1;
  min-width:0;
  height:56px;
  padding:0 18px;
  border:1px solid #34435d;
  border-radius:14px 0 0 14px;
  background:#1b273d;
  color:#fff;
  outline:none;
}
.newsletter-form input::placeholder{
  color:#7184a7;
}
.newsletter-form button{
  width:64px;
  border:0;
  border-radius:0 14px 14px 0;
  background:#2867e9;
  color:#fff;
  font-size:20px;
  cursor:pointer;
}
.footer-bottom{
  min-height:82px;
  padding:24px 0;
  border-top:1px solid #24314a;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:26px;
  color:#7184a7;
  font-size:14px;
}
.footer-bottom-links{
  display:flex;
  gap:34px;
  flex-wrap:wrap;
}
.footer-bottom-links a{
  color:#7184a7;
  transition:.2s;
}
.scroll-top,
.whatsapp-float{
  position:fixed;
  right:28px;
  z-index:900;
  display:grid;
  place-items:center;
  color:#fff;
  box-shadow:0 10px 30px rgba(0,0,0,.28);
}
.scroll-top{
  bottom:106px;
  width:58px;
  height:58px;
  border-radius:14px;
  background:#2867e9;
  font-size:23px;
}
.whatsapp-float{
  bottom:28px;
  width:72px;
  height:72px;
  border-radius:50%;
  background:#25d366;
  font-size:30px;
  border:6px solid rgba(255,255,255,.04);
}
@media(max-width:1050px){
  .footer-main{
    grid-template-columns:1.35fr 1fr;
    gap:42px;
  }
}
@media(max-width:680px){
  .footer-main{
    grid-template-columns:1fr;
    gap:38px;
    padding-bottom:50px;
  }
  .footer-bottom{
    flex-direction:column;
    align-items:flex-start;
  }
  .footer-bottom-links{
    gap:18px;
  }
  .scroll-top{
    right:18px;
    bottom:96px;
    width:50px;
    height:50px;
  }
  .whatsapp-float{
    right:18px;
    bottom:22px;
    width:62px;
    height:62px;
  }
}


/* =========================================================
   ABJONX PREMIUM MOTION / HOVER SYSTEM
   Inspired by modern agency interaction patterns.
   ========================================================= */
:root{
  --ease:cubic-bezier(.2,.7,.2,1);
}
body{overflow-x:hidden}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.in-view{opacity:1;transform:none}
.reveal-left{opacity:0;transform:translateX(-34px);transition:opacity .75s var(--ease),transform .75s var(--ease)}
.reveal-right{opacity:0;transform:translateX(34px);transition:opacity .75s var(--ease),transform .75s var(--ease)}
.reveal-left.in-view,.reveal-right.in-view{opacity:1;transform:none}

.card,.project,.service-card,.stat,.feature,.step{
  transition:transform .32s var(--ease),box-shadow .32s var(--ease),border-color .32s var(--ease),background .32s var(--ease);
}
.card:hover,.service-card:hover{
  transform:translateY(-9px);
  box-shadow:0 26px 70px rgba(52,93,38,.14);
}
html[data-theme="dark"] .card:hover,
html[data-theme="dark"] .service-card:hover{
  box-shadow:0 28px 80px rgba(0,0,0,.48),0 0 0 1px rgba(123,208,50,.12);
}
.service-card .ico{
  transition:transform .35s var(--ease),background .35s var(--ease),color .35s var(--ease);
}
.service-card:hover .ico{
  transform:rotate(-6deg) scale(1.08);
  background:var(--primary);
  color:#081005;
}
.project{position:relative}
.project img{transition:transform .55s var(--ease),filter .55s var(--ease)}
.project:hover img{transform:scale(1.055);filter:saturate(1.08)}
.project:after{
  content:"View Project →";
  position:absolute;right:16px;top:16px;padding:9px 12px;border-radius:999px;
  background:rgba(8,16,19,.82);color:#fff;font-size:12px;font-weight:800;
  opacity:0;transform:translateY(-8px);transition:.28s var(--ease)
}
.project:hover:after{opacity:1;transform:none}
.btn{position:relative;overflow:hidden}
.btn:before{
  content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent,rgba(255,255,255,.28),transparent);
  transform:translateX(-130%);transition:transform .55s var(--ease)
}
.btn:hover:before{transform:translateX(130%)}
.nav>a,.navdrop>button{position:relative}
.nav>a:not(.active):after,.navdrop>button:after{
  content:"";position:absolute;left:0;right:100%;bottom:17px;height:2px;background:var(--primary);
  transition:right .28s var(--ease)
}
.nav>a:hover:after,.navdrop>button:hover:after{right:0}
.hero .visual{animation:heroFloat 5.5s ease-in-out infinite}
@keyframes heroFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.floating{animation:floatBadge 4s ease-in-out infinite}
@keyframes floatBadge{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
.marquee-shell{overflow:hidden;border-block:1px solid var(--line);background:var(--surface)}
.marquee-track{display:flex;width:max-content;gap:34px;padding:15px 0;animation:marquee 28s linear infinite}
.marquee-track:hover{animation-play-state:paused}
.marquee-item{font-weight:800;color:var(--muted);white-space:nowrap}
@keyframes marquee{to{transform:translateX(-50%)}}
.counter{font-variant-numeric:tabular-nums}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.form label{display:block;margin:12px 0 6px;font-size:14px;font-weight:700;color:var(--text)}
.form .formgrid label{margin-top:0}
.form textarea{min-height:140px;resize:vertical}
.form .btn{width:100%;margin-top:16px}
.form-note{font-size:13px;color:var(--muted)}
.map-card{margin-top:18px;min-height:260px;display:grid;place-items:center;text-align:center;background:linear-gradient(145deg,var(--surface),var(--surface-2))}
.legal-copy{max-width:900px;margin:auto}.legal-copy h3{margin-top:28px}.legal-copy p{line-height:1.75}
:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 70%,white);outline-offset:3px}
.social-links,.social-side{display:none!important}
.process .step:hover .no{transform:scale(1.08);box-shadow:0 0 0 8px color-mix(in srgb,var(--primary) 10%,transparent)}
.team-card{overflow:hidden;padding:0}
.team-card .avatar{
  height:230px;display:grid;place-items:center;
  background:linear-gradient(145deg,color-mix(in srgb,var(--primary) 12%,var(--surface)),var(--surface-2));
  font-size:66px;font-weight:900;color:var(--primary-dark)
}
.team-card .body{padding:20px}
.team-card:hover .avatar{background:linear-gradient(145deg,color-mix(in srgb,var(--primary) 22%,var(--surface)),var(--surface-2))}
.testimonial-slider{overflow:hidden;position:relative}
.testimonial-track{display:flex;gap:18px;transition:transform .5s var(--ease)}
.testimonial-card{min-width:calc(33.333% - 12px)}
.stars{color:#f4b400;letter-spacing:2px;margin-bottom:12px}
.filterbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px}
.filterbtn{padding:9px 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--text);cursor:pointer;font-weight:750}
.filterbtn.active,.filterbtn:hover{background:var(--primary);color:#071005;border-color:var(--primary)}
.project.filtered-out{display:none}
.code-panel{background:#081013;border:1px solid #203039;border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}
.code-top{display:flex;justify-content:space-between;align-items:center;padding:12px 15px;background:#0d191d;color:#b9c6c8;font-size:12px}
.code-dots{display:flex;gap:6px}.code-dots i{width:9px;height:9px;border-radius:50%;background:#ff6b6b}.code-dots i:nth-child(2){background:#ffd166}.code-dots i:nth-child(3){background:#66d18f}
.code-body{padding:22px;color:#d9e6e8;font:14px/1.8 ui-monospace,SFMono-Regular,Menlo,monospace;min-height:260px}
.code-body .g{color:#7bd032}.code-body .b{color:#58b7ff}.code-body .m{color:#b49cff}.code-body .y{color:#ffd166}
.progress-line{height:7px;background:#17262b;border-radius:999px;overflow:hidden;margin-top:10px}
.progress-line span{display:block;height:100%;width:92%;background:linear-gradient(90deg,var(--primary),#a8f06a);animation:loadline 2.2s ease-out}
@keyframes loadline{from{width:0}}
.industry-card{min-height:150px;display:flex;flex-direction:column;justify-content:space-between}
.industry-card .emoji{font-size:28px}
.blog-card{padding:0;overflow:hidden}.blog-card img{height:210px;width:100%;object-fit:cover;transition:transform .5s var(--ease)}.blog-card:hover img{transform:scale(1.05)}.blog-card .body{padding:20px}
.faq details{overflow:hidden;transition:border-color .25s var(--ease),box-shadow .25s var(--ease)}
.faq details[open]{border-color:color-mix(in srgb,var(--primary) 45%,var(--line));box-shadow:0 12px 34px rgba(57,93,46,.08)}
.faq summary{list-style:none;display:flex;justify-content:space-between;gap:18px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--primary-dark);font-size:20px}.faq details[open] summary:after{content:"−"}
.logo-cloud{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.logo-cloud div{padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--surface);text-align:center;font-weight:850;color:var(--muted);transition:.25s}.logo-cloud div:hover{transform:translateY(-4px);color:var(--primary-dark);border-color:var(--primary)}
@media(max-width:900px){.testimonial-card{min-width:calc(50% - 9px)}.logo-cloud{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.testimonial-card{min-width:100%}.logo-cloud{grid-template-columns:repeat(2,1fr)}}


/* =========================================================
   FINAL CROSS-PAGE CONSISTENCY AUDIT FIX
   ========================================================= */

/* --- clean transparent logos: SAME SIZE on every page --- */
.brand-logo-wrap{
  position:relative !important;
  display:block !important;
  overflow:visible !important;
  background:transparent !important;
}
.navwrap .brand{
  min-width:222px !important;
  margin-right:auto !important;
}
.navwrap .brand-logo-wrap{
  width:222px !important;
  height:64px !important;
  flex:0 0 222px !important;
}
.navwrap .brand-logo{
  position:absolute !important;
  inset:0 !important;
  width:222px !important;
  height:64px !important;
  object-fit:contain !important;
  object-position:left center !important;
  background:transparent !important;
  box-shadow:none !important;
  border:0 !important;
  filter:none !important;
}
html[data-theme="light"] .logo-light{opacity:1 !important;visibility:visible !important}
html[data-theme="light"] .logo-dark{opacity:0 !important;visibility:hidden !important}
html[data-theme="dark"] .logo-light{opacity:0 !important;visibility:hidden !important}
html[data-theme="dark"] .logo-dark{opacity:1 !important;visibility:visible !important}

/* Header consistency */
.navbar{min-height:82px !important}
.navwrap{min-height:82px !important}
html[data-theme="light"] .navbar{background:#fff !important}
html[data-theme="dark"] .navbar{background:#0d182d !important}
html[data-theme="light"] .nav>a,
html[data-theme="light"] .navdrop>button{color:#121a20 !important}
html[data-theme="dark"] .nav>a,
html[data-theme="dark"] .navdrop>button{color:#f5f7fb !important}

/* footer dark logo consistent */
.site-footer .brand-logo-wrap,
footer .brand-logo-wrap{
  width:215px !important;
  height:66px !important;
  flex:0 0 215px !important;
}
.site-footer .brand-logo,
footer .brand-logo{
  width:215px !important;
  height:66px !important;
  object-fit:contain !important;
  object-position:left center !important;
}
.site-footer .logo-light,
footer .logo-light{opacity:0 !important;visibility:hidden !important}
.site-footer .logo-dark,
footer .logo-dark{opacity:1 !important;visibility:visible !important}

/* Inline SVG reliability */
.svg-icon,
.social-links svg,
.social-side svg,
.whatsapp-float svg,
.scroll-top svg,
.footer-services-list svg{
  width:22px;
  height:22px;
  display:block;
  fill:currentColor;
}
.social-links a{
  line-height:0;
}
.social-links a svg{width:20px;height:20px}

/* floating right social bar */
.social-side{
  position:fixed;
  right:0;
  top:50%;
  transform:translateY(-50%);
  z-index:850;
  display:grid;
  gap:1px;
  overflow:hidden;
  border-radius:12px 0 0 12px;
  box-shadow:0 14px 34px rgba(0,0,0,.18);
}
.social-side a{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  color:#fff;
  background:#0d182d;
  transition:background .22s ease,transform .22s ease;
}
.social-side a:hover{
  background:var(--primary-dark);
  transform:translateX(-3px);
}
.social-side svg{width:18px;height:18px}

/* smooth motion is identical across all pages */
.card,.service-card,.project,.industry-card,.team-card,.stat,.step{
  will-change:transform;
}
.reveal,.reveal-left,.reveal-right{
  will-change:opacity,transform;
}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
  .reveal,.reveal-left,.reveal-right{opacity:1 !important;transform:none !important}
}

/* no icon clipping */
.service-card .ico,
.feature .ico{
  overflow:visible !important;
  line-height:1 !important;
}

/* Light/Dark menus same dimensions */
.navbar .btn-primary{
  white-space:nowrap;
}
.iconbtn{
  display:grid !important;
  place-items:center !important;
}

/* WhatsApp + scroll top */
.whatsapp-float,
.scroll-top{
  display:grid !important;
  place-items:center !important;
}
.whatsapp-float svg{width:30px;height:30px}
.scroll-top svg{width:25px;height:25px}

/* Prevent horizontal overflow caused by hover transforms */
main,.section,.pagehero,.hero,footer{overflow-x:clip}

@media(max-width:1050px){
  .social-side{display:none}
  .navwrap .brand{min-width:185px !important}
  .navwrap .brand-logo-wrap{width:185px !important;height:56px !important;flex-basis:185px !important}
  .navwrap .brand-logo{width:185px !important;height:56px !important}
}
@media(max-width:620px){
  .navwrap .brand{min-width:145px !important}
  .navwrap .brand-logo-wrap{width:145px !important;height:46px !important;flex-basis:145px !important}
  .navwrap .brand-logo{width:145px !important;height:46px !important}
}


/* =========================================================
   TECHNOLOGY BRAND ICON CHIPS
   ========================================================= */
.tech-marquee{
  background:var(--surface);
}
.tech-marquee .marquee-track{
  gap:18px;
  padding:18px 0;
}
.tech-chip{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-width:max-content;
  padding:10px 16px 10px 10px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--surface);
  box-shadow:0 8px 24px rgba(43,76,36,.06);
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.tech-chip:hover{
  transform:translateY(-4px);
  border-color:color-mix(in srgb,var(--chip-color) 55%,var(--line));
  box-shadow:0 14px 34px color-mix(in srgb,var(--chip-color) 15%,transparent);
}
.tech-chip b{
  font-size:14px;
  color:var(--text);
}
.tech-logo{
  --size:40px;
  width:var(--size);
  height:var(--size);
  flex:0 0 var(--size);
  display:grid;
  place-items:center;
  border-radius:11px;
  background:color-mix(in srgb,var(--chip-color) 13%,var(--surface));
  color:var(--chip-color);
  border:1px solid color-mix(in srgb,var(--chip-color) 30%,var(--line));
  font-weight:900;
  font-size:14px;
  letter-spacing:-.04em;
  position:relative;
}
.shopify{--chip-color:#7ab55c}
.woocommerce{--chip-color:#96588a}
.laravel{--chip-color:#ff2d20}
.node{--chip-color:#68a063}
.php{--chip-color:#777bb4}
.mysql{--chip-color:#00758f}
.flutter{--chip-color:#42a5f5}
.react{--chip-color:#61dafb}
.aws{--chip-color:#ff9900}

/* Shopify-style bag icon */
.shopify .tech-logo{
  border-radius:9px 9px 12px 12px;
}
.shopify .tech-logo:before{
  content:"";
  position:absolute;
  width:18px;
  height:10px;
  border:2px solid currentColor;
  border-bottom:0;
  border-radius:10px 10px 0 0;
  top:5px;
  left:50%;
  transform:translateX(-50%);
}
.shopify .bag{
  transform:translateY(4px);
  font-size:16px;
}

/* Laravel-style angular mark */
.laravel-mark{
  font-size:0;
}
.laravel-mark:before,
.laravel-mark:after{
  content:"";
  position:absolute;
  width:15px;
  height:15px;
  border:2px solid currentColor;
  transform:rotate(30deg) skewY(-10deg);
}
.laravel-mark:before{left:8px;top:10px}
.laravel-mark:after{right:7px;bottom:8px}

/* Node-style hexagon */
.node-mark{
  clip-path:polygon(25% 6%,75% 6%,100% 50%,75% 94%,25% 94%,0 50%);
  border-radius:0;
  color:#fff;
  background:var(--chip-color);
  border:none;
  font-size:17px;
}

/* WooCommerce speech-bubble feel */
.woocommerce .tech-logo{
  border-radius:12px 12px 12px 4px;
  background:var(--chip-color);
  color:#fff;
  border:none;
  font-size:17px;
}

/* PHP / AWS labels need smaller type */
.php .tech-logo,.aws .tech-logo{
  font-size:11px;
  letter-spacing:-.05em;
}

html[data-theme="dark"] .tech-chip{
  box-shadow:none;
  background:#0c171a;
}
@media(max-width:620px){
  .tech-logo{--size:36px}
  .tech-chip{padding-right:13px}
}


/* =========================================================
   FINAL RESPONSIVE + CONTACT + SIDE ICON FIX
   ========================================================= */

/* Prevent hidden/overflow issues */
html, body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}
img, svg, video, iframe{
  max-width:100%;
}

/* Side social bar - always visible on desktop/tablet */
.social-side{
  position:fixed !important;
  right:0 !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  z-index:9998 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:2px !important;
  width:48px !important;
  visibility:visible !important;
  opacity:1 !important;
}
.social-side a{
  width:48px !important;
  height:48px !important;
  display:grid !important;
  place-items:center !important;
  background:#0d182d !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.08) !important;
  border-right:0 !important;
}
.social-side a:hover{
  background:var(--primary-dark) !important;
  transform:translateX(-4px) !important;
}
.social-side svg{
  width:21px !important;
  height:21px !important;
  display:block !important;
  fill:currentColor !important;
}

/* Footer social SVGs */
.social-links a{
  display:grid !important;
  place-items:center !important;
}
.social-links svg{
  width:20px !important;
  height:20px !important;
  display:block !important;
  fill:currentColor !important;
}

/* Common content sizing */
.container{
  width:min(1200px, calc(100% - 40px)) !important;
}
.hero-grid,
.split,
.quote{
  min-width:0;
}
.card,
.project,
.service-card{
  min-width:0;
}
.navwrap{
  min-width:0;
}

/* Large desktop */
@media (min-width:1400px){
  .container{width:min(1280px, calc(100% - 64px)) !important}
  .hero h1{font-size:clamp(56px,5.5vw,86px) !important}
}

/* iPad landscape / small laptop */
@media (max-width:1180px){
  .nav{gap:14px !important}
  .nav>a,.navdrop>button{font-size:14px !important}
  .navbar .btn-primary{padding:0 16px !important}
  .hero-grid{gap:34px !important}
}

/* iPad portrait / tablet */
@media (max-width:1024px){
  .container{width:min(100% - 32px, 960px) !important}
  .menubtn{display:grid !important}
  .nav{
    display:none !important;
    position:absolute !important;
    top:82px !important;
    left:16px !important;
    right:16px !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
    padding:16px !important;
    border:1px solid var(--line) !important;
    border-radius:14px !important;
    background:var(--surface) !important;
    box-shadow:var(--shadow) !important;
    max-height:calc(100vh - 110px) !important;
    overflow-y:auto !important;
  }
  html[data-theme="dark"] .nav{background:#0d182d !important}
  .nav.open{display:flex !important}
  .nav>a,.navdrop>button{
    width:100% !important;
    padding:12px 4px !important;
    text-align:left !important;
  }
  .navdrop .mega{
    position:static !important;
    display:grid !important;
    transform:none !important;
    width:100% !important;
    margin-top:8px !important;
    grid-template-columns:repeat(2,1fr) !important;
    box-shadow:none !important;
  }
  .hero-grid,.split,.quote{grid-template-columns:1fr !important}
  .grid4{grid-template-columns:repeat(2,1fr) !important}
  .grid3{grid-template-columns:repeat(2,1fr) !important}
  .footer-main{grid-template-columns:1.2fr 1fr !important}
  .social-side{display:flex !important}
}

/* Tablet narrow / large phone */
@media (max-width:768px){
  .container{width:calc(100% - 24px) !important}
  .topbar{display:none !important}
  .navbar,.navwrap{min-height:72px !important}
  .nav{top:72px !important}
  .navdrop .mega{grid-template-columns:1fr !important}
  .grid2,.grid3,.grid4,.stats,.feature-row,.formgrid,.footer-main{grid-template-columns:1fr !important}
  .hero{padding:48px 0 34px !important}
  .hero h1{font-size:clamp(40px,10vw,58px) !important}
  .section{padding:58px 0 !important}
  .sectionhead{align-items:flex-start !important;flex-direction:column !important}
  .cta{align-items:flex-start !important;flex-direction:column !important}
  .testimonial-card{min-width:100% !important}
  .site-footer{padding-top:44px !important}
  .footer-bottom{flex-direction:column !important;align-items:flex-start !important}
  .footer-bottom-links{gap:14px !important}
  .social-side{
    position:fixed !important;
    right:10px !important;
    top:auto !important;
    bottom:110px !important;
    transform:none !important;
    flex-direction:row !important;
    width:auto !important;
    border-radius:12px !important;
    overflow:hidden !important;
  }
  .social-side a{
    width:42px !important;
    height:42px !important;
    border-right:1px solid rgba(255,255,255,.08) !important;
  }
}

/* iPhone / small Android */
@media (max-width:480px){
  .container{width:calc(100% - 20px) !important}
  .navwrap .brand{min-width:132px !important}
  .navwrap .brand-logo-wrap{width:132px !important;height:44px !important;flex-basis:132px !important}
  .navwrap .brand-logo{width:132px !important;height:44px !important}
  .navactions{gap:6px !important}
  .navbar .iconbtn{width:40px !important;height:40px !important}
  .navbar .btn-primary{display:none !important}
  .hero h1{font-size:38px !important}
  .lead{font-size:15px !important}
  .actions{gap:8px !important}
  .btn{width:100% !important}
  .stats{grid-template-columns:1fr !important}
  .process{grid-template-columns:1fr !important}
  .social-side{
    right:8px !important;
    bottom:92px !important;
  }
  .social-side a{
    width:38px !important;
    height:38px !important;
  }
  .whatsapp-float{
    width:58px !important;
    height:58px !important;
    right:14px !important;
    bottom:20px !important;
  }
  .scroll-top{
    width:46px !important;
    height:46px !important;
    right:14px !important;
    bottom:86px !important;
  }
}

/* iPhone SE / very narrow */
@media (max-width:360px){
  .navwrap .brand{min-width:118px !important}
  .navwrap .brand-logo-wrap{width:118px !important;flex-basis:118px !important}
  .navwrap .brand-logo{width:118px !important}
  .hero h1{font-size:34px !important}
  .social-side{display:none !important}
}


/* ===== AbjonX WhatsApp Floating Button ===== */
.whatsapp-float{
    position:fixed !important;
    right:22px !important;
    bottom:22px !important;
    width:58px !important;
    height:58px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:0 !important;
    border-radius:50% !important;
    background:#25D366 !important;
    color:#fff !important;
    border:0 !important;
    text-decoration:none !important;
    box-shadow:0 8px 25px rgba(0,0,0,.20) !important;
    z-index:10000 !important;
    transition:transform .25s ease,box-shadow .25s ease !important;
}

.whatsapp-float svg{
    display:block !important;
    width:32px !important;
    height:32px !important;
    fill:currentColor !important;
    color:#fff !important;
}

.whatsapp-float:hover{
    background:#20bd5a !important;
    color:#fff !important;
    transform:translateY(-4px) scale(1.05) !important;
    box-shadow:0 12px 30px rgba(37,211,102,.35) !important;
}

@media(max-width:768px){
    .whatsapp-float{
        right:14px !important;
        bottom:18px !important;
        width:54px !important;
        height:54px !important;
    }
    .whatsapp-float svg{
        width:29px !important;
        height:29px !important;
    }
}

@media(max-width:480px){
    .whatsapp-float{
        right:14px !important;
        bottom:18px !important;
        width:52px !important;
        height:52px !important;
    }
    .whatsapp-float svg{
        width:28px !important;
        height:28px !important;
    }
}
