/* ==================================================
   GLOBAL RESET
================================================== */

*,
*::before,
*::after{

    margin:0;
    padding:0;
    box-sizing:border-box;

}

html{

    scroll-behavior:smooth;

}

body{

    background:var(--background);

    color:var(--text-color);

    font-family:var(--body-font);

    overflow-x:hidden;

    position:relative;

}

img{

    display:block;

    max-width:100%;

}

a{

    color:inherit;

    text-decoration:none;

}

ul{

    list-style:none;

}

button,
input,
textarea{

    font:inherit;

}

/* ==================================================
   CONTAINER
================================================== */

.container{

    width:min(1200px,90%);

    margin:auto;

}

/* ==================================================
   SECTION
================================================== */

section{

    position:relative;

    padding:120px 0;

}

/* ==================================================
   TYPOGRAPHY
================================================== */

h1,h2,h3,h4{

    font-family:var(--heading-font);

}

p{

    color:var(--text-light);

    line-height:1.9;

}

/* ==================================================
   BUTTON
================================================== */

.primary-btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:18px 38px;

    background:#111;

    color:#fff;

    border-radius:999px;

    transition:.4s;

    font-weight:600;

}

.primary-btn:hover{

    transform:translateY(-6px);

    box-shadow:

    0 20px 40px rgba(0,0,0,.15);

}

/* ==================================================
   CURSOR GLOW
================================================== */

.cursor-glow{

    position:fixed;

    width:320px;

    height:320px;

    border-radius:50%;

    background:rgba(185,139,107,.12);

    filter:blur(90px);

    pointer-events:none;

    transform:translate(-50%,-50%);

    z-index:-1;

}

/* ==================================================
   EDITORIAL BACKGROUND
================================================== */

body::before{

    content:"";

    position:fixed;

    inset:0;

    background-image:

    linear-gradient(rgba(0,0,0,.04) 1px,transparent 1px),

    linear-gradient(90deg,rgba(0,0,0,.04) 1px,transparent 1px);

    background-size:70px 70px;

    pointer-events:none;

    opacity:.35;

    z-index:-2;

}

body::after{

    content:"";

    position:fixed;

    inset:0;

    background:

    radial-gradient(circle at top right,

    rgba(185,139,107,.12),

    transparent 40%);

    pointer-events:none;

    z-index:-3;

}

/* ====================================

LOADER

==================================== */

.loader{

    position:fixed;

    inset:0;

    background:#050505;

    display:flex;

    justify-content:center;

    align-items:center;

    z-index:99999;

    transition:opacity .8s ease;

}

.loader.hide{

    opacity:0;

    pointer-events:none;

}

.loader-content{

    text-align:center;

}

.loader h1{

    font-size:4rem;

    letter-spacing:6px;

    color:white;

}

.loader span{

    display:block;

    margin-top:15px;

    color:#D8B56D;

    letter-spacing:6px;

}

.loader-line{

    width:220px;

    height:2px;

    background:#333;

    margin:45px auto 0;

    overflow:hidden;

}

.loader-progress{

    width:0;

    height:100%;

    background:#D8B56D;

    animation:loading 2s linear forwards;

}

@keyframes loading{

    to{

        width:100%;

    }

}