 :root {
        --bg: #f8f5ee;
        --bg-soft: #fffdf8;
        --fg: #1f1d19;
        --muted: #716d64;
        --panel: #ffffff;
        --ring: #ded8cc;
        --accent: #8a6534;
        --accent-dark: #68491f;
        --accent-soft: #eee4d4;
        --dark: #25221d;
    }

    html {
        scroll-behavior: smooth;
    }

    body {
        background: var(--bg);
        color: var(--fg);
        font-family: Arial, Helvetica, sans-serif;
    }

    a {
        color: var(--accent-dark);
    }

    a:hover,
    a:focus {
        color: var(--accent);
    }

    .navbar {
        background: rgba(248, 245, 238, .96);
        border-bottom: 1px solid var(--ring) !important;
        backdrop-filter: blur(12px);
    }

    .navbar-brand {
        color: var(--fg) !important;
    }

    .navbar-toggler {
        border-color: var(--ring);
    }

    .navbar-toggler:focus {
        box-shadow: 0 0 0 .2rem rgba(138, 101, 52, .15);
    }

    .navbar-toggler-icon {
        filter: invert(1);
    }

    .nav-link {
        color: var(--muted) !important;
    }

    .nav-link:hover,
    .nav-link:focus,
    .nav-link.active {
        color: var(--fg) !important;
    }

    .section {
        padding: 5rem 0;
    }

    .hero {
        min-height: 78vh;
        display: flex;
        align-items: center;
        padding: 8rem 0 5rem;
        background:
            radial-gradient(
                circle at top right,
                rgba(238, 228, 212, .9),
                transparent 38%
            ),
            var(--bg);
    }

    .kicker {
        color: var(--accent-dark);
        font-size: .78rem;
        font-weight: 700;
        letter-spacing: .16rem;
        text-transform: uppercase;
    }

    .display-title {
        max-width: 850px;
        color: var(--fg);
        font-weight: 700;
        letter-spacing: -.04em;
    }

    .lead-copy {
        max-width: 700px;
        color: var(--muted);
    }

    .panel {
        height: 100%;
        padding: 2rem;
        background: var(--panel);
        border: 1px solid var(--ring);
        border-radius: 1rem;
        box-shadow: 0 .5rem 2rem rgba(44, 37, 28, .05);
        transition:
            transform .2s ease,
            border-color .2s ease,
            box-shadow .2s ease;
    }

    .panel:hover {
        transform: translateY(-4px);
        border-color: #c9bda9;
        box-shadow: 0 1rem 2.5rem rgba(44, 37, 28, .09);
    }

    .icon-box {
        width: 3rem;
        height: 3rem;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 1.5rem;
        background: var(--accent-soft);
        color: var(--accent-dark);
        border: 1px solid #dfcfb8;
        border-radius: .75rem;
    }

    .text-muted-custom {
        color: var(--muted);
    }

    .btn-white {
        background: var(--dark);
        color: #fff;
        border-color: var(--dark);
    }

    .btn-white:hover,
    .btn-white:focus {
        background: var(--accent-dark);
        color: #fff;
        border-color: var(--accent-dark);
    }

    .btn-outline-custom {
        color: var(--fg);
        background: transparent;
        border-color: #aaa093;
    }

    .btn-outline-custom:hover,
    .btn-outline-custom:focus {
        color: #fff;
        background: var(--dark);
        border-color: var(--dark);
    }

    .offering-item {
        padding: 1.5rem 0;
        border-bottom: 1px solid var(--ring);
    }

    .offering-item:first-child {
        border-top: 1px solid var(--ring);
    }

    .number {
        color: var(--accent);
        font-size: .85rem;
        font-weight: 700;
    }

    .cta-panel {
        padding: 3rem;
        background: var(--accent-soft);
        color: var(--fg);
        border: 1px solid #ddceb8;
        border-radius: 1rem;
    }

    .cta-panel .btn-dark {
        background: var(--dark);
        border-color: var(--dark);
    }

    .cta-panel .btn-dark:hover,
    .cta-panel .btn-dark:focus {
        background: var(--accent-dark);
        border-color: var(--accent-dark);
    }

    .border-top,
    .border-bottom,
    .border-dark {
        border-color: var(--ring) !important;
    }

    .footer {
        background: var(--bg-soft);
        border-top: 1px solid var(--ring);
    }

    .footer a {
        color: var(--fg);
    }

    .footer a:hover,
    .footer a:focus {
        color: var(--accent-dark);
    }

    @media (max-width: 767.98px) {
        .section {
            padding: 4rem 0;
        }

        .hero {
            min-height: auto;
            padding-top: 7rem;
        }

        .panel {
            padding: 1.5rem;
        }

        .cta-panel {
            padding: 2rem;
        }
    }