*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    background:
        radial-gradient(circle at top, #111 0%, #050505 60%);
    color:#fff;
    font-family:'Segoe UI',sans-serif;
    overflow-x:hidden;
}

/* HEADER */

.header{
    display:flex;
    justify-content:space-between;
    align-items:center;

    padding:22px 60px;

    background:
        linear-gradient(
            180deg,
            rgba(18,18,18,0.96),
            rgba(5,5,5,0.96)
        );

    border-bottom:1px solid rgba(216,180,90,0.16);

    position:fixed;
    width:100%;
    top:0;
    z-index:999;

    box-shadow:
        0 10px 30px rgba(0,0,0,0.45);
}

/* LOGO */

.logo{
    font-size:34px;
    font-weight:900;

    font-family:Georgia, 'Times New Roman', serif;

    background:
        linear-gradient(
            180deg,
            #fff8dc 0%,
            #f8e7b5 18%,
            #d4af37 45%,
            #fff4c2 70%,
            #b8892d 100%
        );

    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;

    letter-spacing:.5px;

    text-shadow:
        0 0 10px rgba(255,215,0,0.12),
        0 0 25px rgba(255,215,0,0.06);

    position:relative;
}

.logo::after{
    content:'';
}

/* NAVIGATION */

nav a{
    color:#f5f5f5;
    margin-left:30px;
    text-decoration:none;
    font-size:16px;
    font-weight:600;
    transition:.25s;
    position:relative;
}

nav a:hover{
    color:#d8b45a;
}

nav a::after{
    content:'';
    position:absolute;
    left:0;
    bottom:-8px;
    width:0;
    height:1px;

    background:
        linear-gradient(
            90deg,
            #ffffff,
            #d4af37
        );

    transition:.25s;
}

nav a:hover::after{
    width:100%;
}

/* HERO */

.hero{
    min-height:100vh;

    display:flex;
    align-items:center;
    justify-content:center;

    text-align:center;

    position:relative;

    overflow:hidden;

    padding-top:90px;

    background:
        linear-gradient(
            rgba(0,0,0,0.72),
            rgba(0,0,0,0.92)
        ),

        url('https://images.unsplash.com/photo-1615655096345-61a54750068f?q=80&w=1600')
        center/cover no-repeat;
}

/* HERO EFFECT */

.hero::before{
    content:'';

    position:absolute;
    inset:0;

    background:

        radial-gradient(
            circle at top left,
            rgba(255,215,0,0.10),
            transparent 28%
        ),

        radial-gradient(
            circle at bottom right,
            rgba(255,255,255,0.05),
            transparent 24%
        ),

        linear-gradient(
            120deg,
            transparent 40%,
            rgba(255,255,255,0.04) 50%,
            transparent 60%
        );

    mix-blend-mode:screen;
}

/* HERO CONTENT */

.hero-content{
    position:relative;
    z-index:2;

    max-width:1050px;

    padding:20px;
}

/* TITLE */

.hero-content h1{
    font-size:74px;

    line-height:1.05;

    margin-bottom:26px;

    font-family:Georgia, 'Times New Roman', serif;

    font-weight:900;

    letter-spacing:-2px;

    background:
        linear-gradient(
            180deg,
            #fffdf4 0%,
            #fff1c7 15%,
            #f6d87a 35%,
            #d4af37 55%,
            #fff2b0 75%,
            #a8791e 100%
        );

    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;

    text-shadow:
        0 2px 1px rgba(255,255,255,0.10),
        0 0 10px rgba(255,215,0,0.12),
        0 0 30px rgba(212,175,55,0.10);

    position:relative;
}

/* SUBTITLE */

.hero-content p{
    font-size:22px;

    color:#f2f2f2;

    margin-bottom:40px;

    line-height:1.5;
}

/* BUTTON */

.btn{
    display:inline-block;

    padding:17px 42px;

    background:
        linear-gradient(
            180deg,
            #fff7d0,
            #d4af37
        );

    color:#111;

    font-weight:800;

    font-size:16px;

    text-decoration:none;

    border-radius:10px;

    border:1px solid rgba(255,255,255,0.22);

    box-shadow:
        0 10px 28px rgba(212,175,55,0.24);

    transition:.3s;
}

.btn:hover{
    transform:translateY(-3px);

    box-shadow:
        0 15px 38px rgba(212,175,55,0.34);
}

/* CATEGORIES */

.categories{
    padding:100px 60px;

    background:
        radial-gradient(
            circle at top,
            rgba(255,215,0,0.04),
            transparent 35%
        ),

        #080808;
}

.categories h2{
    text-align:center;

    font-size:44px;

    margin-bottom:55px;

    font-weight:900;

    font-family:Georgia, serif;

    background:
        linear-gradient(
            180deg,
            #fff7cf,
            #d4af37,
            #fff2b5
        );

    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}

/* GRID */

.category-grid{
    display:grid;

    grid-template-columns:
        repeat(auto-fit,minmax(260px,1fr));

    gap:28px;
}

/* CARD */

.cat-card{
    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,0.04),
            rgba(212,175,55,0.04)
        );

    border:1px solid rgba(212,175,55,0.14);

    padding:55px 25px;

    border-radius:20px;

    text-align:center;

    font-size:22px;

    font-weight:800;

    color:#f5f5f5;

    transition:.35s;

    box-shadow:
        0 12px 35px rgba(0,0,0,0.32);
}

.cat-card:hover{
    transform:translateY(-7px);

    border-color:#d4af37;

    box-shadow:
        0 18px 42px rgba(212,175,55,0.14);

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,0.05),
            rgba(212,175,55,0.08)
        );
}

/* MOBILE */

@media(max-width:768px){

    .header{
        padding:18px 20px;
        flex-direction:column;
    }

    nav{
        margin-top:15px;
    }

    nav a{
        margin:0 8px;
        font-size:14px;
    }

    .hero-content h1{
        font-size:46px;
        letter-spacing:-1px;
    }

    .hero-content p{
        font-size:17px;
    }

    .categories{
        padding:75px 20px;
    }

    .categories h2{
        font-size:34px;
    }
}