/* Homepage refinement: one typographic system + balanced editorial cards */
.db-v17-home{
  --db-home-display-weight:800;
  --db-home-heading-weight:700;
  --db-home-card-weight:700;
}

/* Keep one family across hero, editorial, categories, feed, and manifesto. */
.db-v17-home,
.db-v17-home button,
.db-v17-home input,
.db-v17-home h1,
.db-v17-home h2,
.db-v17-home h3,
.db-v17-home strong,
.db-v17-home b{
  font-family:inherit;
}

/* Display hierarchy: same voice, different scale. */
.db-v17-hero-copy h1{
  font-weight:var(--db-home-display-weight);
  letter-spacing:-.068em;
}
.db-v17-section-intro h2,
.db-v17-section-head h2,
.db-v17-manifesto-card h2{
  font-weight:var(--db-home-heading-weight);
  letter-spacing:-.047em;
}
.db-v17-section-intro h2{line-height:.98}
.db-v17-section-head h2{line-height:1}
.db-v17-manifesto-card h2{line-height:.94}

/* Product/editorial titles should read like one family, not separate components. */
.db-v17-board-copy h2,
.db-v17-pick-copy h3,
.db-v17-guide-copy h3,
.db-v17-category-card strong,
.db-v17-home .db-deal-title{
  font-weight:var(--db-home-card-weight);
  letter-spacing:-.028em;
}
.db-v17-home .db-deal-title{line-height:1.34}

/* Labels stay compact and technical, but not visually louder than the content. */
.db-v17-kicker,
.db-v17-board-head,
.db-v17-section-intro .db-section-kicker,
.db-v17-section-head .db-section-kicker,
.db-v17-manifesto-card .db-section-kicker,
.db-v17-store,
.db-v17-guide-copy>span,
.db-v17-pick-copy>span{
  font-weight:800;
  letter-spacing:.11em;
}

