/*
Theme Name: Critical Metals
Theme URI: https://criticalmetals.com
Author: Critical Metals Development Team
Author URI: https://criticalmetals.com
Description: WordPress theme for Critical Metals Corp built with ACF and Blockbase
Version: 1.1.8
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: critical-metals
Template: blockbase
*/

@import url('../blockbase/style.css');
@import url('https://fonts.googleapis.com/css2?family=Kantumruy+Pro:wght@100;200;300;400;500;600;700&display=swap');

/* ==========================================================================
   Global Font Override - Kantumruy Pro
   ========================================================================== */

/* Apply Kantumruy Pro globally with improved rendering */
* {
    font-family: 'Kantumruy Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
span,
div,
li,
td,
th,
input,
button,
select,
textarea,
.wp-block-heading,
.wp-block-navigation,
.wp-block-button__link,
.has-montserrat-font-family {
    font-family: 'Kantumruy Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    font-feature-settings: "kern" 1;
    font-kerning: normal;
}

/* ==========================================================================
   AOS Animation Enhancements
   ========================================================================== */

/* Custom AOS animations for Critical Metals theme */

/* Headings: clean fade-up with slide - defined below with other animations */

/* Standard slide-up for other elements */
[data-aos="slide-up"] {
    transform: translate3d(0, 30px, 0);
    opacity: 0;
    transition-property: transform, opacity;
}

[data-aos="slide-up"].aos-animate {
    transform: translate3d(0, 0, 0);
    opacity: 1;
}

h1 {
    padding-top: 1rem;
}

/* All headings with overflow hidden for clean slide effect */
h1,
h2,
h3,
h4,
h5,
h6,
.wp-block-heading {
    overflow: hidden;
    position: relative;
    line-height: 1.1;
}

/* Container headings with overflow hidden for baseline reveal */
.heading-animate-container {
    overflow: hidden !important;
    position: relative;
}

/* Wrapper for heading text that slides up - subtle 10px movement */
.heading-text-wrapper {
    display: block;
    transform: translate3d(0, 10px, 0);
    opacity: 0;
    transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.heading-text-wrapper.aos-animate {
    transform: translate3d(0, 0, 0);
    opacity: 1;
}

/* Additional styling for headings with AOS animations */
h1[data-aos="fade-up"],
h2[data-aos="fade-up"],
h3[data-aos="fade-up"],
h4[data-aos="fade-up"],
h5[data-aos="fade-up"],
h6[data-aos="fade-up"],
.wp-block-heading[data-aos="fade-up"] {
    /* Already has overflow hidden from above */
}

/* Enhanced fade animations with subtle movement - for headings */
[data-aos="fade-up"] {
    transform: translate3d(0, 30px, 0);
    opacity: 0;
    transition: transform 0.4s ease, opacity 0.4s ease;
}

[data-aos="fade-up"].aos-animate {
    transform: translate3d(0, 0, 0);
    opacity: 1;
}

/* Content panels slide in from right */
[data-aos="slide-left"] {
    transform: translate3d(20px, 0, 0);
    opacity: 0;
    transition: transform 0.7s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.7s ease-out;
}

[data-aos="slide-left"].aos-animate {
    transform: translate3d(0, 0, 0);
    opacity: 1;
}

/* Regular image blocks with fade-up animation */
.wp-block-image.image-fade-up[data-aos="fade-up"] {
    transform: translate3d(0, 20px, 0);
    opacity: 0;
    transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.6s ease-out;
}

.wp-block-image.image-fade-up[data-aos="fade-up"].aos-animate {
    transform: translate3d(0, 0, 0);
    opacity: 1;
}

/* Gallery images with enhanced fade-up animation */
.gallery-image-aos[data-aos="fade-up"] {
    transform: translate3d(0, 20px, 0);
    opacity: 0;
    transition: transform 0.5s ease-out, opacity 0.5s ease-out;
}

.gallery-image-aos[data-aos="fade-up"].aos-animate {
    transform: translate3d(0, 0, 0);
    opacity: 1;
}

/* Keep zoom-in as fallback for other elements */
[data-aos="zoom-in"] {
    transform: scale(0.95);
    opacity: 0;
}

[data-aos="zoom-in"].aos-animate {
    transform: scale(1);
    opacity: 1;
}

/* AOS Utility Classes */
.no-aos {
    /* Use this class to disable automatic AOS on specific elements */
}

.aos-fast {
    --aos-duration: 400ms !important;
}

.aos-slow {
    --aos-duration: 1200ms !important;
}

.aos-delay-sm {
    --aos-delay: 200ms !important;
}

.aos-delay-md {
    --aos-delay: 400ms !important;
}

.aos-delay-lg {
    --aos-delay: 600ms !important;
}

/* Theme-specific AOS enhancements */
.wp-block-group[data-aos] {
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.wp-block-image[data-aos] {
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

.wp-block-heading[data-aos] {
    transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
}

/* ==========================================================================
   Rotating Glow Border Effects
   ========================================================================== */

/* Old rotating glow styles - replaced with improved version
.rotating-glow {
    position: relative !important;
    border-radius: 8px !important;
    padding: 1px !important;
    overflow: hidden !important;
}

.rotating-glow-content {
    background: rgba(255, 255, 255, 0.3);
    border-radius: 7px;
    padding: 0.1rem;
    position: relative;
    z-index: 2;
}
*/

/* Old rotating glow styles - commented out to use improved version below
.rotating-glow .glow-wrapper {
    position: absolute;
    top: 15px;
    left: -1px;
    right: -1px;
    bottom: -1px;
    border-radius: 9px;
    overflow: hidden;
    pointer-events: none;
    z-index: 1;
}

.rotating-glow .glow-item-2 {
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: conic-gradient(from 0deg,
            transparent 0deg,
            transparent 60deg,
            rgba(25, 70, 115, 0.8) 120deg,
            rgba(133, 208, 169, 1) 180deg,
            rgba(25, 70, 115, 0.8) 240deg,
            transparent 300deg,
            transparent 360deg);
    animation: rotate-glow 4s linear infinite;
}

@keyframes rotate-glow {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}
*/

/* Alternative: JS-controlled rotating glow (more precise) */
.js-rotating-glow {
    position: relative;
    border-radius: 8px;
    background: var(--wp--preset--color--background, #ffffff);
    overflow: hidden;
}

.js-rotating-glow .glow-wrapper {
    position: absolute;
    top: -4px;
    left: -4px;
    right: -4px;
    bottom: -4px;
    border-radius: 12px;
    overflow: hidden;
    pointer-events: none;
    z-index: 1;
}

.js-rotating-glow .glow-item-2 {
    position: absolute;
    top: -100%;
    left: -100%;
    width: 300%;
    height: 300%;
    background: conic-gradient(from 0deg,
            transparent 0deg,
            transparent 70deg,
            rgba(25, 70, 115, 0.6) 90deg,
            rgba(133, 208, 169, 0.9) 110deg,
            rgba(255, 255, 255, 0.8) 130deg,
            rgba(133, 208, 169, 0.9) 150deg,
            rgba(25, 70, 115, 0.6) 170deg,
            transparent 190deg,
            transparent 360deg);
    transform-style: preserve-3d;
    will-change: transform;
}

.js-rotating-glow-content {
    position: relative;
    z-index: 2;
    padding: 1.5rem;
    background: inherit;
    border-radius: 6px;
}

/* Old speed variations - commented out to use improved version below
.rotating-glow-fast .glow-item-2 {
    animation: rotate-glow 2s linear infinite;
}

.rotating-glow-slow .glow-item-2 {
    animation: rotate-glow 6s linear infinite;
}

.rotating-glow-subtle .glow-item-2 {
    background: conic-gradient(from 0deg,
            transparent 0deg,
            transparent 80deg,
            rgba(25, 70, 115, 0.3) 120deg,
            rgba(133, 208, 169, 0.5) 180deg,
            rgba(25, 70, 115, 0.3) 240deg,
            transparent 280deg,
            transparent 360deg);
    animation: rotate-glow 5s linear infinite;
}
*/

/* Utility classes */
.pointer-event-off {
    pointer-events: none;
}

/* ==========================================================================
   Shimmer Border Effects
   ========================================================================== */

/* Base shimmer effect - elegant border shimmer */
.shimmer {
    position: relative;
    overflow: hidden;
    border: 2px solid transparent;
    background: linear-gradient(45deg, transparent, transparent) padding-box,
        linear-gradient(45deg, var(--wp--preset--color--brand, #194774),
            var(--wp--preset--color--tertiary, #85d0A9),
            var(--wp--preset--color--brand, #194774)) border-box;
}

.shimmer::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg,
            transparent 30%,
            rgba(255, 255, 255, 0.4),
            transparent 70%);
    animation: shimmer-sweep 2s infinite;
    z-index: 1;
    pointer-events: none;
}

@keyframes shimmer-sweep {
    0% {
        transform: translateX(-100%);
    }

    100% {
        transform: translateX(300%);
    }
}

/* Shimmer variations */
.shimmer-fast {
    position: relative;
    overflow: hidden;
    border: 2px solid var(--wp--preset--color--brand, #194774);
}

.shimmer-fast::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg,
            transparent 30%,
            rgba(255, 255, 255, 0.6),
            transparent 70%);
    animation: shimmer-sweep 1s infinite;
    z-index: 1;
    pointer-events: none;
}

/* Shimmer with glow */
.shimmer-glow {
    position: relative;
    overflow: hidden;
    border: 2px solid var(--wp--preset--color--brand, #194774);
    box-shadow: 0 0 20px rgba(25, 70, 115, 0.3);
    transition: box-shadow 0.3s ease;
}

.shimmer-glow:hover {
    box-shadow: 0 0 30px rgba(25, 70, 115, 0.5);
}

.shimmer-glow::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg,
            transparent 30%,
            rgba(133, 208, 169, 0.8),
            rgba(255, 255, 255, 0.8),
            rgba(133, 208, 169, 0.8),
            transparent 70%);
    animation: shimmer-sweep 2.5s infinite;
    z-index: 1;
    pointer-events: none;
}

/* Subtle shimmer for cards */
.shimmer-subtle {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(25, 70, 115, 0.3);
}

.shimmer-subtle::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg,
            transparent 30%,
            rgba(255, 255, 255, 0.2),
            transparent 70%);
    animation: shimmer-sweep 2.5s infinite;
    z-index: 1;
    pointer-events: none;
}

/* Shimmer for buttons */
.wp-block-button .shimmer,
.button.shimmer,
a.shimmer {
    display: inline-block;
    transition: transform 0.2s ease;
}

.wp-block-button .shimmer:hover,
.button.shimmer:hover,
a.shimmer:hover {
    transform: translateY(-2px);
}

/* Ensure content stays above shimmer effect */
.shimmer>*,
.shimmer-fast>*,
.shimmer-glow>*,
.shimmer-subtle>* {
    position: relative;
    z-index: 2;
}

/* Reduce motion for accessibility */
@media (prefers-reduced-motion: reduce) {
    [data-aos] {
        animation-duration: 0.1ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.1ms !important;
    }

    .shimmer::before,
    .shimmer-fast::before,
    .shimmer-glow::before,
    .shimmer-subtle::before {
        animation: none;
    }
}

header.wp-block-template-part {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 100;
    background: #fff;
}

/* Adjust header position when admin bar is present */
.admin-bar header.wp-block-template-part {
    top: 32px;
}

/* Mobile admin bar adjustment */
@media screen and (max-width: 782px) {
    .admin-bar header.wp-block-template-part {
        top: 46px;
    }
}

/* Adjust body padding to account for fixed header */
body {
    background-color: #194774;
    /* Brand blue */
    padding-top: 80px;
    /* Adjust based on your header height */
    overflow-x: hidden;
    /* Prevent horizontal scroll from rotating glow elements */
    font-weight: 400;
}

.admin-bar body {
    padding-top: 112px;
    /* Header height + admin bar (32px) */
}

@media screen and (max-width: 782px) {
    .admin-bar body {
        padding-top: 126px;
        /* Header height + mobile admin bar (46px) */
    }
}

body>div>header>div>div:nth-child(2) {
    margin-block-start: 0 !important;
}

/* Desktop Navigation Styles */
header .wp-block-navigation {
    display: flex;
    align-items: center;
}

header .wp-block-navigation .wp-block-navigation__container {
    display: flex;
    align-items: center;
    gap: 1rem;
    justify-content: center;
    width: 100%;
}

/* Ensure proper spacing on larger screens */
@media (min-width: 1200px) {
    header .wp-block-navigation .wp-block-navigation__container {
        gap: 1rem;
    }
}

/* Tablet navigation adjustments */
@media (min-width: 782px) and (max-width: 1199px) {
    header .wp-block-navigation .wp-block-navigation__container {
        gap: 2rem;
    }

    header .wp-block-navigation .wp-block-navigation-item a {
        padding: 1.25rem 0.75rem;
    }
}

header .wp-block-navigation .wp-block-navigation-item {
    position: relative;
}

header .wp-block-navigation .wp-block-navigation-item a {
    padding: 1rem;
    display: block;
    text-decoration: none;
    color: #194774;
    font-weight: 500;
    transition: color 0.3s ease;
    position: relative;
}

header .wp-block-navigation .wp-block-navigation-item a:hover {
    color: #5796AE;
}

/* Dropdown menu styling */
header .wp-block-navigation:not(.has-text-color) .wp-block-navigation__submenu-container {
    background-color: #194774;
    color: #fff;
    transition: all 0.3s ease;
    box-shadow: 0 4px 20px rgba(25, 71, 116, 0.15);
    border-radius: 8px;
    min-width: 200px;
    margin-top: 0.5rem;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    border: none;
    overflow: visible;
    padding-top: 0 !important;
}

header .wp-block-navigation:not(.has-text-color) .wp-block-navigation__submenu-container.is-menu-open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

header .wp-block-navigation:not(.has-text-color) .wp-block-navigation__submenu-container {
    display: visible !important;
}

header .wp-block-navigation:not(.has-text-color) .wp-block-navigation__submenu-container a {
    transition: all 0.2s ease;
    padding: 1rem;
    display: block;
    color: #ffffff;
    text-decoration: none;
    font-weight: 400;
}

header .wp-block-navigation:not(.has-text-color) .wp-block-navigation__submenu-container a:hover {
    background-color: #315e8c;
    color: #fff;
}


/* SEC Filing Single Page Styles */
.single-sec-filing h1,
.single-sec-filing h2 {
    font-weight: 500;
    margin-bottom: 2rem;
}

.single-sec-filing h1 {
    font-size: 2.5rem;
}

.single-sec-filing h2 {
    font-size: 2rem;
    margin-top: 3rem;
}

/* Document Details Section */
.document-details {
    margin-top: 2rem;
}

.document-details .detail-row {
    margin-bottom: 1rem;
    gap: 1rem;
    color: #194774;
}

.document-details .detail-row strong {
    min-width: 150px;
}

.document-details .detail-row span {
    margin-left: 0.5rem;
}

/* Filing Formats Section */
.filing-formats {
    list-style: none;
    padding: 0;
    margin: 0;
}

.filing-formats li {
    margin-bottom: 1rem;
}

.filing-formats a {
    color: #5796AE;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.filing-formats a:hover {
    text-decoration: underline;
}

.filing-formats a::before {
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.filing-formats .html-link::before {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%230066CC"><path d="M12 21l-8-9h16l-8 9zm0-18l8 9H4l8-9z"/></svg>');
}

.filing-formats .pdf-link::before {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%230066CC"><path d="M20 2H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-8.5 7.5c0 .83-.67 1.5-1.5 1.5H9v2H7.5V7H10c.83 0 1.5.67 1.5 1.5v1zm5 2c0 .83-.67 1.5-1.5 1.5h-2.5V7H15c.83 0 1.5.67 1.5 1.5v3zm4-3H19v1h1.5V11H19v2h-1.5V7h3v1.5zM9 9.5h1v-1H9v1zM4 6H2v14c0 1.1.9 2 2 2h14v-2H4V6zm10 5.5h1v-3h-1v3z"/></svg>');
}

.filing-formats .doc-link::before {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%230066CC"><path d="M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zM6 20V4h7v5h5v11H6z"/></svg>');
}

.filing-formats .xls-link::before {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%230066CC"><path d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-8 14H9v-2h2v2zm0-4H9v-2h2v2zm0-4H9V7h2v2zm6 8h-4v-2h4v2zm0-4h-4v-2h4v2zm0-4h-4V7h4v2z"/></svg>');
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .single-sec-filing h1 {
        font-size: 2rem;
    }

    .single-sec-filing h2 {
        font-size: 1.75rem;
    }

    .detail-row {
        flex-direction: column;
    }

    .detail-row strong {
        margin-bottom: 0.25rem;
    }

    .detail-row span {
        margin-left: 0;
    }
}

/* Content Patterns Mobile Styles */
@media screen and (max-width: 781px) {

    .content-image-text .wp-block-columns,
    .content-text-image .wp-block-columns {
        flex-wrap: wrap !important;
    }

    /* Force image column to top on mobile for text-image layout */
    .content-text-image .wp-block-columns {
        flex-direction: column-reverse !important;
    }

    .content-image-text .wp-block-column,
    .content-text-image .wp-block-column {
        flex-basis: 100% !important;
        margin-left: 0;
    }

    /* Adjust spacing between elements on mobile */
    .content-image-text .wp-block-column+.wp-block-column,
    .content-text-image .wp-block-column+.wp-block-column {
        margin-top: var(--wp--preset--spacing--40);
    }

    /* Ensure images fill container width on mobile */
    .content-image-text .wp-block-image,
    .content-text-image .wp-block-image {
        margin-left: 0;
        margin-right: 0;
    }

    /* Adjust heading sizes for mobile */
    .content-image-text h2,
    .content-text-image h2 {
        font-size: var(--wp--preset--font-size--x-large);
    }
}

/* Add smooth transitions for hover states */
.wp-block-button__link {
    transition: all 0.3s ease;
}

/* Hero Cover Pattern Styles */
.wp-block-cover.alignfull {
    margin-top: 0;
}

/* Video background offset for sticky nav */
.wp-block-cover__video-background {
    margin-top: -80px;
    padding-top: 80px;
}

/* Admin bar adjustments for video background */
.admin-bar .wp-block-cover__video-background {
    margin-top: -112px;
    padding-top: 112px;
}

/* Mobile offset for video background */
@media screen and (max-width: 782px) {
    .wp-block-cover__video-background {
        margin-top: -100px;
        padding-top: 100px;
    }

    .admin-bar .wp-block-cover__video-background {
        margin-top: -146px;
        padding-top: 146px;
    }
}

.wp-block-cover .wp-block-cover__inner-container {
    width: 100%;
    max-width: var(--wp--style--global--content-size);
    margin: 0 auto;
}

/* Hero responsive styles */
@media screen and (max-width: 781px) {
    .hero-section.wp-block-cover {
        min-height: 70vh !important;
        /* Taller on mobile for better readability */
    }

    .wp-block-cover h1 {
        font-size: 2.25em !important;
        line-height: 1.2 !important;
    }

    .wp-block-cover h2 {
        font-size: 1em !important;
        line-height: 1.4 !important;
    }

    .wp-block-cover .wp-block-button__link {
        width: 100%;
        /* Full width button on mobile */
        text-align: center;
        justify-content: center;
    }
}

/* Enhance button hover state */
.wp-block-cover .wp-block-button__link {
    transition: all 0.3s ease;
}

.wp-block-cover .wp-block-button__link:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(25, 71, 116, 0.15);
}

/* Ensure text remains readable on all backgrounds */
.wp-block-cover .has-text-color.has-white-color,
.wp-block-cover h1,
.wp-block-cover h2,
.wp-block-cover h3,
.wp-block-cover p {
    text-shadow:
        0 2px 4px rgba(25, 71, 116, 0.3),
        0 4px 8px rgba(25, 71, 116, 0.2),
        0 8px 16px rgba(25, 71, 116, 0.1);
}

/* Add subtle dark backdrop to text areas for better readability */
.wp-block-cover__inner-container {
    position: relative;
    z-index: 2;
}

.wp-block-cover__inner-container::before {
    content: '';
    position: absolute;
    top: -20px;
    left: -40px;
    right: -40px;
    bottom: -20px;
    background: radial-gradient(ellipse at center, rgba(25, 71, 116, 0.4) 0%, transparent 70%);
    z-index: -1;
    pointer-events: none;
}

/* Improve font rendering on dark backgrounds */
.wp-block-cover h1,
.wp-block-cover h2,
.wp-block-cover h3,
.wp-block-cover p,
.hero-section h1,
.hero-section h2,
.hero-section p {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: geometricPrecision;
    transform: translateZ(0);
    backface-visibility: hidden;
}

/* Asset Highlights Grid Pattern */
.wp-block-columns.alignwide {
    gap: 2rem;
}

.wp-block-columns .wp-block-image {
    margin-bottom: 1.5em;
    transition: transform 0.3s ease;
}

.wp-block-columns .wp-block-image:hover {
    transform: translateY(-5px);
}

/* Responsive styles for the highlights grid */
@media screen and (max-width: 781px) {

    /* Stack columns on mobile */
    .wp-block-columns.are-vertically-aligned-top {
        flex-wrap: wrap;
    }

    .wp-block-columns.are-vertically-aligned-top>.wp-block-column {
        flex-basis: 100% !important;
        margin-left: 0;
        margin-bottom: 2rem;
    }

    /* Two columns on tablet */
    @media screen and (min-width: 600px) and (max-width: 781px) {
        .wp-block-columns.are-vertically-aligned-top>.wp-block-column {
            flex-basis: calc(50% - 1rem) !important;
            margin-left: 0;
        }

        .wp-block-columns.are-vertically-aligned-top>.wp-block-column:nth-child(2n) {
            margin-left: 2rem;
        }
    }

    /* Adjust spacing and typography */
    .wp-block-columns h1 {
        font-size: 2em;
        margin-bottom: 1rem;
    }

    .wp-block-columns h3 {
        margin-top: 1rem;
        margin-bottom: 0.5rem;
    }

    /* Maintain image aspect ratio */
    .wp-block-columns .wp-block-image img {
        width: 100%;
        height: auto;
    }
}

/* Add hover effect to feature cards */
.wp-block-column.is-vertically-aligned-top {
    transition: transform 0.3s ease;
}

.wp-block-column.is-vertically-aligned-top:hover {
    transform: translateY(-5px);
}

/* Stats with Description Pattern */
.stats-description-columns {
    gap: 4rem;
}

.stats-description-columns .wp-block-paragraph {
    margin-bottom: 1.5em;
}

/* Stats Grid Styling */
.stats-grid {
    gap: 2rem;
}

.stat-item {
    text-align: left;
    margin-bottom: 2rem;
}

.stat-number {
    font-size: 3.5rem;
    line-height: 1;
    margin: 0;
    color: var(--wp--preset--color--brand);
}

.stat-label {
    font-size: 1rem;
    line-height: 1.4;
    margin: 0;
    color: var(--wp--preset--color--foreground);
    opacity: 0.8;
}

/* Responsive styles for stats section */
@media screen and (max-width: 781px) {
    .stats-description-columns {
        flex-wrap: wrap;
    }

    .stats-description-columns>.wp-block-column {
        flex-basis: 100% !important;
        margin-left: 0;
    }

    .stats-description-columns>.wp-block-column:first-child {
        margin-bottom: 2rem;
    }

    .stats-grid {
        gap: 1rem;
    }

    .stat-number {
        font-size: 2.5rem;
    }

    .stat-label {
        font-size: 0.9rem;
    }

    /* Stack stats in a single column on mobile */
    @media screen and (max-width: 600px) {
        .stats-grid {
            flex-direction: column;
        }

        .stats-grid>.wp-block-column {
            flex-basis: 100% !important;
            margin-left: 0;
        }

        .stat-item {
            margin-bottom: 1.5rem;
        }
    }
}

/* Add subtle animation to stats */
.stat-item {
    transition: transform 0.3s ease;
}

.stat-item:hover {
    transform: translateY(-5px);
}

/* Callout CTA Pattern Styles */
.wp-block-group.has-border-color {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.wp-block-group.has-border-color:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(25, 71, 116, 0.1);
}

.wp-block-group.has-border-color h1 {
    margin-bottom: var(--wp--preset--spacing--40);
    font-size: clamp(2rem, 4vw, 2.5rem);
    line-height: 1.2;
}

.wp-block-group.has-border-color p {
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: var(--wp--preset--spacing--50);
    font-size: clamp(1rem, 2vw, 1.125rem);
    line-height: 1.6;
}

.wp-block-group.has-border-color .wp-block-button {
    margin-top: var(--wp--preset--spacing--30);
}

.wp-block-group.has-border-color .wp-block-button__link {
    padding: 0.8em 2em;
    transition: background-color 0.3s ease, transform 0.2s ease;
}

.wp-block-group.has-border-color .wp-block-button__link:hover {
    transform: translateY(-1px);
}

/* Responsive adjustments */
@media (max-width: 781px) {
    .wp-block-group.has-border-color {
        padding: var(--wp--preset--spacing--50) !important;
        margin: var(--wp--preset--spacing--50) auto !important;
    }

    .wp-block-group.has-border-color h1 {
        margin-bottom: var(--wp--preset--spacing--30);
    }

    .wp-block-group.has-border-color p {
        margin-bottom: var(--wp--preset--spacing--40);
    }
}

/* Palette color overrides for block backgrounds */
body .has-tertiary-background-color {
    background-color: var(--wp--preset--color--tertiary) !important;
}

body .has-foreground-background-color {
    background-color: var(--wp--preset--color--foreground) !important;
}

body .has-background-background-color {
    background-color: var(--wp--preset--color--background) !important;
}

body .has-brand-background-color {
    background-color: var(--wp--preset--color--brand) !important;
}

body .has-brand-light-background-color {
    background-color: var(--wp--preset--color--brand-light) !important;
}

body .has-white-background-color {
    background-color: var(--wp--preset--color--white) !important;
}

/* Ponyfill override: ensure correct CSS variable usage for palette colors */
.has-background-color {
    color: var(--wp--preset--color--background) !important;
}

.has-foreground-background-color {
    background-color: var(--wp--preset--color--foreground) !important;
}

.has-tertiary-background-color {
    background-color: var(--wp--preset--color--tertiary) !important;
}

.has-brand-background-color {
    background-color: var(--wp--preset--color--brand) !important;
}

.has-brand-light-background-color {
    background-color: var(--wp--preset--color--brand-light) !important;
}

.has-white-background-color {
    background-color: var(--wp--preset--color--white) !important;
}

/* Mobile Navigation Styles - Simple & Clean */
@media (max-width: 781px) {

    .hero-section {
        top: 20px !important;
    }

    /* Override desktop flex styles on mobile */
    header .site-header {
        padding: 0 !important;
        flex-direction: row;
        column-gap: 0px;
    }


    header .site-header .site-brand.is-layout-flex.wp-block-group-is-layout-flex {
        max-width: 80%;
    }

    header ul.wp-block-navigation {
        display: block;
    }

    header .wp-block-navigation * {
        box-shadow: none !important;
    }

    header .wp-block-navigation .wp-block-navigation__container {
        display: block;
        gap: 0 !important;
        justify-content: flex-start !important;
        width: 100%;

    }

    /* Mobile menu button */
    .wp-block-navigation__responsive-container-open {
        padding: 12px;
        margin: -12px;
        border-radius: 6px;
        transition: background-color 0.2s ease;
    }

    .wp-block-navigation__responsive-container-open:hover {
        background-color: rgba(25, 71, 116, 0.05);
    }

    /* Mobile menu container */
    .wp-block-navigation__responsive-container:not() {
        display: none;
    }

    .wp-block-navigation__responsive-container {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: #fff;
        padding: 0;
        z-index: 999;
        overflow-y: auto;
    }

    /* Mobile menu close button */
    .wp-block-navigation__responsive-container-close {
        position: absolute;
        top: 1rem;
        right: 1rem;
        padding: 12px;
        z-index: 2;
        font-size: 1.5rem;
        font-weight: 600;
        color: #194774;
    }

    /* Mobile menu items container */
    .wp-block-navigation__responsive-container .wp-block-navigation__container {
        display: block;
        width: 100%;
        gap: 0;
        padding: 4rem 0 2rem 0;
        align-items: flex-start;
    }

    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container {
        padding-top: 0em !important;
    }

    /* All navigation items */
    .wp-block-navigation__responsive-container .wp-block-navigation-item {
        width: 100%;
        margin: 0 !important;
        padding: 0 !important;
        border: none !important;
        list-style: none;
    }

    header ul.wp-block-navigation,
    header ul.wp-block-navigation-submenu {
        padding: 0;
        margin: 0;
        list-style-type: none;
    }

    header .wp-block-navigation a.wp-block-navigation-item__content {
        padding: 0.2em 1em !important;
        color: #194774 !important;
    }

    header .wp-block-navigation a.wp-block-navigation-item__content:hover,
    header .wp-block-navigation .wp-block-navigation__submenu-container a:hover {
        background-color: #fff !important;
        color: var(--wp--preset--color--brand) !important;
    }
}

/* ==========================================================================
   Parallax Scroll Effects
   ========================================================================== */

/* Removed problematic rule that was hiding main content containers
.wp-site-blocks>.wp-block-group-is-layout-constrained {
    display: none !important;
}
*/

/* Hero spacer - invisible placeholder for document flow */
.hero-spacer {
    background: transparent !important;
    pointer-events: none;
    position: relative;
    z-index: 0;
}

/* Hero section parallax setup - support both original and new classes */
.hero-section,
.parallax-hero {
    will-change: transform;
    transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* Hero content fade effect */
.hero-section .hero-content,
.hero-section .wp-block-cover__inner-container,
.parallax-hero .hero-content,
.parallax-hero .wp-block-cover__inner-container {
    will-change: transform, opacity;
    transition: opacity 0.3s ease-out, transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.hero-section h2 {
    font-weight: 400;
}

/* CTA section that scrolls over hero and under content-1 */
.cta-section {
    background: inherit;
    /* Ensure it has a background */
    transition: box-shadow 0.3s ease;
    will-change: transform;
}

/* CTA content for parallax transform */
.cta-section>*,
.cta-section .wp-block-group__inner-container {
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.4s ease;
    will-change: transform, opacity;
}

/* Content sections that scroll with parallax effects */
.content-1,
.parallax-content-1,
.parallax-content-2 {
    background: inherit;
    box-shadow: none !important;
    transition: box-shadow 0.3s ease;
    will-change: transform;
}

/* Apply full-width styles to parallax content sections */
.parallax-content-1,
.parallax-content-2,
.parallax-content-3,
.parallax-content-4 {
    position: relative;
    z-index: 10;
    /* Full width background with centered content - same as homepage sections */
    max-width: none !important;
    width: 100vw !important;
    left: 50%;
    right: 50%;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    /* Ensure sections have no gaps between them */
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Set proper z-index layering for parallax sections */
.parallax-content-2 {
    z-index: 20;
}

.parallax-content-3 {
    z-index: 25;
}

.parallax-content-4 {
    z-index: 35;
}

/* Constrain inner content to proper width */
.parallax-content-1 .wp-block-columns.alignwide,
.parallax-content-2 .wp-block-columns.alignwide,
.parallax-content-3 .wp-block-columns.alignwide,
.parallax-content-4 .wp-block-columns.alignwide,
.parallax-content-1>.wp-block-group__inner-container,
.parallax-content-2>.wp-block-group__inner-container,
.parallax-content-3>.wp-block-group__inner-container,
.parallax-content-4>.wp-block-group__inner-container {
    max-width: 1320px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100%;
    padding-left: 20px;
    padding-right: 20px;
    box-sizing: border-box;
}

/* Smooth scroll behavior */
html {
    scroll-behavior: smooth;
}

/* Mobile responsive styles for parallax sections */
@media screen and (max-width: 782px) {

    /* Disable 100vw trick on mobile for parallax sections */
    .parallax-content-1,
    .parallax-content-2,
    .parallax-content-3,
    .parallax-content-4 {
        width: 100% !important;
        left: auto !important;
        right: auto !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* Ensure proper padding on mobile */
    .parallax-content-1 .wp-block-columns.alignwide,
    .parallax-content-2 .wp-block-columns.alignwide,
    .parallax-content-3 .wp-block-columns.alignwide,
    .parallax-content-4 .wp-block-columns.alignwide,
    .parallax-content-1>.wp-block-group__inner-container,
    .parallax-content-2>.wp-block-group__inner-container,
    .parallax-content-3>.wp-block-group__inner-container,
    .parallax-content-4>.wp-block-group__inner-container {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
}

/* ==========================================================================
   Header Width Constraints
   ========================================================================== */

/* Top bar (NASDAQ widget) - full width background, constrained content */
header.wp-block-template-part>.wp-block-group:first-child>.wp-block-group[style*="background-color:#264671"] {
    width: 100%;
    max-width: 100%;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

header.wp-block-template-part>.wp-block-group:first-child>.wp-block-group[style*="background-color:#264671"] .bang-stock-widget {
    max-width: 1320px;
    margin: 0 auto;
    width: 100%;
    padding: 8px 10px;
    /* Match the navigation padding */
    box-sizing: border-box;
}

/* Main navigation container - constrain content */
header.wp-block-template-part .site-header {
    max-width: 1320px !important;
    margin: 0 auto !important;
    width: 100%;
    padding-left: 0px !important;
    padding-right: 0px !important;
    box-sizing: border-box;
}

/* Remove alignfull max-width override in header */
header.wp-block-template-part .alignfull {
    max-width: none;
}

/* Ensure consistent alignment by using same padding values */
@media (max-width: 781px) {

    header.wp-block-template-part .site-header {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
}

/* ==========================================================================
   CTA Section Width Constraints
   ========================================================================== */

/* CTA section - allow full width background */
.cta-section.alignwide {
    max-width: none !important;
    /* Allow full width for background */
    width: 100vw !important;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
}

/* Constrain only the inner content */
.cta-section>.wp-block-group,
.cta-section>.wp-block-buttons {
    max-width: 1320px;
    margin-left: auto;
    margin-right: auto;
}

/* ==========================================================================
   Content-1 Section Width Constraints
   ========================================================================== */

/* Content-1 section - allow full width background */
.content-1 {
    max-width: none !important;
    /* Allow full width for gradient background */
    width: 100vw !important;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
}

/* Constrain the columns container inside content-1 */
.content-1 .wp-block-columns.alignwide {
    max-width: 1320px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100%;
    padding-left: 20px;
    padding-right: 20px;
    box-sizing: border-box;
}

/* ==========================================================================
   Content-2 Section Width Constraints
   ========================================================================== */

/* Content-2 section - allow full width background */
.content-2 {
    max-width: none !important;
    /* Allow full width for gradient background */
    width: 100vw !important;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
}

/* Constrain all direct children groups and columns */
.content-2>.wp-block-group,
.content-2>.wp-block-columns,
.content-2>.wp-block-buttons {
    max-width: 1320px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0px;
    padding-right: 0px;
    box-sizing: border-box;
}

/* Ensure nested columns also respect the width */
.content-2 .wp-block-columns {
    max-width: 100%;
    width: 100%;
}

/* ==========================================================================
   Footer Width Constraints
   ========================================================================== */

/* Footer container - allow full width background */
footer.site-footer-container {
    max-width: 100%;
    width: 100%;
    position: relative;
    z-index: 50;
    background-color: #194774;
    display: block !important;
    visibility: visible !important;
}

/* Constrain the footer content */
footer.site-footer-container .alignwide {
    max-width: 1320px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100%;
    box-sizing: border-box;
}

/* Ensure proper padding for footer columns */
footer.site-footer-container .wp-block-columns {
    max-width: 100%;
    padding-left: 0px;
    padding-right: 0px;
}


/* Ensure sections have proper backgrounds */
.wp-site-blocks>* {
    position: relative;
}

/* Add subtle shadows to sections for depth */
.cta-section,
.wp-site-blocks>*:not(.hero-section):not(header):not(footer) {
    position: relative;
    z-index: 2;
}

/* Dark blue overlay that appears on scroll - controlled by JavaScript */
.hero-section::before,
.parallax-hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #194774;
    opacity: var(--overlay-opacity, 0);
    pointer-events: none;
    z-index: 2;
    transition: opacity 0.3s ease-out;
}

/* Optional: Add gradient overlay to bottom of hero for smooth transition */
.hero-section::after,
.parallax-hero::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100px;
    background: linear-gradient(to bottom, transparent, rgba(25, 71, 116, 0.05));
    pointer-events: none;
    z-index: 3;
}

/* Dark blue overlay for inner page heroes - controlled by JavaScript */
.wp-block-cover.inner-page-hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #194774;
    opacity: var(--overlay-opacity, 0);
    pointer-events: none;
    z-index: 2;
    transition: opacity 0.3s ease-out;
}

/* Ensure inner page hero maintains proper width and doesn't break layout */
.wp-block-cover.inner-page-hero {
    position: relative;
    /* Do NOT make it fixed or change width properties */
    overflow: hidden;
}

/* Fix for inner pages - ensure main content has solid background and proper z-index (except news posts and leadership pages) */
body:not(.page-id-23):not(.parent-pageid-22):not(.single-post):not(.parent-pageid-648) .page .entry-content {
    position: relative;
    background-color: #ffffff;
    z-index: 15;
}

/* Ensure all content blocks on inner pages have solid backgrounds (except contact page, news posts, and leadership pages) */
body:not(.page-id-23):not(.parent-pageid-22):not(.single-post):not(.parent-pageid-648) .page .entry-content>* {
    position: relative;
    background-color: inherit;
}

/* For project pages specifically - higher z-index to cover fixed hero */
body:not(.page-id-23):not(.parent-pageid-22) .page-template-default main,
.single-project main,
body:not(.page-id-23):not(.parent-pageid-22) .page main {
    position: relative;
    background-color: #ffffff;
    z-index: 20;
}

/* Contact page should maintain brand blue background */
.page-id-contact main,
.contact-page main,
.page-slug-contact main,
.page-template-page-contact main,
body.page-id-contact main,
body.contact main,
.page-id-contact .entry-content,
.contact-page .entry-content,
.page-slug-contact .entry-content {
    background-color: transparent !important;
}

/* Ensure hero content is properly contained */
.hero-section .wp-block-cover__inner-container,
.inner-page-hero .wp-block-cover__inner-container,
.parallax-hero .wp-block-cover__inner-container {
    position: relative;
    z-index: 1;
}

/* Add overflow hidden to hero sections to prevent content bleeding */
.hero-section,
.parallax-hero {
    overflow: hidden;
}

/* Ensure hero-spacer has solid background to mask fixed hero */
.hero-spacer {
    background-color: #ffffff !important;
    position: relative;
    z-index: 5;
}

/* Ensure spacers don't cover footer */
.content-5-spacer,
.video-spacer {
    z-index: 5 !important;
}

/* Specific fix for investors/FAQ page to prevent text bleed-through */
.page-template-default article.page,
.page article.page {
    position: relative;
    background-color: #ffffff;
    z-index: 25;
}

/* Ensure FAQ sections have solid backgrounds */
.rank-math-faq,
.rank-math-list,
.wp-block-rank-math-faq-block {
    position: relative;
    background-color: #ffffff;
    z-index: 30;
}

/* Ensure all main content sections have solid white background (except contact page, single posts, leadership pages, 404 page, and SEC filings) */
body:not(.page-id-23):not(.parent-pageid-22):not(.single-post):not(.parent-pageid-648):not(.error404):not(.single-sec-filing) main.wp-block-group {
    position: relative;
    background-color: #ffffff !important;
    z-index: 25;
}

/* Additional layer for page content wrapper (except contact page, 404 page, and SEC filings) */
body:not(.page-id-23):not(.parent-pageid-22):not(.error404):not(.single-sec-filing) .wp-site-blocks>main,
body:not(.page-id-23):not(.parent-pageid-22):not(.error404):not(.single-sec-filing) .wp-site-blocks>.wp-block-group:not(.hero-section):not(.parallax-hero) {
    position: relative;
    background-color: #ffffff;
    z-index: 25;
    isolation: isolate;
    /* Creates new stacking context */
}

/* Specific override for contact page main content - ensure transparent background */
body.page-id-23 main,
body.page-id-23 main.wp-block-group,
body.page-id-23 .entry-content,
body.page-id-23 .wp-site-blocks>main,
body.parent-pageid-22 .page-id-23 main {
    background-color: transparent !important;
}

footer,
.wp-block-template-part footer,
footer.wp-block-template-part {
    position: relative !important;
    z-index: 50 !important;
    margin-top: 0;
    background-color: #194774;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.single-column-component {
    max-width: 1320px;
    width: 100%;
    margin: 0 auto;
}

.double-column-component {
    max-width: 1320px;
    width: 100%;
    margin: 0 auto;
}

.wp-block-social-links {
    column-gap: 10px;
}

.wp-block-social-links .wp-social-link svg {
    color: #FFFFFF !important;
}

/* ==========================================================================
   Tablet Responsive Fixes (iPad and similar)
   ========================================================================== */

@media (min-width: 782px) and (max-width: 1024px) {

    /* Hero section on tablets - ensure proper positioning and background */
    .hero-section,
    .parallax-hero {
        position: relative !important;
        background-color: #194774 !important;
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    /* Hero spacer background on tablets */
    .hero-spacer {
        display: none !important;
        /* Hide spacer on tablets since hero is relative */
    }

    /* Remove any top margin/padding that might create gaps */
    .hero-section:first-child,
    .parallax-hero:first-child,
    main>.hero-section:first-of-type,
    main>.parallax-hero:first-of-type,
    .entry-content>.hero-section:first-child,
    .entry-content>.parallax-hero:first-child {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    /* Ensure content-1 has proper background on tablets */
    .content-1,
    .parallax-content-1 {
        background-color: #194774 !important;
        position: relative !important;
        margin-top: 0 !important;
    }

    /* Content-2 section on tablets */
    .content-2,
    .parallax-content-2 {
        background-color: #194774 !important;
        position: relative !important;
    }

    /* Ensure proper backgrounds for other sections on tablets */
    .content-3,
    .parallax-content-3 {
        position: relative !important;
        background-color: #ffffff !important;
    }

    .content-4,
    .parallax-content-4 {
        position: relative !important;
        background-color: #ffffff !important;
    }

    .content-5 {
        position: relative !important;
        background-color: #194774 !important;
    }

    /* Video section on tablets */
    .video-section {
        position: relative !important;
        background-color: transparent !important;
    }

    /* News section on tablets */
    .news-section,
    .parallax-news {
        position: relative !important;
        background-color: #ffffff !important;
    }

    /* Remove any fixed positioning artifacts on tablets */
    .video-spacer,
    .content-5-spacer {
        display: none !important;
    }

    /* Ensure smooth section transitions on tablets */
    .hero-section+*,
    .content-1+*,
    .content-2+*,
    .content-3+*,
    .content-4+*,
    .content-5+*,
    .video-section+*,
    .news-section+* {
        margin-top: 0 !important;
    }
}

/* ==========================================================================
   Mobile Responsive Fixes
   ========================================================================== */

@media (max-width: 781px) {

    .wp-block-button {
        width: 100% !important;
    }

    /* Hero section on mobile - ensure proper positioning and background */
    .hero-section,
    .parallax-hero {
        position: relative !important;
        background-color: #194774 !important;
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    /* Hide hero spacer on mobile since parallax is disabled */
    .hero-spacer {
        display: none !important;
    }

    /* Remove any top margin/padding that might create gaps */
    .hero-section:first-child,
    .parallax-hero:first-child,
    main>.hero-section:first-of-type,
    main>.parallax-hero:first-of-type,
    .entry-content>.hero-section:first-child,
    .entry-content>.parallax-hero:first-child {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    /* Reset the 100vw width trick on mobile to prevent horizontal scroll */
    .cta-section.alignwide,
    .content-1,
    .content-2 {
        width: 100% !important;
        left: auto !important;
        right: auto !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        position: relative !important;
    }

    /* Ensure proper backgrounds on mobile */
    .content-1,
    .parallax-content-1 {
        background-color: #194774 !important;
    }

    .content-2,
    .parallax-content-2 {
        background-color: #194774 !important;
    }

    .content-3,
    .parallax-content-3 {
        background-color: #ffffff !important;
    }

    .content-4,
    .parallax-content-4 {
        background-color: #ffffff !important;
    }

    .content-5 {
        background-color: #194774 !important;
    }

    .news-section,
    .parallax-news {
        background-color: #ffffff !important;
    }

    /* Remove any fixed positioning artifacts on mobile */
    .video-spacer,
    .content-5-spacer {
        display: none !important;
    }

    /* Remove box-shadow from Sustainability Efforts image on mobile */
    .content-5 .wp-block-image img,
    .content-5 figure img {
        box-shadow: none !important;
    }

    /* Ensure all sections have proper padding on mobile */
    .cta-section>.wp-block-group,
    .cta-section>.wp-block-buttons,
    .content-1 .wp-block-columns.alignwide,
    .content-2>.wp-block-group,
    .content-2>.wp-block-columns,
    .content-2>.wp-block-buttons,
    .wp-block-group .wp-block-columns.alignwide,
    .wp-block-group.alignwide,
    .wp-block-group.alignwide,
    .entry-content>.wp-block-heading,
    .entry-content>.wp-block-group {
        padding-left: 15px !important;
        padding-right: 15px !important;
        max-width: 100% !important;
    }

    /* Fix column components on mobile */
    .single-column-component,
    .double-column-component {
        max-width: 100%;
        padding: 0 15px;
    }

    /* Ensure NASDAQ widget doesn't overflow */
    header.wp-block-template-part .bang-stock-widget {
        max-width: 100%;
        overflow-x: auto;
        padding: 8px 15px;
    }


    /* Ensure footer content is properly padded */
    footer.site-footer-container .alignwide {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    /* Fix rotating glow elements that might overflow */
    .rotating-glow {
        overflow: hidden;
    }

    /* Ensure columns stack properly on mobile */
    .wp-block-columns {
        flex-direction: column !important;
    }

    .wp-block-column {
        flex-basis: 100% !important;
        max-width: 100% !important;
    }

    /* Fix AOS horizontal overflow on mobile - prevent horizontal scroll */
    html,
    body {
        overflow-x: hidden;
        max-width: 100vw;
    }

    /* Ensure AOS elements stay within viewport but keep animations */
    [data-aos] {
        max-width: 100%;
        overflow: hidden;
    }

    .wp-block-columns.alignwide {
        overflow: hidden;
    }


    footer .pre-footer p.has-text-align-left,
    footer .pre-footer p.has-text-align-right {
        text-align: center;
    }
}

/* ==========================================================================
   SEC Filings Table Styling
   ========================================================================== */

/* Hover effect for SEC filings div-based table rows */
.filings-table .filing-item {
    transition: background-color 0.2s ease;
}

/* Keep existing background on hover, only change text color */
.filings-table .filing-item div,
.filings-table .filing-item span,
.filings-table .filing-item a {
    transition: color 0.2s ease;
}

/* Ensure links in filing items maintain hover state */
.filings-table .filing-item:hover a:hover {
    text-decoration: underline;
}

/* ==========================================================================
   News Archive Page Fixes
   ========================================================================== */

/* Fix news archive content hidden behind header */
.post-type-archive-post,
.blog,
.archive.category,
.archive.tag {
    padding-top: 120px !important;
    /* Increased padding for header + NASDAQ widget */
}

.admin-bar.post-type-archive-post,
.admin-bar.blog,
.admin-bar.archive.category,
.admin-bar.archive.tag {
    padding-top: 152px !important;
    /* Header + NASDAQ + admin bar */
}

@media screen and (max-width: 782px) {

    .admin-bar.post-type-archive-post,
    .admin-bar.blog,
    .admin-bar.archive.category,
    .admin-bar.archive.tag {
        padding-top: 166px !important;
        /* Header + NASDAQ + mobile admin bar */
    }
}

/* ==========================================================================
   News Archive Styling
   ========================================================================== */

/* News listing post title default color */
.post-type-archive-post .entry-title a,
.blog .entry-title a,
.archive.category .entry-title a,
.archive.tag .entry-title a,
.post-type-archive-post h2 a,
.blog h2 a,
.archive.category h2 a,
.archive.tag h2 a {
    color: #ffffff !important;
    /* White instead of grey */
    transition: color 0.3s ease;
}

/* News listing post title hover effect */
.post-type-archive-post .entry-title a:hover,
.blog .entry-title a:hover,
.archive.category .entry-title a:hover,
.archive.tag .entry-title a:hover,
.post-type-archive-post h2 a:hover,
.blog h2 a:hover,
.archive.category h2 a:hover,
.archive.tag h2 a:hover {
    color: #85d0A9 !important;
    /* Brand green */
}

/* News listing date hover effect */
.post-type-archive-post .wp-block-post-date time a:hover,
.blog .wp-block-post-date time a:hover,
.archive.category .wp-block-post-date time a:hover,
.archive.tag .wp-block-post-date time a:hover,
.post-type-archive-post .post-meta .wp-block-post-date a:hover,
.blog .post-meta .wp-block-post-date a:hover,
.archive.category .post-meta .wp-block-post-date a:hover,
.archive.tag .post-meta .wp-block-post-date a:hover,
.post-type-archive-post .is-style-post-date-icon a:hover,
.blog .is-style-post-date-icon a:hover,
.archive.category .is-style-post-date-icon a:hover,
.archive.tag .is-style-post-date-icon a:hover {
    color: #85d0A9 !important;
    /* Brand green */
    transition: color 0.3s ease;
}

/* Apply card styling to news archive posts - target the post list items */
.post-type-archive-post ul.wp-block-post-template li,
.blog ul.wp-block-post-template li,
.archive.category ul.wp-block-post-template li,
.archive.tag ul.wp-block-post-template li {
    margin-bottom: 2rem;
}

/* Remove spacer after date section */
.post-type-archive-post .post-meta+.wp-block-spacer,
.blog .post-meta+.wp-block-spacer,
.archive.category .post-meta+.wp-block-spacer,
.archive.tag .post-meta+.wp-block-spacer,
.post-type-archive-post .wp-block-spacer[style*="height:40px"],
.blog .wp-block-spacer[style*="height:40px"],
.archive.category .wp-block-spacer[style*="height:40px"],
.archive.tag .wp-block-spacer[style*="height:40px"] {
    display: none !important;
}

/* Style only the main content container (not the date/meta group) */
.post-type-archive-post ul.wp-block-post-template li>.wp-block-group:not(.post-meta),
.blog ul.wp-block-post-template li>.wp-block-group:not(.post-meta),
.archive.category ul.wp-block-post-template li>.wp-block-group:not(.post-meta),
.archive.tag ul.wp-block-post-template li>.wp-block-group:not(.post-meta) {
    background: linear-gradient(135deg,
            rgba(255, 255, 255, 0.02) 0%,
            rgba(255, 255, 255, 0.05) 50%,
            rgba(255, 255, 255, 0.02) 100%);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    padding: 20px;
    min-height: 260px;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

/* Add hover effect */
.post-type-archive-post ul.wp-block-post-template li>.wp-block-group:not(.post-meta):hover,
.blog ul.wp-block-post-template li>.wp-block-group:not(.post-meta):hover,
.archive.category ul.wp-block-post-template li>.wp-block-group:not(.post-meta):hover,
.archive.tag ul.wp-block-post-template li>.wp-block-group:not(.post-meta):hover {
    background: linear-gradient(135deg,
            rgba(255, 255, 255, 0.04) 0%,
            rgba(255, 255, 255, 0.08) 50%,
            rgba(255, 255, 255, 0.04) 100%);
    border-color: rgba(255, 255, 255, 0.2);
    transform: translateY(-2px);
    box-shadow: 0 10px 30px rgba(25, 71, 116, 0.3);
}

/* Add shimmer animation on hover - matching homepage */
.post-type-archive-post ul.wp-block-post-template li>.wp-block-group:not(.post-meta)::before,
.blog ul.wp-block-post-template li>.wp-block-group:not(.post-meta)::before,
.archive.category ul.wp-block-post-template li>.wp-block-group:not(.post-meta)::before,
.archive.tag ul.wp-block-post-template li>.wp-block-group:not(.post-meta)::before,
.news-section .wp-block-post-template li .wp-block-group::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg,
            transparent 30%,
            rgba(255, 255, 255, 0.2),
            transparent 70%);
    transition: transform 0.8s ease;
    z-index: 1;
    pointer-events: none;
}

.post-type-archive-post ul.wp-block-post-template li>.wp-block-group:not(.post-meta):hover::before,
.blog ul.wp-block-post-template li>.wp-block-group:not(.post-meta):hover::before,
.archive.category ul.wp-block-post-template li>.wp-block-group:not(.post-meta):hover::before,
.archive.tag ul.wp-block-post-template li>.wp-block-group:not(.post-meta):hover::before {
    animation: shimmer-sweep 2.2s infinite;
}

.news-section .wp-block-post-template li .wp-block-group:hover::before {
    animation: shimmer-sweep 1.8s infinite;
}

/* Ensure content stays above shimmer */
.post-type-archive-post ul.wp-block-post-template li>.wp-block-group:not(.post-meta)>*,
.blog ul.wp-block-post-template li>.wp-block-group:not(.post-meta)>*,
.archive.category ul.wp-block-post-template li>.wp-block-group:not(.post-meta)>*,
.archive.tag ul.wp-block-post-template li>.wp-block-group:not(.post-meta)>* {
    position: relative;
    z-index: 2;
}

/* Add padding under pagination */
.post-type-archive-post .wp-block-query-pagination,
.blog .wp-block-query-pagination,
.archive.category .wp-block-query-pagination,
.archive.tag .wp-block-query-pagination {
    padding-bottom: 4rem;
}


/* ==========================================================================
   Homepage News Section Styling (news-section)
   ========================================================================== */

/* Apply card styling to homepage news items */
.news-section .wp-block-post-template li .wp-block-group {
    background: linear-gradient(135deg,
            rgba(255, 255, 255, 0.02) 0%,
            rgba(255, 255, 255, 0.05) 50%,
            rgba(255, 255, 255, 0.02) 100%);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

/* Add shimmer pseudo-element for homepage news */
.news-section .wp-block-post-template li .wp-block-group::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg,
            transparent 30%,
            rgba(255, 255, 255, 0.2),
            transparent 70%);
    transition: transform 0.8s ease;
    z-index: 1;
    pointer-events: none;
}

/* Hover effect for homepage news cards */
.news-section .wp-block-post-template li .wp-block-group:hover {
    background: linear-gradient(135deg,
            rgba(255, 255, 255, 0.04) 0%,
            rgba(255, 255, 255, 0.08) 50%,
            rgba(255, 255, 255, 0.04) 100%);
    border-color: rgba(255, 255, 255, 0.2);
    transform: translateY(-2px);
    box-shadow: 0 10px 30px rgba(25, 71, 116, 0.3);
}

/* Animate shimmer on hover */
.news-section .wp-block-post-template li .wp-block-group:hover::before {
    animation: shimmer-sweep 1.8s infinite;
}

/* Homepage news title styling */
.news-section .wp-block-post-title a {
    color: #ffffff !important;
    transition: color 0.3s ease;
}

.news-section .wp-block-post-title a:hover {
    color: #85d0A9 !important;
}

/* Homepage news date styling */
.news-section .wp-block-post-date,
.news-section .wp-block-post-date time {
    color: rgba(255, 255, 255, 0.7) !important;
    transition: color 0.3s ease;
}

.news-section .wp-block-post-date:hover,
.news-section .wp-block-post-date:hover time {
    color: #85d0A9 !important;
}

/* Homepage news excerpt styling */
.news-section .wp-block-post-excerpt {
    color: rgba(255, 255, 255, 0.8) !important;
}

/* Homepage news excerpt paragraph */
.news-section .wp-block-post-excerpt__excerpt {
    color: rgba(255, 255, 255, 0.8) !important;
}

/* Ensure content stays above shimmer for homepage news */
.news-section .wp-block-post-template li .wp-block-group>* {
    position: relative;
    z-index: 2;
}


/* ==========================================================================
   Improved Rotating Glow & Content-2 Section Effects
   ========================================================================== */

/* Improved rotating glow structure - cleaner and smoother */
.rotating-glow {
    position: relative !important;
    border-radius: 8px !important;
    /* Remove the 1px padding that was causing issues */
    padding: 0 !important;
    overflow: visible !important;
    /* Allow glow to show outside */
    isolation: isolate;
    /* Create new stacking context */
}

/* Glow wrapper positioning - outside the content */
.rotating-glow .glow-wrapper {
    position: absolute;
    top: -2px;
    left: -2px;
    right: -2px;
    bottom: -2px;
    border-radius: 10px;
    overflow: hidden;
    z-index: 0;
    /* Behind content */
    pointer-events: none;
    opacity: 0.8;
    /* Slightly transparent for subtlety */
}

/* Improved glow animation - smoother and more refined */
.rotating-glow .glow-item-2 {
    position: absolute;
    top: -100%;
    left: -100%;
    width: 300%;
    height: 300%;
    background: conic-gradient(from var(--rotation, 0deg),
            transparent 0deg,
            transparent 70deg,
            rgba(133, 208, 169, 0.4) 90deg,
            /* Softer green */
            rgba(133, 208, 169, 0.7) 110deg,
            rgba(255, 255, 255, 0.5) 130deg,
            /* Softer white */
            rgba(133, 208, 169, 0.7) 150deg,
            rgba(133, 208, 169, 0.4) 170deg,
            transparent 190deg,
            transparent 360deg);
    animation: rotating-glow-smooth 4s linear infinite;
    will-change: transform;
}

/* Smoother rotation animation */
@keyframes rotating-glow-smooth {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

/* Content styling - cleaner without extra padding */
.rotating-glow-content {
    position: relative;
    z-index: 1;
    /* Above glow */
    border-radius: 8px;
    /* Remove the background that was interfering */
    background: transparent;
    /* Ensure content has its own background from inline styles */
    isolation: isolate;
    margin-block-start: 0;
    /* Remove top margin */
}

/* Content-2 specific hover effects - shimmer inside only */
.content-2 .rotating-glow-content {
    transition: all 0.3s ease;
    overflow: hidden;
    /* Keep shimmer inside */
}

/* Shimmer pseudo-element - inside content only */
.content-2 .rotating-glow-content::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg,
            transparent 30%,
            rgba(255, 255, 255, 0.15),
            transparent 70%);
    transition: transform 0.8s ease;
    z-index: 1;
    pointer-events: none;
}

/* Hover state for content-2 boxes */
.content-2 .rotating-glow-content:hover {
    /* Removed translateY effect */
    transition: all 0.3s ease;
}

/* Animate shimmer on hover - inside only */
.content-2 .rotating-glow-content:hover::after {
    animation: shimmer-inside 3.5s infinite;
}

/* Shimmer animation - moves across the inside */
@keyframes shimmer-inside {
    0% {
        transform: translateX(-100%);
    }

    50% {
        transform: translateX(300%);
    }

    100% {
        transform: translateX(300%);
    }
}

/* Ensure content text stays above shimmer */
.content-2 .rotating-glow-content>* {
    position: relative;
    z-index: 2;
}

/* Enhance glow on hover - affects border only */
.content-2 .rotating-glow:hover .glow-wrapper {
    opacity: 1;
    filter: brightness(1.2);
}

/* Speed variations for rotating glow */
.rotating-glow-fast .glow-item-2 {
    animation-duration: 2s;
}

.rotating-glow-slow .glow-item-2 {
    animation-duration: 6s;
}

.rotating-glow-subtle .glow-wrapper {
    opacity: 0.5;
}


/* ==========================================================================
   Leadership Team Profile Images
   ========================================================================== */

/* Target profile images in management team and board of directors sections */
.management-team .wp-block-image img,
.board-of-directors .wp-block-image img {
    transition: transform 0.3s ease;
    will-change: transform;
}

/* Scale/zoom effect on hover - image grows within container */
.management-team .wp-block-image:hover img,
.board-of-directors .wp-block-image:hover img {
    transform: scale(1.1);
}

/* Ensure the container maintains its size and clips overflow */
.management-team .wp-block-image,
.board-of-directors .wp-block-image {
    overflow: hidden;
    border-radius: 100px;
}


/* ==========================================================================
   Growth Milestones Section (About Us Page)
   ========================================================================== */

/* Style the columns as cards with blue border */
.growth-milestones .wp-block-column {
    border: 1px solid #194774;
    border-radius: 8px;
    padding: 2rem;
    background: #ffffff;
    position: relative;
    overflow: hidden;
    transition: all 0.3s ease;
    margin: 0 1rem;
}

/* Add subtle shadow on hover */
.growth-milestones .wp-block-column:hover {
    border-color: #315e8c;
    box-shadow: 0 4px 12px rgba(25, 71, 116, 0.1);
    transform: translateY(-2px);
}

/* Shimmer effect setup - green for white background */
.growth-milestones .wp-block-column::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg,
            transparent 30%,
            rgba(133, 208, 169, 0.3),
            transparent 70%);
    transition: transform 0.8s ease;
    z-index: 1;
    pointer-events: none;
}

/* Animate shimmer on hover */
.growth-milestones .wp-block-column:hover::before {
    animation: shimmer-sweep 2.5s infinite;
}

/* Ensure content stays above shimmer */
.growth-milestones .wp-block-column>* {
    position: relative;
    z-index: 2;
}

/* Adjust heading styles within the cards */
.growth-milestones .wp-block-heading {
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(25, 71, 116, 0.1);
}

/* Adjust paragraph spacing */
.growth-milestones p {
    margin-bottom: 1rem;
}

.growth-milestones p:last-child {
    margin-bottom: 0;
}

/* Remove extra padding from inner group blocks */
.growth-milestones .wp-block-group[style*="padding-top:5rem"] {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .growth-milestones .wp-block-column {
        margin: 1rem 0;
        padding: 1.5rem;
    }
}


/* ==========================================================================
   Leadership Team Child Pages - Spacing Fix
   ========================================================================== */

/* Add top padding to main element on leadership team member pages */
body[class*="parent-pageid-"] main {
    padding-top: 120px !important;
    min-height: calc(100vh - 200px);
    padding-bottom: 0;
}

/* Ensure proper spacing from header when admin bar is present */
.admin-bar body[class*="parent-pageid-"] main {
    padding-top: 152px !important;
}

/* Target pages that are children of leadership-team specifically */
.page-child main,
.parent-pageid-686 main,
/* Adjust this ID to match your leadership-team page ID */
.parent-pageid-687 main,
.parent-pageid-688 main,
.parent-pageid-689 main,
.parent-pageid-690 main,
.parent-pageid-759 main {
    padding-top: 120px !important;
    min-height: calc(100vh - 200px);
    padding-bottom: 0;
}

/* Admin bar adjustment for leadership child pages */
.admin-bar .page-child main,
.admin-bar .parent-pageid-686 main,
.admin-bar .parent-pageid-687 main,
.admin-bar .parent-pageid-688 main,
.admin-bar .parent-pageid-689 main,
.admin-bar .parent-pageid-690 main,
.admin-bar .parent-pageid-759 main {
    padding-top: 152px !important;
}

/* Alternative approach using path in URL */
body[class*="leadership-team"] main {
    padding-top: 120px !important;
    padding-bottom: 0;
}

.admin-bar body[class*="leadership-team"] main {
    padding-top: 152px !important;
}

/* Ensure H1 has proper spacing on these pages */
body[class*="leadership-team"] h1.wp-block-post-title,
body[class*="parent-pageid-"] h1.wp-block-post-title {
    margin-top: 0;
}

/* ==========================================================================
   Gravity Forms Contact Form Styling
   ========================================================================== */

/* Contact Form Container */
.gform_wrapper.gform-theme--foundation {
    max-width: 800px;
    margin: 0 auto;
    padding: 40px;
    background: #ffffff;
    border-radius: 10px;
    box-shadow: 0 4px 6px rgba(25, 71, 116, 0.1);
}

/* Form Labels */
.gform_wrapper .gfield_label,
.gform_wrapper .gform-field-label {
    color: #194774 !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    margin-bottom: 8px !important;
}

/* Sub Labels */
.gform_wrapper .gform-field-label--type-sub {
    color: #5796AE !important;
    font-weight: 400 !important;
    font-size: 14px !important;
    margin-top: 5px !important;
}

/* Required Field Indicator */
.gform_wrapper .gfield_required {
    color: #85D0A9 !important;
    font-weight: 400 !important;
    margin-left: 4px;
}

/* Input Fields */
.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper textarea {
    width: 100% !important;
    padding: 12px 16px !important;
    border: 2px solid #D9D9D9 !important;
    border-radius: 5px !important;
    background-color: #ffffff !important;
    color: #194774 !important;
    font-size: 15px !important;
    transition: all 0.3s ease !important;
    box-sizing: border-box !important;
}

/* Input Focus State */
.gform_wrapper input[type="text"]:focus,
.gform_wrapper input[type="email"]:focus,
.gform_wrapper textarea:focus {
    border-color: #194774 !important;
    box-shadow: 0 0 0 3px rgba(25, 71, 116, 0.1) !important;
    outline: none !important;
}

/* Textarea Specific */
.gform_wrapper textarea {
    min-height: 120px !important;
    resize: vertical !important;
}

/* Name Fields Container */
.gform_wrapper .ginput_container--name {
    display: flex !important;
    gap: 20px !important;
}

.gform_wrapper .ginput_container--name .name_first,
.gform_wrapper .ginput_container--name .name_last {
    flex: 1 !important;
}

/* Email Fields Container */
.gform_wrapper .ginput_container_email {
    display: flex !important;
    gap: 20px !important;
}

.gform_wrapper .ginput_container_email .ginput_left,
.gform_wrapper .ginput_container_email .ginput_right {
    flex: 1 !important;
}

/* Submit Button */
.gform_wrapper .gform_button {
    background-color: #194774 !important;
    color: #ffffff !important;
    padding: 14px 40px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    border: none !important;
    border-radius: 5px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
}

.gform_wrapper .gform_button:hover {
    background-color: #315e8c !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 12px rgba(25, 71, 116, 0.3) !important;
}

/* Field Spacing */
.gform_wrapper .gfield {
    margin-bottom: 25px !important;
}

/* Character Counter */
.gform_wrapper .charleft {
    color: #5796AE !important;
    font-size: 13px !important;
    margin-top: 5px !important;
}

/* Validation Container (Honeypot) - Hide */
.gform_wrapper .gform_validation_container {
    display: none !important;
}

/* Error Messages */
.gform_wrapper .gfield_validation_message,
.gform_wrapper .validation_error {
    color: #85D0A9 !important;
    font-size: 14px !important;
    margin-top: 5px !important;
}

/* Footer Section */
.gform_wrapper .gform-footer {
    margin-top: 30px !important;
    padding-top: 20px !important;
    border-top: 1px solid #D9D9D9 !important;
}

/* Responsive Design */
@media (max-width: 768px) {
    .gform_wrapper.gform-theme--foundation {
        padding: 20px;
    }

    .gform_wrapper .ginput_container--name,
    .gform_wrapper .ginput_container_email {
        flex-direction: column !important;
        gap: 15px !important;
    }

    .gform_wrapper .gform_button {
        width: 100% !important;
        padding: 16px !important;
    }
}

/* Override Default Theme Colors */
.gform_wrapper[data-form-theme="orbital"] {
    --gf-color-primary: #194774 !important;
    --gf-color-primary-darker: #315e8c !important;
    --gf-color-primary-lighter: #5796AE !important;
    --gf-ctrl-border-color: #D9D9D9 !important;
    --gf-ctrl-label-color-primary: #194774 !important;
    --gf-ctrl-label-color-secondary: #5796AE !important;
}

/* ==========================================================================
   Video Block Styles
   ========================================================================== */

/* Ensure video blocks display properly */
.wp-block-video {
    margin: 0;
    width: 100%;
    background: transparent;
}

.wp-block-video video {
    width: 100%;
    height: auto;
    display: block;
    max-width: 100%;
    background: transparent;
}

/* Full width video container */
.wp-block-group:has(.wp-block-video) {
    padding: 0;
    margin: 0;
}

/* Video section with higher z-index to appear above hero overlay */
.video-section {
    position: relative;
    z-index: 20;
    min-height: 80vh;
    /* Give container a minimum height */
}

/* Remove min-height on mobile to prevent large gaps */
@media (max-width: 781px) {
    .video-section {
        min-height: auto !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
}

.video-section .wp-block-video {
    position: relative;
    z-index: 21;
    width: 100%;
}

/* Ensure video shows bottom content with text */
.video-section video {
    width: 100%;
    height: auto;
    max-height: 90vh;
    /* Limit height so object-position has space to work */
    object-fit: cover;
    /* Required for object-position to work */
    object-position: center bottom;
    /* Show bottom portion of video */
}

/* ==========================================================================
   Global Button Styles
   ========================================================================== */

/* Base button styles - transparent with green border */
.wp-block-button__link,
.wp-element-button,
.button,
a.button,
button.button,
input[type="submit"],
input[type="button"] {
    background-color: transparent !important;
    background-image: none !important;
    color: #ffffff !important;
    border: 1px solid #85d0A9 !important;
    padding: 12px 32px !important;
    border-radius: 4px;
    font-weight: 500;
    text-decoration: none;
    display: inline-block;
    position: relative;
    overflow: hidden;
    transition: all 0.3s ease;
    z-index: 1;
}

/* Remove any gradient backgrounds */
.wp-block-button.is-style-fill .wp-block-button__link {
    background-image: none !important;
    background-color: transparent !important;
}

/* Shimmer effect setup */
.wp-block-button__link::before,
.wp-element-button::before,
.button::before,
a.button::before,
button.button::before,
input[type="submit"]::before,
input[type="button"]::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg,
            transparent 30%,
            rgba(133, 208, 169, 0.4),
            transparent 70%);
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: -1;
    pointer-events: none;
}

/* Hover state with shimmer */
.wp-block-button__link:hover,
.wp-element-button:hover,
.button:hover,
a.button:hover,
button.button:hover,
input[type="submit"]:hover,
input[type="button"]:hover {
    background-color: rgba(133, 208, 169, 0.1) !important;
    border-color: #85d0A9 !important;
    color: #ffffff !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(133, 208, 169, 0.2);
}

/* Trigger shimmer animation on hover */
.wp-block-button__link:hover::before,
.wp-element-button:hover::before,
.button:hover::before,
a.button:hover::before,
button.button:hover::before,
input[type="submit"]:hover::before,
input[type="button"]:hover::before {
    opacity: 1;
    animation: button-shimmer 3.5s infinite;
}

/* Button shimmer animation */
@keyframes button-shimmer {
    0% {
        transform: translateX(-100%);
    }

    50% {
        transform: translateX(300%);
    }

    100% {
        transform: translateX(300%);
    }
}

/* Focus state */
.wp-block-button__link:focus,
.wp-element-button:focus,
.button:focus,
a.button:focus,
button.button:focus,
input[type="submit"]:focus,
input[type="button"]:focus {
    outline: 2px solid #85d0A9;
    outline-offset: 2px;
}

/* Active/pressed state */
.wp-block-button__link:active,
.wp-element-button:active,
.button:active,
a.button:active,
button.button:active,
input[type="submit"]:active,
input[type="button"]:active {
    transform: translateY(0);
    box-shadow: 0 2px 4px rgba(133, 208, 169, 0.2);
}


/* ==========================================================================
   RankMath FAQ Accordion Styles
   ========================================================================== */

/* Base FAQ container styles */
.rank-math-block {
    margin: 2rem 0;
}

.rank-math-list {
    border: 1px solid #D9D9D9;
    border-radius: 8px;
    overflow: hidden;
    background: #ffffff;
    box-shadow: 0 2px 4px rgba(25, 71, 116, 0.05);
}

/* FAQ item container */
.rank-math-list-item {
    border-bottom: 1px solid #D9D9D9;
    transition: background-color 0.2s ease;
}

.rank-math-list-item:last-child {
    border-bottom: none;
}

/* Question styling - acts as accordion trigger */
.rank-math-question {
    margin: 0;
    padding: 1.25rem 1.5rem;
    background: #ffffff;
    border: none;
    font-size: 1.125rem;
    font-weight: 600;
    color: #194774;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: all 0.2s ease;
    user-select: none;
    position: relative;
}

.rank-math-question:hover {
    background: #edf2f7;
    color: #194774;
}

.rank-math-question:focus {
    outline: 2px solid #194774;
    outline-offset: -2px;
}

/* Add arrow icon using CSS */
.rank-math-question::after {
    content: '▼';
    font-size: 0.875rem;
    color: #718096;
    transition: transform 0.2s ease;
    flex-shrink: 0;
    margin-left: 1rem;
}

/* Rotate arrow when expanded */
.rank-math-list-item.faq-expanded .rank-math-question::after {
    transform: rotate(180deg);
}

/* Answer container */
.rank-math-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease, padding 0.3s ease;
    background: #ffffff;
}

/* Expanded state */
.rank-math-list-item.faq-expanded .rank-math-answer {
    max-height: 500px;
    /* Adjust based on content needs */
    padding: 1.5rem 1.5rem 1.25rem 1.5rem;
}

/* Answer content styling */
.rank-math-answer p {
    margin: 0;
    padding-top: 1rem;
    color: #194774;
    line-height: 1.6;
}

.rank-math-answer p:first-child {
    padding-top: 0;
}

/* Active/focused states */
.rank-math-list-item.faq-expanded .rank-math-question {
    background: #e6fffa;
    color: #194774;
    border-bottom: 1px solid #81e6d9;
}

/* Smooth animation for content reveal */
.rank-math-answer {
    transition: max-height 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94),
        padding 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94),
        opacity 0.3s ease;
    opacity: 0;
}

.rank-math-list-item.faq-expanded .rank-math-answer {
    opacity: 1;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .rank-math-question {
        padding: 1rem 1.25rem;
        font-size: 1rem;
    }

    .rank-math-list-item.faq-expanded .rank-math-answer {
        padding: 0 1.25rem 1rem 1.25rem;
    }

    .rank-math-answer {
        max-height: 0;
    }

    .rank-math-list-item.faq-expanded .rank-math-answer {
        max-height: 400px;
    }
}

/* Accessibility improvements */
@media (prefers-reduced-motion: reduce) {

    .rank-math-question,
    .rank-math-answer,
    .rank-math-question::after {
        transition: none;
    }
}

/* Focus visible for better keyboard navigation */
.rank-math-question:focus-visible {
    outline: 2px solid #194774;
    outline-offset: 2px;
}

/* Print styles - show all content when printing */
@media print {
    .rank-math-answer {
        max-height: none !important;
        overflow: visible !important;
        padding: 0 1.5rem 1.25rem 1.5rem !important;
        opacity: 1 !important;
    }

    .rank-math-question::after {
        display: none;
    }
}

/* ==========================================================================
   News Pages Background Fix - Targeted Approach
   ========================================================================== */

/* News listing page (blog archive) - dark blue background */
body.blog {
    background-color: #194774 !important;
}

/* News listing page main content - transparent background */
body.blog main,
body.blog .wp-site-blocks>main,
body.blog main.wp-block-group {
    background-color: transparent !important;
    background: transparent !important;
}

/* Single news post pages - dark blue background */
body.single-post {
    background-color: #194774 !important;
}

/* Single news post main content - transparent background */
body.single-post main,
body.single-post .wp-site-blocks>main,
body.single-post main.wp-block-group {
    background-color: transparent !important;
    background: transparent !important;
}

/* News archive pages - dark blue background */
body.post-type-archive-post,
body.archive.category,
body.archive.tag {
    background-color: #194774 !important;
}

/* News archive main content - transparent background */
body.post-type-archive-post main,
body.post-type-archive-post .wp-site-blocks>main,
body.post-type-archive-post main.wp-block-group,
body.archive.category main,
body.archive.category .wp-site-blocks>main,
body.archive.category main.wp-block-group,
body.archive.tag main,
body.archive.tag .wp-site-blocks>main,
body.archive.tag main.wp-block-group {
    background-color: transparent !important;
    background: transparent !important;
}

/* Ensure content wrapper groups are transparent on news pages */
body.blog .wp-block-group.is-layout-constrained,
body.single-post .wp-block-group.is-layout-constrained,
body.post-type-archive-post .wp-block-group.is-layout-constrained,
body.archive .wp-block-group.is-layout-constrained {
    background-color: transparent !important;
}

/* But keep the NASDAQ widget bar background */
body.blog header .wp-block-group[style*="background-color:#264671"],
body.single-post header .wp-block-group[style*="background-color:#264671"],
body.post-type-archive-post header .wp-block-group[style*="background-color:#264671"],
body.archive header .wp-block-group[style*="background-color:#264671"] {
    background-color: #264671 !important;
}

/* Leadership team individual pages - dark blue background */
body.parent-pageid-648 {
    background-color: #194774 !important;
}

body.parent-pageid-648 main,
body.parent-pageid-648 .wp-site-blocks>main,
body.parent-pageid-648 main.wp-block-group,
body.parent-pageid-648 .entry-content {
    background-color: transparent !important;
    background: transparent !important;
}

/* ==========================================================================
   Mobile Fixes for Project Pages
   ========================================================================== */

/* Fix excessive padding-top on project pages (mobile) */
@media (max-width: 768px) {
    /* Set correct body padding-top for project pages */
    body[class*="parent-pageid-"] {
        padding-top: 38px !important;
    }
    
    /* Remove the 120px padding-top that's causing white space above hero */
    body[class*="parent-pageid-"] main {
        padding-top: 0 !important;
    }
    
    /* Ensure the hero section starts at the correct position */
    body[class*="parent-pageid-"] .parallax-hero,
    body[class*="parent-pageid-"] .wp-block-cover.parallax-hero {
        top: 38px !important; /* Match body padding */
    }
    
    /* Adjust hero spacer if needed */
    body[class*="parent-pageid-"] .hero-spacer {
        margin-top: 0 !important;
    }
}

/* ==========================================================================
   SEC Filing Page Fixes
   ========================================================================== */

/* Increase bottom padding on SEC filing pages */
body.single-sec-filing main.wp-block-group {
    padding-bottom: 120px !important;
}

/* ==========================================================================
   Gravity Forms Fixes
   ========================================================================== */

/* Style confirmation message */
.gform_confirmation_message {
    color: black;
    text-align: center;
}

/* ==========================================================================
   Navigation Menu Fixes
   ========================================================================== */

/* Fix inconsistent font sizes in navigation dropdown menus */
.wp-block-navigation__submenu-container .wp-block-navigation-item,
.wp-block-navigation__submenu-container .wp-block-navigation-link,
.wp-block-navigation__submenu-container .wp-block-navigation-item.has-small-font-size,
.wp-block-navigation__submenu-container .wp-block-navigation-link.has-small-font-size {
    font-size: inherit !important;
}

/* Ensure all submenu items have consistent sizing */
.wp-block-navigation__submenu-container .wp-block-navigation-item__label {
    font-size: inherit !important;
}

/* Override any specific font-size classes in submenus */
.wp-block-navigation .wp-block-navigation__submenu-container .has-small-font-size {
    font-size: inherit !important;
}

/* ==========================================================================
   News/Blog Mobile Padding Fix
   ========================================================================== */

/* Add padding to news archive and single post pages on mobile */
@media (max-width: 768px) {
    /* News archive pages */
    body.post-type-archive-post main,
    body.archive.category main,
    body.archive.tag main,
    /* Single post pages */
    body.single-post main,
    /* Blog page */
    body.blog main {
        padding-top: 30px !important;
        padding-left: 30px !important;
        padding-right: 30px !important;
    }
    
    /* Ensure the main content container has proper spacing */
    body.post-type-archive-post .entry-content,
    body.archive.category .entry-content,
    body.archive.tag .entry-content,
    body.single-post .entry-content,
    body.blog .entry-content {
        padding-left: 0;
        padding-right: 0;
    }
}