/* ============================================================
   RavenTech.Pro — shared styles (used by every page)
   ============================================================ */

/* ---------- Design tokens ---------- */
:root {
  --bg: #05070f;
  --bg-soft: #0a0f1e;
  --panel: #0e1528;
  --gold: #c9a24b;
  --gold-bright: #e8c877;
  --blue: #4a7fe8;
  --blue-glow: #6fa0ff;
  --text: #d9dee9;
  --text-dim: #8b93a7;
  --border: rgba(201, 162, 75, 0.25);
}

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

html { scroll-behavior: smooth; }

body {
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  background: radial-gradient(ellipse at 50% -10%, #101a35 0%, var(--bg) 55%);
  color: var(--text);
  min-height: 100vh;
  line-height: 1.6;
}

.container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 24px;
}

/* ---------- Logo ---------- */
.logo {
  height: auto;
  display: block;
  filter: drop-shadow(0 0 28px rgba(74, 127, 232, 0.30));
}

/* ---------- Horizontal menu ---------- */
.menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 30px;
}

.menu a {
  position: relative;
  display: inline-block;
  padding: 8px 2px 10px;
  color: var(--text-dim);
  text-decoration: none;
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  transition: color 0.2s ease;
}

.menu a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 2px;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.25s ease;
}

.menu a:hover { color: var(--gold-bright); }
.menu a:hover::after { transform: scaleX(1); }

.menu a.active { color: var(--gold-bright); }
.menu a.active::after { transform: scaleX(1); }

/* ---------- Divider ---------- */
.divider {
  width: 220px;
  height: 1px;
  margin: 42px auto;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
}

/* ---------- Sub-page hero (logo left + menu to the right) ---------- */
.page-hero {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 56px;
  flex-wrap: wrap;
  padding: 44px 0 14px;
}

.page-hero .logo { width: min(300px, 62vw); }

/* Vertical menu, stacked to the right of the logo */
.page-hero .menu {
  flex-direction: column;
  align-items: flex-start;
  gap: 13px;
}

/* ---------- Sub-page content ---------- */
.page-body { padding: 26px 0 14px; }

.page-title {
  text-align: center;
  font-size: 1.85rem;
  line-height: 1.25;
  letter-spacing: 0.05em;
  font-weight: 600;
  color: var(--text);
  margin-bottom: 18px;
}
.page-title .accent { color: var(--gold-bright); }

.page-intro {
  max-width: 780px;
  margin: 0 auto 32px;
  text-align: center;
  color: var(--text-dim);
  font-size: 1.05rem;
  line-height: 1.8;
}

.page-list {
  list-style: none;
  max-width: 780px;
  margin: 0 auto;
  display: grid;
  gap: 14px;
}

.page-list li {
  position: relative;
  padding: 16px 22px 16px 48px;
  background: linear-gradient(180deg, var(--panel) 0%, rgba(10,15,30,0.6) 100%);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 12px;
  color: var(--text);
  font-size: 1rem;
  line-height: 1.65;
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.page-list li::before {
  content: "";
  position: absolute;
  left: 22px;
  top: 25px;
  width: 8px;
  height: 8px;
  background: var(--gold);
  border-radius: 1px;
  transform: rotate(45deg);
  box-shadow: 0 0 10px rgba(201,162,75,0.55);
}

.page-list li:hover {
  transform: translateY(-2px);
  border-color: rgba(201,162,75,0.4);
  box-shadow: 0 10px 26px rgba(0,0,0,0.4);
}

.page-list li strong { color: var(--gold-bright); font-weight: 600; }

/* ---------- Footer ---------- */
footer {
  margin-top: 36px;
  padding: 26px 0 34px;
  border-top: 1px solid rgba(255,255,255,0.06);
  text-align: center;
  color: var(--text-dim);
  font-size: 0.85rem;
}

footer .brand {
  color: var(--gold);
  font-weight: 600;
  letter-spacing: 0.08em;
}

/* ---------- Responsive (shared) ---------- */
@media (max-width: 720px) {
  .page-hero {
    flex-direction: column;
    text-align: center;
  }
  .page-hero .menu {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px 26px;
  }
  .page-title { font-size: 1.5rem; }
}
