/* ============================================================================
   CHATTERBOX® BROADCAST - Warm Modern South African Theme
   ============================================================================ */

/*@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=Fraunces:wght@400;500;600;700;800&display=swap');*/
@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Raleway:wght@300;400;500;600;700;800&display=swap');

:root {
    color-scheme: light only;

    /* Chatterbox Palette */
    --chatterbox-turquoise: #2DD4BF; /* turquoise/sea foam - Primary Product Brand Colour */
    --chatterbox-ocean: #22D3EE; /* light teal #0891B2 - Secondary Colour */
    --chatterbox-black: #0C2730; /* black */
    --chatterbox-red: #EC486A; /* red */

    /* Earthy Neutrals */
    --sand-light: #FBF8F3; /*rgb(251, 248, 243)*/

    /* Gradients */
    --chatterbox-black-80: rgba(12, 39, 48, 0.8);
    --sand-light-80: rgba(251, 248, 243, 0.8);

    /*--grad-sand-light: linear-gradient(135deg, #0A1628 0%, #142238 40%, #1C3254 100%);*/
    --grad-sand-light: linear-gradient(135deg, #FFFFFF 0%, #FDFCFA 40%, #FBF8F3 100%);
    --grad-ocean: linear-gradient(135deg, #0C4A6E 0%, #0891B2 50%, #22D3EE 100%);
    --grad-turquoise: linear-gradient(135deg, #0D9488 0%, #14B8A6 50%, #2DD4BF 100%);
    --grad-ocean-transparent-25: linear-gradient( 135deg, rgba(12, 74, 110, 0.25) 0%, rgba(8, 145, 178, 0.25) 50%, rgba(34, 211, 238, 0.25) 100% );
    --grad-ocean-transparent-50: linear-gradient( 135deg, rgba(12, 74, 110, 0.5) 0%, rgba(8, 145, 178, 0.5) 50%, rgba(34, 211, 238, 0.5) 100% );
    --grad-ocean-transparent-75: linear-gradient( 135deg, rgba(12, 74, 110, 0.75) 0%, rgba(8, 145, 178, 0.75) 50%, rgba(34, 211, 238, 0.75) 100% );
    --grad-turquoise-transparent-25: linear-gradient( 135deg, rgba(13, 148, 136, 0.25) 0%, rgba(20, 184, 166, 0.25) 50%, rgba(45, 212, 191, 0.25) 100% );
    --grad-turquoise-transparent-50: linear-gradient( 135deg, rgba(13, 148, 136, 0.5) 0%, rgba(20, 184, 166, 0.5) 50%, rgba(45, 212, 191, 0.5) 100% );
    --grad-red: linear-gradient(135deg, #D43F5E 0%, #EC486A 50%, #FF7A94 100%);
    --grad-black: linear-gradient(135deg, #000000 0%, #0C2730 50%, #1A4555 100%);

    /* Shadows & Effects */
    --shadow-soft: 0 4px 20px rgba(10, 22, 40, 0.08);
    --shadow-card: 0 8px 32px rgba(10, 22, 40, 0.12);
    --shadow-elevated: 0 16px 48px rgba(10, 22, 40, 0.16);
    --glow-sand-light: 0 0 30px rgba(251, 248, 243, 0.35);
    --glow-ocean: 0 12px 32px rgba(8, 145, 178, 0.4), 0 4px 12px rgba(34, 211, 238, 0.3);
    --glow-turquoise: 0 12px 32px rgba(20, 184, 166, 0.4), 0 4px 12px rgba(45, 212, 191, 0.3);
    --glow-red: 0 12px 32px rgba(236, 72, 106, 0.5), 0 4px 12px rgba(255, 122, 148, 0.4);

    /* Typography */
    /*--font-display: 'Fraunces', Georgia, serif;
    --font-body: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;*/
    --font-display: 'DM Serif Display', Georgia, serif;
    --font-body: 'Raleway', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

    /* Spacing */
    --space-xs: 0.5rem;
    --space-sm: 1rem;
    --space-md: 1.5rem;
    --space-lg: 2.5rem;
    --space-xl: 4rem;
    --space-2xl: 6rem;

    /* Border Radius */
    --radius-sm: 8px;
    --radius-md: 12px;
    --radius-lg: 20px;
    --radius-xl: 28px;
    --radius-full: 9999px;
}

/* ============================================================================
   Base & Reset
   ============================================================================ */
*, *::before, *::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: var(--font-body);
    font-weight: 400;
    color: var(--chatterbox-red);
    line-height: 1.7;
    overflow-x: hidden;
    background-color: var(--sand-light);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    position: relative;
    background: transparent;
}

/* Mobile: ensure no margin/padding pushes content off screen */
@media (max-width: 991.98px) {
    html, body {
        margin: 0 !important;
        padding: 0 !important;
        overflow-x: hidden;
    }
}

/* Main content wrapper needs higher z-index */
.container,
main {
    position: relative;
    z-index: 1;
}

/* Warm texture overlay */
.warm-texture {
    position: relative;
    background-color: var(--sand-light);
}

    .warm-texture::before {
        content: '';
        position: absolute;
        inset: 0;
        background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
        opacity: 0.03;
        pointer-events: none;
    }

/* ============================================================================
   Typography
   ============================================================================ */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-display);
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: -0.01em;
}

h1 {
    letter-spacing: -0.01em;
    line-height: 1.1;
}

h2, h3 {
    letter-spacing: -0.005em;
}

h4, h5, h6 {
    letter-spacing: 0;
}

.spacer-top {
    height: 4rem;
    z-index: 1;
}

.spacer-1 {
    height: 3rem;
    z-index: 1;
}

.text-gradient-purple {
    background: var(--grad-purple);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.text-gradient-amber {
    background: var(--grad-sand-light);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.text-gradient-teal {
    background: var(--grad-turquoise);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.text-gradient-ocean {
    background: var(--grad-ocean);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.text-gradient-turquoise {
    background: var(--grad-turquoise);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.text-gradient-fail {
    background: var(--grad-red);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.text-red {
    color: var(--chatterbox-red);
}

.text-black {
    color: var(--chatterbox-black);
}

.text-sand-light {
    color: var(--sand-light);
}

.text-ocean {
    color: var(--chatterbox-ocean);
}

.text-turquoise {
    color: var(--chatterbox-turquoise);
}

.text-sand-light-70 {
    color: rgba(251, 248, 243, 0.7);
}

/* Section Titles */
.section-title {
    font-size: 3rem;
    font-weight: 700;
    margin-bottom: 1rem;
    /*color: var(--chatterbox-red);*/
    background: var(--grad-ocean);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.section-title-chatterbox {
    background: var(--grad-turquoise);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.section-title-chatterbox-reg {
    color: var(--chatterbox-turquoise);
    font-size: 0.55em;
    font-weight: 500;
    position: relative;
    left: -0.05em;
    top: -0.08em; /* much smaller lift */
}

.reg-turquoise {
    color: var(--chatterbox-turquoise) !important;
    font-weight: 500;
}

.reg-vertical {
    vertical-align: super;
    font-size: 0.7em;
}

.section-subtitle {
    font-size: 1.3rem;
    color: var(--chatterbox-black);
}

/* ============================================================================
   Buttons
   ============================================================================ */
.btn-gradient-amber {
    background: var(--grad-sand-light);
    border: none;
    color: var(--chatterbox-red);
    font-weight: 700;
    border-radius: var(--radius-full);
    padding: 0.75rem 1.75rem;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

    .btn-gradient-amber::before {
        content: '';
        position: absolute;
        inset: 0;
        background: linear-gradient(135deg, rgba(255,255,255,0.2) 0%, transparent 100%);
        opacity: 0;
        transition: opacity 0.3s;
    }

    .btn-gradient-amber:hover {
        transform: translateY(-3px);
        box-shadow: var(--glow-sand-light);
        color: var(--chatterbox-red);
    }

        .btn-gradient-amber:hover::before {
            opacity: 1;
        }


.btn-gradient-ocean {
    background: var(--grad-ocean);
    border: none;
    color: #fff;
    font-weight: 700;
    border-radius: var(--radius-full);
    padding: 0.75rem 1.75rem;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

    .btn-gradient-ocean::before {
        content: '';
        position: absolute;
        inset: 0;
        background: linear-gradient(135deg, rgba(255,255,255,0.2) 0%, transparent 100%);
        opacity: 0;
        transition: opacity 0.3s;
    }

    .btn-gradient-ocean:hover {
        transform: translateY(-3px);
        box-shadow: var(--glow-ocean);
        color: #fff;
    }

        .btn-gradient-ocean:hover::before {
            opacity: 1;
        }

.btn-gradient-turquoise {
    background: var(--grad-turquoise);
    border: none;
    color: white !important;
    font-weight: 700;
    border-radius: var(--radius-full);
    padding: 0.75rem 1.75rem;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

    .btn-gradient-turquoise::before {
        content: '';
        position: absolute;
        inset: 0;
        background: linear-gradient(135deg, rgba(255,255,255,0.2) 0%, transparent 100%);
        opacity: 0;
        transition: opacity 0.3s;
    }

    .btn-gradient-turquoise:hover {
        transform: translateY(-3px);
        box-shadow: var(--glow-turquoise);
        color: #fff;
    }

        .btn-gradient-turquoise:hover::before {
            opacity: 1;
        }

.btn-outline-glass {
    border: 2px solid rgba(34, 211, 238, 0.3);
    color: var(--chatterbox-black);
    font-weight: 600;
    border-radius: var(--radius-full);
    padding: 0.75rem 1.75rem;
    background: rgba(8, 145, 178, 0.1);
    backdrop-filter: blur(8px);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

    .btn-outline-glass:hover {
        background: rgba(34, 211, 238, 0.2);
        border-color: rgba(34, 211, 238, 0.6);
        transform: translateY(-3px);
        box-shadow: 0 8px 24px rgba(34, 211, 238, 0.3);
        color: var(--chatterbox-black);
    }

.shadow-glow {
    box-shadow: var(--glow-turquoise);
}

/* Hero CTA row — 3 uniform buttons */
.hero-cta-row {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    gap: 1rem;
    flex-wrap: wrap;
}

.btn-hero-uniform {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 240px;
    padding: 0.8rem 1.5rem;
    font-size: 0.95rem;
    font-weight: 700;
    border-radius: var(--radius-full);
    text-decoration: none;
    white-space: nowrap;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.btn-hero-number {
    background: linear-gradient(135deg, var(--chatterbox-ocean), #0891b2);
    border: none;
    color: #fff !important;
    box-shadow: 0 4px 15px rgba(34, 211, 238, 0.3);
    position: relative;
    overflow: hidden;
}

    .btn-hero-number::before {
        content: '';
        position: absolute;
        inset: 0;
        background: linear-gradient(135deg, rgba(255,255,255,0.2) 0%, transparent 100%);
        opacity: 0;
        transition: opacity 0.3s;
    }

    .btn-hero-number:hover {
        transform: translateY(-3px);
        box-shadow: 0 8px 24px rgba(34, 211, 238, 0.45);
        color: #fff;
    }

        .btn-hero-number:hover::before {
            opacity: 1;
        }

.btn-hero-stacked {
    flex-direction: column;
    line-height: 1.2;
}

.btn-hero-main {
    display: flex;
    align-items: center;
}

.btn-hero-sub {
    font-size: 0.65rem;
    font-weight: 500;
    opacity: 0.75;
    font-style: italic;
    margin-top: 0.2rem;
}

.pricing-cta-stack {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
}

.pricing-cta-btn {
    width: 280px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.8rem 1.5rem;
    font-weight: 700;
    border-radius: var(--radius-full);
}

@media (max-width: 767.98px) {
    .hero-cta-row {
        flex-direction: column;
        align-items: center;
    }

    .btn-hero-uniform {
        min-width: 260px;
        width: 100%;
        max-width: 300px;
    }
}

.reg-sup {
    font-size: 0.7em;
    vertical-align: super;
    line-height: 1;
}

/* ============================================================================
   Navigation
   ============================================================================ */

#mainNav {
    padding: 1.25rem 0;
    transition: background 0.4s ease, padding 0.4s ease, box-shadow 0.4s ease, backdrop-filter 0.4s ease;
    background: transparent;
    /* Force fixed positioning on all devices */
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 1050 !important;
}


@media (max-width: 991.98px) {
    /* Collapsed navbar: ensure always visible with background */
    #mainNav {
        background: rgba(251, 248, 243, 0.95) !important;
        backdrop-filter: blur(8px) !important;
        -webkit-backdrop-filter: blur(8px) !important;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05) !important;
        /* Ensure it's truly fixed at top on mobile */
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        z-index: 1050 !important;
        margin: 0 !important;
        transform: none !important;
        padding: 0.25rem 0 !important;
    }

    #mainNav .navbar-brand .brand-sub-text {
        display: block;
        font-size: 0.55rem;
        margin-top: -0.2rem;
        padding-left: 1.7rem;
    }

    .spacer-top {
        height: 5rem;
    }

    #mainNav .navbar-toggler {
        color: var(--chatterbox-black) !important;
        border: none;
        padding: 0.25rem 0.5rem;
    }

    #mainNav .navbar-toggler .bi-list {
        color: var(--chatterbox-black) !important;
        font-size: 1.75rem;
    }
}

    /* Nav links default state (ocean) */
    #mainNav .nav-link {
        color: var(--chatterbox-black);
        transition: color 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    }

        /* Optional: hover state */
        #mainNav .nav-link:hover {
            color: var(--chatterbox-ocean) !important;
        }

        /*#mainNav .nav-link.active:hover {
            color: var(--chatterbox-ocean) !important;
            opacity: 0.8;
        }*/

#mainNav.scrolled {
    background: linear-gradient(90deg, rgba(12, 74, 110, 0.25) 0%, rgba(8, 145, 178, 0.15) 50%, rgba(8, 145, 178, 0.15) 100%);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    box-shadow: 0 4px 30px rgba(0,0,0,0.08);
    padding: 0.75rem 0;
}

    #mainNav.scrolled .brand-sub-text {
        background: none !important;
        -webkit-background-clip: unset !important;
        background-clip: unset !important;
        -webkit-text-fill-color: var(--sand-light) !important;
        color: var(--sand-light) !important;
    }

    @media (max-width: 991.98px) {
        /* Collapsed navbar: apply ocean blur effect when scrolled */
        #mainNav.scrolled {
            background: linear-gradient(90deg, rgba(12, 74, 110, 0.55) 0%, rgba(8, 145, 178, 0.45) 50%, rgba(8, 145, 178, 0.45) 100%) !important;
            backdrop-filter: blur(24px) !important;
            -webkit-backdrop-filter: blur(24px) !important;
            box-shadow: 0 4px 30px rgba(0,0,0,0.12) !important;
        }

        #mainNav.scrolled .navbar-toggler,
        #mainNav.scrolled .navbar-toggler .bi-list {
            color: var(--sand-light) !important;
        }
    }

    /* Nav links when scrolled (turquoise) */
        #mainNav.scrolled .nav-link {
            color: var(--sand-light) !important;
        }

            #mainNav.scrolled .nav-link:hover {
                color: var(--sand-light-80) !important;
            }

            /* Nav links when scrolled - active/selected link is turquoise */
            #mainNav.scrolled .nav-link.active,
            #mainNav.scrolled .nav-link:focus {
                color: var(--chatterbox-black) !important;
            }

                /* Underline for scrolled state */
                #mainNav.scrolled .nav-link::after,
                #mainNav.scrolled .nav-link:hover::after,
                #mainNav.scrolled .nav-link.active::after {
                    background: var(--grad-black) !important;
                }

            /* Nav links when scrolled - inactive links are sand-light */
            #mainNav.scrolled .nav-link:not(.active) {
                color: var(--sand-light) !important;
            }

                /*#mainNav.scrolled .nav-link:not(.active):hover {
                    color: var(--sand-light-80) !important;
                }*/

            /* Underline for scrolled state */
                    #mainNav.scrolled .nav-link:not(.active)::after,
                    #mainNav.scrolled .nav-link:not(.active):hover::after,
                    #mainNav.scrolled .nav-link:not(.active).active::after {
                        background: var(--grad-sand-light) !important;
                    }

/* Mobile navbar toggler */
.navbar-toggler {
    color: var(--chatterbox-black);
    padding: 0.5rem;
    border: 1px solid rgba(12, 39, 48, 0.2) !important;
    border-radius: 8px;
}

.navbar-toggler .bi-list {
    color: var(--chatterbox-black);
}

#mainNav.scrolled .navbar-toggler,
#mainNav.scrolled .navbar-toggler .bi-list {
    color: var(--sand-light);
}

/* Collapsed navbar menu */
@media (max-width: 991.98px) {
    #mainNav .navbar-collapse {
        background: var(--sand-light);
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
        border-radius: 12px;
        padding: 1rem;
        margin-top: 1rem;
        box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
    }

    #mainNav.scrolled .navbar-collapse {
        background: var(--grad-ocean-transparent-50);
    }

    #mainNav .navbar-nav {
        gap: 0.5rem;
        align-items: center;
        text-align: center;
    }

    #mainNav .nav-link {
        padding: 0.75rem 1rem;
        border-radius: 8px;
    }

    #mainNav .nav-link:hover {
        background: rgba(45, 212, 191, 0.1);
    }

    #mainNav.scrolled .nav-link:hover {
        background: rgba(255, 255, 255, 0.1);
    }
}

/* Nav Log In Button (gradient turquoise pill) */
.btn-nav-login {
    font-weight: 700;
    color: white !important;
    background: var(--grad-turquoise);
    border: none;
    border-radius: var(--radius-full);
    transition: all 0.3s ease;
    white-space: nowrap;
}

.btn-nav-login:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(45, 212, 191, 0.4);
    color: white !important;
}

#mainNav.scrolled .btn-nav-login {
    background: var(--grad-turquoise);
    color: white !important;
}

#mainNav.scrolled .btn-nav-login:hover {
    box-shadow: 0 4px 15px rgba(45, 212, 191, 0.5);
}

/* Nav Sign Up Button (gradient ocean pill) */
.btn-nav-signup {
    font-weight: 700;
    color: white !important;
    background: var(--grad-ocean);
    border: none;
    border-radius: var(--radius-full);
    transition: all 0.3s ease;
    white-space: nowrap;
}

.btn-nav-signup:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(34, 211, 238, 0.4);
    color: white !important;
}

#mainNav.scrolled .btn-nav-signup {
    background: var(--grad-ocean);
    color: white !important;
}

#mainNav.scrolled .btn-nav-signup:hover {
    box-shadow: 0 4px 15px rgba(34, 211, 238, 0.5);
}

/* When expanded navbar wraps to 2 rows, centre the items */
@media (min-width: 992px) {
    #mainNav .navbar-nav {
        flex-wrap: wrap;
        justify-content: flex-end;
    }

    #mainNav .navbar-nav.ms-auto {
        justify-content: center;
    }
}

/* Tighten navbar at lg breakpoint so all items fit */
@media (min-width: 992px) and (max-width: 1299.98px) {
    #mainNav .navbar-nav .nav-link {
        font-size: 0.82rem;
        padding-left: 0.4rem !important;
        padding-right: 0.4rem !important;
    }

    #mainNav .navbar-brand .brand-sub-text {
        display: none;
    }

    .btn-nav-signup,
    .btn-nav-login {
        font-size: 0.82rem;
        padding: 0.35rem 0.65rem !important;
    }
}

@media (max-width: 991.98px) {
    .btn-nav-login {
        margin: 0.25rem 0;
    }

    .btn-nav-signup {
        margin: 0.25rem 0;
        display: inline-block;
    }
}

.brand-logo {
    height: 1.45rem;
    width: auto;
    margin-right: 0.2rem;
    vertical-align: baseline;
    position: relative;
    top: 0.12rem;
}

