.ks-page {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    max-width: var(--page-max);
    margin: 0 auto;
    padding: 28px var(--page-pad-x);
    box-sizing: border-box;
}

.ks-main {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 56px;
    padding: var(--page-space-top) 0 var(--page-space-bottom);
}

.ks-stack { display: flex; flex-direction: column; gap: 16px; }

.ks-hero { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; max-width: 760px; }
.ks-hero h1 { margin: 0; }
.ks-lead { margin: 0; font-size: var(--fs-lead); line-height: 1.65; color: var(--text-muted-2); text-wrap: pretty; }
.ks-muted { margin: 0; color: var(--text-muted-2); font-size: var(--fs-body); line-height: 1.6; }

@media (max-width: 640px) {
    .ks-page { padding: 20px var(--page-pad-x-mobile); }
    .ks-main { gap: 40px; }
}
