.lib-public{--lib-blue:#a2c0eb;--lib-pink:#bf2a81;--lib-ink:#111;--lib-grey:#666;}.lib-public{margin:clamp(2.5rem,6vw,6rem) 0;font-family:inherit}.lib-public h2{font-size:clamp(1.65rem,3vw,2.6rem);margin:.15rem 0 1.5rem}.lib-kicker{color:var(--lib-pink);text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;opacity:.58;margin:0}.lib-intro{max-width:780px;font-size:clamp(1rem,1.5vw,1.16rem);line-height:1.75}.lib-source-grid,.lib-concept-grid,.lib-quote-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.8rem,2vw,1.4rem)}.lib-source-card{min-height:270px;border-radius:18px;overflow:hidden;position:relative;box-shadow:0 12px 34px rgba(0,0,0,.07)}.lib-cover{background:#eee}.lib-cover img{width:100%;height:100%;object-fit:cover;display:block}.lib-source-meta{position:absolute;left:0;right:0;bottom:0;padding:2.8rem 1rem 1rem;background:linear-gradient(transparent,rgba(0,0,0,.78));color:#fff;display:flex;flex-direction:column}.lib-source-meta span,.lib-synthetic span{font-size:.85rem;opacity:.78}.lib-synthetic{background:var(--source-color);padding:1.25rem;display:flex;flex-direction:column;justify-content:flex-end}.lib-synthetic strong{font-size:1.2rem;line-height:1.2}.lib-type-icon{position:absolute;right:1rem;top:1rem;font-size:1.25rem;opacity:.7}.lib-concept-card{border:0;background:transparent;min-height:150px;cursor:pointer;font:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.8rem;text-align:center}.lib-concept-icon{width:86px;height:86px;border-radius:999px;background:var(--family-color);display:grid!important;place-items:center;font-size:32px!important;line-height:1!important;box-shadow:0 10px 28px rgba(0,0,0,.07);transition:transform .18s ease,box-shadow .18s ease}.lib-concept-card:hover .lib-concept-icon{transform:translateY(-2px);box-shadow:0 14px 34px rgba(0,0,0,.1)}.lib-concept-card strong{font-size:1.02rem;max-width:180px}.lib-dialog{width:min(720px,calc(100vw - 2rem));border:0;border-radius:20px;padding:2rem;box-shadow:0 30px 80px rgba(0,0,0,.22)}.lib-dialog::backdrop{background:rgba(24,22,19,.45);backdrop-filter:blur(4px)}.lib-dialog-close{position:absolute;top:.8rem;right:1rem;border:0;background:transparent;font-size:1.7rem;cursor:pointer}.lib-note{border-top:1px solid rgba(0,0,0,.12);padding:.75rem 0}.lib-note summary{cursor:pointer;display:flex;justify-content:space-between;gap:1rem}.lib-note summary small{opacity:.55;white-space:nowrap}.lib-note-body{padding:.8rem 0}.lib-note-block strong{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;opacity:.62}.lib-quote{margin:0;padding:1.2rem;border-radius:18px;background:rgba(0,0,0,.035)}.lib-quote cite{display:block;margin-top:.9rem;font-size:.78rem;opacity:.6;font-style:normal}@media(max-width:720px){.lib-source-grid,.lib-concept-grid,.lib-quote-grid{grid-template-columns:1fr}.lib-source-card{min-height:220px}.lib-dialog{padding:1.4rem}}

/* Public research showcase — mobile */
@media (max-width:600px){
  .lib-public{margin:2.2rem 0;max-width:100%;overflow:hidden}
  .lib-public h2{font-size:1.7rem;line-height:1.08;margin-bottom:1rem}
  .lib-intro{font-size:1rem;line-height:1.6}
  .lib-source-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}
  .lib-concept-grid,.lib-quote-grid{grid-template-columns:1fr;gap:.7rem}
  .lib-source-card{min-height:0;aspect-ratio:3/4;border-radius:14px}
  .lib-source-meta{padding:2.3rem .7rem .7rem}
  .lib-source-meta strong,.lib-synthetic strong{font-size:.9rem;overflow-wrap:anywhere}
  .lib-source-meta span,.lib-synthetic span{font-size:.72rem}
  .lib-synthetic{padding:.75rem}
  .lib-type-icon{right:.7rem;top:.7rem}
  .lib-concept-card{min-height:125px}
  .lib-concept-icon{width:72px;height:72px;font-size:27px!important}
  .lib-dialog{width:calc(100vw - 1rem);max-width:none;max-height:calc(100dvh - 1rem);box-sizing:border-box;padding:1.2rem 1rem;overflow:auto}
  .lib-note summary{gap:.5rem}
  .lib-note summary small{white-space:normal;text-align:right}
  .lib-quote{padding:1rem}
}
