:root{
  --navy:#1F2A8C;
  --royal:#2E3FE0;
  --cyan:#27C2E0;
  --mint:#34EFC0;
  --ink:#0E1330;
  --paper:#F6F8FC;
  --white:#FFFFFF;
  --gray:#5A6178;
  --line:#E4E8F2;
  --shadow:0 20px 50px -20px rgba(31,42,140,.25);
  --grad: linear-gradient(135deg,var(--royal) 0%, var(--navy) 55%, var(--cyan) 100%);
  --grad-accent: linear-gradient(90deg,var(--cyan),var(--mint));
  --radius:18px;
  --maxw:1180px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  color:var(--ink);
  background:var(--white);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family:'Poppins',Inter,sans-serif;
  margin:0 0 .5em;
  line-height:1.15;
  letter-spacing:-.01em;
  color:var(--navy);
}
p{margin:0 0 1em;color:var(--gray);}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
section{padding:96px 0;}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--royal);background:rgba(46,63,224,.08);
  padding:6px 14px;border-radius:999px;margin-bottom:18px;
}
.eyebrow::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--mint);}
.section-head{max-width:680px;margin-bottom:56px;}
.section-head.center{margin-inline:auto;text-align:center;}
.btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:15px 30px;border-radius:999px;font-weight:600;font-size:.95rem;
  border:none;cursor:pointer;transition:.25s ease;white-space:nowrap;
}
.btn-primary{background:var(--grad);color:var(--white);box-shadow:var(--shadow);}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 25px 40px -18px rgba(31,42,140,.4);}
.btn-ghost{background:var(--white);color:var(--navy);border:1.5px solid var(--line);}
.btn-ghost:hover{border-color:var(--royal);color:var(--royal);}
.btn-light{background:rgba(255,255,255,.15);color:var(--white);border:1.5px solid rgba(255,255,255,.5);}
.btn-light:hover{background:var(--white);color:var(--navy);}

/* HEADER */
header{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  background:rgba(255,255,255,.85);backdrop-filter:blur(14px);
  border-bottom:1px solid transparent;
  transition:.3s ease;
}
header.scrolled{border-bottom-color:var(--line);box-shadow:0 8px 30px -20px rgba(0,0,0,.15);}
.nav{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;max-width:var(--maxw);margin:0 auto;}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:1.15rem;color:var(--navy);}
.brand img{height:42px;width:auto;}
.nav-links{display:flex;align-items:center;gap:34px;}
.nav-links a{font-weight:600;font-size:.92rem;color:var(--ink);position:relative;padding:6px 0;}
.nav-links a::after{content:'';position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--grad-accent);transition:.25s;}
.nav-links a:hover::after{width:100%;}
.nav-links a.active{color:var(--royal);}
.nav-links a.active::after{width:100%;}

