.container {
    width: min(var(--container-max), calc(100% - 20px));
    margin: 0 auto;
    border-radius: 10px !important;
}

.main {
    padding: 40px 0 30px;
}

/* Sections */

.section {
    margin-bottom: 32px;
    padding: 42px 130px 42px 130px;
    border-radius: var(--radius-xl);
    background: rgba(255,255,255,0.42);
    box-shadow: var(--shadow-soft);
}

.section-header {
    margin-bottom: 28px;
}

.section-header h2 {
    font-size: 42px;
    margin-bottom: 12px;
}

.section-header p {
    color: var(--color-text-soft);
}

/* Hero */

.hero-section {
    padding: 0px 90px 60px 130px;
    border-radius: var(--radius-xl);
    position: relative;
    overflow: hidden;

    background:
        radial-gradient(circle at 18% 30%, rgba(255,255,255,0.55), transparent 35%),
        radial-gradient(circle at 85% 25%, rgba(255,255,255,0.45), transparent 30%),
        linear-gradient(
            135deg,
            #d7e4fb 0%,
            #e6efff 45%,
            #eef4ff 100%
        );

    box-shadow: var(--shadow-soft);
    margin: 0 20px;
}

.hero-grid {
    display: grid;
    grid-template-columns: 0.92fr 1.08fr;
    gap: 12px;
    align-items: center;
    position: relative;
    z-index: 2;
}

/* Cards */

.card-grid {
    display: grid;
    gap: 24px;
}

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

.card-grid-2 {
    grid-template-columns: repeat(2, 1fr);
}

/* Steps */

.steps-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

/* CTA */

.cta-section {
    margin-top: 40px;
}

/* Responsive */

@media (max-width: 1100px) {

    .hero-grid,
    .card-grid-3,
    .card-grid-2,
    .steps-grid {
        grid-template-columns: 1fr;
    }

    .hero-section {
        padding: 36px;
    }

    .section {
        padding: 30px;
    }
}

@media (max-width: 700px) {

    .container {
        width: calc(100% - 20px);
    }

    .hero-section {
        padding: 24px;
    }

    .section {
        padding: 22px;
    }
}