:root {
    /* Color Palette */
    --color-lion-dark: #a80425;
    /* Very dark teal/black */
    --color-lion-primary: #470412;
    /* Main deep teal */
    --color-lion-accent: #a80425;
    /* Red for buttons/text */
    --color-lion-light: #f4f7f6;
    /* Light gray background */
    --color-lion-text: #f8f8f8;
    /* Light text */
    --color-lion-gray: #545d63;
    /* Muted text */
    --color-global-teal: #5f0618;

    /* Base Fonts */
    --font-sans: 'Open Sans', sans-serif;
    --font-title: 'Satoshi', sans-serif;
    --font-serif: 'Playfair Display', serif;

    /* Typography Settings */

    /* Body Text */
    --type-body-family: var(--font-sans);
    --type-body-size: 15px;
    --type-body-weight: 300;
    /* Light */

    /* Buttons */
    --type-btn-family: var(--font-sans);
    --type-btn-size: 18px;
    /* text-sm */
    --type-btn-weight: 400;
    /* Medium */
    --type-btn-transform: none;

    /* Hero Section */
    --type-hero-title-family: var(--font-title);
    --type-hero-title-size-mobile: 2.25rem;
    /* text-4xl */
    --type-hero-title-size-desktop: 3.75rem;
    /* text-6xl */
    --type-hero-title-weight: 500;
    /* Medium */

    --type-hero-body-family: var(--font-sans);
    --type-hero-body-size-mobile: 1.25rem;
    /* text-xl */
    --type-hero-body-size-desktop: 1.5rem;
    /* text-2xl */
    --type-hero-body-weight: 300;
    /* Light */

    /* Section Headers */
    --type-section-title-family: var(--font-title);
    --type-section-title-size-mobile: 1.875rem;
    /* text-3xl */
    --type-section-title-size-desktop: 3rem;
    /* text-5xl */
    --type-section-title-weight: 500;
    /* Medium */

    --type-section-subtitle-family: var(--font-title);
    --type-section-subtitle-size: 1.125rem;
    /* text-lg */
    --type-section-subtitle-weight: 300;
    /* Light */
}

/* Global Typography Classes */

/* Prevent horizontal overflow on mobile */
*,
*::before,
*::after {
    box-sizing: border-box;
}

html,
body {
    overflow-x: hidden;
    max-width: 100%;
}

/* Body */
body {
    font-family: var(--type-body-family);
    font-size: var(--type-body-size);
    font-weight: var(--type-body-weight);
}

/* Buttons */
.type-btn {
    font-family: var(--type-btn-family);
    font-size: var(--type-btn-size);
    font-weight: var(--type-btn-weight);
    text-transform: var(--type-btn-transform);
}

/* Hero Typography */
.type-hero-title {
    font-family: var(--type-hero-title-family);
    font-size: var(--type-hero-title-size-mobile);
    font-weight: var(--type-hero-title-weight);
}

@media (min-width: 768px) {
    .type-hero-title {
        font-size: var(--type-hero-title-size-desktop);
    }
}

.type-hero-body {
    font-family: var(--type-hero-body-family);
    font-size: var(--type-hero-body-size-mobile);
    font-weight: var(--type-hero-body-weight);
}

@media (min-width: 768px) {
    .type-hero-body {
        font-size: var(--type-hero-body-size-desktop);
    }
}

/* Section Typography */
.type-section-title {
    font-family: var(--type-section-title-family);
    font-size: var(--type-section-title-size-mobile);
    font-weight: var(--type-section-title-weight);
}

@media (min-width: 768px) {
    .type-section-title {
        font-size: var(--type-section-title-size-desktop);
    }
}

.type-section-subtitle {
    font-family: var(--type-section-subtitle-family);
    font-size: var(--type-section-subtitle-size);
    font-weight: var(--type-section-subtitle-weight);
}



/* Reveal Class for Scroll Animation */
.reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s ease-out;
}

.reveal.active {
    opacity: 1;
    transform: translateY(0);
}

/* Staggered delays */
.delay-100 {
    transition-delay: 0.1s;
}

.delay-200 {
    transition-delay: 0.2s;
}

.delay-300 {
    transition-delay: 0.3s;
}

/* Hero Overlay Gradient */
.hero-gradient {
    background: linear-gradient(to right, rgba(5, 27, 31, 0.9) 0%, rgba(5, 27, 31, 0.6) 50%, rgba(5, 27, 31, 0.3) 100%);
}

/* Custom Tab Styling for Insights Section */
.tab-btn.active {
    color: #0f172a;
    /* slate-900 */
    border-bottom-color: #0f172a;
}

/* Animation Keyframes */
@keyframes fadeInUp {
    0% {
        opacity: 0;
        transform: translateY(20px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

/* Footer Styling */
.site-footer {
    /* Footer Color Variables - Adjust these to change footer theme */
    --footer-bg: #000000;
    /* Main background (was global-teal) */
    --footer-text-main: #ffffff;
    /* Main text color */
    --footer-text-muted: #ffffff;
    /* Secondary text (gray-400) */
    --footer-heading: #dcdcdc;
    /* Headings */
    --footer-subheading: #e2e2e2;
    /* Subheadings (gray-500) */

    --footer-border: rgba(255, 255, 255, 0.1);
    /* Dividers/Borders */

    --footer-input-bg: rgba(255, 255, 255, 0.1);
    --footer-input-border: rgba(255, 255, 255, 0.2);
    --footer-input-text: #ffffff;
    --footer-input-focus: #a80425;
    /* Focus border color */

    --footer-btn-bg: #a80425;
    /* Button background */
    --footer-btn-text: #ffffff;
    /* Button text */
    --footer-btn-hover: #3a3a3a;
    /* Button hover (teal-600) */

    --footer-link-hover: #ffffff;
    /* Link hover color */
    --footer-icon-color: #ffffff;
    /* Social icons */
    --footer-icon-hover: #ffffff;
    /* Social icons hover */

    background-color: var(--footer-bg);
    color: var(--footer-text-main);
}

.site-footer h3 {
    color: var(--footer-heading);
}

.site-footer h4 {
    color: var(--footer-subheading);
}

.site-footer p,
.site-footer li,
.site-footer .footer-bottom {
    color: var(--footer-text-muted);
}

.site-footer a {
    color: var(--footer-text-muted);
    transition: color 0.3s ease;
}

.site-footer a:hover {
    color: var(--footer-link-hover);
}

.site-footer input {
    background-color: var(--footer-input-bg);
    border-color: var(--footer-input-border);
    color: var(--footer-input-text);
}

.site-footer input:focus {
    border-color: var(--footer-input-focus);
}

.site-footer button {
    background-color: var(--footer-btn-bg);
    color: var(--footer-btn-text);
}

.site-footer button:hover {
    background-color: var(--footer-btn-hover);
}

.site-footer .footer-bottom {
    border-top-color: var(--footer-border);
}

.site-footer .social-icon {
    color: var(--footer-icon-color);
}

.site-footer .social-icon:hover {
    color: var(--footer-icon-hover);
}

/* Custom wider max-width for content sections */
.max-w-wider {
    max-width: 1680px !important;
    /* 1280px (7xl) + 400px */
}

/* Honeypot Field (Spam Protection) */
.website-url-field {
    display: none !important;
    visibility: hidden;
    position: absolute;
    left: -9999px;
    height: 0;
    width: 0;
    opacity: 0;
    overflow: hidden;
    z-index: -1;
}