/* inner page hero */
.page-hero{background:var(--grad);color:#fff;padding:150px 0 70px;position:relative;overflow:hidden;}
.page-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 85% 20%, rgba(52,239,192,.25), transparent 45%),radial-gradient(circle at 10% 90%, rgba(39,194,224,.3), transparent 50%);}
.page-hero .container{position:relative;z-index:2;}
.breadcrumb{font-size:.85rem;color:rgba(255,255,255,.75);margin-bottom:14px;}
.breadcrumb a{color:#fff;font-weight:600;}
.page-hero h1{color:#fff;font-size:clamp(2rem,3.6vw,2.8rem);margin-bottom:10px;}
.page-hero p{color:rgba(255,255,255,.85);max-width:600px;margin-bottom:0;}

/* product detail blocks */
.product-detail{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px;align-items:center;padding:60px 0;border-bottom:1px solid var(--line);}
.product-detail:last-child{border-bottom:none;}
.product-detail.rev{grid-template-columns:1.1fr .9fr;}
.product-detail.rev .pd-visual{order:2;}
.pd-visual{
  background:var(--grad);border-radius:var(--radius);min-height:280px;
  display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;
}
.pd-visual svg{color:#fff;opacity:.9;width:84px;height:84px;position:relative;z-index:2;}
.pd-visual img{width:100%;height:100%;min-height:280px;object-fit:cover;position:absolute;inset:0;}
.pd-visual::after{content:'';position:absolute;inset:0;background:linear-gradient(160deg,rgba(31,42,140,.4),rgba(39,194,224,.18));z-index:1;}
.pd-feat{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:10px;}
.pd-feat li{display:flex;gap:10px;font-size:.92rem;font-weight:600;color:var(--ink);}
.pd-feat li svg{flex-shrink:0;color:var(--mint);margin-top:2px;}
.pd-apps{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;}
.pd-apps span{font-size:.76rem;font-weight:700;color:var(--royal);background:rgba(46,63,224,.08);padding:5px 12px;border-radius:999px;}

/* gallery */
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.gitem{
  border-radius:var(--radius);overflow:hidden;position:relative;min-height:240px;
  background:var(--grad);display:flex;align-items:flex-end;
}
.gitem img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:.4s ease;}
.gitem:hover img{transform:scale(1.06);}
.gitem .gtag{
  position:relative;z-index:2;padding:18px;color:#fff;font-weight:700;font-size:.92rem;
  background:linear-gradient(to top, rgba(14,19,48,.85), transparent);width:100%;
}
.gitem::before{content:'';position:absolute;inset:0;z-index:1;background:radial-gradient(circle at 30% 20%, rgba(255,255,255,.12), transparent 50%);}

/* alert / form states */
.alert{padding:16px 20px;border-radius:12px;font-weight:600;font-size:.92rem;margin-bottom:20px;}
.alert-success{background:rgba(52,239,192,.15);color:#0E8F6E;border:1px solid rgba(52,239,192,.4);}
.alert-error{background:rgba(224,57,57,.1);color:#C92A2A;border:1px solid rgba(224,57,57,.3);}

.map-wrap{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);margin-top:24px;}
.map-wrap iframe{width:100%;height:280px;border:0;display:block;}

@media(max-width:980px){
  .product-detail,.product-detail.rev{grid-template-columns:1fr;}
  .product-detail.rev .pd-visual{order:0;}
  .gallery-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:560px){
  .gallery-grid{grid-template-columns:1fr;}
}
.nav-cta{display:flex;align-items:center;gap:14px;}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;}
.burger span{width:24px;height:2px;background:var(--navy);}

/* HERO */
.hero{
  position:relative;overflow:hidden;
  padding:170px 0 110px;
  background:var(--grad);
  color:var(--white);
}
.hero::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(circle at 80% 10%, rgba(52,239,192,.25), transparent 45%),
    radial-gradient(circle at 10% 90%, rgba(39,194,224,.3), transparent 50%);
  pointer-events:none;
}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center;position:relative;z-index:2;}
.hero h1{color:var(--white);font-size:clamp(2.2rem,4.2vw,3.4rem);margin-bottom:20px;}
.hero h1 span{background:var(--grad-accent);-webkit-background-clip:text;background-clip:text;color:transparent;}
.hero p{color:rgba(255,255,255,.85);font-size:1.08rem;max-width:520px;}
.hero-actions{display:flex;gap:16px;margin-top:34px;flex-wrap:wrap;}
.hero-stats{display:flex;gap:38px;margin-top:56px;flex-wrap:wrap;}
.hero-stats .stat b{display:block;font-size:1.9rem;font-family:'Poppins';color:var(--white);}
.hero-stats .stat span{font-size:.82rem;color:rgba(255,255,255,.75);}
.hero-visual{position:relative;}
.glass-card{
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.25);
  border-radius:24px;backdrop-filter:blur(10px);padding:28px;
  display:grid;gap:16px;
}
.glass-card .panel{
  height:120px;border-radius:14px;
  background:linear-gradient(160deg,rgba(255,255,255,.35),rgba(255,255,255,.05));
  border:1px solid rgba(255,255,255,.35);
  position:relative;overflow:hidden;
}
.glass-card .panel img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;}
.glass-card .panel::after{
  content:'';position:absolute;top:-50%;left:-20%;width:60%;height:200%;
  background:linear-gradient(110deg,transparent,rgba(255,255,255,.55),transparent);
  transform:rotate(15deg);animation:shine 3.5s ease-in-out infinite;
  z-index:2;pointer-events:none;
}
@keyframes shine{0%{transform:translateX(-150%) rotate(15deg);}100%{transform:translateX(280%) rotate(15deg);}}
.row2{grid-template-columns:1fr 1fr;display:grid;gap:16px;}

/* TRUST STRIP */
.trust{background:var(--paper);padding:26px 0;border-bottom:1px solid var(--line);border-top:1px solid var(--line);}
.trust .container{display:flex;flex-wrap:wrap;justify-content:space-between;gap:18px;align-items:center;}
.trust-item{display:flex;align-items:center;gap:10px;font-weight:600;color:var(--navy);font-size:.92rem;}
.trust-item svg{flex-shrink:0;}

/* ABOUT */
.about-wrap{display:grid;grid-template-columns:.95fr 1.05fr;gap:64px;align-items:center;}
.about-photo{
  position:relative;border-radius:var(--radius);overflow:hidden;
  background:var(--grad);min-height:420px;
  display:flex;align-items:center;justify-content:center;
}
.about-photo .badge{
  position:absolute;bottom:24px;left:24px;background:var(--white);
  border-radius:16px;padding:18px 22px;box-shadow:var(--shadow);
  display:flex;align-items:center;gap:14px;
}
.about-photo .badge b{font-size:1.6rem;color:var(--navy);font-family:'Poppins';}
.about-photo .badge span{font-size:.78rem;color:var(--gray);}
.about-list{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:14px;}
.about-list li{display:flex;gap:12px;align-items:flex-start;font-weight:600;color:var(--ink);font-size:.96rem;}
.about-list li svg{flex-shrink:0;margin-top:2px;color:var(--mint);}

