/* =============================================================
   index.css — Path of Breathing · Homepage
   Requires shared.css to be loaded first.
   The homepage uses .band-grid (two-column grid) — deliberately
   named differently from module.css's .band (flex column) so the
   two sheets can never silently collide. .band-label/.band-content
   overrides are scoped under .band-grid for the same reason.
   Retired styles live in _dev/_graveyard.css.
   ============================================================= */

:root {
  /* --pad defined in shared.css */
  --max-w: 1280px;
}

/* ── Site wrapper ────────────────────────────────────────────── */
.site-wrap {
  max-width: var(--max-w);
  margin: 0 auto;
  border-left:  1px solid var(--border);
  border-right: 1px solid var(--border);
}


/* ── Hero ────────────────────────────────────────────────────── */
.hero {
  min-height: calc(100dvh - 56px);
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding: 0 var(--pad);
}

.hero-left {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 80px clamp(24px, 4vw, 60px) 80px 0;
  border-right: 1px solid var(--border);
}

.hero-right {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 80px 0 80px clamp(24px, 4vw, 60px);
}

.hero-title {
  font-family: var(--serif);
  font-size: clamp(56px, 7vw, 88px);
  font-weight: 300;
  line-height: 1.02;
  letter-spacing: -0.01em;
  color: var(--text);
  opacity: 0;
  animation: fadeUp 0.8s 0.35s forwards;
}
.hero-title em { font-style: italic; color: var(--accent); }

.hero-body {
  font-family: var(--sans);
  font-size: clamp(15px, 1.4vw, 17px);
  font-weight: 400;
  line-height: 1.8;
  color: var(--text);
  margin-bottom: 40px;
  opacity: 0;
  animation: fadeUp 0.8s 0.5s forwards;
}
.hero-body em { color: var(--accent); font-weight: 400; }

/* ── Content bands ───────────────────────────────────────────── */
.band-grid {
  width: 100%;
  border-top: 1px solid var(--border);
  padding: 100px var(--pad);
  display: grid;
  grid-template-columns: minmax(120px, 18%) 1fr;
  gap: 0 8vw;
  align-items: start;
}

.band-grid .band-label {
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--accent);
  padding-top: 6px;
  position: sticky;
  top: 48px;
}

.band-grid .band-content {
  font-family: var(--sans);
  font-size: clamp(15px, 1.4vw, 17px);
  font-weight: 400;
  line-height: 1.85;
  color: var(--text);
}
.band-grid .band-content p + p { margin-top: 1.4em; }
.band-grid .band-content em     { font-style: italic; color: var(--accent); }

/* Prose lists (used inside .band-content) */
.band-grid .band-content h4 {
  margin-top: 1.5em;
  margin-bottom: 0.5em;
  font-weight: 600;
}
.band-grid .band-content ul      { padding-left: 1.25rem; }
.band-grid .band-content li      { margin-bottom: 0.4rem; }
.band-grid .band-content li::marker { color: #888; font-size: 0.9em; }

/* ── TOC (homepage) ─────────────────────────────────────────── */
.toc {
  padding-left: var(--pad);
  padding-right: var(--pad);
  border-top: 1px solid var(--border);
  border-bottom: none;
}

/* footer, .footer-updated → shared.css
   .footer-mark            → shared.css */

/* ── Responsive ──────────────────────────────────────────────── */
@media (max-width: 900px) {
  .hero { grid-template-columns: 1fr; min-height: auto; padding-top: 0; }
  .hero-left { border-right: none; border-bottom: 1px solid var(--border); padding: 60px 0; }
  .hero-right { padding: 60px 0; }
  .band-grid { grid-template-columns: 1fr; gap: 24px 0; }
  .band-grid .band-label { position: static; }
}
