:root{
  --bg:#070b12;
  --panel:#0b1220;
  --panel2:#0a1526;
  --text:rgba(255,255,255,.92);
  --muted:rgba(255,255,255,.72);
  --faint:rgba(255,255,255,.55);
  --stroke:rgba(255,255,255,.12);
  --accent:#18baf2;
  --accent2:#2b6cff;
  --shadow:0 20px 50px rgba(0,0,0,.45);
  --radius:18px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
  background:radial-gradient(1200px 700px at 70% -10%, rgba(24,186,242,.25), transparent 60%),
             radial-gradient(900px 600px at 10% 20%, rgba(43,108,255,.20), transparent 55%),
             var(--bg);
  color:var(--text);
  line-height:1.5;
}

a{color:inherit; text-decoration:none}
a:hover{opacity:.92}

.skip{
  position:absolute; left:-999px; top:8px;
  background:#fff; color:#000; padding:10px 12px; border-radius:10px; z-index:9999;
}
.skip:focus{left:8px}

.container{max-width:1120px; margin:0 auto; padding:0 22px}

.header{
  position:sticky; top:0; z-index:50;
  backdrop-filter:saturate(140%) blur(12px);
  background:rgba(7,11,18,.55);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.header__inner{display:flex; align-items:center; justify-content:space-between; gap:18px; padding:14px 0}

.brand{display:flex; align-items:center; gap:12px; min-width:210px}
.brand__mark{width:44px; height:44px; object-fit:contain; filter:drop-shadow(0 8px 18px rgba(0,0,0,.35))}
.brand__word{height:22px; width:auto; object-fit:contain; opacity:.98}

.nav{display:flex; align-items:center; gap:18px}
.nav a{font-size:14px; color:var(--muted)}
.nav a.btn{color:#06101d}

.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:10px 14px; border-radius:12px;
  border:1px solid rgba(255,255,255,.14);
  font-weight:600; letter-spacing:.2px;
  transition:transform .15s ease, background .15s ease, border-color .15s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn--primary{
  background:linear-gradient(135deg, var(--accent), var(--accent2));
  border-color:transparent;
  box-shadow:0 14px 30px rgba(24,186,242,.18);
}
.btn--ghost{background:rgba(255,255,255,.06); color:var(--text)}

.navToggle{display:none; background:transparent; border:0; padding:10px; border-radius:12px}
.navToggle span{display:block; width:22px; height:2px; background:rgba(255,255,255,.82); margin:5px 0; border-radius:99px}

.hero{position:relative; overflow:hidden}
.hero__bg{
  position:absolute; inset:0;
  background-image:url('assets/hero-bg.jpg');
  background-size:cover; background-position:center;
  transform:scale(1.02);
}
.hero__overlay{position:absolute; inset:0; background:linear-gradient(90deg, rgba(7,11,18,.88) 0%, rgba(7,11,18,.55) 55%, rgba(7,11,18,.20) 100%)}

.hero__content{position:relative; padding:64px 0 62px; display:grid; grid-template-columns: 1.2fr .55fr; gap:28px; align-items:end}
.hero h1{margin:0 0 14px; font-size:54px; line-height:1.03; letter-spacing:-.6px}
.hero p{margin:0 0 18px; color:var(--muted); max-width:58ch}
.hero__cta{display:flex; gap:12px; flex-wrap:wrap; margin:18px 0 14px}
.hero__meta{color:var(--faint); font-size:13px; display:flex; gap:10px; align-items:center}
.hero__meta .dot{opacity:.55}

.hero__badge{display:flex; justify-content:flex-end}
.badge{
  width:100%;
  max-width:320px;
  padding:16px;
  border-radius:var(--radius);
  background:rgba(10,21,38,.78);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:var(--shadow);
}
.badge__title{font-size:13px; color:var(--faint); margin-bottom:10px}
.badge__item{display:block; padding:10px 12px; border-radius:12px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.10); margin-bottom:10px; font-weight:650}
.badge__sub{color:var(--faint); font-size:12px; margin-top:2px}

.hero__slice{height:70px; background:linear-gradient(135deg, rgba(24,186,242,.25), transparent 45%);
  border-top:1px solid rgba(255,255,255,.07);
  transform:skewY(-3.2deg) translateY(36px);
}

.section{padding:70px 0}
.section--dark{background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0)); border-top:1px solid rgba(255,255,255,.06); border-bottom:1px solid rgba(255,255,255,.06)}

.sectionHead{display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:22px}
.sectionHead p{margin:0; color:var(--muted); max-width:66ch}

h2{margin:0 0 12px; font-size:36px; letter-spacing:-.4px}
.lead{font-size:16px}

.grid2{display:grid; grid-template-columns: 1.05fr .95fr; gap:28px; align-items:start}

