/* ===== Resources Page Styles ===== */

/* Sub Navigation */
.res-subnav {
  background: #fff;
  border-bottom: 1px solid rgba(18,18,24,.10);
  position: sticky;
  top: 64px;
  z-index: 90;
}
.res-subnav__inner {
  display: flex;
  overflow-x: auto;
  scrollbar-width: none;
}
.res-subnav__inner::-webkit-scrollbar { display: none; }
.res-subnav__link {
  display: inline-block;
  padding: 14px 24px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(18,18,24,.50);
  text-decoration: none;
  border-bottom: 2px solid transparent;
  transition: color .2s, border-color .2s;
  white-space: nowrap;
}
.res-subnav__link:hover { color: #500808; }
.res-subnav__link--active {
  color: #500808;
  border-bottom-color: #500808;
}

/* Page Banner */
.res-banner {
  position: relative;
  min-height: 280px;
  display: flex;
  align-items: center;
  overflow: hidden;
}
.res-banner__bg {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(160deg, #500808 0%, #380505 60%, #220303 100%),
    url("assets/kelley.jpeg") center / cover no-repeat;
  background-blend-mode: multiply;
  opacity: .96;
}
.res-banner__inner {
  position: relative;
  z-index: 1;
  padding: 72px 0 64px;
}
.res-banner__breadcrumb {
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(255,255,255,.48);
  margin: 0 0 14px;
}
.res-banner__title {
  font-family: var(--serif, 'Source Serif 4', serif);
  font-size: clamp(36px, 5vw, 60px);
  font-weight: 600;
  color: #fff;
  margin: 0 0 10px;
  letter-spacing: -0.5px;
}
.res-banner__sub {
  font-size: 15px;
  color: rgba(255,255,255,.55);
  letter-spacing: .06em;
  margin: 0;
}

/* Section */
.res-section {
  padding: 96px 0;
  background: #fff;
}
.res-section--tint {
  background: #ede8df;
}
.res-section__header {
  margin-bottom: 52px;
}
.res-section__eyebrow {
  font-size: 11px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #c09a5a;
  margin: 0 0 10px;
}
.res-section__title {
  font-family: var(--serif, 'Source Serif 4', serif);
  font-size: clamp(28px, 3.2vw, 42px);
  font-weight: 600;
  color: #121218;
  margin: 0 0 16px;
  letter-spacing: -0.4px;
}
.res-section__rule {
  width: 48px;
  height: 2px;
  background: linear-gradient(90deg, #500808, rgba(192,154,90,.6));
  margin-bottom: 18px;
}
.res-section__desc {
  font-size: 15px;
  line-height: 1.75;
  color: rgba(18,18,24,.55);
  max-width: 520px;
  margin: 0;
}

/* ── Projects Grid ── */
.res-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

.res-card {
  background: #fff;
  border: 1px solid rgba(18,18,24,.08);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform .3s ease, box-shadow .3s ease;
}
.res-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 36px rgba(18,18,24,.10);
}

.res-card__thumb {
  position: relative;
  aspect-ratio: 16/9;
  background: #e2dbd1;
  overflow: hidden;
}
.res-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.res-card__tag {
  position: absolute;
  top: 14px;
  left: 14px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  background: #500808;
  color: #fff;
  padding: 4px 10px;
}

.res-card__body {
  padding: 24px 24px 28px;
  display: flex;
  flex-direction: column;
  flex: 1;
  border-top: 2px solid #500808;
}
.res-card__date {
  font-size: 11px;
  letter-spacing: .10em;
  text-transform: uppercase;
  color: rgba(18,18,24,.38);
  margin: 0 0 8px;
}
.res-card__title {
  font-family: var(--serif, 'Source Serif 4', serif);
  font-size: 19px;
  font-weight: 600;
  color: #121218;
  margin: 0 0 10px;
  line-height: 1.4;
}
.res-card__desc {
  font-size: 13.5px;
  line-height: 1.72;
  color: rgba(18,18,24,.60);
  margin: 0 0 20px;
  flex: 1;
}
.res-card__link {
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .10em;
  text-transform: uppercase;
  color: #500808;
  text-decoration: none;
  transition: letter-spacing .2s;
}
.res-card__link:hover { letter-spacing: .16em; }

/* ── Webinars List ── */
.res-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  border-top: 1px solid rgba(18,18,24,.08);
}

.res-row {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 36px;
  padding: 36px 0;
  border-bottom: 1px solid rgba(18,18,24,.08);
  align-items: flex-start;
  transition: background .2s;
}
.res-row:hover { background: rgba(18,18,24,.018); }

.res-row__thumb {
  position: relative;
  aspect-ratio: 16/9;
  background: #e2dbd1;
  overflow: hidden;
  flex-shrink: 0;
}
.res-row__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.res-row__play {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: rgba(255,255,255,.80);
  background: rgba(80,8,8,.38);
  transition: background .2s;
}
.res-row:hover .res-row__play { background: rgba(80,8,8,.56); }

.res-row__body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 8px;
}
.res-row__meta {
  display: flex;
  align-items: center;
  gap: 12px;
}
.res-row__tag {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  background: #500808;
  color: #fff;
  padding: 3px 9px;
}
.res-row__date {
  font-size: 12px;
  color: rgba(18,18,24,.40);
  letter-spacing: .06em;
}
.res-row__title {
  font-family: var(--serif, 'Source Serif 4', serif);
  font-size: 20px;
  font-weight: 600;
  color: #121218;
  margin: 0;
  line-height: 1.4;
}
.res-row__desc {
  font-size: 14px;
  line-height: 1.72;
  color: rgba(18,18,24,.58);
  margin: 0;
}
.res-row__link {
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .10em;
  text-transform: uppercase;
  color: #500808;
  text-decoration: none;
  margin-top: 4px;
  transition: letter-spacing .2s;
}
.res-row__link:hover { letter-spacing: .16em; }

/* Responsive */
@media (max-width: 900px) {
  .res-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .res-row {
    grid-template-columns: 200px 1fr;
    gap: 24px;
  }
}
@media (max-width: 640px) {
  .res-grid {
    grid-template-columns: 1fr;
  }
  .res-row {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .res-section {
    padding: 72px 0;
  }
}
