:root{
  --bg:#06080c;
  --panel: rgba(10,13,18,.62);
  --panel2: rgba(8,10,14,.72);
  --stroke: rgba(255,255,255,.08);
  --text:#e9eef7;
  --muted: rgba(233,238,247,.72);
  --muted2: rgba(233,238,247,.55);
  --blue:#2f7cff;
  --blue2:#7fb4ff;
  --shadow: 0 18px 60px rgba(0,0,0,.55);
  --radius: 18px;
  --maxw: 1180px;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Helvetica Neue", sans-serif;
  color:var(--text);
  background: var(--bg) url("../assets/bg_cinematic.jpg") center/cover fixed no-repeat;
}
a{color:inherit;text-decoration:none}
.container{max-width:var(--maxw); margin:0 auto; padding:0 28px;}
.shell{
  margin:28px auto 44px;
  border:1px solid var(--stroke);
  border-radius: 22px;
  overflow:hidden;
  background: linear-gradient(180deg, rgba(0,0,0,.28), rgba(0,0,0,.55));
  box-shadow: var(--shadow);
  backdrop-filter: blur(8px);
}
.topbar{
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 22px;
  background: rgba(0,0,0,.35);
  border-bottom: 1px solid var(--stroke);
}
.brand{display:flex; align-items:center; gap:10px; font-weight:800; letter-spacing:.9px;}
.brand .mark{
  width:42px;height:3px;background:linear-gradient(90deg,var(--blue2),rgba(127,180,255,0));
  border-radius:999px; position:relative;
}
.brand .mark:after{
  content:""; position:absolute; right:-4px; top:-5px;
  width:10px;height:10px; border:2px solid rgba(127,180,255,.85); border-radius:50%;
}
.brand .name{font-size:20px}
.brand .name span{font-weight:600; color:var(--blue2); margin-left:6px; font-size:13px; letter-spacing:1.1px}
.nav{
  display:flex; align-items:center; gap:18px;
  font-size:12px; letter-spacing:1.3px; text-transform:uppercase; color:rgba(233,238,247,.70);
}
.nav a{padding:10px 10px; border-radius:10px}
.nav a:hover{background:rgba(255,255,255,.04)}
.nav .lang{opacity:.9}
.nav .menu{
  width:34px;height:34px; border:1px solid var(--stroke); border-radius:10px;
  display:grid; place-items:center; background:rgba(255,255,255,.02);
}
.nav .menu span{
  display:block; width:16px; height:2px; background:rgba(233,238,247,.72);
  box-shadow: 0 5px 0 rgba(233,238,247,.72), 0 -5px 0 rgba(233,238,247,.72);
}
.hero{
  padding:64px 0 10px;
  background: linear-gradient(180deg, rgba(0,0,0,.25), rgba(0,0,0,.55));
}
.hero-grid{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 18px;
  align-items:center;
  padding-bottom: 26px;
}
.h1{font-size:56px; line-height:1.03; margin:0 0 10px; letter-spacing:1px;}
.subline{color:var(--muted); font-size:14px; letter-spacing:.8px;}
.cta{margin-top:18px; display:flex; gap:14px; flex-wrap:wrap;}
.btn{
  padding:12px 18px; border-radius:10px; font-size:12px; letter-spacing:1.2px;
  text-transform:uppercase; border:1px solid var(--stroke); background:rgba(255,255,255,.03);
  display:inline-block;
}
.btn.primary{
  background: linear-gradient(180deg, rgba(47,124,255,.95), rgba(32,92,200,.95));
  border-color: rgba(47,124,255,.55);
  box-shadow: 0 14px 30px rgba(47,124,255,.18);
}
.btn:hover{transform: translateY(-1px)}
.hero-drone{
  height:220px;
  background: url("../assets/drone_air3s.png") right center/contain no-repeat;
  filter: drop-shadow(0 18px 40px rgba(0,0,0,.55));
}
.ribbon{
  margin: 18px 0 0; padding:14px 0; border-top:1px solid var(--stroke); border-bottom:1px solid var(--stroke);
  text-align:center; font-size:12px; color:var(--muted); letter-spacing:1.1px;
}
.ribbon b{color:rgba(233,238,247,.86); font-weight:650}
.dot{display:inline-block; width:5px; height:5px; border-radius:50%; background: rgba(255,80,80,.7); margin:0 10px; transform: translateY(-1px);}
.section{padding: 44px 0; background: linear-gradient(180deg, rgba(0,0,0,.0), rgba(0,0,0,.20));}
.section-title{text-align:center; font-size:34px; margin:0;}
.section-sub{text-align:center; margin:10px 0 26px; color:var(--muted2); font-size:13px; letter-spacing:.6px;}
.cards{display:grid; grid-template-columns: repeat(3, 1fr); gap:16px;}
.card{
  background: rgba(10,13,18,.55);
  border:1px solid var(--stroke);
  border-radius: 14px;
  padding:22px 18px;
  min-height: 148px;
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
}
.card .icon{
  width:38px;height:38px; border-radius:50%;
  border:1px solid rgba(127,180,255,.35);
  display:grid; place-items:center;
  margin:0 auto 14px;
  background: rgba(127,180,255,.06);
}
.card h3{margin:0; text-align:center; font-size:15px; letter-spacing:.3px;}
.card p{margin:10px 0 0; text-align:center; color:var(--muted2); font-size:12px; line-height:1.5;}
.advanced{padding: 44px 0 22px; background: linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.35));}
.bottom-drone{
  height:170px; margin: 12px auto 0;
  background: url("../assets/drone_air3s.png") center/contain no-repeat; /* SAME AS TOP */
  filter: drop-shadow(0 18px 40px rgba(0,0,0,.55));
}
.video-wrap{padding: 26px 0 44px;}
.video{
  width:100%; border-radius: 16px; border: 1px solid var(--stroke);
  background: rgba(0,0,0,.35); overflow:hidden; box-shadow: 0 14px 40px rgba(0,0,0,.35);
}
.video video{width:100%; height:auto; display:block; background:#000;}
.video .fallback{padding:24px; color:var(--muted2); font-size:13px;}
.footer{
  display:flex; justify-content:space-between; gap:18px;
  padding:22px; border-top:1px solid var(--stroke); background: rgba(0,0,0,.38);
  color: rgba(233,238,247,.70); font-size:12px;
}
.footer .small{opacity:.85}
.footer .right{text-align:right}
.page-hero{padding: 46px 0 14px;}
.page-hero h1{margin:0; font-size:36px}
.kicker{color:var(--muted2); font-size:13px; margin-top:8px}
.fleet-grid{display:grid; grid-template-columns: 1fr; gap:16px; padding: 10px 0 44px;}
.fleet-card{border:1px solid var(--stroke); background: rgba(10,13,18,.55); border-radius: 16px; overflow:hidden;}
.fleet-card .top{padding:18px 18px 6px;}
.fleet-card h2{margin:0}
.fleet-card .specs{padding: 0 18px 18px; color: var(--muted2); font-size:13px; line-height:1.7;}
.specs ul{margin:10px 0 0; padding-left:18px}
.specs li{margin:6px 0}

}

