:root {
  --bg: #14131a; --bg2: #1b1a22; --card: #201f29; --line: #2f2d3a;
  --fg: #eeece6; --muted: #a8a4b3; --violet: #a594ff; --violet-d: #6b4fd8; --amber: #f2b45c;
  --public: #7fd6a3; --internal: #8fb8ff; --private: #f2b45c; --restricted: #ff8a80;
  --max: 1120px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0; background: var(--bg); color: var(--fg);
  font: 17px/1.6 system-ui, -apple-system, "Segoe UI", "Noto Sans Arabic", sans-serif;
  -webkit-font-smoothing: antialiased;
}
a { color: var(--violet); }
img { max-width: 100%; display: block; }
h1, h2, h3, h4 { line-height: 1.15; margin: 0 0 .5em; }
h2 { font-size: clamp(1.6rem, 3.2vw, 2.3rem); letter-spacing: -.01em; }
h3 { font-size: 1.15rem; }
p { margin: 0 0 1em; }

.nav {
  position: absolute; inset: 0 0 auto 0; z-index: 3;
  display: flex; justify-content: space-between; align-items: center; gap: 16px;
  max-width: var(--max); margin: 0 auto; padding: 18px 16px;
}
.brand { color: var(--fg); text-decoration: none; font-weight: 700; font-size: 1.15rem; letter-spacing: .02em; }
.brand span { color: var(--muted); font-weight: 500; margin-inline-start: .35em; }
.nav nav { display: flex; gap: 22px; }
.nav nav a { color: var(--fg); opacity: .8; text-decoration: none; font-size: .92rem; }
.nav nav a:hover { opacity: 1; }

.hero { position: relative; min-height: min(92vh, 860px); display: flex; align-items: center; overflow: hidden; }
.hero-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 70% center; }
.hero::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(20,19,26,.92) 0%, rgba(20,19,26,.72) 38%, rgba(20,19,26,0) 70%),
              linear-gradient(0deg, var(--bg) 0%, rgba(20,19,26,0) 22%);
}
.hero-text { position: relative; z-index: 2; max-width: var(--max); width: 100%; margin: 0 auto; padding: 120px 16px 80px; }
.hero-text > * { max-width: 34rem; }
.eyebrow { color: var(--amber); text-transform: uppercase; letter-spacing: .12em; font-size: .78rem; font-weight: 600; }
.hero h1 { font-size: clamp(2.3rem, 5.6vw, 4rem); letter-spacing: -.02em; margin-bottom: .35em; }
.hero h1 em { font-style: normal; color: var(--violet); }
.lede { font-size: 1.15rem; color: #d6d3dd; }
.cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.btn { display: inline-block; padding: 12px 20px; border-radius: 10px; text-decoration: none; font-weight: 600; font-size: .95rem; }
.btn.primary { background: var(--violet-d); color: #fff; }
.btn.primary:hover { background: #7a60e6; }
.btn.ghost { border: 1px solid rgba(238,236,230,.35); color: var(--fg); }
.btn.ghost:hover { border-color: var(--fg); }

main { max-width: var(--max); margin: 0 auto; padding: 0 16px; }
section { padding: 72px 0; }
.note { color: var(--muted); font-size: .92rem; }
.sub { color: var(--muted); max-width: 44rem; }

.pillars { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); padding-top: 24px; }
.pillars article, .two article {
  background: var(--card); border: 1px solid var(--line); border-radius: 14px; padding: 22px;
}
.pillars article p, .two article p { color: var(--muted); margin: 0; }
.pillars h3 { color: var(--fg); }
.pillars article:nth-child(2) h3 { color: var(--amber); }

.steps { list-style: none; padding: 0; margin: 28px 0 0; display: grid; gap: 14px;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.steps li { display: flex; gap: 14px; background: var(--bg2); border: 1px solid var(--line); border-radius: 14px; padding: 20px; }
.steps li > span {
  flex: none; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center;
  background: rgba(165,148,255,.15); color: var(--violet); font-weight: 700;
}
.steps h4 { font-size: 1.02rem; margin-bottom: .3em; }
.steps p { color: var(--muted); font-size: .95rem; margin: 0; }

.private { display: grid; gap: 32px; grid-template-columns: 1fr 1fr; align-items: center; }
.private-img { border-radius: 16px; border: 1px solid var(--line); }
.classes { width: 100%; border-collapse: collapse; margin: 18px 0 12px; background: var(--card);
  border: 1px solid var(--line); border-radius: 12px; overflow: hidden; font-size: .95rem; }
.classes th, .classes td { text-align: start; padding: 10px 14px; border-bottom: 1px solid var(--line); }
.classes th { color: var(--muted); font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; }
.classes tr:last-child td { border-bottom: 0; }
.tag { display: inline-block; padding: 1px 10px; border-radius: 99px; font-size: .82rem; font-weight: 600; border: 1px solid currentColor; }
.tag.public { color: var(--public); } .tag.internal { color: var(--internal); }
.tag.private { color: var(--private); } .tag.restricted { color: var(--restricted); }

.two { display: grid; gap: 16px; grid-template-columns: 1fr 1fr; margin: 24px 0 16px; }
.hardware ul { margin: 10px 0 0; padding-inline-start: 1.1em; color: var(--muted); }
.fit { color: var(--amber) !important; font-size: .9rem; margin-bottom: 6px !important; }

footer {
  max-width: var(--max); margin: 0 auto; padding: 28px 16px 40px; border-top: 1px solid var(--line);
  display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; color: var(--muted); font-size: .88rem;
}
footer span span { margin-inline-start: .3em; }

@media (max-width: 820px) {
  .nav nav { display: none; }
  .private, .two { grid-template-columns: 1fr; }
  .private-img { order: -1; }
  .hero { min-height: 88vh; align-items: flex-end; }
  .hero-img { object-position: 64% center; }
  .hero::after { background: linear-gradient(0deg, rgba(20,19,26,.97) 0%, rgba(20,19,26,.85) 45%, rgba(20,19,26,.15) 80%); }
  section { padding: 52px 0; }
}
