*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

::selection{
    background: var(--primary);
    color: #fff;
}

html{
    scroll-behavior:smooth;
}

body{
    background: var(--dark);
    color: var(--text-white);
    font-family: var(--font-body);
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
}

h1,h2,h3,h4,h5,h6{
    font-family: var(--font-heading);
    font-weight: 700;
}

h1{
    font-size: 72px;
    line-height: 1.1;
    font-weight: 700;
}

h2{
    font-size: 52px;
    line-height: 1.2;
    font-weight: 700;
}

h3{
    font-size: 38px;
    line-height: 1.3;
}

h4{
    font-size: 26px;
}

section{
    padding: var(--section-padding) 0;
}

p{
    color: var(--text-light);
    line-height: 1.8;
    font-size: 17px;
}

a{
    text-decoration: none;
    transition: var(--transition);
}

img{
    max-width: 100%;
    display: block;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
    outline: 3px solid #8b5cf6;
    outline-offset: 4px;
}

body.menu-open {
    overflow: hidden;
}

.container-custom{
    width: 100%;
    margin: auto;
    padding: 0 24px;
    max-width: 1280px;
}

.bg-dark{
    background: #0b1020 !important;
}

.bg-light{
    background: var(--light);
}

.text-dark{
    color: var(--dark);
}

.text-dark-light{
    color: var(--dark-light);
}

.bg-default{
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(255,255,255,0.06);
}