/* STATS BAND */
.stats-band{background:var(--navy);color:var(--white);}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;text-align:center;}
.stats-grid b{font-size:2.4rem;font-family:'Poppins';display:block;background:var(--grad-accent);-webkit-background-clip:text;background-clip:text;color:transparent;}
.stats-grid span{font-size:.85rem;color:rgba(255,255,255,.7);}

/* PRODUCTS */
.products-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.pcard{
  background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
  padding:30px;transition:.3s ease;position:relative;overflow:hidden;
}
.pcard:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:transparent;}
.pcard .icon{
  width:56px;height:56px;border-radius:14px;background:var(--grad);
  display:flex;align-items:center;justify-content:center;color:#fff;margin-bottom:20px;
}
.pcard h3{font-size:1.1rem;}
.pcard p{font-size:.92rem;margin-bottom:14px;}
.pcard .tag{font-size:.74rem;font-weight:700;color:var(--royal);text-transform:uppercase;letter-spacing:.06em;}

/* PROCESS */
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.pstep{position:relative;padding:28px 22px;border-radius:var(--radius);background:var(--paper);}
.pstep .num{
  font-family:'Poppins';font-weight:800;font-size:2.2rem;color:transparent;
  -webkit-text-stroke:1.5px var(--royal);opacity:.5;margin-bottom:10px;
}
.pstep h4{font-size:1rem;}
.pstep p{font-size:.88rem;margin-bottom:0;}

/* WHY */
.why-wrap{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.why-card{
  display:flex;gap:16px;padding:26px;border-radius:var(--radius);
  border:1px solid var(--line);background:var(--white);
}
.why-card .ic{
  width:46px;height:46px;border-radius:12px;flex-shrink:0;
  background:linear-gradient(135deg,var(--cyan),var(--mint));
  display:flex;align-items:center;justify-content:center;color:var(--navy);
}
.why-card h4{font-size:1rem;margin-bottom:6px;}
.why-card p{font-size:.9rem;margin:0;}

/* LEADERSHIP */
.team-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;}
.tcard{
  background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
  padding:24px 18px;text-align:center;transition:.25s;
}
.tcard:hover{box-shadow:var(--shadow);transform:translateY(-4px);}
.tcard .avatar{
  width:64px;height:64px;border-radius:50%;margin:0 auto 14px;
  background:var(--grad);color:#fff;display:flex;align-items:center;justify-content:center;
  font-family:'Poppins';font-weight:700;font-size:.95rem;
}
.tcard h4{font-size:.95rem;margin-bottom:4px;}
.tcard .role{font-size:.76rem;color:var(--royal);font-weight:700;margin-bottom:10px;display:block;}
.tcard p{font-size:.8rem;}

