.gl-container { width: min(calc(100% - 40px), var(--gl-container)); margin-inline: auto; }
.gl-container--wide { width: min(calc(100% - 40px), var(--gl-container-wide)); margin-inline: auto; }
.gl-container--content { width: min(calc(100% - 40px), var(--gl-content)); margin-inline: auto; }
.gl-section { padding-block: clamp(52px, 6vw, 92px); }
.gl-section--tight { padding-block: clamp(36px, 4vw, 58px); }
.gl-section--soft { background: var(--gl-surface-soft); }
.gl-section--dark { background: var(--gl-dark); color: #fff; }
.gl-grid { display: grid; gap: clamp(20px, 2.5vw, 32px); }
.gl-grid--2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.gl-grid--3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.gl-grid--4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
.gl-grid--auto { grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); }
.gl-layout-sidebar { display: grid; grid-template-columns: minmax(0,1fr) 320px; gap: clamp(30px, 5vw, 64px); align-items: start; }
.gl-stack > * + * { margin-top: 1.25rem; }
.gl-cluster { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
@media (max-width: 900px) { .gl-grid--4 { grid-template-columns: repeat(2, minmax(0,1fr)); } .gl-layout-sidebar { grid-template-columns: 1fr; } }
@media (max-width: 720px) { .gl-grid--2, .gl-grid--3, .gl-grid--4 { grid-template-columns: 1fr; } .gl-container, .gl-container--wide, .gl-container--content { width: min(calc(100% - 28px), var(--gl-container)); } }
