.halcyon-resources { max-width: 1120px; margin: 0 auto; padding: 40px 24px 64px; }
.halcyon-resources h1 { font-family: var(--display); font-size: clamp(22px, 3vw, 32px); font-weight: 400; margin: 24px 0 12px; }
.halcyon-resources h2 { font-size: 22px; font-weight: 500; margin: 0 0 16px; }
.halcyon-resources p { color: var(--ink-2); max-width: 75ch; }
.halcyon-resources .intro { font-size: 18px; margin-bottom: 40px; }
.halcyon-resources section + section { margin-top: 48px; }
.halcyon-photos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.halcyon-photos figure { margin: 0; min-width: 0; }
.halcyon-photos img { width: 100%; height: 330px; object-fit: contain; background: #171719; display: block; }
.halcyon-photos figcaption { margin-top: 12px; }
.halcyon-photos figcaption p, .license { font-size: 13px; }
.resource-list { list-style: none; padding: 0; margin: 24px 0 0; }
.resource-list li { padding: 16px 0; border-bottom: 1px solid #3e3e43; overflow-wrap: anywhere; }
.resource-list li > a { font-size: 17px; }
.resource-list span { display: block; color: var(--ink-2); margin-top: 4px; }
.resource-list p { margin: 6px 0; }
.resource-list summary { color: var(--ink-2); cursor: pointer; padding: 6px 0; }
@media (max-width: 700px) {
  .halcyon-resources { padding: 24px 16px 48px; }
  .halcyon-photos { grid-template-columns: 1fr; gap: 28px; }
  .halcyon-photos img { height: auto; max-height: 520px; }
  .bar { gap: 16px; padding: 0 16px; }
  .brand img { width: 110px; height: auto; }
  .nav { gap: 12px; }
  .nav a { font-size: 10px; }
}