/* CTA BAND */
.cta-band{
  background:var(--grad);color:#fff;border-radius:28px;
  padding:60px;display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap;
  margin:0 24px;max-width:calc(var(--maxw) - 48px);margin-inline:auto;
}
.cta-band h2{color:#fff;margin-bottom:8px;}
.cta-band p{color:rgba(255,255,255,.85);margin-bottom:0;}

/* CONTACT */
.contact-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px;}
.contact-info{display:grid;gap:20px;align-content:start;}
.cinfo-item{display:flex;gap:16px;align-items:flex-start;padding:20px;border-radius:16px;background:var(--paper);}
.cinfo-item .ic{width:42px;height:42px;border-radius:10px;background:var(--grad);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.cinfo-item h4{font-size:.92rem;margin-bottom:4px;}
.cinfo-item p{font-size:.88rem;margin:0;}
form.contact-form{display:grid;gap:16px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:32px;box-shadow:var(--shadow);}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.contact-form input,.contact-form select,.contact-form textarea{
  width:100%;padding:13px 16px;border-radius:10px;border:1.5px solid var(--line);
  font-family:inherit;font-size:.93rem;color:var(--ink);background:var(--paper);
}
.contact-form textarea{min-height:110px;resize:vertical;}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:none;border-color:var(--royal);background:#fff;}

/* Compact contact page */
.page-hero-sm{padding:130px 0 40px;}
.contact-compact{padding:48px 0 80px;}
.contact-compact .contact-wrap{gap:36px;}
.contact-compact .contact-info{gap:14px;}
.contact-compact .cinfo-item{padding:14px 16px;gap:12px;}
.contact-compact .cinfo-item .ic{width:36px;height:36px;}
.contact-compact .cinfo-item h4{font-size:.85rem;margin-bottom:2px;}
.contact-compact .cinfo-item p{font-size:.82rem;}
.contact-compact form.contact-form{padding:24px;gap:12px;}
.contact-compact .contact-form textarea{min-height:80px;}
.contact-compact .contact-form input,
.contact-compact .contact-form select,
.contact-compact .contact-form textarea{padding:11px 14px;font-size:.88rem;}
.map-wrap-sm iframe{height:170px;}
.map-wrap-sm{margin-top:14px;}
.form-msg{font-size:.85rem;font-weight:600;display:none;}

/* FOOTER */
footer{background:var(--ink);color:rgba(255,255,255,.65);padding-top:70px;}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr 1.1fr;gap:32px;}
.footer-brand{display:flex;align-items:center;gap:10px;color:#fff;font-weight:800;font-size:1.1rem;margin-bottom:14px;}
.footer-brand img{height:36px;}
footer h4{color:#fff;font-size:.92rem;margin-bottom:16px;}
footer ul{list-style:none;padding:0;margin:0;display:grid;gap:10px;}
footer a{font-size:.88rem;color:rgba(255,255,255,.65);}
footer a:hover{color:var(--mint);}
.footer-bottom{
  margin-top:50px;border-top:1px solid rgba(255,255,255,.1);
  padding:22px 0;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.8rem;
}
.social{display:flex;gap:10px;}
.social a{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;}
.social a:hover{background:var(--grad);}

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

/* back to top */
.back-top{
  position:fixed;bottom:28px;right:28px;width:48px;height:48px;border-radius:50%;
  background:var(--grad);color:#fff;display:flex;align-items:center;justify-content:center;
  box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:.3s;z-index:900;cursor:pointer;border:none;
}
.back-top.show{opacity:1;pointer-events:auto;}

/* whatsapp floating button */
.whatsapp-float{
  position:fixed;bottom:28px;left:28px;width:54px;height:54px;border-radius:50%;
  background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;
  box-shadow:0 14px 30px -8px rgba(37,211,102,.55);z-index:900;transition:.25s;
  animation:wa-pulse 2.4s infinite;
}
.whatsapp-float:hover{transform:scale(1.08);}
@keyframes wa-pulse{
  0%{box-shadow:0 14px 30px -8px rgba(37,211,102,.55),0 0 0 0 rgba(37,211,102,.45);}
  70%{box-shadow:0 14px 30px -8px rgba(37,211,102,.55),0 0 0 14px rgba(37,211,102,0);}
  100%{box-shadow:0 14px 30px -8px rgba(37,211,102,.55),0 0 0 0 rgba(37,211,102,0);}
}
@media(max-width:560px){
  .whatsapp-float{bottom:20px;left:20px;width:48px;height:48px;}
  .back-top{bottom:20px;right:20px;}
}

@media(max-width:980px){
  .hero-grid{grid-template-columns:1fr;}
  .about-wrap,.contact-wrap{grid-template-columns:1fr;}
  .products-grid{grid-template-columns:repeat(2,1fr);}
  .process-grid{grid-template-columns:repeat(2,1fr);}
  .why-wrap{grid-template-columns:1fr;}
  .team-grid{grid-template-columns:repeat(3,1fr);}
  .stats-grid{grid-template-columns:repeat(2,1fr);gap:34px;}
  .footer-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:720px){
  .nav-links,.nav-cta .btn-ghost{display:none;}
  .burger{display:flex;}
  .products-grid,.process-grid,.team-grid{grid-template-columns:1fr 1fr;}
  .form-row{grid-template-columns:1fr;}
  .cta-band{padding:38px 26px;text-align:center;justify-content:center;}
  section{padding:70px 0;}
}
@media(max-width:520px){
  .products-grid,.process-grid,.team-grid,.stats-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
}

.mobile-menu{
  position:fixed;top:0;right:0;height:100vh;width:78%;max-width:320px;
  background:var(--white);box-shadow:-20px 0 50px rgba(0,0,0,.15);
  transform:translateX(100%);transition:.35s ease;z-index:1100;padding:30px 26px;
  display:flex;flex-direction:column;gap:22px;
}
.mobile-menu.open{transform:translateX(0);}
.mobile-menu a{font-weight:600;font-size:1.02rem;color:var(--navy);}
.mobile-close{align-self:flex-end;font-size:1.4rem;background:none;border:none;cursor:pointer;color:var(--navy);}
.overlay{position:fixed;inset:0;background:rgba(14,19,48,.5);opacity:0;pointer-events:none;transition:.3s;z-index:1050;}
.overlay.open{opacity:1;pointer-events:auto;}
