:root {
    --black: #0b0b0b;
    --dark: #111111;
    --white: #f5f3ee;
    --muted: #a7a39b;
    --accent: #b99a63;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    background: var(--black);
    color: var(--white);
    font-family: 'Montserrat', sans-serif;
}

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

.container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

/* HERO */

.hero {
    min-height: 78vh;
    display: flex;
    align-items: center;
    position: relative;
    background:
        linear-gradient(
            90deg,
            rgba(0,0,0,.88) 0%,
            rgba(0,0,0,.62) 50%,
            rgba(0,0,0,.25) 100%
        ),
        #171717;
}

.hero__content {
    width: min(850px, calc(100% - 40px));
    margin: 0 auto;
    padding: 100px 0;
}

.hero__eyebrow,
.section-eyebrow {
    color: var(--accent);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .28em;
    margin-bottom: 25px;
}

.hero h1 {
    margin: 0;
    font-family: 'Playfair Display', serif;
    font-size: clamp(48px, 7vw, 92px);
    line-height: .98;
    font-weight: 500;
}

.hero__text {
    max-width: 600px;
    margin: 30px 0;
    color: #c4c0b8;
    font-size: 17px;
    line-height: 1.8;
}

.hero__actions {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 0 28px;
    border: 1px solid var(--accent);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    transition: .25s ease;
}

.btn--primary {
    background: var(--accent);
    color: #111;
}

.btn--primary:hover {
    background: #d0b47c;
}

.btn--secondary:hover {
    background: rgba(185,154,99,.12);
}

/* INTRO */

.intro {
    padding: 120px 0;
    background: #101010;
}

.intro .container {
    max-width: 850px;
}

.intro h2 {
    margin: 0 0 30px;
    font-family: 'Playfair Display', serif;
    font-size: clamp(38px, 5vw, 64px);
    line-height: 1.05;
    font-weight: 500;
}

.intro p:last-child {
    max-width: 680px;
    color: var(--muted);
    font-size: 17px;
    line-height: 1.9;
}

/* MOBILE */

@media (max-width: 700px) {

    .container {
        width: min(100% - 30px, 1180px);
    }

    .hero {
        min-height: 82vh;
    }

    .hero__content {
        width: calc(100% - 30px);
        padding: 80px 0;
    }

    .hero h1 {
        font-size: 48px;
    }

    .hero__text {
        font-size: 15px;
    }

    .intro {
        padding: 80px 0;
    }

    .intro h2 {
        font-size: 40px;
    }

    .btn {
        width: 100%;
    }
}
