/*======================================================
DENIS RUDER
MAIN.CSS
Version 1.0
======================================================*/


/*======================================================
RESET
======================================================*/

*,
*::before,
*::after{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    background:#080808;
    color:#F2F0EB;

    font-family:'Inter',sans-serif;
    font-weight:300;
    line-height:1.7;

    overflow-x:hidden;

    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;

}

img{

    max-width:100%;
    display:block;

}

a{

    color:inherit;
    text-decoration:none;

}

ul{

    list-style:none;

}

button,
input,
textarea,
select{

    font:inherit;

}


/*======================================================
VARIABLES
======================================================*/

:root{

    --black:#080808;
    --white:#F2F0EB;

    --gold:#C9A84C;
    --gold-dark:#8A6E2F;

    --grey:#181818;
    --grey2:#202020;
    --grey3:#2D2D2D;

    --text:#F2F0EB;
    --muted:#8A8A8A;

    --radius:4px;

    --transition:.30s ease;

    --container:1400px;

}


/*======================================================
TYPOGRAPHY
======================================================*/

h1,
h2,
h3,
h4,
h5,
h6{

    font-family:'Syne',sans-serif;
    font-weight:800;
    line-height:1.05;

}

h1{

    font-size:clamp(3.5rem,8vw,7rem);

}

h2{

    font-size:clamp(2.4rem,5vw,4.5rem);

}

h3{

    font-size:1.8rem;

}

p{

    opacity:.72;

}


/*======================================================
LAYOUT
======================================================*/

.container{

    width:min(var(--container),92%);
    margin:auto;

}

section{

    padding:120px 0;

}

.section-label{

    color:var(--gold);

    font-size:.72rem;

    letter-spacing:.22em;

    text-transform:uppercase;

    display:flex;

    align-items:center;

    gap:18px;

    margin-bottom:60px;

}

.section-label::after{

    content:"";

    width:60px;

    height:1px;

    background:var(--gold);

}


/*======================================================
BUTTONS
======================================================*/

.btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:12px;

    padding:16px 38px;

    border:1px solid var(--gold);

    color:var(--gold);

    font-family:'Syne',sans-serif;

    font-size:.78rem;

    font-weight:700;

    letter-spacing:.18em;

    text-transform:uppercase;

    transition:var(--transition);

}

.btn:hover{

    background:var(--gold);

    color:var(--black);

}

.btn-secondary{

    border-color:#333;

    color:white;

}

.btn-secondary:hover{

    background:white;

    color:black;

}


/*======================================================
HEADER
======================================================*/

.site-header{

    position:fixed;

    top:0;
    left:0;
    right:0;

    z-index:999;

    padding:22px 0;

    background:linear-gradient(to bottom,
    rgba(8,8,8,.95),
    rgba(8,8,8,0));

    transition:.3s;

}

.site-header.scrolled{

    background:#080808;

}

.header-inner{

    width:min(var(--container),92%);

    margin:auto;

    display:flex;

    justify-content:space-between;

    align-items:center;

}

.logo{

    font-family:'Syne',sans-serif;

    font-size:1.2rem;

    font-weight:800;

    color:var(--gold);

    text-transform:uppercase;

    letter-spacing:.08em;

}

.main-menu{

    display:flex;

    gap:34px;

}

.main-menu a{

    font-size:.78rem;

    text-transform:uppercase;

    letter-spacing:.15em;

    opacity:.6;

    transition:.25s;

}

.main-menu a:hover{

    opacity:1;

    color:var(--gold);

}/*======================================================
HERO
======================================================*/

.hero{

    min-height:100vh;

    display:flex;

    align-items:flex-end;

    position:relative;

    overflow:hidden;

    padding-bottom:90px;

}

.hero-bg{

    position:absolute;

    inset:0;

    background:

    radial-gradient(circle at 75% 35%,rgba(201,168,76,.08),transparent 45%),

    radial-gradient(circle at 20% 80%,rgba(201,168,76,.04),transparent 35%);

}

