:root {
    --primary-color: ;
    --secondary-color: ;
    --tertiary-color: ;
    --font-1: ;
    --font-2: ;
    --font-3: ;
    --font-4: ;
    --font-5: ;

    --padding: ;
}




body,
html {
    width: 100%;
    font-size: 24px;
    overflow-x: clip;
    background-color: var(--secondary-color);
    transition: all .4s ease;
    color: var(--primary-color);
    scroll-behavior: smooth;
}


body {
    /* background-image: linear-gradient(to right top, #002620, #012b24, #023029, #03352d, #053a32, #083f36, #0b443b, #0e493f, #124f44, #17544a, #1b5a4f, #1f6055); */

    background-image: linear-gradient(to right top, #002620, #002b24, #013028, #02352d, #033a31, #043f35, #05443a, #07493e, #094f43, #0b5548, #0d5b4e, #0f6153);
}

/* hero */


.hero {
    height: 100dvh;
    position: relative;
    display: flex;
    /* background-color: var(--primary-color); */
    color: var(--primary-color);
    /* background-image: radial-gradient(circle, #002620, #012b24, #023029, #03352d, #053a32, #083f37, #0b453c, #0f4a41, #145148, #19584e, #1e6055, #23675c); */
    background-size: cover;
    justify-content: center;
    align-items: center;

}



.hero .heading {
    position: relative;

    display: flex;
    flex-direction: column;
    align-items: end;
}

.hero h1 {
    text-transform: uppercase;
    font-family: var(--font-4);
    font-size: clamp(60px, 5.4vw, 75px);
    letter-spacing: 1px;
    font-weight: 800;
    white-space: nowrap;
    text-align: right;

    /*  */

    background: linear-gradient(to bottom, #cdd9ce 15%, #97b499 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;

}

.hero .h1-mobile {
    display: none;
}

.hero p {
    width: calc(420px + 17vw);
    font-family: var(--font-2);
    font-size: 14px;
    text-align: right;
    display: flex;
    justify-content: end;
    font-weight: normal;
    letter-spacing: .7px;
}


.last {
    display: flex;
    justify-content: space-between;
    position: absolute;
    bottom: 10px;
    left: 0px;
    align-items: end;
    width: 100%;
    color: var(--primary-color);
    padding: 0px 40px;
    padding-bottom: 10px;
}

.last button {
    padding: 8px 5px;
    width: 130px;
    font-weight: bold;
    height: fit-content;
    font-size: 16px;
    border-radius: 10px;
    font-family: var(--font-2);
    /* font-weight: 500; */
    transition: all .3s ease;

    background: var(--primary-color);
    border: 1px solid #696969c7;
    border-top: 1.2px solid #ececec;
    color: var(--secondary-color);
    letter-spacing: .7px;

    &:hover {
        cursor: pointer;
        translate: 0px -2.5px;
    }
}

.last p {
    font-size: 14px;
    width: 350px;
    text-align: left;
    text-align: center;
    font-weight: normal;
    letter-spacing: .7px;
}

/* section-1 */


.section-1 {
    min-height: 100dvh;
    padding: var(--padding);
    position: relative;

}


.section-1 .content {
    width: fit-content;

    position: relative;
    top: 60px;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 20px;
}

.section-1 .content img {
    width: calc(300px + 10vw);
    height: 550px;
    margin: 0 auto;
    object-fit: cover;
    box-shadow: 0px 0px 15px 5px rgba(201, 203, 202, 0.674);
    border-radius: 10px
}

.section-1 .content h1 {
    font-family: var(--font-4);
    text-transform: uppercase;
    font-weight: lighter;
    font-size: 31px;
    margin-top: 80%;
    text-align: right;
}

.section-1 .content p {
    font-family: var(--font-2);
    font-size: 17px;
    font-weight: bold;

}



/* section-2 */
.section-2 {
    min-height: 100dvh;
    padding: var(--padding);
    position: relative;


}

.section-2 h1 {
    font-size: 8vw;
    text-transform: uppercase;
    font-family: var(--font-4);
    text-align: center;
}

.section-2 .content {
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 90px;
    position: relative;

}

.section-2 .img {
    position: relative;
    width: 400px;
    height: 500px;
    margin: 0 auto;
    right: 50px;
    transition: all 1s ease infinte;
    animation: images 3s ease-in-out infinite alternate;
}

@keyframes images {
    0% {
        transform: translateY(0px);
    }

    100% {
        transform: translateY(-30px);
    }
}

.section-2 .img img {
    position: absolute;
    width: 340px;
    height: 450px;
    object-fit: cover;
    border-radius: 12px;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3);
    transition: transform 0.3s ease, z-index 0.3s ease;
    user-select: none;
    -webkit-user-drag: none;
    box-shadow: 0px 0px 9px 3px rgba(213, 218, 217, 0.73);
}

/* Arrange like a fan (cards from left to right) */
.section-2 .img-1 {
    left: 0;
    top: 40px;
    transform: rotate(-20deg);
    z-index: 1;
}

.section-2 .img-2 {
    left: 40px;
    top: 20px;
    transform: rotate(-10deg);
    z-index: 2;
}

.section-2 .img-3 {
    left: 80px;
    top: 0;
    transform: rotate(0deg);
    z-index: 3;
}

.section-2 .img-4 {
    left: 120px;
    top: 20px;
    transform: rotate(10deg);
    z-index: 2;
}

.section-2 .img-5 {
    left: 160px;
    top: 40px;
    transform: rotate(20deg);
    z-index: 1;
}

.section-2 .img img:hover {
    cursor: pointer;
    transform: scale(1.05) translateY(-10px);
    z-index: 10;
}

.section-2 .text {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 28px;
}

.section-2 p {
    text-align: center;
    font-size: 15.5px;
    font-family: var(--font-2);
    width: min(650px, 90%);
    color: var(--primary-color);
    /* font-weight: bold; */
    line-height: 23px;
}

.section-2 a {
    font-size: 16px;
    font-family: var(--font-2);
    background: var(--primary-color);
    color: var(--secondary-color);
    padding: 8px 20px;
    text-decoration: none;
    font-weight: bolder;
    border-radius: 8px;
}

/* section-3 */

.section-3 {
    min-height: 120vb;
    padding: var(--padding);
    position: relative;
    display: flex;
    align-items: center;
}

.section-3 .container {
    display: grid;
    grid-template-columns: auto calc(400px + 16vw);
    width: 100%;
    gap: 50px;


}

.section-3 .text {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.section-3 h1 {
    font-size: 4.5vw;
    color: var(--primary-color);
    font-family: var(--font-4);
    text-transform: uppercase;

    /*  */

    background: linear-gradient(to bottom, #cdd9ce 15%, #97b499 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.section-3 span {
    /* color: #c1e3c1; */
}

.section-3 p {
    font-family: var(--font-2);
    width: 85%;
    font-size: 15px;
}

.section-3 .content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    width: 91%;
    margin-left: auto;
}

.section-3 .box {
    box-shadow: 0px 0px 6px 1px rgba(208, 208, 208, 0.604);
    height: 280px;
    border-radius: 14px;
    background-color: var(--tertiary-color);
    overflow: hidden;
}

.section-3 .box-3 {
    background-color: #385c5694;
    background: linear-gradient(to bottom right, #023930 0%, #033c19bb 100%);

    /* background-color: rgba(226, 225, 225, 0.701); */
    padding: 10px 15px;
    padding-bottom: 15px;
    display: flex;
    flex-direction: column;
}

.section-3 .box-3 h5 {
    font-family: var(--font-2);
    width: 85%;


}

.section-3 .box-3 p {
    margin-top: auto;
    text-align: right;
    margin-left: auto;
    font-size: 10px;
    font-family: var(--font-2);
    color: var(--primary-color);
}

.section-3 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}



/* section-4 */


.section-4 {
    background-color: var(--primary-color);
    min-height: 100vh;
    padding: var(--padding);
    position: relative;
    overflow: hidden;
}

.section-4>h1 {
    font-size: clamp(43px, 7vw, 60px);
    font-family: var(--font-4);
    text-align: center;
    color: var(--tertiary-color);
}

.section-4>p {
    text-align: center;
    font-family: var(--font-2);
    color: var(--secondary-color);
    width: min(550px, 90%);
    margin: 0 auto;
    margin-bottom: 80px;
    font-size: 14px;
}

.section-4 video {
    border-radius: 35px;
    height: 450px;
    /* width: fit-content; */
    box-shadow: 0px 0px 13px 2px #7fc990;
    margin: 0 auto;
}

.section-4 .container {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    place-items: center;
    gap: 30px;
    align-items: stretch;
}

.section-4 .content {
    display: flex;
    color: var(--secondary-color);
    gap: 20px;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.section-4 .content h1 {
    font-family: var(--font-4);
    font-size: 24px;
    width: 95%;
}

.section-4 .content p {
    /* width: 450px; */
    font-family: var(--font-2);
    font-size: 14px;
    width: 85%;
    margin: 0 auto;
    display: none;
}

.section-4 .bg-print {
    opacity: .1;
    rotate: -140deg;
}



.section-5 {
    min-height: 90vh;
    padding: var(--padding);
    color: var(--primary-color);
    font-family: var(--font-2);
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

.section-5 a {
    color: unset;
}

.section-5 .container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}


.section-5 .left {
    display: flex;
    flex-direction: column;
    gap: 30px;

}



.section-5 .left h2 {
    font-family: var(--font-4);
    font-size: calc(40px + 2vw);
}



.section-5 .left>p {
    font-size: calc(8px + .7vw);
    width: 90%;
    width: min(600px, 100%);
}



.section-5 .left .row a {
    display: flex;
    gap: 7px;
    text-decoration: none;
    width: fit-content;
}

.section-5 .left ul {
    display: flex;
    gap: 7px;

}

.section-5 .row {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.section-5 .row p {
    font-size: 20px;
}

.section-5 h5 {
    font-weight: normal;
}

.section-5 .left ul li {
    list-style-type: none;
}

.section-5 .left ul li i {
    font-size: 25px;
}



.section-5 .right {
    height: 100%;
}

.section-5 .right form {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 15px;
    box-shadow: 0px 0px 11px 5px rgb(182 194 187 / 53%);
    border-radius: 11px;
    height: 100%;
}

.section-5 .right .input {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
}

.section-5 .right :is(input, textarea) {
    border: none;
    outline: none;
    background: rgb(218, 218, 218);
    background: var(--primary-color);
    height: 100%;
    border-radius: 4px;
}

.section-5 .right input {
    height: 33px;
    padding: 0px 7px;
}

.section-5 .right textarea {
    resize: vertical;
        padding: 0px 7px;

}

.section-5 .right button {
    padding: 7px 16px;
    background-color: var(--primary-color);
    color: var(--secondary-color);
    width: fit-content;
    border-radius: 7px;
}



/* universal */
.bg-print {
    object-fit: cover;
    opacity: .035;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0px;
    user-select: none;
    -webkit-user-drag: none;
    pointer-events: none;
    left: 0px;
    filter: blur(2px);
    /* display: none; */
}

.spot {
    background-color: rgba(208, 223, 214, 0.851);
    filter: blur(100px);
    border-radius: 50%;
    width: 150px;
    height: 150px;
    position: absolute;
}

.green-spot {
    background-color: rgba(134, 192, 157, 0.848);
    filter: blur(50px);
    border-radius: 50%;
    width: 250px;
    height: 250px;
    position: absolute;
    z-index: -1;
}


.nfts {
    position: absolute;
    width: 120px;
    height: 150px;
    border-radius: 15px;
    object-fit: cover;
    opacity: 0;
    filter: blur(0.8px);
    transition: opacity 2s ease;
}

/* Start positions spaced out better */
.nft-1 {
    top: 5%;
    left: -15%;
}

/* more left, near top */
.nft-2 {
    top: 35%;
    right: -18%;
}

/* middle-right */
.nft-3 {
    bottom: 8%;
    left: -12%;
}

/* lower-left */
.nft-4 {
    top: 60%;
    right: -20%;
}

/* lower-right */
.nft-5 {
    bottom: 20%;
    left: -14%;
}

/* =======================
   LOADER STYLES
   ======================= */

.loader-div {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 9999;
    background-color: var(--primary-color);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    color: var(--secondary-color);
    overflow: hidden;
    transition: opacity 0.8s ease, visibility 0.8s ease;
    box-shadow: inset 0px 5px 9px 3px #0405049e;
}

/* fade out when hidden */
.loader-div.hide {
    opacity: 0;
    visibility: hidden;
}

/* text styling */
.loader-div>.content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 25px;
    font-family: var(--font-4);
    text-transform: uppercase;
    font-size: 50px;
    color: var(--tertiary-color);
    animation: fadeText 2.5s ease-in-out infinite alternate;
}

/* glow + pulse animation on text */
@keyframes fadeText {
    0% {
        text-shadow: 0 0 10px var(--tertiary-color);
        transform: scale(1);
    }

    100% {
        text-shadow: 0 0 25px var(--secondary-color);
        transform: scale(1.05);
    }
}

/* main loader animation */
.loader {
    width: 90px;
    height: 50px;
    --c: no-repeat radial-gradient(farthest-side, #000 93%, #0000);
    background: var(--c) 0 0, var(--c) 50% 0;
    background-size: 8px 8px;
    position: relative;
    clip-path: inset(-200% -100% 0 0);
    animation: l6-0 1.5s linear infinite, pulse 2s ease-in-out infinite;
    margin: 0 auto;
}

/* subtle pulse scale for loader */
@keyframes pulse {

    0%,
    100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.1);
    }
}

.loader:before {
    content: "";
    position: absolute;
    width: 10px;
    height: 14px;
    background: #000;
    left: -16px;
    top: 0;
    animation: l6-1 1.5s linear infinite, l6-2 0.5s cubic-bezier(0, 200, .8, 200) infinite;
}

.loader:after {
    content: "";
    position: absolute;
    inset: 0 0 auto auto;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #000;
    animation: l6-3 1.5s linear infinite;
}

@keyframes l6-0 {

    0%,
    30% {
        background-position: 0 0, 50% 0
    }

    33% {
        background-position: 0 100%, 50% 0
    }

    41%,
    63% {
        background-position: 0 0, 50% 0
    }

    66% {
        background-position: 0 0, 50% 100%
    }

    74%,
    100% {
        background-position: 0 0, 50% 0
    }
}

@keyframes l6-1 {
    90% {
        transform: translateY(0)
    }

    95% {
        transform: translateY(15px)
    }

    100% {
        transform: translateY(15px);
        left: calc(100% - 8px)
    }
}

@keyframes l6-2 {
    100% {
        top: -0.1px
    }
}

@keyframes l6-3 {

    0%,
    80%,
    100% {
        transform: translate(0)
    }

    90% {
        transform: translate(26px)
    }
}

/* optional fade-out when site loads */
body.loaded #loader {
    opacity: 0;
    visibility: hidden;
}









@media (max-width:1250px) {
    .section-3 .container {
        grid-template-columns: 1fr
    }

    .section-3 .content {
        width: min(700px, 100%);
        margin: 0 auto;
    }

    .section-3 .content .box {
        height: unset;
    }

    .section-3 .text {
        order: 1;

    }

    .section-3 .text h1 {
        text-align: center;
        font-size: clamp(24px, 4vw, 60px);
    }

    .section-3 .text p {
        text-align: center;
        margin: 0 auto;
        width: min(700px, 100%);
        font-size: clamp(12px, 2vw, 15px);

    }

    .section-4 .container {
        grid-template-columns: 1fr 1fr;
        gap: 60px;
    }

    .section-4 .content h1 {
        font-size: 34px;
        margin-top: 10px;
    }
}


@media (max-width:1000px) {
    .hero .heading {
        align-items: center;
    }

    .hero .h1-desktop {
        display: none;
    }

    .hero .h1-mobile {
        display: flex;
        text-align: center;
        white-space: unset;
        font-size: clamp(43px, 7vw, 60px);
        width: min(800px, 99%);
        margin-bottom: 10px;
    }

    .hero .heading p {
        text-align: center;
        font-size: clamp(11px, 2vw, 14px);
        width: min(620px, 90%);
    }

    .section-1 {
        margin-bottom: 40px;
    }


    .section-1 .content {
        grid-template-columns: 1fr;
    }

    .section-1 .content> :nth-child(1) {
        display: none;
    }

    .section-1 .content p {
        margin-top: 30px;
        text-align: center;
        font-size: clamp(12px, 2vw, 17px);
    }

    .section-1 .content img {
        width: calc(340px + 10vw);
    }

    .section-2 {
        display: flex;
        align-items: center;
    }

    .section-2 .img {
        right: 75px;
        width: clamp(245px, 44vw, 350px);
        height: calc(250px + 15vw);
        margin-bottom: 20px;
    }

    .section-2 .img img {
        width: 100%;
        height: 100%;
    }

    .section-2 p {
        font-size: clamp(12px, 2vw, 17px);


    }

    .section-3 {
        min-height: 90dvh;
        margin-bottom: 30px;
    }

    .section-5 .container {
        grid-template-columns: 1fr;
        gap: 60px;
    }

    .section-5 .right form {
        box-shadow: 0px 0px 11px 5px rgb(182 194 187 / 25%);
    }

    .section-5 .left {
        gap: 20px;
    }

    .section-5 .left h2 {
        font-size: clamp(35px, 7vw, 58px);
        width: 95%;
    }

    .section-5 .left>p {
        font-size: calc(10px + .6vw);
        line-height: max(4.8vw, 24px);
    }

    .section-5 .row p {
        font-size: calc(11px + .7vw);
    }

    .section-5 .right form {
        padding: 20px 15px;
    }

    .section-5 .right .input label,
    .section-5 h5 {
        font-size: calc(15px + .8vw);
    }

}

@media (max-width:760px) {

    .hero .last {
        display: none;
    }



    .section-4 .container {
        grid-template-columns: 1fr;
    }

    .section-4 video {
        height: 115vw;
    }

    .section-4 .content h1 {
        font-size: clamp(22px, 3vw, 34px);
    }

    .section-4 .content p {
        font-size: clamp(11px, 2vw, 17px);
        line-height: 16px;
    }

    .section-4>p {
        font-size: clamp(12px, 2vw, 17px);
    }

    .section-2 p {
        line-height: 19px;
    }

    .section-3 .box-3 h5 {
        font-size: 3vw;
    }

    .section-3 .box-3 p {
        /* line-height: 18px; */
        font-size: clamp(6.5px, 1.7vw, 14px);
        /* line-height: 2.5vw; */
        width: 80%;
    }

    .section-2 .img {
        width: clamp(215px, 44vw, 350px);
        height: calc(210px + 15vw);
    }

    .section-4>h1 {
        font-size: 8vw;
    }

    .section-3 {
        min-height: 85dvh;
    }


    .loader-div h2{
        font-size: 55px;
    }
}

@media (max-width:550px) {
    .section-1 .content img {
        width: 100%;
        height: unset;
    }

    .loader-div h2{
        font-size: 10vw;
    }


}


@media (max-width:410px) {
    .hero .h1-mobile {
        font-size: 8vw;
    }
}