.csct-themes {
  --csct-navy: #172b36;
  --csct-green: #71951f;
  --csct-green-dark: #587817;
  --csct-sage: #edf2df;
  --csct-line: #dfe4db;
  --csct-shadow: 0 12px 30px rgba(23, 43, 54, .08);
  color: var(--csct-navy);
  font-family: Helvetica, Arial, sans-serif;
  width: 100%;
}
.csct-themes *, .csct-themes *::before, .csct-themes *::after { box-sizing: border-box; }
.csct-themes__intro { max-width: 780px; margin: 0 0 34px; }
.csct-themes__eyebrow { color: var(--csct-green-dark); font-size: 12px; font-weight: 400; letter-spacing: .08em; margin: 0 0 7px; text-transform: uppercase; }
.csct-themes__intro h5 { margin: 0 0 13px; }
.csct-themes__intro h5::after { background: var(--csct-green); content: ""; display: block; height: 3px; margin-top: 13px; width: 54px; }
.csct-themes__intro > p:last-child { font-size: 17px; line-height: 1.65; margin: 0; }
.csct-themes__grid { display: grid; gap: 24px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.csct-theme { background: #fff; border: 1px solid var(--csct-line); border-radius: 12px; color: var(--csct-navy) !important; display: grid; grid-template-columns: minmax(150px, 38%) minmax(0, 1fr); min-height: 320px; overflow: hidden; text-decoration: none !important; transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease; }
.csct-theme:hover, .csct-theme:focus-visible { border-color: #b7c98b; box-shadow: var(--csct-shadow); transform: translateY(-4px); }
.csct-theme:focus-visible { outline: 3px solid rgba(113,149,31,.3); outline-offset: 3px; }
.csct-theme__image { min-height: 100%; overflow: hidden; position: relative; background: linear-gradient(145deg, #eef2e4, #dce5c7); }
.csct-theme__image::after { background: linear-gradient(180deg, transparent 65%, rgba(23,43,54,.18)); content: ""; inset: 0; pointer-events: none; position: absolute; }
.csct-theme__image--empty::before { content: ""; position: absolute; width: 70%; aspect-ratio: 1; border-radius: 50%; left: 15%; top: 16%; background: rgba(113,149,31,.12); box-shadow: -55px 85px 0 rgba(23,43,54,.06), 55px 120px 0 rgba(113,149,31,.08); }
.csct-theme__image img { display: block; height: 100% !important; object-fit: cover; transition: transform .45s ease; width: 100% !important; }
.csct-theme:hover .csct-theme__image img { transform: scale(1.035); }
.csct-theme__content { display: flex; flex-direction: column; padding: 25px 25px 22px; }
.csct-theme__heading { align-items: center; display: grid; gap: 13px; grid-template-columns: 48px 1fr; margin-bottom: 15px; }
.csct-theme__heading h3 { font-size: 21px; line-height: 1.25; margin: 0; }
.csct-theme__icon { align-items: center; background: var(--csct-green); border-radius: 50%; color: #fff; display: flex; height: 48px; justify-content: center; width: 48px; }
.csct-theme__icon svg { fill: none; height: 27px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; width: 27px; }
.csct-theme__summary { font-size: 15px; line-height: 1.55; margin: 0 0 12px; }
.csct-theme__researchers { align-self: flex-start; background: var(--csct-sage); border-radius: 999px; color: var(--csct-green-dark); display: inline-flex; font-size: 12px; font-weight: 700; line-height: 1.3; margin: 0 0 16px; padding: 6px 10px; }
.csct-theme__project { border-top: 1px solid var(--csct-line); margin-top: auto; padding-top: 15px; }
.csct-theme__project > span { color: var(--csct-green-dark); display: block; font-size: 13px; font-weight: 700; margin-bottom: 4px; }
.csct-theme__project-rotator { display: grid; }
.csct-theme__project-item { font-size: 14px; grid-area: 1 / 1; line-height: 1.45; margin: 0; opacity: 0; transition: opacity .35s ease; visibility: hidden; }
.csct-theme__project-item.is-active { opacity: 1; visibility: visible; }
.csct-theme__link { align-items: center; color: var(--csct-green-dark); display: flex; font-size: 14px; font-weight: 700; gap: 8px; margin-top: 17px; }
.csct-theme__link b { font-size: 20px; font-weight: 400; line-height: 1; transition: transform .2s ease; }
.csct-theme:hover .csct-theme__link b { transform: translateX(4px); }
@media (max-width: 1024px) { .csct-themes__grid { grid-template-columns: 1fr; } .csct-theme { grid-template-columns: minmax(210px, 35%) 1fr; min-height: 290px; } }
@media (max-width: 620px) { .csct-themes__intro { margin-bottom: 25px; } .csct-themes__intro > p:last-child { font-size: 16px; } .csct-themes__grid { gap: 18px; } .csct-theme { display: block; min-height: 0; } .csct-theme__image { aspect-ratio: 3 / 2; min-height: 0; } .csct-theme__content { padding: 22px 20px 20px; } .csct-theme__heading { grid-template-columns: 44px 1fr; } .csct-theme__heading h3 { font-size: 20px; } .csct-theme__icon { height: 44px; width: 44px; } }
@media (prefers-reduced-motion: reduce) { .csct-theme, .csct-theme__image img, .csct-theme__link b, .csct-theme__project-item { transition: none; } }