.hero-content{

    position:relative;

    z-index:5;

    width:min(720px,100%);

}

.hero-label{

    color:var(--gold);

    text-transform:uppercase;

    letter-spacing:.22em;

    font-size:.72rem;

    margin-bottom:25px;

}

.hero h1{

    margin-bottom:30px;

}

.hero h1 span{

    color:var(--gold);

}

.hero-sub{

    max-width:520px;

    margin-bottom:50px;

}

.scroll-indicator{

    position:absolute;

    right:50px;

    top:50%;

    transform:translateY(-50%);

    display:flex;

    flex-direction:column;

    align-items:center;

    gap:15px;

    opacity:.35;

}

.scroll-indicator span{

    writing-mode:vertical-rl;

    letter-spacing:.25em;

    font-size:.65rem;

    text-transform:uppercase;

}

.scroll-indicator::after{

    content:"";

    width:1px;

    height:70px;

    background:white;

}

/*======================================================
ANIMATIONS
======================================================*/

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(25px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

.hero-label{

    animation:fadeUp .7s ease forwards;

}

.hero h1{

    animation:fadeUp .7s .1s both;

}

.hero-sub{

    animation:fadeUp .7s .2s both;

}

.hero .btn{

    animation:fadeUp .7s .3s both;

}

/*======================================================
SERVICES
======================================================*/

.services-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:2px;

}

.service-card{

    background:var(--grey);

    padding:50px;

    position:relative;

    transition:.35s;

}

.service-card:hover{

    background:#222;

}

.service-card::before{

    content:"";

    position:absolute;

    left:0;

    top:0;

    width:3px;

    height:0;

    background:var(--gold);

    transition:.35s;

}

.service-card:hover::before{

    height:100%;

}

.service-number{

    color:var(--gold);

    letter-spacing:.18em;

    font-size:.75rem;

    margin-bottom:22px;

}

.service-card h3{

    margin-bottom:18px;

}

.service-price{

    margin-top:34px;

    font-size:2rem;

    color:var(--gold);

}

.service-price-label{

    margin-top:6px;

    font-size:.75rem;

    text-transform:uppercase;

    opacity:.5;

}

.service-includes{

    margin-top:32px;

    border-top:1px solid #333;

    padding-top:24px;

}

.service-includes li{

    padding:8px 0;

    opacity:.65;

}

.service-includes li::before{

    content:"→ ";

    color:var(--gold);

}/*==================================
SHOP
==================================*/

.shop-section{
    padding:140px 0;
}

.shop-title{

    font-family:Syne,sans-serif;

    font-size:clamp(2.8rem,5vw,5rem);

    line-height:.95;

    margin-bottom:24px;

}

.shop-subtitle{

    max-width:650px;

    opacity:.65;

    margin-bottom:70px;

    font-size:1.05rem;

}

.shop-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:24px;

}

.shop-card{

    display:flex;

    flex-direction:column;

    justify-content:space-between;

    text-decoration:none;

    background:var(--grey);

    padding:48px;

    border:1px solid #2b2b2b;

    min-height:340px;

    transition:.35s;

    position:relative;

    overflow:hidden;

}

.shop-card:hover{

    transform:translateY(-8px);

    border-color:var(--gold);

    background:#202020;

}

.shop-card::before{

    content:"";

    position:absolute;

    left:0;

    top:0;

    width:3px;

    height:0;

    background:var(--gold);

    transition:.35s;

}

.shop-card:hover::before{

    height:100%;

}

.shop-tag{

    display:inline-block;

    width:max-content;

    padding:8px 14px;

    background:rgba(201,168,76,.12);

    color:var(--gold);

    text-transform:uppercase;

    letter-spacing:.14em;

    font-size:.65rem;

    border:1px solid rgba(201,168,76,.3);

    margin-bottom:35px;

}

