.elementor-kit-7{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ================================================================
   CAVALIER COLLECTIVE - PREMIUM CUSTOM CSS
   For use with Elementor Pro 3.32.3+
   
   HOW TO ADD TO ELEMENTOR:
   1. Go to Elementor > Custom CSS (or Page Settings > Advanced > Custom CSS)
   2. Copy and paste this entire file
   3. Save and publish
   ================================================================ */

/* ================================================================
   1. FONT IMPORTS & TYPOGRAPHY REFINEMENTS
   ================================================================ */

/* Import Gravesend font if not already loaded */
/* NOTE: Replace with your actual Gravesend font files */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&display=swap');

/* Fallback if Gravesend not available - using Cormorant Garamond as elegant serif alternative */
.elementor-heading-title,
.elementor-widget-heading .elementor-heading-title {
    font-family: 'Gravesend', 'Cormorant Garamond', 'Playfair Display', Georgia, serif !important;
}

/* Enhanced typography for premium feel */
body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

/* Premium letter spacing for small caps */
.elementor-widget-heading h6 {
    letter-spacing: 0.25em !important;
    font-weight: 400 !important;
}

/* ================================================================
   2. SMOOTH ANIMATIONS & TRANSITIONS
   ================================================================ */

/* Global smooth transitions */
* {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Remove transition from specific elements that shouldn't animate */
.elementor-background-video-container,
.elementor-background-slideshow,
img,
svg {
    transition: none;
}

/* Fade-in animation for sections */
.elementor-section {
    animation: fadeInUp 0.8s cubic-bezier(0.4, 0, 0.2, 1) forwards;
    opacity: 0;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Stagger animation delays for sections */
.elementor-section:nth-child(1) { animation-delay: 0.1s; }
.elementor-section:nth-child(2) { animation-delay: 0.2s; }
.elementor-section:nth-child(3) { animation-delay: 0.3s; }
.elementor-section:nth-child(4) { animation-delay: 0.4s; }
.elementor-section:nth-child(5) { animation-delay: 0.5s; }

/* ================================================================
   3. ENHANCED BUTTON STYLES & HOVER EFFECTS
   ================================================================ */

/* Premium button enhancements */
.elementor-button-wrapper .elementor-button {
    position: relative;
    overflow: hidden;
    transform: translateZ(0);
    backface-visibility: hidden;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Button hover lift effect */
.elementor-button-wrapper .elementor-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0, 0, 56, 0.15);
}

/* Button active press effect */
.elementor-button-wrapper .elementor-button:active {
    transform: translateY(0);
    box-shadow: 0 2px 8px rgba(0, 0, 56, 0.1);
}

/* Ripple effect on button click */
.elementor-button-wrapper .elementor-button::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.2);
    transform: translate(-50%, -50%);
    transition: width 0.6s, height 0.6s;
}

.elementor-button-wrapper .elementor-button:active::before {
    width: 300px;
    height: 300px;
}

