.hj-landing { --journal-ink: #243342; --journal-paper: #faf7f1; max-width: 1280px; margin: auto; padding: clamp(24px, 5vw, 72px) 24px; color: var(--journal-ink); }
.hj-landing__header { max-width: 740px; margin: 0 auto 48px; text-align: center; }
.hj-landing h1, .hj-landing h2 { font-family: 'Cormorant Garamond', Georgia, serif; color: inherit; }
.hj-landing h1 { font-size: clamp(48px, 8vw, 88px); margin: 12px 0; }
.hj-landing__filters { display: flex; flex-wrap: wrap; align-items: end; gap: 16px; padding: 24px; margin-bottom: 40px; background: var(--journal-paper); }
.hj-landing__filters label { display: grid; gap: 6px; flex: 1 1 220px; }
.hj-landing__filters select, .hj-landing__filters button { min-height: 44px; padding: 8px 12px; font: inherit; }
.hj-landing__filters button { color: #fff; background: var(--journal-ink); border: 1px solid var(--journal-ink); cursor: pointer; }
.hj-landing__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px 28px; }
.hj-landing__card { min-width: 0; border-bottom: 1px solid #d7d1c5; }
.hj-landing__card img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.hj-landing__card-copy { padding: 20px 0; }
.hj-landing__card h2 { font-size: 32px; line-height: 1.15; margin: 12px 0; }
.hj-landing__card a { color: inherit; }
.hj-landing__type, .hj-landing__destination { font-size: 13px; letter-spacing: .06em; }
.hj-landing .page-numbers { display: flex; flex-wrap: wrap; gap: 16px; list-style: none; padding: 0; margin-top: 40px; }
.hj-landing :focus-visible { outline: 3px solid #81612e; outline-offset: 4px; }
@media (max-width: 900px) { .hj-landing__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .hj-landing__grid { grid-template-columns: minmax(0, 1fr); } }
