.app-shell { min-height: 100vh; }
.page-container { width: min(calc(100% - (2 * var(--gutter))), var(--content-standard)); margin-inline: auto; }
.page-container--wide { max-width: var(--content-max); }
.page-container--compact { max-width: var(--content-compact); }
.page-section { padding-block: clamp(72px, 8vw, 124px); }
.page-section + .page-section { border-top: 1px solid rgba(17, 17, 17, .1); }
.section-heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 520px); gap: 48px; align-items: end; margin-bottom: 42px; }
.section-heading--single { display: block; max-width: 760px; }
.section-heading p { font-size: clamp(16px, 1.6vw, 20px); }
.grid { display: grid; gap: 22px; }
.grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.grid--6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.stack { display: grid; gap: 18px; }
.cluster { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.breadcrumb { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 22px; font-size: 13px; color: var(--color-muted); }
.breadcrumb a:hover { color: var(--color-text); }
.breadcrumb__separator { opacity: .45; }
.page-hero { padding: clamp(72px, 8vw, 120px) 0 56px; }
.page-hero__content { max-width: 850px; }
.page-hero p { max-width: 680px; margin-top: 22px; font-size: clamp(18px, 2vw, 24px); }
