:root {
  --uz-canvas: #150B2E;
  --uz-surface: #1F1240;
  --uz-surface-lift: #291758;
  --uz-accent: #A86BFF;
  --uz-accent-deep: #7B3FE4;
  --uz-glow: #D4A8FF;
  --uz-ink: #F4EEFF;
  --uz-ink-soft: #C9B8E8;
  --uz-muted: #5C4A82;
  --uz-positive: #7CE3C5;
  --uz-warm: #FF8FB3;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

.uz-page {
  background: var(--uz-canvas);
  color: var(--uz-ink);
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 16px;
  line-height: 1.55;
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
}

a { color: var(--uz-accent); text-decoration: none; transition: color 0.18s; }
a:hover { color: var(--uz-glow); }

.uz-topbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 22px 48px;
  border-bottom: 1px solid rgba(168, 107, 255, 0.10);
  background: rgba(21, 11, 46, 0.85);
  backdrop-filter: blur(8px);
  position: sticky;
  top: 0;
  z-index: 5;
}

.uz-brand { display: flex; align-items: center; gap: 12px; }
.uz-brand-mark {
  width: 32px; height: 32px;
  display: inline-flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, var(--uz-glow), var(--uz-accent-deep));
  color: var(--uz-canvas);
  font-family: 'Sora', sans-serif;
  font-weight: 800;
  border-radius: 7px;
  font-size: 16px;
}
.uz-brand-text {
  font-family: 'Sora', sans-serif;
  font-weight: 600;
  letter-spacing: 0.6px;
  font-size: 14px;
}
.uz-topnav { display: flex; gap: 26px; }
.uz-topnav a {
  color: var(--uz-ink-soft);
  font-family: 'Sora', sans-serif;
  font-weight: 500;
  letter-spacing: 0.4px;
  font-size: 13px;
}
.uz-topnav a:hover { color: var(--uz-glow); }

main { max-width: 1180px; margin: 0 auto; padding: 0 48px; }

.uz-hero {
  position: relative;
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 60px;
  align-items: center;
  padding: 100px 0 80px;
}

.uz-hero-prism {
  position: relative;
  height: 460px;
  isolation: isolate;
}
.uz-prism {
  position: absolute;
  width: 0; height: 0;
  border-left: 80px solid transparent;
  border-right: 80px solid transparent;
}
.uz-prism-a {
  border-bottom: 140px solid var(--uz-accent-deep);
  top: 100px; right: 60px;
  filter: drop-shadow(0 0 30px rgba(123, 63, 228, 0.6));
}
.uz-prism-b {
  border-bottom: 100px solid var(--uz-accent);
  top: 220px; right: 200px;
  opacity: 0.7;
  border-left-width: 60px; border-right-width: 60px;
  transform: rotate(180deg);
}
.uz-prism-c {
  border-bottom: 70px solid var(--uz-glow);
  top: 60px; right: 240px;
  opacity: 0.5;
  border-left-width: 38px; border-right-width: 38px;
}
.uz-glow {
  position: absolute;
  border-radius: 50%;
  filter: blur(60px);
  pointer-events: none;
}
.uz-glow-1 {
  width: 360px; height: 360px;
  background: rgba(168, 107, 255, 0.4);
  top: 0; right: -60px;
}
.uz-glow-2 {
  width: 220px; height: 220px;
  background: rgba(123, 63, 228, 0.45);
  bottom: -40px; right: 140px;
}

.uz-overline {
  font-family: 'Sora', sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 2.4px;
  color: var(--uz-accent);
  margin-bottom: 18px;
}
.uz-hero-text h1 {
  font-family: 'Sora', sans-serif;
  font-weight: 700;
  font-size: 50px;
  line-height: 1.12;
  letter-spacing: -0.8px;
  margin-bottom: 22px;
  color: var(--uz-ink);
}
.uz-hero-sub {
  font-size: 16px;
  line-height: 1.6;
  color: var(--uz-ink-soft);
  margin-bottom: 30px;
  max-width: 560px;
}
.uz-hero-actions { display: flex; gap: 14px; flex-wrap: wrap; }

.uz-btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 14px 26px;
  font-family: 'Sora', sans-serif;
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 0.6px;
  border-radius: 14px;
  text-transform: uppercase;
  transition: transform 0.18s, box-shadow 0.18s, background 0.18s;
}
.uz-btn-primary {
  background: var(--uz-accent);
  color: var(--uz-canvas);
  box-shadow: 0 6px 20px rgba(168, 107, 255, 0.35);
}
.uz-btn-primary:hover {
  background: var(--uz-glow);
  transform: translateY(-2px);
  color: var(--uz-canvas);
}
.uz-btn-ghost {
  background: transparent;
  color: var(--uz-accent);
  border: 1.4px solid var(--uz-accent);
}
.uz-btn-ghost:hover {
  background: rgba(168, 107, 255, 0.12);
  color: var(--uz-glow);
}

