/* --- LENIS SMOOTH SCROLL --- */
 .wpcf7-spinner {
		 display:none !important ;
	 }

html.lenis, html.lenis body {
  height: auto;
}
.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}
.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}
.lenis.lenis-stopped {
  overflow: hidden;
}
.lenis.lenis-scrolling iframe {
  pointer-events: none;
}

/* --- FONTS --- */
@font-face {
    font-family: 'Neue Montreal';
    src: url('../fonts/NeueMontreal-Regular.otf') format('opentype');
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: 'Neue Montreal';
    src: url('../fonts/NeueMontreal-Medium.otf') format('opentype');
    font-weight: 500;
    font-style: normal;
}

/* --- VARIABLES --- */
:root {
    /* Colors */
    --brand-dark: #1C265E;
    --brand-light: #06AFF2;
    
    /* Defaults (Starting Dark) */
    --text-primary: #ffffff;
    --text-secondary: rgba(255, 255, 255, 0.75);
    
    --btn-bg: #ffffff;
    --btn-text: #1C265E;
    --btn-hover-bg: #f0f0f0; 
    --btn-hover-text: #1C265E;

    --input-border: rgba(255, 255, 255, 0.3);
    --input-bg: rgba(255, 255, 255, 0.05);
    
    --nav-text: #ffffff;
    --nav-border: rgba(255,255,255,0.2);
    
    --box-border: #ffffff;
}




    body h1.hero_title_font {
        font-size: 72px !important;
        line-height: 1;
    }
    body p.description_content_font, body input[type="email"].description_content_font, body ul li.description_content_font, body div.description_content_font, body h3.description_content_font, body ul li.description_content_font span, body footer ul li a,body button[type="button"] span, body nav#main-nav .nav-links a, body button.dynamic-btn, body a.dynamic-btn, body a.description_content_font span, body footer ul li {
        font-size: 16px !important;
        line-height: 22px !important; 
    }
    body h2.sub_title_font {
        font-size: 40px !important;
        line-height: 48px !important;
    }
    body .ul_list_title_font {
        font-size: 30px !important;
        line-height: 34px !important;
    }
    body .manage_cards_min_height .items-start h3.ul_list_title_font {
        font-size: 24px !important;
        line-height: 28px !important;
    }

@media only screen and (max-width: 1024px) {
    body h1.hero_title_font {
        font-size: 44px !important;
        line-height: 1;
    }
    body h2.sub_title_font {
        font-size: 30px !important;
        line-height: 38px !important;
    }
    body .ul_list_title_font {
        font-size: 24px !important;
        line-height: 28px !important;
    }
}
@media only screen and (max-width: 676px) {
    body p.description_content_font, body input[type="email"].description_content_font, body ul li.description_content_font, body div.description_content_font, body h3.description_content_font, body ul li.description_content_font span, body footer ul li a,body button[type="button"] span, body nav#main-nav .nav-links a, body button.dynamic-btn, body a.dynamic-btn, body a.description_content_font span, body footer ul li {
        font-size: 14px !important;
        line-height: 18px !important; 
    }
    body .manage_cards_min_height .items-start h3.ul_list_title_font {
        font-size: 18px !important;
        line-height: 24px !important;
    }
}

@media only screen and (min-width: 768px) {
    body section.manage_cards_min_height div.items-start {
        min-height: 200px !important;
    }
}







/* --- BODY & TRANSITIONS --- */
body {
    background-color: #ffffff;
    transition: opacity 0.5s ease;
}

/* FIXED GRADIENT LAYER (Dark Theme) */
#bg-gradient {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -2;
    background: radial-gradient(120.5% 120.5% at 50% 50%, #1C265E 0%, #06AFF2 100%);
    opacity: 1; 
    transition: opacity 0.4s ease-in-out;
    will-change: opacity;
}

/* WHITE LAYER (Light Theme) */
#bg-white-layer {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    background-color: #ffffff;
    opacity: 0;
    transition: opacity 0.4s ease-in-out;
    will-change: opacity;
}

/* THEME CLASSES APPLIED TO BODY VIA JS */

