.d2-home .db-crumbs { margin-bottom: 18px; }
.d2-home .db-home-heading { margin-bottom: 24px; }
.d2-home .db-home-heading h1 { white-space: nowrap; font-size: clamp(20px, 5vw, 28px); }
.d2-discover { margin-bottom: 34px; scroll-margin-top: 90px; }
.d2-home .d2-banner { visibility: visible; }
.d2-banner .splide__track { border: 1px solid #354653; border-radius: 12px; background: #14222d; }
.d2-banner:not(.is-initialized) .splide__slide:not(:first-child) { display: none; }
.d2-banner:not(.is-initialized) .d2-banner__slide { width: 100%; }
.d2-banner .d2-banner__slide { display: grid; grid-template-columns: minmax(0, 2.1fr) minmax(0, 1fr); height: 390px; }
.d2-banner__media { min-width: 0; height: 390px; overflow: hidden; background: #101821; }
.d2-banner__media img { display: block; width: 100%; height: 100%; min-height: 390px; object-fit: cover; object-position: center; }
.d2-banner__media--interface img { object-fit: contain; }
.d2-banner__copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 32px; min-width: 0; }
.d2-banner__eyebrow { display: flex; justify-content: space-between; align-items: center; gap: 12px; width: 100%; margin-bottom: 18px; font-size: 12px; letter-spacing: .08em; color: var(--db-accent); }
.d2-banner__eyebrow small { color: #a5b5c5; font-size: 11px; letter-spacing: .16em; font-variant-numeric: tabular-nums; }
.d2-home .d2-banner__copy h2 { font-size: clamp(21px, 1.65vw, 27px); line-height: 1.5; text-wrap: balance; }
.d2-home .d2-banner__copy p { color: #b5c5d1; font-size: 13px; line-height: 1.9; margin: 16px 0 22px; }
.d2-banner__link { display: inline-flex; gap: 14px; align-items: center; min-height: 44px; color: var(--db-accent) !important; border-bottom: 1px solid #76613f; font-size: 13px; font-weight: 650; }
.d2-banner__link:hover { color: #ffe1aa !important; border-color: #ffe1aa; }
.d2-banner__link .db-icon { width: 17px; height: 17px; }
.d2-banner [hidden] { display: none !important; }
.d2-banner__toolbar { display: flex; align-items: center; gap: 18px; padding: 12px 0; }
.d2-banner__controls { display: flex; gap: 6px; }
.d2-banner__controls button, .d2-banner__toggle { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 36px; color: var(--db-text); background: #182733; border: 1px solid #354653; border-radius: 6px; }
.d2-banner__controls button:hover, .d2-banner__toggle:hover { border-color: var(--db-accent); }
.d2-banner__controls .db-icon { width: 17px; height: 17px; }
.d2-banner__toggle { padding: 0 12px; font-size: 12px; min-width: 68px; }
.d2-banner__toggle span { align-items: center; gap: 7px; }
.d2-banner__toggle .db-icon { width: 14px; height: 14px; }
.d2-banner__progress { height: 2px; background: #354653; flex: 1; overflow: hidden; }
.d2-banner__progress .splide__progress__bar { background: var(--db-accent); height: 100%; }
.d2-banner__thumbnails { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; }
.d2-banner__thumbnails button { display: flex; align-items: center; gap: 12px; text-align: left; min-width: 0; min-height: 68px; padding: 8px; background: #14222d; color: #b5c5d1; border: 1px solid #354653; border-radius: 7px; transition: border-color .2s, background .2s; }
.d2-banner__thumbnails button:hover { background: #20303e; border-color: #8098a8; }
.d2-banner__thumbnails button[aria-current] { background: #253035; border-color: var(--db-accent); color: #ffdb9b; }
.d2-banner__thumbnails img { display: block; width: 64px; height: 44px; object-fit: cover; border-radius: 3px; flex-shrink: 0; }
.d2-banner__thumbnails span { font-size: 12px; line-height: 1.55; }
.d2-banner__thumbnails small { display: block; color: #91a5b5; font-size: 10px; letter-spacing: .14em; margin-bottom: 3px; }
.d2-discover__paths { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 26px; }
.d2-discover__paths > a { display: flex; align-items: center; gap: 16px; padding: 0 0 20px; border-bottom: 1px solid #354653; min-width: 0; }
.d2-discover__paths img { display: block; width: 108px; height: 76px; object-fit: cover; border-radius: 6px; flex-shrink: 0; }
.d2-discover__paths > a > div { flex: 1; min-width: 0; }
.d2-discover__paths small { font-size: 10px; color: var(--db-cyan); letter-spacing: .08em; }
.d2-home .d2-discover__paths h3 { margin: 3px 0; font-size: 15px; }
.d2-home .d2-discover__paths p { font-size: 11px; color: var(--db-muted); }
.d2-discover__paths > a > .db-icon { color: var(--db-muted); width: 16px; height: 16px; }
.d2-discover__paths a:hover h3, .d2-discover__paths a:hover > .db-icon { color: var(--db-accent); }
.d2-home .db-tabs { flex-wrap: nowrap; gap: 24px; overflow-x: auto; scrollbar-width: none; }
.d2-home .db-tabs::-webkit-scrollbar { display: none; }
.d2-home .db-tabs > a { flex: 0 0 auto; }
.d2-home .article-feed__heading { align-items: center; gap: 16px; }
.d2-home .article-feed__sources { flex-shrink: 0; }
.d2-home .article-feed__sources .db-button { min-height: 44px; white-space: nowrap; }
@media (max-width: 1200px) {
    .d2-banner .d2-banner__slide { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); }
    .d2-banner__copy { padding: 26px; }
    .d2-banner__thumbnails button { gap: 8px; }
    .d2-banner__thumbnails img { width: 48px; height: 40px; }
    .d2-discover__paths { gap: 16px; }
    .d2-discover__paths > a { gap: 12px; }
    .d2-discover__paths img { width: 76px; height: 66px; }
}
@media (max-width: 960px) {
    .d2-banner .d2-banner__slide { display: flex; flex-direction: column; height: auto; }
    .d2-banner__media { width: 100%; height: auto; aspect-ratio: 16 / 9; flex: 0 0 auto; }
    .d2-banner__media img { min-height: 0; }
    .d2-banner__copy { padding: 22px; min-height: 220px; align-items: flex-start; justify-content: flex-start; }
    .d2-banner__link { margin-top: auto; }
    .d2-banner__eyebrow { margin-bottom: 12px; }
    .d2-banner__thumbnails { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .d2-banner__thumbnails img { width: 64px; height: 44px; }
    .d2-discover__paths img { width: 60px; height: 60px; }
    .d2-discover__paths > a > .db-icon { display: none; }
    .d2-home .d2-discover__paths h3 { font-size: 13px; }
}
@media (max-width: 760px) {
    .d2-home .db-home-heading { gap: 14px; }
    .d2-home .db-home-heading > a { align-self: flex-start; }
    .d2-banner .d2-banner__slide { display: flex; flex-direction: column; height: auto; }
    .d2-banner__media { width: 100%; height: auto; aspect-ratio: 16 / 9; flex: 0 0 auto; }
    .d2-banner__media img { min-height: 0; }
    .d2-banner__copy { padding: 20px; min-height: 245px; justify-content: flex-start; }
    .d2-home .d2-banner__copy h2 { font-size: 20px; }
    .d2-home .d2-banner__copy p { font-size: 12px; margin: 12px 0 16px; line-height: 1.85; }
    .d2-banner__link { margin-top: auto; font-size: 12px; }
    .d2-banner__thumbnails { gap: 8px; }
    .d2-banner__thumbnails button { flex-direction: column; align-items: stretch; gap: 6px; padding: 6px; }
    .d2-banner__thumbnails img { width: 100%; height: auto; aspect-ratio: 16 / 9; }
    .d2-banner__thumbnails span { display: flex; align-items: center; gap: 7px; font-size: 11px; }
    .d2-banner__thumbnails small { font-size: 9px; margin: 0; }
    .d2-banner__controls button, .d2-banner__toggle { height: 40px; }
    .d2-discover__paths { grid-template-columns: 1fr; gap: 16px; margin-top: 24px; }
    .d2-discover__paths > a { gap: 16px; padding-bottom: 16px; }
    .d2-discover__paths img { width: 96px; height: 62px; }
    .d2-home .d2-discover__paths h3 { font-size: 14px; }
    .d2-discover__paths > a > .db-icon { display: block; }
    .d2-discover { margin-bottom: 24px; }
    .d2-home .db-tabs { gap: 22px; font-size: 13px; }
}