.brand-text {
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 1.7rem;
    background: var(--chatterbox-turquoise);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.brand-reg {
    color: var(--chatterbox-turquoise);
    font-weight: 500;
}

.brand-sub-text {
    font-family: var(--font-body);
    font-weight: 600;
    font-size: 0.75rem;
    background: var(--chatterbox-black);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    line-height: 1.2;
}

.brand-sub-reg {
    color: var(--chatterbox-black);
    font-weight: 500;
    font-size: 0.7em; /* smaller than parent text */
    vertical-align: 0.5em; /* lower than 'super' */
    line-height: 1; /* helps prevent clipping */
    margin-left: -0.03em; /* optional: tuck it in slightly */
}


.brand-text-hero {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 2.5rem;
    background: var(--chatterbox-turquoise);
    padding-right: 0.08rem;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.brand-reg-hero {
    color: var(--chatterbox-turquoise);
    font-size: 1.75rem;
    font-weight: 500;
    position: relative;
    left: -0.15rem;
    top: -0.5rem;
}

.nav-link {
    font-weight: 500;
    font-size: 0.95rem;
    padding: 0.5rem 1.15rem !important;
    color: var(--chatterbox-black) !important;
    transition: all 0.3s;
    position: relative;
}

    .nav-link::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 50%;
        width: 0;
        height: 2px;
        background: var(--chatterbox-ocean);
        transition: all 0.3s;
        transform: translateX(-50%);
    }

    .nav-link:hover,
    .nav-link.active {
        color: var(--chatterbox-ocean) !important;
    }

        .nav-link:hover::after,
        .nav-link.active::after {
            width: 60%;
        }

/* All sections should be transparent with higher z-index */
section {
    position: relative;
    z-index: 1;
    background: transparent !important;
}

/* ============================================================================
   Hero Section
   ============================================================================ */
.hero-section {
    background: var(--grad-sand-light);
    min-height: 100vh;
    position: relative;
    overflow: hidden;
    /*padding-top: 70px;*/
    z-index: 10;
}

.hero-bg-shapes {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
}

.shape {
    position: absolute;
    border-radius: 50%;
    opacity: 0.08;
    filter: blur(80px);
}

.shape-1 {
    width: 600px;
    height: 600px;
    background: var(--sand-light);
    top: -200px;
    right: -100px;
    animation: float 20s ease-in-out infinite;
}

.shape-2 {
    width: 400px;
    height: 400px;
    background: var(--chatterbox-ocean);
    bottom: -100px;
    left: -150px;
    animation: float 15s ease-in-out infinite reverse;
}

.shape-3 {
    width: 300px;
    height: 300px;
    background: var(--sand-light);
    top: 50%;
    left: 40%;
    animation: float 25s ease-in-out infinite;
}

.grid-overlay {
    position: absolute;
    inset: 0;
    background-image: linear-gradient(rgba(255,255,255,0.02) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.02) 1px, transparent 1px);
    background-size: 50px 50px;
}

@keyframes float {
    0%, 100% {
        transform: translate(0, 0) rotate(0deg);
    }

    33% {
        transform: translate(30px, -30px) rotate(5deg);
    }

    66% {
        transform: translate(-20px, 20px) rotate(-5deg);
    }
}

.min-vh-80 {
    min-height: 80vh;
}

.hero-title-xl {
    font-size: 3.5rem;
    font-weight: 800;
    color: white;
    margin-bottom: 1.5rem;
    line-height: 1.1;
}

.hero-subtitle {
    font-size: 2.5rem;
    font-weight: 610;
    color: var(--chatterbox-black);
    margin-bottom: 2rem;
    line-height: 1.5;
}

.hero-fact-box {
    background: rgba(8, 145, 178, 0.1);
    backdrop-filter: blur(12px);
    border: 1px solid var(--chatterbox-ocean);
    border-radius: var(--radius-lg);
    padding: 1.5rem;
    color: white;
}

    .hero-fact-box i {
        font-size: 2rem;
        color: var(--chatterbox-ocean);
    }

.fact-stat {
    font-size: 1.3rem;
    font-weight: 500;
    margin-bottom: 0.25rem;
    color: var(--chatterbox-black);
}

.fact-label {
    font-size: 1.25rem;
    color: var(--chatterbox-black);
}

    .fact-label strong {
        color: var(--chatterbox-black);
        text-shadow: 0 0 12px rgba(45, 212, 191, 1), 0 0 24px rgba(45, 212, 191, 0.8), 0 0 36px rgba(45, 212, 191, 0.6), 0 0 48px rgba(45, 212, 191, 0.4);
    }

.hero-trust-badges {
    display: flex;
    gap: 1.5rem;
    flex-wrap: wrap;
}

.trust-badge {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--chatterbox-ocean);
    font-size: 0.9rem;
    font-weight: 500;
}

    .trust-badge i {
        color: var(--chatterbox-ocean);
    }

/* Hero Visual - Language Bubbles */
/*.hero-visual-container {
    position: relative;
    height: 500px;
    width: 100%;
}*/
.hero-visual-container {
    position: relative;
    height: 500px;
    width: 100%;
    z-index: 10; /* Higher z-index to overlap sections below */
    overflow: visible; /* Allow elements to extend beyond container */
    margin-top: -8rem;
}



/* Rotating language ring container */
.lang-ring {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 380px;
    height: 380px;
    transform: translate(-50%, -50%);
    animation: rotate-ring 60s linear infinite;
    animation-play-state: paused; /* Start paused, JS will start after 10s delay */
}

.lang-ring.animating {
    animation-play-state: running;
}

/* Individual language bubbles - Default background state */
.lang-bubble {
    position: absolute;
    top: 50%;
    left: 50%;
    background: rgba(8, 145, 178, 0.12);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(34, 211, 238, 0.2);
    border-radius: var(--radius-lg);
    padding: 0.5rem 0.85rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--chatterbox-black);
    font-weight: 600;
    font-size: 0.75rem;
    transition: all 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
    white-space: nowrap;
    opacity: 0.5;
    z-index: 2;
}

    .lang-bubble i {
        font-size: 1rem;
        color: var(--chatterbox-ocean);
        transition: all 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
    }
    /* Foreground state - larger and more prominent */
    /* NOTE: Do NOT set transform here — it overrides the nth-child positioning transforms
       due to higher specificity (.foreground = 0,2,0 vs :nth-child = 0,1,1), causing
       bubbles to jump to center when the CSS animation briefly loses priority
       (tab switch, GPU recomposite, etc.). Use padding/font-size for size instead. */
    .lang-bubble.foreground {
        background: rgba(8, 145, 178, 0.1);
        backdrop-filter: blur(12px);
        border: 1px solid rgba(34, 211, 238, 0.4);
        padding: 0.7rem 1.1rem;
        font-size: 0.9rem;
        opacity: 1;
        z-index: 5;
    }

        .lang-bubble.foreground i {
            font-size: 1.2rem;
        }

    /* Highlighted state - ocean glow effect WITHOUT position override */
    .lang-bubble.highlighted {
        background: rgba(34, 211, 238, 0.35) !important;
        border: 2px solid var(--chatterbox-ocean) !important;
        box-shadow: 0 0 35px rgba(34, 211, 238, 0.6), 0 0 60px rgba(8, 145, 178, 0.3);
        /* DON'T use transform: scale() as it overrides position */
        padding: 0.8rem 1.3rem !important;
        font-size: 0.95rem !important;
        color: white;
    }

        .lang-bubble.highlighted i {
            color: white;
            font-size: 1.3rem !important;
            filter: drop-shadow(0 0 8px var(--chatterbox-ocean));
        }

    /* For foreground bubbles that get highlighted */
    .lang-bubble.foreground.highlighted {
        padding: 0.85rem 1.4rem !important;
        font-size: 1rem !important;
    }

        .lang-bubble.foreground.highlighted i {
            font-size: 1.4rem !important;
        }

    /* Position each bubble in a circle - with counter-rotation to keep text horizontal */
    /* Static state includes counter-rotation; animation takes over when .animating is added */
    .lang-bubble:nth-child(1) {
        transform: translate(-50%, -50%) rotate(0deg) translateY(-190px) rotate(0deg);
        animation: counter-rotate-1 60s linear infinite reverse;
        animation-play-state: paused;
    }

    .lang-bubble:nth-child(2) {
        transform: translate(-50%, -50%) rotate(32.7deg) translateY(-190px) rotate(-32.7deg);
        animation: counter-rotate-2 60s linear infinite reverse;
        animation-play-state: paused;
    }

    .lang-bubble:nth-child(3) {
        transform: translate(-50%, -50%) rotate(65.4deg) translateY(-190px) rotate(-65.4deg);
        animation: counter-rotate-3 60s linear infinite reverse;
        animation-play-state: paused;
    }

    .lang-bubble:nth-child(4) {
        transform: translate(-50%, -50%) rotate(98.1deg) translateY(-190px) rotate(-98.1deg);
        animation: counter-rotate-4 60s linear infinite reverse;
        animation-play-state: paused;
    }

    .lang-bubble:nth-child(5) {
        transform: translate(-50%, -50%) rotate(130.8deg) translateY(-190px) rotate(-130.8deg);
        animation: counter-rotate-5 60s linear infinite reverse;
        animation-play-state: paused;
    }

    .lang-bubble:nth-child(6) {
        transform: translate(-50%, -50%) rotate(163.5deg) translateY(-190px) rotate(-163.5deg);
        animation: counter-rotate-6 60s linear infinite reverse;
        animation-play-state: paused;
    }

    .lang-bubble:nth-child(7) {
        transform: translate(-50%, -50%) rotate(196.2deg) translateY(-190px) rotate(-196.2deg);
        animation: counter-rotate-7 60s linear infinite reverse;
        animation-play-state: paused;
    }

    .lang-bubble:nth-child(8) {
        transform: translate(-50%, -50%) rotate(228.9deg) translateY(-190px) rotate(-228.9deg);
        animation: counter-rotate-8 60s linear infinite reverse;
        animation-play-state: paused;
    }

    .lang-bubble:nth-child(9) {
        transform: translate(-50%, -50%) rotate(261.6deg) translateY(-190px) rotate(-261.6deg);
        animation: counter-rotate-9 60s linear infinite reverse;
        animation-play-state: paused;
    }

    .lang-bubble:nth-child(10) {
        transform: translate(-50%, -50%) rotate(294.3deg) translateY(-190px) rotate(-294.3deg);
        animation: counter-rotate-10 60s linear infinite reverse;
        animation-play-state: paused;
    }

    .lang-bubble:nth-child(11) {
        transform: translate(-50%, -50%) rotate(327deg) translateY(-190px) rotate(-327deg);
        animation: counter-rotate-11 60s linear infinite reverse;
        animation-play-state: paused;
    }

    /* When ring is animating, start bubble counter-rotations too */
    .lang-ring.animating .lang-bubble {
        animation-play-state: running;
    }

/* Counter-rotation animations to keep text horizontal */
@keyframes counter-rotate-1 {
    from {
        transform: translate(-50%, -50%) rotate(0deg) translateY(-190px) rotate(0deg);
    }

    to {
        transform: translate(-50%, -50%) rotate(0deg) translateY(-190px) rotate(360deg);
    }
}

@keyframes counter-rotate-2 {
    from {
        transform: translate(-50%, -50%) rotate(32.7deg) translateY(-190px) rotate(-32.7deg);
    }

    to {
        transform: translate(-50%, -50%) rotate(32.7deg) translateY(-190px) rotate(327.3deg);
    }
}

@keyframes counter-rotate-3 {
    from {
        transform: translate(-50%, -50%) rotate(65.4deg) translateY(-190px) rotate(-65.4deg);
    }

    to {
        transform: translate(-50%, -50%) rotate(65.4deg) translateY(-190px) rotate(294.6deg);
    }
}

@keyframes counter-rotate-4 {
    from {
        transform: translate(-50%, -50%) rotate(98.1deg) translateY(-190px) rotate(-98.1deg);
    }

    to {
        transform: translate(-50%, -50%) rotate(98.1deg) translateY(-190px) rotate(261.9deg);
    }
}

@keyframes counter-rotate-5 {
    from {
        transform: translate(-50%, -50%) rotate(130.8deg) translateY(-190px) rotate(-130.8deg);
    }

    to {
        transform: translate(-50%, -50%) rotate(130.8deg) translateY(-190px) rotate(229.2deg);
    }
}

@keyframes counter-rotate-6 {
    from {
        transform: translate(-50%, -50%) rotate(163.5deg) translateY(-190px) rotate(-163.5deg);
    }

    to {
        transform: translate(-50%, -50%) rotate(163.5deg) translateY(-190px) rotate(196.5deg);
    }
}

@keyframes counter-rotate-7 {
    from {
        transform: translate(-50%, -50%) rotate(196.2deg) translateY(-190px) rotate(-196.2deg);
    }

    to {
        transform: translate(-50%, -50%) rotate(196.2deg) translateY(-190px) rotate(163.8deg);
    }
}

@keyframes counter-rotate-8 {
    from {
        transform: translate(-50%, -50%) rotate(228.9deg) translateY(-190px) rotate(-228.9deg);
    }

    to {
        transform: translate(-50%, -50%) rotate(228.9deg) translateY(-190px) rotate(131.1deg);
    }
}

@keyframes counter-rotate-9 {
    from {
        transform: translate(-50%, -50%) rotate(261.6deg) translateY(-190px) rotate(-261.6deg);
    }

    to {
        transform: translate(-50%, -50%) rotate(261.6deg) translateY(-190px) rotate(98.4deg);
    }
}

@keyframes counter-rotate-10 {
    from {
        transform: translate(-50%, -50%) rotate(294.3deg) translateY(-190px) rotate(-294.3deg);
    }

    to {
        transform: translate(-50%, -50%) rotate(294.3deg) translateY(-190px) rotate(65.7deg);
    }
}

@keyframes counter-rotate-11 {
    from {
        transform: translate(-50%, -50%) rotate(327deg) translateY(-190px) rotate(-327deg);
    }

    to {
        transform: translate(-50%, -50%) rotate(327deg) translateY(-190px) rotate(33deg);
    }
}

/* Rotation animation */
@keyframes rotate-ring {
    from {
        transform: translate(-50%, -50%) rotate(0deg);
    }

    to {
        transform: translate(-50%, -50%) rotate(360deg);
    }
}

/* Central orb */
.central-orb {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 120px;
    height: 120px;
    background: var(--grad-turquoise);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: var(--glow-turquoise);
    z-index: 10;
}

.sa-heart-icon {
    font-size: 3rem;
    color: white;
    z-index: 2;
}

.orb-ripples {
    position: absolute;
    inset: -20px;
    border: 2px solid var(--chatterbox-turquoise);
    border-radius: 50%;
    opacity: 0.3;
    animation: ripple 3s ease-out infinite;
}

@keyframes ripple {
    0% {
        transform: scale(0.8);
        opacity: 0.6;
    }

    100% {
        transform: scale(1.5);
        opacity: 0;
    }
}

/* Responsive adjustments */
@media (max-width: 992px) {
    .lang-ring {
        width: 340px;
        height: 340px;
    }

    .lang-bubble:nth-child(1) {
        transform: translate(-50%, -50%) rotate(0deg) translateY(-170px);
    }

    .lang-bubble:nth-child(2) {
        transform: translate(-50%, -50%) rotate(32.7deg) translateY(-170px);
    }

    .lang-bubble:nth-child(3) {
        transform: translate(-50%, -50%) rotate(65.4deg) translateY(-170px);
    }

    .lang-bubble:nth-child(4) {
        transform: translate(-50%, -50%) rotate(98.1deg) translateY(-170px);
    }

    .lang-bubble:nth-child(5) {
        transform: translate(-50%, -50%) rotate(130.8deg) translateY(-170px);
    }

    .lang-bubble:nth-child(6) {
        transform: translate(-50%, -50%) rotate(163.5deg) translateY(-170px);
    }

    .lang-bubble:nth-child(7) {
        transform: translate(-50%, -50%) rotate(196.2deg) translateY(-170px);
    }

    .lang-bubble:nth-child(8) {
        transform: translate(-50%, -50%) rotate(228.9deg) translateY(-170px);
    }

    .lang-bubble:nth-child(9) {
        transform: translate(-50%, -50%) rotate(261.6deg) translateY(-170px);
    }

    .lang-bubble:nth-child(10) {
        transform: translate(-50%, -50%) rotate(294.3deg) translateY(-170px);
    }

    .lang-bubble:nth-child(11) {
        transform: translate(-50%, -50%) rotate(327deg) translateY(-170px);
    }

    @keyframes counter-rotate-1 {
        from {
            transform: translate(-50%, -50%) rotate(0deg) translateY(-170px) rotate(0deg);
        }

        to {
            transform: translate(-50%, -50%) rotate(0deg) translateY(-170px) rotate(360deg);
        }
    }

    @keyframes counter-rotate-2 {
        from {
            transform: translate(-50%, -50%) rotate(32.7deg) translateY(-170px) rotate(-32.7deg);
        }

        to {
            transform: translate(-50%, -50%) rotate(32.7deg) translateY(-170px) rotate(327.3deg);
        }
    }

    @keyframes counter-rotate-3 {
        from {
            transform: translate(-50%, -50%) rotate(65.4deg) translateY(-170px) rotate(-65.4deg);
        }

        to {
            transform: translate(-50%, -50%) rotate(65.4deg) translateY(-170px) rotate(294.6deg);
        }
    }

    @keyframes counter-rotate-4 {
        from {
            transform: translate(-50%, -50%) rotate(98.1deg) translateY(-170px) rotate(-98.1deg);
        }

        to {
            transform: translate(-50%, -50%) rotate(98.1deg) translateY(-170px) rotate(261.9deg);
        }
    }

    @keyframes counter-rotate-5 {
        from {
            transform: translate(-50%, -50%) rotate(130.8deg) translateY(-170px) rotate(-130.8deg);
        }

        to {
            transform: translate(-50%, -50%) rotate(130.8deg) translateY(-170px) rotate(229.2deg);
        }
    }

    @keyframes counter-rotate-6 {
        from {
            transform: translate(-50%, -50%) rotate(163.5deg) translateY(-170px) rotate(-163.5deg);
        }

        to {
            transform: translate(-50%, -50%) rotate(163.5deg) translateY(-170px) rotate(196.5deg);
        }
    }

    @keyframes counter-rotate-7 {
        from {
            transform: translate(-50%, -50%) rotate(196.2deg) translateY(-170px) rotate(-196.2deg);
        }

        to {
            transform: translate(-50%, -50%) rotate(196.2deg) translateY(-170px) rotate(163.8deg);
        }
    }

    @keyframes counter-rotate-8 {
        from {
            transform: translate(-50%, -50%) rotate(228.9deg) translateY(-170px) rotate(-228.9deg);
        }

        to {
            transform: translate(-50%, -50%) rotate(228.9deg) translateY(-170px) rotate(131.1deg);
        }
    }

    @keyframes counter-rotate-9 {
        from {
            transform: translate(-50%, -50%) rotate(261.6deg) translateY(-170px) rotate(-261.6deg);
        }

        to {
            transform: translate(-50%, -50%) rotate(261.6deg) translateY(-170px) rotate(98.4deg);
        }
    }

    @keyframes counter-rotate-10 {
        from {
            transform: translate(-50%, -50%) rotate(294.3deg) translateY(-170px) rotate(-294.3deg);
        }

        to {
            transform: translate(-50%, -50%) rotate(294.3deg) translateY(-170px) rotate(65.7deg);
        }
    }

    @keyframes counter-rotate-11 {
        from {
            transform: translate(-50%, -50%) rotate(327deg) translateY(-170px) rotate(-327deg);
        }

        to {
            transform: translate(-50%, -50%) rotate(327deg) translateY(-170px) rotate(33deg);
        }
    }
}

