:root {
  color-scheme: dark;
  --bg: #07090b;
  --surface: #11161b;
  --surface-2: #171f26;
  --line: #34404a;
  --ink: #fff;
  --muted: #bac4cc;
  --accent: #34ff8b;
}

* { box-sizing: border-box; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: Inter, "Segoe UI", system-ui, sans-serif;
}
a { color: var(--accent); }
.public-nav {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 58px;
  padding: 8px max(18px, calc((100vw - 980px) / 2));
  border-bottom: 1px solid var(--line);
  background: rgba(7, 9, 11, 0.94);
}
.public-brand { color: var(--ink); font-size: 20px; font-weight: 900; text-decoration: none; }
.public-links { display: flex; align-items: center; gap: 14px; }
.public-links a { color: var(--muted); font-weight: 700; text-decoration: none; }
.public-links .primary-link { padding: 9px 14px; border-radius: 6px; background: var(--accent); color: #06120d; }
.public-main { width: min(980px, calc(100% - 28px)); margin: 0 auto; padding: 42px 0 72px; }
.public-hero { padding: 34px 0 44px; border-bottom: 1px solid var(--line); }
.public-hero h1 { max-width: 780px; margin: 0; font-size: clamp(34px, 6vw, 66px); line-height: 1.03; }
.public-hero p { max-width: 680px; margin: 18px 0 0; color: var(--muted); font-size: 18px; line-height: 1.55; }
.public-section { padding: 34px 0; border-bottom: 1px solid var(--line); }
.public-section h2 { margin: 0 0 18px; font-size: 26px; }
.public-section h3 { margin: 24px 0 8px; }
.public-section p, .public-section li { color: var(--muted); line-height: 1.65; }
.price-row { display: grid; grid-template-columns: 1fr auto; gap: 18px; align-items: center; padding: 22px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); }
.price-row strong { font-size: 30px; color: var(--accent); }
.details { display: grid; gap: 8px; padding: 18px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); }
.details p { margin: 0; }
@media (max-width: 620px) {
  .public-nav { align-items: flex-start; }
  .public-links { flex-wrap: wrap; justify-content: flex-end; font-size: 13px; }
  .price-row { grid-template-columns: 1fr; }
}