.uz-section {
  padding: 90px 0;
  border-top: 1px solid rgba(168, 107, 255, 0.10);
}
.uz-section-dark {
  background: linear-gradient(180deg, var(--uz-canvas) 0%, var(--uz-surface) 100%);
  border-radius: 24px;
  margin-top: 80px;
  padding: 70px 60px;
  border-top: none;
}
.uz-section h2 {
  font-family: 'Sora', sans-serif;
  font-weight: 700;
  font-size: 36px;
  letter-spacing: -0.4px;
  margin-bottom: 16px;
}
.uz-section-lead {
  color: var(--uz-ink-soft);
  font-size: 17px;
  max-width: 700px;
  margin-bottom: 50px;
}

.uz-tools {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
}
.uz-tool-card {
  background: var(--uz-surface);
  border-radius: 22px;
  padding: 36px 28px 30px;
  border: 1px solid rgba(168, 107, 255, 0.16);
  transition: transform 0.22s, box-shadow 0.22s, border-color 0.22s;
  position: relative;
  overflow: hidden;
}
.uz-tool-card:hover {
  transform: translateY(-6px);
  border-color: rgba(212, 168, 255, 0.5);
  box-shadow: 0 20px 50px rgba(168, 107, 255, 0.15);
}
.uz-tool-glyph {
  width: 56px; height: 56px;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 22px;
  background: rgba(168, 107, 255, 0.12);
  border-radius: 14px;
}
.uz-prism-glyph {
  width: 0; height: 0;
  border-left: 14px solid transparent;
  border-right: 14px solid transparent;
  border-bottom: 24px solid var(--uz-accent);
  filter: drop-shadow(0 0 6px rgba(168, 107, 255, 0.5));
}
.uz-tri-glyph {
  width: 28px; height: 28px;
  background: var(--uz-glow);
  clip-path: polygon(50% 0%, 100% 100%, 0% 100%);
}
.uz-arc-glyph {
  width: 28px; height: 28px;
  border: 4px solid var(--uz-accent);
  border-bottom-color: transparent;
  border-right-color: transparent;
  border-radius: 50%;
  transform: rotate(45deg);
}

.uz-tool-card h3 {
  font-family: 'Sora', sans-serif;
  font-weight: 600;
  font-size: 22px;
  margin-bottom: 12px;
  color: var(--uz-ink);
}
.uz-tool-card p {
  font-size: 14.5px;
  color: var(--uz-ink-soft);
  line-height: 1.6;
  margin-bottom: 16px;
}
.uz-bullets { list-style: none; padding: 0; }
.uz-bullets li {
  position: relative;
  padding-left: 18px;
  font-size: 13px;
  color: var(--uz-ink-soft);
  margin-bottom: 6px;
}
.uz-bullets li::before {
  content: '';
  position: absolute;
  left: 0; top: 6px;
  width: 8px; height: 8px;
  background: var(--uz-accent);
  clip-path: polygon(50% 0%, 100% 100%, 0% 100%);
}

.uz-paragraph {
  color: var(--uz-ink-soft);
  font-size: 15px;
  line-height: 1.65;
  max-width: 760px;
  margin-bottom: 22px;
}

.uz-studio-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  margin-top: 30px;
}
.uz-studio-cell {
  padding: 22px;
  background: rgba(168, 107, 255, 0.06);
  border-radius: 16px;
  border-left: 3px solid var(--uz-accent);
}
.uz-studio-cell h4 {
  font-family: 'Sora', sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  color: var(--uz-accent);
  margin-bottom: 8px;
}
.uz-studio-cell p {
  font-size: 14px;
  color: var(--uz-ink-soft);
  line-height: 1.55;
}

.uz-footer-section {
  padding: 80px 0 60px;
  text-align: center;
}
.uz-footer-section h2 {
  font-family: 'Sora', sans-serif;
  font-size: 32px;
  margin-bottom: 14px;
}
.uz-mail {
  font-family: 'Sora', sans-serif;
  font-size: 22px;
  margin-top: 24px;
}

.uz-foot {
  text-align: center;
  padding: 30px;
  border-top: 1px solid rgba(168, 107, 255, 0.10);
  font-size: 13px;
  color: var(--uz-muted);
}

@media (max-width: 880px) {
  .uz-topbar { padding: 18px 24px; }
  .uz-topnav { gap: 14px; font-size: 12px; }
  main { padding: 0 24px; }
  .uz-hero { grid-template-columns: 1fr; padding: 60px 0 40px; }
  .uz-hero-prism { display: none; }
  .uz-hero-text h1 { font-size: 34px; }
  .uz-tools { grid-template-columns: 1fr; }
  .uz-studio-grid { grid-template-columns: 1fr; }
  .uz-section { padding: 60px 0; }
  .uz-section-dark { padding: 40px 24px; }
}
