*{box-sizing:border-box}
:root{
  --bg:#08111f;
  --bg-soft:#0f1b31;
  --surface:#101d35;
  --surface-2:#132442;
  --line:rgba(255,255,255,.08);
  --text:#e8eefc;
  --muted:#a9b7d6;
  --white:#ffffff;
  --primary:#25b6ff;
  --secondary:#5b6cff;
  --shadow:0 20px 60px rgba(0,0,0,.35);
  --radius:22px;
  --radius-sm:16px;
  --container:1180px;
}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:radial-gradient(circle at top left, rgba(37,182,255,.14), transparent 28%),
             radial-gradient(circle at bottom right, rgba(91,108,255,.12), transparent 22%),
             var(--bg);
  color:var(--text);
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
.container{width:min(var(--container), calc(100% - 40px)); margin:0 auto}
.bg-grid{
  position:fixed; inset:0; pointer-events:none; opacity:.22;
  background-image:linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
                   linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
  background-size:32px 32px;
  mask-image:linear-gradient(to bottom, rgba(0,0,0,.55), transparent 85%);
}
.bg-orb{
  position:fixed; border-radius:50%; filter:blur(60px); opacity:.24; pointer-events:none; z-index:0;
}
.orb-1{width:340px;height:340px;left:-100px;top:80px;background:var(--primary)}
.orb-2{width:300px;height:300px;right:-80px;bottom:120px;background:var(--secondary)}

.site-header{
  position:sticky; top:0; z-index:20;
  backdrop-filter: blur(16px);
  background:rgba(8,17,31,.72);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.nav-wrap{
  display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:86px;
}
.brand{
  display:flex; align-items:center; gap:12px; font-weight:800; letter-spacing:.2px;
}
.brand-logo{
  width:46px; height:62px; object-fit:contain;
}
.site-nav{
  display:flex; align-items:center; gap:22px;
}
.site-nav a{
  color:var(--muted); font-weight:500; transition:.25s ease;
}
.site-nav a:hover{color:var(--white)}
.nav-cta{
  padding:12px 18px; border-radius:999px; background:linear-gradient(135deg, var(--primary), var(--secondary)); color:#fff !important;
}
.menu-toggle{
  display:none; background:none; border:none; padding:0; width:42px; height:42px; cursor:pointer;
}
.menu-toggle span{
  display:block; width:100%; height:3px; border-radius:2px; background:#fff; margin:7px 0;
}

.hero{position:relative; z-index:1; padding:72px 0 46px}
.hero-grid{
  display:grid; grid-template-columns:1.1fr .9fr; gap:34px; align-items:center;
}
.eyebrow{
  display:inline-flex; padding:10px 14px; border-radius:999px;
  background:rgba(37,182,255,.10); color:#8bdfff; border:1px solid rgba(37,182,255,.24);
  font-size:.92rem; font-weight:600; margin-bottom:18px;
}
.hero h1{
  margin:0 0 18px; font-size:clamp(2.6rem, 5vw, 4.7rem); line-height:1.02; letter-spacing:-.04em;
}
.hero-text{
  margin:0; color:var(--muted); font-size:1.08rem; line-height:1.85; max-width:670px;
}
.hero-actions{
  display:flex; flex-wrap:wrap; gap:14px; margin-top:30px;
}
.btn{
  display:inline-flex; align-items:center; justify-content:center; padding:15px 24px; border-radius:999px;
  font-weight:700; transition:transform .25s ease, box-shadow .25s ease, background .25s ease; border:1px solid transparent;
}
.btn:hover{transform:translateY(-2px)}
.btn-primary{
  background:linear-gradient(135deg, var(--primary), var(--secondary)); color:#fff; box-shadow:0 16px 35px rgba(37,182,255,.18);
}
.btn-secondary{
  background:rgba(255,255,255,.04); color:#fff; border-color:rgba(255,255,255,.12);
}
.btn-full{width:100%}

.hero-metrics{
  display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:34px;
}
.hero-metrics article{
  padding:20px; background:rgba(255,255,255,.04); border:1px solid var(--line); border-radius:18px;
  box-shadow:var(--shadow);
}
.hero-metrics strong{
  display:block; font-size:1.6rem; margin-bottom:8px;
}
.hero-metrics span{
  color:var(--muted); font-size:.95rem; line-height:1.55;
}

.hero-visual{position:relative}
.hero-visual>img{
  width:100%;
  filter:drop-shadow(0 30px 60px rgba(0,0,0,.4));
}
.floating-card{
  position:absolute; width:min(260px, 46%); padding:16px 18px;
  border-radius:18px; background:rgba(10,18,34,.88); border:1px solid rgba(255,255,255,.08); box-shadow:var(--shadow);
}
.floating-card p{margin:8px 0 0; font-size:.93rem; line-height:1.6; color:var(--muted)}
.floating-card-top{right:-8px; top:48px}
.floating-card-bottom{left:-18px; bottom:28px}
.mini-pill{
  display:inline-flex; padding:7px 10px; border-radius:999px; background:rgba(37,182,255,.12);
  color:#96e6ff; font-size:.82rem; font-weight:700;
}

.section{position:relative; z-index:1; padding:92px 0}
.section-intro{max-width:760px; margin-bottom:34px}
.section-intro.centered{margin-left:auto; margin-right:auto; text-align:center}
.section-intro h2{
  margin:0 0 14px; font-size:clamp(2rem, 3vw, 3rem); line-height:1.1; letter-spacing:-.03em;
}
.section-intro p{margin:0; color:var(--muted); line-height:1.8}

.trust{padding:28px 0 26px; position:relative; z-index:1}
.logo-pills{
  display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin-top:28px;
}
.logo-pills span{
  padding:14px 18px; background:rgba(255,255,255,.04); border:1px solid var(--line); border-radius:999px; color:#d7e2fb;
}

.cards{display:grid; gap:24px}
.cards-3{grid-template-columns:repeat(3, minmax(0,1fr))}
.cards-2{grid-template-columns:repeat(2, minmax(0,1fr))}
.card, .project-card, .quote-card, .contact-card, .visual-card{
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.03));
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.card{
  padding:28px;
}
.card-icon{
  width:52px; height:52px; border-radius:16px; display:grid; place-items:center; margin-bottom:18px;
  background:linear-gradient(135deg, rgba(37,182,255,.22), rgba(91,108,255,.25)); color:#fff; font-weight:800;
}
.card h3,.visual-card h3,.project-card h3,.contact-card h3,.quote-card p{margin-top:0}
.card p,.card li,.visual-card p,.project-card p,.project-card li,.quote-card span{
  color:var(--muted); line-height:1.75;
}
.card ul,.project-card ul{margin:16px 0 0; padding-left:20px}

