/*==================================================
            ENGINEERING PRINCIPLES
==================================================*/

.principles-section{

    position: relative;

    padding: 160px 0;

    background:#111111;

    overflow:hidden;

}

/* subtle engineering grid */

.principles-section::before{

    content:"";

    position:absolute;

    inset:0;

    background-image:

    linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),

    linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);

    background-size:48px 48px;

    opacity:.45;

    pointer-events:none;

}

/*==================================
            HEADER
===================================*/

.principles-header{

    max-width:760px;

    margin:0 auto 120px;

    text-align:center;

    position:relative;

    z-index:2;

}

.principles-header .section-index{

    display:inline-block;

    margin-bottom:22px;

    color:#8b8b8b;

    font-size:12px;

    letter-spacing:.22em;

    text-transform:uppercase;

}

.principles-header h2{

    color:#fff;

    font-size:64px;

    line-height:1.02;

    letter-spacing:-2px;

    margin-bottom:28px;

}

.principles-header p{

    color:#9a9a9a;

    font-size:18px;

    line-height:1.9;

}

/*==================================
        PROCESS LINE
===================================*/

.principles-list{

    position:relative;

    max-width:1100px;

    margin:auto;

    z-index:2;

}

.principles-list::before{

    content:"";

    position:absolute;

    left:40px;

    top:0;

    bottom:0;

    width:1px;

    background:#2b2b2b;

}

/*==================================
        SHEET
===================================*/

.principle-sheet{

    position:relative;

    margin-bottom:70px;

    margin-left:90px;

    padding:45px 50px;

    border:1px solid #2b2b2b;

    background:#151515;

    transition:.35s;

}

.principle-sheet:last-child{

    margin-bottom:0;

}

/* engineering node */

.principle-sheet::before{

    content:"";

    position:absolute;

    width:18px;

    height:18px;

    border-radius:50%;

    background:#111;

    border:2px solid #ff8b4d;

    left:-60px;

    top:55px;

}

/* drafting border */

.principle-sheet::after{

    content:"";

    position:absolute;

    inset:12px;

    border:1px dashed rgba(255,255,255,.05);

    pointer-events:none;

}

/*==================================
        HOVER
===================================*/

.principle-sheet:hover{

    transform:translateX(12px);

    border-color:#4a4a4a;

}

.principle-sheet:hover::before{

    background:#ff8b4d;

}

/*==================================
        TOP
===================================*/

.principle-top{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:35px;

}

.principle-id{

    color:#727272;

    font-size:11px;

    letter-spacing:.25em;

    text-transform:uppercase;

}

.principle-status{

    color:#ff8b4d;

    font-size:12px;

    letter-spacing:.22em;

    text-transform:uppercase;

}

/*==================================
        GRID
===================================*/

.principle-grid{

    display:grid;

    grid-template-columns:280px 1fr;

    gap:60px;

}

.principle-left h3{

    color:#fff;

    font-size:42px;

    line-height:1.05;

    margin:0;

}

.principle-right p{

    color:#a5a5a5;

    font-size:18px;

    line-height:1.9;

    margin-bottom:35px;

}

/*==================================
        TAGS
===================================*/

.principle-tags{

    display:flex;

    flex-wrap:wrap;

    gap:12px;

}

.principle-tags span{

    border:1px solid #3b3b3b;

    padding:10px 18px;

    color:#d0d0d0;

    font-size:12px;

    letter-spacing:.15em;

    text-transform:uppercase;

    transition:.3s;

}

.principle-tags span:hover{

    border-color:#ff8b4d;

    color:#fff;

}

/*==================================
        RESPONSIVE
===================================*/

@media(max-width:992px){

    .principles-header h2{

        font-size:46px;

    }

    .principles-list::before{

        display:none;

    }

    .principle-sheet{

        margin-left:0;

        padding:35px;

    }

    .principle-sheet::before{

        display:none;

    }

    .principle-grid{

        grid-template-columns:1fr;

        gap:25px;

    }

    .principle-left h3{

        font-size:34px;

    }

}