/* Make the shortlist feel like one paired editorial system. */
.db-v17-editorial-grid{gap:18px}
.db-v17-pick-card,
.db-v17-guide-feature{
  border:1px solid var(--db-line);
  box-shadow:0 14px 36px rgba(22,28,20,.045);
  background:linear-gradient(145deg,#f7f9f4 0%,#f0f4eb 100%);
  color:#171a18;
}
.db-v17-pick-top span{
  background:#171a18;
  color:var(--db-accent);
}
.db-v17-pick-top small{color:#747c72}
.db-v17-pick-copy>span{color:#697168}
.db-v17-pick-copy p{color:var(--db-muted)}
.db-v17-pick-price strong{color:#171a18}
.db-v17-pick-price del{color:#939a91}
.db-v17-pick-copy>b{color:#171a18}
.db-v17-pick-media,
.db-v17-guide-media{
  border:1px solid #e2e7de;
  border-radius:19px;
  background:#fff;
}
.db-v17-guide-feature{padding:22px}
.db-v17-guide-media{height:230px;overflow:hidden}
.db-v17-guide-copy{padding:18px 0 0}
.db-v17-pick-copy h3,
.db-v17-guide-copy h3{
  font-size:26px;
  line-height:1.06;
  margin:8px 0 10px;
}
.db-v17-guide-copy p{margin-bottom:16px}

/* The final dark statement stays dramatic, but now belongs to the same type system. */
.db-v17-manifesto-card h2{max-width:560px}
.db-v17-manifesto-copy p{font-weight:400}

/* Continuous newsroom ticker. The second identical set makes the loop seamless. */
.db-v17-ticker{overflow:hidden}
.db-v17-ticker-viewport{width:100%;overflow:hidden}
.db-v17-ticker-track{display:flex;width:max-content;min-width:100%;will-change:transform;animation:dbTickerLoop 20s linear infinite}
.db-v17-ticker-set{display:flex;align-items:center;gap:22px;min-height:52px;padding-right:22px;white-space:nowrap;font-size:10px;font-weight:850;letter-spacing:.12em;text-transform:uppercase;flex:0 0 auto}
.db-v17-ticker-set i{width:5px;height:5px;border-radius:99px;background:var(--db-accent);flex:0 0 auto}
.db-v17-ticker:hover .db-v17-ticker-track,.db-v17-ticker:focus-within .db-v17-ticker-track{animation-play-state:paused}
@keyframes dbTickerLoop{from{transform:translate3d(0,0,0)}to{transform:translate3d(-16.6666667%,0,0)}}

/* Latest reads: compact editorial split + stable carousel footprint. */
.db-v17-editorial .db-shell{display:grid;grid-template-columns:minmax(240px,.55fr) minmax(0,1.45fr);gap:34px;align-items:start}
.db-v17-editorial .db-v17-section-intro{margin-bottom:0;padding-top:10px}
.db-v17-editorial-link{display:inline-flex;margin-top:18px;font-size:12px;font-weight:850;border-bottom:1px solid #bcc4b5;padding-bottom:4px}
.db-v17-carousel{position:relative;min-width:0}
.db-v17-carousel-track{display:grid;overflow:hidden;border-radius:27px;height:360px;background:#fff;border:1px solid var(--db-line);box-shadow:0 14px 36px rgba(22,28,20,.045)}
.db-v17-carousel-slide{grid-area:1/1;opacity:0;visibility:hidden;transform:translate3d(20px,0,0);pointer-events:none;transition:opacity .45s ease,transform .45s ease,visibility 0s linear .45s}
.db-v17-carousel-slide.is-active{opacity:1;visibility:visible;transform:translate3d(0,0,0);pointer-events:auto;transition-delay:0s}
.db-v17-carousel .db-v17-pick-card,.db-v17-carousel .db-v17-guide-feature{height:360px;min-height:360px}
.db-v17-carousel .db-v17-guide-feature{display:grid;grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);padding:22px;gap:24px;align-items:center;border:0;box-shadow:none;background:#fff}
.db-v17-carousel .db-v17-guide-media{height:270px;display:grid;place-items:center;background:#f6f7f4}
.db-v17-carousel .db-v17-guide-media img{width:100%;height:100%;object-fit:contain;object-position:center;padding:10px;background:#f6f7f4}
.db-v17-carousel .db-v17-guide-copy{padding:0 8px 0 0;min-width:0}
.db-v17-carousel .db-v17-guide-copy h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;min-height:3.18em;max-height:3.18em}
.db-v17-carousel .db-v17-guide-copy p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;min-height:4.65em;max-height:4.65em}
.db-v17-carousel .db-v17-guide-copy>b{margin-top:auto}
.db-v17-carousel-controls{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:14px}
.db-v17-carousel-arrow{width:40px;height:40px;border:1px solid #d8ddd3;border-radius:12px;background:#fff;color:#171a18;font-size:18px;font-weight:800;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}
.db-v17-carousel-arrow:hover,.db-v17-carousel-arrow:focus-visible{transform:translateY(-1px);border-color:#b9c0b2;background:#f8faf5;outline:none}
.db-v17-carousel-count{min-width:56px;text-align:center;color:#767d73;font-size:11px;font-weight:800;letter-spacing:.08em}
.db-v17-carousel-count b{color:#171a18}

@media(max-width:900px){
  .db-v17-editorial .db-shell{grid-template-columns:1fr;gap:22px}
  .db-v17-editorial .db-v17-section-intro{padding-top:0}
}

@media(max-width:680px){
  .db-v17-hero-copy h1{letter-spacing:-.058em}
  .db-v17-section-intro h2,
  .db-v17-section-head h2,
  .db-v17-manifesto-card h2{letter-spacing:-.04em}
  .db-v17-carousel-track{border-radius:22px;height:500px}
  .db-v17-carousel .db-v17-guide-feature{grid-template-columns:1fr;padding:16px;gap:16px;height:500px;min-height:500px;align-content:start}
  .db-v17-carousel .db-v17-guide-media{height:210px}
  .db-v17-carousel .db-v17-guide-media img{padding:8px}
  .db-v17-carousel .db-v17-guide-copy{padding:0;min-height:225px}
  .db-v17-carousel .db-v17-guide-copy h3{min-height:3.18em;max-height:3.18em}
  .db-v17-carousel .db-v17-guide-copy p{min-height:4.65em;max-height:4.65em}
  .db-v17-carousel-controls{justify-content:space-between}
}

@media(prefers-reduced-motion:reduce){
  .db-v17-ticker-track{animation:none;transform:none}
  .db-v17-carousel-slide{transition:none;transform:none}
}

/* Accessibility: stronger contrast for compact secondary labels. */
.db-v17-carousel-count,.db-v17-pick-top small,.db-v17-pick-price del{color:#626a61}