.aboutCards{display:grid; gap:12px}
.aboutCard{
  display:flex; gap:12px; align-items:flex-start;
  padding:14px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.10);
  border-radius:var(--radius);
}
.aboutCard__icon{width:44px; height:44px; border-radius:14px; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg, rgba(24,186,242,.16), rgba(43,108,255,.14));
  color:rgba(255,255,255,.90);
  border:1px solid rgba(255,255,255,.10);
}
.aboutCard__title{font-weight:750; margin-bottom:3px}
.aboutCard__desc{color:var(--muted); font-size:13px}
.aboutCard--subtle{justify-content:space-between; align-items:center}
.chip{font-size:12px; padding:7px 10px; border-radius:999px; border:1px solid rgba(255,255,255,.14); background:rgba(255,255,255,.06); color:var(--muted)}

.serviceGrid{display:grid; grid-template-columns:1fr 1fr; gap:16px}
.serviceCard{background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.10); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow)}
.serviceCard__media{height:220px; overflow:hidden}
.serviceCard__media img{width:100%; height:100%; object-fit:cover; display:block; filter:saturate(1.05) contrast(1.05)}
.serviceCard__body{padding:18px}
.serviceCard__body h3{margin:0 0 8px; font-size:20px}
.serviceCard__body p{margin:0 0 12px; color:var(--muted)}

.bullets{margin:0 0 12px 18px; padding:0; color:var(--muted)}
.bullets li{margin:6px 0}
.link{color:rgba(24,186,242,.95); font-weight:650}

.workGrid{display:grid; grid-template-columns: repeat(4, 1fr); gap:14px}
.workCard{background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.10); border-radius:var(--radius); overflow:hidden}
.workThumb{width:100%; height:170px; display:block; object-fit:cover; filter:saturate(1.05) contrast(1.05)}
.workBody{padding:12px 12px 14px}
.workTitle{font-weight:800}
.workMeta{color:var(--muted); font-size:12.5px; margin-top:2px}

.ctaBand{margin-top:20px; padding:18px; border-radius:var(--radius); border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(135deg, rgba(24,186,242,.10), rgba(43,108,255,.08));
  display:flex; align-items:center; justify-content:space-between; gap:16px
}
.ctaBand h3{margin:0 0 6px; font-size:18px}
.ctaBand p{margin:0; color:var(--muted)}

.contactGrid{display:grid; grid-template-columns:repeat(4, 1fr); gap:12px; margin-top:10px}
.contactCard{padding:14px; border-radius:var(--radius); background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.10)}
.contactCard__label{color:var(--faint); font-size:12px; margin-bottom:6px}
.contactCard__value{font-weight:750; color:var(--text)}

.form{margin-top:18px; padding:18px; border-radius:var(--radius); border:1px solid rgba(255,255,255,.10); background:rgba(0,0,0,.22)}
.formRow{display:grid; grid-template-columns:1fr 1fr; gap:12px}
label{display:block}
label span{display:block; font-size:12px; color:var(--faint); margin-bottom:6px}
input,textarea{
  width:100%;
  padding:12px 12px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);
  color:var(--text);
  outline:none;
}
input:focus, textarea:focus{border-color:rgba(24,186,242,.55); box-shadow:0 0 0 3px rgba(24,186,242,.12)}
textarea{resize:vertical; min-height:120px}

.formActions{display:flex; gap:12px; flex-wrap:wrap; margin-top:12px}
.formNote{margin-top:10px; color:var(--muted); min-height:18px; font-size:13px}

.footer{padding:22px 0; border-top:1px solid rgba(255,255,255,.06); background:rgba(0,0,0,.20)}
.footer__inner{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px}
.footer__brand{display:flex; align-items:center; gap:10px}
.footer__brand img{width:30px; height:30px; object-fit:contain}
.footer__name{font-weight:850}
.footer__sub{color:var(--muted); font-size:12.5px}
.footer__links{display:flex; gap:14px; color:var(--muted); font-size:13px}
.footer__legal{color:var(--faint); font-size:12px}

.noScroll{overflow:hidden}

@media (max-width: 980px){
  .hero__content{grid-template-columns:1fr; gap:18px; padding:54px 0 54px}
  .hero__badge{justify-content:flex-start}
  .grid2{grid-template-columns:1fr}
  .workGrid{grid-template-columns: repeat(2, 1fr)}
  .contactGrid{grid-template-columns:repeat(2, 1fr)}
}

@media (max-width: 760px){
  .brand__word{display:none}
  .navToggle{display:block}

  .nav{
    position:fixed; inset:64px 14px auto 14px;
    display:none; flex-direction:column; align-items:stretch;
    background:rgba(7,11,18,.92);
    border:1px solid rgba(255,255,255,.10);
    border-radius:18px;
    padding:12px;
    box-shadow:var(--shadow);
  }
  .nav--open{display:flex}
  .nav a{padding:10px 12px; border-radius:12px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08)}
  .nav a.btn{background:linear-gradient(135deg, var(--accent), var(--accent2)); border:0}

  .hero h1{font-size:40px}
  .serviceGrid{grid-template-columns:1fr}
  .workGrid{grid-template-columns:1fr}
  .formRow{grid-template-columns:1fr}
  .contactGrid{grid-template-columns:1fr}
  .ctaBand{flex-direction:column; align-items:flex-start}
}
