/* ==========================================================================
   Resources page styles. Loaded only on /resources. Builds on site.css.
   ========================================================================== */

.res-hero .hero__title { font-size: clamp(38px, 5vw, 62px); letter-spacing: -0.035em; }
.res-hero .hero__body { max-width: 720px; }
.res-hero .hero__lead { margin-bottom: 0; max-width: 560px; }

/* featured report card */
.res-featured { padding: clamp(48px, 7vw, 64px) 0 32px; }
.featured-card { display: grid; grid-template-columns: 1fr; text-decoration: none; border: 1px solid var(--line-strong); border-radius: var(--radius); overflow: hidden; background: var(--white); }
.featured-card__body { padding: clamp(32px, 4vw, 48px); }
.featured-card__eyebrow { font-family: "JetBrains Mono", ui-monospace, monospace; font-size: 11px; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; color: var(--teal-text); margin-bottom: 18px; }
.featured-card__title { font-size: clamp(26px, 2.8vw, 36px); font-weight: 600; line-height: 1.14; letter-spacing: -0.025em; margin: 0 0 16px; color: var(--charcoal); }
.featured-card__text { font-size: 16.5px; line-height: 1.6; color: var(--charcoal-64); margin: 0 0 26px; max-width: 440px; }
.featured-card__link { font-size: 14.5px; font-weight: 500; color: var(--teal-text); }
.featured-card:hover .featured-card__link { color: var(--charcoal); }
.featured-card__panel { background: var(--dark-band); position: relative; min-height: 280px; overflow: hidden; }
.featured-card__panel-glow { position: absolute; top: -80px; right: -80px; width: 340px; height: 320px; background: radial-gradient(55% 55% at 50% 50%, rgba(126, 199, 212, .28) 0%, rgba(10, 26, 34, 0) 70%); pointer-events: none; }
.featured-card__panel-inner { position: absolute; inset: 0; display: flex; align-items: flex-end; padding: clamp(28px, 4vw, 44px); }
.featured-card__stat { font-family: "JetBrains Mono", ui-monospace, monospace; }
.featured-card__stat-num { font-size: 64px; font-weight: 500; letter-spacing: -0.03em; line-height: 1; color: var(--teal-light); }
.featured-card__stat-text { font-size: 14px; color: var(--ink-60); margin-top: 12px; max-width: 220px; }

/* library */
.res-library { padding: 56px 0 clamp(64px, 9vw, 88px); }
.res-tabs { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 40px; }
.res-tab { font-family: inherit; font-size: 13px; font-weight: 500; color: var(--charcoal-55); background: none; border: 1px solid transparent; border-radius: var(--radius); padding: 9px 15px; min-height: 40px; cursor: pointer; }
.res-tab.is-active { font-weight: 600; color: var(--charcoal); background: var(--white); border-color: rgba(31, 45, 54, 0.18); }
.res-grid { display: grid; grid-template-columns: 1fr; gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: var(--radius); }
.res-card { background: var(--white); padding: 34px 30px; display: block; }
.res-card:hover { background: #fbfbf9; }
.res-card__cat { font-family: "JetBrains Mono", ui-monospace, monospace; font-size: 11px; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; color: var(--teal-text); margin-bottom: 16px; }
.res-card__title { font-size: 19px; font-weight: 600; letter-spacing: -0.015em; line-height: 1.25; margin: 0 0 10px; color: var(--charcoal); }
.res-card__text { font-size: 14.5px; line-height: 1.55; color: var(--charcoal-55); margin: 0 0 20px; }
.res-card__meta { font-family: "JetBrains Mono", ui-monospace, monospace; font-size: 12px; color: var(--charcoal-45); }

@media (min-width: 40em) {
  .featured-card { grid-template-columns: 1.1fr 0.9fr; }
  .res-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 60em) {
  .res-grid { grid-template-columns: repeat(3, 1fr); }
}