@media (max-width: 768px) {
    .hero-visual-container {
        height: 450px;
    }

    .lang-ring {
        width: 300px;
        height: 300px;
    }

    .lang-bubble {
        padding: 0.4rem 0.75rem;
        font-size: 0.7rem;
    }

        .lang-bubble.foreground {
            padding: 0.6rem 0.95rem;
            font-size: 0.85rem;
        }

        .lang-bubble i {
            font-size: 0.9rem;
        }

        .lang-bubble.foreground i {
            font-size: 1.1rem;
        }

    .central-orb {
        width: 100px;
        height: 100px;
    }

    .sa-heart-icon {
        font-size: 2.5rem;
    }

    .lang-bubble:nth-child(1) {
        transform: translate(-50%, -50%) rotate(0deg) translateY(-150px);
    }

    .lang-bubble:nth-child(2) {
        transform: translate(-50%, -50%) rotate(32.7deg) translateY(-150px);
    }

    .lang-bubble:nth-child(3) {
        transform: translate(-50%, -50%) rotate(65.4deg) translateY(-150px);
    }

    .lang-bubble:nth-child(4) {
        transform: translate(-50%, -50%) rotate(98.1deg) translateY(-150px);
    }

    .lang-bubble:nth-child(5) {
        transform: translate(-50%, -50%) rotate(130.8deg) translateY(-150px);
    }

    .lang-bubble:nth-child(6) {
        transform: translate(-50%, -50%) rotate(163.5deg) translateY(-150px);
    }

    .lang-bubble:nth-child(7) {
        transform: translate(-50%, -50%) rotate(196.2deg) translateY(-150px);
    }

    .lang-bubble:nth-child(8) {
        transform: translate(-50%, -50%) rotate(228.9deg) translateY(-150px);
    }

    .lang-bubble:nth-child(9) {
        transform: translate(-50%, -50%) rotate(261.6deg) translateY(-150px);
    }

    .lang-bubble:nth-child(10) {
        transform: translate(-50%, -50%) rotate(294.3deg) translateY(-150px);
    }

    .lang-bubble:nth-child(11) {
        transform: translate(-50%, -50%) rotate(327deg) translateY(-150px);
    }

    @keyframes counter-rotate-1 {
        from {
            transform: translate(-50%, -50%) rotate(0deg) translateY(-150px) rotate(0deg);
        }

        to {
            transform: translate(-50%, -50%) rotate(0deg) translateY(-150px) rotate(360deg);
        }
    }

    @keyframes counter-rotate-2 {
        from {
            transform: translate(-50%, -50%) rotate(32.7deg) translateY(-150px) rotate(-32.7deg);
        }

        to {
            transform: translate(-50%, -50%) rotate(32.7deg) translateY(-150px) rotate(327.3deg);
        }
    }

    @keyframes counter-rotate-3 {
        from {
            transform: translate(-50%, -50%) rotate(65.4deg) translateY(-150px) rotate(-65.4deg);
        }

        to {
            transform: translate(-50%, -50%) rotate(65.4deg) translateY(-150px) rotate(294.6deg);
        }
    }

    @keyframes counter-rotate-4 {
        from {
            transform: translate(-50%, -50%) rotate(98.1deg) translateY(-150px) rotate(-98.1deg);
        }

        to {
            transform: translate(-50%, -50%) rotate(98.1deg) translateY(-150px) rotate(261.9deg);
        }
    }

    @keyframes counter-rotate-5 {
        from {
            transform: translate(-50%, -50%) rotate(130.8deg) translateY(-150px) rotate(-130.8deg);
        }

        to {
            transform: translate(-50%, -50%) rotate(130.8deg) translateY(-150px) rotate(229.2deg);
        }
    }

    @keyframes counter-rotate-6 {
        from {
            transform: translate(-50%, -50%) rotate(163.5deg) translateY(-150px) rotate(-163.5deg);
        }

        to {
            transform: translate(-50%, -50%) rotate(163.5deg) translateY(-150px) rotate(196.5deg);
        }
    }

    @keyframes counter-rotate-7 {
        from {
            transform: translate(-50%, -50%) rotate(196.2deg) translateY(-150px) rotate(-196.2deg);
        }

        to {
            transform: translate(-50%, -50%) rotate(196.2deg) translateY(-150px) rotate(163.8deg);
        }
    }

    @keyframes counter-rotate-8 {
        from {
            transform: translate(-50%, -50%) rotate(228.9deg) translateY(-150px) rotate(-228.9deg);
        }

        to {
            transform: translate(-50%, -50%) rotate(228.9deg) translateY(-150px) rotate(131.1deg);
        }
    }

    @keyframes counter-rotate-9 {
        from {
            transform: translate(-50%, -50%) rotate(261.6deg) translateY(-150px) rotate(-261.6deg);
        }

        to {
            transform: translate(-50%, -50%) rotate(261.6deg) translateY(-150px) rotate(98.4deg);
        }
    }

    @keyframes counter-rotate-10 {
        from {
            transform: translate(-50%, -50%) rotate(294.3deg) translateY(-150px) rotate(-294.3deg);
        }

        to {
            transform: translate(-50%, -50%) rotate(294.3deg) translateY(-150px) rotate(65.7deg);
        }
    }

    @keyframes counter-rotate-11 {
        from {
            transform: translate(-50%, -50%) rotate(327deg) translateY(-150px) rotate(-327deg);
        }

        to {
            transform: translate(-50%, -50%) rotate(327deg) translateY(-150px) rotate(33deg);
        }
    }
}

/* ============================================================================
   Stats Section
   ============================================================================ */
.stats-section {
    background: var(--sand-light);
    position: relative;
    z-index: 8;
    margin-top: -50px;
}

.stat-card {
    background: white;
    border-radius: var(--radius-lg);
    padding: 2rem;
    text-align: center;
    box-shadow: var(--shadow-card);
    transition: all 0.3s;
}

    .stat-card:hover {
        transform: translateY(-5px);
        box-shadow: var(--shadow-elevated);
    }

.stat-value {
    font-size: 4rem;
    font-weight: 800;
    font-family: var(--font-display);
    line-height: 1;
}

.stat-label {
    font-size: 0.95rem;
    color: var(--chatterbox-black);
    margin-top: 0.75rem;
    font-weight: 500;
}

/* ============================================================================
   Challenge Section
   ============================================================================ */
.challenge-section {
    padding: var(--space-2xl) 0;
}

.challenge-card {
    background: white;
    border-radius: var(--radius-xl);
    padding: var(--space-xl);
    height: 100%;
    box-shadow: var(--shadow-card);
    border: 3px solid transparent;
    transition: all 0.3s;
}

    .challenge-card.fail {
        border-color: var(--chatterbox-red);
    }

    .challenge-card.success {
        border-color: var(--chatterbox-turquoise);
    }

.challenge-icon {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5rem;
    font-size: 2.5rem;
}

.challenge-card.fail .challenge-icon {
    background: rgba(239, 68, 68, 0.1);
    color: var(--chatterbox-red);
}

.challenge-card.success .challenge-icon {
    background: rgba(5, 150, 105, 0.1);
    color: var(--chatterbox-turquoise);
}

.challenge-card h3 {
    font-size: 1.8rem;
    margin-bottom: 1.5rem;
}

.challenge-list {
    list-style: none;
    padding: 0;
}

    .challenge-list li {
        padding: 0.75rem 0;
        display: flex;
        align-items: start;
        gap: 1rem;
        font-size: 1.05rem;
        line-height: 1.6;
    }

    .challenge-list i {
        font-size: 1.2rem;
        margin-top: 0.2rem;
        flex-shrink: 0;
    }

.impact-stat-box {
    background: white;
    border-radius: var(--radius-xl);
    padding: 2.5rem;
    box-shadow: var(--shadow-card);
    max-width: 600px;
    margin: 0 auto;
}

.impact-label {
    font-size: 1rem;
    color: var(--chatterbox-black);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 1rem;
}

.impact-value {
    font-size: 2.5rem;
    font-weight: 800;
    font-family: var(--font-display);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1rem;
}

.impact-result {
    font-size: 1.2rem;
    color: var(--chatterbox-turquoise);
    font-weight: 600;
}

/* ============================================================================
   Unique Section
   ============================================================================ */
.unique-section {
    background: var(--grad-sand-light);
    padding: var(--space-2xl) 0;
}

/*.comparison-box {
    background: var(--grad-ocean-transparent-50);
    backdrop-filter: blur(12px);
    border: 1px solid var(--grad-ocean);
    border-radius: var(--radius-xl);
    padding: var(--space-lg);
}*/

.comparison-box {
    /*background: rgba(8, 145, 178, 0.15);*/
    background: var(--grad-ocean-transparent-25);
    backdrop-filter: blur(12px);
    border: 1px solid var(--chatterbox-ocean);
    border-radius: var(--radius-xl);
    padding: var(--space-lg);
    box-shadow: 0 0 20px rgba(34, 211, 238, 0.4), 0 0 40px rgba(34, 211, 238, 0.3), 0 0 60px rgba(8, 145, 178, 0.2);
}

@media (max-width: 768px) {
    .comparison-box {
        /*background: rgba(8, 145, 178, 0.15);*/
        margin-bottom: 2rem;
    }
}

.comparison-item {
    padding: 1.5rem;
    border-radius: var(--radius-lg);
    margin-bottom: 1.5rem;
}

    .comparison-item.fail {
        /*background: rgba(239, 68, 68, 0.05);*/
        background: linear-gradient( 0deg, rgba(236, 72, 106, 0.05), rgba(236, 72, 106, 0.05) ), #FFF5F0;
        border: 2px solid var(--chatterbox-red);
    }

    .comparison-item.success {
        /*background: rgba(5, 150, 105, 0.05);*/
        background: linear-gradient( 0deg, rgba(45, 212, 191, 0.05), rgba(45, 212, 191, 0.05) ), #FFF8F4;
        border: 2px solid var(--chatterbox-turquoise);
    }

    .comparison-item:last-child {
        margin-bottom: 0;
    }

.comparison-icon {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem;
    font-size: 1.5rem;
}

.comparison-item.fail .comparison-icon {
    background: rgba(239, 68, 68, 0.2);
    color: var(--chatterbox-red);
}

.comparison-item.success .comparison-icon {
    background: rgba(5, 150, 105, 0.2);
    color: var(--chatterbox-turquoise);
}

.comparison-item h5 {
    color: var(--chatterbox-black);
    font-size: 1.4rem;
    font-weight: 600;
    margin-bottom: 1rem;
}

.comparison-item.fail h5 {
    color: var(--chatterbox-red);
}

.comparison-item.success h5 {
    color: var(--chatterbox-turquoise);
}

.comparison-item-chatterbox {
    background: var(--grad-turquoise);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.comparison-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

    .comparison-list li {
        padding: 0.5rem 0;
        color: var(--chatterbox-black);
        font-size: 1rem;
    }

.unique-feature-card {
    background: var(--grad-ocean-transparent-50);
    backdrop-filter: blur(12px);
    border: 1px solid var(--chatterbox-turquoise);
    border-radius: var(--radius-lg);
    padding: 1.5rem;
    margin-bottom: 1.5rem;
    display: flex;
    align-items: start;
    gap: 1rem;
    cursor: pointer;
    transition: all 0.3s;
    position: relative;
    box-shadow: 0 0 10px rgba(34, 211, 238, 0.4), 0 0 40px rgba(34, 211, 238, 0.3), 0 0 60px rgba(8, 145, 178, 0.2);
}

    .unique-feature-card:hover {
        background: var(--grad-ocean-transparent-25);
        border: 1px solid var(--chatterbox-ocean);
        transform: translateX(10px);
    }

.unique-icon {
    width: 50px;
    height: 50px;
    background: var(--grad-turquoise);
    border-radius: var(--radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    color: white;
    flex-shrink: 0;
}

.unique-content h4 {
    color: var(--chatterbox-black);
    font-size: 1.2rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
}

.unique-content p {
    color: var(--chatterbox-black);
    font-size: 0.95rem;
    margin: 0;
}

.unique-info {
    position: absolute;
    top: 1rem;
    right: 1rem;
    color: white;
    font-size: 1rem;
    transition: all 0.3s;
}

.unique-feature-card:hover .unique-info {
    color: rgba(34, 211, 238, 0.75);
}

.only-platform-box {
    background: var(--sand-light);
    backdrop-filter: blur(12px);
    border: 1px solid var(--chatterbox-ocean);
    border-radius: var(--radius-xl);
    padding: var(--space-xl);
    color: white;
}

    .only-platform-box h3 {
        background: var(--grad-ocean);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
        font-size: 2.5rem;
        font-weight: 600;
    }

.only-stat {
    font-size: 3.5rem;
    font-weight: 800;
    font-family: var(--font-display);
    background: var(--grad-turquoise);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.only-label {
    color: var(--chatterbox-black);
    font-size: 0.95rem;
}

/* ============================================================================
   How It Works Section
   ============================================================================ */
.how-it-works-section {
    padding: var(--space-2xl) 0;
}

.steps-container {
    max-width: 800px;
    margin: 0 auto;
}

.step-row {
    display: flex;
    align-items: center;
    gap: 2rem;
    margin-bottom: 3rem;
    padding: 2rem;
    background: white;
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-card);
    transition: all 0.3s;
}

    .step-row:hover {
        transform: translateY(-5px);
        box-shadow: var(--shadow-elevated);
    }

.step-number {
    width: 70px;
    height: 70px;
    background: var(--grad-ocean);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    font-weight: 800;
    color: var(--sand-light);
    flex-shrink: 0;
    box-shadow: var(--glow-sand-light);
}

.step-content h3 {
    font-size: 1.5rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
    color: var(--chatterbox-black);
}

.step-content p {
    color: var(--chatterbox-black);
    margin-bottom: 0.75rem;
}

.step-time {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: var(--grad-ocean-transparent-50);
    color: var(--chatterbox-black);
    padding: 0.5rem 1rem;
    border-radius: var(--radius-full);
    font-weight: 600;
    font-size: 0.9rem;
}

.step-visual {
    width: 80px;
    height: 80px;
    background: var(--grad-ocean-transparent-50);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.5rem;
    color: var(--chatterbox-black);
    flex-shrink: 0;
}

.step-row.final {
    border: 3px solid var(--chatterbox-turquoise);
}

    .step-row.final .step-number {
        background: var(--grad-turquoise);
    }

    .step-row.final .step-visual {
        background: rgba(5, 150, 105, 0.1);
        color: var(--chatterbox-turquoise);
    }

.step-time.final {
    background: var(--grad-turquoise-transparent-50);
}
/* ============================================================================
   Communication Flow Timeline (inside How It Works)
   ============================================================================ */
.cb-flow-block {
    margin-top: 4rem;
    padding-top: 3.5rem;
    border-top: 1px solid rgba(45, 212, 191, 0.2);
    scroll-margin-top: 100px;
}

.cb-flow-eyebrow {
    display: inline-block;
    font-size: 1.1rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--chatterbox-turquoise);
    margin-bottom: 0.75rem;
}

.cb-flow-title {
    font-family: var(--font-display);
    font-size: clamp(1.75rem, 3vw, 2.5rem);
    line-height: 1.15;
    color: var(--chatterbox-black);
    margin-bottom: 0.85rem;
}

.cb-flow-subtitle {
    font-size: 1rem;
    color: rgba(12, 39, 48, 0.65);
    line-height: 1.7;
    max-width: 680px;
    margin: 0 auto 0.5rem;
}

.cb-flow-timeline-wrap {
    position: relative;
    margin-top: 2.5rem;
}

.cb-flow-line {
    position: absolute;
    top: 2.75rem;
    left: 10%;
    right: 10%;
    height: 2px;
    background: linear-gradient(90deg,
        rgba(45, 212, 191, 0.12),
        rgba(45, 212, 191, 0.4),
        rgba(45, 212, 191, 0.12));
    z-index: 0;
}

.cb-flow-step {
    position: relative;
    z-index: 1;
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid rgba(45, 212, 191, 0.25);
    border-radius: var(--radius-lg);
    padding: 1.5rem 1.1rem 1.35rem;
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
    box-shadow: var(--shadow-soft);
}

.cb-flow-step:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-card);
    border-color: rgba(45, 212, 191, 0.5);
}

.cb-flow-step-unlocking {
    background: rgba(249, 115, 22, 0.03);
}

.cb-flow-icon {
    width: 3.25rem;
    height: 3.25rem;
    border-radius: var(--radius-md);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.15rem;
    margin-bottom: 0.9rem;
    background: var(--grad-turquoise);
    color: #fff;
    box-shadow: var(--glow-turquoise);
}

.cb-flow-step-top {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin-bottom: 0.45rem;
}

.cb-flow-step-label {
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--chatterbox-black);
    margin-bottom: 0.4rem;
    line-height: 1.25;
}

.cb-flow-step-top .cb-flow-step-label {
    margin-bottom: 0;
}

.cb-flow-step-text {
    font-size: 0.87rem;
    line-height: 1.65;
    color: rgba(12, 39, 48, 0.65);
    margin: 0;
}

.cb-flow-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.16rem 0.5rem;
    border-radius: var(--radius-full);
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    background: rgba(249, 115, 22, 0.12);
    color: #c2440f;
    border: 1px solid rgba(249, 115, 22, 0.25);
}

.cb-flow-footer {
    font-size: 0.95rem;
    font-weight: 600;
    color: rgba(12, 39, 48, 0.55);
    margin: 0;
}

.cb-flow-footer-note {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--chatterbox-turquoise);
    margin: 0;
}

.cb-flow-footer-limited {
    font-size: 0.78rem;
    color: rgba(12, 39, 48, 0.4);
    font-style: italic;
    margin: 0;
}

.btn-cb-flow-cta {
    display: inline-block;
    background: linear-gradient(135deg, var(--chatterbox-turquoise), var(--chatterbox-ocean));
    color: #fff;
    font-family: 'Raleway', sans-serif;
    font-weight: 700;
    font-size: 0.95rem;
    padding: 0.7rem 2rem;
    border-radius: var(--radius-full);
    text-decoration: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 4px 15px rgba(45, 212, 191, 0.3);
}

.btn-cb-flow-cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(45, 212, 191, 0.45);
    color: #fff;
    text-decoration: none;
}

.btn-cb-flow-cta:active {
    transform: translateY(0);
}

@media (max-width: 991.98px) {
    .cb-flow-line {
        display: none;
    }

    .cb-flow-step {
        padding: 1.35rem 1rem 1.2rem;
    }

    .cb-flow-icon {
        width: 3rem;
        height: 3rem;
        font-size: 1.05rem;
        margin-bottom: 0.75rem;
    }
}

/* ============================================================================
   Customers Section
   ============================================================================ */
.customers-section {
    background: var(--grad-sand-light);
    padding: var(--space-2xl) 0;
}

.customer-card {
    background: var(--grad-ocean-transparent-25);
    backdrop-filter: blur(12px);
    border: 1px solid var(--chatterbox-ocean);
    border-radius: var(--radius-xl);
    padding: 2rem;
    text-align: center;
    color: white;
    cursor: pointer;
    transition: all 0.3s;
    height: 100%;
    opacity: 0.9;
}

    .customer-card:hover {
        background: var(--grad-ocean-transparent-50);
        transform: translateY(-10px);
        border-color: var(--chatterbox-ocean);
        opacity: 0.95;
    }

.customer-icon {
    width: 80px;
    height: 80px;
    background: var(--sand-light);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1.5rem;
    font-size: 2.5rem;
    color: var(--chatterbox-ocean);
}

.customer-card h3 {
    color: var(--sand-light);
    font-size: 1.8rem;
    font-weight: 600;
    margin-bottom: 1rem;
}

.customer-card:hover.customer-card h3 {
    color: var(--chatterbox-red);
}

.customer-pain {
    font-size: 1.1rem;
    margin-bottom: 1.5rem;
}

.customer-stats-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.customer-stat {
    background: rgba(255, 255, 255, 0.1);
    border-radius: var(--radius-lg);
    padding: 1rem;
}

.stat-num {
    font-size: 2rem;
    font-weight: 800;
    font-family: var(--font-display);
    color: var(--sand-light);
}

.stat-perc {
    font-size: 2rem;
    font-weight: 800;
    font-family: var(--font-display);
    color: var(--chatterbox-red);
}

.stat-desc {
    font-size: 0.85rem;
    color: var(--chatterbox-black);
    margin-top: 0.25rem;
}

