:root {
  --rhl-green-900: #123c2c;
  --rhl-green-700: #1f6248;
  --rhl-green-100: #e8f3ed;
  --rhl-gold: #d9a441;
  --rhl-ink: #18231f;
  --rhl-muted: #607069;
  --rhl-border: #d9e3de;
  --rhl-surface: #ffffff;
  --rhl-shadow: 0 12px 34px rgba(18, 60, 44, 0.09);
}
.rhl-archive { background: #f7faf8; padding: clamp(2rem, 5vw, 4.5rem) 1rem; }
.rhl-archive__inner, .rhl-library { width: min(1180px, 100%); margin-inline: auto; }
.rhl-library { color: var(--rhl-ink); font-family: inherit; }
.rhl-library *, .rhl-library *::before, .rhl-library *::after { box-sizing: border-box; }
.rhl-library__header { max-width: 760px; margin-bottom: 1.75rem; }
.rhl-library__header h2 { margin: 0 0 .65rem; color: var(--rhl-green-900); font-size: clamp(2rem, 5vw, 3.4rem); line-height: 1.05; }
.rhl-library__header p:last-child { color: var(--rhl-muted); font-size: 1.05rem; line-height: 1.7; }
.rhl-library__eyebrow { margin: 0 0 .55rem; color: var(--rhl-green-700); font-size: .78rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.rhl-filters { display: grid; grid-template-columns: minmax(220px, 1.7fr) repeat(3, minmax(145px, 1fr)); gap: 1rem; align-items: end; padding: 1.25rem; background: var(--rhl-surface); border: 1px solid var(--rhl-border); border-radius: 16px; box-shadow: var(--rhl-shadow); }
.rhl-field label { display: block; margin-bottom: .4rem; color: var(--rhl-green-900); font-size: .82rem; font-weight: 750; }
.rhl-field input, .rhl-field select { width: 100%; min-height: 46px; margin: 0; padding: .65rem .8rem; color: var(--rhl-ink); background: #fff; border: 1px solid #aebdb6; border-radius: 8px; font: inherit; }
.rhl-field input:focus, .rhl-field select:focus { border-color: var(--rhl-green-700); outline: 3px solid rgba(31, 98, 72, .18); outline-offset: 1px; }
.rhl-filter-actions { grid-column: 1 / -1; display: flex; gap: 1rem; align-items: center; }
.rhl-filter-actions button { min-height: 44px; padding: .7rem 1.3rem; color: #fff; background: var(--rhl-green-700); border: 0; border-radius: 8px; font: inherit; font-weight: 750; cursor: pointer; }
.rhl-filter-actions button:hover { background: var(--rhl-green-900); }
.rhl-filter-actions a { color: var(--rhl-green-700); font-weight: 700; }
.rhl-results-count { margin: 1.5rem 0 1rem; color: var(--rhl-muted); font-weight: 650; }
.rhl-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.35rem; }
.rhl-card { min-width: 0; overflow: hidden; background: var(--rhl-surface); border: 1px solid var(--rhl-border); border-radius: 16px; box-shadow: var(--rhl-shadow); transition: transform .2s ease, box-shadow .2s ease; }
.rhl-card:hover { transform: translateY(-3px); box-shadow: 0 16px 38px rgba(18, 60, 44, .14); }
.rhl-card__image { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--rhl-green-100); }
.rhl-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.rhl-card:hover .rhl-card__image img { transform: scale(1.035); }
.rhl-card__body { padding: 1.25rem; }
.rhl-card__body h3 { margin: .7rem 0 .35rem; color: var(--rhl-green-900); font-size: 1.3rem; line-height: 1.25; }
.rhl-card__body h3 a { color: inherit; text-decoration: none; }
.rhl-card__body p { margin: .6rem 0; color: var(--rhl-muted); line-height: 1.55; }
.rhl-card__names { color: var(--rhl-ink) !important; font-weight: 700; }
.rhl-card__scientific { font-size: .94rem; }
.rhl-card__badges { display: flex; flex-wrap: wrap; gap: .4rem; min-height: 1.5rem; }
.rhl-badge { display: inline-flex; padding: .25rem .55rem; border-radius: 999px; font-size: .72rem; font-weight: 750; line-height: 1.25; }
.rhl-badge--evidence { color: #24538b; background: #e8f1fb; }
.rhl-badge--safety { color: #714c07; background: #fff3d7; }
.rhl-card__link { display: inline-block; margin-top: .4rem; color: var(--rhl-green-700); font-weight: 800; text-decoration: none; }
.rhl-card__link:hover, .rhl-card__link:focus { color: var(--rhl-green-900); text-decoration: underline; }
.rhl-empty, .rhl-disclaimer { padding: 1.25rem; border-radius: 12px; }
.rhl-empty { background: var(--rhl-green-100); text-align: center; }
.rhl-empty h3 { margin-top: 0; color: var(--rhl-green-900); }
.rhl-disclaimer { margin-top: 2rem; color: #533a0a; background: #fff8e8; border-left: 4px solid var(--rhl-gold); line-height: 1.6; }
.rhl-pagination { margin-top: 2rem; }
.rhl-pagination ul { display: flex; flex-wrap: wrap; gap: .45rem; justify-content: center; margin: 0; padding: 0; list-style: none; }
.rhl-pagination a, .rhl-pagination span { display: grid; min-width: 42px; min-height: 42px; padding: .5rem; place-items: center; border: 1px solid var(--rhl-border); border-radius: 7px; text-decoration: none; }
.rhl-pagination .current { color: #fff; background: var(--rhl-green-700); border-color: var(--rhl-green-700); }
.rhl-single-wrap { padding: clamp(2rem, 5vw, 4.5rem) 1rem; background: #f7faf8; }
.rhl-single { width: min(1040px, 100%); margin-inline: auto; color: var(--rhl-ink); }
.rhl-single__back { display: inline-flex; gap: .4rem; margin-bottom: 1.5rem; color: var(--rhl-green-700); font-weight: 750; text-decoration: none; }
.rhl-single__hero { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: center; margin-bottom: 2rem; }
.rhl-single__intro h1 { margin: .35rem 0 .75rem; color: var(--rhl-green-900); font-size: clamp(2.3rem, 6vw, 4.5rem); line-height: 1.02; }
.rhl-single__names { margin: 0 0 .35rem; font-size: 1.2rem; font-weight: 800; }
.rhl-single__scientific { color: var(--rhl-muted); font-size: 1.05rem; }
.rhl-single__image { overflow: hidden; margin: 0; aspect-ratio: 4 / 3; border-radius: 20px; box-shadow: var(--rhl-shadow); }
.rhl-single__image img { width: 100%; height: 100%; object-fit: cover; }
.rhl-single__terms { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: 1rem; }
.rhl-single__terms span { padding: .3rem .65rem; color: var(--rhl-green-900); background: var(--rhl-green-100); border-radius: 999px; font-size: .78rem; font-weight: 750; }
.rhl-single__content, .rhl-detail { padding: clamp(1.25rem, 3vw, 2rem); background: #fff; border: 1px solid var(--rhl-border); border-radius: 14px; }
.rhl-single__content { margin-bottom: 1rem; line-height: 1.7; }
.rhl-single__sections { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.rhl-detail h2 { margin: 0 0 .75rem; color: var(--rhl-green-900); font-size: 1.25rem; }
.rhl-detail p { margin: 0; line-height: 1.7; }
.rhl-detail--safety { background: #fffaf0; border-color: #ead7a8; }
.rhl-detail--emergency { color: #661c1c; background: #fff1f1; border-color: #e4b7b7; }
.rhl-detail--emergency h2 { color: #7f1d1d; }
.rhl-single__review { margin-top: 1rem; padding: 1rem 0; color: var(--rhl-muted); border-top: 1px solid var(--rhl-border); }
@media (max-width: 900px) { .rhl-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); } .rhl-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .rhl-single__hero { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .rhl-filters, .rhl-grid, .rhl-single__sections { grid-template-columns: 1fr; } .rhl-filter-actions { align-items: stretch; flex-direction: column; } .rhl-filter-actions button, .rhl-filter-actions a { width: 100%; text-align: center; } .rhl-card:hover { transform: none; } }
@media (prefers-reduced-motion: reduce) { .rhl-card, .rhl-card__image img { transition: none; } }
