/*============  Intro  =============*/
.linear-intro {
    gap: 1.15rem
}

.linear-intro:last-of-type {
    margin: 4.5rem 0 0;
}

.linear-intro h4 {
    font-weight: 500;
}

.linear-intro hr {
    width: 11rem;
	margin: 0;
	border: none;
	border-bottom: 1px solid #0F0E16;
}

/*============  Banner  ============*/
.web-intro, .gray  {
    gap: 3rem;
}

.web-intro .gray {
    gap: 5rem;
    background: #f4f4f5;
	padding: 3rem var(--padding);
}

.gray > div {
    flex: 1;
    justify-content: space-between;
}

.gray > div:first-child p, .our-values > p, .track-record p:first-of-type, .our-work > p {  /* .title-label */
    color: #4f46e5;
    font-size: 1rem;
    font-weight: 700;
}

.gray h3 {
    font-size: 1.5rem;
    font-weight: 600;
}

.gray > div:last-child {
    gap: 0.5rem;
}

.gray > div:last-child p {
    font-family: Poppins;
	font-size: 1.05rem;
	font-weight: 500;
    line-height: 1.3;
}

:is(.gray, .our-work) a {
	font-size: 0.9rem;
	font-weight: 800;
}

/*============  Build  =============*/
section.build {
    gap: 5rem;
	padding: 6rem var(--padding);
}

.build:last-of-type {
    flex-flow: row-reverse;
    padding: 3.5rem var(--padding) 6rem;
}

.build > div {
    flex: 1;
}

.build .s-count{
	display: block;
	color: #d4d4d4;
	margin: 0 0 0.5rem;
    font-family: 'Mona-Sans', ui-sans-serif, system-ui, sans-serif;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.75rem;
}

.build .s-count span {
    color: #000;
    margin: 0 0 0 0.125rem;
}

.build h2 {
    margin: 0 0 2rem;
    font-size: 1.9rem;
    font-weight: 600;
}

.build p {
    color: #525252;
	font-size: 1rem;
	line-height: 1.7;
}

.features {
    display: grid;
    grid-template-columns: repeat(auto-fill, 220px);
    grid-auto-flow: dense;
    gap: 0.85rem 1rem;
    margin: 4rem 0 0;
    font-size: 0.9rem;
    font-weight: 600;
}

.features > div {
    min-width: 190px;
    display: flex;
    align-items: center;
    gap: 1.25rem;
    padding: 0.75rem;
	border-radius: 0.75rem;
}

.features > div:hover {
    position: relative;
    background: #f9f9f9;
    cursor: pointer;
}

.features > div:hover:after {
    content: "\e916";/*"J";*/
	min-width: 1rem;
	min-height: 1rem;
	color: #a9a9a9;
	font-size: 0.6rem;
	line-height: 2rem !important;
}

.features i {
    min-width: 1rem;
	min-height: 1rem;
	background: #4f46e5;
	color: #fff;
	padding: 0.53rem;
	border-radius: 0.375rem;
	font-size: 1.1rem;
	aspect-ratio: 1;
}

.build svg {
    width: min(500px, 92%);
}

.build svg.web {
    margin: 0 0 0 auto;
}

.build svg.soft {
    margin: 0 auto 0 0;
	/* transform: rotateY(180deg);*/
}

.build img {
	height: auto;
	max-width: 100%;    
	object-fit: cover;
    transform-origin: center;
}

/*============  Contact  ===========*/
#contact {
    display: flex;
	padding: 1.75rem var(--padding);
}

#contact button {
    border: none;
	border-radius: 0.25rem;
}

/*=========  Contributions  ========*/
.our-contrib {
    align-items: center;
	gap: 5rem;
	background: #5e6be8;
	color: #fff;
	padding: 2.5rem var(--padding);
	font-family: Poppins, Helvetica, sans-serif;
}

.our-contrib > * {
    flex: 1;
}

.our-contrib h3 {
    font-weight: 500;
}

