html:has(body.resources-hub-route),
.resources-hub-route { overflow-x: hidden; }
.resources-hub-page { background: #f6f8fb; }
.resources-hub-hero { position: relative; overflow: hidden; padding: 54px 0 72px; color: #fff; background: linear-gradient(135deg, #002b52 0%, #004d87 72%, #075f9f 100%); }
.resources-hub-hero::after { position: absolute; inset: 0; content: ""; pointer-events: none; background: radial-gradient(circle at 84% 2%, rgba(84, 180, 234, .28), transparent 43%); }
.resources-hub-hero .wrap { position: relative; z-index: 1; }
.resources-hub-hero__meta { display: flex; align-items: center; gap: 14px; padding-bottom: 16px; border-bottom: 1px solid rgba(255,255,255,.2); font: 600 11px/1.2 "JetBrains Mono", monospace; letter-spacing: .11em; text-transform: uppercase; color: rgba(255,255,255,.68); }
.resources-hub-hero__meta .pill { padding: 6px 12px; border-radius: 999px; color: #022f55; background: #86d4fb; }
.resources-hub-hero h1 { max-width: 900px; margin: 50px 0 22px; color: #fff; font-family: Epilogue, sans-serif; font-size: clamp(52px, 6.1vw, 88px); line-height: 1.02; letter-spacing: -.045em; }
.resources-hub-hero h1 em { color: #86d4fb; font-style: normal; font-weight: 800; }
.resources-hub-hero__lead { max-width: 780px; margin: 0 0 34px; font-size: 18px; line-height: 1.65; color: rgba(255,255,255,.8); }
.resources-hub-search { display: flex; width: min(100%, 620px); padding: 5px; border: 1px solid rgba(255,255,255,.28); border-radius: 999px; background: rgba(255,255,255,.12); backdrop-filter: blur(8px); }
.resources-hub-search .form-item { flex: 1; margin: 0; }
.resources-hub-search input[type="text"] { width: 100%; min-height: 48px; padding: 0 18px; border: 0; outline: 0; color: #fff; background: transparent; font-size: 15px; }
.resources-hub-search input::placeholder { color: rgba(255,255,255,.66); }
.resources-hub-search input:focus-visible { border-radius: 999px; box-shadow: 0 0 0 3px rgba(134,212,251,.55); }
.resources-hub-submit { align-self: center; flex: 0 0 48px; width: 48px; min-width: 48px; height: 48px; min-height: 48px; overflow: hidden; padding: 0; border: 0; border-radius: 50%; color: transparent; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%2300477e' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-4-4'/%3E%3C/svg%3E") center / 22px 22px no-repeat; cursor: pointer; }
.resources-hub-submit:focus-visible { box-shadow: 0 0 0 3px #86d4fb, 0 0 0 5px #003b6b; }
.resources-hub-filter-bar { position: sticky; top: var(--header-height, 0); z-index: 15; border-bottom: 1px solid #dde3ea; background: rgba(255,255,255,.97); box-shadow: 0 5px 15px rgba(0,36,68,.05); backdrop-filter: blur(10px); }
.resources-hub-filter-bar__inner { display: flex; align-items: center; min-height: 78px; gap: 16px; }
.resources-hub-filter-scroll { min-width: 0; flex: 1; overflow-x: auto; scrollbar-width: none; }
.resources-hub-filter-scroll::-webkit-scrollbar { display: none; }
.resources-hub-filter-options { min-width: 0; margin: 0; padding: 0; border: 0; }
.resources-hub-filter-options > legend { padding: 0; }
.resources-hub-filter-options .fieldset-wrapper { margin: 0; }
.resources-hub-filter-options .fieldset-wrapper > div { display: flex; gap: 9px; width: max-content; margin: 0; }
.resources-hub-filter-options .form-item { position: relative; margin: 0; }
.resources-hub-filter-options input { position: absolute; opacity: 0; pointer-events: none; }
.resources-hub-filter-options label { display: block; min-height: 40px; padding: 10px 17px; border: 1px solid #d9e0e7; border-radius: 999px; background: #fff; color: #15293c; font-size: 13px; font-weight: 600; line-height: 18px; white-space: nowrap; cursor: pointer; transition: color .2s, border-color .2s, background .2s; }
.resources-hub-filter-options label:hover { border-color: #005694; color: #005694; }
.resources-hub-filter-options input:checked + label { border-color: #005694; color: #fff; background: #005694; }
.resources-hub-filter-options input:checked + label::before { margin-right: 7px; content: "✓"; font-size: 12px; font-weight: 800; }
.resources-hub-filter-options input:focus-visible + label { outline: 3px solid rgba(0,86,148,.3); outline-offset: 2px; }
.resources-hub-reset { flex: 0 0 auto; padding: 9px 2px; border: 0; border-bottom: 1px solid currentColor; color: #405365; background: transparent; font-size: 13px; cursor: pointer; }
.resources-hub-results { min-height: 440px; padding: 64px 0 88px; }
.resources-hub-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; }
.resource-hub-card-wrap { min-width: 0; }
.resource-hub-card { display: flex; height: 100%; overflow: hidden; flex-direction: column; border: 1px solid #dfe5ea; border-radius: 14px; color: #10283e; background: #fff; box-shadow: 0 6px 20px rgba(0,35,65,.05); text-decoration: none; transition: transform .25s, border-color .25s, box-shadow .25s; }
.resource-hub-card:hover { transform: translateY(-5px); border-color: #bdd4e3; box-shadow: 0 18px 36px rgba(0,45,80,.13); }
.resource-hub-card:focus-visible { outline: 3px solid #168aca; outline-offset: 3px; }
.resource-hub-card__media { position: relative; overflow: hidden; aspect-ratio: 16 / 9; background: #e7eef4; }
.resource-hub-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.resource-hub-card:hover .resource-hub-card__media img { transform: scale(1.035); }
.resource-hub-card__badge { position: absolute; z-index: 2; top: 14px; left: 14px; padding: 6px 10px; border-radius: 999px; color: #0b3f68; background: rgba(255,255,255,.94); box-shadow: 0 3px 10px rgba(0,0,0,.08); font: 700 10px/1 "JetBrains Mono", monospace; letter-spacing: .08em; text-transform: uppercase; }
.resource-hub-card__play { position: absolute; z-index: 2; left: 50%; top: 50%; display: grid; width: 58px; height: 58px; place-items: center; transform: translate(-50%,-50%); border: 1px solid rgba(255,255,255,.68); border-radius: 50%; color: #075589; background: rgba(255,255,255,.92); box-shadow: 0 8px 22px rgba(0,23,42,.22); }
.resource-hub-card__play svg { width: 24px; height: 24px; margin-left: 3px; fill: currentColor; }
.resource-hub-card__body { display: flex; flex: 1; flex-direction: column; padding: 24px 24px 25px; }
.resource-hub-card__body h2 { margin: 0 0 12px; color: #0a3152; font-family: Epilogue, sans-serif; font-size: clamp(19px, 1.55vw, 23px); line-height: 1.25; letter-spacing: -.018em; }
.resource-hub-card__body p { display: -webkit-box; overflow: hidden; margin: 0 0 22px; color: #556777; font-size: 14px; line-height: 1.6; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.resource-hub-card__cta { margin-top: auto; color: #0566a4; font-size: 13px; font-weight: 700; }
.resources-hub-empty { padding: 80px 24px; border: 1px dashed #cbd6df; border-radius: 14px; color: #5a6a78; background: #fff; text-align: center; }
.resources-hub-empty p { margin: 0; }
.resources-hub-results .pager { margin-top: 50px; }
.resources-hub-cta { text-align: center; }
.resources-hub-cta .btn-outline-light { border: 1px solid rgba(255,255,255,.55); color: #fff; background: transparent; }
.resources-hub-cta .btn-outline-light:hover { border-color: #fff; background: rgba(255,255,255,.1); }

@media (max-width: 980px) {
  .resources-hub-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
  html:has(body.resources-hub-route),
  .resources-hub-route { overflow-x: visible; }
  .resources-hub-hero { padding: 26px 0 32px; }
  .resources-hub-hero h1 { margin: 24px 0 16px; font-size: clamp(36px, 10.5vw, 44px); line-height: 1.05; }
  .resources-hub-hero__lead { margin-bottom: 24px; font-size: 15px; line-height: 1.5; }
  .resources-hub-search { width: 100%; padding: 4px; }
  .resources-hub-exposed-form .resources-hub-search .form-item { margin: 0; }
  .resources-hub-search input[type="text"] { height: 44px; min-height: 44px; padding: 0 10px; font-size: 13px; }
  .resources-hub-submit { flex-basis: 44px; width: 44px; min-width: 44px; height: 44px; min-height: 44px; background-size: 20px 20px; }
  .resources-hub-filter-bar__inner { min-height: 60px; gap: 10px; padding-right: 0; }
  .resources-hub-filter-scroll { display: flex; align-items: center; padding-right: 0; overscroll-behavior-inline: contain; -webkit-overflow-scrolling: touch; }
  .resources-hub-filter-options .fieldset-wrapper > div { padding-right: 20px; white-space: nowrap; }
  .resources-hub-filter-options label { min-height: 36px; padding: 8px 14px; font-size: 12.5px; line-height: 18px; }
  .resources-hub-exposed-form input.resources-hub-reset { flex-basis: auto; width: auto !important; max-width: none; min-width: max-content; min-height: 36px; margin-right: 20px; }
  .resources-hub-results { padding: 24px 0 52px; }
  .resources-hub-grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .resource-hub-card-wrap, .resource-hub-card { width: 100%; max-width: 100%; }
  .resource-hub-card__body { padding: 21px; }
}

@media (prefers-reduced-motion: reduce) {
  .resource-hub-card, .resource-hub-card__media img { transition: none; }
}
