/* ==========================================================
   MAR CONSULTANCY
   BASE STYLES
   ========================================================== */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Poppins:wght@400;500;600;700;800&display=swap');

/* ==========================================================
   RESET
   ========================================================== */

*,
*::before,
*::after{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    width:100vw;
    scroll-behavior:smooth;
    scroll-padding-top:90px;
    overflow-x:hidden;
    scrollbar-width:none;
    -ms-overflow-style:none;
}

body{
    width:100vw;
    font-family:var(--font-body);
    font-size:16px;
    line-height:1.7;
    color:var(--text);
    background:var(--body-bg);
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}

/* ==========================================================
   SELECTION
   ========================================================== */

::selection{
    background:var(--primary);
    color:#fff;
}

/* ==========================================================
   SCROLLBAR
   ========================================================== */

::-webkit-scrollbar{
    display:none;
    width:0;
    height:0;
}

/* ==========================================================
   LINKS
   ========================================================== */

a{
    color:inherit;
    text-decoration:none;
    transition:var(--transition);
}

a:hover{
    color:var(--primary);
}

/* ==========================================================
   IMAGES
   ========================================================== */

img{
    display:block;
    max-width:100%;
    height:auto;
}

picture{
    display:block;
}

/* ==========================================================
   LISTS
   ========================================================== */

ul,
ol{
    list-style:none;
}

/* ==========================================================
   HEADINGS
   ========================================================== */

h1,
h2,
h3,
h4,
h5,
h6{
    font-family:var(--font-heading);
    color:var(--secondary);
    font-weight:700;
    line-height:1.25;
}

h1{
    font-size:3.5rem;
}

h2{
    font-size:2.8rem;
}

h3{
    font-size:2rem;
}

h4{
    font-size:1.5rem;
}

h5{
    font-size:1.25rem;
}

h6{
    font-size:1rem;
}

p{
    margin-bottom:1rem;
    color:var(--text-light);
}

/* ==========================================================
   CONTAINER
   ========================================================== */

.container,
.container-fluid,
.container-sm,
.container-md,
.container-lg,
.container-xl,
.container-xxl{
    max-width:1520px;
    padding-left:clamp(20px, 4vw, 60px) !important;
    padding-right:clamp(20px, 4vw, 60px) !important;
}

/* ==========================================================
   SECTION
   ========================================================== */

section{
    padding:var(--section-padding) 0;
    position:relative;
    overflow:hidden;
}

/* ==========================================================
   BUTTONS
   ========================================================== */

.btn{
    border:none;
    border-radius:50px;
    padding:14px 34px;
    font-weight:600;
    transition:var(--transition);
}

.btn-primary{
    background:var(--gradient-primary);
    color:#fff;
}

.btn-primary:hover{
    transform:translateY(-3px);
    box-shadow:var(--shadow-lg);
}

.btn-warning{
    background:var(--gradient-orange);
    color:#fff;
}

.btn-warning:hover{
    transform:translateY(-3px);
    box-shadow:var(--shadow-lg);
}

.btn-outline-primary{
    border:2px solid var(--primary);
    color:#fff;
    background:transparent;
}

.btn-outline-primary:hover{
    background:var(--primary);
    color:#fff;
}

/* ==========================================================
   FORMS
   ========================================================== */

input,
textarea,
select{
    width:100%;
    border:1px solid #dce5ef;
    padding:15px 18px;
    border-radius:12px;
    outline:none;
    font-size:15px;
    transition:var(--transition);
    background:#fff;
}

input:focus,
textarea:focus,
select:focus{
    border-color:var(--primary);
    box-shadow:0 0 0 .2rem rgba(13,110,253,.15);
}

/* ==========================================================
   SECTION TITLE
   ========================================================== */

.section-title{
    text-align:center;
    margin-bottom:60px;
}

.section-title span{
    color:var(--accent);
    text-transform:uppercase;
    font-weight:700;
    letter-spacing:2px;
    display:block;
    margin-bottom:10px;
}

.section-title h2{
    margin-bottom:15px;
}

.section-title p{
    max-width:700px;
    margin:auto;
}

/* ==========================================================
   SHADOW UTILITIES
   ========================================================== */

.shadow-sm{
    box-shadow:var(--shadow-sm);
}

.shadow-md{
    box-shadow:var(--shadow-md);
}

.shadow-lg{
    box-shadow:var(--shadow-lg);
}

/* ==========================================================
   BORDER RADIUS
   ========================================================== */

.rounded-sm{
    border-radius:8px;
}

.rounded-md{
    border-radius:15px;
}

.rounded-lg{
    border-radius:25px;
}

.rounded-xl{
    border-radius:35px;
}

/* ==========================================================
   SPACING HELPERS
   ========================================================== */

.mt-100{
    margin-top:100px;
}

.mb-100{
    margin-bottom:100px;
}

.py-100{
    padding-top:100px;
    padding-bottom:100px;
}

/* ==========================================================
   BACKGROUNDS
   ========================================================== */

.bg-primary-gradient{
    background:var(--gradient-primary);
}

.bg-dark-gradient{
    background:var(--gradient-dark);
}

.bg-light{
    background:#fff;
}

.bg-section{
    background:#f7f9fc;
}

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

.card{
    border:none;
    border-radius:20px;
    overflow:hidden;
    transition:var(--transition);
    box-shadow:var(--shadow-sm);
}

.card:hover{
    transform:translateY(-8px);
    box-shadow:var(--shadow-lg);
}

/* ==========================================================
   GLASS EFFECT
   ========================================================== */

.glass{
    backdrop-filter:blur(15px);
    background:rgba(255,255,255,.2);
    border:1px solid rgba(255,255,255,.25);
}

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

#loader{
    position:fixed;
    inset:0;
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    z-index:999999;
}

.spinner{
    width:70px;
    height:70px;
    border-radius:50%;
    border:6px solid #eee;
    border-top:6px solid var(--primary);
    animation:spin 1s linear infinite;
}

@keyframes spin{

    from{
        transform:rotate(0);
    }

    to{
        transform:rotate(360deg);
    }

}

/* ==========================================================
   BACK TO TOP
   ========================================================== */

.back-to-top{

    position:fixed;

    left:25px;

    right:auto;

    bottom:25px;

    width:55px;

    height:55px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:#222;

    color:#fff;

    border-radius:50%;

    border:none;

    cursor:pointer;

    opacity:0;

    visibility:hidden;

    transition:.35s;

    z-index:999;

}

.back-to-top.active{

    opacity:1;

    visibility:visible;

}

.back-to-top:hover{

    background:#0d6efd;

    color:#fff;

    transform:translateY(-5px);

}

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

@media(max-width:992px){

    h1{
        font-size:2.7rem;
    }

    h2{
        font-size:2.2rem;
    }

    section{
        padding:70px 0;
    }

}

@media(max-width:768px){

    h1{
        font-size:2.2rem;
    }

    h2{
        font-size:1.9rem;
    }

    .btn{
        padding:12px 25px;
    }

}