:root {
    color-scheme: light dark;
    
    /* Theme Container Max Width */
    --theme-container-max-width: 1440px;

    /* ============================================
       DEFAULT THEME VARIABLE
       ============================================ */
    
    /* Default Context */
    --default-bg-color: light-dark(#FFFFFF, #2A2A2A);
    --default-text-color: light-dark(#2A2A2A, #FFFFFF);
    --default-link-color: light-dark(#2A2A2A, #FFFFFF);
    --default-border-color: light-dark(#2A2A2A, #FFFFFF);
    
    /* Primary Context */
    --default-primary-bg-color: light-dark(#2A2A2A, #FFFFFF);
    --default-primary-text-color: light-dark(#FFFFFF, #2A2A2A);
    --default-primary-link-color: var(--default-link-color);
    --default-primary-border-color: light-dark(#2A2A2A, #FFFFFF);
    
    /* Secondary Context */
    --default-secondary-bg-color: var(--default-bg-color);
    --default-secondary-text-color: var(--default-text-color);
    --default-secondary-link-color: var(--default-link-color);
    --default-secondary-border-color: var(--default-border-color);

    /* Accent Colors */
    --default-accent-1-color: light-dark(#E3F2FD, #1A3A6B);
    --default-accent-2-color: light-dark(#FFF9D2, #7A6000);
    --default-accent-3-color: light-dark(#FFD6E0, #7A1040);
    --default-accent-4-color: light-dark(#E8F5E9, #1A4D2E);

    /* ============================================
       DEFAULT HOVER VARIABLE
       ============================================ */
    
    /* Default Context */
    --default-hover-bg-color: light-dark(
        color-mix(in srgb, var(--default-bg-color) 90%, black),
        color-mix(in srgb, var(--default-bg-color) 90%, white)
    );
    --default-hover-text-color: light-dark(
        color-mix(in srgb, var(--default-text-color) 90%, white),
        color-mix(in srgb, var(--default-text-color) 90%, black)
    );
    --default-hover-link-color: light-dark(
        color-mix(in srgb, var(--default-link-color) 70%, white),
        color-mix(in srgb, var(--default-link-color) 90%, black)
    );
    --default-hover-border-color: light-dark(
        color-mix(in srgb, var(--default-border-color) 90%, white),
        color-mix(in srgb, var(--default-border-color) 90%, black)
    );
    
    /* Primary Context */
    --default-primary-hover-bg-color: light-dark(
        color-mix(in srgb, var(--default-primary-bg-color) 90%, white),
        color-mix(in srgb, var(--default-primary-bg-color) 90%, black)
    );
    --default-primary-hover-text-color: light-dark(
        color-mix(in srgb, var(--default-primary-text-color) 90%, black),
        color-mix(in srgb, var(--default-primary-text-color) 90%, white)
    );
    --default-primary-hover-link-color: light-dark(
        color-mix(in srgb, var(--default-primary-link-color) 90%, black),
        color-mix(in srgb, var(--default-primary-link-color) 90%, white)
    );
    --default-primary-hover-border-color: light-dark(
        color-mix(in srgb, var(--default-primary-border-color) 90%, white),
        color-mix(in srgb, var(--default-primary-border-color) 90%, black)
    );
    
    /* Secondary Context */
    --default-secondary-hover-bg-color: light-dark(
        color-mix(in srgb, var(--default-secondary-bg-color) 90%, white),
        color-mix(in srgb, var(--default-secondary-bg-color) 90%, black)
    );
    --default-secondary-hover-text-color: light-dark(
        color-mix(in srgb, var(--default-secondary-text-color) 90%, black),
        color-mix(in srgb, var(--default-secondary-text-color) 90%, white)
    );
    --default-secondary-hover-link-color: light-dark(
        color-mix(in srgb, var(--default-secondary-link-color) 90%, white),
        color-mix(in srgb, var(--default-secondary-link-color) 90%, black)
    );
    --default-secondary-hover-border-color: light-dark(
        color-mix(in srgb, var(--default-secondary-border-color) 90%, white),
        color-mix(in srgb, var(--default-secondary-border-color) 90%, black)
    );
    
    /* ============================================
       HIGHLIGHT THEME VARIABLE
       ============================================ */
    
    /* Default Context (Highlight) */
    --highlight-bg-color: light-dark(#2A2A2A, #FFFFFF);
    --highlight-text-color: light-dark(#FFFFFF, #2A2A2A);
    --highlight-link-color: light-dark(#FFFFFF, #2A2A2A);
    --highlight-border-color: light-dark(#FFFFFF, #2A2A2A);
    
    /* Primary Context (Highlight) */
    --highlight-primary-bg-color: light-dark(#FFFFFF, #2A2A2A);
    --highlight-primary-text-color: light-dark(#2A2A2A, #FFFFFF);
    --highlight-primary-link-color: var(--highlight-link-color);
    --highlight-primary-border-color: light-dark(#FFFFFF, #2A2A2A);
    
    /* Secondary Context (Highlight) */
    --highlight-secondary-bg-color: var(--highlight-bg-color);
    --highlight-secondary-text-color: var(--highlight-text-color);
    --highlight-secondary-link-color: var(--highlight-link-color);
    --highlight-secondary-border-color: var(--highlight-border-color);

    /* Accent Colors (Highlight) */
    --highlight-accent-1-color: light-dark(#234FEB, #5B7FFF);
    --highlight-accent-2-color: light-dark(#FFC300, #FFD966);
    --highlight-accent-3-color: light-dark(#D6336C, #FF7BAD);
    --highlight-accent-4-color: light-dark(#257F4F, #57B37F);

    /* ============================================
       BACKGROUND COLOR LIGHTER & DARKER VARIABLES
       ============================================ */

    /* default bg color */
    --default-bg-color-lighter-10: color-mix(in srgb, var(--default-bg-color) 90%, white);
    --default-bg-color-lighter-20: color-mix(in srgb, var(--default-bg-color) 80%, white);
    --default-bg-color-lighter-30: color-mix(in srgb, var(--default-bg-color) 70%, white);
    --default-bg-color-lighter-40: color-mix(in srgb, var(--default-bg-color) 60%, white);
    --default-bg-color-lighter-50: color-mix(in srgb, var(--default-bg-color) 50%, white);
    --default-bg-color-lighter-60: color-mix(in srgb, var(--default-bg-color) 40%, white);
    --default-bg-color-lighter-70: color-mix(in srgb, var(--default-bg-color) 30%, white);
    --default-bg-color-lighter-80: color-mix(in srgb, var(--default-bg-color) 20%, white);
    --default-bg-color-lighter-90: color-mix(in srgb, var(--default-bg-color) 10%, white);
    --default-bg-color-lighter-100: color-mix(in srgb, var(--default-bg-color) 0%, white);
    --default-bg-color-darker-10: color-mix(in srgb, var(--default-bg-color) 90%, black);
    --default-bg-color-darker-20: color-mix(in srgb, var(--default-bg-color) 80%, black);
    --default-bg-color-darker-30: color-mix(in srgb, var(--default-bg-color) 70%, black);
    --default-bg-color-darker-40: color-mix(in srgb, var(--default-bg-color) 60%, black);
    --default-bg-color-darker-50: color-mix(in srgb, var(--default-bg-color) 50%, black);
    --default-bg-color-darker-60: color-mix(in srgb, var(--default-bg-color) 40%, black);
    --default-bg-color-darker-70: color-mix(in srgb, var(--default-bg-color) 30%, black);
    --default-bg-color-darker-80: color-mix(in srgb, var(--default-bg-color) 20%, black);
    --default-bg-color-darker-90: color-mix(in srgb, var(--default-bg-color) 10%, black);
    --default-bg-color-darker-100: color-mix(in srgb, var(--default-bg-color) 0%, black);

    /* default primary bg color */
    --default-primary-bg-color-lighter-10: color-mix(in srgb, var(--default-primary-bg-color) 90%, white);
    --default-primary-bg-color-lighter-20: color-mix(in srgb, var(--default-primary-bg-color) 80%, white);
    --default-primary-bg-color-lighter-30: color-mix(in srgb, var(--default-primary-bg-color) 70%, white);
    --default-primary-bg-color-lighter-40: color-mix(in srgb, var(--default-primary-bg-color) 60%, white);
    --default-primary-bg-color-lighter-50: color-mix(in srgb, var(--default-primary-bg-color) 50%, white);
    --default-primary-bg-color-lighter-60: color-mix(in srgb, var(--default-primary-bg-color) 40%, white);
    --default-primary-bg-color-lighter-70: color-mix(in srgb, var(--default-primary-bg-color) 30%, white);
    --default-primary-bg-color-lighter-80: color-mix(in srgb, var(--default-primary-bg-color) 20%, white);
    --default-primary-bg-color-lighter-90: color-mix(in srgb, var(--default-primary-bg-color) 10%, white);
    --default-primary-bg-color-lighter-100: color-mix(in srgb, var(--default-primary-bg-color) 0%, white);
    --default-primary-bg-color-darker-10: color-mix(in srgb, var(--default-primary-bg-color) 90%, black);
    --default-primary-bg-color-darker-20: color-mix(in srgb, var(--default-primary-bg-color) 80%, black);
    --default-primary-bg-color-darker-30: color-mix(in srgb, var(--default-primary-bg-color) 70%, black);
    --default-primary-bg-color-darker-40: color-mix(in srgb, var(--default-primary-bg-color) 60%, black);
    --default-primary-bg-color-darker-50: color-mix(in srgb, var(--default-primary-bg-color) 50%, black);
    --default-primary-bg-color-darker-60: color-mix(in srgb, var(--default-primary-bg-color) 40%, black);
    --default-primary-bg-color-darker-70: color-mix(in srgb, var(--default-primary-bg-color) 30%, black);
    --default-primary-bg-color-darker-80: color-mix(in srgb, var(--default-primary-bg-color) 20%, black);
    --default-primary-bg-color-darker-90: color-mix(in srgb, var(--default-primary-bg-color) 10%, black);
    --default-primary-bg-color-darker-100: color-mix(in srgb, var(--default-primary-bg-color) 0%, black);

    /* default secondary bg color */
    --default-secondary-bg-color-lighter-10: color-mix(in srgb, var(--default-secondary-bg-color) 90%, white);
    --default-secondary-bg-color-lighter-20: color-mix(in srgb, var(--default-secondary-bg-color) 80%, white);
    --default-secondary-bg-color-lighter-30: color-mix(in srgb, var(--default-secondary-bg-color) 70%, white);
    --default-secondary-bg-color-lighter-40: color-mix(in srgb, var(--default-secondary-bg-color) 60%, white);
    --default-secondary-bg-color-lighter-50: color-mix(in srgb, var(--default-secondary-bg-color) 50%, white);
    --default-secondary-bg-color-lighter-60: color-mix(in srgb, var(--default-secondary-bg-color) 40%, white);
    --default-secondary-bg-color-lighter-70: color-mix(in srgb, var(--default-secondary-bg-color) 30%, white);
    --default-secondary-bg-color-lighter-80: color-mix(in srgb, var(--default-secondary-bg-color) 20%, white);
    --default-secondary-bg-color-lighter-90: color-mix(in srgb, var(--default-secondary-bg-color) 10%, white);
    --default-secondary-bg-color-lighter-100: color-mix(in srgb, var(--default-secondary-bg-color) 0%, white);
    --default-secondary-bg-color-darker-10: color-mix(in srgb, var(--default-secondary-bg-color) 90%, black);
    --default-secondary-bg-color-darker-20: color-mix(in srgb, var(--default-secondary-bg-color) 80%, black);
    --default-secondary-bg-color-darker-30: color-mix(in srgb, var(--default-secondary-bg-color) 70%, black);
    --default-secondary-bg-color-darker-40: color-mix(in srgb, var(--default-secondary-bg-color) 60%, black);
    --default-secondary-bg-color-darker-50: color-mix(in srgb, var(--default-secondary-bg-color) 50%, black);
    --default-secondary-bg-color-darker-60: color-mix(in srgb, var(--default-secondary-bg-color) 40%, black);
    --default-secondary-bg-color-darker-70: color-mix(in srgb, var(--default-secondary-bg-color) 30%, black);
    --default-secondary-bg-color-darker-80: color-mix(in srgb, var(--default-secondary-bg-color) 20%, black);
    --default-secondary-bg-color-darker-90: color-mix(in srgb, var(--default-secondary-bg-color) 10%, black);
    --default-secondary-bg-color-darker-100: color-mix(in srgb, var(--default-secondary-bg-color) 0%, black);

    /* highlight bg color */
    --highlight-bg-color-lighter-10: color-mix(in srgb, var(--highlight-bg-color) 90%, white);
    --highlight-bg-color-lighter-20: color-mix(in srgb, var(--highlight-bg-color) 80%, white);
    --highlight-bg-color-lighter-30: color-mix(in srgb, var(--highlight-bg-color) 70%, white);
    --highlight-bg-color-lighter-40: color-mix(in srgb, var(--highlight-bg-color) 60%, white);
    --highlight-bg-color-lighter-50: color-mix(in srgb, var(--highlight-bg-color) 50%, white);
    --highlight-bg-color-lighter-60: color-mix(in srgb, var(--highlight-bg-color) 40%, white);
    --highlight-bg-color-lighter-70: color-mix(in srgb, var(--highlight-bg-color) 30%, white);
    --highlight-bg-color-lighter-80: color-mix(in srgb, var(--highlight-bg-color) 20%, white);
    --highlight-bg-color-lighter-90: color-mix(in srgb, var(--highlight-bg-color) 10%, white);
    --highlight-bg-color-lighter-100: color-mix(in srgb, var(--highlight-bg-color) 0%, white);
    --highlight-bg-color-darker-10: color-mix(in srgb, var(--highlight-bg-color) 90%, black);
    --highlight-bg-color-darker-20: color-mix(in srgb, var(--highlight-bg-color) 80%, black);
    --highlight-bg-color-darker-30: color-mix(in srgb, var(--highlight-bg-color) 70%, black);
    --highlight-bg-color-darker-40: color-mix(in srgb, var(--highlight-bg-color) 60%, black);
    --highlight-bg-color-darker-50: color-mix(in srgb, var(--highlight-bg-color) 50%, black);
    --highlight-bg-color-darker-60: color-mix(in srgb, var(--highlight-bg-color) 40%, black);
    --highlight-bg-color-darker-70: color-mix(in srgb, var(--highlight-bg-color) 30%, black);
    --highlight-bg-color-darker-80: color-mix(in srgb, var(--highlight-bg-color) 20%, black);
    --highlight-bg-color-darker-90: color-mix(in srgb, var(--highlight-bg-color) 10%, black);
    --highlight-bg-color-darker-100: color-mix(in srgb, var(--highlight-bg-color) 0%, black);

    /* highlight primary bg color */
    --highlight-primary-bg-color-lighter-10: color-mix(in srgb, var(--highlight-primary-bg-color) 90%, white);
    --highlight-primary-bg-color-lighter-20: color-mix(in srgb, var(--highlight-primary-bg-color) 80%, white);
    --highlight-primary-bg-color-lighter-30: color-mix(in srgb, var(--highlight-primary-bg-color) 70%, white);
    --highlight-primary-bg-color-lighter-40: color-mix(in srgb, var(--highlight-primary-bg-color) 60%, white);
    --highlight-primary-bg-color-lighter-50: color-mix(in srgb, var(--highlight-primary-bg-color) 50%, white);
    --highlight-primary-bg-color-lighter-60: color-mix(in srgb, var(--highlight-primary-bg-color) 40%, white);
    --highlight-primary-bg-color-lighter-70: color-mix(in srgb, var(--highlight-primary-bg-color) 30%, white);
    --highlight-primary-bg-color-lighter-80: color-mix(in srgb, var(--highlight-primary-bg-color) 20%, white);
    --highlight-primary-bg-color-lighter-90: color-mix(in srgb, var(--highlight-primary-bg-color) 10%, white);
    --highlight-primary-bg-color-lighter-100: color-mix(in srgb, var(--highlight-primary-bg-color) 0%, white);
    --highlight-primary-bg-color-darker-10: color-mix(in srgb, var(--highlight-primary-bg-color) 90%, black);
    --highlight-primary-bg-color-darker-20: color-mix(in srgb, var(--highlight-primary-bg-color) 80%, black);
    --highlight-primary-bg-color-darker-30: color-mix(in srgb, var(--highlight-primary-bg-color) 70%, black);
    --highlight-primary-bg-color-darker-40: color-mix(in srgb, var(--highlight-primary-bg-color) 60%, black);
    --highlight-primary-bg-color-darker-50: color-mix(in srgb, var(--highlight-primary-bg-color) 50%, black);
    --highlight-primary-bg-color-darker-60: color-mix(in srgb, var(--highlight-primary-bg-color) 40%, black);
    --highlight-primary-bg-color-darker-70: color-mix(in srgb, var(--highlight-primary-bg-color) 30%, black);
    --highlight-primary-bg-color-darker-80: color-mix(in srgb, var(--highlight-primary-bg-color) 20%, black);
    --highlight-primary-bg-color-darker-90: color-mix(in srgb, var(--highlight-primary-bg-color) 10%, black);
    --highlight-primary-bg-color-darker-100: color-mix(in srgb, var(--highlight-primary-bg-color) 0%, black);

    /* highlight secondary bg color */
    --highlight-secondary-bg-color-lighter-10: color-mix(in srgb, var(--highlight-secondary-bg-color) 90%, white);
    --highlight-secondary-bg-color-lighter-20: color-mix(in srgb, var(--highlight-secondary-bg-color) 80%, white);
    --highlight-secondary-bg-color-lighter-30: color-mix(in srgb, var(--highlight-secondary-bg-color) 70%, white);
    --highlight-secondary-bg-color-lighter-40: color-mix(in srgb, var(--highlight-secondary-bg-color) 60%, white);
    --highlight-secondary-bg-color-lighter-50: color-mix(in srgb, var(--highlight-secondary-bg-color) 50%, white);
    --highlight-secondary-bg-color-lighter-60: color-mix(in srgb, var(--highlight-secondary-bg-color) 40%, white);
    --highlight-secondary-bg-color-lighter-70: color-mix(in srgb, var(--highlight-secondary-bg-color) 30%, white);
    --highlight-secondary-bg-color-lighter-80: color-mix(in srgb, var(--highlight-secondary-bg-color) 20%, white);
    --highlight-secondary-bg-color-lighter-90: color-mix(in srgb, var(--highlight-secondary-bg-color) 10%, white);
    --highlight-secondary-bg-color-lighter-100: color-mix(in srgb, var(--highlight-secondary-bg-color) 0%, white);
    --highlight-secondary-bg-color-darker-10: color-mix(in srgb, var(--highlight-secondary-bg-color) 90%, black);
    --highlight-secondary-bg-color-darker-20: color-mix(in srgb, var(--highlight-secondary-bg-color) 80%, black);
    --highlight-secondary-bg-color-darker-30: color-mix(in srgb, var(--highlight-secondary-bg-color) 70%, black);
    --highlight-secondary-bg-color-darker-40: color-mix(in srgb, var(--highlight-secondary-bg-color) 60%, black);
    --highlight-secondary-bg-color-darker-50: color-mix(in srgb, var(--highlight-secondary-bg-color) 50%, black);
    --highlight-secondary-bg-color-darker-60: color-mix(in srgb, var(--highlight-secondary-bg-color) 40%, black);
    --highlight-secondary-bg-color-darker-70: color-mix(in srgb, var(--highlight-secondary-bg-color) 30%, black);
    --highlight-secondary-bg-color-darker-80: color-mix(in srgb, var(--highlight-secondary-bg-color) 20%, black);
    --highlight-secondary-bg-color-darker-90: color-mix(in srgb, var(--highlight-secondary-bg-color) 10%, black);
    --highlight-secondary-bg-color-darker-100: color-mix(in srgb, var(--highlight-secondary-bg-color) 0%, black);

    /* default accent 1 color */
    --default-accent-1-color-lighter-10: color-mix(in srgb, var(--default-accent-1-color) 90%, white);
    --default-accent-1-color-lighter-20: color-mix(in srgb, var(--default-accent-1-color) 80%, white);
    --default-accent-1-color-lighter-30: color-mix(in srgb, var(--default-accent-1-color) 70%, white);
    --default-accent-1-color-lighter-40: color-mix(in srgb, var(--default-accent-1-color) 60%, white);
    --default-accent-1-color-lighter-50: color-mix(in srgb, var(--default-accent-1-color) 50%, white);
    --default-accent-1-color-lighter-60: color-mix(in srgb, var(--default-accent-1-color) 40%, white);
    --default-accent-1-color-lighter-70: color-mix(in srgb, var(--default-accent-1-color) 30%, white);
    --default-accent-1-color-lighter-80: color-mix(in srgb, var(--default-accent-1-color) 20%, white);
    --default-accent-1-color-lighter-90: color-mix(in srgb, var(--default-accent-1-color) 10%, white);
    --default-accent-1-color-lighter-100: color-mix(in srgb, var(--default-accent-1-color) 0%, white);
    --default-accent-1-color-darker-10: color-mix(in srgb, var(--default-accent-1-color) 90%, black);
    --default-accent-1-color-darker-20: color-mix(in srgb, var(--default-accent-1-color) 80%, black);
    --default-accent-1-color-darker-30: color-mix(in srgb, var(--default-accent-1-color) 70%, black);
    --default-accent-1-color-darker-40: color-mix(in srgb, var(--default-accent-1-color) 60%, black);
    --default-accent-1-color-darker-50: color-mix(in srgb, var(--default-accent-1-color) 50%, black);
    --default-accent-1-color-darker-60: color-mix(in srgb, var(--default-accent-1-color) 40%, black);
    --default-accent-1-color-darker-70: color-mix(in srgb, var(--default-accent-1-color) 30%, black);
    --default-accent-1-color-darker-80: color-mix(in srgb, var(--default-accent-1-color) 20%, black);
    --default-accent-1-color-darker-90: color-mix(in srgb, var(--default-accent-1-color) 10%, black);
    --default-accent-1-color-darker-100: color-mix(in srgb, var(--default-accent-1-color) 0%, black);

    /* default accent 2 color */
    --default-accent-2-color-lighter-10: color-mix(in srgb, var(--default-accent-2-color) 90%, white);
    --default-accent-2-color-lighter-20: color-mix(in srgb, var(--default-accent-2-color) 80%, white);
    --default-accent-2-color-lighter-30: color-mix(in srgb, var(--default-accent-2-color) 70%, white);
    --default-accent-2-color-lighter-40: color-mix(in srgb, var(--default-accent-2-color) 60%, white);
    --default-accent-2-color-lighter-50: color-mix(in srgb, var(--default-accent-2-color) 50%, white);
    --default-accent-2-color-lighter-60: color-mix(in srgb, var(--default-accent-2-color) 40%, white);
    --default-accent-2-color-lighter-70: color-mix(in srgb, var(--default-accent-2-color) 30%, white);
    --default-accent-2-color-lighter-80: color-mix(in srgb, var(--default-accent-2-color) 20%, white);
    --default-accent-2-color-lighter-90: color-mix(in srgb, var(--default-accent-2-color) 10%, white);
    --default-accent-2-color-lighter-100: color-mix(in srgb, var(--default-accent-2-color) 0%, white);
    --default-accent-2-color-darker-10: color-mix(in srgb, var(--default-accent-2-color) 90%, black);
    --default-accent-2-color-darker-20: color-mix(in srgb, var(--default-accent-2-color) 80%, black);
    --default-accent-2-color-darker-30: color-mix(in srgb, var(--default-accent-2-color) 70%, black);
    --default-accent-2-color-darker-40: color-mix(in srgb, var(--default-accent-2-color) 60%, black);
    --default-accent-2-color-darker-50: color-mix(in srgb, var(--default-accent-2-color) 50%, black);
    --default-accent-2-color-darker-60: color-mix(in srgb, var(--default-accent-2-color) 40%, black);
    --default-accent-2-color-darker-70: color-mix(in srgb, var(--default-accent-2-color) 30%, black);
    --default-accent-2-color-darker-80: color-mix(in srgb, var(--default-accent-2-color) 20%, black);
    --default-accent-2-color-darker-90: color-mix(in srgb, var(--default-accent-2-color) 10%, black);
    --default-accent-2-color-darker-100: color-mix(in srgb, var(--default-accent-2-color) 0%, black);

    /* default accent 3 color */
    --default-accent-3-color-lighter-10: color-mix(in srgb, var(--default-accent-3-color) 90%, white);
    --default-accent-3-color-lighter-20: color-mix(in srgb, var(--default-accent-3-color) 80%, white);
    --default-accent-3-color-lighter-30: color-mix(in srgb, var(--default-accent-3-color) 70%, white);
    --default-accent-3-color-lighter-40: color-mix(in srgb, var(--default-accent-3-color) 60%, white);
    --default-accent-3-color-lighter-50: color-mix(in srgb, var(--default-accent-3-color) 50%, white);
    --default-accent-3-color-lighter-60: color-mix(in srgb, var(--default-accent-3-color) 40%, white);
    --default-accent-3-color-lighter-70: color-mix(in srgb, var(--default-accent-3-color) 30%, white);
    --default-accent-3-color-lighter-80: color-mix(in srgb, var(--default-accent-3-color) 20%, white);
    --default-accent-3-color-lighter-90: color-mix(in srgb, var(--default-accent-3-color) 10%, white);
    --default-accent-3-color-lighter-100: color-mix(in srgb, var(--default-accent-3-color) 0%, white);
    --default-accent-3-color-darker-10: color-mix(in srgb, var(--default-accent-3-color) 90%, black);
    --default-accent-3-color-darker-20: color-mix(in srgb, var(--default-accent-3-color) 80%, black);
    --default-accent-3-color-darker-30: color-mix(in srgb, var(--default-accent-3-color) 70%, black);
    --default-accent-3-color-darker-40: color-mix(in srgb, var(--default-accent-3-color) 60%, black);
    --default-accent-3-color-darker-50: color-mix(in srgb, var(--default-accent-3-color) 50%, black);
    --default-accent-3-color-darker-60: color-mix(in srgb, var(--default-accent-3-color) 40%, black);
    --default-accent-3-color-darker-70: color-mix(in srgb, var(--default-accent-3-color) 30%, black);
    --default-accent-3-color-darker-80: color-mix(in srgb, var(--default-accent-3-color) 20%, black);
    --default-accent-3-color-darker-90: color-mix(in srgb, var(--default-accent-3-color) 10%, black);
    --default-accent-3-color-darker-100: color-mix(in srgb, var(--default-accent-3-color) 0%, black);

    /* default accent 4 color */
    --default-accent-4-color-lighter-10: color-mix(in srgb, var(--default-accent-4-color) 90%, white);
    --default-accent-4-color-lighter-20: color-mix(in srgb, var(--default-accent-4-color) 80%, white);
    --default-accent-4-color-lighter-30: color-mix(in srgb, var(--default-accent-4-color) 70%, white);
    --default-accent-4-color-lighter-40: color-mix(in srgb, var(--default-accent-4-color) 60%, white);
    --default-accent-4-color-lighter-50: color-mix(in srgb, var(--default-accent-4-color) 50%, white);
    --default-accent-4-color-lighter-60: color-mix(in srgb, var(--default-accent-4-color) 40%, white);
    --default-accent-4-color-lighter-70: color-mix(in srgb, var(--default-accent-4-color) 30%, white);
    --default-accent-4-color-lighter-80: color-mix(in srgb, var(--default-accent-4-color) 20%, white);
    --default-accent-4-color-lighter-90: color-mix(in srgb, var(--default-accent-4-color) 10%, white);
    --default-accent-4-color-lighter-100: color-mix(in srgb, var(--default-accent-4-color) 0%, white);
    --default-accent-4-color-darker-10: color-mix(in srgb, var(--default-accent-4-color) 90%, black);
    --default-accent-4-color-darker-20: color-mix(in srgb, var(--default-accent-4-color) 80%, black);
    --default-accent-4-color-darker-30: color-mix(in srgb, var(--default-accent-4-color) 70%, black);
    --default-accent-4-color-darker-40: color-mix(in srgb, var(--default-accent-4-color) 60%, black);
    --default-accent-4-color-darker-50: color-mix(in srgb, var(--default-accent-4-color) 50%, black);
    --default-accent-4-color-darker-60: color-mix(in srgb, var(--default-accent-4-color) 40%, black);
    --default-accent-4-color-darker-70: color-mix(in srgb, var(--default-accent-4-color) 30%, black);
    --default-accent-4-color-darker-80: color-mix(in srgb, var(--default-accent-4-color) 20%, black);
    --default-accent-4-color-darker-90: color-mix(in srgb, var(--default-accent-4-color) 10%, black);
    --default-accent-4-color-darker-100: color-mix(in srgb, var(--default-accent-4-color) 0%, black);

    /* highlight accent 1 color */
    --highlight-accent-1-color-lighter-10: color-mix(in srgb, var(--highlight-accent-1-color) 90%, white);
    --highlight-accent-1-color-lighter-20: color-mix(in srgb, var(--highlight-accent-1-color) 80%, white);
    --highlight-accent-1-color-lighter-30: color-mix(in srgb, var(--highlight-accent-1-color) 70%, white);
    --highlight-accent-1-color-lighter-40: color-mix(in srgb, var(--highlight-accent-1-color) 60%, white);
    --highlight-accent-1-color-lighter-50: color-mix(in srgb, var(--highlight-accent-1-color) 50%, white);
    --highlight-accent-1-color-lighter-60: color-mix(in srgb, var(--highlight-accent-1-color) 40%, white);
    --highlight-accent-1-color-lighter-70: color-mix(in srgb, var(--highlight-accent-1-color) 30%, white);
    --highlight-accent-1-color-lighter-80: color-mix(in srgb, var(--highlight-accent-1-color) 20%, white);
    --highlight-accent-1-color-lighter-90: color-mix(in srgb, var(--highlight-accent-1-color) 10%, white);
    --highlight-accent-1-color-lighter-100: color-mix(in srgb, var(--highlight-accent-1-color) 0%, white);
    --highlight-accent-1-color-darker-10: color-mix(in srgb, var(--highlight-accent-1-color) 90%, black);
    --highlight-accent-1-color-darker-20: color-mix(in srgb, var(--highlight-accent-1-color) 80%, black);
    --highlight-accent-1-color-darker-30: color-mix(in srgb, var(--highlight-accent-1-color) 70%, black);
    --highlight-accent-1-color-darker-40: color-mix(in srgb, var(--highlight-accent-1-color) 60%, black);
    --highlight-accent-1-color-darker-50: color-mix(in srgb, var(--highlight-accent-1-color) 50%, black);
    --highlight-accent-1-color-darker-60: color-mix(in srgb, var(--highlight-accent-1-color) 40%, black);
    --highlight-accent-1-color-darker-70: color-mix(in srgb, var(--highlight-accent-1-color) 30%, black);
    --highlight-accent-1-color-darker-80: color-mix(in srgb, var(--highlight-accent-1-color) 20%, black);
    --highlight-accent-1-color-darker-90: color-mix(in srgb, var(--highlight-accent-1-color) 10%, black);
    --highlight-accent-1-color-darker-100: color-mix(in srgb, var(--highlight-accent-1-color) 0%, black);

    /* highlight accent 2 color */
    --highlight-accent-2-color-lighter-10: color-mix(in srgb, var(--highlight-accent-2-color) 90%, white);
    --highlight-accent-2-color-lighter-20: color-mix(in srgb, var(--highlight-accent-2-color) 80%, white);
    --highlight-accent-2-color-lighter-30: color-mix(in srgb, var(--highlight-accent-2-color) 70%, white);
    --highlight-accent-2-color-lighter-40: color-mix(in srgb, var(--highlight-accent-2-color) 60%, white);
    --highlight-accent-2-color-lighter-50: color-mix(in srgb, var(--highlight-accent-2-color) 50%, white);
    --highlight-accent-2-color-lighter-60: color-mix(in srgb, var(--highlight-accent-2-color) 40%, white);
    --highlight-accent-2-color-lighter-70: color-mix(in srgb, var(--highlight-accent-2-color) 30%, white);
    --highlight-accent-2-color-lighter-80: color-mix(in srgb, var(--highlight-accent-2-color) 20%, white);
    --highlight-accent-2-color-lighter-90: color-mix(in srgb, var(--highlight-accent-2-color) 10%, white);
    --highlight-accent-2-color-lighter-100: color-mix(in srgb, var(--highlight-accent-2-color) 0%, white);
    --highlight-accent-2-color-darker-10: color-mix(in srgb, var(--highlight-accent-2-color) 90%, black);
    --highlight-accent-2-color-darker-20: color-mix(in srgb, var(--highlight-accent-2-color) 80%, black);
    --highlight-accent-2-color-darker-30: color-mix(in srgb, var(--highlight-accent-2-color) 70%, black);
    --highlight-accent-2-color-darker-40: color-mix(in srgb, var(--highlight-accent-2-color) 60%, black);
    --highlight-accent-2-color-darker-50: color-mix(in srgb, var(--highlight-accent-2-color) 50%, black);
    --highlight-accent-2-color-darker-60: color-mix(in srgb, var(--highlight-accent-2-color) 40%, black);
    --highlight-accent-2-color-darker-70: color-mix(in srgb, var(--highlight-accent-2-color) 30%, black);
    --highlight-accent-2-color-darker-80: color-mix(in srgb, var(--highlight-accent-2-color) 20%, black);
    --highlight-accent-2-color-darker-90: color-mix(in srgb, var(--highlight-accent-2-color) 10%, black);
    --highlight-accent-2-color-darker-100: color-mix(in srgb, var(--highlight-accent-2-color) 0%, black);

    /* highlight accent 3 color */
    --highlight-accent-3-color-lighter-10: color-mix(in srgb, var(--highlight-accent-3-color) 90%, white);
    --highlight-accent-3-color-lighter-20: color-mix(in srgb, var(--highlight-accent-3-color) 80%, white);
    --highlight-accent-3-color-lighter-30: color-mix(in srgb, var(--highlight-accent-3-color) 70%, white);
    --highlight-accent-3-color-lighter-40: color-mix(in srgb, var(--highlight-accent-3-color) 60%, white);
    --highlight-accent-3-color-lighter-50: color-mix(in srgb, var(--highlight-accent-3-color) 50%, white);
    --highlight-accent-3-color-lighter-60: color-mix(in srgb, var(--highlight-accent-3-color) 40%, white);
    --highlight-accent-3-color-lighter-70: color-mix(in srgb, var(--highlight-accent-3-color) 30%, white);
    --highlight-accent-3-color-lighter-80: color-mix(in srgb, var(--highlight-accent-3-color) 20%, white);
    --highlight-accent-3-color-lighter-90: color-mix(in srgb, var(--highlight-accent-3-color) 10%, white);
    --highlight-accent-3-color-lighter-100: color-mix(in srgb, var(--highlight-accent-3-color) 0%, white);
    --highlight-accent-3-color-darker-10: color-mix(in srgb, var(--highlight-accent-3-color) 90%, black);
    --highlight-accent-3-color-darker-20: color-mix(in srgb, var(--highlight-accent-3-color) 80%, black);
    --highlight-accent-3-color-darker-30: color-mix(in srgb, var(--highlight-accent-3-color) 70%, black);
    --highlight-accent-3-color-darker-40: color-mix(in srgb, var(--highlight-accent-3-color) 60%, black);
    --highlight-accent-3-color-darker-50: color-mix(in srgb, var(--highlight-accent-3-color) 50%, black);
    --highlight-accent-3-color-darker-60: color-mix(in srgb, var(--highlight-accent-3-color) 40%, black);
    --highlight-accent-3-color-darker-70: color-mix(in srgb, var(--highlight-accent-3-color) 30%, black);
    --highlight-accent-3-color-darker-80: color-mix(in srgb, var(--highlight-accent-3-color) 20%, black);
    --highlight-accent-3-color-darker-90: color-mix(in srgb, var(--highlight-accent-3-color) 10%, black);
    --highlight-accent-3-color-darker-100: color-mix(in srgb, var(--highlight-accent-3-color) 0%, black);

    /* highlight accent 4 color */
    --highlight-accent-4-color-lighter-10: color-mix(in srgb, var(--highlight-accent-4-color) 90%, white);
    --highlight-accent-4-color-lighter-20: color-mix(in srgb, var(--highlight-accent-4-color) 80%, white);
    --highlight-accent-4-color-lighter-30: color-mix(in srgb, var(--highlight-accent-4-color) 70%, white);
    --highlight-accent-4-color-lighter-40: color-mix(in srgb, var(--highlight-accent-4-color) 60%, white);
    --highlight-accent-4-color-lighter-50: color-mix(in srgb, var(--highlight-accent-4-color) 50%, white);
    --highlight-accent-4-color-lighter-60: color-mix(in srgb, var(--highlight-accent-4-color) 40%, white);
    --highlight-accent-4-color-lighter-70: color-mix(in srgb, var(--highlight-accent-4-color) 30%, white);
    --highlight-accent-4-color-lighter-80: color-mix(in srgb, var(--highlight-accent-4-color) 20%, white);
    --highlight-accent-4-color-lighter-90: color-mix(in srgb, var(--highlight-accent-4-color) 10%, white);
    --highlight-accent-4-color-lighter-100: color-mix(in srgb, var(--highlight-accent-4-color) 0%, white);
    --highlight-accent-4-color-darker-10: color-mix(in srgb, var(--highlight-accent-4-color) 90%, black);
    --highlight-accent-4-color-darker-20: color-mix(in srgb, var(--highlight-accent-4-color) 80%, black);
    --highlight-accent-4-color-darker-30: color-mix(in srgb, var(--highlight-accent-4-color) 70%, black);
    --highlight-accent-4-color-darker-40: color-mix(in srgb, var(--highlight-accent-4-color) 60%, black);
    --highlight-accent-4-color-darker-50: color-mix(in srgb, var(--highlight-accent-4-color) 50%, black);
    --highlight-accent-4-color-darker-60: color-mix(in srgb, var(--highlight-accent-4-color) 40%, black);
    --highlight-accent-4-color-darker-70: color-mix(in srgb, var(--highlight-accent-4-color) 30%, black);
    --highlight-accent-4-color-darker-80: color-mix(in srgb, var(--highlight-accent-4-color) 20%, black);
    --highlight-accent-4-color-darker-90: color-mix(in srgb, var(--highlight-accent-4-color) 10%, black);
    --highlight-accent-4-color-darker-100: color-mix(in srgb, var(--highlight-accent-4-color) 0%, black);

    /* ============================================
       HIGHLIGHT THEME HOVER VARIABLE
       ============================================ */
    
    /* Default Context (Highlight) */
    --highlight-hover-bg-color: light-dark(
        color-mix(in srgb, var(--highlight-bg-color) 90%, white),
        color-mix(in srgb, var(--highlight-bg-color) 90%, black)
    );
    --highlight-hover-text-color: light-dark(
        color-mix(in srgb, var(--highlight-text-color) 90%, black),
        color-mix(in srgb, var(--highlight-text-color) 90%, white)
    );
    --highlight-hover-link-color: light-dark(
        color-mix(in srgb, var(--highlight-link-color) 90%, black),
        color-mix(in srgb, var(--highlight-link-color) 90%, white)
    );
    --highlight-hover-border-color: light-dark(
        color-mix(in srgb, var(--highlight-border-color) 90%, black),
        color-mix(in srgb, var(--highlight-border-color) 90%, white)
    );
    
    /* Primary Context (Highlight) */
    --highlight-primary-hover-bg-color: light-dark(
        color-mix(in srgb, var(--highlight-primary-bg-color) 90%, black),
        color-mix(in srgb, var(--highlight-primary-bg-color) 90%, white)
    );
    --highlight-primary-hover-text-color: light-dark(
        color-mix(in srgb, var(--highlight-primary-text-color) 90%, white),
        color-mix(in srgb, var(--highlight-primary-text-color) 90%, black)
    );
    --highlight-primary-hover-link-color: light-dark(
        color-mix(in srgb, var(--highlight-primary-link-color) 90%, white),
        color-mix(in srgb, var(--highlight-primary-link-color) 90%, black)
    );
    --highlight-primary-hover-border-color: light-dark(
        color-mix(in srgb, var(--highlight-primary-border-color) 90%, black),
        color-mix(in srgb, var(--highlight-primary-border-color) 90%, white)
    );
    
    /* Secondary Context (Highlight) */
    --highlight-secondary-hover-bg-color: light-dark(
        color-mix(in srgb, var(--highlight-secondary-bg-color) 90%, white),
        color-mix(in srgb, var(--highlight-secondary-bg-color) 90%, black)
    );
    --highlight-secondary-hover-text-color: light-dark(
        color-mix(in srgb, var(--highlight-secondary-text-color) 90%, black),
        color-mix(in srgb, var(--highlight-secondary-text-color) 90%, white)
    );
    --highlight-secondary-hover-link-color: light-dark(
        color-mix(in srgb, var(--highlight-secondary-link-color) 90%, white),
        color-mix(in srgb, var(--highlight-secondary-link-color) 90%, black)
    );
    --highlight-secondary-hover-border-color: light-dark(
        color-mix(in srgb, var(--highlight-secondary-border-color) 90%, black),
        color-mix(in srgb, var(--highlight-secondary-border-color) 90%, white)
    );

    /* Default Typo Variables */
    --default-font-family: 'open-sans', sans-serif;
    --default-heading-font-family: 'open-sans', sans-serif;
    --default-text-size: 16px;
    --default-text-transform: none;
    --default-font-weight: normal;
    --default-line-height: 1.8;
    --default-letter-spacing: normal;
    --default-bg-image: none;
    --default-bg-image-position: center center;
    --default-bg-image-size: cover;
    --default-bg-image-repeat: no-repeat;
    --default-bg-image-attachment: fixed;

    /* === SPACING TOKENS === */
    --space-0: 0em;      /* 0px  */
    --space-1: 0.125em;  /* 2px  */
    --space-2: 0.25em;   /* 4.5px */
    --space-3: 0.375em;  /* 6.75px */
    --space-4: 0.5em;    /* 9px */
    --space-5: 0.75em;   /* 13.5px */
    --space-6: 1em;      /* 18px base */
    --space-7: 1.25em;   /* 22.5px */
    --space-8: 1.5em;    /* 27px */
    --space-9: 1.75em;   /* 31.5px */
    --space-10: 2em;     /* 36px */
    --space-11: 2.5em;   /* 45px */
    --space-12: 3em;     /* 54px */
    --space-13: 4em;     /* 72px */

    /* === FONT SIZE TOKENS === */
    --fs-1: 0.5em;   /* 9px */
    --fs-2: 0.75em;  /* 13.5px */
    --fs-3: 0.875em; /* 15.75px */
    --fs-4: 1em;     /* 18px */
    --fs-5: 1.125em; /* 20.25px */
    --fs-6: 1.25em;  /* 22.5px */
    --fs-7: 1.5em;   /* 27px */
    --fs-8: 1.75em;  /* 31.5px */
    --fs-9: 2em;     /* 36px */
    --fs-10: 2.25em; /* 40.5px */
    --fs-11: 2.5em;  /* 45px */
    --fs-12: 2.75em; /* 49.5px */
    --fs-13: 3em;    /* 54px */
    --fs-14: 3.5em;  /* 63px */

    /* === BORDER RADIUS TOKENS === */
    --radius-0: 0em;     /* 0px */
    --radius-1: 0.125em; /* 2px */
    --radius-2: 0.25em;  /* 4.5px */
    --radius-3: 0.375em; /* 6.75px */
    --radius-4: 0.5em;   /* 9px */
    --radius-5: 0.625em; /* 11.25px */
    --radius-6: 0.75em; /* 13.5px */
    --radius-7: 0.875em; /* 15.75px */
    --radius-8: 1em; /* 18px */
    --radius-9: 1.125em; /* 20.25px */
    --radius-10: 1.25em; /* 22.5px */
    --radius-11: 1.375em; /* 24.75px */
    --radius-12: 1.5em; /* 27px */
    --radius-pill: 9999px;

    /* === WIDTH TOKENS === */
    --w-0-75: 0.75em; /* 13.5px */
    --w-1: 1em;       /* 18px */
    --w-1-25: 1.25em; /* 22.5px */
    --w-1-5: 1.5em;   /* 27px */
    --w-2: 2em;       /* 36px */
    --w-3: 3em;       /* 54px */
    --w-4: 4em;       /* 72px */
    --w-5: 5em;       /* 90px */
    --w-6: 6em;       /* 108px */
    --w-7: 7em;       /* 126px */
    --w-8: 8em;       /* 144px */

    /* === HEIGHT TOKENS === */
    --h-0-75: 0.75em; /* 13.5px */
    --h-1: 1em;       /* 18px */
    --h-1-25: 1.25em; /* 22.5px */
    --h-1-5: 1.5em;   /* 27px */
    --h-2: 2em;       /* 36px */
    --h-3: 3em;       /* 54px */
    --h-4: 4em;       /* 72px */
    --h-5: 5em;       /* 90px */
    --h-6: 6em;       /* 108px */
    --h-7: 7em;       /* 126px */
    --h-8: 8em;       /* 144px */

    /* Default Vars */
    /* BLOG PAGE VARIABLES */
    --color-blog-border: var(--color-border);
    --color-blog-tag-background-style-01: var(--color-light);
    --color-blog-tag-background-border-style-01: var(--color-light);
    --color-blog-tag-background-style-02: var(--color-light);
    --color-blog-tag-background-border-style-02: var(--color-light);
    --color-blog-tag-background: var(--color-light);
    --color-blog-tag-background-border: var(--color-light);
    --color-blog-tag-category-container-background: var(--color-light);
    --color-blog-tag-category-container-background-border: var(--color-light);
    --color-blog-tag-category-container-background-style-04: var(--color-light);
    --color-blog-tag-category-container-background-style-03: var(--color-light);
    --color-blog-tag-category-container-background-border-style-03: var(--color-light);
    --color-blog-footer-content: var(--color-text);
    --color-blog-rss-icon: var(--zpsocialprofile-rss);
    --font-size-blog-author: var(--default-text-size);
    --color-blog-rss-icon-path: var(--color-default);

    --color-bloglist-h1: var(--color-secondary);
    --font-family-bloglist-h1: var(--default-heading-font-family);
    --font-size-bloglist-h1: var(--default-text-size);
    --font-weight-bloglist-h1: normal;
    --font-transform-bloglist-h1: none;
    --font-line-height-bloglist-h1: 1.8;
    --font-letter-spacing-bloglist-h1: normal;


}



* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box
}

noscript {
    height: 100%
}

html {
    font-size: var(--default-text-size);
}
body {
    color: var(--default-text-color);
    font-family: var(--default-font-family);
    font-weight: var(--default-font-weight);
    text-transform: var(--default-text-transform);
    line-height: var(--default-line-height);
    letter-spacing: var(--default-letter-spacing);
    background-image: var(--default-bg-image);
    background-color: var(--default-bg-color);
    background-size: var(--default-bg-image-size);
    background-position: var(--default-bg-image-position);
    background-repeat: var(--default-bg-image-repeat);
    background-attachment: var(--default-bg-image-attachment);
}

.default-container {
    --local-bg-color: var(--default-bg-color);
    --local-text-color: var(--default-text-color);
    --local-link-color: var(--default-link-color);
    --local-hover-link-color: var(--default-hover-link-color);
    --local-border-color: var(--default-border-color);
    --local-accent-1-color: var(--default-accent-1-color);
    --local-accent-2-color: var(--default-accent-2-color);
    --local-accent-3-color: var(--default-accent-3-color);
    --local-accent-4-color: var(--default-accent-4-color);
    --local-primary-bg-color: var(--default-primary-bg-color);
    --local-primary-text-color: var(--default-primary-text-color);
    --local-primary-link-color: var(--default-primary-link-color);
    --local-primary-border-color: var(--default-primary-border-color);
    --local-secondary-bg-color: var(--default-secondary-bg-color);
    --local-secondary-text-color: var(--default-secondary-text-color);
    --local-secondary-link-color: var(--default-secondary-link-color);
    --local-secondary-border-color: var(--default-secondary-border-color);
}
.highlight-container{
    --local-bg-color: var(--highlight-bg-color);
    --local-text-color: var(--highlight-text-color);
    --local-link-color: var(--highlight-link-color);
    --local-hover-link-color: var(--highlight-hover-link-color);
    --local-border-color: var(--highlight-border-color);
    --local-accent-1-color: var(--highlight-accent-1-color);
    --local-accent-2-color: var(--highlight-accent-2-color);
    --local-accent-3-color: var(--highlight-accent-3-color);
    --local-accent-4-color: var(--highlight-accent-4-color);
    --local-primary-bg-color: var(--highlight-primary-bg-color);
    --local-primary-text-color: var(--highlight-primary-text-color);
    --local-primary-link-color: var(--highlight-primary-link-color);
    --local-primary-border-color: var(--highlight-primary-border-color);
    --local-secondary-bg-color: var(--highlight-secondary-bg-color);
    --local-secondary-text-color: var(--highlight-secondary-text-color);
    --local-secondary-link-color: var(--highlight-secondary-link-color);
    --local-secondary-border-color: var(--highlight-secondary-border-color);
}

.default-container,
.highlight-container{
  /* local bg color */
  --local-bg-color-lighter-10: color-mix(in srgb, var(--local-bg-color) 90%, white);
  --local-bg-color-lighter-20: color-mix(in srgb, var(--local-bg-color) 80%, white);
  --local-bg-color-lighter-30: color-mix(in srgb, var(--local-bg-color) 70%, white);
  --local-bg-color-lighter-40: color-mix(in srgb, var(--local-bg-color) 60%, white);
  --local-bg-color-lighter-50: color-mix(in srgb, var(--local-bg-color) 50%, white);
  --local-bg-color-lighter-60: color-mix(in srgb, var(--local-bg-color) 40%, white);
  --local-bg-color-lighter-70: color-mix(in srgb, var(--local-bg-color) 30%, white);
  --local-bg-color-lighter-80: color-mix(in srgb, var(--local-bg-color) 20%, white);
  --local-bg-color-lighter-90: color-mix(in srgb, var(--local-bg-color) 10%, white);
  --local-bg-color-lighter-100: color-mix(in srgb, var(--local-bg-color) 0%, white);
  --local-bg-color-darker-10: color-mix(in srgb, var(--local-bg-color) 90%, black);
  --local-bg-color-darker-20: color-mix(in srgb, var(--local-bg-color) 80%, black);
  --local-bg-color-darker-30: color-mix(in srgb, var(--local-bg-color) 70%, black);
  --local-bg-color-darker-40: color-mix(in srgb, var(--local-bg-color) 60%, black);
  --local-bg-color-darker-50: color-mix(in srgb, var(--local-bg-color) 50%, black);
  --local-bg-color-darker-60: color-mix(in srgb, var(--local-bg-color) 40%, black);
  --local-bg-color-darker-70: color-mix(in srgb, var(--local-bg-color) 30%, black);
  --local-bg-color-darker-80: color-mix(in srgb, var(--local-bg-color) 20%, black);
  --local-bg-color-darker-90: color-mix(in srgb, var(--local-bg-color) 10%, black);
  --local-bg-color-darker-100: color-mix(in srgb, var(--local-bg-color) 0%, black);

  /* local primary bg color */
  --local-primary-bg-color-lighter-10: color-mix(in srgb, var(--local-primary-bg-color) 90%, white);
  --local-primary-bg-color-lighter-20: color-mix(in srgb, var(--local-primary-bg-color) 80%, white);
  --local-primary-bg-color-lighter-30: color-mix(in srgb, var(--local-primary-bg-color) 70%, white);
  --local-primary-bg-color-lighter-40: color-mix(in srgb, var(--local-primary-bg-color) 60%, white);
  --local-primary-bg-color-lighter-50: color-mix(in srgb, var(--local-primary-bg-color) 50%, white);
  --local-primary-bg-color-lighter-60: color-mix(in srgb, var(--local-primary-bg-color) 40%, white);
  --local-primary-bg-color-lighter-70: color-mix(in srgb, var(--local-primary-bg-color) 30%, white);
  --local-primary-bg-color-lighter-80: color-mix(in srgb, var(--local-primary-bg-color) 20%, white);
  --local-primary-bg-color-lighter-90: color-mix(in srgb, var(--local-primary-bg-color) 10%, white);
  --local-primary-bg-color-lighter-100: color-mix(in srgb, var(--local-primary-bg-color) 0%, white);
  --local-primary-bg-color-darker-10: color-mix(in srgb, var(--local-primary-bg-color) 90%, black);
  --local-primary-bg-color-darker-20: color-mix(in srgb, var(--local-primary-bg-color) 80%, black);
  --local-primary-bg-color-darker-30: color-mix(in srgb, var(--local-primary-bg-color) 70%, black);
  --local-primary-bg-color-darker-40: color-mix(in srgb, var(--local-primary-bg-color) 60%, black);
  --local-primary-bg-color-darker-50: color-mix(in srgb, var(--local-primary-bg-color) 50%, black);
  --local-primary-bg-color-darker-60: color-mix(in srgb, var(--local-primary-bg-color) 40%, black);
  --local-primary-bg-color-darker-70: color-mix(in srgb, var(--local-primary-bg-color) 30%, black);
  --local-primary-bg-color-darker-80: color-mix(in srgb, var(--local-primary-bg-color) 20%, black);
  --local-primary-bg-color-darker-90: color-mix(in srgb, var(--local-primary-bg-color) 10%, black);
  --local-primary-bg-color-darker-100: color-mix(in srgb, var(--local-primary-bg-color) 0%, black);

  /* local secondary bg color */
  --local-secondary-bg-color-lighter-10: color-mix(in srgb, var(--local-secondary-bg-color) 90%, white);
  --local-secondary-bg-color-lighter-20: color-mix(in srgb, var(--local-secondary-bg-color) 80%, white);
  --local-secondary-bg-color-lighter-30: color-mix(in srgb, var(--local-secondary-bg-color) 70%, white);
  --local-secondary-bg-color-lighter-40: color-mix(in srgb, var(--local-secondary-bg-color) 60%, white);
  --local-secondary-bg-color-lighter-50: color-mix(in srgb, var(--local-secondary-bg-color) 50%, white);
  --local-secondary-bg-color-lighter-60: color-mix(in srgb, var(--local-secondary-bg-color) 40%, white);
  --local-secondary-bg-color-lighter-70: color-mix(in srgb, var(--local-secondary-bg-color) 30%, white);
  --local-secondary-bg-color-lighter-80: color-mix(in srgb, var(--local-secondary-bg-color) 20%, white);
  --local-secondary-bg-color-lighter-90: color-mix(in srgb, var(--local-secondary-bg-color) 10%, white);
  --local-secondary-bg-color-lighter-100: color-mix(in srgb, var(--local-secondary-bg-color) 0%, white);
  --local-secondary-bg-color-darker-10: color-mix(in srgb, var(--local-secondary-bg-color) 90%, black);
  --local-secondary-bg-color-darker-20: color-mix(in srgb, var(--local-secondary-bg-color) 80%, black);
  --local-secondary-bg-color-darker-30: color-mix(in srgb, var(--local-secondary-bg-color) 70%, black);
  --local-secondary-bg-color-darker-40: color-mix(in srgb, var(--local-secondary-bg-color) 60%, black);
  --local-secondary-bg-color-darker-50: color-mix(in srgb, var(--local-secondary-bg-color) 50%, black);
  --local-secondary-bg-color-darker-60: color-mix(in srgb, var(--local-secondary-bg-color) 40%, black);
  --local-secondary-bg-color-darker-70: color-mix(in srgb, var(--local-secondary-bg-color) 30%, black);
  --local-secondary-bg-color-darker-80: color-mix(in srgb, var(--local-secondary-bg-color) 20%, black);
  --local-secondary-bg-color-darker-90: color-mix(in srgb, var(--local-secondary-bg-color) 10%, black);
  --local-secondary-bg-color-darker-100: color-mix(in srgb, var(--local-secondary-bg-color) 0%, black);

  /* local accent 1 color */
  --local-accent-1-color-lighter-10: color-mix(in srgb, var(--local-accent-1-color) 90%, white);
  --local-accent-1-color-lighter-20: color-mix(in srgb, var(--local-accent-1-color) 80%, white);
  --local-accent-1-color-lighter-30: color-mix(in srgb, var(--local-accent-1-color) 70%, white);
  --local-accent-1-color-lighter-40: color-mix(in srgb, var(--local-accent-1-color) 60%, white);
  --local-accent-1-color-lighter-50: color-mix(in srgb, var(--local-accent-1-color) 50%, white);
  --local-accent-1-color-lighter-60: color-mix(in srgb, var(--local-accent-1-color) 40%, white);
  --local-accent-1-color-lighter-70: color-mix(in srgb, var(--local-accent-1-color) 30%, white);
  --local-accent-1-color-lighter-80: color-mix(in srgb, var(--local-accent-1-color) 20%, white);
  --local-accent-1-color-lighter-90: color-mix(in srgb, var(--local-accent-1-color) 10%, white);
  --local-accent-1-color-lighter-100: color-mix(in srgb, var(--local-accent-1-color) 0%, white);
  --local-accent-1-color-darker-10: color-mix(in srgb, var(--local-accent-1-color) 90%, black);
  --local-accent-1-color-darker-20: color-mix(in srgb, var(--local-accent-1-color) 80%, black);
  --local-accent-1-color-darker-30: color-mix(in srgb, var(--local-accent-1-color) 70%, black);
  --local-accent-1-color-darker-40: color-mix(in srgb, var(--local-accent-1-color) 60%, black);
  --local-accent-1-color-darker-50: color-mix(in srgb, var(--local-accent-1-color) 50%, black);
  --local-accent-1-color-darker-60: color-mix(in srgb, var(--local-accent-1-color) 40%, black);
  --local-accent-1-color-darker-70: color-mix(in srgb, var(--local-accent-1-color) 30%, black);
  --local-accent-1-color-darker-80: color-mix(in srgb, var(--local-accent-1-color) 20%, black);
  --local-accent-1-color-darker-90: color-mix(in srgb, var(--local-accent-1-color) 10%, black);
  --local-accent-1-color-darker-100: color-mix(in srgb, var(--local-accent-1-color) 0%, black);

  /* local accent 2 color */
  --local-accent-2-color-lighter-10: color-mix(in srgb, var(--local-accent-2-color) 90%, white);
  --local-accent-2-color-lighter-20: color-mix(in srgb, var(--local-accent-2-color) 80%, white);
  --local-accent-2-color-lighter-30: color-mix(in srgb, var(--local-accent-2-color) 70%, white);
  --local-accent-2-color-lighter-40: color-mix(in srgb, var(--local-accent-2-color) 60%, white);
  --local-accent-2-color-lighter-50: color-mix(in srgb, var(--local-accent-2-color) 50%, white);
  --local-accent-2-color-lighter-60: color-mix(in srgb, var(--local-accent-2-color) 40%, white);
  --local-accent-2-color-lighter-70: color-mix(in srgb, var(--local-accent-2-color) 30%, white);
  --local-accent-2-color-lighter-80: color-mix(in srgb, var(--local-accent-2-color) 20%, white);
  --local-accent-2-color-lighter-90: color-mix(in srgb, var(--local-accent-2-color) 10%, white);
  --local-accent-2-color-lighter-100: color-mix(in srgb, var(--local-accent-2-color) 0%, white);
  --local-accent-2-color-darker-10: color-mix(in srgb, var(--local-accent-2-color) 90%, black);
  --local-accent-2-color-darker-20: color-mix(in srgb, var(--local-accent-2-color) 80%, black);
  --local-accent-2-color-darker-30: color-mix(in srgb, var(--local-accent-2-color) 70%, black);
  --local-accent-2-color-darker-40: color-mix(in srgb, var(--local-accent-2-color) 60%, black);
  --local-accent-2-color-darker-50: color-mix(in srgb, var(--local-accent-2-color) 50%, black);
  --local-accent-2-color-darker-60: color-mix(in srgb, var(--local-accent-2-color) 40%, black);
  --local-accent-2-color-darker-70: color-mix(in srgb, var(--local-accent-2-color) 30%, black);
  --local-accent-2-color-darker-80: color-mix(in srgb, var(--local-accent-2-color) 20%, black);
  --local-accent-2-color-darker-90: color-mix(in srgb, var(--local-accent-2-color) 10%, black);
  --local-accent-2-color-darker-100: color-mix(in srgb, var(--local-accent-2-color) 0%, black);

  /* local accent 3 color */
  --local-accent-3-color-lighter-10: color-mix(in srgb, var(--local-accent-3-color) 90%, white);
  --local-accent-3-color-lighter-20: color-mix(in srgb, var(--local-accent-3-color) 80%, white);
  --local-accent-3-color-lighter-30: color-mix(in srgb, var(--local-accent-3-color) 70%, white);
  --local-accent-3-color-lighter-40: color-mix(in srgb, var(--local-accent-3-color) 60%, white);
  --local-accent-3-color-lighter-50: color-mix(in srgb, var(--local-accent-3-color) 50%, white);
  --local-accent-3-color-lighter-60: color-mix(in srgb, var(--local-accent-3-color) 40%, white);
  --local-accent-3-color-lighter-70: color-mix(in srgb, var(--local-accent-3-color) 30%, white);
  --local-accent-3-color-lighter-80: color-mix(in srgb, var(--local-accent-3-color) 20%, white);
  --local-accent-3-color-lighter-90: color-mix(in srgb, var(--local-accent-3-color) 10%, white);
  --local-accent-3-color-lighter-100: color-mix(in srgb, var(--local-accent-3-color) 0%, white);
  --local-accent-3-color-darker-10: color-mix(in srgb, var(--local-accent-3-color) 90%, black);
  --local-accent-3-color-darker-20: color-mix(in srgb, var(--local-accent-3-color) 80%, black);
  --local-accent-3-color-darker-30: color-mix(in srgb, var(--local-accent-3-color) 70%, black);
  --local-accent-3-color-darker-40: color-mix(in srgb, var(--local-accent-3-color) 60%, black);
  --local-accent-3-color-darker-50: color-mix(in srgb, var(--local-accent-3-color) 50%, black);
  --local-accent-3-color-darker-60: color-mix(in srgb, var(--local-accent-3-color) 40%, black);
  --local-accent-3-color-darker-70: color-mix(in srgb, var(--local-accent-3-color) 30%, black);
  --local-accent-3-color-darker-80: color-mix(in srgb, var(--local-accent-3-color) 20%, black);
  --local-accent-3-color-darker-90: color-mix(in srgb, var(--local-accent-3-color) 10%, black);
  --local-accent-3-color-darker-100: color-mix(in srgb, var(--local-accent-3-color) 0%, black);

  /* local accent 4 color */
  --local-accent-4-color-lighter-10: color-mix(in srgb, var(--local-accent-4-color) 90%, white);
  --local-accent-4-color-lighter-20: color-mix(in srgb, var(--local-accent-4-color) 80%, white);
  --local-accent-4-color-lighter-30: color-mix(in srgb, var(--local-accent-4-color) 70%, white);
  --local-accent-4-color-lighter-40: color-mix(in srgb, var(--local-accent-4-color) 60%, white);
  --local-accent-4-color-lighter-50: color-mix(in srgb, var(--local-accent-4-color) 50%, white);
  --local-accent-4-color-lighter-60: color-mix(in srgb, var(--local-accent-4-color) 40%, white);
  --local-accent-4-color-lighter-70: color-mix(in srgb, var(--local-accent-4-color) 30%, white);
  --local-accent-4-color-lighter-80: color-mix(in srgb, var(--local-accent-4-color) 20%, white);
  --local-accent-4-color-lighter-90: color-mix(in srgb, var(--local-accent-4-color) 10%, white);
  --local-accent-4-color-lighter-100: color-mix(in srgb, var(--local-accent-4-color) 0%, white);
  --local-accent-4-color-darker-10: color-mix(in srgb, var(--local-accent-4-color) 90%, black);
  --local-accent-4-color-darker-20: color-mix(in srgb, var(--local-accent-4-color) 80%, black);
  --local-accent-4-color-darker-30: color-mix(in srgb, var(--local-accent-4-color) 70%, black);
  --local-accent-4-color-darker-40: color-mix(in srgb, var(--local-accent-4-color) 60%, black);
  --local-accent-4-color-darker-50: color-mix(in srgb, var(--local-accent-4-color) 50%, black);
  --local-accent-4-color-darker-60: color-mix(in srgb, var(--local-accent-4-color) 40%, black);
  --local-accent-4-color-darker-70: color-mix(in srgb, var(--local-accent-4-color) 30%, black);
  --local-accent-4-color-darker-80: color-mix(in srgb, var(--local-accent-4-color) 20%, black);
  --local-accent-4-color-darker-90: color-mix(in srgb, var(--local-accent-4-color) 10%, black);
  --local-accent-4-color-darker-100: color-mix(in srgb, var(--local-accent-4-color) 0%, black);
}

a {
    color: var(--local-link-color);
}

a:hover {
    color: var(--local-hover-link-color)
}

@keyframes cursor-blink {
    0%, 100% { opacity: 1; }
    50% { opacity: 0; }
}
.typewriter-cursor {
    margin-left: 0.05em;
    font-weight: bold;
    animation: cursor-blink 0.7s infinite;
}

.text-highlight {
    position: relative;
    z-index: 2;
}

/* Specific highlight styles — stroke color follows current text color via mask */
.text-highlight-underline::after, .text-highlight-circle::after, .text-highlight-scribble::after, .text-highlight-jagged::after, .text-highlight-cross::after, .text-highlight-highlight7::after, .text-highlight-highlight8::after, .text-highlight-highlight9::after, .text-highlight-highlight10::after, .text-highlight-highlight11::after, .text-highlight-highlight12::after, .text-highlight-highlight13::after, .text-highlight-highlight14::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1; /* Lower z-index to appear behind text */
    background-color: var(--local-highlight-color, currentColor);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
}

.text-highlight-underline::after {
    -webkit-mask-image: url('data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 fill=%22none%22 viewBox=%220 0 100 44%22 preserveAspectRatio=%22none%22%3E%3Cpath stroke=%22%23000%22 stroke-linecap=%22round%22 stroke-width=%223%22 d=%22M0 43h100%22 /%3E%3C/svg%3E');
    mask-image: url('data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 fill=%22none%22 viewBox=%220 0 100 44%22 preserveAspectRatio=%22none%22%3E%3Cpath stroke=%22%23000%22 stroke-linecap=%22round%22 stroke-width=%223%22 d=%22M0 43h100%22 /%3E%3C/svg%3E');
}

.text-highlight-circle::after {
    -webkit-mask-image: url('data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 fill=%22none%22 viewBox=%220 0 100 50%22 preserveAspectRatio=%22none%22%3E%3Cpath stroke=%22%23000%22 stroke-linecap=%22round%22 stroke-width=%223%22 d=%22M34.028 35.455c55.063 1.688 68.872 0 66.226-18.645C98 2.671 69.454 0 49 0S-2 2.671-2 17.727 23.113 39 72.059 40.56%22 /%3E%3C/svg%3E');
    mask-image: url('data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 fill=%22none%22 viewBox=%220 0 100 50%22 preserveAspectRatio=%22none%22%3E%3Cpath stroke=%22%23000%22 stroke-linecap=%22round%22 stroke-width=%223%22 d=%22M34.028 35.455c55.063 1.688 68.872 0 66.226-18.645C98 2.671 69.454 0 49 0S-2 2.671-2 17.727 23.113 39 72.059 40.56%22 /%3E%3C/svg%3E');
}

.text-highlight-scribble::after {
    -webkit-mask-image: url('data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 fill=%22none%22 viewBox=%220 0 100 44%22 preserveAspectRatio=%22none%22%3E%3Cpath stroke=%22%23000%22 stroke-linecap=%22round%22 stroke-width=%222.5%22 d=%22M0 38c5-4 10 2 18-2s12 6 20 1 10-5 18 1 12 5 20-1 8-4 14 2 24-1%22 /%3E%3C/svg%3E');
    mask-image: url('data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 fill=%22none%22 viewBox=%220 0 100 44%22 preserveAspectRatio=%22none%22%3E%3Cpath stroke=%22%23000%22 stroke-linecap=%22round%22 stroke-width=%222.5%22 d=%22M0 38c5-4 10 2 18-2s12 6 20 1 10-5 18 1 12 5 20-1 8-4 14 2 24-1%22 /%3E%3C/svg%3E');
}

.text-highlight-jagged::after {
    -webkit-mask-image: url('data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 fill=%22none%22 viewBox=%220 0 100 54%22 preserveAspectRatio=%22none%22%3E%3Cpath stroke=%22%23000%22 stroke-linecap=%22round%22 stroke-width=%223%22 d=%22M0 48q21.778-10.889 10.889 0c-5.445 5.444-5.445 5.444 5.444 0q21.778-10.889 10.89 0c-5.445 5.444-5.445 5.444 5.444 0q21.777-10.889 10.889 0C38.11 54.444 38.11 52.444 49 48q21.778-10.889 10.889 0c-5.445 5.444-5.445 5.444 5.444 0q21.778-10.889 10.89 0c-5.445 5.444-5.445 5.444 5.444 0q21.778-10.889 10.89 0%22 /%3E%3C/svg%3E');
    mask-image: url('data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 fill=%22none%22 viewBox=%220 0 100 54%22 preserveAspectRatio=%22none%22%3E%3Cpath stroke=%22%23000%22 stroke-linecap=%22round%22 stroke-width=%223%22 d=%22M0 48q21.778-10.889 10.889 0c-5.445 5.444-5.445 5.444 5.444 0q21.778-10.889 10.89 0c-5.445 5.444-5.445 5.444 5.444 0q21.777-10.889 10.889 0C38.11 54.444 38.11 52.444 49 48q21.778-10.889 10.889 0c-5.445 5.444-5.445 5.444 5.444 0q21.778-10.889 10.89 0c-5.445 5.444-5.445 5.444 5.444 0q21.778-10.889 10.89 0%22 /%3E%3C/svg%3E');
}

.text-highlight-cross::after {
    -webkit-mask-image: url('data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 fill=%22none%22 viewBox=%220 0 100 44%22 preserveAspectRatio=%22none%22%3E%3Cpath stroke=%22%23000%22 stroke-linecap=%22round%22 stroke-width=%223%22 d=%22m0 0 100 43M0 43 100 0%22 /%3E%3C/svg%3E');
    mask-image: url('data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 fill=%22none%22 viewBox=%220 0 100 44%22 preserveAspectRatio=%22none%22%3E%3Cpath stroke=%22%23000%22 stroke-linecap=%22round%22 stroke-width=%223%22 d=%22m0 0 100 43M0 43 100 0%22 /%3E%3C/svg%3E');
}

.text-highlight-highlight7::after {
    -webkit-mask-image: url('data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 fill=%22none%22 viewBox=%220 0 100 44%22 preserveAspectRatio=%22none%22%3E%3Cpath stroke=%22%23000%22 stroke-linecap=%22round%22 stroke-width=%222.5%22 d=%22M0 10Q50 0 100 10M0 44Q50 34 100 44%22 /%3E%3C/svg%3E');
    mask-image: url('data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 fill=%22none%22 viewBox=%220 0 100 44%22 preserveAspectRatio=%22none%22%3E%3Cpath stroke=%22%23000%22 stroke-linecap=%22round%22 stroke-width=%222.5%22 d=%22M0 10Q50 0 100 10M0 44Q50 34 100 44%22 /%3E%3C/svg%3E');
}

.text-highlight-highlight8::after {
    -webkit-mask-image: url('data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 fill=%22none%22 viewBox=%220 0 100 44%22 preserveAspectRatio=%22none%22%3E%3Cpath stroke=%22%23000%22 stroke-linecap=%22round%22 stroke-width=%222%22 d=%22M0 34Q50 44 100 34%22 /%3E%3C/svg%3E');
    mask-image: url('data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 fill=%22none%22 viewBox=%220 0 100 44%22 preserveAspectRatio=%22none%22%3E%3Cpath stroke=%22%23000%22 stroke-linecap=%22round%22 stroke-width=%222%22 d=%22M0 34Q50 44 100 34%22 /%3E%3C/svg%3E');
}

.text-highlight-highlight9::after {
    -webkit-mask-image: url('data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 fill=%22none%22 viewBox=%220 0 100 44%22 preserveAspectRatio=%22none%22%3E%3Cpath stroke=%22%23000%22 stroke-linecap=%22round%22 stroke-width=%222%22 d=%22M0 44Q50 34 100 44%22 /%3E%3C/svg%3E');
    mask-image: url('data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 fill=%22none%22 viewBox=%220 0 100 44%22 preserveAspectRatio=%22none%22%3E%3Cpath stroke=%22%23000%22 stroke-linecap=%22round%22 stroke-width=%222%22 d=%22M0 44Q50 34 100 44%22 /%3E%3C/svg%3E');
}

.text-highlight-highlight10::after {
    -webkit-mask-image: url('data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 fill=%22none%22 viewBox=%220 0 100 44%22 preserveAspectRatio=%22none%22%3E%3Cpath stroke=%22%23000%22 stroke-linecap=%22round%22 stroke-width=%222.5%22 d=%22M0 40Q50 32 100 40M12 42Q50 38 56 40M20 46Q50 40 80 44%22 /%3E%3C/svg%3E');
    mask-image: url('data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 fill=%22none%22 viewBox=%220 0 100 44%22 preserveAspectRatio=%22none%22%3E%3Cpath stroke=%22%23000%22 stroke-linecap=%22round%22 stroke-width=%222.5%22 d=%22M0 40Q50 32 100 40M12 42Q50 38 56 40M20 46Q50 40 80 44%22 /%3E%3C/svg%3E');
}

.text-highlight-highlight11::after {
    -webkit-mask-image: url('data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 fill=%22none%22 viewBox=%220 0 100 44%22 preserveAspectRatio=%22none%22%3E%3Cpath stroke=%22%23000%22 stroke-linecap=%22round%22 stroke-width=%222%22 d=%22M0 40Q40 35 70 42M10 35Q40 29 90 41M0 40Q50 30 85 40%22 /%3E%3C/svg%3E');
    mask-image: url('data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 fill=%22none%22 viewBox=%220 0 100 44%22 preserveAspectRatio=%22none%22%3E%3Cpath stroke=%22%23000%22 stroke-linecap=%22round%22 stroke-width=%222%22 d=%22M0 40Q40 35 70 42M10 35Q40 29 90 41M0 40Q50 30 85 40%22 /%3E%3C/svg%3E');
}

.text-highlight-highlight12::after {
    -webkit-mask-image: url('data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 fill=%22none%22 viewBox=%220 0 100 44%22 preserveAspectRatio=%22none%22%3E%3Cpath stroke=%22%23000%22 stroke-linecap=%22round%22 stroke-width=%223%22 d=%22m0 0 100 43M0 0%22 /%3E%3C/svg%3E');
    mask-image: url('data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 fill=%22none%22 viewBox=%220 0 100 44%22 preserveAspectRatio=%22none%22%3E%3Cpath stroke=%22%23000%22 stroke-linecap=%22round%22 stroke-width=%223%22 d=%22m0 0 100 43M0 0%22 /%3E%3C/svg%3E');
}

.text-highlight-highlight13::after {
    -webkit-mask-image: url('data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 44%22 preserveAspectRatio=%22none%22%3E%3Crect x=%220%22 y=%2220%22 width=%22100%22 height=%226%22 fill=%22%23000%22 /%3E%3C/svg%3E');
    mask-image: url('data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 44%22 preserveAspectRatio=%22none%22%3E%3Crect x=%220%22 y=%2220%22 width=%22100%22 height=%226%22 fill=%22%23000%22 /%3E%3C/svg%3E');
}

.text-highlight-highlight14::after {
    -webkit-mask-image: url('data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 fill=%22none%22 viewBox=%220 0 100 50%22 preserveAspectRatio=%22none%22%3E%3Cpath stroke=%22%23000%22 stroke-linecap=%22round%22 stroke-width=%223%22 d=%22M15 50L56 48C80 50 104 30 100 22C96 8 78 0 50 0C22 0 4 8 0 22C-4 32 18 50 36 42%22 /%3E%3C/svg%3E');
    mask-image: url('data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 fill=%22none%22 viewBox=%220 0 100 50%22 preserveAspectRatio=%22none%22%3E%3Cpath stroke=%22%23000%22 stroke-linecap=%22round%22 stroke-width=%223%22 d=%22M15 50L56 48C80 50 104 30 100 22C96 8 78 0 50 0C22 0 4 8 0 22C-4 32 18 50 36 42%22 /%3E%3C/svg%3E');
}

/* Uncomment below to enable device view plugin styles */
/* Device view plugin styles starts — breakpoints match VIEWPORT_DEFINITIONS in viewport-utils.js */
.zp-hidden-all,
.zp-hidden-all.zprow {
    display: none !important;
}

/* mobile: max-width 767px */
@media (max-width: 767px) {
    .zp-hidden-xs,
    .zp-hidden-xs.zprow {
        display: none !important;
    }
}

/* tablet: max-width 991px and min-width 768px */
@media (max-width: 991px) and (min-width: 768px) {
    .zp-hidden-sm,
    .zp-hidden-sm.zprow {
        display: none !important;
    }
}

/* desktop: min-width 992px */
@media (min-width: 992px) {
    .zp-hidden-md,
    .zp-hidden-md.zprow {
        display: none !important;
    }
}
/* Device view plugin styles ends */

/* ============================================
   LIGHTBOX (page-container overlay)
   ============================================ */

.zp-lightbox-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999990;
  display: flex;
  flex-direction: column;
  --zp-lightbox-zoom: 1;
  --zp-lightbox-chrome-height: 60px;
  background: rgba(17, 17, 17, 0.94);
  color: #fff;
  user-select: none;
}

.zp-lightbox-theme-light {
  background: rgba(255, 255, 255, 0.96);
  color: #111;
}

.zp-lightbox-chrome {
  flex: 0 0 var(--zp-lightbox-chrome-height);
  height: var(--zp-lightbox-chrome-height);
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding-inline: 16px;
  background: rgba(0, 0, 0, 0.45);
  position: relative;
  z-index: 2;
}

.zp-lightbox-theme-light .zp-lightbox-chrome {
  background: rgba(0, 0, 0, 0.08);
}

.zp-lightbox-controls {
  display: flex;
  align-items: center;
  gap: 4px;
}

.zp-lightbox-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: inherit;
  cursor: pointer;
}

.zp-lightbox-btn:hover:not(:disabled),
.zp-lightbox-btn:focus-visible {
  background: rgba(255, 255, 255, 0.12);
  outline: none;
}

.zp-lightbox-theme-light .zp-lightbox-btn:hover:not(:disabled),
.zp-lightbox-theme-light .zp-lightbox-btn:focus-visible {
  background: rgba(0, 0, 0, 0.08);
}

.zp-lightbox-btn:disabled {
  opacity: 0.35;
  cursor: default;
}

.zp-lightbox-btn-close:hover:not(:disabled),
.zp-lightbox-btn-close:focus-visible {
  color: #ff6b6b;
}

.zp-lightbox-body {
  flex: 1 1 auto;
  min-height: 0;
  position: relative;
  display: flex;
  flex-direction: column;
}

.zp-lightbox-body > .zpelem-slider,
.zp-lightbox-body > .zpelem-slider.zpslider-lightbox-mode {
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
}

.zp-lightbox-body .zpslider-lightbox-mode > .zpslider-container {
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
}

.zp-lightbox-body .zpslider-lightbox-mode .zpslider-content-container {
  flex: 1 1 auto;
  min-height: 0;
  height: calc(100vh - var(--zp-lightbox-chrome-height) - 96px);
}

.zp-lightbox-body .zpslider-lightbox-mode .zpslider-content {
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  box-shadow: none;
}

.zp-lightbox-body .zpslider-lightbox-mode .zpslider-content-inner {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.zp-lightbox-slide {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 16px;
  box-sizing: border-box;
}

.zp-lightbox-slide-img {
  max-width: 100%;
  max-height: calc(100vh - var(--zp-lightbox-chrome-height) - 140px);
  object-fit: contain;
  transform: scale(var(--zp-lightbox-zoom, 1));
  transform-origin: center center;
  transition: transform 0.2s ease;
}

.zp-lightbox-slide-caption {
  max-width: min(720px, 90%);
  text-align: center;
  font-size: 14px;
  line-height: 1.4;
  opacity: 0.9;
}

.zp-lightbox-body .zpslider-lightbox-mode .zpslider-arrows-container {
  z-index: 3;
}

.zp-lightbox-body .zpslider-lightbox-mode .zpslider-arrow-left,
.zp-lightbox-body .zpslider-lightbox-mode .zpslider-arrow-right {
  color: inherit;
}

.zp-lightbox-body .zpslider-lightbox-mode .zpslider-arrows-container svg {
  fill: currentColor;
}

.zp-lightbox-body .zpslider-lightbox-mode .zpslider-controller-type-05.zpslider-controller-container {
  flex: 0 0 auto;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  flex-wrap: nowrap;
  justify-content: center;
  padding-block: 10px 16px;
  background: transparent;
}

.zp-lightbox-body .zpslider-lightbox-mode .zpslider-controller-type-05 .zpslider-controller {
  border-color: rgba(255, 255, 255, 0.45);
}

.zp-lightbox-theme-light .zpslider-controller-type-05 .zpslider-controller {
  border-color: rgba(0, 0, 0, 0.25);
}

.zp-lightbox-body .zpslider-lightbox-mode .zpslider-controller-type-05 .zpslider-controller:hover,
.zp-lightbox-body .zpslider-lightbox-mode .zpslider-controller-type-05 .zpslider-controller.zpslider-controller-active {
  border-color: #fff;
  box-shadow: 0 0 0 1px #fff;
}

.zp-lightbox-theme-light .zpslider-controller-type-05 .zpslider-controller:hover,
.zp-lightbox-theme-light .zpslider-controller-type-05 .zpslider-controller.zpslider-controller-active {
  border-color: #111;
  box-shadow: 0 0 0 1px #111;
}

@media (max-width: 767px) {
  .zp-lightbox-overlay {
    --zp-lightbox-chrome-height: 48px;
  }

  .zp-lightbox-btn {
    width: 44px;
    height: 44px;
  }

  .zp-lightbox-body .zpslider-lightbox-mode .zpslider-content-container {
    height: calc(100vh - var(--zp-lightbox-chrome-height) - 88px);
  }

  .zp-lightbox-slide-img {
    max-height: calc(100vh - var(--zp-lightbox-chrome-height) - 120px);
  }

  .zp-lightbox-body .zpslider-lightbox-mode .zpslider-controller-type-05 .zpslider-controller {
    width: 48px;
    height: 48px;
    min-width: 48px;
    min-height: 48px;
  }
}
@font-face {
   font-family:"Montez";
   font-weight:400;
   font-style:normal;
   font-display:swap;
   src:url("//static.zohocdn.com/webfonts/montezregular/font_latin.woff2") format("woff2"),
       url("//static.zohocdn.com/webfonts/montezregular/font_latin.woff") format("woff");
   unicode-range: U+20-7E, U+A0-FF, U+131, U+152-153, U+2C6, U+2DA, U+2DC, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20AC, U+2212, U+2215;
}
@font-face {
   font-family:"Montez";
   font-weight:400;
   font-style:normal;
   font-display:swap;
   src:url("//static.zohocdn.com/webfonts/montezregular/font_latin_ext.woff2") format("woff2"),
       url("//static.zohocdn.com/webfonts/montezregular/font_latin_ext.woff") format("woff");
   unicode-range: U+100-130, U+132-151, U+154-17E, U+192, U+1FC-1FF, U+237, U+1E80-1E85, U+1EF2-1EF3;
}
@font-face {
   font-family:"Montez";
   font-weight:400;
   font-style:normal;
   font-display:swap;
   src:url("//static.zohocdn.com/webfonts/montezregular/font_others.woff2") format("woff2"),
       url("//static.zohocdn.com/webfonts/montezregular/font_others.woff") format("woff");
   unicode-range: U+2C7, U+2D8-2D9, U+2DB, U+2DD, U+3BC, U+2122, U+2202, U+2248, U+2260, U+2264-2265, U+FB01-FB02;
}
@font-face {
   font-family:"Cabin";
   font-weight:700;
   font-style:normal;
   font-display:swap;
   src:url("//static.zohocdn.com/webfonts/cabinbold/font_latin.woff2") format("woff2"),
       url("//static.zohocdn.com/webfonts/cabinbold/font_latin.woff") format("woff");
   unicode-range: U+20-7E, U+8E, U+9E, U+A0-AE, U+B0-FF, U+131, U+152-153, U+2C6, U+2DA, U+2DC, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2074, U+20AC;
}
@font-face {
   font-family:"Cabin";
   font-weight:700;
   font-style:normal;
   font-display:swap;
   src:url("//static.zohocdn.com/webfonts/cabinbold/font_latin_ext.woff2") format("woff2"),
       url("//static.zohocdn.com/webfonts/cabinbold/font_latin_ext.woff") format("woff");
   unicode-range: U+10C-10D, U+160-161, U+178, U+192, U+237;
}
@font-face {
   font-family:"Cabin";
   font-weight:700;
   font-style:normal;
   font-display:swap;
   src:url("//static.zohocdn.com/webfonts/cabinbold/font_others.woff2") format("woff2"),
       url("//static.zohocdn.com/webfonts/cabinbold/font_others.woff") format("woff");
   unicode-range: U+2C7, U+2070, U+2075-2079, U+2080-2089, U+2122;
}
@font-face {
   font-family:"Cabin";
   font-weight:400;
   font-style:normal;
   font-display:swap;
   src:url("//static.zohocdn.com/webfonts/cabinregular/font_latin.woff2") format("woff2"),
       url("//static.zohocdn.com/webfonts/cabinregular/font_latin.woff") format("woff");
   unicode-range: U+20-7E, U+8E, U+9E, U+A0-AE, U+B0-FF, U+131, U+152-153, U+2C6, U+2DA, U+2DC, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2074, U+20AC;
}
@font-face {
   font-family:"Cabin";
   font-weight:400;
   font-style:normal;
   font-display:swap;
   src:url("//static.zohocdn.com/webfonts/cabinregular/font_latin_ext.woff2") format("woff2"),
       url("//static.zohocdn.com/webfonts/cabinregular/font_latin_ext.woff") format("woff");
   unicode-range: U+10C-10D, U+160-161, U+178, U+192, U+237;
}
@font-face {
   font-family:"Cabin";
   font-weight:400;
   font-style:normal;
   font-display:swap;
   src:url("//static.zohocdn.com/webfonts/cabinregular/font_others.woff2") format("woff2"),
       url("//static.zohocdn.com/webfonts/cabinregular/font_others.woff") format("woff");
   unicode-range: U+2C7, U+2070, U+2075-2079, U+2080-2089, U+2122;
}
@font-face {
   font-family:"Montserrat";
   font-weight:700;
   font-style:normal;
   font-display:swap;
   src:url("//static.zohocdn.com/webfonts/montserratbold/font_cyrillic_ext.woff2") format("woff2"),
       url("//static.zohocdn.com/webfonts/montserratbold/font_cyrillic_ext.woff") format("woff");
   unicode-range: U+462-463, U+46A-46B, U+472-475, U+48A-48F, U+492-4A5, U+4A8-4AF, U+4B2-4C4, U+4C6-4FF, U+510-513, U+51A-51D, U+524-529, U+52E-52F, U+25CC;
}
@font-face {
   font-family:"Montserrat";
   font-weight:700;
   font-style:normal;
   font-display:swap;
   src:url("//static.zohocdn.com/webfonts/montserratbold/font_latin.woff2") format("woff2"),
       url("//static.zohocdn.com/webfonts/montserratbold/font_latin.woff") format("woff");
   unicode-range: U+20-7E, U+A0-FF, U+131, U+152-153, U+2C6, U+2DA, U+2DC, U+2007-200B, U+2010, U+2012-2015, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2032-2033, U+2039-203A, U+2044, U+2052, U+2074, U+20AC, U+2212, U+2215, U+25CC;
}
@font-face {
   font-family:"Montserrat";
   font-weight:700;
   font-style:normal;
   font-display:swap;
   src:url("//static.zohocdn.com/webfonts/montserratbold/font_latin_ext.woff2") format("woff2"),
       url("//static.zohocdn.com/webfonts/montserratbold/font_latin_ext.woff") format("woff");
   unicode-range: U+100-130, U+132-151, U+154-17F, U+18F, U+192, U+1A0-1A1, U+1AF-1B0, U+1B7, U+1C4-1CE, U+1D3-1D4, U+1E4-1EB, U+1EE-1EF, U+1FA-21B, U+21E-21F, U+22A-22D, U+230-233, U+237, U+1E08-1E09, U+1E0C-1E0F, U+1E14-1E17, U+1E1C-1E1D, U+1E20-1E21, U+1E24-1E25, U+1E2A-1E2B, U+1E2E-1E2F, U+1E36-1E37, U+1E3A-1E3B, U+1E42-1E49, U+1E4C-1E53, U+1E5A-1E5B, U+1E5E-1E69, U+1E6C-1E6F, U+1E78-1E7B, U+1E80-1E85, U+1E8E-1E8F, U+1E92-1E93, U+1E97, U+1E9E, U+1EA0-1EF9, U+20A1, U+20A3-20A4, U+20A6-20A7, U+20A9, U+20AB, U+20AD-20AE, U+20B1-20B2, U+20B4-20B5, U+20B8, U+20BA, U+20BC-20BD, U+25CC, U+A78B-A78C;
}
@font-face {
   font-family:"Montserrat";
   font-weight:700;
   font-style:normal;
   font-display:swap;
   src:url("//static.zohocdn.com/webfonts/montserratbold/font_others.woff2") format("woff2"),
       url("//static.zohocdn.com/webfonts/montserratbold/font_others.woff") format("woff");
   unicode-range: U+259, U+292, U+2B9-2BC, U+2BE-2BF, U+2C7-2CC, U+2D8-2D9, U+2DB, U+2DD, U+300-304, U+306-30C, U+30F, U+311-312, U+31B, U+323-324, U+326-328, U+32E, U+331, U+335-338, U+394, U+3A9, U+3BC, U+3C0, U+2070, U+2075-2079, U+2080-2089, U+20B9, U+2113, U+2122, U+2126, U+212A-212B, U+212E, U+2153-2154, U+215B-215E, U+2190-2199, U+2202, U+2205-2206, U+220F, U+2211, U+2219-221A, U+221E, U+222B, U+2248, U+2260, U+2264-2265, U+25A0-25A1, U+25B2-25B3, U+25B6-25B7, U+25BC-25BD, U+25C0-25C1, U+25C6-25C7, U+25CA, U+25CC, U+27E8-27E9, U+FB01-FB02;
}
@font-face {
   font-family:"Montserrat";
   font-weight:700;
   font-style:normal;
   font-display:swap;
   src:url("//static.zohocdn.com/webfonts/montserratbold/font_cyrillic.woff2") format("woff2"),
       url("//static.zohocdn.com/webfonts/montserratbold/font_cyrillic.woff") format("woff");
   unicode-range: U+400-45F, U+490-491, U+4B0-4B1, U+2116, U+25CC;
}
@font-face {
   font-family:"Montserrat";
   font-weight:400;
   font-style:normal;
   font-display:swap;
   src:url("//static.zohocdn.com/webfonts/montserratregular/font_cyrillic_ext.woff2") format("woff2"),
       url("//static.zohocdn.com/webfonts/montserratregular/font_cyrillic_ext.woff") format("woff");
   unicode-range: U+462-463, U+46A-46B, U+472-475, U+48A-48F, U+492-4A5, U+4A8-4AF, U+4B2-4C4, U+4C6-4FF, U+510-513, U+51A-51D, U+524-529, U+52E-52F, U+25CC;
}
@font-face {
   font-family:"Montserrat";
   font-weight:400;
   font-style:normal;
   font-display:swap;
   src:url("//static.zohocdn.com/webfonts/montserratregular/font_latin.woff2") format("woff2"),
       url("//static.zohocdn.com/webfonts/montserratregular/font_latin.woff") format("woff");
   unicode-range: U+20-7E, U+A0-FF, U+131, U+152-153, U+2C6, U+2DA, U+2DC, U+2007-200B, U+2010, U+2012-2015, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2032-2033, U+2039-203A, U+2044, U+2052, U+2074, U+20AC, U+2212, U+2215, U+25CC;
}
@font-face {
   font-family:"Montserrat";
   font-weight:400;
   font-style:normal;
   font-display:swap;
   src:url("//static.zohocdn.com/webfonts/montserratregular/font_latin_ext.woff2") format("woff2"),
       url("//static.zohocdn.com/webfonts/montserratregular/font_latin_ext.woff") format("woff");
   unicode-range: U+100-130, U+132-151, U+154-17F, U+18F, U+192, U+1A0-1A1, U+1AF-1B0, U+1B7, U+1C4-1CE, U+1D3-1D4, U+1E4-1EB, U+1EE-1EF, U+1FA-21B, U+21E-21F, U+22A-22D, U+230-233, U+237, U+1E08-1E09, U+1E0C-1E0F, U+1E14-1E17, U+1E1C-1E1D, U+1E20-1E21, U+1E24-1E25, U+1E2A-1E2B, U+1E2E-1E2F, U+1E36-1E37, U+1E3A-1E3B, U+1E42-1E49, U+1E4C-1E53, U+1E5A-1E5B, U+1E5E-1E69, U+1E6C-1E6F, U+1E78-1E7B, U+1E80-1E85, U+1E8E-1E8F, U+1E92-1E93, U+1E97, U+1E9E, U+1EA0-1EF9, U+20A1, U+20A3-20A4, U+20A6-20A7, U+20A9, U+20AB, U+20AD-20AE, U+20B1-20B2, U+20B4-20B5, U+20B8, U+20BA, U+20BC-20BD, U+25CC, U+A78B-A78C;
}
@font-face {
   font-family:"Montserrat";
   font-weight:400;
   font-style:normal;
   font-display:swap;
   src:url("//static.zohocdn.com/webfonts/montserratregular/font_others.woff2") format("woff2"),
       url("//static.zohocdn.com/webfonts/montserratregular/font_others.woff") format("woff");
   unicode-range: U+259, U+292, U+2B9-2BC, U+2BE-2BF, U+2C7-2CC, U+2D8-2D9, U+2DB, U+2DD, U+300-304, U+306-30C, U+30F, U+311-312, U+31B, U+323-324, U+326-328, U+32E, U+331, U+335-338, U+394, U+3A9, U+3BC, U+3C0, U+2070, U+2075-2079, U+2080-2089, U+20B9, U+2113, U+2122, U+2126, U+212A-212B, U+212E, U+2153-2154, U+215B-215E, U+2190-2199, U+2202, U+2205-2206, U+220F, U+2211, U+2219-221A, U+221E, U+222B, U+2248, U+2260, U+2264-2265, U+25A0-25A1, U+25B2-25B3, U+25B6-25B7, U+25BC-25BD, U+25C0-25C1, U+25C6-25C7, U+25CA, U+25CC, U+27E8-27E9, U+FB01-FB02;
}
@font-face {
   font-family:"Montserrat";
   font-weight:400;
   font-style:normal;
   font-display:swap;
   src:url("//static.zohocdn.com/webfonts/montserratregular/font_cyrillic.woff2") format("woff2"),
       url("//static.zohocdn.com/webfonts/montserratregular/font_cyrillic.woff") format("woff");
   unicode-range: U+400-45F, U+490-491, U+4B0-4B1, U+2116, U+25CC;
}
@font-face {
   font-family:"Open Sans";
   font-weight:400;
   font-style:normal;
   font-display:swap;
   src:url("//static.zohocdn.com/webfonts/opensans/font_greek.woff2") format("woff2"),
       url("//static.zohocdn.com/webfonts/opensans/font_greek.woff") format("woff");
   unicode-range: U+384-38A, U+38C, U+38E-3A1, U+3A3-3CE, U+3D1-3D2, U+3D6;
}
@font-face {
   font-family:"Open Sans";
   font-weight:400;
   font-style:normal;
   font-display:swap;
   src:url("//static.zohocdn.com/webfonts/opensans/font_cyrillic_ext.woff2") format("woff2"),
       url("//static.zohocdn.com/webfonts/opensans/font_cyrillic_ext.woff") format("woff");
   unicode-range: U+460-486, U+488-48F, U+492-4AF, U+4B2-513;
}
@font-face {
   font-family:"Open Sans";
   font-weight:400;
   font-style:normal;
   font-display:swap;
   src:url("//static.zohocdn.com/webfonts/opensans/font_latin.woff2") format("woff2"),
       url("//static.zohocdn.com/webfonts/opensans/font_latin.woff") format("woff");
   unicode-range: U+20-7E, U+A0-FF, U+131, U+152-153, U+2C6, U+2DA, U+2DC, U+2000-200B, U+2013-2015, U+2017-201E, U+2020-2022, U+2026, U+2030, U+2032-2033, U+2039-203A, U+203C, U+2044, U+2074, U+20AC, U+2212;
}
@font-face {
   font-family:"Open Sans";
   font-weight:400;
   font-style:normal;
   font-display:swap;
   src:url("//static.zohocdn.com/webfonts/opensans/font_latin_ext.woff2") format("woff2"),
       url("//static.zohocdn.com/webfonts/opensans/font_latin_ext.woff") format("woff");
   unicode-range: U+100-130, U+132-151, U+154-17F, U+192, U+1A0-1A1, U+1AF-1B0, U+1F0, U+1FA-1FF, U+218-21B, U+237, U+1E00-1E01, U+1E3E-1E3F, U+1E80-1E85, U+1EA0-1EF9, U+20A3-20A4, U+20A7, U+20AB;
}
@font-face {
   font-family:"Open Sans";
   font-weight:400;
   font-style:normal;
   font-display:swap;
   src:url("//static.zohocdn.com/webfonts/opensans/font_cyrillic.woff2") format("woff2"),
       url("//static.zohocdn.com/webfonts/opensans/font_cyrillic.woff") format("woff");
   unicode-range: U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}
@font-face {
   font-family:"Open Sans";
   font-weight:400;
   font-style:normal;
   font-display:swap;
   src:url("//static.zohocdn.com/webfonts/opensans/font_others.woff2") format("woff2"),
       url("//static.zohocdn.com/webfonts/opensans/font_others.woff") format("woff");
   unicode-range: U+2BC, U+2C7, U+2C9, U+2D8-2D9, U+2DB, U+2DD, U+2F3, U+300-301, U+303, U+309, U+30F, U+323, U+1F4D, U+2070, U+2075-2079, U+207F, U+2105, U+2113, U+2120, U+2122, U+2126, U+212E, U+215B-215E, U+2202, U+2206, U+220F, U+2211, U+221A, U+221E, U+222B, U+2248, U+2260, U+2264-2265, U+25CA, U+FB00-FB04, U+FEFF, U+FFFC-FFFD;
}
@font-face {
   font-family:"Open Sans";
   font-weight:700;
   font-style:normal;
   font-display:swap;
   src:url("//static.zohocdn.com/webfonts/opensansbold/font_greek.woff2") format("woff2"),
       url("//static.zohocdn.com/webfonts/opensansbold/font_greek.woff") format("woff");
   unicode-range: U+384-38A, U+38C, U+38E-3A1, U+3A3-3CE, U+3D1-3D2, U+3D6;
}
@font-face {
   font-family:"Open Sans";
   font-weight:700;
   font-style:normal;
   font-display:swap;
   src:url("//static.zohocdn.com/webfonts/opensansbold/font_cyrillic_ext.woff2") format("woff2"),
       url("//static.zohocdn.com/webfonts/opensansbold/font_cyrillic_ext.woff") format("woff");
   unicode-range: U+460-486, U+488-48F, U+492-4AF, U+4B2-513;
}
@font-face {
   font-family:"Open Sans";
   font-weight:700;
   font-style:normal;
   font-display:swap;
   src:url("//static.zohocdn.com/webfonts/opensansbold/font_latin.woff2") format("woff2"),
       url("//static.zohocdn.com/webfonts/opensansbold/font_latin.woff") format("woff");
   unicode-range: U+20-7E, U+A0-FF, U+131, U+152-153, U+2C6, U+2DA, U+2DC, U+2000-200B, U+2013-2015, U+2017-201E, U+2020-2022, U+2026, U+2030, U+2032-2033, U+2039-203A, U+203C, U+2044, U+2074, U+20AC, U+2212;
}
@font-face {
   font-family:"Open Sans";
   font-weight:700;
   font-style:normal;
   font-display:swap;
   src:url("//static.zohocdn.com/webfonts/opensansbold/font_latin_ext.woff2") format("woff2"),
       url("//static.zohocdn.com/webfonts/opensansbold/font_latin_ext.woff") format("woff");
   unicode-range: U+100-130, U+132-151, U+154-17F, U+192, U+1A0-1A1, U+1AF-1B0, U+1F0, U+1FA-1FF, U+218-21B, U+237, U+1E00-1E01, U+1E3E-1E3F, U+1E80-1E85, U+1EA0-1EF9, U+20A3-20A4, U+20A7, U+20AB;
}
@font-face {
   font-family:"Open Sans";
   font-weight:700;
   font-style:normal;
   font-display:swap;
   src:url("//static.zohocdn.com/webfonts/opensansbold/font_cyrillic.woff2") format("woff2"),
       url("//static.zohocdn.com/webfonts/opensansbold/font_cyrillic.woff") format("woff");
   unicode-range: U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}
@font-face {
   font-family:"Open Sans";
   font-weight:700;
   font-style:normal;
   font-display:swap;
   src:url("//static.zohocdn.com/webfonts/opensansbold/font_others.woff2") format("woff2"),
       url("//static.zohocdn.com/webfonts/opensansbold/font_others.woff") format("woff");
   unicode-range: U+2BC, U+2C7, U+2C9, U+2D8-2D9, U+2DB, U+2DD, U+2F3, U+300-301, U+303, U+309, U+30F, U+323, U+1F4D, U+2070, U+2075-2079, U+207F, U+2105, U+2113, U+2120, U+2122, U+2126, U+212E, U+215B-215E, U+2202, U+2206, U+220F, U+2211, U+221A, U+221E, U+222B, U+2248, U+2260, U+2264-2265, U+25CA, U+FB00-FB04, U+FEFF, U+FFFC-FFFD;
}
.zppage-template{position:relative;width:100%}.zpelem-container{width:100%;display:flex;min-height:20px;flex-flow:column}@keyframes zp-menu-slide-in{0%{translate:0-100%;opacity:.6}to{translate:0 0;opacity:1}}@keyframes zp-overlap-sticky-reveal{0%{translate:0-100%;opacity:0}to{translate:0 0;opacity:1}}.zpheader-container{width:100%;--local-bg-color:var(--default-bg-color);--local-border-color:var(--default-border-color);--zp-overlap-hide-duration:0.15s;--zp-overlap-reveal-duration:0.45s}.zpheader-container.highlight-container{--local-bg-color:var(--highlight-bg-color);--local-border-color:var(--highlight-border-color)}header .zpelement:not(.zpmm .zpelement),header.zpelement{margin-block-start:0}.zpcontainer-overlap{position:fixed;width:100%;top:0;z-index:50;min-height:var(--zp-overlap-measured-height, max-content)}.zppage-template>.zpcontainer-overlap[data-header-scroll-behavior=fixed],.zppage-template>.zpcontainer-overlap[data-header-scroll-behavior=sticky]:not([data-scrolled=true]){position:absolute;inset-block-start:0;inset-inline-start:0;inset-inline-end:0}.zppage-template>.zpcontainer-overlap[data-header-scroll-behavior=sticky][data-scrolled=true]{position:fixed;inset-block-start:0;inset-inline-start:0;inset-inline-end:0;background-color:transparent;z-index:50}.zppage-template:has(>.zpcontainer-overlap){--zp-overlap-offset:var(--zp-overlap-height, 0px);--zp-slider-content-offset:var(--zp-overlap-height, 0px)}.zppage-template>.zpcontainer-overlap+.zpelem-container>.zpcontainer-fluid>.zpelem-container:first-of-type,.zppage-template>.zpcontainer-overlap+.zpelem-container>.zpcontainer-fluid>.zpelement:first-of-type,.zppage-template>.zpcontainer-overlap+.zpelem-container>.zpcontainer-fluid>.zpsection:first-of-type,.zppage-template>.zpcontainer-overlap+.zpelem-container>.zpelem-container:first-of-type,.zppage-template>.zpcontainer-overlap+.zpelem-container>.zpelement:first-of-type,.zppage-template>.zpcontainer-overlap+.zpelem-container>.zpsection:first-of-type{--zp-overlap-bg-extend:var(--zp-overlap-offset, 0px);padding-block-start:var(--zp-overlap-offset, 0px);box-sizing:border-box}.zppage-template>.zpcontainer-overlap+.zpelem-container>.zpcontainer-fluid>.zpelem-slider:first-of-type .zpslider-content-inner,.zppage-template>.zpcontainer-overlap+.zpelem-container>.zpelem-slider:first-of-type .zpslider-content-inner,.zppage-template>.zpcontainer-overlap+.zpelem-container>[data-element-type=slider]:first-of-type .zpslider-content-inner{padding-block-start:var(--zp-slider-content-offset, 0px)}.zpheader-container[data-header-scroll-behavior=sticky]:not(.zpcontainer-overlap):not([data-sticky-header-content=menu-only]){position:sticky;inset-block-start:0;z-index:50}.zpheader-container[data-header-scroll-behavior=sticky]:not(.zpcontainer-overlap)[data-sticky-header-content=menu-only]{position:relative;z-index:50}.zpheader-container[data-header-scroll-behavior=sticky]:not(.zpcontainer-overlap)[data-sticky-header-content=menu-only]>:has(.zpelem-menu){position:static}.zpheader-container[data-header-scroll-behavior=sticky]:not(.zpcontainer-overlap)[data-sticky-header-content=menu-only][data-scrolled=true]>:has(.zpelem-menu){position:fixed;inset-block-start:0;inset-inline-start:0;inset-inline-end:0;z-index:50;animation:zp-menu-slide-in .3s ease-out both}.zpheader-container[data-header-scroll-behavior=sticky]{--zp-sticky-header-bg-color:color-mix(in srgb, var(--local-bg-color) 95%, transparent)}.zpheader-container[data-header-scroll-behavior=sticky]:not([data-sticky-header-content=menu-only]){transition:background-color .3s ease}.zpheader-container[data-header-scroll-behavior=sticky]:not([data-sticky-header-content=menu-only])[data-scrolled=true]{background-color:var(--zp-sticky-header-bg-color)}.zpheader-container[data-header-scroll-behavior=sticky][data-sticky-header-content=menu-only]>:has(.zpelem-menu){transition:background-color .3s ease-out}.zpheader-container[data-header-scroll-behavior=sticky][data-sticky-header-content=menu-only][data-scrolled=true]>:has(.zpelem-menu){background-color:var(--zp-sticky-header-bg-color)}.zpheader-container[data-sticky-header-content=menu-only]>:not(:has(.zpelem-menu)){overflow:hidden;max-height:300px;opacity:1;transition:max-height .35s ease-in-out,opacity .3s ease-in-out,padding-block .35s ease-in-out,margin-block .35s ease-in-out;will-change:max-height,opacity}.zpheader-container[data-sticky-header-content=menu-only][data-scrolled=true]>:not(:has(.zpelem-menu)){max-height:0;opacity:0;pointer-events:none;padding-block:0;margin-block:0}.zpheader-container.zpcontainer-overlap[data-header-scroll-behavior=sticky][data-sticky-phase=hiding]{opacity:0;pointer-events:none;transition:opacity var(--zp-overlap-hide-duration) ease-out}.zpheader-container.zpcontainer-overlap[data-header-scroll-behavior=sticky][data-sticky-phase=sticky]{opacity:1}.zpheader-container.zpcontainer-overlap[data-header-scroll-behavior=sticky]:not([data-sticky-header-content=menu-only])[data-sticky-phase=sticky][data-scrolled=true]{animation:zp-overlap-sticky-reveal var(--zp-overlap-reveal-duration) ease-out both}.zpheader-container.zpcontainer-overlap[data-sticky-header-content=menu-only][data-sticky-phase=sticky][data-scrolled=true]>:has(.zpelem-menu){position:fixed;inset-block-start:0;inset-inline-start:0;inset-inline-end:0;z-index:50;animation:zp-overlap-sticky-reveal var(--zp-overlap-reveal-duration) ease-out both}.zpheader-container.zpcontainer-overlap[data-sticky-header-content=menu-only][data-scrolled=true]{background-color:transparent!important;background-image:none!important}.zpheader-container.zpcontainer-overlap[data-sticky-header-content=menu-only]>:not(:has(.zpelem-menu)){transition:none}.zpheader-container[data-sticky-header-content=menu-only]>:has(.zpelem-menu){will-change:auto}.default-container,.highlight-container{--local-code-snippet-box-shadow-color:#0f0f0f}.default-container{--local-code-snippet-bg-color:var(--default-bg-color);--local-code-snippet-border-color:var(--default-border-color)}.highlight-container{--local-code-snippet-bg-color:var(--highlight-bg-color);--local-code-snippet-border-color:var(--highlight-border-color)}.zpelem-code-snippet{width:100%;--local-bg-color:var(--local-code-snippet-bg-color, var(--default-bg-color));--local-border-color:var(--local-code-snippet-border-color, var(--default-border-color));--local-box-shadow-color:var(--local-code-snippet-box-shadow-color, #0f0f0f)}.zpelem-code-snippet.zpcode-snippet-align-left{align-self:flex-start;margin-inline-end:auto}.zpelem-code-snippet.zpcode-snippet-align-center{align-self:center;margin-inline:auto}.zpelem-code-snippet.zpcode-snippet-align-right{align-self:flex-end;margin-inline-start:auto}.zpelem-code-snippet.zpcode-snippet-align-none{align-self:stretch;margin-inline:0}.zpcode-snippet{width:100%}.zpcode-snippet-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;width:100%;min-height:200px;padding:24px 12px;box-sizing:border-box;text-align:center}.zpcode-snippet-placeholder__icon{display:block;flex-shrink:0}.zpcode-snippet-placeholder__content{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%}.zpcode-snippet-placeholder__title{margin:0;width:100%;font-size:24px;font-weight:600;line-height:32px;color:var(--default-text-color)}.zpcode-snippet-placeholder__edit{display:inline-block;font-size:14px;font-weight:500;line-height:22px;color:var(--default-link-color);cursor:pointer}.zpcode-snippet-placeholder__edit:focus,.zpcode-snippet-placeholder__edit:hover{text-decoration:underline;outline:0}@media all and (min-width:768px) and (max-width:991px){.zpelem-code-snippet.zpcode-snippet-align-tablet-left{align-self:flex-start;margin-inline-end:auto;margin-inline-start:0}.zpelem-code-snippet.zpcode-snippet-align-tablet-center{align-self:center;margin-inline:auto}.zpelem-code-snippet.zpcode-snippet-align-tablet-right{align-self:flex-end;margin-inline-start:auto;margin-inline-end:0}.zpelem-code-snippet.zpcode-snippet-align-tablet-none{align-self:stretch;margin-inline:0}}@media all and (max-width:767px){.zpelem-code-snippet.zpcode-snippet-align-mobile-left{align-self:flex-start;margin-inline-end:auto;margin-inline-start:0}.zpelem-code-snippet.zpcode-snippet-align-mobile-center{align-self:center;margin-inline:auto}.zpelem-code-snippet.zpcode-snippet-align-mobile-right{align-self:flex-end;margin-inline-start:auto;margin-inline-end:0}.zpelem-code-snippet.zpcode-snippet-align-mobile-none{align-self:stretch;margin-inline:0}}
/* BEGIN zs-custom-css */
/* =========================================================
   NASATYA — FINAL ZOHO SITES STYLES
   ========================================================= */

:root {
  --nas-bg: #1e251d;
  --nas-bg-deep: #151b14;
  --nas-bg-soft: #343e30;

  --nas-paper: #e8e4d8;
  --nas-paper-light: #f1eee6;

  --nas-ink: #20271e;
  --nas-muted: #626b5d;

  --nas-text: #f1eee6;
  --nas-text-muted: #cbd0c3;

  --nas-lemon: #d9c46a;
  --nas-lemon-soft: #eee3a4;
  --nas-lemon-dark: #a9933e;

  --nas-ginger: #bd9567;
  --nas-leaf: #78916f;
  --nas-sage: #a9b19d;

  --nas-line-light: rgba(241, 238, 230, 0.16);
  --nas-line-dark: rgba(32, 39, 30, 0.16);

  --nas-radius: 18px;
  --nas-shadow: 0 18px 42px rgba(7, 10, 6, 0.22);

  --nas-serif: Georgia, "Times New Roman", serif;
  --nas-sans: Arial, Helvetica, sans-serif;
}

/* ---------------------------------------------------------
   Global page scope
   --------------------------------------------------------- */

.nasatya-page {
  overflow: hidden;
  background: var(--nas-bg);
  color: var(--nas-text);
  font-family: var(--nas-sans);
}

.nasatya-page *,
.nasatya-page *::before,
.nasatya-page *::after {
  box-sizing: border-box;
}

.nasatya-page img {
  display: block;
  max-width: 100%;
}

.nasatya-page h1,
.nasatya-page h2,
.nasatya-page h3,
.nasatya-page p {
  margin-top: 0;
}

.nasatya-page h1,
.nasatya-page h2,
.nasatya-page h3 {
  font-family: var(--nas-serif);
  font-weight: 500;
}

.nasatya-page h1 {
  margin-bottom: 1.3rem;
  font-size: clamp(3.2rem, 7vw, 6.6rem);
  line-height: 0.9;
  letter-spacing: -0.07em;
}

.nasatya-page h2 {
  margin-bottom: 1.1rem;
  font-size: clamp(2.3rem, 4.8vw, 4.6rem);
  line-height: 0.98;
  letter-spacing: -0.055em;
}

.nasatya-page h3 {
  margin-bottom: 0.5rem;
  font-size: 1.75rem;
  letter-spacing: -0.04em;
}

.nasatya-page em {
  color: var(--nas-lemon);
  font-style: italic;
}

.nas-shell {
  width: min(1120px, calc(100% - 2.5rem));
  margin: 0 auto;
}

.nas-section {
  padding: 5.5rem 0;
}

.nas-kicker {
  display: inline-block;
  margin-bottom: 1rem;
  padding: 0.38rem 0.65rem;
  border: 1px solid var(--nas-line-light);
  border-radius: 999px;
  background: rgba(241, 238, 230, 0.06);
  color: var(--nas-lemon-soft);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.nas-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0.78rem 1.15rem;
  border: 0;
  border-radius: 999px;
  background: var(--nas-lemon);
  color: var(--nas-ink);
  font-family: var(--nas-sans);
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.07em;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  transition:
    background 180ms ease,
    color 180ms ease,
    transform 180ms ease;
}

.nas-button:hover {
  background: var(--nas-lemon-dark);
  color: var(--nas-paper-light);
  transform: translateY(-2px);
}

.nas-button-outline {
  border: 1px solid rgba(241, 238, 230, 0.34);
  background: transparent;
  color: var(--nas-paper-light);
}

.nas-button-outline:hover {
  border-color: var(--nas-lemon);
  background: rgba(217, 196, 106, 0.14);
  color: var(--nas-paper-light);
}

/* ---------------------------------------------------------
   Code-only Header
   --------------------------------------------------------- */

.nas-code-header {
  position: sticky;
  top: 0;
  z-index: 50;
  border-bottom: 1px solid var(--nas-line-light);
  background: rgba(30, 37, 29, 0.96);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.nas-code-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 76px;
  gap: 1.25rem;
}

.nas-code-brand {
  display: inline-flex;
  flex-direction: column;
  gap: 0.2rem;
  color: var(--nas-paper-light);
  line-height: 1;
  text-decoration: none;
}

.nas-code-brand span {
  font-family: var(--nas-serif);
  font-size: 1.65rem;
  font-weight: 700;
  letter-spacing: 0.12em;
}

.nas-code-brand small {
  color: var(--nas-lemon-soft);
  font-family: var(--nas-sans);
  font-size: 0.43rem;
  font-weight: 850;
  letter-spacing: 0.19em;
}

.nas-code-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.35rem;
}

.nas-code-nav a {
  color: var(--nas-text-muted);
  font-size: 0.67rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-decoration: none;
  text-transform: uppercase;
  transition: color 180ms ease;
}

.nas-code-nav a:hover {
  color: var(--nas-lemon-soft);
}

.nas-code-header-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0.6rem 0.85rem;
  border-radius: 999px;
  background: var(--nas-lemon);
  color: var(--nas-ink);
  font-size: 0.62rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-decoration: none;
  text-transform: uppercase;
}

.nas-code-header-button:hover {
  background: var(--nas-lemon-dark);
  color: var(--nas-paper-light);
}

/* ---------------------------------------------------------
   Home hero
   --------------------------------------------------------- */

.nas-home-hero {
  padding: 6rem 0 5rem;
  background:
    radial-gradient(
      circle at 88% 16%,
      rgba(217, 196, 106, 0.14),
      transparent 25rem
    ),
    radial-gradient(
      circle at 8% 88%,
      rgba(120, 145, 111, 0.1),
      transparent 23rem
    ),
    linear-gradient(135deg, var(--nas-bg-soft), var(--nas-bg));
}

.nas-hero-grid {
  display: grid;
  grid-template-columns: 1fr 0.82fr;
  align-items: center;
  gap: 3rem;
}

.nas-hero-copy p:not(.nas-kicker) {
  max-width: 530px;
  margin-bottom: 1.4rem;
  color: var(--nas-text-muted);
  font-size: 1.04rem;
  line-height: 1.75;
}

.nas-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin: 1.35rem 0 1.5rem;
}

.nas-chip {
  padding: 0.42rem 0.68rem;
  border: 1px solid var(--nas-line-light);
  border-radius: 999px;
  background: rgba(241, 238, 230, 0.06);
  color: var(--nas-text);
  font-size: 0.7rem;
  font-weight: 700;
}

.nas-home-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
}

.nas-hero-art {
  position: relative;
  min-height: 390px;
  overflow: hidden;
  border: 1px solid var(--nas-line-light);
  border-radius: 28px;
  background:
    radial-gradient(
      circle at 50% 35%,
      #e9d984 0,
      #c5af58 28%,
      #7d774d 56%,
      #394437 78%
    );
  box-shadow: var(--nas-shadow);
}

.nas-hero-art::before {
  position: absolute;
  right: 12%;
  bottom: 10%;
  left: 12%;
  height: 48%;
  border: 1px solid rgba(241, 238, 230, 0.35);
  border-bottom: 0;
  border-radius: 220px 220px 0 0;
  content: "";
}

.nas-hero-art::after {
  position: absolute;
  top: 14%;
  left: 14%;
  width: 75px;
  height: 75px;
  border-radius: 50%;
  background: rgba(241, 238, 230, 0.28);
  box-shadow:
    190px 50px 0 -12px rgba(120, 145, 111, 0.82),
    95px 220px 0 4px rgba(189, 149, 103, 0.82);
  content: "";
}

.nas-art-label {
  position: absolute;
  right: 1.3rem;
  bottom: 1.3rem;
  left: 1.3rem;
  z-index: 1;
  color: var(--nas-ink);
  font-family: var(--nas-serif);
  font-size: 1.6rem;
  line-height: 1;
}

.nas-art-label small {
  display: block;
  margin-bottom: 0.4rem;
  color: var(--nas-ink);
  font-family: var(--nas-sans);
  font-size: 0.62rem;
  font-weight: 850;
  letter-spacing: 0.12em;
}

/* ---------------------------------------------------------
   Home product
   --------------------------------------------------------- */

.nas-product-section {
  background: var(--nas-bg);
}

.nas-product-grid {
  display: grid;
  grid-template-columns: 0.82fr 1.18fr;
  gap: 1rem;
}

.nas-product-copy {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 420px;
  padding: 2.2rem;
  border-radius: var(--nas-radius);
  background: var(--nas-paper);
  color: var(--nas-ink);
}

.nas-product-copy .nas-kicker {
  border-color: var(--nas-line-dark);
  background: rgba(32, 39, 30, 0.04);
  color: var(--nas-lemon-dark);
}

.nas-product-copy h2 em {
  color: var(--nas-lemon-dark);
}

.nas-product-copy p {
  max-width: 420px;
  margin-bottom: 1.5rem;
  color: var(--nas-muted);
  line-height: 1.7;
}

.nas-flavour-card {
  position: relative;
  min-height: 420px;
  overflow: hidden;
  padding: 2rem;
  border: 1px solid rgba(217, 196, 106, 0.35);
  border-radius: var(--nas-radius);
  background:
    radial-gradient(
      circle at 20% 42%,
      rgba(241, 238, 230, 0.16),
      transparent 24%
    ),
    linear-gradient(135deg, #677352, #8c8353 60%, #6d5b38);
  box-shadow: var(--nas-shadow);
}

.nas-flavour-mark {
  position: absolute;
  top: 24%;
  left: 28%;
  display: grid;
  width: 150px;
  aspect-ratio: 1;
  place-items: center;
  border: 5px solid rgba(241, 238, 230, 0.6);
  border-radius: 50%;
  background: var(--nas-bg-soft);
  color: var(--nas-paper-light);
  font-family: var(--nas-serif);
  font-size: 1.55rem;
  line-height: 0.9;
  text-align: center;
}

.nas-flavour-dot {
  position: absolute;
  border-radius: 50%;
}

.nas-dot-one {
  top: 24%;
  right: 19%;
  width: 66px;
  height: 66px;
  background: var(--nas-lemon);
}

.nas-dot-two {
  bottom: 20%;
  left: 39%;
  width: 56px;
  height: 56px;
  background: var(--nas-leaf);
}

.nas-dot-three {
  right: 11%;
  bottom: 11%;
  width: 92px;
  height: 92px;
  background: var(--nas-ginger);
}

.nas-flavour-copy {
  position: absolute;
  right: 2rem;
  bottom: 2rem;
  left: 2rem;
  color: var(--nas-text);
}

.nas-flavour-copy p {
  max-width: 340px;
  margin: 0;
  color: rgba(241, 238, 230, 0.8);
  line-height: 1.65;
}

/* ---------------------------------------------------------
   Ingredient sections
   --------------------------------------------------------- */

.nas-ingredients {
  background:
    radial-gradient(
      circle at 8% 12%,
      rgba(217, 196, 106, 0.1),
      transparent 22rem
    ),
    var(--nas-bg-soft);
}

.nas-ingredients-head,
.nas-moment-head,
.nas-section-head {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 3rem;
  align-items: end;
  margin-bottom: 2.5rem;
}

.nas-ingredients-head p,
.nas-moment-head p,
.nas-section-head p {
  max-width: 520px;
  margin: 0;
  color: var(--nas-text-muted);
  line-height: 1.75;
}

.nas-ingredient-grid,
.nas-real-ingredient-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}

.nas-ingredient-card,
.nas-real-ingredient {
  position: relative;
  min-height: 330px;
  overflow: hidden;
  border: 1px solid var(--nas-line-light);
  border-radius: 16px;
  background: var(--nas-bg);
}

.nas-ingredient-card img,
.nas-real-ingredient img {
  width: 100%;
  height: 330px;
  object-fit: cover;
}

.nas-ingredient-card::after,
.nas-real-ingredient::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    transparent 42%,
    rgba(10, 16, 10, 0.9)
  );
  content: "";
}

.nas-ingredient-copy,
.nas-real-ingredient-copy {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  left: 1rem;
  z-index: 1;
}

.nas-ingredient-copy span,
.nas-real-ingredient-copy span {
  display: block;
  margin-bottom: 1.2rem;
  color: var(--nas-lemon-soft);
  font-size: 0.63rem;
  font-weight: 850;
  letter-spacing: 0.12em;
}

.nas-ingredient-copy h3,
.nas-real-ingredient-copy h3 {
  margin-bottom: 0.2rem;
  color: var(--nas-text);
  font-size: 1.55rem;
}

.nas-ingredient-copy p,
.nas-real-ingredient-copy p {
  margin: 0;
  color: var(--nas-text-muted);
  font-size: 0.78rem;
  line-height: 1.5;
}

.nas-inline-action {
  margin-top: 2rem;
  text-align: center;
}

/* ---------------------------------------------------------
   Moments
   --------------------------------------------------------- */

.nas-moments {
  background: var(--nas-bg);
}

.nas-moment-head {
  grid-template-columns: 1.1fr 0.6fr;
}

.nas-moment-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}

.nas-moment-card {
  min-height: 270px;
  padding: 1.5rem;
  border: 1px solid var(--nas-line-light);
  border-radius: var(--nas-radius);
  background: rgba(241, 238, 230, 0.05);
}

.nas-moment-icon {
  position: relative;
  width: 76px;
  height: 62px;
  margin-bottom: 2.4rem;
  overflow: hidden;
  border: 1px solid rgba(241, 238, 230, 0.2);
  border-radius: 14px;
}

/* Morning image */
.nas-morning {
  background: linear-gradient(180deg, #83958b, #c6bc93 58%, #a57b39 59%);
}

.nas-morning::before {
  position: absolute;
  bottom: 7px;
  left: 50%;
  width: 32px;
  height: 32px;
  transform: translateX(-50%);
  border-radius: 50%;
  background: #d5ae50;
  content: "";
}

.nas-morning::after {
  position: absolute;
  right: 7px;
  bottom: 8px;
  width: 31px;
  height: 12px;
  border-radius: 999px;
  background: rgba(241, 238, 230, 0.74);
  box-shadow: -10px 3px 0 -2px rgba(241, 238, 230, 0.74);
  content: "";
}

/* Afternoon image */
.nas-afternoon {
  background: linear-gradient(180deg, #638277, #9bad9d 64%, #607a58 65%);
}

.nas-afternoon::before {
  position: absolute;
  top: 10px;
  right: 12px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #d5b15b;
  content: "";
}

.nas-afternoon::after {
  position: absolute;
  bottom: 12px;
  left: 12px;
  width: 38px;
  height: 13px;
  border-radius: 999px;
  background: rgba(241, 238, 230, 0.75);
  content: "";
}

/* Evening image */
.nas-evening {
  background: linear-gradient(180deg, #2b382e, #465449 66%, #60684f);
}

.nas-evening::before {
  position: absolute;
  top: 13px;
  left: 18px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #e3d59b;
  box-shadow: 10px 1px 0 1px #334138;
  content: "";
}

.nas-evening::after {
  position: absolute;
  top: 11px;
  right: 13px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--nas-paper-light);
  box-shadow:
    -13px 12px 0 0 var(--nas-paper-light),
    5px 19px 0 -1px var(--nas-paper-light);
  content: "";
}

.nas-moment-card p {
  margin: 0;
  color: var(--nas-text-muted);
  line-height: 1.65;
}

/* ---------------------------------------------------------
   Discover Hero
   --------------------------------------------------------- */

.nas-discover-hero {
  padding: 6rem 0 5rem;
  background:
    radial-gradient(
      circle at 85% 14%,
      rgba(217, 196, 106, 0.14),
      transparent 24rem
    ),
    linear-gradient(135deg, var(--nas-bg-soft), var(--nas-bg));
}

.nas-discover-hero-grid {
  display: grid;
  grid-template-columns: 1fr 0.82fr;
  gap: 3.5rem;
  align-items: center;
}

.nas-discover-hero-copy p:not(.nas-kicker) {
  max-width: 520px;
  margin-bottom: 1.6rem;
  color: var(--nas-text-muted);
  font-size: 1.03rem;
  line-height: 1.8;
}

.nas-discover-photo {
  position: relative;
  min-height: 420px;
  overflow: hidden;
  border: 1px solid var(--nas-line-light);
  border-radius: 22px;
  box-shadow: var(--nas-shadow);
}

.nas-discover-photo img {
  width: 100%;
  height: 420px;
  object-fit: cover;
}

.nas-discover-photo::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    transparent 45%,
    rgba(10, 16, 10, 0.82)
  );
  content: "";
}

.nas-discover-photo-copy {
  position: absolute;
  right: 1.2rem;
  bottom: 1.2rem;
  left: 1.2rem;
  z-index: 1;
}

.nas-discover-photo-copy span {
  display: block;
  margin-bottom: 0.3rem;
  color: var(--nas-lemon-soft);
  font-size: 0.65rem;
  font-weight: 850;
  letter-spacing: 0.12em;
}

.nas-discover-photo-copy strong {
  color: var(--nas-text);
  font-family: var(--nas-serif);
  font-size: 1.9rem;
  font-weight: 500;
}

/* ---------------------------------------------------------
   Discover story and principles
   --------------------------------------------------------- */

.nas-story {
  background: var(--nas-bg);
}

.nas-story-grid {
  display: grid;
  grid-template-columns: 0.55fr 1.45fr;
  gap: 5rem;
}

.nas-story-grid p:not(.nas-kicker) {
  max-width: 650px;
  color: var(--nas-text-muted);
  font-size: 1.04rem;
  line-height: 1.82;
}

.nas-story-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  min-height: 44px;
  margin-top: 0.55rem;
  padding: 0.45rem 0.55rem 0.45rem 0.9rem;
  border: 1px solid var(--nas-line-light);
  border-radius: 999px;
  background: rgba(241, 238, 230, 0.06);
  color: var(--nas-text);
  font-family: var(--nas-sans);
  font-size: 0.7rem;
  font-weight: 850;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.nas-story-toggle b {
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  transform-origin: center;
  border-radius: 50%;
  background: var(--nas-lemon);
  color: var(--nas-ink);
  font-size: 1.1rem;
  line-height: 1;
  transition: transform 180ms ease;
}

.nas-story-toggle.is-open b {
  transform: rotate(45deg);
}

.nas-story-more {
  max-width: 620px;
  margin-top: 1rem;
  padding: 1rem 1.1rem;
  border-left: 3px solid var(--nas-lemon);
  border-radius: 0 10px 10px 0;
  background: rgba(241, 238, 230, 0.06);
}

.nas-story-more p {
  margin: 0 !important;
  color: var(--nas-text-muted) !important;
  font-size: 0.94rem !important;
}

.nas-principles {
  background: var(--nas-bg-soft);
}

.nas-section-head {
  grid-template-columns: 1.15fr 0.6fr;
}

.nas-principle-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}

.nas-principle {
  width: 100%;
  min-height: 280px;
  padding: 1.55rem;
  border: 1px solid var(--nas-line-dark);
  border-top: 4px solid var(--nas-sage);
  border-radius: 16px;
  background: var(--nas-paper);
  color: var(--nas-ink);
  font-family: var(--nas-sans);
  text-align: left;
}

.nas-principle:nth-child(2) {
  border-top-color: var(--nas-lemon);
}

.nas-principle:nth-child(3) {
  border-top-color: var(--nas-leaf);
}

.nas-principle-number {
  display: block;
  margin-bottom: 3.7rem;
  color: var(--nas-lemon-dark);
  font-size: 0.68rem;
  font-weight: 850;
  letter-spacing: 0.12em;
}

.nas-principle p {
  margin: 0;
  color: var(--nas-muted);
  font-size: 0.92rem;
  line-height: 1.65;
}

.nas-principle-hint {
  display: block;
  margin-top: 1.4rem;
  color: var(--nas-ginger);
  font-size: 0.62rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.nas-principle-detail {
  display: block;
  margin-top: 1rem;
  padding-top: 0.85rem;
  border-top: 1px solid var(--nas-line-dark);
  color: var(--nas-ink);
  font-size: 0.78rem;
  font-weight: 650;
  line-height: 1.55;
}

/* ---------------------------------------------------------
   Discover ingredients and approach
   --------------------------------------------------------- */

.nas-botanicals {
  background: var(--nas-bg);
}

.nas-botanicals .nas-section-head h2 {
  color: var(--nas-text);
}

.nas-botanicals .nas-section-head p {
  color: var(--nas-text-muted);
}

.nas-approach {
  background: var(--nas-bg-soft);
}

.nas-approach-grid {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 4rem;
  align-items: center;
}

.nas-approach-photo {
  min-height: 420px;
  overflow: hidden;
  border: 1px solid var(--nas-line-light);
  border-radius: 20px;
  box-shadow: var(--nas-shadow);
}

.nas-approach-photo img {
  width: 100%;
  height: 420px;
  object-fit: cover;
}

.nas-approach-copy p:not(.nas-kicker) {
  color: var(--nas-text-muted);
  line-height: 1.8;
}

.nas-approach-list {
  display: grid;
  gap: 0.7rem;
  margin: 1.5rem 0 1.7rem;
  padding: 0;
  list-style: none;
}

.nas-approach-list li {
  position: relative;
  padding-left: 1.3rem;
  color: var(--nas-text);
  font-size: 0.91rem;
  font-weight: 700;
}

.nas-approach-list li::before {
  position: absolute;
  top: 0.43rem;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--nas-lemon);
  content: "";
}

/* ---------------------------------------------------------
   Launch section
   --------------------------------------------------------- */

.nas-launch {
  background: var(--nas-paper);
  color: var(--nas-ink);
}

.nas-launch-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 3rem;
  align-items: center;
}

.nas-launch .nas-kicker {
  border-color: var(--nas-line-dark);
  background: rgba(32, 39, 30, 0.04);
  color: var(--nas-lemon-dark);
}

.nas-launch h2 em {
  color: var(--nas-lemon-dark);
}

.nas-launch-copy {
  color: var(--nas-muted);
  line-height: 1.75;
}

.nas-form-box {
  padding: 1.6rem;
  border: 1px solid rgba(169, 147, 62, 0.32);
  border-radius: var(--nas-radius);
  background: var(--nas-paper-light);
}

.nas-form {
  display: grid;
  gap: 0.8rem;
}

.nas-form label {
  color: var(--nas-ink);
  font-size: 0.7rem;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.nas-form input {
  width: 100%;
  min-height: 52px;
  padding: 0.8rem 0.9rem;
  border: 1px solid rgba(32, 39, 30, 0.24);
  border-radius: 10px;
  outline: none;
  background: #ffffff;
  color: var(--nas-ink);
  font-size: 16px;
}

.nas-form input:focus {
  border-color: var(--nas-lemon-dark);
  outline: 3px solid rgba(217, 196, 106, 0.22);
}

.nas-form button {
  width: 100%;
}

.nas-form-note,
.nas-form-success {
  margin: 0.8rem 0 0;
  color: var(--nas-muted);
  font-size: 0.72rem;
  line-height: 1.5;
}

.nas-form-success {
  padding: 0.75rem 0.85rem;
  border: 1px solid rgba(120, 145, 111, 0.55);
  border-radius: 10px;
  background: #dbe5d6;
  color: var(--nas-ink);
  font-weight: 700;
}

/* ---------------------------------------------------------
   Code-only Footer
   --------------------------------------------------------- */

.nas-code-footer {
  padding: 3rem 0;
  background: var(--nas-bg-deep);
  color: var(--nas-paper-light);
}

.nas-code-footer-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 2rem;
}

.nas-code-footer strong {
  display: block;
  margin-bottom: 0.55rem;
  font-family: var(--nas-serif);
  font-size: 1.2rem;
  letter-spacing: 0.15em;
}

.nas-code-footer p {
  margin: 0;
  color: var(--nas-text-muted);
  font-size: 0.84rem;
}

.nas-code-footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.2rem;
}

.nas-code-footer-links a {
  color: var(--nas-text-muted);
  font-size: 0.78rem;
  text-decoration: none;
}

.nas-code-footer-links a:hover {
  color: var(--nas-paper-light);
}

/* ---------------------------------------------------------
   Responsive
   --------------------------------------------------------- */

@media (max-width: 900px) {
  .nas-hero-grid,
  .nas-product-grid,
  .nas-ingredients-head,
  .nas-moment-head,
  .nas-discover-hero-grid,
  .nas-story-grid,
  .nas-section-head,
  .nas-approach-grid,
  .nas-launch-grid {
    grid-template-columns: 1fr;
  }

  .nas-ingredient-grid,
  .nas-real-ingredient-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .nas-hero-art {
    max-width: 620px;
  }

  .nas-product-copy,
  .nas-flavour-card {
    min-height: 360px;
  }

  .nas-code-nav {
    gap: 0.85rem;
  }
}

@media (max-width: 700px) {
  .nas-shell {
    width: calc(100% - 2rem);
  }

  .nas-section {
    padding: 4.2rem 0;
  }

  .nas-home-hero,
  .nas-discover-hero {
    padding: 4.5rem 0 4rem;
  }

  .nasatya-page h1 {
    font-size: clamp(3rem, 14vw, 4.3rem);
    line-height: 0.92;
  }

  .nasatya-page h2 {
    font-size: 2.55rem;
  }

  .nas-code-header-inner {
    min-height: 68px;
  }

  .nas-code-brand span {
    font-size: 1.25rem;
  }

  .nas-code-brand small {
    font-size: 0.37rem;
  }

  .nas-code-nav {
    display: none;
  }

  .nas-code-header-button {
    padding: 0.55rem 0.65rem;
    font-size: 0.56rem;
  }

  .nas-home-actions {
    display: grid;
  }

  .nas-home-actions .nas-button {
    width: 100%;
  }

  .nas-hero-art {
    min-height: 310px;
  }

  .nas-hero-art::after {
    box-shadow:
      145px 40px 0 -12px rgba(120, 145, 111, 0.82),
      74px 178px 0 4px rgba(189, 149, 103, 0.82);
  }

  .nas-product-copy,
  .nas-flavour-card {
    min-height: 330px;
    padding: 1.5rem;
  }

  .nas-flavour-mark {
    top: 30%;
    left: 15%;
    width: 132px;
    font-size: 1.35rem;
  }

  .nas-dot-one {
    top: 27%;
    right: 14%;
  }

  .nas-dot-three {
    right: 7%;
  }

  .nas-ingredient-grid,
  .nas-real-ingredient-grid,
  .nas-moment-grid,
  .nas-principle-grid {
    grid-template-columns: 1fr;
  }

  .nas-ingredient-card,
  .nas-ingredient-card img,
  .nas-real-ingredient,
  .nas-real-ingredient img {
    min-height: 300px;
    height: 300px;
  }

  .nas-discover-photo,
  .nas-discover-photo img,
  .nas-approach-photo,
  .nas-approach-photo img {
    min-height: 320px;
    height: 320px;
  }

  .nas-principle-number {
    margin-bottom: 2.5rem;
  }

  .nas-code-footer-inner {
    display: grid;
    gap: 1.5rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .nasatya-page *,
  .nasatya-page *::before,
  .nasatya-page *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}
/* END zs-custom-css */