.customer-quote {
    font-style: italic;
    color: var(--chatterbox-black);
    font-size: 1.05rem;
    margin-bottom: 1.5rem;
    padding: 1rem;
    background: rgba(255, 255, 255, 0.06);
    border-radius: var(--radius-md);
    border-left: 3px solid var(--chatterbox-ocean);
}

.customer-card:hover .customer-quote {
    color: var(--chatterbox-red);
    border-left: 3px solid var(--chatterbox-red);
}

.customer-cta {
    color: var(--sand-light);
    font-weight: 600;
    font-size: 0.95rem;
}

/* ============================================================================
   Pricing Section
   ============================================================================ */
.pricing-section {
    padding: var(--space-2xl) 0;
}

.pricing-card-main {
    background: var(--sand-light);
    border-radius: var(--radius-xl);
    padding: 3rem;
    box-shadow: var(--shadow-elevated);
    border: 3px solid var(--chatterbox-ocean);
}

.pricing-badge {
    display: inline-block;
    background: var(--grad-ocean);
    color: var(--sand-light);
    padding: 0.5rem 1.5rem;
    border-radius: var(--radius-full);
    font-weight: 700;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 2rem;
}

.pricing-amount {
    text-align: center;
    margin-bottom: 2rem;
}

.currency {
    font-size: 2rem;
    font-weight: 700;
    color: var(--chatterbox-black);
    vertical-align: super;
}

.price {
    font-size: 5rem;
    font-weight: 800;
    font-family: var(--font-display);
    background: var(--grad-sand-light);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.period {
    display: block;
    font-size: 1.1rem;
    color: var(--chatterbox-black);
    margin-top: 0.5rem;
}

.pricing-features {
    list-style: none;
    padding: 0;
    margin-bottom: 2rem;
}

    .pricing-features li {
        color: var(--chatterbox-ocean);
        padding: 1rem 0;
        display: flex;
        align-items: center;
        gap: 1rem;
        font-size: 1.1rem;
        border-bottom: 1px solid var(--chatterbox-ocean);
    }

        .pricing-features li:last-child {
            border-bottom: none;
        }

        .pricing-features li:hover {
            opacity: 0.8;
        }

        .pricing-features i {
            color: var(--chatterbox-turquoise);
            font-size: 1.3rem;
        }

            .pricing-example {
                background: var(--sand-light);
                border-radius: var(--radius-lg);
                padding: 2rem;
                margin-bottom: 2rem;
            }
.pricing-features-highlight {
    color: #2A78ED;
    text-shadow: 0 0 12px rgba(12, 39, 48, 0.8), 0 0 24px rgba(45, 212, 191, 0.9), 0 0 36px rgba(45, 212, 191, 0.7), 0 0 48px rgba(45, 212, 191, 0.5);
}

.pricing-example h5 {
    font-size: 1.3rem;
    margin-bottom: 1.5rem;
    text-align: center;
}

.example-calc {
    margin-bottom: 1rem;
}

.calc-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem 0;
    font-size: 1rem;
}

    .calc-row.total {
        border-top: 2px solid var(--sand-light);
        padding-top: 1rem;
        margin-top: 0.5rem;
        font-size: 1.2rem;
    }

.example-note {
    text-align: center;
    color: var(--chatterbox-black);
    font-size: 0.95rem;
    margin: 0;
    font-style: italic;
}

/* ============================================================================
   Final CTA Section
   ============================================================================ */
.cta-final-section {
    background: transparent;
    padding: var(--space-2xl) 0;
}

.cta-final-box {
    text-align: center;
    padding: 4rem 2rem;
    background: transparent;
}

    .cta-final-box h2 {
        color: white;
        font-size: 3rem;
    }

    .cta-final-box p {
        color: var(--chatterbox-black);
    }

/* ============================================================================
   Quote & Footer
   ============================================================================ */
.quote-section {
    background: white;
}

.main-quote {
    font-family: var(--font-display);
    font-size: 1.6rem;
    font-weight: 600;
    color: var(--chatterbox-ocean);
    line-height: 1.6;
    position: relative;
}

    .main-quote i {
        font-size: 3.5rem;
        color: var(--chatterbox-turquoise);
        display: block;
        margin-bottom: 1rem;
        opacity: 0.8;
    }

    .main-quote strong {
        color: var(--chatterbox-turquoise);
    }

/* Contact Section */
.contact-section {
    background: var(--sand-light);
}

.contact-heading {
    font-family: var(--font-display);
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--chatterbox-black);
    margin-bottom: 0.75rem;
}

.contact-text {
    color: rgba(12, 39, 48, 0.7);
    font-size: 1rem;
    margin-bottom: 0;
}

.contact-link {
    color: var(--chatterbox-turquoise);
    text-decoration: none;
    font-weight: 600;
    transition: color 0.3s ease;
}

    .contact-link:hover {
        color: var(--chatterbox-ocean);
        text-decoration: underline;
    }

.contact-email {
    color: var(--chatterbox-ocean);
    text-decoration: none;
    font-weight: 600;
    transition: color 0.3s ease;
}

    .contact-email:hover {
        color: var(--chatterbox-turquoise);
    }

.main-footer {
    background: var(--chatterbox-black);
    color: white;
}

.footer-brand {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 1.25rem;
    color: var(--sand-light);
}

    .footer-brand sup {
        color: var(--sand-light);
        font-size: 0.6rem;
        vertical-align: super;
        line-height: 1;
    }

.footer-brand-reg {
    font-family: var(--font-display);
    font-weight: 500;
    font-size: 1.25rem;
    color: var(--sand-light);
}

.footer-tagline {
    color: rgba(255,255,255,0.5);
    font-size: 0.9rem;
    margin-left: 0.75rem;
}

    .footer-tagline sup {
        font-size: 0.65em;
        vertical-align: super;
        line-height: 1;
    }

.footer-copy {
    color: rgba(255,255,255,0.4);
    font-size: 0.85rem;
}

    .footer-copy sup {
        font-size: 0.65em;
        vertical-align: super;
        line-height: 1;
    }

.footer-links {
    margin-left: 1rem;
}

    .footer-links a {
        color: var(--chatterbox-turquoise);
        font-size: 0.85rem;
        text-decoration: none;
        margin-left: 0.75rem;
        transition: color 0.3s ease;
    }

        .footer-links a:hover {
            color: var(--chatterbox-ocean);
            text-decoration: underline;
        }

/* Brochure Button */
.brochure-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    margin-left: 1rem;
    background: var(--chatterbox-turquoise);
    border: none;
    border-radius: 50%;
    color: var(--chatterbox-black);
    font-size: 1rem;
    cursor: pointer;
    transition: all 0.3s ease;
    vertical-align: middle;
}

    .brochure-btn:hover {
        background: var(--chatterbox-ocean);
        color: white;
        transform: scale(1.1);
        box-shadow: 0 4px 15px rgba(45, 212, 191, 0.4);
    }

.brochure-btn-info {
    background: var(--chatterbox-ocean);
    margin-left: 0.5rem;
}

    .brochure-btn-info:hover {
        background: var(--chatterbox-turquoise);
    }

/* ============================================================================
   Brochure Modal - FIT TO SCREEN (No external scroll)
   ============================================================================ */
.brochure-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(12, 39, 48, 0.92);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    z-index: 9999;
    display: none;
    opacity: 0;
    transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    /* Critical: no padding on overlay, handle spacing in container */
    padding: 0;
    margin: 0;
    overflow: hidden;
}

    .brochure-modal-overlay.active {
        display: flex;
        align-items: center;
        justify-content: center;
        opacity: 1;
    }

.brochure-modal-container {
    position: relative;
    /* Fit to screen with margins */
    width: calc(100vw - 32px);
    max-width: 720px;
    /* KEY: Use vh-based height that fits screen */
    height: calc(100vh - 32px);
    height: calc(100dvh - 32px);
    max-height: 800px;
    margin: 16px;
    background: rgba(255, 255, 255, 0.95);
    border-radius: 20px;
    box-shadow:
        0 0 0 1px rgba(45, 212, 191, 0.1),
        0 25px 80px rgba(0, 0, 0, 0.5),
        0 0 100px rgba(45, 212, 191, 0.15);
    animation: brochureSlideIn 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
    /* Flexbox for internal layout */
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

@keyframes brochureSlideIn {
    from {
        opacity: 0;
        transform: scale(0.92) translateY(30px);
    }
    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

/* Brochure Ambient Background */
.brochure-ambient {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    border-radius: 20px;
}

.brochure-blob {
    position: absolute;
    border-radius: 50%;
    filter: blur(80px);
}

.brochure-blob1 {
    width: 350px;
    height: 350px;
    background: rgba(45, 212, 191, 0.5);
    top: -100px;
    right: -100px;
}

.brochure-blob2 {
    width: 320px;
    height: 320px;
    background: rgba(34, 211, 238, 0.45);
    bottom: -100px;
    left: -100px;
}

.brochure-blob3 {
    width: 280px;
    height: 280px;
    background: rgba(45, 212, 191, 0.4);
    top: 30%;
    left: 20%;
}

.brochure-blob4 {
    width: 250px;
    height: 250px;
    background: rgba(34, 211, 238, 0.4);
    top: 5%;
    left: -80px;
}

.brochure-blob5 {
    width: 300px;
    height: 300px;
    background: rgba(45, 212, 191, 0.4);
    bottom: 10%;
    right: -80px;
}

.brochure-close-btn {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 36px;
    height: 36px;
    background: rgba(12, 39, 48, 0.9);
    border: 2px solid rgba(45, 212, 191, 0.3);
    border-radius: 50%;
    color: white;
    font-size: 1rem;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
}

    .brochure-close-btn:hover {
        background: var(--chatterbox-turquoise);
        border-color: var(--chatterbox-turquoise);
        transform: scale(1.1) rotate(90deg);
    }

.brochure-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    min-height: 0; /* Critical for flex overflow */
    position: relative;
    z-index: 1;
}

/* Brochure Header - Fixed at top */
.brochure-header {
    background: linear-gradient(135deg, #0C4A6E 0%, #0891B2 50%, #22D3EE 100%);
    padding: 1rem 1.25rem;
    text-align: center;
    position: relative;
    overflow: hidden;
    flex-shrink: 0;
    border-radius: 20px 20px 0 0;
}

    .brochure-header::before {
        content: '';
        position: absolute;
        top: -50%;
        right: -20%;
        width: 60%;
        height: 150%;
        background: radial-gradient(ellipse, rgba(255, 255, 255, 0.15) 0%, transparent 70%);
        pointer-events: none;
    }

.brochure-title {
    margin: 0 0 0.25rem 0;
    position: relative;
    z-index: 1;
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 0;
}

    .brochure-title .brand-text {
        font-size: 2rem;
        background: var(--grad-turquoise);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
    }

    .brochure-title .brand-reg {
        color: var(--chatterbox-turquoise);
        font-size: 0.9rem;
        font-weight: 600;
        vertical-align: super;
    }

.brochure-powered-by {
    color: var(--chatterbox-black);
    font-size: 0.7rem;
    font-weight: 500;
    margin: 0 0 0.5rem 0;
    position: relative;
    z-index: 1;
}

    .brochure-powered-by sup {
        font-size: 0.6em;
    }

.brochure-tagline {
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.85rem;
    margin: 0;
    line-height: 1.4;
    position: relative;
    z-index: 1;
}

/* Brochure Body - Scrollable middle section */
.brochure-body {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    min-height: 0; /* Critical for flex overflow */
    scrollbar-width: thin;
    scrollbar-color: var(--chatterbox-turquoise) rgba(12, 39, 48, 0.1);
    background: transparent;
}

    .brochure-body::-webkit-scrollbar {
        width: 6px;
    }

    .brochure-body::-webkit-scrollbar-track {
        background: rgba(12, 39, 48, 0.05);
    }

    .brochure-body::-webkit-scrollbar-thumb {
        background: var(--chatterbox-turquoise);
        border-radius: 3px;
    }

/* Brochure Sections - Compact */
.brochure-section {
    padding: 0.75rem 1.25rem;
    margin: 0.5rem 0.75rem;
    border-radius: 12px;
    background: transparent;
    box-shadow:
        0 6px 20px rgba(12, 39, 48, 0.12),
        0 3px 8px rgba(45, 212, 191, 0.15),
        0 0 0 1px rgba(45, 212, 191, 0.08);

}

.brochure-section-title {
    font-family: var(--font-display);
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--chatterbox-black);
    margin: 0 0 0.5rem 0;
    text-shadow: 0 1px 2px rgba(12, 39, 48, 0.1);
}

/* Why Choose Section */
.brochure-two-col {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 1rem;
    align-items: center;
}

.brochure-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

    .brochure-list li {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        padding: 0.35rem 0;
        color: var(--chatterbox-black);
        font-size: 0.8rem;
        border-bottom: 1px solid rgba(12, 39, 48, 0.06);
    }

        .brochure-list li:last-child {
            border-bottom: none;
        }

        .brochure-list li i {
            color: var(--chatterbox-turquoise);
            font-size: 0.95rem;
            width: 20px;
            text-align: center;
            flex-shrink: 0;
            filter: drop-shadow(0 2px 3px rgba(45, 212, 191, 0.3));
        }

.brochure-map-col {
    display: flex;
    justify-content: center;
    align-items: center;
}

.brochure-map {
    width: 100%;
    max-width: 200px;
    height: 140px;
    background: transparent;
    border-radius: 16px;
    border: 2px solid rgba(45, 212, 191, 0.3);
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    box-shadow:
        0 8px 24px rgba(12, 39, 48, 0.15),
        0 4px 12px rgba(45, 212, 191, 0.2);
}

    .brochure-map::after {
        content: '\F3E7';
        font-family: 'bootstrap-icons';
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        font-size: 2rem;
        color: var(--chatterbox-turquoise);
        filter: drop-shadow(0 3px 6px var(--chatterbox-black-80));
        z-index: 2;
    }

.brochure-map img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 0.25rem;
    position: relative;
    z-index: 1;
}

.brochure-map-placeholder {
    display: none;
    flex-direction: column;
    align-items: center;
    gap: 0.25rem;
    color: var(--chatterbox-black);
    font-size: 0.7rem;
    text-align: center;
}

    .brochure-map-placeholder i {
        font-size: 1.5rem;
        color: var(--chatterbox-turquoise);
    }

/* 3 Easy Steps - Compact horizontal */
.brochure-steps-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.5rem;
    margin-top: 0.35rem;
    background: transparent;
}

