@layer components {
  /* ===================================================
     Vault Logion + Margin Notes + Nav Links
     Version: 2.5  Tokenised + Consolidated (2026)
     Changes:
     • Updated to v2.5 token standard (full parity with root + all pillars)
     • Cleaner structure and comments
     • All logion numbering, margin-note grid layout, responsive behaviour,
       and nav hover effects preserved 100%
     =================================================== */

  /* -----------------------------
     Vault Logion
  ----------------------------- */
  .vault-logion {
    position: relative;
    margin-bottom: var(--space-lg);
    padding-left: 3.2rem;
    border-left: 2px solid var(--accent-soft, rgba(186, 153, 60, 0.35));
    font-family: var(--font-serif);
    line-height: var(--font-base-line);
  }

  .logion-number {
    position: absolute;
    left: 0.8rem;
    top: 1.1rem;
    transform: translateY(-50%);
    font-family: var(--font-display);
    font-size: var(--font-size-xl);
    font-weight: var(--type-weight-semibold, 600);
    color: var(--gold-accent, var(--text-accent));
    text-shadow: 0 0 8px var(--accent-soft-glow, var(--shadow-glow));
    opacity: 0.85;
    line-height: 1;
    z-index: 1;
  }

  .logion-number::before {
    content: "";
    position: absolute;
    width: 2.2rem;
    height: 2.2rem;
    border-radius: 50%;
    background: var(--accent-soft-glow, rgba(255, 215, 128, 0.18));
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
  }

  @media (max-width: 600px) {
    .vault-logion { padding-left: 2.2rem; }
    .logion-number { font-size: var(--font-size-lg); left: 0.55rem; }
    .logion-number::before { width: 1.9rem; height: 1.9rem; }
  }

  /* -----------------------------
     Vault Margin Notes
  ----------------------------- */
  .vault-logion.has-margin-note {
    display: grid;
    grid-template-columns: minmax(10ch, 18ch) 1fr;
    column-gap: var(--space-md);
    padding-left: 0;
    border-left: 0;
  }

  .vault-logion.has-margin-note .vault-margin-note {
    grid-column: 1;
    margin: 0;
    padding-left: 0;
    border-left: 0;
    text-align: right;
    font-size: var(--type-small-size, var(--font-size-vs));
    opacity: 0.75;
    line-height: 1.4;
  }

  .vault-logion.has-margin-note .vault-logion-body {
    grid-column: 2;
    position: relative;
    padding-left: 3.2rem;
    border-left: 2px solid var(--accent-soft, rgba(186, 153, 60, 0.35));
  }

  @media (max-width: 900px) {
    .vault-logion.has-margin-note {
      grid-template-columns: 1fr;
    }
    .vault-logion.has-margin-note .vault-margin-note {
      text-align: left;
      margin: var(--space-xs) 0 var(--space-sm);
      opacity: 0.85;
    }
    .vault-logion.has-margin-note .vault-logion-body {
      padding-left: 3.2rem;
    }
  }

  /* -----------------------------
     Vault Link Grid
  ----------------------------- */
  .vault-page-links a {
    overflow-wrap: anywhere;
  }

  /* -----------------------------
     Vault Nav
  ----------------------------- */
  .vault-nav-links a {
    font-size: var(--font-size-base);
    color: var(--accent-page, var(--text-accent));
    text-decoration: none;
    padding: var(--space-sm) var(--space-md);
    border-radius: var(--radius-md);
    transition: var(--transition-default);
  }

  .vault-nav-links a:hover {
    background: var(--accent-page, var(--text-accent));
    color: var(--bg-primary);
    box-shadow: 0 4px 8px var(--shadow-glow);
  }

  /* Vault landing hero treatment. */
  body.vault
  .site-header.minimal.with-hero-media
  .hero-media-scrim {
    display: none;
  }

}
