:root {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: #f6f5f0;
  color: #19221f;
}
* { box-sizing: border-box; }
body { margin: 0; }
.library-shell { width: min(1120px, calc(100% - 2rem)); margin: 0 auto; padding: clamp(3rem, 8vw, 7rem) 0 5rem; }
.masthead { max-width: 720px; padding-bottom: 4rem; }
.eyebrow, .resource-type { margin: 0 0 .6rem; color: #637067; font-size: .76rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
h1, h2, h3, h4 { font-family: Georgia, "Times New Roman", serif; font-weight: 500; line-height: 1.04; }
h1 { margin: 0; font-size: clamp(3.4rem, 9vw, 6.6rem); letter-spacing: -.055em; }
h2 { margin: 0; font-size: clamp(2rem, 4vw, 3rem); letter-spacing: -.035em; }
h3 { margin: 0 0 .75rem; font-family: inherit; color: #637067; font-size: .82rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
h4 { margin: 0; font-size: clamp(1.35rem, 2.4vw, 1.8rem); letter-spacing: -.025em; }
.intro { max-width: 550px; margin: 1.4rem 0 2rem; color: #526058; font-size: 1.12rem; line-height: 1.6; }
.search-label { display: block; margin-bottom: .5rem; font-size: .88rem; font-weight: 700; }
input { width: min(100%, 500px); border: 1px solid #aab5ad; background: #fffefa; color: inherit; padding: .85rem 1rem; font: inherit; }
input:focus { outline: 3px solid #9bb8a2; outline-offset: 2px; }
.result-count { color: #637067; font-size: .88rem; }
.course { margin-top: 4rem; }
.section-heading { margin-bottom: 1.5rem; }
.content-group + .content-group { margin-top: 2rem; }
.resource-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid #b9c1b9; }
.resource { min-height: 150px; padding: 1.35rem; background: #fffefa; }
.resource:nth-child(even) { border-left: 1px solid #b9c1b9; }
.resource:nth-child(n + 3) { border-top: 1px solid #b9c1b9; }
.resource--reference { min-height: 120px; background: #e7efe4; }
.resource--reference .resource-type { color: #4e6754; }
a { color: inherit; text-decoration-color: #6b8c72; text-decoration-thickness: 2px; text-underline-offset: 4px; }
a:hover { color: #27523b; }
.empty-state { margin-top: 3rem; color: #526058; }
[hidden] { display: none !important; }
@media (max-width: 640px) {
  .library-shell { width: min(100% - 1.5rem, 1120px); }
  .masthead { padding-bottom: 2rem; }
  .resource-grid { grid-template-columns: 1fr; }
  .resource:nth-child(even) { border-left: 0; }
  .resource:nth-child(n + 2) { border-top: 1px solid #b9c1b9; }
  .resource { min-height: 0; }
}