.our-contrib p {
    font-size: 1.1rem;
	font-weight: 300;
    line-height: 1.25;
}

/*============  Values  ============*/
.our-values {
	padding: 7rem var(--padding);
}

:is(.our-values, .track-record) h2 {
    font-weight: 600;
	margin: 1.5rem 0 1.75rem;
}

:is(.our-values, .track-record) h2 + p {
	width: 55%;
    color: #525252;
	margin: 0 0 4.75rem;
	font-size: 1.1rem;
	font-weight: 400;
	line-height: 1.65;
}

.our-values > div {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-auto-flow: dense;
    gap: 2.5rem;
    line-height: 1.75rem;
}

.our-values div > div {
    position: relative;
    padding: 0 0 0 2rem;
}

.our-values b {
    color: #000;
}

.our-values b::before{
    content: "";
    width: 1px;
    height: 1.5rem;
    position: absolute;
    top: 0;
    left: 0;
    background: #0a0a0a;
}

.our-values span {
    color: #838383;
}

.our-values span::after{
    content: "";
    width: 1px;
    height: calc(100% - 2rem);
    position: absolute;
    top: 2rem;
    left: 0;
    background: #0a0a0a1a;
}

/*==========  Statistics  ==========*/
.track-record {
    gap: 6rem;
	padding: 3rem var(--padding) 6rem;
}

.track-record > div {
    flex: 1;
    justify-content: center;
}

.track-record img {
    width: 100%;
    border-radius: 0.25rem;
}

.track-record h2 {
    font-weight: 700;
}

.track-record h2 + p {
    width: 100%;
}

.track-record .list{
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-auto-flow: dense;
    gap: 2.5rem;
    line-height: 1.75rem;
}

.track-record .list > div {
    position: relative;
    padding:  0 0 0 2rem;
}

.track-record .list > div > div::after {
    content: "";
    width: 1px;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #0a0a0a1a;
}

.track-record .list p {
    color: #525252;
    font-weight: 400;
}

/*==========  Get Started  =========*/
.get-started {
	gap: 4rem;
    background: url(../img/cta-get-started.jpg) center center no-repeat;
    background-size: cover;
    color: #fff;
    padding: 8.75rem var(--padding);
    text-align: center;
}

.get-started span {
    width: min(50%, 550px);
    font-size: 1.05rem;
    line-height: 1.25;
}

.get-started button {
    min-width: max-content;
    background: #fff;
	padding: 0.65rem 1.25rem;
	font-size: 1.05rem;
	font-weight: 600;
}

/*==========  Responsive  ==========*/
@media screen and (max-width: 500px) {
    /**/
    .web-intro {
        margin: 2rem 0 0;
    }

    /**/
    .gray {
        flex-flow: column;
	    gap: 2rem;
    }

    .gray > div:first-child {
        gap: 0.75rem;
    }

    /**/
    .linear-intro {
        text-align: center;
    }

    .linear-intro:last-of-type {
        margin: 2.5rem 0 0;
    }

    /**/
    .build {
        flex-flow: column !important;
        gap: 3rem !important;
        padding: 3.5rem var(--padding) !important;
    }

    /* Contact */
    #contact {
        flex-flow: column;
	    gap: 1.5rem;
	    text-align: center;
    }

    /**/
    .our-contrib {
        flex-flow: column;
        gap: 2rem;
    }

    /* Values */
    .our-values {
        padding: 2rem var(--padding);
    }

    .our-values > h2 + p {
        width: 100%;
        margin: 0 0 3rem;
    }

    .our-values > div {
        grid-template-columns: repeat(auto-fill, 100%);
    }

    /* Statistics */
    .track-record {
        flex-flow: column;
        gap: 2rem;
        padding: 0rem var(--padding) 4rem;
    }

    /**/
    .get-started {
        padding-top: 5rem;
	    padding-bottom: 5rem;
    }

    .get-started span {
        width: 100%;
    }
}