/* ==========================================================
   DOCUMENTATION SURFACE
========================================================== */

.documentation-surface{

    max-width:1600px;

    margin:auto;

    padding:
        140px
        48px;

}

.documentation-container{

    display:flex;

    flex-direction:column;

    gap:80px;

}

.documentation-header{

    max-width:900px;

}

.documentation-label{

    display:inline-block;

    padding:
        10px
        18px;

    border-radius:999px;

    background:
        rgba(
            79,
            140,
            255,
            .10
        );

    border:
        1px solid
        rgba(
            79,
            140,
            255,
            .25
        );

    color:var(--accent);

    font-size:13px;

    font-weight:700;

    letter-spacing:2px;

    text-transform:uppercase;

    margin-bottom:24px;

}

.documentation-header h2{

    font-size:64px;

    line-height:1.05;

    letter-spacing:-2px;

    margin-bottom:28px;

}

.documentation-introduction{

    max-width:850px;

    color:var(--text-soft);

    font-size:22px;

    line-height:1.8;

}

/* ==========================================================
   LIFECYCLE
========================================================== */

.documentation-lifecycle{

    display:grid;

    grid-template-columns:

        repeat(
            9,
            auto
        );

    gap:20px;

    align-items:start;

    overflow-x:auto;

    padding-bottom:10px;

}

.lifecycle-stage{

    min-width:220px;

    background:

        linear-gradient(

            180deg,

            rgba(
                255,
                255,
                255,
                .03
            ),

            rgba(
                255,
                255,
                255,
                .01
            )

        );

    border:
        1px solid
        rgba(
            255,
            255,
            255,
            .08
        );

    border-radius:24px;

    padding:28px;

    transition:.3s;

}

.lifecycle-stage:hover{

    transform:
        translateY(-6px);

    border-color:
        rgba(
            79,
            140,
            255,
            .35
        );

}

.stage-number{

    width:52px;

    height:52px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:var(--accent);

    color:white;

    font-weight:700;

    margin-bottom:22px;

}

.lifecycle-stage h3{

    font-size:24px;

    margin-bottom:16px;

}

.lifecycle-stage p{

    color:var(--text-soft);

    line-height:1.8;

}

.lifecycle-arrow{

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:36px;

    color:var(--accent);

    font-weight:700;

    min-width:40px;

}

/* ==========================================================
   DOCUMENTATION CARDS
========================================================== */

.documentation-grid{

    display:grid;

    grid-template-columns:

        repeat(
            4,
            1fr
        );

    gap:24px;

}

.documentation-card{

    background:

        rgba(
            12,
            17,
            31,
            .90
        );

    border:
        1px solid
        rgba(
            255,
            255,
            255,
            .08
        );

    border-radius:24px;

    padding:36px;

    transition:.3s;

}

.documentation-card:hover{

    transform:
        translateY(-6px);

    border-color:
        rgba(
            79,
            140,
            255,
            .35
        );

}

.documentation-card-icon{

    width:64px;

    height:64px;

    border-radius:18px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:

        rgba(
            79,
            140,
            255,
            .10
        );

    color:var(--accent);

    font-size:28px;

    margin-bottom:24px;

}

.documentation-card h3{

    font-size:24px;

    margin-bottom:16px;

}

.documentation-card p{

    color:var(--text-soft);

    line-height:1.8;

}

/* ==========================================================
   PRINCIPLES
========================================================== */

.documentation-principles{

    background:

        rgba(
            255,
            255,
            255,
            .02
        );

    border:
        1px solid
        rgba(
            255,
            255,
            255,
            .08
        );

    border-radius:28px;

    padding:48px;

}

.documentation-principles h3{

    font-size:36px;

    margin-bottom:36px;

}

.principles-grid{

    display:grid;

    grid-template-columns:

        repeat(
            2,
            1fr
        );

    gap:24px;

}

.principle{

    display:flex;

    align-items:center;

    gap:16px;

    color:var(--text-soft);

    font-size:18px;

}

.principle i{

    color:var(--accent);

}

/* ==========================================================
   FOOTER
========================================================== */

.documentation-footer{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:40px;

    padding-top:20px;

}

.documentation-footer h3{

    font-size:40px;

    margin-bottom:18px;

}

.documentation-footer p{

    color:var(--text-soft);

    max-width:700px;

    line-height:1.8;

}

/* ==========================================================
   RESPONSIVE
========================================================== */

@media(max-width:1200px){

    .documentation-grid{

        grid-template-columns:

            repeat(
                2,
                1fr
            );

    }

}

@media(max-width:900px){

    .documentation-header h2{

        font-size:48px;

    }

    .principles-grid{

        grid-template-columns:1fr;

    }

    .documentation-footer{

        flex-direction:column;

        align-items:flex-start;

    }

}

@media(max-width:768px){

    .documentation-grid{

        grid-template-columns:1fr;

    }

}