/* Gold accent button specific styles */
.elementor-button[style*="#C29B0C"] {
    position: relative;
    background: linear-gradient(135deg, #C29B0C 0%, #D4AF37 100%) !important;
}

/* ================================================================
   4. GRADIENT & DECORATIVE ELEMENTS
   ================================================================ */

/* Animated gradient divider line */
.elementor-widget-html [style*="linear-gradient"] {
    background-size: 200% 100%;
    animation: shimmer 3s ease-in-out infinite;
}

@keyframes shimmer {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}

/* Vertical gradient line animation */
.elementor-widget-html [style*="linear-gradient(180deg"] {
    animation: verticalShimmer 3s ease-in-out infinite;
}

@keyframes verticalShimmer {
    0%, 100% { 
        background: linear-gradient(180deg, #C29B0C 0%, transparent 100%);
    }
    50% { 
        background: linear-gradient(180deg, #D4AF37 0%, rgba(212, 175, 55, 0.3) 100%);
    }
}

/* ================================================================
   5. SECTION-SPECIFIC ENHANCEMENTS
   ================================================================ */

/* Hero Section (First Section) - Subtle parallax effect */
.elementor-section:nth-child(1) {
    position: relative;
    overflow: hidden;
}

/* Quote Section (Navy Background) - Enhanced depth */
.elementor-section[data-settings*="#000038"],
.elementor-section[style*="background-color: rgb(0, 0, 56)"] {
    position: relative;
    box-shadow: inset 0 2px 60px rgba(0, 0, 0, 0.15);
}

/* Quote Section - Elegant quote styling */
.elementor-section[style*="background-color: rgb(0, 0, 56)"] .elementor-text-editor p {
    position: relative;
    padding: 0 60px;
}

.elementor-section[style*="background-color: rgb(0, 0, 56)"] .elementor-text-editor p::before,
.elementor-section[style*="background-color: rgb(0, 0, 56)"] .elementor-text-editor p::after {
    content: '';
    position: absolute;
    width: 40px;
    height: 40px;
    opacity: 0.3;
}

.elementor-section[style*="background-color: rgb(0, 0, 56)"] .elementor-text-editor p::before {
    top: -10px;
    left: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23C29B0C"><path d="M6 17h3l2-4V7H5v6h3zm8 0h3l2-4V7h-6v6h3z"/></svg>') no-repeat;
}

.elementor-section[style*="background-color: rgb(0, 0, 56)"] .elementor-text-editor p::after {
    bottom: -10px;
    right: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23C29B0C"><path d="M18 7h-3l-2 4v6h6v-6h-3zM10 7H7L5 11v6h6v-6h-3z"/></svg>') no-repeat;
}

/* Practice Areas Section - Card hover effects */
.elementor-section .elementor-column[style*="background-color: rgb(255, 255, 255)"] {
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
}

.elementor-section .elementor-column[style*="background-color: rgb(255, 255, 255)"]:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 60px rgba(0, 0, 56, 0.12);
}

/* Add subtle border on hover */
.elementor-section .elementor-column[style*="background-color: rgb(255, 255, 255)"]::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border: 1px solid transparent;
    transition: border-color 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: none;
}

.elementor-section .elementor-column[style*="background-color: rgb(255, 255, 255)"]:hover::before {
    border-color: rgba(194, 155, 12, 0.2);
}

/* Icon/Image hover effects */
.elementor-widget-image img {
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.elementor-column:hover .elementor-widget-image img {
    transform: scale(1.05);
}

/* SVG icon animations */
.elementor-widget-html svg {
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.elementor-column:hover .elementor-widget-html svg {
    transform: rotate(5deg) scale(1.05);
}

/* Stats Section - Number animation */
.elementor-widget-html div[style*="font-size: 72px"] {
    font-variant-numeric: tabular-nums;
    animation: countUp 1s ease-out;
}

@keyframes countUp {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

/* ================================================================
   6. LINK & INTERACTION ENHANCEMENTS
   ================================================================ */

/* "Explore →" button hover effects */
.elementor-button[style*="transparent"] {
    position: relative;
}

.elementor-button[style*="transparent"]::after {
    content: '→';
    margin-left: 5px;
    display: inline-block;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.elementor-button[style*="transparent"]:hover::after {
    transform: translateX(5px);
}

/* Link underline effect */
a:not(.elementor-button) {
    position: relative;
    text-decoration: none;
}

a:not(.elementor-button)::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    height: 1px;
    background: currentColor;
    transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

a:not(.elementor-button):hover::after {
    width: 100%;
}

/* ================================================================
   7. SCROLL EFFECTS & PARALLAX
   ================================================================ */

/* Parallax effect for hero section (requires JavaScript, this is CSS foundation) */
@media (min-width: 768px) {
    .elementor-section:first-child {
        will-change: transform;
    }
}

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

/* Scroll progress indicator (optional - add to top of page) */
.scroll-progress {
    position: fixed;
    top: 0;
    left: 0;
    width: 0;
    height: 3px;
    background: linear-gradient(90deg, #C29B0C 0%, #D4AF37 100%);
    z-index: 9999;
    transition: width 0.2s ease-out;
}

/* ================================================================
   8. RESPONSIVE REFINEMENTS
   ================================================================ */

/* Tablet adjustments */
@media (max-width: 1024px) {
    /* Reduce button padding on tablet */
    .elementor-button-wrapper .elementor-button {
        padding: 16px 48px !important;
    }
    
    /* Adjust card spacing */
    .elementor-column[style*="background-color: rgb(255, 255, 255)"] {
        margin-bottom: 24px;
    }
}

/* Mobile adjustments */
@media (max-width: 767px) {
    /* Increase touch target size */
    .elementor-button-wrapper .elementor-button {
        padding: 18px 48px !important;
        min-height: 52px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
    
    /* Reduce animation distances on mobile */
    .elementor-button-wrapper .elementor-button:hover {
        transform: translateY(-1px);
    }
    
    /* Stack stats vertically with better spacing */
    .elementor-section .elementor-column[style*="25"] {
        margin-bottom: 32px;
    }
    
    /* Reduce quote padding on mobile */
    .elementor-section[style*="background-color: rgb(0, 0, 56)"] .elementor-text-editor p {
        padding: 0 30px;
    }
    
    /* Adjust quote marks position */
    .elementor-section[style*="background-color: rgb(0, 0, 56)"] .elementor-text-editor p::before,
    .elementor-section[style*="background-color: rgb(0, 0, 56)"] .elementor-text-editor p::after {
        width: 30px;
        height: 30px;
    }
}

/* Very small mobile (320px - 375px) */
@media (max-width: 375px) {
    /* Further reduce button sizing */
    .elementor-button-wrapper .elementor-button {
        font-size: 14px !important;
        padding: 16px 40px !important;
    }
}

/* ================================================================
   9. ACCESSIBILITY ENHANCEMENTS
   ================================================================ */

/* Enhanced focus states for keyboard navigation */
.elementor-button:focus,
a:focus {
    outline: 2px solid #C29B0C;
    outline-offset: 4px;
}

/* Remove outline for mouse users (keep for keyboard) */
.elementor-button:focus:not(:focus-visible),
a:focus:not(:focus-visible) {
    outline: none;
}

/* Ensure focus visible for keyboard users */
.elementor-button:focus-visible,
a:focus-visible {
    outline: 2px solid #C29B0C;
    outline-offset: 4px;
}

/* Improve color contrast on hover for accessibility */
.elementor-button[style*="#C29B0C"]:hover {
    background: #D4AF37 !important;
}

/* Skip to content link (add to HTML if needed) */
.skip-to-content {
    position: absolute;
    top: -100px;
    left: 0;
    background: #000038;
    color: white;
    padding: 12px 24px;
    text-decoration: none;
    z-index: 10000;
    transition: top 0.3s;
}

.skip-to-content:focus {
    top: 0;
}

/* ================================================================
   10. PERFORMANCE OPTIMIZATIONS
   ================================================================ */

/* GPU acceleration for animated elements */
.elementor-section,
.elementor-button,
.elementor-widget-image img,
.elementor-column {
    transform: translateZ(0);
    backface-visibility: hidden;
    perspective: 1000px;
}

/* Optimize images */
img {
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
}

/* Prevent layout shifts */
.elementor-widget-image img,
.elementor-widget-html svg {
    max-width: 100%;
    height: auto;
}

/* ================================================================
   11. PRINT STYLES
   ================================================================ */

@media print {
    /* Hide decorative elements */
    .elementor-widget-html [style*="linear-gradient"],
    .scroll-progress {
        display: none !important;
    }
    
    /* Ensure readable text */
    body {
        color: #000 !important;
        background: #fff !important;
    }
    
    /* Remove shadows and effects */
    * {
        box-shadow: none !important;
        text-shadow: none !important;
    }
}

/* ================================================================
   12. BROWSER-SPECIFIC FIXES
   ================================================================ */

/* Safari-specific fixes */
@supports (-webkit-appearance: none) {
    .elementor-button-wrapper .elementor-button {
        -webkit-backface-visibility: hidden;
        -webkit-transform: translateZ(0) scale(1.0, 1.0);
    }
}

/* Firefox-specific fixes */
@-moz-document url-prefix() {
    .elementor-widget-heading .elementor-heading-title {
        -moz-osx-font-smoothing: grayscale;
    }
}

/* Edge-specific fixes */
@supports (-ms-ime-align: auto) {
    .elementor-section {
        animation: none;
        opacity: 1;
    }
}

/* ================================================================
   13. DARK MODE SUPPORT (Optional - for future implementation)
   ================================================================ */

@media (prefers-color-scheme: dark) {
    /* Dark mode styles would go here if implementing */
    /* This is commented out to maintain current design */
    /*
    body {
        background: #1a1a1a;
        color: #ffffff;
    }
    */
}

/* ================================================================
   14. REDUCED MOTION SUPPORT (Accessibility)
   ================================================================ */

@media (prefers-reduced-motion: reduce) {
    /* Disable animations for users who prefer reduced motion */
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* ================================================================
   15. CUSTOM UTILITY CLASSES
   ================================================================ */

/* Use these classes by adding them to Elementor elements */

/* Fade-in on scroll (requires JavaScript) */
.fade-in-scroll {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.fade-in-scroll.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Stagger animations for lists */
.stagger-animation > * {
    opacity: 0;
    animation: fadeInUp 0.6s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.stagger-animation > *:nth-child(1) { animation-delay: 0.1s; }
.stagger-animation > *:nth-child(2) { animation-delay: 0.2s; }
.stagger-animation > *:nth-child(3) { animation-delay: 0.3s; }
.stagger-animation > *:nth-child(4) { animation-delay: 0.4s; }
.stagger-animation > *:nth-child(5) { animation-delay: 0.5s; }

/* Pulse animation for attention */
.pulse-attention {
    animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

@keyframes pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.7; }
}

/* Gold gradient text effect */
.gold-gradient-text {
    background: linear-gradient(135deg, #C29B0C 0%, #D4AF37 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* ================================================================
   END OF CUSTOM CSS
   ================================================================ *//* End custom CSS */