body {
            background-color: #FFFFFF;
            font-family: 'Work Sans', sans-serif;
            scroll-behavior: smooth;
        }

        h1, h2, h3, .font-display {
            font-family: 'Fraunces', serif;
        }

        .eyebrow {
            font-family: 'IBM Plex Mono', monospace;
            letter-spacing: 0.12em;
            text-transform: uppercase;
        }

        .stat-figure {
            font-family: 'IBM Plex Mono', monospace;
        }
        
        /* Utility for the vertical text on section borders */
        .vertical-text {
            writing-mode: vertical-rl;
            transform: rotate(180deg);
            text-orientation: mixed;
            letter-spacing: 2px;
            font-family: 'IBM Plex Mono', monospace;
        }

        /* Custom scrollbar */
        ::-webkit-scrollbar { width: 8px; }
        ::-webkit-scrollbar-track { background: #F7F5F1; }
        ::-webkit-scrollbar-thumb { background: #AE9751; border-radius: 0; }
        ::-webkit-scrollbar-thumb:hover { background: #8f7c3f; }

        /* Form input styling for sidebar - Material style */
        .material-input {
            border: none;
            border-bottom: 1px solid #d1d5db;
            border-radius: 0;
            background-color: transparent;
            padding: 8px 0;
            width: 100%;
            transition: border-color 0.3s;
            font-family: 'Work Sans', sans-serif;
        }
        .material-input:focus {
            outline: none;
            border-bottom-color: #AE9751;
            box-shadow: none;
        }
        
        /* Updated Phone Input Styling */
        .phone-input-group {
            display: flex;
            align-items: center;
            border-bottom: 1px solid #d1d5db;
            transition: border-color 0.3s;
        }
        .phone-input-group:focus-within {
            border-bottom-color: #AE9751;
        }
        .country-select {
            border: none;
            background: transparent;
            padding: 8px 18px 8px 0;
            font-size: 14px;
            color: #2B2E31;
            outline: none;
            cursor: pointer;
            appearance: none;
            background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%232B2E31%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E');
            background-repeat: no-repeat;
            background-position: right 4px center;
            background-size: 8px auto;
        }
        .phone-input {
            border: none;
            background: transparent;
            padding: 8px 0 8px 8px;
            width: 100%;
            font-size: 14px;
            outline: none;
            font-family: 'Work Sans', sans-serif;
        }

        /* Slider Animations */
        .slide {
            transition: opacity 1s ease-in-out;
        }

        /* Active nav link on scroll */
        .nav-link.nav-active {
            color: #AE9751;
            background-color: transparent;
            border-bottom: 2px solid #AE9751;
        }
        .nav-link[data-nav="home"].nav-active {
            background-color: transparent;
            border-bottom: 2px solid #AE9751;
        }

        /* Lightbox */
        .lightbox-img {
            max-height: 85vh;
            max-width: 90vw;
        }

        /* Hairline rule, used instead of card shadows */
        .hairline {
            border: 1px solid rgba(43, 46, 49, 0.12);
        }