.section-visual{
  background:linear-gradient(180deg, rgba(255,255,255,.02), transparent);
  border-top:1px solid rgba(255,255,255,.04);
  border-bottom:1px solid rgba(255,255,255,.04);
}
.split{
  display:grid; grid-template-columns:.95fr 1.05fr; gap:34px; align-items:center;
}
.split-reverse{grid-template-columns:.92fr 1.08fr}
.split-media img{
  width:100%;
  filter:drop-shadow(0 20px 50px rgba(0,0,0,.32));
}
.feature-list{
  display:grid; gap:18px; margin-top:24px;
}
.feature-list article{
  padding:20px 22px; border-radius:18px; background:rgba(255,255,255,.03); border:1px solid var(--line);
}
.feature-list h3{margin:0 0 8px}
.feature-list p{margin:0; color:var(--muted); line-height:1.75}

.dark-band{
  padding:38px 0;
  background:linear-gradient(90deg, rgba(37,182,255,.08), rgba(91,108,255,.09));
  border-top:1px solid rgba(255,255,255,.05);
  border-bottom:1px solid rgba(255,255,255,.05);
}
.stats-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:16px;
}
.stats-grid article{
  padding:24px; border-radius:20px; background:rgba(255,255,255,.03); border:1px solid var(--line);
}
.stats-grid strong{
  display:block; font-size:1.55rem; margin-bottom:8px;
}
.stats-grid span{color:var(--muted); line-height:1.7}

.visual-card{overflow:hidden}
.visual-card img{
  width:100%; aspect-ratio:4/3; object-fit:cover; background:rgba(255,255,255,.02)
}
.visual-card-body{padding:22px}

.timeline{
  position:relative; display:grid; gap:18px;
}
.timeline:before{
  content:""; position:absolute; left:26px; top:10px; bottom:10px; width:2px; background:rgba(255,255,255,.1);
}
.timeline-item{
  position:relative; display:grid; grid-template-columns:70px 1fr; gap:20px; align-items:flex-start;
  padding:20px 0 20px 0;
}
.timeline-item>span{
  width:54px; height:54px; display:grid; place-items:center; border-radius:50%;
  background:linear-gradient(135deg, var(--primary), var(--secondary)); font-weight:800; position:relative; z-index:1;
}
.timeline-item h3{margin:6px 0 8px}
.timeline-item p{margin:0; color:var(--muted); line-height:1.75}

