/* ========== CONTAINER ========== */
.container {
    width: 100%;
    max-width: 1200px;
    padding: 0 1rem;
    margin-left: auto;
    margin-right: auto;
}

/* ========== SECTION SPACING ========== */
.section {
    padding: 2rem 0;
}

.section--hero {
    position: relative;
    height: 100vh;
    width: 100%;
    overflow: hidden;
    background: #0c0e26;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

/* ========== GRID SYSTEM ========== */
.grid {
    display: grid;
    gap: 2rem;
}

.grid--2col {
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

.grid--3col {
    grid-template-columns: repeat(3, 1fr);
}

@media (max-width: 1024px) {
    .grid--3col {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 640px) {
    .grid--3col {
        grid-template-columns: 1fr;
    }
}

.grid--center {
    place-items: center;
}

/* ========== FLEX UTILITIES (OPTIONAL) ========== */
.flex {
    display: flex;
    gap: 1rem;
}

.flex--center {
    justify-content: center;
    align-items: center;
}

.flex--between {
    justify-content: space-between;
}

.flex--column {
    flex-direction: column;
}

/* ========== TEXT ALIGN ========== */
.text-center {
    text-align: center;
}

/* ========== FULL-WIDTH WRAPPER (optional) ========== */
.wrapper {
    width: 100%;
    overflow-x: hidden;
}
