

  /* =============================================
     LIBRARY SECTION
  ============================================= */
  .library { padding: 7rem 8vw; background: var(--forest); }
  .library-header { text-align: center; margin-bottom: 1rem; }
  .library-header .section-headline { color: var(--ivory); }
  .library-header .section-headline em { color: var(--sage-light); }
  .library-intro {
    text-align: center; font-size: 1rem; font-weight: 300;
    color: var(--sage-light); line-height: 1.9;
    max-width: 580px; margin: 0 auto 3.5rem;
  }
  .lib-tabs {
    display: flex; justify-content: center; gap: 0.4rem;
    flex-wrap: wrap; margin-bottom: 3rem;
  }
  .lib-tab {
    font-family: var(--font-body); font-size: 0.78rem; font-weight: 400;
    letter-spacing: 0.1em; text-transform: uppercase; color: var(--sage-light);
    border: 1px solid rgba(200,217,196,0.25); background: transparent;
    padding: 0.5rem 1.1rem; border-radius: 2px; cursor: pointer; transition: all 0.2s;
  }
  .lib-tab.active, .lib-tab:hover {
    background: var(--sage-dark); color: var(--ivory); border-color: var(--sage-dark);
  }
  .lib-grid {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1.5rem;
  }
  .lib-card {
    background: rgba(247,243,236,0.05); border: 1px solid rgba(200,217,196,0.12);
    border-radius: 4px; padding: 1.8rem; display: flex; flex-direction: column;
    gap: 0.9rem; transition: background 0.2s, transform 0.2s;
  }
  .lib-card:hover { background: rgba(247,243,236,0.09); transform: translateY(-2px); }
  .lib-type {
    display: inline-flex; align-items: center; gap: 0.4rem; font-size: 0.65rem;
    font-weight: 500; letter-spacing: 0.15em; text-transform: uppercase;
    padding: 0.25rem 0.7rem; border-radius: 2px; width: fit-content;
  }
  .lib-type.concept  { background: rgba(74,102,69,0.4);  color: var(--sage-light); }
  .lib-type.quote    { background: rgba(196,137,122,0.3); color: #EDD5CE; }
  .lib-type.idea     { background: rgba(201,169,110,0.3); color: #F0DDB0; }
  .lib-type.exercise { background: rgba(90,100,114,0.35); color: #D0D8E0; }
  .lib-type.paradox  { background: rgba(74,102,69,0.25);  color: var(--sage-light); }
  .lib-card-title {
    font-family: var(--font-display); font-size: 1.2rem; font-weight: 400;
    color: var(--ivory); line-height: 1.3;
  }
  .lib-card-body {
    font-size: 0.88rem; font-weight: 300; color: rgba(200,217,196,0.85);
    line-height: 1.85; flex: 1;
  }
  .lib-card-body em { font-style: italic; color: var(--ivory); }
  .lib-card-source { font-size: 0.72rem; letter-spacing: 0.08em; color: rgba(200,217,196,0.5); }
  .lib-expand-btn {
    background: none; border: none; cursor: pointer; font-family: var(--font-body);
    font-size: 0.78rem; color: var(--sage-light); padding: 0; text-align: left;
    display: flex; align-items: center; gap: 0.4rem; transition: color 0.2s;
  }
  .lib-expand-btn:hover { color: var(--ivory); }
  .lib-expand-btn .arr { transition: transform 0.25s; display: inline-block; }
  .lib-expand-btn.open .arr { transform: rotate(90deg); }
  .lib-extra {
    font-size: 0.85rem; font-weight: 300; color: rgba(200,217,196,0.75);
    line-height: 1.85; max-height: 0; overflow: hidden;
    transition: max-height 0.35s ease, padding-top 0.2s;
    padding-top: 0; border-top: 1px solid rgba(200,217,196,0.1);
  }
  .lib-extra.open { max-height: 500px; padding-top: 0.9rem; }
  .lib-card.featured {
    grid-column: 1 / -1; flex-direction: row; align-items: flex-start;
    gap: 2rem; background: rgba(74,102,69,0.18); border-color: rgba(200,217,196,0.2);
  }
  .lib-card.featured .lib-icon { font-size: 2.8rem; flex-shrink: 0; line-height: 1; margin-top: 0.2rem; }
  .lib-card.featured .lib-card-title { font-size: 1.45rem; }
  .lib-hidden { display: none; }
  .lib-more-wrap { text-align: center; margin-top: 2.5rem; }
  .lib-more-btn {
    background: transparent; border: 1px solid rgba(200,217,196,0.3);
    color: var(--sage-light); font-family: var(--font-body);
    font-size: 0.85rem; font-weight: 400; letter-spacing: 0.05em;
    padding: 0.85rem 2rem; border-radius: 2px; cursor: pointer; transition: all 0.2s;
  }
  .lib-more-btn:hover { background: var(--sage-dark); color: var(--ivory); border-color: var(--sage-dark); }
  @media (max-width: 900px) {
    .lib-grid { grid-template-columns: 1fr; }
    .lib-card.featured { flex-direction: column; }
  }