.shop-card h3{

    font-family:Syne,sans-serif;

    font-size:2rem;

    margin-bottom:18px;

}

.shop-card p{

    opacity:.65;

    line-height:1.8;

}

.shop-button{

    margin-top:40px;

    color:var(--gold);

    text-transform:uppercase;

    letter-spacing:.18em;

    font-size:.75rem;

}
/* ==========================
SHOP
========================== */

.shop-section{

    padding:140px 0;

    background:#0a0a0a;

}

.shop-title{

    font-family:Syne,sans-serif;

    font-size:clamp(2.5rem,5vw,4.5rem);

    line-height:1;

    margin-bottom:20px;

}

.shop-subtitle{

    max-width:650px;

    opacity:.65;

    margin-bottom:70px;

    font-size:1.05rem;

}

.shop-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:2px;

}

.shop-card{

    background:var(--grey);

    padding:40px;

    position:relative;

    transition:.35s;

    overflow:hidden;

}

.shop-card:hover{

    background:#202020;

    transform:translateY(-4px);

}

.shop-card::before{

    content:"";

    position:absolute;

    left:0;

    top:0;

    width:3px;

    height:0;

    background:var(--gold);

    transition:.35s;

}

.shop-card:hover::before{

    height:100%;

}

.shop-badge{

    display:inline-block;

    padding:6px 12px;

    border:1px solid var(--gold);

    color:var(--gold);

    font-size:.65rem;

    letter-spacing:.15em;

    text-transform:uppercase;

    margin-bottom:28px;

}

.shop-card h3{

    font-family:Syne,sans-serif;

    font-size:1.45rem;

    margin-bottom:18px;

}

.shop-card p{

    opacity:.6;

    margin-bottom:35px;

    min-height:50px;

}

.shop-price{

    font-family:Syne,sans-serif;

    color:var(--gold);

    font-size:2rem;

    font-weight:800;

    margin-bottom:35px;

}

.shop-card a{

    color:var(--gold);

    text-decoration:none;

    text-transform:uppercase;

    letter-spacing:.15em;

    font-size:.75rem;

}

.shop-card a:hover{

    color:#fff;

}.hero-buttons{

    display:flex;

    gap:20px;

    margin-top:45px;

}

.btn-primary{

    background:var(--gold);

    color:#000;

    padding:16px 34px;

    text-decoration:none;

    text-transform:uppercase;

    font-weight:700;

    letter-spacing:.12em;

    transition:.3s;

}

.btn-primary:hover{

    transform:translateY(-3px);

}

.btn-secondary{

    border:1px solid var(--gold);

    color:var(--gold);

    padding:16px 34px;

    text-decoration:none;

    text-transform:uppercase;

    letter-spacing:.12em;

    transition:.3s;

}

.btn-secondary:hover{

    background:var(--gold);

    color:#000;

}/* =======================================
HEADER
======================================= */

.site-header{

    position:fixed;

    top:0;

    left:0;

    width:100%;

    z-index:999;

    background:rgba(8,8,8,.94);

    backdrop-filter:blur(10px);

    border-bottom:1px solid rgba(255,255,255,.05);

}

.header-inner{

    display:flex;

    justify-content:space-between;

    align-items:center;

    height:82px;

}

.logo{

    font-family:Syne,sans-serif;

    font-size:1.35rem;

    color:var(--gold);

    text-decoration:none;

    font-weight:800;

}

.main-nav{

    display:flex;

    gap:40px;

}

.main-nav a{

    color:#fff;

    text-decoration:none;

    text-transform:uppercase;

    letter-spacing:.15em;

    font-size:.75rem;

    transition:.3s;

}

.main-nav a:hover{

    color:var(--gold);

}

.header-right{

    display:flex;

    align-items:center;

    gap:18px;

}

.header-right a{

    color:#fff;

    text-decoration:none;

    font-size:.8rem;

}

.cart-icon{

    color:var(--gold)!important;

    font-weight:700;

}