/**
 * Page layout shared by redesigned templates (.dh-page): content width, gutters, page title.
 * Front page has its own wrapper (.dh-home, css/home.css). Tokens only.
 */
.dh-page {
    display: grid;
    grid-template-columns: minmax(0, 1fr); /* scrolling chip rows must not widen the page */
    gap: var(--dh-gap);
    width: 100%;
    max-width: calc(var(--content-width) + 2 * 2rem);
    margin: 0 auto !important;
    padding: 1.5rem var(--dh-gutter) 2rem;
    box-sizing: border-box;
}

.dh-page > * {
    margin-block: 0 !important;
}

@media (min-width: 768px) {
    .dh-page { padding-inline: 1.5rem; }
}

@media (min-width: 1024px) {
    .dh-page { padding-inline: 2rem; padding-top: 2rem; }
}

/* «title» style (SPEC §3): the page's one h1 */
.dh-page__title {
    margin: 0;
    font-family: var(--dh-font-heading) !important;
    font-size: clamp(1.75rem, 1.35rem + 1.2vw, 2.375rem) !important;
    font-weight: 600 !important;
    line-height: 1.1 !important;
    letter-spacing: -0.03em;
    color: var(--dh-foreground) !important;
    text-wrap: balance;
}