.brochure-step {
    text-align: center;
    padding: 0.6rem 0.4rem;
    background: transparent;
    border-radius: 10px;
    border: none;
    position: relative;
    box-shadow:
        0 6px 18px rgba(12, 39, 48, 0.15),
        0 3px 8px rgba(45, 212, 191, 0.2),
        0 0 0 1px rgba(45, 212, 191, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.brochure-step-number {
    position: absolute;
    top: -7px;
    left: 50%;
    transform: translateX(-50%);
    width: 18px;
    height: 18px;
    background: linear-gradient(135deg, var(--chatterbox-turquoise) 0%, var(--chatterbox-ocean) 100%);
    color: var(--chatterbox-black);
    font-weight: 700;
    font-size: 0.65rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.brochure-step-icon {
    font-size: 1.1rem;
    color: var(--chatterbox-turquoise);
    margin-bottom: 0.25rem;
    filter: drop-shadow(0 2px 4px rgba(45, 212, 191, 0.4));
}

.brochure-step p {
    margin: 0;
    font-size: 0.7rem;
    color: var(--chatterbox-black);
    line-height: 1.25;
}

/* Use Cases - Compact horizontal */
.brochure-use-cases-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
    margin-top: 0.35rem;
}

.brochure-use-case {
    text-align: center;
    padding: 0.6rem;
    background: transparent;
    border-radius: 10px;
    border: none;
    box-shadow:
        0 6px 18px rgba(12, 39, 48, 0.15),
        0 3px 8px rgba(45, 212, 191, 0.2),
        0 0 0 1px rgba(45, 212, 191, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

    .brochure-use-case i {
        font-size: 1.1rem;
        color: var(--chatterbox-turquoise);
        margin-bottom: 0.25rem;
        display: block;
        filter: drop-shadow(0 2px 4px rgba(45, 212, 191, 0.4));
    }

    .brochure-use-case h4 {
        margin: 0;
        font-size: 0.7rem;
        font-weight: 600;
        color: var(--chatterbox-black);
        line-height: 1.25;
        text-shadow: 0 1px 2px rgba(12, 39, 48, 0.08);
    }

/* Brochure CTA - Fixed at bottom */
.brochure-cta {
    background: linear-gradient(135deg, #0C4A6E 0%, #0891B2 50%, #22D3EE 100%);
    padding: 0.75rem 1.25rem;
    text-align: center;
    position: relative;
    overflow: hidden;
    flex-shrink: 0;
    border-radius: 0 0 20px 20px;
}

    .brochure-cta::before {
        content: '';
        position: absolute;
        top: -50%;
        left: -20%;
        width: 60%;
        height: 200%;
        background: radial-gradient(ellipse, rgba(255, 255, 255, 0.1) 0%, transparent 60%);
        pointer-events: none;
    }

    .brochure-cta p {
        color: white;
        font-size: 0.8rem;
        margin: 0 0 0.4rem 0;
        position: relative;
        z-index: 1;
    }

        .brochure-cta p strong {
            color: var(--chatterbox-turquoise);
        }

/* Brochure Info Modal - No CTA button, more body space */
.brochure-cta-info {
    padding: 0.5rem 1.25rem;
}

    .brochure-cta-info p {
        margin: 0;
    }

.brochure-modal-info .brochure-body {
    flex: 1;
}

.brochure-cta-btn {
    display: inline-flex;
    align-items: center;
    padding: 0.4rem 1.25rem;
    background: linear-gradient(135deg, var(--chatterbox-turquoise) 0%, var(--chatterbox-ocean) 100%);
    color: var(--chatterbox-black);
    border: none;
    border-radius: 50px;
    font-weight: 600;
    font-size: 0.8rem;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
    z-index: 1;
}

    .brochure-cta-btn:hover {
        background: linear-gradient(135deg, var(--chatterbox-ocean) 0%, #00b4d8 100%);
        color: white;
        transform: translateY(-2px);
    }

/* ============================================================================
   Brochure Responsive
   ============================================================================ */

/* Larger screens - allow bigger modal */
@media (min-height: 700px) {
    .brochure-modal-container {
        max-height: 680px;
    }

    .brochure-header {
        padding: 1.25rem 1.5rem;
    }

    .brochure-title {
        font-size: 1.75rem;
    }

    .brochure-tagline {
        font-size: 0.9rem;
    }

    .brochure-section {
        padding: 1rem 1.5rem;
    }

    .brochure-section-title {
        font-size: 1.05rem;
        margin-bottom: 0.65rem;
    }

    .brochure-list li {
        font-size: 0.85rem;
        padding: 0.45rem 0;
    }

    .brochure-map {
        max-width: 220px;
        height: 155px;
    }

    .brochure-map::after {
        font-size: 2.2rem;
    }

    .brochure-steps-grid {
        gap: 0.75rem;
    }

    .brochure-step {
        padding: 0.75rem 0.5rem;
    }

    .brochure-step-icon {
        font-size: 1.35rem;
    }

    .brochure-step p {
        font-size: 0.75rem;
    }

    .brochure-use-case {
        padding: 0.75rem;
    }

        .brochure-use-case i {
            font-size: 1.35rem;
        }

        .brochure-use-case h4 {
            font-size: 0.75rem;
        }

    .brochure-cta {
        padding: 1rem 1.5rem;
    }

        .brochure-cta p {
            font-size: 0.875rem;
        }

    .brochure-cta-btn {
        padding: 0.5rem 1.5rem;
        font-size: 0.85rem;
    }
}

/* Very tall screens */
@media (min-height: 850px) {
    .brochure-modal-container {
        max-height: 780px;
    }

    .brochure-header {
        padding: 1.5rem 2rem;
    }

    .brochure-title {
        font-size: 2rem;
        margin-bottom: 0.4rem;
    }

    .brochure-tagline {
        font-size: 1rem;
    }

    .brochure-section {
        padding: 1.25rem 2rem;
    }

    .brochure-section-title {
        font-size: 1.15rem;
        margin-bottom: 0.75rem;
    }

    .brochure-list li {
        font-size: 0.9rem;
        padding: 0.5rem 0;
        gap: 0.65rem;
    }

    .brochure-map {
        max-width: 240px;
        height: 170px;
    }

    .brochure-map::after {
        font-size: 2.5rem;
    }

    .brochure-steps-grid {
        gap: 1rem;
        margin-top: 0.5rem;
    }

    .brochure-step {
        padding: 1rem 0.65rem;
    }

    .brochure-step-number {
        width: 22px;
        height: 22px;
        font-size: 0.75rem;
        top: -9px;
    }

    .brochure-step-icon {
        font-size: 1.5rem;
        margin-bottom: 0.4rem;
    }

    .brochure-step p {
        font-size: 0.8rem;
    }

    .brochure-use-cases-grid {
        gap: 1rem;
        margin-top: 0.5rem;
    }

    .brochure-use-case {
        padding: 1rem;
    }

        .brochure-use-case i {
            font-size: 1.5rem;
            margin-bottom: 0.4rem;
        }

        .brochure-use-case h4 {
            font-size: 0.85rem;
        }

    .brochure-cta {
        padding: 1.25rem 2rem;
    }

        .brochure-cta p {
            font-size: 0.95rem;
            margin-bottom: 0.6rem;
        }

    .brochure-cta-btn {
        padding: 0.6rem 1.75rem;
        font-size: 0.9rem;
    }
}

/* Tablet - stack sections on narrow screens */
@media (max-width: 600px) {
    .brochure-modal-container {
        width: calc(100vw - 20px);
        height: calc(100vh - 20px);
        height: calc(100dvh - 20px);
        margin: 10px;
        border-radius: 16px;
    }

    .brochure-header {
        border-radius: 16px 16px 0 0;
    }

    .brochure-cta {
        border-radius: 0 0 16px 16px;
    }

    .brochure-two-col {
        grid-template-columns: 1fr;
        gap: 0.75rem;
    }

    .brochure-map-col {
        order: -1;
    }

    .brochure-map {
        max-width: 160px;
        height: 110px;
    }

    .brochure-map::after {
        font-size: 1.6rem;
    }

    .brochure-btn {
        width: 32px;
        height: 32px;
        font-size: 0.9rem;
        margin-left: 0.75rem;
    }
}

/* Short screens - extra compact */
@media (max-height: 550px) {
    .brochure-modal-container {
        width: calc(100vw - 16px);
        height: calc(100vh - 16px);
        height: calc(100dvh - 16px);
        margin: 8px;
        max-height: none;
        border-radius: 12px;
    }

    .brochure-header {
        padding: 0.65rem 1rem;
        border-radius: 12px 12px 0 0;
    }

    .brochure-title {
        font-size: 1.2rem;
        margin-bottom: 0.15rem;
    }

    .brochure-tagline {
        font-size: 0.7rem;
    }

    .brochure-section {
        padding: 0.5rem 1rem;
    }

    .brochure-section-title {
        font-size: 0.8rem;
        margin-bottom: 0.35rem;
    }

    .brochure-list li {
        font-size: 0.7rem;
        padding: 0.25rem 0;
    }

    .brochure-map {
        max-width: 120px;
        height: 85px;
    }

    .brochure-map::after {
        font-size: 1.3rem;
    }

    .brochure-steps-grid {
        gap: 0.35rem;
    }

    .brochure-step {
        padding: 0.4rem 0.25rem;
    }

    .brochure-step-number {
        width: 14px;
        height: 14px;
        font-size: 0.55rem;
        top: -5px;
    }

    .brochure-step-icon {
        font-size: 0.85rem;
        margin-bottom: 0.15rem;
    }

    .brochure-step p {
        font-size: 0.6rem;
    }

    .brochure-use-cases-grid {
        gap: 0.35rem;
    }

    .brochure-use-case {
        padding: 0.4rem;
    }

        .brochure-use-case i {
            font-size: 0.85rem;
            margin-bottom: 0.15rem;
        }

        .brochure-use-case h4 {
            font-size: 0.6rem;
        }

    .brochure-cta {
        padding: 0.5rem 1rem;
        border-radius: 0 0 12px 12px;
    }

        .brochure-cta p {
            font-size: 0.65rem;
            margin-bottom: 0.25rem;
        }

    .brochure-cta-btn {
        padding: 0.3rem 1rem;
        font-size: 0.65rem;
    }

    .brochure-close-btn {
        width: 28px;
        height: 28px;
        font-size: 0.8rem;
        top: 6px;
        right: 6px;
    }
}

/* ============================================================================
   Brochure Modal - Pain Points Variant
   Uses same base brochure styles — only adds red accents & pain-specific text
   ============================================================================ */
.brochure-btn-pain {
    background: var(--chatterbox-red);
    margin-left: 0.5rem;
}

    .brochure-btn-pain:hover {
        background: #d43a5a;
        box-shadow: 0 4px 15px rgba(236, 72, 106, 0.4);
    }

/* Pain modal - tighter header & footer */
.brochure-modal-pain .brochure-header {
    padding: 0.65rem 1.25rem;
}

.brochure-modal-pain .brochure-cta {
    padding: 0.5rem 1.25rem;
}

    .brochure-modal-pain .brochure-cta p {
        margin: 0 0 0.25rem 0;
    }

/* Pain modal - tighter spacing on all inherited brochure styles */
.brochure-modal-pain .brochure-section {
    padding: 0.5rem 1.1rem;
    margin: 0.35rem 0.75rem;
}

.brochure-modal-pain .brochure-section-title {
    font-size: 0.84rem;
    margin: 0 0 0.35rem 0;
}

.brochure-modal-pain .brochure-list li {
    font-size: 0.71rem;
    padding: 0.25rem 0;
}

.brochure-modal-pain .brochure-list li i {
    font-size: 0.85rem;
}

/* Empathy opening paragraph */
.pain-empathy-section {
    padding-top: 0.45rem;
    padding-bottom: 0.35rem;
}

.pain-empathy-text {
    font-size: 0.71rem;
    line-height: 1.5;
    color: rgba(12, 39, 48, 0.75);
    margin: 0;
    font-style: italic;
}

.pain-highlight {
    color: var(--chatterbox-red);
    font-style: normal;
}

/* Cost list - red icons */
.pain-cost-list li i,
.pain-icon-red {
    color: var(--chatterbox-red) !important;
    filter: drop-shadow(0 2px 3px rgba(236, 72, 106, 0.3)) !important;
}

.pain-cost-section {
    box-shadow:
        0 6px 20px rgba(236, 72, 106, 0.08),
        0 3px 8px rgba(236, 72, 106, 0.1),
        0 0 0 1px rgba(236, 72, 106, 0.06);
}

/* Transformation row - inline, compact */
.pain-transform-section {
    padding-top: 0.35rem;
    padding-bottom: 0.35rem;
}

.pain-transform-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
    font-size: 0.71rem;
    color: var(--chatterbox-black);
}

.pain-transform-before strong {
    color: var(--chatterbox-red);
    font-size: 1rem;
}

.pain-transform-after strong {
    color: var(--chatterbox-turquoise);
    font-size: 1rem;
}

.pain-transform-arrow {
    color: rgba(12, 39, 48, 0.3);
    font-size: 0.9rem;
}

/* Responsive - larger screens: loosen slightly */
@media (min-height: 700px) {
    .brochure-modal-pain .brochure-section {
        padding: 0.6rem 1.2rem;
        margin: 0.4rem 0.75rem;
    }

    .brochure-modal-pain .brochure-section-title {
        font-size: 0.9rem;
    }

    .brochure-modal-pain .brochure-list li {
        font-size: 0.76rem;
        padding: 0.3rem 0;
    }

    .pain-empathy-text {
        font-size: 0.76rem;
    }

    .pain-transform-row {
        font-size: 0.76rem;
    }

    .pain-transform-before strong,
    .pain-transform-after strong {
        font-size: 1.05rem;
    }
}

@media (min-height: 850px) {
    .brochure-modal-pain .brochure-section {
        padding: 0.7rem 1.35rem;
        margin: 0.45rem 0.75rem;
    }

    .brochure-modal-pain .brochure-section-title {
        font-size: 0.95rem;
        margin: 0 0 0.4rem 0;
    }

    .brochure-modal-pain .brochure-list li {
        font-size: 0.8rem;
        padding: 0.35rem 0;
    }

    .pain-empathy-text {
        font-size: 0.8rem;
        line-height: 1.55;
    }

    .pain-transform-row {
        font-size: 0.8rem;
        gap: 0.85rem;
    }

    .pain-transform-before strong,
    .pain-transform-after strong {
        font-size: 1.15rem;
    }
}

/* Short screens */
@media (max-height: 550px) {
    .brochure-modal-pain .brochure-section {
        padding: 0.35rem 0.9rem;
        margin: 0.25rem 0.5rem;
    }

    .brochure-modal-pain .brochure-section-title {
        font-size: 0.75rem;
        margin: 0 0 0.25rem 0;
    }

    .brochure-modal-pain .brochure-list li {
        font-size: 0.62rem;
        padding: 0.2rem 0;
    }

    .brochure-modal-pain .brochure-list li i {
        font-size: 0.75rem;
    }

    .pain-empathy-text {
        font-size: 0.6rem;
        line-height: 1.35;
    }

    .pain-empathy-section {
        padding-top: 0.25rem;
        padding-bottom: 0.2rem;
    }

    .pain-transform-row {
        font-size: 0.6rem;
        gap: 0.35rem;
    }

    .pain-transform-before strong,
    .pain-transform-after strong {
        font-size: 0.8rem;
    }

    .pain-transform-section {
        padding-top: 0.2rem;
        padding-bottom: 0.2rem;
    }
}

/* ============================================================================
   Modals
   ============================================================================ */
.modal-content.modal-dark {
    background: linear-gradient(165deg, #FFFFFF 0%, #FDFCFA 40%, #FBF8F3 100%);
    color: var(--chatterbox-black);
    border: 1px solid rgba(12, 39, 48, 0.08);
    border-radius: var(--radius-xl);
    box-shadow: 0 25px 60px rgba(12, 39, 48, 0.15);
}

.modal-content.modal-dark .modal-header {
    border-bottom: 1px solid rgba(12, 39, 48, 0.06);
    background: linear-gradient(135deg, rgba(236, 72, 106, 0.08) 0%, rgba(168, 85, 247, 0.05) 100%);
    border-radius: var(--radius-xl) var(--radius-xl) 0 0;
}

.modal-content.modal-dark .modal-title {
    color: var(--chatterbox-black);
}

.modal-content.modal-dark .modal-body {
    padding: 2rem;
}

.modal-content.modal-dark p,
.modal-content.modal-dark li {
    color: rgba(12, 39, 48, 0.8);
}

.example-box,
.quote-box {
    background: rgba(12, 39, 48, 0.04);
    border-left: 4px solid var(--chatterbox-ocean);
    padding: 1rem 1.5rem;
    border-radius: var(--radius-md);
    font-style: italic;
}

.solution-box {
    background: rgba(45, 212, 191, 0.08);
    border: 1px solid rgba(45, 212, 191, 0.25);
    border-radius: var(--radius-lg);
    padding: 1.5rem;
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--chatterbox-black);
}

.comparison-modal .wrong-way {
    background: rgba(239, 68, 68, 0.2);
    border-left: 4px solid var(--chatterbox-red);
    padding: 1rem;
    border-radius: var(--radius-md);
}

.comparison-modal .right-way {
    background: rgba(5, 150, 105, 0.2);
    border-left: 4px solid var(--chatterbox-turquoise);
    padding: 1rem;
    border-radius: var(--radius-md);
}

/* ============================================================================
   Utility Classes
   ============================================================================ */
.py-6 {
    padding-top: var(--space-2xl);
    padding-bottom: var(--space-2xl);
}

.z-2 {
    z-index: 2;
}

/* ============================================================================
   Responsive
   ============================================================================ */
@media (max-width: 1024px) {
    .hero-visual-container {
        height: 500px;
        margin-top: -20rem; /* Adjust this value as needed */
    }
}

    /* Responsive adjustments */
    @media (max-width: 992px) {
        .brand-text-hero {
            font-size: 2rem;
        }

        .brand-reg-hero {
            font-size: 1.15rem;
        }
    }

    @media (max-width: 768px) {
        .brand-text-hero {
            font-size: 1.75rem;
        }

        .brand-reg-hero {
            font-size: 1rem;
        }
    }

    @media (max-width: 991px) {
        .hero-title-xl {
            font-size: 2.5rem;
        }

        .hero-subtitle {
            font-size: 1.2rem;
        }

        .brand-text-hero {
            font-size: 1.2rem;
        }

        .brand-reg-hero {
            font-size: 0.7rem;
        }

        .section-title {
            font-size: 2.2rem;
        }

        .hero-visual-container {
            height: 400px;
            margin-top: 0;
        }

        .step-row {
            flex-direction: column;
            text-align: center;
        }

        .only-stat {
            font-size: 2.5rem;
        }

        .spacer-1 {
            height: 1.5rem;
        }

        .fact-label {
            font-size: 0.95rem;
        }
    }

    @media (max-width: 767px) {
        .hero-title-xl {
            font-size: 2rem;
        }

        .hero-cta {
            flex-direction: column;
        }

            .hero-cta .btn {
                width: 100%;
            }

        .stat-value {
            font-size: 3rem;
        }

        .impact-value {
            font-size: 1.8rem;
            flex-direction: column;
        }

        .price {
            font-size: 4rem;
        }

        .spacer-1 {
            height: 1rem;
        }
    }

    /* ============================================================================
   COMPARISON SECTION - Before/After Side by Side
   Add this to your chatterbox_broadcast.css
   ============================================================================ */

    .comparison-section-v2 {
        position: relative;
        padding: var(--space-2xl) 0;
        background: var(--grad-sand-light);
        overflow: hidden;
    }

        /* Animated background orbs - matches hero section style */
        .comparison-section-v2 .comp-bg-shape {
            position: absolute;
            border-radius: 50%;
            filter: blur(80px);
            pointer-events: none;
            opacity: 0.08;
        }

        .comparison-section-v2 .comp-bg-shape--1 {
            width: 500px;
            height: 500px;
            background: var(--chatterbox-red);
            top: -150px;
            left: -100px;
            animation: float 20s ease-in-out infinite;
        }

        .comparison-section-v2 .comp-bg-shape--2 {
            width: 400px;
            height: 400px;
            background: var(--chatterbox-ocean);
            bottom: -100px;
            right: -100px;
            animation: float 15s ease-in-out infinite reverse;
        }

        /* Section header */
        .comparison-section-v2 .comp-header {
            text-align: center;
            margin-bottom: var(--space-xl);
            position: relative;
            z-index: 1;
        }

            .comparison-section-v2 .comp-header h2 {
                font-family: var(--font-display);
                font-size: clamp(2rem, 5vw, 3rem);
                font-weight: 700;
                color: #fff;
                margin-bottom: var(--space-sm);
            }

            .comparison-section-v2 .comp-header p {
                color: rgba(255, 255, 255, 0.6);
                font-size: 1.15rem;
                max-width: 600px;
                margin: 0 auto;
            }

        /* Cards container */
        .comparison-section-v2 .comp-container {
            position: relative;
            z-index: 1;
        }

    /* Individual cards */
    .comp-card-v2 {
        background: rgba(255, 255, 255, 0.04);
        border-radius: var(--radius-xl);
        padding: var(--space-lg);
        height: 100%;
        backdrop-filter: blur(16px);
        -webkit-backdrop-filter: blur(16px);
        transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.4s ease;
        position: relative;
        overflow: hidden;
    }

        .comp-card-v2::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 4px;
            border-radius: var(--radius-xl) var(--radius-xl) 0 0;
        }

        .comp-card-v2:hover {
            transform: translateY(-8px);
        }

    /* Problem card specific */
    .comp-card-v2--problem {
        border: 1px solid rgba(239, 68, 68, 0.25);
    }

        .comp-card-v2--problem::before {
            background: var(--grad-red);
        }

        .comp-card-v2--problem:hover {
            box-shadow: 0 25px 60px rgba(239, 68, 68, 0.12);
        }

    /* Solution card specific */
    .comp-card-v2--solution {
        border: 1px solid rgba(20, 184, 166, 0.25);
    }

        .comp-card-v2--solution::before {
            background: var(--grad-turquoise);
        }

        .comp-card-v2--solution:hover {
            box-shadow: 0 25px 60px rgba(20, 184, 166, 0.12);
        }

    /* Card headers */
    .comp-card-v2__header {
        display: flex;
        align-items: center;
        gap: var(--space-sm);
        margin-bottom: var(--space-md);
        padding-bottom: var(--space-md);
        border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    }

    .comp-card-v2__icon {
        width: 56px;
        height: 56px;
        border-radius: var(--radius-md);
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.5rem;
        flex-shrink: 0;
    }

    .comp-card-v2--problem .comp-card-v2__icon {
        background: rgba(239, 68, 68, 0.15);
        color: var(--chatterbox-red);
    }

    .comp-card-v2--solution .comp-card-v2__icon {
        background: rgba(20, 184, 166, 0.15);
        color: var(--chatterbox-ocean);
    }

    .comp-card-v2__title {
        font-family: var(--font-display);
        font-size: 1.4rem;
        font-weight: 700;
        margin: 0;
    }

    .comp-card-v2--problem .comp-card-v2__title {
        color: var(--chatterbox-red);
    }

    .comp-card-v2--solution .comp-card-v2__title {
        color: var(--chatterbox-turquoise);
    }

    /* Stats row */
    .comp-stats-v2 {
        display: flex;
        gap: var(--space-md);
        margin-bottom: var(--space-md);
        flex-wrap: wrap;
    }

    .comp-stat-v2 {
        text-align: center;
        flex: 1;
        min-width: 80px;
        padding: var(--space-sm);
        background: rgba(255, 255, 255, 0.03);
        border-radius: var(--radius-md);
    }

    .comp-stat-v2__value {
        font-family: var(--font-display);
        font-size: 1.5rem;
        font-weight: 700;
        display: block;
        line-height: 1.2;
    }

    .comp-card-v2--problem .comp-stat-v2__value {
        color: var(--chatterbox-red);
    }

    .comp-card-v2--solution .comp-stat-v2__value {
        color: var(--chatterbox-turquoise);
    }

    .comp-stat-v2__label {
        font-size: 0.7rem;
        color: rgba(0, 0, 0, 0.5);
        text-transform: uppercase;
        letter-spacing: 0.08em;
        font-weight: 600;
    }

    /* List items */
    .comp-list-v2 {
        list-style: none;
        padding: 0;
        margin: 0;
    }

    .comp-list-v2__item {
        display: flex;
        align-items: flex-start;
        gap: var(--space-sm);
        padding: 0.875rem 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.05);
        opacity: 0;
        transform: translateX(-20px);
        animation: compSlideIn 0.5s ease forwards;
    }

        .comp-list-v2__item:last-child {
            border-bottom: none;
        }

        /* Staggered animation delays */
        .comp-list-v2__item:nth-child(1) {
            animation-delay: 0.1s;
        }

        .comp-list-v2__item:nth-child(2) {
            animation-delay: 0.15s;
        }

        .comp-list-v2__item:nth-child(3) {
            animation-delay: 0.2s;
        }

        .comp-list-v2__item:nth-child(4) {
            animation-delay: 0.25s;
        }

        .comp-list-v2__item:nth-child(5) {
            animation-delay: 0.3s;
        }

        .comp-list-v2__item:nth-child(6) {
            animation-delay: 0.35s;
        }

    @keyframes compSlideIn {
        to {
            opacity: 1;
            transform: translateX(0);
        }
    }

    .comp-list-v2__icon {
        width: 40px;
        height: 40px;
        border-radius: var(--radius-sm);
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.1rem;
        flex-shrink: 0;
    }

    .comp-card-v2--problem .comp-list-v2__icon {
        background: rgba(239, 68, 68, 0.1);
        color: var(--chatterbox-red);
    }

    .comp-card-v2--solution .comp-list-v2__icon {
        background: rgba(20, 184, 166, 0.1);
        color: var(--chatterbox-turquoise);
    }

    .comp-list-v2__content {
        flex: 1;
        min-width: 0;
    }

    .comp-list-v2__title {
        font-family: var(--font-body);
        font-weight: 700;
        color: rgba(0, 0, 0, 0.95);
        font-size: 0.95rem;
        margin-bottom: 2px;
    }

    .comp-list-v2__desc {
        font-family: var(--font-body);
        color: rgba(0, 0, 0, 0.55);
        font-size: 0.875rem;
        line-height: 1.5;
    }

    .comp-list-v2__badge {
        width: 22px;
        height: 22px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 0.7rem;
        color: white;
        font-weight: 700;
        flex-shrink: 0;
        margin-top: 2px;
    }

    .comp-card-v2--problem .comp-list-v2__badge {
        background: var(--grad-red);
    }

    .comp-card-v2--solution .comp-list-v2__badge {
        background: var(--grad-turquoise);
    }

    /* Center divider with VS badge */
    .comp-divider-v2 {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        z-index: 10;
        display: none;
    }

    @media (min-width: 992px) {
        .comp-divider-v2 {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 12px;
        }
    }

    .comp-divider-v2__line {
        width: 2px;
        height: 80px;
        background: linear-gradient(to bottom, transparent, rgba(255,255,255,0.15), transparent);
    }

    .comp-divider-v2__vs {
        width: 52px;
        height: 52px;
        border-radius: 50%;
        background: var(--grad-sand-light);
        display: flex;
        align-items: center;
        justify-content: center;
        font-family: var(--font-display);
        font-weight: 400;
        font-size: 0.9rem;
        color: var(--chatterbox-ocean);
        box-shadow: var(--glow-ocean);
    }

    /* Bottom impact stat */
    .comp-impact-v2 {
        margin-top: var(--space-xl);
        text-align: center;
        position: relative;
        z-index: 1;
    }

    .comp-impact-v2__box {
        display: inline-flex;
        align-items: center;
        gap: var(--space-lg);
        background: var(--grad-sand-light);
        backdrop-filter: blur(12px);
        border: 1px solid var(--chatterbox-ocean) !important;
        border-radius: var(--radius-full);
        padding: var(--space-sm) var(--space-lg);
        flex-wrap: wrap;
        justify-content: center;
    }

    .comp-impact-v2__item {
        display: flex;
        align-items: center;
        gap: var(--space-xs);
    }

    .comp-impact-v2__arrow {
        color: var(--chatterbox-ocean) !important;
        font-size: 1.5rem;
    }

    .comp-impact-v2__from {
        font-family: var(--font-display);
        font-size: 1.3rem;
        font-weight: 400; /* Changed from 700 */
        color: var(--chatterbox-red) !important; /* or turquoise */
    }

    .comp-impact-v2__to {
        font-family: var(--font-display);
        font-size: 1.3rem;
        font-weight: 400; /* Changed from 700 */
        color: var(--chatterbox-turquoise) !important; /* or turquoise */
    }

    .comp-impact-v2__label {
        font-size: 0.85rem;
        color: rgba(0, 0, 0, 0.6);
        font-weight: 400;
    }

    /* Responsive adjustments */
    @media (max-width: 991px) {
        .comparison-section-v2 {
            padding: var(--space-xl) 0;
        }

        .comp-card-v2 {
            padding: var(--space-md);
        }

            .comp-card-v2 + .comp-card-v2 {
                margin-top: var(--space-md);
            }

        .comp-impact-v2__box {
            flex-direction: column;
            gap: var(--space-sm);
            border-radius: var(--radius-lg);
            padding: var(--space-md);
        }
    }

    /* Impact summary on light backgrounds */
    .warm-texture .comp-impact-v2 {
        margin-top: var(--space-xl);
        text-align: center;
    }

    .warm-texture .comp-impact-v2__box {
        display: inline-flex;
        align-items: center;
        gap: var(--space-lg);
        background: white;
        border: 2px solid var(--sand-light);
        border-radius: var(--radius-full);
        padding: var(--space-sm) var(--space-lg);
        flex-wrap: wrap;
        justify-content: center;
        box-shadow: var(--shadow-card);
    }

    .warm-texture .comp-impact-v2__item {
        display: flex;
        align-items: center;
        gap: var(--space-xs);
    }

    .warm-texture .comp-impact-v2__arrow {
        color: var(--sand-light);
        font-size: 1.5rem;
    }

    .warm-texture .comp-impact-v2__from {
        font-family: var(--font-display);
        font-size: 1.3rem;
        font-weight: 700;
        color: var(--chatterbox-red);
    }

    .warm-texture .comp-impact-v2__to {
        font-family: var(--font-display);
        font-size: 1.3rem;
        font-weight: 700;
        color: var(--chatterbox-turquoise);
    }

    .warm-texture .comp-impact-v2__label {
        font-size: 0.85rem;
        color: var(--chatterbox-black);
        font-weight: 500;
    }

    @media (max-width: 991px) {
        .warm-texture .comp-impact-v2__box {
            flex-direction: column;
            gap: var(--space-sm);
            border-radius: var(--radius-lg);
            padding: var(--space-md);
        }
    }

    /* ===================================================
   AMBIENT BACKGROUND EFFECT
=================================================== */
    /* ===================================================
   CRITICAL AMBIENT BACKGROUND FIXES
=================================================== */

     /*Force ALL sections to be transparent*/
    .hero-section,
    .stats-section,
    .challenge-section,
    .unique-section,
    .how-it-works-section,
    .customers-section,
    .pricing-section,
    .cta-final-section,
    .quote-section {
        background: transparent !important;
    }

     /*Only keep warm texture on specific sections*/
    .warm-texture {
        background-color: var(--sand-light) !important;
    }

     /*Ambient background stays behind everything*/
    .ambient-background {
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        z-index: -1;
        opacity: 0; /* Start completely hidden */
        animation: fadeOut 8s ease-in-out forwards;
        animation-play-state: paused; /* Start paused, JS will start after delay */
        overflow: hidden;
        pointer-events: none;
    }

    .ambient-background.animating {
        opacity: 0.8;
        animation-play-state: running;
    }

     /*Ensure content is above ambient*/
    body {
        position: relative;
    }

    .container {
        position: relative;
        z-index: 1;
    }

     /*Navigation must be above everything*/
    #mainNav {
        z-index: 1050 !important;
    }

    .color-blob {
        position: absolute;
        border-radius: 50%;
        filter: blur(40px);
        opacity: 0;
        mix-blend-mode: screen;
        will-change: transform, opacity;
    }

    .blob1 {
        width: 60vw;
        height: 60vw;
        background: linear-gradient(135deg, #0891B2 0%, var(--chatterbox-ocean) 100%);
        top: -20%;
        left: -10%;
        animation: moveBlob1 8s ease-in-out forwards;
        animation-play-state: paused; /* Start paused */
    }

    .blob2 {
        width: 50vw;
        height: 50vw;
        background: #0C4A6E;  /* Deep ocean */
        bottom: -10%;
        right: -10%;
        animation: moveBlob2 8s ease-in-out forwards;
        animation-play-state: paused; /* Start paused */
    }

    .blob3 {
        width: 45vw;
        height: 45vw;
        background: var(--chatterbox-turquoise);
        top: 40%;
        right: 20%;
        animation: moveBlob3 8s ease-in-out forwards;
        animation-play-state: paused; /* Start paused */
    }

    .blob4 {
        width: 55vw;
        height: 55vw;
        background: linear-gradient(135deg, var(--chatterbox-turquoise) 0%, var(--chatterbox-ocean) 100%);
        bottom: 30%;
        left: 10%;
        animation: moveBlob4 8s ease-in-out forwards;
        animation-play-state: paused; /* Start paused */
    }

    /* When ambient is animating, start blob animations too */
    .ambient-background.animating .color-blob {
        animation-play-state: running;
    }

    @keyframes fadeOut {
        0% {
            opacity: 0;
        }

        20% {
            opacity: 1;
        }

        80% {
            opacity: 1;
        }

        100% {
            opacity: 0;
        }
    }

    @keyframes moveBlob1 {
        0% {
            transform: translate(0, 0) scale(0.8);
            opacity: 0;
        }

        20% {
            opacity: 0.5;
        }

        60% {
            transform: translate(10%, 20%) scale(1.2);
            opacity: 0.5;
        }

        100% {
            transform: translate(20%, 30%) scale(0.8);
            opacity: 0;
        }
    }

    @keyframes moveBlob2 {
        0% {
            transform: translate(0, 0) scale(0.8);
            opacity: 0;
        }

        20% {
            opacity: 0.5;
        }

        60% {
            transform: translate(-15%, -25%) scale(1.2);
            opacity: 0.5;
        }

        100% {
            transform: translate(-25%, -35%) scale(0.8);
            opacity: 0;
        }
    }

    @keyframes moveBlob3 {
        0% {
            transform: translate(0, 0) scale(0.8);
            opacity: 0;
        }

        20% {
            opacity: 0.5;
        }

        60% {
            transform: translate(-20%, 15%) scale(1.1);
            opacity: 0.5;
        }

        100% {
            transform: translate(-30%, 25%) scale(0.8);
            opacity: 0;
        }
    }

    @keyframes moveBlob4 {
        0% {
            transform: translate(0, 0) scale(0.8);
            opacity: 0;
        }

        20% {
            opacity: 0.5;
        }

        60% {
            transform: translate(25%, -15%) scale(1.1);
            opacity: 0.5;
        }

        100% {
            transform: translate(35%, -25%) scale(0.8);
            opacity: 0;
        }
    }

 /*===================================================
   MOBILE ADJUSTMENTS FOR AMBIENT BACKGROUND
=================================================== */

    @media (max-width: 600px) {
        .ambient-background {
            animation: none;
            opacity: 0.8;
        }

        .color-blob {
            filter: blur(30px);
        }

        .blob1 {
            width: 80vw;
            height: 80vw;
            top: -10%;
            left: -10%;
            animation: moveBlob1Mobile 8s ease-in-out forwards;
        }

        .blob2 {
            width: 70vw;
            height: 70vw;
            bottom: -10%;
            right: -10%;
            animation: moveBlob2Mobile 8s ease-in-out forwards;
        }

        .blob3 {
            width: 65vw;
            height: 65vw;
            top: 30%;
            right: 15%;
            animation: moveBlob3Mobile 8s ease-in-out forwards;
        }

        .blob4 {
            width: 75vw;
            height: 75vw;
            bottom: 20%;
            left: 5%;
            animation: moveBlob4Mobile 8s ease-in-out forwards;
        }

        @keyframes moveBlob1Mobile {
            0% {
                transform: translate(0, 0) scale(0.8);
                opacity: 0;
            }

            20% {
                opacity: 0.7;
            }

            60% {
                transform: translate(10%, 20%) scale(1.2);
                opacity: 0.7;
            }

            100% {
                transform: translate(20%, 30%) scale(0.8);
                opacity: 0;
            }
        }

        @keyframes moveBlob2Mobile {
            0% {
                transform: translate(0, 0) scale(0.8);
                opacity: 0;
            }

            20% {
                opacity: 0.7;
            }

            60% {
                transform: translate(-15%, -25%) scale(1.2);
                opacity: 0.7;
            }

            100% {
                transform: translate(-25%, -35%) scale(0.8);
                opacity: 0;
            }
        }

        @keyframes moveBlob3Mobile {
            0% {
                transform: translate(0, 0) scale(0.8);
                opacity: 0;
            }

            20% {
                opacity: 0.7;
            }

            60% {
                transform: translate(-20%, 15%) scale(1.1);
                opacity: 0.7;
            }

            100% {
                transform: translate(-30%, 25%) scale(0.8);
                opacity: 0;
            }
        }

        @keyframes moveBlob4Mobile {
            0% {
                transform: translate(0, 0) scale(0.8);
                opacity: 0;
            }

            20% {
                opacity: 0.7;
            }

            60% {
                transform: translate(25%, -15%) scale(1.1);
                opacity: 0.7;
            }

            100% {
                transform: translate(35%, -25%) scale(0.8);
                opacity: 0;
            }
        }
    }

/* ===================================================
   SAFE CONTINUOUS AMBIENT PATCH (NO KEYFRAME REPLACEMENT)
   Paste at the VERY END of your CSS
=================================================== */

/* Ambient background - visible from start, blob animations start after delay */
.ambient-background {
    animation: none !important;
    opacity: 0.85 !important; /* Visible from start */
}

/* Keep your existing moveBlobX keyframes,
   but make them loop forever + alternate direction */
.blob1 {
    animation: moveBlob1 9s ease-in-out infinite alternate, blobOpacity1 3s ease-in-out infinite !important;
    animation-play-state: paused;
}

.blob2 {
    animation: moveBlob2 11s ease-in-out infinite alternate, blobOpacity2 3.5s ease-in-out infinite !important;
    animation-delay: 0s, -1.5s !important;
    animation-play-state: paused;
}

.blob3 {
    animation: moveBlob3 10s ease-in-out infinite alternate, blobOpacity3 3.25s ease-in-out infinite !important;
    animation-delay: 0s, -2.5s !important;
    animation-play-state: paused;
}

.blob4 {
    animation: moveBlob4 13s ease-in-out infinite alternate, blobOpacity4 4s ease-in-out infinite !important;
    animation-delay: 0s, -3.5s !important;
    animation-play-state: paused;
}

.ambient-background.animating .blob1,
.ambient-background.animating .blob2,
.ambient-background.animating .blob3,
.ambient-background.animating .blob4 {
    animation-play-state: running;
}

/* IMPORTANT:
   Your original keyframes fade opacity back to 0 at the end.
   These opacity animations come SECOND, so they win for opacity
   while moveBlobX still drives transform movement. */
@keyframes blobOpacity1 {
    0%, 100% {
        opacity: 0.55;
    }

    50% {
        opacity: 0.42;
    }
}

@keyframes blobOpacity2 {
    0%, 100% {
        opacity: 0.35;
    }

    50% {
        opacity: 0.26;
    }
}

@keyframes blobOpacity3 {
    0%, 100% {
        opacity: 0.45;
    }

    50% {
        opacity: 0.34;
    }
}

@keyframes blobOpacity4 {
    0%, 100% {
        opacity: 0.30;
    }

    50% {
        opacity: 0.22;
    }
}

/* Mobile: keep your existing mobile motion keyframes,
   just make them loop + keep opacity alive */
@media (max-width: 600px) {
    .ambient-background {
        opacity: 0.85 !important; /* Visible from start on mobile too */
        animation: none !important;
    }

    .blob1 {
        animation: moveBlob1Mobile 9s ease-in-out infinite alternate, blobOpacity1 3s ease-in-out infinite !important;
        animation-play-state: paused;
    }

    .blob2 {
        animation: moveBlob2Mobile 11s ease-in-out infinite alternate, blobOpacity2 3.5s ease-in-out infinite !important;
        animation-play-state: paused;
    }

    .blob3 {
        animation: moveBlob3Mobile 10s ease-in-out infinite alternate, blobOpacity3 3.25s ease-in-out infinite !important;
        animation-play-state: paused;
    }

    .blob4 {
        animation: moveBlob4Mobile 13s ease-in-out infinite alternate, blobOpacity4 4s ease-in-out infinite !important;
        animation-play-state: paused;
    }

    .ambient-background.animating .blob1,
    .ambient-background.animating .blob2,
    .ambient-background.animating .blob3,
    .ambient-background.animating .blob4 {
        animation-play-state: running;
    }
}

.blob1 {
    background: radial-gradient(circle at 50% 50%, #22d3ee 0%, var(--chatterbox-ocean) 58%, transparent 75% ) !important;
}

.blob2 {
    background: radial-gradient(circle at 40% 35%, #0C4A6E 0%, rgba(12, 74, 110, 0) 75% ) !important;
}

.blob3 {
    background: radial-gradient(circle at 30% 30%, var(--chatterbox-turquoise) 0%, rgba(0,0,0,0) 72% ) !important;
}

.blob4 {
    background: radial-gradient(circle at 60% 40%, var(--chatterbox-turquoise) 0%, var(--chatterbox-ocean) 60%, transparent 78% ) !important;
}


/* Tryout Modal - Fit to Screen */
.tryout-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(12, 39, 48, 0.92);
    backdrop-filter: blur(12px);
    z-index: 9999;
    display: none;
    opacity: 0;
    transition: opacity 0.4s ease;
    overflow: hidden;
    padding: 0;
}

    .tryout-modal-overlay.active {
        display: flex;
        align-items: center;
        justify-content: center;
        opacity: 1;
        padding: 16px;
    }

.tryout-modal-content {
    width: calc(100vw - 32px);
    max-width: 1100px;
    height: calc(100vh - 32px);
    height: calc(100dvh - 32px);
    max-height: 700px;
    position: relative;
}

#tryoutIframe {
    width: 100%;
    height: 100%;
    border: none;
    border-radius: 20px;
    background: white;
    box-shadow: 0 16px 48px rgba(10, 22, 40, 0.16);
}

.tryout-modal-close {
    position: fixed;
    top: 1rem;
    right: 1rem;
    background: rgba(255, 255, 255, 0.2);
    border: none;
    color: white;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    font-size: 1.3rem;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10000;
    backdrop-filter: blur(10px);
}

    .tryout-modal-close:hover {
        background: rgba(255, 255, 255, 0.3);
        transform: rotate(90deg) scale(1.1);
    }

/* Taller screens - allow bigger modal */
@media (min-height: 750px) {
    .tryout-modal-content {
        max-height: 780px;
    }
}

@media (min-height: 900px) {
    .tryout-modal-content {
        max-height: 850px;
    }
}

/* Wider screens */
@media (min-width: 1400px) {
    .tryout-modal-content {
        max-width: 1200px;
    }
}

@media (max-width: 768px) {
    .tryout-modal-overlay.active {
        padding: 10px;
    }

    .tryout-modal-content {
        width: calc(100vw - 20px);
        height: calc(100vh - 20px);
        height: calc(100dvh - 20px);
        max-height: none;
    }

    #tryoutIframe {
        border-radius: 16px;
    }

    .tryout-modal-close {
        width: 38px;
        height: 38px;
        font-size: 1.1rem;
        top: 0.75rem;
        right: 0.75rem;
    }
}

@media (max-width: 576px) {
    .tryout-modal-overlay.active {
        padding: 6px;
    }

    .tryout-modal-content {
        width: calc(100vw - 12px);
        height: calc(100vh - 12px);
        height: calc(100dvh - 12px);
    }

    #tryoutIframe {
        border-radius: 14px;
    }

    .tryout-modal-close {
        width: 34px;
        height: 34px;
        font-size: 1rem;
        top: 0.5rem;
        right: 0.5rem;
    }

    .hero-buttons {
        flex-direction: column;
        align-items: center;
    }
}

/* Short screens - ensure full fit */
@media (max-height: 600px) {
    .tryout-modal-overlay.active {
        padding: 8px;
    }

    .tryout-modal-content {
        height: calc(100vh - 16px);
        height: calc(100dvh - 16px);
        max-height: none;
    }
}

.hero-buttons {
    display: flex;
    gap: 1.25rem;
    justify-content: center;
    flex-wrap: wrap;
}

/* Signin Modal (Direct - No Iframe) */
.signin-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(12, 39, 48, 0.92);
    backdrop-filter: blur(12px);
    z-index: 9999;
    display: none;
    opacity: 0;
    transition: opacity 0.4s ease;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

.signin-modal-overlay.active {
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 1;
    padding: 24px;
    min-height: 100vh;
    min-height: 100dvh; /* Dynamic viewport height for mobile */
}

.signin-modal-content {
    width: 100%;
    max-width: 440px;
    max-height: calc(100vh - 48px);
    max-height: calc(100dvh - 48px); /* Dynamic viewport height for mobile */
    position: relative;
    display: flex;
    flex-direction: column;
}

.signin-modal-close {
    position: fixed;
    top: 1.5rem;
    right: 1.5rem;
    background: rgba(255, 255, 255, 0.2);
    border: none;
    color: white;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    font-size: 1.5rem;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10000;
    backdrop-filter: blur(10px);
}

.signin-modal-close:hover {
    background: rgba(255, 255, 255, 0.3);
    transform: rotate(90deg) scale(1.1);
}

/* Signin Container */
.signin-container {
    background: white;
    border-radius: var(--radius-xl);
    width: 100%;
    box-shadow: 0 16px 48px rgba(10, 22, 40, 0.16);
    overflow: hidden;
    overflow-y: auto;
    position: relative;
    max-height: calc(100vh - 48px);
    max-height: calc(100dvh - 48px); /* Dynamic viewport height for mobile */
    display: flex;
    flex-direction: column;
}

.signin-container::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--grad-turquoise);
}

