:root {

    --background: #0F172A;
    --surface: #131924;
    --surface-light: #1E293B;

    --text: #F8FAFC;
    --muted: #CBD5E1;

    --accent: #D4AF37;

}



* {
    box-sizing: border-box;
}



html {
    scroll-behavior: smooth;
}



body {

    margin: 0;
    font-family: "Inter", sans-serif;

    background: var(--background);
    color: var(--text);

    line-height: 1.6;
}

a {
    text-decoration: none;
    color: inherit;
}

header {

    position: fixed;

    top:0;
    left:0;
    right:0;

    height:80px;

    display:flex;
    justify-content:space-between;
    align-items:center;

    padding:0 5%;

    background:rgba(19,25,36,.95);

    border-bottom:2px solid var(--surface-light);

    z-index:10;

}



.logo {

    font-size:22px;
    font-weight:700;

}



nav {

    display:flex;
    align-items:center;
    gap:30px;

}



nav a {

    color:var(--text);
    text-decoration:none;

}

nav .button {

    font-size:16px;
    padding:10px 20px;
}


button,
.button {

    background:var(--accent);

    border:none;

    padding:12px 25px;

    border-radius:8px;

    font-weight:600;

    font-size:20px;

    cursor:pointer;

}

.secondary {

    background:transparent;
    border:1px solid var(--accent);
    color:var(--text);
}

main {

    padding-top:80px;

}



section {

    padding:100px 8%;

}



.hero {

    min-height:calc(100vh - 80px);

    display:flex;

    align-items:center;

    gap:60px;

}

h1, h2, h3 {
    line-height: 1.15;
}

.hero-text {

    flex:0.5;

}



.hero h1 {

    font-size:64px;

    line-height:1.05;

}



.hero p {

    font-size:20px;

    color:var(--muted);

    line-height: 1.7;
}



.hero-image {

    flex:1;

}



.hero-image img {

    width:100%;

    border-radius:20px;

    border:4px solid #FFFFF0;
}



.hero-buttons {

    display:flex;
    gap:20px;

    margin-top:35px;

}








h2 {

    font-size:42px;

    margin-bottom:30px;

}



section p {

    color:var(--muted);

    max-width:800px;

    font-size:18px;

    line-height: 1.8;
}




.cards {

    display:grid;

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

    gap:25px;

    margin-top:40px;

}



.cards div,
.steps div {

    background:var(--surface);

    padding:30px;

    border-radius:15px;

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

}



.steps {

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

}



.steps span {

    color:var(--accent);

    font-size:30px;

}



.cta {

    text-align:center;

    background: ivory;

    color: var(--surface);

    border-top: 4px solid var(--accent);

    border-bottom: 4px solid var(--accent);

}


#join-form {

    display:flex;
    flex-direction:column;

    gap:15px;

    max-width:400px;

    margin:40px auto;

}


#join-form input {

    padding:15px;

    border-radius:8px;

    border: 2px solid var(--surface-light);

    font-size:16px;

}

.final-join {
    padding: 16px 45px;
    margin-top: 10px;
    font-size: 24px;
    border-radius: 12px;
    color: var(--background)
}

.survey-button {

    color:var(--accent);

    font-weight:600;

    padding: 8px 16px;

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

    border-radius:8px;

}

footer {

    padding:40px;

    text-align:center;

}



@media(max-width:1200px){

    .hero {
        gap:30px;
    }

    .hero-buttons {
        display:flex;
        gap:20px;
        margin-top:35px;
    }

    .hero-buttons .button {
        width:fit-content;
    }

}
@media(max-width:1100px){

    .hero {
        flex-direction:column;
        text-align:center;
    }

    .hero-buttons {
        justify-content:center;
        flex-direction:row;
        width:100%;
    }

    .hero-buttons .button {
        width:auto;
    }

}

@media(max-width:900px){


    nav a:not(.button):not(.survey-button) {

        display:none;

    }


    .hero h1 {

        font-size:42px;

    }


    .steps {

        grid-template-columns:1fr;

    }

}

@media(max-width:450px){

    .logo {
        font-size: 20px;
    }
}