/* ============================
   GLOBAL WRAPPERS
============================ */

.gs-container{
width:100%;
max-width:var(--container-width);
margin:auto;
padding-left:var(--space-md);
padding-right:var(--space-md);
}

.gs-container-narrow{
max-width:var(--container-narrow);
margin:auto;
padding-left:var(--space-md);
padding-right:var(--space-md);
}

/* ============================
   SECTIONS
============================ */

.gs-section{
padding-top:var(--space-xl);
padding-bottom:var(--space-xl);
}

.gs-section-sm{
padding-top:var(--space-lg);
padding-bottom:var(--space-lg);
}

.gs-section-lg{
padding-top:100px;
padding-bottom:100px;
}

/* ============================
   GRID SYSTEM
============================ */

.gs-grid{
display:grid;
gap:var(--space-lg);
}

.gs-grid-2{
grid-template-columns:repeat(2,1fr);
}

.gs-grid-3{
grid-template-columns:repeat(3,1fr);
}

.gs-grid-4{
grid-template-columns:repeat(4,1fr);
}

/****************************/

@media (max-width:1024px){

.gs-grid-4{
grid-template-columns:repeat(2,1fr);
}

}

@media (max-width:768px){

.gs-grid-3,
.gs-grid-2{
grid-template-columns:1fr;
}

}

/* ============================
   UTILITIES
============================ */

.text-center{
text-align:center;
}

.mt-lg{
margin-top:var(--space-lg);
}

.mb-lg{
margin-bottom:var(--space-lg);
}

.pt-lg{
padding-top:var(--space-lg);
}

.pb-lg{
padding-bottom:var(--space-lg);
}