/* Data sourcing library page (/data-we-source, generated by landing/library.mjs).
   Builds on styles.css + aec.css + landing.css; only the category cards, the "what we do" flow
   and compact versions of the homepage value and comparison sections are defined here. */

/* ---------- Nav: in-page anchors (desktop only; mobile keeps the language switcher) ---------- */
.lib-nav__link { font-size: 14.5px; line-height: 1.6; }

/* ---------- Compact hero ---------- */
.lib-hero .aec-hero__inner { padding: 136px 0 56px; }
.lib-hero .aec-hero__copy { max-width: 620px; }
.lib-hero .aec-hero__title { font-size: 56px; letter-spacing: -1.96px; hyphens: manual; }
.lib-eyebrow { color: var(--text-inverse-secondary); }
.lib-hero .format-tags { margin-top: 40px; }
.lib-hero .aec-hero__media { top: -60px; height: 820px; }

/* ---------- Shared section intros ---------- */
.lib-intro { display: flex; flex-direction: column; gap: 16px; max-width: 760px; }
.lib-intro--sub { gap: 8px; margin-top: 32px; }
.lib-intro--left { align-items: flex-start; }
.section-intro .label, .lib-intro .label, .lib-value__copy .label { margin-bottom: 4px; }

/* ---------- C + D. Category library ---------- */
.lib-library__inner { display: flex; flex-direction: column; gap: 40px; }
.lib-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.lib-cards > li { display: flex; }
.lib-card {
  display: flex; flex-direction: column; width: 100%; overflow: hidden;
  background: var(--bg-elevated); border: 1.5px solid var(--border-standard); border-radius: var(--radius);
  transition: border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.lib-card:hover { border-color: var(--brand-secondary); box-shadow: 0 8px 24px rgba(58, 33, 69, .1); transform: translateY(-2px); }
.lib-card:focus-visible { outline: 2px solid var(--brand-secondary); outline-offset: 3px; }
.lib-card__media { position: relative; aspect-ratio: 16 / 10; background: var(--brand-primary-subtle); overflow: hidden; }
.lib-cards:not(.lib-cards--featured) .lib-card__media { aspect-ratio: 16 / 9; }
.lib-card__media img { width: 100%; height: 100%; object-fit: cover; }
.lib-card__chips { position: absolute; left: 12px; bottom: 12px; display: flex; flex-wrap: wrap; gap: 6px; }
.lib-card__chips li {
  padding: 2px 8px; background: rgba(58, 33, 69, .88); color: var(--text-inverse);
  font-family: var(--font-mono); font-size: 11px; line-height: 1.6; letter-spacing: .4px;
}
.lib-card__body { display: flex; flex: 1; flex-direction: column; gap: 8px; padding: 20px 20px 24px; }
.lib-card__tag {
  font-family: var(--font-mono); font-size: 11.5px; line-height: 1.4; font-weight: 500;
  letter-spacing: 1.2px; text-transform: uppercase; color: var(--brand-accent-text);
}
.lib-card__title {
  font-size: 21px; line-height: 1.25; font-weight: 600; letter-spacing: -0.315px; color: var(--brand-primary);
  overflow-wrap: break-word; hyphens: auto;
}
.lib-cards--featured .lib-card__title { font-size: 24px; letter-spacing: -0.48px; }
.lib-card__body .small { color: var(--text-secondary); }
.lib-card__link {
  display: inline-flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 8px;
  font-size: 14.5px; font-weight: 600; color: var(--text-link);
}
.lib-card__link img { transition: transform var(--dur) var(--ease); }
.lib-card:hover .lib-card__link img { transform: translateX(3px); }
.lib-note { max-width: 760px; color: var(--text-secondary); }

/* ---------- E. Licensing potential (compact homepage value component) ---------- */
.lib-value__inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 56px; align-items: end; }
.lib-value__copy { display: flex; flex-direction: column; gap: 20px; }
.lib-value .value-card { gap: 10px; padding: 28px 32px; }
.lib-value .value-card__figure { font-size: 56px; }
.lib-value .value-card__text { font-size: 19px; line-height: 1.4; letter-spacing: -0.19px; }
.lib-value__disclaimer { color: var(--text-secondary); }
.lib-factors { gap: 10px; }
.lib-factors .factor__card { height: auto; padding: 10px 8px; }
/* Factor names are single words; keep them whole (no mid-word breaks) in every language. */
.lib-factors .h4 { font-size: 15.5px; line-height: 1.3; letter-spacing: -0.2px; text-align: center; }

/* ---------- F. Confidentiality (compact homepage comparison) ---------- */
.lib-compare { display: flex; flex-direction: column; gap: 24px; margin: 0; }
.lib-compare__title { color: var(--brand-primary); }
/* Field names run longer in uk/ru/uz ("Автор повідомлення") than the homepage's fixed 83px label column. */
.lib-compare .record dt { width: 140px; }
.lib-compare .record--after dt { width: 140px; }

/* ---------- Tablet ---------- */
@media (max-width: 1100px) {
  .lib-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lib-value__inner { grid-template-columns: 1fr; gap: 40px; }
  .lib-hero .aec-hero__title { font-size: 48px; }
}

/* ---------- Mobile ---------- */
@media (max-width: 767px) {
  .lib-nav__link { display: none; }
  .lib-hero .aec-hero__inner { padding: 96px 0 0; }
  .lib-hero .aec-hero__title { font-size: 28px; letter-spacing: -0.84px; }
  .lib-hero .aec-hero__media { top: auto; height: 429px; }
  .lib-eyebrow { font-size: 10.5px; letter-spacing: 1.4px; }


  .lib-library__inner { gap: 24px; }
  .lib-cards { grid-template-columns: 1fr; gap: 16px; }
  .lib-intro--sub { margin-top: 24px; }
  .lib-cards--featured .lib-card__title { font-size: 21px; }

  .lib-value .value-card__figure { font-size: 44px; letter-spacing: -1.5px; }
  .lib-value .value-card__text { font-size: 16.5px; }

  .lib-compare .record dt, .lib-compare .record--after dt { width: 104px; }
}
