/* treaducation.css - shared styles for all Treaducation pages */

@import url('https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600&display=swap');

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

:root {
  --blue:    #5db87a;
  --gold:    #f0e8b4;
  --dimtext: rgba(170,200,170,0.65);
  --bg:      #080e14;
  --panel:   rgba(255,255,255,0.04);
  --border:  rgba(93,184,122,0.22);
}

body {
  background: var(--bg);
  color: #ccddcc;
  font-family: 'Fira Code', 'Courier New', Courier, monospace;
  font-size: 14px;
  min-height: 100vh;
  line-height: 1.65;
}

/* ── Back bar ─────────────────────────────────────────────────────────────── */
.back-bar {
  border-bottom: 1px solid var(--border);
}
.back-link {
  display: block;
  padding: 10px 24px;
  color: var(--dimtext);
  text-decoration: none;
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  transition: color 0.15s;
  cursor: pointer;
}
.back-link:hover { color: var(--blue); }

/* ── Hero ─────────────────────────────────────────────────────────────────── */
.hero {
  text-align: center;
  padding: 48px 40px 36px;
  border-bottom: 1px solid var(--border);
  background: linear-gradient(180deg, rgba(8,20,36,0.98) 0%, rgba(8,14,20,1) 100%);
}
.hero-title {
  font-size: 36px;
  letter-spacing: 0.14em;
  color: var(--blue);
  text-transform: uppercase;
  text-shadow: 0 0 40px rgba(93,184,122,0.35);
  margin-bottom: 8px;
}
.hero-sub {
  font-size: 12px;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--dimtext);
  margin-bottom: 24px;
}
.hero-intro {
  max-width: 600px;
  margin: 0 auto;
  font-size: 13px;
  color: var(--dimtext);
  line-height: 1.75;
}

/* ── Page body ────────────────────────────────────────────────────────────── */
.page {
  max-width: 820px;
  margin: 0 auto;
  padding: 40px 32px 80px;
}

/* ── Section headings ─────────────────────────────────────────────────────── */
.section-title {
  font-size: 12px;
  letter-spacing: 0.20em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 16px;
  margin-top: 48px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--border);
}
.section-title:first-of-type { margin-top: 0; }

/* ── Body text ────────────────────────────────────────────────────────────── */
p.body {
  font-size: 13px;
  color: var(--dimtext);
  line-height: 1.7;
  margin-bottom: 8px;
}
ul.body, ol.body {
  font-size: 13px;
  color: var(--dimtext);
  line-height: 1.7;
  padding-left: 18px;
  margin-bottom: 8px;
}
ul.body li, ol.body li { margin-bottom: 3px; }

/* ── Info cards ───────────────────────────────────────────────────────────── */
.card {
  background: var(--panel);
  border: 1px solid var(--border);
  padding: 14px 18px;
  margin-bottom: 10px;
}
.card-title {
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--blue);
  margin-bottom: 8px;
}
.card p, .card li {
  font-size: 13px;
  color: var(--dimtext);
  line-height: 1.65;
}
.card ul, .card ol { padding-left: 18px; margin-top: 4px; }
.card li { margin-bottom: 3px; }

/* ── Step blocks ──────────────────────────────────────────────────────────── */
.step-block {
  background: var(--panel);
  border: 1px solid var(--border);
  border-left: 3px solid var(--blue);
  padding: 18px 22px;
  margin-bottom: 16px;
}
.step-block-title {
  font-size: 13px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 12px;
}
.step-block-title span {
  color: var(--blue);
  opacity: 0.6;
  margin-right: 8px;
}
.sub-heading {
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--blue);
  margin-top: 12px;
  margin-bottom: 5px;
}

/* ── Callout ──────────────────────────────────────────────────────────────── */
.callout {
  border: 1px solid rgba(240,232,180,0.22);
  background: rgba(240,232,180,0.04);
  padding: 10px 16px;
  margin: 10px 0;
  font-size: 13px;
  color: rgba(240,232,180,0.7);
  line-height: 1.65;
}

/* ── Tags ─────────────────────────────────────────────────────────────────── */
.tag-row {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 10px;
}
.tag {
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(93,184,122,0.7);
  background: rgba(93,184,122,0.08);
  border: 1px solid rgba(93,184,122,0.22);
  padding: 2px 7px;
}

/* ── Footer ───────────────────────────────────────────────────────────────── */
footer {
  border-top: 1px solid var(--border);
  text-align: center;
  padding: 24px 20px;
  font-size: 11px;
  color: rgba(170,200,170,0.25);
}
footer a { color: rgba(93,184,122,0.55); text-decoration: none; }
footer a:hover { color: var(--blue); }