.projects-section{
  background:linear-gradient(180deg, transparent, rgba(255,255,255,.015));
}
.project-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:24px;
}
.project-card{padding:28px}
.project-badge{
  display:inline-flex; padding:8px 12px; border-radius:999px; margin-bottom:14px;
  background:rgba(91,108,255,.16); color:#b6bfff; font-weight:700; font-size:.86rem;
}

.quote-card{padding:28px}
.quote-card p{
  font-size:1.15rem; line-height:1.8; margin-bottom:20px;
}
.quote-card span{display:block; font-weight:600}

.faq-list{max-width:900px; margin:0 auto; display:grid; gap:14px}
.faq-item{
  border:1px solid var(--line); border-radius:20px; background:rgba(255,255,255,.03); overflow:hidden;
}
.faq-question{
  width:100%; text-align:left; border:none; background:transparent; color:#fff; cursor:pointer;
  padding:22px 24px; font-weight:700; font-size:1rem; position:relative;
}
.faq-question::after{
  content:"+"; position:absolute; right:24px; top:50%; transform:translateY(-50%); font-size:1.5rem; color:#9db8ff;
}
.faq-item.active .faq-question::after{content:"–"}
.faq-answer{
  max-height:0; overflow:hidden; transition:max-height .3s ease;
}
.faq-answer p{
  margin:0; padding:0 24px 22px; color:var(--muted); line-height:1.75;
}

.cta-section{padding-top:90px; padding-bottom:100px}
.cta-wrap{
  display:grid; grid-template-columns:1.04fr .96fr; gap:24px; align-items:start;
}
.cta-copy{
  padding:14px 4px 0 0;
}
.cta-copy h2{
  margin:0 0 14px; font-size:clamp(2rem, 3.3vw, 3.2rem); line-height:1.08;
}
.cta-copy p{color:var(--muted); line-height:1.85; margin:0 0 24px}
.cta-points{
  display:flex; flex-wrap:wrap; gap:12px;
}
.cta-points span{
  padding:12px 14px; border-radius:14px; border:1px solid var(--line); background:rgba(255,255,255,.03); color:#dce8ff;
}
.contact-card{padding:28px}
.contact-card h3{margin-bottom:18px}
.contact-card label{
  display:block; color:#dce8ff; font-size:.96rem; margin-bottom:16px;
}
.contact-card input,.contact-card textarea{
  width:100%; margin-top:8px; border-radius:14px; border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04); color:#fff; padding:15px 16px; outline:none;
}
.contact-card input:focus,.contact-card textarea:focus{
  border-color:rgba(37,182,255,.5); box-shadow:0 0 0 3px rgba(37,182,255,.14);
}

.site-footer{
  border-top:1px solid rgba(255,255,255,.06);
  background:rgba(0,0,0,.16);
  position:relative; z-index:1;
}
.footer-grid{
  display:grid; grid-template-columns:1.2fr .8fr .8fr; gap:28px; padding:40px 0 24px;
}
.footer-grid p,.footer-grid li,.footer-grid a{color:var(--muted); line-height:1.8}
.footer-grid h4{margin:8px 0 12px}
.footer-grid ul{list-style:none; padding:0; margin:0}
.footer-brand{margin-bottom:14px}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.06);
  padding:18px 0 26px;
}
.footer-bottom p{margin:0; color:#98a7c8}

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

@media (max-width: 1100px){
  .hero-grid,.split,.cta-wrap,.project-grid,.cards-3,.cards-2,.stats-grid,.footer-grid{
    grid-template-columns:1fr 1fr;
  }
  .project-grid{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width: 860px){
  .menu-toggle{display:block}
  .site-nav{
    position:absolute; top:86px; left:20px; right:20px;
    background:rgba(10,18,34,.97); border:1px solid rgba(255,255,255,.08);
    border-radius:20px; padding:18px; flex-direction:column; align-items:flex-start;
    opacity:0; pointer-events:none; transform:translateY(-8px); transition:.25s ease;
  }
  .site-nav.open{
    opacity:1; pointer-events:auto; transform:translateY(0);
  }
  .hero-grid,.split,.cta-wrap,.cards-3,.cards-2,.project-grid,.footer-grid{
    grid-template-columns:1fr;
  }
  .hero{padding-top:44px}
  .hero-metrics,.stats-grid{grid-template-columns:1fr}
  .floating-card{position:static; width:100%; margin-top:12px}
  .timeline:before{left:26px}
}
@media (max-width: 560px){
  .container{width:min(var(--container), calc(100% - 24px))}
  .hero h1{font-size:2.3rem}
  .section{padding:72px 0}
  .card,.project-card,.quote-card,.contact-card{padding:22px}
  .faq-question{padding-right:54px}
}
