:root{
    --bg:#090909;
    --panel:#161110;
    --bronze:#b59f87;
    --light:#d9cfbf;
    --gold:#d6b15b;

    --radius:16px;

    --shadow:0 20px 60px rgba(0,0,0,.35);

    --transition:.3s ease;

    --container:1200px;
}

/* RESET */

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

html{
    scroll-behavior:smooth;
}

body{

    background:var(--bg);

    color:var(--light);

    font-family:Georgia,serif;

    overflow-x:hidden;

    line-height:1.7;

}

img{

    max-width:100%;

    display:block;

}

a{

    color:inherit;

    text-decoration:none;

}

/* NAVIGATION */

nav{

    position:sticky;

    top:0;

    z-index:999;

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:18px 5%;

    background:#111;

    backdrop-filter:blur(10px);

    box-shadow:0 4px 20px rgba(0,0,0,.35);

}

nav div{

    display:flex;

    gap:24px;

    align-items:center;

}

nav a{

    transition:.25s;

    font-size:17px;

}

nav a:hover{

    color:var(--gold);

}

/* NAV — MOBILE TOGGLE */

#menu-toggle{

    display:none;

    background:none;

    border:none;

    font-size:28px;

    line-height:1;

    color:var(--light);

    cursor:pointer;

    padding:4px 8px;

}

/* HERO */

.hero{

    min-height:100vh;

    display:flex;

    align-items:center;

    justify-content:center;

    text-align:center;

    padding:100px 25px;

    background:linear-gradient(#0008,#000b);

}

.hero > div{

    display:flex;

    flex-direction:column;

    align-items:center;

}

.logo{

    width:min(90%,800px);

    margin:0 auto 20px;

}

/* CONTAINER */

.page{

    width:min(92%,var(--container));

    margin:auto;

    padding:70px 0;

}

/* GRID */

.grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

    gap:24px;

}

/* CARDS */

.card{

    background:var(--panel);

    padding:28px;

    border:1px solid var(--bronze);

    border-radius:var(--radius);

    box-shadow:var(--shadow);

    transition:var(--transition);

}

.card:hover{

    transform:translateY(-8px);

}

/* HEADINGS */

h1{

    font-size:clamp(2.4rem,6vw,5rem);

    margin-bottom:20px;

}

h2{

    font-size:clamp(2rem,4vw,3rem);

    margin-bottom:20px;

}

h3{

    margin-bottom:12px;

}

p{

    color:#d0c5b4;

    margin-bottom:15px;

}

/* CREATORS */

.creator-card{

    display:flex;

    align-items:center;

    gap:25px;

}

.creator-image{

    width:120px;

    height:120px;

    border-radius:50%;

    object-fit:cover;

    flex-shrink:0;

}

.creator-info{

    flex:1;

}

/* BUTTONS */

.cart-button{

    display:inline-flex;

    justify-content:center;

    align-items:center;

    background:linear-gradient(135deg,#c9a227,#8b6b15);

    color:#fff8dc;

    border:2px solid #e8c766;

    padding:15px 32px;

    font-size:17px;

    font-weight:bold;

    border-radius:12px;

    cursor:pointer;

    transition:.3s;

    text-transform:uppercase;

}

.cart-button:hover{

    transform:translateY(-4px);

    box-shadow:0 12px 30px rgba(201,162,39,.45);

}

/* IFRAME EMBEDS (Applications / Vote) */

.iframe-wrap{

    width:100%;

}

.iframe-wrap iframe{

    width:100%;

    height:1200px;

    border:0;

}

/* FOOTER */

footer{

    padding:50px 20px;

    text-align:center;

    color:#999;

}

/* TABLET */

@media (max-width:900px){

nav{

flex-wrap:wrap;

gap:15px;

}

.hero{

padding:80px 20px;

}

}

/* PHONE */

@media (max-width:768px){

nav{

flex-wrap:nowrap;

justify-content:space-between;

}

#menu-toggle{

display:block;

}

#menu{

display:none;

position:absolute;

top:100%;

left:0;

width:100%;

flex-direction:column;

align-items:stretch;

gap:0;

background:#111;

box-shadow:0 12px 20px rgba(0,0,0,.35);

}

#menu.open{

display:flex;

}

#menu a{

padding:14px 5%;

border-top:1px solid rgba(255,255,255,.08);

}

.page{

padding:45px 0;

}

.grid{

grid-template-columns:1fr;

}

.creator-card{

flex-direction:column;

text-align:center;

}

.creator-image{

width:110px;

height:110px;

}

.cart-button{

width:100%;

}

.iframe-wrap iframe{

height:1800px;

}

}

/* SMALL PHONES */

@media (max-width:480px){

body{

font-size:15px;

}

h1{

font-size:2rem;

}

h2{

font-size:1.6rem;

}

.page{

width:94%;

}

}