:root {
    --bs-body-bg: #0d0f10;
    --bs-body-bg-rgb: 13, 15, 16;
    --bs-body-color: #f2f3f1;
    --bs-body-color-rgb: 242, 243, 241;
    --bs-body-font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --bs-border-color: #2b3030;
    --bs-primary: #f36b21;
    --bs-primary-rgb: 243, 107, 33;
    --bs-secondary: #aeb4b1;
    --bs-secondary-rgb: 174, 180, 177;
    --bs-secondary-color: #aeb4b1;
    --bs-secondary-color-rgb: 174, 180, 177;
    --bs-secondary-bg: #171a1b;
    --bs-secondary-bg-rgb: 23, 26, 27;    
    --bs-tertiary-bg: #121516;
    --bs-tertiary-bg-rgb: 18, 21, 22;
    --bs-border-color-rgb: 43, 48, 48;
    --bs-link-color: #f2f3f1;
    --bs-link-color-rgb: 242, 243, 241;
    --bs-link-hover-color: #f36b21;
    --bs-link-hover-color-rgb: 243, 107, 33;
    --bs-orange: #f36b21;
    --bs-orange-hover: #ff7a2e;
}

html {
    scroll-behavior: smooth;
}

body {
    -webkit-font-smoothing: antialiased;
}

::selection {
    background: var(--bs-orange);
    color: #111;
}

.section {
    padding-block: clamp(5rem, 9vw, 8rem);
}

.eyebrow {
    color: var(--bs-orange);
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.section-title {  
    font-size: clamp(2.15rem, 4vw, 3.8rem);
    font-weight: 700;
    letter-spacing: -.045em;
    line-height: 1.05;
}

.text-orange {
    color: var(--bs-orange);
}

.btn.btn-orange {
    color: #111 !important;
    background: var(--bs-orange) !important;
    border-color: var(--bs-orange) !important;
    font-weight: 700;
}

    .btn.btn-orange:hover,
    .btn.btn-orange:focus,
    .btn.btn-orange:active {
        color: #111 !important;
        background: var(--bs-orange-hover) !important;
        border-color: var(--bs-orange-hover) !important;
    }

/* Header */
.site-logo {
    width: min(17.5rem, 60vw);
    height: auto;
}

.site-header .nav-link:hover,
.site-header .nav-link:focus {
    color: var(--bs-orange);
}

/* Footer */
.site-footer {
    font-size: .75rem;
    font-weight: 400;
    line-height: 1.6;
}

    .site-footer address {
        font-style: normal;
    }

.hero {
    background: linear-gradient(rgba(255,255,255,.027) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.027) 1px, transparent 1px), var(--bs-body-bg);
    background-size: 4rem 4rem;
}

.hero-title {
    max-width: 13ch;
    font-size: clamp(3.5rem, 7.4vw, 7.2rem);
    font-weight: 750;
    letter-spacing: -.06em;
    line-height: .98;
}

.service-card {
    position: relative;
    min-height: 20rem;
    transition: background-color .18s ease;
}

    .service-card.featured {
        min-height: 20rem;
    }

    .service-card:hover {
        background: var(--bs-secondary-bg);
    }

    .service-card a {
        color: var(--bs-body-color);
    }

        .service-card a:hover {
            color: var(--bs-orange);
        }

.conversation {
    border-top: 4px solid var(--bs-orange) !important;
    background: var(--bs-secondary-bg);
}

@media (max-width: 767.98px) {
    .hero-title {
        font-size: clamp(3.1rem, 16vw, 4.7rem);
    }

    .service-card,
    .service-card.featured {
        min-height: 0;
    }
}