/* DARK MODE STATE */
body.dark-mode {
    --text-primary: #ffffff;
    --text-secondary: rgba(255, 255, 255, 0.75);
    
    --btn-bg: #ffffff;
    --btn-text: #1C265E;
    --btn-hover-bg: transparent;
    --btn-hover-text: #ffffff;

    --input-border: rgba(255, 255, 255, 0.3);
    --input-bg: rgba(255, 255, 255, 0.05);
    
    --nav-text: #ffffff;
    --nav-border: rgba(255,255,255,0.2);
    
    --box-border: rgba(255,255,255,0.3);
}
body.dark-mode #bg-gradient { opacity: 1; }
body.dark-mode #bg-white-layer { opacity: 0; }

/* LIGHT MODE STATE */
body.light-mode {
    --text-primary: #1C265E;
    --text-secondary: #475569;
    
    --btn-bg: #1C265E;
    --btn-text: #ffffff;
    --btn-hover-bg: transparent;
    --btn-hover-text: #1C265E;

    --input-border: #000000;
    --input-bg: transparent;
    
    --nav-text: #1C265E;
    --nav-border: rgba(28, 38, 94, 0.1);
    
    --box-border: #000000;
}
body.light-mode #bg-gradient { opacity: 0; }
body.light-mode #bg-white-layer { opacity: 1; }


/* --- DYNAMIC UTILITIES --- */
/* Added will-change to hint browser for smoother transition */
.dynamic-text { 
    color: var(--text-primary); 
    transition: color 1s ease;
    will-change: color;
}
.dynamic-text-muted { 
    color: var(--text-secondary); 
    transition: color 1s ease;
    will-change: color;
}
.dynamic-border {
    border-color: var(--box-border);
    transition: border-color 1s ease;
    will-change: border-color;
}

/* BUTTONS */
.dynamic-btn {
    background-color: var(--btn-bg);
    color: var(--btn-text);
    border: 1px solid var(--btn-bg);
    transition: all 0.4s ease;
    box-shadow: none !important;
}

/* Color Swap Hover Animation */
.btn-hover-effect:hover {
    background-color: var(--btn-hover-bg);
    color: var(--btn-hover-text);
    border-color: currentColor;
    transform: none; 
    box-shadow: none !important;
}

.dynamic-input-container {
    border-color: var(--input-border);
    background-color: var(--input-bg);
    transition: border-color 1s ease, background-color 1s ease;
}

.dynamic-input-text {
    color: var(--text-primary);
    transition: color 1s ease;
}
.dynamic-input-text::placeholder {
    color: var(--text-secondary);
    transition: color 1s ease;
}

/* --- NAVIGATION --- */
.nav-links a {
    color: var(--nav-text);
    position: relative;
    transition: color 1s ease;
}

.logo-border {
    border-color: var(--nav-text);
    transition: border-color 1s ease;
}
.logo-line {
    background-color: var(--nav-text);
    transition: background-color 1s ease;
}
.mobile-toggle-btn {
    color: var(--nav-text);
    transition: color 1s ease;
}
#main-nav {
    border-color: var(--nav-border); 
}

/* --- ANIMATIONS --- */
.hover-underline-animation::after {
    content: '';
    position: absolute;
    width: 100%;
    transform: scaleX(0);
    height: 1px;
    bottom: -4px;
    left: 0;
    background-color: currentColor;
    transform-origin: bottom right;
    transition: transform 0.25s ease-out;
}
.hover-underline-animation:hover::after {
    transform: scaleX(1);
    transform-origin: bottom left;
}

/* Mobile Link Hover */
.mobile-link:hover {
    padding-left: 1rem; /* Slide effect */
}

/* HAMBURGER TO X ANIMATION */
.hamburger-active .hamburger-line-1 {
    transform: rotate(45deg);
    top: 50%;
    left: 0;
    margin-top: -1px;
}
.hamburger-active .hamburger-line-2 {
    opacity: 0;
}
.hamburger-active .hamburger-line-3 {
    transform: rotate(-45deg);
    top: 50%;
    left: 0;
    bottom: auto;
    margin-top: -1px;
}

/* Force removal of box shadows */
.mobile-link, .gs-reveal-card, .p-8, .rounded-3xl {
    box-shadow: none !important;
}

.flex.items-start.gs-fade-in{
           margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse))) !important;
}
.learntocreatesection{
    margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse))) !important;
}
.waysicanhelpsection{
    margin-bottom: 1rem  !important;
}
       @media (max-width: 1024px) {
  .learntocreatesection br {
    display: none !important;
  }
}