/* Signin Header */
.signin-header {
    background: var(--grad-turquoise);
    padding: 1rem 1.5rem 0.85rem;
    text-align: center;
    flex-shrink: 0;
}

.signin-header h2 {
    font-family: var(--font-display);
    color: white;
    font-size: 1.3rem;
    font-weight: 400;
    margin: 0;
}

.signin-header p {
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.75rem;
    margin: 0.2rem 0 0;
    font-weight: 500;
}

/* Signin Body */
.signin-body {
    padding: 1rem 1.5rem 1.25rem;
    flex: 1;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

/* View Panels */
.signin-view-panel {
    display: none;
    animation: signinFadeIn 0.3s ease;
}

.signin-view-panel.active {
    display: block;
}

@keyframes signinFadeIn {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

/* SSO Buttons */
.signin-sso-buttons {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-bottom: 0.85rem;
}

.btn-sso {
    background: white;
    color: #333;
    border: 2px solid #E5E7EB;
    border-radius: var(--radius-full);
    padding: 0.55rem 1rem;
    font-weight: 600;
    font-size: 0.8rem;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    transition: all 0.3s ease;
    width: 100%;
    font-family: var(--font-body);
}

.btn-sso:hover {
    background: #F9FAFB;
    border-color: #D1D5DB;
    transform: translateY(-1px);
    box-shadow: 0 4px 20px rgba(10, 22, 40, 0.08);
}

.btn-sso svg, .btn-sso img {
    width: 18px;
    height: 18px;
}

.btn-sso.btn-apple {
    background: #000;
    color: #fff;
    border-color: #000;
}

.btn-sso.btn-apple:hover {
    background: #1a1a1a;
    border-color: #333;
}

.btn-sso.btn-microsoft {
    background: #2F2F2F;
    color: #fff;
    border-color: #2F2F2F;
}

.btn-sso.btn-microsoft:hover {
    background: #404040;
    border-color: #505050;
}

/* Signin Divider */
.signin-divider {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin: 0.75rem 0;
}

.signin-divider-line {
    flex: 1;
    height: 1px;
    background: #E0F2FE;
}

.signin-divider-text {
    font-size: 0.7rem;
    color: var(--chatterbox-black);
    opacity: 0.5;
    font-weight: 600;
}

/* Signin Tabs */
.signin-tabs {
    display: flex;
    gap: 0.35rem;
    margin-bottom: 0.75rem;
    background: #F3F4F6;
    border-radius: var(--radius-full);
    padding: 3px;
}

.signin-tab {
    flex: 1;
    background: transparent;
    border: none;
    padding: 0.45rem 0.75rem;
    font-size: 0.8rem;
    font-weight: 600;
    color: #6B7280;
    border-radius: var(--radius-full);
    cursor: pointer;
    transition: all 0.3s ease;
    font-family: var(--font-body);
}

.signin-tab.active {
    background: white;
    color: var(--chatterbox-black);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.signin-tab:hover:not(.active) {
    color: var(--chatterbox-black);
}

/* Tab Content */
.signin-tab-content {
    display: none;
}

.signin-tab-content.active {
    display: block;
}

/* Form Controls */
.signin-form-group {
    margin-bottom: 0.6rem;
}

.signin-form-label {
    font-weight: 600;
    color: var(--chatterbox-black);
    font-size: 0.75rem;
    display: flex;
    align-items: center;
    gap: 0.35rem;
    margin-bottom: 0.35rem;
}

.signin-form-control {
    border: 2px solid #E0F2FE;
    border-radius: var(--radius-md);
    padding: 0.6rem 0.85rem;
    font-size: 0.875rem;
    transition: all 0.3s ease;
    background: #FDFBFF;
    width: 100%;
    font-family: var(--font-body);
    outline: none;
}

.signin-form-control:focus {
    border-color: var(--chatterbox-turquoise);
    box-shadow: 0 0 0 0.15rem rgba(45, 212, 191, 0.15);
    background: white;
}

.signin-form-control.is-invalid {
    border-color: var(--chatterbox-red);
    background: linear-gradient(135deg, #FEF2F4 0%, white 100%);
}

.signin-form-hint {
    font-size: 0.65rem;
    color: var(--chatterbox-black);
    opacity: 0.6;
    display: flex;
    align-items: center;
    gap: 0.25rem;
    margin-top: 0.25rem;
}

/* SSO Welcome Message */
.sso-welcome-message {
    background: linear-gradient(135deg, #E0F2FE 0%, #F0FDFA 100%);
    border-radius: var(--radius-md);
    padding: 0.85rem;
    border: 2px solid #BAE6FD;
    text-align: center;
    margin-bottom: 1rem;
    font-size: 0.85rem;
    color: var(--chatterbox-black);
    font-weight: 500;
}

/* Email-First Welcome Message */
.emailfirst-welcome-message {
    background: linear-gradient(135deg, #DCFCE7 0%, #F0FDFA 100%);
    border-radius: var(--radius-md);
    padding: 0.85rem;
    border: 2px solid #86EFAC;
    text-align: center;
    margin-bottom: 1rem;
    font-size: 0.85rem;
    color: var(--chatterbox-black);
    font-weight: 500;
}

.emailfirst-welcome-message .text-success {
    color: #22C55E !important;
}

/* Verification Code */
.signin-verification-wrapper {
    background: linear-gradient(135deg, #F0FDFA 0%, #E0F2FE 100%);
    border-radius: var(--radius-md);
    padding: 0.85rem;
    border: 2px solid #BAE6FD;
    text-align: center;
    margin-bottom: 0.75rem;
}

.signin-verification-input {
    text-align: center;
    font-size: 1.4rem;
    font-weight: 700;
    letter-spacing: 0.35rem;
    font-family: var(--font-display);
    border: 2px solid #E0F2FE;
    border-radius: var(--radius-md);
    padding: 0.5rem;
    width: 100%;
    background: white;
    outline: none;
    transition: all 0.3s ease;
}

.signin-verification-input:focus {
    border-color: var(--chatterbox-turquoise);
    box-shadow: 0 0 0 0.15rem rgba(45, 212, 191, 0.15);
}

.signin-verification-input.is-valid {
    border-color: #0D9488;
    background: linear-gradient(135deg, #F0FDFA 0%, white 100%);
}

.signin-verification-input.is-invalid {
    border-color: var(--chatterbox-red);
}

/* Phone Input with Country Prefix */
.phone-input-wrapper {
    display: flex;
    align-items: stretch;
    border: 1px solid #D1D5DB;
    border-radius: var(--radius-md);
    overflow: hidden;
    transition: all 0.2s ease;
    background: white;
}

.phone-input-wrapper:focus-within {
    border-color: var(--chatterbox-turquoise);
    box-shadow: 0 0 0 3px rgba(45, 212, 191, 0.15);
}

.phone-input-wrapper.is-invalid {
    border-color: var(--chatterbox-red);
}

.phone-input-wrapper.is-valid {
    border-color: #0D9488;
}

.phone-country-prefix {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.5rem 0.6rem;
    background: linear-gradient(135deg, #F8FAFC 0%, #F1F5F9 100%);
    border-right: 1px solid #E2E8F0;
    font-weight: 600;
    font-size: 0.9rem;
    color: #374151;
    white-space: nowrap;
    user-select: none;
}

.phone-country-prefix .sa-flag {
    width: 20px;
    height: 14px;
    border-radius: 2px;
    box-shadow: 0 1px 2px rgba(0,0,0,0.1);
    flex-shrink: 0;
}

.phone-input-field {
    flex: 1;
    border: none;
    padding: 0.6rem 0.75rem;
    font-size: 0.95rem;
    font-family: var(--font-body);
    outline: none;
    background: transparent;
    min-width: 0;
}

.phone-input-field::placeholder {
    color: #9CA3AF;
}

/* Signin Buttons */
.btn-signin {
    border: none;
    border-radius: var(--radius-full);
    padding: 0.65rem 1.25rem;
    font-weight: 700;
    font-size: 0.85rem;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    transition: all 0.3s ease;
    width: 100%;
    font-family: var(--font-body);
}

.btn-signin-primary {
    background: var(--grad-turquoise);
    color: white;
    box-shadow: 0 4px 20px rgba(10, 22, 40, 0.08);
}

.btn-signin-primary:hover:not(:disabled) {
    transform: translateY(-1px);
    box-shadow: 0 8px 24px rgba(20, 184, 166, 0.4), 0 4px 12px rgba(45, 212, 191, 0.3);
}

.btn-signin:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none !important;
}

/* Status Messages */
.signin-status-msg {
    padding: 0.5rem 0.75rem;
    border-radius: var(--radius-sm);
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-weight: 500;
    font-size: 0.75rem;
    margin-bottom: 0.6rem;
}

.signin-status-success {
    background: linear-gradient(135deg, #D4EDDA 0%, #C3E6CB 100%);
    color: #155724;
    border: 1px solid #B8DACD;
}

.signin-status-error {
    background: linear-gradient(135deg, #F8D7DA 0%, #F5C6CB 100%);
    color: #721C24;
    border: 1px solid #F1B0B7;
}

.signin-status-info {
    background: linear-gradient(135deg, #D1ECF1 0%, #BEE5EB 100%);
    color: #0C5460;
    border: 1px solid #B8DAFF;
}

/* Spinner */
.signin-spinner {
    width: 1rem;
    height: 1rem;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-top-color: white;
    border-radius: 50%;
    animation: signinSpin 0.8s linear infinite;
    display: inline-block;
}

@keyframes signinSpin {
    to { transform: rotate(360deg); }
}

/* Resend Timer */
.signin-resend-wrapper {
    text-align: center;
    margin-top: 0.6rem;
}

.signin-resend-timer {
    font-size: 0.75rem;
    color: var(--chatterbox-black);
    opacity: 0.6;
}

.btn-text {
    background: transparent;
    border: none;
    color: var(--chatterbox-turquoise);
    font-weight: 600;
    font-size: 0.75rem;
    cursor: pointer;
    padding: 0.35rem;
    transition: all 0.3s ease;
    font-family: var(--font-body);
}

.btn-text:hover {
    text-decoration: underline;
}

/* Footer */
.signin-footer {
    text-align: center;
    padding-top: 0.75rem;
    border-top: 1px solid #E0F2FE;
    margin-top: 0.85rem;
}

.signin-footer p {
    font-size: 0.8rem;
    color: var(--chatterbox-black);
    opacity: 0.7;
    margin: 0;
}

.signin-footer a {
    color: var(--chatterbox-turquoise);
    font-weight: 700;
    text-decoration: none;
    transition: all 0.3s ease;
}

.signin-footer a:hover {
    text-decoration: underline;
}

/* Back link */
.signin-back-link {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    color: var(--chatterbox-black);
    opacity: 0.6;
    font-size: 0.75rem;
    font-weight: 600;
    cursor: pointer;
    margin-bottom: 0.6rem;
    transition: all 0.2s ease;
    background: none;
    border: none;
    padding: 0;
    font-family: var(--font-body);
}

.signin-back-link:hover {
    opacity: 1;
    color: var(--chatterbox-turquoise);
}

/* ========== ACCOUNT SELECTION (MULTI-ACCOUNT PHONE) ========== */
.account-selection-list {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}

.account-selection-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    border: 2px solid rgba(0, 0, 0, 0.08);
    border-radius: var(--radius-md);
    background: white;
    cursor: pointer;
    transition: all 0.2s ease;
    font-family: var(--font-body);
}

.account-selection-item:hover {
    border-color: var(--chatterbox-turquoise);
    background: rgba(45, 212, 191, 0.04);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}

.account-selection-item .account-icon {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--grad-turquoise);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    flex-shrink: 0;
}

.account-selection-item .account-details {
    flex: 1;
    min-width: 0;
}

.account-selection-item .account-username {
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--chatterbox-black);
}

.account-selection-item .account-email {
    font-size: 0.8rem;
    color: #888;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.account-selection-item .account-arrow {
    color: #ccc;
    font-size: 1rem;
    flex-shrink: 0;
    transition: color 0.2s;
}

.account-selection-item:hover .account-arrow {
    color: var(--chatterbox-turquoise);
}

/* ========== SIGNUP PROGRESS STEPS ========== */
.signup-progress {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    margin-bottom: 1.25rem;
    padding: 0.5rem 0;
}

.signup-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
}

.signup-step-number {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #E5E7EB;
    color: #6B7280;
    font-weight: 700;
    font-size: 0.85rem;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.signup-step span {
    font-size: 0.7rem;
    font-weight: 600;
    color: #6B7280;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.signup-step.active .signup-step-number {
    background: var(--grad-turquoise);
    color: white;
    box-shadow: 0 4px 12px rgba(13, 148, 136, 0.3);
}

.signup-step.active span {
    color: var(--chatterbox-turquoise);
}

.signup-step.completed .signup-step-number {
    background: #10B981;
    color: white;
}

.signup-step.completed span {
    color: #10B981;
}

.signup-step-line {
    width: 40px;
    height: 3px;
    background: #E5E7EB;
    margin: 0 0.5rem;
    margin-bottom: 1.25rem;
    border-radius: 2px;
    transition: all 0.3s ease;
}

.signup-step-line.active {
    background: linear-gradient(90deg, #10B981, var(--chatterbox-turquoise));
}

.signup-step-line.completed {
    background: #10B981;
}

/* Tablet responsive */
@media (max-width: 768px) {
    .signin-modal-overlay.active {
        padding: 16px;
    }

    .signin-modal-content {
        max-height: calc(100vh - 32px);
        max-height: calc(100dvh - 32px);
    }

    .signin-container {
        max-height: calc(100vh - 32px);
        max-height: calc(100dvh - 32px);
    }
}

/* Mobile responsive */
@media (max-width: 576px) {
    .signin-modal-overlay.active {
        padding: 12px;
        align-items: center;
    }

    .signin-modal-content {
        max-width: 100%;
        max-height: calc(100vh - 24px);
        max-height: calc(100dvh - 24px);
    }

    .signin-container {
        border-radius: 16px;
        max-height: calc(100vh - 24px);
        max-height: calc(100dvh - 24px);
    }

    .signin-body {
        padding: 0.85rem 1rem 1rem;
    }

    .signin-header {
        padding: 0.85rem 1rem 0.7rem;
        border-radius: 16px 16px 0 0;
    }

    .signin-header h2 {
        font-size: 1.15rem;
    }

    .signin-header p {
        font-size: 0.7rem;
    }

    .signin-modal-close {
        top: 0.5rem;
        right: 0.5rem;
        width: 36px;
        height: 36px;
        font-size: 1.1rem;
    }
}

/* Extra small mobile (iPhone SE, etc.) */
@media (max-width: 375px) {
    .signin-header {
        padding: 0.75rem 0.85rem 0.6rem;
    }

    .signin-header h2 {
        font-size: 1.1rem;
    }

    .signin-header p {
        font-size: 0.65rem;
    }

    .signin-body {
        padding: 0.75rem 0.85rem 0.85rem;
    }

    .btn-sso {
        padding: 0.5rem 0.75rem;
        font-size: 0.75rem;
        gap: 0.5rem;
    }

    .btn-sso svg {
        width: 16px;
        height: 16px;
    }

    .signin-sso-buttons {
        gap: 0.4rem;
    }

    .signin-divider {
        margin: 0.6rem 0;
    }

    .signin-divider-text {
        font-size: 0.65rem;
    }

    .signin-tabs {
        margin-bottom: 0.6rem;
    }

    .signin-tab {
        padding: 0.4rem 0.6rem;
        font-size: 0.75rem;
    }

    .signin-form-label {
        font-size: 0.7rem;
    }

    .signin-form-control {
        padding: 0.5rem 0.75rem;
        font-size: 0.8rem;
    }

    .signin-form-hint {
        font-size: 0.6rem;
    }

    .btn-signin {
        padding: 0.55rem 1rem;
        font-size: 0.8rem;
    }

    .signin-footer {
        margin-top: 0.65rem;
        padding-top: 0.6rem;
    }

    .signin-footer p {
        font-size: 0.75rem;
    }
}

/* Landscape mobile - ensure modal doesn't get too tall */
@media (max-height: 500px) and (orientation: landscape) {
    .signin-modal-overlay.active {
        padding: 8px;
        align-items: center;
    }

    .signin-modal-content {
        max-height: calc(100vh - 16px);
        max-height: calc(100dvh - 16px);
    }

    .signin-container {
        max-height: calc(100vh - 16px);
        max-height: calc(100dvh - 16px);
    }

    .signin-header {
        padding: 0.6rem 1rem;
    }

    .signin-header h2 {
        font-size: 1rem;
    }

    .signin-header p {
        display: none;
    }

    .signin-body {
        padding: 0.6rem 1rem;
    }

    .signin-sso-buttons {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 0.4rem;
        margin-bottom: 0.5rem;
    }

    .btn-sso {
        flex: 1 1 calc(33% - 0.3rem);
        min-width: 100px;
        padding: 0.4rem 0.5rem;
        font-size: 0.7rem;
    }

    .signin-divider {
        margin: 0.5rem 0;
    }

    .signin-footer {
        margin-top: 0.5rem;
        padding-top: 0.5rem;
    }
}

/* Demo Modal Styles */
.demo-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(12, 39, 48, 0.92);
    backdrop-filter: blur(12px);
    z-index: 9999;
    display: none;
    opacity: 0;
    transition: opacity 0.4s ease;
    padding: 24px;
}

    .demo-modal-overlay.active {
        display: grid;
        place-items: start center;
        opacity: 1;
        padding-top: 24px;
        overflow-y: auto;
    }

.demo-modal-container {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    width: min(1800px, calc(100vw - 48px));
    max-height: calc(100vh - 84px);
    max-height: calc(100dvh - 84px);
    position: relative;
}

/* Campaign Type Toggle - positioned at top */
.campaign-type-toggle {
    display: flex;
    gap: 0.75rem;
    justify-content: center;
    background: rgba(0, 0, 0, 0.3);
    padding: 0.4rem;
    border-radius: 16px;
    align-self: center;
    margin-top: 0;
}

.campaign-type-btn {
    background: transparent;
    border: 2px solid transparent;
    color: rgba(255, 255, 255, 0.7);
    padding: 0.6rem 1.5rem;
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.5rem;
    text-align: left;
    white-space: nowrap;
}

.campaign-type-btn i {
    font-size: 1.1rem;
}

.campaign-type-btn span {
    font-weight: 700;
    font-size: 0.85rem;
}

.campaign-type-btn small {
    font-size: 0.65rem;
    opacity: 0.7;
    margin-left: 0.25rem;
}

.campaign-type-btn:hover {
    background: rgba(255, 255, 255, 0.1);
    color: white;
}

.campaign-type-btn.active {
    background: rgba(255, 255, 255, 0.15);
    border-color: var(--chatterbox-turquoise);
    color: white;
}

.campaign-type-btn.active[data-type="transactional"] {
    border-color: var(--chatterbox-ocean);
    box-shadow: 0 0 20px rgba(34, 211, 238, 0.3);
}

.campaign-type-btn.active[data-type="direct-marketing"] {
    border-color: #A855F7;
    box-shadow: 0 0 20px rgba(168, 85, 247, 0.3);
}

.campaign-type-btn.active[data-type="direct-marketing"] i {
    color: #C084FC;
}

/* Demo content wrapper for horizontal layout */
.demo-content-wrapper {
    display: flex;
    gap: 1rem;
    flex: 1;
}

.demo-switcher {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    min-width: 170px;
    max-width: 180px;
}

.demo-switch-btn {
    background: rgba(255, 255, 255, 0.1);
    border: 2px solid rgba(255, 255, 255, 0.2);
    color: white;
    padding: 0.85rem 1rem;
    border-radius: 14px;
    cursor: pointer;
    transition: all 0.3s ease;
    font-weight: 600;
    font-size: 0.8rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    backdrop-filter: blur(10px);
    position: relative;
    overflow: hidden;
}

    .demo-switch-btn::before {
        content: '';
        position: absolute;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100%;
        background: linear-gradient(90deg, transparent, rgba(255,255,255,0.1), transparent);
        transition: left 0.5s ease;
    }

    .demo-switch-btn:hover::before {
        left: 100%;
    }

    .demo-switch-btn i {
        font-size: 1.1rem;
    }

    .demo-switch-btn:hover {
        background: rgba(255, 255, 255, 0.15);
        border-color: rgba(255, 255, 255, 0.3);
        transform: translateX(3px);
    }

    .demo-switch-btn.active {
        background: var(--grad-turquoise);
        border-color: var(--chatterbox-turquoise);
        box-shadow: 0 8px 24px rgba(20, 184, 166, 0.4), 0 3px 10px rgba(45, 212, 191, 0.3);
        transform: translateX(3px);
    }

        .demo-switch-btn.active::after {
            content: '';
            position: absolute;
            left: 0;
            top: 50%;
            transform: translateY(-50%);
            width: 3px;
            height: 50%;
            background: white;
            border-radius: 0 3px 3px 0;
            animation: activeIndicator 0.3s ease-out;
        }

@keyframes activeIndicator {
    from {
        height: 0%;
    }

    to {
        height: 60%;
    }
}

#demoIframe {
    flex: 1;
    border: none;
    border-radius: 28px;
    background: white;
    height: calc(100vh - 140px);
    height: calc(100dvh - 140px);
    min-height: 550px;
    max-height: 990px;
    box-shadow: 0 16px 48px rgba(10, 22, 40, 0.16);
}

.demo-modal-close {
    position: fixed;
    top: 1.5rem;
    right: 1.5rem;
    background: rgba(255, 255, 255, 0.2);
    border: none;
    color: white;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    font-size: 1.5rem;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10000;
    backdrop-filter: blur(10px);
}

    .demo-modal-close:hover {
        background: rgba(255, 255, 255, 0.3);
        transform: rotate(90deg) scale(1.1);
    }

@media (max-width: 1200px) {
    .demo-modal-container {
        flex-direction: column;
    }

    .demo-content-wrapper {
        flex-direction: column;
    }

    .campaign-type-toggle {
        flex-direction: row;
        gap: 0.5rem;
        padding: 0.35rem;
    }

    .campaign-type-btn {
        padding: 0.6rem 1rem;
    }

    .campaign-type-btn i {
        font-size: 1rem;
    }

    .campaign-type-btn span {
        font-size: 0.75rem;
    }

    .campaign-type-btn small {
        font-size: 0.55rem;
        display: none;
    }

    .demo-switcher {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        min-width: auto;
        max-width: none;
        gap: 0.5rem;
        padding-bottom: 0.5rem;
    }

    .demo-switch-btn {
        flex-shrink: 0;
        padding: 0.75rem 1rem;
        font-size: 0.8rem;
    }

        .demo-switch-btn:hover,
        .demo-switch-btn.active {
            transform: translateY(-3px);
        }

    #demoIframe {
        min-height: 660px;
        height: 101vh;
        max-height: none;
    }
}

/* iPad Pro and similar tablet widths (portrait mode) */
@media (max-width: 1024px) {
    .demo-modal-overlay {
        padding: 16px;
    }

    .demo-modal-container {
        width: calc(100vw - 32px);
    }

    .tryout-modal-overlay.active {
        padding: 16px;
    }

    .tryout-modal-content {
        max-width: calc(100vw - 32px);
    }

    #tryoutIframe {
        border-radius: 20px;
    }

    #demoIframe {
        border-radius: 20px;
    }
}

@media (max-width: 576px) {
    .demo-modal-overlay {
        padding: 0.5rem;
        padding-top: 3rem;
    }

    .campaign-type-toggle {
        gap: 0.35rem;
        padding: 0.25rem;
    }

    .campaign-type-btn {
        padding: 0.5rem 0.75rem;
    }

    .campaign-type-btn i {
        font-size: 0.9rem;
    }

    .campaign-type-btn span {
        font-size: 0.65rem;
    }

    .campaign-type-btn small {
        display: none;
    }

    .demo-switcher {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 0.4rem;
    }

    .demo-switch-btn {
        padding: 0.65rem 0.85rem;
        font-size: 0.7rem;
        text-align: center;
        justify-content: center;
    }

        .demo-switch-btn i {
            font-size: 0.95rem;
        }

    #demoIframe {
        min-height: 600px;
        height: 117vh;
        max-height: none;
    }
}

/* DARK MODE - DISABLED (always light mode) */
/* Entire block commented out to enforce light-only theme



















































































































































































































































































































































































































































































































































End of disabled dark mode block */

/* ============================================================================
   Partners / Backed By Section
   ============================================================================ */
.partners-section {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(20, 184, 166, 0.03) 100%);
    border-top: 1px solid rgba(20, 184, 166, 0.1);
    border-bottom: 1px solid rgba(20, 184, 166, 0.1);
    padding: 3rem 0;
}

.partners-label {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--ocean-deep);
    text-transform: uppercase;
    letter-spacing: 0.15em;
    margin-bottom: 2rem;
    opacity: 0.7;
}

.partners-logos {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 2rem 3rem;
}

.partners-logos img {
    height: 64px;
    width: auto;
    object-fit: contain;
    opacity: 0.4;
    filter: grayscale(100%);
    transition: all 0.4s ease;
}

.partners-logos img:hover {
    opacity: 1;
    filter: grayscale(0%);
    transform: scale(1.05);
}

/* Responsive adjustments for partners */
@media (max-width: 992px) {
    .partners-logos {
        gap: 1.5rem 2.5rem;
    }

    .partners-logos img {
        height: 64px;
    }
}

@media (max-width: 768px) {
    .partners-section {
        padding: 2rem 0;
    }

    .partners-label {
        font-size: 0.7rem;
        margin-bottom: 1.5rem;
    }

    .partners-logos {
        gap: 1.25rem 2rem;
    }

    .partners-logos img {
        height: 48px;
    }
}

@media (max-width: 576px) {
    .partners-logos {
        gap: 1rem 1.5rem;
    }

    .partners-logos img {
        height: 48px;
    }
}


/* ============================================================
   FAQ MODAL — Left Nav + Accordion Content
   ============================================================ */

.brochure-btn-faq {
    background: var(--chatterbox-purple);
    color: white;
}

.brochure-btn-faq:hover {
    background: #9333EA;
    color: white;
}

.faq-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(12, 39, 48, 0.88);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    z-index: 9999;
    display: none;
    opacity: 0;
    transition: opacity 0.35s ease;
}