/* Logo lock: use approved Farpoint black logo asset */
.brand img.logo{
  height: 66px;
  width: auto;
  display:block;
  filter: drop-shadow(0 2px 8px rgba(0,0,0,.55));
}
@media (max-width: 900px){
  .brand img.logo{height:60px}
}


/* Mobile expandable menu */
.nav{ position: relative; flex-wrap: nowrap; }
.nav .links{ display:flex; align-items:center; gap:18px; }
.nav .menu{ cursor:pointer; }
@media (max-width: 900px){
  .nav .links{
    display:none;
    position:absolute;
    right:0;
    top:44px;
    min-width: 220px;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:10px;
    background: rgba(0,0,0,.72);
    border:1px solid var(--stroke);
    border-radius: 14px;
    box-shadow: 0 18px 60px rgba(0,0,0,.55);
    backdrop-filter: blur(10px);
    z-index: 50;
  }
  .nav .links a, .nav .links span.lang{
    display:block;
    padding:12px 12px;
    border-radius:10px;
  }
  .nav .links a:hover{background: rgba(255,255,255,.05);}
  .nav.open .links{display:flex;}
  .nav .menu{display:grid;}
}

/* Logo size tuning */
.brand img.logo{
  height: 48px !important; /* desktop */
}
@media (max-width: 900px){
  .brand img.logo{
    height: 34px !important; /* mobile */
  }
}

/* Mobile text wrapping fixes */
@media (max-width: 900px){
  .h1{
    font-size: 38px;
    line-height: 1.15;
    word-break: normal;
    overflow-wrap: break-word;
    text-align: left;
  }
  .subline{
    font-size: 13px;
    line-height: 1.4;
  }
  .hero{
    padding: 40px 0 10px;
  }
  .hero-grid{
    padding-bottom: 12px;
  }
}

/* Mobile alignment fix for capability cards */
@media (max-width: 900px){
  .cards{
    grid-template-columns: 1fr !important;
    justify-items: stretch;
  }
  .card{
    width: 100%;
    margin: 0;
  }
  .card .icon{
    margin-left: auto;
    margin-right: auto;
  }
}
