/* Homepage layout/surfaces only. Kadence controls text and button typography/colors. */
body.dsn-homepage-view, body.dsn-homepage-view #wrapper, body.dsn-homepage-view #inner-wrap { background: #fff; }
.dsn-home {
 --dsn-home-surface: #fff;
 --dsn-home-tint: #f1f5f9;
 --dsn-home-line: #dce4ed;
 max-width: var(--global-content-width, 1120px);
 width: calc(100% - 2 * var(--global-content-edge-padding, 24px));
 margin: 0 auto; padding: 0 0 40px;
 background: var(--dsn-home-surface); overflow-wrap: anywhere;
}
.dsn-home * { box-sizing: border-box; }
.dsn-home h1, .dsn-home h2, .dsn-home h3 { margin: 0 0 16px; text-wrap: pretty; }
.dsn-home h1 { max-width: 26ch; text-wrap: balance; }
.dsn-home p { margin: 0 0 18px; }
.dsn-home a:not(.button) { text-underline-offset: 4px; text-decoration-thickness: 1px; }
.dsn-home a:focus-visible, .dsn-home button:focus-visible, .dsn-home input:focus-visible { outline: 3px solid var(--global-palette1, #3182ce); outline-offset: 4px; }
.dsn-home-section { padding: 52px 32px; }
.dsn-home-section + .dsn-home-section { border-top: 1px solid var(--dsn-home-line); }
.dsn-home-section-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 30px; }
.dsn-home-section-head > div { min-width: 0; }
.dsn-home-section-head > div > :last-child { margin-bottom: 0; }
.dsn-home-section-head > a { flex-shrink: 0; }
.dsn-home-eyebrow, .dsn-home-tag { text-transform: uppercase; }
.dsn-home .dsn-home-eyebrow { margin-bottom: 14px; }
.dsn-home-card-label { min-height: 1lh; }
.dsn-home-tag { display: inline-block; text-decoration: underline; }
.dsn-home-news-grid, .dsn-home-blog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px 24px; }
.dsn-home-news-card, .dsn-home-blog-card {
 display: flex; flex-direction: column; gap: 16px;
 min-width: 0; padding: 26px 24px; background: var(--dsn-home-tint);
 border: 1px solid var(--dsn-home-line); border-top: 3px solid var(--global-palette1, #3182ce); border-radius: 8px;
}
.dsn-home-news-card h2, .dsn-home-blog-card h3 { margin: 0; }
.dsn-home .dsn-home-news-card h2 a, .dsn-home .dsn-home-blog-card h3 a { color: inherit; text-decoration: none; }
.dsn-home-news-card h2 a:hover, .dsn-home-blog-card h3 a:hover { text-decoration: underline; }
.dsn-home-news-card p, .dsn-home-blog-card p { margin: 0; }
.dsn-home-read { display: inline-block; margin-top: auto; padding-top: 8px; align-self: flex-start; }
/* Shared row heights align headlines and links even when a tag is missing. */
@supports (grid-template-rows: subgrid) {
 .dsn-home-news-card, .dsn-home-blog-card { display: grid; grid-template-rows: subgrid; grid-row: span 4; row-gap: 16px; }
 .dsn-home-read { margin-top: 0; align-self: end; justify-self: start; }
}
.dsn-home-suppliers { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; align-items: center; }
.dsn-home-search { padding: 30px; border: 1px solid var(--dsn-home-line); border-radius: 8px; background: var(--dsn-home-tint); }
.dsn-home-search label { display: block; margin-bottom: 8px; }
.dsn-home-search input { width: 100%; min-width: 0; min-height: 48px; padding: 11px 13px; background: var(--dsn-home-surface); border: 1px solid #9cabbc; border-radius: 4px; }
.dsn-home button, .dsn-home a.button { min-height: 48px; padding: 12px 20px; border-radius: 4px; text-decoration: none; }
.dsn-home-search button { width: 100%; margin: 12px 0 18px; }
.dsn-home-search > a { display: block; text-align: center; }
.dsn-home-suppliers > div > p:last-child { margin-bottom: 0; }
.dsn-home-newsletter { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 32px; margin: 32px auto 0; width: 100%; background: var(--dsn-home-tint); border: 1px solid var(--dsn-home-line); border-radius: 8px; }
.dsn-home-newsletter h2 { margin-bottom: 8px; }
.dsn-home-newsletter p { margin-bottom: 0; }
.dsn-home-newsletter > a { flex-shrink: 0; }
@media (max-width: 900px) {
 .dsn-home-news-grid, .dsn-home-blog-grid { grid-template-columns: 1fr; gap: 20px; }
 .dsn-home-news-card, .dsn-home-blog-card { display: flex; grid-row: auto; }
 .dsn-home-read { align-self: flex-start; }
 .dsn-home-card-label:empty { display: none; }
 .dsn-home-suppliers { grid-template-columns: 1fr; gap: 28px; }
}
@media (max-width: 600px) {
 .dsn-home { width: calc(100% - 24px); }
 .dsn-home-section { padding: 36px 16px; }
 .dsn-home-section-head, .dsn-home-newsletter { flex-direction: column; align-items: flex-start; gap: 20px; }
 .dsn-home-search, .dsn-home-news-card, .dsn-home-blog-card, .dsn-home-newsletter { padding: 22px 18px; }
 .dsn-home-newsletter > a { width: 100%; text-align: center; }
}