.faq-modal-overlay.active {
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 1;
}

.faq-modal-container {
    display: flex;
    flex-direction: column;
    width: 85%;
    max-height: 90vh;
    max-height: 90dvh;
    background: white;
    border-radius: 28px;
    overflow: hidden;
    box-shadow: 0 16px 48px rgba(10, 22, 40, 0.18);
    animation: faqSlideIn 0.35s ease-out;
}

@keyframes faqSlideIn {
    from { opacity: 0; transform: scale(0.96) translateY(12px); }
    to   { opacity: 1; transform: scale(1) translateY(0); }
}

/* ---- Header ---- */

.faq-modal-header {
    background: linear-gradient(135deg, #0D9488 0%, #14B8A6 50%, #2DD4BF 100%);
    padding: 1.25rem 1.75rem;
    color: white;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-shrink: 0;
    gap: 1rem;
}

.faq-header-left h2 {
    font-family: 'DM Serif Display', serif;
    font-size: 1.3rem;
    margin: 0;
    font-weight: 400;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.faq-header-left h2 i {
    font-size: 1.4rem;
}

.faq-subtitle {
    font-family: 'Raleway', sans-serif;
    font-size: 0.85rem;
    opacity: 0.85;
    margin: 0.25rem 0 0;
}

.faq-header-actions {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    flex-shrink: 0;
}

.faq-nav-toggle {
    display: none;
    background: rgba(255, 255, 255, 0.2);
    border: none;
    color: white;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    font-size: 1.2rem;
    cursor: pointer;
    transition: background 0.2s;
    align-items: center;
    justify-content: center;
}

.faq-nav-toggle:hover {
    background: rgba(255, 255, 255, 0.35);
}

.faq-modal-close {
    background: rgba(255, 255, 255, 0.2);
    border: none;
    color: white;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    font-size: 1.1rem;
    cursor: pointer;
    transition: all 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
}

.faq-modal-close:hover {
    background: rgba(255, 255, 255, 0.35);
    transform: rotate(90deg) scale(1.1);
}

/* ---- Main Layout ---- */

.faq-main {
    display: flex;
    flex: 1;
    overflow: hidden;
    min-height: 0;
    position: relative;
}

/* ---- Left Navigation ---- */

.faq-nav {
    width: 260px;
    flex-shrink: 0;
    overflow-y: auto;
    padding: 0.75rem 0;
    background: #F8FAFC;
    border-right: 1px solid #E2E8F0;
}

.faq-nav-item {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.7rem 1.25rem;
    cursor: pointer;
    color: var(--chatterbox-black);
    text-decoration: none;
    font-family: 'Raleway', sans-serif;
    font-size: 0.88rem;
    font-weight: 500;
    transition: all 0.2s;
    border-left: 3px solid transparent;
    user-select: none;
}

.faq-nav-item:hover {
    background: rgba(45, 212, 191, 0.08);
    color: #0D9488;
}

.faq-nav-item.active {
    background: rgba(45, 212, 191, 0.12);
    border-left-color: var(--chatterbox-turquoise);
    color: #0D9488;
    font-weight: 600;
}

.faq-nav-icon {
    font-size: 1.05rem;
    flex-shrink: 0;
    width: 1.4rem;
    text-align: center;
}

.faq-nav-label {
    flex: 1;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.faq-nav-count {
    font-size: 0.72rem;
    background: rgba(45, 212, 191, 0.15);
    color: #0D9488;
    padding: 0.1rem 0.5rem;
    border-radius: 10px;
    font-weight: 600;
    flex-shrink: 0;
}

/* ---- Scrollable Content ---- */

.faq-content {
    flex: 1;
    overflow-y: auto;
    padding: 1.5rem 2rem 2rem;
    scroll-behavior: smooth;
}

.faq-section {
    margin-bottom: 2rem;
}

.faq-section:last-child {
    margin-bottom: 1rem;
}

.faq-section-title {
    font-family: 'DM Serif Display', serif;
    font-size: 1.1rem;
    color: var(--chatterbox-black);
    margin: 0 0 0.75rem;
    padding-bottom: 0.65rem;
    border-bottom: 2px solid rgba(45, 212, 191, 0.2);
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 400;
}

.faq-section-icon {
    font-size: 1.15rem;
}

/* ---- Accordion Items ---- */

.faq-item {
    border: 1px solid #E2E8F0;
    border-radius: 12px;
    margin-bottom: 0.5rem;
    overflow: hidden;
    transition: border-color 0.2s, box-shadow 0.2s;
    cursor: pointer;
}

.faq-item:hover {
    border-color: rgba(45, 212, 191, 0.4);
}

.faq-item.open {
    border-color: var(--chatterbox-turquoise);
    box-shadow: 0 2px 8px rgba(45, 212, 191, 0.1);
}

.faq-question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.9rem 1.15rem;
    font-family: 'Raleway', sans-serif;
    font-size: 0.92rem;
    font-weight: 600;
    color: var(--chatterbox-black);
    gap: 1rem;
}

.faq-question span {
    flex: 1;
}

.faq-chevron {
    transition: transform 0.3s ease;
    font-size: 0.82rem;
    color: #94A3B8;
    flex-shrink: 0;
}

.faq-item.open .faq-chevron {
    transform: rotate(180deg);
    color: var(--chatterbox-turquoise);
}

.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s ease, padding 0.35s ease;
    padding: 0 1.15rem;
}

.faq-item.open .faq-answer {
    max-height: 600px;
    padding: 0 1.15rem 1rem;
}

.faq-answer p {
    font-family: 'Raleway', sans-serif;
    font-size: 0.88rem;
    color: #475569;
    line-height: 1.7;
    margin: 0 0 0.5rem;
}

.faq-answer p:last-child {
    margin-bottom: 0;
}

.faq-answer ul,
.faq-answer ol {
    font-family: 'Raleway', sans-serif;
    font-size: 0.88rem;
    color: #475569;
    line-height: 1.7;
    margin: 0.25rem 0 0;
    padding-left: 1.5rem;
}

.faq-answer li {
    margin-bottom: 0.2rem;
}

/* ---- Badges ---- */

.faq-badge {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.2rem 0.6rem;
    border-radius: 6px;
    margin-right: 0.4rem;
    vertical-align: middle;
    letter-spacing: 0.03em;
}

.faq-badge-soon {
    background: rgba(249, 115, 22, 0.12);
    color: #EA580C;
}

.faq-badge-yes {
    background: rgba(45, 212, 191, 0.15);
    color: #0D9488;
}

/* ---- FAQ Modal Responsive ---- */

@media (max-width: 768px) {
    .faq-modal-container {
        width: 95%;
        max-height: 95vh;
        max-height: 95dvh;
        border-radius: 20px;
    }

    .faq-modal-header {
        padding: 1rem 1.25rem;
    }

    .faq-header-left h2 {
        font-size: 1.1rem;
    }

    .faq-subtitle {
        font-size: 0.78rem;
    }

    .faq-nav-toggle {
        display: flex;
    }

    .faq-nav {
        display: none;
        position: absolute;
        top: 0;
        left: 0;
        width: 260px;
        height: 100%;
        z-index: 10;
        background: white;
        box-shadow: 4px 0 20px rgba(0, 0, 0, 0.15);
        padding-top: 0.5rem;
    }

    .faq-nav.open {
        display: block;
    }

    .faq-content {
        padding: 1rem 1.25rem 1.25rem;
    }

    .faq-question {
        font-size: 0.88rem;
        padding: 0.8rem 1rem;
    }

    .faq-answer {
        padding: 0 1rem;
    }

    .faq-item.open .faq-answer {
        padding: 0 1rem 0.85rem;
    }

    .faq-answer p,
    .faq-answer ul,
    .faq-answer ol {
        font-size: 0.84rem;
    }

    .faq-section-title {
        font-size: 1rem;
    }
}

@media (max-width: 480px) {
    .faq-modal-header {
        padding: 0.85rem 1rem;
    }

    .faq-header-left h2 {
        font-size: 1rem;
    }

    .faq-subtitle {
        display: none;
    }

    .faq-nav {
        width: 220px;
    }

    .faq-content {
        padding: 0.85rem 1rem 1rem;
    }
}


/* ===== Legal Modals (Terms & Privacy) ===== */

.legal-consent-text {
    font-size: 0.8rem;
    color: var(--chatterbox-black);
    opacity: 0.7;
    text-align: center;
    margin-bottom: 1rem;
    line-height: 1.5;
}

.legal-consent-text i {
    color: var(--chatterbox-turquoise);
    font-size: 0.9rem;
    margin-right: 0.3rem;
    vertical-align: middle;
}

.legal-link {
    color: var(--chatterbox-turquoise);
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s ease;
}

.legal-link:hover {
    text-decoration: underline;
    color: #0D9488;
}

.legal-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(12, 39, 48, 0.92);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    z-index: 10001;
    display: none;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.legal-modal-overlay.active {
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 1;
    padding: 24px;
}

.legal-modal-container {
    background: white;
    border-radius: var(--radius-xl);
    width: 100%;
    max-width: 640px;
    max-height: calc(100vh - 48px);
    max-height: calc(100dvh - 48px);
    display: flex;
    flex-direction: column;
    box-shadow: 0 16px 48px rgba(10, 22, 40, 0.16);
    overflow: hidden;
    animation: legalModalIn 0.3s ease;
}

@keyframes legalModalIn {
    from { opacity: 0; transform: scale(0.95) translateY(10px); }
    to   { opacity: 1; transform: scale(1) translateY(0); }
}

.legal-modal-header {
    background: linear-gradient(135deg, #0C4A6E 0%, #0891B2 50%, #22D3EE 100%);
    padding: 1.25rem 1.5rem;
    color: white;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-shrink: 0;
}

.legal-modal-header h3 {
    font-family: 'DM Serif Display', Georgia, serif;
    font-size: 1.3rem;
    font-weight: 400;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.legal-modal-close {
    background: rgba(255, 255, 255, 0.2);
    border: none;
    color: white;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    font-size: 1.2rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    backdrop-filter: blur(5px);
    flex-shrink: 0;
}

.legal-modal-close:hover {
    background: rgba(255, 255, 255, 0.3);
    transform: rotate(90deg) scale(1.1);
}

.legal-modal-body {
    padding: 1.5rem;
    overflow-y: auto;
    flex: 1;
    -webkit-overflow-scrolling: touch;
}

.legal-modal-body h2 {
    font-family: 'Fraunces', serif;
    font-weight: 600;
    font-size: 1.15rem;
    color: #0C2730;
    margin-top: 1.5rem;
    margin-bottom: 0.75rem;
    padding-bottom: 0.4rem;
    border-bottom: 2px solid #2DD4BF;
}

.legal-modal-body h2:first-child {
    margin-top: 0;
}

.legal-modal-body h3 {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 600;
    font-size: 0.95rem;
    color: #0C2730;
    margin-top: 1rem;
    margin-bottom: 0.5rem;
}

.legal-modal-body p,
.legal-modal-body li {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.88rem;
    color: #334155;
    line-height: 1.7;
}

.legal-modal-body ul,
.legal-modal-body ol {
    padding-left: 1.25rem;
}

.legal-modal-body ul li,
.legal-modal-body ol li {
    margin-bottom: 0.35rem;
}

.legal-modal-body a {
    color: #22D3EE;
}

.legal-modal-body a:hover {
    color: #2DD4BF;
}

.legal-effective-date {
    background: linear-gradient(135deg, rgba(45, 212, 191, 0.1) 0%, rgba(34, 211, 238, 0.1) 100%);
    padding: 0.75rem 1rem;
    border-radius: 8px;
    border-left: 3px solid #2DD4BF;
    margin-bottom: 1.25rem;
    font-size: 0.85rem;
}

.legal-effective-date p {
    margin: 0;
    font-weight: 500;
}

.legal-highlight-box {
    background: linear-gradient(135deg, rgba(236, 72, 106, 0.1) 0%, rgba(236, 72, 106, 0.05) 100%);
    padding: 1rem 1.25rem;
    border-radius: 10px;
    border-left: 4px solid #EC486A;
    margin: 1rem 0;
}

.legal-highlight-box p {
    margin: 0;
}

@media (max-width: 576px) {
    .legal-modal-overlay.active {
        padding: 8px;
    }
    .legal-modal-container {
        max-height: calc(100vh - 16px);
        max-height: calc(100dvh - 16px);
        border-radius: 20px;
    }
    .legal-modal-header {
        padding: 1rem 1.25rem;
    }
    .legal-modal-header h3 {
        font-size: 1.1rem;
    }
    .legal-modal-body {
        padding: 1rem;
    }
}

/* DARK MODE ADDITIONAL - DISABLED (always light mode) */
/* Entire block commented out to enforce light-only theme



































































































































































































































End of disabled dark mode additional block */
