.dt-news-card { background: var(--dt-color-surface); border: 1px solid var(--dt-color-border); border-radius: 1rem; color: var(--dt-color-text); display: flex; overflow: hidden; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; width: min(34rem, calc(100vw - 2rem)); }
.dt-news-card:hover { border-color: color-mix(in srgb, var(--dt-color-brand) 42%, var(--dt-color-border)); box-shadow: inset 3px 0 0 var(--dt-color-brand), var(--dt-shadow-md); transform: translateY(-1px); }
.dt-news-card__media { flex: 0 0 10rem; min-height: 12rem; }
.dt-news-card__media img { height: 100%; object-fit: cover; width: 100%; }
.dt-news-card__body { display: flex; flex: 1; flex-direction: column; min-width: 0; padding: 1rem; }
.dt-news-card__meta { align-items: center; color: var(--dt-color-text-muted); display: flex; font-family: var(--dt-font-compact); font-size: .5625rem; gap: .375rem; }
.dt-news-card__meta img, .dt-news-card__meta > span { align-items: center; background: var(--dt-color-surface-muted); border: 1px solid var(--dt-color-border); border-radius: .375rem; display: inline-flex; height: 1.25rem; justify-content: center; width: 1.25rem; }
.dt-news-card__meta time { margin-left: auto; }
.dt-news-card h3 { font-size: .9375rem; line-height: 1.35; margin: .875rem 0 .5rem; }
.dt-news-card h3 a { color: inherit; text-decoration: none; }
.dt-news-card p { color: var(--dt-color-text-muted); font-size: .6875rem; line-height: 1.5; margin: 0; }
.dt-news-card footer { display: flex; flex-wrap: wrap; gap: .375rem; margin-top: auto; padding-top: 1rem; }
.dt-news-card footer span { background: color-mix(in srgb, var(--dt-color-brand) 8%, var(--dt-color-surface)); border-radius: 999px; color: var(--dt-color-brand); font: 750 .5rem var(--dt-font-compact); padding: .25rem .5rem; }
@media(max-width:38rem){.dt-news-card{flex-direction:column}.dt-news-card__media{flex-basis:8rem;min-height:8rem}.dt-news-card__body{padding:.875rem}}
@media(prefers-reduced-motion:reduce){.dt-news-card{transition:none}}

.dt-instrument-card { background: var(--dt-color-surface); border: 1px solid var(--dt-color-border); border-radius: 1rem; box-shadow: var(--dt-shadow-sm); color: var(--dt-color-text); display: block; padding: 1rem; position: relative; text-decoration: none; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.dt-instrument-card:hover, .dt-instrument-card.is-selected { border-color: color-mix(in srgb, var(--dt-color-brand) 45%, var(--dt-color-border)); box-shadow: var(--dt-shadow-md); transform: translateY(-1px); }
.dt-instrument-card > header { align-items: center; display: grid; gap: .75rem; grid-template-columns: auto minmax(0, 1fr) auto; }
.dt-instrument-card > header > div > span { color: var(--dt-color-brand); font-family: var(--dt-font-compact); font-size: .5rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.dt-instrument-card h3 { font-size: .875rem; margin: .2rem 0 0; }
.dt-instrument-card header p { color: var(--dt-color-text-muted); font-family: var(--dt-font-compact); font-size: .625rem; font-weight: 700; margin: .125rem 0 0; }
.dt-instrument-card dl { border-block: 1px solid var(--dt-color-border); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 1rem 0 .75rem; }
.dt-instrument-card dl > div { border-right: 1px solid var(--dt-color-border); padding: .75rem; }
.dt-instrument-card dl > div:first-child { padding-left: 0; }
.dt-instrument-card dl > div:last-child { border-right: 0; }
.dt-instrument-card dt { color: var(--dt-color-text-muted); font-family: var(--dt-font-compact); font-size: .5rem; font-weight: 800; text-transform: uppercase; }
.dt-instrument-card dd { font-size: .75rem; font-weight: 700; margin: .25rem 0 0; }
.dt-instrument-card > footer { display: flex; flex-wrap: wrap; gap: .375rem; }
.dt-instrument-card > footer span { background: color-mix(in srgb, var(--dt-color-brand) 8%, var(--dt-color-surface)); border-radius: 999px; color: var(--dt-color-brand); font-family: var(--dt-font-compact); font-size: .5rem; font-weight: 750; padding: .25rem .5rem; }
